Skip to content

Instantly share code, notes, and snippets.

@wyatt8740
Last active April 29, 2021 11:21
Show Gist options
  • Save wyatt8740/27dea0e5299ae97318b4a55a408da22c to your computer and use it in GitHub Desktop.
Save wyatt8740/27dea0e5299ae97318b4a55a408da22c to your computer and use it in GitHub Desktop.
View image in current tab FF 88 (revert mercurial commit 642068)
diff -r f7c3a7daf522 -r 2823dcb7e532 browser/base/content/browser-context.inc
--- a/browser/base/content/browser-context.inc Thu Mar 11 19:54:41 2021 +0000
+++ b/browser/base/content/browser-context.inc Thu Mar 11 19:36:20 2021 +0000
@@ -164,11 +164,11 @@
data-l10n-id="main-context-menu-image-reload"
oncommand="gContextMenu.reloadImage();"/>
<menuitem id="context-viewimage"
- data-l10n-id="main-context-menu-image-view-new-tab"
+ data-l10n-id="main-context-menu-image-view"
oncommand="gContextMenu.viewMedia(event);"
onclick="checkForMiddleClick(this, event);"/>
<menuitem id="context-viewvideo"
- data-l10n-id="main-context-menu-video-view-new-tab"
+ data-l10n-id="main-context-menu-video-view"
oncommand="gContextMenu.viewMedia(event);"
onclick="checkForMiddleClick(this, event);"/>
<menuitem id="context-saveimage"
diff -r f7c3a7daf522 -r 2823dcb7e532 browser/base/content/nsContextMenu.js
--- a/browser/base/content/nsContextMenu.js Thu Mar 11 19:54:41 2021 +0000
+++ b/browser/base/content/nsContextMenu.js Thu Mar 11 19:36:20 2021 +0000
@@ -1364,15 +1364,11 @@
// Change current window to the URL of the image, video, or audio.
viewMedia(e) {
- let where = whereToOpenLink(e, false, false);
- if (where == "current") {
- where = "tab";
- }
let referrerInfo = this.contentData.referrerInfo;
let systemPrincipal = Services.scriptSecurityManager.getSystemPrincipal();
if (this.onCanvas) {
this._canvasToBlobURL(this.targetIdentifier).then(function(blobURL) {
- openUILinkIn(blobURL, where, {
+ openUILink(blobURL, e, {
referrerInfo,
triggeringPrincipal: systemPrincipal,
});
@@ -1383,9 +1379,7 @@
this.principal,
Ci.nsIScriptSecurityManager.DISALLOW_SCRIPT
);
-
- // Default to opening in a new tab.
- openUILinkIn(this.mediaURL, where, {
+ openUILink(this.mediaURL, e, {
referrerInfo,
forceAllowDataURI: true,
triggeringPrincipal: this.principal,
diff -r f7c3a7daf522 -r 2823dcb7e532 browser/base/content/test/contextMenu/browser_view_image.js
--- a/browser/base/content/test/contextMenu/browser_view_image.js Thu Mar 11 19:54:41 2021 +0000
+++ b/browser/base/content/test/contextMenu/browser_view_image.js Thu Mar 11 19:36:20 2021 +0000
@@ -57,17 +57,17 @@
self: {
event: {},
async loadedPromise() {
- return BrowserTestUtils.waitForNewTab(
- gBrowser,
- url => url.startsWith("blob"),
- true
- ).then(t => t.linkedBrowser);
+ await BrowserTestUtils.browserLoaded(
+ gBrowser.selectedBrowser,
+ false,
+ url => url.startsWith("blob:")
+ );
+ return gBrowser.selectedBrowser;
},
- cleanup(browser) {
- is(gBrowser.tabs.length, 3, "number of tabs");
- BrowserTestUtils.removeTab(gBrowser.getTabForBrowser(browser));
- },
+ async cleanup() {},
},
+ // NOTE: If we ever add more tests here, add them above and not below `self`, as it replaces
+ // the test document.
};
await BrowserTestUtils.withNewTab(mainURL, async browser => {
await SpecialPowers.spawn(browser, [], () => {
diff -r f7c3a7daf522 -r 2823dcb7e532 browser/base/content/test/general/browser_bug734076.js
--- a/browser/base/content/test/general/browser_bug734076.js Thu Mar 11 19:54:41 2021 +0000
+++ b/browser/base/content/test/general/browser_bug734076.js Thu Mar 11 19:36:20 2021 +0000
@@ -22,7 +22,6 @@
name: "view image with background image",
url: "http://mochi.test:8888/",
element: "body",
- opensNewTab: true,
go() {
return SpecialPowers.spawn(
gBrowser.selectedBrowser,
@@ -51,7 +50,6 @@
name: "view image",
url: "http://mochi.test:8888/",
element: "img",
- opensNewTab: true,
go() {
return SpecialPowers.spawn(
gBrowser.selectedBrowser,
@@ -168,9 +166,9 @@
await popupShownPromise;
info("onImage: " + gContextMenu.onImage);
- let loadedAfterCommandPromise = test.opensNewTab
- ? BrowserTestUtils.waitForNewTab(gBrowser, null, true)
- : BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
+ let loadedAfterCommandPromise = BrowserTestUtils.browserLoaded(
+ gBrowser.selectedBrowser
+ );
document.getElementById(commandToRun).click();
await loadedAfterCommandPromise;
@@ -182,10 +180,6 @@
);
contentAreaContextMenu.hidePopup();
await popupHiddenPromise;
-
- if (test.opensNewTab) {
- gBrowser.removeCurrentTab();
- }
}
gBrowser.removeCurrentTab();
diff -r f7c3a7daf522 -r 2823dcb7e532 browser/locales/en-US/browser/browserContext.ftl
--- a/browser/locales/en-US/browser/browserContext.ftl Thu Mar 11 19:54:41 2021 +0000
+++ b/browser/locales/en-US/browser/browserContext.ftl Thu Mar 11 19:36:20 2021 +0000
@@ -222,12 +222,12 @@
.label = Reload Image
.accesskey = R
-main-context-menu-image-view-new-tab =
- .label = Open Image in New Tab
+main-context-menu-image-view =
+ .label = View Image
.accesskey = I
-main-context-menu-video-view-new-tab =
- .label = Open Video in New Tab
+main-context-menu-video-view =
+ .label = View Video
.accesskey = i
main-context-menu-image-copy =
diff -r f7c3a7daf522 -r 2823dcb7e532 dom/security/test/general/browser_test_view_image_data_navigation.js
--- a/dom/security/test/general/browser_test_view_image_data_navigation.js Thu Mar 11 19:54:41 2021 +0000
+++ b/dom/security/test/general/browser_test_view_image_data_navigation.js Thu Mar 11 19:36:20 2021 +0000
@@ -9,7 +9,10 @@
getRootDirectory(gTestPath) + "file_view_image_data_navigation.html";
await BrowserTestUtils.withNewTab(TEST_PAGE, async function(browser) {
- let loadPromise = BrowserTestUtils.waitForNewTab(gBrowser, null, true);
+ let loadPromise = BrowserTestUtils.browserLoaded(
+ gBrowser.selectedBrowser,
+ true
+ );
// simulate right-click->view-image
BrowserTestUtils.waitForEvent(document, "popupshown", false, event => {
@@ -30,8 +33,6 @@
spec.startsWith("data:image/svg+xml;"),
"data:image/svg navigation allowed through right-click view-image"
);
-
- gBrowser.removeCurrentTab();
});
});
@@ -44,7 +45,10 @@
getRootDirectory(gTestPath) + "file_view_bg_image_data_navigation.html";
await BrowserTestUtils.withNewTab(TEST_PAGE, async function(browser) {
- let loadPromise = BrowserTestUtils.waitForNewTab(gBrowser, null, true);
+ let loadPromise = BrowserTestUtils.browserLoaded(
+ gBrowser.selectedBrowser,
+ true
+ );
// simulate right-click->view-image
BrowserTestUtils.waitForEvent(document, "popupshown", false, event => {
@@ -65,7 +69,5 @@
spec.startsWith("data:image/svg+xml;"),
"data:image/svg navigation allowed through right-click view-image with background image"
);
-
- gBrowser.removeCurrentTab();
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment