author | Sebastian Hengst <archaeopteryx@coole-files.de> |
Mon, 02 May 2022 11:41:50 +0200 | |
changeset 615768 | 822ee75b26834841c2b1cd11d64d061205c8166f |
parent 615767 | 26454513fcd66a543a3380f6f5a6b7d8b0614441 (current diff) |
parent 615758 | 5c6aec9e1ee9cea006227fb68f3ff5de4e3b2bb0 (diff) |
child 615769 | c9289b9d2705b2f93fe3cda5f29f35f15ec5771e |
child 615854 | 463b3c968d28de99d0fb76e0254e94024a7b5d9b |
push id | 162006 |
push user | archaeopteryx@coole-files.de |
push date | Mon, 02 May 2022 10:48:58 +0000 |
treeherder | autoland@c9289b9d2705 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | merge |
milestone | 101.0a1 |
first release with | nightly linux32
822ee75b2683
/
101.0a1
/
20220502094329
/
files
nightly linux64
822ee75b2683
/
101.0a1
/
20220502094329
/
files
nightly mac
822ee75b2683
/
101.0a1
/
20220502094329
/
files
nightly win32
822ee75b2683
/
101.0a1
/
20220502094329
/
files
nightly win64
822ee75b2683
/
101.0a1
/
20220502094329
/
files
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
releases | nightly linux32
101.0a1
/
20220502094329
/
pushlog to previous
nightly linux64
101.0a1
/
20220502094329
/
pushlog to previous
nightly mac
101.0a1
/
20220502094329
/
pushlog to previous
nightly win32
101.0a1
/
20220502094329
/
pushlog to previous
nightly win64
101.0a1
/
20220502094329
/
pushlog to previous
|
--- a/dom/l10n/DOMLocalization.cpp +++ b/dom/l10n/DOMLocalization.cpp @@ -172,19 +172,20 @@ void DOMLocalization::GetAttributes(Elem if (aElement.GetAttr(kNameSpaceID_None, nsGkAtoms::datal10nargs, l10nArgs)) { ConvertStringToL10nArgs(l10nArgs, aResult.mArgs.SetValue(), aRv); } } already_AddRefed<Promise> DOMLocalization::TranslateFragment(nsINode& aNode, ErrorResult& aRv) { Sequence<OwningNonNull<Element>> elements; - GetTranslatables(aNode, elements, aRv); - + if (NS_WARN_IF(aRv.Failed())) { + return nullptr; + } return TranslateElements(elements, aRv); } /** * A Promise Handler used to apply the result of * a call to Localization::FormatMessages onto the list * of translatable elements. */ @@ -304,16 +305,17 @@ already_AddRefed<Promise> DOMLocalizatio nsXULPrototypeDocument* aProto, ErrorResult& aRv) { Sequence<OwningUTF8StringOrL10nIdArgs> l10nKeys; RefPtr<ElementTranslationHandler> nativeHandler = new ElementTranslationHandler(this, aProto); nsTArray<nsCOMPtr<Element>>& domElements = nativeHandler->Elements(); domElements.SetCapacity(aElements.Length()); if (!mGlobal) { + aRv.Throw(NS_ERROR_UNEXPECTED); return nullptr; } for (auto& domElement : aElements) { if (!domElement->HasAttr(kNameSpaceID_None, nsGkAtoms::datal10nid)) { continue; } @@ -398,16 +400,19 @@ NS_INTERFACE_MAP_END NS_IMPL_CYCLE_COLLECTING_ADDREF(L10nRootTranslationHandler) NS_IMPL_CYCLE_COLLECTING_RELEASE(L10nRootTranslationHandler) already_AddRefed<Promise> DOMLocalization::TranslateRoots(ErrorResult& aRv) { nsTArray<RefPtr<Promise>> promises; for (nsINode* root : mRoots) { RefPtr<Promise> promise = TranslateFragment(*root, aRv); + if (MOZ_UNLIKELY(aRv.Failed())) { + return nullptr; + } // If the root is an element, we'll add a native handler // to set root info (language, direction etc.) on it // once the localization finishes. if (root->IsElement()) { RefPtr<L10nRootTranslationHandler> nativeHandler = new L10nRootTranslationHandler(root->AsElement()); promise->AppendNativeHandler(nativeHandler);
--- a/dom/l10n/L10nMutations.cpp +++ b/dom/l10n/L10nMutations.cpp @@ -192,35 +192,33 @@ NS_INTERFACE_MAP_END NS_IMPL_CYCLE_COLLECTING_ADDREF(L10nMutationFinalizationHandler) NS_IMPL_CYCLE_COLLECTING_RELEASE(L10nMutationFinalizationHandler) void L10nMutations::FlushPendingTranslations() { if (!mDOMLocalization) { return; } - ErrorResult rv; - Sequence<OwningNonNull<Element>> elements; for (auto& elem : mPendingElements) { if (!elem->HasAttr(kNameSpaceID_None, nsGkAtoms::datal10nid)) { continue; } if (!elements.AppendElement(*elem, fallible)) { mozalloc_handle_oom(0); } } mPendingElementsHash.Clear(); mPendingElements.Clear(); - RefPtr<Promise> promise = mDOMLocalization->TranslateElements(elements, rv); - + RefPtr<Promise> promise = + mDOMLocalization->TranslateElements(elements, IgnoreErrors()); if (promise) { RefPtr<PromiseNativeHandler> l10nMutationFinalizationHandler = new L10nMutationFinalizationHandler( mDOMLocalization->GetParentObject()); promise->AppendNativeHandler(l10nMutationFinalizationHandler); } }
--- a/taskcluster/ci/fetch/browsertime.yml +++ b/taskcluster/ci/fetch/browsertime.yml @@ -131,8 +131,38 @@ mac64-chromedriver-100: description: 'Mac64 chromedriver v100' fetch: type: static-url artifact-name: chromedriver_mac64_100.tar.zst add-prefix: '100' url: https://chromedriver.storage.googleapis.com/100.0.4896.20/chromedriver_mac64.zip sha256: 7ba9c672cdb6d51a422d0c353d058abc0c640f9cfd83214ff6dd2cba54e03b89 size: 8318466 + +win32-chromedriver-101: + description: 'Win32 chromedriver v101' + fetch: + type: static-url + artifact-name: chromedriver_win32_101.tar.zst + add-prefix: '101' + url: https://chromedriver.storage.googleapis.com/101.0.4951.41/chromedriver_win32.zip + sha256: ee3367aefa0f730c99d3389908bd9e43f37058ff43088cea3646a1b8238cb763 + size: 6344296 + +linux64-chromedriver-101: + description: 'Linux64 chromedriver v101' + fetch: + type: static-url + artifact-name: chromedriver_linux64_101.tar.zst + add-prefix: '101' + url: https://chromedriver.storage.googleapis.com/101.0.4951.41/chromedriver_linux64.zip + sha256: 99511b54102cf52ab22bf5dcc5a46c4a75d9ed4ca2b1d06b99a006782a33507f + size: 6206401 + +mac64-chromedriver-101: + description: 'Mac64 chromedriver v101' + fetch: + type: static-url + artifact-name: chromedriver_mac64_101.tar.zst + add-prefix: '101' + url: https://chromedriver.storage.googleapis.com/101.0.4951.41/chromedriver_mac64.zip + sha256: 942b828dbe83b1a01f78a03912246ee8e95f9b298290b905a70179330828fe26 + size: 8260169
--- a/taskcluster/gecko_taskgraph/transforms/test/other.py +++ b/taskcluster/gecko_taskgraph/transforms/test/other.py @@ -336,36 +336,41 @@ def setup_browsertime(config, tasks): cd_fetches = { "android.*": [ "linux64-chromedriver-87", ], "linux.*": [ "linux64-chromedriver-98", "linux64-chromedriver-99", "linux64-chromedriver-100", + "linux64-chromedriver-101", ], "macosx.*": [ "mac64-chromedriver-98", "mac64-chromedriver-99", "mac64-chromedriver-100", + "mac64-chromedriver-101", ], "windows.*aarch64.*": [ "win32-chromedriver-98", "win32-chromedriver-99", "win32-chromedriver-100", + "win32-chromedriver-101", ], "windows.*-32.*": [ "win32-chromedriver-98", "win32-chromedriver-99", "win32-chromedriver-100", + "win32-chromedriver-101", ], "windows.*-64.*": [ "win32-chromedriver-98", "win32-chromedriver-99", "win32-chromedriver-100", + "win32-chromedriver-101", ], } chromium_fetches = { "linux.*": ["linux64-chromium"], "macosx.*": ["mac-chromium"], "windows.*aarch64.*": ["win32-chromium"], "windows.*-32.*": ["win32-chromium"],
--- a/testing/web-platform/tests/webdriver/tests/bidi/browsing_context/close/invalid.py +++ b/testing/web-platform/tests/webdriver/tests/bidi/browsing_context/close/invalid.py @@ -1,15 +1,15 @@ import pytest import webdriver.bidi.error as error pytestmark = pytest.mark.asyncio -@pytest.mark.parametrize("value", [False, 42, {}, []]) +@pytest.mark.parametrize("value", [None, False, 42, {}, []]) async def test_params_context_invalid_type(bidi_session, value): with pytest.raises(error.InvalidArgumentException): await bidi_session.browsing_context.close(context=value) async def test_params_context_invalid_value(bidi_session): with pytest.raises(error.NoSuchFrameException): await bidi_session.browsing_context.close(context="foo")