Skip to content

Commit ca1fea7

Browse files
committed
Bug 1852340 - part 1: Add a new Gecko component for reporting broken websites; r=ayeddi,fluent-reviewers,mossop,flod,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D190647
1 parent 4a3096f commit ca1fea7

35 files changed

+2965
-25
lines changed

browser/app/profile/firefox.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2900,6 +2900,21 @@ pref("cookiebanners.ui.desktop.cfrVariant", 0);
29002900
pref("dom.security.credentialmanagement.identity.enabled", true);
29012901
#endif
29022902

2903+
#if defined(NIGHTLY_BUILD)
2904+
pref("ui.new-webcompat-reporter.enabled", true);
2905+
#else
2906+
pref("ui.new-webcompat-reporter.enabled", false);
2907+
#endif
2908+
2909+
#if defined(EARLY_BETA_OR_EARLIER)
2910+
pref("ui.new-webcompat-reporter.send-more-info-link", true);
2911+
#else
2912+
pref("ui.new-webcompat-reporter.send-more-info-link", false);
2913+
#endif
2914+
2915+
# 0 = disabled, 1 = reason optional, 2 = reason required.
2916+
pref("ui.new-webcompat-reporter.reason-dropdown", 0);
2917+
29032918
// Reset Private Browsing Session feature
29042919
#if defined(NIGHTLY_BUILD)
29052920
pref("browser.privatebrowsing.resetPBM.enabled", true);

browser/base/content/appmenu-viewcache.inc.xhtml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,11 @@
146146
data-l10n-id="appmenuitem-more-tools"
147147
closemenu="none"
148148
oncommand="PanelUI.showMoreToolsPanel(this);"/>
149+
<toolbarbutton id="appMenu-report-broken-site-button"
150+
class="subviewbutton subviewbutton-nav"
151+
data-l10n-id="appmenuitem-report-broken-site"
152+
closemenu="none"
153+
command="cmd_reportBrokenSite"/>
149154
<toolbarbutton id="appMenu-help-button2"
150155
class="subviewbutton subviewbutton-nav"
151156
data-l10n-id="appmenuitem-help"

browser/base/content/browser-menubar.inc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,10 @@
472472
#else
473473
/>
474474
#endif
475+
<menuitem id="help_reportBrokenSite"
476+
command="cmd_reportBrokenSite"
477+
data-l10n-id="menu-report-broken-site"
478+
appmenu-data-l10n-id="menu-report-broken-site"/>
475479
<menuitem id="feedbackPage"
476480
oncommand="openFeedbackPage()"
477481
data-l10n-id="menu-help-share-ideas"

browser/base/content/browser-sets.inc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
#ifdef XP_MACOSX
5252
<command id="cmd_findSelection" oncommand="gLazyFindCommand('onFindSelectionCommand')"/>
5353
#endif
54+
<command id="cmd_reportBrokenSite" oncommand="ReportBrokenSite.open(event);"/>
5455
<command id="cmd_translate" oncommand="TranslationsPanel.open(event);"/>
5556
<!-- work-around bug 392512 -->
5657
<command id="Browser:AddBookmarkAs"

