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