mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-29 07:42:04 +00:00
Merge mozilla-central to mozilla-inbound
This commit is contained in:
commit
0738c08d98
@ -248,10 +248,12 @@ default::
|
||||
@echo "===SCCACHE STATS==="
|
||||
-$(CCACHE) --show-stats
|
||||
@echo "==================="
|
||||
ifndef MOZ_PROFILE_GENERATE
|
||||
# Ideally we'd do that in the same file as we set the sccache.log location for
|
||||
# sccache, but it's too late in the build.
|
||||
-gzip -9 $(DIST)/sccache.log
|
||||
endif
|
||||
endif
|
||||
|
||||
distclean::
|
||||
$(RM) $(DIST_GARBAGE)
|
||||
|
@ -14,3 +14,4 @@ skip-if = buildapp == 'mulet'
|
||||
skip-if = buildapp == 'mulet'
|
||||
[test_canvas.html]
|
||||
[test_shadowroot.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
|
@ -43,10 +43,6 @@ var whitelist = [
|
||||
// Used by setting this url as a pref in about:config
|
||||
{file: "chrome://browser/content/newtab/alternativeDefaultSites.json"},
|
||||
|
||||
// Temporary whitelisted while WebPayments in construction
|
||||
// See Bug 1381141
|
||||
{file: "chrome://payments/content/paymentRequest.xhtml"},
|
||||
|
||||
// Add-on compat
|
||||
{file: "chrome://browser/skin/devtools/common.css"},
|
||||
{file: "chrome://global/content/XPCNativeWrapper.js"},
|
||||
@ -175,6 +171,14 @@ var whitelist = [
|
||||
|
||||
];
|
||||
|
||||
// Temporary whitelisted while WebPayments in construction
|
||||
// See Bug 1381141
|
||||
if (AppConstants.NIGHTLY_BUILD && AppConstants.MOZ_BUILD_APP == "browser") {
|
||||
whitelist.push(
|
||||
{file: "chrome://payments/content/paymentRequest.xhtml"}
|
||||
);
|
||||
}
|
||||
|
||||
if (!AppConstants.MOZ_PHOTON_THEME) {
|
||||
whitelist.push(
|
||||
// Bug 1343824
|
||||
|
@ -451,14 +451,21 @@
|
||||
<panelview id="widget-overflow-mainView"
|
||||
context="toolbar-context-menu">
|
||||
#endif
|
||||
<vbox id="widget-overflow-scroller">
|
||||
<vbox id="widget-overflow-list" class="widget-overflow-list"
|
||||
overflowfortoolbar="nav-bar"/>
|
||||
<toolbarseparator id="widget-overflow-fixed-separator" hidden="true"/>
|
||||
<vbox id="widget-overflow-fixed-list" class="widget-overflow-list" hidden="true"
|
||||
emptylabel="&customizeMode.emptyOverflowList.description;"/>
|
||||
<vbox class="panel-subview-body">
|
||||
<vbox id="widget-overflow-scroller">
|
||||
<vbox id="widget-overflow-list" class="widget-overflow-list"
|
||||
overflowfortoolbar="nav-bar"/>
|
||||
<toolbarseparator id="widget-overflow-fixed-separator" hidden="true"/>
|
||||
<vbox id="widget-overflow-fixed-list" class="widget-overflow-list" hidden="true"
|
||||
emptylabel="&customizeMode.emptyOverflowList.description;"/>
|
||||
</vbox>
|
||||
</vbox>
|
||||
#ifdef MOZ_PHOTON_THEME
|
||||
<toolbarbutton command="cmd_CustomizeToolbars"
|
||||
id="overflowMenu-customize-button"
|
||||
class="subviewbutton panel-subview-footer"
|
||||
accesskey="&overflowCustomizeToolbar.accesskey;"
|
||||
label="&overflowCustomizeToolbar.label;"/>
|
||||
</panelview>
|
||||
</photonpanelmultiview>
|
||||
#endif
|
||||
|
@ -65,9 +65,9 @@ const convertNodeToHistoryItem = node => {
|
||||
const convertNodeToVisitItem = node => {
|
||||
return {
|
||||
id: node.pageGuid,
|
||||
visitId: node.visitId,
|
||||
visitId: String(node.visitId),
|
||||
visitTime: PlacesUtils.toDate(node.time).getTime(),
|
||||
referringVisitId: node.fromVisitId,
|
||||
referringVisitId: String(node.fromVisitId),
|
||||
transition: getTransition(node.visitType),
|
||||
};
|
||||
};
|
||||
|
@ -136,13 +136,13 @@
|
||||
"parameters": [
|
||||
{
|
||||
"name": "result",
|
||||
"type": "object",
|
||||
"additionalProperties": {"type": "any"},
|
||||
"type": "any",
|
||||
"description": "The result of evaluation."
|
||||
},
|
||||
{
|
||||
"name": "exceptionInfo",
|
||||
"type": "object",
|
||||
"optional": true,
|
||||
"description": "An object providing details if an exception occurred while evaluating the expression.",
|
||||
"properties": {
|
||||
"isError": {
|
||||
|
@ -58,7 +58,7 @@
|
||||
"properties": {
|
||||
"id": {"type": "integer", "minimum": -1, "optional": true, "description": "The ID of the tab. Tab IDs are unique within a browser session. Under some circumstances a Tab may not be assigned an ID, for example when querying foreign tabs using the $(ref:sessions) API, in which case a session ID may be present. Tab ID can also be set to $(ref:tabs.TAB_ID_NONE) for apps and devtools windows."},
|
||||
"index": {"type": "integer", "minimum": -1, "description": "The zero-based index of the tab within its window."},
|
||||
"windowId": {"type": "integer", "minimum": 0, "description": "The ID of the window the tab is contained within."},
|
||||
"windowId": {"type": "integer", "optional": true, "minimum": 0, "description": "The ID of the window the tab is contained within."},
|
||||
"openerTabId": {"unsupported": true, "type": "integer", "minimum": 0, "optional": true, "description": "The ID of the tab that opened this tab, if any. This property is only present if the opener tab still exists."},
|
||||
"selected": {"type": "boolean", "description": "Whether the tab is selected.", "deprecated": "Please use $(ref:tabs.Tab.highlighted).", "unsupported": true},
|
||||
"highlighted": {"type": "boolean", "description": "Whether the tab is highlighted. Works as an alias of active"},
|
||||
@ -74,8 +74,8 @@
|
||||
"incognito": {"type": "boolean", "description": "Whether the tab is in an incognito window."},
|
||||
"width": {"type": "integer", "optional": true, "description": "The width of the tab in pixels."},
|
||||
"height": {"type": "integer", "optional": true, "description": "The height of the tab in pixels."},
|
||||
"sessionId": {"unsupported": true, "type": "string", "optional": true, "description": "The session ID used to uniquely identify a Tab obtained from the $(ref:sessions) API."},
|
||||
"cookieStoreId": {"type": "string", "description": "The CookieStoreId used for the tab."}
|
||||
"sessionId": {"type": "string", "optional": true, "description": "The session ID used to uniquely identify a Tab obtained from the $(ref:sessions) API."},
|
||||
"cookieStoreId": {"type": "string", "optional": true, "description": "The CookieStoreId used for the tab."}
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -506,6 +506,7 @@
|
||||
{
|
||||
"name": "tab",
|
||||
"$ref": "Tab",
|
||||
"optional": true,
|
||||
"description": "Details about the created tab. Will contain the ID of the new tab."
|
||||
}
|
||||
]
|
||||
|
@ -389,8 +389,6 @@
|
||||
</html:table>
|
||||
</groupbox>
|
||||
|
||||
<caption><label>&defaultSearchEngine.label;</label></caption>
|
||||
<caption><label>&oneClickSearchEngines.label;</label></caption>
|
||||
<!-- Tab preferences -->
|
||||
<groupbox data-category="paneGeneral"
|
||||
hidden="true">
|
||||
@ -457,9 +455,9 @@
|
||||
|
||||
<vbox>
|
||||
<hbox id="fontSettings">
|
||||
<hbox align="center">
|
||||
<hbox align="center" flex="1">
|
||||
<label control="defaultFont" accesskey="&defaultFont2.accesskey;">&defaultFont2.label;</label>
|
||||
<menulist id="defaultFont" delayprefsave="true" onsyncfrompreference="return FontBuilder.readFontSelection(this);"/>
|
||||
<menulist id="defaultFont" flex="1" delayprefsave="true" onsyncfrompreference="return FontBuilder.readFontSelection(this);"/>
|
||||
<label id="defaultFontSizeLabel" control="defaultFontSize" accesskey="&defaultSize2.accesskey;">&defaultSize2.label;</label>
|
||||
<menulist id="defaultFontSize" delayprefsave="true">
|
||||
<menupopup>
|
||||
@ -734,6 +732,8 @@
|
||||
|
||||
<!-- Update -->
|
||||
<groupbox id="updateApp" data-category="paneGeneral" hidden="true">
|
||||
<label>&updateApplicationDescription.label;</label>
|
||||
<separator/>
|
||||
<hbox align="start">
|
||||
<vbox flex="1">
|
||||
<description>
|
||||
@ -827,7 +827,9 @@
|
||||
disabled="true"/>
|
||||
</hbox>
|
||||
<hbox id="unsupportedSystem" align="center">
|
||||
<label>&update.unsupported.start;</label><label id="unsupportedLink" class="text-link">&update.unsupported.linkText;</label><label>&update.unsupported.end;</label>
|
||||
<description flex="1">
|
||||
<label>&update.unsupported.start;</label><label id="unsupportedLink" class="text-link">&update.unsupported.linkText;</label><label>&update.unsupported.end;</label>
|
||||
</description>
|
||||
<spacer flex="1"/>
|
||||
<button label="&update.checkForUpdatesButton.label;"
|
||||
accesskey="&update.checkForUpdatesButton.accesskey;"
|
||||
@ -850,8 +852,8 @@
|
||||
<radiogroup id="updateRadioGroup">
|
||||
<radio id="autoDesktop"
|
||||
value="auto"
|
||||
label="&updateAuto2.label;"
|
||||
accesskey="&updateAuto2.accesskey;"/>
|
||||
label="&updateAuto3.label;"
|
||||
accesskey="&updateAuto3.accesskey;"/>
|
||||
<radio value="checkOnly"
|
||||
label="&updateCheckChoose2.label;"
|
||||
accesskey="&updateCheckChoose2.accesskey;"/>
|
||||
|
@ -1222,7 +1222,7 @@ var gPrivacyPane = {
|
||||
if (!prefStrBundle.getFormattedString) {
|
||||
return;
|
||||
}
|
||||
actualSizeLabel.value = prefStrBundle.getFormattedString("actualDiskCacheSize", size);
|
||||
actualSizeLabel.textContent = prefStrBundle.getFormattedString("actualDiskCacheSize", size);
|
||||
},
|
||||
|
||||
QueryInterface: XPCOMUtils.generateQI([
|
||||
@ -1231,7 +1231,7 @@ var gPrivacyPane = {
|
||||
])
|
||||
};
|
||||
|
||||
actualSizeLabel.value = prefStrBundle.getString("actualDiskCacheSizeCalculated");
|
||||
actualSizeLabel.textContent = prefStrBundle.getString("actualDiskCacheSizeCalculated");
|
||||
|
||||
try {
|
||||
var cacheService =
|
||||
|
@ -375,7 +375,7 @@
|
||||
<checkbox id="openpageSuggestion" label="&locbar.openpage.label;"
|
||||
accesskey="&locbar.openpage.accesskey;"
|
||||
preference="browser.urlbar.suggest.openpage"/>
|
||||
<label class="text-link" onclick="gotoPref('general')">
|
||||
<label class="text-link" onclick="gotoPref('search')">
|
||||
&suggestionSettings2.label;
|
||||
</label>
|
||||
</groupbox>
|
||||
@ -412,24 +412,27 @@
|
||||
<caption><label>&siteData.label;</label></caption>
|
||||
|
||||
<hbox align="baseline">
|
||||
<label id="totalSiteDataSize"></label>
|
||||
<label id="siteDataLearnMoreLink" class="learnMore text-link" value="&siteDataLearnMoreLink.label;"></label>
|
||||
<spacer flex="1" />
|
||||
<button id="clearSiteDataButton"
|
||||
class="accessory-button"
|
||||
icon="clear"
|
||||
label="&clearSiteData.label;" accesskey="&clearSiteData.accesskey;"/>
|
||||
<vbox flex="1">
|
||||
<description flex="1">
|
||||
<label id="totalSiteDataSize"></label>
|
||||
<label id="siteDataLearnMoreLink" class="learnMore text-link" value="&siteDataLearnMoreLink.label;"></label>
|
||||
</description>
|
||||
</vbox>
|
||||
<vbox align="end">
|
||||
<button id="siteDataSettings"
|
||||
class="accessory-button"
|
||||
label="&siteDataSettings.label;"
|
||||
accesskey="&siteDataSettings.accesskey;"
|
||||
searchkeywords="&window.title;
|
||||
&hostCol.label;
|
||||
&statusCol.label;
|
||||
&usageCol.label;"/>
|
||||
<button id="clearSiteDataButton"
|
||||
class="accessory-button"
|
||||
icon="clear"
|
||||
label="&clearSiteData.label;" accesskey="&clearSiteData.accesskey;"/>
|
||||
</vbox>
|
||||
</hbox>
|
||||
<vbox align="end">
|
||||
<button id="siteDataSettings"
|
||||
class="accessory-button"
|
||||
label="&siteDataSettings.label;"
|
||||
accesskey="&siteDataSettings.accesskey;"
|
||||
searchkeywords="&window.title;
|
||||
&hostCol.label;
|
||||
&statusCol.label;
|
||||
&usageCol.label;"/>
|
||||
</vbox>
|
||||
</groupbox>
|
||||
|
||||
<!-- Tracking -->
|
||||
@ -520,11 +523,11 @@
|
||||
</columns>
|
||||
<rows>
|
||||
<row id="notificationsPolicyRow" align="center">
|
||||
<hbox flex="1">
|
||||
<description flex="1">
|
||||
<label id="notificationsPolicy">¬ificationsPolicyDesc3.label;</label>
|
||||
<label id="notificationsPolicyLearnMore"
|
||||
class="learnMore text-link">¬ificationsPolicyLearnMore.label;</label>
|
||||
</hbox>
|
||||
</description>
|
||||
<hbox pack="end">
|
||||
<button id="notificationsPolicyButton"
|
||||
class="accessory-button"
|
||||
@ -593,12 +596,12 @@
|
||||
</description>
|
||||
|
||||
<vbox>
|
||||
<hbox align="center">
|
||||
<description flex="1">
|
||||
<checkbox id="submitHealthReportBox" label="&enableHealthReport1.label;"
|
||||
accesskey="&enableHealthReport1.accesskey;"/>
|
||||
accesskey="&enableHealthReport1.accesskey;" flex="1" />
|
||||
<label id="FHRLearnMore"
|
||||
class="learnMore text-link">&healthReportLearnMore.label;</label>
|
||||
</hbox>
|
||||
</description>
|
||||
#ifndef MOZ_TELEMETRY_REPORTING
|
||||
<description id="TelemetryDisabledDesc" class="indent" control="telemetryGroup">&healthReportingDisabled.label;</description>
|
||||
#endif
|
||||
@ -608,7 +611,7 @@
|
||||
<checkbox id="automaticallySubmitCrashesBox"
|
||||
preference="browser.crashReports.unsubmittedCheck.autoSubmit"
|
||||
label="&alwaysSubmitCrashReports1.label;"
|
||||
accesskey="&alwaysSubmitCrashReports1.accesskey;"/>
|
||||
accesskey="&alwaysSubmitCrashReports1.accesskey;" flex="1" />
|
||||
<label id="crashReporterLearnMore"
|
||||
class="learnMore text-link">&crashReporterLearnMore.label;</label>
|
||||
</hbox>
|
||||
|
@ -27,7 +27,7 @@
|
||||
</hbox>
|
||||
|
||||
<!-- Default Search Engine -->
|
||||
<groupbox id="defaultEngineGroup" align="start" data-category="paneSearch">
|
||||
<groupbox id="defaultEngineGroup" data-category="paneSearch">
|
||||
<caption label="&defaultSearchEngine.label;"/>
|
||||
<label>&chooseYourDefaultSearchEngine2.label;</label>
|
||||
<menulist id="defaultEngine">
|
||||
|
@ -157,7 +157,7 @@
|
||||
<caption><label>&signedIn.settings.label;</label></caption>
|
||||
<description>&signedIn.settings.description;</description>
|
||||
<hbox id="fxaSyncEngines">
|
||||
<vbox align="start" flex="1">
|
||||
<vbox flex="1">
|
||||
<checkbox label="&engine.tabs.label2;"
|
||||
accesskey="&engine.tabs.accesskey;"
|
||||
preference="engine.tabs"/>
|
||||
@ -171,7 +171,7 @@
|
||||
accesskey="&engine.history.accesskey;"
|
||||
preference="engine.history"/>
|
||||
</vbox>
|
||||
<vbox align="start" flex="1">
|
||||
<vbox flex="1">
|
||||
<checkbox label="&engine.addons.label;"
|
||||
accesskey="&engine.addons.accesskey;"
|
||||
preference="engine.addons"/>
|
||||
|
@ -20,4 +20,3 @@ export MOZ_PACKAGE_JSSHELL=1
|
||||
ac_add_options --with-branding=browser/branding/nightly
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -20,4 +20,3 @@ ac_add_options --with-branding=browser/branding/aurora
|
||||
mk_add_options MOZ_PGO=1
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -1,5 +1,3 @@
|
||||
no_sccache=1
|
||||
|
||||
ac_add_options --with-l10n-base=../../l10n
|
||||
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
|
||||
ac_add_options --with-branding=browser/branding/nightly
|
||||
|
@ -1,5 +1,3 @@
|
||||
no_sccache=1
|
||||
|
||||
ac_add_options --with-l10n-base=../../l10n
|
||||
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
|
||||
ac_add_options --with-branding=browser/branding/aurora
|
||||
|
@ -11,4 +11,3 @@ STRIP_FLAGS="--strip-debug"
|
||||
ac_add_options --with-branding=browser/branding/nightly
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -20,4 +20,3 @@ export MOZ_PACKAGE_JSSHELL=1
|
||||
ac_add_options --with-branding=browser/branding/nightly
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -24,4 +24,3 @@ export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
|
||||
. $topsrcdir/build/unix/mozconfig.gtk
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -20,4 +20,3 @@ ac_add_options --with-branding=browser/branding/aurora
|
||||
mk_add_options MOZ_PGO=1
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -1,5 +1,3 @@
|
||||
no_sccache=1
|
||||
|
||||
ac_add_options --with-l10n-base=../../l10n
|
||||
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
|
||||
ac_add_options --with-branding=browser/branding/nightly
|
||||
|
@ -1,5 +1,3 @@
|
||||
no_sccache=1
|
||||
|
||||
ac_add_options --with-l10n-base=../../l10n
|
||||
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
|
||||
ac_add_options --with-branding=browser/branding/aurora
|
||||
|
@ -11,4 +11,3 @@ STRIP_FLAGS="--strip-debug"
|
||||
ac_add_options --with-branding=browser/branding/nightly
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -23,4 +23,3 @@ export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
|
||||
. $topsrcdir/build/unix/mozconfig.gtk
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -9,4 +9,3 @@ ac_add_options --enable-official-branding
|
||||
ac_add_options --enable-verify-mar
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -20,4 +20,3 @@ export MOZ_PACKAGE_JSSHELL=1
|
||||
ac_add_options --with-branding=browser/branding/nightly
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -10,4 +10,3 @@ ac_add_options --enable-dmd
|
||||
ac_add_options --enable-clang-plugin
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -25,4 +25,3 @@ fi
|
||||
ac_add_options --with-branding=browser/branding/aurora
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -17,4 +17,3 @@ fi
|
||||
ac_add_options --with-branding=browser/branding/nightly
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -11,5 +11,4 @@ ac_add_options --enable-dmd
|
||||
ac_add_options --enable-clang-plugin
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
||||
|
@ -16,4 +16,3 @@ ac_add_options --enable-verify-mar
|
||||
export BUILDING_RELEASE=1
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -26,7 +26,6 @@ whitelist['nightly']['linux32'] += [
|
||||
'CC="ccache $REAL_CC"',
|
||||
'mk_add_options PROFILE_GEN_SCRIPT=@TOPSRCDIR@/build/profile_pageloader.pl',
|
||||
'ac_add_options --with-ccache=/usr/bin/ccache',
|
||||
'. "$topsrcdir/build/mozconfig.cache"',
|
||||
'export MOZILLA_OFFICIAL=1',
|
||||
'export MOZ_TELEMETRY_REPORTING=1',
|
||||
"mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'",
|
||||
@ -39,7 +38,6 @@ whitelist['nightly']['linux64'] += [
|
||||
"mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'",
|
||||
'STRIP_FLAGS="--strip-debug"',
|
||||
'ac_add_options --with-ccache=/usr/bin/ccache',
|
||||
'. "$topsrcdir/build/mozconfig.cache"',
|
||||
]
|
||||
|
||||
whitelist['nightly']['macosx64'] += [
|
||||
@ -48,7 +46,6 @@ whitelist['nightly']['macosx64'] += [
|
||||
'fi',
|
||||
'mk_add_options MOZ_MAKE_FLAGS="-j12"',
|
||||
'ac_add_options --with-ccache',
|
||||
'. "$topsrcdir/build/mozconfig.cache"',
|
||||
'ac_add_options --disable-install-strip',
|
||||
'ac_add_options --enable-instruments',
|
||||
'ac_add_options --enable-dtrace',
|
||||
@ -58,14 +55,12 @@ whitelist['nightly']['macosx64'] += [
|
||||
whitelist['nightly']['win32'] += [
|
||||
'. $topsrcdir/configs/mozilla2/win32/include/choose-make-flags',
|
||||
'mk_add_options MOZ_MAKE_FLAGS=-j1',
|
||||
'. "$topsrcdir/build/mozconfig.cache"',
|
||||
'if test "$IS_NIGHTLY" != ""; then',
|
||||
'ac_add_options --disable-auto-deps',
|
||||
'fi',
|
||||
]
|
||||
whitelist['nightly']['win64'] += [
|
||||
'. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"',
|
||||
'. "$topsrcdir/build/mozconfig.cache"',
|
||||
]
|
||||
|
||||
for platform in all_platforms:
|
||||
|
@ -23,4 +23,3 @@ export MOZ_PACKAGE_JSSHELL=1
|
||||
ac_add_options --with-branding=browser/branding/nightly
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -16,4 +16,3 @@ ac_add_options --with-branding=browser/branding/aurora
|
||||
mk_add_options MOZ_PGO=1
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -7,4 +7,3 @@ ac_add_options --enable-verify-mar
|
||||
ac_add_options --with-branding=browser/branding/nightly
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -26,4 +26,3 @@ ac_add_options --with-branding=browser/branding/nightly
|
||||
. $topsrcdir/build/win64/mozconfig.vs-latest
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -17,4 +17,3 @@ ac_add_options --with-branding=browser/branding/aurora
|
||||
mk_add_options MOZ_PGO=1
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -8,4 +8,3 @@ ac_add_options --enable-verify-mar
|
||||
ac_add_options --with-branding=browser/branding/nightly
|
||||
|
||||
. "$topsrcdir/build/mozconfig.common.override"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -16,9 +16,9 @@
|
||||
"unpack": true
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 146886764,
|
||||
"digest": "e03eeebd4acc593369d5635a059f55a6beed2d2fb839a8c196ccc735a246620d3285a15c17ab34fa8bcf9dd57dd25f735d4ef3eb2fc3be672bbde62342823f1e",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 161014632,
|
||||
"digest": "65bebcf94fc66ea618c58c9ac33f0f206095ecfe3931cc6edb301f4b40480e3b44b0f39aea7a25fed8eef47e63523e7e670082947a3662cdc04c68ebbe5dfc89",
|
||||
"algorithm": "sha512",
|
||||
"filename": "rustc.tar.xz",
|
||||
"unpack": true
|
||||
|
@ -16,9 +16,18 @@
|
||||
"unpack": true
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 146886764,
|
||||
"digest": "e03eeebd4acc593369d5635a059f55a6beed2d2fb839a8c196ccc735a246620d3285a15c17ab34fa8bcf9dd57dd25f735d4ef3eb2fc3be672bbde62342823f1e",
|
||||
"version": "sccache rev 69334a26ba65fc88e3934271a2ce6781c51b445e",
|
||||
"algorithm": "sha512",
|
||||
"visibility": "public",
|
||||
"filename": "sccache2.tar.xz",
|
||||
"unpack": true,
|
||||
"digest": "7bbe53cda3f608826dc6a0266e648cd2ea09c88ef93edf87d582b41185b72740667e2c7bf6e9b2b911fb2915cbfb985e528598c7b3153092ad27d5e937342df7",
|
||||
"size": 2191380
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 161014632,
|
||||
"digest": "65bebcf94fc66ea618c58c9ac33f0f206095ecfe3931cc6edb301f4b40480e3b44b0f39aea7a25fed8eef47e63523e7e670082947a3662cdc04c68ebbe5dfc89",
|
||||
"algorithm": "sha512",
|
||||
"filename": "rustc.tar.xz",
|
||||
"unpack": true
|
||||
|
@ -16,9 +16,9 @@
|
||||
"unpack": true
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 146886764,
|
||||
"digest": "e03eeebd4acc593369d5635a059f55a6beed2d2fb839a8c196ccc735a246620d3285a15c17ab34fa8bcf9dd57dd25f735d4ef3eb2fc3be672bbde62342823f1e",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 161014632,
|
||||
"digest": "65bebcf94fc66ea618c58c9ac33f0f206095ecfe3931cc6edb301f4b40480e3b44b0f39aea7a25fed8eef47e63523e7e670082947a3662cdc04c68ebbe5dfc89",
|
||||
"algorithm": "sha512",
|
||||
"filename": "rustc.tar.xz",
|
||||
"unpack": true
|
||||
|
@ -16,9 +16,9 @@
|
||||
"unpack": true
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 146886764,
|
||||
"digest": "e03eeebd4acc593369d5635a059f55a6beed2d2fb839a8c196ccc735a246620d3285a15c17ab34fa8bcf9dd57dd25f735d4ef3eb2fc3be672bbde62342823f1e",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 161014632,
|
||||
"digest": "65bebcf94fc66ea618c58c9ac33f0f206095ecfe3931cc6edb301f4b40480e3b44b0f39aea7a25fed8eef47e63523e7e670082947a3662cdc04c68ebbe5dfc89",
|
||||
"algorithm": "sha512",
|
||||
"filename": "rustc.tar.xz",
|
||||
"unpack": true
|
||||
|
@ -16,6 +16,15 @@
|
||||
"filename": "clang.tar.xz",
|
||||
"unpack": true
|
||||
},
|
||||
{
|
||||
"version": "sccache rev 69334a26ba65fc88e3934271a2ce6781c51b445e",
|
||||
"algorithm": "sha512",
|
||||
"visibility": "public",
|
||||
"filename": "sccache2.tar.xz",
|
||||
"unpack": true,
|
||||
"digest": "7bbe53cda3f608826dc6a0266e648cd2ea09c88ef93edf87d582b41185b72740667e2c7bf6e9b2b911fb2915cbfb985e528598c7b3153092ad27d5e937342df7",
|
||||
"size": 2191380
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 146886764,
|
||||
|
@ -24,9 +24,9 @@
|
||||
"size": 12072532
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 146886764,
|
||||
"digest": "e03eeebd4acc593369d5635a059f55a6beed2d2fb839a8c196ccc735a246620d3285a15c17ab34fa8bcf9dd57dd25f735d4ef3eb2fc3be672bbde62342823f1e",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 161014632,
|
||||
"digest": "65bebcf94fc66ea618c58c9ac33f0f206095ecfe3931cc6edb301f4b40480e3b44b0f39aea7a25fed8eef47e63523e7e670082947a3662cdc04c68ebbe5dfc89",
|
||||
"algorithm": "sha512",
|
||||
"filename": "rustc.tar.xz",
|
||||
"unpack": true
|
||||
|
@ -16,9 +16,9 @@
|
||||
"unpack": true
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 146886764,
|
||||
"digest": "e03eeebd4acc593369d5635a059f55a6beed2d2fb839a8c196ccc735a246620d3285a15c17ab34fa8bcf9dd57dd25f735d4ef3eb2fc3be672bbde62342823f1e",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 161014632,
|
||||
"digest": "65bebcf94fc66ea618c58c9ac33f0f206095ecfe3931cc6edb301f4b40480e3b44b0f39aea7a25fed8eef47e63523e7e670082947a3662cdc04c68ebbe5dfc89",
|
||||
"algorithm": "sha512",
|
||||
"filename": "rustc.tar.xz",
|
||||
"unpack": true
|
||||
|
@ -16,9 +16,9 @@
|
||||
"unpack": true
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 146886764,
|
||||
"digest": "e03eeebd4acc593369d5635a059f55a6beed2d2fb839a8c196ccc735a246620d3285a15c17ab34fa8bcf9dd57dd25f735d4ef3eb2fc3be672bbde62342823f1e",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 161014632,
|
||||
"digest": "65bebcf94fc66ea618c58c9ac33f0f206095ecfe3931cc6edb301f4b40480e3b44b0f39aea7a25fed8eef47e63523e7e670082947a3662cdc04c68ebbe5dfc89",
|
||||
"algorithm": "sha512",
|
||||
"filename": "rustc.tar.xz",
|
||||
"unpack": true
|
||||
|
@ -8,9 +8,9 @@
|
||||
"unpack": true
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 97110232,
|
||||
"digest": "7df456b9f86a0f11b81700b6bbb9451137beb5a4035fe2330dc507c804fe8230573636720dba60308eee5305b7c04bc041c025ca0ca98bef54f98f98b48dd8d7",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 109162660,
|
||||
"digest": "3335320fe950c75fd02c0828d062f633a0eadd77482c5c5f096d5faddc1826e500a557129ef89f5cdb0b5f1778b74bd0b569c996b9f54bdb105ef2bff7e628eb",
|
||||
"algorithm": "sha512",
|
||||
"filename": "rustc.tar.bz2",
|
||||
"unpack": true
|
||||
|
@ -42,9 +42,9 @@
|
||||
"filename": "dmg.tar.xz"
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 141005088,
|
||||
"digest": "8c915059da3df885c4b26efa25431719a41a108adbc900f49ca51419fee30480e32ac99aeb398954722c10b72dea6d1d39fc122846c86194b12063c9b85da47d",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 155690216,
|
||||
"digest": "379f542ea16c775e7bcad36823f0068ca6a1f17c2b25e42ef978d51865298ba4207dc89bbb614805f81a123d12e339209a447afbd12c1122e16f4c7c41e7d92b",
|
||||
"algorithm": "sha512",
|
||||
"filename": "rustc.tar.xz",
|
||||
"unpack": true
|
||||
|
@ -8,9 +8,9 @@
|
||||
"unpack": true
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 97110232,
|
||||
"digest": "7df456b9f86a0f11b81700b6bbb9451137beb5a4035fe2330dc507c804fe8230573636720dba60308eee5305b7c04bc041c025ca0ca98bef54f98f98b48dd8d7",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 109162660,
|
||||
"digest": "3335320fe950c75fd02c0828d062f633a0eadd77482c5c5f096d5faddc1826e500a557129ef89f5cdb0b5f1778b74bd0b569c996b9f54bdb105ef2bff7e628eb",
|
||||
"algorithm": "sha512",
|
||||
"filename": "rustc.tar.bz2",
|
||||
"unpack": true
|
||||
|
@ -6,9 +6,9 @@
|
||||
"filename": "mozmake.exe"
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 90954208,
|
||||
"digest": "6ee6ab72521c1f476fd15a3f2787f3046a1648f34cbc43380c2ba3915c2207b29c942fefe4b56426f5bafe47937c6a8074201d61a79d02ad366dace41d5cb717",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 97017057,
|
||||
"digest": "b726645f9d26c5a3048720b3839166021c1cf91a02d2ff2f10c49adced7455c7352e18b5052084d80bf9d1c40ec1bf72d0397921b8cd23262f89fdbd10def58f",
|
||||
"algorithm": "sha512",
|
||||
"filename": "rustc.tar.bz2",
|
||||
"unpack": true
|
||||
|
@ -6,9 +6,9 @@
|
||||
"filename": "mozmake.exe"
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 90954208,
|
||||
"digest": "6ee6ab72521c1f476fd15a3f2787f3046a1648f34cbc43380c2ba3915c2207b29c942fefe4b56426f5bafe47937c6a8074201d61a79d02ad366dace41d5cb717",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 97017057,
|
||||
"digest": "b726645f9d26c5a3048720b3839166021c1cf91a02d2ff2f10c49adced7455c7352e18b5052084d80bf9d1c40ec1bf72d0397921b8cd23262f89fdbd10def58f",
|
||||
"algorithm": "sha512",
|
||||
"filename": "rustc.tar.bz2",
|
||||
"unpack": true
|
||||
|
@ -6,9 +6,9 @@
|
||||
"filename": "mozmake.exe"
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 90954208,
|
||||
"digest": "6ee6ab72521c1f476fd15a3f2787f3046a1648f34cbc43380c2ba3915c2207b29c942fefe4b56426f5bafe47937c6a8074201d61a79d02ad366dace41d5cb717",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 97017057,
|
||||
"digest": "b726645f9d26c5a3048720b3839166021c1cf91a02d2ff2f10c49adced7455c7352e18b5052084d80bf9d1c40ec1bf72d0397921b8cd23262f89fdbd10def58f",
|
||||
"algorithm": "sha512",
|
||||
"filename": "rustc.tar.bz2",
|
||||
"unpack": true
|
||||
|
@ -6,9 +6,9 @@
|
||||
"filename": "mozmake.exe"
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 98336380,
|
||||
"digest": "92091d92ce135ee52486c31ae670735dd140ab5b1389f14582c4d9b14cbb393f7180399b9232564a3eb96443b568323070a3c1329deb07b145b28476e8271175",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 103602526,
|
||||
"digest": "558d2d18991ad8b250a5d6b46a55e1ffdffc50d6bdd9cb4b3a945dd3d1143836b32e47f1df612bfea97ca2c02333ed43055b6c3030ecb1632385fb6940c1d246",
|
||||
"algorithm": "sha512",
|
||||
"visibility": "public",
|
||||
"filename": "rustc.tar.bz2",
|
||||
|
@ -6,9 +6,9 @@
|
||||
"filename": "mozmake.exe"
|
||||
},
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 98336380,
|
||||
"digest": "92091d92ce135ee52486c31ae670735dd140ab5b1389f14582c4d9b14cbb393f7180399b9232564a3eb96443b568323070a3c1329deb07b145b28476e8271175",
|
||||
"version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
|
||||
"size": 103602526,
|
||||
"digest": "558d2d18991ad8b250a5d6b46a55e1ffdffc50d6bdd9cb4b3a945dd3d1143836b32e47f1df612bfea97ca2c02333ed43055b6c3030ecb1632385fb6940c1d246",
|
||||
"algorithm": "sha512",
|
||||
"visibility": "public",
|
||||
"filename": "rustc.tar.bz2",
|
||||
|
@ -0,0 +1,27 @@
|
||||
[
|
||||
{
|
||||
"version": "rustc 1.18.0 (03fc9d622 2017-06-06) repack",
|
||||
"size": 98336380,
|
||||
"digest": "92091d92ce135ee52486c31ae670735dd140ab5b1389f14582c4d9b14cbb393f7180399b9232564a3eb96443b568323070a3c1329deb07b145b28476e8271175",
|
||||
"algorithm": "sha512",
|
||||
"visibility": "public",
|
||||
"filename": "rustc.tar.bz2",
|
||||
"unpack": true
|
||||
},
|
||||
{
|
||||
"version": "Visual Studio 2015 Update 3 14.0.25425.01 / SDK 10.0.14393.0",
|
||||
"size": 326656969,
|
||||
"digest": "babc414ffc0457d27f5a1ed24a8e4873afbe2f1c1a4075469a27c005e1babc3b2a788f643f825efedff95b79686664c67ec4340ed535487168a3482e68559bc7",
|
||||
"algorithm": "sha512",
|
||||
"filename": "vs2015u3.zip",
|
||||
"unpack": true
|
||||
},
|
||||
{
|
||||
"version": "MinGit-2.13.3-64-bit",
|
||||
"size": 21482885,
|
||||
"digest": "929bb3c07be8487ee519422a312bdbfeec8f4db4b62c49d02f9aad9fd2a66c0ee5fad63d2b06c8744c336dc9d50446fa4457897333ad17ffd783ecabd1e2ddbb",
|
||||
"algorithm": "sha512",
|
||||
"filename": "git.zip",
|
||||
"unpack": true
|
||||
}
|
||||
]
|
@ -5,6 +5,8 @@ support-files =
|
||||
../fixtures/autocomplete_basic.html
|
||||
|
||||
[browser_autocomplete_footer.js]
|
||||
[browser_autocomplete_marked_back_forward.js]
|
||||
[browser_autocomplete_marked_detached_tab.js]
|
||||
[browser_check_installed.js]
|
||||
[browser_editProfileDialog.js]
|
||||
[browser_first_time_use_doorhanger.js]
|
||||
|
@ -0,0 +1,61 @@
|
||||
/**
|
||||
* Test that autofill autocomplete works after back/forward navigation
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
const URL = BASE_URL + "autocomplete_basic.html";
|
||||
|
||||
function checkPopup(autoCompletePopup) {
|
||||
let first = autoCompletePopup.view.results[0];
|
||||
const {primary, secondary} = JSON.parse(first.label);
|
||||
ok(primary.startsWith(TEST_ADDRESS_1["street-address"].split("\n")[0]),
|
||||
"Check primary label is street address");
|
||||
is(secondary, TEST_ADDRESS_1["address-level2"], "Check secondary label is address-level2");
|
||||
}
|
||||
|
||||
add_task(async function setup_storage() {
|
||||
await saveAddress(TEST_ADDRESS_1);
|
||||
await saveAddress(TEST_ADDRESS_2);
|
||||
await saveAddress(TEST_ADDRESS_3);
|
||||
});
|
||||
|
||||
add_task(async function test_back_forward() {
|
||||
await BrowserTestUtils.withNewTab({gBrowser, url: URL}, async function(browser) {
|
||||
const {autoCompletePopup} = browser;
|
||||
|
||||
// Check the page after the initial load
|
||||
await openPopupOn(browser, "#street-address");
|
||||
checkPopup(autoCompletePopup);
|
||||
|
||||
// Now navigate forward and make sure autofill autocomplete results are still attached
|
||||
let loadPromise = BrowserTestUtils.browserLoaded(browser);
|
||||
await BrowserTestUtils.loadURI(browser, `${URL}?load=2`);
|
||||
await loadPromise;
|
||||
|
||||
// Check the second page
|
||||
await openPopupOn(browser, "#street-address");
|
||||
checkPopup(autoCompletePopup);
|
||||
|
||||
// Check after hitting back to the first page
|
||||
let stoppedPromise = BrowserTestUtils.browserStopped(browser);
|
||||
browser.goBack();
|
||||
await stoppedPromise;
|
||||
await openPopupOn(browser, "#street-address");
|
||||
checkPopup(autoCompletePopup);
|
||||
|
||||
// Check after hitting forward to the second page
|
||||
stoppedPromise = BrowserTestUtils.browserStopped(browser);
|
||||
browser.goForward();
|
||||
await stoppedPromise;
|
||||
await openPopupOn(browser, "#street-address");
|
||||
checkPopup(autoCompletePopup);
|
||||
|
||||
// Ensure the popup is closed before entering the next test.
|
||||
await ContentTask.spawn(browser, {}, async function() {
|
||||
content.document.getElementById("street-address").blur();
|
||||
});
|
||||
await BrowserTestUtils.waitForCondition(() => !autoCompletePopup.popupOpen,
|
||||
"popup should have closed");
|
||||
});
|
||||
});
|
@ -0,0 +1,54 @@
|
||||
/**
|
||||
* Test that autofill autocomplete works after detaching a tab
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
const URL = BASE_URL + "autocomplete_basic.html";
|
||||
|
||||
function checkPopup(autoCompletePopup) {
|
||||
let first = autoCompletePopup.view.results[0];
|
||||
const {primary, secondary} = JSON.parse(first.label);
|
||||
ok(primary.startsWith(TEST_ADDRESS_1["street-address"].split("\n")[0]),
|
||||
"Check primary label is street address");
|
||||
is(secondary, TEST_ADDRESS_1["address-level2"], "Check secondary label is address-level2");
|
||||
}
|
||||
|
||||
add_task(async function setup_storage() {
|
||||
await saveAddress(TEST_ADDRESS_1);
|
||||
await saveAddress(TEST_ADDRESS_2);
|
||||
await saveAddress(TEST_ADDRESS_3);
|
||||
});
|
||||
|
||||
add_task(async function test_detach_tab_marked() {
|
||||
await BrowserTestUtils.withNewTab({gBrowser, url: URL}, async function(browser) {
|
||||
const {autoCompletePopup} = browser;
|
||||
|
||||
// Check the page after the initial load
|
||||
await openPopupOn(browser, "#street-address");
|
||||
checkPopup(autoCompletePopup);
|
||||
|
||||
// Detach the tab to a new window
|
||||
let newWin = gBrowser.replaceTabWithWindow(gBrowser.getTabForBrowser(browser));
|
||||
await TestUtils.topicObserved("browser-delayed-startup-finished", subject => {
|
||||
return subject == newWin;
|
||||
});
|
||||
|
||||
info("tab was detached");
|
||||
let newBrowser = newWin.gBrowser.selectedBrowser;
|
||||
ok(newBrowser, "Found new <browser>");
|
||||
let newAutoCompletePopup = newBrowser.autoCompletePopup;
|
||||
ok(newAutoCompletePopup, "Found new autocomplete popup");
|
||||
|
||||
await openPopupOn(newBrowser, "#street-address");
|
||||
checkPopup(newAutoCompletePopup);
|
||||
|
||||
// Ensure the popup is closed before entering the next test.
|
||||
await ContentTask.spawn(newBrowser, {}, async function() {
|
||||
content.document.getElementById("street-address").blur();
|
||||
});
|
||||
await BrowserTestUtils.waitForCondition(() => !newAutoCompletePopup.popupOpen,
|
||||
"popup should have closed");
|
||||
await BrowserTestUtils.closeWindow(newWin);
|
||||
});
|
||||
});
|
@ -44,17 +44,19 @@ async function expectPopupOpen(browser) {
|
||||
const {autoCompletePopup, autoCompletePopup: {richlistbox: itemsBox}} = browser;
|
||||
const listItemElems = itemsBox.querySelectorAll(".autocomplete-richlistitem");
|
||||
|
||||
await BrowserTestUtils.waitForCondition(() => autoCompletePopup.popupOpen);
|
||||
await BrowserTestUtils.waitForCondition(() => autoCompletePopup.popupOpen,
|
||||
"popup should be open");
|
||||
await BrowserTestUtils.waitForCondition(() => {
|
||||
return [...listItemElems].every(item => {
|
||||
return (item.getAttribute("originaltype") == "autofill-profile" ||
|
||||
item.getAttribute("originaltype") == "autofill-footer") &&
|
||||
item.hasAttribute("formautofillattached");
|
||||
});
|
||||
});
|
||||
}, "The popup should be a form autofill one");
|
||||
}
|
||||
|
||||
async function openPopupOn(browser, selector) {
|
||||
await SimpleTest.promiseFocus(browser);
|
||||
/* eslint no-shadow: ["error", { "allow": ["selector"] }] */
|
||||
await ContentTask.spawn(browser, {selector}, async function({selector}) {
|
||||
content.document.querySelector(selector).focus();
|
||||
|
@ -12,7 +12,7 @@
|
||||
</Description>
|
||||
</em:targetApplication>
|
||||
<em:type>2</em:type>
|
||||
<em:version>10.8.0</em:version>
|
||||
<em:version>10.9.0</em:version>
|
||||
<em:bootstrap>true</em:bootstrap>
|
||||
<em:homepageURL>https://pageshot.net/</em:homepageURL>
|
||||
<em:multiprocessCompatible>true</em:multiprocessCompatible>
|
||||
|
@ -429,7 +429,7 @@ window.inlineSelectionCss = `
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
background: #f5f5f5;
|
||||
border-radius: 1px;
|
||||
border-radius: 2px;
|
||||
box-sizing: border-box;
|
||||
height: 80px;
|
||||
padding: 8px;
|
||||
|
@ -231,14 +231,14 @@ body {
|
||||
opacity: 1; }
|
||||
|
||||
.active-slide-1 #prev,
|
||||
.active-slide-4 #next {
|
||||
.active-slide-3 #next {
|
||||
display: none; }
|
||||
|
||||
#done {
|
||||
background-image: url("MOZ_EXTENSION/icons/done.svg");
|
||||
display: none; }
|
||||
|
||||
.active-slide-4 #done {
|
||||
.active-slide-3 #done {
|
||||
display: inline-block; }
|
||||
|
||||
/* for smaller screen sizes */
|
||||
|
@ -10,7 +10,7 @@ window.onboardingHtml = `
|
||||
<body>
|
||||
<div id="slide-overlay">
|
||||
<!-- The current slide is set by having .active-slide-1, .active-slide-2, etc on #slide element: -->
|
||||
<div id="slide-container" data-number-of-slides="4" class="active-slide-1">
|
||||
<div id="slide-container" data-number-of-slides="3" class="active-slide-1">
|
||||
<div class="slide slide-1">
|
||||
<!-- Note: all images must be listed in manifest.json.template under web_accessible_resources -->
|
||||
<div class="slide-image" style="background-image: url('MOZ_EXTENSION/icons/onboarding-1.png');"></div>
|
||||
@ -30,13 +30,6 @@ window.onboardingHtml = `
|
||||
</div>
|
||||
</div>
|
||||
<div class="slide slide-3">
|
||||
<div class="slide-image" style="background-image: url('MOZ_EXTENSION/icons/onboarding-3.png');"></div>
|
||||
<div class="slide-content">
|
||||
<h1 data-l10n-id="tourHeaderThree"></h1>
|
||||
<p data-l10n-id="tourBodyThree"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="slide slide-4">
|
||||
<div class="slide-image" style="background-image: url('MOZ_EXTENSION/icons/onboarding-4.png');"></div>
|
||||
<div class="slide-content">
|
||||
<h1 data-l10n-id="tourHeaderFour"></h1>
|
||||
@ -53,7 +46,6 @@ window.onboardingHtml = `
|
||||
<button class="goto-slide goto-slide-1" data-number="1" tabindex=4></button>
|
||||
<button class="goto-slide goto-slide-2" data-number="2" tabindex=5></button>
|
||||
<button class="goto-slide goto-slide-3" data-number="3" tabindex=6></button>
|
||||
<button class="goto-slide goto-slide-4" data-number="4" tabindex=7></button>
|
||||
</div>
|
||||
<!-- FIXME: Need to put in privacy / etc links -->
|
||||
</div>
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"manifest_version": 2,
|
||||
"name": "Firefox Screenshots",
|
||||
"version": "10.8.0",
|
||||
"version": "10.9.0",
|
||||
"description": "__MSG_addonDescription__",
|
||||
"author": "__MSG_addonAuthorsList__",
|
||||
"homepage_url": "https://github.com/mozilla-services/screenshots",
|
||||
|
@ -8,7 +8,7 @@
|
||||
<body>
|
||||
<div id="slide-overlay">
|
||||
<!-- The current slide is set by having .active-slide-1, .active-slide-2, etc on #slide element: -->
|
||||
<div id="slide-container" data-number-of-slides="4" class="active-slide-1">
|
||||
<div id="slide-container" data-number-of-slides="3" class="active-slide-1">
|
||||
<div class="slide slide-1">
|
||||
<!-- Note: all images must be listed in manifest.json.template under web_accessible_resources -->
|
||||
<div class="slide-image" style="background-image: url('MOZ_EXTENSION/icons/onboarding-1.png');"></div>
|
||||
@ -28,13 +28,6 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="slide slide-3">
|
||||
<div class="slide-image" style="background-image: url('MOZ_EXTENSION/icons/onboarding-3.png');"></div>
|
||||
<div class="slide-content">
|
||||
<h1 data-l10n-id="tourHeaderThree"></h1>
|
||||
<p data-l10n-id="tourBodyThree"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="slide slide-4">
|
||||
<div class="slide-image" style="background-image: url('MOZ_EXTENSION/icons/onboarding-4.png');"></div>
|
||||
<div class="slide-content">
|
||||
<h1 data-l10n-id="tourHeaderFour"></h1>
|
||||
@ -51,7 +44,6 @@
|
||||
<button class="goto-slide goto-slide-1" data-number="1" tabindex=4></button>
|
||||
<button class="goto-slide goto-slide-2" data-number="2" tabindex=5></button>
|
||||
<button class="goto-slide goto-slide-3" data-number="3" tabindex=6></button>
|
||||
<button class="goto-slide goto-slide-4" data-number="4" tabindex=7></button>
|
||||
</div>
|
||||
<!-- FIXME: Need to put in privacy / etc links -->
|
||||
</div>
|
||||
|
@ -239,9 +239,6 @@ this.ui = (function() { // eslint-disable-line no-unused-vars
|
||||
<div class="preview-instructions"></div>
|
||||
<div class="myshots-all-buttons-container">
|
||||
<button class="myshots-button myshots-link" tabindex="1"></button>
|
||||
<div class="spacer"></div>
|
||||
<button class="myshots-button visible" tabindex="2"></button>
|
||||
<button class="myshots-button full-page" tabindex="3"></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -255,14 +252,8 @@ this.ui = (function() { // eslint-disable-line no-unused-vars
|
||||
const overlay = this.document.querySelector(".preview-overlay");
|
||||
overlay.querySelector(".preview-instructions").textContent = browser.i18n.getMessage("screenshotInstructions");
|
||||
overlay.querySelector(".myshots-link").textContent = browser.i18n.getMessage("myShotsLink");
|
||||
overlay.querySelector(".visible").textContent = browser.i18n.getMessage("saveScreenshotVisibleArea");
|
||||
overlay.querySelector(".full-page").textContent = browser.i18n.getMessage("saveScreenshotFullPage");
|
||||
overlay.querySelector(".myshots-button").addEventListener(
|
||||
"click", watchFunction(assertIsTrusted(standardOverlayCallbacks.onOpenMyShots)));
|
||||
overlay.querySelector(".visible").addEventListener(
|
||||
"click", watchFunction(assertIsTrusted(standardOverlayCallbacks.onClickVisible)));
|
||||
overlay.querySelector(".full-page").addEventListener(
|
||||
"click", watchFunction(assertIsTrusted(standardOverlayCallbacks.onClickFullPage)));
|
||||
resolve();
|
||||
}), {once: true});
|
||||
document.body.appendChild(this.element);
|
||||
|
@ -332,6 +332,8 @@ These should match what Safari and other Apple applications use on OS X Lion. --
|
||||
<!ENTITY viewSidebarMenu.accesskey "e">
|
||||
<!ENTITY viewCustomizeToolbar.label "Customize…">
|
||||
<!ENTITY viewCustomizeToolbar.accesskey "C">
|
||||
<!ENTITY overflowCustomizeToolbar.label "Customize Toolbar…">
|
||||
<!ENTITY overflowCustomizeToolbar.accesskey "C">
|
||||
|
||||
<!ENTITY historyMenu.label "History">
|
||||
<!ENTITY historyMenu.accesskey "s">
|
||||
|
@ -90,11 +90,13 @@ available. -->
|
||||
# after the version number, and is empty on purpose for English. You can use it
|
||||
# if required by your language.
|
||||
-->
|
||||
<!ENTITY updateApplicationDescription.label
|
||||
"Keep &brandShortName; up to date for the best performance, stability, and security.">
|
||||
<!ENTITY updateApplication.version.pre "Version ">
|
||||
<!ENTITY updateApplication.version.post "">
|
||||
<!ENTITY updateApplication.description "Allow &brandShortName; to">
|
||||
<!ENTITY updateAuto2.label "Automatically install updates (recommended for improved security)">
|
||||
<!ENTITY updateAuto2.accesskey "A">
|
||||
<!ENTITY updateAuto3.label "Automatically install updates (recommended)">
|
||||
<!ENTITY updateAuto3.accesskey "A">
|
||||
<!ENTITY updateCheckChoose2.label "Check for updates but let you choose to install them">
|
||||
<!ENTITY updateCheckChoose2.accesskey "C">
|
||||
<!ENTITY updateManual2.label "Never check for updates (not recommended)">
|
||||
|
@ -54,7 +54,7 @@ both, to better adapt this sentence to their language.
|
||||
<!ENTITY signIn.label "Sign in">
|
||||
<!ENTITY signIn.accesskey "g">
|
||||
<!ENTITY profilePicture.tooltip "Change profile picture">
|
||||
<!ENTITY verifiedManage.label "Manage Account">
|
||||
<!ENTITY verifiedManage.label "Manage account">
|
||||
<!ENTITY verifiedManage.accesskey "o">
|
||||
<!ENTITY disconnect3.label "Disconnect…">
|
||||
<!ENTITY disconnect3.accesskey "D">
|
||||
|
@ -1733,7 +1733,7 @@ toolbarpaletteitem[place=panel] > .toolbaritem-combined-buttons > toolbarbutton
|
||||
%ifndef MOZ_PHOTON_THEME
|
||||
#widget-overflow-scroller {
|
||||
%else
|
||||
#widget-overflow-mainView {
|
||||
#widget-overflow-mainView .panel-subview-body {
|
||||
%endif
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
|
@ -382,7 +382,8 @@ description > html|a {
|
||||
*/
|
||||
|
||||
#fxaProfileImage {
|
||||
max-width: 60px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border-radius: 50%;
|
||||
list-style-image: url(chrome://browser/skin/fxa/default-avatar.svg);
|
||||
margin-inline-end: 15px;
|
||||
@ -391,7 +392,8 @@ description > html|a {
|
||||
}
|
||||
|
||||
#fxaLoginStatus[hasName] #fxaProfileImage {
|
||||
max-width: 80px;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
|
||||
#fxaProfileImage.actionable {
|
||||
@ -518,7 +520,8 @@ description > html|a {
|
||||
|
||||
.fxaFirefoxLogo {
|
||||
list-style-image: url(chrome://browser/skin/fxa/logo.png);
|
||||
max-width: 64px;
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
margin-inline-end: 14px;
|
||||
}
|
||||
|
||||
|
@ -279,6 +279,10 @@ description > html|a {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
description > checkbox {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
#weavePrefsDeck > vbox > label,
|
||||
#weavePrefsDeck > vbox > groupbox,
|
||||
#weavePrefsDeck > vbox > description,
|
||||
@ -402,7 +406,8 @@ groupbox {
|
||||
*/
|
||||
|
||||
#fxaProfileImage {
|
||||
max-width: 60px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border-radius: 50%;
|
||||
list-style-image: url(chrome://browser/skin/fxa/default-avatar.svg);
|
||||
margin-inline-end: 15px;
|
||||
@ -411,7 +416,8 @@ groupbox {
|
||||
}
|
||||
|
||||
#fxaLoginStatus[hasName] #fxaProfileImage {
|
||||
max-width: 80px;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
|
||||
#fxaProfileImage.actionable {
|
||||
@ -538,7 +544,8 @@ groupbox {
|
||||
|
||||
.fxaFirefoxLogo {
|
||||
list-style-image: url(chrome://browser/skin/fxa/logo.png);
|
||||
max-width: 64px;
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
margin-inline-end: 14px;
|
||||
}
|
||||
|
||||
|
@ -201,11 +201,7 @@ fi
|
||||
# bionic in Android < 4.1 doesn't support PIE
|
||||
# On OSX, the linker defaults to building PIE programs when targeting OSX 10.7.
|
||||
# On other Unix systems, some file managers (Nautilus) can't start PIE programs
|
||||
if test -n "$gonkdir" && test "$ANDROID_VERSION" -ge 16; then
|
||||
MOZ_PIE=1
|
||||
else
|
||||
MOZ_PIE=
|
||||
fi
|
||||
MOZ_PIE=
|
||||
|
||||
MOZ_ARG_ENABLE_BOOL(pie,
|
||||
[ --enable-pie Enable Position Independent Executables],
|
||||
|
@ -279,9 +279,7 @@ def mozconfig_options(mozconfig, automation, help):
|
||||
add(key, value)
|
||||
os.environ[key] = value
|
||||
for key, value in mozconfig['vars']['added'].iteritems():
|
||||
# mozconfig_loader adds _IS_SET variables that are irrelevant
|
||||
if not key.endswith('_IS_SET'):
|
||||
add(key, value)
|
||||
add(key, value)
|
||||
for key, (_, value) in mozconfig['vars']['modified'].iteritems():
|
||||
add(key, value)
|
||||
|
||||
@ -909,13 +907,3 @@ def js_option(*args, **kwargs):
|
||||
return value.format(opt.option)
|
||||
|
||||
add_old_configure_arg(js_option)
|
||||
|
||||
|
||||
# Bug 1278542: This function is a workaround to resolve
|
||||
# |android_ndk_include|'s dependency on 'gonkdir.' The
|
||||
# actual implementation is located in b2g/moz.configure.
|
||||
# Remove this function as soon as 'android_ndk_include'
|
||||
# depends on 'target.'
|
||||
@depends('--help')
|
||||
def gonkdir(_):
|
||||
return None
|
||||
|
@ -65,9 +65,9 @@ add_old_configure_assignment('YASM', have_yasm)
|
||||
# Android NDK
|
||||
# ==============================================================
|
||||
|
||||
@depends('--disable-compile-environment', build_project, gonkdir, '--help')
|
||||
def compiling_android(compile_env, build_project, gonkdir, _):
|
||||
return compile_env and (gonkdir or build_project in ('mobile/android', 'js'))
|
||||
@depends('--disable-compile-environment', build_project, '--help')
|
||||
def compiling_android(compile_env, build_project, _):
|
||||
return compile_env and build_project in ('mobile/android', 'js')
|
||||
|
||||
include('android-ndk.configure', when=compiling_android)
|
||||
|
||||
|
@ -14,7 +14,7 @@ $(python2.7 -c 'import json; p = json.loads(open("'"$topsrcdir"'/../buildprops.j
|
||||
EOF
|
||||
|
||||
bucket=
|
||||
if test -z "$SCCACHE_DISABLE" -a -z "$no_sccache" -a -z "$MOZ_PGO_IS_SET" -a -z "$MOZ_PGO"; then
|
||||
if test -z "$SCCACHE_DISABLE"; then
|
||||
case "${branch}" in
|
||||
try)
|
||||
case "${master}" in
|
||||
@ -44,7 +44,7 @@ fi
|
||||
fi
|
||||
|
||||
# builds where buildprops didn't have the data (eg: taskcluster or non-buildbot) and without sccache disabled:
|
||||
if test -z "$bucket" -a -z "$SCCACHE_DISABLE" -a -z "$no_sccache" -a -z "$MOZ_PGO_IS_SET" -a -z "$MOZ_PGO"; then
|
||||
if test -z "$bucket" -a -z "$SCCACHE_DISABLE"; then
|
||||
|
||||
# prevent rerun if az is set, or wget is not available
|
||||
if test -z "$availability_zone" -a -x "$(command -v wget)"; then
|
||||
@ -108,7 +108,7 @@ if test -z "$bucket"; then
|
||||
case "$platform" in
|
||||
win*) : ;;
|
||||
*)
|
||||
ac_add_options --with-ccache
|
||||
export CCACHE=ccache
|
||||
esac
|
||||
else
|
||||
mk_add_options "export SCCACHE_BUCKET=$bucket"
|
||||
@ -117,7 +117,7 @@ else
|
||||
mk_add_options "export SCCACHE_NAMESERVER=169.254.169.253"
|
||||
;;
|
||||
esac
|
||||
ac_add_options "--with-ccache=$topsrcdir/sccache2/sccache${suffix}"
|
||||
export CCACHE="$topsrcdir/sccache2/sccache${suffix}"
|
||||
export SCCACHE_VERBOSE_STATS=1
|
||||
mk_add_options MOZ_PREFLIGHT_ALL+=build/sccache.mk
|
||||
mk_add_options MOZ_POSTFLIGHT_ALL+=build/sccache.mk
|
||||
|
@ -23,3 +23,4 @@ ac_add_options --enable-js-shell
|
||||
|
||||
. "$topsrcdir/build/mozconfig.automation"
|
||||
. "$topsrcdir/build/mozconfig.rust"
|
||||
. "$topsrcdir/build/mozconfig.cache"
|
||||
|
@ -1,5 +1,10 @@
|
||||
ac_add_options --disable-compile-environment
|
||||
|
||||
# In case mozconfig.cache was already included
|
||||
unset CCACHE
|
||||
# In case it wasn't
|
||||
NO_CACHE=1
|
||||
|
||||
# Override any toolchain defines we've inherited from other mozconfigs.
|
||||
unset CC
|
||||
unset CXX
|
||||
|
@ -506,6 +506,10 @@ int do_relocation_section(Elf *elf, unsigned int rel_type, unsigned int rel_type
|
||||
ElfSegment *relro = elf->getSegmentByType(PT_GNU_RELRO);
|
||||
|
||||
ElfRel_Section<Rel_Type> *section = (ElfRel_Section<Rel_Type> *)dyn->getSectionForType(Rel_Type::d_tag);
|
||||
if (section == nullptr) {
|
||||
fprintf(stderr, "No relocations\n");
|
||||
return -1;
|
||||
}
|
||||
assert(section->getType() == Rel_Type::sh_type);
|
||||
|
||||
Elf32_Shdr relhack32_section =
|
||||
|
@ -15,12 +15,9 @@ const { bindActionCreators } = require("redux");
|
||||
const { bootstrap, renderRoot } = require("devtools-launchpad");
|
||||
const EventEmitter = require("devtools-modules/src/utils/event-emitter");
|
||||
const { Services: { appinfo, pref }} = require("devtools-modules");
|
||||
const { configureStore } = require("./src/utils/create-store");
|
||||
|
||||
require("./src/assets/styles/netmonitor.css");
|
||||
|
||||
EventEmitter.decorate(window);
|
||||
|
||||
// Initialize preferences as early as possible
|
||||
pref("devtools.cache.disabled", false);
|
||||
pref("devtools.netmonitor.enabled", true);
|
||||
pref("devtools.netmonitor.filters", "[\"all\"]");
|
||||
pref("devtools.netmonitor.visibleColumns",
|
||||
@ -41,6 +38,11 @@ pref("devtools.netmonitor.har.enableAutoExportToFile", false);
|
||||
pref("devtools.webconsole.persistlog", false);
|
||||
pref("devtools.styleeditor.enabled", true);
|
||||
|
||||
const { configureStore } = require("./src/utils/create-store");
|
||||
|
||||
require("./src/assets/styles/netmonitor.css");
|
||||
|
||||
EventEmitter.decorate(window);
|
||||
const App = require("./src/components/app");
|
||||
const store = configureStore();
|
||||
const actions = bindActionCreators(require("./src/actions"), store.dispatch);
|
||||
|
@ -588,7 +588,9 @@ skip-if = toolkit == 'android' #bug 687032
|
||||
[test_bug999456.html]
|
||||
[test_bug1022229.html]
|
||||
[test_bug1025933.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_bug1037687.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_bug1043106.html]
|
||||
[test_bug1057176.html]
|
||||
[test_bug1060938.html]
|
||||
|
@ -606,6 +606,12 @@ function testExpandos() {
|
||||
}
|
||||
|
||||
function testOutsideShadowDOM() {
|
||||
if (!div.createShadowRoot) {
|
||||
todo(false, "Skipping testOutsideShadowDOM and testInsideShadowDOM " +
|
||||
"because createShadowRoot is not supported");
|
||||
then(testMarquee);
|
||||
return;
|
||||
}
|
||||
var m = new M(function(records, observer) {
|
||||
is(records.length, 1);
|
||||
is(records[0].type, "attributes", "Should have got attributes");
|
||||
|
@ -46,5 +46,17 @@ Credential::GetType(nsAString& aType) const
|
||||
aType.Assign(mType);
|
||||
}
|
||||
|
||||
void
|
||||
Credential::SetId(const nsAString& aId)
|
||||
{
|
||||
mId.Assign(aId);
|
||||
}
|
||||
|
||||
void
|
||||
Credential::SetType(const nsAString& aType)
|
||||
{
|
||||
mType.Assign(aType);
|
||||
}
|
||||
|
||||
} // namespace dom
|
||||
} // namespace mozilla
|
||||
|
@ -44,6 +44,12 @@ public:
|
||||
void
|
||||
GetType(nsAString& aType) const;
|
||||
|
||||
void
|
||||
SetId(const nsAString& aId);
|
||||
|
||||
void
|
||||
SetType(const nsAString& aType);
|
||||
|
||||
private:
|
||||
nsCOMPtr<nsPIDOMWindowInner> mParent;
|
||||
nsAutoString mId;
|
||||
|
@ -166,18 +166,30 @@ public:
|
||||
}
|
||||
nsresult SetToRangeStart(nsRange* aRange) const
|
||||
{
|
||||
nsCOMPtr<nsIDOMNode> domNode(do_QueryInterface(mNode));
|
||||
return aRange->SetStart(domNode, mOffset);
|
||||
if (!IsValid()) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
ErrorResult errorResult;
|
||||
aRange->SetStart(*mNode, mOffset, errorResult);
|
||||
return errorResult.StealNSResult();
|
||||
}
|
||||
nsresult SetToRangeEnd(nsRange* aRange) const
|
||||
{
|
||||
nsCOMPtr<nsIDOMNode> domNode(do_QueryInterface(mNode));
|
||||
return aRange->SetEnd(domNode, mOffset);
|
||||
if (!IsValid()) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
ErrorResult errorResult;
|
||||
aRange->SetEnd(*mNode, mOffset, errorResult);
|
||||
return errorResult.StealNSResult();
|
||||
}
|
||||
nsresult SetToRangeEndAfter(nsRange* aRange) const
|
||||
{
|
||||
nsCOMPtr<nsIDOMNode> domNode(do_QueryInterface(mNode));
|
||||
return aRange->SetEndAfter(domNode);
|
||||
if (!IsValid()) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
ErrorResult errorResult;
|
||||
aRange->SetEndAfter(*mNode, errorResult);
|
||||
return errorResult.StealNSResult();
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -534,6 +534,7 @@ IMEStateManager::OnChangeFocusInternal(nsPresContext* aPresContext,
|
||||
bool setIMEState = true;
|
||||
|
||||
if (newTabParent) {
|
||||
MOZ_ASSERT(XRE_IsParentProcess());
|
||||
if (aAction.mFocusChange == InputContextAction::MENU_GOT_PSEUDO_FOCUS ||
|
||||
aAction.mFocusChange == InputContextAction::MENU_LOST_PSEUDO_FOCUS) {
|
||||
// XXX When menu keyboard listener is being uninstalled, IME state needs
|
||||
@ -559,7 +560,7 @@ IMEStateManager::OnChangeFocusInternal(nsPresContext* aPresContext,
|
||||
"will get focus actually"));
|
||||
}
|
||||
} else if (newWidget->GetInputContext().mOrigin !=
|
||||
InputContext::ORIGIN_CONTENT) {
|
||||
InputContext::ORIGIN_MAIN) {
|
||||
// When focus is NOT changed actually, we shouldn't set IME state if
|
||||
// current input context was set by a remote process since that means
|
||||
// that the window is being activated and the child process may have
|
||||
|
@ -136,11 +136,14 @@ support-files = bug1017086_inner.html
|
||||
[test_bug1017086_enable.html]
|
||||
support-files = bug1017086_inner.html
|
||||
[test_bug1079236.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_bug1145910.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_bug1150308.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_bug1248459.html]
|
||||
[test_bug1264380.html]
|
||||
run-if = (e10s && os != "win") # Bug 1270043, crash at windows platforms; Bug1264380 comment 20, nsDragService::InvokeDragSessionImpl behaves differently among platform implementations in non-e10s mode which prevents us to check the validity of nsIDragService::getCurrentSession() consistently via synthesize mouse clicks in non-e10s mode.
|
||||
run-if = (e10s && os != "win" && !stylo) # Bug 1270043, crash at windows platforms; Bug1264380 comment 20, nsDragService::InvokeDragSessionImpl behaves differently among platform implementations in non-e10s mode which prevents us to check the validity of nsIDragService::getCurrentSession() consistently via synthesize mouse clicks in non-e10s mode. bug 1293844 for stylo.
|
||||
[test_bug1327798.html]
|
||||
subsuite = clipboard
|
||||
[test_clickevent_on_input.html]
|
||||
|
@ -1134,31 +1134,6 @@ ContentParent::RecvConnectPluginBridge(const uint32_t& aPluginId,
|
||||
return IPC_OK();
|
||||
}
|
||||
|
||||
mozilla::ipc::IPCResult
|
||||
ContentParent::RecvGetBlocklistState(const uint32_t& aPluginId,
|
||||
uint32_t* aState)
|
||||
{
|
||||
*aState = nsIBlocklistService::STATE_BLOCKED;
|
||||
|
||||
RefPtr<nsPluginHost> pluginHost = nsPluginHost::GetInst();
|
||||
if (!pluginHost) {
|
||||
NS_WARNING("Plugin host not found");
|
||||
return IPC_FAIL_NO_REASON(this);
|
||||
}
|
||||
nsPluginTag* tag = pluginHost->PluginWithId(aPluginId);
|
||||
|
||||
if (!tag) {
|
||||
// Default state is blocked anyway
|
||||
NS_WARNING("Plugin tag not found. This should never happen, but to avoid a crash we're forcibly blocking it");
|
||||
return IPC_OK();
|
||||
}
|
||||
|
||||
if (NS_FAILED(tag->GetBlocklistState(aState))) {
|
||||
return IPC_FAIL_NO_REASON(this);
|
||||
}
|
||||
return IPC_OK();
|
||||
}
|
||||
|
||||
/*static*/ TabParent*
|
||||
ContentParent::CreateBrowser(const TabContext& aContext,
|
||||
Element* aFrameElement,
|
||||
|
@ -304,9 +304,6 @@ public:
|
||||
nsresult* aRv,
|
||||
Endpoint<PPluginModuleParent>* aEndpoint) override;
|
||||
|
||||
virtual mozilla::ipc::IPCResult RecvGetBlocklistState(const uint32_t& aPluginId,
|
||||
uint32_t* aIsBlocklisted) override;
|
||||
|
||||
virtual mozilla::ipc::IPCResult RecvUngrabPointer(const uint32_t& aTime) override;
|
||||
|
||||
virtual mozilla::ipc::IPCResult RecvRemovePermission(const IPC::Principal& aPrincipal,
|
||||
|
@ -641,11 +641,6 @@ parent:
|
||||
sync ConnectPluginBridge(uint32_t aPluginId)
|
||||
returns (nsresult rv, Endpoint<PPluginModuleParent> aEndpoint);
|
||||
|
||||
/**
|
||||
* Return the current blocklist state for a particular plugin.
|
||||
*/
|
||||
sync GetBlocklistState(uint32_t aPluginId) returns (uint32_t aState);
|
||||
|
||||
async PJavaScript();
|
||||
|
||||
async PRemoteSpellcheckEngine();
|
||||
|
@ -159,19 +159,18 @@ CanCreateWMFDecoder()
|
||||
}
|
||||
|
||||
static bool
|
||||
IsH264DecoderBlacklisted()
|
||||
IsWin7H264Decoder4KCapable()
|
||||
{
|
||||
#ifdef BLACKLIST_CRASHY_H264_DECODERS
|
||||
WCHAR systemPath[MAX_PATH + 1];
|
||||
if (!ConstructSystem32Path(L"msmpeg2vdec.dll", systemPath, MAX_PATH + 1)) {
|
||||
// Cannot build path -> Assume it's not the blacklisted DLL.
|
||||
// Cannot build path -> Assume it's the old DLL or it's missing.
|
||||
return false;
|
||||
}
|
||||
|
||||
DWORD zero;
|
||||
DWORD infoSize = GetFileVersionInfoSizeW(systemPath, &zero);
|
||||
if (infoSize == 0) {
|
||||
// Can't get file info -> Assume we don't have the blacklisted DLL.
|
||||
// Can't get file info -> Assume it's the old DLL or it's missing.
|
||||
return false;
|
||||
}
|
||||
auto infoData = MakeUnique<unsigned char[]>(infoSize);
|
||||
@ -180,23 +179,20 @@ IsH264DecoderBlacklisted()
|
||||
if (GetFileVersionInfoW(systemPath, 0, infoSize, infoData.get()) &&
|
||||
VerQueryValueW(infoData.get(), L"\\", (LPVOID*)&vInfo, &vInfoLen))
|
||||
{
|
||||
if ((vInfo->dwFileVersionMS == ((12u << 16) | 0u))
|
||||
&& ((vInfo->dwFileVersionLS == ((9200u << 16) | 16426u))
|
||||
|| (vInfo->dwFileVersionLS == ((9200u << 16) | 17037u)))) {
|
||||
// 12.0.9200.16426 & .17037 are blacklisted on Win64, see bug 1242343.
|
||||
return true;
|
||||
}
|
||||
uint64_t version =
|
||||
uint64_t(vInfo->dwFileVersionMS) << 32 | uint64_t(vInfo->dwFileVersionLS);
|
||||
// 12.0.9200.16426 & later allow for >1920x1088 resolutions.
|
||||
const uint64_t minimum =
|
||||
(uint64_t(12) << 48) | (uint64_t(9200) << 16) | uint64_t(16426);
|
||||
return version >= minimum;
|
||||
}
|
||||
#endif // BLACKLIST_CRASHY_H264_DECODERS
|
||||
// Can't get file version -> Assume it's the old DLL.
|
||||
return false;
|
||||
}
|
||||
|
||||
/* static */ bool
|
||||
WMFDecoderModule::HasH264()
|
||||
{
|
||||
if (IsH264DecoderBlacklisted()) {
|
||||
return false;
|
||||
}
|
||||
return CanCreateWMFDecoder<CLSID_CMSH264DecoderMFT>();
|
||||
}
|
||||
|
||||
@ -234,14 +230,15 @@ WMFDecoderModule::Supports(const TrackInfo& aTrackInfo,
|
||||
MOZ_ASSERT(videoInfo);
|
||||
// Check Windows format constraints, based on:
|
||||
// https://msdn.microsoft.com/en-us/library/windows/desktop/dd797815(v=vs.85).aspx
|
||||
if (IsWin8OrLater()) {
|
||||
// Windows >7 supports at most 4096x2304.
|
||||
if (IsWin8OrLater() || IsWin7H264Decoder4KCapable()) {
|
||||
// Windows >7, and Win7 with recent-enough decoder, support at most
|
||||
// 4096x2304.
|
||||
if (videoInfo->mImage.width > 4096
|
||||
|| videoInfo->mImage.height > 2304) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
// Windows <=7 supports at most 1920x1088.
|
||||
// Windows <=7 (with original decoder) supports at most 1920x1088.
|
||||
if (videoInfo->mImage.width > 1920
|
||||
|| videoInfo->mImage.height > 1088) {
|
||||
return false;
|
||||
|
@ -412,7 +412,7 @@ var interfaceNamesInGlobalScope =
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
"HTMLCollection",
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
"HTMLContentElement",
|
||||
{name: "HTMLContentElement", stylo: false},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
"HTMLDataElement",
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
@ -510,7 +510,7 @@ var interfaceNamesInGlobalScope =
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
"HTMLSelectElement",
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
"HTMLShadowElement",
|
||||
{name: "HTMLShadowElement", stylo: false},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
"HTMLSourceElement",
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
@ -840,7 +840,7 @@ var interfaceNamesInGlobalScope =
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
{name: "ScopedCredentialInfo", disabled: true},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
"ShadowRoot", // Bogus, but the test harness forces it on. See bug 1159768.
|
||||
{name: "ShadowRoot", stylo: false}, // Bogus, but the test harness forces it on. See bug 1159768.
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
"SharedWorker",
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
@ -1296,6 +1296,7 @@ function createInterfaceMap(isXBLScope) {
|
||||
var isWindows = /Windows/.test(navigator.oscpu);
|
||||
var isAndroid = navigator.userAgent.includes("Android");
|
||||
var isLinux = /Linux/.test(navigator.oscpu) && !isAndroid;
|
||||
var isStylo = SpecialPowers.DOMWindowUtils.isStyledByServo;
|
||||
var isSecureContext = window.isSecureContext;
|
||||
|
||||
var interfaceMap = {};
|
||||
@ -1316,6 +1317,7 @@ function createInterfaceMap(isXBLScope) {
|
||||
(entry.mac === !isMac) ||
|
||||
(entry.linux === !isLinux) ||
|
||||
(entry.android === !isAndroid && !entry.nightlyAndroid) ||
|
||||
(entry.stylo === !isStylo) ||
|
||||
(entry.release === !isRelease) ||
|
||||
(entry.isSecureContext === !isSecureContext) ||
|
||||
entry.disabled) {
|
||||
|
@ -6,8 +6,10 @@ support-files =
|
||||
[test_bug900724.html]
|
||||
[test_bug1017896.html]
|
||||
[test_bug1176757.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_bug1276240.html]
|
||||
[test_content_element.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_custom_element_adopt_callbacks.html]
|
||||
[test_custom_element_callback_innerhtml.html]
|
||||
[test_custom_element_clone_callbacks.html]
|
||||
@ -19,17 +21,26 @@ support-files =
|
||||
htmlconstructor_builtin_tests.js
|
||||
[test_custom_element_import_node_created_callback.html]
|
||||
[test_custom_element_in_shadow.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_custom_element_register_invalid_callbacks.html]
|
||||
[test_custom_element_get.html]
|
||||
[test_custom_element_when_defined.html]
|
||||
[test_nested_content_element.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_dest_insertion_points.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_dest_insertion_points_shadow.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_fallback_dest_insertion_points.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_detached_style.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_dynamic_content_element_matching.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_document_adoptnode.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_document_importnode.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_document_register.html]
|
||||
[test_document_register_base_queue.html]
|
||||
[test_document_register_lifecycle.html]
|
||||
@ -37,19 +48,31 @@ support-files =
|
||||
[test_document_register_stack.html]
|
||||
[test_document_shared_registry.html]
|
||||
[test_event_dispatch.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_event_retarget.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_event_stopping.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_template.html]
|
||||
[test_template_xhtml.html]
|
||||
[test_template_custom_elements.html]
|
||||
[test_shadowroot.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_shadowroot_inert_element.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_shadowroot_host.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_shadowroot_style.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_shadowroot_style_multiple_shadow.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_shadowroot_style_order.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_shadowroot_youngershadowroot.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_style_fallback_content.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
[test_unresolved_pseudo_class.html]
|
||||
[test_link_prefetch.html]
|
||||
[test_bug1269155.html]
|
||||
[test_bug1269155.html]
|
||||
skip-if = stylo # bug 1293844
|
||||
|
@ -695,6 +695,13 @@ WebAuthnManager::FinishMakeCredential(nsTArray<uint8_t>& aRegBuffer)
|
||||
}
|
||||
MOZ_ASSERT(keyHandleBuf.Length() <= 0xFFFF);
|
||||
|
||||
nsAutoString keyHandleBase64Url;
|
||||
rv = keyHandleBuf.ToJwkBase64(keyHandleBase64Url);
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
Cancel(rv);
|
||||
return;
|
||||
}
|
||||
|
||||
CryptoBuffer clientDataBuf;
|
||||
if (!clientDataBuf.Assign(mClientData.ref())) {
|
||||
Cancel(NS_ERROR_OUT_OF_MEMORY);
|
||||
@ -775,6 +782,8 @@ WebAuthnManager::FinishMakeCredential(nsTArray<uint8_t>& aRegBuffer)
|
||||
attestation->SetAttestationObject(attObj);
|
||||
|
||||
RefPtr<PublicKeyCredential> credential = new PublicKeyCredential(mCurrentParent);
|
||||
credential->SetId(keyHandleBase64Url);
|
||||
credential->SetType(NS_LITERAL_STRING("public-key"));
|
||||
credential->SetRawId(keyHandleBuf);
|
||||
credential->SetResponse(attestation);
|
||||
|
||||
@ -817,6 +826,13 @@ WebAuthnManager::FinishGetAssertion(nsTArray<uint8_t>& aCredentialId,
|
||||
|
||||
CryptoBuffer credentialBuf;
|
||||
if (!credentialBuf.Assign(aCredentialId)) {
|
||||
Cancel(NS_ERROR_OUT_OF_MEMORY);
|
||||
return;
|
||||
}
|
||||
|
||||
nsAutoString credentialBase64Url;
|
||||
rv = credentialBuf.ToJwkBase64(credentialBase64Url);
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
Cancel(rv);
|
||||
return;
|
||||
}
|
||||
@ -834,6 +850,8 @@ WebAuthnManager::FinishGetAssertion(nsTArray<uint8_t>& aCredentialId,
|
||||
|
||||
RefPtr<PublicKeyCredential> credential =
|
||||
new PublicKeyCredential(mCurrentParent);
|
||||
credential->SetId(credentialBase64Url);
|
||||
credential->SetType(NS_LITERAL_STRING("public-key"));
|
||||
credential->SetRawId(credentialBuf);
|
||||
credential->SetResponse(assertion);
|
||||
|
||||
|
@ -43,13 +43,18 @@ function() {
|
||||
function decodeCreatedCredential(aCredInfo) {
|
||||
/* PublicKeyCredential : Credential
|
||||
- rawId: Key Handle buffer pulled from U2F Register() Response
|
||||
- id: Key Handle buffer in base64url form, should == rawId
|
||||
- type: Literal 'public-key'
|
||||
- response : AuthenticatorAttestationResponse : AuthenticatorResponse
|
||||
- attestationObject: CBOR object
|
||||
- clientDataJSON: serialized JSON
|
||||
- clientExtensionResults: (not yet supported)
|
||||
*/
|
||||
|
||||
is(aCredInfo.type, "public-key", "Credential type must be public-key")
|
||||
|
||||
ok(aCredInfo.rawId.length > 0, "Key ID exists");
|
||||
is(aCredInfo.id, bytesToBase64UrlSafe(aCredInfo.rawId), "Encoded Key ID and Raw Key ID match");
|
||||
|
||||
let clientData = JSON.parse(buffer2string(aCredInfo.response.clientDataJSON));
|
||||
is(clientData.challenge, bytesToBase64UrlSafe(gCredentialChallenge), "Challenge is correct");
|
||||
@ -68,13 +73,18 @@ function() {
|
||||
function checkAssertionAndSigValid(aPublicKey, aAssertion) {
|
||||
/* PublicKeyCredential : Credential
|
||||
- rawId: ID of Credential from AllowList that succeeded
|
||||
- id: Key Handle buffer in base64url form, should == rawId
|
||||
- type: Literal 'public-key'
|
||||
- response : AuthenticatorAssertionResponse : AuthenticatorResponse
|
||||
- clientDataJSON: serialized JSON
|
||||
- authenticatorData: RP ID Hash || U2F Sign() Response
|
||||
- signature: U2F Sign() Response
|
||||
*/
|
||||
|
||||
is(aAssertion.type, "public-key", "Credential type must be public-key")
|
||||
|
||||
ok(aAssertion.rawId.length > 0, "Key ID exists");
|
||||
is(aAssertion.id, bytesToBase64UrlSafe(aAssertion.rawId), "Encoded Key ID and Raw Key ID match");
|
||||
|
||||
ok(aAssertion.response.authenticatorData.length > 0, "Authenticator data exists");
|
||||
let clientData = JSON.parse(buffer2string(aAssertion.response.clientDataJSON));
|
||||
|
@ -11,20 +11,20 @@
|
||||
|
||||
[SecureContext, Pref="security.webauth.webauthn"]
|
||||
interface PublicKeyCredential : Credential {
|
||||
readonly attribute ArrayBuffer rawId;
|
||||
readonly attribute AuthenticatorResponse response;
|
||||
[SameObject] readonly attribute ArrayBuffer rawId;
|
||||
[SameObject] readonly attribute AuthenticatorResponse response;
|
||||
// Extensions are not supported yet.
|
||||
// readonly attribute AuthenticationExtensions clientExtensionResults;
|
||||
// [SameObject] readonly attribute AuthenticationExtensions clientExtensionResults;
|
||||
};
|
||||
|
||||
[SecureContext, Pref="security.webauth.webauthn"]
|
||||
interface AuthenticatorResponse {
|
||||
readonly attribute ArrayBuffer clientDataJSON;
|
||||
[SameObject] readonly attribute ArrayBuffer clientDataJSON;
|
||||
};
|
||||
|
||||
[SecureContext, Pref="security.webauth.webauthn"]
|
||||
interface AuthenticatorAttestationResponse : AuthenticatorResponse {
|
||||
readonly attribute ArrayBuffer attestationObject;
|
||||
[SameObject] readonly attribute ArrayBuffer attestationObject;
|
||||
};
|
||||
|
||||
dictionary PublicKeyCredentialParameters {
|
||||
@ -99,8 +99,8 @@ typedef (boolean or DOMString) WebAuthnAlgorithmID; // Fix when upstream there's
|
||||
|
||||
[SecureContext, Pref="security.webauth.webauthn"]
|
||||
interface AuthenticatorAssertionResponse : AuthenticatorResponse {
|
||||
readonly attribute ArrayBuffer authenticatorData;
|
||||
readonly attribute ArrayBuffer signature;
|
||||
[SameObject] readonly attribute ArrayBuffer authenticatorData;
|
||||
[SameObject] readonly attribute ArrayBuffer signature;
|
||||
};
|
||||
|
||||
// Renamed from "Transport" to avoid a collision with U2F
|
||||
|
@ -39,6 +39,7 @@ class gfxVarReceiver;
|
||||
_(ScreenDepth, int32_t, 0) \
|
||||
_(GREDirectory, nsCString, nsCString()) \
|
||||
_(UseOMTP, bool, false) \
|
||||
_(AllowD3D11KeyedMutex, bool, false) \
|
||||
|
||||
/* Add new entries above this line. */
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "mozilla/gfx/GPUParent.h"
|
||||
#include "mozilla/gfx/GraphicsMessages.h"
|
||||
#include "mozilla/gfx/Logging.h"
|
||||
#include "mozilla/gfx/gfxVars.h"
|
||||
#include "mozilla/layers/CompositorBridgeChild.h"
|
||||
#include "mozilla/layers/CompositorThread.h"
|
||||
#include "mozilla/layers/DeviceAttachmentsD3D11.h"
|
||||
@ -955,12 +956,8 @@ bool
|
||||
DeviceManagerDx::CanInitializeKeyedMutexTextures()
|
||||
{
|
||||
MutexAutoLock lock(mDeviceLock);
|
||||
if (!mDeviceStatus) {
|
||||
return false;
|
||||
}
|
||||
// Disable this on all Intel devices because of crashes.
|
||||
// See bug 1292923.
|
||||
return (mDeviceStatus->adapter().VendorId != 0x8086 || gfxPrefs::Direct3D11AllowIntelMutex());
|
||||
return mDeviceStatus && gfxPrefs::Direct3D11AllowKeyedMutex() &&
|
||||
gfxVars::AllowD3D11KeyedMutex();
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -2285,17 +2285,28 @@ gfxPlatform::InitAcceleration()
|
||||
|
||||
gfxPrefs::GetSingleton();
|
||||
|
||||
nsCOMPtr<nsIGfxInfo> gfxInfo = services::GetGfxInfo();
|
||||
nsCString discardFailureId;
|
||||
int32_t status;
|
||||
|
||||
if (XRE_IsParentProcess()) {
|
||||
gfxVars::SetBrowserTabsRemoteAutostart(BrowserTabsRemoteAutostart());
|
||||
gfxVars::SetOffscreenFormat(GetOffscreenFormat());
|
||||
gfxVars::SetRequiresAcceleratedGLContextForCompositorOGL(
|
||||
RequiresAcceleratedGLContextForCompositorOGL());
|
||||
#ifdef XP_WIN
|
||||
if (NS_SUCCEEDED(gfxInfo->GetFeatureStatus(nsIGfxInfo::FEATURE_D3D11_KEYED_MUTEX,
|
||||
discardFailureId, &status))) {
|
||||
gfxVars::SetAllowD3D11KeyedMutex(status == nsIGfxInfo::FEATURE_STATUS_OK);
|
||||
} else {
|
||||
// If we couldn't properly evaluate the status, err on the side
|
||||
// of caution and give this functionality to the user.
|
||||
gfxCriticalNote << "Cannot evaluate keyed mutex feature status";
|
||||
gfxVars::SetAllowD3D11KeyedMutex(true);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIGfxInfo> gfxInfo = services::GetGfxInfo();
|
||||
nsCString discardFailureId;
|
||||
int32_t status;
|
||||
|
||||
if (Preferences::GetBool("media.hardware-video-decoding.enabled", false) &&
|
||||
#ifdef XP_WIN
|
||||
Preferences::GetBool("media.windows-media-foundation.use-dxva", true) &&
|
||||
|
@ -437,7 +437,7 @@ private:
|
||||
DECL_GFX_PREF(Once, "gfx.direct2d.disabled", Direct2DDisabled, bool, false);
|
||||
DECL_GFX_PREF(Once, "gfx.direct2d.force-enabled", Direct2DForceEnabled, bool, false);
|
||||
DECL_GFX_PREF(Live, "gfx.direct3d11.reuse-decoder-device", Direct3D11ReuseDecoderDevice, int32_t, -1);
|
||||
DECL_GFX_PREF(Live, "gfx.direct3d11.allow-intel-mutex", Direct3D11AllowIntelMutex, bool, true);
|
||||
DECL_GFX_PREF(Live, "gfx.direct3d11.allow-keyed-mutex", Direct3D11AllowKeyedMutex, bool, true);
|
||||
DECL_GFX_PREF(Live, "gfx.direct3d11.use-double-buffering", Direct3D11UseDoubleBuffering, bool, false);
|
||||
DECL_GFX_PREF(Once, "gfx.direct3d11.enable-debug-layer", Direct3D11EnableDebugLayer, bool, false);
|
||||
DECL_GFX_PREF(Once, "gfx.direct3d11.break-on-error", Direct3D11BreakOnError, bool, false);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user