[Pkg-mozext-commits] [adblock-plus-element-hiding-helper] 19/28: Issue 2879 - Make "view source in separate window" command work again

David Prévot taffit at moszumanska.debian.org
Fri Aug 4 21:15:16 UTC 2017


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository adblock-plus-element-hiding-helper.

commit 0205d9aff2aed02a0fc623e2cc0a8a9b8c6897a2
Author: Wladimir Palant <trev at adblockplus.org>
Date:   Thu Dec 1 12:03:00 2016 +0100

    Issue 2879 - Make "view source in separate window" command work again
---
 lib/aardvark.js       | 36 ++++++++++++++----------------------
 lib/child/commands.js | 11 +++++++++++
 2 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/lib/aardvark.js b/lib/aardvark.js
index 85bc6d9..7dacc63 100644
--- a/lib/aardvark.js
+++ b/lib/aardvark.js
@@ -329,37 +329,21 @@ let Aardvark = exports.Aardvark =
     return true;
   },
 
-  viewSourceWindow: function(elem)
+  viewSourceWindow: function()
   {
-    if (!elem)
-      return false;
-
-    if (Services.vc.compare(Services.appinfo.platformVersion, "43.0") >= 0)
+    sendMessageWithResponse("ElemHideHelper:GetHTML", null, data =>
     {
-      // After https://bugzilla.mozilla.org/show_bug.cgi?id=1134585 landed, pass
-      // a single object as parameter.
       this.window.openDialog(
         "chrome://global/content/viewPartialSource.xul",
         "_blank", "scrollbars,resizable,chrome,dialog=no",
         {
-          URI: "view-source:data:text/html;charset=utf-8," + encodeURIComponent(elem.outerHTML),
+          URI: "view-source:data:text/html;charset=utf-8," +
+               encodeURIComponent(data.html),
           drawSelection: false,
-          baseURI: elem.ownerDocument.baseURI
+          baseURI: data.baseURI
         }
       );
-    }
-    else
-    {
-      // Before Gecko 43, use positional parameters and a fake selection object.
-      var range = elem.ownerDocument.createRange();
-      range.selectNodeContents(elem);
-      var selection = {rangeCount: 1, getRangeAt: function() {return range}};
-      this.window.openDialog(
-        "chrome://global/content/viewPartialSource.xul",
-        "_blank", "scrollbars,resizable,chrome,dialog=no",
-        null, null, selection, "selection"
-      );
-    }
+    });
     return true;
   },
 
@@ -443,3 +427,11 @@ let Aardvark = exports.Aardvark =
 // this pointer set.
 for (let method of ["onKeyPress", "onMouseMove", "onTabSelect"])
   Aardvark[method] = Aardvark[method].bind(Aardvark);
+
+if (Services.vc.compare(Services.appinfo.platformVersion, "43.0") < 0)
+{
+  // View source window expected the actual node before
+  // https://bugzil.la/1134585 landed, we don't have it so disable the command.
+  let index = Aardvark.commands.indexOf("viewSourceWindow");
+  Aardvark.commands.splice(index, 1);
+}
diff --git a/lib/child/commands.js b/lib/child/commands.js
index 90f7b2c..952823b 100644
--- a/lib/child/commands.js
+++ b/lib/child/commands.js
@@ -16,12 +16,14 @@ let {getParentElement} = require("./utils");
 messageManager.addMessageListener("ElemHideHelper:Command", onCommand);
 messageManager.addMessageListener("ElemHideHelper:SerializeSelected",
                                   serializeSelected);
+messageManager.addMessageListener("ElemHideHelper:GetHTML", getHTML);
 
 onShutdown.add(() =>
 {
   messageManager.removeMessageListener("ElemHideHelper:Command", onCommand);
   messageManager.removeMessageListener("ElemHideHelper:SerializeSelected",
                                        serializeSelected);
+  messageManager.removeMessageListener("ElemHideHelper:GetHTML", getHTML);
 });
 
 function onCommand(message)
@@ -71,6 +73,15 @@ function serializeSelected(message)
   });
 }
 
+function getHTML(message)
+{
+  messageManager.sendAsyncMessage("ElemHideHelper:Response", {
+    messageId: message.data.messageId,
+    html: state.selectedElement.outerHTML,
+    baseURI: state.selectedElement.baseURI
+  });
+}
+
 function quit()
 {
   stopSelection();

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/adblock-plus-element-hiding-helper.git



More information about the Pkg-mozext-commits mailing list