[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