[Pkg-mozext-commits] [tabmixplus] 12/34: [e10s] Use sessionStore TabState to get DocShellCapabilities to prevent unnecessary access to CPOWs
David Prévot
taffit at moszumanska.debian.org
Mon Mar 9 23:28:07 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository tabmixplus.
commit 74b19b456862424a9bdaba98c19d0e1bdd0fbd87
Author: onemen <tabmix.onemen at gmail.com>
Date: Fri Feb 20 12:46:40 2015 +0200
[e10s] Use sessionStore TabState to get DocShellCapabilities to prevent unnecessary access to CPOWs
---
chrome/content/content.js | 2 +-
modules/DocShellCapabilities.jsm | 13 ++++++++++---
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/chrome/content/content.js b/chrome/content/content.js
index 03cfea8..3b96f1c 100644
--- a/chrome/content/content.js
+++ b/chrome/content/content.js
@@ -44,7 +44,7 @@ let TabmixContentHandler = {
case "Tabmix:restorePermissions":
let disallow = new Set(data.disallow && data.disallow.split(","));
DocShellCapabilities.restore(docShell, disallow);
- sendSyncMessage("Tabmix:restoPermissionsComplete", {
+ sendSyncMessage("Tabmix:restorePermissionsComplete", {
disallow: data.disallow,
reload: data.reload
});
diff --git a/modules/DocShellCapabilities.jsm b/modules/DocShellCapabilities.jsm
index 3feec43..647566e 100644
--- a/modules/DocShellCapabilities.jsm
+++ b/modules/DocShellCapabilities.jsm
@@ -6,6 +6,8 @@ const Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+XPCOMUtils.defineLazyModuleGetter(this, "TabState",
+ "resource:///modules/sessionstore/TabState.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "TabStateCache",
"resource:///modules/sessionstore/TabStateCache.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "TabmixSvc",
@@ -16,21 +18,21 @@ this.DocShellCapabilities = {
this.useFrameScript = TabmixSvc.version(320);
if (this.useFrameScript) {
let mm = window.getGroupMessageManager("browsers");
- mm.addMessageListener("Tabmix:restoPermissionsComplete", this);
+ mm.addMessageListener("Tabmix:restorePermissionsComplete", this);
}
},
deinit: function(window) {
if (this.useFrameScript) {
let mm = window.getGroupMessageManager("browsers");
- mm.removeMessageListener("Tabmix:restoPermissionsComplete", this);
+ mm.removeMessageListener("Tabmix:restorePermissionsComplete", this);
}
},
receiveMessage: function(message) {
let browser = message.target;
switch (message.name) {
- case "Tabmix:restoPermissionsComplete":
+ case "Tabmix:restorePermissionsComplete":
// Update the persistent tab state cache
TabStateCache.update(browser, {
disallow: message.data.disallow || null
@@ -49,6 +51,11 @@ this.DocShellCapabilities = {
if (!this.useFrameScript)
return this.caps.filter(function(cap) !browser.docShell["allow" + cap]);
+ if (tab.ownerDocument.defaultView.__SSi) {
+ let tabState = TabState.collect(tab);
+ return tabState.disallow || "";
+ }
+
try {
let handler = TabmixSvc.syncHandlers.get(browser.permanentKey);
return handler.getCapabilities();
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/tabmixplus.git
More information about the Pkg-mozext-commits
mailing list