Merge mozilla-central to mozilla-inbound

This commit is contained in:
Carsten "Tomcat" Book 2017-07-26 11:16:03 +02:00
commit 0738c08d98
212 changed files with 1837 additions and 861 deletions

View File

@ -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)

View File

@ -14,3 +14,4 @@ skip-if = buildapp == 'mulet'
skip-if = buildapp == 'mulet'
[test_canvas.html]
[test_shadowroot.html]
skip-if = stylo # bug 1293844

View File

@ -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

View File

@ -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

View File

@ -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),
};
};

View File

@ -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": {

View File

@ -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."
}
]

View File

@ -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;"/>

View File

@ -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 =

View File

@ -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">&notificationsPolicyDesc3.label;</label>
<label id="notificationsPolicyLearnMore"
class="learnMore text-link">&notificationsPolicyLearnMore.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>

View File

@ -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">

View File

@ -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"/>

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -10,4 +10,3 @@ ac_add_options --enable-dmd
ac_add_options --enable-clang-plugin
. "$topsrcdir/build/mozconfig.common.override"
. "$topsrcdir/build/mozconfig.cache"

View File

@ -25,4 +25,3 @@ fi
ac_add_options --with-branding=browser/branding/aurora
. "$topsrcdir/build/mozconfig.common.override"
. "$topsrcdir/build/mozconfig.cache"

View File

@ -17,4 +17,3 @@ fi
ac_add_options --with-branding=browser/branding/nightly
. "$topsrcdir/build/mozconfig.common.override"
. "$topsrcdir/build/mozconfig.cache"

View File

@ -11,5 +11,4 @@ ac_add_options --enable-dmd
ac_add_options --enable-clang-plugin
. "$topsrcdir/build/mozconfig.common.override"
. "$topsrcdir/build/mozconfig.cache"

View File

@ -16,4 +16,3 @@ ac_add_options --enable-verify-mar
export BUILDING_RELEASE=1
. "$topsrcdir/build/mozconfig.common.override"
. "$topsrcdir/build/mozconfig.cache"

View File

@ -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:

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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",

View File

@ -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",

View File

@ -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
}
]

View File

@ -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]

View File

@ -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");
});
});

View File

@ -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);
});
});

View File

@ -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();

View File

@ -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>

View File

@ -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;

View File

@ -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 */

View File

@ -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>

View File

@ -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",

View File

@ -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>

View File

@ -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);

View File

@ -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">

View File

@ -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)">

View File

@ -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">

View File

@ -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;

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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],

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -23,3 +23,4 @@ ac_add_options --enable-js-shell
. "$topsrcdir/build/mozconfig.automation"
. "$topsrcdir/build/mozconfig.rust"
. "$topsrcdir/build/mozconfig.cache"

View File

@ -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

View File

@ -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 =

View File

@ -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);

View File

@ -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]

View File

@ -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");

View File

@ -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

View File

@ -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;

View File

@ -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();
}
};

View File

@ -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

View File

@ -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]

View File

@ -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,

View File

@ -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,

View File

@ -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();

View File

@ -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;

View File

@ -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) {

View File

@ -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

View File

@ -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);

View File

@ -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));

View File

@ -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

View File

@ -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. */

View File

@ -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

View File

@ -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) &&

View File

@ -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