[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