browser/base/content/browser.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ ChromeUtils.defineESModuleGetters(this, {
6565
PromptUtils: "resource://gre/modules/PromptUtils.sys.mjs",
6666
ReaderMode: "resource://gre/modules/ReaderMode.sys.mjs",
6767
ResetPBMPanel: "resource:///modules/ResetPBMPanel.sys.mjs",
68+
ReportBrokenSite: "resource:///modules/ReportBrokenSite.sys.mjs",
6869
SafeBrowsing: "resource://gre/modules/SafeBrowsing.sys.mjs",
6970
Sanitizer: "resource:///modules/Sanitizer.sys.mjs",
7071
SaveToPocket: "chrome://pocket/content/SaveToPocket.sys.mjs",
@@ -1879,6 +1880,7 @@ var gBrowserInit = {
18791880
// apply full zoom settings to tabs restored by the session restore service.
18801881
FullZoom.init();
18811882
PanelUI.init(shouldSuppressPopupNotifications);
1883+
ReportBrokenSite.init(gBrowser);
18821884

18831885
UpdateUrlbarSearchSplitterState();
18841886

browser/base/content/browser.xhtml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
<link rel="localization" href="browser/panelUI.ftl"/>
7979
<link rel="localization" href="browser/places.ftl"/>
8080
<link rel="localization" href="browser/protectionsPanel.ftl"/>
81+
<link rel="localization" href="browser/reportBrokenSite.ftl"/>
8182
<link rel="localization" href="browser/screenshots.ftl"/>
8283
<link rel="localization" href="browser/search.ftl"/>
8384
<link rel="localization" href="browser/sidebarMenu.ftl"/>

browser/base/content/macWindow.inc.xhtml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<html:link rel="localization" href="browser/browserSets.ftl"/>
1515
<html:link rel="localization" href="browser/firefoxView.ftl"/>
1616
<html:link rel="localization" href="browser/menubar.ftl"/>
17+
<html:link rel="localization" href="browser/reportBrokenSite.ftl"/>
1718
<html:link rel="localization" href="browser/screenshots.ftl"/>
1819
<html:link rel="localization" href="toolkit/branding/accounts.ftl"/>
1920
<html:link rel="localization" href="toolkit/branding/brandings.ftl"/>

browser/base/content/main-popupset.inc.xhtml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,7 @@
500500
#include ../../components/controlcenter/content/protectionsPanel.inc.xhtml
501501
#include ../../components/downloads/content/downloadsPanel.inc.xhtml
502502
#include ../../components/translations/content/translationsPanel.inc.xhtml
503+
#include ../../components/reportbrokensite/content/reportBrokenSitePanel.inc.xhtml
503504
#include browser-allTabsMenu.inc.xhtml
504505

505506
<tooltip id="dynamic-shortcut-tooltip"

browser/base/content/utilityOverlay.js

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ ChromeUtils.defineESModuleGetters(this, {
2020
ExtensionSettingsStore:
2121
"resource://gre/modules/ExtensionSettingsStore.sys.mjs",
2222
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
23+
ReportBrokenSite: "resource:///modules/ReportBrokenSite.sys.mjs",
2324
ShellService: "resource:///modules/ShellService.sys.mjs",
2425
URILoadingHelper: "resource:///modules/URILoadingHelper.sys.mjs",
2526
});
@@ -540,30 +541,6 @@ function buildHelpMenu() {
540541
gSafeBrowsing.setReportPhishingMenu();
541542
}
542543

543-
// We're testing to see if the WebCompat team's "Report Site Issue"
544-
// access point makes sense in the Help menu. Normally checking this
545-
// pref wouldn't be enough, since there's also the case that the
546-
// add-on has somehow been disabled by the user or third-party software
547-
// without flipping the pref. Since this add-on is only used on pre-release
548-
// channels, and since the jury is still out on whether or not the Help menu
549-
// is the right place for this item, we're going to do a least-effort
550-
// approach here and assume that the pref is enough to determine whether the
551-
// menuitem should appear.
552-
//
553-
// See bug 1690573 for further details.
554-
let reportSiteIssueEnabled = Services.prefs.getBoolPref(
555-
"extensions.webcompat-reporter.enabled",
556-
false
557-
);
558-
let reportSiteIssue = document.getElementById("help_reportSiteIssue");
559-
reportSiteIssue.hidden = !reportSiteIssueEnabled;
560-
if (reportSiteIssueEnabled) {
561-
let uri = gBrowser.currentURI;
562-
let isReportablePage =
563-
uri && (uri.schemeIs("http") || uri.schemeIs("https"));
564-
reportSiteIssue.disabled = !isReportablePage;
565-
}
566-
567544
if (NimbusFeatures.deviceMigration.getVariable("helpMenuHidden")) {
568545
let helpMenuItem = document.getElementById("helpSwitchDevice");
569546
helpMenuItem.hidden = true;

browser/components/controlcenter/content/protectionsPanel.inc.xhtml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
role="alertdialog"
1010
noautofocus="true"
1111
aria-labelledby="protections-popup-main-header-label"
12-
onpopupshown="gProtectionsHandler.onPopupShown(event);"
12+
onpopupshown="gProtectionsHandler.onPopupShown(event);ReportBrokenSite.updateParentMenu(event)"
1313
onpopuphidden="gProtectionsHandler.onPopupHidden(event);"
1414
orient="vertical">
1515

@@ -63,6 +63,13 @@
6363
</hbox>
6464
</vbox>
6565

66+
<toolbarseparator observes="cmd_reportBrokenSite"></toolbarseparator>
67+
<toolbarbutton id="protections-popup-report-broken-site-button"
68+
command="cmd_reportBrokenSite"
69+
class="subviewbutton subviewbutton-nav"
70+
data-l10n-id="protections-panel-report-broken-site"
71+
closemenu="none"/>
72+
6673
<!-- Tracking Protection Section -->
6774
<toolbarseparator></toolbarseparator>
6875
<vbox id="tracking-protection-container" class="protections-popup-section">

browser/components/moz.build

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ DIRS += [
5151
"prompts",
5252
"protections",
5353
"protocolhandler",
54+
"reportbrokensite",
5455
"resistfingerprinting",
5556
"screenshots",
5657
"search",

0 commit comments

Comments
 (0)