Update…
Trying to dig in to this a bit more and it appears that CF7 is doing everything correctly (or as expected).
If I add an echo statement to the wpcf7_ajax_loader function the correct protocol is being display/used (i.e., the URL is using HTTPS).
function wpcf7_ajax_loader() {
$url = wpcf7_plugin_url( 'images/ajax-loader.gif' );
if ( is_ssl() && 'http:' == substr( $url, 0, 5 ) )
$url = 'https:' . substr( $url, 5 );
echo $url; exit;
return apply_filters( 'wpcf7_ajax_loader', $url );
}
So I thought maybe it was the WordPress HTTPS plugin or my theme that was rewriting the URL thus I disabled the plugin (and all others too) and switched my theme to Twenty Twelve but I still get this error in Chrome’s console:
The page at 'https://domain.com/contact-us/' was loaded over HTTPS, but displayed insecure content from 'https://domain.com/wp-content/plugins/contact-form-7/images/ajax-loader.gif': this content should also be loaded over HTTPS.
To summarize, the only plugin running is this one CF7 and I have a valid SSL cert installed. Again it works everywhere just fine except where there is a CF7 form.
Please advise.