The streaming potential is that electrical potential which develops when an ionic fluid flows through the pores of a rock. It is an old concept that is recently being applied in many fields from monitoring water fronts in oil reservoirs to understanding the mechanisms behind synthetic earthquakes. We have carried out fundamental theoretical modeling of the streaming-potential coefficient as a function of pore fluid salinity, pH, and temperature by modifying the HS equation for use with porous rocks and using input parameters from established fundamental theory (the Debye screening length, the Stern-plane potential, the zeta potential, and the surface conductance). The model also requires the density, electrical conductivity, relative electric permittivity and dynamic viscosity of the bulk fluid, for which empirical models are used so that the temperature of the model may be varied. These parameters are then combined with parameters that describe the rock microstructure. The resulting theoretical values have been compared with a compilation of data for siliceous materials comprising 290 streaming-potential coefficient measurements and 269 zeta-potential measurements obtained experimentally for 17 matrix-fluid combinations (e.g., sandstone saturated with KCl), using data from 29 publications. The theoretical model was found to ably describe the main features of the data, whether taken together or on a sample by sample basis. The low-salinity regime was found to be controlled by surface conduction and rock microstructure, and was sensitive to changes in porosity, cementation exponent, formation factor, grain size, pore size and pore throat size as well as specific surface conductivity. The high-salinity regime was found to be subject to a zeta-potential offset that allows the streaming-potential coefficient to remain significant even as the saturation limit is approached.