diff --git a/builds/gdc.xpi b/builds/gdc.xpi index ec216f9..2bc2ef2 100644 Binary files a/builds/gdc.xpi and b/builds/gdc.xpi differ diff --git a/firefox/components/policy.js b/firefox/components/policy.js index 627f201..6d8bbb7 100644 --- a/firefox/components/policy.js +++ b/firefox/components/policy.js @@ -147,20 +147,26 @@ GoogleDisconnect.prototype = { var domains = this.domains; var result = accept; - if ( - contentType != contentPolicy.TYPE_DOCUMENT && // The MIME type. - requestOrigin && requestOrigin.asciiHost && - !isMatching(requestOrigin.host, domains) && // The whitelist. - contentLocation.asciiHost && - isMatching(contentLocation.host, domains) - // The blacklist. - ) { + if (context) { var html = context.ownerDocument; - var googleRequestCount = html.googleRequestCount; - html.googleRequestCount = - typeof googleRequestCount == 'undefined' ? 1 : ++googleRequestCount; - if (!JSON.parse(html.defaultView.content.localStorage.googleUnblocked)) - result = contentPolicy.REJECT_SERVER; // The blocking state. + var content = html.defaultView.content; + + if ( + contentType != contentPolicy.TYPE_DOCUMENT && // The MIME type. + requestOrigin && requestOrigin.asciiHost && + !isMatching(requestOrigin.host, domains) && + !isMatching(content.top.location.hostname, domains) && + // The whitelist. + contentLocation.asciiHost && + isMatching(contentLocation.host, domains) + // The blacklist. + ) { + var googleRequestCount = html.googleRequestCount; + html.googleRequestCount = + typeof googleRequestCount == 'undefined' ? 1 : ++googleRequestCount; + if (!JSON.parse(content.localStorage.googleUnblocked)) + result = contentPolicy.REJECT_SERVER; // The blocking state. + } } return result; diff --git a/firefox/install.rdf b/firefox/install.rdf index 3490d83..56130a9 100644 --- a/firefox/install.rdf +++ b/firefox/install.rdf @@ -28,7 +28,7 @@ 2 google@disconnect.me Google Disconnect - 2.3.0 + 2.3.1 Disconnect Brian Kennish Gary Teh