diff --git a/BUILD.gn b/BUILD.gn index bbf946d..8e6da3a1 100644 --- a/BUILD.gn +++ b/BUILD.gn
@@ -176,7 +176,9 @@ deps += [ "//components/viz:viz_unittests", "//content/shell:content_shell", + "//gpu:gpu_unittests", "//storage:storage_unittests", + "//ui/gl:gl_unittests", ] } @@ -192,7 +194,6 @@ "//content/test:content_unittests", "//device:device_unittests", "//gpu:gpu_benchmark", - "//gpu:gpu_unittests", "//ipc:ipc_tests", "//media:media_unittests", "//media/capture:capture_unittests", @@ -210,7 +211,6 @@ "//tools/imagediff", "//ui/display:display_unittests", "//ui/events:events_unittests", - "//ui/gl:gl_unittests", "//ui/latency:latency_unittests", "//ui/native_theme:native_theme_unittests", "//ui/touch_selection:ui_touch_selection_unittests",
diff --git a/DEPS b/DEPS index 56b1f728..ca39af8c 100644 --- a/DEPS +++ b/DEPS
@@ -299,15 +299,15 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Skia # and whatever else without interference from each other. - 'skia_revision': 'a8c24d4e8c20de0c20d104c3ecf6e80e359589b8', + 'skia_revision': '272946c7c1428dde9623444bb5ef28e9223e0777', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. - 'v8_revision': 'fe24d473144bbc62073f1f0e544e5e69a29e554b', + 'v8_revision': '43ed3eb0d8cb093b2f6653de8ea00ba6f8ca51da', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ANGLE # and whatever else without interference from each other. - 'angle_revision': 'a841f24aad0c34d938f3bce981b03fbdc2949ffd', + 'angle_revision': '0a4af608dd250168cf16ee329af72f37a1dcf7fd', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling SwiftShader # and whatever else without interference from each other. @@ -326,7 +326,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Fuchsia sdk # and whatever else without interference from each other. - 'fuchsia_version': 'version:11.20230227.1.1', + 'fuchsia_version': 'version:11.20230228.1.1', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling google-toolbox-for-mac # and whatever else without interference from each other. @@ -386,7 +386,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling devtools-frontend # and whatever else without interference from each other. - 'devtools_frontend_revision': '705d89ff2c7589b7ab8c13b2e760e276520079f2', + 'devtools_frontend_revision': '235b030a797985aadd79260aa7e3afca533b4f38', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libprotobuf-mutator # and whatever else without interference from each other. @@ -462,7 +462,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. - 'cros_components_revision': '5be058bb935df1cb1a4f257ae326c8942c716d0a', + 'cros_components_revision': '67d84c706aa7b442f484f97a6b52936264756a9d', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. @@ -764,7 +764,7 @@ 'src/clank': { 'url': 'https://chrome-internal.googlesource.com/clank/internal/apps.git' + '@' + - '898f6a1fa91b8771b40b8fd1ea1b7ee60e27abc7', + '867e2b324308f2f1de5d22f1a7d3cfeba1609423', 'condition': 'checkout_android and checkout_src_internal', }, @@ -1206,13 +1206,13 @@ }, 'src/third_party/depot_tools': - Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '7bf7e06945109cad2881d8a55022bdbfb2587721', + Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'f8cab106a4637bf9e06ae90597c8371ef34d351c', 'src/third_party/devtools-frontend/src': Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'), 'src/third_party/devtools-frontend-internal': { - 'url': 'https://chrome-internal.googlesource.com/devtools/devtools-internal.git' + '@' + '947604daf1d5797516cb1333449a657dae05bec4', + 'url': 'https://chrome-internal.googlesource.com/devtools/devtools-internal.git' + '@' + '4d2fb22ede89a0ab4f722813edb58aa4df496293', 'condition': 'checkout_src_internal', }, @@ -1684,7 +1684,7 @@ }, 'src/third_party/perfetto': - Var('android_git') + '/platform/external/perfetto.git' + '@' + '7c5fe42e47b51d5f745aa543a76b091bf3e0daa6', + Var('android_git') + '/platform/external/perfetto.git' + '@' + '7f315a3f9707276bf39edb39eedcd9dd795c6099', 'src/third_party/perl': { 'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '6f3e5028eb65d0b4c5fdd792106ac4c84eee1eb3', @@ -1896,7 +1896,7 @@ 'packages': [ { 'package': 'skia/tools/goldctl/linux-amd64', - 'version': 'Y_kEjj2xNjDDzIdGOexbyqLLOhJCcncyCu5lC51g5AsC', + 'version': '1oPah2i45aewEBGsa68o67Y0KibAkUhc8dfDIVTj-TgC', }, ], 'dep_type': 'cipd', @@ -1906,7 +1906,7 @@ 'packages': [ { 'package': 'skia/tools/goldctl/windows-amd64', - 'version': 'huSAWf6X6Ecewacj_voW4JDySIedvh6nH3ePRAn3YW0C', + 'version': 'ygU62PsZ1JG8ebL8lmvO0n9iquvcvZWX7WX0g0cXByEC', }, ], 'dep_type': 'cipd', @@ -1928,7 +1928,7 @@ 'packages': [ { 'package': 'skia/tools/goldctl/mac-arm64', - 'version': 'dImBH_u2g-eDmw3VFCZ0E70ynaXS2QWXSEvComqAx9MC', + 'version': 'EKPxep9bQLvxK9a9FgA1AZcrhUvEiVmnjatSKI4K5vwC', }, ], 'dep_type': 'cipd', @@ -1939,7 +1939,7 @@ Var('chromium_git') + '/v8/v8.git' + '@' + Var('v8_revision'), 'src-internal': { - 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@1e809e1871e3c23d86f2298ac17e30d8670a136a', + 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@cf0a28d16976a00d313e4f56ead9eff384aea34f', 'condition': 'checkout_src_internal', }, @@ -1991,7 +1991,7 @@ 'packages': [ { 'package': 'chromeos_internal/apps/projector_app/app', - 'version': 't2N381F64ojmKaNk670mG6sdxYLhwGdBZlzrrG76EGwC', + 'version': 'Xh8LOtG8wJgR8xygIQ5i0H5PITYBgy6EeSDub_mu2RcC', }, ], 'condition': 'checkout_chromeos and checkout_src_internal',
diff --git a/ash/constants/ash_features.cc b/ash/constants/ash_features.cc index 52f70e1..2176a2e 100644 --- a/ash/constants/ash_features.cc +++ b/ash/constants/ash_features.cc
@@ -1373,7 +1373,7 @@ // Migrates rule-based input methods from Chromium into an internal codebase. BASE_FEATURE(kMigrateRuleBasedInputMethods, "MigrateRuleBasedInputMethods", - base::FEATURE_DISABLED_BY_DEFAULT); + base::FEATURE_ENABLED_BY_DEFAULT); // Disables the deprecated Messages cross-device integration, to be used // along side the flag preinstall-by-default (kMessagesPreinstall).
diff --git a/ash/webui/eche_app_ui/system_info_provider.cc b/ash/webui/eche_app_ui/system_info_provider.cc index 67efc507..359d742 100644 --- a/ash/webui/eche_app_ui/system_info_provider.cc +++ b/ash/webui/eche_app_ui/system_info_provider.cc
@@ -178,7 +178,6 @@ // network_config::mojom::CrosNetworkConfigObserver implementation: void SystemInfoProvider::OnNetworkStateChanged( network_config::mojom::NetworkStatePropertiesPtr network) { - PA_LOG(INFO) << "echeapi SystemInfoProvider OnNetworkStateChanged"; FetchWifiNetworkList(); }
diff --git a/ash/webui/sample_system_web_app_ui/resources/trusted/BUILD.gn b/ash/webui/sample_system_web_app_ui/resources/trusted/BUILD.gn index b6f920c..e300b7d2 100644 --- a/ash/webui/sample_system_web_app_ui/resources/trusted/BUILD.gn +++ b/ash/webui/sample_system_web_app_ui/resources/trusted/BUILD.gn
@@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//ash/webui/tools/mwc_path_mappings.gni") import("//build/config/chromeos/ui_mode.gni") import("//tools/typescript/ts_library.gni") import("//ui/webui/resources/tools/generate_grd.gni") @@ -20,6 +21,7 @@ "main.ts", "page_handler.ts", "timer.ts", + "component_playground.ts", ] composite = true @@ -29,9 +31,15 @@ path_mappings = [ "/*|" + rebase_path("$root_gen_dir/mojom-webui/*", target_gen_dir) ] + foreach(_mwc_mapping, mwc_path_mappings) { + path_mappings += + [ _mwc_mapping[0] + "|" + rebase_path(_mwc_mapping[1], target_gen_dir) ] + } + deps = [ ":worker_ts", "../../mojom:mojom_ts", + "//third_party/material_web_components:library", "//ui/webui/resources/cr_components/color_change_listener:build_ts", ] } @@ -62,7 +70,6 @@ input_files = [ "app_icon_192.png", "component_playground.html", - "component_playground.js", "index.html", "inter_frame_communication.html", "share.html",
diff --git a/ash/webui/sample_system_web_app_ui/resources/trusted/component_playground.html b/ash/webui/sample_system_web_app_ui/resources/trusted/component_playground.html index fd709f3f..996d7115 100644 --- a/ash/webui/sample_system_web_app_ui/resources/trusted/component_playground.html +++ b/ash/webui/sample_system_web_app_ui/resources/trusted/component_playground.html
@@ -4,6 +4,7 @@ <meta charset="utf8"> <title>Component Playground</title> <link rel="stylesheet" href="chrome://theme/colors.css?sets=legacy,sys"> + $i18nRaw{ash_import_map_script} <style> html { background-color: var(--cros-bg-color);
diff --git a/ash/webui/sample_system_web_app_ui/resources/trusted/component_playground.js b/ash/webui/sample_system_web_app_ui/resources/trusted/component_playground.js deleted file mode 100644 index 80a7259b..0000000 --- a/ash/webui/sample_system_web_app_ui/resources/trusted/component_playground.js +++ /dev/null
@@ -1,9 +0,0 @@ -// Copyright 2021 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'chrome://resources/cros_elements/button/button.js'; - -customElements.whenDefined('cros-button').then(() => { - document.documentElement.classList.remove('loading'); -});
diff --git a/ash/webui/sample_system_web_app_ui/resources/trusted/component_playground.ts b/ash/webui/sample_system_web_app_ui/resources/trusted/component_playground.ts new file mode 100644 index 0000000..833dda5a --- /dev/null +++ b/ash/webui/sample_system_web_app_ui/resources/trusted/component_playground.ts
@@ -0,0 +1,9 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import {html} from 'lit'; + +// Temporarily log `html` to make sure lit imports work correctly. This will +// soon be replaced with an example usage of cros-components. +console.log(html);
diff --git a/ash/webui/sample_system_web_app_ui/sample_system_web_app_ui.cc b/ash/webui/sample_system_web_app_ui/sample_system_web_app_ui.cc index b0f3249..bde2e14 100644 --- a/ash/webui/sample_system_web_app_ui/sample_system_web_app_ui.cc +++ b/ash/webui/sample_system_web_app_ui/sample_system_web_app_ui.cc
@@ -10,17 +10,31 @@ #include "ash/webui/grit/ash_sample_system_web_app_resources_map.h" #include "ash/webui/sample_system_web_app_ui/sample_page_handler.h" #include "ash/webui/sample_system_web_app_ui/url_constants.h" +#include "base/base64.h" #include "base/memory/ptr_util.h" +#include "base/strings/stringprintf.h" #include "content/public/browser/web_contents.h" #include "content/public/browser/web_ui.h" #include "content/public/browser/web_ui_data_source.h" #include "content/public/common/url_constants.h" +#include "crypto/random.h" #include "services/network/public/mojom/content_security_policy.mojom.h" #include "ui/webui/color_change_listener/color_change_handler.h" #include "ui/webui/webui_allowlist.h" namespace ash { +namespace { +static constexpr const char kAshImportMapScript[] = R"( +<script type="importmap" nonce="%s"> +{ + "imports": {"lit": "chrome://resources/mwc/lit/index.js"} +} +</script> +)"; + +} // namespace + SampleSystemWebAppUI::SampleSystemWebAppUI(content::WebUI* web_ui) : ui::MojoWebUIController(web_ui) { auto* browser_context = web_ui->GetWebContents()->GetBrowserContext(); @@ -52,6 +66,24 @@ network::mojom::CSPDirectiveName::TrustedTypes, "trusted-types lit-html worker-js-static;"); + // We use a 128-bit nonce. + std::vector<uint8_t> bytes(16); + crypto::RandBytes(bytes); + std::string nonce = base::Base64Encode(bytes); + + // Use the internationalization API to inject an import map <script> into + // the page. TODO(clamclamyan): Refactor into a better way. + trusted_source->AddString( + "ash_import_map_script", + base::StringPrintf(kAshImportMapScript, nonce.c_str())); + + static constexpr char script_src_csp[] = + "script-src chrome://resources 'self' 'nonce-%s';"; + + trusted_source->OverrideContentSecurityPolicy( + network::mojom::CSPDirectiveName::ScriptSrc, + base::StringPrintf(script_src_csp, nonce.c_str())); + // Add ability to request chrome-untrusted: URLs web_ui->AddRequestableScheme(content::kChromeUIUntrustedScheme);
diff --git a/ash/webui/tools/mwc_path_mappings.gni b/ash/webui/tools/mwc_path_mappings.gni new file mode 100644 index 0000000..8c48943 --- /dev/null +++ b/ash/webui/tools/mwc_path_mappings.gni
@@ -0,0 +1,28 @@ +# Copyright 2023 The Chromium Authors +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +_node_modules_path = + "//third_party/material_web_components/components-chromium/node_modules" + +# When tsc encounters an import from "lit" it won't know where to look to get +# the packages type information unless we provide a mapping of import to +# path on disk to the .d.ts files. mwc_path_mappings is such a mapping. +mwc_path_mappings = [ + [ + "lit", + "$_node_modules_path/lit-element/lit-element.d.ts", + ], + [ + "lit/*", + "$_node_modules_path/lit/*", + ], + + # When tsc encounters a decorator it'll try to import the code to support + # decorators from tslib. As such all code that uses decorators will attempt + # to import from tslib. + [ + "tslib", + "$_node_modules_path/tslib/tslib.d.ts", + ], +]
diff --git a/base/allocator/partition_allocator/partition_alloc_unittest.cc b/base/allocator/partition_allocator/partition_alloc_unittest.cc index b282895..fab469b2 100644 --- a/base/allocator/partition_allocator/partition_alloc_unittest.cc +++ b/base/allocator/partition_allocator/partition_alloc_unittest.cc
@@ -409,7 +409,6 @@ PartitionOptions::UseConfigurablePool::kNo, }); test_bucket_index_ = SizeToIndex(RealAllocSize()); - allocator.root()->UncapEmptySlotSpanMemoryForTesting(); aligned_allocator.root()->UncapEmptySlotSpanMemoryForTesting(); @@ -1403,6 +1402,9 @@ PA_EXPECT_PTR_EQ(ptr2, ptr3); EXPECT_NE(ptr1, ptr3); EXPECT_NE(ptr2, ptr3); + + // We don't check anything about ptr3, but we do clean it up to avoid DCHECKs. + allocator.root()->Free(ptr3); } #endif // PA_CONFIG(HAS_MEMORY_TAGGING)
diff --git a/base/allocator/partition_allocator/pointers/raw_ptr.h b/base/allocator/partition_allocator/pointers/raw_ptr.h index ac926de5..2cc1574 100644 --- a/base/allocator/partition_allocator/pointers/raw_ptr.h +++ b/base/allocator/partition_allocator/pointers/raw_ptr.h
@@ -134,6 +134,11 @@ // // Test only. kUseCountingWrapperForTest = (1 << 4), + + // Helper trait that can be used to test raw_ptr's behaviour or conversions. + // + // Test only. + kDummyForTest = (1 << 5), }; // Used to combine RawPtrTraits: @@ -164,6 +169,7 @@ RawPtrTraits::kDisableMTECheckedPtr | RawPtrTraits::kDisableHooks | RawPtrTraits::kAllowPtrArithmetic | + RawPtrTraits::kDummyForTest | RawPtrTraits::kUseCountingWrapperForTest) == RawPtrTraits::kEmpty; }
diff --git a/base/functional/bind_internal.h b/base/functional/bind_internal.h index e5806ce..7db2ff81 100644 --- a/base/functional/bind_internal.h +++ b/base/functional/bind_internal.h
@@ -117,6 +117,7 @@ // will be identical to `raw_ptr<T, PtrTraits>`. using DanglingRawPtrType = MayBeDangling<T, PtrTraits>; + public: // We want the getter type to be the exact same as the receiver parameter that // it's passed into, to avoid having raw_ptr<T> -> T* -> raw_ptr<T> round // trip, which could trigger the raw_ptr error detector if T* was dangling. @@ -124,16 +125,11 @@ // // Returning raw_ptr<T> would also break if e.g. UnretainedWrapper() is // constructed using char*, but the receiver is of type std::string&. - // - // TODO(bartekn): assert that the receiver type is exactly the same (or T*), - // to avoid raw_ptr<T> -> T* -> raw_ptr<T> trip. Or construct one from the - // other. using GetPtrType = std::conditional_t< std::is_same_v<UnretainedTrait, unretained_traits::MayDangle>, DanglingRawPtrType, T*>; - public: static_assert(TypeSupportsUnretainedV<T>, "Callback cannot capture an unprotected C++ pointer since this " "Type is annotated with DISALLOW_UNRETAINED(). Please see " @@ -1372,6 +1368,25 @@ inline constexpr bool IsUnretainedMayDangle< UnretainedWrapper<T, unretained_traits::MayDangle, PtrTraits>> = true; +// UnretainedAndRawPtrHaveCompatibleTraits is true if |T| is of type +// UnretainedWrapper<T, unretained_traits::MayDangle, Traits1> and U is of type +// raw_ptr<T, Traits2>, and +// UnretainedWrapper<T, unretained_traits::MayDangle, Traits1>::GetPtrType is of +// type raw_ptr<T, Traits2>. +template <typename T, typename U> +inline constexpr bool UnretainedAndRawPtrHaveCompatibleTraits = false; +template <typename T, + RawPtrTraits PtrTraitsInUnretained, + RawPtrTraits PtrTraitsInReceiver> +inline constexpr bool UnretainedAndRawPtrHaveCompatibleTraits< + UnretainedWrapper<T, unretained_traits::MayDangle, PtrTraitsInUnretained>, + raw_ptr<T, PtrTraitsInReceiver>> = + std::is_same_v< + typename UnretainedWrapper<T, + unretained_traits::MayDangle, + PtrTraitsInUnretained>::GetPtrType, + raw_ptr<T, PtrTraitsInReceiver>>; + // Helpers to make error messages slightly more readable. template <int i> struct BindArgument { @@ -1434,9 +1449,15 @@ // `UnretainedWrapper<T, unretained_traits::MayDangle, PtrTraits>`. static constexpr bool kBoundPtrMayDangle = IsUnretainedMayDangle<StorageType>; + // true if bound parameter of type `UnretainedWrapper` and parameter of + // type `raw_ptr` have compatible `RawPtrTraits`. + static constexpr bool kMayBeDanglingTraitsCorrectness = + UnretainedAndRawPtrHaveCompatibleTraits<StorageType, + FunctionParamType>; // true if the receiver argument **must** be of type `MayBeDangling<T>`. static constexpr bool kMayBeDanglingMustBeUsed = kBoundPtrMayDangle && kParamIsDanglingRawPtr; + // true iff: // - bound parameter is of type // `UnretainedWrapper<T, unretained_traits::MayDangle, PtrTraits>` @@ -1445,6 +1466,14 @@ static constexpr bool kMayBeDanglingPtrPassedCorrectly = kParamIsThisPointer<is_method> || kBoundPtrMayDangle == kParamIsDanglingRawPtr; + + // true if: + // - MayBeDangling<T> must not be used as receiver parameter. + // OR + // - MayBeDangling<T> must be used as receiver parameter and its traits + // are matching Unretained traits. + static constexpr bool kUnsafeDanglingAndMayBeDanglingHaveMatchingTraits = + !kMayBeDanglingMustBeUsed || kMayBeDanglingTraitsCorrectness; }; }; }; @@ -1535,6 +1564,12 @@ Storage>::template kMayBeDanglingPtrPassedCorrectly<is_method>, "base::UnsafeDangling() pointers must be received by functors with " "MayBeDangling<T> as parameter."); + + static_assert( + BindArgument<i>::template ToParamWithType<Param>::template StoredAs< + Storage>::kUnsafeDanglingAndMayBeDanglingHaveMatchingTraits, + "MayBeDangling<T> parameter must receive the same RawPtrTraits as the " + "one passed to the corresponding base::UnsafeDangling() call."); }; // Takes three same-length TypeLists, and applies AssertConstructible for each
diff --git a/base/functional/bind_unittest.cc b/base/functional/bind_unittest.cc index 844f8a29..6a0869f 100644 --- a/base/functional/bind_unittest.cc +++ b/base/functional/bind_unittest.cc
@@ -1849,14 +1849,16 @@ // root so the test code doesn't interfere with various counters. Following // methods are helpers for managing allocations inside the separate allocator // root. - template <typename T, typename... Args> - raw_ptr<T> Alloc(Args&&... args) { + template <typename T, + RawPtrTraits Traits = RawPtrTraits::kEmpty, + typename... Args> + raw_ptr<T, Traits> Alloc(Args&&... args) { void* ptr = allocator_.root()->Alloc(sizeof(T), ""); T* p = new (reinterpret_cast<T*>(ptr)) T(std::forward<Args>(args)...); - return raw_ptr<T>(p); + return raw_ptr<T, Traits>(p); } - template <typename T> - void Free(raw_ptr<T>& ptr) { + template <typename T, RawPtrTraits Traits> + void Free(raw_ptr<T, Traits>& ptr) { allocator_.root()->Free(ptr); } @@ -1883,6 +1885,11 @@ return p != nullptr; } +bool MayBeDanglingAndDummyTraitCheckFn( + MayBeDangling<int, RawPtrTraits::kDummyForTest> p) { + return p != nullptr; +} + class ClassWithWeakPtr { public: ClassWithWeakPtr() = default; @@ -1908,6 +1915,25 @@ EXPECT_EQ(std::move(callback).Run(), true); } +TEST_F(BindUnretainedDanglingTest, UnsafeDanglingPtrWithDummyTrait) { + raw_ptr<int, RawPtrTraits::kDummyForTest> p = + Alloc<int, RawPtrTraits::kDummyForTest>(3); + auto callback = base::BindOnce(MayBeDanglingAndDummyTraitCheckFn, + base::UnsafeDangling(p)); + Free(p); + EXPECT_EQ(std::move(callback).Run(), true); +} + +TEST_F(BindUnretainedDanglingTest, + UnsafeDanglingPtrWithDummyAndDanglingTraits) { + raw_ptr<int, RawPtrTraits::kDummyForTest | RawPtrTraits::kMayDangle> p = + Alloc<int, RawPtrTraits::kDummyForTest | RawPtrTraits::kMayDangle>(3); + auto callback = base::BindOnce(MayBeDanglingAndDummyTraitCheckFn, + base::UnsafeDangling(p)); + Free(p); + EXPECT_EQ(std::move(callback).Run(), true); +} + TEST_F(BindUnretainedDanglingTest, UnsafeDanglingPtrNoRawPtrReceiver) { std::unique_ptr<ClassWithWeakPtr> r = std::make_unique<ClassWithWeakPtr>(); int val = 0;
diff --git a/base/functional/bind_unittest.nc b/base/functional/bind_unittest.nc index ec221686..4ff84b6124 100644 --- a/base/functional/bind_unittest.nc +++ b/base/functional/bind_unittest.nc
@@ -572,6 +572,15 @@ BindOnce(&PassIntPtr, UnsafeDangling(&val)); } +#elif defined(NCTEST_UNSAFE_DANLING_WITH_DIFFERENT_PTR_TRAITS) // [r"fatal error: static assertion failed.+?MayBeDangling<T> parameter must receive the same RawPtrTraits as the one passed to the corresponding base::UnsafeDangling\(\) call\."] + +void PassIntPtr(MayBeDangling<int> ptr) {} + +void WontCompile() { + int val; + BindOnce(&PassIntPtr, UnsafeDangling<int, RawPtrTraits::kDummyForTest>(&val)); +} + #elif defined(NCTEST_UNSAFE_DANLING_UNTRIAGED_WITH_RAW_PTR_RECEIVER) // [r"base::Bind\(\) target functor has a parameter of type raw_ptr<T>."] void PassIntRawPtr(raw_ptr<int> ptr) {}
diff --git a/base/values.cc b/base/values.cc index d8804d2..b5deb02 100644 --- a/base/values.cc +++ b/base/values.cc
@@ -1031,20 +1031,12 @@ return !(lhs < rhs); } -Value* Value::FindKey(StringPiece key) { - return GetDict().Find(key); -} - -const Value* Value::FindKey(StringPiece key) const { - return GetDict().Find(key); -} - Value* Value::FindKeyOfType(StringPiece key, Type type) { return const_cast<Value*>(std::as_const(*this).FindKeyOfType(key, type)); } const Value* Value::FindKeyOfType(StringPiece key, Type type) const { - const Value* result = FindKey(key); + const Value* result = GetDict().Find(key); if (!result || result->type() != type) return nullptr; return result;
diff --git a/base/values.h b/base/values.h index 52a91d3..7eb67d8 100644 --- a/base/values.h +++ b/base/values.h
@@ -670,14 +670,6 @@ // ===== DEPRECATED methods that require `type() == Type::DICT` ===== - // `FindKey` looks up `key` in the underlying dictionary. If found, it returns - // a pointer to the element. Otherwise it returns nullptr. - // - // DEPRECATED: prefer `Value::Dict::Find()`. - // TODO(https://crbug.com/1406815): Remove this API. - Value* FindKey(StringPiece key); - const Value* FindKey(StringPiece key) const; - // `FindKeyOfType` is similar to `FindKey`, but it also requires the found // value to have type `type`. If no type is found, or the found value is of a // different type nullptr is returned.
diff --git a/base/values_unittest.cc b/base/values_unittest.cc index e69218de..01e5e4e 100644 --- a/base/values_unittest.cc +++ b/base/values_unittest.cc
@@ -1219,7 +1219,7 @@ dict.Set("minus_one_key", -1.0); dict.Set("pi_key", 3.1415); - // NOTE: Use FindKey() instead of FindDoubleKey() because the latter will + // NOTE: Use Find() instead of FindDoubleKey() because the latter will // auto-convert integers to doubles as well. const Value* value;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java index a0f5a58..3477849 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
@@ -205,7 +205,7 @@ private Drawable getProfileImage(@Nullable String email) { assert mIsIdentityDiscShown; if (shouldUseSignedOutAvatar(email)) { - return AppCompatResources.getDrawable(mContext, R.drawable.account_circle_full); + return AppCompatResources.getDrawable(mContext, R.drawable.account_circle); } return mProfileDataCache.getProfileDataOrDefault(email).getImage(); }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrInputTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrInputTest.java index 3e86e63..56dc0aa 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrInputTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrInputTest.java
@@ -10,6 +10,7 @@ import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_VIEWER_DAYDREAM; import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_VIEWER_NON_DAYDREAM; +import android.os.Build.VERSION_CODES; import android.os.SystemClock; import android.view.MotionEvent; import android.view.View; @@ -28,6 +29,7 @@ import org.chromium.base.test.params.ParameterSet; import org.chromium.base.test.params.ParameterizedRunner; import org.chromium.base.test.util.CommandLineFlags; +import org.chromium.base.test.util.DisableIf; import org.chromium.base.test.util.DisabledTest; import org.chromium.base.test.util.Restriction; import org.chromium.chrome.browser.flags.ChromeSwitches; @@ -158,7 +160,10 @@ @Restriction(RESTRICTION_TYPE_VIEWER_DAYDREAM) @CommandLineFlags.Add({"enable-features=WebXR"}) @XrActivityRestriction({XrActivityRestriction.SupportedActivity.ALL}) - public void testControllerExposedAsGamepadOnDaydream_WebXr() { + @DisableIf.Build(sdk_is_greater_than = VERSION_CODES.P, sdk_is_less_than = VERSION_CODES.R, + message = "https://crbug.com/1420205") + public void + testControllerExposedAsGamepadOnDaydream_WebXr() { EmulatedVrController controller = new EmulatedVrController(mTestRule.getActivity()); mWebXrVrTestFramework.loadFileAndAwaitInitialization( "test_webxr_gamepad_support", PAGE_LOAD_TIMEOUT_S);
diff --git a/chrome/app/password_manager_ui_strings.grdp b/chrome/app/password_manager_ui_strings.grdp index ef31da0f..17b1abe0 100644 --- a/chrome/app/password_manager_ui_strings.grdp +++ b/chrome/app/password_manager_ui_strings.grdp
@@ -312,4 +312,7 @@ <message name="IDS_PASSWORD_MANAGER_UI_MISSING_TLD" desc="An error message when user entered a URL without a top-level domain as a site for a new password. It suggests to use the same value but with common top level domain." meaning="Suggesting user to add the top-level domain in the website text."> Did you mean <ph name="WEBSITE">$1<ex>twitter.com</ex></ph>? </message> + <message name="IDS_PASSWORD_MANAGER_UI_USERNAME_ALREADY_USED" desc="An error message when user tried editing the username to a value which is already used for the same site."> + You already saved a password with this username for <ph name="WEBSITE">$1<ex>website.com</ex></ph> + </message> </grit-part>
diff --git a/chrome/app/password_manager_ui_strings_grdp/IDS_PASSWORD_MANAGER_UI_USERNAME_ALREADY_USED.png.sha1 b/chrome/app/password_manager_ui_strings_grdp/IDS_PASSWORD_MANAGER_UI_USERNAME_ALREADY_USED.png.sha1 new file mode 100644 index 0000000..44e9ee9 --- /dev/null +++ b/chrome/app/password_manager_ui_strings_grdp/IDS_PASSWORD_MANAGER_UI_USERNAME_ALREADY_USED.png.sha1
@@ -0,0 +1 @@ +5f891e3a6a7181159d6d46bfca8bcc46dacc7d6e \ No newline at end of file
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn index 68c31f6..81913d1 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -5172,6 +5172,7 @@ "//chromeos/dbus/tpm_manager:tpm_manager_proto", "//chromeos/services/network_config/public/mojom", "//chromeos/services/network_health/public/mojom", + "//chromeos/startup:constants", "//chromeos/strings", "//chromeos/ui/base", "//chromeos/ui/vector_icons",
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc index d997145..6bfd26d8 100644 --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -5233,6 +5233,11 @@ flag_descriptions::kOmniboxZeroSuggestInMemoryCachingDescription, kOsAll, FEATURE_VALUE_TYPE(omnibox::kZeroSuggestInMemoryCaching)}, + {"omnibox-discard-temporary-input-on-tab-switch", + flag_descriptions::kOmniboxDiscardTemporaryInputOnTabSwitchName, + flag_descriptions::kOmniboxDiscardTemporaryInputOnTabSwitchDescription, + kOsAll, FEATURE_VALUE_TYPE(omnibox::kDiscardTemporaryInputOnTabSwitch)}, + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) {"omnibox-experimental-keyword-mode",
diff --git a/chrome/browser/apps/app_service/BUILD.gn b/chrome/browser/apps/app_service/BUILD.gn index 0ee96ae9..11198a9d 100644 --- a/chrome/browser/apps/app_service/BUILD.gn +++ b/chrome/browser/apps/app_service/BUILD.gn
@@ -42,9 +42,6 @@ "paused_apps.h", "policy_util.cc", "policy_util.h", - "promise_apps/promise_app_registry_cache.cc", - "promise_apps/promise_app_registry_cache.h", - "promise_apps/promise_apps.h", "publishers/app_publisher.cc", "publishers/app_publisher.h", "publishers/extension_apps_enable_flow.cc", @@ -164,6 +161,12 @@ "metrics/browser_to_tab_list.h", "metrics/website_metrics.cc", "metrics/website_metrics.h", + "promise_apps/promise_app_registry_cache.cc", + "promise_apps/promise_app_registry_cache.h", + "promise_apps/promise_app_update.cc", + "promise_apps/promise_app_update.h", + "promise_apps/promise_apps.cc", + "promise_apps/promise_apps.h", "publishers/arc_apps.cc", "publishers/arc_apps.h", "publishers/arc_apps_factory.cc",
diff --git a/chrome/browser/apps/app_service/app_service_proxy_ash.cc b/chrome/browser/apps/app_service/app_service_proxy_ash.cc index 9a0d54b9..de3d67a7 100644 --- a/chrome/browser/apps/app_service/app_service_proxy_ash.cc +++ b/chrome/browser/apps/app_service/app_service_proxy_ash.cc
@@ -375,8 +375,8 @@ apps::PromiseAppRegistryCache& AppServiceProxyAsh::PromiseAppRegistryCache() { return promise_app_registry_cache_; } -void AppServiceProxyAsh::AddPromiseApp(PromiseAppPtr app) { - promise_app_registry_cache_.AddPromiseApp(std::move(app)); +void AppServiceProxyAsh::OnPromiseApp(PromiseAppPtr delta) { + promise_app_registry_cache_.OnPromiseApp(std::move(delta)); } void AppServiceProxyAsh::Shutdown() {
diff --git a/chrome/browser/apps/app_service/app_service_proxy_ash.h b/chrome/browser/apps/app_service/app_service_proxy_ash.h index 021b14f1..fd02b09 100644 --- a/chrome/browser/apps/app_service/app_service_proxy_ash.h +++ b/chrome/browser/apps/app_service/app_service_proxy_ash.h
@@ -142,8 +142,8 @@ // apps. apps::PromiseAppRegistryCache& PromiseAppRegistryCache(); - // Add a promise app to the Promise App Registry Cache. - void AddPromiseApp(PromiseAppPtr app); + // Add or update a promise app in the Promise App Registry Cache. + void OnPromiseApp(PromiseAppPtr delta); private: // For access to Initialize.
diff --git a/chrome/browser/apps/app_service/package_id.cc b/chrome/browser/apps/app_service/package_id.cc index b2cb186..5691e91 100644 --- a/chrome/browser/apps/app_service/package_id.cc +++ b/chrome/browser/apps/app_service/package_id.cc
@@ -71,6 +71,11 @@ this->identifier_ == rhs.identifier_; } +bool PackageId::operator!=(const PackageId& rhs) const { + return this->app_type_ != rhs.app_type_ || + this->identifier_ != rhs.identifier_; +} + // static absl::optional<PackageId> PackageId::FromString( base::StringPiece package_id_string) {
diff --git a/chrome/browser/apps/app_service/package_id.h b/chrome/browser/apps/app_service/package_id.h index b2d953b0..00b86b9 100644 --- a/chrome/browser/apps/app_service/package_id.h +++ b/chrome/browser/apps/app_service/package_id.h
@@ -40,6 +40,7 @@ PackageId& operator=(const PackageId&); bool operator<(const PackageId&) const; bool operator==(const PackageId&) const; + bool operator!=(const PackageId&) const; // Parses a package ID from the canonical string format. Returns // absl::nullopt if parsing failed.
diff --git a/chrome/browser/apps/app_service/promise_apps/promise_app_registry_cache.cc b/chrome/browser/apps/app_service/promise_apps/promise_app_registry_cache.cc index 00babe2c0..77c1f11 100644 --- a/chrome/browser/apps/app_service/promise_apps/promise_app_registry_cache.cc +++ b/chrome/browser/apps/app_service/promise_apps/promise_app_registry_cache.cc
@@ -4,6 +4,7 @@ #include "chrome/browser/apps/app_service/promise_apps/promise_app_registry_cache.h" #include "chrome/browser/apps/app_service/package_id.h" +#include "chrome/browser/apps/app_service/promise_apps/promise_app_update.h" #include "chrome/browser/apps/app_service/promise_apps/promise_apps.h" namespace apps { @@ -12,18 +13,7 @@ PromiseAppRegistryCache::~PromiseAppRegistryCache() = default; -void PromiseAppRegistryCache::AddPromiseApp(PromiseAppPtr promise_app) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - - const PackageId& package_id = promise_app->package_id; - DCHECK(!promise_app_map_.contains(package_id)); - promise_app_map_[package_id] = std::move(promise_app); - - // TODO(b/261907495): Notify observers. -} - -void PromiseAppRegistryCache::UpdatePromiseAppProgress(PackageId& package_id, - float progress) { +void PromiseAppRegistryCache::OnPromiseApp(PromiseAppPtr delta) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); // Check that there isn't an update currently being processed. We do not allow @@ -31,13 +21,15 @@ DCHECK(!update_in_progress_); update_in_progress_ = true; - auto promise_iter = promise_app_map_.find(package_id); - DCHECK(promise_iter != promise_app_map_.end()); - PromiseApp* promise_app = (promise_iter != promise_app_map_.end()) - ? promise_iter->second.get() - : nullptr; - if (promise_app) { - promise_app->progress = progress; + // Retrieve the current promise app state. + apps::PromiseApp* state = FindPromiseApp(delta->package_id); + + // Update the promise app with the delta or add the new promise app instance + // to the registry. + if (state) { + PromiseAppUpdate::Merge(state, delta.get()); + } else { + promise_app_map_[delta->package_id] = delta->Clone(); } // TODO(b/261907495): Notify observers. @@ -45,4 +37,16 @@ update_in_progress_ = false; } +const PromiseApp* PromiseAppRegistryCache::GetPromiseApp( + const PackageId& package_id) const { + return FindPromiseApp(package_id); +} + +PromiseApp* PromiseAppRegistryCache::FindPromiseApp( + const PackageId& package_id) const { + auto promise_iter = promise_app_map_.find(package_id); + return (promise_iter != promise_app_map_.end()) ? promise_iter->second.get() + : nullptr; +} + } // namespace apps
diff --git a/chrome/browser/apps/app_service/promise_apps/promise_app_registry_cache.h b/chrome/browser/apps/app_service/promise_apps/promise_app_registry_cache.h index c318b3c..7967908 100644 --- a/chrome/browser/apps/app_service/promise_apps/promise_app_registry_cache.h +++ b/chrome/browser/apps/app_service/promise_apps/promise_app_registry_cache.h
@@ -27,23 +27,31 @@ ~PromiseAppRegistryCache(); - // Add a promise app to the PromiseAppRegistry. - void AddPromiseApp(PromiseAppPtr promise_app); + // Find the promise app with the same package_id as the delta and apply + // the changes for the fields specified by the delta object. If there is no + // promise app with a matching package_id, then create a new promise app. + void OnPromiseApp(PromiseAppPtr delta); - // Update the installation progress of a registered promise app. - void UpdatePromiseAppProgress(PackageId& package_id, float progress); + // Retrieve the registered promise app with the specified package_id. Returns + // nullptr if the promise app does not exist. This is the public read-only + // version of FindPromiseApp. + const PromiseApp* GetPromiseApp(const PackageId& package_id) const; private: friend class PromiseAppRegistryCacheTest; friend class PublisherTest; + // Retrieve the registered promise app with the specified package_id. Returns + // nullptr if the promise app does not exist. + PromiseApp* FindPromiseApp(const PackageId& package_id) const; + apps::PromiseAppCacheMap promise_app_map_; // Flag to check whether an update to a promise app is already in progress. We - // shouldn't have more than one concurrent update to a package_id, - // e.g. if UpdatePromiseAppProgress notifies observers and triggers them to - // call UpdatePromiseAppProgress again (before the first call to - // UpdatePromiseAppProgress completes), we want to prevent overwriting fields. + // shouldn't have more than one concurrent update to a package_id, e.g. if + // OnPromiseApp notifies observers and triggers them to call OnPromiseApp + // again (before the first call to OnPromiseApp completes), we want to prevent + // overwriting fields. bool update_in_progress_ = false; SEQUENCE_CHECKER(sequence_checker_);
diff --git a/chrome/browser/apps/app_service/promise_apps/promise_app_registry_cache_unittest.cc b/chrome/browser/apps/app_service/promise_apps/promise_app_registry_cache_unittest.cc index 4cac506..5ac0e0c 100644 --- a/chrome/browser/apps/app_service/promise_apps/promise_app_registry_cache_unittest.cc +++ b/chrome/browser/apps/app_service/promise_apps/promise_app_registry_cache_unittest.cc
@@ -17,13 +17,7 @@ return cache_.promise_app_map_.contains(package_id); } - PromiseApp* GetPromiseApp(const PackageId& package_id) { - auto promise_iter = cache_.promise_app_map_.find(package_id); - PromiseApp* promise_app = (promise_iter != cache_.promise_app_map_.end()) - ? promise_iter->second.get() - : nullptr; - return promise_app; - } + int CountPromiseAppsRegistered() { return cache_.promise_app_map_.size(); } private: PromiseAppRegistryCache cache_; @@ -33,7 +27,7 @@ PackageId package_id = PackageId(AppType::kArc, "test.package.name"); auto promise_app = std::make_unique<PromiseApp>(package_id); ASSERT_FALSE(IsPromiseAppRegistered(package_id)); - cache().AddPromiseApp(std::move(promise_app)); + cache().OnPromiseApp(std::move(promise_app)); ASSERT_TRUE(IsPromiseAppRegistered(package_id)); } @@ -42,19 +36,31 @@ float progress_initial = 0.1; float progress_next = 0.9; + // Check that there aren't any promise apps registered yet. + EXPECT_EQ(CountPromiseAppsRegistered(), 0); + // Register a promise app with no installation progress value. auto promise_app = std::make_unique<PromiseApp>(package_id); - cache().AddPromiseApp(std::move(promise_app)); - EXPECT_FALSE(GetPromiseApp(package_id)->progress.has_value()); + cache().OnPromiseApp(std::move(promise_app)); + EXPECT_FALSE(cache().GetPromiseApp(package_id)->progress.has_value()); + EXPECT_EQ(CountPromiseAppsRegistered(), 1); - // Update the progress value for the correct app, check if there is now a - // progress value. - cache().UpdatePromiseAppProgress(package_id, progress_initial); - EXPECT_EQ(GetPromiseApp(package_id)->progress, progress_initial); + // Update the progress value for the correct app and confirm the progress + // value. + auto promise_delta = std::make_unique<PromiseApp>(package_id); + promise_delta->progress = progress_initial; + cache().OnPromiseApp(std::move(promise_delta)); + EXPECT_EQ(cache().GetPromiseApp(package_id)->progress, progress_initial); // Update the progress value again and check if it is the correct value. - cache().UpdatePromiseAppProgress(package_id, progress_next); - EXPECT_EQ(GetPromiseApp(package_id)->progress, progress_next); + auto promise_delta_next = std::make_unique<PromiseApp>(package_id); + promise_delta_next->progress = progress_next; + cache().OnPromiseApp(std::move(promise_delta_next)); + EXPECT_EQ(cache().GetPromiseApp(package_id)->progress, progress_next); + + // All these changes should have applied to the same promise app instead + // of creating new ones. + EXPECT_EQ(CountPromiseAppsRegistered(), 1); } } // namespace apps
diff --git a/chrome/browser/apps/app_service/promise_apps/promise_app_update.cc b/chrome/browser/apps/app_service/promise_apps/promise_app_update.cc new file mode 100644 index 0000000..1d4b530 --- /dev/null +++ b/chrome/browser/apps/app_service/promise_apps/promise_app_update.cc
@@ -0,0 +1,73 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/apps/app_service/promise_apps/promise_app_update.h" + +#include "base/logging.h" +#include "chrome/browser/apps/app_service/package_id.h" +#include "chrome/browser/apps/app_service/promise_apps/promise_apps.h" +#include "components/services/app_service/public/cpp/macros.h" + +namespace apps { + +PromiseAppUpdate::PromiseAppUpdate(const PromiseApp* state, + const PromiseApp* delta) + : state_(state), delta_(delta) { + DCHECK(state_ || delta_); + if (state_ && delta_) { + DCHECK_EQ(state_->package_id, delta->package_id); + } +} + +void PromiseAppUpdate::Merge(PromiseApp* state, const PromiseApp* delta) { + DCHECK(state); + if (!delta) { + return; + } + + if (delta->package_id != state->package_id) { + LOG(ERROR) << "inconsistent package_id: " << delta->package_id.ToString() + << " vs " << state->package_id.ToString(); + return; + } + + SET_OPTIONAL_VALUE(progress); + SET_ENUM_VALUE(status, PromiseStatus::kUnknown); + + // When adding new fields to the PromiseApp struct, this function should also + // be updated. +} + +const PackageId& PromiseAppUpdate::PackageId() const { + DCHECK(state_ || delta_); + if (delta_) { + return delta_->package_id; + } else { + return state_->package_id; + } +} + +absl::optional<float> PromiseAppUpdate::Progress() const { + if (delta_ && delta_->progress.has_value()) { + return *delta_->progress; + } + if (state_ && state_->progress.has_value()) { + return *state_->progress; + } + return absl::nullopt; +} + +bool PromiseAppUpdate::ProgressChanged() const { + RETURN_OPTIONAL_VALUE_CHANGED(progress); +} + +PromiseStatus PromiseAppUpdate::Status() const { + GET_VALUE_WITH_DEFAULT_VALUE(status, PromiseStatus::kUnknown); +} + +bool PromiseAppUpdate::StatusChanged() const { + IS_VALUE_CHANGED_WITH_DEFAULT_VALUE(status, PromiseStatus::kUnknown); +} + +} // namespace apps
diff --git a/chrome/browser/apps/app_service/promise_apps/promise_app_update.h b/chrome/browser/apps/app_service/promise_apps/promise_app_update.h new file mode 100644 index 0000000..aa3e322 --- /dev/null +++ b/chrome/browser/apps/app_service/promise_apps/promise_app_update.h
@@ -0,0 +1,40 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_APPS_APP_SERVICE_PROMISE_APPS_PROMISE_APP_UPDATE_H_ +#define CHROME_BROWSER_APPS_APP_SERVICE_PROMISE_APPS_PROMISE_APP_UPDATE_H_ + +#include "base/memory/raw_ptr.h" +#include "chrome/browser/apps/app_service/promise_apps/promise_apps.h" +#include "third_party/abseil-cpp/absl/types/optional.h" +namespace apps { + +class PackageId; + +class PromiseAppUpdate { + public: + static void Merge(PromiseApp* state, const PromiseApp* delta); + + // At most one of |state| or |delta| may be nullptr. + PromiseAppUpdate(const PromiseApp* state, const PromiseApp* delta); + + PromiseAppUpdate(const PromiseAppUpdate&) = delete; + PromiseAppUpdate& operator=(const PromiseAppUpdate&) = delete; + + const PackageId& PackageId() const; + + absl::optional<float> Progress() const; + bool ProgressChanged() const; + + PromiseStatus Status() const; + bool StatusChanged() const; + + private: + raw_ptr<const PromiseApp> state_ = nullptr; + raw_ptr<const PromiseApp> delta_ = nullptr; +}; + +} // namespace apps + +#endif // CHROME_BROWSER_APPS_APP_SERVICE_PROMISE_APPS_PROMISE_APP_UPDATE_H_
diff --git a/chrome/browser/apps/app_service/promise_apps/promise_app_update_unittest.cc b/chrome/browser/apps/app_service/promise_apps/promise_app_update_unittest.cc new file mode 100644 index 0000000..df4b774 --- /dev/null +++ b/chrome/browser/apps/app_service/promise_apps/promise_app_update_unittest.cc
@@ -0,0 +1,71 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/apps/app_service/promise_apps/promise_app_update.h" + +#include "chrome/browser/apps/app_service/package_id.h" +#include "chrome/browser/apps/app_service/promise_apps/promise_apps.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace apps { + +class PromiseAppUpdateTest : public testing::Test { + public: + PackageId package_id = PackageId(AppType::kArc, "test.package.name"); +}; + +TEST_F(PromiseAppUpdateTest, StateIsNonNull) { + PromiseApp promise_app = PromiseApp(package_id); + promise_app.progress = 0.1; + promise_app.status = PromiseStatus::kPending; + PromiseAppUpdate u(&promise_app, nullptr); + + EXPECT_EQ(package_id, u.PackageId()); + + EXPECT_TRUE(u.Progress().has_value()); + EXPECT_FLOAT_EQ(u.Progress().value(), 0.1); + EXPECT_EQ(u.ProgressChanged(), false); + + EXPECT_EQ(u.Status(), PromiseStatus::kPending); + EXPECT_EQ(u.StatusChanged(), false); +} + +TEST_F(PromiseAppUpdateTest, DeltaIsNonNull) { + PromiseApp promise_app = PromiseApp(package_id); + promise_app.progress = 0.1; + promise_app.status = PromiseStatus::kPending; + PromiseAppUpdate u(nullptr, &promise_app); + + EXPECT_EQ(package_id, u.PackageId()); + + EXPECT_TRUE(u.Progress().has_value()); + EXPECT_FLOAT_EQ(u.Progress().value(), 0.1); + EXPECT_EQ(u.ProgressChanged(), true); + + EXPECT_EQ(u.Status(), PromiseStatus::kPending); + EXPECT_EQ(u.StatusChanged(), true); +} + +TEST_F(PromiseAppUpdateTest, StateAndDeltaAreNonNull) { + PromiseApp promise_app_old = PromiseApp(package_id); + promise_app_old.progress = 0.1; + promise_app_old.status = PromiseStatus::kPending; + + PromiseApp promise_app_new = PromiseApp(package_id); + promise_app_new.progress = 0.9; + promise_app_new.status = PromiseStatus::kDownloading; + + PromiseAppUpdate u(&promise_app_old, &promise_app_new); + + EXPECT_EQ(package_id, u.PackageId()); + + EXPECT_TRUE(u.Progress().has_value()); + EXPECT_FLOAT_EQ(u.Progress().value(), 0.9); + EXPECT_EQ(u.ProgressChanged(), true); + + EXPECT_EQ(u.Status(), PromiseStatus::kDownloading); + EXPECT_EQ(u.StatusChanged(), true); +} + +} // namespace apps
diff --git a/chrome/browser/apps/app_service/promise_apps/promise_apps.cc b/chrome/browser/apps/app_service/promise_apps/promise_apps.cc new file mode 100644 index 0000000..5d3084a --- /dev/null +++ b/chrome/browser/apps/app_service/promise_apps/promise_apps.cc
@@ -0,0 +1,17 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/apps/app_service/promise_apps/promise_apps.h" + +namespace apps { + +PromiseAppPtr PromiseApp::Clone() const { + auto app = std::make_unique<PromiseApp>(package_id); + if (progress.has_value()) { + app->progress = progress; + } + return app; +} + +} // namespace apps
diff --git a/chrome/browser/apps/app_service/promise_apps/promise_apps.h b/chrome/browser/apps/app_service/promise_apps/promise_apps.h index b2150450..196bfb7 100644 --- a/chrome/browser/apps/app_service/promise_apps/promise_apps.h +++ b/chrome/browser/apps/app_service/promise_apps/promise_apps.h
@@ -10,6 +10,14 @@ namespace apps { +// Indicates the status of the app installation that the promise app represents. +ENUM(PromiseStatus, + kUnknown, + kPending, // Waiting for the installation process to start. + kDownloading, // Downloading app package. + kInstalling // Installing app package. +) + // A promise app is a barebones app object created to show an app's icon and // name in the Launcher/Shelf while the package is currently installing // or pending installation. Each pending package installation is represented by @@ -20,6 +28,9 @@ : package_id(package_id) {} PackageId package_id; absl::optional<float> progress; + PromiseStatus status = PromiseStatus::kUnknown; + + std::unique_ptr<PromiseApp> Clone() const; }; using PromiseAppPtr = std::unique_ptr<PromiseApp>;
diff --git a/chrome/browser/apps/app_service/publishers/app_publisher.cc b/chrome/browser/apps/app_service/publishers/app_publisher.cc index 6816f8b..2c235ab 100644 --- a/chrome/browser/apps/app_service/publishers/app_publisher.cc +++ b/chrome/browser/apps/app_service/publishers/app_publisher.cc
@@ -61,12 +61,12 @@ std::move(callback).Run(std::make_unique<IconValue>()); } -void AppPublisher::PublishPromiseApp(PromiseAppPtr app) { +void AppPublisher::PublishPromiseApp(PromiseAppPtr delta) { if (!proxy_) { NOTREACHED(); return; } - proxy_->AddPromiseApp(std::move(app)); + proxy_->OnPromiseApp(std::move(delta)); } #endif
diff --git a/chrome/browser/apps/app_service/publishers/app_publisher.h b/chrome/browser/apps/app_service/publishers/app_publisher.h index 62ba9cf..30f5f0a 100644 --- a/chrome/browser/apps/app_service/publishers/app_publisher.h +++ b/chrome/browser/apps/app_service/publishers/app_publisher.h
@@ -63,8 +63,8 @@ // sends the initial list of apps to the App Service. void RegisterPublisher(AppType app_type); - // Publishes a single promise app to the Promise App Registry Cache. - void PublishPromiseApp(PromiseAppPtr app); + // Publishes a single promise app delta to the Promise App Registry Cache. + void PublishPromiseApp(PromiseAppPtr delta); #endif // Requests an icon for an app identified by |app_id|. The icon is identified
diff --git a/chrome/browser/apps/app_service/publishers/arc_apps.cc b/chrome/browser/apps/app_service/publishers/arc_apps.cc index 4a51692..516d0ef 100644 --- a/chrome/browser/apps/app_service/publishers/arc_apps.cc +++ b/chrome/browser/apps/app_service/publishers/arc_apps.cc
@@ -1556,9 +1556,12 @@ void ArcApps::OnInstallationStarted(const std::string& package_name) { if (ash::features::ArePromiseIconsEnabled()) { - PromiseAppPtr app = + PromiseAppPtr promise_app = AppPublisher::MakePromiseApp(PackageId(AppType::kArc, package_name)); - AppPublisher::PublishPromiseApp(std::move(app)); + + // All ARC installations start as "Pending". + promise_app->status = PromiseStatus::kPending; + AppPublisher::PublishPromiseApp(std::move(promise_app)); } }
diff --git a/chrome/browser/ash/borealis/borealis_security_delegate.cc b/chrome/browser/ash/borealis/borealis_security_delegate.cc index abf38e3..be8e839 100644 --- a/chrome/browser/ash/borealis/borealis_security_delegate.cc +++ b/chrome/browser/ash/borealis/borealis_security_delegate.cc
@@ -56,4 +56,9 @@ return window->GetProperty(chromeos::kUseOverviewToExitPointerLock); } +bool BorealisSecurityDelegate::CanSetBoundsWithServerSideDecoration( + aura::Window* window) const { + return true; +} + } // namespace borealis
diff --git a/chrome/browser/ash/borealis/borealis_security_delegate.h b/chrome/browser/ash/borealis/borealis_security_delegate.h index 7bab11f7..b49c30a 100644 --- a/chrome/browser/ash/borealis/borealis_security_delegate.h +++ b/chrome/browser/ash/borealis/borealis_security_delegate.h
@@ -29,6 +29,8 @@ std::string GetSecurityContext() const override; bool CanSelfActivate(aura::Window* window) const override; bool CanLockPointer(aura::Window* window) const override; + bool CanSetBoundsWithServerSideDecoration( + aura::Window* window) const override; private: Profile* const profile_;
diff --git a/chrome/browser/ash/bruschetta/bruschetta_installer_impl.cc b/chrome/browser/ash/bruschetta/bruschetta_installer_impl.cc index 17cfb2e..486d5b5 100644 --- a/chrome/browser/ash/bruschetta/bruschetta_installer_impl.cc +++ b/chrome/browser/ash/bruschetta/bruschetta_installer_impl.cc
@@ -474,9 +474,9 @@ NotifyObserver(State::kStartVm); auto launch_policy_opt = GetLaunchPolicyForConfig(profile_, config_id_); + auto full_policy_opt = GetInstallableConfig(profile_, config_id_); - if (!HasInstallableConfig(profile_, config_id_) || - !launch_policy_opt.has_value()) { + if (!full_policy_opt.has_value() || !launch_policy_opt.has_value()) { // Policy has changed to prohibit installation, so bail out before actually // starting the VM. install_running_ = false; @@ -485,6 +485,7 @@ return; } auto launch_policy = *launch_policy_opt; + const auto* full_policy = *full_policy_opt; auto* client = ash::ConciergeClient::Get(); DCHECK(client) << "This code requires a ConciergeClient"; @@ -505,8 +506,11 @@ disk->set_path(std::move(disk_path_)); disk->set_writable(true); - request.add_oem_strings("com.google.glinux.installer.arg:track=testing"); - request.add_oem_strings("com.google.glinux.bruschetta.alpha"); + for (const auto& oem_string : + *full_policy->FindList(prefs::kPolicyOEMStringsKey)) { + request.add_oem_strings(oem_string.GetString()); + } + request.set_timeout(240); // fds and request.fds must have the same order.
diff --git a/chrome/browser/ash/bruschetta/bruschetta_installer_impl_unittest.cc b/chrome/browser/ash/bruschetta/bruschetta_installer_impl_unittest.cc index 97b01eb..8a8024e 100644 --- a/chrome/browser/ash/bruschetta/bruschetta_installer_impl_unittest.cc +++ b/chrome/browser/ash/bruschetta/bruschetta_installer_impl_unittest.cc
@@ -83,6 +83,8 @@ base::Value::Dict image; image.Set(prefs::kPolicyURLKey, kVmConfigUrl); image.Set(prefs::kPolicyHashKey, kVmConfigHash); + base::Value::List oem_strings; + oem_strings.Append("OEM string"); base::Value::Dict config; config.Set(prefs::kPolicyEnabledKey, static_cast<int>(prefs::PolicyEnabledState::INSTALL_ALLOWED)); @@ -91,6 +93,7 @@ config.Set(prefs::kPolicyImageKey, image.Clone()); config.Set(prefs::kPolicyUefiKey, image.Clone()); config.Set(prefs::kPolicyPflashKey, image.Clone()); + config.Set(prefs::kPolicyOEMStringsKey, oem_strings.Clone()); prefs_installable_.Set(kVmConfigId, config.Clone()); config.Set(prefs::kPolicyEnabledKey,
diff --git a/chrome/browser/ash/bruschetta/bruschetta_policy_handler.cc b/chrome/browser/ash/bruschetta/bruschetta_policy_handler.cc index c0f320e..869ce8f3 100644 --- a/chrome/browser/ash/bruschetta/bruschetta_policy_handler.cc +++ b/chrome/browser/ash/bruschetta/bruschetta_policy_handler.cc
@@ -253,6 +253,19 @@ pref_config.Set(prefs::kPolicyVTPMKey, std::move(pref_vtpm)); } + { + base::Value::List pref_oem_strings; + + const auto* oem_strings = config.FindList(prefs::kPolicyOEMStringsKey); + if (oem_strings) { + for (const auto& oem_string : *oem_strings) { + pref_oem_strings.Append(oem_string.GetString()); + } + } + + pref_config.Set(prefs::kPolicyOEMStringsKey, std::move(pref_oem_strings)); + } + pref.Set(id, std::move(pref_config)); }
diff --git a/chrome/browser/ash/bruschetta/bruschetta_pref_names.cc b/chrome/browser/ash/bruschetta/bruschetta_pref_names.cc index b17b3e8..16b0062 100644 --- a/chrome/browser/ash/bruschetta/bruschetta_pref_names.cc +++ b/chrome/browser/ash/bruschetta/bruschetta_pref_names.cc
@@ -22,6 +22,7 @@ const char kPolicyVTPMKey[] = "vtpm"; const char kPolicyVTPMEnabledKey[] = "enabled"; const char kPolicyVTPMUpdateActionKey[] = "policy_update_action"; +const char kPolicyOEMStringsKey[] = "oem_strings"; void RegisterProfilePrefs(PrefRegistrySimple* registry) { registry->RegisterBooleanPref(kBruschettaInstalled, false);
diff --git a/chrome/browser/ash/bruschetta/bruschetta_pref_names.h b/chrome/browser/ash/bruschetta/bruschetta_pref_names.h index 68d3eeb..0a12db2 100644 --- a/chrome/browser/ash/bruschetta/bruschetta_pref_names.h +++ b/chrome/browser/ash/bruschetta/bruschetta_pref_names.h
@@ -24,6 +24,7 @@ extern const char kPolicyVTPMKey[]; extern const char kPolicyVTPMEnabledKey[]; extern const char kPolicyVTPMUpdateActionKey[]; +extern const char kPolicyOEMStringsKey[]; enum class PolicyEnabledState { BLOCKED = 0,
diff --git a/chrome/browser/ash/crostini/crostini_unsupported_action_notifier.cc b/chrome/browser/ash/crostini/crostini_unsupported_action_notifier.cc index 7625a35..2bcf281 100644 --- a/chrome/browser/ash/crostini/crostini_unsupported_action_notifier.cc +++ b/chrome/browser/ash/crostini/crostini_unsupported_action_notifier.cc
@@ -7,6 +7,7 @@ #include <utility> #include "ash/constants/app_types.h" +#include "ash/constants/ash_features.h" #include "ash/constants/notifier_catalogs.h" #include "ash/public/cpp/keyboard/keyboard_controller.h" #include "ash/public/cpp/system/toast_manager.h" @@ -125,6 +126,11 @@ void CrostiniUnsupportedActionNotifier:: ShowIMEUnsupportedNotificationIfNeeded() { + if (base::FeatureList::IsEnabled(ash::features::kCrostiniImeSupport)) { + // IME support is not yet available for all Crostini apps, but Chrome can + // not yet determine up front whether an app is supported or not. + return; + } auto method = delegate_->GetCurrentInputMethod(); if (IsIMESupportedByCrostini(method) || !delegate_->IsFocusedWindowCrostini()) {
diff --git a/chrome/browser/ash/crostini/crostini_unsupported_action_notifier_unittest.cc b/chrome/browser/ash/crostini/crostini_unsupported_action_notifier_unittest.cc index edff4ea..e4319cf3 100644 --- a/chrome/browser/ash/crostini/crostini_unsupported_action_notifier_unittest.cc +++ b/chrome/browser/ash/crostini/crostini_unsupported_action_notifier_unittest.cc
@@ -8,6 +8,8 @@ #include <string> #include <tuple> +#include "ash/constants/ash_features.h" +#include "base/test/scoped_feature_list.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" @@ -133,11 +135,16 @@ EXPECT_CALL(get_delegate(), ShowToast(Truly(IsIMEToast))) .Times(num_ime_toasts); } + + base::test::ScopedFeatureList scoped_feature_list_; CrostiniUnsupportedActionNotifier notifier; }; TEST_P(CrostiniUnsupportedActionNotifierTest, ToastShownOnceOnlyWhenEnteringTabletMode) { + scoped_feature_list_.InitAndDisableFeature( + ash::features::kCrostiniImeSupport); + bool show_tablet_toast = is_tablet_mode() && is_crostini_focused(); // Since tablet and vk toasts are the same we can trigger the toast // OnTabletModeStarted even if not in tablet mode. @@ -152,6 +159,9 @@ TEST_P(CrostiniUnsupportedActionNotifierTest, ToastShownOnceOnlyWhenShowingVirtualKeyboard) { + scoped_feature_list_.InitAndDisableFeature( + ash::features::kCrostiniImeSupport); + // Since tablet and vk toasts are the same we can trigger the toast // OnKeyboardVisibilityChanged even if the virtual keyboard isn't visible. bool show_tablet_toast = is_tablet_mode() && is_crostini_focused(); @@ -167,6 +177,9 @@ TEST_P(CrostiniUnsupportedActionNotifierTest, ToastShownOnceOnlyWhenChangingIME) { + scoped_feature_list_.InitAndDisableFeature( + ash::features::kCrostiniImeSupport); + bool show_tablet_toast = false; bool show_vk_toast = false; bool show_ime_toast = is_ime_unsupported() && is_crostini_focused(); @@ -179,6 +192,9 @@ TEST_P(CrostiniUnsupportedActionNotifierTest, ToastsShownOnceOnlyWhenFocusingCrostiniApp) { + scoped_feature_list_.InitAndDisableFeature( + ash::features::kCrostiniImeSupport); + bool show_tablet_toast = is_tablet_mode() && is_crostini_focused(); bool show_vk_toast = is_vk_visible() && is_crostini_focused(); bool show_ime_toast = is_ime_unsupported() && is_crostini_focused(); @@ -189,6 +205,20 @@ notifier.OnWindowFocused({}, {}); } +TEST_P(CrostiniUnsupportedActionNotifierTest, + NoImeNotificationWhenFeatureEnabled) { + scoped_feature_list_.InitAndEnableFeature(ash::features::kCrostiniImeSupport); + + bool show_tablet_toast = is_tablet_mode() && is_crostini_focused(); + bool show_vk_toast = is_vk_visible() && is_crostini_focused(); + bool show_ime_toast = false; + + SetExpectations(show_tablet_toast, show_vk_toast, show_ime_toast); + + notifier.OnWindowFocused({}, {}); + notifier.OnWindowFocused({}, {}); +} + INSTANTIATE_TEST_SUITE_P(CrostiniUnsupportedActionNotifierTestCombination, CrostiniUnsupportedActionNotifierTest, Combine(Bool(), Bool(), Bool(), Bool()));
diff --git a/chrome/browser/ash/guest_os/guest_os_session_tracker.cc b/chrome/browser/ash/guest_os/guest_os_session_tracker.cc index aebc91d..8b37c67 100644 --- a/chrome/browser/ash/guest_os/guest_os_session_tracker.cc +++ b/chrome/browser/ash/guest_os/guest_os_session_tracker.cc
@@ -144,6 +144,10 @@ absl::optional<GuestId> GuestOsSessionTracker::GetGuestIdForToken( const std::string& container_token) { + if (container_token.empty()) { + return absl::nullopt; + } + auto iter = tokens_to_guests_.find(container_token); if (iter == tokens_to_guests_.end()) { return absl::nullopt;
diff --git a/chrome/browser/ash/guest_os/guest_os_shelf_utils.cc b/chrome/browser/ash/guest_os/guest_os_shelf_utils.cc index 8e83b91a..4284176 100644 --- a/chrome/browser/ash/guest_os/guest_os_shelf_utils.cc +++ b/chrome/browser/ash/guest_os/guest_os_shelf_utils.cc
@@ -148,7 +148,8 @@ // Note that PluginVM does not match this prefix since it has a // hard-coded window_app_id. std::string GetGuestTokenForWindowId(const std::string* window_app_id) { - if (!base::StartsWith(*window_app_id, kGuestOsWindowAppIdPrefix, + if (!window_app_id || + !base::StartsWith(*window_app_id, kGuestOsWindowAppIdPrefix, base::CompareCase::SENSITIVE)) { return std::string(); } @@ -224,10 +225,13 @@ // here. std::string app_id; + std::string token = GetGuestTokenForWindowId(window_app_id); + absl::optional<GuestId> guest_id = + GuestOsSessionTracker::GetForProfile(profile)->GetGuestIdForToken(token); + if (window_startup_id) { - // TODO(b/244651040): Also add container_token for startup_ids. if (FindAppId(apps, guest_os::prefs::kAppDesktopFileIdKey, - *window_startup_id, absl::nullopt, &app_id, + *window_startup_id, guest_id, &app_id, true) == FindAppIdResult::UniqueMatch) { return app_id; } @@ -239,10 +243,6 @@ return std::string(); } - const auto token = GetGuestTokenForWindowId(window_app_id); - const auto guest_id = - GuestOsSessionTracker::GetForProfile(profile)->GetGuestIdForToken(token); - // (Legacy) Wayland apps won't be prefixed with org.chromium.termina. or // org.chromium.guest_os if (!base::StartsWith(*window_app_id, kCrostiniWindowAppIdPrefixLegacy,
diff --git a/chrome/browser/ash/guest_os/guest_os_shelf_utils_unittest.cc b/chrome/browser/ash/guest_os/guest_os_shelf_utils_unittest.cc index d2fb11a0..1699cd2 100644 --- a/chrome/browser/ash/guest_os/guest_os_shelf_utils_unittest.cc +++ b/chrome/browser/ash/guest_os/guest_os_shelf_utils_unittest.cc
@@ -325,6 +325,21 @@ "crostini:unknown_app_id"); } +TEST_F( + GuestOsShelfUtilsTest, + GetGuestOsShelfAppIdFindsAppUsingStartupIdsIfMultipleAppsInDifferentContainersShareDesktopFileIds) { + SetGuestOsRegistry({ + {.desktop_file_id = "duplicate", .startup_notify = true}, + {.desktop_file_id = "duplicate", + .container_name = "container 2", + .startup_notify = true}, + }); + + EXPECT_EQ(GetShelfAppId({.app_id = TestXWindowIdWithToken("duplicate"), + .startup_id = "duplicate"}), + GenAppId({.desktop_file_id = "duplicate"})); +} + TEST_F(GuestOsShelfUtilsTest, GetGuestOsShelfAppIdCanFindAppsByName) { SetGuestOsRegistry({ {.desktop_file_id = "app", .app_name = "name"},
diff --git a/chrome/browser/ash/login/signin/offline_signin_limiter_unittest.cc b/chrome/browser/ash/login/signin/offline_signin_limiter_unittest.cc index 1c1a7c3d..6531462 100644 --- a/chrome/browser/ash/login/signin/offline_signin_limiter_unittest.cc +++ b/chrome/browser/ash/login/signin/offline_signin_limiter_unittest.cc
@@ -12,10 +12,14 @@ #include "base/test/task_environment.h" #include "base/time/time.h" #include "base/timer/wall_clock_timer.h" +#include "chrome/browser/ash/login/login_constants.h" #include "chrome/browser/ash/login/login_pref_names.h" #include "chrome/browser/ash/login/saml/in_session_password_sync_manager.h" #include "chrome/browser/ash/login/saml/in_session_password_sync_manager_factory.h" +#include "chrome/browser/ash/login/saml/mock_lock_handler.h" +#include "chrome/browser/ash/login/signin/offline_signin_limiter_factory.h" #include "chrome/browser/ash/login/users/fake_chrome_user_manager.h" +#include "chrome/browser/ash/login/users/mock_user_manager.h" #include "chrome/browser/profiles/profile.h" #include "chrome/test/base/scoped_testing_local_state.h" #include "chrome/test/base/testing_browser_process.h" @@ -57,6 +61,10 @@ user_manager::User* AddGaiaUser(); user_manager::User* AddSAMLUser(); + void LockScreen(); + void UnlockScreen(); + void CheckAuthTypeOnLock(AccountId account_id, bool expect_online_auth); + const AccountId test_gaia_account_id_ = AccountId::FromUserEmail(kTestGaiaUser); const AccountId test_saml_account_id_ = @@ -71,8 +79,10 @@ std::make_unique<FakeChromeUserManager>()}; std::unique_ptr<TestingProfile> profile_; + + std::unique_ptr<MockLockHandler> lock_handler_; + base::raw_ptr<base::WallClockTimer> timer_ = nullptr; - base::raw_ptr<base::WallClockTimer> lockscreen_timer_ = nullptr; std::unique_ptr<OfflineSigninLimiter> limiter_; base::test::ScopedPowerMonitorTestSource test_power_monitor_source_; @@ -92,7 +102,6 @@ limiter_->Shutdown(); limiter_.reset(); timer_ = nullptr; - lockscreen_timer_ = nullptr; } } @@ -104,7 +113,6 @@ limiter_ = base::WrapUnique(new OfflineSigninLimiter( profile_.get(), task_environment_.GetMockClock())); timer_ = limiter_->GetTimerForTesting(); - lockscreen_timer_ = limiter_->GetLockscreenTimerForTesting(); } void OfflineSigninLimiterTest::SetUp() { @@ -139,6 +147,42 @@ return user; } +void OfflineSigninLimiterTest::LockScreen() { + lock_handler_ = std::make_unique<MockLockHandler>(); + proximity_auth::ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get()); +} + +void OfflineSigninLimiterTest::UnlockScreen() { + proximity_auth::ScreenlockBridge::Get()->SetLockHandler(nullptr); +} + +// Check that correct auth type is set when the screen is locked. Ideally we +// would test `limiter_->OnSessionStateChanged()` here, but these tests do not +// support session manager, so we test private method `UpdateLockScreenLimit()` +// instead. +// TODO(b/270052429): add browser tests to be able to simulate lockscreen reauth +// flow instead of having to call private function UpdateLockScreenLimit() in +// unittests. +void OfflineSigninLimiterTest::CheckAuthTypeOnLock(AccountId account_id, + bool expect_online_auth) { + // Lock the screen and call UpdateLockScreenLimit which is the function + // called when the session state changes + LockScreen(); + + // When UpdateLockScreenLimit is called, it will check whether or not online + // reauthentication is required, if reauth is required then SetAuthType will + // be called and if reauth is not required SetAuthType will not be called + EXPECT_CALL( + *lock_handler_, + SetAuthType(account_id, proximity_auth::mojom::AuthType::ONLINE_SIGN_IN, + std::u16string())) + .Times(expect_online_auth ? 1 : 0); + limiter_->UpdateLockScreenLimit(); + + // Unlock afterwards to clear lockhandler + UnlockScreen(); +} + TEST_F(OfflineSigninLimiterTest, NoGaiaDefaultLimit) { auto* user = AddGaiaUser(); PrefService* prefs = profile_->GetPrefs(); @@ -156,7 +200,7 @@ EXPECT_FALSE(pref->HasUserSetting()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, NoGaiaNoLimit) { @@ -164,7 +208,8 @@ PrefService* prefs = profile_->GetPrefs(); // Remove the time limit. - prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, -1); + prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, + constants::kOfflineSigninTimeLimitNotSet); // Authenticate offline. Verify that the flag enforcing online login is not // changed and the time of last login with SAML is not set. @@ -179,7 +224,7 @@ EXPECT_FALSE(pref->HasUserSetting()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, NoGaiaZeroLimitWhenOffline) { @@ -193,7 +238,8 @@ prefs->SetTime(prefs::kGaiaLastOnlineSignInTime, task_environment_.GetMockClock()->Now()); // Remove time limit. - prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, -1); + prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, + constants::kOfflineSigninTimeLimitNotSet); // Authenticate against Gaia with SAML. Verify that the flag enforcing // online login and the time of last login without SAML are cleared. @@ -207,7 +253,7 @@ EXPECT_FALSE(pref->HasUserSetting()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. DestroyLimiter(); @@ -223,7 +269,7 @@ EXPECT_FALSE(user->force_online_signin()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, NoGaiaSetLimitWhileLoggedIn) { @@ -231,7 +277,8 @@ PrefService* prefs = profile_->GetPrefs(); // Remove the time limit. - prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, -1); + prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, + constants::kOfflineSigninTimeLimitNotSet); // Set the time of last login without SAML. prefs->SetTime(prefs::kGaiaLastOnlineSignInTime, @@ -249,19 +296,20 @@ EXPECT_FALSE(pref->HasUserSetting()); // Verify that timer is running due to Gaia log in with SAML. - EXPECT_TRUE(timer_->IsRunning()); + EXPECT_TRUE(limiter_->GetTimerForTesting()->IsRunning()); // Remove the time limit from SAML. - prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, -1); + prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, + constants::kOfflineSigninTimeLimitNotSet); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Set a zero time limit. prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, 0); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, GaiaDefaultLimit) { @@ -279,7 +327,7 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. Verify that the flag enforcing online login is not set. DestroyLimiter(); @@ -297,7 +345,7 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. Verify that the flag enforcing online login is not set. DestroyLimiter(); @@ -317,7 +365,7 @@ EXPECT_EQ(gaia_signin_time, last_gaia_signin_time); // Verify that no the timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, GaiaNoLimit) { @@ -325,7 +373,8 @@ PrefService* prefs = profile_->GetPrefs(); // Remove the time limit. - prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, -1); + prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, + constants::kOfflineSigninTimeLimitNotSet); // Authenticate against Gaia without SAML. Verify that the flag enforcing // online login is cleared and the time of last login without SAML is set. @@ -338,7 +387,7 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. Verify that the flag enforcing online login is not set. DestroyLimiter(); @@ -356,7 +405,7 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. Verify that the flag enforcing online login is not set. DestroyLimiter(); @@ -376,7 +425,7 @@ EXPECT_EQ(gaia_signin_time, last_gaia_signin_time); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, GaiaZeroLimit) { @@ -404,7 +453,8 @@ PrefService* prefs = profile_->GetPrefs(); // Remove the time limit. - prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, -1); + prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, + constants::kOfflineSigninTimeLimitNotSet); // Authenticate against Gaia without SAML. Verify that the flag enforcing // online login is cleared and the time of last login without SAML is set. @@ -417,7 +467,7 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Set a zero time limit. Verify that the flag enforcing online login is set. prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, 0); @@ -444,10 +494,11 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that the timer is running. - EXPECT_TRUE(timer_->IsRunning()); + EXPECT_TRUE(limiter_->GetTimerForTesting()->IsRunning()); // Remove the time limit. - prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, -1); + prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, + constants::kOfflineSigninTimeLimitNotSet); EXPECT_FALSE(user->force_online_signin()); } @@ -475,7 +526,7 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that the timer is running. - EXPECT_TRUE(timer_->IsRunning()); + EXPECT_TRUE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, GaiaLogInOfflineWithExpiredLimit) { @@ -508,7 +559,7 @@ EXPECT_EQ(gaia_signin_time, last_gaia_signin_time); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, GaiaLimitExpiredWhileSuspended) { @@ -559,7 +610,7 @@ // Verify that we enter InSessionPasswordSyncManager::ForceReauthOnLockScreen. EXPECT_TRUE(password_sync_manager->IsLockReauthEnabled()); // After changing the re-auth flag timer should be stopped. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, GaiaNoLastOnlineSigninWithLimit) { @@ -581,7 +632,7 @@ EXPECT_TRUE(last_gaia_signin_time.is_null()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. DestroyLimiter(); @@ -596,7 +647,7 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that the timer is running. - EXPECT_TRUE(timer_->IsRunning()); + EXPECT_TRUE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. DestroyLimiter(); @@ -616,7 +667,213 @@ EXPECT_EQ(gaia_signin_time, last_gaia_signin_time); // Verify that the timer is running. - EXPECT_TRUE(timer_->IsRunning()); + EXPECT_TRUE(limiter_->GetTimerForTesting()->IsRunning()); +} + +TEST_F(OfflineSigninLimiterTest, GaiaLockscreenReauthNoLimit) { + // Test that the gaia only user is not forced to reauthenticate on the + // lockscreen after some time has passed. + + AddGaiaUser(); + PrefService* prefs = profile_->GetPrefs(); + + // Set the time of last login with only Gaia. + prefs->SetTime(prefs::kGaiaLastOnlineSignInTime, + task_environment_.GetMockClock()->Now()); + + // Remove the time limit. + prefs->SetInteger(prefs::kGaiaLockScreenOfflineSigninTimeLimitDays, + constants::kOfflineSigninTimeLimitNotSet); + + // Create limiter instance + CreateLimiter(); + + // Advance time by four weeks. + task_environment_.FastForwardBy(base::Days(28)); // 4 weeks. + + // Authenticate offline + limiter_->SignedIn(UserContext::AUTH_FLOW_OFFLINE); + + CheckAuthTypeOnLock(test_gaia_account_id_, false /*expect_online_auth*/); +} + +TEST_F(OfflineSigninLimiterTest, GaiaLockscreenReauthZeroLimit) { + // Test that the gaia only user is required to go through online + // reauthentication on the lock screen every time the screen is locked. + + AddGaiaUser(); + PrefService* prefs = profile_->GetPrefs(); + + // Set the time of last login with only Gaia + prefs->SetTime(prefs::kGaiaLastOnlineSignInTime, + task_environment_.GetMockClock()->Now()); + + // Set a zero time limit which requires online reauth every time. + prefs->SetInteger(prefs::kGaiaLockScreenOfflineSigninTimeLimitDays, 0); + + // Create limiter instance + CreateLimiter(); + + // Advance time by 4 days. + task_environment_.FastForwardBy(base::Days(4)); + + // Authenticate online and check that lockscreen timer is not running as + // reauthentication is required. + limiter_->SignedIn(UserContext::AUTH_FLOW_GAIA_WITHOUT_SAML); + + const base::Time last_gaia_signin_time = + prefs->GetTime(prefs::kGaiaLastOnlineSignInTime); + EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); + + CheckAuthTypeOnLock(test_gaia_account_id_, true /*expect_online_auth*/); + + // Advance time by 2 hours. + task_environment_.FastForwardBy(base::Hours(2)); + + CheckAuthTypeOnLock(test_gaia_account_id_, true /*expect_online_auth*/); +} + +TEST_F(OfflineSigninLimiterTest, GaiaLockscreenReauthWithLimit) { + // Test that the gaia only user is required to go through online + // reauthentication on the lock screen when the time limit for the lockscreen + // has passed. + + AddGaiaUser(); + PrefService* prefs = profile_->GetPrefs(); + + // Set the time of last login with only Gaia + prefs->SetTime(prefs::kGaiaLastOnlineSignInTime, + task_environment_.GetMockClock()->Now()); + + // Add reauth time limit of 2 weeks. + prefs->SetInteger(prefs::kGaiaLockScreenOfflineSigninTimeLimitDays, 14); + + // Create limiter instance + CreateLimiter(); + + // Advance time by four days. + task_environment_.FastForwardBy(base::Days(4)); + + // Authenticate offline and check if lockscreen timer is still running. + limiter_->SignedIn(UserContext::AUTH_FLOW_OFFLINE); + EXPECT_TRUE(limiter_->GetLockscreenTimerForTesting()->IsRunning()); + + // Advance time by four weeks. + task_environment_.FastForwardBy(base::Days(28)); // 4 weeks. + + CheckAuthTypeOnLock(test_gaia_account_id_, true /*expect_online_auth*/); +} + +// Test that the lockscreen time limit matches the login time limit which is +// done by giving lockscreen limit a value of -2 and this will make +// "kGaiaLockScreenOfflineSigninTimeLimitDays" get the value set for +// "kGaiaOfflineSigninTimeLimitDays" +// --------------------------------------------------- +// Test when login limit is not set (policy value = -1) +// --------------------------------------------------- +TEST_F(OfflineSigninLimiterTest, GaiaLockscreenReauthMatchLoginNoLimit) { + AddGaiaUser(); + PrefService* prefs = profile_->GetPrefs(); + + // Set the time of last login with only Gaia + prefs->SetTime(prefs::kGaiaLastOnlineSignInTime, + task_environment_.GetMockClock()->Now()); + + // Set time limit of loginscreen to -1 (no limit). + prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, + constants::kOfflineSigninTimeLimitNotSet); + + // Set a value of -2 which matches the lockscreen limit to the login limit + // which is now -1. + prefs->SetInteger(prefs::kGaiaLockScreenOfflineSigninTimeLimitDays, + constants::kLockScreenOfflineSigninTimeLimitDaysMatchLogin); + + // Create limiter instance + CreateLimiter(); + + // Advance time by four weeks. + task_environment_.FastForwardBy(base::Days(28)); // 4 weeks. + + // Authenticate offline + limiter_->SignedIn(UserContext::AUTH_FLOW_OFFLINE); + + CheckAuthTypeOnLock(test_gaia_account_id_, false /*expect_online_auth*/); +} + +// --------------------------------------------------- +// Test when login limit is Zero +// --------------------------------------------------- +TEST_F(OfflineSigninLimiterTest, GaiaLockscreenReauthMatchLoginZeroLimit) { + AddGaiaUser(); + PrefService* prefs = profile_->GetPrefs(); + + // Set the time of last login with only Gaia + prefs->SetTime(prefs::kGaiaLastOnlineSignInTime, + task_environment_.GetMockClock()->Now()); + + // Set time limit of loginscreen to 0. + prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, 0); + + // Set a value of -2 which matches the lockscreen limit to the login limit + // which is now zero. + prefs->SetInteger(prefs::kGaiaLockScreenOfflineSigninTimeLimitDays, + constants::kLockScreenOfflineSigninTimeLimitDaysMatchLogin); + + // Create limiter instance + CreateLimiter(); + + // Advance time by 4 days. + task_environment_.FastForwardBy(base::Days(4)); + + // Authenticate online and check that lockscreen timer is not running as + // reauthentication is required. + limiter_->SignedIn(UserContext::AUTH_FLOW_GAIA_WITHOUT_SAML); + + const base::Time last_gaia_signin_time = + prefs->GetTime(prefs::kGaiaLastOnlineSignInTime); + EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); + + CheckAuthTypeOnLock(test_gaia_account_id_, true /*expect_online_auth*/); + + // Advance time by 2 hours. + task_environment_.FastForwardBy(base::Hours(2)); + + CheckAuthTypeOnLock(test_gaia_account_id_, true /*expect_online_auth*/); +} + +// ------------------------------------------------------------- +// Test when login limit is 14 days (reauth every 2 weeks) +// ------------------------------------------------------------- +TEST_F(OfflineSigninLimiterTest, GaiaLockscreenReauthMatchLoginWithLimit) { + AddGaiaUser(); + PrefService* prefs = profile_->GetPrefs(); + + // Set the time of last login with only Gaia + prefs->SetTime(prefs::kGaiaLastOnlineSignInTime, + task_environment_.GetMockClock()->Now()); + + // Set time limit of loginscreen to 14. + prefs->SetInteger(prefs::kGaiaOfflineSigninTimeLimitDays, 14); + + // Set a value of -2 which matches the lockscreen limit to the login limit + // which is now 14. + prefs->SetInteger(prefs::kGaiaLockScreenOfflineSigninTimeLimitDays, + constants::kLockScreenOfflineSigninTimeLimitDaysMatchLogin); + + // Create limiter instance + CreateLimiter(); + + // Advance time by four days. + task_environment_.FastForwardBy(base::Days(4)); + + // Authenticate offline and check if lockscreen timer is still running. + limiter_->SignedIn(UserContext::AUTH_FLOW_OFFLINE); + EXPECT_TRUE(limiter_->GetLockscreenTimerForTesting()->IsRunning()); + + // Advance time by four weeks. + task_environment_.FastForwardBy(base::Days(28)); // 4 weeks. + + CheckAuthTypeOnLock(test_gaia_account_id_, true /*expect_online_auth*/); } TEST_F(OfflineSigninLimiterTest, NoSAMLDefaultLimit) { @@ -639,7 +896,7 @@ EXPECT_FALSE(pref->HasUserSetting()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. Verify that the flag enforcing online login is not set. DestroyLimiter(); @@ -655,7 +912,7 @@ EXPECT_FALSE(pref->HasUserSetting()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, NoSAMLNoLimit) { @@ -663,7 +920,8 @@ PrefService* prefs = profile_->GetPrefs(); // Remove the time limit. - prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, -1); + prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, + constants::kOfflineSigninTimeLimitNotSet); // Set the time of last login with SAML. prefs->SetTime(prefs::kSAMLLastGAIASignInTime, @@ -681,7 +939,7 @@ EXPECT_FALSE(pref->HasUserSetting()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. Verify that the flag enforcing online login is not set. DestroyLimiter(); @@ -698,7 +956,7 @@ EXPECT_FALSE(pref->HasUserSetting()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, NoSAMLZeroLimit) { @@ -724,7 +982,7 @@ EXPECT_FALSE(pref->HasUserSetting()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. Verify that the flag enforcing online login is not set. DestroyLimiter(); @@ -741,7 +999,7 @@ EXPECT_FALSE(pref->HasUserSetting()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, NoSAMLSetLimitWhileLoggedIn) { @@ -749,7 +1007,8 @@ PrefService* prefs = profile_->GetPrefs(); // Remove the time limit. - prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, -1); + prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, + constants::kOfflineSigninTimeLimitNotSet); // Set the time of last login with SAML. prefs->SetTime(prefs::kSAMLLastGAIASignInTime, @@ -767,13 +1026,13 @@ EXPECT_FALSE(pref->HasUserSetting()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Set a zero time limit. prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, 0); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, NoSAMLRemoveLimitWhileLoggedIn) { @@ -796,13 +1055,14 @@ EXPECT_FALSE(pref->HasUserSetting()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Remove the time limit. - prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, -1); + prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, + constants::kOfflineSigninTimeLimitNotSet); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, NoSAMLLogInWithExpiredLimit) { @@ -828,7 +1088,7 @@ EXPECT_FALSE(pref->HasUserSetting()); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, SAMLDefaultLimit) { @@ -846,7 +1106,7 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that the timer is running. - EXPECT_TRUE(timer_->IsRunning()); + EXPECT_TRUE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. Verify that the flag enforcing online login is not set. DestroyLimiter(); @@ -864,7 +1124,7 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that the timer is running. - EXPECT_TRUE(timer_->IsRunning()); + EXPECT_TRUE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. Verify that the flag enforcing online login is not set. DestroyLimiter(); @@ -884,7 +1144,7 @@ EXPECT_EQ(gaia_signin_time, last_gaia_signin_time); // Verify that the timer is running. - EXPECT_TRUE(timer_->IsRunning()); + EXPECT_TRUE(limiter_->GetTimerForTesting()->IsRunning()); // Advance time by four weeks. task_environment_.FastForwardBy(base::Days(28)); // 4 weeks. @@ -896,7 +1156,8 @@ PrefService* prefs = profile_->GetPrefs(); // Remove the time limit. - prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, -1); + prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, + constants::kOfflineSigninTimeLimitNotSet); // Authenticate against GAIA with SAML. Verify that the flag enforcing online // login is cleared and the time of last login with SAML is set. @@ -909,7 +1170,7 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. Verify that the flag enforcing online login is not set. DestroyLimiter(); @@ -927,7 +1188,7 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Log out. Verify that the flag enforcing online login is not set. DestroyLimiter(); @@ -947,7 +1208,7 @@ EXPECT_EQ(gaia_signin_time, last_gaia_signin_time); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, SAMLZeroLimit) { @@ -974,7 +1235,8 @@ PrefService* prefs = profile_->GetPrefs(); // Remove the time limit. - prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, -1); + prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, + constants::kOfflineSigninTimeLimitNotSet); // Authenticate against GAIA with SAML. Verify that the flag enforcing online // login is cleared and the time of last login with SAML is set. @@ -987,7 +1249,7 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that no timer is running. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); // Set a zero time limit. Verify that the flag enforcing online login is set. prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, 0); @@ -1009,10 +1271,11 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that the timer is running. - EXPECT_TRUE(timer_->IsRunning()); + EXPECT_TRUE(limiter_->GetTimerForTesting()->IsRunning()); // Remove the time limit. - prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, -1); + prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, + constants::kOfflineSigninTimeLimitNotSet); EXPECT_FALSE(user->force_online_signin()); // TODO: check timer_ condition here. @@ -1040,7 +1303,7 @@ EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); // Verify that the timer is running. - EXPECT_TRUE(timer_->IsRunning()); + EXPECT_TRUE(limiter_->GetTimerForTesting()->IsRunning()); } TEST_F(OfflineSigninLimiterTest, SAMLLogInOfflineWithExpiredLimit) { @@ -1119,25 +1382,212 @@ // Verify that we enter InSessionPasswordSyncManager::ForceReauthOnLockScreen. EXPECT_TRUE(password_sync_manager->IsLockReauthEnabled()); // After changing the re-auth flag timer should be stopped. - EXPECT_FALSE(timer_->IsRunning()); + EXPECT_FALSE(limiter_->GetTimerForTesting()->IsRunning()); } -TEST_F(OfflineSigninLimiterTest, SAMLLockscreenReauthDefaultLimit) { +TEST_F(OfflineSigninLimiterTest, SAMLLockscreenReauthNoLimit) { + // Test that the saml user is not forced to reauthenticate on the lockscreen + // after some time has passed. + AddSAMLUser(); PrefService* prefs = profile_->GetPrefs(); - // Set the time of last login with SAML, time limit defaults to -1 which is no - // limit. + // Set the time of last login with SAML. prefs->SetTime(prefs::kSAMLLastGAIASignInTime, task_environment_.GetMockClock()->Now()); + // Remove the time limit. + prefs->SetInteger(prefs::kSamlLockScreenOfflineSigninTimeLimitDays, + constants::kOfflineSigninTimeLimitNotSet); + + // Create limiter instance + CreateLimiter(); + // Advance time by four weeks. task_environment_.FastForwardBy(base::Days(28)); // 4 weeks. - // Authenticate offline and check if lockscreen timer is not running. - CreateLimiter(); + // Authenticate offline limiter_->SignedIn(UserContext::AUTH_FLOW_OFFLINE); - EXPECT_FALSE(lockscreen_timer_->IsRunning()); + + CheckAuthTypeOnLock(test_saml_account_id_, false /*expect_online_auth*/); +} + +TEST_F(OfflineSigninLimiterTest, SAMLLockscreenReauthZeroLimit) { + // Test that the saml user is required to go through online reauthentication + // on the lock screen every time the screen is locked. + + AddSAMLUser(); + PrefService* prefs = profile_->GetPrefs(); + + // Set the time of last login with SAML + prefs->SetTime(prefs::kSAMLLastGAIASignInTime, + task_environment_.GetMockClock()->Now()); + + // Set a zero time limit which requires online reauth every time. + prefs->SetInteger(prefs::kSamlLockScreenOfflineSigninTimeLimitDays, 0); + + // Create limiter instance + CreateLimiter(); + + // Advance time by 4 days. + task_environment_.FastForwardBy(base::Days(4)); + + // Authenticate online and check that lockscreen timer is not running as + // reauthentication is required. + limiter_->SignedIn(UserContext::AUTH_FLOW_GAIA_WITH_SAML); + + const base::Time last_gaia_signin_time = + prefs->GetTime(prefs::kSAMLLastGAIASignInTime); + EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); + + CheckAuthTypeOnLock(test_saml_account_id_, true /*expect_online_auth*/); + + // Advance time by 2 hours. + task_environment_.FastForwardBy(base::Hours(2)); + + CheckAuthTypeOnLock(test_saml_account_id_, true /*expect_online_auth*/); +} + +TEST_F(OfflineSigninLimiterTest, SAMLLockscreenReauthWithLimit) { + // Test that the saml user is required to go through online reauthentication + // on the lock screen when the time limit for the lockscreen has passed. + + AddSAMLUser(); + PrefService* prefs = profile_->GetPrefs(); + + // Set the time of last login with SAML + prefs->SetTime(prefs::kSAMLLastGAIASignInTime, + task_environment_.GetMockClock()->Now()); + + // Add reauth time limit of 2 weeks. + prefs->SetInteger(prefs::kSamlLockScreenOfflineSigninTimeLimitDays, 14); + + // Create limiter instance + CreateLimiter(); + + // Advance time by four days. + task_environment_.FastForwardBy(base::Days(4)); + + // Authenticate offline and check if lockscreen timer is still running. + limiter_->SignedIn(UserContext::AUTH_FLOW_OFFLINE); + EXPECT_TRUE(limiter_->GetLockscreenTimerForTesting()->IsRunning()); + + // Advance time by four weeks. + task_environment_.FastForwardBy(base::Days(28)); // 4 weeks. + + CheckAuthTypeOnLock(test_saml_account_id_, true /*expect_online_auth*/); +} + +// Test that the lockscreen time limit matches the login time limit which is +// done by giving lockscreen limit a value of -2 and this will make +// "kSamlLockScreenOfflineSigninTimeLimitDays" get the value set for +// "kSAMLOfflineSigninTimeLimit" +// --------------------------------------------------- +// Test when login limit is not set (policy value = -1) +// --------------------------------------------------- +TEST_F(OfflineSigninLimiterTest, SAMLLockscreenReauthMatchLoginNoLimit) { + AddSAMLUser(); + PrefService* prefs = profile_->GetPrefs(); + + // Set the time of last login with SAML + prefs->SetTime(prefs::kSAMLLastGAIASignInTime, + task_environment_.GetMockClock()->Now()); + + // Set time limit of loginscreen to -1 (no limit). + prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, + constants::kOfflineSigninTimeLimitNotSet); + + // Set a value of -2 which matches the lockscreen limit to the login limit + // which is now -1. + prefs->SetInteger(prefs::kSamlLockScreenOfflineSigninTimeLimitDays, + constants::kLockScreenOfflineSigninTimeLimitDaysMatchLogin); + + // Create limiter instance + CreateLimiter(); + + // Advance time by four weeks. + task_environment_.FastForwardBy(base::Days(28)); // 4 weeks. + + // Authenticate offline + limiter_->SignedIn(UserContext::AUTH_FLOW_OFFLINE); + + CheckAuthTypeOnLock(test_saml_account_id_, false /*expect_online_auth*/); +} + +// --------------------------------------------------- +// Test when login limit is Zero +// --------------------------------------------------- +TEST_F(OfflineSigninLimiterTest, SAMLLockscreenReauthMatchLoginZeroLimit) { + AddSAMLUser(); + PrefService* prefs = profile_->GetPrefs(); + + // Set the time of last login with SAML + prefs->SetTime(prefs::kSAMLLastGAIASignInTime, + task_environment_.GetMockClock()->Now()); + + // Set time limit of loginscreen to 0. + prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, 0); + + // Set a value of -2 which matches the lockscreen limit to the login limit + // which is now zero. + prefs->SetInteger(prefs::kSamlLockScreenOfflineSigninTimeLimitDays, + constants::kLockScreenOfflineSigninTimeLimitDaysMatchLogin); + + // Create limiter instance + CreateLimiter(); + + // Advance time by 4 days. + task_environment_.FastForwardBy(base::Days(4)); + + // Authenticate online and check that lockscreen timer is not running as + // reauthentication is required. + limiter_->SignedIn(UserContext::AUTH_FLOW_GAIA_WITH_SAML); + + const base::Time last_gaia_signin_time = + prefs->GetTime(prefs::kSAMLLastGAIASignInTime); + EXPECT_EQ(task_environment_.GetMockClock()->Now(), last_gaia_signin_time); + + CheckAuthTypeOnLock(test_saml_account_id_, true /*expect_online_auth*/); + + // Advance time by 2 hours. + task_environment_.FastForwardBy(base::Hours(2)); + + CheckAuthTypeOnLock(test_saml_account_id_, true /*expect_online_auth*/); +} + +// ------------------------------------------------------------- +// Test when login limit is 14 days (reauth every 2 weeks) +// ------------------------------------------------------------- +TEST_F(OfflineSigninLimiterTest, SAMLLockscreenReauthMatchLoginWithLimit) { + AddSAMLUser(); + PrefService* prefs = profile_->GetPrefs(); + + // Set the time of last login with SAML + prefs->SetTime(prefs::kSAMLLastGAIASignInTime, + task_environment_.GetMockClock()->Now()); + + // Set time limit of loginscreen to 14. + prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, 14); + + // Set a value of -2 which matches the lockscreen limit to the login limit + // which is now 14. + prefs->SetInteger(prefs::kSamlLockScreenOfflineSigninTimeLimitDays, + constants::kLockScreenOfflineSigninTimeLimitDaysMatchLogin); + + // Create limiter instance + CreateLimiter(); + + // Advance time by four days. + task_environment_.FastForwardBy(base::Days(4)); + + // Authenticate offline and check if lockscreen timer is still running. + limiter_->SignedIn(UserContext::AUTH_FLOW_OFFLINE); + EXPECT_TRUE(limiter_->GetLockscreenTimerForTesting()->IsRunning()); + + // Advance time by four weeks. + task_environment_.FastForwardBy(base::Days(28)); // 4 weeks. + + CheckAuthTypeOnLock(test_saml_account_id_, true /*expect_online_auth*/); } } // namespace ash
diff --git a/chrome/browser/ash/login/version_info_updater.cc b/chrome/browser/ash/login/version_info_updater.cc index acaf131..e1a2d9d 100644 --- a/chrome/browser/ash/login/version_info_updater.cc +++ b/chrome/browser/ash/login/version_info_updater.cc
@@ -84,7 +84,9 @@ policy::DeviceCloudPolicyManagerAsh* policy_manager = connector->GetDeviceCloudPolicyManager(); if (policy_manager) { - policy_manager->core()->store()->AddObserver(this); + if (!policy_manager->core()->store()->HasObserver(this)) { + policy_manager->core()->store()->AddObserver(this); + } // Ensure that we have up-to-date enterprise info in case enterprise policy // is already fetched and has finished initialization.
diff --git a/chrome/browser/ash/policy/dlp/dlp_files_controller_unittest.cc b/chrome/browser/ash/policy/dlp/dlp_files_controller_unittest.cc index 974b355..467d65ae 100644 --- a/chrome/browser/ash/policy/dlp/dlp_files_controller_unittest.cc +++ b/chrome/browser/ash/policy/dlp/dlp_files_controller_unittest.cc
@@ -478,10 +478,25 @@ files_controller_->GetDisallowedTransfers( transferred_files, dst_url, /*is_move=*/false, future.GetCallback()); - std::vector<storage::FileSystemURL> expected_restricted_files( - {files_urls[0], files_urls[1], files_urls[2]}); ASSERT_EQ(3u, future.Get().size()); - EXPECT_EQ(expected_restricted_files, future.Take()); + EXPECT_EQ(transferred_files, future.Take()); + + // Validate the request sent to the daemon. + std::vector<std::string> expected_requested_files; + for (const auto& file_url : files_urls) { + expected_requested_files.push_back(file_url.path().value()); + } + + ::dlp::CheckFilesTransferRequest request = + chromeos::DlpClient::Get() + ->GetTestInterface() + ->GetLastCheckFilesTransferRequest(); + std::vector<std::string> requested_files(request.files_paths().begin(), + request.files_paths().end()); + EXPECT_THAT(requested_files, + testing::UnorderedElementsAreArray(expected_requested_files)); + EXPECT_EQ(dst_url.path().value(), request.destination_url()); + EXPECT_EQ(::dlp::FileAction::COPY, request.file_action()); } TEST_F(DlpFilesControllerTest, GetDisallowedTransfers_MultiFolder) { @@ -586,32 +601,16 @@ TEST_F(DlpFilesControllerTest, FilterDisallowedUploads_EmptyList) { NotificationDisplayServiceTester display_service_tester(profile_.get()); - std::vector<FileDaemonInfo> files{ - FileDaemonInfo(kInode1, my_files_dir_.AppendASCII(kFilePath1), - kExampleUrl1), - FileDaemonInfo(kInode2, my_files_dir_.AppendASCII(kFilePath2), - kExampleUrl2), - FileDaemonInfo(kInode3, my_files_dir_.AppendASCII(kFilePath3), - kExampleUrl3)}; - std::vector<FileSystemURL> files_urls; - AddFilesToDlpClient(std::move(files), files_urls); - - std::vector<ui::SelectedFileInfo> uploaded_files; - - ::dlp::CheckFilesTransferResponse check_files_transfer_response; - base::test::TestFuture<std::vector<ui::SelectedFileInfo>> future; ASSERT_TRUE(files_controller_); files_controller_->FilterDisallowedUploads( - std::move(uploaded_files), - DlpFilesController::DlpFileDestination("https://example.com"), + {}, DlpFilesController::DlpFileDestination(kExampleUrl1), future.GetCallback()); std::vector<ui::SelectedFileInfo> filtered_uploads; ASSERT_EQ(0u, future.Get().size()); - EXPECT_EQ(filtered_uploads, future.Take()); EXPECT_FALSE( display_service_tester.GetNotification(kUploadBlockedNotificationId)); } @@ -655,7 +654,7 @@ ASSERT_TRUE(files_controller_); files_controller_->FilterDisallowedUploads( std::move(uploaded_files), - DlpFilesController::DlpFileDestination("https://example.com"), + DlpFilesController::DlpFileDestination(kExampleUrl1), future.GetCallback()); std::vector<ui::SelectedFileInfo> filtered_uploads; @@ -665,6 +664,23 @@ EXPECT_EQ(filtered_uploads, future.Take()); EXPECT_TRUE( display_service_tester.GetNotification(kUploadBlockedNotificationId)); + + // Validate the request sent to the daemon. + std::vector<std::string> expected_requested_files; + for (const auto& file_url : files_urls) { + expected_requested_files.push_back(file_url.path().value()); + } + + ::dlp::CheckFilesTransferRequest request = + chromeos::DlpClient::Get() + ->GetTestInterface() + ->GetLastCheckFilesTransferRequest(); + std::vector<std::string> requested_files(request.files_paths().begin(), + request.files_paths().end()); + EXPECT_THAT(requested_files, + testing::UnorderedElementsAreArray(expected_requested_files)); + EXPECT_EQ(kExampleUrl1, request.destination_url()); + EXPECT_EQ(::dlp::FileAction::UPLOAD, request.file_action()); } TEST_F(DlpFilesControllerTest, FilterDisallowedUploads_ErrorResponse) { @@ -775,6 +791,23 @@ EXPECT_EQ(expected_filtered_uploads, future.Take()); EXPECT_TRUE( display_service_tester.GetNotification(kUploadBlockedNotificationId)); + + // Validate the request sent to the daemon. + std::vector<std::string> expected_requested_files; + for (const auto& file_url : files_urls) { + expected_requested_files.push_back(file_url.path().value()); + } + + ::dlp::CheckFilesTransferRequest request = + chromeos::DlpClient::Get() + ->GetTestInterface() + ->GetLastCheckFilesTransferRequest(); + std::vector<std::string> requested_files(request.files_paths().begin(), + request.files_paths().end()); + EXPECT_THAT(requested_files, + testing::UnorderedElementsAreArray(expected_requested_files)); + EXPECT_EQ(kExampleUrl1, request.destination_url()); + EXPECT_EQ(::dlp::FileAction::UPLOAD, request.file_action()); } TEST_F(DlpFilesControllerTest, GetDlpMetadata) {
diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc index 696574b..3c75f49 100644 --- a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc +++ b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc
@@ -966,6 +966,7 @@ api::passwords_private::DomainInfo domainInfo; domainInfo.name = domain.name; domainInfo.url = domain.url.spec(); + domainInfo.signon_realm = domain.signon_realm; return domainInfo; }); }
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json index 83e656e..52f0397f 100644 --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json
@@ -5166,6 +5166,11 @@ "expiry_milestone": 96 }, { + "name": "omnibox-discard-temporary-input-on-tab-switch", + "owners": [ "manukh", "chrome-desktop-search@google.com" ], + "expiry_milestone": 120 + }, + { "name": "omnibox-domain-suggestions", "owners": ["manukh", "chrome-omnibox-team@google.com"], "expiry_milestone": 120
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc index 5ed0941..f93fcad 100644 --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -2043,6 +2043,11 @@ const char kOmniboxDisableCGIParamMatchingDescription[] = "Disables using matches in CGI parameter names while scoring suggestions."; +const char kOmniboxDiscardTemporaryInputOnTabSwitchName[] = + "Omnibox discard temporary input on tab switch"; +const char kOmniboxDiscardTemporaryInputOnTabSwitchDescription[] = + "Discards temporary input in the omnibox when switching tabs."; + const char kOmniboxDomainSuggestionsName[] = "Omnibox Domain Suggestions"; const char kOmniboxDomainSuggestionsDescription[] = "If enabled, history URL suggestions from hosts visited often bypass the "
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h index 9479002..4af1392 100644 --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -1143,6 +1143,9 @@ extern const char kOmniboxDisableCGIParamMatchingName[]; extern const char kOmniboxDisableCGIParamMatchingDescription[]; +extern const char kOmniboxDiscardTemporaryInputOnTabSwitchName[]; +extern const char kOmniboxDiscardTemporaryInputOnTabSwitchDescription[]; + extern const char kOmniboxDomainSuggestionsName[]; extern const char kOmniboxDomainSuggestionsDescription[];
diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc index a16f7d7..10fe643 100644 --- a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc +++ b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
@@ -92,6 +92,10 @@ #include "chromeos/crosapi/cpp/crosapi_constants.h" #endif // BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_CHROMEOS_ASH) +#include "chromeos/startup/startup_switches.h" +#endif // BUILDFLAG(IS_CHROMEOS_ASH) + #if BUILDFLAG(IS_LINUX) #include "chrome/browser/metrics/pressure/pressure_metrics_reporter.h" #endif // BUILDFLAG(IS_LINUX) @@ -579,6 +583,16 @@ ChromeMetricsServiceAccessor::RegisterSyntheticFieldTrial(trial_name, group_name); } + +#if BUILDFLAG(IS_CHROMEOS_ASH) + // Register a synthetic finch trial for whether the zygote hugepage remap + // feature is enabled. + bool hugepage_remap = base::CommandLine::ForCurrentProcess()->HasSwitch( + chromeos::switches::kZygoteHugepageRemap); + ChromeMetricsServiceAccessor::RegisterSyntheticFieldTrial( + "ZygoteHugepageRemap", hugepage_remap ? "Enabled" : "Disabled", + variations::SyntheticTrialAnnotationMode::kCurrentLog); +#endif } void ChromeBrowserMainExtraPartsMetrics::PostBrowserStart() {
diff --git a/chrome/browser/nearby_sharing/tcp_socket/nearby_connections_tcp_socket_factory.cc b/chrome/browser/nearby_sharing/tcp_socket/nearby_connections_tcp_socket_factory.cc index f0cc283..dec51fe2 100644 --- a/chrome/browser/nearby_sharing/tcp_socket/nearby_connections_tcp_socket_factory.cc +++ b/chrome/browser/nearby_sharing/tcp_socket/nearby_connections_tcp_socket_factory.cc
@@ -93,10 +93,11 @@ std::move(callback).Run(net::ERR_FAILED, /*local_addr=*/absl::nullopt); return; } - + auto options = network::mojom::TCPServerSocketOptions::New(); + options->backlog = backlog; network_context->CreateTCPServerSocket( - net::IPEndPoint(local_addr, port.port()), backlog, traffic_annotation, - std::move(receiver), + net::IPEndPoint(local_addr, port.port()), std::move(options), + traffic_annotation, std::move(receiver), base::BindOnce( &NearbyConnectionsTcpSocketFactory::OnTcpServerSocketCreated, weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
diff --git a/chrome/browser/nearby_sharing/tcp_socket/nearby_connections_tcp_socket_factory_unittest.cc b/chrome/browser/nearby_sharing/tcp_socket/nearby_connections_tcp_socket_factory_unittest.cc index c4f44589..bb708443 100644 --- a/chrome/browser/nearby_sharing/tcp_socket/nearby_connections_tcp_socket_factory_unittest.cc +++ b/chrome/browser/nearby_sharing/tcp_socket/nearby_connections_tcp_socket_factory_unittest.cc
@@ -45,12 +45,12 @@ // network::TestNetworkContext: void CreateTCPServerSocket( const net::IPEndPoint& local_addr, - uint32_t backlog, + network::mojom::TCPServerSocketOptionsPtr options, const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver<network::mojom::TCPServerSocket> socket, CreateTCPServerSocketCallback callback) override { EXPECT_EQ(kLocalAddress, local_addr); - EXPECT_EQ(kBacklog, backlog); + EXPECT_EQ(kBacklog, options->backlog); EXPECT_EQ(traffic_annotation, net::MutableNetworkTrafficAnnotationTag( TRAFFIC_ANNOTATION_FOR_TESTS)); std::move(callback).Run(net::OK, local_addr);
diff --git a/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc b/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc index ca92055..8880bc43 100644 --- a/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc +++ b/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc
@@ -3661,6 +3661,66 @@ } } +IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, SameOriginNavigation) { + ASSERT_TRUE(embedded_test_server()->Start()); + + GURL kUrl1 = embedded_test_server()->GetURL("a.com", "/title1.html"); + GURL kUrl2 = embedded_test_server()->GetURL("a.com", "/title2.html"); + + auto waiter1 = CreatePageLoadMetricsTestWaiter("waiter1"); + waiter1->AddPageExpectation(TimingField::kLargestContentfulPaint); + ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), kUrl1)); + waiter1->Wait(); + + auto waiter2 = CreatePageLoadMetricsTestWaiter("waiter2"); + waiter2->AddPageExpectation(TimingField::kLargestContentfulPaint); + ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), kUrl2)); + waiter2->Wait(); + + NavigateToUntrackedUrl(); + VerifyNavigationMetrics({kUrl1, kUrl2}); + + // Navigation from about:blank to kUrl1 is a cross origin navigation. + histogram_tester_->ExpectTotalCount( + "PageLoad.Clients.CrossOrigin.FirstContentfulPaint", 1); + histogram_tester_->ExpectTotalCount( + "PageLoad.Clients.CrossOrigin.LargestContentfulPaint", 1); + // Navigation from kUrl1 to kUrl2 is a same origin navigation. + histogram_tester_->ExpectTotalCount( + "PageLoad.Clients.SameOrigin.FirstContentfulPaint", 1); + histogram_tester_->ExpectTotalCount( + "PageLoad.Clients.SameOrigin.LargestContentfulPaint", 1); +} + +IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, CrossOriginNavigation) { + ASSERT_TRUE(embedded_test_server()->Start()); + + GURL kUrl1 = embedded_test_server()->GetURL("a.com", "/title1.html"); + GURL kUrl2 = embedded_test_server()->GetURL("b.com", "/title1.html"); + + auto waiter1 = CreatePageLoadMetricsTestWaiter("waiter1"); + waiter1->AddPageExpectation(TimingField::kFirstContentfulPaint); + waiter1->AddPageExpectation(TimingField::kLargestContentfulPaint); + ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), kUrl1)); + waiter1->Wait(); + + auto waiter2 = CreatePageLoadMetricsTestWaiter("waiter2"); + waiter2->AddPageExpectation(TimingField::kFirstContentfulPaint); + waiter1->AddPageExpectation(TimingField::kLargestContentfulPaint); + ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), kUrl2)); + waiter2->Wait(); + + NavigateToUntrackedUrl(); + VerifyNavigationMetrics({kUrl1, kUrl2}); + + // Navigation from about:blank to kUrl1 and navigation from kUrl1 to kUrl2 are + // cross origin navigations. + histogram_tester_->ExpectTotalCount( + "PageLoad.Clients.CrossOrigin.FirstContentfulPaint", 2); + histogram_tester_->ExpectTotalCount( + "PageLoad.Clients.CrossOrigin.LargestContentfulPaint", 2); +} + class PageLoadMetricsBrowserTestWithFencedFrames : public PageLoadMetricsBrowserTest { public:
diff --git a/chrome/browser/resources/password_manager/dialogs/add_password_dialog.html b/chrome/browser/resources/password_manager/dialogs/add_password_dialog.html index a4eb7206..4a6dec04 100644 --- a/chrome/browser/resources/password_manager/dialogs/add_password_dialog.html +++ b/chrome/browser/resources/password_manager/dialogs/add_password_dialog.html
@@ -43,9 +43,12 @@ error-message="[[websiteErrorMessage_]]" on-input="validateWebsite_" on-blur="onWebsiteInputBlur_"> </cr-input> - <!-- TODO(crbug.com/1398560): Show error when username already exists --> <!-- TODO(crbug.com/1398560): Show a link to existing password --> - <cr-input id="usernameInput" label="$i18n{usernameLabel}"></cr-input> + <cr-input id="usernameInput" label="$i18n{usernameLabel}" + value="{{username_}}" + invalid="[[isUsernameInputInvalid_(usernameErrorMessage_)]]" + error-message="[[usernameErrorMessage_]]"> + </cr-input> <!-- TODO(crbug.com/1398560): Show error message if password is empty --> <cr-input id="passwordInput" label="$i18n{passwordLabel}" type="password" required>
diff --git a/chrome/browser/resources/password_manager/dialogs/add_password_dialog.ts b/chrome/browser/resources/password_manager/dialogs/add_password_dialog.ts index 4099a4eb..ce7ceb1 100644 --- a/chrome/browser/resources/password_manager/dialogs/add_password_dialog.ts +++ b/chrome/browser/resources/password_manager/dialogs/add_password_dialog.ts
@@ -13,6 +13,7 @@ import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import {CrInputElement} from 'chrome://resources/cr_elements/cr_input/cr_input.js'; import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js'; +import {assert} from 'chrome://resources/js/assert_ts.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {PasswordManagerImpl} from '../password_manager_proxy.js'; @@ -23,11 +24,28 @@ $: { dialog: CrDialogElement, websiteInput: CrInputElement, + usernameInput: CrInputElement, }; } const AddPasswordDialogElementBase = I18nMixin(PolymerElement); +function getUsernamesByOrigin( + passwords: chrome.passwordsPrivate.PasswordUiEntry[]): + Map<string, Set<string>> { + // Group existing usernames by signonRealm. + return passwords.reduce(function(usernamesByOrigin, entry) { + assert(entry.affiliatedDomains); + for (const domain of entry.affiliatedDomains) { + if (!usernamesByOrigin.has(domain.signonRealm)) { + usernamesByOrigin.set(domain.signonRealm, new Set()); + } + usernamesByOrigin.get(domain.signonRealm).add(entry.username); + } + return usernamesByOrigin; + }, new Map()); +} + export class AddPasswordDialogElement extends AddPasswordDialogElementBase { static get is() { return 'add-password-dialog'; @@ -40,16 +58,57 @@ static get properties() { return { website_: String, + username_: String, + + urlCollection_: Object, + + usernamesBySignonRealm_: { + type: Object, + values: () => new Map(), + }, /** * Error message if the website input is invalid. */ websiteErrorMessage_: {type: String, value: null}, + + usernameErrorMessage_: { + type: String, + computed: 'computeUsernameErrorMessage_(urlCollection_, username_, ' + + 'usernamesBySignonRealm_)', + }, }; } private website_: string; + private username_: string; + private usernamesBySignonRealm_: Map<string, Set<string>>; private websiteErrorMessage_: string|null; + private usernameErrorMessage_: string|null; + private urlCollection_: chrome.passwordsPrivate.UrlCollection|null; + + private setSavedPasswordsListener_: ( + (entries: chrome.passwordsPrivate.PasswordUiEntry[]) => void)|null = null; + + override connectedCallback() { + super.connectedCallback(); + this.setSavedPasswordsListener_ = passwordList => { + this.usernamesBySignonRealm_ = getUsernamesByOrigin(passwordList); + }; + + PasswordManagerImpl.getInstance().getSavedPasswordList().then( + this.setSavedPasswordsListener_); + PasswordManagerImpl.getInstance().addSavedPasswordListChangedListener( + this.setSavedPasswordsListener_); + } + + override disconnectedCallback() { + super.disconnectedCallback(); + assert(this.setSavedPasswordsListener_); + PasswordManagerImpl.getInstance().removeSavedPasswordListChangedListener( + this.setSavedPasswordsListener_); + this.setSavedPasswordsListener_ = null; + } private onCancel_() { this.$.dialog.close(); @@ -62,10 +121,9 @@ PasswordManagerImpl.getInstance() .getUrlCollection(this.website_) .then(urlCollection => { - this.websiteErrorMessage_ = null; - if (!urlCollection) { - this.websiteErrorMessage_ = this.i18n('notValidWebsite'); - } + this.urlCollection_ = urlCollection; + this.websiteErrorMessage_ = + !urlCollection ? this.i18n('notValidWebsite') : null; }) .catch(() => this.websiteErrorMessage_ = this.i18n('notValidWebsite')); } @@ -80,6 +138,22 @@ private isWebsiteInputInvalid_(): boolean { return !!this.websiteErrorMessage_; } + + private computeUsernameErrorMessage_(): string|null { + const signonRealm = this.urlCollection_?.signonRealm; + if (!signonRealm) { + return null; + } + if (this.usernamesBySignonRealm_.has(signonRealm) && + this.usernamesBySignonRealm_.get(signonRealm)!.has(this.username_)) { + return this.i18n('usernameAlreadyUsed', this.website_); + } + return null; + } + + private isUsernameInputInvalid_(): boolean { + return !!this.usernameErrorMessage_; + } } declare global {
diff --git a/chrome/browser/touch_to_fill/touch_to_fill_controller_autofill_delegate.cc b/chrome/browser/touch_to_fill/touch_to_fill_controller_autofill_delegate.cc index 496b4f8..5ba93e62 100644 --- a/chrome/browser/touch_to_fill/touch_to_fill_controller_autofill_delegate.cc +++ b/chrome/browser/touch_to_fill/touch_to_fill_controller_autofill_delegate.cc
@@ -113,6 +113,10 @@ void TouchToFillControllerAutofillDelegate::OnCredentialSelected( const UiCredential& credential, base::OnceClosure action_complete) { + if (!driver_) { + return; + } + action_complete_ = std::move(action_complete); ukm::builders::TouchToFill_Shown(source_id_) .SetUserAction(static_cast<int64_t>(UserAction::kSelectedCredential))
diff --git a/chrome/browser/ui/autofill/autofill_context_menu_manager_browsertest.cc b/chrome/browser/ui/autofill/autofill_context_menu_manager_interactive_uitest.cc similarity index 100% rename from chrome/browser/ui/autofill/autofill_context_menu_manager_browsertest.cc rename to chrome/browser/ui/autofill/autofill_context_menu_manager_interactive_uitest.cc
diff --git a/chrome/browser/ui/autofill/autofill_popup_controller_interactive_uitest.cc b/chrome/browser/ui/autofill/autofill_popup_controller_interactive_uitest.cc index 2023e38..be3a7eb2 100644 --- a/chrome/browser/ui/autofill/autofill_popup_controller_interactive_uitest.cc +++ b/chrome/browser/ui/autofill/autofill_popup_controller_interactive_uitest.cc
@@ -22,7 +22,6 @@ #include "components/autofill/core/browser/test_autofill_external_delegate.h" #include "content/public/browser/render_frame_host.h" #include "content/public/browser/web_contents.h" -#include "content/public/browser/web_contents_observer.h" #include "content/public/test/browser_test.h" #include "net/dns/mock_host_resolver.h" #include "third_party/blink/public/mojom/frame/fullscreen.mojom.h" @@ -32,15 +31,13 @@ namespace autofill { -class AutofillPopupControllerBrowserTest : public InProcessBrowserTest, - public content::WebContentsObserver { +class AutofillPopupControllerBrowserTest : public InProcessBrowserTest { public: AutofillPopupControllerBrowserTest() = default; ~AutofillPopupControllerBrowserTest() override = default; void SetUpOnMainThread() override { web_contents()->Focus(); - Observe(web_contents()); autofill_driver_ = ContentAutofillDriverFactory::FromWebContents(web_contents()) @@ -78,10 +75,12 @@ browser(), embedded_test_server()->GetURL("/test.html"))); } - // Normally the WebContents will automatically delete the delegate, but here - // the delegate is owned by this test, so we have to manually destroy. - void RenderFrameDeleted(content::RenderFrameHost* rfh) override { + void TearDownOnMainThread() override { + // Explicitly null these raw pointers to avoid that they become dangling. autofill_external_delegate_ = nullptr; + autofill_driver_ = nullptr; + + InProcessBrowserTest::TearDownOnMainThread(); } protected: @@ -98,9 +97,8 @@ *autofill_driver_->autofill_manager()); } - raw_ptr<ContentAutofillDriver, DanglingUntriaged> autofill_driver_ = nullptr; - raw_ptr<TestAutofillExternalDelegate, DanglingUntriaged> - autofill_external_delegate_ = nullptr; + raw_ptr<ContentAutofillDriver> autofill_driver_ = nullptr; + raw_ptr<TestAutofillExternalDelegate> autofill_external_delegate_ = nullptr; std::unique_ptr<ui::ScopedAnimationDurationScaleMode> disable_animation_; }; @@ -193,6 +191,7 @@ // Delete the external delegate here so that is gets deleted before popup is // hidden. This can happen if the web_contents are destroyed before the popup // is hidden. See http://crbug.com/232475 + autofill_external_delegate_ = nullptr; autofill_manager().SetExternalDelegateForTest(nullptr); autofill_driver_->set_autofill_manager(nullptr); }
diff --git a/chrome/browser/ui/autofill/payments/autofill_error_dialog_controller_impl.h b/chrome/browser/ui/autofill/payments/autofill_error_dialog_controller_impl.h index 63445e2..db315db 100644 --- a/chrome/browser/ui/autofill/payments/autofill_error_dialog_controller_impl.h +++ b/chrome/browser/ui/autofill/payments/autofill_error_dialog_controller_impl.h
@@ -47,7 +47,7 @@ // Dismiss the error dialog if showing. void Dismiss(); - raw_ptr<content::WebContents, DanglingUntriaged> web_contents_; + const raw_ptr<content::WebContents> web_contents_; // The context of the error dialog that is being displayed. Contains // information such as the type of the error dialog that is being displayed. // |error_dialog_context_| may also contain extra information such as a
diff --git a/chrome/browser/ui/autofill/payments/autofill_error_dialog_controller_impl_unittest.cc b/chrome/browser/ui/autofill/payments/autofill_error_dialog_controller_impl_unittest.cc index faab1b6..cde29bd 100644 --- a/chrome/browser/ui/autofill/payments/autofill_error_dialog_controller_impl_unittest.cc +++ b/chrome/browser/ui/autofill/payments/autofill_error_dialog_controller_impl_unittest.cc
@@ -4,7 +4,8 @@ #include "chrome/browser/ui/autofill/payments/autofill_error_dialog_controller_impl.h" -#include "base/memory/raw_ptr.h" +#include <memory> + #include "base/strings/utf_string_conversions.h" #include "base/test/metrics/histogram_tester.h" #include "chrome/browser/ui/autofill/payments/autofill_error_dialog_controller.h" @@ -24,14 +25,25 @@ public: AutofillErrorDialogControllerImplTest() = default; - AutofillErrorDialogControllerImpl* controller() { - if (!controller_) - controller_ = new AutofillErrorDialogControllerImpl(web_contents()); - return controller_; + void SetUp() override { + ChromeRenderViewHostTestHarness::SetUp(); + controller_ = + std::make_unique<AutofillErrorDialogControllerImpl>(web_contents()); } + void TearDown() override { + // Reset explicitly to avoid a dangling pointer to the `WebContents` inside + // of the controller. This mirrors the behavior in production + // code in which `ChromeAutofillClient` owns the controller and is destroyed + // prior to the destruction of the respective `WebContents`. + controller_.reset(); + ChromeRenderViewHostTestHarness::TearDown(); + } + + AutofillErrorDialogControllerImpl* controller() { return controller_.get(); } + private: - raw_ptr<AutofillErrorDialogControllerImpl> controller_ = nullptr; + std::unique_ptr<AutofillErrorDialogControllerImpl> controller_; }; INSTANTIATE_TEST_SUITE_P(,
diff --git a/chrome/browser/ui/autofill/payments/autofill_progress_dialog_controller_impl.h b/chrome/browser/ui/autofill/payments/autofill_progress_dialog_controller_impl.h index 62b240d..dce9916 100644 --- a/chrome/browser/ui/autofill/payments/autofill_progress_dialog_controller_impl.h +++ b/chrome/browser/ui/autofill/payments/autofill_progress_dialog_controller_impl.h
@@ -55,7 +55,7 @@ } private: - raw_ptr<content::WebContents, DanglingUntriaged> web_contents_; + const raw_ptr<content::WebContents> web_contents_; // View that displays the error dialog. raw_ptr<AutofillProgressDialogView> autofill_progress_dialog_view_ = nullptr;
diff --git a/chrome/browser/ui/autofill/payments/manage_migration_ui_controller.cc b/chrome/browser/ui/autofill/payments/manage_migration_ui_controller.cc index be4be2d9..90eeb16 100644 --- a/chrome/browser/ui/autofill/payments/manage_migration_ui_controller.cc +++ b/chrome/browser/ui/autofill/payments/manage_migration_ui_controller.cc
@@ -13,27 +13,35 @@ ManageMigrationUiController::ManageMigrationUiController( content::WebContents* web_contents) : content::WebContentsUserData<ManageMigrationUiController>(*web_contents) { - autofill::LocalCardMigrationBubbleControllerImpl::CreateForWebContents( - web_contents); - bubble_controller_ = - autofill::LocalCardMigrationBubbleControllerImpl::FromWebContents( - web_contents); - bubble_controller_->AddObserver(this); + // TODO(crbug.com/1419786): Use `ScopedObservation` once the observer has a + // `OnDestroying` method to avoid that the source has dangling references to + // `this`. + LocalCardMigrationBubbleControllerImpl::CreateForWebContents(web_contents); + GetBubbleController()->AddObserver(this); - autofill::LocalCardMigrationDialogControllerImpl::CreateForWebContents( - web_contents); - dialog_controller_ = - autofill::LocalCardMigrationDialogControllerImpl::FromWebContents( - web_contents); - dialog_controller_->AddObserver(this); + LocalCardMigrationDialogControllerImpl::CreateForWebContents(web_contents); + GetDialogController()->AddObserver(this); } -ManageMigrationUiController::~ManageMigrationUiController() {} +ManageMigrationUiController::~ManageMigrationUiController() = default; + +LocalCardMigrationBubbleControllerImpl* +ManageMigrationUiController::GetBubbleController() { + return LocalCardMigrationBubbleControllerImpl::FromWebContents( + &GetWebContents()); +} + +LocalCardMigrationDialogControllerImpl* +ManageMigrationUiController::GetDialogController() { + return LocalCardMigrationDialogControllerImpl::FromWebContents( + &GetWebContents()); +} void ManageMigrationUiController::ShowBubble( base::OnceClosure show_migration_dialog_closure) { flow_step_ = LocalCardMigrationFlowStep::PROMO_BUBBLE; - bubble_controller_->ShowBubble(std::move(show_migration_dialog_closure)); + DCHECK(GetBubbleController()); + GetBubbleController()->ShowBubble(std::move(show_migration_dialog_closure)); } void ManageMigrationUiController::ShowOfferDialog( @@ -42,7 +50,8 @@ const std::vector<MigratableCreditCard>& migratable_credit_cards, AutofillClient::LocalCardMigrationCallback start_migrating_cards_callback) { flow_step_ = LocalCardMigrationFlowStep::OFFER_DIALOG; - dialog_controller_->ShowOfferDialog( + DCHECK(GetDialogController()); + GetDialogController()->ShowOfferDialog( legal_message_lines, user_email, migratable_credit_cards, std::move(start_migrating_cards_callback)); } @@ -52,8 +61,9 @@ const std::u16string& tip_message, const std::vector<MigratableCreditCard>& migratable_credit_cards, AutofillClient::MigrationDeleteCardCallback delete_local_card_callback) { - if (!dialog_controller_) + if (!GetDialogController()) { return; + } DCHECK_EQ(flow_step_, LocalCardMigrationFlowStep::MIGRATION_RESULT_PENDING); flow_step_ = LocalCardMigrationFlowStep::MIGRATION_FINISHED; @@ -71,8 +81,8 @@ // Payments Rpc failure. show_error_dialog_ = has_server_error; - dialog_controller_->UpdateCreditCardIcon(tip_message, migratable_credit_cards, - delete_local_card_callback); + GetDialogController()->UpdateCreditCardIcon( + tip_message, migratable_credit_cards, delete_local_card_callback); } void ManageMigrationUiController::OnUserClickedCreditCardIcon() { @@ -104,18 +114,14 @@ return flow_step_ != LocalCardMigrationFlowStep::NOT_SHOWN; } -AutofillBubbleBase* ManageMigrationUiController::GetBubbleView() const { - if (!bubble_controller_) - return nullptr; - - return bubble_controller_->local_card_migration_bubble_view(); +AutofillBubbleBase* ManageMigrationUiController::GetBubbleView() { + LocalCardMigrationBubbleControllerImpl* controller = GetBubbleController(); + return controller ? controller->local_card_migration_bubble_view() : nullptr; } -LocalCardMigrationDialog* ManageMigrationUiController::GetDialogView() const { - if (!dialog_controller_) - return nullptr; - - return dialog_controller_->local_card_migration_dialog_view(); +LocalCardMigrationDialog* ManageMigrationUiController::GetDialogView() { + LocalCardMigrationDialogControllerImpl* controller = GetDialogController(); + return controller ? controller->local_card_migration_dialog_view() : nullptr; } void ManageMigrationUiController::OnMigrationNoLongerAvailable() { @@ -127,30 +133,33 @@ } void ManageMigrationUiController::ReshowBubble() { - if (!bubble_controller_) + if (!GetBubbleController()) { return; + } DCHECK_EQ(flow_step_, LocalCardMigrationFlowStep::PROMO_BUBBLE); - bubble_controller_->ReshowBubble(); + GetBubbleController()->ReshowBubble(); } void ManageMigrationUiController::ShowErrorDialog() { - if (!dialog_controller_) + if (!GetDialogController()) { return; + } DCHECK_EQ(flow_step_, LocalCardMigrationFlowStep::MIGRATION_FINISHED); flow_step_ = LocalCardMigrationFlowStep::ERROR_DIALOG; - dialog_controller_->ShowErrorDialog(); + GetDialogController()->ShowErrorDialog(); } void ManageMigrationUiController::ShowFeedbackDialog() { - if (!dialog_controller_) + if (!GetDialogController()) { return; + } DCHECK(flow_step_ == LocalCardMigrationFlowStep::MIGRATION_FINISHED || flow_step_ == LocalCardMigrationFlowStep::MIGRATION_FAILED); flow_step_ = LocalCardMigrationFlowStep::FEEDBACK_DIALOG; - dialog_controller_->ShowFeedbackDialog(); + GetDialogController()->ShowFeedbackDialog(); } WEB_CONTENTS_USER_DATA_KEY_IMPL(ManageMigrationUiController);
diff --git a/chrome/browser/ui/autofill/payments/manage_migration_ui_controller.h b/chrome/browser/ui/autofill/payments/manage_migration_ui_controller.h index b5b8622..5b589609 100644 --- a/chrome/browser/ui/autofill/payments/manage_migration_ui_controller.h +++ b/chrome/browser/ui/autofill/payments/manage_migration_ui_controller.h
@@ -80,9 +80,9 @@ bool IsIconVisible() const; - AutofillBubbleBase* GetBubbleView() const; - - LocalCardMigrationDialog* GetDialogView() const; + // Returns the bubble or the dialog view, respectively. + AutofillBubbleBase* GetBubbleView(); + LocalCardMigrationDialog* GetDialogView(); // LocalCardMigrationControllerObserver: void OnMigrationNoLongerAvailable() override; @@ -94,17 +94,17 @@ private: friend class content::WebContentsUserData<ManageMigrationUiController>; + // Gets the card migration bubble controller for this `WebContents`. + LocalCardMigrationBubbleControllerImpl* GetBubbleController(); + // Gets the card migration dialog controller for this `WebContents`. + LocalCardMigrationDialogControllerImpl* GetDialogController(); + void ReshowBubble(); void ShowErrorDialog(); void ShowFeedbackDialog(); - raw_ptr<LocalCardMigrationBubbleControllerImpl, DanglingUntriaged> - bubble_controller_ = nullptr; - raw_ptr<LocalCardMigrationDialogControllerImpl, DanglingUntriaged> - dialog_controller_ = nullptr; - // This indicates what step the migration flow is currently in and // what should be shown next. LocalCardMigrationFlowStep flow_step_ = LocalCardMigrationFlowStep::NOT_SHOWN;
diff --git a/chrome/browser/ui/views/autofill/address_editor_view.cc b/chrome/browser/ui/views/autofill/address_editor_view.cc index cd13f509..71105ed 100644 --- a/chrome/browser/ui/views/autofill/address_editor_view.cc +++ b/chrome/browser/ui/views/autofill/address_editor_view.cc
@@ -4,6 +4,8 @@ #include "chrome/browser/ui/views/autofill/address_editor_view.h" +#include <memory> + #include "base/task/single_thread_task_runner.h" #include "chrome/browser/ui/autofill/address_editor_controller.h" #include "chrome/browser/ui/views/chrome_layout_provider.h" @@ -27,8 +29,9 @@ } // namespace -AddressEditorView::AddressEditorView(AddressEditorController* controller) - : controller_(controller) { +AddressEditorView::AddressEditorView( + std::unique_ptr<AddressEditorController> controller) + : controller_(std::move(controller)) { CreateEditorView(); }
diff --git a/chrome/browser/ui/views/autofill/address_editor_view.h b/chrome/browser/ui/views/autofill/address_editor_view.h index 302c5a4..77c1b8d 100644 --- a/chrome/browser/ui/views/autofill/address_editor_view.h +++ b/chrome/browser/ui/views/autofill/address_editor_view.h
@@ -5,9 +5,9 @@ #ifndef CHROME_BROWSER_UI_VIEWS_AUTOFILL_ADDRESS_EDITOR_VIEW_H_ #define CHROME_BROWSER_UI_VIEWS_AUTOFILL_ADDRESS_EDITOR_VIEW_H_ +#include <memory> #include <unordered_map> -#include "base/memory/raw_ptr.h" #include "chrome/browser/ui/autofill/address_editor_controller.h" #include "components/autofill/core/browser/data_model/autofill_profile.h" #include "ui/base/metadata/metadata_header_macros.h" @@ -26,7 +26,8 @@ class AddressEditorView : public views::View { public: METADATA_HEADER(AddressEditorView); - explicit AddressEditorView(AddressEditorController* controller); + explicit AddressEditorView( + std::unique_ptr<AddressEditorController> controller); AddressEditorView(const AddressEditorView&) = delete; AddressEditorView& operator=(const AddressEditorView&) = delete; ~AddressEditorView() override; @@ -71,10 +72,10 @@ // synchronously. void OnDataChanged(); + std::unique_ptr<AddressEditorController> controller_; // Map from TextField to the object that describes it std::unordered_map<views::Textfield*, const EditorField> text_fields_; const std::string locale_; - raw_ptr<AddressEditorController, DanglingUntriaged> controller_; base::WeakPtrFactory<AddressEditorView> weak_ptr_factory_{this}; };
diff --git a/chrome/browser/ui/views/autofill/edit_address_profile_view.cc b/chrome/browser/ui/views/autofill/edit_address_profile_view.cc index 4f8be234..e62278a 100644 --- a/chrome/browser/ui/views/autofill/edit_address_profile_view.cc +++ b/chrome/browser/ui/views/autofill/edit_address_profile_view.cc
@@ -4,6 +4,9 @@ #include "chrome/browser/ui/views/autofill/edit_address_profile_view.h" +#include <memory> +#include <utility> + #include "chrome/browser/ui/autofill/address_editor_controller.h" #include "chrome/browser/ui/autofill/edit_address_profile_dialog_controller.h" #include "chrome/browser/ui/views/autofill/address_editor_view.h" @@ -49,10 +52,9 @@ void EditAddressProfileView::ShowForWebContents( content::WebContents* web_contents) { DCHECK(web_contents); - address_editor_controller_ = std::make_unique<AddressEditorController>( - controller_->GetProfileToEdit(), web_contents); - address_editor_view_ = AddChildView( - std::make_unique<AddressEditorView>(address_editor_controller_.get())); + address_editor_view_ = AddChildView(std::make_unique<AddressEditorView>( + std::make_unique<AddressEditorController>(controller_->GetProfileToEdit(), + web_contents))); } void EditAddressProfileView::Hide() {
diff --git a/chrome/browser/ui/views/autofill/edit_address_profile_view.h b/chrome/browser/ui/views/autofill/edit_address_profile_view.h index b9aa8ef4..9331e73 100644 --- a/chrome/browser/ui/views/autofill/edit_address_profile_view.h +++ b/chrome/browser/ui/views/autofill/edit_address_profile_view.h
@@ -6,7 +6,6 @@ #define CHROME_BROWSER_UI_VIEWS_AUTOFILL_EDIT_ADDRESS_PROFILE_VIEW_H_ #include "base/memory/raw_ptr.h" -#include "chrome/browser/ui/autofill/address_editor_controller.h" #include "chrome/browser/ui/autofill/autofill_bubble_base.h" #include "components/autofill/core/browser/autofill_client.h" #include "ui/views/window/dialog_delegate.h" @@ -50,7 +49,6 @@ raw_ptr<EditAddressProfileDialogController> controller_; raw_ptr<AddressEditorView> address_editor_view_ = nullptr; - std::unique_ptr<AddressEditorController> address_editor_controller_; }; } // namespace autofill
diff --git a/chrome/browser/ui/views/autofill/payments/autofill_progress_dialog_views_browsertest.cc b/chrome/browser/ui/views/autofill/payments/autofill_progress_dialog_views_browsertest.cc index 3c6fc02..c80586a 100644 --- a/chrome/browser/ui/views/autofill/payments/autofill_progress_dialog_views_browsertest.cc +++ b/chrome/browser/ui/views/autofill/payments/autofill_progress_dialog_views_browsertest.cc
@@ -32,6 +32,16 @@ browser()->tab_strip_model()->GetActiveWebContents()); } + void TearDownOnMainThread() override { + // Reset the controller explicitly to avoid that its raw pointer to the + // `WebContents` becomes dangling. This mirrors the behavior in production + // code in which `ChromeAutofillClient` owns the controller and is destroyed + // prior to the destruction of the respective `WebContents`. + controller_.reset(); + + DialogBrowserTest::TearDownOnMainThread(); + } + void ShowUi(const std::string& name) override { AutofillProgressDialogType autofill_progress_dialog_type_; if (name == "VirtualCardUnmask") {
diff --git a/chrome/browser/ui/views/autofill/payments/local_card_migration_uitest.cc b/chrome/browser/ui/views/autofill/payments/local_card_migration_uitest.cc index 822f298..de288ac 100644 --- a/chrome/browser/ui/views/autofill/payments/local_card_migration_uitest.cc +++ b/chrome/browser/ui/views/autofill/payments/local_card_migration_uitest.cc
@@ -23,7 +23,6 @@ #include "chrome/browser/sync/sync_service_factory.h" #include "chrome/browser/sync/test/integration/sync_service_impl_harness.h" #include "chrome/browser/sync/test/integration/sync_test.h" -#include "chrome/browser/ui/autofill/chrome_autofill_client.h" #include "chrome/browser/ui/autofill/payments/local_card_migration_bubble_controller_impl.h" #include "chrome/browser/ui/autofill/payments/local_card_migration_dialog_controller_impl.h" #include "chrome/browser/ui/autofill/payments/save_card_bubble_controller_impl.h" @@ -49,6 +48,7 @@ #include "chrome/browser/web_data_service_factory.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" +#include "components/autofill/content/browser/content_autofill_client.h" #include "components/autofill/content/browser/content_autofill_driver.h" #include "components/autofill/content/browser/test_autofill_manager_injector.h" #include "components/autofill/core/browser/autofill_test_utils.h" @@ -206,21 +206,14 @@ test_shared_loader_factory_ = base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>( &test_url_loader_factory_); - ContentAutofillDriver::GetForRenderFrameHost( - GetActiveWebContents()->GetPrimaryMainFrame()) - ->autofill_manager() - ->client() - ->GetPaymentsClient() - ->set_url_loader_factory_for_testing(test_shared_loader_factory_); + ContentAutofillClient* client = + ContentAutofillClient::FromWebContents(GetActiveWebContents()); + client->GetPaymentsClient()->set_url_loader_factory_for_testing( + test_shared_loader_factory_); // Set up this class as the ObserverForTest implementation. local_card_migration_manager_ = - ContentAutofillDriver::GetForRenderFrameHost( - GetActiveWebContents()->GetPrimaryMainFrame()) - ->autofill_manager() - ->client() - ->GetFormDataImporter() - ->local_card_migration_manager_.get(); + client->GetFormDataImporter()->local_card_migration_manager_.get(); local_card_migration_manager_->SetEventObserverForTesting(this); personal_data_ = PersonalDataManagerFactory::GetForProfile(GetProfile(0)); @@ -246,6 +239,13 @@ SetUpMigrateCardsRpcPaymentsAccepts(); } + void TearDownOnMainThread() override { + personal_data_ = nullptr; + local_card_migration_manager_ = nullptr; + + SyncTest::TearDownOnMainThread(); + } + void SetPaymentsCustomerDataOnDBSequence( AutofillWebDataService* wds, const PaymentsCustomerData& customer_data) { @@ -520,10 +520,8 @@ void WaitForCardDeletion() { WaitForPersonalDataChange(GetProfile(0)); } - raw_ptr<LocalCardMigrationManager, DanglingUntriaged> - local_card_migration_manager_; - - raw_ptr<PersonalDataManager, DanglingUntriaged> personal_data_; + raw_ptr<LocalCardMigrationManager> local_card_migration_manager_ = nullptr; + raw_ptr<PersonalDataManager> personal_data_ = nullptr; PersonalDataLoadedObserverMock personal_data_observer_; private:
diff --git a/chrome/browser/ui/views/autofill/payments/offer_notification_bubble_views_test_base.cc b/chrome/browser/ui/views/autofill/payments/offer_notification_bubble_views_test_base.cc index bfca08b0..343e1aa4 100644 --- a/chrome/browser/ui/views/autofill/payments/offer_notification_bubble_views_test_base.cc +++ b/chrome/browser/ui/views/autofill/payments/offer_notification_bubble_views_test_base.cc
@@ -13,6 +13,7 @@ #include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/location_bar/location_bar_view.h" #include "chrome/browser/ui/views/toolbar/toolbar_view.h" +#include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" #include "components/autofill/content/browser/content_autofill_driver.h" #include "components/autofill/content/browser/test_autofill_manager_injector.h" @@ -69,6 +70,14 @@ WaitForPersonalDataManagerToBeLoaded(browser()->profile()); } +void OfferNotificationBubbleViewsTestBase::TearDownOnMainThread() { + // Null explicitly to avoid dangling pointers. + coupon_service_ = nullptr; + personal_data_ = nullptr; + + InProcessBrowserTest::TearDownOnMainThread(); +} + void OfferNotificationBubbleViewsTestBase::OnBubbleShown() { if (event_waiter_) event_waiter_->OnEvent(DialogEvent::BUBBLE_SHOWN);
diff --git a/chrome/browser/ui/views/autofill/payments/offer_notification_bubble_views_test_base.h b/chrome/browser/ui/views/autofill/payments/offer_notification_bubble_views_test_base.h index 661833f..75ec3d75 100644 --- a/chrome/browser/ui/views/autofill/payments/offer_notification_bubble_views_test_base.h +++ b/chrome/browser/ui/views/autofill/payments/offer_notification_bubble_views_test_base.h
@@ -67,8 +67,9 @@ OfferNotificationBubbleViewsTestBase& operator=( const OfferNotificationBubbleViewsTestBase&) = delete; - // InProcessBrowserTest::SetUpOnMainThread: + // InProcessBrowserTest: void SetUpOnMainThread() override; + void TearDownOnMainThread() override; // OfferNotificationBubbleControllerImpl::ObserverForTest: void OnBubbleShown() override; @@ -147,8 +148,8 @@ private: TestAutofillManagerInjector<TestAutofillManager> autofill_manager_injector_; - raw_ptr<PersonalDataManager, DanglingUntriaged> personal_data_; - raw_ptr<CouponService, DanglingUntriaged> coupon_service_; + raw_ptr<PersonalDataManager> personal_data_ = nullptr; + raw_ptr<CouponService> coupon_service_ = nullptr; std::unique_ptr<autofill::EventWaiter<DialogEvent>> event_waiter_; base::test::ScopedFeatureList scoped_feature_list_; };
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc index bd53c0b..8ffb4ce 100644 --- a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc +++ b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
@@ -53,6 +53,7 @@ #include "components/omnibox/browser/omnibox_field_trial.h" #include "components/omnibox/browser/omnibox_popup_selection.h" #include "components/omnibox/browser/omnibox_prefs.h" +#include "components/omnibox/common/omnibox_features.h" #include "components/prefs/pref_service.h" #include "components/security_state/core/security_state.h" #include "components/send_tab_to_self/metrics_util.h" @@ -242,6 +243,9 @@ } void OmniboxViewViews::SaveStateToTab(content::WebContents* tab) { + if (base::FeatureList::IsEnabled(omnibox::kDiscardTemporaryInputOnTabSwitch)) + return; + DCHECK(tab); // We don't want to keep the IME status, so force quit the current @@ -262,6 +266,13 @@ } void OmniboxViewViews::OnTabChanged(content::WebContents* web_contents) { + if (base::FeatureList::IsEnabled( + omnibox::kDiscardTemporaryInputOnTabSwitch)) { + model()->RestoreState(nullptr); + ClearEditHistory(); + return; + } + const OmniboxState* state = static_cast<OmniboxState*>( web_contents->GetUserData(&OmniboxState::kKey)); model()->RestoreState(state ? &state->model_state : nullptr); @@ -289,7 +300,8 @@ } void OmniboxViewViews::ResetTabState(content::WebContents* web_contents) { - web_contents->SetUserData(OmniboxState::kKey, nullptr); + if (!base::FeatureList::IsEnabled(omnibox::kDiscardTemporaryInputOnTabSwitch)) + web_contents->SetUserData(OmniboxState::kKey, nullptr); } void OmniboxViewViews::InstallPlaceholderText() {
diff --git a/chrome/browser/ui/web_applications/test/isolated_web_app_test_utils.cc b/chrome/browser/ui/web_applications/test/isolated_web_app_test_utils.cc index e56f055f..1391002 100644 --- a/chrome/browser/ui/web_applications/test/isolated_web_app_test_utils.cc +++ b/chrome/browser/ui/web_applications/test/isolated_web_app_test_utils.cc
@@ -24,6 +24,7 @@ #include "chrome/browser/web_applications/web_app_id.h" #include "chrome/browser/web_applications/web_app_provider.h" #include "chrome/browser/web_applications/web_app_registrar.h" +#include "chrome/browser/web_applications/web_app_registry_update.h" #include "chrome/test/base/ui_test_utils.h" #include "components/web_package/signed_web_bundles/signed_web_bundle_id.h" #include "components/web_package/test_support/signed_web_bundles/web_bundle_signer.h" @@ -224,4 +225,23 @@ builder.AddPngImage(kTestIconUrl, GetTestIconInString()); return builder.Build(); } + +AppId AddDummyIsolatedAppToRegistry(Profile* profile, + const GURL& start_url, + const std::string& name) { + CHECK(profile); + WebAppProvider* provider = WebAppProvider::GetForTest(profile); + CHECK(provider); + + std::unique_ptr<WebApp> isolated_web_app = test::CreateWebApp(start_url); + const AppId app_id = isolated_web_app->app_id(); + isolated_web_app->SetName(name); + isolated_web_app->SetScope(isolated_web_app->start_url()); + isolated_web_app->SetIsolationData( + WebApp::IsolationData(InstalledBundle{.path = base::FilePath()})); + + ScopedRegistryUpdate update(&provider->sync_bridge_unsafe()); + update->CreateApp(std::move(isolated_web_app)); + return app_id; +} } // namespace web_app
diff --git a/chrome/browser/ui/web_applications/test/isolated_web_app_test_utils.h b/chrome/browser/ui/web_applications/test/isolated_web_app_test_utils.h index c4e10fc..344c1cc 100644 --- a/chrome/browser/ui/web_applications/test/isolated_web_app_test_utils.h +++ b/chrome/browser/ui/web_applications/test/isolated_web_app_test_utils.h
@@ -18,6 +18,7 @@ class Browser; class GURL; +class Profile; namespace content { class RenderFrameHost; @@ -115,6 +116,12 @@ }; TestSignedWebBundle BuildDefaultTestSignedWebBundle(); + +// Adds an Isolated Web App to the WebAppRegistrar. The IWA will have an empty +// filepath for |IsolatedWebAppLocation|. +AppId AddDummyIsolatedAppToRegistry(Profile* profile, + const GURL& start_url, + const std::string& name); } // namespace web_app #endif // CHROME_BROWSER_UI_WEB_APPLICATIONS_TEST_ISOLATED_WEB_APP_TEST_UTILS_H_
diff --git a/chrome/browser/ui/webui/password_manager/password_manager_ui.cc b/chrome/browser/ui/webui/password_manager/password_manager_ui.cc index f7a205e7..79d3b7f 100644 --- a/chrome/browser/ui/webui/password_manager/password_manager_ui.cc +++ b/chrome/browser/ui/webui/password_manager/password_manager_ui.cc
@@ -170,6 +170,7 @@ {"tryAgain", IDS_PASSWORD_MANAGER_UI_CHECK_PASSWORDS_AFTER_ERROR}, {"undoRemovePassword", IDS_PASSWORD_MANAGER_UI_UNDO}, {"unmuteCompromisedPassword", IDS_PASSWORD_MANAGER_UI_UNMUTE_ISSUE}, + {"usernameAlreadyUsed", IDS_PASSWORD_MANAGER_UI_USERNAME_ALREADY_USED}, {"usernameCopiedToClipboard", IDS_PASSWORD_MANAGER_UI_USERNAME_COPIED_TO_CLIPBOARD}, {"usernameLabel", IDS_PASSWORD_MANAGER_UI_USERNAME_LABEL},
diff --git a/chrome/build/linux.pgo.txt b/chrome/build/linux.pgo.txt index 11c4b4f..9b4f62c 100644 --- a/chrome/build/linux.pgo.txt +++ b/chrome/build/linux.pgo.txt
@@ -1 +1 @@ -chrome-linux-main-1677520762-483400653117e6cccd8f74772be757e2dc79c93a.profdata +chrome-linux-main-1677563764-1ee88b1ecfbcae5434a6e125ed6ce77caf21d6c2.profdata
diff --git a/chrome/build/mac-arm.pgo.txt b/chrome/build/mac-arm.pgo.txt index 2b6ada5d..c06bd42 100644 --- a/chrome/build/mac-arm.pgo.txt +++ b/chrome/build/mac-arm.pgo.txt
@@ -1 +1 @@ -chrome-mac-arm-main-1677556200-c0113e3bc5563e80aec1657a7b1150dde8cbed4d.profdata +chrome-mac-arm-main-1677577761-7a0175b8e7d8431bfcc6514dad5e281428d424f0.profdata
diff --git a/chrome/build/win32.pgo.txt b/chrome/build/win32.pgo.txt index 6df5a167..f9adadaf 100644 --- a/chrome/build/win32.pgo.txt +++ b/chrome/build/win32.pgo.txt
@@ -1 +1 @@ -chrome-win32-main-1677542237-68dfc3b8a292a5dd58682880891ca65b350a7d86.profdata +chrome-win32-main-1677573872-75730c2cbb5b643c52802ab9680582c41755d2c9.profdata
diff --git a/chrome/build/win64.pgo.txt b/chrome/build/win64.pgo.txt index 1b7e8a1..7b3177c 100644 --- a/chrome/build/win64.pgo.txt +++ b/chrome/build/win64.pgo.txt
@@ -1 +1 @@ -chrome-win64-main-1677542237-c0667116c18b7256828b1bcb82a9b68af70a2cbe.profdata +chrome-win64-main-1677573872-de0cb05f1160384dd6a0ab1a81c121144eaeac29.profdata
diff --git a/chrome/common/extensions/api/passwords_private.idl b/chrome/common/extensions/api/passwords_private.idl index 5f0df1521..afbe1bb 100644 --- a/chrome/common/extensions/api/passwords_private.idl +++ b/chrome/common/extensions/api/passwords_private.idl
@@ -174,6 +174,9 @@ // The URL that will be linked to when an entry is clicked. DOMString url; + + // The signon_realm of corresponding PasswordForm. + DOMString signonRealm; }; // Entry used to display a password in the settings UI.
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn index 603d7dbd..ab853ba 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn
@@ -2199,7 +2199,6 @@ "../browser/translate/translate_manager_browsertest.cc", "../browser/translate/translate_model_service_browsertest.cc", "../browser/ui/ask_google_for_suggestions_dialog_browsertest.cc", - "../browser/ui/autofill/autofill_context_menu_manager_browsertest.cc", "../browser/ui/autofill/edit_address_profile_dialog_controller_impl_browsertest.cc", "../browser/ui/autofill/payments/card_unmask_prompt_view_browsertest.cc", "../browser/ui/autofill/payments/save_card_bubble_controller_impl_browsertest.cc", @@ -7405,6 +7404,7 @@ "../browser/apps/app_service/file_utils_unittest.cc", "../browser/apps/app_service/metrics/app_platform_metrics_service_unittest.cc", "../browser/apps/app_service/promise_apps/promise_app_registry_cache_unittest.cc", + "../browser/apps/app_service/promise_apps/promise_app_update_unittest.cc", "../browser/apps/app_service/publishers/arc_apps_unittest.cc", "../browser/apps/app_service/publishers/bruschetta_apps_unittest.cc", "../browser/apps/app_service/publishers/crostini_apps_unittest.cc", @@ -9491,6 +9491,7 @@ "../browser/site_isolation/site_per_process_interactive_browsertest.cc", "../browser/site_isolation/site_per_process_text_input_browsertest.cc", "../browser/ssl/typed_navigation_upgrade_throttle_browsertest.cc", + "../browser/ui/autofill/autofill_context_menu_manager_interactive_uitest.cc", "../browser/ui/autofill/autofill_popup_controller_interactive_uitest.cc", "../browser/ui/blocked_content/popup_blocker_browsertest.cc", "../browser/ui/browser_command_controller_interactive_browsertest.cc",
diff --git a/chrome/test/data/webui/password_manager/add_password_dialog_test.ts b/chrome/test/data/webui/password_manager/add_password_dialog_test.ts index b26ce35..5b50eea 100644 --- a/chrome/test/data/webui/password_manager/add_password_dialog_test.ts +++ b/chrome/test/data/webui/password_manager/add_password_dialog_test.ts
@@ -9,6 +9,7 @@ import {flushTasks} from 'chrome://webui-test/polymer_test_util.js'; import {TestPasswordManagerProxy} from './test_password_manager_proxy.js'; +import {createAffiliatedDomain, createPasswordEntry} from './test_util.js'; suite('AddPasswordDialogTest', function() { let passwordManager: TestPasswordManagerProxy; @@ -52,4 +53,51 @@ dialog.i18n('missingTLD', 'www.com'), dialog.$.websiteInput.errorMessage); }); + + test('username validation works', async function() { + passwordManager.data.passwords = [ + createPasswordEntry({url: 'www.example.com', username: 'test'}), + createPasswordEntry({url: 'www.example2.com', username: 'test2'}), + ]; + passwordManager.data.passwords[0]!.affiliatedDomains = + [createAffiliatedDomain('www.example.com')]; + passwordManager.data.passwords[1]!.affiliatedDomains = + [createAffiliatedDomain('www.example2.com')]; + + const dialog = document.createElement('add-password-dialog'); + document.body.appendChild(dialog); + await flushTasks(); + + // Enter website for which user has a saved password. + dialog.$.websiteInput.value = 'www.example.com'; + dialog.$.websiteInput.dispatchEvent(new CustomEvent('input')); + assertEquals( + 'www.example.com', + await passwordManager.whenCalled('getUrlCollection')); + assertFalse(dialog.$.usernameInput.invalid); + + // Update username to the same value and observe error. + dialog.$.usernameInput.value = 'test'; + assertTrue(dialog.$.usernameInput.invalid); + assertEquals( + dialog.i18n('usernameAlreadyUsed', 'www.example.com'), + dialog.$.usernameInput.errorMessage); + + // Update username and observe no error. + dialog.$.usernameInput.value = 'test2'; + assertFalse(dialog.$.usernameInput.invalid); + + // Update website input to match a second existing password and observe + // error again. + passwordManager.reset(); + dialog.$.websiteInput.value = 'www.example2.com'; + dialog.$.websiteInput.dispatchEvent(new CustomEvent('input')); + assertEquals( + 'www.example2.com', + await passwordManager.whenCalled('getUrlCollection')); + assertTrue(dialog.$.usernameInput.invalid); + assertEquals( + dialog.i18n('usernameAlreadyUsed', 'www.example2.com'), + dialog.$.usernameInput.errorMessage); + }); });
diff --git a/chrome/test/data/webui/password_manager/checkup_details_section_test.ts b/chrome/test/data/webui/password_manager/checkup_details_section_test.ts index db049fd..eb5b386 100644 --- a/chrome/test/data/webui/password_manager/checkup_details_section_test.ts +++ b/chrome/test/data/webui/password_manager/checkup_details_section_test.ts
@@ -15,7 +15,7 @@ import {TestPasswordManagerProxy} from './test_password_manager_proxy.js'; import {TestPrefsBrowserProxy} from './test_prefs_browser_proxy.js'; -import {createCredentialGroup, makeInsecureCredential, makePasswordManagerPrefs} from './test_util.js'; +import {createAffiliatedDomain, createCredentialGroup, makeInsecureCredential, makePasswordManagerPrefs} from './test_util.js'; suite('CheckupDetailsSectionTest', function() { const CompromiseType = chrome.passwordsPrivate.CompromiseType; @@ -627,8 +627,7 @@ CompromiseType.LEAKED, ], }); - credential.affiliatedDomains = - [{name: 'test.com', url: 'https://test.com/'}]; + credential.affiliatedDomains = [createAffiliatedDomain('test.com')]; passwordManager.data.insecureCredentials = [credential]; const section = document.createElement('checkup-details-section'); @@ -666,8 +665,7 @@ CompromiseType.LEAKED, ], }); - credential.affiliatedDomains = - [{name: 'test.com', url: 'https://test.com/'}]; + credential.affiliatedDomains = [createAffiliatedDomain('test.com')]; passwordManager.data.insecureCredentials = [credential]; const section = document.createElement('checkup-details-section'); @@ -701,8 +699,7 @@ CompromiseType.LEAKED, ], }); - credential.affiliatedDomains = - [{name: 'test.com', url: 'https://test.com/'}]; + credential.affiliatedDomains = [createAffiliatedDomain('test.com')]; passwordManager.data.insecureCredentials = [credential]; const section = document.createElement('checkup-details-section'); @@ -757,8 +754,7 @@ CompromiseType.LEAKED, ], }); - credential.affiliatedDomains = - [{name: 'test.com', url: 'https://test.com/'}]; + credential.affiliatedDomains = [createAffiliatedDomain('test.com')]; passwordManager.data.insecureCredentials = [credential]; const section = document.createElement('checkup-details-section');
diff --git a/chrome/test/data/webui/password_manager/edit_password_dialog_test.ts b/chrome/test/data/webui/password_manager/edit_password_dialog_test.ts index f949049..cd38f04c 100644 --- a/chrome/test/data/webui/password_manager/edit_password_dialog_test.ts +++ b/chrome/test/data/webui/password_manager/edit_password_dialog_test.ts
@@ -8,7 +8,7 @@ import {assertEquals, assertTrue} from 'chrome://webui-test/chai_assert.js'; import {flushTasks} from 'chrome://webui-test/polymer_test_util.js'; -import {createPasswordEntry} from './test_util.js'; +import {createAffiliatedDomain, createPasswordEntry} from './test_util.js'; suite('EditPasswordDialogTest', function() { setup(function() { @@ -20,8 +20,8 @@ const password = createPasswordEntry({id: 0, username: 'user1', password: 'sTr0nGp@@s'}); password.affiliatedDomains = [ - {name: 'test.com', url: 'https://test.com/'}, - {name: 'Test App', url: 'https://m.test.com/'}, + createAffiliatedDomain('test.com'), + createAffiliatedDomain('m.test.com'), ]; const dialog = document.createElement('edit-password-dialog'); @@ -49,7 +49,7 @@ test('show/hide password', async function() { const password = createPasswordEntry( {id: 1, url: 'test.com', username: 'vik', password: 'password69'}); - password.affiliatedDomains = [{name: 'test.com', url: 'https://test.com/'}]; + password.affiliatedDomains = [createAffiliatedDomain('test.com')]; const dialog = document.createElement('edit-password-dialog'); dialog.password = password; document.body.appendChild(dialog);
diff --git a/chrome/test/data/webui/password_manager/password_details_card_test.ts b/chrome/test/data/webui/password_manager/password_details_card_test.ts index e050808..4398478 100644 --- a/chrome/test/data/webui/password_manager/password_details_card_test.ts +++ b/chrome/test/data/webui/password_manager/password_details_card_test.ts
@@ -11,7 +11,7 @@ import {eventToPromise, isVisible} from 'chrome://webui-test/test_util.js'; import {TestPasswordManagerProxy} from './test_password_manager_proxy.js'; -import {createPasswordEntry} from './test_util.js'; +import {createAffiliatedDomain, createPasswordEntry} from './test_util.js'; suite('PasswordDetailsCardTest', function() { let passwordManager: TestPasswordManagerProxy; @@ -116,8 +116,8 @@ const password = createPasswordEntry( {url: 'test.com', username: 'vik', password: 'password69'}); password.affiliatedDomains = [ - {name: 'test.com', url: 'https://test.com/'}, - {name: 'Test App', url: 'https://m.test.com/'}, + createAffiliatedDomain('test.com'), + createAffiliatedDomain('m.test.com'), ]; const card = document.createElement('password-details-card'); @@ -169,7 +169,7 @@ test('clicking edit button opens an edit dialog', async function() { const password = createPasswordEntry( {id: 1, url: 'test.com', username: 'vik', password: 'password69'}); - password.affiliatedDomains = [{name: 'test.com', url: 'https://test.com/'}]; + password.affiliatedDomains = [createAffiliatedDomain('test.com')]; const card = document.createElement('password-details-card'); card.password = password;
diff --git a/chrome/test/data/webui/password_manager/passwords_section_test.ts b/chrome/test/data/webui/password_manager/passwords_section_test.ts index 8a102c2..a5c2500 100644 --- a/chrome/test/data/webui/password_manager/passwords_section_test.ts +++ b/chrome/test/data/webui/password_manager/passwords_section_test.ts
@@ -12,7 +12,7 @@ import {eventToPromise, isVisible} from 'chrome://webui-test/test_util.js'; import {TestPasswordManagerProxy} from './test_password_manager_proxy.js'; -import {createCredentialGroup, createPasswordEntry} from './test_util.js'; +import {createAffiliatedDomain, createCredentialGroup, createPasswordEntry} from './test_util.js'; /** * @param subsection The passwords subsection element that will be checked. @@ -252,12 +252,12 @@ }), ]; passwordManager.data.groups[0]!.entries[0]!.affiliatedDomains = [ - {name: 'foo.de', url: 'https://foo.de/'}, - {name: 'Foo App', url: 'https://m.foo.com/'}, + createAffiliatedDomain('foo.de'), + createAffiliatedDomain('m.foo.com'), ]; passwordManager.data.groups[1]!.entries[0]!.affiliatedDomains = [ - {name: 'bar.uk', url: 'https://bar.uk/'}, - {name: 'Bar App', url: 'https://m.bar.com/'}, + createAffiliatedDomain('bar.uk'), + createAffiliatedDomain('m.bar.com'), ]; const section = await createPasswordsSection();
diff --git a/chrome/test/data/webui/password_manager/test_util.ts b/chrome/test/data/webui/password_manager/test_util.ts index 6314781..a4950115 100644 --- a/chrome/test/data/webui/password_manager/test_util.ts +++ b/chrome/test/data/webui/password_manager/test_util.ts
@@ -181,3 +181,12 @@ compromisedInfo: types.length ? compromisedInfo : undefined, }; } + +export function createAffiliatedDomain(domain: string): + chrome.passwordsPrivate.DomainInfo { + return { + name: domain, + url: `https://${domain}/login`, + signonRealm: `https://${domain}/login`, + }; +}
diff --git a/chrome/test/ppapi/ppapi_browsertest.cc b/chrome/test/ppapi/ppapi_browsertest.cc index aea70a3..eb3213c 100644 --- a/chrome/test/ppapi/ppapi_browsertest.cc +++ b/chrome/test/ppapi/ppapi_browsertest.cc
@@ -725,7 +725,7 @@ void CreateTCPServerSocket( const net::IPEndPoint& local_addr, - uint32_t backlog, + network::mojom::TCPServerSocketOptionsPtr options, const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver<network::mojom::TCPServerSocket> receiver, CreateTCPServerSocketCallback callback) override {
diff --git a/chromeos/BUILD.gn b/chromeos/BUILD.gn index 5a16216..316da38 100644 --- a/chromeos/BUILD.gn +++ b/chromeos/BUILD.gn
@@ -38,6 +38,7 @@ deps += [ ":chromeos_export", "//base", + "//chromeos/startup:constants", ] sources += [ "hugepage_text/hugepage_text.cc",
diff --git a/chromeos/ash/components/system/statistics_provider_impl_unittest.cc b/chromeos/ash/components/system/statistics_provider_impl_unittest.cc index 3ee1a49..7131b58 100644 --- a/chromeos/ash/components/system/statistics_provider_impl_unittest.cc +++ b/chromeos/ash/components/system/statistics_provider_impl_unittest.cc
@@ -40,14 +40,14 @@ // `content`. Returns path to the created file. base::FilePath CreateFileInTempDir(const std::string& content, const base::ScopedTempDir& temp_dir) { - DCHECK(temp_dir.IsValid()); + EXPECT_TRUE(temp_dir.IsValid()); base::FilePath filepath; base::File file = base::CreateAndOpenTemporaryFileInDir(temp_dir.GetPath(), &filepath); - DCHECK(file.IsValid()); - DCHECK(!filepath.empty()); + EXPECT_TRUE(file.IsValid()); + EXPECT_FALSE(filepath.empty()); - DCHECK(base::WriteFile(filepath, content)); + EXPECT_TRUE(base::WriteFile(filepath, content)); return filepath; }
diff --git a/chromeos/hugepage_text/hugepage_text.cc b/chromeos/hugepage_text/hugepage_text.cc index b1ea046..577f8e1 100644 --- a/chromeos/hugepage_text/hugepage_text.cc +++ b/chromeos/hugepage_text/hugepage_text.cc
@@ -13,8 +13,16 @@ #include <sys/time.h> #include "base/bit_cast.h" +#include "base/command_line.h" #include "base/logging.h" #include "base/posix/eintr_wrapper.h" +#include "chromeos/startup/startup_switches.h" + +#if defined(__clang__) || defined(__GNUC__) +#define ATTRIBUTE_NO_SANITIZE_ADDRESS __attribute__((no_sanitize_address)) +#else +#define ATTRIBUTE_NO_SANITIZE_ADDRESS +#endif // CHROMEOS_ORDERFILE_USE is a flag intended to use orderfile // to link Chrome. Only when orderfile is used, we will use hugepages. @@ -58,10 +66,6 @@ constexpr static bool kIsOrderfileEnabled = false; #endif -BASE_FEATURE(kCrOSHugepageRemapAndLockZygote, - "CrOSHugepageRemapAndLockInZygote", - base::FEATURE_DISABLED_BY_DEFAULT); - const int kHpageShift = 21; const int kHpageSize = (1 << kHpageShift); const int kHpageMask = (~(kHpageSize - 1)); @@ -261,10 +265,12 @@ // the hugepages. Any errors will cause the failing piece of this to be rolled // back, so nothing world-ending can come from this function (hopefully ;) ). void InitHugepagesAndMlockSelf(void) { + const bool zygote_hugepage_remap_enabled = + base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kZygoteHugepageRemap); // The following function is conditionally compiled, so use // the statements to avoid compiler warnings of unused functions - if (kIsOrderfileEnabled && - base::FeatureList::IsEnabled(chromeos::kCrOSHugepageRemapAndLockZygote)) { + if (kIsOrderfileEnabled && zygote_hugepage_remap_enabled) { dl_iterate_phdr(FilterElfHeader, 0); } }
diff --git a/chromeos/hugepage_text/hugepage_text.h b/chromeos/hugepage_text/hugepage_text.h index b5eb349a..4e08e05 100644 --- a/chromeos/hugepage_text/hugepage_text.h +++ b/chromeos/hugepage_text/hugepage_text.h
@@ -12,22 +12,10 @@ #ifndef CHROMEOS_HUGEPAGE_TEXT_HUGEPAGE_TEXT_H_ #define CHROMEOS_HUGEPAGE_TEXT_HUGEPAGE_TEXT_H_ -#include "base/feature_list.h" -#include "base/metrics/field_trial_params.h" #include "chromeos/chromeos_export.h" -#if defined(__clang__) || defined(__GNUC__) -#define ATTRIBUTE_NO_SANITIZE_ADDRESS __attribute__((no_sanitize_address)) -#else -#define ATTRIBUTE_NO_SANITIZE_ADDRESS -#endif - namespace chromeos { -// A feature which controls remapping the zygotes hot text section as hugepages -// and locking. -BASE_DECLARE_FEATURE(kCrOSHugepageRemapAndLockZygote); - // This function will scan ELF segments and attempt to do two things: // - Reload some of .text into hugepages // - Lock some of .text into memory, so it can't be swapped out.
diff --git a/chromeos/startup/startup_switches.cc b/chromeos/startup/startup_switches.cc index 3edb7ca..2c5563d 100644 --- a/chromeos/startup/startup_switches.cc +++ b/chromeos/startup/startup_switches.cc
@@ -16,5 +16,8 @@ // The path of the log file that Lacros should use post-login. const char kCrosPostLoginLogFile[] = "cros-postlogin-log-file"; +// Whether to enable the zygote hugepage remap feature. +const char kZygoteHugepageRemap[] = "zygote-hugepage-remap"; + } // namespace switches } // namespace chromeos
diff --git a/chromeos/startup/startup_switches.h b/chromeos/startup/startup_switches.h index b0e081e..2fcfa8e 100644 --- a/chromeos/startup/startup_switches.h +++ b/chromeos/startup/startup_switches.h
@@ -19,6 +19,9 @@ COMPONENT_EXPORT(CHROMEOS_STARTUP_CONSTANTS) extern const char kCrosPostLoginLogFile[]; +COMPONENT_EXPORT(CHROMEOS_STARTUP_CONSTANTS) +extern const char kZygoteHugepageRemap[]; + } // namespace switches } // namespace chromeos
diff --git a/components/autofill/core/browser/BUILD.gn b/components/autofill/core/browser/BUILD.gn index aa9baa9c..7020a5c7 100644 --- a/components/autofill/core/browser/BUILD.gn +++ b/components/autofill/core/browser/BUILD.gn
@@ -293,6 +293,8 @@ "metrics/payments/virtual_card_manual_fallback_bubble_metrics.h", "metrics/payments/wallet_usage_data_metrics.cc", "metrics/payments/wallet_usage_data_metrics.h", + "metrics/precedence_over_autocomplete_metrics.cc", + "metrics/precedence_over_autocomplete_metrics.h", "metrics/profile_import_metrics.cc", "metrics/profile_import_metrics.h", "metrics/shadow_prediction_metrics.cc", @@ -833,6 +835,7 @@ "autofill_experiments_unittest.cc", "autofill_external_delegate_unittest.cc", "autofill_feedback_data_unittest.cc", + "autofill_field_unittest.cc", "autofill_manager_unittest.cc", "autofill_merge_unittest.cc", "autofill_optimization_guide_unittest.cc", @@ -905,6 +908,7 @@ "metrics/payments/iban_metrics_unittest.cc", "metrics/payments/offers_metrics_unittest.cc", "metrics/payments/wallet_usage_data_metrics_unittest.cc", + "metrics/precedence_over_autocomplete_metrics_unittest.cc", "metrics/profile_import_metrics_unittest.cc", "metrics/shadow_prediction_metrics_unittest.cc", "metrics/stored_profile_metrics_unittest.cc",
diff --git a/components/autofill/core/browser/autofill_field.cc b/components/autofill/core/browser/autofill_field.cc index b794133d5..cceea2b1 100644 --- a/components/autofill/core/browser/autofill_field.cc +++ b/components/autofill/core/browser/autofill_field.cc
@@ -10,10 +10,13 @@ #include "base/feature_list.h" #include "base/notreached.h" #include "base/strings/string_number_conversions.h" +#include "base/types/cxx23_to_underlying.h" +#include "components/autofill/core/browser/field_type_utils.h" #include "components/autofill/core/browser/field_types.h" #include "components/autofill/core/browser/proto/server.pb.h" #include "components/autofill/core/common/autofill_features.h" #include "components/autofill/core/common/dense_set.h" +#include "components/autofill/core/common/html_field_types.h" #include "components/autofill/core/common/signatures.h" namespace autofill { @@ -100,6 +103,70 @@ return false; } +// Util function for `ComputedType`. Returns the values of HtmlFieldType that +// won't be overridden by heuristics or server predictions, up to a few +// exceptions. Check function `ComputedType` for more details. +DenseSet<HtmlFieldType> BelievedHtmlTypes(ServerFieldType heuristic_prediction, + ServerFieldType server_prediction, + bool is_credit_card_prediction) { + DenseSet<HtmlFieldType> believed_html_types = {}; + constexpr auto kMin = base::to_underlying(HtmlFieldType::kMinValue); + constexpr auto kMax = base::to_underlying(HtmlFieldType::kMaxValue); + for (auto i = kMin; i <= kMax; ++i) { + believed_html_types.insert(static_cast<HtmlFieldType>(i)); + } + // We always override unspecified autocomplete attribute. + believed_html_types.erase(HtmlFieldType::kUnspecified); + auto is_precedence_feature_enabled = []() { + return base::FeatureList::IsEnabled( + features::kAutofillStreetNameOrHouseNumberPrecedenceOverAutocomplete); + }; + + // If the feature `kAutofillStreetNameOrHouseNumberPrecedenceOverAutocomplete` + // is enabled, the believed autocomplete attributes will depend on its + // parameterization via `kPrecedenceOverAutocompleteScope` for either + // heuristics or server prediction, and whether the corresponding prediction + // gives a street name or house number prediction. This util function takes + // care of removing the HtmlFieldType's that should be overridden. + auto override_html_types = + [&believed_html_types](features::PrecedenceOverAutocompleteScope scope) { + switch (scope) { + case features::PrecedenceOverAutocompleteScope::kSpecified: + believed_html_types.clear(); + break; + case features::PrecedenceOverAutocompleteScope::kRecognized: + believed_html_types = {HtmlFieldType::kUnrecognized}; + break; + case features::PrecedenceOverAutocompleteScope::kAddressLine1Or2: + believed_html_types.erase_all( + {HtmlFieldType::kAddressLine1, HtmlFieldType::kAddressLine2}); + break; + case features::PrecedenceOverAutocompleteScope::kNone: + break; + } + }; + + if (IsStreetNameOrHouseNumberType(heuristic_prediction) && + is_precedence_feature_enabled()) { + override_html_types( + features::kAutofillHeuristicPrecedenceScopeOverAutocomplete.Get()); + } + if (IsStreetNameOrHouseNumberType(server_prediction) && + is_precedence_feature_enabled()) { + override_html_types( + features::kAutofillServerPrecedenceScopeOverAutocomplete.Get()); + } + // If the field is credit-card related or the feature + // `kAutofillFillAndImportFromMoreFields` is enabled, we always override + // unrecognized autocomplete attributes. + if (is_credit_card_prediction || + base::FeatureList::IsEnabled( + features::kAutofillFillAndImportFromMoreFields)) { + believed_html_types.erase(HtmlFieldType::kUnrecognized); + } + return believed_html_types; +} + } // namespace AutofillField::AutofillField() { @@ -264,21 +331,11 @@ return AutofillType(heuristic_type()); } } - - // If the autocomplete attribute is unrecognized, it is used to effectively - // return an UNKNOWN_TYPE predition, unless either the heuristic or server - // prediction suggest that the field is credit-card related, or if the - // |kAutofillFillAndImportFromMoreFields| feature is enabled. - if (html_type_ == HtmlFieldType::kUnrecognized && !IsCreditCardPrediction() && - !base::FeatureList::IsEnabled( - features::kAutofillFillAndImportFromMoreFields)) { - return AutofillType(html_type_, html_mode_); - } - - // If the autocomplete attribute is neither empty or unrecognized, use it - // unconditionally. - if (html_type_ != HtmlFieldType::kUnspecified && - html_type_ != HtmlFieldType::kUnrecognized) { + // In general, the autocomplete attribute has precedence over the other types + // of field detection. Except for cases detailed in `BelievedHtmlTypes()` + if (BelievedHtmlTypes(heuristic_type(), server_type(), + IsCreditCardPrediction()) + .contains(html_type())) { return AutofillType(html_type_, html_mode_); } @@ -324,7 +381,7 @@ // predictions get precedence over the server predictions. believe_server = believe_server && (heuristic_type() != IBAN_VALUE); - // The numeric quanity heuristic should get granted precedence over the + // The numeric quantity heuristic should get granted precedence over the // server prediction since it tries to catch false-positive server // predictions. believe_server =
diff --git a/components/autofill/core/browser/autofill_field_unittest.cc b/components/autofill/core/browser/autofill_field_unittest.cc new file mode 100644 index 0000000..bbbd7cc --- /dev/null +++ b/components/autofill/core/browser/autofill_field_unittest.cc
@@ -0,0 +1,264 @@ +// Copyright 2022 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/autofill/core/browser/autofill_field.h" +#include "base/test/scoped_feature_list.h" +#include "components/autofill/core/browser/autofill_test_utils.h" +#include "components/autofill/core/common/autofill_features.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace autofill { +namespace { + +// Parameters for `PrecedenceOverAutocompleteTest` +struct PrecedenceOverAutocompleteParams { + // These values are used to parameterize feature + // 'kAutofillStreetNameOrHouseNumberPrecedenceOverAutocomplete'. + const features::PrecedenceOverAutocompleteScope heuristic_precedence_scope; + const features::PrecedenceOverAutocompleteScope server_precedence_scope; + // These values denote what type the field was viewed by html, server and + // heuristic prediction. + const HtmlFieldType html_field_type; + const ServerFieldType server_type; + const ServerFieldType heuristic_type; + // This value denotes what should `ComputedType` return as field type. + const ServerFieldType expected_result; +}; + +class PrecedenceOverAutocompleteTest + : public testing::TestWithParam<PrecedenceOverAutocompleteParams> { + base::test::ScopedFeatureList scoped_feature_list; + + public: + PrecedenceOverAutocompleteTest() { + PrecedenceOverAutocompleteParams test_case = GetParam(); + scoped_feature_list.InitAndEnableFeatureWithParameters( + features::kAutofillStreetNameOrHouseNumberPrecedenceOverAutocomplete, + {{features::kAutofillHeuristicPrecedenceScopeOverAutocomplete.name, + features::kAutofillHeuristicPrecedenceScopeOverAutocomplete.GetName( + test_case.heuristic_precedence_scope)}, + {features::kAutofillServerPrecedenceScopeOverAutocomplete.name, + features::kAutofillServerPrecedenceScopeOverAutocomplete.GetName( + test_case.server_precedence_scope)}}); + } +}; + +// Tests the correctness of the feature giving StreetName or HouseNumber +// predictions, by heuristic or server, precedence over autocomplete. +TEST_P(PrecedenceOverAutocompleteTest, PrecedenceOverAutocompleteParams) { + PrecedenceOverAutocompleteParams test_case = GetParam(); + AutofillField field; + field.SetHtmlType(test_case.html_field_type, HtmlFieldMode::kNone); + field.set_server_predictions( + {test::CreateFieldPrediction(test_case.server_type)}); + field.set_heuristic_type(GetActivePatternSource(), test_case.heuristic_type); + EXPECT_EQ(test_case.expected_result, field.ComputedType().GetStorableType()); +} + +INSTANTIATE_TEST_SUITE_P( + AutofillFieldTest, + PrecedenceOverAutocompleteTest, + testing::Values( + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kAddressLine1Or2, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kNone, + .html_field_type = HtmlFieldType::kAddressLine1, + .server_type = ADDRESS_HOME_HOUSE_NUMBER, + .heuristic_type = ADDRESS_HOME_STREET_NAME, + .expected_result = ADDRESS_HOME_STREET_NAME}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kAddressLine1Or2, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kNone, + .html_field_type = HtmlFieldType::kAddressLine2, + .server_type = ADDRESS_HOME_LINE2, + .heuristic_type = ADDRESS_HOME_HOUSE_NUMBER, + .expected_result = ADDRESS_HOME_HOUSE_NUMBER}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kAddressLine1Or2, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kNone, + .html_field_type = HtmlFieldType::kGivenName, + .server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = ADDRESS_HOME_HOUSE_NUMBER, + .expected_result = NAME_FIRST}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kAddressLine1Or2, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kNone, + .html_field_type = HtmlFieldType::kUnrecognized, + .server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = ADDRESS_HOME_HOUSE_NUMBER, + .expected_result = UNKNOWN_TYPE}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kRecognized, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kNone, + .html_field_type = HtmlFieldType::kGivenName, + .server_type = NAME_FIRST, + .heuristic_type = ADDRESS_HOME_HOUSE_NUMBER, + .expected_result = ADDRESS_HOME_HOUSE_NUMBER}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kRecognized, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kNone, + .html_field_type = HtmlFieldType::kUnrecognized, + .server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = ADDRESS_HOME_HOUSE_NUMBER, + .expected_result = UNKNOWN_TYPE}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kSpecified, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kNone, + .html_field_type = HtmlFieldType::kUnrecognized, + .server_type = UNKNOWN_TYPE, + .heuristic_type = ADDRESS_HOME_STREET_NAME, + .expected_result = ADDRESS_HOME_STREET_NAME}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kAddressLine1Or2, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kAddressLine1Or2, + .html_field_type = HtmlFieldType::kAddressLine2, + .server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = ADDRESS_HOME_LINE2, + .expected_result = ADDRESS_HOME_STREET_NAME}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kAddressLine1Or2, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kAddressLine1Or2, + .html_field_type = HtmlFieldType::kGivenName, + .server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = ADDRESS_HOME_HOUSE_NUMBER, + .expected_result = NAME_FIRST}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kAddressLine1Or2, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kAddressLine1Or2, + .html_field_type = HtmlFieldType::kUnrecognized, + .server_type = ADDRESS_HOME_HOUSE_NUMBER, + .heuristic_type = ADDRESS_HOME_STREET_NAME, + .expected_result = UNKNOWN_TYPE}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kRecognized, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kAddressLine1Or2, + .html_field_type = HtmlFieldType::kGivenName, + .server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = ADDRESS_HOME_HOUSE_NUMBER, + .expected_result = ADDRESS_HOME_HOUSE_NUMBER}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kRecognized, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kAddressLine1Or2, + .html_field_type = HtmlFieldType::kUnrecognized, + .server_type = ADDRESS_HOME_HOUSE_NUMBER, + .heuristic_type = ADDRESS_HOME_STREET_NAME, + .expected_result = UNKNOWN_TYPE}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kSpecified, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kAddressLine1Or2, + .html_field_type = HtmlFieldType::kUnrecognized, + .server_type = ADDRESS_HOME_HOUSE_NUMBER, + .heuristic_type = ADDRESS_HOME_STREET_NAME, + .expected_result = ADDRESS_HOME_STREET_NAME}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kRecognized, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kRecognized, + .html_field_type = HtmlFieldType::kGivenName, + .server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = ADDRESS_HOME_HOUSE_NUMBER, + .expected_result = ADDRESS_HOME_HOUSE_NUMBER}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kRecognized, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kRecognized, + .html_field_type = HtmlFieldType::kGivenName, + .server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = NAME_FIRST, + .expected_result = ADDRESS_HOME_STREET_NAME}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kRecognized, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kRecognized, + .html_field_type = HtmlFieldType::kUnrecognized, + .server_type = ADDRESS_HOME_HOUSE_NUMBER, + .heuristic_type = ADDRESS_HOME_STREET_NAME, + .expected_result = UNKNOWN_TYPE}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kSpecified, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kRecognized, + .html_field_type = HtmlFieldType::kGivenName, + .server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = NAME_FIRST, + .expected_result = ADDRESS_HOME_STREET_NAME}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kSpecified, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kRecognized, + .html_field_type = HtmlFieldType::kUnrecognized, + .server_type = ADDRESS_HOME_HOUSE_NUMBER, + .heuristic_type = NAME_FIRST, + .expected_result = UNKNOWN_TYPE}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kSpecified, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kSpecified, + .html_field_type = HtmlFieldType::kUnrecognized, + .server_type = ADDRESS_HOME_HOUSE_NUMBER, + .heuristic_type = ADDRESS_HOME_STREET_NAME, + .expected_result = ADDRESS_HOME_STREET_NAME}, + + PrecedenceOverAutocompleteParams{ + .heuristic_precedence_scope = + features::PrecedenceOverAutocompleteScope::kSpecified, + .server_precedence_scope = + features::PrecedenceOverAutocompleteScope::kSpecified, + .html_field_type = HtmlFieldType::kUnrecognized, + .server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = NAME_FIRST, + .expected_result = ADDRESS_HOME_STREET_NAME})); + +} // namespace +} // namespace autofill
diff --git a/components/autofill/core/browser/field_type_utils.cc b/components/autofill/core/browser/field_type_utils.cc index 0dc5963..228e8c6 100644 --- a/components/autofill/core/browser/field_type_utils.cc +++ b/components/autofill/core/browser/field_type_utils.cc
@@ -5,6 +5,7 @@ #include "components/autofill/core/browser/field_type_utils.h" #include "base/check.h" +#include "components/autofill/core/browser/field_types.h" namespace autofill { @@ -34,4 +35,8 @@ return field.possible_types().contains(field.Type().GetStorableType()); } +bool IsStreetNameOrHouseNumberType(const ServerFieldType type) { + return type == ADDRESS_HOME_STREET_NAME || type == ADDRESS_HOME_HOUSE_NUMBER; +} + } // namespace autofill
diff --git a/components/autofill/core/browser/field_type_utils.h b/components/autofill/core/browser/field_type_utils.h index 323ecd3..d43e593 100644 --- a/components/autofill/core/browser/field_type_utils.h +++ b/components/autofill/core/browser/field_type_utils.h
@@ -6,6 +6,7 @@ #define COMPONENTS_AUTOFILL_CORE_BROWSER_FIELD_TYPE_UTILS_H_ #include "components/autofill/core/browser/autofill_field.h" +#include "components/autofill/core/browser/field_types.h" namespace autofill { @@ -24,6 +25,12 @@ // Returns true if the type of `field` is a possible type. bool TypeOfFieldIsPossibleType(const AutofillField& field); +// Returns true whenever type is ADDRESS_HOME_STREET_NAME or +// ADDRESS_HOME_HOUSE_NUMBER. +// TODO(crbug/1410438): Remove when cleaning up feature +// `kAutofillStreetNameOrHouseNumberPrecedenceOverAutocomplete`. +bool IsStreetNameOrHouseNumberType(const ServerFieldType type); + } // namespace autofill #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_FIELD_TYPE_UTILS_H_
diff --git a/components/autofill/core/browser/form_structure.cc b/components/autofill/core/browser/form_structure.cc index 471af25c..9815b4c29 100644 --- a/components/autofill/core/browser/form_structure.cc +++ b/components/autofill/core/browser/form_structure.cc
@@ -35,6 +35,7 @@ #include "base/strings/utf_string_conversions.h" #include "base/time/time.h" #include "components/autofill/core/browser/autofill_data_util.h" +#include "components/autofill/core/browser/autofill_field.h" #include "components/autofill/core/browser/autofill_type.h" #include "components/autofill/core/browser/field_type_utils.h" #include "components/autofill/core/browser/field_types.h" @@ -47,6 +48,7 @@ #include "components/autofill/core/browser/logging/log_manager.h" #include "components/autofill/core/browser/metrics/autofill_metrics.h" #include "components/autofill/core/browser/metrics/autofill_metrics_utils.h" +#include "components/autofill/core/browser/metrics/precedence_over_autocomplete_metrics.h" #include "components/autofill/core/browser/metrics/shadow_prediction_metrics.h" #include "components/autofill/core/browser/randomized_encoder.h" #include "components/autofill/core/browser/validation.h" @@ -65,6 +67,7 @@ #include "components/autofill/core/common/form_data_predictions.h" #include "components/autofill/core/common/form_field_data.h" #include "components/autofill/core/common/form_field_data_predictions.h" +#include "components/autofill/core/common/html_field_types.h" #include "components/autofill/core/common/logging/log_buffer.h" #include "components/autofill/core/common/signatures.h" #include "components/security_state/core/security_state.h" @@ -110,7 +113,7 @@ for (; data_end > 0 && !bit_field[data_end - 1]; --data_end) { } - // Print all meaningfull bytes into a string. + // Print all meaningful bytes into a string. std::string data_presence; data_presence.reserve(data_end * 2 + 1); for (size_t i = 0; i < data_end; ++i) { @@ -1028,7 +1031,7 @@ features::kAutofillRetrieveOverallPredictionsFromCache)) { // During import the final field type is used to decide which // information to store in an address profile or credit card. As - // rationalization is an important component of determinig the final + // rationalization is an important component of determining the final // field type, the output should be preserved. field->SetTypeTo(cached_field->Type()); } @@ -1141,6 +1144,16 @@ if (!field->value.empty() && !field->is_autofilled) perfect_filling = false; + // If the field was identified by heuristic or server predictions as a + // street name or a house number, log the value of the autocomplete + // attribute that was used to represent the field. + if (IsStreetNameOrHouseNumberType(field->server_type()) || + IsStreetNameOrHouseNumberType(field->heuristic_type())) { + autofill_metrics:: + LogHtmlTypesForAutofilledFieldWithStreetNameOrHouseNumberPredictions( + *field); + } + // Field filling statistics that are only emitted if the form was submitted // but independent of the existence of a possible type. if (observed_submission) { @@ -1149,6 +1162,40 @@ if (field->is_autofilled || field->previously_autofilled()) { AutofillMetrics::LogEditedAutofilledFieldAtSubmission( form_interactions_ukm_logger, *this, *field); + // To emit the StreetNameOrHouseNumberPrecedenceCorrectness metric, we + // should check if the feature + // `kAutofillStreetNameOrHouseNumberPrecedenceOverAutocomplete` had an + // effect on the current field. This lambda takes care of that. + auto precedence_feature_had_effect = [](const AutofillField& field) { + // When server override happens, `ComputedType()` isn't called and + // hence the feature's logic doesn't apply. + bool no_server_override = + !field.server_type_prediction_is_override() || + field.server_type() == NO_SERVER_DATA; + // When the autocomplete attribute is unspecified, it is + // unconditionally overridden, regardless of the feature. + bool specified_autocomplete = + field.html_type() != HtmlFieldType::kUnspecified; + // We are not interested in cases where the autocomplete attribute + // agrees with server or heuristic predictions, since in that case + // precedence wouldn't change the behavior of the program. + bool autocomplete_disagree_with_type = + field.Type().GetStorableType() != + AutofillType(field.html_type(), field.html_mode()) + .GetStorableType(); + // The feature is only active for street name and house number types. + bool is_street_name_or_house_number = + IsStreetNameOrHouseNumberType(field.Type().GetStorableType()); + + return no_server_override && specified_autocomplete && + autocomplete_disagree_with_type && + is_street_name_or_house_number; + }; + if (precedence_feature_had_effect(*field)) { + autofill_metrics:: + LogEditedAutofilledFieldWithStreetNameOrHouseNumberPrecedenceAtSubmission( + *field); + } } // For any field that belongs to either an address or a credit card form, @@ -1253,7 +1300,7 @@ if (observed_submission) { if (field->is_autofilled || field->previously_autofilled()) { // TODO(crbug.com/1368096): This metric is defective because it is - // confitioned on having a possible field type. Remove after M112. + // conditioned on having a possible field type. Remove after M112. AutofillMetrics::LogEditedAutofilledFieldAtSubmissionDeprecated( form_interactions_ukm_logger, *this, *field); } @@ -1291,7 +1338,7 @@ // Log the number of autofilled fields with an unrecognized autocomplete // attribute at submission time. // Note that credit card fields are not counted since they generally - // ignore an unrecognized autocompelte attribute. + // ignore an unrecognized autocomplete attribute. AutofillMetrics:: LogNumberOfAutofilledFieldsWithAutocompleteUnrecognizedAtSubmission( num_of_accepted_autofilled_fields_with_autocomplete_unrecognized,
diff --git a/components/autofill/core/browser/metrics/autofill_metrics.cc b/components/autofill/core/browser/metrics/autofill_metrics.cc index a90ac6e..1b7c1685 100644 --- a/components/autofill/core/browser/metrics/autofill_metrics.cc +++ b/components/autofill/core/browser/metrics/autofill_metrics.cc
@@ -22,6 +22,7 @@ #include "components/autofill/core/browser/autofill_type.h" #include "components/autofill/core/browser/data_model/autofill_offer_data.h" #include "components/autofill/core/browser/data_model/credit_card.h" +#include "components/autofill/core/browser/field_type_utils.h" #include "components/autofill/core/browser/field_types.h" #include "components/autofill/core/browser/form_structure.h" #include "components/autofill/core/browser/form_types.h" @@ -2159,7 +2160,7 @@ case SubmissionSource::FORM_SUBMISSION: return "Autofill.UploadEvent.FormSubmission"; } - // Unittests exercise this path, so do not put NOTREACHED() here. + // Unit tests exercise this path, so do not put NOTREACHED() here. return "Autofill.UploadEvent.Unknown"; }
diff --git a/components/autofill/core/browser/metrics/autofill_metrics_unittest.cc b/components/autofill/core/browser/metrics/autofill_metrics_unittest.cc index 646462f..97ea93dc 100644 --- a/components/autofill/core/browser/metrics/autofill_metrics_unittest.cc +++ b/components/autofill/core/browser/metrics/autofill_metrics_unittest.cc
@@ -7205,7 +7205,7 @@ // take precedence appropriately. { SCOPED_TRACE( - "Test 4 - mixed case: some fields are autofille, some fields are " + "Test 4 - mixed case: some fields are autofilled, some fields are " "edited."); base::HistogramTester histogram_tester;
diff --git a/components/autofill/core/browser/metrics/precedence_over_autocomplete_metrics.cc b/components/autofill/core/browser/metrics/precedence_over_autocomplete_metrics.cc new file mode 100644 index 0000000..c762e5f2 --- /dev/null +++ b/components/autofill/core/browser/metrics/precedence_over_autocomplete_metrics.cc
@@ -0,0 +1,101 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/autofill/core/browser/metrics/precedence_over_autocomplete_metrics.h" + +#include "base/metrics/histogram_functions.h" +#include "base/strings/strcat.h" +#include "components/autofill/core/browser/field_type_utils.h" +#include "components/autofill/core/browser/metrics/autofill_metrics.h" + +namespace autofill::autofill_metrics { + +void LogHtmlTypesForAutofilledFieldWithStreetNameOrHouseNumberPredictions( + const AutofillField& field) { + DCHECK(IsStreetNameOrHouseNumberType(field.server_type()) || + IsStreetNameOrHouseNumberType(field.heuristic_type())); + AutocompleteValueForStructuredAddressPredictedFieldsMetric + autocomplete_metric; + switch (field.html_type()) { + case HtmlFieldType::kAddressLine1: + case HtmlFieldType::kAddressLine2: + autocomplete_metric = + AutocompleteValueForStructuredAddressPredictedFieldsMetric:: + kAddressLine1Or2; + break; + case HtmlFieldType::kUnrecognized: + autocomplete_metric = + AutocompleteValueForStructuredAddressPredictedFieldsMetric:: + kUnrecognized; + break; + case HtmlFieldType::kUnspecified: + autocomplete_metric = + AutocompleteValueForStructuredAddressPredictedFieldsMetric:: + kUnspecified; + break; + default: + autocomplete_metric = + AutocompleteValueForStructuredAddressPredictedFieldsMetric:: + kOtherRecognized; + break; + } + auto emit_histogram = [&](const ServerFieldType current_field_type, + const base::StringPiece current_prediction_type) { + if (!IsStreetNameOrHouseNumberType(current_field_type)) { + return; + } + base::StringPiece current_field_type_str = + current_field_type == ADDRESS_HOME_STREET_NAME ? "StreetName" + : "HouseNumber"; + for (auto field_type : {base::StringPiece("StreetNameOrHouseNumber"), + current_field_type_str}) { + for (auto prediction_type : + {base::StringPiece("HeuristicOrServer"), current_prediction_type}) { + base::UmaHistogramEnumeration( + base::StrCat({"Autofill.AutocompleteAttributeForFieldsWith.", + field_type, ".", prediction_type, ".Prediction"}), + autocomplete_metric); + } + } + }; + emit_histogram(field.server_type(), "Server"); + emit_histogram(field.heuristic_type(), "Heuristic"); +} + +void LogEditedAutofilledFieldWithStreetNameOrHouseNumberPrecedenceAtSubmission( + const AutofillField& field) { + DCHECK(field.Type().GetStorableType() == field.heuristic_type() || + field.Type().GetStorableType() == field.server_type()); + DCHECK(IsStreetNameOrHouseNumberType(field.Type().GetStorableType())); + DCHECK(field.html_type() != HtmlFieldType::kUnspecified); + for (const char* current_precedence_type : + {"HeuristicOrServer", + field.Type().GetStorableType() == field.heuristic_type() ? "Heuristic" + : "Server"}) { + for (const char* current_field_type : + {"StreetNameOrHouseNumber", + field.Type().GetStorableType() == ADDRESS_HOME_STREET_NAME + ? "StreetName" + : "HouseNumber"}) { + for (const char* current_autocomplete_status : + {"Specified", field.html_type() == HtmlFieldType::kUnrecognized + ? "Unrecognized" + : "Recognized"}) { + base::UmaHistogramEnumeration( + base::StrCat( + {"Autofill.", current_precedence_type, + "Precedence.OverAutocompleteForStructuredAddressFields.", + current_field_type, ".AutocompleteIs.", + current_autocomplete_status}), + field.previously_autofilled() + ? AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_EDITED + : AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_NOT_EDITED); + } + } + } +} + +} // namespace autofill::autofill_metrics
diff --git a/components/autofill/core/browser/metrics/precedence_over_autocomplete_metrics.h b/components/autofill/core/browser/metrics/precedence_over_autocomplete_metrics.h new file mode 100644 index 0000000..adc6367 --- /dev/null +++ b/components/autofill/core/browser/metrics/precedence_over_autocomplete_metrics.h
@@ -0,0 +1,41 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_METRICS_PRECEDENCE_OVER_AUTOCOMPLETE_METRICS_H_ +#define COMPONENTS_AUTOFILL_CORE_BROWSER_METRICS_PRECEDENCE_OVER_AUTOCOMPLETE_METRICS_H_ + +#include "components/autofill/core/browser/autofill_field.h" + +namespace autofill::autofill_metrics { + +// These values are persisted to UMA logs. Entries should not be renumbered +// and numeric values should never be reused. These are the categories of +// interests for looking at what are the autocomplete values that were used to +// annotate fields that are being predicted by the server or heuristics as +// street name or house number. +enum class AutocompleteValueForStructuredAddressPredictedFieldsMetric { + kAddressLine1Or2 = 0, + kOtherRecognized = 1, + kUnrecognized = 2, + kUnspecified = 3, + kMaxValue = kUnspecified +}; + +// Records for an autofilled field with street name or house number heuristic +// or server predictions, the category of values of autocomplete attribute +// used to represent that field. The categories can be found in the +// `AutocompleteValueForStructuredAddressPredictedFieldsMetric` enum. +void LogHtmlTypesForAutofilledFieldWithStreetNameOrHouseNumberPredictions( + const AutofillField& field); + +// Records if an autofilled field that was determined by heuristic or server +// predictions as a street name or a house number, and whose street name or +// house number prediction was granted precedence over the autocomplete +// attribute, was accepted or corrected by the user. +void LogEditedAutofilledFieldWithStreetNameOrHouseNumberPrecedenceAtSubmission( + const AutofillField& field); + +} // namespace autofill::autofill_metrics + +#endif // COMPONENTS_AUTOFILL_CORE_BROWSER_METRICS_PRECEDENCE_OVER_AUTOCOMPLETE_METRICS_H_
diff --git a/components/autofill/core/browser/metrics/precedence_over_autocomplete_metrics_unittest.cc b/components/autofill/core/browser/metrics/precedence_over_autocomplete_metrics_unittest.cc new file mode 100644 index 0000000..99d29b161 --- /dev/null +++ b/components/autofill/core/browser/metrics/precedence_over_autocomplete_metrics_unittest.cc
@@ -0,0 +1,322 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/autofill/core/browser/metrics/precedence_over_autocomplete_metrics.h" + +#include "base/strings/strcat.h" +#include "base/test/metrics/histogram_tester.h" +#include "base/test/scoped_feature_list.h" +#include "components/autofill/core/browser/metrics/autofill_metrics_test_base.h" +#include "components/autofill/core/common/autofill_features.h" +#include "testing/gtest/include/gtest/gtest.h" + +using ::base::Bucket; +using ::base::BucketsAre; + +namespace autofill::autofill_metrics { + +class PrecedenceOverAutocompleteMetricsTest + : public autofill_metrics::AutofillMetricsBaseTest, + public testing::Test { + public: + void SetUp() override { SetUpHelper(); } + void TearDown() override { TearDownHelper(); } +}; + +// Tests the logging of autocomplete values for fields predicted as street name +// or house number by heuristics or server. +TEST_F( + PrecedenceOverAutocompleteMetricsTest, + AutocompleteValuesForAutofilledFieldWithStreetNameOrHouseNumberPredictions) { + test::FormDescription form_description = { + .description_for_logging = "NumberOfAutofilledFields", + .fields = {{.server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = ADDRESS_HOME_HOUSE_NUMBER, + .value = u"405", + .autocomplete_attribute = "address-line1", + .is_autofilled = true}, + + {.server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = NAME_FIRST, + .value = u"Some Random Street Name", + .autocomplete_attribute = "given-name", + .is_autofilled = true}, + + {.server_type = NAME_LAST, + .heuristic_type = ADDRESS_HOME_STREET_NAME, + .value = u"Some Random Street Name", + .autocomplete_attribute = "unrecognized", + .is_autofilled = true}, + + {.server_type = ADDRESS_HOME_HOUSE_NUMBER, + .heuristic_type = NAME_LAST, + .value = u"405", + .autocomplete_attribute = "off", + .is_autofilled = true}}, + + .unique_renderer_id = test::MakeFormRendererId(), + .main_frame_origin = + url::Origin::Create(autofill_client_->form_origin())}; + + FormData form = GetAndAddSeenForm(form_description); + base::HistogramTester histogram_tester; + SubmitForm(form); + + const std::string any_field_type = "StreetNameOrHouseNumber"; + const std::string house_number_field_type = "HouseNumber"; + const std::string street_name_field_type = "StreetName"; + const std::string any_prediction_type = "HeuristicOrServer"; + const std::string heuristic_prediction_type = "Heuristic"; + const std::string server_prediction_type = "Server"; + auto histogram_name = [&](const std::string& current_field_type, + const std::string& current_prediction_type) { + return base::StrCat({"Autofill.AutocompleteAttributeForFieldsWith.", + current_field_type, ".", current_prediction_type, + ".Prediction"}); + }; + using AutocompleteCategory = + AutocompleteValueForStructuredAddressPredictedFieldsMetric; + + EXPECT_THAT(histogram_tester.GetAllSamples(histogram_name( + house_number_field_type, heuristic_prediction_type)), + BucketsAre(Bucket(AutocompleteCategory::kAddressLine1Or2, 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples(histogram_name( + street_name_field_type, heuristic_prediction_type)), + BucketsAre(Bucket(AutocompleteCategory::kUnrecognized, 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(any_field_type, heuristic_prediction_type)), + BucketsAre(Bucket(AutocompleteCategory::kAddressLine1Or2, 1), + Bucket(AutocompleteCategory::kUnrecognized, 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples(histogram_name( + house_number_field_type, server_prediction_type)), + BucketsAre(Bucket(AutocompleteCategory::kUnspecified, 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples(histogram_name( + street_name_field_type, server_prediction_type)), + BucketsAre(Bucket(AutocompleteCategory::kAddressLine1Or2, 1), + Bucket(AutocompleteCategory::kOtherRecognized, 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(any_field_type, server_prediction_type)), + BucketsAre(Bucket(AutocompleteCategory::kAddressLine1Or2, 1), + Bucket(AutocompleteCategory::kOtherRecognized, 1), + Bucket(AutocompleteCategory::kUnspecified, 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(house_number_field_type, any_prediction_type)), + BucketsAre(Bucket(AutocompleteCategory::kAddressLine1Or2, 1), + Bucket(AutocompleteCategory::kUnspecified, 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(street_name_field_type, any_prediction_type)), + BucketsAre(Bucket(AutocompleteCategory::kAddressLine1Or2, 1), + Bucket(AutocompleteCategory::kOtherRecognized, 1), + Bucket(AutocompleteCategory::kUnrecognized, 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(any_field_type, any_prediction_type)), + BucketsAre(Bucket(AutocompleteCategory::kAddressLine1Or2, 2), + Bucket(AutocompleteCategory::kOtherRecognized, 1), + Bucket(AutocompleteCategory::kUnrecognized, 1), + Bucket(AutocompleteCategory::kUnspecified, 1))); +} + +// Tests the logging of StreetName and HouseNumber precedence over autocomplete +// correctness. +TEST_F(PrecedenceOverAutocompleteMetricsTest, + EditedAutofilledFieldWithStreetNameOrHouseNumberPrecedenceAtSubmission) { + base::test::ScopedFeatureList scoped_feature_list; + scoped_feature_list.InitAndEnableFeatureWithParameters( + features::kAutofillStreetNameOrHouseNumberPrecedenceOverAutocomplete, + {{features::kAutofillHeuristicPrecedenceScopeOverAutocomplete.name, + features::kAutofillHeuristicPrecedenceScopeOverAutocomplete.GetName( + features::PrecedenceOverAutocompleteScope::kSpecified)}, + {features::kAutofillServerPrecedenceScopeOverAutocomplete.name, + features::kAutofillServerPrecedenceScopeOverAutocomplete.GetName( + features::PrecedenceOverAutocompleteScope::kSpecified)}}); + + test::FormDescription form_description = { + .description_for_logging = "NumberOfAutofilledFields", + .fields = {{.server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = ADDRESS_HOME_HOUSE_NUMBER, + .value = u"405", + .autocomplete_attribute = "address-line1", + .is_autofilled = true}, + + {.server_type = ADDRESS_HOME_STREET_NAME, + .heuristic_type = NAME_FIRST, + .value = u"Some Random Street Name", + .autocomplete_attribute = "unrecognized", + .is_autofilled = true}, + + {.server_type = ADDRESS_HOME_HOUSE_NUMBER, + .heuristic_type = NAME_LAST, + .value = u"405", + .autocomplete_attribute = "off", + .is_autofilled = true}, + + {.server_type = NAME_FIRST, + .heuristic_type = NAME_LAST, + .value = u"ojijo", + .autocomplete_attribute = "address-line2", + .is_autofilled = true}}, + + .unique_renderer_id = test::MakeFormRendererId(), + .main_frame_origin = + url::Origin::Create(autofill_client_->form_origin())}; + + FormData form = GetAndAddSeenForm(form_description); + base::HistogramTester histogram_tester; + + // Simulate text input in the first and third fields. + SimulateUserChangedTextField(form, form.fields[0]); + SimulateUserChangedTextField(form, form.fields[2]); + SubmitForm(form); + + const std::string any_precedence_type = "HeuristicOrServer"; + const std::string heuristic_precedence_type = "Heuristic"; + const std::string server_precedence_type = "Server"; + const std::string any_field_type = "StreetNameOrHouseNumber"; + const std::string house_number_field_type = "HouseNumber"; + const std::string street_name_field_type = "StreetName"; + const std::string any_autocomplete_status = "Specified"; + const std::string recognized_autocomplete_status = "Recognized"; + const std::string unrecognized_autocomplete_status = "Unrecognized"; + auto histogram_name = [&](const std::string& current_precedence_type, + const std::string& current_field_type, + const std::string& current_autocomplete_status) { + return base::StrCat( + {"Autofill.", current_precedence_type, + "Precedence.OverAutocompleteForStructuredAddressFields.", + current_field_type, ".AutocompleteIs.", current_autocomplete_status}); + }; + + EXPECT_THAT(histogram_tester.GetAllSamples(histogram_name( + heuristic_precedence_type, house_number_field_type, + recognized_autocomplete_status)), + BucketsAre(Bucket( + AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_EDITED, + 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(any_precedence_type, house_number_field_type, + recognized_autocomplete_status)), + BucketsAre(Bucket( + AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_EDITED, + 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(heuristic_precedence_type, any_field_type, + recognized_autocomplete_status)), + BucketsAre(Bucket( + AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_EDITED, + 1))); + + EXPECT_THAT( + histogram_tester.GetAllSamples(histogram_name( + any_precedence_type, any_field_type, recognized_autocomplete_status)), + BucketsAre( + Bucket(AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_EDITED, + 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(server_precedence_type, street_name_field_type, + unrecognized_autocomplete_status)), + BucketsAre(Bucket( + AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_NOT_EDITED, + 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(any_precedence_type, street_name_field_type, + unrecognized_autocomplete_status)), + BucketsAre(Bucket( + AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_NOT_EDITED, + 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(server_precedence_type, any_field_type, + unrecognized_autocomplete_status)), + BucketsAre(Bucket( + AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_NOT_EDITED, + 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(any_precedence_type, any_field_type, + unrecognized_autocomplete_status)), + BucketsAre(Bucket( + AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_NOT_EDITED, + 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples(histogram_name( + heuristic_precedence_type, house_number_field_type, + any_autocomplete_status)), + BucketsAre(Bucket( + AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_EDITED, + 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(any_precedence_type, house_number_field_type, + any_autocomplete_status)), + BucketsAre(Bucket( + AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_EDITED, + 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(server_precedence_type, street_name_field_type, + any_autocomplete_status)), + BucketsAre(Bucket( + AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_NOT_EDITED, + 1))); + + EXPECT_THAT(histogram_tester.GetAllSamples( + histogram_name(any_precedence_type, street_name_field_type, + any_autocomplete_status)), + BucketsAre(Bucket( + AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_NOT_EDITED, + 1))); + + EXPECT_THAT( + histogram_tester.GetAllSamples(histogram_name( + heuristic_precedence_type, any_field_type, any_autocomplete_status)), + BucketsAre( + Bucket(AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_EDITED, + 1))); + + EXPECT_THAT( + histogram_tester.GetAllSamples(histogram_name( + server_precedence_type, any_field_type, any_autocomplete_status)), + BucketsAre( + Bucket(AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_NOT_EDITED, + 1))); + + EXPECT_THAT( + histogram_tester.GetAllSamples(histogram_name( + any_precedence_type, any_field_type, any_autocomplete_status)), + BucketsAre( + Bucket(AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_EDITED, + 1), + Bucket(AutofillMetrics::AutofilledFieldUserEditingStatusMetric:: + AUTOFILLED_FIELD_WAS_NOT_EDITED, + 1))); +} + +} // namespace autofill::autofill_metrics
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc index 758ac85b..f6f4f43 100644 --- a/components/autofill/core/common/autofill_features.cc +++ b/components/autofill/core/common/autofill_features.cc
@@ -300,6 +300,31 @@ BASE_FEATURE(kAutofillFeedback, "AutofillFeedback", base::FEATURE_DISABLED_BY_DEFAULT); +BASE_FEATURE(kAutofillStreetNameOrHouseNumberPrecedenceOverAutocomplete, + "AutofillStreetNameOrHouseNumberPrecedenceOverAutocomplete", + base::FEATURE_DISABLED_BY_DEFAULT); + +const base::FeatureParam<PrecedenceOverAutocompleteScope>::Option + kPrecedenceOverAutocompleteScope[] = { + {PrecedenceOverAutocompleteScope::kNone, "none"}, + {PrecedenceOverAutocompleteScope::kAddressLine1Or2, + "address_line_1_and_2"}, + {PrecedenceOverAutocompleteScope::kRecognized, "recognized"}, + {PrecedenceOverAutocompleteScope::kSpecified, "specified"}}; + +const base::FeatureParam<PrecedenceOverAutocompleteScope> + kAutofillHeuristicPrecedenceScopeOverAutocomplete{ + &kAutofillStreetNameOrHouseNumberPrecedenceOverAutocomplete, + "AutofillHeuristicPrecedenceOverAutocompleteScope", + PrecedenceOverAutocompleteScope::kAddressLine1Or2, + &kPrecedenceOverAutocompleteScope}; + +const base::FeatureParam<PrecedenceOverAutocompleteScope> + kAutofillServerPrecedenceScopeOverAutocomplete{ + &kAutofillStreetNameOrHouseNumberPrecedenceOverAutocomplete, + "AutofillServerPrecedenceOverAutocompleteScope", + PrecedenceOverAutocompleteScope::kNone, + &kPrecedenceOverAutocompleteScope}; // When enabled, HTML autocomplete values that do not map to any known type, but // look reasonable (e.g. contain "address") are simply ignored. Without the
diff --git a/components/autofill/core/common/autofill_features.h b/components/autofill/core/common/autofill_features.h index 22be90ff..d8edad34 100644 --- a/components/autofill/core/common/autofill_features.h +++ b/components/autofill/core/common/autofill_features.h
@@ -110,6 +110,26 @@ COMPONENT_EXPORT(AUTOFILL) BASE_DECLARE_FEATURE(kAutofillFeedback); COMPONENT_EXPORT(AUTOFILL) +BASE_DECLARE_FEATURE( + kAutofillStreetNameOrHouseNumberPrecedenceOverAutocomplete); +// Records the values of HtmlFieldType that the server or heuristic predictions +// will be able to override when the feature +// `kAutofillStreetNameOrHouseNumberPrecedenceOverAutocomplete` is enabled. +enum class PrecedenceOverAutocompleteScope { + kNone = 0, + kAddressLine1Or2 = 1, + kRecognized = 2, + kSpecified = 3, + kMaxValue = kSpecified +}; +COMPONENT_EXPORT(AUTOFILL) +extern const base::FeatureParam<PrecedenceOverAutocompleteScope> + kAutofillHeuristicPrecedenceScopeOverAutocomplete; + +COMPONENT_EXPORT(AUTOFILL) +extern const base::FeatureParam<PrecedenceOverAutocompleteScope> + kAutofillServerPrecedenceScopeOverAutocomplete; +COMPONENT_EXPORT(AUTOFILL) BASE_DECLARE_FEATURE(kAutofillIgnoreUnmappableAutocompleteValues); COMPONENT_EXPORT(AUTOFILL) BASE_DECLARE_FEATURE(kAutofillImprovedLabelForInference);
diff --git a/components/exo/security_delegate.cc b/components/exo/security_delegate.cc index 58a8d29..7d32ade 100644 --- a/components/exo/security_delegate.cc +++ b/components/exo/security_delegate.cc
@@ -50,4 +50,9 @@ return false; } +bool SecurityDelegate::CanSetBoundsWithServerSideDecoration( + aura::Window* window) const { + return false; +} + } // namespace exo
diff --git a/components/exo/security_delegate.h b/components/exo/security_delegate.h index b91a7ff2e..961f857 100644 --- a/components/exo/security_delegate.h +++ b/components/exo/security_delegate.h
@@ -51,6 +51,13 @@ // can lock the location of the pointer and disable movement, or return false // to reject the pointer lock request. virtual bool CanLockPointer(aura::Window* window) const; + + // If server-side decoration is used, clients normally should not set their + // own window bounds, as they may not be able to compute them correctly + // (accounting for the size of the window decorations). + // + // Return true if this client is allowed to set its own window bounds anyway. + virtual bool CanSetBoundsWithServerSideDecoration(aura::Window* window) const; }; } // namespace exo
diff --git a/components/exo/shell_surface_base.cc b/components/exo/shell_surface_base.cc index 814080e..295954a8 100644 --- a/components/exo/shell_surface_base.cc +++ b/components/exo/shell_surface_base.cc
@@ -642,10 +642,38 @@ initial_bounds_.emplace(bounds); return; } - // TODO(crbug.com/1261321): This will not work if the full server side - // decoration is used. - DCHECK(!frame_enabled()); - widget_->SetBounds(bounds); + + // Currently, clients do not know the size of the server-side decorations, + // so may not be able to compute correct bounds for decorated windows. + // + // TODO(crbug.com/1261321, b/268395213): Instead, tell clients how large the + // decorations are, so they can make better decisions. + if (GetSecurityDelegate() && + GetSecurityDelegate()->CanSetBoundsWithServerSideDecoration( + widget_->GetNativeWindow())) { + // For selected clients (Borealis) work around this by expanding + // the requested bounds to include the decorations, if any. + if (widget_->non_client_view()) { + gfx::Rect expanded_bounds{ + widget_->non_client_view()->GetWindowBoundsForClientBounds(bounds)}; + + // If this expansion pushes the title bar offscreen, push it back + // onscreen while preserving requested X coordinate, width, and height. + gfx::Rect work_area = + display::Screen::GetScreen()->GetDisplayMatching(bounds).work_area(); + if (!work_area.IsEmpty() && expanded_bounds.y() < work_area.y()) { + expanded_bounds.Offset(0, work_area.y() - expanded_bounds.y()); + } + widget_->SetBounds(expanded_bounds); + } else { + // No decorations, so no adjustment needed. + widget_->SetBounds(bounds); + } + } else { + // Don't permit other clients (Lacros) to set bounds for decorated windows. + DCHECK(!frame_enabled()); + widget_->SetBounds(bounds); + } } void ShellSurfaceBase::SetRestoreInfo(int32_t restore_session_id,
diff --git a/components/exo/test/mock_security_delegate.h b/components/exo/test/mock_security_delegate.h index da7c2fa79..9f155c4 100644 --- a/components/exo/test/mock_security_delegate.h +++ b/components/exo/test/mock_security_delegate.h
@@ -19,6 +19,10 @@ MOCK_METHOD(std::string, GetSecurityContext, (), (const, override)); MOCK_METHOD(bool, CanSelfActivate, (aura::Window*), (const, override)); MOCK_METHOD(bool, CanLockPointer, (aura::Window*), (const, override)); + MOCK_METHOD(bool, + CanSetBoundsWithServerSideDecoration, + (aura::Window*), + (const, override)); }; } // namespace exo::test
diff --git a/components/gwp_asan/client/guarded_page_allocator.cc b/components/gwp_asan/client/guarded_page_allocator.cc index 8c8df4e..675bca2b 100644 --- a/components/gwp_asan/client/guarded_page_allocator.cc +++ b/components/gwp_asan/client/guarded_page_allocator.cc
@@ -171,16 +171,20 @@ GuardedPageAllocator::GuardedPageAllocator() {} -void GuardedPageAllocator::Init(size_t max_alloced_pages, - size_t num_metadata, - size_t total_pages, - OutOfMemoryCallback oom_callback, - bool is_partition_alloc) { +void GuardedPageAllocator::Init( + size_t max_alloced_pages, + size_t num_metadata, + size_t total_pages, + OutOfMemoryCallback oom_callback, + bool is_partition_alloc, + LightweightDetectorState lightweight_detector_state, + size_t num_lightweight_detector_metadata) { CHECK_GT(max_alloced_pages, 0U); CHECK_LE(max_alloced_pages, num_metadata); CHECK_LE(num_metadata, AllocatorState::kMaxMetadata); CHECK_LE(num_metadata, total_pages); CHECK_LE(total_pages, AllocatorState::kMaxRequestedSlots); + CHECK_LE(num_lightweight_detector_metadata, AllocatorState::kMaxMetadata); max_alloced_pages_ = max_alloced_pages; state_.num_metadata = num_metadata; state_.total_requested_pages = total_pages; @@ -238,6 +242,16 @@ std::make_unique<AllocatorState::SlotMetadata[]>(state_.num_metadata); state_.metadata_addr = reinterpret_cast<uintptr_t>(metadata_.get()); + if (lightweight_detector_state == LightweightDetectorState::kEnabled) { + state_.num_lightweight_detector_metadata = + num_lightweight_detector_metadata; + lightweight_detector_metadata_ = + std::make_unique<AllocatorState::SlotMetadata[]>( + state_.num_lightweight_detector_metadata); + state_.lightweight_detector_metadata_addr = + reinterpret_cast<uintptr_t>(lightweight_detector_metadata_.get()); + } + #if BUILDFLAG(IS_ANDROID) // Explicitly allow memory ranges the crash_handler needs to read. This is // required for WebView because it has a stricter set of privacy constraints @@ -256,6 +270,11 @@ regions.emplace_back( slot_to_metadata_idx_.data(), sizeof(AllocatorState::MetadataIdx) * state_.total_reserved_pages); + if (lightweight_detector_metadata_) { + regions.emplace_back(lightweight_detector_metadata_.get(), + sizeof(AllocatorState::SlotMetadata) * + state_.num_lightweight_detector_metadata); + } return regions; }
diff --git a/components/gwp_asan/client/guarded_page_allocator.h b/components/gwp_asan/client/guarded_page_allocator.h index a86d2a0..1fbc1d6 100644 --- a/components/gwp_asan/client/guarded_page_allocator.h +++ b/components/gwp_asan/client/guarded_page_allocator.h
@@ -22,6 +22,13 @@ namespace gwp_asan { namespace internal { +// This enum is used during allocator initialization to control the +// Lightweight UaF Detector - a secondary memory error detection mechanism. +enum class LightweightDetectorState : bool { + kDisabled, + kEnabled, +}; + // This class encompasses the allocation and deallocation logic on top of the // AllocatorState. Its members are not inspected or used by the crash handler. // @@ -59,7 +66,9 @@ size_t num_metadata, size_t total_pages, OutOfMemoryCallback oom_callback, - bool is_partition_alloc); + bool is_partition_alloc, + LightweightDetectorState, + size_t num_lightweight_detector_metadata); // On success, returns a pointer to size bytes of page-guarded memory. On // failure, returns nullptr. The allocation is not guaranteed to be @@ -225,6 +234,10 @@ // TODO(vtsyrklevich): Use an std::vector<> here as well. std::unique_ptr<AllocatorState::SlotMetadata[]> metadata_; + // Same as the above, but used exclusively by the lightweight UAF detector. + std::unique_ptr<AllocatorState::SlotMetadata[]> + lightweight_detector_metadata_; + // Maps a slot index to a metadata index (or kInvalidMetadataIdx if no such // mapping exists.) std::vector<AllocatorState::MetadataIdx> slot_to_metadata_idx_;
diff --git a/components/gwp_asan/client/guarded_page_allocator_unittest.cc b/components/gwp_asan/client/guarded_page_allocator_unittest.cc index b69de2e..28b9d7f 100644 --- a/components/gwp_asan/client/guarded_page_allocator_unittest.cc +++ b/components/gwp_asan/client/guarded_page_allocator_unittest.cc
@@ -36,7 +36,7 @@ gpa_.Init(max_allocated_pages, max_metadata, max_slots, base::BindLambdaForTesting( [&](size_t allocations) { allocator_oom_ = true; }), - is_partition_alloc); + is_partition_alloc, LightweightDetectorState::kDisabled, 0); } GuardedPageAllocator gpa_;
diff --git a/components/gwp_asan/client/sampling_malloc_shims.cc b/components/gwp_asan/client/sampling_malloc_shims.cc index ae1614b..f8502f8 100644 --- a/components/gwp_asan/client/sampling_malloc_shims.cc +++ b/components/gwp_asan/client/sampling_malloc_shims.cc
@@ -289,7 +289,7 @@ static crash_reporter::CrashKeyString<24> malloc_crash_key(kMallocCrashKey); gpa = new GuardedPageAllocator(); gpa->Init(max_allocated_pages, num_metadata, total_pages, std::move(callback), - false); + false, LightweightDetectorState::kDisabled, 0); malloc_crash_key.Set(gpa->GetCrashKey()); sampling_state.Init(sampling_frequency); allocator_shim::InsertAllocatorDispatch(&g_allocator_dispatch);
diff --git a/components/gwp_asan/client/sampling_partitionalloc_shims.cc b/components/gwp_asan/client/sampling_partitionalloc_shims.cc index 090d60f..0d48d7f6 100644 --- a/components/gwp_asan/client/sampling_partitionalloc_shims.cc +++ b/components/gwp_asan/client/sampling_partitionalloc_shims.cc
@@ -78,7 +78,7 @@ kPartitionAllocCrashKey); gpa = new GuardedPageAllocator(); gpa->Init(max_allocated_pages, num_metadata, total_pages, std::move(callback), - true); + true, LightweightDetectorState::kDisabled, 0); pa_crash_key.Set(gpa->GetCrashKey()); sampling_state.Init(sampling_frequency); // TODO(vtsyrklevich): Allow SetOverrideHooks to be passed in so we can hook
diff --git a/components/gwp_asan/common/allocator_state.cc b/components/gwp_asan/common/allocator_state.cc index 1515c32d..7b05d174 100644 --- a/components/gwp_asan/common/allocator_state.cc +++ b/components/gwp_asan/common/allocator_state.cc
@@ -85,6 +85,10 @@ if (!metadata_addr || !slot_to_metadata_addr) return false; + if (num_lightweight_detector_metadata > kMaxMetadata) { + return false; + } + return true; }
diff --git a/components/gwp_asan/common/allocator_state.h b/components/gwp_asan/common/allocator_state.h index e1b986877..babfaaf 100644 --- a/components/gwp_asan/common/allocator_state.h +++ b/components/gwp_asan/common/allocator_state.h
@@ -195,6 +195,12 @@ // If an invalid pointer has been free()d, this is the address of that invalid // pointer. uintptr_t free_invalid_address = 0; + + // Number of entries in |lightweight_detector_metadata_addr|. + size_t num_lightweight_detector_metadata = 0; + // Similar to |metadata_addr|, but used exclusively by the lightweight UAF + // detector. + uintptr_t lightweight_detector_metadata_addr = 0; }; // Ensure that the allocator state is a plain-old-data. That way we can safely
diff --git a/components/gwp_asan/common/allocator_state_unittest.cc b/components/gwp_asan/common/allocator_state_unittest.cc index d97dee7..1598c7e 100644 --- a/components/gwp_asan/common/allocator_state_unittest.cc +++ b/components/gwp_asan/common/allocator_state_unittest.cc
@@ -27,7 +27,8 @@ size_t total_reserved_pages, int base_addr_offset = 0, int first_page_offset = 0, - int end_addr_offset = 0) { + int end_addr_offset = 0, + size_t num_lightweight_detector_metadata = 0) { state_.page_size = page_size; state_.num_metadata = num_metadata; state_.total_requested_pages = total_requested_pages; @@ -43,6 +44,10 @@ // An invalid address, but it's never dereferenced in AllocatorState. state_.metadata_addr = 0x1234; state_.slot_to_metadata_addr = 0x1234; + + state_.num_lightweight_detector_metadata = + num_lightweight_detector_metadata; + state_.lightweight_detector_metadata_addr = 0x1234; } AllocatorState state_; @@ -218,5 +223,19 @@ // It's impossible to trigger kErrorBadSlotIndex. } +TEST_F(AllocatorStateTest, LightweightDetector) { + InitializeState(base::GetPageSize(), 1, 1, 1, 0, 0, 0, 0); + EXPECT_TRUE(state_.IsValid()); + + InitializeState(base::GetPageSize(), 1, 1, 1, 0, 0, 0, 1); + EXPECT_TRUE(state_.IsValid()); + + InitializeState(base::GetPageSize(), 1, 1, 1, 0, 0, 0, kMaxMetadata); + EXPECT_TRUE(state_.IsValid()); + + InitializeState(base::GetPageSize(), 1, 1, 1, 0, 0, 0, kMaxMetadata + 1); + EXPECT_FALSE(state_.IsValid()); +} + } // namespace internal } // namespace gwp_asan
diff --git a/components/gwp_asan/crash_handler/crash_analyzer_unittest.cc b/components/gwp_asan/crash_handler/crash_analyzer_unittest.cc index 5f995b9..2152cd5 100644 --- a/components/gwp_asan/crash_handler/crash_analyzer_unittest.cc +++ b/components/gwp_asan/crash_handler/crash_analyzer_unittest.cc
@@ -48,7 +48,8 @@ class CrashAnalyzerTest : public testing::Test { protected: void SetUp() final { - gpa_.Init(1, 1, 1, base::DoNothing(), false); + gpa_.Init(1, 1, 1, base::DoNothing(), false, + LightweightDetectorState::kDisabled, 0); InitializeSnapshot(); }
diff --git a/components/gwp_asan/crash_handler/crash_handler_unittest.cc b/components/gwp_asan/crash_handler/crash_handler_unittest.cc index df695f6..951c7ef 100644 --- a/components/gwp_asan/crash_handler/crash_handler_unittest.cc +++ b/components/gwp_asan/crash_handler/crash_handler_unittest.cc
@@ -93,7 +93,8 @@ base::NoDestructor<GuardedPageAllocator> gpa; gpa->Init(AllocatorState::kMaxMetadata, AllocatorState::kMaxMetadata, - kTotalPages, base::DoNothing(), false); + kTotalPages, base::DoNothing(), false, + LightweightDetectorState::kDisabled, 0); base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); base::FilePath directory = cmd_line->GetSwitchValuePath("directory");
diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc index 86ce5ba..05c4379 100644 --- a/components/omnibox/common/omnibox_features.cc +++ b/components/omnibox/common/omnibox_features.cc
@@ -425,6 +425,12 @@ "OmniboxSteadyStateHeight", base::FEATURE_DISABLED_BY_DEFAULT); +// If enabled, switching tabs will not restore the omnibox state. +// TODO(manukh): Should also blur the omnibox on tab switch. +BASE_FEATURE(kDiscardTemporaryInputOnTabSwitch, + "OmniboxDiscardTemporaryInputOnTabSwitch", + base::FEATURE_DISABLED_BY_DEFAULT); + BASE_FEATURE(kClosePopupWithEscape, "OmniboxClosePopupWithEscape", base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/components/omnibox/common/omnibox_features.h b/components/omnibox/common/omnibox_features.h index 9f38feaa..376b75d3 100644 --- a/components/omnibox/common/omnibox_features.h +++ b/components/omnibox/common/omnibox_features.h
@@ -17,7 +17,7 @@ BASE_DECLARE_FEATURE(kImageSearchSuggestionThumbnail); BASE_DECLARE_FEATURE(kOmniboxRemoveSuggestionsFromClipboard); -// Flags that affect the "twiddle" step of AutocompleteResult, e.g., +// Features that affect the "twiddle" step of AutocompleteResult, e.g., // `SortAndCull()`. BASE_DECLARE_FEATURE(kGroupingFramework); BASE_DECLARE_FEATURE(kOmniboxDemoteByType); @@ -101,6 +101,7 @@ // popup). BASE_DECLARE_FEATURE(kOmniboxAssistantVoiceSearch); BASE_DECLARE_FEATURE(kOmniboxSteadyStateHeight); +BASE_DECLARE_FEATURE(kDiscardTemporaryInputOnTabSwitch); // Omnibox & Suggestions UI - these affect both the omnibox and the suggestions // popup.
diff --git a/components/page_load_metrics/browser/BUILD.gn b/components/page_load_metrics/browser/BUILD.gn index 651ffdb2..1813447 100644 --- a/components/page_load_metrics/browser/BUILD.gn +++ b/components/page_load_metrics/browser/BUILD.gn
@@ -26,6 +26,8 @@ "observers/core/largest_contentful_paint_handler.h", "observers/core/uma_page_load_metrics_observer.cc", "observers/core/uma_page_load_metrics_observer.h", + "observers/cross_origin_page_load_metrics_observer.cc", + "observers/cross_origin_page_load_metrics_observer.h", "observers/early_hints_page_load_metrics_observer.cc", "observers/early_hints_page_load_metrics_observer.h", "observers/fenced_frames_page_load_metrics_observer.cc",
diff --git a/components/page_load_metrics/browser/observers/cross_origin_page_load_metrics_observer.cc b/components/page_load_metrics/browser/observers/cross_origin_page_load_metrics_observer.cc new file mode 100644 index 0000000..1b000527d --- /dev/null +++ b/components/page_load_metrics/browser/observers/cross_origin_page_load_metrics_observer.cc
@@ -0,0 +1,107 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/page_load_metrics/browser/observers/cross_origin_page_load_metrics_observer.h" + +#include "components/page_load_metrics/browser/page_load_metrics_util.h" +#include "content/public/browser/navigation_handle.h" + +namespace { + +constexpr char kHistogramCrossOriginFirstContentfulPaint[] = + "PageLoad.Clients.CrossOrigin.FirstContentfulPaint"; +constexpr char kHistogramCrossOriginLargestContentfulPaint[] = + "PageLoad.Clients.CrossOrigin.LargestContentfulPaint"; +constexpr char kHistogramCrossOriginFirstInputDelay[] = + "PageLoad.Clients.CrossOrigin.InteractiveTiming.FirstInputDelay"; +constexpr char kHistogramCrossOriginCumulativeLayoutShiftScore[] = + "PageLoad.Clients.CrossOrigin.LayoutInstability.CumulativeShiftScore"; +constexpr char kHistogramCrossOriginCumulativeLayoutShiftMainFrame[] = + "PageLoad.Clients.CrossOrigin.LayoutInstability.CumulativeShiftScore." + "MainFrame"; + +} // namespace + +page_load_metrics::PageLoadMetricsObserver::ObservePolicy +CrossOriginPageLoadMetricsObserver::OnFencedFramesStart( + content::NavigationHandle* navigation_handle, + const GURL& currently_committed_url) { + return STOP_OBSERVING; +} + +page_load_metrics::PageLoadMetricsObserver::ObservePolicy +CrossOriginPageLoadMetricsObserver::OnPrerenderStart( + content::NavigationHandle* navigation_handle, + const GURL& currently_committed_url) { + // This follows UmaPageLoadMetricsObserver. + return STOP_OBSERVING; +} + +page_load_metrics::PageLoadMetricsObserver::ObservePolicy +CrossOriginPageLoadMetricsObserver::OnCommit( + content::NavigationHandle* navigation_handle) { + if (!navigation_handle->IsSameOrigin()) { + return CONTINUE_OBSERVING; + } + return STOP_OBSERVING; +} + +void CrossOriginPageLoadMetricsObserver::OnFirstContentfulPaintInPage( + const page_load_metrics::mojom::PageLoadTiming& timing) { + if (!page_load_metrics::WasStartedInForegroundOptionalEventInForeground( + timing.paint_timing->first_contentful_paint, GetDelegate())) { + return; + } + + PAGE_LOAD_HISTOGRAM(kHistogramCrossOriginFirstContentfulPaint, + timing.paint_timing->first_contentful_paint.value()); +} + +void CrossOriginPageLoadMetricsObserver::OnFirstInputInPage( + const page_load_metrics::mojom::PageLoadTiming& timing) { + if (!page_load_metrics::WasStartedInForegroundOptionalEventInForeground( + timing.interactive_timing->first_input_timestamp, GetDelegate())) { + return; + } + + INPUT_DELAY_HISTOGRAM(kHistogramCrossOriginFirstInputDelay, + timing.interactive_timing->first_input_delay.value()); +} + +void CrossOriginPageLoadMetricsObserver::OnComplete( + const page_load_metrics::mojom::PageLoadTiming& timing) { + RecordTimingHistograms(); +} + +page_load_metrics::PageLoadMetricsObserver::ObservePolicy +CrossOriginPageLoadMetricsObserver::FlushMetricsOnAppEnterBackground( + const page_load_metrics::mojom::PageLoadTiming& timing) { + // This follows UmaPageLoadMetricsObserver. + if (GetDelegate().DidCommit()) { + RecordTimingHistograms(); + } + return STOP_OBSERVING; +} + +void CrossOriginPageLoadMetricsObserver::RecordTimingHistograms() { + const page_load_metrics::ContentfulPaintTimingInfo& largest_contentful_paint = + GetDelegate() + .GetLargestContentfulPaintHandler() + .MergeMainFrameAndSubframes(); + if (largest_contentful_paint.ContainsValidTime() && + WasStartedInForegroundOptionalEventInForeground( + largest_contentful_paint.Time(), GetDelegate())) { + PAGE_LOAD_HISTOGRAM(kHistogramCrossOriginLargestContentfulPaint, + largest_contentful_paint.Time().value()); + } + + UMA_HISTOGRAM_COUNTS_100( + kHistogramCrossOriginCumulativeLayoutShiftScore, + page_load_metrics::LayoutShiftUmaValue( + GetDelegate().GetPageRenderData().layout_shift_score)); + UMA_HISTOGRAM_COUNTS_100( + kHistogramCrossOriginCumulativeLayoutShiftMainFrame, + page_load_metrics::LayoutShiftUmaValue( + GetDelegate().GetMainFrameRenderData().layout_shift_score)); +}
diff --git a/components/page_load_metrics/browser/observers/cross_origin_page_load_metrics_observer.h b/components/page_load_metrics/browser/observers/cross_origin_page_load_metrics_observer.h new file mode 100644 index 0000000..9f2f3bf --- /dev/null +++ b/components/page_load_metrics/browser/observers/cross_origin_page_load_metrics_observer.h
@@ -0,0 +1,40 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_PAGE_LOAD_METRICS_BROWSER_OBSERVERS_CROSS_ORIGIN_PAGE_LOAD_METRICS_OBSERVER_H_ +#define COMPONENTS_PAGE_LOAD_METRICS_BROWSER_OBSERVERS_CROSS_ORIGIN_PAGE_LOAD_METRICS_OBSERVER_H_ + +#include "components/page_load_metrics/browser/page_load_metrics_observer.h" + +class CrossOriginPageLoadMetricsObserver + : public page_load_metrics::PageLoadMetricsObserver { + public: + CrossOriginPageLoadMetricsObserver() = default; + + CrossOriginPageLoadMetricsObserver( + const CrossOriginPageLoadMetricsObserver&) = delete; + CrossOriginPageLoadMetricsObserver& operator=( + const CrossOriginPageLoadMetricsObserver&) = delete; + + private: + // page_load_metrics::PageLoadMetricsObserver implementation: + ObservePolicy OnFencedFramesStart( + content::NavigationHandle* navigation_handle, + const GURL& currently_committed_url) override; + ObservePolicy OnPrerenderStart(content::NavigationHandle* navigation_handle, + const GURL& currently_committed_url) override; + ObservePolicy OnCommit(content::NavigationHandle* navigation_handle) override; + void OnFirstInputInPage( + const page_load_metrics::mojom::PageLoadTiming& timing) override; + void OnFirstContentfulPaintInPage( + const page_load_metrics::mojom::PageLoadTiming& timing) override; + void OnComplete( + const page_load_metrics::mojom::PageLoadTiming& timing) override; + page_load_metrics::PageLoadMetricsObserver::ObservePolicy + FlushMetricsOnAppEnterBackground( + const page_load_metrics::mojom::PageLoadTiming& timing) override; + void RecordTimingHistograms(); +}; + +#endif // COMPONENTS_PAGE_LOAD_METRICS_BROWSER_OBSERVERS_CROSS_ORIGIN_PAGE_LOAD_METRICS_OBSERVER_H_
diff --git a/components/page_load_metrics/browser/page_load_metrics_embedder_base.cc b/components/page_load_metrics/browser/page_load_metrics_embedder_base.cc index 2feb51e36..0e4634b 100644 --- a/components/page_load_metrics/browser/page_load_metrics_embedder_base.cc +++ b/components/page_load_metrics/browser/page_load_metrics_embedder_base.cc
@@ -9,6 +9,7 @@ #include "base/feature_list.h" #include "components/page_load_metrics/browser/observers/back_forward_cache_page_load_metrics_observer.h" #include "components/page_load_metrics/browser/observers/core/uma_page_load_metrics_observer.h" +#include "components/page_load_metrics/browser/observers/cross_origin_page_load_metrics_observer.h" #include "components/page_load_metrics/browser/observers/early_hints_page_load_metrics_observer.h" #include "components/page_load_metrics/browser/observers/fenced_frames_page_load_metrics_observer.h" #include "components/page_load_metrics/browser/observers/prerender_page_load_metrics_observer.h" @@ -38,6 +39,8 @@ std::make_unique<FencedFramesPageLoadMetricsObserver>()); tracker->AddObserver(std::make_unique<PrerenderPageLoadMetricsObserver>()); tracker->AddObserver(std::make_unique<SameOriginPageLoadMetricsObserver>()); + tracker->AddObserver( + std::make_unique<CrossOriginPageLoadMetricsObserver>()); if (base::FeatureList::IsEnabled(blink::features::kSharedStorageAPI)) { tracker->AddObserver( std::make_unique<SharedStoragePageLoadMetricsObserver>());
diff --git a/components/password_manager/core/browser/form_parsing/form_parser.cc b/components/password_manager/core/browser/form_parsing/form_parser.cc index 4a3cc9a..7f09c9f 100644 --- a/components/password_manager/core/browser/form_parsing/form_parser.cc +++ b/components/password_manager/core/browser/form_parsing/form_parser.cc
@@ -253,6 +253,27 @@ } }; +// For debugging. +std::ostream& operator<<(std::ostream& os, + const SignificantFields& significant_fields) { + os << u"SignificantFields("; + if (significant_fields.username) { + os << u"username=" << significant_fields.username->name; + } + if (significant_fields.password) { + os << " password=" << significant_fields.password->name; + } + if (significant_fields.new_password) { + os << " new_password=" << significant_fields.new_password->name; + } + if (significant_fields.confirmation_password) { + os << " confirmation_password=" + << significant_fields.confirmation_password->name; + } + os << ")"; + return os; +} + // Returns true if |field| is in |significant_fields|. bool IsFieldInSignificantFields(const SignificantFields& significant_fields, const FormFieldData* field) { @@ -868,6 +889,9 @@ } if (significant_fields.confirmation_password) { + DCHECK(significant_fields.new_password) + << "Lone confirmation field (no new password field)" + << significant_fields; password_form->confirmation_password_element = significant_fields.confirmation_password->name; password_form->confirmation_password_element_renderer_id =
diff --git a/components/password_manager/core/browser/ui/credential_ui_entry.cc b/components/password_manager/core/browser/ui/credential_ui_entry.cc index 6b2f9801..46f510e 100644 --- a/components/password_manager/core/browser/ui/credential_ui_entry.cc +++ b/components/password_manager/core/browser/ui/credential_ui_entry.cc
@@ -210,6 +210,7 @@ std::vector<CredentialUIEntry::DomainInfo> domains; for (const auto& facet : facets) { CredentialUIEntry::DomainInfo domain; + domain.signon_realm = facet.signon_realm; password_manager::FacetURI facet_uri = password_manager::FacetURI::FromPotentiallyInvalidSpec( facet.signon_realm);
diff --git a/components/password_manager/core/browser/ui/credential_ui_entry.h b/components/password_manager/core/browser/ui/credential_ui_entry.h index 783b335..9d1653f 100644 --- a/components/password_manager/core/browser/ui/credential_ui_entry.h +++ b/components/password_manager/core/browser/ui/credential_ui_entry.h
@@ -68,6 +68,9 @@ // The URL that will be linked to when an entry is clicked. GURL url; + + // signon_realm of a corresponding PasswordForm. + std::string signon_realm; }; struct Less {
diff --git a/components/policy/core/common/cloud/cloud_policy_store.cc b/components/policy/core/common/cloud/cloud_policy_store.cc index db9b7e6..35abaed5 100644 --- a/components/policy/core/common/cloud/cloud_policy_store.cc +++ b/components/policy/core/common/cloud/cloud_policy_store.cc
@@ -50,6 +50,12 @@ observers_.RemoveObserver(observer); } +bool CloudPolicyStore::HasObserver(CloudPolicyStore::Observer* observer) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + + return observers_.HasObserver(observer); +} + void CloudPolicyStore::NotifyStoreLoaded() { is_initialized_ = true; UpdateFirstPoliciesLoaded();
diff --git a/components/policy/core/common/cloud/cloud_policy_store.h b/components/policy/core/common/cloud/cloud_policy_store.h index 523b7dcd..fc8bd77 100644 --- a/components/policy/core/common/cloud/cloud_policy_store.h +++ b/components/policy/core/common/cloud/cloud_policy_store.h
@@ -150,6 +150,9 @@ // Removes the specified observer. void RemoveObserver(Observer* observer); + // Checks if `observer` was already added. + bool HasObserver(CloudPolicyStore::Observer* observer); + // The invalidation version of the last policy stored. This value can be read // by observers to determine which version of the policy is now available. int64_t invalidation_version() {
diff --git a/components/policy/resources/templates/policy_definitions/Miscellaneous/BruschettaVMConfiguration.yaml b/components/policy/resources/templates/policy_definitions/Miscellaneous/BruschettaVMConfiguration.yaml index 16d84958..58356ed 100644 --- a/components/policy/resources/templates/policy_definitions/Miscellaneous/BruschettaVMConfiguration.yaml +++ b/components/policy/resources/templates/policy_definitions/Miscellaneous/BruschettaVMConfiguration.yaml
@@ -116,6 +116,12 @@ - NONE - FORCE_SHUTDOWN_IF_MORE_RESTRICTED - FORCE_SHUTDOWN_ALWAYS + oem_strings: + type: array + description: SMBIOS OEM strings to pass to the VM during install. + Defaults to the empty list. + items: + type: string example_value: vm-type: @@ -133,6 +139,8 @@ vtpm: enabled: true policy_update_action: NONE + oem_strings: + - example config string tags: - system-security
diff --git a/components/policy/resources/templates/policy_definitions/Miscellaneous/DataLeakPreventionRulesList.yaml b/components/policy/resources/templates/policy_definitions/Miscellaneous/DataLeakPreventionRulesList.yaml index 97213105..14935185 100644 --- a/components/policy/resources/templates/policy_definitions/Miscellaneous/DataLeakPreventionRulesList.yaml +++ b/components/policy/resources/templates/policy_definitions/Miscellaneous/DataLeakPreventionRulesList.yaml
@@ -40,6 +40,7 @@ - drive.google.com - company.com name: Support agent work flows + rule_id: rules/00examplerule restrictions: - class: CLIPBOARD level: ALLOW @@ -107,6 +108,8 @@ type: object name: type: string + rule_id: + type: string restrictions: items: properties:
diff --git a/components/policy/test/data/policy_test_cases.json b/components/policy/test/data/policy_test_cases.json index c3f2bfc..59f7669d 100644 --- a/components/policy/test/data/policy_test_cases.json +++ b/components/policy/test/data/policy_test_cases.json
@@ -11493,7 +11493,8 @@ "vtpm": { "enabled": false, "policy_update_action": 1 - } + }, + "oem_strings": [] } } } @@ -11518,7 +11519,8 @@ "vtpm": { "enabled": false, "policy_update_action": 1 - } + }, + "oem_strings": [] } } } @@ -11543,7 +11545,8 @@ "vtpm": { "enabled": false, "policy_update_action": 1 - } + }, + "oem_strings": [] } } } @@ -11572,7 +11575,8 @@ "vtpm": { "enabled": true, "policy_update_action": 0 - } + }, + "oem_strings": [] } } } @@ -11601,7 +11605,8 @@ "vtpm": { "enabled": true, "policy_update_action": 1 - } + }, + "oem_strings": [] } } } @@ -11630,13 +11635,66 @@ "vtpm": { "enabled": true, "policy_update_action": 2 - } + }, + "oem_strings": [] } } } } }, { + "note": "Check that OEM strings are translated correctly", + "policies": { + "BruschettaVMConfiguration": { + "vm-type": { + "name": "Standard Virtual Machine", + "enabled_state": "INSTALL_ALLOWED", + "oem_strings": [ + "oem string 1", + "oem string 2" + ] + } + } + }, + "prefs": { + "bruschetta.vm_configuration": { + "value": { + "vm-type": { + "name": "Standard Virtual Machine", + "enabled_state": 1, + "vtpm": { + "enabled": false, + "policy_update_action": 1 + }, + "oem_strings": [ + "oem string 1", + "oem string 2" + ] + } + } + } + } + }, + { + "note": "Check that OEM strings must be strings", + "policies": { + "BruschettaVMConfiguration": { + "vm-type": { + "name": "Standard Virtual Machine", + "enabled_state": "INSTALL_ALLOWED", + "oem_strings": [ + 1 + ] + } + } + }, + "prefs": { + "bruschetta.vm_configuration": { + "default_value": {} + } + } + }, + { "note": "INSTALL_ALLOWED is downgraded if no installer_image is set", "policies": { "BruschettaVMConfiguration": { @@ -11663,7 +11721,8 @@ "vtpm": { "enabled": false, "policy_update_action": 1 - } + }, + "oem_strings": [] } } } @@ -11704,7 +11763,8 @@ "vtpm": { "enabled": false, "policy_update_action": 1 - } + }, + "oem_strings": [] } } } @@ -11737,7 +11797,8 @@ "vtpm": { "enabled": false, "policy_update_action": 1 - } + }, + "oem_strings": [] } } } @@ -11799,7 +11860,8 @@ "vtpm": { "enabled": false, "policy_update_action": 1 - } + }, + "oem_strings": [] } } } @@ -11861,7 +11923,8 @@ "vtpm": { "enabled": false, "policy_update_action": 1 - } + }, + "oem_strings": [] } } } @@ -11898,7 +11961,8 @@ "vtpm": { "enabled": false, "policy_update_action": 1 - } + }, + "oem_strings": [] } } } @@ -11945,7 +12009,10 @@ "vtpm": { "enabled": false, "policy_update_action": "FORCE_SHUTDOWN_ALWAYS" - } + }, + "oem_strings": [ + "some weird config" + ] }, "old-vm-type": { "name": "Legacy VM", @@ -11994,7 +12061,8 @@ "vtpm": { "enabled": true, "policy_update_action": 1 - } + }, + "oem_strings": [] }, "another-vm-type": { "name": "Weird Virtual Machine", @@ -12014,7 +12082,10 @@ "vtpm": { "enabled": false, "policy_update_action": 2 - } + }, + "oem_strings": [ + "some weird config" + ] }, "old-vm-type": { "name": "Legacy VM", @@ -12022,7 +12093,8 @@ "vtpm": { "enabled": false, "policy_update_action": 1 - } + }, + "oem_strings": [] }, "old-vm-type-2": { "name": "Legacy VM", @@ -12030,7 +12102,8 @@ "vtpm": { "enabled": false, "policy_update_action": 1 - } + }, + "oem_strings": [] }, "vulnerable-vm-type": { "name": "Forbidden VM", @@ -12038,7 +12111,8 @@ "vtpm": { "enabled": false, "policy_update_action": 1 - } + }, + "oem_strings": [] } } }
diff --git a/components/signin/public/android/BUILD.gn b/components/signin/public/android/BUILD.gn index 18f91859..8ee9fef 100644 --- a/components/signin/public/android/BUILD.gn +++ b/components/signin/public/android/BUILD.gn
@@ -131,7 +131,7 @@ android_resources("java_resources") { sources = [ - "java/res/drawable/account_circle_full.xml", + "java/res/drawable/account_circle.xml", "java/res/drawable/logo_avatar_anonymous.xml", ] }
diff --git a/components/signin/public/android/java/res/drawable/account_circle.xml b/components/signin/public/android/java/res/drawable/account_circle.xml new file mode 100644 index 0000000..3b254c93 --- /dev/null +++ b/components/signin/public/android/java/res/drawable/account_circle.xml
@@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +Copyright 2023 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +--> +<vector + xmlns:android="http://schemas.android.com/apk/res/android" + android:height="22dp" + android:viewportHeight="26" + android:viewportWidth="26" + android:width="22dp"> + <path + android:fillColor="@color/adaptive_toolbar_preference_header_line" + android:pathData="M6.067,18.931C7.204,18.155 8.328,17.559 9.439,17.144C10.549,16.729 11.736,16.521 13,16.521C14.282,16.521 15.483,16.733 16.602,17.157C17.722,17.582 18.841,18.173 19.961,18.931C20.737,17.938 21.283,16.968 21.599,16.02C21.915,15.072 22.073,14.065 22.073,13C22.073,10.436 21.202,8.283 19.459,6.541C17.717,4.798 15.564,3.927 13,3.927C10.436,3.927 8.283,4.798 6.541,6.541C4.798,8.283 3.927,10.436 3.927,13C3.927,14.065 4.09,15.072 4.415,16.02C4.74,16.968 5.29,17.938 6.067,18.931ZM13,13.921C11.917,13.921 11.014,13.555 10.292,12.824C9.57,12.093 9.208,11.194 9.208,10.129C9.208,9.046 9.574,8.139 10.305,7.407C11.037,6.676 11.935,6.31 13,6.31C14.083,6.31 14.986,6.681 15.708,7.421C16.431,8.161 16.792,9.064 16.792,10.129C16.792,11.194 16.426,12.093 15.695,12.824C14.964,13.555 14.065,13.921 13,13.921ZM13,24.212C11.465,24.212 10.016,23.919 8.653,23.332C7.29,22.746 6.098,21.942 5.078,20.922C4.058,19.902 3.255,18.71 2.668,17.347C2.081,15.984 1.788,14.535 1.788,13C1.788,11.465 2.081,10.016 2.668,8.653C3.255,7.29 4.058,6.098 5.078,5.078C6.098,4.058 7.29,3.25 8.653,2.654C10.016,2.058 11.465,1.76 13,1.76C14.535,1.76 15.984,2.058 17.347,2.654C18.71,3.25 19.902,4.058 20.922,5.078C21.942,6.098 22.75,7.29 23.346,8.653C23.942,10.016 24.24,11.465 24.24,13C24.24,14.535 23.942,15.984 23.346,17.347C22.75,18.71 21.942,19.902 20.922,20.922C19.902,21.942 18.71,22.746 17.347,23.332C15.984,23.919 14.535,24.212 13,24.212ZM13,22.073C13.957,22.073 14.887,21.938 15.79,21.667C16.692,21.396 17.604,20.917 18.525,20.231C17.586,19.581 16.67,19.098 15.776,18.782C14.882,18.466 13.957,18.308 13,18.308C12.043,18.308 11.118,18.466 10.224,18.782C9.33,19.098 8.423,19.581 7.502,20.231C8.423,20.917 9.33,21.396 10.224,21.667C11.118,21.938 12.043,22.073 13,22.073ZM13,12.106C13.578,12.106 14.056,11.921 14.436,11.551C14.815,11.181 15.004,10.707 15.004,10.129C15.004,9.533 14.815,9.05 14.436,8.68C14.056,8.31 13.578,8.125 13,8.125C12.422,8.125 11.944,8.31 11.565,8.68C11.186,9.05 10.996,9.533 10.996,10.129C10.996,10.707 11.186,11.181 11.565,11.551C11.944,11.921 12.422,12.106 13,12.106Z"/> +</vector>
diff --git a/components/signin/public/android/java/res/drawable/account_circle_full.xml b/components/signin/public/android/java/res/drawable/account_circle_full.xml deleted file mode 100644 index fa960a90..0000000 --- a/components/signin/public/android/java/res/drawable/account_circle_full.xml +++ /dev/null
@@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -Copyright 2023 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. ---> -<vector - xmlns:android="http://schemas.android.com/apk/res/android" - android:height="22dp" - android:viewportHeight="24" - android:viewportWidth="24" - android:width="22dp"> - <path - android:fillColor="@color/adaptive_toolbar_preference_header_line" - android:pathData="M12,11.06C12.504,11.06 12.932,10.885 13.283,10.533C13.635,10.182 13.81,9.754 13.81,9.25C13.81,8.746 13.635,8.318 13.283,7.967C12.932,7.615 12.504,7.44 12,7.44C11.511,7.44 11.083,7.615 10.717,7.967C10.365,8.318 10.19,8.746 10.19,9.25C10.19,9.739 10.365,10.167 10.717,10.533C11.068,10.885 11.496,11.06 12,11.06ZM12,12.94C10.992,12.94 10.121,12.581 9.387,11.863C8.669,11.129 8.31,10.258 8.31,9.25C8.31,8.226 8.669,7.356 9.387,6.637C10.121,5.919 10.992,5.56 12,5.56C13.024,5.56 13.894,5.927 14.613,6.66C15.331,7.378 15.69,8.242 15.69,9.25C15.69,10.258 15.323,11.129 14.59,11.863C13.872,12.581 13.008,12.94 12,12.94ZM12,23C10.488,23 9.059,22.717 7.715,22.152C6.385,21.572 5.217,20.785 4.208,19.792C3.215,18.783 2.428,17.615 1.848,16.285C1.283,14.941 1,13.512 1,12C1,10.472 1.283,9.044 1.848,7.715C2.428,6.385 3.215,5.224 4.208,4.231C5.217,3.223 6.385,2.436 7.715,1.871C9.059,1.29 10.488,1 12,1C13.528,1 14.956,1.29 16.285,1.871C17.615,2.436 18.776,3.223 19.769,4.231C20.777,5.224 21.564,6.385 22.129,7.715C22.71,9.044 23,10.472 23,12C23,13.512 22.71,14.941 22.129,16.285C21.564,17.615 20.777,18.783 19.769,19.792C18.776,20.785 17.615,21.572 16.285,22.152C14.956,22.717 13.528,23 12,23ZM12,21.121C13.1,21.121 14.124,20.953 15.071,20.617C16.033,20.265 16.912,19.769 17.706,19.127C17.202,18.562 16.461,18.073 15.483,17.66C14.506,17.248 13.344,17.042 12,17.042C10.656,17.042 9.494,17.248 8.517,17.66C7.539,18.073 6.806,18.562 6.317,19.127C7.096,19.769 7.959,20.265 8.906,20.617C9.869,20.953 10.9,21.121 12,21.121ZM4.965,17.798C5.683,17.019 6.66,16.385 7.898,15.896C9.135,15.407 10.503,15.163 12,15.163C13.497,15.163 14.857,15.407 16.079,15.896C17.317,16.385 18.302,17.019 19.035,17.798C19.708,17.003 20.219,16.117 20.571,15.14C20.938,14.146 21.121,13.1 21.121,12C21.121,10.732 20.876,9.548 20.388,8.448C19.914,7.348 19.265,6.385 18.44,5.56C17.615,4.735 16.652,4.086 15.552,3.612C14.452,3.124 13.268,2.879 12,2.879C10.747,2.879 9.563,3.124 8.448,3.612C7.348,4.086 6.385,4.735 5.56,5.56C4.735,6.385 4.078,7.348 3.59,8.448C3.116,9.548 2.879,10.732 2.879,12C2.879,13.1 3.055,14.146 3.406,15.14C3.773,16.133 4.292,17.019 4.965,17.798Z"/> -</vector> \ No newline at end of file
diff --git a/components/sync/base/features.cc b/components/sync/base/features.cc index 8c9ba26..97e6a19 100644 --- a/components/sync/base/features.cc +++ b/components/sync/base/features.cc
@@ -66,7 +66,7 @@ BASE_FEATURE(kSyncTrustedVaultPeriodicDegradedRecoverabilityPolling, "SyncTrustedVaultDegradedRecoverabilityHandler", - base::FEATURE_DISABLED_BY_DEFAULT); + base::FEATURE_ENABLED_BY_DEFAULT); // Keep this entry in sync with the equivalent name in // ChromeFeatureList.java.
diff --git a/components/ui_devtools/devtools_server.cc b/components/ui_devtools/devtools_server.cc index 89c7170..7908b24 100644 --- a/components/ui_devtools/devtools_server.cc +++ b/components/ui_devtools/devtools_server.cc
@@ -119,8 +119,11 @@ // Create the socket using the address 127.0.0.1 to listen on all interfaces. net::IPAddress address(127, 0, 0, 1); constexpr int kBacklog = 1; + + auto options = network::mojom::TCPServerSocketOptions::New(); + options->backlog = kBacklog; network_context->CreateTCPServerSocket( - net::IPEndPoint(address, port), kBacklog, + net::IPEndPoint(address, port), std::move(options), net::MutableNetworkTrafficAnnotationTag(tag), std::move(server_socket_receiver), std::move(callback)); }
diff --git a/components/webrtc_logging/browser/log_cleanup.cc b/components/webrtc_logging/browser/log_cleanup.cc index 6d57fd08..c6bfe13d 100644 --- a/components/webrtc_logging/browser/log_cleanup.cc +++ b/components/webrtc_logging/browser/log_cleanup.cc
@@ -218,8 +218,8 @@ if (update_log_list) { log_list = RemoveObsoleteEntriesFromLogIndex(log_list, delete_begin_time, now); - int written = base::WriteFile(log_list_path, &log_list[0], log_list.size()); - DPCHECK(written == static_cast<int>(log_list.size())); + bool success = base::WriteFile(log_list_path, log_list); + DPCHECK(success); } }
diff --git a/components/webrtc_logging/browser/log_cleanup_unittest.cc b/components/webrtc_logging/browser/log_cleanup_unittest.cc index bc10e4b..6bbde5f2 100644 --- a/components/webrtc_logging/browser/log_cleanup_unittest.cc +++ b/components/webrtc_logging/browser/log_cleanup_unittest.cc
@@ -83,8 +83,7 @@ void CreateLogListFileWithContents(const std::string& contents) { ASSERT_FALSE(base::PathExists(log_list_path_)); // Only call once per test. - const int len = static_cast<int>(contents.length()); - ASSERT_EQ(base::WriteFile(log_list_path_, contents.c_str(), len), len); + ASSERT_TRUE(base::WriteFile(log_list_path_, contents)); ASSERT_TRUE(base::PathExists(log_list_path_)); // Only call once per test. }
diff --git a/content/app/BUILD.gn b/content/app/BUILD.gn index 21333d39..253e18b 100644 --- a/content/app/BUILD.gn +++ b/content/app/BUILD.gn
@@ -93,6 +93,9 @@ "//chromeos/startup:constants", ] } + if (is_chromeos_ash) { + deps += [ "//chromeos/startup:constants" ] + } if (build_tflite_with_xnnpack) { deps += [ "//third_party/cpuinfo" ] }
diff --git a/content/app/DEPS b/content/app/DEPS index 59d90424..f98664a5 100644 --- a/content/app/DEPS +++ b/content/app/DEPS
@@ -1,4 +1,5 @@ include_rules = [ + "+chromeos/hugepage_text/hugepage_text.h", "+chromeos/startup", "+components/discardable_memory", "+components/download",
diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc index b8f988a..62a56a5 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc
@@ -186,6 +186,11 @@ #include "media/base/media_switches.h" #endif +#if BUILDFLAG(IS_CHROMEOS_ASH) && BUILDFLAG(USE_ZYGOTE) +#include "base/rand_util.h" +#include "chromeos/startup/startup_switches.h" +#endif + #if BUILDFLAG(IS_ANDROID) #include "base/system/sys_info.h" #include "content/browser/android/battery_metrics.h" @@ -316,6 +321,9 @@ #if BUILDFLAG(IS_CHROMEOS_LACROS) switches::kEnableResourcesFileSharing, #endif +#if BUILDFLAG(IS_CHROMEOS_ASH) + chromeos::switches::kZygoteHugepageRemap, +#endif }; cmd_line->CopySwitchesFrom(*base::CommandLine::ForCurrentProcess(), kForwardSwitches, std::size(kForwardSwitches)); @@ -356,6 +364,20 @@ return; } +#if BUILDFLAG(IS_CHROMEOS_ASH) + // We determine whether to enable the zygote hugepage remap feature. We store + // the result in the current command line. This will automatically propagate + // to zygotes via LaunchZygoteHelper. Later, + // ChromeBrowserMainExtraPartsMetrics::PreBrowserStart will register the + // synthetic field trial. + // This is a 50/50 trial. + const bool enable_hugepage = base::RandInt(/*min=*/0, /*max=*/1) == 1; + if (enable_hugepage) { + base::CommandLine::ForCurrentProcess()->AppendSwitch( + chromeos::switches::kZygoteHugepageRemap); + } +#endif + // Tickle the zygote host so it forks now. ZygoteHostImpl::GetInstance()->Init(parsed_command_line); if (!parsed_command_line.HasSwitch(switches::kNoUnsandboxedZygote)) {
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn index d05a7e6..473b1ada 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn
@@ -1193,8 +1193,6 @@ "loader/prefetch_url_loader.h", "loader/prefetch_url_loader_service.cc", "loader/prefetch_url_loader_service.h", - "loader/resource_timing_utils.cc", - "loader/resource_timing_utils.h", "loader/shared_cors_origin_access_list_impl.cc", "loader/shared_cors_origin_access_list_impl.h", "loader/url_loader_throttles.cc",
diff --git a/content/browser/back_forward_cache_browsertest.cc b/content/browser/back_forward_cache_browsertest.cc index 515f90d3..eb946eb6 100644 --- a/content/browser/back_forward_cache_browsertest.cc +++ b/content/browser/back_forward_cache_browsertest.cc
@@ -460,6 +460,7 @@ void BackForwardCacheUnloadBrowserTest::SetUpCommandLine( base::CommandLine* command_line) { + BackForwardCacheBrowserTest::SetUpCommandLine(command_line); scoped_feature_list_.InitAndEnableFeature(kBackForwardCacheUnloadAllowed); } @@ -2673,6 +2674,7 @@ public ::testing::WithParamInterface<std::tuple<bool, TestFrameType>> { public: void SetUpCommandLine(base::CommandLine* command_line) override { + BackForwardCacheBrowserTest::SetUpCommandLine(command_line); if (IsUnloadAllowed()) { scoped_feature_list_.InitAndEnableFeature(kBackForwardCacheUnloadAllowed); } else {
diff --git a/content/browser/direct_sockets/direct_sockets_service_impl.cc b/content/browser/direct_sockets/direct_sockets_service_impl.cc index 0af40ac..b8d2960 100644 --- a/content/browser/direct_sockets/direct_sockets_service_impl.cc +++ b/content/browser/direct_sockets/direct_sockets_service_impl.cc
@@ -265,14 +265,17 @@ blink::mojom::DirectTCPServerSocketOptionsPtr options, mojo::PendingReceiver<network::mojom::TCPServerSocket> socket, OpenTCPServerSocketCallback callback) { + auto server_options = network::mojom::TCPServerSocketOptions::New(); + // Default if |options->backlog| is 0. - uint32_t backlog = SOMAXCONN; + server_options->backlog = SOMAXCONN; if (options->backlog > 0) { // Truncate the provided value if it is larger than allowed by the platform. - backlog = std::min<uint32_t>(options->backlog, SOMAXCONN); + server_options->backlog = std::min<uint32_t>(options->backlog, SOMAXCONN); } + GetNetworkContext()->CreateTCPServerSocket( - options->local_addr, backlog, + options->local_addr, std::move(server_options), net::MutableNetworkTrafficAnnotationTag(kDirectSocketsTrafficAnnotation), std::move(socket), std::move(callback)); }
diff --git a/content/browser/direct_sockets/direct_sockets_tcp_browsertest.cc b/content/browser/direct_sockets/direct_sockets_tcp_browsertest.cc index 25ccde33..1207e12 100644 --- a/content/browser/direct_sockets/direct_sockets_tcp_browsertest.cc +++ b/content/browser/direct_sockets/direct_sockets_tcp_browsertest.cc
@@ -238,10 +238,12 @@ uint16_t StartTcpServer() { base::test::TestFuture<int32_t, const absl::optional<net::IPEndPoint>&> future; + auto options = network::mojom::TCPServerSocketOptions::New(); + options->backlog = 5; GetNetworkContext()->CreateTCPServerSocket( net::IPEndPoint(net::IPAddress::IPv4Localhost(), /*port=*/0), - /*backlog=*/5, + std::move(options), net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS), tcp_server_socket_.BindNewPipeAndPassReceiver(), future.GetCallback()); auto local_addr = future.Get<absl::optional<net::IPEndPoint>>();
diff --git a/content/browser/loader/navigation_url_loader_impl_unittest.cc b/content/browser/loader/navigation_url_loader_impl_unittest.cc index 43df28f..35521b4 100644 --- a/content/browser/loader/navigation_url_loader_impl_unittest.cc +++ b/content/browser/loader/navigation_url_loader_impl_unittest.cc
@@ -237,7 +237,8 @@ base::TimeTicks() /* renderer_before_unload_end */, absl::nullopt /* web_bundle_token */, blink::mojom::NavigationInitiatorActivationAndAdStatus:: - kDidNotStartWithTransientActivation); + kDidNotStartWithTransientActivation, + false /* is_container_initiated */); auto common_params = blink::CreateCommonNavigationParams(); common_params->url = url;
diff --git a/content/browser/loader/navigation_url_loader_unittest.cc b/content/browser/loader/navigation_url_loader_unittest.cc index 3df6640..229b08c 100644 --- a/content/browser/loader/navigation_url_loader_unittest.cc +++ b/content/browser/loader/navigation_url_loader_unittest.cc
@@ -98,7 +98,8 @@ base::TimeTicks() /* renderer_before_unload_end */, absl::nullopt /* web_bundle_token */, blink::mojom::NavigationInitiatorActivationAndAdStatus:: - kDidNotStartWithTransientActivation); + kDidNotStartWithTransientActivation, + false /* is_container_initiated */); auto common_params = blink::CreateCommonNavigationParams(); common_params->url = url; common_params->initiator_origin = url::Origin::Create(url);
diff --git a/content/browser/loader/object_navigation_fallback_body_loader.cc b/content/browser/loader/object_navigation_fallback_body_loader.cc index f7b0f41..57405999 100644 --- a/content/browser/loader/object_navigation_fallback_body_loader.cc +++ b/content/browser/loader/object_navigation_fallback_body_loader.cc
@@ -10,7 +10,6 @@ #include "base/containers/contains.h" #include "base/functional/bind.h" #include "base/functional/callback_helpers.h" -#include "content/browser/loader/resource_timing_utils.h" #include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/renderer_host/navigation_request.h" #include "content/browser/renderer_host/render_frame_host_impl.h" @@ -32,35 +31,15 @@ namespace content { -namespace { - -std::string ExtractServerTimingValueIfNeeded( - const network::mojom::URLResponseHead& response_head) { - std::string value; - if (!response_head.timing_allow_passed) - return value; - - // Note: the renderer will be responsible for parsing the actual server - // timing values. - response_head.headers->GetNormalizedHeader("Server-Timing", &value); - return value; -} - -} // namespace - NAVIGATION_HANDLE_USER_DATA_KEY_IMPL(ObjectNavigationFallbackBodyLoader); // static void ObjectNavigationFallbackBodyLoader::CreateAndStart( NavigationRequest& navigation_request, - const blink::mojom::CommonNavigationParams& common_params, - const blink::mojom::CommitNavigationParams& commit_params, - const network::mojom::URLResponseHead& response_head, mojo::ScopedDataPipeConsumerHandle response_body, network::mojom::URLLoaderClientEndpointsPtr url_loader_client_endpoints, base::OnceClosure completion_closure) { // This should only be called for HTTP errors. - DCHECK(response_head.headers); RenderFrameHostImpl* render_frame_host = navigation_request.frame_tree_node()->current_frame_host(); // A frame owned by <object> should always have a parent. @@ -68,25 +47,15 @@ // It's safe to snapshot the parent origin in the calculation here; if the // parent frame navigates, `render_frame_host_` will be deleted, which // triggers deletion of `this`, cancelling all remaining work. - blink::mojom::ResourceTimingInfoPtr timing_info = - GenerateResourceTimingForNavigation( - render_frame_host->GetParent()->GetLastCommittedOrigin(), - common_params, commit_params, response_head); - std::string server_timing_value = - ExtractServerTimingValueIfNeeded(response_head); - - CreateForNavigationHandle( - navigation_request, std::move(timing_info), - std::move(server_timing_value), std::move(response_body), - std::move(url_loader_client_endpoints), std::move(completion_closure)); + CreateForNavigationHandle(navigation_request, std::move(response_body), + std::move(url_loader_client_endpoints), + std::move(completion_closure)); } ObjectNavigationFallbackBodyLoader::~ObjectNavigationFallbackBodyLoader() {} ObjectNavigationFallbackBodyLoader::ObjectNavigationFallbackBodyLoader( NavigationHandle& navigation_handle, - blink::mojom::ResourceTimingInfoPtr timing_info, - std::string server_timing_value, mojo::ScopedDataPipeConsumerHandle response_body, network::mojom::URLLoaderClientEndpointsPtr url_loader_client_endpoints, base::OnceClosure completion_closure) @@ -98,8 +67,6 @@ response_body_drainer_( std::make_unique<mojo::DataPipeDrainer>(this, std::move(response_body))), - timing_info_(std::move(timing_info)), - server_timing_value_(std::move(server_timing_value)), completion_closure_(std::move(completion_closure)) { // Unretained is safe; `url_loader_` is owned by `this` and will not dispatch // callbacks after it is destroyed. @@ -165,25 +132,9 @@ // `completion_closure_` will delete the NavigationRequest, which will delete // `this`. base::ScopedClosureRunner cleanup(std::move(completion_closure_)); - - timing_info_->response_end = status.completion_time; - timing_info_->encoded_body_size = status.encoded_body_length; - timing_info_->decoded_body_size = status.decoded_body_length; - - RenderFrameHostManager* render_manager = - navigation_request_->frame_tree_node()->render_manager(); - if (RenderFrameProxyHost* proxy = render_manager->GetProxyToParent()) { - if (proxy->is_render_frame_proxy_live()) { - proxy->GetAssociatedRemoteFrame() - ->RenderFallbackContentWithResourceTiming(std::move(timing_info_), - server_timing_value_); - } - } else { - render_manager->current_frame_host() - ->GetAssociatedLocalFrame() - ->RenderFallbackContentWithResourceTiming(std::move(timing_info_), - server_timing_value_); - } + navigation_request_->AddResourceTimingEntryForFailedSubframeNavigation( + status); + navigation_request_->RenderFallbackContentForObjectTag(); } void ObjectNavigationFallbackBodyLoader::OnDataAvailable(const void* data,
diff --git a/content/browser/loader/object_navigation_fallback_body_loader.h b/content/browser/loader/object_navigation_fallback_body_loader.h index 34acb77..5568126 100644 --- a/content/browser/loader/object_navigation_fallback_body_loader.h +++ b/content/browser/loader/object_navigation_fallback_body_loader.h
@@ -21,12 +21,6 @@ #include "third_party/blink/public/mojom/navigation/navigation_params.mojom-forward.h" #include "third_party/blink/public/mojom/timing/resource_timing.mojom.h" -namespace network { -namespace mojom { -class URLResponseHead; -} // namespace mojom -} // namespace network - namespace content { class NavigationRequest; @@ -59,9 +53,6 @@ public network::mojom::URLLoaderClient, public mojo::DataPipeDrainer::Client { public: - // `common_params, `commit_params`, and `response_head` are used to - // (partially) generate the resource timing info. - // // `response_body` and `url_loader_client_endpoints` are used to drain the // responise body and calculate the body / data size needed for the // performance entry. @@ -75,9 +66,6 @@ // response body is successfully loaded. static void CreateAndStart( NavigationRequest& navigation_request, - const blink::mojom::CommonNavigationParams& common_params, - const blink::mojom::CommitNavigationParams& commit_params, - const network::mojom::URLResponseHead& response_head, mojo::ScopedDataPipeConsumerHandle response_body, network::mojom::URLLoaderClientEndpointsPtr url_loader_client_endpoints, base::OnceClosure completion_closure); @@ -90,8 +78,6 @@ ObjectNavigationFallbackBodyLoader( NavigationHandle& navigation_handle, - blink::mojom::ResourceTimingInfoPtr timing_info, - std::string server_timing_value, mojo::ScopedDataPipeConsumerHandle response_body, network::mojom::URLLoaderClientEndpointsPtr url_loader_client_endpoints, base::OnceClosure completion_closure); @@ -123,8 +109,6 @@ // `response_body_drainer_` will be reset to null when the response body is // completely drained. std::unique_ptr<mojo::DataPipeDrainer> response_body_drainer_; - blink::mojom::ResourceTimingInfoPtr timing_info_; - std::string server_timing_value_; base::OnceClosure completion_closure_; };
diff --git a/content/browser/loader/resource_timing_utils.cc b/content/browser/loader/resource_timing_utils.cc deleted file mode 100644 index 749756ba9a..0000000 --- a/content/browser/loader/resource_timing_utils.cc +++ /dev/null
@@ -1,106 +0,0 @@ -// Copyright 2023 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "content/browser/loader/resource_timing_utils.h" - -#include <string> -#include <utility> - -#include "base/containers/contains.h" -#include "net/http/http_response_info.h" -#include "third_party/blink/public/mojom/navigation/navigation_params.mojom.h" -#include "third_party/blink/public/mojom/timing/resource_timing.mojom.h" -#include "url/gurl.h" -#include "url/url_util.h" - -namespace { - -// Implements the TimingAllowOrigin check -// This logic is duplicated from Performance::AllowsTimingRedirect(). Ensure -// that any changes are synced between both copies. -bool IsCrossOriginResponseOrHasCrossOriginRedirects( - const url::Origin& parent_origin, - const blink::mojom::CommonNavigationParams& common_params, - const blink::mojom::CommitNavigationParams& commit_params) { - DCHECK_EQ(commit_params.redirect_infos.size(), - commit_params.redirect_response.size()); - for (const auto& info : commit_params.redirect_infos) { - if (!parent_origin.IsSameOriginWith(info.new_url)) { - return true; - } - } - - return !parent_origin.IsSameOriginWith(common_params.url); -} - -} // namespace - -namespace content { - -// This logic is duplicated from blink::CreateResourceTimingInfo(). Ensure -// that any changes are synced between both copies. -blink::mojom::ResourceTimingInfoPtr GenerateResourceTimingForNavigation( - const url::Origin& parent_origin, - const blink::mojom::CommonNavigationParams& common_params, - const blink::mojom::CommitNavigationParams& commit_params, - const network::mojom::URLResponseHead& response_head) { - // TODO(dcheng): There should be a Blink helper for populating the timing info - // that's exposed in //third_party/blink/common. This would allow a lot of the - // boilerplate to be shared. - - auto timing_info = blink::mojom::ResourceTimingInfo::New(); - const GURL& initial_url = !commit_params.original_url.is_empty() - ? commit_params.original_url - : common_params.url; - timing_info->name = initial_url.spec(); - timing_info->start_time = common_params.navigation_start; - timing_info->allow_timing_details = response_head.timing_allow_passed; - - // Only expose the response code when we are same origin and without - // cross-origin redirects - // https://fetch.spec.whatwg.org/#ref-for-concept-response-status%E2%91%A6 - if (!IsCrossOriginResponseOrHasCrossOriginRedirects( - parent_origin, common_params, commit_params)) { - timing_info->response_status = commit_params.http_response_code; - } - - // https://fetch.spec.whatwg.org/#create-an-opaque-timing-info - if (!timing_info->allow_timing_details) { - return timing_info; - } - - timing_info->alpn_negotiated_protocol = - response_head.alpn_negotiated_protocol; - timing_info->connection_info = net::HttpResponseInfo::ConnectionInfoToString( - response_head.connection_info); - - // If there's no received headers end time, don't set load timing. This is the - // case for non-HTTP requests, requests that don't go over the wire, and - // certain error cases. - // TODO(dcheng): Is it actually possible to hit this path if - // `response_head.headers` is populated? - if (!response_head.load_timing.receive_headers_end.is_null()) { - timing_info->timing = response_head.load_timing; - } - // `response_end` will be populated after loading the body. - - DCHECK_EQ(commit_params.redirect_infos.size(), - commit_params.redirect_response.size()); - - if (!commit_params.redirect_infos.empty()) { - timing_info->last_redirect_end_time = - commit_params.redirect_response.back()->load_timing.receive_headers_end; - } else { - timing_info->last_redirect_end_time = base::TimeTicks(); - } - // The final value for `encoded_body_size` and `decoded_body_size` will be - // populated after loading the body. - timing_info->did_reuse_connection = response_head.load_timing.socket_reused; - // Use url::Origin to handle cases like blob:https://. - timing_info->is_secure_transport = base::Contains( - url::GetSecureSchemes(), url::Origin::Create(common_params.url).scheme()); - timing_info->allow_negative_values = false; - return timing_info; -} -} // namespace content
diff --git a/content/browser/loader/resource_timing_utils.h b/content/browser/loader/resource_timing_utils.h deleted file mode 100644 index 764495b..0000000 --- a/content/browser/loader/resource_timing_utils.h +++ /dev/null
@@ -1,24 +0,0 @@ -// Copyright 2023 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CONTENT_BROWSER_LOADER_RESOURCE_TIMING_UTILS_H_ -#define CONTENT_BROWSER_LOADER_RESOURCE_TIMING_UTILS_H_ - -#include "services/network/public/mojom/url_response_head.mojom-forward.h" -#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-forward.h" -#include "third_party/blink/public/mojom/navigation/navigation_params.mojom-forward.h" -#include "third_party/blink/public/mojom/timing/resource_timing.mojom-forward.h" -#include "url/origin.h" - -namespace content { - -blink::mojom::ResourceTimingInfoPtr GenerateResourceTimingForNavigation( - const url::Origin& parent_origin, - const blink::mojom::CommonNavigationParams& common_params, - const blink::mojom::CommitNavigationParams& commit_params, - const network::mojom::URLResponseHead& response_head); - -} // namespace content - -#endif
diff --git a/content/browser/renderer_host/ipc_utils.cc b/content/browser/renderer_host/ipc_utils.cc index 3a2dab5..aa8a0028 100644 --- a/content/browser/renderer_host/ipc_utils.cc +++ b/content/browser/renderer_host/ipc_utils.cc
@@ -171,6 +171,16 @@ return false; } + if (params->is_container_initiated) { + if (!current_rfh->GetParent() || + (current_rfh->GetParent()->GetFrameToken() != + params->initiator_frame_token)) { + mojo::ReportBadMessage( + "container initiated navigation from non-parent process"); + return false; + } + } + // Verification succeeded. return true; }
diff --git a/content/browser/renderer_host/navigation_controller_impl.cc b/content/browser/renderer_host/navigation_controller_impl.cc index 358540b..b74775eb 100644 --- a/content/browser/renderer_host/navigation_controller_impl.cc +++ b/content/browser/renderer_host/navigation_controller_impl.cc
@@ -2692,7 +2692,8 @@ base::TimeTicks navigation_start_time, bool is_embedder_initiated_fenced_frame_navigation, bool is_unfenced_top_navigation, - bool force_new_browsing_instance) { + bool force_new_browsing_instance, + bool is_container_initiated) { if (is_renderer_initiated) DCHECK(initiator_origin.has_value()); @@ -2817,7 +2818,7 @@ false /* has_user_gesture */, std::move(source_location), ReloadType::NONE, entry.get(), frame_entry.get(), navigation_start_time, is_embedder_initiated_fenced_frame_navigation, - is_unfenced_top_navigation); + is_unfenced_top_navigation, is_container_initiated); if (!request) return; @@ -3760,7 +3761,8 @@ FrameNavigationEntry* frame_entry, base::TimeTicks navigation_start_time, bool is_embedder_initiated_fenced_frame_navigation, - bool is_unfenced_top_navigation) { + bool is_unfenced_top_navigation, + bool is_container_initiated) { DCHECK_EQ(-1, GetIndexOfEntry(entry)); DCHECK(frame_entry); // All renderer-initiated navigations must have an initiator_origin. @@ -3931,7 +3933,8 @@ params.is_form_submission, params.navigation_ui_data ? params.navigation_ui_data->Clone() : nullptr, params.impression, params.initiator_activation_and_ad_status, - params.is_pdf, is_embedder_initiated_fenced_frame_navigation); + params.is_pdf, is_embedder_initiated_fenced_frame_navigation, + is_container_initiated); navigation_request->set_from_download_cross_origin_redirect( params.from_download_cross_origin_redirect); navigation_request->set_force_new_browsing_instance(
diff --git a/content/browser/renderer_host/navigation_controller_impl.h b/content/browser/renderer_host/navigation_controller_impl.h index ebb6afd8..ccdf116 100644 --- a/content/browser/renderer_host/navigation_controller_impl.h +++ b/content/browser/renderer_host/navigation_controller_impl.h
@@ -227,7 +227,8 @@ base::TimeTicks navigation_start_time, bool is_embedder_initiated_fenced_frame_navigation = false, bool is_unfenced_top_navigation = false, - bool force_new_browsing_instance = false); + bool force_new_browsing_instance = false, + bool is_container_initiated = false); // Navigates to the history entry associated with the given navigation API // |key|. Searches |entries_| for a FrameNavigationEntry associated with @@ -653,7 +654,8 @@ FrameNavigationEntry* frame_entry, base::TimeTicks navigation_start_time, bool is_embedder_initiated_fenced_frame_navigation = false, - bool is_unfenced_top_navigation = false); + bool is_unfenced_top_navigation = false, + bool is_container_initiated = false); // Creates and returns a NavigationRequest for a navigation to |entry|. Will // return nullptr if the parameters are invalid and the navigation cannot
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc index b891dc3..2717fd4 100644 --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc
@@ -53,7 +53,6 @@ #include "content/browser/loader/navigation_early_hints_manager.h" #include "content/browser/loader/navigation_url_loader.h" #include "content/browser/loader/object_navigation_fallback_body_loader.h" -#include "content/browser/loader/resource_timing_utils.h" #include "content/browser/navigation_or_document_handle.h" #include "content/browser/network/cross_origin_embedder_policy_reporter.h" #include "content/browser/network/cross_origin_opener_policy_reporter.h" @@ -141,6 +140,7 @@ #include "services/network/public/cpp/web_sandbox_flags.h" #include "services/network/public/mojom/fetch_api.mojom.h" #include "services/network/public/mojom/supports_loading_mode.mojom.h" +#include "services/network/public/mojom/url_response_head.mojom-forward.h" #include "services/network/public/mojom/url_response_head.mojom-shared.h" #include "services/network/public/mojom/url_response_head.mojom.h" #include "services/network/public/mojom/web_client_hints_types.mojom-shared.h" @@ -170,6 +170,7 @@ #include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom.h" #include "third_party/blink/public/mojom/loader/mixed_content.mojom.h" #include "third_party/blink/public/mojom/loader/transferrable_url_loader.mojom.h" +#include "third_party/blink/public/mojom/navigation/navigation_params.mojom-shared.h" #include "third_party/blink/public/mojom/navigation/navigation_params.mojom.h" #include "third_party/blink/public/mojom/navigation/prefetched_signed_exchange_info.mojom.h" #include "third_party/blink/public/mojom/runtime_feature_state/runtime_feature_state.mojom.h" @@ -1099,7 +1100,8 @@ blink::mojom::NavigationInitiatorActivationAndAdStatus initiator_activation_and_ad_status, bool is_pdf, - bool is_embedder_initiated_fenced_frame_navigation) { + bool is_embedder_initiated_fenced_frame_navigation, + bool is_container_initiated) { TRACE_EVENT1("navigation", "NavigationRequest::Create", "browser_initiated", browser_initiated); @@ -1129,7 +1131,8 @@ nullptr /* trust_token_params */, impression, base::TimeTicks() /* renderer_before_unload_start */, base::TimeTicks() /* renderer_before_unload_end */, - std::move(web_bundle_token_params), initiator_activation_and_ad_status); + std::move(web_bundle_token_params), initiator_activation_and_ad_status, + is_container_initiated); // Shift-Reload forces bypassing caches and service workers. if (common_params->navigation_type == @@ -1632,6 +1635,24 @@ if (initiator_rfh) initiator_document_ = initiator_rfh->GetWeakDocumentPtr(); } + + // Spec: https://github.com/whatwg/html/issues/8846 + // We only allow the parent to access a subframe resource timing if the + // navigation is container-initiated, e.g. iframe changed src. + if (begin_params_->is_container_initiated) { + // Only same-origin navigations without cross-origin redirects can + // expose response details (status-code / mime-type). + // https://github.com/whatwg/fetch/issues/1602 + // Note that this condition checks this navigation is not cross origin. + // Cross-origin redirects are checked as part of OnRequestRedirected(). + commit_params_->navigation_timing->parent_resource_timing_access = + GetParentFrame()->GetLastCommittedOrigin().IsSameOriginWith(GetURL()) + ? blink::mojom::ParentResourceTimingAccess:: + kReportWithResponseDetails + : blink::mojom::ParentResourceTimingAccess:: + kReportWithoutResponseDetails; + } + navigation_or_document_handle_ = NavigationOrDocumentHandle::CreateForNavigation(*this); @@ -3067,6 +3088,18 @@ const bool is_same_origin_redirect = url::Origin::Create(common_params_->url) .IsSameOriginWith(redirect_info.new_url); + + // Only same-origin navigations without cross-origin redirects can + // expose response details (status-code / mime-type). + // https://github.com/whatwg/fetch/issues/1602 + if (!is_same_origin_redirect && + commit_params_->navigation_timing->parent_resource_timing_access == + blink::mojom::ParentResourceTimingAccess:: + kReportWithResponseDetails) { + commit_params_->navigation_timing->parent_resource_timing_access = + blink::mojom::ParentResourceTimingAccess::kReportWithoutResponseDetails; + } + did_receive_early_hints_before_cross_origin_redirect_ |= did_create_early_hints_manager_params_ && !is_same_origin_redirect; @@ -3789,6 +3822,12 @@ return; } + // See https://github.com/whatwg/fetch/pull/1579 + if (!response_head_->timing_allow_passed) { + commit_params_->navigation_timing->parent_resource_timing_access = + blink::mojom::ParentResourceTimingAccess::kDoNotReport; + } + MaybeInjectIsolatedAppHeaders(); { @@ -4718,34 +4757,40 @@ return; } - RenderFrameHostImpl* parent_rfh = GetParentFrame(); - - // Do not add ResourceTiming entries if the navigated URL does not have a - // parent. - if (!parent_rfh) { - return; - } - // Some navigation are cancelled even before requesting and receiving a // response. Those cases are not supported and the ResourceTiming is not // reported to the parent. - if (!response_head_) { + if (!response()) { return; } - if (initiator_document_.AsRenderFrameHostIfValid() != parent_rfh) { + network::URLLoaderCompletionStatus status; + status.encoded_data_length = response()->encoded_data_length; + status.completion_time = base::TimeTicks::Now(); + AddResourceTimingEntryForFailedSubframeNavigation(status); +} + +void NavigationRequest::AddResourceTimingEntryForFailedSubframeNavigation( + const network::URLLoaderCompletionStatus& status) { + // For TAO-fail navigations, we would resort to fallback timing. + // See HTMLFrameOwnerElement::ReportFallbackResourceTimingIfNeeded(). + DCHECK(response()); + if (commit_params().navigation_timing->parent_resource_timing_access == + blink::mojom::ParentResourceTimingAccess::kDoNotReport) { return; } - blink::mojom::ResourceTimingInfoPtr timing_info = - GenerateResourceTimingForNavigation(parent_rfh->GetLastCommittedOrigin(), - *common_params_, *commit_params_, - *response_head_); - timing_info->response_end = base::TimeTicks::Now(); - parent_rfh->GetAssociatedLocalFrame() - ->AddResourceTimingEntryFromNonNavigatedFrame( - std::move(timing_info), - frame_tree_node()->frame_owner_element_type()); + network::mojom::URLResponseHeadPtr response_head = response()->Clone(); + + bool allow_response_details = + commit_params().navigation_timing->parent_resource_timing_access == + blink::mojom::ParentResourceTimingAccess::kReportWithResponseDetails; + + GetParentFrame()->AddResourceTimingEntryForFailedSubframeNavigation( + frame_tree_node(), common_params().navigation_start, + commit_params().navigation_timing->redirect_end, + commit_params().original_url, common_params().url, + std::move(response_head), allow_response_details, status); } void NavigationRequest::OnRedirectChecksComplete( @@ -4993,8 +5038,8 @@ // fallback / resource timing are only reported if the navigation request // is logically still pending. ObjectNavigationFallbackBodyLoader::CreateAndStart( - *this, *common_params_, *commit_params_, *response(), - std::move(response_body_), std::move(url_loader_client_endpoints_), + *this, std::move(response_body_), + std::move(url_loader_client_endpoints_), base::BindOnce(&NavigationRequest::OnRequestFailedInternal, weak_factory_.GetWeakPtr(), network::URLLoaderCompletionStatus(net::ERR_ABORTED), @@ -5016,6 +5061,7 @@ result.action() == NavigationThrottle::CANCEL || !response_should_be_rendered_) { MaybeAddResourceTimingEntryForCancelledNavigation(); + // Reset the RenderFrameHost that had been computed for the commit of the // navigation. render_frame_host_ = nullptr;
diff --git a/content/browser/renderer_host/navigation_request.h b/content/browser/renderer_host/navigation_request.h index 3d53578..14d3a6c 100644 --- a/content/browser/renderer_host/navigation_request.h +++ b/content/browser/renderer_host/navigation_request.h
@@ -260,7 +260,8 @@ blink::mojom::NavigationInitiatorActivationAndAdStatus initiator_activation_and_ad_status, bool is_pdf, - bool is_embedder_initiated_fenced_frame_navigation = false); + bool is_embedder_initiated_fenced_frame_navigation = false, + bool is_container_initiated = false); // Creates a request for a renderer-initiated navigation. static std::unique_ptr<NavigationRequest> CreateRendererInitiated( @@ -568,6 +569,11 @@ // a request was made. void MaybeAddResourceTimingEntryForCancelledNavigation(); + // Adds a resource timing entry to the parent in case of cancelled navigations + // and failed <object> navigations. + void AddResourceTimingEntryForFailedSubframeNavigation( + const network::URLLoaderCompletionStatus& status); + // Lazily initializes and returns the mojo::NavigationClient interface used // for commit. mojom::NavigationClient* GetCommitNavigationClient();
diff --git a/content/browser/renderer_host/navigator.cc b/content/browser/renderer_host/navigator.cc index fc5ddfc..d4868e7 100644 --- a/content/browser/renderer_host/navigator.cc +++ b/content/browser/renderer_host/navigator.cc
@@ -872,7 +872,8 @@ base::TimeTicks navigation_start_time, bool is_embedder_initiated_fenced_frame_navigation, bool is_unfenced_top_navigation, - bool force_new_browsing_instance) { + bool force_new_browsing_instance, + bool is_container_initiated) { // |method != "POST"| should imply absence of |post_body|. if (method != "POST" && post_body) { NOTREACHED(); @@ -917,7 +918,7 @@ std::move(blob_url_loader_factory), is_form_submission, impression, initiator_activation_and_ad_status, navigation_start_time, is_embedder_initiated_fenced_frame_navigation, is_unfenced_top_navigation, - force_new_browsing_instance); + force_new_browsing_instance, is_container_initiated); } void Navigator::BeforeUnloadCompleted(FrameTreeNode* frame_tree_node,
diff --git a/content/browser/renderer_host/navigator.h b/content/browser/renderer_host/navigator.h index e3bd62d..f344ec2 100644 --- a/content/browser/renderer_host/navigator.h +++ b/content/browser/renderer_host/navigator.h
@@ -165,7 +165,8 @@ base::TimeTicks navigation_start_time, bool is_embedder_initiated_fenced_frame_navigation = false, bool is_unfenced_top_navigation = false, - bool force_new_browsing_instance = false); + bool force_new_browsing_instance = false, + bool is_container_initiated = false); // Called after BeforeUnloadCompleted callback is invoked from the renderer. // If |frame_tree_node| has a NavigationRequest waiting for the renderer
diff --git a/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc b/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc index ea9811e2..c11a41b 100644 --- a/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc +++ b/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc
@@ -173,8 +173,10 @@ ppapi::host::ReplyMessageContext reply_context = context->MakeReplyMessageContext(); + auto options = network::mojom::TCPServerSocketOptions::New(); + options->backlog = backlog; network_context->CreateTCPServerSocket( - net::IPEndPoint(net::IPAddress(address), port), backlog, + net::IPEndPoint(net::IPAddress(address), port), std::move(options), pepper_socket_utils::PepperTCPNetworkAnnotationTag(), socket_.BindNewPipeAndPassReceiver(), mojo::WrapCallbackWithDefaultInvokeIfNotRun(
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc index e58f735..67811c5e 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -8278,6 +8278,17 @@ return; } + // Container-initiated navigations must come from the same process as the + // parent. + if (begin_params->is_container_initiated) { + if (!GetParent() || + (initiator_process_id != GetParent()->GetProcess()->GetID())) { + mojo::ReportBadMessage( + "container initiated navigation from non-parent process"); + return; + } + } + // If the request is bearing Private State Tokens parameters: // - it must not be a main-frame navigation, and // - for certain Private State Tokens operations, the frame's parent needs the @@ -9768,6 +9779,48 @@ navigation_request->DidEncounterError()); } +void RenderFrameHostImpl::AddResourceTimingEntryForFailedSubframeNavigation( + FrameTreeNode* child_frame, + base::TimeTicks start_time, + base::TimeTicks redirect_time, + const GURL& initial_url, + const GURL& final_url, + network::mojom::URLResponseHeadPtr response_head, + bool allow_response_details, + const network::URLLoaderCompletionStatus& completion_status) { + uint32_t status_code = 0; + std::string mime_type; + std::string normalized_server_timing; + + response_head->headers->GetNormalizedHeader("Server-Timing", + &normalized_server_timing); + + if (allow_response_details) { + status_code = response_head->headers->response_code(); + mime_type = response_head->mime_type; + } + + // To avoid cross-origin leaks, make sure to only to pass here data that + // is OK when TAO-gated (as in, timing information only). + + absl::optional<blink::FrameToken> child_token_in_parent = + child_frame->GetRenderFrameHostManager() + .GetFrameTokenForSiteInstanceGroup(GetSiteInstance()->group()); + + if (!child_token_in_parent) { + return; + } + + GetAssociatedLocalFrame()->AddResourceTimingEntryForFailedSubframeNavigation( + child_token_in_parent.value(), initial_url, start_time, redirect_time, + response_head->request_start, response_head->response_start, status_code, + mime_type, response_head->load_timing, response_head->connection_info, + response_head->alpn_negotiated_protocol, + base::Contains(url::GetSecureSchemes(), + url::Origin::Create(final_url).scheme()), + response_head->is_validated, normalized_server_timing, completion_status); +} + void RenderFrameHostImpl::HandleRendererDebugURL(const GURL& url) { DCHECK(blink::IsRendererDebugURL(url));
diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/browser/renderer_host/render_frame_host_impl.h index d96faa986..18c3519 100644 --- a/content/browser/renderer_host/render_frame_host_impl.h +++ b/content/browser/renderer_host/render_frame_host_impl.h
@@ -1435,6 +1435,16 @@ const absl::optional<std::string>& error_page_content, const blink::DocumentToken& document_token); + void AddResourceTimingEntryForFailedSubframeNavigation( + FrameTreeNode* child_frame, + base::TimeTicks start_time, + base::TimeTicks redirect_time, + const GURL& initial_url, + const GURL& final_url, + network::mojom::URLResponseHeadPtr response_head, + bool allow_response_details, + const network::URLLoaderCompletionStatus& completion_status); + // Sends a renderer-debug URL to the renderer process for handling. void HandleRendererDebugURL(const GURL& url);
diff --git a/content/browser/renderer_host/render_frame_proxy_host.cc b/content/browser/renderer_host/render_frame_proxy_host.cc index b9ddf05..824e7cc 100644 --- a/content/browser/renderer_host/render_frame_proxy_host.cc +++ b/content/browser/renderer_host/render_frame_proxy_host.cc
@@ -703,7 +703,10 @@ params->extra_headers, std::move(blob_url_loader_factory), std::move(params->source_location), params->user_gesture, params->is_form_submission, params->impression, - params->initiator_activation_and_ad_status, navigation_start_time); + params->initiator_activation_and_ad_status, navigation_start_time, + /*is_embedder_initiated_fenced_frame_navigation=*/false, + /*is_unfenced_top_navigation=*/false, + /*force_new_browsing_instance=*/false, params->is_container_initiated); } void RenderFrameProxyHost::UpdateViewportIntersection(
diff --git a/content/browser/security_exploit_browsertest.cc b/content/browser/security_exploit_browsertest.cc index e8d9a9c4..15e819d1 100644 --- a/content/browser/security_exploit_browsertest.cc +++ b/content/browser/security_exploit_browsertest.cc
@@ -1538,7 +1538,8 @@ base::TimeTicks() /* renderer_before_unload_end */, absl::nullopt /* web_bundle_token */, blink::mojom::NavigationInitiatorActivationAndAdStatus:: - kDidNotStartWithTransientActivation); + kDidNotStartWithTransientActivation, + false /* is_container_initiated */); // Receiving the invalid IPC message should lead to renderer process // termination.
diff --git a/content/common/frame.mojom b/content/common/frame.mojom index d2f7102..4fbba74 100644 --- a/content/common/frame.mojom +++ b/content/common/frame.mojom
@@ -17,6 +17,7 @@ import "skia/public/mojom/skcolor.mojom"; import "services/network/public/mojom/content_security_policy.mojom"; import "services/network/public/mojom/url_loader.mojom"; +import "services/network/public/mojom/url_loader_completion_status.mojom"; import "services/network/public/mojom/url_loader_factory.mojom"; import "services/network/public/mojom/url_request.mojom"; import "services/network/public/mojom/url_response_head.mojom";
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/KeyboardShortcutRecorder.java b/content/public/android/java/src/org/chromium/content_public/browser/KeyboardShortcutRecorder.java index 8172e6ba..afc63e9 100644 --- a/content/public/android/java/src/org/chromium/content_public/browser/KeyboardShortcutRecorder.java +++ b/content/public/android/java/src/org/chromium/content_public/browser/KeyboardShortcutRecorder.java
@@ -17,14 +17,17 @@ // |PhysicalKeyboardShortcut| in tools/metrics/histograms/enums.xml and // third_party/blink/renderer/core/input/keyboard_shortcut_recorder.h @IntDef({KeyboardShortcut.ZOOM_IN, KeyboardShortcut.ZOOM_OUT, KeyboardShortcut.ZOOM_RESET, - KeyboardShortcut.DELETE_LINE, KeyboardShortcut.COUNT}) + KeyboardShortcut.DELETE_LINE, KeyboardShortcut.PAGE_UP, KeyboardShortcut.PAGE_DOWN, + KeyboardShortcut.COUNT}) @Retention(RetentionPolicy.SOURCE) public @interface KeyboardShortcut { int ZOOM_IN = 0; int ZOOM_OUT = 1; int ZOOM_RESET = 2; int DELETE_LINE = 3; - int COUNT = 4; + int PAGE_UP = 4; + int PAGE_DOWN = 5; + int COUNT = 6; } private KeyboardShortcutRecorder() {}
diff --git a/content/public/test/fake_local_frame.cc b/content/public/test/fake_local_frame.cc index f8191976..f648ddf 100644 --- a/content/public/test/fake_local_frame.cc +++ b/content/public/test/fake_local_frame.cc
@@ -9,7 +9,6 @@ #include "third_party/blink/public/mojom/devtools/inspector_issue.mojom.h" #include "third_party/blink/public/mojom/frame/media_player_action.mojom.h" #include "third_party/blink/public/mojom/push_messaging/push_messaging.mojom.h" -#include "third_party/blink/public/mojom/timing/resource_timing.mojom.h" #if BUILDFLAG(IS_MAC) #include "ui/base/mojom/attributed_string.mojom.h" @@ -79,15 +78,6 @@ const std::vector<blink::mojom::WebFeature>&) {} void FakeLocalFrame::RenderFallbackContent() {} - -void FakeLocalFrame::AddResourceTimingEntryFromNonNavigatedFrame( - blink::mojom::ResourceTimingInfoPtr timing, - blink::FrameOwnerElementType parent_frame_element_type) {} - -void FakeLocalFrame::RenderFallbackContentWithResourceTiming( - blink::mojom::ResourceTimingInfoPtr, - const std::string& server_timing_value) {} - void FakeLocalFrame::BeforeUnload(bool is_reload, BeforeUnloadCallback callback) { base::TimeTicks now = base::TimeTicks::Now(); @@ -204,6 +194,23 @@ void FakeLocalFrame::SnapshotDocumentForViewTransition( SnapshotDocumentForViewTransitionCallback callback) {} +void FakeLocalFrame::AddResourceTimingEntryForFailedSubframeNavigation( + const ::blink::FrameToken& subframe_token, + const GURL& initial_url, + ::base::TimeTicks start_time, + ::base::TimeTicks redirect_time, + ::base::TimeTicks request_start, + ::base::TimeTicks response_start, + uint32_t response_code, + const std::string& mime_type, + const ::net::LoadTimingInfo& load_timing_info, + ::net::HttpResponseInfo::ConnectionInfo connection_info, + const std::string& alpn_negotiated_protocol, + bool is_secure_transport, + bool is_validated, + const std::string& normalized_server_timing, + const ::network::URLLoaderCompletionStatus& completion_status) {} + void FakeLocalFrame::BindFrameHostReceiver( mojo::ScopedInterfaceEndpointHandle handle) { receiver_.Bind(mojo::PendingAssociatedReceiver<blink::mojom::LocalFrame>(
diff --git a/content/public/test/fake_local_frame.h b/content/public/test/fake_local_frame.h index e732e63..8930e12 100644 --- a/content/public/test/fake_local_frame.h +++ b/content/public/test/fake_local_frame.h
@@ -8,6 +8,8 @@ #include "build/build_config.h" #include "mojo/public/cpp/bindings/associated_receiver_set.h" #include "mojo/public/cpp/bindings/pending_associated_receiver.h" +#include "net/http/http_response_info.h" +#include "services/network/public/mojom/load_timing_info.mojom.h" #include "third_party/abseil-cpp/absl/types/optional.h" #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h" #include "third_party/blink/public/common/messaging/transferable_message.h" @@ -65,12 +67,6 @@ void ReportBlinkFeatureUsage( const std::vector<blink::mojom::WebFeature>&) override; void RenderFallbackContent() override; - void AddResourceTimingEntryFromNonNavigatedFrame( - blink::mojom::ResourceTimingInfoPtr timing, - blink::FrameOwnerElementType parent_frame_element_type) override; - void RenderFallbackContentWithResourceTiming( - blink::mojom::ResourceTimingInfoPtr, - const std::string& server_timing_value) override; void BeforeUnload(bool is_reload, BeforeUnloadCallback callback) override; void MediaPlayerActionAt(const gfx::Point& location, blink::mojom::MediaPlayerActionPtr action) override; @@ -150,6 +146,22 @@ blink::mojom::TraverseCancelledReason reason) override; void SnapshotDocumentForViewTransition( SnapshotDocumentForViewTransitionCallback callback) override; + void AddResourceTimingEntryForFailedSubframeNavigation( + const ::blink::FrameToken& subframe_token, + const GURL& initial_url, + base::TimeTicks start_time, + base::TimeTicks redirect_time, + base::TimeTicks request_start, + base::TimeTicks response_start, + uint32_t response_code, + const std::string& mime_type, + const net::LoadTimingInfo& load_timing_info, + net::HttpResponseInfo::ConnectionInfo connection_info, + const std::string& alpn_negotiated_protocol, + bool is_secure_transport, + bool is_validated, + const std::string& normalized_server_timing, + const ::network::URLLoaderCompletionStatus& completion_status) override; private: void BindFrameHostReceiver(mojo::ScopedInterfaceEndpointHandle handle);
diff --git a/content/public/test/fake_remote_frame.cc b/content/public/test/fake_remote_frame.cc index 9492218..04d8a077 100644 --- a/content/public/test/fake_remote_frame.cc +++ b/content/public/test/fake_remote_frame.cc
@@ -63,10 +63,6 @@ void FakeRemoteFrame::RenderFallbackContent() {} -void FakeRemoteFrame::RenderFallbackContentWithResourceTiming( - blink::mojom::ResourceTimingInfoPtr, - const std::string& server_timing_value) {} - void FakeRemoteFrame::AddResourceTimingFromChild( blink::mojom::ResourceTimingInfoPtr timing) {}
diff --git a/content/public/test/fake_remote_frame.h b/content/public/test/fake_remote_frame.h index e8174cd2..1521517b 100644 --- a/content/public/test/fake_remote_frame.h +++ b/content/public/test/fake_remote_frame.h
@@ -64,9 +64,6 @@ const base::UnguessableToken& embedding_token) override; void SetPageFocus(bool is_focused) override; void RenderFallbackContent() override; - void RenderFallbackContentWithResourceTiming( - blink::mojom::ResourceTimingInfoPtr, - const std::string& server_timing_value) override; void AddResourceTimingFromChild( blink::mojom::ResourceTimingInfoPtr timing) override;
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc index 0569890..24fced83 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc
@@ -944,6 +944,8 @@ browser_navigation_timings.fetch_start; renderer_navigation_timings.input_start = input_start; + renderer_navigation_timings.parent_resource_timing_access = + browser_navigation_timings.parent_resource_timing_access; return renderer_navigation_timings; } @@ -5757,7 +5759,7 @@ : nullptr, info->impression, renderer_before_unload_start, renderer_before_unload_end, web_bundle_token_params, - initiator_activation_and_ad_status); + initiator_activation_and_ad_status, info->is_container_initiated); mojo::PendingAssociatedRemote<mojom::NavigationClient> navigation_client_remote;
diff --git a/content/test/data/accessibility/html/custom-element-hidden-expected-blink.txt b/content/test/data/accessibility/html/custom-element-hidden-expected-blink.txt index f2f68f3..9db06e2 100644 --- a/content/test/data/accessibility/html/custom-element-hidden-expected-blink.txt +++ b/content/test/data/accessibility/html/custom-element-hidden-expected-blink.txt
@@ -5,7 +5,4 @@ ++++++genericContainer ignored invisible htmlTag='div' ++++++++genericContainer ignored invisible htmlTag='my-element' ++++++++++genericContainer ignored invisible htmlTag='div' -++++++++++++genericContainer ignored invisible htmlTag='slot' -++++++++++++++genericContainer ignored invisible htmlTag='span' -++++++++++++++++staticText ignored invisible name='Slot contents' -++++++button htmlTag='button' name='Done' \ No newline at end of file +++++++button htmlTag='button' name='Done'
diff --git a/content/test/data/accessibility/html/meter-expected-blink.txt b/content/test/data/accessibility/html/meter-expected-blink.txt index 6c2d34a..3396f991 100644 --- a/content/test/data/accessibility/html/meter-expected-blink.txt +++ b/content/test/data/accessibility/html/meter-expected-blink.txt
@@ -6,5 +6,3 @@ ++++++++++genericContainer ++++++++++++genericContainer ignored ++++++++genericContainer ignored invisible -++++++++++genericContainer ignored invisible -++++++++++++staticText ignored invisible name='2 out of 10' \ No newline at end of file
diff --git a/content/test/data/accessibility/html/popover-api-expected-blink.txt b/content/test/data/accessibility/html/popover-api-expected-blink.txt index cc9bd623..483f1769 100644 --- a/content/test/data/accessibility/html/popover-api-expected-blink.txt +++ b/content/test/data/accessibility/html/popover-api-expected-blink.txt
@@ -10,9 +10,6 @@ ++++++++genericContainer ignored invisible ++++++++++staticText ignored invisible name='Listbox role on ul' ++++++details ignored invisible -++++++++genericContainer ignored invisible -++++++++++disclosureTriangle ignored invisible -++++++++++++staticText ignored invisible name='summary/details popover' ++++++button collapsed name='Button pointing to hidden popover' ++++++++staticText name='Button pointing to hidden popover' ++++++++++inlineTextBox name='Button pointing to hidden popover'
diff --git a/content/test/data/accessibility/html/selectmenu-expected-blink.txt b/content/test/data/accessibility/html/selectmenu-expected-blink.txt index e542bb4..065b897e 100644 --- a/content/test/data/accessibility/html/selectmenu-expected-blink.txt +++ b/content/test/data/accessibility/html/selectmenu-expected-blink.txt
@@ -12,14 +12,10 @@ ++++++++++++++genericContainer ignored ++++++++genericContainer ignored ++++++++++listBox ignored invisible -++++++++++++genericContainer ignored invisible -++++++++++++++listBoxOption focusable ignored invisible -++++++++++++++listBoxOption focusable ignored invisible -++++++++++++++listBoxOption focusable ignored invisible ++++++genericContainer ++++++++genericContainer ignored ++++++++++comboBoxMenuButton collapsed value='Option 1' haspopup=listbox ++++++++++++staticText name='Custom selectmenu button' ++++++++++++++inlineTextBox name='Custom selectmenu button' ++++++++genericContainer ignored -++++++++++listBox ignored invisible \ No newline at end of file +++++++++++listBox ignored invisible
diff --git a/content/test/data/accessibility/regression/title-in-shadow-expected-blink.txt b/content/test/data/accessibility/regression/title-in-shadow-expected-blink.txt index fd7f44e4..099b17be 100644 --- a/content/test/data/accessibility/regression/title-in-shadow-expected-blink.txt +++ b/content/test/data/accessibility/regression/title-in-shadow-expected-blink.txt
@@ -6,4 +6,3 @@ ++++++++++genericContainer ++++++++++++genericContainer ignored ++++++++genericContainer ignored invisible -++++++++++genericContainer ignored invisible \ No newline at end of file
diff --git a/content/test/navigation_simulator_impl.cc b/content/test/navigation_simulator_impl.cc index 69de66c..d1c7e3ef 100644 --- a/content/test/navigation_simulator_impl.cc +++ b/content/test/navigation_simulator_impl.cc
@@ -1323,7 +1323,8 @@ base::TimeTicks() /* renderer_before_unload_end */, absl::nullopt /* web_bundle_token */, blink::mojom::NavigationInitiatorActivationAndAdStatus:: - kDidNotStartWithTransientActivation); + kDidNotStartWithTransientActivation, + false /* is_container_initiated */); auto common_params = blink::CreateCommonNavigationParams(); common_params->navigation_start = base::TimeTicks::Now(); common_params->input_start = navigation_input_start_;
diff --git a/content/test/test_render_frame_host.cc b/content/test/test_render_frame_host.cc index 0491d69..3cdfea02 100644 --- a/content/test/test_render_frame_host.cc +++ b/content/test/test_render_frame_host.cc
@@ -419,7 +419,8 @@ base::TimeTicks() /* renderer_before_unload_end */, absl::nullopt /* web_bundle_token */, blink::mojom::NavigationInitiatorActivationAndAdStatus:: - kDidNotStartWithTransientActivation); + kDidNotStartWithTransientActivation, + false /* is_container_initiated */); auto common_params = blink::CreateCommonNavigationParams(); common_params->url = url; common_params->initiator_origin = GetLastCommittedOrigin();
diff --git a/device/bluetooth/bluetooth_device.cc b/device/bluetooth/bluetooth_device.cc index c13b7de..aaf7b8c 100644 --- a/device/bluetooth/bluetooth_device.cc +++ b/device/bluetooth/bluetooth_device.cc
@@ -330,6 +330,9 @@ #if BUILDFLAG(IS_CHROMEOS) void BluetoothDevice::SetIsBlockedByPolicy(bool is_blocked_by_policy) { + if (is_blocked_by_policy_ == is_blocked_by_policy) { + return; + } is_blocked_by_policy_ = is_blocked_by_policy; GetAdapter()->NotifyDeviceIsBlockedByPolicyChanged(this, is_blocked_by_policy);
diff --git a/extensions/browser/api/socket/tcp_socket.cc b/extensions/browser/api/socket/tcp_socket.cc index 38132d16..11e5563 100644 --- a/extensions/browser/api/socket/tcp_socket.cc +++ b/extensions/browser/api/socket/tcp_socket.cc
@@ -256,8 +256,11 @@ if (!storage_partition_) { storage_partition_ = browser_context_->GetDefaultStoragePartition(); } + + auto options = network::mojom::TCPServerSocketOptions::New(); + options->backlog = backlog; storage_partition_->GetNetworkContext()->CreateTCPServerSocket( - ip_end_point, backlog, + ip_end_point, std::move(options), net::MutableNetworkTrafficAnnotationTag( Socket::GetNetworkTrafficAnnotationTag()), server_socket_.BindNewPipeAndPassReceiver(),
diff --git a/ios/build/tools/setup-gn.py b/ios/build/tools/setup-gn.py index 042e5c2..1ca2f51 100755 --- a/ios/build/tools/setup-gn.py +++ b/ios/build/tools/setup-gn.py
@@ -362,6 +362,10 @@ '--config-path', default=os.path.expanduser('~/.setup-gn'), help='path to the user config file (default: %(default)s)') parser.add_argument( + '--project-config-path', default=os.path.join(default_root, os.pardir, + '.setup-gn'), + help='path to the project config file (default: %(default)s)') + parser.add_argument( '--system-config-path', default=os.path.splitext(__file__)[0] + '.config', help='path to the default config file (default: %(default)s)') parser.add_argument( @@ -377,6 +381,7 @@ settings.read([ args.system_config_path, args.config_path, + args.project_config_path, ]) # Add private sections corresponding to --import argument.
diff --git a/ios/chrome/app/strings/ios_strings.grd b/ios/chrome/app/strings/ios_strings.grd index 53ccdabf..10db805 100644 --- a/ios/chrome/app/strings/ios_strings.grd +++ b/ios/chrome/app/strings/ios_strings.grd
@@ -2793,6 +2793,9 @@ <message name="IDS_IOS_SAVE_PASSWORD_TO_ACCOUNT_STORE_DESCRIPTION" desc="Description of save password in google account action. [iOS only]" meaning="Telling user that current password is in local device store and suggesting moving it to their google account store."> This password is saved only to this device. To use it on your other devices, save it in your Google Account, <ph name="EMAIL">$1<ex>johndoe@gmail.com</ex></ph>. </message> + <message name="IDS_IOS_PASSWORD_SAVED_TO_ACCOUNT_SNACKBAR_MESSAGE" desc="Message briefly displayed at the bottom of the screen to inform the user that the password had successfully been moved to their google account store. [iOS only]"> + Password saved in your Google Account, <ph name="EMAIL">$1<ex>johndoe@gmail.com</ex></ph> + </message> <message name="IDS_IOS_SEARCH_COPIED" desc="The message displayed when the search is copied via long press (contextual search) [Length: 10em] [iOS only]"> Copied </message>
diff --git a/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_PASSWORD_SAVED_TO_ACCOUNT_SNACKBAR_MESSAGE.png.sha1 b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_PASSWORD_SAVED_TO_ACCOUNT_SNACKBAR_MESSAGE.png.sha1 new file mode 100644 index 0000000..3e2c226 --- /dev/null +++ b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_PASSWORD_SAVED_TO_ACCOUNT_SNACKBAR_MESSAGE.png.sha1
@@ -0,0 +1 @@ +ed34aa3cf5af00e8ecb77a11c2e0322f204fb7e5 \ No newline at end of file
diff --git a/ios/chrome/browser/providers/lottie/chromium_lottie_animation.mm b/ios/chrome/browser/providers/lottie/chromium_lottie_animation.mm index b5117a1..a3b2aa1 100644 --- a/ios/chrome/browser/providers/lottie/chromium_lottie_animation.mm +++ b/ios/chrome/browser/providers/lottie/chromium_lottie_animation.mm
@@ -37,10 +37,10 @@ if (self) { #if !BUILDFLAG(IS_IOS_MACCATALYST) DCHECK(config); - DCHECK(config.path); + DCHECK(config.animationName); _lottieAnimation = [LOTAnimationView - animationNamed:config.path + animationNamed:config.animationName inBundle:config.bundle == nil ? [NSBundle mainBundle] : config.bundle]; #endif // BUILDFLAG(IS_IOS_MACCATALYST)
diff --git a/ios/chrome/browser/ui/settings/password/password_details/password_details_table_view_controller.mm b/ios/chrome/browser/ui/settings/password/password_details/password_details_table_view_controller.mm index 073a479..d2012338 100644 --- a/ios/chrome/browser/ui/settings/password/password_details/password_details_table_view_controller.mm +++ b/ios/chrome/browser/ui/settings/password/password_details/password_details_table_view_controller.mm
@@ -1244,6 +1244,10 @@ DCHECK_GE(position, 0); DCHECK(self.handler); [self.handler moveCredentialToAccountStore:self.passwords[position]]; + [self showToast:l10n_util::GetNSStringF( + IDS_IOS_PASSWORD_SAVED_TO_ACCOUNT_SNACKBAR_MESSAGE, + base::SysNSStringToUTF16(self.userEmail)) + forSuccess:YES]; }; [self.reauthModule attemptReauthWithLocalizedReason:
diff --git a/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1 b/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1 index 97d0da03..26051616 100644 --- a/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1 +++ b/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1
@@ -1 +1 @@ -ab0ee9a3e269c2d77342afa0bae165eb2c4d402b \ No newline at end of file +5da4d6f446b48ad2519d193221f96d7000260e29 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1 b/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1 index 69dea7e..769a81d 100644 --- a/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1 +++ b/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1
@@ -1 +1 @@ -51bfb281a75f37c4f0ea5f97f9250d2234b4122f \ No newline at end of file +3afc2cb2d0b4ebce1f3048f086ed12f510056f6c \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1 index 0013894..7db185645 100644 --- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -93da811cafe5edbe259490e615335f6d08a298a8 \ No newline at end of file +0eb8435aa61c9abc93a82d64aedbbaa7c3780eab \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1 index 41c7c8f..4d167bc 100644 --- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -d28415407c0377fd7e7df061a8aeae86b3fdc310 \ No newline at end of file +4b5780ab07c2bba1f19a2ac0040716135ee9026a \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1 index 97600a1..679c6712 100644 --- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -c5d41b90a2974132f5381e6ff0f7c8b9e53ba3ab \ No newline at end of file +88f3add1dc6181b218ed2634807358630fbbc8a6 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1 index 6016d475..5011ed1 100644 --- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -f1103cf3238d881459fafddb662f54b751eea9e6 \ No newline at end of file +3c2d70f7a4b8dd000a44f6ddcc40da51b31b8fa3 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1 index dbd5cf7..c651e02 100644 --- a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -0c9879c49c3eaddfc319d35d3e7fe62b678681ac \ No newline at end of file +f507631421e80f4be0221f8cc5447c7092307959 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1 index a20c192..d8c61e11 100644 --- a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -6e742042ea7d88b18aa060cc37bae2718334393e \ No newline at end of file +10d7a05a086af1d056f7db9d05dcf7799cb63a3d \ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1 index 248806f..74c6705 100644 --- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -61cfe27d1ab74f3316218a65b99f44eea2b75739 \ No newline at end of file +17ec0f4f569ec5208d214da80bf2e43e420b277c \ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1 index 8762b39..dc1b86cc 100644 --- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -c85c5352816a426a732b37e380dfe37d6882e9e7 \ No newline at end of file +584105c44a03c129e7e7f81aff14aa347aeb7886 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1 index 3206171..f438042 100644 --- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -06772e6472ca18cb5a88fba1845012853a9e7e57 \ No newline at end of file +5c361de0cbaaf7ad88ad8bbaece5eee81a0739d9 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1 index a6239f20..0777ce0 100644 --- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -baf2ef72971470f8d47804f98ad7835d47f342e5 \ No newline at end of file +906953e9f45dbe7fa910b434fc6dffa005806525 \ No newline at end of file
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc index ce3f11f8..d250ce6 100644 --- a/media/base/media_switches.cc +++ b/media/base/media_switches.cc
@@ -1098,7 +1098,7 @@ // please use IsMediaFoundationD3D11VideoCaptureEnabled() instead. BASE_FEATURE(kMediaFoundationD3D11VideoCapture, "MediaFoundationD3D11VideoCapture", - base::FEATURE_ENABLED_BY_DEFAULT); + base::FEATURE_DISABLED_BY_DEFAULT); // Enables VP8 decode acceleration for Windows. const base::Feature MEDIA_EXPORT kMediaFoundationVP8Decoding{
diff --git a/net/http/http_cache_transaction.cc b/net/http/http_cache_transaction.cc index 2e0e5f7..802bae1e 100644 --- a/net/http/http_cache_transaction.cc +++ b/net/http/http_cache_transaction.cc
@@ -111,7 +111,7 @@ void RecordPervasivePayloadIndex(const char* histogram_name, int index) { if (index != -1) { - base::UmaHistogramExactLinear(histogram_name, index, 101); + base::UmaHistogramExactLinear(histogram_name, index, 323); } }
diff --git a/services/network/network_context.cc b/services/network/network_context.cc index 569b32218..b7ca67a8 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc
@@ -1486,12 +1486,12 @@ void NetworkContext::CreateTCPServerSocket( const net::IPEndPoint& local_addr, - uint32_t backlog, + mojom::TCPServerSocketOptionsPtr options, const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver<mojom::TCPServerSocket> receiver, CreateTCPServerSocketCallback callback) { socket_factory_->CreateTCPServerSocket( - local_addr, backlog, + local_addr, std::move(options), static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation), std::move(receiver), std::move(callback)); }
diff --git a/services/network/network_context.h b/services/network/network_context.h index acb4fb3..5e70182 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h
@@ -344,7 +344,7 @@ override; void CreateTCPServerSocket( const net::IPEndPoint& local_addr, - uint32_t backlog, + mojom::TCPServerSocketOptionsPtr options, const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver<mojom::TCPServerSocket> receiver, CreateTCPServerSocketCallback callback) override;
diff --git a/services/network/public/cpp/server/http_server_unittest.cc b/services/network/public/cpp/server/http_server_unittest.cc index d42423e..f8d29f3 100644 --- a/services/network/public/cpp/server/http_server_unittest.cc +++ b/services/network/public/cpp/server/http_server_unittest.cc
@@ -177,8 +177,10 @@ void SetUp() override { int net_error = net::ERR_FAILED; base::RunLoop run_loop; + auto options = network::mojom::TCPServerSocketOptions::New(); + options->backlog = 1; factory_.CreateTCPServerSocket( - net::IPEndPoint(net::IPAddress::IPv6Localhost(), 0), 1 /* backlog */, + net::IPEndPoint(net::IPAddress::IPv6Localhost(), 0), std::move(options), TRAFFIC_ANNOTATION_FOR_TESTS, server_socket_.InitWithNewPipeAndPassReceiver(), base::BindOnce(
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom index 9433e0e..424bcd2 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom
@@ -1144,15 +1144,14 @@ // and cannot be re-used for other purposes. Caller must specify an address // family in |local_addr| to be either IPv4 or IPv6. If port in |local_addr| // is 0, the OS will pick an available port. If address bytes are 0, the OS - // will pick a local address of the specified address family. |backlog| will - // be passed to the OS to set the size of accept queue. + // will pick a local address of the specified address family. // On success, the resulting local address will be written to |local_addr_out| // and |result| is net::OK. On failure, |result| is a network error code. // // Any sockets that are created but are yet to be destroyed will be destroyed // when NetworkContext goes away. CreateTCPServerSocket(IPEndPoint local_addr, - uint32 backlog, + TCPServerSocketOptions options, MutableNetworkTrafficAnnotationTag traffic_annotation, pending_receiver<TCPServerSocket> socket) => (int32 result, IPEndPoint? local_addr_out);
diff --git a/services/network/public/mojom/tcp_socket.mojom b/services/network/public/mojom/tcp_socket.mojom index 828e633d..a1e5905f 100644 --- a/services/network/public/mojom/tcp_socket.mojom +++ b/services/network/public/mojom/tcp_socket.mojom
@@ -44,6 +44,11 @@ TCPKeepAliveOptions? keep_alive_options; }; +struct TCPServerSocketOptions { + // Sets the size of the OS accept queue. Should be greater than 0. + uint32 backlog; +}; + // Represents a bound TCP socket. Once a call succeeds, cannot be reused. interface TCPBoundSocket { // Starts listening on the socket. |net_error| is set to net::OK on success,
diff --git a/services/network/socket_factory.cc b/services/network/socket_factory.cc index aae6a8e..b0ec5d8 100644 --- a/services/network/socket_factory.cc +++ b/services/network/socket_factory.cc
@@ -79,14 +79,14 @@ void SocketFactory::CreateTCPServerSocket( const net::IPEndPoint& local_addr, - int backlog, + mojom::TCPServerSocketOptionsPtr options, const net::NetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver<mojom::TCPServerSocket> receiver, mojom::NetworkContext::CreateTCPServerSocketCallback callback) { auto socket = std::make_unique<TCPServerSocket>(this, net_log_, traffic_annotation); net::IPEndPoint local_addr_out; - int result = socket->Listen(local_addr, backlog, &local_addr_out); + int result = socket->Listen(local_addr, options->backlog, &local_addr_out); if (result != net::OK) { std::move(callback).Run(result, absl::nullopt); return;
diff --git a/services/network/socket_factory.h b/services/network/socket_factory.h index 6248538..c210dd3c 100644 --- a/services/network/socket_factory.h +++ b/services/network/socket_factory.h
@@ -64,7 +64,7 @@ mojom::NetworkContext::CreateRestrictedUDPSocketCallback callback); void CreateTCPServerSocket( const net::IPEndPoint& local_addr, - int backlog, + mojom::TCPServerSocketOptionsPtr options, const net::NetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver<mojom::TCPServerSocket> receiver, mojom::NetworkContext::CreateTCPServerSocketCallback callback);
diff --git a/services/network/tcp_socket_unittest.cc b/services/network/tcp_socket_unittest.cc index 1ed305ef..1c58283 100644 --- a/services/network/tcp_socket_unittest.cc +++ b/services/network/tcp_socket_unittest.cc
@@ -163,8 +163,10 @@ void Start(uint32_t backlog) { int net_error = net::ERR_FAILED; base::RunLoop run_loop; + auto options = mojom::TCPServerSocketOptions::New(); + options->backlog = backlog; factory_.CreateTCPServerSocket( - server_addr_, backlog, TRAFFIC_ANNOTATION_FOR_TESTS, + server_addr_, std::move(options), TRAFFIC_ANNOTATION_FOR_TESTS, server_socket_.BindNewPipeAndPassReceiver(), base::BindLambdaForTesting( [&](int result, const absl::optional<net::IPEndPoint>& local_addr) {
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h index 70a7361..43b620a 100644 --- a/services/network/test/test_network_context.h +++ b/services/network/test/test_network_context.h
@@ -164,7 +164,7 @@ override {} void CreateTCPServerSocket( const net::IPEndPoint& local_addr, - uint32_t backlog, + mojom::TCPServerSocketOptionsPtr options, const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver<mojom::TCPServerSocket> socket, CreateTCPServerSocketCallback callback) override {}
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc index 384da61..dc79a42 100644 --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc
@@ -668,7 +668,7 @@ pervasive_payload_requested_ = true; url_request_->set_pervasive_payloads_index_for_logging(index.value()); base::UmaHistogramExactLinear("Network.CacheTransparency.URLMatched", - index.value(), 101); + index.value(), 323); DVLOG(2) << "Found pervasive payload: " << request.url.spec(); } }
diff --git a/testing/buildbot/chromium.chromiumos.json b/testing/buildbot/chromium.chromiumos.json index 0938ee0..cdb1cea5 100644 --- a/testing/buildbot/chromium.chromiumos.json +++ b/testing/buildbot/chromium.chromiumos.json
@@ -5818,9 +5818,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "isolate_profile_data": true, "merge": { "args": [], @@ -5832,8 +5832,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [ @@ -5989,9 +5989,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "isolate_profile_data": true, "merge": { "args": [], @@ -6003,8 +6003,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [ @@ -6141,9 +6141,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "isolate_profile_data": true, "merge": { "args": [], @@ -6155,8 +6155,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [
diff --git a/testing/buildbot/chromium.coverage.json b/testing/buildbot/chromium.coverage.json index 9c137e2..e7ea36d 100644 --- a/testing/buildbot/chromium.coverage.json +++ b/testing/buildbot/chromium.coverage.json
@@ -20487,9 +20487,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "isolate_profile_data": true, "merge": { "args": [], @@ -20501,8 +20501,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [ @@ -20658,9 +20658,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "isolate_profile_data": true, "merge": { "args": [], @@ -20672,8 +20672,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [ @@ -20810,9 +20810,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "isolate_profile_data": true, "merge": { "args": [], @@ -20824,8 +20824,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json index f9479c0..31ca49f 100644 --- a/testing/buildbot/chromium.fyi.json +++ b/testing/buildbot/chromium.fyi.json
@@ -48616,9 +48616,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -48629,8 +48629,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [ @@ -48787,9 +48787,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -48800,8 +48800,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [ @@ -48939,9 +48939,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -48952,8 +48952,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [ @@ -50477,9 +50477,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -50490,8 +50490,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [ @@ -50648,9 +50648,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -50661,8 +50661,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [ @@ -50800,9 +50800,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -50813,8 +50813,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [ @@ -51586,9 +51586,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -51599,8 +51599,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [
diff --git a/testing/buildbot/chromium.memory.json b/testing/buildbot/chromium.memory.json index b9f43a0..43e6713 100644 --- a/testing/buildbot/chromium.memory.json +++ b/testing/buildbot/chromium.memory.json
@@ -18533,12 +18533,12 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome", "--test-launcher-print-test-stdio=always", "--combine-ash-logs-on-bots", "--asan-symbolize-output" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "isolate_profile_data": true, "merge": { "args": [], @@ -18550,8 +18550,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [ @@ -18724,12 +18724,12 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome", "--test-launcher-print-test-stdio=always", "--combine-ash-logs-on-bots", "--asan-symbolize-output" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "isolate_profile_data": true, "merge": { "args": [], @@ -18741,8 +18741,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [ @@ -18891,12 +18891,12 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome", "--test-launcher-print-test-stdio=always", "--combine-ash-logs-on-bots", "--asan-symbolize-output" ], - "description": "Run with ash-chrome version 113.0.5621.0", + "description": "Run with ash-chrome version 113.0.5622.0", "isolate_profile_data": true, "merge": { "args": [], @@ -18908,8 +18908,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v113.0.5621.0", - "revision": "version:113.0.5621.0" + "location": "lacros_version_skew_tests_v113.0.5622.0", + "revision": "version:113.0.5622.0" } ], "dimension_sets": [
diff --git a/testing/buildbot/variants.pyl b/testing/buildbot/variants.pyl index c2d3374..9069524a 100644 --- a/testing/buildbot/variants.pyl +++ b/testing/buildbot/variants.pyl
@@ -22,16 +22,16 @@ }, 'LACROS_VERSION_SKEW_CANARY': { 'args': [ - '--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5621.0/test_ash_chrome', + '--ash-chrome-path-override=../../lacros_version_skew_tests_v113.0.5622.0/test_ash_chrome', ], - 'description': 'Run with ash-chrome version 113.0.5621.0', + 'description': 'Run with ash-chrome version 113.0.5622.0', 'identifier': 'Lacros version skew testing ash canary', 'swarming': { 'cipd_packages': [ { 'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip', - 'location': 'lacros_version_skew_tests_v113.0.5621.0', - 'revision': 'version:113.0.5621.0', + 'location': 'lacros_version_skew_tests_v113.0.5622.0', + 'revision': 'version:113.0.5622.0', }, ], },
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json index c98e377..ebbf6ebf 100644 --- a/testing/variations/fieldtrial_testing_config.json +++ b/testing/variations/fieldtrial_testing_config.json
@@ -2646,10 +2646,7 @@ ], "experiments": [ { - "name": "Enabled_Dogfood", - "params": { - "launch_stage": "dogfood" - }, + "name": "Enabled", "enable_features": [ "CalendarJelly" ] @@ -12265,25 +12262,6 @@ ] } ], - "TrustedVaultDegradedRecoverabilityHandler": [ - { - "platforms": [ - "chromeos", - "chromeos_lacros", - "linux", - "mac", - "windows" - ], - "experiments": [ - { - "name": "Enabled", - "enable_features": [ - "SyncTrustedVaultDegradedRecoverabilityHandler" - ] - } - ] - } - ], "UIEnableSharedImageCacheForGpu": [ { "platforms": [
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc index d90a7547..5e0541d 100644 --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc
@@ -844,13 +844,6 @@ "UseSnappyForParkableStrings", base::FEATURE_DISABLED_BY_DEFAULT); -// Enabling this will delay the first aging of strings by 60 seconds instead of -// the default. See comment around the use of the feature for the logic behind -// the delay. -BASE_FEATURE(kDelayFirstParkingOfStrings, - "DelayFirstParkingOfStrings", - base::FEATURE_ENABLED_BY_DEFAULT); - bool ParkableStringsUseSnappy() { return base::FeatureList::IsEnabled(kUseSnappyForParkableStrings); } @@ -1533,8 +1526,8 @@ "StylusWritingToInput", base::FEATURE_ENABLED_BY_DEFAULT); -BASE_FEATURE(kAndroidExtendedEditingCommands, - "AndroidExtendedEditingCommands", +BASE_FEATURE(kAndroidExtendedKeyboardShortcuts, + "AndroidExtendedKeyboardShortcuts", base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kStylusPointerAdjustment,
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h index 734fb63..4adc362c 100644 --- a/third_party/blink/public/common/features.h +++ b/third_party/blink/public/common/features.h
@@ -357,7 +357,6 @@ BLINK_COMMON_EXPORT bool ParkableStringsUseSnappy(); BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kUseSnappyForParkableStrings); BLINK_COMMON_EXPORT bool IsParkableStringsToDiskEnabled(); -BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDelayFirstParkingOfStrings); BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kReducedReferrerGranularity); @@ -756,8 +755,8 @@ // Stylus handwriting recognition to text input feature. BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kStylusWritingToInput); -// Physical keyboard shortcuts for Android with respect to editing. -BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAndroidExtendedEditingCommands); +// Extended physical keyboard shortcuts for Android. +BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAndroidExtendedKeyboardShortcuts); // Apply touch adjustment for stylus pointer events. This feature allows // enabling functions like writing into a nearby input element.
diff --git a/third_party/blink/public/mojom/frame/frame.mojom b/third_party/blink/public/mojom/frame/frame.mojom index 57f4dcef..bbd52a7 100644 --- a/third_party/blink/public/mojom/frame/frame.mojom +++ b/third_party/blink/public/mojom/frame/frame.mojom
@@ -13,7 +13,10 @@ import "services/network/public/mojom/content_security_policy.mojom"; import "services/network/public/mojom/cross_origin_opener_policy.mojom"; import "services/network/public/mojom/fetch_api.mojom"; +import "services/network/public/mojom/load_timing_info.mojom"; +import "services/network/public/mojom/network_types.mojom"; import "services/network/public/mojom/source_location.mojom"; +import "services/network/public/mojom/url_loader_completion_status.mojom"; import "skia/public/mojom/skcolor.mojom"; import "third_party/blink/public/mojom/blob/blob.mojom"; import "third_party/blink/public/mojom/blob/blob_url_store.mojom"; @@ -685,22 +688,6 @@ => (mojo_base.mojom.String16 content, uint32 start_offset, uint32 end_offset); - // Report ResourceTiming information about cancelled navigation in iframe - // initiated from this document. This is required to prevent revealing - // information about the status codes to the parent frame. (See crbug.com/1346924) - // - // Example of cancelled navigations: - // - 204 - No Content - // - 205 - Reset Content - // - Extension blocking navigation (e.g. Ad blocker) - // - etc - // - // |parent_frame_element_type| is used on the blink side to determine the - // 'initiator_type' of the entry. - AddResourceTimingEntryFromNonNavigatedFrame( - ResourceTimingInfo timing, - blink.mojom.FrameOwnerElementType parent_frame_element_type); - // Creates an intervention report in the frame with contents |id| and // |message|, returns once the report has been queued. |id| identifies the // intervention that occurred. |message| is a human-readable string that @@ -782,13 +769,6 @@ // network error. RenderFallbackContent(); - // Sent to this frame in parent frame's process to render fallback contents. - // This is only used for <object> elements that failed a navigation with an - // HTTP error. - RenderFallbackContentWithResourceTiming( - ResourceTimingInfo timing, - string server_timing_value); - // Instructs the frame to invoke the beforeunload event handler. // // The closure callback is invoked to acknowledge the browser that @@ -983,6 +963,27 @@ // See https://drafts.csswg.org/css-view-transitions-1/ for details. SnapshotDocumentForViewTransition() => ( blink.mojom.ViewTransitionState view_transition_state); + + // Allows the browser to add a resource timing entry for a subframe + // navigation that has failed before committing - a non-ok object navigation + // or a no-content response (204/205). + AddResourceTimingEntryForFailedSubframeNavigation( + blink.mojom.FrameToken subframe_token, + url.mojom.Url initial_url, + mojo_base.mojom.TimeTicks start_time, + mojo_base.mojom.TimeTicks redirect_time, + mojo_base.mojom.TimeTicks request_start, + mojo_base.mojom.TimeTicks response_start, + uint32 response_code, + string mime_type, + network.mojom.LoadTimingInfo load_timing_info, + network.mojom.ConnectionInfo connection_info, + string alpn_negotiated_protocol, + bool is_secure_transport, + bool is_validated, + string normalized_server_timing, + network.mojom.URLLoaderCompletionStatus completion_status + ); }; // Also implemented in Blink, this interface defines frame-specific methods
diff --git a/third_party/blink/public/mojom/frame/remote_frame.mojom b/third_party/blink/public/mojom/frame/remote_frame.mojom index c6d96107..dcea8cc 100644 --- a/third_party/blink/public/mojom/frame/remote_frame.mojom +++ b/third_party/blink/public/mojom/frame/remote_frame.mojom
@@ -120,6 +120,12 @@ // The navigation initiator's user activation and ad status. blink.mojom.NavigationInitiatorActivationAndAdStatus initiator_activation_and_ad_status; + + // Whether this navigation was container initiated (e.g. iframe changed src). + // Only container-initiated navigations report a resource-timing entry. + // Note: when relying on this in the browser process, also make sure to check + // that this comes from the renderer process of the parent frame. + bool is_container_initiated = false; }; // Implemented in Browser, this interface defines frame-specific methods that @@ -325,13 +331,6 @@ // network error). RenderFallbackContent(); - // Sent to this frame in parent frame's process to render fallback contents. - // This is only used for <object> elements that failed a navigation with an - // HTTP error. - RenderFallbackContentWithResourceTiming( - ResourceTimingInfo timing, - string server_timing_value); - // Sent to the remote frame placeholder in the parent process so that // resource timing information can be added to the parent frame. AddResourceTimingFromChild(ResourceTimingInfo timing);
diff --git a/third_party/blink/public/mojom/navigation/navigation_params.mojom b/third_party/blink/public/mojom/navigation/navigation_params.mojom index f8cf8ce..f81865be 100644 --- a/third_party/blink/public/mojom/navigation/navigation_params.mojom +++ b/third_party/blink/public/mojom/navigation/navigation_params.mojom
@@ -157,6 +157,16 @@ // The navigation initiator's user activation and ad status. blink.mojom.NavigationInitiatorActivationAndAdStatus initiator_activation_and_ad_status; + + // Whether this navigation was container initiated (e.g. iframe changed src). + // This is currently partially specified in + // https://html.spec.whatwg.org/#create-navigation-params-by-fetching + // "If sourceSnapshotParams's fetch client is navigable's container document's + // relevant settings object, then set request's initiator type to navigable's + // container's local name." This means that only container initiated + // navigations should create a resource timing entry. + // TODO(https://github.com/whatwg/html/issues/8846): clarify this further. + bool is_container_initiated = false; }; // Provided by the browser or the renderer ------------------------------------- @@ -272,6 +282,21 @@ // Provided by the browser ----------------------------------------------------- +// Only container-initiated navigations report resource timing to the parent. +// See https://github.com/whatwg/fetch/pull/1579 +enum ParentResourceTimingAccess { + kDoNotReport, + + // See https://fetch.spec.whatwg.org/#response-has-cross-origin-redirects + // Whether response info (status code, content-type) can be exposed to + // resource timing. True for CORS same-origin subresource responses and for + // same-origin navigations without cross-origin redirects. + // TODO(https://github.com/whatwg/fetch/issues/1602) clarify the spec around + // this. + kReportWithoutResponseDetails, + kReportWithResponseDetails +}; + // Timings collected in the browser during navigation for the // Navigation Timing API. Sent to Blink in CommitNavigationParams when // the navigation is ready to be committed. @@ -279,6 +304,8 @@ mojo_base.mojom.TimeTicks redirect_start; mojo_base.mojom.TimeTicks redirect_end; mojo_base.mojom.TimeTicks fetch_start; + + ParentResourceTimingAccess parent_resource_timing_access = ParentResourceTimingAccess.kDoNotReport; }; // Sent with CommitNavigationParams and should only be set for main-frame
diff --git a/third_party/blink/public/web/web_navigation_params.h b/third_party/blink/public/web/web_navigation_params.h index 4dfaca0..ed25d1d 100644 --- a/third_party/blink/public/web/web_navigation_params.h +++ b/third_party/blink/public/web/web_navigation_params.h
@@ -191,6 +191,10 @@ // The initiator frame's LocalDOMWindow's has_storage_access state. bool has_storage_access = false; + // Whether this navigation was initiated by the container, e.g. iframe changed + // src. Only container-initiated navigation report resource timing to the + // parent. + bool is_container_initiated = false; }; // This structure holds all information provided by the embedder that is
diff --git a/third_party/blink/public/web/web_navigation_timings.h b/third_party/blink/public/web/web_navigation_timings.h index 6f0a079..3cf520d 100644 --- a/third_party/blink/public/web/web_navigation_timings.h +++ b/third_party/blink/public/web/web_navigation_timings.h
@@ -6,6 +6,7 @@ #define THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_NAVIGATION_TIMINGS_H_ #include "base/time/time.h" +#include "third_party/blink/public/mojom/navigation/navigation_params.mojom-shared.h" namespace blink { @@ -15,6 +16,8 @@ base::TimeTicks redirect_start; base::TimeTicks redirect_end; base::TimeTicks fetch_start; + blink::mojom::ParentResourceTimingAccess parent_resource_timing_access = + blink::mojom::ParentResourceTimingAccess::kDoNotReport; }; } // namespace blink
diff --git a/third_party/blink/renderer/core/DEPS b/third_party/blink/renderer/core/DEPS index 586ef27..c8ea315e 100644 --- a/third_party/blink/renderer/core/DEPS +++ b/third_party/blink/renderer/core/DEPS
@@ -76,6 +76,7 @@ "+services/network/public/cpp/request_destination.h", "+services/network/public/cpp/request_mode.h", "+services/network/public/cpp/resource_request.h", + "+services/network/public/cpp/url_loader_completion_status.h", "+services/network/public/cpp/web_sandbox_flags.h", "+services/service_manager/public", "+skia/public/mojom",
diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5 index 9639b675..d951318 100644 --- a/third_party/blink/renderer/core/css/css_properties.json5 +++ b/third_party/blink/renderer/core/css/css_properties.json5
@@ -5888,6 +5888,7 @@ keywords: [ "normal", "pre", "pre-wrap", "pre-line", "nowrap", "break-spaces" ], + style_builder_custom_functions: ["initial", "inherit", "value"], typedom_types: ["Keyword"], default_value: "EWhiteSpace::kNormal", valid_for_cue: true,
diff --git a/third_party/blink/renderer/core/css/element_rule_collector.cc b/third_party/blink/renderer/core/css/element_rule_collector.cc index e3d0cb6..52aa641 100644 --- a/third_party/blink/renderer/core/css/element_rule_collector.cc +++ b/third_party/blink/renderer/core/css/element_rule_collector.cc
@@ -404,10 +404,6 @@ static_cast<wtf_size_t>(rules.size())); } - const bool case_sensitive_tag_matching = - context.element->IsHTMLElement() || - !IsA<HTMLDocument>(context.element->GetDocument()); - for (const RuleData& rule_data : rules) { if (perf_trace_enabled) { selector_statistics_collector.EndCollectionForCurrentRule(); @@ -458,7 +454,8 @@ } DCHECK(SlowMatchWithNoResultFlags(checker, context, selector, rule_data, result.proximity)); - } else if (case_sensitive_tag_matching && rule_data.SelectorIsEasy()) { + } else if (context.vtt_originating_element == nullptr && + rule_data.SelectorIsEasy()) { if (pseudo_style_request_.pseudo_id != kPseudoIdNone) { continue; }
diff --git a/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc b/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc index 6b2a16e..111646d 100644 --- a/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc +++ b/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
@@ -3489,22 +3489,16 @@ CSSParserTokenRange& range, const CSSParserContext& context, ConsumeGeneratedImagePolicy generated_image_policy) { - CSSValue* image = nullptr; - AtomicString url_value = (RuntimeEnabledFeatures::CSSImageSetEnabled() - ? ConsumeUrlOrStringAsStringView(range, context) - : ConsumeUrlAsStringView(range, context)) - .ToAtomicString(); - if (!url_value.IsNull()) { - image = CreateCSSImageValueWithReferrer(url_value, context); - } else { - if (!RuntimeEnabledFeatures::CSSImageSetEnabled()) { - return nullptr; - } + const ConsumeStringUrlImagePolicy string_url_image_policy = + RuntimeEnabledFeatures::CSSImageSetEnabled() + ? ConsumeStringUrlImagePolicy::kAllow + : ConsumeStringUrlImagePolicy::kForbid; - image = ConsumeGeneratedImage(range, context); - if (!image) { - return nullptr; - } + const CSSValue* image = ConsumeImage(range, context, generated_image_policy, + string_url_image_policy, + ConsumeImageSetImagePolicy::kForbid); + if (!image) { + return nullptr; } CSSNumericLiteralValue* resolution = nullptr; @@ -3566,18 +3560,26 @@ return image_set; } -CSSValue* ConsumeImage(CSSParserTokenRange& range, - const CSSParserContext& context, - ConsumeGeneratedImagePolicy generated_image_policy) { - AtomicString uri = ConsumeUrlAsStringView(range, context).ToAtomicString(); +CSSValue* ConsumeImage( + CSSParserTokenRange& range, + const CSSParserContext& context, + const ConsumeGeneratedImagePolicy generated_image_policy, + const ConsumeStringUrlImagePolicy string_url_image_policy, + const ConsumeImageSetImagePolicy image_set_image_policy) { + AtomicString uri = + ((string_url_image_policy == ConsumeStringUrlImagePolicy::kAllow) + ? ConsumeUrlOrStringAsStringView(range, context) + : ConsumeUrlAsStringView(range, context)) + .ToAtomicString(); if (!uri.IsNull()) { return CreateCSSImageValueWithReferrer(uri, context); } if (range.Peek().GetType() == kFunctionToken) { CSSValueID id = range.Peek().FunctionId(); - if (id == CSSValueID::kWebkitImageSet || - (id == CSSValueID::kImageSet && - RuntimeEnabledFeatures::CSSImageSetEnabled())) { + if ((id == CSSValueID::kWebkitImageSet || + (id == CSSValueID::kImageSet && + RuntimeEnabledFeatures::CSSImageSetEnabled())) && + image_set_image_policy == ConsumeImageSetImagePolicy::kAllow) { return ConsumeImageSet(range, context, generated_image_policy); } if (generated_image_policy == ConsumeGeneratedImagePolicy::kAllow &&
diff --git a/third_party/blink/renderer/core/css/properties/css_parsing_utils.h b/third_party/blink/renderer/core/css/properties/css_parsing_utils.h index 65bb101..4f8b074 100644 --- a/third_party/blink/renderer/core/css/properties/css_parsing_utils.h +++ b/third_party/blink/renderer/core/css/properties/css_parsing_utils.h
@@ -198,11 +198,15 @@ const CSSValue*& result_color); enum class ConsumeGeneratedImagePolicy { kAllow, kForbid }; +enum class ConsumeStringUrlImagePolicy { kAllow, kForbid }; +enum class ConsumeImageSetImagePolicy { kAllow, kForbid }; CSSValue* ConsumeImage( CSSParserTokenRange&, const CSSParserContext&, - ConsumeGeneratedImagePolicy = ConsumeGeneratedImagePolicy::kAllow); + const ConsumeGeneratedImagePolicy = ConsumeGeneratedImagePolicy::kAllow, + const ConsumeStringUrlImagePolicy = ConsumeStringUrlImagePolicy::kForbid, + const ConsumeImageSetImagePolicy = ConsumeImageSetImagePolicy::kAllow); CSSValue* ConsumeImageOrNone(CSSParserTokenRange&, const CSSParserContext&); CSSValue* ConsumeAxis(CSSParserTokenRange&, const CSSParserContext& context);
diff --git a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc index bfa046c..b340f571 100644 --- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc +++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
@@ -9665,6 +9665,36 @@ return CSSIdentifierValue::Create(style.GetWritingMode()); } +void WhiteSpace::ApplyInitial(StyleResolverState& state) const { + ComputedStyleBuilder& builder = state.StyleBuilder(); + builder.SetWhiteSpace(ComputedStyleInitialValues::InitialWhiteSpace()); + // TODO(crbug.com/1417543): `white-space` will become a shorthand in the + // future - in order to mitigate the forward compat risk, apply to the + // `text-wrap` longhand as well. + DCHECK(GetCSSPropertyWhiteSpace().IsLonghand()); + builder.SetTextWrap(ComputedStyleInitialValues::InitialTextWrap()); +} + +void WhiteSpace::ApplyInherit(StyleResolverState& state) const { + ComputedStyleBuilder& builder = state.StyleBuilder(); + builder.SetWhiteSpace(state.ParentStyle()->WhiteSpace()); + // TODO(crbug.com/1417543): See `WhiteSpace::ApplyInitial`. + // For now, any `white-space` values should set `text-wrap: wrap`. + DCHECK(GetCSSPropertyWhiteSpace().IsLonghand()); + builder.SetTextWrap(ComputedStyleInitialValues::InitialTextWrap()); +} + +void WhiteSpace::ApplyValue(StyleResolverState& state, + const CSSValue& value) const { + ComputedStyleBuilder& builder = state.StyleBuilder(); + builder.SetWhiteSpace( + To<CSSIdentifierValue>(value).ConvertTo<blink::EWhiteSpace>()); + // TODO(crbug.com/1417543): See `WhiteSpace::ApplyInitial`. + // For now, any `white-space` values should set `text-wrap: wrap`. + DCHECK(GetCSSPropertyWhiteSpace().IsLonghand()); + builder.SetTextWrap(ComputedStyleInitialValues::InitialTextWrap()); +} + const CSSValue* WhiteSpace::CSSValueFromComputedStyleInternal( const ComputedStyle& style, const LayoutObject*,
diff --git a/third_party/blink/renderer/core/css/resolver/style_cascade.cc b/third_party/blink/renderer/core/css/resolver/style_cascade.cc index f4b8e42..6d55809 100644 --- a/third_party/blink/renderer/core/css/resolver/style_cascade.cc +++ b/third_party/blink/renderer/core/css/resolver/style_cascade.cc
@@ -534,6 +534,19 @@ maybe_skip(GetCSSPropertyBaselineSource(), *priority); } } + + // TODO(crbug.com/1417543): `white-space` will become a shorthand in the + // future - in order to mitigate the forward compat risk, skip the `text-wrap` + // longhand. + const CSSProperty& white_space = GetCSSPropertyWhiteSpace(); + DCHECK(white_space.IsLonghand()); + if (!resolver.filter_.Rejects(white_space)) { + if (const CascadePriority* priority = + map_.Find(white_space.GetCSSPropertyName())) { + LookupAndApply(white_space, resolver); + maybe_skip(GetCSSPropertyTextWrap(), *priority); + } + } } // Go through all properties that were found during the analyze phase
diff --git a/third_party/blink/renderer/core/css/resolver/style_resolver_state.cc b/third_party/blink/renderer/core/css/resolver/style_resolver_state.cc index d0a7b8f..f128822a 100644 --- a/third_party/blink/renderer/core/css/resolver/style_resolver_state.cc +++ b/third_party/blink/renderer/core/css/resolver/style_resolver_state.cc
@@ -238,7 +238,10 @@ } Element* StyleResolverState::GetAnimatingElement() const { - return styled_element_; + // When querying pseudo element styles for an element that does not generate + // such a pseudo element, the styled_element_ is the originating element. Make + // sure we only do animations for true pseudo elements. + return IsForPseudoElement() ? GetPseudoElement() : styled_element_; } PseudoElement* StyleResolverState::GetPseudoElement() const {
diff --git a/third_party/blink/renderer/core/css/selector_checker-inl.h b/third_party/blink/renderer/core/css/selector_checker-inl.h index 2c6f0a3..7fbb886 100644 --- a/third_party/blink/renderer/core/css/selector_checker-inl.h +++ b/third_party/blink/renderer/core/css/selector_checker-inl.h
@@ -7,6 +7,7 @@ #include "third_party/blink/renderer/core/css/css_selector.h" #include "third_party/blink/renderer/core/css/selector_checker.h" +#include "third_party/blink/renderer/core/html/html_document.h" namespace blink { @@ -132,9 +133,27 @@ switch (selector->Match()) { case CSSSelector::kTag: { const QualifiedName& tag_q_name = selector->TagQName(); - return element->localName() == tag_q_name.LocalName() && - (element->namespaceURI() == tag_q_name.NamespaceURI() || - tag_q_name.NamespaceURI() == g_star_atom); + if (element->namespaceURI() != tag_q_name.NamespaceURI() && + tag_q_name.NamespaceURI() != g_star_atom) { + // Namespace mismatch. + return false; + } + if (element->localName() == tag_q_name.LocalName()) { + return true; + } + if (!element->IsHTMLElement() && + IsA<HTMLDocument>(element->GetDocument())) { + // If we have a non-HTML element in a HTML document, we need to + // also check case-insensitively (see MatchesTagName()). Ideally, + // we'd like to not have to handle this case in easy selector matching, + // but it turns out to be hard to reliably check that a tag in a + // descendant selector doesn't hit this issue (the subject element + // could be checked once, outside EasySelectorChecker). + return element->TagQName().LocalNameUpper() == + tag_q_name.LocalNameUpper(); + } else { + return false; + } } case CSSSelector::kClass: return element->HasClass() && @@ -158,7 +177,7 @@ element.SynchronizeAttribute(attr.LocalName()); AttributeCollection attributes = element.AttributesWithoutUpdate(); for (const auto& attribute_item : attributes) { - if (attribute_item.Matches(attr)) { + if (AttributeItemHasName(attribute_item, element, attr)) { return true; } } @@ -171,13 +190,24 @@ element.SynchronizeAttribute(attr.LocalName()); AttributeCollection attributes = element.AttributesWithoutUpdate(); for (const auto& attribute_item : attributes) { - if (attribute_item.Matches(attr)) { + if (AttributeItemHasName(attribute_item, element, attr)) { return attribute_item.Value() == value; } } return false; } +bool EasySelectorChecker::AttributeItemHasName(const Attribute& attribute_item, + const Element& element, + const QualifiedName& name) { + // See MatchesTagName() and the comment in MatchOne() for information + // on the extra check on IsHTMLElement() etc.. + return attribute_item.Matches(name) || + (!element.IsHTMLElement() && + IsA<HTMLDocument>(element.GetDocument()) && + attribute_item.MatchesCaseInsensitive(name)); +} + } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_CORE_CSS_SELECTOR_CHECKER_INL_H_
diff --git a/third_party/blink/renderer/core/css/selector_checker.h b/third_party/blink/renderer/core/css/selector_checker.h index 8675d14..b0606013 100644 --- a/third_party/blink/renderer/core/css/selector_checker.h +++ b/third_party/blink/renderer/core/css/selector_checker.h
@@ -379,6 +379,10 @@ static ALWAYS_INLINE bool AttributeMatches(const Element& element, const QualifiedName& attr, const AtomicString& value); + static ALWAYS_INLINE bool AttributeItemHasName( + const Attribute& attribute_item, + const Element& element, + const QualifiedName& name); }; } // namespace blink
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc index 01de411..0d7aaeb5 100644 --- a/third_party/blink/renderer/core/dom/element.cc +++ b/third_party/blink/renderer/core/dom/element.cc
@@ -7019,10 +7019,12 @@ first_line_inherited_request.pseudo_id = IsPseudoElement() ? To<PseudoElement>(this)->GetPseudoId() : kPseudoIdNone; + StyleRecalcContext local_recalc_context(style_recalc_context); + local_recalc_context.old_style = PostStyleUpdateScope::GetOldStyle(*this); Element* target = IsPseudoElement() ? parentElement() : this; scoped_refptr<const ComputedStyle> result = GetDocument().GetStyleResolver().ResolveStyle( - target, style_recalc_context, first_line_inherited_request); + target, local_recalc_context, first_line_inherited_request); if (result) { ComputedStyleBuilder builder(*result); builder.SetStyleType(kPseudoIdFirstLineInherited);
diff --git a/third_party/blink/renderer/core/editing/commands/editing_command_filter.cc b/third_party/blink/renderer/core/editing/commands/editing_command_filter.cc index ea930e7..c54396c 100644 --- a/third_party/blink/renderer/core/editing/commands/editing_command_filter.cc +++ b/third_party/blink/renderer/core/editing/commands/editing_command_filter.cc
@@ -11,9 +11,9 @@ bool IsCommandFilteredOut(const String& command_name) { #if BUILDFLAG(IS_ANDROID) - bool extended_commands_enabled = base::FeatureList::IsEnabled( - blink::features::kAndroidExtendedEditingCommands); - if (!extended_commands_enabled) { + bool extended_shortcuts_enabled = base::FeatureList::IsEnabled( + blink::features::kAndroidExtendedKeyboardShortcuts); + if (!extended_shortcuts_enabled) { if (command_name == "DeleteToBeginningOfLine") { return true; }
diff --git a/third_party/blink/renderer/core/editing/editing_style.cc b/third_party/blink/renderer/core/editing/editing_style.cc index a969b3a..aff3716 100644 --- a/third_party/blink/renderer/core/editing/editing_style.cc +++ b/third_party/blink/renderer/core/editing/editing_style.cc
@@ -1716,11 +1716,16 @@ ExtractTextStyles(document, mutable_style, computed_style->IsMonospaceFont()); - // Changing the whitespace style in a tab span would collapse the tab into a - // space. - if (IsTabHTMLSpanElementTextNode(position.AnchorNode()) || - IsTabHTMLSpanElement((position.AnchorNode()))) - mutable_style->RemoveProperty(CSSPropertyID::kWhiteSpace); + // Disables this use of `white-space` as this doesn't look effective any more. + // See crbug.com/1417543 and crrev.com/c/4289333. + if (!RuntimeEnabledFeatures::EditingStyleWhiteSpaceEnabled()) { + // Changing the whitespace style in a tab span would collapse the tab into a + // space. + if (IsTabHTMLSpanElementTextNode(position.AnchorNode()) || + IsTabHTMLSpanElement((position.AnchorNode()))) { + mutable_style->RemoveProperty(CSSPropertyID::kWhiteSpace); + } + } // If unicode-bidi is present in mutableStyle and direction is not, then add // direction to mutableStyle.
diff --git a/third_party/blink/renderer/core/frame/frame.cc b/third_party/blink/renderer/core/frame/frame.cc index b211523..22bf66c 100644 --- a/third_party/blink/renderer/core/frame/frame.cc +++ b/third_party/blink/renderer/core/frame/frame.cc
@@ -342,17 +342,6 @@ HTMLObjectElement::ErrorEventPolicy::kDispatch); } -void Frame::RenderFallbackContentWithResourceTiming( - mojom::blink::ResourceTimingInfoPtr timing, - const String& server_timing_value) { - auto* local_dom_window = To<LocalDOMWindow>(Parent()->DomWindow()); - DOMWindowPerformance::performance(*local_dom_window) - ->AddResourceTimingWithUnparsedServerTiming( - std::move(timing), server_timing_value, - html_names::kObjectTag.LocalName()); - RenderFallbackContent(); -} - bool Frame::IsInFencedFrameTree() const { DCHECK(!IsDetached()); if (!features::IsFencedFramesEnabled())
diff --git a/third_party/blink/renderer/core/frame/frame.h b/third_party/blink/renderer/core/frame/frame.h index df85fa1..5cfb8cd 100644 --- a/third_party/blink/renderer/core/frame/frame.h +++ b/third_party/blink/renderer/core/frame/frame.h
@@ -481,9 +481,6 @@ void ClearUserActivationInFrameTree(); void RenderFallbackContent(); - void RenderFallbackContentWithResourceTiming( - mojom::blink::ResourceTimingInfoPtr timing, - const String& server_timing_values); // Only implemented for LocalFrames. virtual void ActivateHistoryUserActivationState() {}
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc index 919ac436..ee2dfd3 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -229,28 +229,6 @@ namespace { -const AtomicString& ConvertElementTypeToInitiatorType( - blink::FrameOwnerElementType frame_owner_elem_type) { - switch (frame_owner_elem_type) { - case blink::FrameOwnerElementType::kFrame: - return blink::html_names::kFrameTag.LocalName(); - case blink::FrameOwnerElementType::kIframe: - return blink::html_names::kIFrameTag.LocalName(); - case blink::FrameOwnerElementType::kObject: - return blink::html_names::kObjectTag.LocalName(); - case blink::FrameOwnerElementType::kFencedframe: - return blink::html_names::kFencedframeTag.LocalName(); - case blink::FrameOwnerElementType::kEmbed: - return blink::html_names::kEmbedTag.LocalName(); - case blink::FrameOwnerElementType::kPortal: - return blink::html_names::kPortalTag.LocalName(); - case blink::FrameOwnerElementType::kNone: - NOTREACHED(); - } - NOTREACHED(); - return blink::html_names::kFrameTag.LocalName(); -} - // Maintain a global (statically-allocated) hash map indexed by the the result // of hashing the |frame_token| passed on creation of a LocalFrame object. using LocalFramesByTokenMap = HeapHashMap<uint64_t, WeakMember<LocalFrame>>; @@ -749,15 +727,6 @@ return local_root.clip_path_paint_image_generator_.Get(); } -void LocalFrame::AddResourceTimingEntryFromNonNavigatedFrame( - mojom::blink::ResourceTimingInfoPtr timing, - blink::FrameOwnerElementType initiator_type) { - auto* local_dom_window = DomWindow(); - DOMWindowPerformance::performance(*local_dom_window) - ->AddResourceTiming(std::move(timing), - ConvertElementTypeToInitiatorType(initiator_type)); -} - const SecurityContext* LocalFrame::GetSecurityContext() const { return DomWindow() ? &DomWindow()->GetSecurityContext() : nullptr; }
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h index ff71639..771be95 100644 --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h
@@ -293,10 +293,6 @@ BoxShadowPaintImageGenerator* GetBoxShadowPaintImageGenerator(); ClipPathPaintImageGenerator* GetClipPathPaintImageGenerator(); - void AddResourceTimingEntryFromNonNavigatedFrame( - mojom::blink::ResourceTimingInfoPtr timing, - blink::FrameOwnerElementType initiator_type); - // A local root is the root of a connected subtree that contains only // LocalFrames. The local root is responsible for coordinating input, layout, // et cetera for that subtree of frames.
diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h index 553afb5..2e876bb 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client.h +++ b/third_party/blink/renderer/core/frame/local_frame_client.h
@@ -187,7 +187,8 @@ const LocalFrameToken* initiator_frame_token, std::unique_ptr<SourceLocation> source_location, mojo::PendingRemote<mojom::blink::PolicyContainerHostKeepAliveHandle> - initiator_policy_container_handle) = 0; + initiator_policy_container_handle, + bool is_container_initiated) = 0; virtual void DispatchWillSendSubmitEvent(HTMLFormElement*) = 0;
diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc index c4a59332..3e43e9d7 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc +++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
@@ -526,7 +526,8 @@ const LocalFrameToken* initiator_frame_token, std::unique_ptr<SourceLocation> source_location, mojo::PendingRemote<mojom::blink::PolicyContainerHostKeepAliveHandle> - initiator_policy_container_keep_alive_handle) { + initiator_policy_container_keep_alive_handle, + bool is_container_initiated) { if (!web_frame_->Client()) return; @@ -685,6 +686,7 @@ .GetSandboxFlags(); navigation_info->href_translate = href_translate; + navigation_info->is_container_initiated = is_container_initiated; web_frame_->Client()->BeginNavigation(std::move(navigation_info)); }
diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.h b/third_party/blink/renderer/core/frame/local_frame_client_impl.h index 5d2c642..fc56200 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client_impl.h +++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.h
@@ -138,7 +138,8 @@ const LocalFrameToken* initiator_frame_token, std::unique_ptr<SourceLocation> source_location, mojo::PendingRemote<mojom::blink::PolicyContainerHostKeepAliveHandle> - initiator_policy_container_keep_alive_handle) override; + initiator_policy_container_keep_alive_handle, + bool is_container_initiated) override; void DispatchWillSendSubmitEvent(HTMLFormElement*) override; void DidStartLoading() override; void DidStopLoading() override;
diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc index 238edb9c5..fe43461 100644 --- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc +++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
@@ -10,6 +10,8 @@ #include "build/build_config.h" #include "components/power_scheduler/power_mode.h" #include "components/power_scheduler/power_mode_arbiter.h" +#include "services/network/public/cpp/url_loader_completion_status.h" +#include "services/network/public/mojom/url_response_head.mojom.h" #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h" #include "third_party/blink/public/common/browser_interface_broker_proxy.h" #include "third_party/blink/public/common/chrome_debug_urls.h" @@ -67,6 +69,7 @@ #include "third_party/blink/renderer/core/script/classic_script.h" #include "third_party/blink/renderer/core/timing/dom_window_performance.h" #include "third_party/blink/renderer/core/view_transition/view_transition_supplement.h" +#include "third_party/blink/renderer/platform/loader/fetch/resource_timing_utils.h" #include "third_party/blink/renderer/platform/widget/frame_widget.h" #if BUILDFLAG(IS_MAC) @@ -667,20 +670,6 @@ frame_->RenderFallbackContent(); } -void LocalFrameMojoHandler::RenderFallbackContentWithResourceTiming( - mojom::blink::ResourceTimingInfoPtr timing, - const String& server_timing_value) { - frame_->RenderFallbackContentWithResourceTiming(std::move(timing), - server_timing_value); -} - -void LocalFrameMojoHandler::AddResourceTimingEntryFromNonNavigatedFrame( - mojom::blink::ResourceTimingInfoPtr timing, - blink::FrameOwnerElementType parent_frame_owner_element_type) { - frame_->AddResourceTimingEntryFromNonNavigatedFrame( - std::move(timing), parent_frame_owner_element_type); -} - void LocalFrameMojoHandler::BeforeUnload(bool is_reload, BeforeUnloadCallback callback) { base::TimeTicks before_unload_start_time = base::TimeTicks::Now(); @@ -1356,6 +1345,51 @@ BeforeUnload(is_reload, std::move(callback)); } +void LocalFrameMojoHandler::AddResourceTimingEntryForFailedSubframeNavigation( + const FrameToken& subframe_token, + const KURL& initial_url, + base::TimeTicks start_time, + base::TimeTicks redirect_time, + base::TimeTicks request_start, + base::TimeTicks response_start, + uint32_t response_code, + const WTF::String& mime_type, + network::mojom::blink::LoadTimingInfoPtr load_timing_info, + net::HttpResponseInfo::ConnectionInfo connection_info, + const WTF::String& alpn_negotiated_protocol, + bool is_secure_transport, + bool is_validated, + const WTF::String& normalized_server_timing, + const network::URLLoaderCompletionStatus& completion_status) { + Frame* subframe = Frame::ResolveFrame(subframe_token); + if (!subframe || !subframe->Owner()) { + return; + } + + ResourceResponse response; + response.SetAlpnNegotiatedProtocol(AtomicString(alpn_negotiated_protocol)); + response.SetConnectionInfo(connection_info); + response.SetConnectionReused(load_timing_info->socket_reused); + response.SetTimingAllowPassed(true); + response.SetIsValidated(is_validated); + response.SetDecodedBodyLength(completion_status.decoded_body_length); + response.SetEncodedBodyLength(completion_status.encoded_body_length); + response.SetEncodedDataLength(completion_status.encoded_data_length); + response.SetHttpStatusCode(response_code); + if (!normalized_server_timing.empty()) { + response.SetHttpHeaderField("Server-Timing", + AtomicString(normalized_server_timing)); + } + + mojom::blink::ResourceTimingInfoPtr info = + CreateResourceTimingInfo(start_time, initial_url, &response); + info->response_end = completion_status.completion_time; + info->last_redirect_end_time = redirect_time; + info->is_secure_transport = is_secure_transport; + info->timing = std::move(load_timing_info); + subframe->Owner()->AddResourceTiming(std::move(info)); +} + void LocalFrameMojoHandler::RequestFullscreenVideoElement() { // Find the first video element of the frame. for (auto* child = frame_->GetDocument()->documentElement(); child;
diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h index 9e4185a5..a31557c9 100644 --- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h +++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h
@@ -19,6 +19,7 @@ #include "third_party/blink/renderer/platform/mojo/heap_mojo_associated_remote.h" #include "third_party/blink/renderer/platform/mojo/heap_mojo_receiver.h" #include "third_party/blink/renderer/platform/mojo/heap_mojo_remote.h" +#include "third_party/blink/renderer/platform/weborigin/kurl.h" #if BUILDFLAG(IS_MAC) #include "third_party/blink/public/mojom/input/text_input_host.mojom-blink.h" @@ -118,12 +119,6 @@ void SaveImageAt(const gfx::Point& window_point) final; void ReportBlinkFeatureUsage(const Vector<mojom::blink::WebFeature>&) final; void RenderFallbackContent() final; - void RenderFallbackContentWithResourceTiming( - mojom::blink::ResourceTimingInfoPtr timing, - const String& server_timing_values) final; - void AddResourceTimingEntryFromNonNavigatedFrame( - mojom::blink::ResourceTimingInfoPtr timing, - blink::FrameOwnerElementType parent_frame_owner_element_type) final; void BeforeUnload(bool is_reload, BeforeUnloadCallback callback) final; void MediaPlayerActionAt( const gfx::Point& window_point, @@ -207,6 +202,23 @@ void SnapshotDocumentForViewTransition( SnapshotDocumentForViewTransitionCallback callback) final; + void AddResourceTimingEntryForFailedSubframeNavigation( + const FrameToken& subframe_token, + const KURL& initial_url, + base::TimeTicks start_time, + base::TimeTicks redirect_time, + base::TimeTicks request_start, + base::TimeTicks response_start, + uint32_t response_code, + const WTF::String& mime_type, + network::mojom::blink::LoadTimingInfoPtr load_timing_info, + net::HttpResponseInfo::ConnectionInfo connection_info, + const WTF::String& alpn_negotiated_protocol, + bool is_secure_transport, + bool is_validated, + const WTF::String& normalized_server_timing, + const ::network::URLLoaderCompletionStatus& completion_status) final; + // blink::mojom::LocalMainFrame overrides: void AnimateDoubleTapZoom(const gfx::Point& point, const gfx::Rect& rect) override;
diff --git a/third_party/blink/renderer/core/frame/remote_frame.cc b/third_party/blink/renderer/core/frame/remote_frame.cc index a5c5ed7..b8546a7a 100644 --- a/third_party/blink/renderer/core/frame/remote_frame.cc +++ b/third_party/blink/renderer/core/frame/remote_frame.cc
@@ -304,6 +304,7 @@ GetNavigationInitiatorActivationAndAdStatus(request.HasUserGesture(), is_ad_script_in_stack); + params->is_container_initiated = frame_request.IsContainerInitiated(); GetRemoteFrameHostRemote().OpenURL(std::move(params)); } @@ -409,25 +410,11 @@ Frame::RenderFallbackContent(); } -void RemoteFrame::RenderFallbackContentWithResourceTiming( - mojom::blink::ResourceTimingInfoPtr timing, - const String& server_timing_value) { - Frame::RenderFallbackContentWithResourceTiming(std::move(timing), - server_timing_value); -} - void RemoteFrame::AddResourceTimingFromChild( mojom::blink::ResourceTimingInfoPtr timing) { HTMLFrameOwnerElement* owner_element = To<HTMLFrameOwnerElement>(Owner()); DCHECK(owner_element); - - if (!owner_element->HasPendingFallbackTimingInfo()) { - return; - } - - DOMWindowPerformance::performance(*owner_element->GetDocument().domWindow()) - ->AddResourceTiming(std::move(timing), owner_element->localName()); - owner_element->DidReportResourceTiming(); + owner_element->AddResourceTiming(std::move(timing)); } void RemoteFrame::DidStartLoading() {
diff --git a/third_party/blink/renderer/core/frame/remote_frame.h b/third_party/blink/renderer/core/frame/remote_frame.h index 6c1aaec..eedd7f6 100644 --- a/third_party/blink/renderer/core/frame/remote_frame.h +++ b/third_party/blink/renderer/core/frame/remote_frame.h
@@ -182,9 +182,6 @@ const base::UnguessableToken& embedding_token) override; void SetPageFocus(bool is_focused) override; void RenderFallbackContent() override; - void RenderFallbackContentWithResourceTiming( - mojom::blink::ResourceTimingInfoPtr timing, - const String& server_timing_values) final; void ScrollRectToVisible( const gfx::RectF& rect_to_scroll, mojom::blink::ScrollIntoViewParamsPtr params) override;
diff --git a/third_party/blink/renderer/core/html/html_frame_element_base.cc b/third_party/blink/renderer/core/html/html_frame_element_base.cc index d8df68e..ca9855c 100644 --- a/third_party/blink/renderer/core/html/html_frame_element_base.cc +++ b/third_party/blink/renderer/core/html/html_frame_element_base.cc
@@ -93,7 +93,6 @@ KURL url = GetDocument().CompleteURL(url_); - WillPerformContainerInitiatedNavigation(url); // There is no (easy) way to tell if |url_| is relative at this point. That // is determined in the KURL constructor. If we fail to create an absolute // URL at this point, *and* the base URL is a data URL, assume |url_| was
diff --git a/third_party/blink/renderer/core/html/html_frame_owner_element.cc b/third_party/blink/renderer/core/html/html_frame_owner_element.cc index 0edf7c8..3f5cdaf 100644 --- a/third_party/blink/renderer/core/html/html_frame_owner_element.cc +++ b/third_party/blink/renderer/core/html/html_frame_owner_element.cc
@@ -482,7 +482,7 @@ void HTMLFrameOwnerElement::AddResourceTiming( mojom::blink::ResourceTimingInfoPtr info) { // Resource timing info should only be reported if the subframe is attached. - DCHECK(ContentFrame() && ContentFrame()->IsLocalFrame()); + DCHECK(ContentFrame()); // Make sure we don't double-report, e.g. in the case of restored iframes. if (!HasPendingFallbackTimingInfo()) { @@ -512,17 +512,6 @@ fallback_timing_info_.reset(); } -void HTMLFrameOwnerElement::WillPerformContainerInitiatedNavigation( - const KURL& url) { - if (!url.ProtocolIsInHTTPFamily() && - !url.ProtocolIs(url::kUuidInPackageScheme)) { - return; - } - - fallback_timing_info_ = CreateResourceTimingInfo(base::TimeTicks::Now(), url, - /*response=*/nullptr); -} - // This will report fallback timing only if the "real" resource timing had not // been previously reported: e.g. a cross-origin iframe without TAO. void HTMLFrameOwnerElement::ReportFallbackResourceTimingIfNeeded() { @@ -704,6 +693,15 @@ bool replace_current_item) { TRACE_EVENT0("navigation", "HTMLFrameOwnerElement::LoadOrRedirectSubframe"); + // If the subframe navigation is aborted or TAO fails, we report a "fallback" + // entry that starts at navigation and ends at load/error event. + if (url.ProtocolIsInHTTPFamily() || + url.ProtocolIs(url::kUuidInPackageScheme)) { + fallback_timing_info_ = + CreateResourceTimingInfo(base::TimeTicks::Now(), url, + /*response=*/nullptr); + } + // Update the |should_lazy_load_children_| value according to the "loading" // attribute immediately, so that it still gets respected even if the "src" // attribute gets parsed in ParseAttribute() before the "loading" attribute @@ -730,6 +728,7 @@ if (ContentFrame()) { FrameLoadRequest frame_load_request(GetDocument().domWindow(), request); + frame_load_request.SetIsContainerInitiated(true); frame_load_request.SetClientRedirectReason( ClientNavigationReason::kFrameNavigation); WebFrameLoadType frame_load_type = WebFrameLoadType::kStandard; @@ -790,6 +789,7 @@ } FrameLoadRequest frame_load_request(GetDocument().domWindow(), request); + frame_load_request.SetIsContainerInitiated(true); child_frame->Loader().StartNavigation(frame_load_request, child_load_type); return true;
diff --git a/third_party/blink/renderer/core/html/html_frame_owner_element.h b/third_party/blink/renderer/core/html/html_frame_owner_element.h index ca27f17..55d4d6f5 100644 --- a/third_party/blink/renderer/core/html/html_frame_owner_element.h +++ b/third_party/blink/renderer/core/html/html_frame_owner_element.h
@@ -124,8 +124,6 @@ void DidReportResourceTiming(); bool HasPendingFallbackTimingInfo() const; - void WillPerformContainerInitiatedNavigation(const KURL&); - // For unit tests, manually trigger the UpdateContainerPolicy method. void UpdateContainerPolicyForTests() { UpdateContainerPolicy(); } @@ -191,6 +189,7 @@ // based on the frame attributes. virtual network::mojom::blink::TrustTokenParamsPtr ConstructTrustTokenParams() const; + void ReportFallbackResourceTimingIfNeeded(); protected: bool is_swapping_frames() const { return is_swapping_frames_; } @@ -237,7 +236,6 @@ bool is_loading_attr_lazy, AutomaticLazyLoadReason auto_lazy_load_reason); - void ReportFallbackResourceTimingIfNeeded(); // Check if the frame should be lazy-loaded and apply when conditions are // passed. Return true when lazy-load is applied. bool LazyLoadIfPossible(const KURL&,
diff --git a/third_party/blink/renderer/core/html/html_plugin_element.cc b/third_party/blink/renderer/core/html/html_plugin_element.cc index 9072e8b..111fdc2 100644 --- a/third_party/blink/renderer/core/html/html_plugin_element.cc +++ b/third_party/blink/renderer/core/html/html_plugin_element.cc
@@ -631,8 +631,6 @@ DCHECK(OwnedEmbeddedContentView()); } - WillPerformContainerInitiatedNavigation(completed_url); - // If the plugin element already contains a subframe, // loadOrRedirectSubframe will re-use it. Otherwise, it will create a // new frame and set it as the LayoutEmbeddedContent's EmbeddedContentView, @@ -710,6 +708,7 @@ } void HTMLPlugInElement::DispatchErrorEvent() { + ReportFallbackResourceTimingIfNeeded(); if (IsA<PluginDocument>(GetDocument()) && GetDocument().LocalOwner()) { GetDocument().LocalOwner()->DispatchEvent( *Event::Create(event_type_names::kError));
diff --git a/third_party/blink/renderer/core/input/keyboard_event_manager.cc b/third_party/blink/renderer/core/input/keyboard_event_manager.cc index d335fa8..03f491a0 100644 --- a/third_party/blink/renderer/core/input/keyboard_event_manager.cc +++ b/third_party/blink/renderer/core/input/keyboard_event_manager.cc
@@ -25,6 +25,7 @@ #include "third_party/blink/renderer/core/html/html_dialog_element.h" #include "third_party/blink/renderer/core/input/event_handling_util.h" #include "third_party/blink/renderer/core/input/input_device_capabilities.h" +#include "third_party/blink/renderer/core/input/keyboard_shortcut_recorder.h" #include "third_party/blink/renderer/core/input/scroll_manager.h" #include "third_party/blink/renderer/core/page/focus_controller.h" #include "third_party/blink/renderer/core/page/focusgroup_controller.h" @@ -87,6 +88,17 @@ return false; } +#if BUILDFLAG(IS_ANDROID) + switch (key_code) { + case VKEY_PRIOR: + RecordKeyboardShortcutForAndroid(KeyboardShortcut::kPageUp); + break; + case VKEY_NEXT: + RecordKeyboardShortcutForAndroid(KeyboardShortcut::kPageDown); + break; + } +#endif + switch (key_code) { case VKEY_LEFT: *scroll_direction =
diff --git a/third_party/blink/renderer/core/input/keyboard_shortcut_recorder.h b/third_party/blink/renderer/core/input/keyboard_shortcut_recorder.h index 76f1a89..b295398 100644 --- a/third_party/blink/renderer/core/input/keyboard_shortcut_recorder.h +++ b/third_party/blink/renderer/core/input/keyboard_shortcut_recorder.h
@@ -18,7 +18,9 @@ kZoomOut = 1, kZoomReset = 2, kDeleteLine = 3, - kMaxValue = kDeleteLine, + kPageUp = 4, + kPageDown = 5, + kMaxValue = kPageDown, }; #if BUILDFLAG(IS_ANDROID)
diff --git a/third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.cc b/third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.cc index 251ea125..8549790 100644 --- a/third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.cc +++ b/third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.cc
@@ -1644,28 +1644,41 @@ last_set_worked_on_ = state.ColumnSet(); } +LayoutPoint LayoutMultiColumnFlowThread::Location() const { + NOT_DESTROYED(); + if (RuntimeEnabledFeatures::LayoutNGNoCopyBackEnabled() && + !HasValidCachedGeometry() && EverHadLayout()) { + // const_cast in order to update the cached value. + const_cast<LayoutMultiColumnFlowThread*>(this)->UpdateGeometry(); + } + return frame_location_; +} + LayoutSize LayoutMultiColumnFlowThread::Size() const { NOT_DESTROYED(); if (RuntimeEnabledFeatures::LayoutNGNoCopyBackEnabled() && !HasValidCachedGeometry() && EverHadLayout()) { // const_cast in order to update the cached value. - auto* mutable_this = const_cast<LayoutMultiColumnFlowThread*>(this); - mutable_this->SetHasValidCachedGeometry(true); - mutable_this->frame_size_ = ComputeSize(); + const_cast<LayoutMultiColumnFlowThread*>(this)->UpdateGeometry(); } return frame_size_; } -LayoutSize LayoutMultiColumnFlowThread::ComputeSize() const { +void LayoutMultiColumnFlowThread::UpdateGeometry() { + NOT_DESTROYED(); DCHECK(RuntimeEnabledFeatures::LayoutNGNoCopyBackEnabled()); + SetHasValidCachedGeometry(true); + frame_location_ = LayoutPoint(); LogicalSize thread_size; const LayoutBlockFlow* container = MultiColumnBlockFlow(); if (container->PhysicalFragmentCount() == 0u) { - return LayoutSize(); + frame_size_ = LayoutSize(); + return; } const auto* first_fragment = container->GetPhysicalFragment(0); WritingModeConverter converter(first_fragment->Style().GetWritingDirection()); bool has_processed_first_column_in_flow_thread = false; + const NGBlockBreakToken* break_token = nullptr; for (const auto& container_fragment : container->PhysicalFragments()) { for (const auto& link : container_fragment.Children()) { const auto& child_fragment = To<NGPhysicalBoxFragment>(*link); @@ -1675,17 +1688,22 @@ LogicalSize logical_size = FragmentainerLogicalCapacity(child_fragment); thread_size.block_size += logical_size.block_size; if (!has_processed_first_column_in_flow_thread) { + // The offset of the flow thread is the same as that of the first + // column. + frame_location_ = LayoutBoxUtils::ComputeLocation( + child_fragment, link.Offset(), container_fragment, break_token); + thread_size.inline_size = logical_size.inline_size; has_processed_first_column_in_flow_thread = true; } } - const auto* break_token = container_fragment.BreakToken(); + break_token = container_fragment.BreakToken(); if (!break_token || break_token->IsRepeated() || break_token->IsAtBlockEnd()) { break; } } - return converter.ToPhysical(thread_size).ToLayoutSize(); + frame_size_ = converter.ToPhysical(thread_size).ToLayoutSize(); } } // namespace blink
diff --git a/third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.h b/third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.h index cdf2e09..270db12 100644 --- a/third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.h +++ b/third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.h
@@ -336,6 +336,7 @@ // "public" for |MakeGarbageCollected<T>|. explicit LayoutMultiColumnFlowThread(bool needs_paint_layer); + LayoutPoint Location() const override; LayoutSize Size() const override; private: @@ -376,7 +377,7 @@ bool CanSkipLayout(const LayoutBox&) const final; MultiColumnLayoutState GetMultiColumnLayoutState() const final; void RestoreMultiColumnLayoutState(const MultiColumnLayoutState&) final; - LayoutSize ComputeSize() const; + void UpdateGeometry(); // The last set we worked on. It's not to be used as the "current set". The // concept of a "current set" is difficult, since layout may jump back and
diff --git a/third_party/blink/renderer/core/layout/ng/ng_block_node.cc b/third_party/blink/renderer/core/layout/ng/ng_block_node.cc index 48a5981..9de9e51 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_block_node.cc +++ b/third_party/blink/renderer/core/layout/ng/ng_block_node.cc
@@ -527,7 +527,8 @@ // clamping the offset. PaintLayerScrollableArea::DelayScrollOffsetClampScope delay_clamp_scope; - FinishLayout(block_flow, constraint_space, break_token, layout_result); + FinishLayout(block_flow, constraint_space, break_token, layout_result, + box_->Size()); // We may be intrinsicly sized (shrink-to-fit), if our intrinsic logical // widths are now dirty, re-calculate our inline-size for comparison. @@ -569,6 +570,7 @@ // We need to clear any previous results when scrollbars change. For // example - we may have stored a "measure" layout result which will be // incorrect if we try and reuse it. + LayoutSize old_box_size = box_->Size(); params.previous_result = nullptr; box_->ClearLayoutResults(); @@ -589,7 +591,8 @@ fragment_geometry = CalculateInitialFragmentGeometry(constraint_space, *this, break_token); layout_result = LayoutWithAlgorithm(params); - FinishLayout(block_flow, constraint_space, break_token, layout_result); + FinishLayout(block_flow, constraint_space, break_token, layout_result, + old_box_size); #if DCHECK_IS_ON() scrollbar_changed->erase(box_); @@ -820,7 +823,8 @@ void NGBlockNode::FinishLayout(LayoutBlockFlow* block_flow, const NGConstraintSpace& constraint_space, const NGBlockBreakToken* break_token, - const NGLayoutResult* layout_result) const { + const NGLayoutResult* layout_result, + LayoutSize old_box_size) const { // Computing MinMax after layout. Do not modify the |LayoutObject| tree, paint // properties, and other global states. if (NGDisableSideEffectsScope::IsDisabled()) @@ -894,7 +898,6 @@ bool clear_trailing_results = break_token || box_->PhysicalFragmentCount() > 1; - const LayoutSize old_box_size = box_->Size(); StoreResultInLayoutBox(layout_result, break_token, clear_trailing_results); if (block_flow) { @@ -1560,26 +1563,21 @@ DCHECK(!child_box); LogicalSize logical_size = FragmentainerLogicalCapacity(child_fragment); - if (has_processed_first_column_in_flow_thread) { - // Non-uniform fragmentainer widths not supported by legacy layout. - if (!RuntimeEnabledFeatures::LayoutNGNoCopyBackEnabled()) { - DCHECK_EQ(flow_thread->LogicalWidth(), logical_size.inline_size); - } - } else { - // The offset of the flow thread is the same as that of the first column. - LayoutPoint point = LayoutBoxUtils::ComputeLocation( - child_fragment, child.offset, physical_fragment, - previous_container_break_token); - // TODO(crbug.com/1353190): SetLocation*() and SetLogicalWidth() should - // be removed. - flow_thread->SetLocationAndUpdateOverflowControlsIfNeeded(point); - if (!RuntimeEnabledFeatures::LayoutNGNoCopyBackEnabled()) { - flow_thread->SetLogicalWidth(logical_size.inline_size); - } - has_processed_first_column_in_flow_thread = true; - } - if (!RuntimeEnabledFeatures::LayoutNGNoCopyBackEnabled()) { + if (has_processed_first_column_in_flow_thread) { + // Non-uniform fragmentainer widths not supported by legacy layout. + DCHECK_EQ(flow_thread->LogicalWidth(), logical_size.inline_size); + } else { + // The offset of the flow thread is the same as that of the first + // column. + LayoutPoint point = LayoutBoxUtils::ComputeLocation( + child_fragment, child.offset, physical_fragment, + previous_container_break_token); + flow_thread->SetLocationAndUpdateOverflowControlsIfNeeded(point); + flow_thread->SetLogicalWidth(logical_size.inline_size); + has_processed_first_column_in_flow_thread = true; + } + if (pending_column_set) { // We're visiting this column set for the first time in this layout // pass. Set up what we can set up. That's everything except for the
diff --git a/third_party/blink/renderer/core/layout/ng/ng_block_node.h b/third_party/blink/renderer/core/layout/ng/ng_block_node.h index 37ad52c6..aa6880f3 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_block_node.h +++ b/third_party/blink/renderer/core/layout/ng/ng_block_node.h
@@ -275,7 +275,8 @@ void FinishLayout(LayoutBlockFlow*, const NGConstraintSpace&, const NGBlockBreakToken*, - const NGLayoutResult*) const; + const NGLayoutResult*, + LayoutSize old_box_size) const; // Update the layout results vector in LayoutBox with the new result. void StoreResultInLayoutBox(const NGLayoutResult*,
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc index 01c27839..a52bc9f 100644 --- a/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -289,7 +289,6 @@ CommitReason commit_reason; uint64_t main_resource_identifier; mojom::blink::ResourceTimingInfoPtr resource_timing_info_for_parent; - base::TimeTicks last_redirect_end_time; WebScopedVirtualTimePauser virtual_time_pauser; Member<PrefetchedSignedExchangeManager> prefetched_signed_exchange_manager; ukm::SourceId ukm_source_id; @@ -314,6 +313,7 @@ absl::optional<FencedFrame::RedactedFencedFrameProperties> fenced_frame_properties; bool has_storage_access; + mojom::blink::ParentResourceTimingAccess parent_resource_timing_access; }; // Asserts size of DocumentLoader, so that whenever a new attribute is added to @@ -533,6 +533,8 @@ document_policy_ = CreateDocumentPolicy(); WebNavigationTimings& timings = params_->navigation_timings; + parent_resource_timing_access_ = timings.parent_resource_timing_access; + if (!timings.input_start.is_null()) document_load_timing_.SetInputStart(timings.input_start); if (timings.navigation_start.is_null()) { @@ -1099,6 +1101,7 @@ const absl::optional<WebURLError>& error) { TRACE_EVENT0("loading", "DocumentLoader::BodyLoadingFinished"); + DCHECK(frame_); if (!error) { GetFrameLoader().Progress().CompleteProgress(main_resource_identifier_); probe::DidFinishLoading( @@ -1246,10 +1249,6 @@ probe::ToCoreProbeSink(GetFrame()), main_resource_identifier_, this, url_after_redirect, http_method_, http_body_.get()); - if (ResourceLoadTiming* timing = redirect_response.GetResourceLoadTiming()) { - redirect_end_time_ = timing->ReceiveHeadersEnd(); - } - DCHECK(!GetTiming().FetchStart().is_null()); GetTiming().AddRedirect(url_before_redirect, url_after_redirect); } @@ -2626,27 +2625,32 @@ if (response_.ShouldPopulateResourceTiming() || is_error_page_for_failed_navigation_) { - // We only report resource timing to the parent if: - // 1. We have a parent (owner) - // 2. Timing Allow Passed - otherwise we report fallback timing. - // 3. It's an external navigation (kWebNavigationTypeOther) - // TODO (crbug.com/1410705): Using navigation_type_ for this covers - // most cases but might still have very rare racy edge cases, such as - // extension or window.open with target cancelling an ongoing navigation - // and start a new navigation to the same URL. - if (frame_->Owner() && response_.TimingAllowPassed() && - navigation_type_ == WebNavigationType::kWebNavigationTypeOther) { - resource_timing_info_for_parent_ = CreateResourceTimingInfo( - GetTiming().NavigationStart(), original_url_, &response_); - if (!is_same_origin_initiator || - document_load_timing_.HasCrossOriginRedirect()) { - resource_timing_info_for_parent_->content_type = g_empty_string; - resource_timing_info_for_parent_->response_status = 0; + // We only report resource timing info to the parent if: + // 1. The navigation is container-initiated (e.g. iframe changed src) + // 2. TAO passed. + if (parent_resource_timing_access_ != + mojom::blink::ParentResourceTimingAccess::kDoNotReport && + response_.TimingAllowPassed()) { + ResourceResponse response_for_parent(response_); + if (parent_resource_timing_access_ == + mojom::blink::ParentResourceTimingAccess:: + kReportWithoutResponseDetails) { + response_for_parent.SetType(network::mojom::FetchResponseType::kOpaque); } + + DCHECK(frame_->Owner()); + DCHECK(GetRequestorOrigin()); + resource_timing_info_for_parent_ = CreateResourceTimingInfo( + GetTiming().NavigationStart(), original_url_, &response_for_parent); + resource_timing_info_for_parent_->last_redirect_end_time = - redirect_end_time_; + document_load_timing_.RedirectEnd(); } + // TimingAllowPassed only applies to resource + // timing reporting. Navigation timing is always same-origin with the + // document that holds to the timing entry, as navigation timing represents + // the timing of that document itself. response_.SetTimingAllowPassed(true); mojom::blink::ResourceTimingInfoPtr navigation_timing_info = CreateResourceTimingInfo(base::TimeTicks(), @@ -2654,8 +2658,9 @@ ? pre_redirect_url_for_failed_navigations_ : url_, &response_); - navigation_timing_info->last_redirect_end_time = redirect_end_time_; - DCHECK(frame_); + navigation_timing_info->last_redirect_end_time = + document_load_timing_.RedirectEnd(); + DCHECK(frame_->DomWindow()); DOMWindowPerformance::performance(*frame_->DomWindow()) ->CreateNavigationTimingInstance(std::move(navigation_timing_info));
diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h index b790d8d..11e3bce 100644 --- a/third_party/blink/renderer/core/loader/document_loader.h +++ b/third_party/blink/renderer/core/loader/document_loader.h
@@ -49,6 +49,8 @@ #include "third_party/blink/public/mojom/loader/content_security_notifier.mojom-blink.h" #include "third_party/blink/public/mojom/loader/mhtml_load_result.mojom-blink-forward.h" #include "third_party/blink/public/mojom/loader/same_document_navigation_type.mojom-blink.h" +#include "third_party/blink/public/mojom/navigation/navigation_params.mojom-blink-forward.h" +#include "third_party/blink/public/mojom/navigation/navigation_params.mojom-shared.h" #include "third_party/blink/public/mojom/page/page.mojom-blink-forward.h" #include "third_party/blink/public/mojom/page_state/page_state.mojom-blink.h" #include "third_party/blink/public/mojom/service_worker/controller_service_worker_mode.mojom-blink.h" @@ -758,7 +760,6 @@ CommitReason commit_reason_ = CommitReason::kRegular; uint64_t main_resource_identifier_ = 0; mojom::blink::ResourceTimingInfoPtr resource_timing_info_for_parent_; - base::TimeTicks redirect_end_time_; WebScopedVirtualTimePauser virtual_time_pauser_; Member<PrefetchedSignedExchangeManager> prefetched_signed_exchange_manager_; ukm::SourceId ukm_source_id_; @@ -822,6 +823,10 @@ // Indicates whether the document should be loaded with its has_storage_access // bit set. const bool has_storage_access_; + + // Only container-initiated navigations (e.g. iframe change src) report + // their resource timing to the parent. + mojom::blink::ParentResourceTimingAccess parent_resource_timing_access_; }; DECLARE_WEAK_IDENTIFIER_MAP(DocumentLoader);
diff --git a/third_party/blink/renderer/core/loader/empty_clients.cc b/third_party/blink/renderer/core/loader/empty_clients.cc index 1547749..3047062 100644 --- a/third_party/blink/renderer/core/loader/empty_clients.cc +++ b/third_party/blink/renderer/core/loader/empty_clients.cc
@@ -121,7 +121,8 @@ const absl::optional<Impression>&, const LocalFrameToken* initiator_frame_token, std::unique_ptr<SourceLocation>, - mojo::PendingRemote<mojom::blink::PolicyContainerHostKeepAliveHandle>) {} + mojo::PendingRemote<mojom::blink::PolicyContainerHostKeepAliveHandle>, + bool is_container_initiated) {} void EmptyLocalFrameClient::DispatchWillSendSubmitEvent(HTMLFormElement*) {}
diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h index 84e9886..9e34e80 100644 --- a/third_party/blink/renderer/core/loader/empty_clients.h +++ b/third_party/blink/renderer/core/loader/empty_clients.h
@@ -308,8 +308,8 @@ const absl::optional<Impression>&, const LocalFrameToken* initiator_frame_token, std::unique_ptr<SourceLocation>, - mojo::PendingRemote<mojom::blink::PolicyContainerHostKeepAliveHandle>) - override; + mojo::PendingRemote<mojom::blink::PolicyContainerHostKeepAliveHandle>, + bool is_container_initiated) override; void DispatchWillSendSubmitEvent(HTMLFormElement*) override;
diff --git a/third_party/blink/renderer/core/loader/frame_load_request.h b/third_party/blink/renderer/core/loader/frame_load_request.h index 5282d87..8d28e63 100644 --- a/third_party/blink/renderer/core/loader/frame_load_request.h +++ b/third_party/blink/renderer/core/loader/frame_load_request.h
@@ -84,6 +84,10 @@ return client_navigation_reason_; } + void SetIsContainerInitiated(bool value) { is_container_initiated_ = value; } + + bool IsContainerInitiated() const { return is_container_initiated_; } + NavigationPolicy GetNavigationPolicy() const { return navigation_policy_; } void SetNavigationPolicy(NavigationPolicy navigation_policy) { navigation_policy_ = navigation_policy; @@ -240,6 +244,10 @@ mojom::blink::ForceHistoryPush force_history_push_ = mojom::blink::ForceHistoryPush::kNo; + + // Only container-initiated navigations (e.g. iframe change src) report a + // resource timing entry to the parent. + bool is_container_initiated_ = false; }; } // namespace blink
diff --git a/third_party/blink/renderer/core/loader/frame_loader.cc b/third_party/blink/renderer/core/loader/frame_loader.cc index 8bad0fba..939b5977b 100644 --- a/third_party/blink/renderer/core/loader/frame_loader.cc +++ b/third_party/blink/renderer/core/loader/frame_loader.cc
@@ -852,7 +852,8 @@ request.GetInputStartTime(), request.HrefTranslate().GetString(), request.Impression(), request.GetInitiatorFrameToken(), request.TakeSourceLocation(), - request.TakeInitiatorPolicyContainerKeepAliveHandle()); + request.TakeInitiatorPolicyContainerKeepAliveHandle(), + request.IsContainerInitiated()); } static void FillStaticResponseIfNeeded(WebNavigationParams* params,
diff --git a/third_party/blink/renderer/core/timing/performance.cc b/third_party/blink/renderer/core/timing/performance.cc index f8cd29c..f5d79e56 100644 --- a/third_party/blink/renderer/core/timing/performance.cc +++ b/third_party/blink/renderer/core/timing/performance.cc
@@ -709,17 +709,6 @@ resource_timing_secondary_buffer_.push_back(entry); } -void Performance::AddResourceTimingWithUnparsedServerTiming( - mojom::blink::ResourceTimingInfoPtr info, - const String& server_timing_value, - const AtomicString& initiator_type) { - if (info->allow_timing_details) { - info->server_timing = - ParseServerTimingFromHeaderValueToMojo(server_timing_value); - } - AddResourceTiming(std::move(info), initiator_type); -} - // Called after loadEventEnd happens. void Performance::NotifyNavigationTimingToObservers() { if (navigation_timing_)
diff --git a/third_party/blink/renderer/core/timing/performance.h b/third_party/blink/renderer/core/timing/performance.h index 8909564f..4ab16f2 100644 --- a/third_party/blink/renderer/core/timing/performance.h +++ b/third_party/blink/renderer/core/timing/performance.h
@@ -200,11 +200,6 @@ void AddResourceTiming(mojom::blink::ResourceTimingInfoPtr, const AtomicString& initiator_type); - void AddResourceTimingWithUnparsedServerTiming( - mojom::blink::ResourceTimingInfoPtr, - const String& server_timing_value, - const AtomicString& initiator_type); - void NotifyNavigationTimingToObservers(); void AddFirstPaintTiming(base::TimeTicks start_time,
diff --git a/third_party/blink/renderer/modules/accessibility/ax_node_object.cc b/third_party/blink/renderer/modules/accessibility/ax_node_object.cc index dabb235..972d38c 100644 --- a/third_party/blink/renderer/modules/accessibility/ax_node_object.cc +++ b/third_party/blink/renderer/modules/accessibility/ax_node_object.cc
@@ -3177,9 +3177,18 @@ if (auto* select_menu = HTMLSelectMenuElement::OwnerSelectMenu(node)) { DCHECK(RuntimeEnabledFeatures::HTMLSelectMenuElementEnabled()); if (HTMLOptionElement* selected = select_menu->selectedOption()) { - if (selected->firstChild()) { - return selected->textContent(); - } + // TODO(accessibility) Because these <option> elements can contain + // anything, we need to create an AXObject for the selected option, and + // use ax_selected_option->ComputedName(). However, for now, the + // AXObject is not created because AXObject::IsRelevantSlotElement() + // returns false for the invisible slot parent. Also, strangely, + // selected->innerText()/GetInnerTextWithoutUpdate() are returning "". + // See the following content_browsertest: + // All/DumpAccessibilityTreeTest.AccessibilitySelectMenu/blink. + // TODO(crbug.com/1401767): DCHECK fails with synchronous serialization. + DCHECK(selected->firstChild()) + << "There is a selected option but it has no DOM children."; + return selected->textContent(); } return String(); }
diff --git a/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc b/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc index 9a8e056..c3b58733 100644 --- a/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc +++ b/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc
@@ -519,6 +519,12 @@ return true; } + if (const HTMLSlotElement* slot = + ToHTMLSlotElementIfSupportsAssignmentOrNull(node)) { + if (!AXObjectCacheImpl::IsRelevantSlotElement(*slot)) + return true; + } + // <optgroup> is irrelevant inside of a <select> menulist. if (auto* opt_group = DynamicTo<HTMLOptGroupElement>(node)) { if (auto* select = opt_group->OwnerSelectElement()) { @@ -1127,6 +1133,57 @@ } // static +bool AXObjectCacheImpl::IsRelevantSlotElement(const HTMLSlotElement& slot) { + // A <slot> descendant of a node that is still in the DOM but no longer + // rendered will return true for Node::isConnected() and false for + // AXObject::IsDetached(). But from the perspective of platform ATs, this + // subtree is not connected and is detached unless it is canvas fallback + // content. In order to detect this condition, we look to the first non-slot + // parent. If it has a layout object, the <slot>'s contents are rendered. + // If it doesn't, but it's in the canvas subtree, those contents should be + // treated as canvas fallback content. + // + // The alternative way to determine whether the <slot> is still relevant for + // rendering is to iterate FlatTreeTraversal::Parent until you get to the last + // parent, and see if it's a document. If it is not a document, then it is not + // relevant. This seems much slower than just checking GetLayoutObject() as it + // needs to iterate the parent chain. However, checking GetLayoutObject() + // could produce null in the case of something that is + // content-visibility:auto. This means that any slotted content inside + // content-visibility:auto may be removed from the AX tree depending on + // whether it was recently rendered. + // + // TODO(accessibility) This fails for the web test + // detach-locked-slot-children-crash.html with --force-renderer-accessibility. + // See web_tests/FlagExpectations/force-renderer-accessibility. + // There should be a better way to accomplish this. + // Could a new function be added to the slot element? + const Node* parent = LayoutTreeBuilderTraversal::Parent(slot); + if (const HTMLSlotElement* parent_slot = + ToHTMLSlotElementIfSupportsAssignmentOrNull(parent)) { + return AXObjectCacheImpl::IsRelevantSlotElement(*parent_slot); + } + + if (parent && parent->GetLayoutObject()) + return true; + + const Element* parent_element = DynamicTo<Element>(parent); + if (!parent_element) + return false; + + // Authors can include elements as "Fallback content" inside a <canvas> in + // order to provide an alternative means to interact with the canvas using + // a screen reader. Those should always be included. + if (parent_element->IsInCanvasSubtree()) + return true; + + // LayoutObject::CreateObject() will not create an object for elements + // with display:contents. If we do not include a <slot> for that reason, + // any descendants will be not be included in the accessibility tree. + return parent_element->HasDisplayContentsStyle(); +} + +// static bool AXObjectCacheImpl::IsRelevantPseudoElement(const Node& node) { DCHECK(node.IsPseudoElement()); if (!node.GetLayoutObject()) @@ -3615,6 +3672,18 @@ return nullptr; } + // A <slot> descendant of a node that is still in the DOM but no longer + // rendered will return true for Node::isConnected() and false for + // AXObject::IsDetached(). But from the perspective of platform ATs, this + // subtree is not connected and is detached. + // TODO(accessibility): The relevance check probably applies to all nodes + // not just slot elements. + if (const HTMLSlotElement* slot = + ToHTMLSlotElementIfSupportsAssignmentOrNull(obj->GetNode())) { + if (!AXObjectCacheImpl::IsRelevantSlotElement(*slot)) + return nullptr; + } + // Ensure still in tree. if (obj->IsMissingParent()) { // TODO(accessibility) Only needed because of <select> size changes.
diff --git a/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h b/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h index 9c2cb17..bd7f0c571 100644 --- a/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h +++ b/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h
@@ -423,6 +423,7 @@ static bool IsRelevantPseudoElement(const Node& node); static bool IsRelevantPseudoElementDescendant( const LayoutObject& layout_object); + static bool IsRelevantSlotElement(const HTMLSlotElement& slot); bool HasBeenDisposed() { return has_been_disposed_; }
diff --git a/third_party/blink/renderer/platform/bindings/parkable_string_manager.cc b/third_party/blink/renderer/platform/bindings/parkable_string_manager.cc index b07dc6e..b1be05bd 100644 --- a/third_party/blink/renderer/platform/bindings/parkable_string_manager.cc +++ b/third_party/blink/renderer/platform/bindings/parkable_string_manager.cc
@@ -412,8 +412,9 @@ return; base::TimeDelta delay = base::Seconds(kAgingIntervalInSeconds); - if (base::FeatureList::IsEnabled(features::kDelayFirstParkingOfStrings) && - !first_string_aging_was_delayed_) { + // Delay the first aging tick, since this renderer may be short-lived, we do + // not want to waste CPU time compressing memory that is going away soon. + if (!first_string_aging_was_delayed_) { delay = kFirstParkingDelay; first_string_aging_was_delayed_ = true; }
diff --git a/third_party/blink/renderer/platform/bindings/parkable_string_test.cc b/third_party/blink/renderer/platform/bindings/parkable_string_test.cc index 12adccd..29a5497 100644 --- a/third_party/blink/renderer/platform/bindings/parkable_string_test.cc +++ b/third_party/blink/renderer/platform/bindings/parkable_string_test.cc
@@ -90,8 +90,7 @@ EXPECT_GT(task_environment_.GetPendingMainThreadTaskCount(), 0u); } - if (base::FeatureList::IsEnabled(features::kDelayFirstParkingOfStrings) && - !first_aging_done_) { + if (!first_aging_done_) { task_environment_.FastForwardBy( ParkableStringManager::kFirstParkingDelay); first_aging_done_ = true; @@ -573,7 +572,6 @@ TEST_P(ParkableStringTest, DelayFirstParkingOfString) { base::test::ScopedFeatureList features; - features.InitAndEnableFeature(features::kDelayFirstParkingOfStrings); auto& manager = ParkableStringManager::Instance(); EXPECT_EQ(0u, manager.Size()); @@ -582,9 +580,7 @@ ParkableString parkable(MakeLargeString().Impl()); ASSERT_FALSE(parkable.Impl()->is_parked()); EXPECT_EQ(1u, manager.Size()); - - // When under the kDelayFirstParkingOfStrings experiment this is how long it - // will take for the first aging to happen. + // Should age after this point. task_environment_.FastForwardBy(ParkableStringManager::kFirstParkingDelay); // String is aged but not parked. @@ -1108,16 +1104,8 @@ EXPECT_EQ(ParkableStringImpl::Age::kYoung, parkable.Impl()->age_for_testing()); - // What would be a premature aging depends on |kDelayFirstParkingOfStrings|. - // Under the feature the regular aging interval is not enough. - if (base::FeatureList::IsEnabled(features::kDelayFirstParkingOfStrings)) { - task_environment_.FastForwardBy( - base::Seconds(ParkableStringManager::kAgingIntervalInSeconds)); - } else { - // Outside of the feature use half the regular aging interval. - task_environment_.FastForwardBy( - base::Seconds(ParkableStringManager::kAgingIntervalInSeconds / 2)); - } + task_environment_.FastForwardBy( + base::Seconds(ParkableStringManager::kAgingIntervalInSeconds)); // Since not enough time elapsed not aging was done. EXPECT_EQ(ParkableStringImpl::Age::kYoung,
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_timing_utils.cc b/third_party/blink/renderer/platform/loader/fetch/resource_timing_utils.cc index f06d6d7f..29ea11dd 100644 --- a/third_party/blink/renderer/platform/loader/fetch/resource_timing_utils.cc +++ b/third_party/blink/renderer/platform/loader/fetch/resource_timing_utils.cc
@@ -20,6 +20,8 @@ namespace blink { +namespace { + Vector<mojom::blink::ServerTimingInfoPtr> ParseServerTimingFromHeaderValueToMojo(const String& value) { std::unique_ptr<ServerTimingHeaderVector> headers = @@ -33,6 +35,8 @@ return result; } +} // namespace + mojom::blink::ResourceTimingInfoPtr CreateResourceTimingInfo( base::TimeTicks start_time, const KURL& initial_url, @@ -81,11 +85,11 @@ } } - bool passes_cors = response->IsCorsSameOrigin(); + bool allow_response_details = response->IsCorsSameOrigin(); info->content_type = g_empty_string; - if (passes_cors) { + if (allow_response_details) { info->response_status = response->HttpStatusCode(); if (!response->HttpContentType().IsNull()) { info->content_type = response->HttpContentType(); @@ -94,7 +98,7 @@ bool expose_body_sizes = RuntimeEnabledFeatures::ResourceTimingUseCORSForBodySizesEnabled() - ? passes_cors + ? allow_response_details : info->allow_timing_details; if (expose_body_sizes && response) {
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_timing_utils.h b/third_party/blink/renderer/platform/loader/fetch/resource_timing_utils.h index 51382262..bcae05dc 100644 --- a/third_party/blink/renderer/platform/loader/fetch/resource_timing_utils.h +++ b/third_party/blink/renderer/platform/loader/fetch/resource_timing_utils.h
@@ -17,9 +17,6 @@ class KURL; class ResourceResponse; -BLINK_PLATFORM_EXPORT WTF::Vector<mojom::blink::ServerTimingInfoPtr> -ParseServerTimingFromHeaderValueToMojo(const String& value); - BLINK_PLATFORM_EXPORT mojom::blink::ResourceTimingInfoPtr CreateResourceTimingInfo(base::TimeTicks start_time, const KURL& initial_url,
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 index 2a425c5a..1ebf49b 100644 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1054,7 +1054,7 @@ // `text-wrap: balance`. crbug.com/1251079 { name: "CSSTextWrap", - status: "test", + status: "experimental", }, // Support for CSS Toggles, https://tabatkins.github.io/css-toggle/ { @@ -1360,6 +1360,12 @@ status: "experimental", }, { + // Disables the `white-space` code in `edit_style.cc`. + // Part of crbug.com/1417543, see crrev.com/c/4289333. + name: "EditingStyleWhiteSpace", + status: "stable", + }, + { name: "ElementSuperRareData", status: "experimental", }, @@ -2725,7 +2731,7 @@ }, { name: "ResourceHintsLeastRestrictiveCSP", - status: "experimental", + status: "stable", base_feature: "none", }, {
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations index 5bff14a..6eea09e 100644 --- a/third_party/blink/web_tests/TestExpectations +++ b/third_party/blink/web_tests/TestExpectations
@@ -6893,18 +6893,3 @@ # Temporarily disabled to roll change of error message in V8. # TODO(crbug.com/v8/13743): Re-enable tests after V8 roll. crbug.com/v8/13743 fast/forms/ValidityState-patternMismatch.html [ Failure Pass ] - -# To land rename CL in devtools repo -crbug.com/1418045 http/tests/devtools/tracing/buffer-usage.js [ Crash Failure Pass Timeout ] -crbug.com/1418045 http/tests/devtools/report-protocol-errors.js [ Crash Failure Pass Timeout ] -crbug.com/1418045 http/tests/devtools/tracing/trace-event-self-time.js [ Crash Failure Pass Timeout ] -crbug.com/1418045 http/tests/devtools/oopif/oopif-elements-inspect.js [ Crash Failure Pass Timeout ] -crbug.com/1418045 http/tests/devtools/oopif/oopif-performance-monitor.js [ Crash Failure Pass Timeout ] -crbug.com/1418045 http/tests/devtools/tracing/timeline-js/cpu-profile-unsorted-timestamps.js [ Crash Failure Pass Timeout ] -crbug.com/1418045 http/tests/devtools/profiler/sampling-profiler-basic.js [ Crash Failure Pass Timeout ] -crbug.com/1418045 http/tests/devtools/sdk/network-interception-wildcard-pattern-matching.js [ Crash Failure Pass Timeout ] -crbug.com/1418045 http/tests/devtools/elements/event-listeners-framework-with-service-worker.js [ Crash Failure Pass Timeout ] -crbug.com/1418045 http/tests/devtools/service-workers/service-worker-agents.js [ Crash Failure Pass Timeout ] -crbug.com/1418045 http/tests/devtools/service-workers/service-worker-manager.js [ Crash Failure Pass Timeout ] -crbug.com/1418045 http/tests/devtools/persistence/persistence-sync-content-nodejs.js [ Crash Failure Pass Timeout ] -crbug.com/1418045 http/tests/devtools/application-panel/resources-panel-resource-preview.js [ Crash Failure Pass Timeout ]
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json index b9b1c83..5664b9f 100644 --- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json +++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
@@ -91882,6 +91882,19 @@ {} ] ], + "background-001.tentative.html": [ + "2084f4ad313ead2f0ae05288f7b83ef864383e37", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "balanced-inner-multicol.html": [ "78340661eda23a2607275e890433c4d99c2c1d3e", [ @@ -253673,7 +253686,7 @@ ] ], "popover-backdrop-appearance.html": [ - "c71e148644b0edb5064b46a01debb37945913818", + "cf57aee69e3d4fe332acc63873fa853b2555c813", [ null, [ @@ -265235,6 +265248,16 @@ } }, "support": { + ".cache": { + "gitignore2.json": [ + "b2acd03241b2376caf08637504914d34ff402bc8", + [] + ], + "mtime.json": [ + "4d0912fe7628b77c96ea98964ef18e2882323977", + [] + ] + }, ".gitignore": [ "d93e645d547894b50149d3726de2654957b6e06f", [] @@ -280110,6 +280133,10 @@ "17f22fdb1afb77cd211b0a6b669b8493a76c02ab", [] ], + "mix-blend-mode-parent-element-overflow-scroll-blended-position-fixed.html.ini": [ + "f0050373a67fdc02403e53651d0b98715e3f8ce5", + [] + ], "mix-blend-mode-parent-element-overflow-scroll.html.ini": [ "87eb5cbd4c689dd9e47bb0f622ab1d03d0a615bd", [] @@ -290114,6 +290141,10 @@ "e6c4898d5d3d28fa225e834674dfb768dbcf55d7", [] ], + "font-display-feature-policy-02.tentative.html.ini": [ + "bbb51cbf3802ba94a7cab2e3843616191cf80864", + [] + ], "font-display-preload-ref.html": [ "e3ba8caa32f13479896e82afcaab654a3785375f", [] @@ -320856,6 +320887,10 @@ "268cb3d48ba138d9f23501af4e028ac13e099d09", [] ], + "kind-of-widget-fallback-input-text-background-attachment-001.html.ini": [ + "9ecd2c542970cb9153bc6ab504e68d3e0b61d994", + [] + ], "kind-of-widget-fallback-input-text-background-origin-001.html.ini": [ "b5b8f0ea2c69a7494b89e5b208bfcc303baf20a1", [] @@ -321079,6 +321114,14 @@ "kind-of-widget-fallback-textarea-border-top-color-001.html.ini": [ "9af42e769df5911125cc0aca08424b5836c96aca", [] + ], + "kind-of-widget-fallback-textarea-border-top-left-radius-001.html.ini": [ + "7a5a285f8b66992ee7db59c4ddbaacb8a70e685d", + [] + ], + "kind-of-widget-fallback-textarea-border-top-width-001.html.ini": [ + "f7e8bfa755ee6b0da9a7d366848455598f3852dd", + [] ] }, "compute-kind-widget-no-fallback-props-001.html.ini": [ @@ -355286,7 +355329,7 @@ [] ], "select-event.html.ini": [ - "7ac279e52f4eacc5275677ac1604146157a45e77", + "4089304f9e349d4d4a79a999342e2751e5d30a07", [] ] }, @@ -356186,7 +356229,7 @@ [] ], "popover-utils.js": [ - "0df24ccd4fc936d0a2effb3d9b1e28d5a30955a5", + "404b893bf03cca530200bbfa8c340aa829d522a2", [] ] } @@ -371769,7 +371812,7 @@ ] }, "scrollbars-2.html.ini": [ - "659e8c5cdbb7cca598f5f3e71ba5439ca0929afb", + "e36495d9b9a2490f1415467e0a9c5f43b48ac89e", [] ], "svg-with-css-box-002.svg.ini": [ @@ -371807,7 +371850,7 @@ [] ], "content-type-parsing.html.ini": [ - "0e0bff05278009181cb49ce86b505e119b6f7a84", + "b3c6c1ab0fbe8924c974544d0fa143c2fea5d92a", [] ], "frameset-timing.html": [ @@ -371996,7 +372039,7 @@ [] ], "frame-timing.js": [ - "65710e22c8fc39b4cc3ef5aa93460a2f4736f8d6", + "019bd424b55065451eb4ad0a132d3a6befbbb5fc", [] ], "frameset-timing-frame.html": [ @@ -372123,14 +372166,6 @@ "c104f3c8f0695a96646cf24a730eef0342f95876", [] ], - "object-frame-options-200.asis": [ - "122445326bdef6d058e1adf4d6a2b51e4f6889da", - [] - ], - "object-frame-options-403.asis": [ - "fd64f0bcdbb7c17f60f485a25cfa78c6317e0ce6", - [] - ], "object-navigate-back.html": [ "a746947818ffb4e36367f620d603c2f6874dab10", [] @@ -385397,19 +385432,19 @@ [] ], "conv2d.https.any.js.ini": [ - "04c7c4f3e0f959c4a3867d97046d8cf50e974d6c", + "a1d407131eb824f28d52b16965c7dd1571c0d2f4", [] ], "conv_transpose2d.https.any-expected.txt": [ - "a90b5a75a82ff8beaa79f16d604f8f84cc7a5e19", + "d6f5d8269238ca98b1c825ea66a4263b83463449", [] ], "conv_transpose2d.https.any.js.ini": [ - "df82f195ba9ad0c3b09c64c21e987d8292071a46", + "47ad07f480895b8385f471d64f0ec1696db901e0", [] ], "conv_transpose2d.https.any.worker-expected.txt": [ - "31dba769dfe3a68ed133b320ae91e0984be0593a", + "1d4ae75108b59d08c80135b8d5805bb389b6cc52", [] ], "elementwise_binary.https.any.js.ini": [ @@ -385429,7 +385464,7 @@ [] ], "gemm.https.any.js.ini": [ - "68470197d505a8c61bf7d222316d40347339d473", + "8f4ebc0a35286b5f6c08ba755922bf1c57283013", [] ], "idlharness.https.any.js.ini": [ @@ -385449,19 +385484,19 @@ [] ], "matmul.https.any-expected.txt": [ - "61ce1aed1cccb1a4f9b108230e68a03f5bd5f40a", + "06071305ca25f65bd03f093857ca8576d85b2354", [] ], "matmul.https.any.js.ini": [ - "73ad63d85dfa550fc8b68431eadeb7a493d289c0", + "e46f3069ba32adc7df07f8b4690ec0b3bff67be6", [] ], "matmul.https.any.worker-expected.txt": [ - "19ca3858379174a4a37e0e75fa0b1ff6f2c9d3e3", + "4762f9d585f74be7a63cfa8a69fbf300754262c0", [] ], "pooling.https.any.js.ini": [ - "e20cfc6349e66033f77fbd0a94eb146139280993", + "8bb97c15385d556cb3e0c7f339bae8c09d4990d3", [] ], "reduction.https.any-expected.txt": [ @@ -385495,7 +385530,7 @@ [] ], "average_pool2d.json": [ - "5523137be00388d75f335f08beb483a83da9621c", + "badcfc888d8ae278407c05f668222f10b7d8cb53", [] ], "batch_normalization.json": [ @@ -385515,11 +385550,11 @@ [] ], "conv2d.json": [ - "ca7dc74aa7968f1d03788fe3a9fd7e7931ecb66d", + "850897df4e107c616ec3442563d4a73f642586a9", [] ], "conv_transpose2d.json": [ - "311a7d9c78aaca3e1f9be2fdda045bee897ba12e", + "c7026f91ee5011747d1ba058e07ebc4a54a45a60", [] ], "cos.json": [ @@ -385539,7 +385574,7 @@ [] ], "gemm.json": [ - "1323dcbdd8dfce6138d7fbf8034b2b1f1c653951", + "3738e19f7c641020309de975b4474fd652fbcb35", [] ], "leaky_relu.json": [ @@ -385551,7 +385586,7 @@ [] ], "matmul.json": [ - "a4ca8d026403c738be6ab6ccb9df5df8ba4becc8", + "6e0423a68d3e3a9c07ea3cd7a7bd83973ae34e46", [] ], "max.json": [ @@ -385619,7 +385654,7 @@ [] ], "softmax.json": [ - "b19ce4059121bff35d5b3c3f1e67fce787384e90", + "52ea57c7632d0d27b1745ddd4e983c37becf9832", [] ], "split.json": [ @@ -385669,7 +385704,7 @@ [] ], "softmax.https.any.js.ini": [ - "ea801b34f84243c22df34c41f7b1080f5739c9ce", + "c6064d7a0ee611adb894ee3666b3e3bf2cb173eb", [] ], "split.https.any-expected.txt": [ @@ -387187,7 +387222,7 @@ [] ], "close.any.js.ini": [ - "4c5ec50594edf22acd79a21d76a1cd025a822270", + "a460aa08f08362ca69f1cbea86b33b7eba6b393f", [] ], "constructor.any.js.ini": [ @@ -541065,7 +541100,7 @@ ] ], "popover-attribute-basic.html": [ - "e9167aaecbfa97b8b803e2b5bce9687919aa760c", + "c80534af9d1907d92aff6100447993b7a62366a4", [ null, { @@ -541122,7 +541157,7 @@ ] ], "popover-invoking-attribute.html": [ - "7b1dc20adf9beaa13ce2bb304659269cbb3d94ab", + "9b7a714f6dcdc025c53131ed014a74a7c4b4c945", [ null, { @@ -541139,7 +541174,7 @@ ] ], "popover-light-dismiss.html": [ - "2e9fdb43ec78eaf727ea3180e83b102f59927817", + "2f7e2de96b1b78cc219b9885a53db517ac5cfa8c", [ null, { @@ -541210,6 +541245,13 @@ } ] ], + "popover-types-with-hints.tentative.html": [ + "39d24a0ad437e723733a222b769890b6ec84d3bb", + [ + null, + {} + ] + ], "popover-types.html": [ "615c5a818c06c1bd75c5bfc80c2fc38e543048a9", [ @@ -582779,15 +582821,6 @@ {} ] ], - "entries-for-object-frame-options-deny.html": [ - "a69b642971ba6adfbde8afcd451b29603cb7fcf3", - [ - null, - { - "timeout": "long" - } - ] - ], "entry-attributes.html": [ "94f219f229107e4764134187f111dcc7757f617d", [ @@ -582885,7 +582918,7 @@ ] ], "iframe-sequence-of-events.html": [ - "5d719fb9153f18f35d239c3135f3fd844aa8558c", + "02d1c362c9df491439fd81ed9be48d5859a2e94f", [ null, {}
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-scroll-blended-position-fixed.html.ini b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-scroll-blended-position-fixed.html.ini new file mode 100644 index 0000000..f0050373 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-scroll-blended-position-fixed.html.ini
@@ -0,0 +1,2 @@ +[mix-blend-mode-parent-element-overflow-scroll-blended-position-fixed.html] + expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-display/font-display-feature-policy-02.tentative.html.ini b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-display/font-display-feature-policy-02.tentative.html.ini new file mode 100644 index 0000000..bbb51cb --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-display/font-display-feature-policy-02.tentative.html.ini
@@ -0,0 +1,2 @@ +[font-display-feature-policy-02.tentative.html] + expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-line-inherited-transition-crash.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-line-inherited-transition-crash.html new file mode 100644 index 0000000..223a0060 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-line-inherited-transition-crash.html
@@ -0,0 +1,8 @@ +<!DOCTYPE html> +<title>CSS Pseudo-Element Test: Color transition from inherited ::first-line style should not crash</title> +<link rel="help" href="https://crbug.com/1416821"> +<style> + div::first-line { color: red } + span { transition: color 100s; } +</style> +<div><span>First line</span></div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/white-space/text-wrap-white-space-001.html b/third_party/blink/web_tests/external/wpt/css/css-text/white-space/text-wrap-white-space-001.html new file mode 100644 index 0000000..0600b82 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-text/white-space/text-wrap-white-space-001.html
@@ -0,0 +1,70 @@ +<!DOCTYPE html> +<link rel="help" href="https://w3c.github.io/csswg-drafts/css-text-4/#propdef-white-space"> +<link rel="help" href="https://w3c.github.io/csswg-drafts/css-text-4/#propdef-text-wrap"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<style> +.balance { + text-wrap: balance; +} +</style> +<div id="balance" class="balance"></div> +<script> +test(() => { + const target = document.getElementById('balance'); + assert_equals(getComputedStyle(target).textWrap, 'balance'); +}, "`text-wrap: balance` should be set"); +</script> + +<style> +#text-wrap-after-white-space { + white-space: normal; + text-wrap: balance; +} +</style> +<div id="text-wrap-after-white-space"></div> +<script> +test(() => { + const target = document.getElementById('text-wrap-after-white-space'); + assert_equals(getComputedStyle(target).textWrap, 'balance'); +}, "`text-wrap` should not be affected by previous `white-space`"); +</script> + +<style> +#white-space-after-text-wrap { + text-wrap: balance; + white-space: normal; +} +</style> +<div id="white-space-after-text-wrap"></div> +<script> +test(() => { + const target = document.getElementById('white-space-after-text-wrap'); + assert_equals(getComputedStyle(target).textWrap, 'wrap'); +}, "`white-space` should overwrite previous `text-wrap`"); +</script> + +<style> +.normal { + white-space: normal; +} +</style> +<div class="normal"> + <div id="parent-white-space" class="balance"></div> +</div> +<script> +test(() => { + const target = document.getElementById('parent-white-space'); + assert_equals(getComputedStyle(target).textWrap, 'balance'); +}, "`text-wrap` should not be affected by `white-space` on the parent"); +</script> + +<div class="balance"> + <div id="parent-text-wrap" class="normal"></div> +</div> +<script> +test(() => { + const target = document.getElementById('parent-text-wrap'); + assert_equals(getComputedStyle(target).textWrap, 'wrap'); +}, "`white-space` should overwrite `text-wrap` on the parent"); +</script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-background-attachment-001.html.ini b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-background-attachment-001.html.ini new file mode 100644 index 0000000..9ecd2c5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-background-attachment-001.html.ini
@@ -0,0 +1,2 @@ +[kind-of-widget-fallback-input-text-background-attachment-001.html] + expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-top-left-radius-001.html.ini b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-top-left-radius-001.html.ini new file mode 100644 index 0000000..7a5a285f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-top-left-radius-001.html.ini
@@ -0,0 +1,2 @@ +[kind-of-widget-fallback-textarea-border-top-left-radius-001.html] + expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-top-width-001.html.ini b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-top-width-001.html.ini new file mode 100644 index 0000000..f7e8bfa --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-top-width-001.html.ini
@@ -0,0 +1,2 @@ +[kind-of-widget-fallback-textarea-border-top-width-001.html] + expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/case-insensitive-parent-ref.html b/third_party/blink/web_tests/external/wpt/css/selectors/case-insensitive-parent-ref.html new file mode 100644 index 0000000..0138b799 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/selectors/case-insensitive-parent-ref.html
@@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> + <head> + <title>Case-insensitive parent selector matching</title> + </head> + <body> + <svg width="500" height="100" xmlns="http://www.w3.org/2000/svg"> + <foreignObject width="500" height="100"> + <span style="color: green">Test passes if the text is green.</span> + </foreignObject> + </svg> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/case-insensitive-parent.html b/third_party/blink/web_tests/external/wpt/css/selectors/case-insensitive-parent.html new file mode 100644 index 0000000..a684bbb --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/selectors/case-insensitive-parent.html
@@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <title>Case-insensitive parent selector matching</title> + <link rel="help" href="https://crbug.com/1418575"> + <link rel="author" title="Steinar H. Gunderson" href="mailto:sesse@chromium.org"> + <link rel="match" href="case-insensitive-parent-ref.html"> + <style>FoReIgNobject span { color: green; }</style> + </head> + <body> + <svg width="500" height="100" xmlns="http://www.w3.org/2000/svg"> + <foreignObject width="500" height="100"> + <span>Test passes if the text is green.</span> + </foreignObject> + </svg> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/textfieldselection/select-event.html.ini b/third_party/blink/web_tests/external/wpt/html/semantics/forms/textfieldselection/select-event.html.ini index 7ac279e..4089304 100644 --- a/third_party/blink/web_tests/external/wpt/html/semantics/forms/textfieldselection/select-event.html.ini +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/textfieldselection/select-event.html.ini
@@ -4,14 +4,12 @@ [input type password: select() event queue] expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL] - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] + if (product == "content_shell") and (os == "linux") and (flag_specific == ""): PASS FAIL [input type password: select() twice in disconnected node (must fire select only once)] expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS] - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "linux") and (flag_specific == ""): FAIL if product == "chrome": FAIL [input type password: selectionDirection a second time (must not fire select)] @@ -61,7 +59,7 @@ [input type password: selectionStart event queue] expected: - if product == "chrome": FAIL + if product == "chrome": [FAIL, PASS] [input type password: selectionStart out of range a second time (must not fire select)] expected: FAIL @@ -71,7 +69,7 @@ [input type password: selectionStart out of range event queue] expected: - if product == "chrome": FAIL + if product == "chrome": [FAIL, PASS] [input type password: selectionStart out of range twice in disconnected node (must fire select only once)] expected: FAIL @@ -80,22 +78,17 @@ expected: FAIL [input type password: setRangeText() a second time (must not fire select)] - expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS] - FAIL + expected: FAIL [input type password: setRangeText() disconnected node] expected: FAIL [input type password: setRangeText() event queue] expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL] - if product == "chrome": FAIL + if product == "chrome": [FAIL, PASS] [input type password: setRangeText() twice in disconnected node (must fire select only once)] - expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS] - FAIL + expected: FAIL [input type password: setSelectionRange out of range a second time (must not fire select)] expected: FAIL @@ -131,22 +124,22 @@ [input type search: select() twice in disconnected node (must fire select only once)] expected: - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] + if (product == "content_shell") and (os == "mac"): FAIL if product == "chrome": FAIL [input type search: selectionDirection a second time (must not fire select)] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS FAIL [input type search: selectionDirection disconnected node] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS FAIL [input type search: selectionDirection event queue] expected: - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] + if (product == "content_shell") and (os == "mac"): FAIL if product == "chrome": FAIL [input type search: selectionDirection twice in disconnected node (must fire select only once)] @@ -154,7 +147,8 @@ [input type search: selectionEnd a second time (must not fire select)] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS + if product == "chrome": [FAIL, PASS] FAIL [input type search: selectionEnd disconnected node] @@ -162,7 +156,7 @@ [input type search: selectionEnd event queue] expected: - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] + if (product == "content_shell") and (os == "mac"): FAIL if product == "chrome": FAIL [input type search: selectionEnd out of range a second time (must not fire select)] @@ -183,8 +177,7 @@ [input type search: selectionStart a second time (must not fire select)] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] - if product == "chrome": PASS + if (product == "content_shell") and (os == "mac"): PASS FAIL [input type search: selectionStart disconnected node] @@ -192,7 +185,6 @@ [input type search: selectionStart event queue] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] if product == "chrome": FAIL [input type search: selectionStart out of range a second time (must not fire select)] @@ -203,7 +195,7 @@ [input type search: selectionStart out of range event queue] expected: - if product == "chrome": FAIL + if product == "chrome": [FAIL, PASS] [input type search: selectionStart out of range twice in disconnected node (must fire select only once)] expected: FAIL @@ -255,41 +247,39 @@ [input type tel: select() event queue] expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL] - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] + if (product == "content_shell") and (os == "linux") and (flag_specific == ""): PASS FAIL [input type tel: select() twice in disconnected node (must fire select only once)] expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS] + if (product == "content_shell") and (os == "linux") and (flag_specific == ""): FAIL if (product == "content_shell") and (os == "mac"): FAIL if product == "chrome": FAIL [input type tel: selectionDirection a second time (must not fire select)] expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL] - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "linux") and (flag_specific == ""): PASS + if (product == "content_shell") and (os == "mac"): PASS FAIL [input type tel: selectionDirection disconnected node] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS FAIL [input type tel: selectionDirection event queue] expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS] - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "linux") and (flag_specific == ""): FAIL if product == "chrome": FAIL [input type tel: selectionDirection twice in disconnected node (must fire select only once)] expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL] + if (product == "content_shell") and (os == "linux") and (flag_specific == ""): PASS FAIL [input type tel: selectionEnd a second time (must not fire select)] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS FAIL [input type tel: selectionEnd disconnected node] @@ -297,7 +287,6 @@ [input type tel: selectionEnd event queue] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] if product == "chrome": FAIL [input type tel: selectionEnd out of range a second time (must not fire select)] @@ -318,7 +307,8 @@ [input type tel: selectionStart a second time (must not fire select)] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS + if product == "chrome": [FAIL, PASS] FAIL [input type tel: selectionStart disconnected node] @@ -326,7 +316,6 @@ [input type tel: selectionStart event queue] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] if product == "chrome": FAIL [input type tel: selectionStart out of range a second time (must not fire select)] @@ -372,51 +361,41 @@ expected: FAIL [input type tel: setSelectionRange() a second time (must not fire select)] - expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS] - FAIL + expected: FAIL [input type tel: setSelectionRange() disconnected node] expected: FAIL [input type tel: setSelectionRange() event queue] expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL] if product == "chrome": FAIL [input type tel: setSelectionRange() twice in disconnected node (must fire select only once)] - expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS] - FAIL + expected: FAIL [input type text: select() disconnected node] expected: FAIL [input type text: select() event queue] - expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS] - FAIL + expected: FAIL [input type text: select() twice in disconnected node (must fire select only once)] expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL] if (product == "content_shell") and (os == "mac"): FAIL if product == "chrome": FAIL [input type text: selectionDirection a second time (must not fire select)] expected: - if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS FAIL [input type text: selectionDirection disconnected node] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS FAIL [input type text: selectionDirection event queue] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] if product == "chrome": FAIL [input type text: selectionDirection twice in disconnected node (must fire select only once)] @@ -424,8 +403,7 @@ [input type text: selectionEnd a second time (must not fire select)] expected: - if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS FAIL [input type text: selectionEnd disconnected node] @@ -433,7 +411,6 @@ [input type text: selectionEnd event queue] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] if product == "chrome": FAIL [input type text: selectionEnd out of range a second time (must not fire select)] @@ -454,7 +431,6 @@ [input type text: selectionStart a second time (must not fire select)] expected: - if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS if (product == "content_shell") and (os == "mac"): PASS FAIL @@ -480,9 +456,7 @@ expected: FAIL [input type text: selectionStart twice in disconnected node (must fire select only once)] - expected: - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] - FAIL + expected: FAIL [input type text: setRangeText() a second time (must not fire select)] expected: FAIL @@ -511,9 +485,7 @@ expected: FAIL [input type text: setSelectionRange() a second time (must not fire select)] - expected: - if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS - FAIL + expected: FAIL [input type text: setSelectionRange() disconnected node] expected: FAIL @@ -529,29 +501,26 @@ expected: FAIL [input type url: select() event queue] - expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [FAIL, PASS] - FAIL + expected: FAIL [input type url: select() twice in disconnected node (must fire select only once)] expected: - if (product == "content_shell") and (os == "linux") and (flag_specific == ""): [PASS, FAIL] - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] + if (product == "content_shell") and (os == "mac"): FAIL if product == "chrome": FAIL [input type url: selectionDirection a second time (must not fire select)] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS FAIL [input type url: selectionDirection disconnected node] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS FAIL [input type url: selectionDirection event queue] expected: - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] + if (product == "content_shell") and (os == "mac"): FAIL if product == "chrome": FAIL [input type url: selectionDirection twice in disconnected node (must fire select only once)] @@ -559,7 +528,7 @@ [input type url: selectionEnd a second time (must not fire select)] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS FAIL [input type url: selectionEnd disconnected node] @@ -567,7 +536,6 @@ [input type url: selectionEnd event queue] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] if product == "chrome": FAIL [input type url: selectionEnd out of range a second time (must not fire select)] @@ -578,7 +546,7 @@ [input type url: selectionEnd out of range event queue] expected: - if product == "chrome": FAIL + if product == "chrome": [FAIL, PASS] [input type url: selectionEnd out of range twice in disconnected node (must fire select only once)] expected: FAIL @@ -588,7 +556,7 @@ [input type url: selectionStart a second time (must not fire select)] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS FAIL [input type url: selectionStart disconnected node] @@ -596,7 +564,7 @@ [input type url: selectionStart event queue] expected: - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] + if (product == "content_shell") and (os == "mac"): FAIL if product == "chrome": FAIL [input type url: selectionStart out of range a second time (must not fire select)] @@ -642,32 +610,27 @@ expected: FAIL [input type url: setSelectionRange() a second time (must not fire select)] - expected: - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] - FAIL + expected: FAIL [input type url: setSelectionRange() disconnected node] expected: FAIL [input type url: setSelectionRange() event queue] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] if product == "chrome": FAIL [input type url: setSelectionRange() twice in disconnected node (must fire select only once)] - expected: - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] - FAIL + expected: FAIL [textarea: select() disconnected node] expected: - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] + if (product == "content_shell") and (os == "mac"): FAIL if product == "chrome": FAIL [textarea: select() event queue] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] - if product == "chrome": PASS + if (product == "content_shell") and (os == "mac"): PASS + if product == "chrome": [PASS, FAIL] FAIL [textarea: select() twice in disconnected node (must fire select only once)] @@ -687,14 +650,16 @@ expected: FAIL [textarea: selectionEnd a second time (must not fire select)] - expected: FAIL + expected: + if product == "chrome": [FAIL, PASS] + FAIL [textarea: selectionEnd disconnected node] expected: FAIL [textarea: selectionEnd event queue] expected: - if product == "chrome": FAIL + if product == "chrome": [FAIL, PASS] [textarea: selectionEnd out of range a second time (must not fire select)] expected: FAIL @@ -714,15 +679,15 @@ [textarea: selectionStart a second time (must not fire select)] expected: - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] - if product == "chrome": FAIL + if (product == "content_shell") and (os == "mac"): FAIL + if product == "chrome": [PASS, FAIL] [textarea: selectionStart disconnected node] expected: FAIL [textarea: selectionStart event queue] expected: - if (product == "content_shell") and (os == "mac"): [PASS, FAIL] + if (product == "content_shell") and (os == "mac"): PASS FAIL [textarea: selectionStart out of range a second time (must not fire select)] @@ -740,7 +705,7 @@ [textarea: selectionStart twice in disconnected node (must fire select only once)] expected: - if (product == "content_shell") and (os == "mac"): [FAIL, PASS] + if (product == "content_shell") and (os == "mac"): FAIL if product == "chrome": FAIL [textarea: setRangeText() a second time (must not fire select)]
diff --git a/third_party/blink/web_tests/external/wpt/resize-observer/scrollbars-2.html.ini b/third_party/blink/web_tests/external/wpt/resize-observer/scrollbars-2.html.ini index 659e8c5c..e36495d 100644 --- a/third_party/blink/web_tests/external/wpt/resize-observer/scrollbars-2.html.ini +++ b/third_party/blink/web_tests/external/wpt/resize-observer/scrollbars-2.html.ini
@@ -1,3 +1,5 @@ [scrollbars-2.html] + expected: + if (product == "content_shell") and (os == "mac"): CRASH [ResizeObserver content-box size and scrollbars] expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/resource-timing/content-type-parsing.html.ini b/third_party/blink/web_tests/external/wpt/resource-timing/content-type-parsing.html.ini index 0e0bff0..b3c6c1ab 100644 --- a/third_party/blink/web_tests/external/wpt/resource-timing/content-type-parsing.html.ini +++ b/third_party/blink/web_tests/external/wpt/resource-timing/content-type-parsing.html.ini
@@ -1,6 +1,6 @@ [content-type-parsing.html] expected: - if (product == "content_shell") and (os == "mac"): [TIMEOUT, OK] + if (product == "content_shell") and (os == "mac"): TIMEOUT [content-type 0 : ,text/plain] expected: FAIL @@ -9,33 +9,31 @@ [content-type 10 : text/plain,*/*] expected: - if (product == "content_shell") and (os == "win"): PASS if (product == "content_shell") and (os == "mac"): PASS + if (product == "content_shell") and (os == "win"): PASS FAIL [content-type 11 : text/html,*/*] expected: - if (product == "content_shell") and (os == "win"): PASS if (product == "content_shell") and (os == "mac"): PASS + if (product == "content_shell") and (os == "win"): PASS FAIL [content-type 12 : */*,text/html] expected: - if (product == "content_shell") and (os == "win") and (port == "win11"): FAIL - if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL + if (product == "content_shell") and (os == "win"): FAIL if (product == "content_shell") and (os == "mac"): FAIL [content-type 13 : text/plain,*/*;charset=gbk] expected: - if (product == "content_shell") and (os == "win") and (port == "win11"): PASS - if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): PASS + if (product == "content_shell") and (os == "win"): PASS if (product == "content_shell") and (os == "mac"): PASS FAIL [content-type 14 : text/html,*/*;charset=gbk] expected: - if (product == "content_shell") and (os == "mac"): PASS if (product == "content_shell") and (os == "win"): PASS + if (product == "content_shell") and (os == "mac"): PASS FAIL [content-type 15 : text/html;x=",text/plain] @@ -49,12 +47,14 @@ [content-type 2 : text/html,text/plain] expected: + if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): [PASS, FAIL] if (product == "content_shell") and (os == "win") and (port == "win11"): FAIL if (product == "content_shell") and (os == "mac"): FAIL [content-type 3 : text/plain;charset=gbk,text/html] expected: if (product == "content_shell") and (os == "win") and (port == "win11"): FAIL + if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): [PASS, FAIL] if (product == "content_shell") and (os == "mac"): FAIL [content-type 4 : text/plain;charset=gbk,text/html;charset=windows-1254] @@ -74,7 +74,8 @@ [content-type 9 : text/html;charset=gbk,text/plain,text/html] expected: - if (product == "content_shell") and (os == "win"): PASS + if (product == "content_shell") and (os == "win") and (port == "win11"): PASS + if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): [PASS, FAIL] if (product == "content_shell") and (os == "mac"): PASS FAIL
diff --git a/third_party/blink/web_tests/external/wpt/resource-timing/entries-for-object-frame-options-deny.html b/third_party/blink/web_tests/external/wpt/resource-timing/entries-for-object-frame-options-deny.html new file mode 100644 index 0000000..a69b642 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/resource-timing/entries-for-object-frame-options-deny.html
@@ -0,0 +1,35 @@ +<!DOCTYPE HTML> +<html> +<head> +<meta charset="utf-8" /> +<meta name="timeout" content="long"> +<link rel="author" title="Noam Rosenthal" href="noam@chromium.org"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="resources/entry-invariants.js"></script> +</head> +<body> +<script> +const {REMOTE_ORIGIN} = get_host_info(); + +promise_test(async t => { + const success_url = new URL("/resource-timing/resources/object-frame-options-200.asis", REMOTE_ORIGIN).href; + const fail_url = new URL("/resource-timing/resources/object-frame-options-403.asis", REMOTE_ORIGIN).href; + const load_object = async url => { + const object = document.createElement("object"); + object.data = url; + document.body.appendChild(object); + t.add_cleanup(() => object.remove()); + await new Promise(resolve => { + object.onload = object.onerror = resolve; + }); + }; + + await Promise.all([success_url, fail_url].map(load_object)); + assert_equals(performance.getEntriesByName(success_url).length, 1); + assert_equals(performance.getEntriesByName(fail_url).length, 1); +}, "Test that object elements with X-Frame-Options: Deny produce resource timing entries"); +</script> +</body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/resource-timing/iframe-sequence-of-events.html b/third_party/blink/web_tests/external/wpt/resource-timing/iframe-sequence-of-events.html index 02d1c36..5d719fb9 100644 --- a/third_party/blink/web_tests/external/wpt/resource-timing/iframe-sequence-of-events.html +++ b/third_party/blink/web_tests/external/wpt/resource-timing/iframe-sequence-of-events.html
@@ -3,6 +3,7 @@ <title>Test the sequence of events when reporting iframe timing.</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> +<script src="resources/entry-invariants.js"></script> <script src="resources/frame-timing.js"></script> <script src="/common/utils.js"></script> <script src="/common/get-host-info.sub.js"></script>
diff --git a/third_party/blink/web_tests/external/wpt/resource-timing/resources/frame-timing.js b/third_party/blink/web_tests/external/wpt/resource-timing/resources/frame-timing.js index 019bd42..65710e2 100644 --- a/third_party/blink/web_tests/external/wpt/resource-timing/resources/frame-timing.js +++ b/third_party/blink/web_tests/external/wpt/resource-timing/resources/frame-timing.js
@@ -25,8 +25,8 @@ function test_frame_timing_change_src(type, - origin1 = document.origin, - origin2 = document.origin, + origin1 = location.origin, + origin2 = location.origin, tao = false, label = '') { const uid = token(); promise_test(async t => { @@ -59,5 +59,11 @@ const entries = performance.getEntries().filter(e => e.name.includes(uid)); assert_equals(entries.length, 2); + for (const entry of entries) { + if (tao || entry.name.startsWith(location.origin)) + invariants.assert_tao_pass_no_redirect_http(entry); + else + invariants.assert_tao_failure_resource(entry); + } }, label || `A ${type} should report separate RT entries if its src changed from the outside`); }
diff --git a/third_party/blink/web_tests/external/wpt/resource-timing/resources/object-frame-options-200.asis b/third_party/blink/web_tests/external/wpt/resource-timing/resources/object-frame-options-200.asis new file mode 100644 index 0000000..12244532 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/resource-timing/resources/object-frame-options-200.asis
@@ -0,0 +1,6 @@ +HTTP/1.0 200 OK +Content-Type: text/html +X-Frame-Options: DENY +Content-Security-Policy: frame-ancestors 'none' + +Hello
diff --git a/third_party/blink/web_tests/external/wpt/resource-timing/resources/object-frame-options-403.asis b/third_party/blink/web_tests/external/wpt/resource-timing/resources/object-frame-options-403.asis new file mode 100644 index 0000000..fd64f0bc --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/resource-timing/resources/object-frame-options-403.asis
@@ -0,0 +1,6 @@ +HTTP/1.0 403 OK +Content-Type: text/html +X-Frame-Options: DENY +Content-Security-Policy: frame-ancestors 'none' + +Hello
diff --git a/third_party/blink/web_tests/external/wpt/webnn/conv2d.https.any.js.ini b/third_party/blink/web_tests/external/wpt/webnn/conv2d.https.any.js.ini index 04c7c4f..a1d4071 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/conv2d.https.any.js.ini +++ b/third_party/blink/web_tests/external/wpt/webnn/conv2d.https.any.js.ini
@@ -1,474 +1,518 @@ [conv2d.https.any.html] - [conv2d float32 4D input and filter(non-constant) tensors default options / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors default options / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.padding / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.strides / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.dilations / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.padding and options.autoPad='explicit' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-upper' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-lower' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.groups / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nchw' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='oihw' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='hwio' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='ohwi' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='ihwo' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='oihw' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='hwio' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ohwi' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ihwo' / cpu / async] - expected: FAIL - [conv2d float32 4D input and filter tensors 1D options.bias / cpu / async] expected: FAIL - [conv2d float32 4D input and filter tensors options.activation=relu / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.activation=sigmoid / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.dilations with options.strides / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors all options / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter(non-constant) tensors default options / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors default options / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.padding / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.strides / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.dilations / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.padding and options.autoPad='explicit' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-upper' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-lower' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.groups / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nchw' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='oihw' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='hwio' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='ohwi' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='ihwo' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='oihw' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='hwio' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ohwi' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ihwo' / gpu / async] - expected: FAIL - [conv2d float32 4D input and filter tensors 1D options.bias / gpu / async] expected: FAIL - [conv2d float32 4D input and filter tensors options.activation=relu / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.activation=sigmoid / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.dilations with options.strides / gpu / async] + [conv2d float32 4D input and filter tensors all options / cpu / async] expected: FAIL [conv2d float32 4D input and filter tensors all options / gpu / async] expected: FAIL + [conv2d float32 4D input and filter tensors default options / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors default options / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.activation=relu / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.activation=relu / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.activation=sigmoid / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.activation=sigmoid / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-lower' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-lower' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-upper' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-upper' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.dilations / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.dilations / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.dilations with options.strides / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.dilations with options.strides / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='hwio' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='hwio' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='ihwo' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='ihwo' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='ohwi' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='ohwi' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='oihw' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='oihw' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.groups / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.groups / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nchw' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nchw' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='hwio' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='hwio' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ihwo' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ihwo' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ohwi' / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ohwi' / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='oihw' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='oihw' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.padding / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.padding / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.padding and options.autoPad='explicit' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.padding and options.autoPad='explicit' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.strides / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.strides / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter(non-constant) tensors default options / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter(non-constant) tensors default options / gpu / async] + expected: FAIL + + [depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / cpu / async] + expected: FAIL + + [depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / gpu / async] + expected: FAIL + [conv2d.https.any.worker.html] - [conv2d float32 4D input and filter(non-constant) tensors default options / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors default options / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.padding / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.strides / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.dilations / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.padding and options.autoPad='explicit' / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-upper' / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-lower' / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.groups / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nchw' / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='oihw' / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='hwio' / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='ohwi' / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='ihwo' / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='oihw' / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='hwio' / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ohwi' / cpu / sync] - expected: - if (product == "content_shell") and (os == "win"): PASS - FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ihwo' / cpu / sync] + [conv2d float32 4D input and filter tensors 1D options.bias / cpu / async] expected: FAIL [conv2d float32 4D input and filter tensors 1D options.bias / cpu / sync] expected: FAIL - [conv2d float32 4D input and filter tensors options.activation=relu / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.activation=sigmoid / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.dilations with options.strides / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors all options / cpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter(non-constant) tensors default options / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors default options / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.padding / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.strides / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.dilations / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.padding and options.autoPad='explicit' / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-upper' / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-lower' / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.groups / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nchw' / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='oihw' / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='hwio' / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='ohwi' / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='ihwo' / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='oihw' / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='hwio' / gpu / sync] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ohwi' / gpu / sync] - expected: - if (product == "content_shell") and (os == "win"): PASS - FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ihwo' / gpu / sync] + [conv2d float32 4D input and filter tensors 1D options.bias / gpu / async] expected: FAIL [conv2d float32 4D input and filter tensors 1D options.bias / gpu / sync] expected: FAIL - [conv2d float32 4D input and filter tensors options.activation=relu / gpu / sync] + [conv2d float32 4D input and filter tensors all options / cpu / async] expected: FAIL - [conv2d float32 4D input and filter tensors options.activation=sigmoid / gpu / sync] + [conv2d float32 4D input and filter tensors all options / cpu / sync] expected: FAIL - [conv2d float32 4D input and filter tensors options.dilations with options.strides / gpu / sync] + [conv2d float32 4D input and filter tensors all options / gpu / async] expected: FAIL [conv2d float32 4D input and filter tensors all options / gpu / sync] expected: FAIL - [conv2d float32 4D input and filter(non-constant) tensors default options / cpu / async] - expected: FAIL - [conv2d float32 4D input and filter tensors default options / cpu / async] expected: FAIL - [conv2d float32 4D input and filter tensors options.padding / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.strides / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.dilations / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.padding and options.autoPad='explicit' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-upper' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-lower' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.groups / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nchw' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='oihw' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='hwio' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='ohwi' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='ihwo' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='oihw' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='hwio' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ohwi' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ihwo' / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors 1D options.bias / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.activation=relu / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.activation=sigmoid / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.dilations with options.strides / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors all options / cpu / async] - expected: FAIL - - [conv2d float32 4D input and filter(non-constant) tensors default options / gpu / async] + [conv2d float32 4D input and filter tensors default options / cpu / sync] expected: FAIL [conv2d float32 4D input and filter tensors default options / gpu / async] expected: FAIL - [conv2d float32 4D input and filter tensors options.padding / gpu / async] + [conv2d float32 4D input and filter tensors default options / gpu / sync] expected: FAIL - [conv2d float32 4D input and filter tensors options.strides / gpu / async] + [conv2d float32 4D input and filter tensors options.activation=relu / cpu / async] expected: FAIL - [conv2d float32 4D input and filter tensors options.dilations / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.padding and options.autoPad='explicit' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-upper' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-lower' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.groups / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nchw' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='oihw' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='hwio' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='ohwi' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.filterLayout='ihwo' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='oihw' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='hwio' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ohwi' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ihwo' / gpu / async] - expected: FAIL - - [conv2d float32 4D input and filter tensors 1D options.bias / gpu / async] + [conv2d float32 4D input and filter tensors options.activation=relu / cpu / sync] expected: FAIL [conv2d float32 4D input and filter tensors options.activation=relu / gpu / async] expected: FAIL + [conv2d float32 4D input and filter tensors options.activation=relu / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.activation=sigmoid / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.activation=sigmoid / cpu / sync] + expected: FAIL + [conv2d float32 4D input and filter tensors options.activation=sigmoid / gpu / async] expected: FAIL + [conv2d float32 4D input and filter tensors options.activation=sigmoid / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-lower' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-lower' / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-lower' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-lower' / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-upper' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-upper' / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-upper' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-upper' / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.dilations / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.dilations / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.dilations / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.dilations / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.dilations with options.strides / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.dilations with options.strides / cpu / sync] + expected: FAIL + [conv2d float32 4D input and filter tensors options.dilations with options.strides / gpu / async] expected: FAIL - [conv2d float32 4D input and filter tensors all options / gpu / async] + [conv2d float32 4D input and filter tensors options.dilations with options.strides / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='hwio' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='hwio' / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='hwio' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='hwio' / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='ihwo' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='ihwo' / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='ihwo' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='ihwo' / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='ohwi' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='ohwi' / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='ohwi' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='ohwi' / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='oihw' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='oihw' / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='oihw' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.filterLayout='oihw' / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.groups / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.groups / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.groups / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.groups / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nchw' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nchw' / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nchw' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nchw' / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='hwio' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='hwio' / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='hwio' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='hwio' / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ihwo' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ihwo' / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ihwo' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ihwo' / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ohwi' / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ohwi' / cpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ohwi' / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='ohwi' / gpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='oihw' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='oihw' / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='oihw' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.inputLayout='nhwc' and options.filterLayout='oihw' / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.padding / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.padding / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.padding / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.padding / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.padding and options.autoPad='explicit' / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.padding and options.autoPad='explicit' / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.padding and options.autoPad='explicit' / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.padding and options.autoPad='explicit' / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.strides / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.strides / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.strides / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors options.strides / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter(non-constant) tensors default options / cpu / async] + expected: FAIL + + [conv2d float32 4D input and filter(non-constant) tensors default options / cpu / sync] + expected: FAIL + + [conv2d float32 4D input and filter(non-constant) tensors default options / gpu / async] + expected: FAIL + + [conv2d float32 4D input and filter(non-constant) tensors default options / gpu / sync] + expected: FAIL + + [depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / cpu / async] + expected: FAIL + + [depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / cpu / sync] + expected: FAIL + + [depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / gpu / async] + expected: FAIL + + [depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / gpu / sync] expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/webnn/conv_transpose2d.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/webnn/conv_transpose2d.https.any-expected.txt index a90b5a75..d6f5d82 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/conv_transpose2d.https.any-expected.txt +++ b/third_party/blink/web_tests/external/wpt/webnn/conv_transpose2d.https.any-expected.txt
@@ -17,6 +17,7 @@ FAIL convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors options.bias / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors options.activation=relu / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter(non-constant) tensors default options / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors default options / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" @@ -36,6 +37,7 @@ FAIL convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors options.bias / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors options.activation=relu / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/webnn/conv_transpose2d.https.any.js.ini b/third_party/blink/web_tests/external/wpt/webnn/conv_transpose2d.https.any.js.ini index df82f19..47ad07f 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/conv_transpose2d.https.any.js.ini +++ b/third_party/blink/web_tests/external/wpt/webnn/conv_transpose2d.https.any.js.ini
@@ -1,344 +1,362 @@ [conv_transpose2d.https.any.html] - [convTranspose2d float32 4D input and filter(non-constant) tensors default options / cpu / async] - expected: FAIL - [convTranspose2d float32 4D input and filter tensors default options / cpu / async] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.padding / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.strides / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.dilations / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.outputPadding / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.outputSizes / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=explicit options.padding / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper ignored options.padding / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower ignored options.padding / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.inputLayout=nchw / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=iohw / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.bias / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.activation=relu / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter(non-constant) tensors default options / gpu / async] - expected: FAIL - [convTranspose2d float32 4D input and filter tensors default options / gpu / async] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.padding / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.strides / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.dilations / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.outputPadding / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.outputSizes / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=explicit options.padding / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper ignored options.padding / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower ignored options.padding / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.inputLayout=nchw / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=iohw / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.bias / gpu / async] + [convTranspose2d float32 4D input and filter tensors options.activation=relu / cpu / async] expected: FAIL [convTranspose2d float32 4D input and filter tensors options.activation=relu / gpu / async] expected: FAIL + [convTranspose2d float32 4D input and filter tensors options.autoPad=explicit options.padding / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=explicit options.padding / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower ignored options.padding / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower ignored options.padding / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper ignored options.padding / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper ignored options.padding / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.bias / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.bias / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.dilations / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.dilations / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=iohw / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=iohw / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.inputLayout=nchw / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.inputLayout=nchw / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.outputPadding / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.outputPadding / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.outputSizes / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.outputSizes / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.padding / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.padding / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.strides / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.strides / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter(non-constant) tensors default options / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter(non-constant) tensors default options / gpu / async] + expected: FAIL + [conv_transpose2d.https.any.worker.html] - [convTranspose2d float32 4D input and filter(non-constant) tensors default options / cpu / sync] + [convTranspose2d float32 4D input and filter tensors default options / cpu / async] expected: FAIL [convTranspose2d float32 4D input and filter tensors default options / cpu / sync] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.padding / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.strides / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.dilations / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.outputPadding / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.outputSizes / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=explicit options.padding / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper ignored options.padding / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower ignored options.padding / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.inputLayout=nchw / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=iohw / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.bias / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.activation=relu / cpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter(non-constant) tensors default options / gpu / sync] + [convTranspose2d float32 4D input and filter tensors default options / gpu / async] expected: FAIL [convTranspose2d float32 4D input and filter tensors default options / gpu / sync] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.padding / gpu / sync] + [convTranspose2d float32 4D input and filter tensors options.activation=relu / cpu / async] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.strides / gpu / sync] + [convTranspose2d float32 4D input and filter tensors options.activation=relu / cpu / sync] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.dilations / gpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.outputPadding / gpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.outputSizes / gpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=explicit options.padding / gpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper / gpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper ignored options.padding / gpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower / gpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower ignored options.padding / gpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.inputLayout=nchw / gpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc / gpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=iohw / gpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / gpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / gpu / sync] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.bias / gpu / sync] + [convTranspose2d float32 4D input and filter tensors options.activation=relu / gpu / async] expected: FAIL [convTranspose2d float32 4D input and filter tensors options.activation=relu / gpu / sync] expected: FAIL - [convTranspose2d float32 4D input and filter(non-constant) tensors default options / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors default options / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.padding / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.strides / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.dilations / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.outputPadding / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.outputSizes / cpu / async] - expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.autoPad=explicit options.padding / cpu / async] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper ignored options.padding / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower ignored options.padding / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.inputLayout=nchw / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=iohw / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.bias / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.activation=relu / cpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter(non-constant) tensors default options / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors default options / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.padding / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.strides / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.dilations / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.outputPadding / gpu / async] - expected: FAIL - - [convTranspose2d float32 4D input and filter tensors options.outputSizes / gpu / async] + [convTranspose2d float32 4D input and filter tensors options.autoPad=explicit options.padding / cpu / sync] expected: FAIL [convTranspose2d float32 4D input and filter tensors options.autoPad=explicit options.padding / gpu / async] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper / gpu / async] + [convTranspose2d float32 4D input and filter tensors options.autoPad=explicit options.padding / gpu / sync] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper ignored options.padding / gpu / async] + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower / cpu / sync] expected: FAIL [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower / gpu / async] expected: FAIL + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower ignored options.padding / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower ignored options.padding / cpu / sync] + expected: FAIL + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower ignored options.padding / gpu / async] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.inputLayout=nchw / gpu / async] + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-lower ignored options.padding / gpu / sync] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc / gpu / async] + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper / cpu / async] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.filterLayout=iohw / gpu / async] + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper / cpu / sync] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / gpu / async] + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper / gpu / async] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / gpu / async] + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper ignored options.padding / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper ignored options.padding / cpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper ignored options.padding / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.autoPad=same-upper ignored options.padding / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.bias / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.bias / cpu / sync] expected: FAIL [convTranspose2d float32 4D input and filter tensors options.bias / gpu / async] expected: FAIL - [convTranspose2d float32 4D input and filter tensors options.activation=relu / gpu / async] + [convTranspose2d float32 4D input and filter tensors options.bias / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.dilations / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.dilations / cpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.dilations / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.dilations / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / cpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=iohw / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=iohw / cpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=iohw / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=iohw / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / cpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.inputLayout=nchw / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.inputLayout=nchw / cpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.inputLayout=nchw / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.inputLayout=nchw / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc / cpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.outputPadding / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.outputPadding / cpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.outputPadding / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.outputPadding / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.outputSizes / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.outputSizes / cpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.outputSizes / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.outputSizes / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.padding / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.padding / cpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.padding / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.padding / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.strides / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.strides / cpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.strides / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors options.strides / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter(non-constant) tensors default options / cpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter(non-constant) tensors default options / cpu / sync] + expected: FAIL + + [convTranspose2d float32 4D input and filter(non-constant) tensors default options / gpu / async] + expected: FAIL + + [convTranspose2d float32 4D input and filter(non-constant) tensors default options / gpu / sync] expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/webnn/conv_transpose2d.https.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/webnn/conv_transpose2d.https.any.worker-expected.txt index 31dba76..1d4ae75 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/conv_transpose2d.https.any.worker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/webnn/conv_transpose2d.https.any.worker-expected.txt
@@ -1,5 +1,5 @@ This is a testharness.js-based test. -Found 76 tests; 0 PASS, 76 FAIL, 0 TIMEOUT, 0 NOTRUN. +Found 80 tests; 0 PASS, 80 FAIL, 0 TIMEOUT, 0 NOTRUN. FAIL convTranspose2d float32 4D input and filter(non-constant) tensors default options / cpu / sync builder[operationName] is not a function FAIL convTranspose2d float32 4D input and filter tensors default options / cpu / sync builder[operationName] is not a function FAIL convTranspose2d float32 4D input and filter tensors options.padding / cpu / sync builder[operationName] is not a function @@ -18,6 +18,7 @@ FAIL convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / cpu / sync builder[operationName] is not a function FAIL convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / cpu / sync builder[operationName] is not a function FAIL convTranspose2d float32 4D input and filter tensors options.bias / cpu / sync builder[operationName] is not a function +FAIL convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / sync builder[operationName] is not a function FAIL convTranspose2d float32 4D input and filter tensors options.activation=relu / cpu / sync builder[operationName] is not a function FAIL convTranspose2d float32 4D input and filter(non-constant) tensors default options / gpu / sync builder[operationName] is not a function FAIL convTranspose2d float32 4D input and filter tensors default options / gpu / sync builder[operationName] is not a function @@ -37,6 +38,7 @@ FAIL convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / gpu / sync builder[operationName] is not a function FAIL convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / gpu / sync builder[operationName] is not a function FAIL convTranspose2d float32 4D input and filter tensors options.bias / gpu / sync builder[operationName] is not a function +FAIL convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / sync builder[operationName] is not a function FAIL convTranspose2d float32 4D input and filter tensors options.activation=relu / gpu / sync builder[operationName] is not a function FAIL convTranspose2d float32 4D input and filter(non-constant) tensors default options / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors default options / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" @@ -56,6 +58,7 @@ FAIL convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors options.bias / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors options.activation=relu / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter(non-constant) tensors default options / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors default options / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" @@ -75,6 +78,7 @@ FAIL convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors options.bias / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL convTranspose2d float32 4D input and filter tensors options.activation=relu / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/webnn/gemm.https.any.js.ini b/third_party/blink/web_tests/external/wpt/webnn/gemm.https.any.js.ini index 68470197..8f4ebc0 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/gemm.https.any.js.ini +++ b/third_party/blink/web_tests/external/wpt/webnn/gemm.https.any.js.ini
@@ -1,290 +1,452 @@ +[gemm.https.any.html] + [gemm both negative options.alpha and 1st float32 input tensor / cpu / async] + expected: FAIL + + [gemm both negative options.alpha and 1st float32 input tensor / gpu / async] + expected: FAIL + + [gemm both negative options.alpha and 2nd float32 input tensor / cpu / async] + expected: FAIL + + [gemm both negative options.alpha and 2nd float32 input tensor / gpu / async] + expected: FAIL + + [gemm both negative options.alpha and 3rd float32 input tensor (options.c) / cpu / async] + expected: FAIL + + [gemm both negative options.alpha and 3rd float32 input tensor (options.c) / gpu / async] + expected: FAIL + + [gemm both negative options.alpha and options.beta / cpu / async] + expected: FAIL + + [gemm both negative options.alpha and options.beta / gpu / async] + expected: FAIL + + [gemm both negative options.beta and 3rd float32 input tensor (options.c) / cpu / async] + expected: FAIL + + [gemm both negative options.beta and 3rd float32 input tensor (options.c) / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors (b is non-constant) default options / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors (b is non-constant) default options / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors all options / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors all options / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors broadcast options.c [1, 1\] => [3, 5\] / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors broadcast options.c [1, 1\] => [3, 5\] / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors broadcast options.c [1, 5\] => [3, 5\] / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors broadcast options.c [1, 5\] => [3, 5\] / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors broadcast options.c [1\] => [3, 5\] / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors broadcast options.c [1\] => [3, 5\] / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors broadcast options.c [3, 1\] => [3, 5\] / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors broadcast options.c [3, 1\] => [3, 5\] / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors broadcast options.c [5\] => [3, 5\] / cpu / async] + expected: + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors broadcast options.c [5\] => [3, 5\] / gpu / async] + expected: + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors default options / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors default options / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.aTranspose being explicit false / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.aTranspose being explicit false / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.aTranspose being true / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.aTranspose being true / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.alpha / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.alpha / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.bTranspose being explicit false / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.bTranspose being explicit false / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.bTranspose being true / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.bTranspose being true / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.beta / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.beta / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.c / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.c / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.c and options.beta / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.c and options.beta / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors scalar options.c / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors scalar options.c / gpu / async] + expected: FAIL + + [gemm.https.any.worker.html] + [gemm both negative options.alpha and 1st float32 input tensor / cpu / async] + expected: FAIL + + [gemm both negative options.alpha and 1st float32 input tensor / cpu / sync] + expected: FAIL + + [gemm both negative options.alpha and 1st float32 input tensor / gpu / async] + expected: FAIL + + [gemm both negative options.alpha and 1st float32 input tensor / gpu / sync] + expected: FAIL + + [gemm both negative options.alpha and 2nd float32 input tensor / cpu / async] + expected: FAIL + + [gemm both negative options.alpha and 2nd float32 input tensor / cpu / sync] + expected: FAIL + + [gemm both negative options.alpha and 2nd float32 input tensor / gpu / async] + expected: FAIL + + [gemm both negative options.alpha and 2nd float32 input tensor / gpu / sync] + expected: FAIL + + [gemm both negative options.alpha and 3rd float32 input tensor (options.c) / cpu / async] + expected: FAIL + + [gemm both negative options.alpha and 3rd float32 input tensor (options.c) / cpu / sync] + expected: FAIL + + [gemm both negative options.alpha and 3rd float32 input tensor (options.c) / gpu / async] + expected: FAIL + + [gemm both negative options.alpha and 3rd float32 input tensor (options.c) / gpu / sync] + expected: FAIL + + [gemm both negative options.alpha and options.beta / cpu / async] + expected: FAIL + + [gemm both negative options.alpha and options.beta / cpu / sync] + expected: FAIL + + [gemm both negative options.alpha and options.beta / gpu / async] + expected: FAIL + + [gemm both negative options.alpha and options.beta / gpu / sync] + expected: FAIL + + [gemm both negative options.beta and 3rd float32 input tensor (options.c) / cpu / async] + expected: FAIL + + [gemm both negative options.beta and 3rd float32 input tensor (options.c) / cpu / sync] + expected: FAIL + + [gemm both negative options.beta and 3rd float32 input tensor (options.c) / gpu / async] + expected: FAIL + + [gemm both negative options.beta and 3rd float32 input tensor (options.c) / gpu / sync] + expected: FAIL + + [gemm two float32 2D tensors (b is non-constant) default options / cpu / async] + expected: FAIL + [gemm two float32 2D tensors (b is non-constant) default options / cpu / sync] expected: FAIL - [gemm two float32 2D tensors default options / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.c / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors broadcast options.c [1, 5\] => [3, 5\] / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors broadcast options.c [3, 1\] => [3, 5\] / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors broadcast options.c [1, 1\] => [3, 5\] / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors broadcast options.c [1\] => [3, 5\] / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors scalar options.c / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.alpha / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.beta / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.c and options.beta / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.aTranspose being true / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.aTranspose being explicit false / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.bTranspose being true / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.bTranspose being explicit false / cpu / sync] - expected: FAIL - - [gemm two float32 2D tensors all options / cpu / sync] + [gemm two float32 2D tensors (b is non-constant) default options / gpu / async] expected: FAIL [gemm two float32 2D tensors (b is non-constant) default options / gpu / sync] expected: FAIL - [gemm two float32 2D tensors default options / gpu / sync] + [gemm two float32 2D tensors all options / cpu / async] expected: FAIL - [gemm two float32 2D tensors options.c / gpu / sync] + [gemm two float32 2D tensors all options / cpu / sync] expected: FAIL - [gemm two float32 2D tensors broadcast options.c [1, 5\] => [3, 5\] / gpu / sync] - expected: FAIL - - [gemm two float32 2D tensors broadcast options.c [3, 1\] => [3, 5\] / gpu / sync] - expected: FAIL - - [gemm two float32 2D tensors broadcast options.c [1, 1\] => [3, 5\] / gpu / sync] - expected: FAIL - - [gemm two float32 2D tensors broadcast options.c [1\] => [3, 5\] / gpu / sync] - expected: FAIL - - [gemm two float32 2D tensors scalar options.c / gpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.alpha / gpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.beta / gpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.c and options.beta / gpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.aTranspose being true / gpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.aTranspose being explicit false / gpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.bTranspose being true / gpu / sync] - expected: FAIL - - [gemm two float32 2D tensors options.bTranspose being explicit false / gpu / sync] + [gemm two float32 2D tensors all options / gpu / async] expected: FAIL [gemm two float32 2D tensors all options / gpu / sync] expected: FAIL - [gemm two float32 2D tensors (b is non-constant) default options / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors default options / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.c / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors broadcast options.c [1, 5\] => [3, 5\] / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors broadcast options.c [3, 1\] => [3, 5\] / cpu / async] - expected: FAIL - [gemm two float32 2D tensors broadcast options.c [1, 1\] => [3, 5\] / cpu / async] expected: FAIL - [gemm two float32 2D tensors broadcast options.c [1\] => [3, 5\] / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors scalar options.c / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.alpha / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.beta / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.c and options.beta / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.aTranspose being true / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.aTranspose being explicit false / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.bTranspose being true / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.bTranspose being explicit false / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors all options / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors (b is non-constant) default options / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors default options / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.c / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors broadcast options.c [1, 5\] => [3, 5\] / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors broadcast options.c [3, 1\] => [3, 5\] / gpu / async] + [gemm two float32 2D tensors broadcast options.c [1, 1\] => [3, 5\] / cpu / sync] expected: FAIL [gemm two float32 2D tensors broadcast options.c [1, 1\] => [3, 5\] / gpu / async] expected: FAIL - [gemm two float32 2D tensors broadcast options.c [1\] => [3, 5\] / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors scalar options.c / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.alpha / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.beta / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.c and options.beta / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.aTranspose being true / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.aTranspose being explicit false / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.bTranspose being true / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.bTranspose being explicit false / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors all options / gpu / async] - expected: FAIL - - -[gemm.https.any.html] - [gemm two float32 2D tensors (b is non-constant) default options / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors default options / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.c / cpu / async] + [gemm two float32 2D tensors broadcast options.c [1, 1\] => [3, 5\] / gpu / sync] expected: FAIL [gemm two float32 2D tensors broadcast options.c [1, 5\] => [3, 5\] / cpu / async] expected: FAIL - [gemm two float32 2D tensors broadcast options.c [3, 1\] => [3, 5\] / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors broadcast options.c [1, 1\] => [3, 5\] / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors broadcast options.c [1\] => [3, 5\] / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors scalar options.c / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.alpha / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.beta / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.c and options.beta / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.aTranspose being true / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.aTranspose being explicit false / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.bTranspose being true / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.bTranspose being explicit false / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors all options / cpu / async] - expected: FAIL - - [gemm two float32 2D tensors (b is non-constant) default options / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors default options / gpu / async] - expected: FAIL - - [gemm two float32 2D tensors options.c / gpu / async] + [gemm two float32 2D tensors broadcast options.c [1, 5\] => [3, 5\] / cpu / sync] expected: FAIL [gemm two float32 2D tensors broadcast options.c [1, 5\] => [3, 5\] / gpu / async] expected: FAIL - [gemm two float32 2D tensors broadcast options.c [3, 1\] => [3, 5\] / gpu / async] + [gemm two float32 2D tensors broadcast options.c [1, 5\] => [3, 5\] / gpu / sync] expected: FAIL - [gemm two float32 2D tensors broadcast options.c [1, 1\] => [3, 5\] / gpu / async] + [gemm two float32 2D tensors broadcast options.c [1\] => [3, 5\] / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors broadcast options.c [1\] => [3, 5\] / cpu / sync] expected: FAIL [gemm two float32 2D tensors broadcast options.c [1\] => [3, 5\] / gpu / async] expected: FAIL - [gemm two float32 2D tensors scalar options.c / gpu / async] + [gemm two float32 2D tensors broadcast options.c [1\] => [3, 5\] / gpu / sync] expected: FAIL - [gemm two float32 2D tensors options.alpha / gpu / async] + [gemm two float32 2D tensors broadcast options.c [3, 1\] => [3, 5\] / cpu / async] expected: FAIL - [gemm two float32 2D tensors options.beta / gpu / async] + [gemm two float32 2D tensors broadcast options.c [3, 1\] => [3, 5\] / cpu / sync] expected: FAIL - [gemm two float32 2D tensors options.c and options.beta / gpu / async] + [gemm two float32 2D tensors broadcast options.c [3, 1\] => [3, 5\] / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors broadcast options.c [3, 1\] => [3, 5\] / gpu / sync] + expected: FAIL + + [gemm two float32 2D tensors broadcast options.c [5\] => [3, 5\] / cpu / async] + expected: + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors broadcast options.c [5\] => [3, 5\] / cpu / sync] + expected: + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors broadcast options.c [5\] => [3, 5\] / gpu / async] + expected: + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors broadcast options.c [5\] => [3, 5\] / gpu / sync] + expected: + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors default options / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors default options / cpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors default options / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors default options / gpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.aTranspose being explicit false / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.aTranspose being explicit false / cpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.aTranspose being explicit false / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.aTranspose being explicit false / gpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.aTranspose being true / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.aTranspose being true / cpu / sync] expected: FAIL [gemm two float32 2D tensors options.aTranspose being true / gpu / async] expected: FAIL - [gemm two float32 2D tensors options.aTranspose being explicit false / gpu / async] + [gemm two float32 2D tensors options.aTranspose being true / gpu / sync] expected: FAIL - [gemm two float32 2D tensors options.bTranspose being true / gpu / async] + [gemm two float32 2D tensors options.alpha / cpu / async] expected: FAIL + [gemm two float32 2D tensors options.alpha / cpu / sync] + expected: FAIL + + [gemm two float32 2D tensors options.alpha / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.alpha / gpu / sync] + expected: FAIL + + [gemm two float32 2D tensors options.bTranspose being explicit false / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.bTranspose being explicit false / cpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + [gemm two float32 2D tensors options.bTranspose being explicit false / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.bTranspose being explicit false / gpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.bTranspose being true / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.bTranspose being true / cpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.bTranspose being true / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.bTranspose being true / gpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [gemm two float32 2D tensors options.beta / cpu / async] expected: FAIL - [gemm two float32 2D tensors all options / gpu / async] + [gemm two float32 2D tensors options.beta / cpu / sync] + expected: FAIL + + [gemm two float32 2D tensors options.beta / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.beta / gpu / sync] + expected: FAIL + + [gemm two float32 2D tensors options.c / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.c / cpu / sync] + expected: FAIL + + [gemm two float32 2D tensors options.c / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.c / gpu / sync] + expected: FAIL + + [gemm two float32 2D tensors options.c and options.beta / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.c and options.beta / cpu / sync] + expected: FAIL + + [gemm two float32 2D tensors options.c and options.beta / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors options.c and options.beta / gpu / sync] + expected: FAIL + + [gemm two float32 2D tensors scalar options.c / cpu / async] + expected: FAIL + + [gemm two float32 2D tensors scalar options.c / cpu / sync] + expected: FAIL + + [gemm two float32 2D tensors scalar options.c / gpu / async] + expected: FAIL + + [gemm two float32 2D tensors scalar options.c / gpu / sync] expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/webnn/matmul.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/webnn/matmul.https.any-expected.txt index 61ce1aed..0607130 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/matmul.https.any-expected.txt +++ b/third_party/blink/web_tests/external/wpt/webnn/matmul.https.any-expected.txt
@@ -1,5 +1,8 @@ This is a testharness.js-based test. -FAIL matmul float32 1D and 1D tensors produces a scalar / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 1D and 1D tensors all positive produces a scalar / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 1D and 1D tensors all negative produces a scalar / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 positive 1D and negative 1D tensors produces a scalar / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 negative 1D and positive 1D tensors produces a scalar / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 1D and 2D tensors / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 1D and 4D tensors / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 2D and 1D tensors / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" @@ -12,7 +15,10 @@ FAIL matmul float32 4D and 3D tensors / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 5D and 5D tensors / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 5D and 2D tensors / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" -FAIL matmul float32 1D and 1D tensors produces a scalar / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 1D and 1D tensors all positive produces a scalar / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 1D and 1D tensors all negative produces a scalar / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 positive 1D and negative 1D tensors produces a scalar / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 negative 1D and positive 1D tensors produces a scalar / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 1D and 2D tensors / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 1D and 4D tensors / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 2D and 1D tensors / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
diff --git a/third_party/blink/web_tests/external/wpt/webnn/matmul.https.any.js.ini b/third_party/blink/web_tests/external/wpt/webnn/matmul.https.any.js.ini index 73ad63d8..e46f3069 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/matmul.https.any.js.ini +++ b/third_party/blink/web_tests/external/wpt/webnn/matmul.https.any.js.ini
@@ -1,236 +1,308 @@ [matmul.https.any.html] + [matmul float32 1D and 1D tensors all negative produces a scalar / cpu / async] + expected: FAIL + + [matmul float32 1D and 1D tensors all negative produces a scalar / gpu / async] + expected: FAIL + + [matmul float32 1D and 1D tensors all positive produces a scalar / cpu / async] + expected: FAIL + + [matmul float32 1D and 1D tensors all positive produces a scalar / gpu / async] + expected: FAIL + [matmul float32 1D and 1D tensors produces a scalar / cpu / async] expected: FAIL - [matmul float32 1D and 2D tensors / cpu / async] - expected: FAIL - - [matmul float32 1D and 4D tensors / cpu / async] - expected: FAIL - - [matmul float32 2D and 1D tensors / cpu / async] - expected: FAIL - - [matmul float32 2D and 2D tensors / cpu / async] - expected: FAIL - - [matmul float32 3D and 3D tensors / cpu / async] - expected: FAIL - - [matmul float32 3D and 3D (broadcast) tensors / cpu / async] - expected: FAIL - - [matmul float32 3D and 2D tensors / cpu / async] - expected: FAIL - - [matmul float32 3D and 1D tensors / cpu / async] - expected: FAIL - - [matmul float32 4D and 4D (broadcast) tensors / cpu / async] - expected: FAIL - - [matmul float32 4D and 3D tensors / cpu / async] - expected: FAIL - - [matmul float32 5D and 5D tensors / cpu / async] - expected: FAIL - - [matmul float32 5D and 2D tensors / cpu / async] - expected: FAIL - [matmul float32 1D and 1D tensors produces a scalar / gpu / async] expected: FAIL + [matmul float32 1D and 2D tensors / cpu / async] + expected: FAIL + [matmul float32 1D and 2D tensors / gpu / async] expected: FAIL + [matmul float32 1D and 4D tensors / cpu / async] + expected: FAIL + [matmul float32 1D and 4D tensors / gpu / async] expected: FAIL + [matmul float32 2D and 1D tensors / cpu / async] + expected: FAIL + [matmul float32 2D and 1D tensors / gpu / async] expected: FAIL + [matmul float32 2D and 2D tensors / cpu / async] + expected: FAIL + [matmul float32 2D and 2D tensors / gpu / async] expected: FAIL - [matmul float32 3D and 3D tensors / gpu / async] - expected: FAIL - - [matmul float32 3D and 3D (broadcast) tensors / gpu / async] - expected: FAIL - - [matmul float32 3D and 2D tensors / gpu / async] + [matmul float32 3D and 1D tensors / cpu / async] expected: FAIL [matmul float32 3D and 1D tensors / gpu / async] expected: FAIL - [matmul float32 4D and 4D (broadcast) tensors / gpu / async] + [matmul float32 3D and 2D tensors / cpu / async] + expected: FAIL + + [matmul float32 3D and 2D tensors / gpu / async] + expected: FAIL + + [matmul float32 3D and 3D (broadcast) tensors / cpu / async] + expected: FAIL + + [matmul float32 3D and 3D (broadcast) tensors / gpu / async] + expected: FAIL + + [matmul float32 3D and 3D tensors / cpu / async] + expected: FAIL + + [matmul float32 3D and 3D tensors / gpu / async] + expected: FAIL + + [matmul float32 4D and 3D tensors / cpu / async] expected: FAIL [matmul float32 4D and 3D tensors / gpu / async] expected: FAIL - [matmul float32 5D and 5D tensors / gpu / async] + [matmul float32 4D and 4D (broadcast) tensors / cpu / async] + expected: FAIL + + [matmul float32 4D and 4D (broadcast) tensors / gpu / async] + expected: FAIL + + [matmul float32 5D and 2D tensors / cpu / async] expected: FAIL [matmul float32 5D and 2D tensors / gpu / async] expected: FAIL + [matmul float32 5D and 5D tensors / cpu / async] + expected: FAIL + + [matmul float32 5D and 5D tensors / gpu / async] + expected: FAIL + + [matmul float32 negative 1D and positive 1D tensors produces a scalar / cpu / async] + expected: FAIL + + [matmul float32 negative 1D and positive 1D tensors produces a scalar / gpu / async] + expected: FAIL + + [matmul float32 positive 1D and negative 1D tensors produces a scalar / cpu / async] + expected: FAIL + + [matmul float32 positive 1D and negative 1D tensors produces a scalar / gpu / async] + expected: FAIL + [matmul.https.any.worker.html] + [matmul float32 1D and 1D tensors all negative produces a scalar / cpu / async] + expected: FAIL + + [matmul float32 1D and 1D tensors all negative produces a scalar / cpu / sync] + expected: FAIL + + [matmul float32 1D and 1D tensors all negative produces a scalar / gpu / async] + expected: FAIL + + [matmul float32 1D and 1D tensors all negative produces a scalar / gpu / sync] + expected: FAIL + + [matmul float32 1D and 1D tensors all positive produces a scalar / cpu / async] + expected: FAIL + + [matmul float32 1D and 1D tensors all positive produces a scalar / cpu / sync] + expected: FAIL + + [matmul float32 1D and 1D tensors all positive produces a scalar / gpu / async] + expected: FAIL + + [matmul float32 1D and 1D tensors all positive produces a scalar / gpu / sync] + expected: FAIL + + [matmul float32 1D and 1D tensors produces a scalar / cpu / async] + expected: FAIL + [matmul float32 1D and 1D tensors produces a scalar / cpu / sync] expected: FAIL - [matmul float32 1D and 2D tensors / cpu / sync] - expected: FAIL - - [matmul float32 1D and 4D tensors / cpu / sync] - expected: FAIL - - [matmul float32 2D and 1D tensors / cpu / sync] - expected: FAIL - - [matmul float32 2D and 2D tensors / cpu / sync] - expected: FAIL - - [matmul float32 3D and 3D tensors / cpu / sync] - expected: FAIL - - [matmul float32 3D and 3D (broadcast) tensors / cpu / sync] - expected: FAIL - - [matmul float32 3D and 2D tensors / cpu / sync] - expected: FAIL - - [matmul float32 3D and 1D tensors / cpu / sync] - expected: FAIL - - [matmul float32 4D and 4D (broadcast) tensors / cpu / sync] - expected: FAIL - - [matmul float32 4D and 3D tensors / cpu / sync] - expected: FAIL - - [matmul float32 5D and 5D tensors / cpu / sync] - expected: FAIL - - [matmul float32 5D and 2D tensors / cpu / sync] + [matmul float32 1D and 1D tensors produces a scalar / gpu / async] expected: FAIL [matmul float32 1D and 1D tensors produces a scalar / gpu / sync] expected: FAIL - [matmul float32 1D and 2D tensors / gpu / sync] - expected: FAIL - - [matmul float32 1D and 4D tensors / gpu / sync] - expected: FAIL - - [matmul float32 2D and 1D tensors / gpu / sync] - expected: FAIL - - [matmul float32 2D and 2D tensors / gpu / sync] - expected: FAIL - - [matmul float32 3D and 3D tensors / gpu / sync] - expected: FAIL - - [matmul float32 3D and 3D (broadcast) tensors / gpu / sync] - expected: FAIL - - [matmul float32 3D and 2D tensors / gpu / sync] - expected: FAIL - - [matmul float32 3D and 1D tensors / gpu / sync] - expected: FAIL - - [matmul float32 4D and 4D (broadcast) tensors / gpu / sync] - expected: FAIL - - [matmul float32 4D and 3D tensors / gpu / sync] - expected: FAIL - - [matmul float32 5D and 5D tensors / gpu / sync] - expected: FAIL - - [matmul float32 5D and 2D tensors / gpu / sync] - expected: FAIL - - [matmul float32 1D and 1D tensors produces a scalar / cpu / async] - expected: FAIL - [matmul float32 1D and 2D tensors / cpu / async] expected: FAIL - [matmul float32 1D and 4D tensors / cpu / async] - expected: FAIL - - [matmul float32 2D and 1D tensors / cpu / async] - expected: FAIL - - [matmul float32 2D and 2D tensors / cpu / async] - expected: FAIL - - [matmul float32 3D and 3D tensors / cpu / async] - expected: FAIL - - [matmul float32 3D and 3D (broadcast) tensors / cpu / async] - expected: FAIL - - [matmul float32 3D and 2D tensors / cpu / async] - expected: FAIL - - [matmul float32 3D and 1D tensors / cpu / async] - expected: FAIL - - [matmul float32 4D and 4D (broadcast) tensors / cpu / async] - expected: FAIL - - [matmul float32 4D and 3D tensors / cpu / async] - expected: FAIL - - [matmul float32 5D and 5D tensors / cpu / async] - expected: FAIL - - [matmul float32 5D and 2D tensors / cpu / async] - expected: FAIL - - [matmul float32 1D and 1D tensors produces a scalar / gpu / async] + [matmul float32 1D and 2D tensors / cpu / sync] expected: FAIL [matmul float32 1D and 2D tensors / gpu / async] expected: FAIL + [matmul float32 1D and 2D tensors / gpu / sync] + expected: FAIL + + [matmul float32 1D and 4D tensors / cpu / async] + expected: FAIL + + [matmul float32 1D and 4D tensors / cpu / sync] + expected: FAIL + [matmul float32 1D and 4D tensors / gpu / async] expected: FAIL + [matmul float32 1D and 4D tensors / gpu / sync] + expected: FAIL + + [matmul float32 2D and 1D tensors / cpu / async] + expected: FAIL + + [matmul float32 2D and 1D tensors / cpu / sync] + expected: FAIL + [matmul float32 2D and 1D tensors / gpu / async] expected: FAIL + [matmul float32 2D and 1D tensors / gpu / sync] + expected: FAIL + + [matmul float32 2D and 2D tensors / cpu / async] + expected: FAIL + + [matmul float32 2D and 2D tensors / cpu / sync] + expected: FAIL + [matmul float32 2D and 2D tensors / gpu / async] expected: FAIL - [matmul float32 3D and 3D tensors / gpu / async] + [matmul float32 2D and 2D tensors / gpu / sync] expected: FAIL - [matmul float32 3D and 3D (broadcast) tensors / gpu / async] + [matmul float32 3D and 1D tensors / cpu / async] expected: FAIL - [matmul float32 3D and 2D tensors / gpu / async] + [matmul float32 3D and 1D tensors / cpu / sync] expected: FAIL [matmul float32 3D and 1D tensors / gpu / async] expected: FAIL - [matmul float32 4D and 4D (broadcast) tensors / gpu / async] + [matmul float32 3D and 1D tensors / gpu / sync] + expected: FAIL + + [matmul float32 3D and 2D tensors / cpu / async] + expected: FAIL + + [matmul float32 3D and 2D tensors / cpu / sync] + expected: FAIL + + [matmul float32 3D and 2D tensors / gpu / async] + expected: FAIL + + [matmul float32 3D and 2D tensors / gpu / sync] + expected: FAIL + + [matmul float32 3D and 3D (broadcast) tensors / cpu / async] + expected: FAIL + + [matmul float32 3D and 3D (broadcast) tensors / cpu / sync] + expected: FAIL + + [matmul float32 3D and 3D (broadcast) tensors / gpu / async] + expected: FAIL + + [matmul float32 3D and 3D (broadcast) tensors / gpu / sync] + expected: FAIL + + [matmul float32 3D and 3D tensors / cpu / async] + expected: FAIL + + [matmul float32 3D and 3D tensors / cpu / sync] + expected: FAIL + + [matmul float32 3D and 3D tensors / gpu / async] + expected: FAIL + + [matmul float32 3D and 3D tensors / gpu / sync] + expected: FAIL + + [matmul float32 4D and 3D tensors / cpu / async] + expected: FAIL + + [matmul float32 4D and 3D tensors / cpu / sync] expected: FAIL [matmul float32 4D and 3D tensors / gpu / async] expected: FAIL - [matmul float32 5D and 5D tensors / gpu / async] + [matmul float32 4D and 3D tensors / gpu / sync] + expected: FAIL + + [matmul float32 4D and 4D (broadcast) tensors / cpu / async] + expected: FAIL + + [matmul float32 4D and 4D (broadcast) tensors / cpu / sync] + expected: FAIL + + [matmul float32 4D and 4D (broadcast) tensors / gpu / async] + expected: FAIL + + [matmul float32 4D and 4D (broadcast) tensors / gpu / sync] + expected: FAIL + + [matmul float32 5D and 2D tensors / cpu / async] + expected: FAIL + + [matmul float32 5D and 2D tensors / cpu / sync] expected: FAIL [matmul float32 5D and 2D tensors / gpu / async] expected: FAIL + + [matmul float32 5D and 2D tensors / gpu / sync] + expected: FAIL + + [matmul float32 5D and 5D tensors / cpu / async] + expected: FAIL + + [matmul float32 5D and 5D tensors / cpu / sync] + expected: FAIL + + [matmul float32 5D and 5D tensors / gpu / async] + expected: FAIL + + [matmul float32 5D and 5D tensors / gpu / sync] + expected: FAIL + + [matmul float32 negative 1D and positive 1D tensors produces a scalar / cpu / async] + expected: FAIL + + [matmul float32 negative 1D and positive 1D tensors produces a scalar / cpu / sync] + expected: FAIL + + [matmul float32 negative 1D and positive 1D tensors produces a scalar / gpu / async] + expected: FAIL + + [matmul float32 negative 1D and positive 1D tensors produces a scalar / gpu / sync] + expected: FAIL + + [matmul float32 positive 1D and negative 1D tensors produces a scalar / cpu / async] + expected: FAIL + + [matmul float32 positive 1D and negative 1D tensors produces a scalar / cpu / sync] + expected: FAIL + + [matmul float32 positive 1D and negative 1D tensors produces a scalar / gpu / async] + expected: FAIL + + [matmul float32 positive 1D and negative 1D tensors produces a scalar / gpu / sync] + expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/webnn/matmul.https.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/webnn/matmul.https.any.worker-expected.txt index 19ca385..4762f9d 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/matmul.https.any.worker-expected.txt +++ b/third_party/blink/web_tests/external/wpt/webnn/matmul.https.any.worker-expected.txt
@@ -1,6 +1,9 @@ This is a testharness.js-based test. -Found 52 tests; 0 PASS, 52 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL matmul float32 1D and 1D tensors produces a scalar / cpu / sync builder[operationName] is not a function +Found 64 tests; 0 PASS, 64 FAIL, 0 TIMEOUT, 0 NOTRUN. +FAIL matmul float32 1D and 1D tensors all positive produces a scalar / cpu / sync builder[operationName] is not a function +FAIL matmul float32 1D and 1D tensors all negative produces a scalar / cpu / sync builder[operationName] is not a function +FAIL matmul float32 positive 1D and negative 1D tensors produces a scalar / cpu / sync builder[operationName] is not a function +FAIL matmul float32 negative 1D and positive 1D tensors produces a scalar / cpu / sync builder[operationName] is not a function FAIL matmul float32 1D and 2D tensors / cpu / sync builder[operationName] is not a function FAIL matmul float32 1D and 4D tensors / cpu / sync builder[operationName] is not a function FAIL matmul float32 2D and 1D tensors / cpu / sync builder[operationName] is not a function @@ -13,7 +16,10 @@ FAIL matmul float32 4D and 3D tensors / cpu / sync builder[operationName] is not a function FAIL matmul float32 5D and 5D tensors / cpu / sync builder[operationName] is not a function FAIL matmul float32 5D and 2D tensors / cpu / sync builder[operationName] is not a function -FAIL matmul float32 1D and 1D tensors produces a scalar / gpu / sync builder[operationName] is not a function +FAIL matmul float32 1D and 1D tensors all positive produces a scalar / gpu / sync builder[operationName] is not a function +FAIL matmul float32 1D and 1D tensors all negative produces a scalar / gpu / sync builder[operationName] is not a function +FAIL matmul float32 positive 1D and negative 1D tensors produces a scalar / gpu / sync builder[operationName] is not a function +FAIL matmul float32 negative 1D and positive 1D tensors produces a scalar / gpu / sync builder[operationName] is not a function FAIL matmul float32 1D and 2D tensors / gpu / sync builder[operationName] is not a function FAIL matmul float32 1D and 4D tensors / gpu / sync builder[operationName] is not a function FAIL matmul float32 2D and 1D tensors / gpu / sync builder[operationName] is not a function @@ -26,7 +32,10 @@ FAIL matmul float32 4D and 3D tensors / gpu / sync builder[operationName] is not a function FAIL matmul float32 5D and 5D tensors / gpu / sync builder[operationName] is not a function FAIL matmul float32 5D and 2D tensors / gpu / sync builder[operationName] is not a function -FAIL matmul float32 1D and 1D tensors produces a scalar / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 1D and 1D tensors all positive produces a scalar / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 1D and 1D tensors all negative produces a scalar / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 positive 1D and negative 1D tensors produces a scalar / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 negative 1D and positive 1D tensors produces a scalar / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 1D and 2D tensors / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 1D and 4D tensors / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 2D and 1D tensors / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" @@ -39,7 +48,10 @@ FAIL matmul float32 4D and 3D tensors / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 5D and 5D tensors / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 5D and 2D tensors / cpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" -FAIL matmul float32 1D and 1D tensors produces a scalar / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 1D and 1D tensors all positive produces a scalar / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 1D and 1D tensors all negative produces a scalar / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 positive 1D and negative 1D tensors produces a scalar / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" +FAIL matmul float32 negative 1D and positive 1D tensors produces a scalar / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 1D and 2D tensors / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 1D and 4D tensors / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function" FAIL matmul float32 2D and 1D tensors / gpu / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
diff --git a/third_party/blink/web_tests/external/wpt/webnn/pooling.https.any.js.ini b/third_party/blink/web_tests/external/wpt/webnn/pooling.https.any.js.ini index e20cfc6..8bb97c1 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/pooling.https.any.js.ini +++ b/third_party/blink/web_tests/external/wpt/webnn/pooling.https.any.js.ini
@@ -1,626 +1,698 @@ +[pooling.https.any.html] + [averagePool2d float32 4D tensor all negative default options / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor all negative default options / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor all positive default options / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor all positive default options / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor default options / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor default options / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=explicit / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=explicit / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-lower / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-lower / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-upper / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-upper / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.dilations / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.dilations / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.dilations with options.strides / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [averagePool2d float32 4D tensor options.dilations with options.strides / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [averagePool2d float32 4D tensor options.layout=nchw / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.layout=nchw / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.layout=nhwc / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [averagePool2d float32 4D tensor options.layout=nhwc / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.padding / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.padding / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.roundingType=ceil / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.roundingType=ceil / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.roundingType=floor / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.roundingType=floor / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.strides / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.strides / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.windowDimensions / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.windowDimensions / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor default options / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor default options / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=explicit / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=explicit / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-lower / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-lower / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-upper / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-upper / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.dilations / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.dilations / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.dilations with options.strides / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [maxPool2d float32 4D tensor options.dilations with options.strides / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [maxPool2d float32 4D tensor options.layout=nchw / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.layout=nchw / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.layout=nhwc / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [maxPool2d float32 4D tensor options.layout=nhwc / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.padding / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.padding / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.roundingType=ceil / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.roundingType=ceil / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.roundingType=floor / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.roundingType=floor / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.strides / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.strides / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.windowDimensions / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.windowDimensions / gpu / async] + expected: FAIL + + [pooling.https.any.worker.html] + [averagePool2d float32 4D tensor all negative default options / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor all negative default options / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor all negative default options / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor all negative default options / gpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor all positive default options / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor all positive default options / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor all positive default options / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor all positive default options / gpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor default options / cpu / async] + expected: FAIL + [averagePool2d float32 4D tensor default options / cpu / sync] expected: FAIL - [averagePool2d float32 4D tensor options.windowDimensions / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.padding / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.strides / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.dilations / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=explicit / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-upper / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-lower / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.layout=nchw / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.layout=nhwc / cpu / sync] - expected: - if (product == "content_shell") and (os == "win"): PASS - FAIL - - [averagePool2d float32 4D tensor options.roundingType=floor / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.roundingType=ceil / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.dilations with options.strides / cpu / sync] + [averagePool2d float32 4D tensor default options / gpu / async] expected: FAIL [averagePool2d float32 4D tensor default options / gpu / sync] expected: FAIL - [averagePool2d float32 4D tensor options.windowDimensions / gpu / sync] + [averagePool2d float32 4D tensor options.autoPad=explicit / cpu / async] expected: FAIL - [averagePool2d float32 4D tensor options.padding / gpu / sync] + [averagePool2d float32 4D tensor options.autoPad=explicit / cpu / sync] expected: FAIL - [averagePool2d float32 4D tensor options.strides / gpu / sync] - expected: FAIL - - [averagePool2d float32 4D tensor options.dilations / gpu / sync] + [averagePool2d float32 4D tensor options.autoPad=explicit / gpu / async] expected: FAIL [averagePool2d float32 4D tensor options.autoPad=explicit / gpu / sync] expected: FAIL - [averagePool2d float32 4D tensor options.autoPad=same-upper / gpu / sync] + [averagePool2d float32 4D tensor options.autoPad=same-lower / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-lower / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-lower / gpu / async] expected: FAIL [averagePool2d float32 4D tensor options.autoPad=same-lower / gpu / sync] expected: FAIL - [averagePool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / gpu / sync] + [averagePool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / gpu / async] expected: FAIL [averagePool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / gpu / sync] expected: FAIL + [averagePool2d float32 4D tensor options.autoPad=same-upper / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-upper / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-upper / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-upper / gpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / gpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.dilations / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.dilations / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.dilations / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.dilations / gpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.dilations with options.strides / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [averagePool2d float32 4D tensor options.dilations with options.strides / cpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [averagePool2d float32 4D tensor options.dilations with options.strides / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [averagePool2d float32 4D tensor options.dilations with options.strides / gpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [averagePool2d float32 4D tensor options.layout=nchw / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.layout=nchw / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.layout=nchw / gpu / async] + expected: FAIL + [averagePool2d float32 4D tensor options.layout=nchw / gpu / sync] expected: FAIL + [averagePool2d float32 4D tensor options.layout=nhwc / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [averagePool2d float32 4D tensor options.layout=nhwc / cpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [averagePool2d float32 4D tensor options.layout=nhwc / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + [averagePool2d float32 4D tensor options.layout=nhwc / gpu / sync] expected: - if (product == "content_shell") and (os == "win"): PASS - FAIL + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL - [averagePool2d float32 4D tensor options.roundingType=floor / gpu / sync] + [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / async] expected: FAIL - [averagePool2d float32 4D tensor options.roundingType=ceil / gpu / sync] + [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / sync] expected: FAIL - [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / sync] + [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / async] expected: FAIL [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / sync] expected: FAIL - [averagePool2d float32 4D tensor options.dilations with options.strides / gpu / sync] + [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.padding / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.padding / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.padding / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.padding / gpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.roundingType=ceil / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.roundingType=ceil / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.roundingType=ceil / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.roundingType=ceil / gpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.roundingType=floor / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.roundingType=floor / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.roundingType=floor / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.roundingType=floor / gpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.strides / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.strides / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.strides / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.strides / gpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.windowDimensions / cpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.windowDimensions / cpu / sync] + expected: FAIL + + [averagePool2d float32 4D tensor options.windowDimensions / gpu / async] + expected: FAIL + + [averagePool2d float32 4D tensor options.windowDimensions / gpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor default options / cpu / async] expected: FAIL [maxPool2d float32 4D tensor default options / cpu / sync] expected: FAIL - [maxPool2d float32 4D tensor options.windowDimensions / cpu / sync] + [maxPool2d float32 4D tensor default options / gpu / async] expected: FAIL - [maxPool2d float32 4D tensor options.padding / cpu / sync] + [maxPool2d float32 4D tensor default options / gpu / sync] expected: FAIL - [maxPool2d float32 4D tensor options.strides / cpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.dilations / cpu / sync] + [maxPool2d float32 4D tensor options.autoPad=explicit / cpu / async] expected: FAIL [maxPool2d float32 4D tensor options.autoPad=explicit / cpu / sync] expected: FAIL - [maxPool2d float32 4D tensor options.autoPad=same-upper / cpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-lower / cpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / cpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / cpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.layout=nchw / cpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.layout=nhwc / cpu / sync] - expected: - if (product == "content_shell") and (os == "win"): PASS - FAIL - - [maxPool2d float32 4D tensor options.roundingType=floor / cpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.roundingType=ceil / cpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.dilations with options.strides / cpu / sync] - expected: - if (product == "content_shell") and (os == "win"): PASS - FAIL - - [maxPool2d float32 4D tensor default options / gpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.windowDimensions / gpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.padding / gpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.strides / gpu / sync] - expected: FAIL - - [maxPool2d float32 4D tensor options.dilations / gpu / sync] + [maxPool2d float32 4D tensor options.autoPad=explicit / gpu / async] expected: FAIL [maxPool2d float32 4D tensor options.autoPad=explicit / gpu / sync] expected: FAIL - [maxPool2d float32 4D tensor options.autoPad=same-upper / gpu / sync] + [maxPool2d float32 4D tensor options.autoPad=same-lower / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-lower / cpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-lower / gpu / async] expected: FAIL [maxPool2d float32 4D tensor options.autoPad=same-lower / gpu / sync] expected: FAIL - [maxPool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / gpu / sync] + [maxPool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / cpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / gpu / async] expected: FAIL [maxPool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / gpu / sync] expected: FAIL + [maxPool2d float32 4D tensor options.autoPad=same-upper / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-upper / cpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-upper / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-upper / gpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / cpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / gpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.dilations / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.dilations / cpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.dilations / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.dilations / gpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.dilations with options.strides / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [maxPool2d float32 4D tensor options.dilations with options.strides / cpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [maxPool2d float32 4D tensor options.dilations with options.strides / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [maxPool2d float32 4D tensor options.dilations with options.strides / gpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [maxPool2d float32 4D tensor options.layout=nchw / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.layout=nchw / cpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.layout=nchw / gpu / async] + expected: FAIL + [maxPool2d float32 4D tensor options.layout=nchw / gpu / sync] expected: FAIL + [maxPool2d float32 4D tensor options.layout=nhwc / cpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [maxPool2d float32 4D tensor options.layout=nhwc / cpu / sync] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + + [maxPool2d float32 4D tensor options.layout=nhwc / gpu / async] + expected: + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL + [maxPool2d float32 4D tensor options.layout=nhwc / gpu / sync] expected: - if (product == "content_shell") and (os == "win"): PASS - FAIL + if (product == "content_shell") and (os == "linux") and (flag_specific == "highdpi"): FAIL + if (product == "content_shell") and (os == "mac"): FAIL - [maxPool2d float32 4D tensor options.roundingType=floor / gpu / sync] + [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / async] expected: FAIL - [maxPool2d float32 4D tensor options.roundingType=ceil / gpu / sync] + [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / sync] expected: FAIL - [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / sync] + [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / async] expected: FAIL [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / sync] expected: FAIL - [maxPool2d float32 4D tensor options.dilations with options.strides / gpu / sync] - expected: - if (product == "content_shell") and (os == "win"): PASS - FAIL - - [averagePool2d float32 4D tensor default options / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.windowDimensions / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.padding / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.strides / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.dilations / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=explicit / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-upper / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-lower / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.layout=nchw / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.layout=nhwc / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.roundingType=floor / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.roundingType=ceil / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.dilations with options.strides / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor default options / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.windowDimensions / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.padding / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.strides / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.dilations / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=explicit / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-upper / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-lower / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.layout=nchw / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.layout=nhwc / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.roundingType=floor / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.roundingType=ceil / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.dilations with options.strides / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor default options / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.windowDimensions / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.padding / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.strides / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.dilations / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=explicit / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-upper / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-lower / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.layout=nchw / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.layout=nhwc / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.roundingType=floor / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.roundingType=ceil / cpu / async] - expected: FAIL - [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / async] expected: FAIL - [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.dilations with options.strides / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor default options / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.windowDimensions / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.padding / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.strides / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.dilations / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=explicit / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-upper / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-lower / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.layout=nchw / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.layout=nhwc / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.roundingType=floor / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.roundingType=ceil / gpu / async] + [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / sync] expected: FAIL [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / async] expected: FAIL - [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.dilations with options.strides / gpu / async] - expected: FAIL - - -[pooling.https.any.html] - [averagePool2d float32 4D tensor default options / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.windowDimensions / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.padding / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.strides / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.dilations / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=explicit / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-upper / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-lower / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.layout=nchw / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.layout=nhwc / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.roundingType=floor / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.roundingType=ceil / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.dilations with options.strides / cpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor default options / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.windowDimensions / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.padding / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.strides / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.dilations / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=explicit / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-upper / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-lower / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.layout=nchw / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.layout=nhwc / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.roundingType=floor / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.roundingType=ceil / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / async] - expected: FAIL - - [averagePool2d float32 4D tensor options.dilations with options.strides / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor default options / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.windowDimensions / cpu / async] + [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / sync] expected: FAIL [maxPool2d float32 4D tensor options.padding / cpu / async] expected: FAIL - [maxPool2d float32 4D tensor options.strides / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.dilations / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=explicit / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-upper / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-lower / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.layout=nchw / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.layout=nhwc / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.roundingType=floor / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.roundingType=ceil / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.dilations with options.strides / cpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor default options / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.windowDimensions / gpu / async] + [maxPool2d float32 4D tensor options.padding / cpu / sync] expected: FAIL [maxPool2d float32 4D tensor options.padding / gpu / async] expected: FAIL - [maxPool2d float32 4D tensor options.strides / gpu / async] + [maxPool2d float32 4D tensor options.padding / gpu / sync] expected: FAIL - [maxPool2d float32 4D tensor options.dilations / gpu / async] + [maxPool2d float32 4D tensor options.roundingType=ceil / cpu / async] expected: FAIL - [maxPool2d float32 4D tensor options.autoPad=explicit / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-upper / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-lower / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-upper ignores options.padding / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.autoPad=same-lower ignores options.padding / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.layout=nchw / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.layout=nhwc / gpu / async] - expected: FAIL - - [maxPool2d float32 4D tensor options.roundingType=floor / gpu / async] + [maxPool2d float32 4D tensor options.roundingType=ceil / cpu / sync] expected: FAIL [maxPool2d float32 4D tensor options.roundingType=ceil / gpu / async] expected: FAIL - [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / async] + [maxPool2d float32 4D tensor options.roundingType=ceil / gpu / sync] expected: FAIL - [maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / async] + [maxPool2d float32 4D tensor options.roundingType=floor / cpu / async] expected: FAIL - [maxPool2d float32 4D tensor options.dilations with options.strides / gpu / async] + [maxPool2d float32 4D tensor options.roundingType=floor / cpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.roundingType=floor / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.roundingType=floor / gpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.strides / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.strides / cpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.strides / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.strides / gpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.windowDimensions / cpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.windowDimensions / cpu / sync] + expected: FAIL + + [maxPool2d float32 4D tensor options.windowDimensions / gpu / async] + expected: FAIL + + [maxPool2d float32 4D tensor options.windowDimensions / gpu / sync] expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/average_pool2d.json b/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/average_pool2d.json index 5523137b..badcfc8 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/average_pool2d.json +++ b/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/average_pool2d.json
@@ -1,61 +1,61 @@ { "tests": [ { - "name": "averagePool2d float32 4D tensor default options", + "name": "averagePool2d float32 4D tensor all positive default options", "inputs": { "input": { "shape": [1, 2, 5, 5], "data": [ - 83.46227700254062, - 33.821312758080836, - -76.80760955483348, - -29.45969284637431, - -46.52967419678973, - -45.55183988629725, - -31.01262212241673, - -64.07866030681286, - -9.310889091915442, - -41.08586138776409, - -73.40547764047231, - 13.158153901575972, - -12.270027157926222, - 76.39896882134298, - 93.52596758105801, - 97.13613783584108, - -1.7500290525074718, - -61.565025090745664, - -54.58282317750749, - -48.486631084255414, - 60.32106196347354, - 4.079223599205321, - 32.319089892863815, - -41.34668340359866, - -6.917796525327361, - -49.26129609640228, - 68.73554887005739, - 2.418686828435483, - 80.52496201764376, - -55.300870794659176, - -59.206964627797646, - -95.96083088125917, - -18.597523013363613, - 47.98993621629046, - -73.6978064325847, - -84.76842495411003, - -75.75077583450742, - -96.09162719339479, - -25.728314640543104, - 43.86839589244039, - 13.15480395039694, - -48.46195196452694, - -52.95915779740401, - -14.006732047772985, - 21.69510814172409, - 76.66673883399159, - 48.12142294811815, - 64.0178574522754, - 23.612354911278203, - -96.46550907705537 + 22.975555502750634, + 78.15438048012338, + 9.68611138116071, + 51.29803808129347, + 32.19308601456918, + 87.65037289600019, + 87.25082191311348, + 39.49793996935087, + 80.09963591169489, + 10.220142557736978, + 52.60270021646585, + 1.4128639882603933, + 11.954064466077474, + 85.0007506374375, + 64.7837446465813, + 88.03128735720126, + 11.333851214909307, + 70.61659435728073, + 84.90442561999888, + 79.06688041781518, + 7.328724951604215, + 35.97796581186121, + 10.17730631094398, + 1.4140757517112412, + 78.10038172113374, + 91.59549689157087, + 65.64701225681809, + 55.14215004436653, + 18.432438840756184, + 49.34624267439973, + 15.648024969290454, + 68.02723372727797, + 20.342549040418124, + 26.72794900604616, + 64.87446829774323, + 46.56714896227794, + 79.57832937136276, + 4.338463748959498, + 38.18383968382213, + 45.253981324455175, + 80.9717996657439, + 67.58124910163149, + 6.026499585657263, + 29.77881349289366, + 58.58993337807239, + 2.2384984647495054, + 14.505490166700486, + 68.72449589246624, + 76.45657404642184, + 23.53263275794233 ], "type": "float32" } @@ -64,68 +64,138 @@ "name": "output", "shape": [1, 2, 1, 1], "data": [ - -5.997565746307373, - -14.21807861328125 + 47.26926803588867, + 44.72445297241211 + ], + "type": "float32" + } + }, + { + "name": "averagePool2d float32 4D tensor all negative default options", + "inputs": { + "input": { + "shape": [1, 2, 5, 5], + "data": [ + -83.87757731810672, + -2.0740278160840973, + -7.561108501687542, + -45.27426240728714, + -16.366556721916695, + -44.90851354569205, + -42.041864278576966, + -44.77232004469474, + -1.5066278585637178, + -52.65203675020273, + -92.0185617404752, + -48.00409189056276, + -61.522973144977634, + -93.44403784112669, + -25.780331283162965, + -95.51873647896396, + -10.963757774358783, + -59.13274884066298, + -32.601736114443554, + -21.451043477036478, + -87.11596404238824, + -61.326115814276626, + -41.989721754495825, + -87.87648787075247, + -71.69316094374365, + -80.24160387383347, + -97.48886243642632, + -75.89422421069519, + -45.08991580050407, + -88.27134747370127, + -90.71282719640234, + -93.32392100055493, + -59.14753161989912, + -45.331061517612305, + -51.325623691528534, + -31.15479613935011, + -31.624241001643554, + -62.80167996617545, + -63.5585108082942, + -68.96183132099878, + -43.094152045751045, + -15.80344395122441, + -64.31091886555717, + -66.45872774317789, + -42.02725165929741, + -26.032954597038938, + -22.737527779713233, + -70.32036541871405, + -85.28228199042766, + -92.10668232344767 + ], + "type": "float32" + } + }, + "expected": { + "name": "output", + "shape": [1, 2, 1, 1], + "data": [ + -49.258975982666016, + -60.52408981323242 ], "type": "float32" } }, { "name": "averagePool2d float32 4D tensor options.windowDimensions", - "inputs":{ + "inputs": { "input": { "shape": [1, 2, 5, 5], "data": [ - 83.46227700254062, - 33.821312758080836, - -76.80760955483348, - -29.45969284637431, - -46.52967419678973, - -45.55183988629725, - -31.01262212241673, - -64.07866030681286, - -9.310889091915442, - -41.08586138776409, - -73.40547764047231, - 13.158153901575972, - -12.270027157926222, - 76.39896882134298, - 93.52596758105801, - 97.13613783584108, - -1.7500290525074718, - -61.565025090745664, - -54.58282317750749, - -48.486631084255414, - 60.32106196347354, - 4.079223599205321, - 32.319089892863815, - -41.34668340359866, - -6.917796525327361, - -49.26129609640228, - 68.73554887005739, - 2.418686828435483, - 80.52496201764376, - -55.300870794659176, - -59.206964627797646, - -95.96083088125917, - -18.597523013363613, - 47.98993621629046, - -73.6978064325847, - -84.76842495411003, - -75.75077583450742, - -96.09162719339479, - -25.728314640543104, - 43.86839589244039, - 13.15480395039694, - -48.46195196452694, - -52.95915779740401, - -14.006732047772985, - 21.69510814172409, - 76.66673883399159, - 48.12142294811815, - 64.0178574522754, - 23.612354911278203, - -96.46550907705537 + 22.975555502750634, + 78.15438048012338, + 9.68611138116071, + 51.29803808129347, + 32.19308601456918, + 87.65037289600019, + 87.25082191311348, + 39.49793996935087, + 80.09963591169489, + 10.220142557736978, + 52.60270021646585, + 1.4128639882603933, + 11.954064466077474, + 85.0007506374375, + 64.7837446465813, + 88.03128735720126, + 11.333851214909307, + 70.61659435728073, + 84.90442561999888, + 79.06688041781518, + 7.328724951604215, + 35.97796581186121, + 10.17730631094398, + 1.4140757517112412, + 78.10038172113374, + 91.59549689157087, + 65.64701225681809, + 55.14215004436653, + 18.432438840756184, + 49.34624267439973, + 15.648024969290454, + 68.02723372727797, + 20.342549040418124, + 26.72794900604616, + 64.87446829774323, + 46.56714896227794, + 79.57832937136276, + 4.338463748959498, + 38.18383968382213, + 45.253981324455175, + 80.9717996657439, + 67.58124910163149, + 6.026499585657263, + 29.77881349289366, + 58.58993337807239, + 2.2384984647495054, + 14.505490166700486, + 68.72449589246624, + 76.45657404642184, + 23.53263275794233 ], "type": "float32" } @@ -137,24 +207,24 @@ "name": "output", "shape": [1, 2, 3, 3], "data": [ - -19.187166213989258, - -11.06234073638916, - -12.179718971252441, - -19.926599502563477, - -16.112550735473633, - -13.494997024536133, - 6.447011947631836, - -5.062127590179443, - -2.5472168922424316, - -45.38702392578125, - -12.495549201965332, - -10.51268482208252, - -57.62693786621094, - -42.174110412597656, - -18.61419105529785, - -17.34123420715332, - -19.694103240966797, - -14.67306900024414 + 43.46498107910156, + 49.37273406982422, + 42.7481689453125, + 50.038944244384766, + 52.452327728271484, + 58.46046447753906, + 32.15948486328125, + 34.75465393066406, + 54.00202560424805, + 49.65404510498047, + 41.824440002441406, + 35.84912109375, + 43.23125457763672, + 37.842769622802734, + 32.67961120605469, + 41.17021942138672, + 42.79708480834961, + 38.987247467041016 ], "type": "float32" } @@ -165,56 +235,56 @@ "input": { "shape": [1, 2, 5, 5], "data": [ - 83.46227700254062, - 33.821312758080836, - -76.80760955483348, - -29.45969284637431, - -46.52967419678973, - -45.55183988629725, - -31.01262212241673, - -64.07866030681286, - -9.310889091915442, - -41.08586138776409, - -73.40547764047231, - 13.158153901575972, - -12.270027157926222, - 76.39896882134298, - 93.52596758105801, - 97.13613783584108, - -1.7500290525074718, - -61.565025090745664, - -54.58282317750749, - -48.486631084255414, - 60.32106196347354, - 4.079223599205321, - 32.319089892863815, - -41.34668340359866, - -6.917796525327361, - -49.26129609640228, - 68.73554887005739, - 2.418686828435483, - 80.52496201764376, - -55.300870794659176, - -59.206964627797646, - -95.96083088125917, - -18.597523013363613, - 47.98993621629046, - -73.6978064325847, - -84.76842495411003, - -75.75077583450742, - -96.09162719339479, - -25.728314640543104, - 43.86839589244039, - 13.15480395039694, - -48.46195196452694, - -52.95915779740401, - -14.006732047772985, - 21.69510814172409, - 76.66673883399159, - 48.12142294811815, - 64.0178574522754, - 23.612354911278203, - -96.46550907705537 + 22.975555502750634, + 78.15438048012338, + 9.68611138116071, + 51.29803808129347, + 32.19308601456918, + 87.65037289600019, + 87.25082191311348, + 39.49793996935087, + 80.09963591169489, + 10.220142557736978, + 52.60270021646585, + 1.4128639882603933, + 11.954064466077474, + 85.0007506374375, + 64.7837446465813, + 88.03128735720126, + 11.333851214909307, + 70.61659435728073, + 84.90442561999888, + 79.06688041781518, + 7.328724951604215, + 35.97796581186121, + 10.17730631094398, + 1.4140757517112412, + 78.10038172113374, + 91.59549689157087, + 65.64701225681809, + 55.14215004436653, + 18.432438840756184, + 49.34624267439973, + 15.648024969290454, + 68.02723372727797, + 20.342549040418124, + 26.72794900604616, + 64.87446829774323, + 46.56714896227794, + 79.57832937136276, + 4.338463748959498, + 38.18383968382213, + 45.253981324455175, + 80.9717996657439, + 67.58124910163149, + 6.026499585657263, + 29.77881349289366, + 58.58993337807239, + 2.2384984647495054, + 14.505490166700486, + 68.72449589246624, + 76.45657404642184, + 23.53263275794233 ], "type": "float32" } @@ -226,14 +296,14 @@ "name": "output", "shape": [1, 2, 2, 2], "data": [ - -9.91970157623291, - -16.252195358276367, - -5.997565746307373, - -13.595065116882324, - -23.570241928100586, - -18.207683563232422, - -14.21807861328125, - -12.60184097290039 + 52.43666076660156, + 49.84208297729492, + 47.26926803588867, + 46.15715408325195, + 46.63268280029297, + 43.616947174072266, + 44.72445297241211, + 44.05451583862305 ], "type": "float32" } @@ -244,56 +314,56 @@ "input": { "shape": [1, 2, 5, 5], "data": [ - 83.46227700254062, - 33.821312758080836, - -76.80760955483348, - -29.45969284637431, - -46.52967419678973, - -45.55183988629725, - -31.01262212241673, - -64.07866030681286, - -9.310889091915442, - -41.08586138776409, - -73.40547764047231, - 13.158153901575972, - -12.270027157926222, - 76.39896882134298, - 93.52596758105801, - 97.13613783584108, - -1.7500290525074718, - -61.565025090745664, - -54.58282317750749, - -48.486631084255414, - 60.32106196347354, - 4.079223599205321, - 32.319089892863815, - -41.34668340359866, - -6.917796525327361, - -49.26129609640228, - 68.73554887005739, - 2.418686828435483, - 80.52496201764376, - -55.300870794659176, - -59.206964627797646, - -95.96083088125917, - -18.597523013363613, - 47.98993621629046, - -73.6978064325847, - -84.76842495411003, - -75.75077583450742, - -96.09162719339479, - -25.728314640543104, - 43.86839589244039, - 13.15480395039694, - -48.46195196452694, - -52.95915779740401, - -14.006732047772985, - 21.69510814172409, - 76.66673883399159, - 48.12142294811815, - 64.0178574522754, - 23.612354911278203, - -96.46550907705537 + 22.975555502750634, + 78.15438048012338, + 9.68611138116071, + 51.29803808129347, + 32.19308601456918, + 87.65037289600019, + 87.25082191311348, + 39.49793996935087, + 80.09963591169489, + 10.220142557736978, + 52.60270021646585, + 1.4128639882603933, + 11.954064466077474, + 85.0007506374375, + 64.7837446465813, + 88.03128735720126, + 11.333851214909307, + 70.61659435728073, + 84.90442561999888, + 79.06688041781518, + 7.328724951604215, + 35.97796581186121, + 10.17730631094398, + 1.4140757517112412, + 78.10038172113374, + 91.59549689157087, + 65.64701225681809, + 55.14215004436653, + 18.432438840756184, + 49.34624267439973, + 15.648024969290454, + 68.02723372727797, + 20.342549040418124, + 26.72794900604616, + 64.87446829774323, + 46.56714896227794, + 79.57832937136276, + 4.338463748959498, + 38.18383968382213, + 45.253981324455175, + 80.9717996657439, + 67.58124910163149, + 6.026499585657263, + 29.77881349289366, + 58.58993337807239, + 2.2384984647495054, + 14.505490166700486, + 68.72449589246624, + 76.45657404642184, + 23.53263275794233 ], "type": "float32" } @@ -306,14 +376,14 @@ "name": "output", "shape": [1, 2, 2, 2], "data": [ - -19.187166213989258, - -12.179718971252441, - 6.447011947631836, - -2.5472168922424316, - -45.38702392578125, - -10.51268482208252, - -17.34123420715332, - -14.67306900024414 + 43.46498107910156, + 42.7481689453125, + 32.15948486328125, + 54.00202560424805, + 49.65404510498047, + 35.84912109375, + 41.17021942138672, + 38.987247467041016 ], "type": "float32" } @@ -324,56 +394,56 @@ "input": { "shape": [1, 2, 5, 5], "data": [ - 83.46227700254062, - 33.821312758080836, - -76.80760955483348, - -29.45969284637431, - -46.52967419678973, - -45.55183988629725, - -31.01262212241673, - -64.07866030681286, - -9.310889091915442, - -41.08586138776409, - -73.40547764047231, - 13.158153901575972, - -12.270027157926222, - 76.39896882134298, - 93.52596758105801, - 97.13613783584108, - -1.7500290525074718, - -61.565025090745664, - -54.58282317750749, - -48.486631084255414, - 60.32106196347354, - 4.079223599205321, - 32.319089892863815, - -41.34668340359866, - -6.917796525327361, - -49.26129609640228, - 68.73554887005739, - 2.418686828435483, - 80.52496201764376, - -55.300870794659176, - -59.206964627797646, - -95.96083088125917, - -18.597523013363613, - 47.98993621629046, - -73.6978064325847, - -84.76842495411003, - -75.75077583450742, - -96.09162719339479, - -25.728314640543104, - 43.86839589244039, - 13.15480395039694, - -48.46195196452694, - -52.95915779740401, - -14.006732047772985, - 21.69510814172409, - 76.66673883399159, - 48.12142294811815, - 64.0178574522754, - 23.612354911278203, - -96.46550907705537 + 22.975555502750634, + 78.15438048012338, + 9.68611138116071, + 51.29803808129347, + 32.19308601456918, + 87.65037289600019, + 87.25082191311348, + 39.49793996935087, + 80.09963591169489, + 10.220142557736978, + 52.60270021646585, + 1.4128639882603933, + 11.954064466077474, + 85.0007506374375, + 64.7837446465813, + 88.03128735720126, + 11.333851214909307, + 70.61659435728073, + 84.90442561999888, + 79.06688041781518, + 7.328724951604215, + 35.97796581186121, + 10.17730631094398, + 1.4140757517112412, + 78.10038172113374, + 91.59549689157087, + 65.64701225681809, + 55.14215004436653, + 18.432438840756184, + 49.34624267439973, + 15.648024969290454, + 68.02723372727797, + 20.342549040418124, + 26.72794900604616, + 64.87446829774323, + 46.56714896227794, + 79.57832937136276, + 4.338463748959498, + 38.18383968382213, + 45.253981324455175, + 80.9717996657439, + 67.58124910163149, + 6.026499585657263, + 29.77881349289366, + 58.58993337807239, + 2.2384984647495054, + 14.505490166700486, + 68.72449589246624, + 76.45657404642184, + 23.53263275794233 ], "type": "float32" } @@ -386,8 +456,8 @@ "name": "output", "shape": [1, 2, 1, 1], "data": [ - 5.966423988342285, - -21.657337188720703 + 32.2001838684082, + 42.971012115478516 ], "type": "float32" } @@ -398,56 +468,56 @@ "input": { "shape": [1, 2, 5, 5], "data": [ - 83.46227700254062, - 33.821312758080836, - -76.80760955483348, - -29.45969284637431, - -46.52967419678973, - -45.55183988629725, - -31.01262212241673, - -64.07866030681286, - -9.310889091915442, - -41.08586138776409, - -73.40547764047231, - 13.158153901575972, - -12.270027157926222, - 76.39896882134298, - 93.52596758105801, - 97.13613783584108, - -1.7500290525074718, - -61.565025090745664, - -54.58282317750749, - -48.486631084255414, - 60.32106196347354, - 4.079223599205321, - 32.319089892863815, - -41.34668340359866, - -6.917796525327361, - -49.26129609640228, - 68.73554887005739, - 2.418686828435483, - 80.52496201764376, - -55.300870794659176, - -59.206964627797646, - -95.96083088125917, - -18.597523013363613, - 47.98993621629046, - -73.6978064325847, - -84.76842495411003, - -75.75077583450742, - -96.09162719339479, - -25.728314640543104, - 43.86839589244039, - 13.15480395039694, - -48.46195196452694, - -52.95915779740401, - -14.006732047772985, - 21.69510814172409, - 76.66673883399159, - 48.12142294811815, - 64.0178574522754, - 23.612354911278203, - -96.46550907705537 + 22.975555502750634, + 78.15438048012338, + 9.68611138116071, + 51.29803808129347, + 32.19308601456918, + 87.65037289600019, + 87.25082191311348, + 39.49793996935087, + 80.09963591169489, + 10.220142557736978, + 52.60270021646585, + 1.4128639882603933, + 11.954064466077474, + 85.0007506374375, + 64.7837446465813, + 88.03128735720126, + 11.333851214909307, + 70.61659435728073, + 84.90442561999888, + 79.06688041781518, + 7.328724951604215, + 35.97796581186121, + 10.17730631094398, + 1.4140757517112412, + 78.10038172113374, + 91.59549689157087, + 65.64701225681809, + 55.14215004436653, + 18.432438840756184, + 49.34624267439973, + 15.648024969290454, + 68.02723372727797, + 20.342549040418124, + 26.72794900604616, + 64.87446829774323, + 46.56714896227794, + 79.57832937136276, + 4.338463748959498, + 38.18383968382213, + 45.253981324455175, + 80.9717996657439, + 67.58124910163149, + 6.026499585657263, + 29.77881349289366, + 58.58993337807239, + 2.2384984647495054, + 14.505490166700486, + 68.72449589246624, + 76.45657404642184, + 23.53263275794233 ], "type": "float32" } @@ -460,14 +530,14 @@ "name": "output", "shape": [1, 2, 2, 2], "data": [ - -9.91970157623291, - -16.252195358276367, - -5.997565746307373, - -13.595065116882324, - -23.570241928100586, - -18.207683563232422, - -14.21807861328125, - -12.60184097290039 + 52.43666076660156, + 49.84208297729492, + 47.26926803588867, + 46.15715408325195, + 46.63268280029297, + 43.616947174072266, + 44.72445297241211, + 44.05451583862305 ], "type": "float32" } @@ -478,38 +548,38 @@ "input": { "shape": [1, 2, 4, 4], "data": [ - 20.461893134001002, - 27.71435359605556, - -42.315830233414346, - -51.65346047769157, - 16.158363278823046, - -15.135269805305455, - -24.163065001995136, - 65.25802297619487, - 83.31473695044912, - -21.27687056752295, - 96.84630535255647, - -86.058102648049, - -99.80924333791678, - 34.56699232050829, - -97.49026531735568, - 50.82942572065798, - 72.09933087589434, - -24.73489073432367, - -32.74307455513252, - 48.922122350892096, - 31.59330496290545, - 33.73197892358871, - 2.7375341262959836, - -46.20138588909866, - -27.725801256338926, - -66.8780518480621, - -68.83558472458371, - -45.643418274624146, - 1.1055442599496814, - -88.63018057742154, - 40.13517468441114, - -14.216904330557824 + 18.669797402066955, + 95.74087629574039, + 24.142204556566483, + 51.13168108230512, + 32.59428648032041, + 36.33802591707573, + 27.143744148346705, + 61.289996123672566, + 0.728295383811961, + 60.81457168719891, + 95.0135160845949, + 65.57073366405261, + 24.878494968304032, + 54.664386232007665, + 26.61406921126077, + 52.134243150024886, + 12.628756510724926, + 83.86613668699508, + 10.754655927067148, + 14.330409913484088, + 29.797547470611676, + 4.38582170135331, + 3.052249580313382, + 22.562494369151654, + 6.22880691096237, + 84.28155043844244, + 11.095604502619949, + 43.65773966541213, + 20.380576521492454, + 94.70740415350079, + 29.785210365576088, + 49.15286022732512 ], "type": "float32" } @@ -523,14 +593,14 @@ "name": "output", "shape": [1, 2, 2, 2], "data": [ - 15.733845710754395, - -7.014355182647705, - -0.6413905024528503, - -8.968159675598145, - -8.972806930541992, - -23.627302169799805, - -35.13814926147461, - -22.14018440246582 + 43.46503448486328, + 54.04864501953125, + 43.78555679321289, + 59.8331413269043, + 27.34345817565918, + 17.575525283813477, + 41.079856872558594, + 33.422855377197266 ], "type": "float32" } @@ -541,38 +611,38 @@ "input": { "shape": [1, 2, 4, 4], "data": [ - 20.461893134001002, - 27.71435359605556, - -42.315830233414346, - -51.65346047769157, - 16.158363278823046, - -15.135269805305455, - -24.163065001995136, - 65.25802297619487, - 83.31473695044912, - -21.27687056752295, - 96.84630535255647, - -86.058102648049, - -99.80924333791678, - 34.56699232050829, - -97.49026531735568, - 50.82942572065798, - 72.09933087589434, - -24.73489073432367, - -32.74307455513252, - 48.922122350892096, - 31.59330496290545, - 33.73197892358871, - 2.7375341262959836, - -46.20138588909866, - -27.725801256338926, - -66.8780518480621, - -68.83558472458371, - -45.643418274624146, - 1.1055442599496814, - -88.63018057742154, - 40.13517468441114, - -14.216904330557824 + 18.669797402066955, + 95.74087629574039, + 24.142204556566483, + 51.13168108230512, + 32.59428648032041, + 36.33802591707573, + 27.143744148346705, + 61.289996123672566, + 0.728295383811961, + 60.81457168719891, + 95.0135160845949, + 65.57073366405261, + 24.878494968304032, + 54.664386232007665, + 26.61406921126077, + 52.134243150024886, + 12.628756510724926, + 83.86613668699508, + 10.754655927067148, + 14.330409913484088, + 29.797547470611676, + 4.38582170135331, + 3.052249580313382, + 22.562494369151654, + 6.22880691096237, + 84.28155043844244, + 11.095604502619949, + 43.65773966541213, + 20.380576521492454, + 94.70740415350079, + 29.785210365576088, + 49.15286022732512 ], "type": "float32" } @@ -586,14 +656,14 @@ "name": "output", "shape": [1, 2, 2, 2], "data": [ - 12.299835205078125, - -6.715874671936035, - -0.3635484278202057, - 0.3752416968345642, - 28.17243003845215, - -3.047952651977539, - -19.467201232910156, - -28.200092315673828 + 45.83574676513672, + 49.297752380371094, + 35.00300979614258, + 53.28703308105469, + 32.6695671081543, + 23.158628463745117, + 39.963619232177734, + 38.075660705566406 ], "type": "float32" } @@ -604,38 +674,38 @@ "input": { "shape": [1, 2, 4, 4], "data": [ - 20.461893134001002, - 27.71435359605556, - -42.315830233414346, - -51.65346047769157, - 16.158363278823046, - -15.135269805305455, - -24.163065001995136, - 65.25802297619487, - 83.31473695044912, - -21.27687056752295, - 96.84630535255647, - -86.058102648049, - -99.80924333791678, - 34.56699232050829, - -97.49026531735568, - 50.82942572065798, - 72.09933087589434, - -24.73489073432367, - -32.74307455513252, - 48.922122350892096, - 31.59330496290545, - 33.73197892358871, - 2.7375341262959836, - -46.20138588909866, - -27.725801256338926, - -66.8780518480621, - -68.83558472458371, - -45.643418274624146, - 1.1055442599496814, - -88.63018057742154, - 40.13517468441114, - -14.216904330557824 + 18.669797402066955, + 95.74087629574039, + 24.142204556566483, + 51.13168108230512, + 32.59428648032041, + 36.33802591707573, + 27.143744148346705, + 61.289996123672566, + 0.728295383811961, + 60.81457168719891, + 95.0135160845949, + 65.57073366405261, + 24.878494968304032, + 54.664386232007665, + 26.61406921126077, + 52.134243150024886, + 12.628756510724926, + 83.86613668699508, + 10.754655927067148, + 14.330409913484088, + 29.797547470611676, + 4.38582170135331, + 3.052249580313382, + 22.562494369151654, + 6.22880691096237, + 84.28155043844244, + 11.095604502619949, + 43.65773966541213, + 20.380576521492454, + 94.70740415350079, + 29.785210365576088, + 49.15286022732512 ], "type": "float32" } @@ -650,14 +720,14 @@ "name": "output", "shape": [1, 2, 2, 2], "data": [ - 15.733845710754395, - -7.014355182647705, - -0.6413905024528503, - -8.968159675598145, - -8.972806930541992, - -23.627302169799805, - -35.13814926147461, - -22.14018440246582 + 43.46503448486328, + 54.04864501953125, + 43.78555679321289, + 59.8331413269043, + 27.34345817565918, + 17.575525283813477, + 41.079856872558594, + 33.422855377197266 ], "type": "float32" } @@ -668,38 +738,38 @@ "input": { "shape": [1, 2, 4, 4], "data": [ - 20.461893134001002, - 27.71435359605556, - -42.315830233414346, - -51.65346047769157, - 16.158363278823046, - -15.135269805305455, - -24.163065001995136, - 65.25802297619487, - 83.31473695044912, - -21.27687056752295, - 96.84630535255647, - -86.058102648049, - -99.80924333791678, - 34.56699232050829, - -97.49026531735568, - 50.82942572065798, - 72.09933087589434, - -24.73489073432367, - -32.74307455513252, - 48.922122350892096, - 31.59330496290545, - 33.73197892358871, - 2.7375341262959836, - -46.20138588909866, - -27.725801256338926, - -66.8780518480621, - -68.83558472458371, - -45.643418274624146, - 1.1055442599496814, - -88.63018057742154, - 40.13517468441114, - -14.216904330557824 + 18.669797402066955, + 95.74087629574039, + 24.142204556566483, + 51.13168108230512, + 32.59428648032041, + 36.33802591707573, + 27.143744148346705, + 61.289996123672566, + 0.728295383811961, + 60.81457168719891, + 95.0135160845949, + 65.57073366405261, + 24.878494968304032, + 54.664386232007665, + 26.61406921126077, + 52.134243150024886, + 12.628756510724926, + 83.86613668699508, + 10.754655927067148, + 14.330409913484088, + 29.797547470611676, + 4.38582170135331, + 3.052249580313382, + 22.562494369151654, + 6.22880691096237, + 84.28155043844244, + 11.095604502619949, + 43.65773966541213, + 20.380576521492454, + 94.70740415350079, + 29.785210365576088, + 49.15286022732512 ], "type": "float32" } @@ -714,14 +784,14 @@ "name": "output", "shape": [1, 2, 2, 2], "data": [ - 12.299835205078125, - -6.715874671936035, - -0.3635484278202057, - 0.3752416968345642, - 28.17243003845215, - -3.047952651977539, - -19.467201232910156, - -28.200092315673828 + 45.83574676513672, + 49.297752380371094, + 35.00300979614258, + 53.28703308105469, + 32.6695671081543, + 23.158628463745117, + 39.963619232177734, + 38.075660705566406 ], "type": "float32" } @@ -732,56 +802,56 @@ "input": { "shape": [1, 2, 5, 5], "data": [ - 83.46227700254062, - 33.821312758080836, - -76.80760955483348, - -29.45969284637431, - -46.52967419678973, - -45.55183988629725, - -31.01262212241673, - -64.07866030681286, - -9.310889091915442, - -41.08586138776409, - -73.40547764047231, - 13.158153901575972, - -12.270027157926222, - 76.39896882134298, - 93.52596758105801, - 97.13613783584108, - -1.7500290525074718, - -61.565025090745664, - -54.58282317750749, - -48.486631084255414, - 60.32106196347354, - 4.079223599205321, - 32.319089892863815, - -41.34668340359866, - -6.917796525327361, - -49.26129609640228, - 68.73554887005739, - 2.418686828435483, - 80.52496201764376, - -55.300870794659176, - -59.206964627797646, - -95.96083088125917, - -18.597523013363613, - 47.98993621629046, - -73.6978064325847, - -84.76842495411003, - -75.75077583450742, - -96.09162719339479, - -25.728314640543104, - 43.86839589244039, - 13.15480395039694, - -48.46195196452694, - -52.95915779740401, - -14.006732047772985, - 21.69510814172409, - 76.66673883399159, - 48.12142294811815, - 64.0178574522754, - 23.612354911278203, - -96.46550907705537 + 22.975555502750634, + 78.15438048012338, + 9.68611138116071, + 51.29803808129347, + 32.19308601456918, + 87.65037289600019, + 87.25082191311348, + 39.49793996935087, + 80.09963591169489, + 10.220142557736978, + 52.60270021646585, + 1.4128639882603933, + 11.954064466077474, + 85.0007506374375, + 64.7837446465813, + 88.03128735720126, + 11.333851214909307, + 70.61659435728073, + 84.90442561999888, + 79.06688041781518, + 7.328724951604215, + 35.97796581186121, + 10.17730631094398, + 1.4140757517112412, + 78.10038172113374, + 91.59549689157087, + 65.64701225681809, + 55.14215004436653, + 18.432438840756184, + 49.34624267439973, + 15.648024969290454, + 68.02723372727797, + 20.342549040418124, + 26.72794900604616, + 64.87446829774323, + 46.56714896227794, + 79.57832937136276, + 4.338463748959498, + 38.18383968382213, + 45.253981324455175, + 80.9717996657439, + 67.58124910163149, + 6.026499585657263, + 29.77881349289366, + 58.58993337807239, + 2.2384984647495054, + 14.505490166700486, + 68.72449589246624, + 76.45657404642184, + 23.53263275794233 ], "type": "float32" } @@ -793,8 +863,8 @@ "name": "output", "shape": [1, 2, 1, 1], "data": [ - -5.997565746307373, - -14.21807861328125 + 47.26926803588867, + 44.72445297241211 ], "type": "float32" } @@ -805,56 +875,56 @@ "input": { "shape": [1, 5, 5, 2], "data": [ - 83.46227700254062, - -49.26129609640228, - 33.821312758080836, - 68.73554887005739, - -76.80760955483348, - 2.418686828435483, - -29.45969284637431, - 80.52496201764376, - -46.52967419678973, - -55.300870794659176, - -45.55183988629725, - -59.206964627797646, - -31.01262212241673, - -95.96083088125917, - -64.07866030681286, - -18.597523013363613, - -9.310889091915442, - 47.98993621629046, - -41.08586138776409, - -73.6978064325847, - -73.40547764047231, - -84.76842495411003, - 13.158153901575972, - -75.75077583450742, - -12.270027157926222, - -96.09162719339479, - 76.39896882134298, - -25.728314640543104, - 93.52596758105801, - 43.86839589244039, - 97.13613783584108, - 13.15480395039694, - -1.7500290525074718, - -48.46195196452694, - -61.565025090745664, - -52.95915779740401, - -54.58282317750749, - -14.006732047772985, - -48.486631084255414, - 21.69510814172409, - 60.32106196347354, - 76.66673883399159, - 4.079223599205321, - 48.12142294811815, - 32.319089892863815, - 64.0178574522754, - -41.34668340359866, - 23.612354911278203, - -6.917796525327361, - -96.46550907705537 + 22.975555502750634, + 91.59549689157087, + 78.15438048012338, + 65.64701225681809, + 9.68611138116071, + 55.14215004436653, + 51.29803808129347, + 18.432438840756184, + 32.19308601456918, + 49.34624267439973, + 87.65037289600019, + 15.648024969290454, + 87.25082191311348, + 68.02723372727797, + 39.49793996935087, + 20.342549040418124, + 80.09963591169489, + 26.72794900604616, + 10.220142557736978, + 64.87446829774323, + 52.60270021646585, + 46.56714896227794, + 1.4128639882603933, + 79.57832937136276, + 11.954064466077474, + 4.338463748959498, + 85.0007506374375, + 38.18383968382213, + 64.7837446465813, + 45.253981324455175, + 88.03128735720126, + 80.9717996657439, + 11.333851214909307, + 67.58124910163149, + 70.61659435728073, + 6.026499585657263, + 84.90442561999888, + 29.77881349289366, + 79.06688041781518, + 58.58993337807239, + 7.328724951604215, + 2.2384984647495054, + 35.97796581186121, + 14.505490166700486, + 10.17730631094398, + 68.72449589246624, + 1.4140757517112412, + 76.45657404642184, + 78.10038172113374, + 23.53263275794233 ], "type": "float32" } @@ -866,8 +936,8 @@ "name": "output", "shape": [1, 1, 1, 2], "data": [ - -5.997565746307373, - -14.21807861328125 + 47.26926803588867, + 44.72445297241211 ], "type": "float32" } @@ -878,56 +948,56 @@ "input": { "shape": [1, 2, 5, 5], "data": [ - 83.46227700254062, - 33.821312758080836, - -76.80760955483348, - -29.45969284637431, - -46.52967419678973, - -45.55183988629725, - -31.01262212241673, - -64.07866030681286, - -9.310889091915442, - -41.08586138776409, - -73.40547764047231, - 13.158153901575972, - -12.270027157926222, - 76.39896882134298, - 93.52596758105801, - 97.13613783584108, - -1.7500290525074718, - -61.565025090745664, - -54.58282317750749, - -48.486631084255414, - 60.32106196347354, - 4.079223599205321, - 32.319089892863815, - -41.34668340359866, - -6.917796525327361, - -49.26129609640228, - 68.73554887005739, - 2.418686828435483, - 80.52496201764376, - -55.300870794659176, - -59.206964627797646, - -95.96083088125917, - -18.597523013363613, - 47.98993621629046, - -73.6978064325847, - -84.76842495411003, - -75.75077583450742, - -96.09162719339479, - -25.728314640543104, - 43.86839589244039, - 13.15480395039694, - -48.46195196452694, - -52.95915779740401, - -14.006732047772985, - 21.69510814172409, - 76.66673883399159, - 48.12142294811815, - 64.0178574522754, - 23.612354911278203, - -96.46550907705537 + 22.975555502750634, + 78.15438048012338, + 9.68611138116071, + 51.29803808129347, + 32.19308601456918, + 87.65037289600019, + 87.25082191311348, + 39.49793996935087, + 80.09963591169489, + 10.220142557736978, + 52.60270021646585, + 1.4128639882603933, + 11.954064466077474, + 85.0007506374375, + 64.7837446465813, + 88.03128735720126, + 11.333851214909307, + 70.61659435728073, + 84.90442561999888, + 79.06688041781518, + 7.328724951604215, + 35.97796581186121, + 10.17730631094398, + 1.4140757517112412, + 78.10038172113374, + 91.59549689157087, + 65.64701225681809, + 55.14215004436653, + 18.432438840756184, + 49.34624267439973, + 15.648024969290454, + 68.02723372727797, + 20.342549040418124, + 26.72794900604616, + 64.87446829774323, + 46.56714896227794, + 79.57832937136276, + 4.338463748959498, + 38.18383968382213, + 45.253981324455175, + 80.9717996657439, + 67.58124910163149, + 6.026499585657263, + 29.77881349289366, + 58.58993337807239, + 2.2384984647495054, + 14.505490166700486, + 68.72449589246624, + 76.45657404642184, + 23.53263275794233 ], "type": "float32" } @@ -942,14 +1012,14 @@ "name": "output", "shape": [1, 2, 2, 2], "data": [ - -16.694522857666016, - -44.5453987121582, - -19.926599502563477, - -13.494997024536133, - -25.312063217163086, - -2.777101993560791, - -57.62693786621094, - -18.61419105529785 + 54.20252990722656, + 37.16582489013672, + 50.038944244384766, + 58.46046447753906, + 52.73374557495117, + 39.1442985534668, + 43.23125457763672, + 32.67961120605469 ], "type": "float32" } @@ -960,56 +1030,56 @@ "input": { "shape": [1, 2, 5, 5], "data": [ - 83.46227700254062, - 33.821312758080836, - -76.80760955483348, - -29.45969284637431, - -46.52967419678973, - -45.55183988629725, - -31.01262212241673, - -64.07866030681286, - -9.310889091915442, - -41.08586138776409, - -73.40547764047231, - 13.158153901575972, - -12.270027157926222, - 76.39896882134298, - 93.52596758105801, - 97.13613783584108, - -1.7500290525074718, - -61.565025090745664, - -54.58282317750749, - -48.486631084255414, - 60.32106196347354, - 4.079223599205321, - 32.319089892863815, - -41.34668340359866, - -6.917796525327361, - -49.26129609640228, - 68.73554887005739, - 2.418686828435483, - 80.52496201764376, - -55.300870794659176, - -59.206964627797646, - -95.96083088125917, - -18.597523013363613, - 47.98993621629046, - -73.6978064325847, - -84.76842495411003, - -75.75077583450742, - -96.09162719339479, - -25.728314640543104, - 43.86839589244039, - 13.15480395039694, - -48.46195196452694, - -52.95915779740401, - -14.006732047772985, - 21.69510814172409, - 76.66673883399159, - 48.12142294811815, - 64.0178574522754, - 23.612354911278203, - -96.46550907705537 + 22.975555502750634, + 78.15438048012338, + 9.68611138116071, + 51.29803808129347, + 32.19308601456918, + 87.65037289600019, + 87.25082191311348, + 39.49793996935087, + 80.09963591169489, + 10.220142557736978, + 52.60270021646585, + 1.4128639882603933, + 11.954064466077474, + 85.0007506374375, + 64.7837446465813, + 88.03128735720126, + 11.333851214909307, + 70.61659435728073, + 84.90442561999888, + 79.06688041781518, + 7.328724951604215, + 35.97796581186121, + 10.17730631094398, + 1.4140757517112412, + 78.10038172113374, + 91.59549689157087, + 65.64701225681809, + 55.14215004436653, + 18.432438840756184, + 49.34624267439973, + 15.648024969290454, + 68.02723372727797, + 20.342549040418124, + 26.72794900604616, + 64.87446829774323, + 46.56714896227794, + 79.57832937136276, + 4.338463748959498, + 38.18383968382213, + 45.253981324455175, + 80.9717996657439, + 67.58124910163149, + 6.026499585657263, + 29.77881349289366, + 58.58993337807239, + 2.2384984647495054, + 14.505490166700486, + 68.72449589246624, + 76.45657404642184, + 23.53263275794233 ], "type": "float32" } @@ -1024,24 +1094,24 @@ "name": "output", "shape": [1, 2, 3, 3], "data": [ - -16.694522857666016, - -44.5453987121582, - -43.807769775390625, - -19.926599502563477, - -13.494997024536133, - 1.3178266286849976, - 21.756742477416992, - -30.09664535522461, - -27.702213287353516, - -25.312063217163086, - -2.777101993560791, - -64.49933624267578, - -57.62693786621094, - -18.61419105529785, - -2.7114341259002686, - 16.756620407104492, - -9.017679214477539, - -37.38520050048828 + 54.20252990722656, + 37.16582489013672, + 21.206613540649414, + 50.038944244384766, + 58.46046447753906, + 51.3569221496582, + 37.24428939819336, + 54.04661178588867, + 78.58363342285156, + 52.73374557495117, + 39.1442985534668, + 57.1103515625, + 43.23125457763672, + 32.67961120605469, + 56.23945999145508, + 40.00800323486328, + 43.85149002075195, + 41.061283111572266 ], "type": "float32" } @@ -1052,56 +1122,56 @@ "input": { "shape": [1, 2, 5, 5], "data": [ - 83.46227700254062, - 33.821312758080836, - -76.80760955483348, - -29.45969284637431, - -46.52967419678973, - -45.55183988629725, - -31.01262212241673, - -64.07866030681286, - -9.310889091915442, - -41.08586138776409, - -73.40547764047231, - 13.158153901575972, - -12.270027157926222, - 76.39896882134298, - 93.52596758105801, - 97.13613783584108, - -1.7500290525074718, - -61.565025090745664, - -54.58282317750749, - -48.486631084255414, - 60.32106196347354, - 4.079223599205321, - 32.319089892863815, - -41.34668340359866, - -6.917796525327361, - -49.26129609640228, - 68.73554887005739, - 2.418686828435483, - 80.52496201764376, - -55.300870794659176, - -59.206964627797646, - -95.96083088125917, - -18.597523013363613, - 47.98993621629046, - -73.6978064325847, - -84.76842495411003, - -75.75077583450742, - -96.09162719339479, - -25.728314640543104, - 43.86839589244039, - 13.15480395039694, - -48.46195196452694, - -52.95915779740401, - -14.006732047772985, - 21.69510814172409, - 76.66673883399159, - 48.12142294811815, - 64.0178574522754, - 23.612354911278203, - -96.46550907705537 + 22.975555502750634, + 78.15438048012338, + 9.68611138116071, + 51.29803808129347, + 32.19308601456918, + 87.65037289600019, + 87.25082191311348, + 39.49793996935087, + 80.09963591169489, + 10.220142557736978, + 52.60270021646585, + 1.4128639882603933, + 11.954064466077474, + 85.0007506374375, + 64.7837446465813, + 88.03128735720126, + 11.333851214909307, + 70.61659435728073, + 84.90442561999888, + 79.06688041781518, + 7.328724951604215, + 35.97796581186121, + 10.17730631094398, + 1.4140757517112412, + 78.10038172113374, + 91.59549689157087, + 65.64701225681809, + 55.14215004436653, + 18.432438840756184, + 49.34624267439973, + 15.648024969290454, + 68.02723372727797, + 20.342549040418124, + 26.72794900604616, + 64.87446829774323, + 46.56714896227794, + 79.57832937136276, + 4.338463748959498, + 38.18383968382213, + 45.253981324455175, + 80.9717996657439, + 67.58124910163149, + 6.026499585657263, + 29.77881349289366, + 58.58993337807239, + 2.2384984647495054, + 14.505490166700486, + 68.72449589246624, + 76.45657404642184, + 23.53263275794233 ], "type": "float32" } @@ -1117,24 +1187,24 @@ "name": "output", "shape": [1, 2, 3, 3], "data": [ - -16.694522857666016, - -44.5453987121582, - -43.807769775390625, - -19.926599502563477, - -13.494997024536133, - 1.3178266286849976, - 21.756742477416992, - -30.09664535522461, - -27.702213287353516, - -25.312063217163086, - -2.777101993560791, - -64.49933624267578, - -57.62693786621094, - -18.61419105529785, - -2.7114341259002686, - 16.756620407104492, - -9.017679214477539, - -37.38520050048828 + 54.20252990722656, + 37.16582489013672, + 21.206613540649414, + 50.038944244384766, + 58.46046447753906, + 51.3569221496582, + 37.24428939819336, + 54.04661178588867, + 78.58363342285156, + 52.73374557495117, + 39.1442985534668, + 57.1103515625, + 43.23125457763672, + 32.67961120605469, + 56.23945999145508, + 40.00800323486328, + 43.85149002075195, + 41.061283111572266 ], "type": "float32" } @@ -1145,56 +1215,56 @@ "input": { "shape": [1, 2, 5, 5], "data": [ - 83.46227700254062, - 33.821312758080836, - -76.80760955483348, - -29.45969284637431, - -46.52967419678973, - -45.55183988629725, - -31.01262212241673, - -64.07866030681286, - -9.310889091915442, - -41.08586138776409, - -73.40547764047231, - 13.158153901575972, - -12.270027157926222, - 76.39896882134298, - 93.52596758105801, - 97.13613783584108, - -1.7500290525074718, - -61.565025090745664, - -54.58282317750749, - -48.486631084255414, - 60.32106196347354, - 4.079223599205321, - 32.319089892863815, - -41.34668340359866, - -6.917796525327361, - -49.26129609640228, - 68.73554887005739, - 2.418686828435483, - 80.52496201764376, - -55.300870794659176, - -59.206964627797646, - -95.96083088125917, - -18.597523013363613, - 47.98993621629046, - -73.6978064325847, - -84.76842495411003, - -75.75077583450742, - -96.09162719339479, - -25.728314640543104, - 43.86839589244039, - 13.15480395039694, - -48.46195196452694, - -52.95915779740401, - -14.006732047772985, - 21.69510814172409, - 76.66673883399159, - 48.12142294811815, - 64.0178574522754, - 23.612354911278203, - -96.46550907705537 + 22.975555502750634, + 78.15438048012338, + 9.68611138116071, + 51.29803808129347, + 32.19308601456918, + 87.65037289600019, + 87.25082191311348, + 39.49793996935087, + 80.09963591169489, + 10.220142557736978, + 52.60270021646585, + 1.4128639882603933, + 11.954064466077474, + 85.0007506374375, + 64.7837446465813, + 88.03128735720126, + 11.333851214909307, + 70.61659435728073, + 84.90442561999888, + 79.06688041781518, + 7.328724951604215, + 35.97796581186121, + 10.17730631094398, + 1.4140757517112412, + 78.10038172113374, + 91.59549689157087, + 65.64701225681809, + 55.14215004436653, + 18.432438840756184, + 49.34624267439973, + 15.648024969290454, + 68.02723372727797, + 20.342549040418124, + 26.72794900604616, + 64.87446829774323, + 46.56714896227794, + 79.57832937136276, + 4.338463748959498, + 38.18383968382213, + 45.253981324455175, + 80.9717996657439, + 67.58124910163149, + 6.026499585657263, + 29.77881349289366, + 58.58993337807239, + 2.2384984647495054, + 14.505490166700486, + 68.72449589246624, + 76.45657404642184, + 23.53263275794233 ], "type": "float32" } @@ -1210,14 +1280,14 @@ "name": "output", "shape": [1, 2, 2, 2], "data": [ - -16.694522857666016, - -44.5453987121582, - -19.926599502563477, - -13.494997024536133, - -25.312063217163086, - -2.777101993560791, - -57.62693786621094, - -18.61419105529785 + 54.20252990722656, + 37.16582489013672, + 50.038944244384766, + 58.46046447753906, + 52.73374557495117, + 39.1442985534668, + 43.23125457763672, + 32.67961120605469 ], "type": "float32" } @@ -1228,104 +1298,104 @@ "input": { "shape": [1, 7, 7, 2], "data": [ - -68.62557020696815, - -94.69098419134498, - -21.020286159397685, - 50.44156641351182, - 15.071063373234892, - -44.041774749892994, - -9.447535219701692, - -55.94677811783235, - -14.496251290761379, - 84.60435209328762, - 32.08895103610101, - 30.02557486439966, - 12.77174047614156, - -59.43739359632647, - -44.74592459902858, - 80.70472647641557, - 9.297827824074247, - -5.1739910809300795, - 89.91646781270947, - 29.291514962542124, - -67.17106137197715, - -9.220385990302475, - -3.0612675345675484, - -6.069840480166505, - 79.06002710716876, - 10.560633293664125, - 8.571812725168598, - -83.74724204696471, - -68.48414629851965, - -82.49125080621505, - -2.1553453974851493, - -56.933084460286175, - -2.125115007914772, - 84.70250722493046, - -39.144590796189235, - -33.371187301614526, - -44.54592779846869, - -40.686313030806566, - -27.172248050584088, - -38.596764924548886, - 27.652375471925964, - -66.86280299047876, - 8.320570333120799, - -13.53865131680108, - 19.31360929339614, - 85.24203552494563, - -18.78237401325022, - -66.89417548435287, - -16.25868914233442, - -94.97973255441016, - -65.36039700301487, - -80.44886111849867, - 69.06993214251935, - 66.51368330240794, - 92.25735621185515, - 56.692574512549726, - -34.39699583715945, - 52.732857324738944, - -14.518666460378597, - -22.05865850318709, - -83.52539280923978, - -9.848713344657114, - -35.75608243340662, - 27.082336317817862, - 49.987108951102584, - -77.16894145966208, - 23.242241052087564, - -51.787454140404996, - 72.20162117050077, - -90.39583377665323, - 17.914254107150953, - -16.417600182021275, - 63.21771563714708, - 40.52269549913285, - -23.723125216545824, - -23.955614570055687, - 75.96313672248806, - -14.62187942622188, - -84.58195628508776, - -81.89524618494022, - 56.391043657837116, - -32.7322832219552, - 48.91379183687229, - 48.659523465516315, - -34.62242302694274, - -91.44232505260686, - -84.37861701086531, - 18.940246217480933, - -50.12198201410851, - -50.64309604521409, - -85.15202813282481, - -38.43618902572565, - 83.70284353724381, - -90.83333776018745, - -50.763776934107696, - -23.699537936690135, - 76.3757883969065, - 98.49473223819575 + 70.71148774443492, + 99.33489815408664, + 76.41767900938127, + 39.409808491208075, + 38.163289750884786, + 45.97125579577395, + 65.35275817451954, + 64.51607308318059, + 7.725966798101558, + 41.76720213197029, + 94.92633986102845, + 53.4757741282748, + 95.46460581561715, + 58.46179617509972, + 15.831390456395834, + 78.41020177955981, + 24.454091426720414, + 20.630917089878963, + 32.06352406991017, + 47.85192144436541, + 91.60813996882193, + 72.3534960877585, + 74.69429879171796, + 28.860215094737086, + 71.82395761056222, + 7.989691677216348, + 88.16659758415284, + 58.6985038368079, + 63.60618868578896, + 55.8818785297152, + 52.80997356964097, + 72.91473981865086, + 46.95766296624579, + 22.102796753895348, + 87.14309482408858, + 89.6496773704621, + 63.1961060394868, + 11.760882769042901, + 70.68730644647478, + 57.704439449166166, + 1.1838214608898001, + 25.26912465963118, + 95.29122935012228, + 1.9658531197579432, + 53.368467017876874, + 21.40085377593268, + 55.86185685082425, + 27.824509095022275, + 7.642839647105948, + 82.34233289843691, + 91.7521616316225, + 62.791557264860565, + 28.11526123625361, + 28.724785838845257, + 29.887035626290203, + 66.43102984451734, + 7.010304526340372, + 34.337018989980514, + 73.20159661759989, + 7.883560316368032, + 17.82563551949343, + 33.79915704452567, + 65.01251297487225, + 30.264028793619268, + 75.76551637076324, + 21.1508003371365, + 60.84249522847649, + 98.56522463801258, + 62.609908350393084, + 42.42991434971615, + 53.142145502626946, + 36.295458325008624, + 79.95863074037406, + 79.6073479374342, + 16.05911470947725, + 19.27552016276064, + 53.930229800491915, + 48.416206270762906, + 93.00965219282095, + 62.08652309606562, + 83.50532824078782, + 61.079643266937, + 75.51439445416229, + 54.19378092928726, + 2.5728738625729886, + 59.476519581318875, + 34.22541363563057, + 13.070153382932116, + 12.419061788136698, + 55.82337008512126, + 4.55381397818555, + 63.4783048068831, + 62.35559240600399, + 56.96109146563499, + 34.770159024929015, + 0.9611224125308793, + 35.306870987826144, + 98.0079011498779 ], "type": "float32" } @@ -1335,31 +1405,30 @@ "padding": [1, 0, 0, 1], "autoPad": "explicit", "strides": [2, 2], - "dilations": [1, 1], "layout": "nhwc" }, "expected": { "name": "output", "shape": [1, 3, 3, 2], "data": [ - -3.351071357727051, - 2.755176067352295, - 1.8019026517868042, - -0.23048464953899384, - 19.15583610534668, - -4.010652542114258, - -1.0493813753128052, - 6.101070880889893, - -18.503662109375, - -24.186275482177734, - 15.163517951965332, - -20.293882369995117, - -7.353377819061279, - 2.864908218383789, - -22.448640823364258, - -46.9700927734375, - 29.124526977539062, - -26.951427459716797 + 42.940242767333984, + 55.268165588378906, + 51.6013298034668, + 50.220027923583984, + 72.13362884521484, + 41.542198181152344, + 48.91604232788086, + 38.775962829589844, + 61.21329879760742, + 49.504154205322266, + 57.72294998168945, + 38.6922492980957, + 50.19099807739258, + 29.15436363220215, + 52.98439025878906, + 43.10562515258789, + 66.77796936035156, + 55.2725830078125 ], "type": "float32" }
diff --git a/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/conv2d.json b/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/conv2d.json index ca7dc74..850897df 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/conv2d.json +++ b/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/conv2d.json
@@ -6,46 +6,46 @@ "input": { "shape": [1, 1, 5, 5], "data": [ - -36.64786517159748, - -11.288432057442094, - -76.58016110067685, - 27.405805828795508, - -80.47998789027426, - 76.04182611584571, - 72.35851634441039, - 96.98349851260227, - -27.84947185731808, - 50.58418221559799, - -32.43859311335213, - 23.48380170680882, - -85.38685191828938, - -73.94300271939952, - -15.851227160619004, - 31.57834732127077, - 0.42632253229469086, - -49.37459452307884, - -38.32858663836096, - 95.58856379258197, - -38.56091554697314, - -79.08006476009297, - -24.02026158435868, - 81.30008164674476, - 16.073515803100065 + 0.6124474607869732, + 0.8857858599952035, + 0.13667134799354397, + 0.564529098909835, + 0.8965171985225997, + 0.36792828664768873, + 0.6811466319147079, + 0.04795110047019757, + 0.33355462154327986, + 0.19882695924603588, + 0.4116714070095846, + 0.07934240242135737, + 0.42724633975875426, + 0.5358005687699703, + 0.5910805999797129, + 0.2841543363273238, + 0.414725865128835, + 0.026906268886554896, + 0.3621256577250671, + 0.9945681862504354, + 0.07184549434969778, + 0.1220437231354885, + 0.8422137325421886, + 0.4537501021068471, + 0.2152944303497728 ], "type": "float32" }, "filter": { "shape": [1, 1, 3, 3], "data": [ - -38.07863707159655, - 54.79507725238136, - -88.91290358136841, - 71.58386890759388, - -97.45390798644782, - -69.46620941454853, - 72.25696967588178, - 91.71009194525874, - -45.17980970346187 + 0.3804761331189006, + 0.5280312082437455, + 0.2194703660873738, + 0.3668976886827289, + 0.33974137307686836, + 0.42000596251782674, + 0.38050310131155185, + 0.19443586243810795, + 0.5686976617292392 ], "type": "float32" } @@ -54,15 +54,15 @@ "name": "output", "shape": [1, 1, 3, 3], "data": [ - 2908.13525390625, - -11333.4560546875, - 5481.1240234375, - -1681.341796875, - 17408.30078125, - -18923.2109375, - 6809.322265625, - -3083.824951171875, - -836.0403442382812 + 1.5323282480239868, + 1.3573521375656128, + 1.3641656637191772, + 1.071682333946228, + 1.1259644031524658, + 1.4713115692138672, + 1.078782320022583, + 1.155018925666809, + 1.656954288482666 ], "type": "float32" } @@ -73,46 +73,46 @@ "input": { "shape": [1, 1, 5, 5], "data": [ - -36.64786517159748, - -11.288432057442094, - -76.58016110067685, - 27.405805828795508, - -80.47998789027426, - 76.04182611584571, - 72.35851634441039, - 96.98349851260227, - -27.84947185731808, - 50.58418221559799, - -32.43859311335213, - 23.48380170680882, - -85.38685191828938, - -73.94300271939952, - -15.851227160619004, - 31.57834732127077, - 0.42632253229469086, - -49.37459452307884, - -38.32858663836096, - 95.58856379258197, - -38.56091554697314, - -79.08006476009297, - -24.02026158435868, - 81.30008164674476, - 16.073515803100065 + 0.6124474607869732, + 0.8857858599952035, + 0.13667134799354397, + 0.564529098909835, + 0.8965171985225997, + 0.36792828664768873, + 0.6811466319147079, + 0.04795110047019757, + 0.33355462154327986, + 0.19882695924603588, + 0.4116714070095846, + 0.07934240242135737, + 0.42724633975875426, + 0.5358005687699703, + 0.5910805999797129, + 0.2841543363273238, + 0.414725865128835, + 0.026906268886554896, + 0.3621256577250671, + 0.9945681862504354, + 0.07184549434969778, + 0.1220437231354885, + 0.8422137325421886, + 0.4537501021068471, + 0.2152944303497728 ], "type": "float32" }, "filter": { "shape": [1, 1, 3, 3], "data": [ - -38.07863707159655, - 54.79507725238136, - -88.91290358136841, - 71.58386890759388, - -97.45390798644782, - -69.46620941454853, - 72.25696967588178, - 91.71009194525874, - -45.17980970346187 + 0.3804761331189006, + 0.5280312082437455, + 0.2194703660873738, + 0.3668976886827289, + 0.33974137307686836, + 0.42000596251782674, + 0.38050310131155185, + 0.19443586243810795, + 0.5686976617292392 ], "type": "float32", "constant": true @@ -121,16 +121,16 @@ "expected": { "name": "output", "shape": [1, 1, 3, 3], - "data": [ - 2908.13525390625, - -11333.4560546875, - 5481.1240234375, - -1681.341796875, - 17408.30078125, - -18923.2109375, - 6809.322265625, - -3083.824951171875, - -836.0403442382812 + "data": [ + 1.5323282480239868, + 1.3573521375656128, + 1.3641656637191772, + 1.071682333946228, + 1.1259644031524658, + 1.4713115692138672, + 1.078782320022583, + 1.155018925666809, + 1.656954288482666 ], "type": "float32" } @@ -141,46 +141,46 @@ "input": { "shape": [1, 1, 5, 5], "data": [ - -36.64786517159748, - -11.288432057442094, - -76.58016110067685, - 27.405805828795508, - -80.47998789027426, - 76.04182611584571, - 72.35851634441039, - 96.98349851260227, - -27.84947185731808, - 50.58418221559799, - -32.43859311335213, - 23.48380170680882, - -85.38685191828938, - -73.94300271939952, - -15.851227160619004, - 31.57834732127077, - 0.42632253229469086, - -49.37459452307884, - -38.32858663836096, - 95.58856379258197, - -38.56091554697314, - -79.08006476009297, - -24.02026158435868, - 81.30008164674476, - 16.073515803100065 + 0.6124474607869732, + 0.8857858599952035, + 0.13667134799354397, + 0.564529098909835, + 0.8965171985225997, + 0.36792828664768873, + 0.6811466319147079, + 0.04795110047019757, + 0.33355462154327986, + 0.19882695924603588, + 0.4116714070095846, + 0.07934240242135737, + 0.42724633975875426, + 0.5358005687699703, + 0.5910805999797129, + 0.2841543363273238, + 0.414725865128835, + 0.026906268886554896, + 0.3621256577250671, + 0.9945681862504354, + 0.07184549434969778, + 0.1220437231354885, + 0.8422137325421886, + 0.4537501021068471, + 0.2152944303497728 ], "type": "float32" }, "filter": { "shape": [1, 1, 3, 3], "data": [ - -38.07863707159655, - 54.79507725238136, - -88.91290358136841, - 71.58386890759388, - -97.45390798644782, - -69.46620941454853, - 72.25696967588178, - 91.71009194525874, - -45.17980970346187 + 0.3804761331189006, + 0.5280312082437455, + 0.2194703660873738, + 0.3668976886827289, + 0.33974137307686836, + 0.42000596251782674, + 0.38050310131155185, + 0.19443586243810795, + 0.5686976617292392 ], "type": "float32", "constant": true @@ -193,31 +193,31 @@ "name": "output", "shape": [1, 1, 5, 5], "data": [ - 8060.30126953125, - 11545.3017578125, - 20132.1953125, - -393.7949523925781, - 12431.6650390625, - -17477.419921875, - 2908.13525390625, - -11333.4560546875, - 5481.1240234375, - -19173.296875, - 2139.841552734375, - -1681.341796875, - 17408.30078125, - -18923.2109375, - 6080.80029296875, - -6936.1396484375, - 6809.322265625, - -3083.824951171875, - -836.0403442382812, - -2763.507080078125, - 10943.7373046875, - 9825.8564453125, - -8281.4091796875, - -19478.197265625, - 10950.630859375 + 1.0390141010284424, + 0.882753312587738, + 1.0667248964309692, + 0.8146538734436035, + 0.6772860884666443, + 1.0540467500686646, + 1.5323282480239868, + 1.3573521375656128, + 1.3641656637191772, + 1.1969101428985596, + 0.8080586791038513, + 1.071682333946228, + 1.1259644031524658, + 1.4713115692138672, + 0.960464596748352, + 0.5888903141021729, + 1.078782320022583, + 1.155018925666809, + 1.656954288482666, + 1.2012416124343872, + 0.3167303800582886, + 0.7545653581619263, + 0.7729666829109192, + 0.9733180403709412, + 0.9025675058364868 ], "type": "float32" } @@ -228,46 +228,46 @@ "input": { "shape": [1, 1, 5, 5], "data": [ - -36.64786517159748, - -11.288432057442094, - -76.58016110067685, - 27.405805828795508, - -80.47998789027426, - 76.04182611584571, - 72.35851634441039, - 96.98349851260227, - -27.84947185731808, - 50.58418221559799, - -32.43859311335213, - 23.48380170680882, - -85.38685191828938, - -73.94300271939952, - -15.851227160619004, - 31.57834732127077, - 0.42632253229469086, - -49.37459452307884, - -38.32858663836096, - 95.58856379258197, - -38.56091554697314, - -79.08006476009297, - -24.02026158435868, - 81.30008164674476, - 16.073515803100065 + 0.6124474607869732, + 0.8857858599952035, + 0.13667134799354397, + 0.564529098909835, + 0.8965171985225997, + 0.36792828664768873, + 0.6811466319147079, + 0.04795110047019757, + 0.33355462154327986, + 0.19882695924603588, + 0.4116714070095846, + 0.07934240242135737, + 0.42724633975875426, + 0.5358005687699703, + 0.5910805999797129, + 0.2841543363273238, + 0.414725865128835, + 0.026906268886554896, + 0.3621256577250671, + 0.9945681862504354, + 0.07184549434969778, + 0.1220437231354885, + 0.8422137325421886, + 0.4537501021068471, + 0.2152944303497728 ], "type": "float32" }, "filter": { "shape": [1, 1, 3, 3], "data": [ - -38.07863707159655, - 54.79507725238136, - -88.91290358136841, - 71.58386890759388, - -97.45390798644782, - -69.46620941454853, - 72.25696967588178, - 91.71009194525874, - -45.17980970346187 + 0.3804761331189006, + 0.5280312082437455, + 0.2194703660873738, + 0.3668976886827289, + 0.33974137307686836, + 0.42000596251782674, + 0.38050310131155185, + 0.19443586243810795, + 0.5686976617292392 ], "type": "float32", "constant": true @@ -280,10 +280,10 @@ "name": "output", "shape": [1, 1, 2, 2], "data": [ - 2908.13525390625, - 5481.1240234375, - 6809.322265625, - -836.0403442382812 + 1.5323282480239868, + 1.3641656637191772, + 1.078782320022583, + 1.656954288482666 ], "type": "float32" } @@ -294,46 +294,46 @@ "input": { "shape": [1, 1, 5, 5], "data": [ - -36.64786517159748, - -11.288432057442094, - -76.58016110067685, - 27.405805828795508, - -80.47998789027426, - 76.04182611584571, - 72.35851634441039, - 96.98349851260227, - -27.84947185731808, - 50.58418221559799, - -32.43859311335213, - 23.48380170680882, - -85.38685191828938, - -73.94300271939952, - -15.851227160619004, - 31.57834732127077, - 0.42632253229469086, - -49.37459452307884, - -38.32858663836096, - 95.58856379258197, - -38.56091554697314, - -79.08006476009297, - -24.02026158435868, - 81.30008164674476, - 16.073515803100065 + 0.6124474607869732, + 0.8857858599952035, + 0.13667134799354397, + 0.564529098909835, + 0.8965171985225997, + 0.36792828664768873, + 0.6811466319147079, + 0.04795110047019757, + 0.33355462154327986, + 0.19882695924603588, + 0.4116714070095846, + 0.07934240242135737, + 0.42724633975875426, + 0.5358005687699703, + 0.5910805999797129, + 0.2841543363273238, + 0.414725865128835, + 0.026906268886554896, + 0.3621256577250671, + 0.9945681862504354, + 0.07184549434969778, + 0.1220437231354885, + 0.8422137325421886, + 0.4537501021068471, + 0.2152944303497728 ], "type": "float32" }, "filter": { "shape": [1, 1, 3, 3], "data": [ - -38.07863707159655, - 54.79507725238136, - -88.91290358136841, - 71.58386890759388, - -97.45390798644782, - -69.46620941454853, - 72.25696967588178, - 91.71009194525874, - -45.17980970346187 + 0.3804761331189006, + 0.5280312082437455, + 0.2194703660873738, + 0.3668976886827289, + 0.33974137307686836, + 0.42000596251782674, + 0.38050310131155185, + 0.19443586243810795, + 0.5686976617292392 ], "type": "float32", "constant": true @@ -346,7 +346,7 @@ "name": "output", "shape": [1, 1, 1, 1], "data": [ - 5739.92724609375 + 1.3599307537078857 ], "type": "float32" } @@ -357,46 +357,46 @@ "input": { "shape": [1, 1, 5, 5], "data": [ - -36.64786517159748, - -11.288432057442094, - -76.58016110067685, - 27.405805828795508, - -80.47998789027426, - 76.04182611584571, - 72.35851634441039, - 96.98349851260227, - -27.84947185731808, - 50.58418221559799, - -32.43859311335213, - 23.48380170680882, - -85.38685191828938, - -73.94300271939952, - -15.851227160619004, - 31.57834732127077, - 0.42632253229469086, - -49.37459452307884, - -38.32858663836096, - 95.58856379258197, - -38.56091554697314, - -79.08006476009297, - -24.02026158435868, - 81.30008164674476, - 16.073515803100065 + 0.6124474607869732, + 0.8857858599952035, + 0.13667134799354397, + 0.564529098909835, + 0.8965171985225997, + 0.36792828664768873, + 0.6811466319147079, + 0.04795110047019757, + 0.33355462154327986, + 0.19882695924603588, + 0.4116714070095846, + 0.07934240242135737, + 0.42724633975875426, + 0.5358005687699703, + 0.5910805999797129, + 0.2841543363273238, + 0.414725865128835, + 0.026906268886554896, + 0.3621256577250671, + 0.9945681862504354, + 0.07184549434969778, + 0.1220437231354885, + 0.8422137325421886, + 0.4537501021068471, + 0.2152944303497728 ], "type": "float32" }, "filter": { "shape": [1, 1, 3, 3], "data": [ - -38.07863707159655, - 54.79507725238136, - -88.91290358136841, - 71.58386890759388, - -97.45390798644782, - -69.46620941454853, - 72.25696967588178, - 91.71009194525874, - -45.17980970346187 + 0.3804761331189006, + 0.5280312082437455, + 0.2194703660873738, + 0.3668976886827289, + 0.33974137307686836, + 0.42000596251782674, + 0.38050310131155185, + 0.19443586243810795, + 0.5686976617292392 ], "type": "float32", "constant": true @@ -410,31 +410,31 @@ "name": "output", "shape": [1, 1, 5, 5], "data": [ - 8060.30126953125, - 11545.3017578125, - 20132.1953125, - -393.7949523925781, - 12431.6650390625, - -17477.419921875, - 2908.13525390625, - -11333.4560546875, - 5481.1240234375, - -19173.296875, - 2139.841552734375, - -1681.341796875, - 17408.30078125, - -18923.2109375, - 6080.80029296875, - -6936.1396484375, - 6809.322265625, - -3083.824951171875, - -836.0403442382812, - -2763.507080078125, - 10943.7373046875, - 9825.8564453125, - -8281.4091796875, - -19478.197265625, - 10950.630859375 + 1.0390141010284424, + 0.882753312587738, + 1.0667248964309692, + 0.8146538734436035, + 0.6772860884666443, + 1.0540467500686646, + 1.5323282480239868, + 1.3573521375656128, + 1.3641656637191772, + 1.1969101428985596, + 0.8080586791038513, + 1.071682333946228, + 1.1259644031524658, + 1.4713115692138672, + 0.960464596748352, + 0.5888903141021729, + 1.078782320022583, + 1.155018925666809, + 1.656954288482666, + 1.2012416124343872, + 0.3167303800582886, + 0.7545653581619263, + 0.7729666829109192, + 0.9733180403709412, + 0.9025675058364868 ], "type": "float32" } @@ -445,37 +445,37 @@ "input": { "shape": [1, 1, 4, 4], "data": [ - 18.105934933689, - 70.55813791078003, - -65.62170074403721, - 24.848208727531556, - -93.62297692330142, - 83.37537025796374, - -9.196172033614673, - 1.5066891381375882, - 52.11260834588484, - 7.5185010931766385, - 21.054120533810178, - 96.40459791170377, - 14.476107346648888, - 19.978235702772906, - 70.3739360912835, - 84.51258388063664 + 0.9371488026117993, + 0.4742464662522563, + 0.6571340852996714, + 0.8399660616881559, + 0.3286228380482863, + 0.09911389391233816, + 0.008774675079729732, + 0.49592297038960576, + 0.6906991955372042, + 0.40363236211387643, + 0.08385655421112803, + 0.7818648489403492, + 0.7862677667715321, + 0.8178903833064657, + 0.9872956148300345, + 0.1289262831549154 ], "type": "float32" }, "filter": { "shape": [1, 1, 3, 3], "data": [ - -38.07863707159655, - 54.79507725238136, - -88.91290358136841, - 71.58386890759388, - -97.45390798644782, - -69.46620941454853, - 72.25696967588178, - 91.71009194525874, - -45.17980970346187 + 0.3804761331189006, + 0.5280312082437455, + 0.2194703660873738, + 0.3668976886827289, + 0.33974137307686836, + 0.42000596251782674, + 0.38050310131155185, + 0.19443586243810795, + 0.5686976617292392 ], "type": "float32", "constant": true @@ -489,10 +489,10 @@ "name": "output", "shape": [1, 1, 2, 2], "data": [ - -1673.1219482421875, - 13417.794921875, - -9243.6953125, - 1282.342529296875 + 1.298113465309143, + 1.0491873025894165, + 1.475350260734558, + 0.8507925271987915 ], "type": "float32" } @@ -503,37 +503,37 @@ "input": { "shape": [1, 1, 4, 4], "data": [ - 18.105934933689, - 70.55813791078003, - -65.62170074403721, - 24.848208727531556, - -93.62297692330142, - 83.37537025796374, - -9.196172033614673, - 1.5066891381375882, - 52.11260834588484, - 7.5185010931766385, - 21.054120533810178, - 96.40459791170377, - 14.476107346648888, - 19.978235702772906, - 70.3739360912835, - 84.51258388063664 + 0.9371488026117993, + 0.4742464662522563, + 0.6571340852996714, + 0.8399660616881559, + 0.3286228380482863, + 0.09911389391233816, + 0.008774675079729732, + 0.49592297038960576, + 0.6906991955372042, + 0.40363236211387643, + 0.08385655421112803, + 0.7818648489403492, + 0.7862677667715321, + 0.8178903833064657, + 0.9872956148300345, + 0.1289262831549154 ], "type": "float32" }, "filter": { "shape": [1, 1, 3, 3], "data": [ - -38.07863707159655, - 54.79507725238136, - -88.91290358136841, - 71.58386890759388, - -97.45390798644782, - -69.46620941454853, - 72.25696967588178, - 91.71009194525874, - -45.17980970346187 + 0.3804761331189006, + 0.5280312082437455, + 0.2194703660873738, + 0.3668976886827289, + 0.33974137307686836, + 0.42000596251782674, + 0.38050310131155185, + 0.19443586243810795, + 0.5686976617292392 ], "type": "float32", "constant": true @@ -548,10 +548,10 @@ "name": "output", "shape": [1, 1, 2, 2], "data": [ - -1673.1219482421875, - 13417.794921875, - -9243.6953125, - 1282.342529296875 + 1.298113465309143, + 1.0491873025894165, + 1.475350260734558, + 0.8507925271987915 ], "type": "float32" } @@ -562,46 +562,46 @@ "input": { "shape": [1, 1, 5, 5], "data": [ - -36.64786517159748, - -11.288432057442094, - -76.58016110067685, - 27.405805828795508, - -80.47998789027426, - 76.04182611584571, - 72.35851634441039, - 96.98349851260227, - -27.84947185731808, - 50.58418221559799, - -32.43859311335213, - 23.48380170680882, - -85.38685191828938, - -73.94300271939952, - -15.851227160619004, - 31.57834732127077, - 0.42632253229469086, - -49.37459452307884, - -38.32858663836096, - 95.58856379258197, - -38.56091554697314, - -79.08006476009297, - -24.02026158435868, - 81.30008164674476, - 16.073515803100065 + 0.6124474607869732, + 0.8857858599952035, + 0.13667134799354397, + 0.564529098909835, + 0.8965171985225997, + 0.36792828664768873, + 0.6811466319147079, + 0.04795110047019757, + 0.33355462154327986, + 0.19882695924603588, + 0.4116714070095846, + 0.07934240242135737, + 0.42724633975875426, + 0.5358005687699703, + 0.5910805999797129, + 0.2841543363273238, + 0.414725865128835, + 0.026906268886554896, + 0.3621256577250671, + 0.9945681862504354, + 0.07184549434969778, + 0.1220437231354885, + 0.8422137325421886, + 0.4537501021068471, + 0.2152944303497728 ], "type": "float32" }, "filter": { "shape": [1, 1, 3, 3], "data": [ - -38.07863707159655, - 54.79507725238136, - -88.91290358136841, - 71.58386890759388, - -97.45390798644782, - -69.46620941454853, - 72.25696967588178, - 91.71009194525874, - -45.17980970346187 + 0.3804761331189006, + 0.5280312082437455, + 0.2194703660873738, + 0.3668976886827289, + 0.33974137307686836, + 0.42000596251782674, + 0.38050310131155185, + 0.19443586243810795, + 0.5686976617292392 ], "type": "float32", "constant": true @@ -615,15 +615,15 @@ "name": "output", "shape": [1, 1, 3, 3], "data": [ - 8060.30126953125, - 20132.1953125, - 12431.6650390625, - 2139.841552734375, - 17408.30078125, - 6080.80029296875, - 10943.7373046875, - -8281.4091796875, - 10950.630859375 + 1.0390141010284424, + 1.0667248964309692, + 0.6772860884666443, + 0.8080586791038513, + 1.1259644031524658, + 0.960464596748352, + 0.3167303800582886, + 0.7729666829109192, + 0.9025675058364868 ], "type": "float32" } @@ -634,46 +634,46 @@ "input": { "shape": [1, 1, 5, 5], "data": [ - -36.64786517159748, - -11.288432057442094, - -76.58016110067685, - 27.405805828795508, - -80.47998789027426, - 76.04182611584571, - 72.35851634441039, - 96.98349851260227, - -27.84947185731808, - 50.58418221559799, - -32.43859311335213, - 23.48380170680882, - -85.38685191828938, - -73.94300271939952, - -15.851227160619004, - 31.57834732127077, - 0.42632253229469086, - -49.37459452307884, - -38.32858663836096, - 95.58856379258197, - -38.56091554697314, - -79.08006476009297, - -24.02026158435868, - 81.30008164674476, - 16.073515803100065 + 0.6124474607869732, + 0.8857858599952035, + 0.13667134799354397, + 0.564529098909835, + 0.8965171985225997, + 0.36792828664768873, + 0.6811466319147079, + 0.04795110047019757, + 0.33355462154327986, + 0.19882695924603588, + 0.4116714070095846, + 0.07934240242135737, + 0.42724633975875426, + 0.5358005687699703, + 0.5910805999797129, + 0.2841543363273238, + 0.414725865128835, + 0.026906268886554896, + 0.3621256577250671, + 0.9945681862504354, + 0.07184549434969778, + 0.1220437231354885, + 0.8422137325421886, + 0.4537501021068471, + 0.2152944303497728 ], "type": "float32" }, "filter": { "shape": [1, 1, 3, 3], "data": [ - -38.07863707159655, - 54.79507725238136, - -88.91290358136841, - 71.58386890759388, - -97.45390798644782, - -69.46620941454853, - 72.25696967588178, - 91.71009194525874, - -45.17980970346187 + 0.3804761331189006, + 0.5280312082437455, + 0.2194703660873738, + 0.3668976886827289, + 0.33974137307686836, + 0.42000596251782674, + 0.38050310131155185, + 0.19443586243810795, + 0.5686976617292392 ], "type": "float32", "constant": true @@ -688,63 +688,63 @@ "name": "output", "shape": [1, 1, 3, 3], "data": [ - 8060.30126953125, - 20132.1953125, - 12431.6650390625, - 2139.841552734375, - 17408.30078125, - 6080.80029296875, - 10943.7373046875, - -8281.4091796875, - 10950.630859375 + 1.0390141010284424, + 1.0667248964309692, + 0.6772860884666443, + 0.8080586791038513, + 1.1259644031524658, + 0.960464596748352, + 0.3167303800582886, + 0.7729666829109192, + 0.9025675058364868 ], "type": "float32" } }, { - "name": "conv2d float32 4D input and filter tensors options.groups", // fused depthwise conv2d + "name": "depthwise conv2d float32 4D input and filter tensors options.groups= input_channels", "inputs": { "input": { "shape": [1, 4, 2, 2], "data": [ - -30.62098216953669, - 69.57790329256835, - -52.0063224541361, - 48.03140993290705, - 24.23277190561039, - -72.78153890198729, - -91.01277083869421, - 34.75316811159641, - -6.2202483463238, - -35.71425618316427, - 44.88746106661185, - -2.214918463191836, - 86.77535460315141, - 41.96710954974216, - 20.307392194528802, - 83.57836666526771 + 0.8444867694647586, + 0.9432409670525521, + 0.6556113430383732, + 0.6982811560969739, + 0.9994443556337815, + 0.23663609547122832, + 0.36740679911148977, + 0.26192464008498995, + 0.6254158900563778, + 0.8403864149984126, + 0.3783077112751454, + 0.4543924050667707, + 0.2532720958655783, + 0.5780375783781451, + 0.5414554298341647, + 0.3784630864473655 ], "type": "float32" }, "filter": { "shape": [4, 1, 2, 2], "data": [ - 54.056351465147884, - 46.60774659264476, - 1.102185243628412, - 92.79458038789136, - 43.4917628781904, - -1.1152923110231399, - -54.126049246965245, - 43.31931949984434, - 40.44247251051826, - -55.56165610054853, - -51.51863795048692, - -71.30274452926221, - 32.15193036680418, - 48.58019833429185, - 88.16357174255782, - 27.032330434044923 + 0.2722161634913378, + 0.2812024814519549, + 0.8544839438625549, + 0.17969306710350352, + 0.7762278551409514, + 0.5140685342176547, + 0.6374202845672399, + 0.12801742574418573, + 0.8373775881302137, + 0.5726001728584655, + 0.0985520323467497, + 0.5929879082269991, + 0.5900803925387657, + 0.9690897431424881, + 0.2317559033646952, + 0.1480511343463049 ], "type": "float32", "constant": true @@ -757,10 +757,10 @@ "name": "output", "shape": [1, 4, 1, 1], "data": [ - 5987.3447265625, - 7566.744140625, - -421.8301696777344, - 8878.4560546875 + 1.1808103322982788, + 1.165167212486267, + 1.311646819114685, + 0.8911385536193848 ], "type": "float32" } @@ -771,42 +771,42 @@ "input": { "shape": [2, 1, 3, 3], "data": [ - -82.09745244425362, - 67.79213870968346, - 53.992295748407145, - 54.597159309376366, - 58.62164012776881, - -7.635677529217546, - 58.550440497224145, - -72.0703930158927, - -65.0955969572423, - -70.56037981665017, - 60.85068628898233, - -73.84324584046973, - 57.31129997992079, - -91.53292449526842, - -17.57212485674829, - -75.66331658122203, - -57.140511229462064, - 7.572594312616985 + 0.7529087201709872, + 0.7520291960017611, + 0.594952773514815, + 0.21631854011984264, + 0.07589348976741683, + 0.15106785419828572, + 0.12124850358598671, + 0.5364335407319905, + 0.5937089927693522, + 0.9910031422560608, + 0.36309423611370084, + 0.9289673923363004, + 0.22727376737331384, + 0.5414123970044269, + 0.0844534212564596, + 0.6765284772046276, + 0.619325655574763, + 0.39292160755260475 ], "type": "float32" }, "filter": { "shape": [3, 1, 2, 2], "data": [ - -99.3435561600176, - -15.90380103916948, - -6.070945850968499, - -20.092214100373866, - 43.48291548484258, - 4.77126464077142, - 33.53585259686466, - -25.359619829289443, - 61.703687497454496, - 66.59348647087108, - 67.67284398422174, - -70.88191146932456 + 0.14543837927656278, + 0.9671129790291346, + 0.10836050336762582, + 0.320230810822804, + 0.6952692250382182, + 0.5070913293589028, + 0.0813970738017622, + 0.5303338853508432, + 0.30721364807734, + 0.4324123448833208, + 0.9849002194630809, + 0.4281076188358701 ], "type": "float32", "constant": true @@ -819,30 +819,30 @@ "name": "output", "shape": [2, 3, 2, 2], "data": [ - 5568.4052734375, - -7795.8662109375, - -5263.5859375, - -3956.7958984375, - -2902.042236328125, - 5364.9755859375, - 6444.9599609375, - 1746.465087890625, - -1011.6694946289062, - 12286.8837890625, - 16343.427734375, - 2845.576416015625, - 7533.12744140625, - -3961.98095703125, - -2630.359619140625, - 9567.416015625, - 1465.38720703125, - -330.37286376953125, - 966.962158203125, - -6172.25341796875, - 10064.87109375, - -6111.5146484375, - -3629.30078125, - -11221.728515625 + 0.8845428228378296, + 0.7413608431816101, + 0.2897796928882599, + 0.4053896367549896, + 0.9626783132553101, + 0.9108520746231079, + 0.4832426905632019, + 0.4878997206687927, + 0.8020333051681519, + 0.6277193427085876, + 0.4483422338962555, + 0.8711439371109009, + 0.6932874917984009, + 1.0369365215301514, + 0.8282973766326904, + 0.35335418581962585, + 1.1787647008895874, + 0.8123774528503418, + 0.816078782081604, + 0.6780439019203186, + 0.9170808792114258, + 1.082636833190918, + 1.2353861331939697, + 0.9810346961021423 ], "type": "float32" } @@ -853,42 +853,42 @@ "input": { "shape": [2, 3, 3, 1], "data": [ - -82.09745244425362, - 67.79213870968346, - 53.992295748407145, - 54.597159309376366, - 58.62164012776881, - -7.635677529217546, - 58.550440497224145, - -72.0703930158927, - -65.0955969572423, - -70.56037981665017, - 60.85068628898233, - -73.84324584046973, - 57.31129997992079, - -91.53292449526842, - -17.57212485674829, - -75.66331658122203, - -57.140511229462064, - 7.572594312616985 + 0.7529087201709872, + 0.7520291960017611, + 0.594952773514815, + 0.21631854011984264, + 0.07589348976741683, + 0.15106785419828572, + 0.12124850358598671, + 0.5364335407319905, + 0.5937089927693522, + 0.9910031422560608, + 0.36309423611370084, + 0.9289673923363004, + 0.22727376737331384, + 0.5414123970044269, + 0.0844534212564596, + 0.6765284772046276, + 0.619325655574763, + 0.39292160755260475 ], "type": "float32" }, "filter": { "shape": [3, 1, 2, 2], "data": [ - -99.3435561600176, - -15.90380103916948, - -6.070945850968499, - -20.092214100373866, - 43.48291548484258, - 4.77126464077142, - 33.53585259686466, - -25.359619829289443, - 61.703687497454496, - 66.59348647087108, - 67.67284398422174, - -70.88191146932456 + 0.14543837927656278, + 0.9671129790291346, + 0.10836050336762582, + 0.320230810822804, + 0.6952692250382182, + 0.5070913293589028, + 0.0813970738017622, + 0.5303338853508432, + 0.30721364807734, + 0.4324123448833208, + 0.9849002194630809, + 0.4281076188358701 ], "type": "float32", "constant": true @@ -901,30 +901,30 @@ "name": "output", "shape": [2, 2, 2, 3], "data": [ - 5568.4052734375, - -2902.042236328125, - -1011.6694946289062, - -7795.8662109375, - 5364.9755859375, - 12286.8837890625, - -5263.5859375, - 6444.9599609375, - 16343.427734375, - -3956.7958984375, - 1746.465087890625, - 2845.576416015625, - 7533.12744140625, - 1465.38720703125, - 10064.87109375, - -3961.98095703125, - -330.37286376953125, - -6111.5146484375, - -2630.359619140625, - 966.962158203125, - -3629.30078125, - 9567.416015625, - -6172.25341796875, - -11221.728515625 + 0.8845428228378296, + 0.9626783132553101, + 0.8020333051681519, + 0.7413608431816101, + 0.9108520746231079, + 0.6277193427085876, + 0.2897796928882599, + 0.4832426905632019, + 0.4483422338962555, + 0.4053896367549896, + 0.4878997206687927, + 0.8711439371109009, + 0.6932874917984009, + 1.1787647008895874, + 0.9170808792114258, + 1.0369365215301514, + 0.8123774528503418, + 1.082636833190918, + 0.8282973766326904, + 0.816078782081604, + 1.2353861331939697, + 0.35335418581962585, + 0.6780439019203186, + 0.9810346961021423 ], "type": "float32" } @@ -935,42 +935,42 @@ "input": { "shape": [2, 1, 3, 3], "data": [ - -82.09745244425362, - 67.79213870968346, - 53.992295748407145, - 54.597159309376366, - 58.62164012776881, - -7.635677529217546, - 58.550440497224145, - -72.0703930158927, - -65.0955969572423, - -70.56037981665017, - 60.85068628898233, - -73.84324584046973, - 57.31129997992079, - -91.53292449526842, - -17.57212485674829, - -75.66331658122203, - -57.140511229462064, - 7.572594312616985 + 0.7529087201709872, + 0.7520291960017611, + 0.594952773514815, + 0.21631854011984264, + 0.07589348976741683, + 0.15106785419828572, + 0.12124850358598671, + 0.5364335407319905, + 0.5937089927693522, + 0.9910031422560608, + 0.36309423611370084, + 0.9289673923363004, + 0.22727376737331384, + 0.5414123970044269, + 0.0844534212564596, + 0.6765284772046276, + 0.619325655574763, + 0.39292160755260475 ], "type": "float32" }, "filter": { "shape": [3, 1, 2, 2], "data": [ - -99.3435561600176, - -15.90380103916948, - -6.070945850968499, - -20.092214100373866, - 43.48291548484258, - 4.77126464077142, - 33.53585259686466, - -25.359619829289443, - 61.703687497454496, - 66.59348647087108, - 67.67284398422174, - -70.88191146932456 + 0.14543837927656278, + 0.9671129790291346, + 0.10836050336762582, + 0.320230810822804, + 0.6952692250382182, + 0.5070913293589028, + 0.0813970738017622, + 0.5303338853508432, + 0.30721364807734, + 0.4324123448833208, + 0.9849002194630809, + 0.4281076188358701 ], "type": "float32", "constant": true @@ -983,30 +983,30 @@ "name": "output", "shape": [2, 3, 2, 2], "data": [ - 5568.4052734375, - -7795.8662109375, - -5263.5859375, - -3956.7958984375, - -2902.042236328125, - 5364.9755859375, - 6444.9599609375, - 1746.465087890625, - -1011.6694946289062, - 12286.8837890625, - 16343.427734375, - 2845.576416015625, - 7533.12744140625, - -3961.98095703125, - -2630.359619140625, - 9567.416015625, - 1465.38720703125, - -330.37286376953125, - 966.962158203125, - -6172.25341796875, - 10064.87109375, - -6111.5146484375, - -3629.30078125, - -11221.728515625 + 0.8845428228378296, + 0.7413608431816101, + 0.2897796928882599, + 0.4053896367549896, + 0.9626783132553101, + 0.9108520746231079, + 0.4832426905632019, + 0.4878997206687927, + 0.8020333051681519, + 0.6277193427085876, + 0.4483422338962555, + 0.8711439371109009, + 0.6932874917984009, + 1.0369365215301514, + 0.8282973766326904, + 0.35335418581962585, + 1.1787647008895874, + 0.8123774528503418, + 0.816078782081604, + 0.6780439019203186, + 0.9170808792114258, + 1.082636833190918, + 1.2353861331939697, + 0.9810346961021423 ], "type": "float32" } @@ -1017,42 +1017,42 @@ "input": { "shape": [2, 1, 3, 3], "data": [ - -82.09745244425362, - 67.79213870968346, - 53.992295748407145, - 54.597159309376366, - 58.62164012776881, - -7.635677529217546, - 58.550440497224145, - -72.0703930158927, - -65.0955969572423, - -70.56037981665017, - 60.85068628898233, - -73.84324584046973, - 57.31129997992079, - -91.53292449526842, - -17.57212485674829, - -75.66331658122203, - -57.140511229462064, - 7.572594312616985 + 0.7529087201709872, + 0.7520291960017611, + 0.594952773514815, + 0.21631854011984264, + 0.07589348976741683, + 0.15106785419828572, + 0.12124850358598671, + 0.5364335407319905, + 0.5937089927693522, + 0.9910031422560608, + 0.36309423611370084, + 0.9289673923363004, + 0.22727376737331384, + 0.5414123970044269, + 0.0844534212564596, + 0.6765284772046276, + 0.619325655574763, + 0.39292160755260475 ], "type": "float32" }, "filter": { "shape": [2, 2, 1, 3], "data": [ - -99.3435561600176, - 43.48291548484258, - 61.703687497454496, - -15.90380103916948, - 4.77126464077142, - 66.59348647087108, - -6.070945850968499, - 33.53585259686466, - 67.67284398422174, - -20.092214100373866, - -25.359619829289443, - -70.88191146932456 + 0.14543837927656278, + 0.6952692250382182, + 0.30721364807734, + 0.9671129790291346, + 0.5070913293589028, + 0.4324123448833208, + 0.10836050336762582, + 0.0813970738017622, + 0.9849002194630809, + 0.320230810822804, + 0.5303338853508432, + 0.4281076188358701 ], "type": "float32", "constant": true @@ -1065,30 +1065,30 @@ "name": "output", "shape": [2, 3, 2, 2], "data": [ - 5568.4052734375, - -7795.8662109375, - -5263.5859375, - -3956.7958984375, - -2902.042236328125, - 5364.9755859375, - 6444.9599609375, - 1746.465087890625, - -1011.6694946289062, - 12286.8837890625, - 16343.427734375, - 2845.576416015625, - 7533.12744140625, - -3961.98095703125, - -2630.359619140625, - 9567.416015625, - 1465.38720703125, - -330.37286376953125, - 966.962158203125, - -6172.25341796875, - 10064.87109375, - -6111.5146484375, - -3629.30078125, - -11221.728515625 + 0.8845428228378296, + 0.7413608431816101, + 0.2897796928882599, + 0.4053896367549896, + 0.9626783132553101, + 0.9108520746231079, + 0.4832426905632019, + 0.4878997206687927, + 0.8020333051681519, + 0.6277193427085876, + 0.4483422338962555, + 0.8711439371109009, + 0.6932874917984009, + 1.0369365215301514, + 0.8282973766326904, + 0.35335418581962585, + 1.1787647008895874, + 0.8123774528503418, + 0.816078782081604, + 0.6780439019203186, + 0.9170808792114258, + 1.082636833190918, + 1.2353861331939697, + 0.9810346961021423 ], "type": "float32" } @@ -1099,42 +1099,42 @@ "input": { "shape": [2, 1, 3, 3], "data": [ - -82.09745244425362, - 67.79213870968346, - 53.992295748407145, - 54.597159309376366, - 58.62164012776881, - -7.635677529217546, - 58.550440497224145, - -72.0703930158927, - -65.0955969572423, - -70.56037981665017, - 60.85068628898233, - -73.84324584046973, - 57.31129997992079, - -91.53292449526842, - -17.57212485674829, - -75.66331658122203, - -57.140511229462064, - 7.572594312616985 + 0.7529087201709872, + 0.7520291960017611, + 0.594952773514815, + 0.21631854011984264, + 0.07589348976741683, + 0.15106785419828572, + 0.12124850358598671, + 0.5364335407319905, + 0.5937089927693522, + 0.9910031422560608, + 0.36309423611370084, + 0.9289673923363004, + 0.22727376737331384, + 0.5414123970044269, + 0.0844534212564596, + 0.6765284772046276, + 0.619325655574763, + 0.39292160755260475 ], "type": "float32" }, "filter": { "shape": [3, 2, 2, 1], "data": [ - -99.3435561600176, - -15.90380103916948, - -6.070945850968499, - -20.092214100373866, - 43.48291548484258, - 4.77126464077142, - 33.53585259686466, - -25.359619829289443, - 61.703687497454496, - 66.59348647087108, - 67.67284398422174, - -70.88191146932456 + 0.14543837927656278, + 0.9671129790291346, + 0.10836050336762582, + 0.320230810822804, + 0.6952692250382182, + 0.5070913293589028, + 0.0813970738017622, + 0.5303338853508432, + 0.30721364807734, + 0.4324123448833208, + 0.9849002194630809, + 0.4281076188358701 ], "type": "float32", "constant": true @@ -1147,30 +1147,30 @@ "name": "output", "shape": [2, 3, 2, 2], "data": [ - 5568.4052734375, - -7795.8662109375, - -5263.5859375, - -3956.7958984375, - -2902.042236328125, - 5364.9755859375, - 6444.9599609375, - 1746.465087890625, - -1011.6694946289062, - 12286.8837890625, - 16343.427734375, - 2845.576416015625, - 7533.12744140625, - -3961.98095703125, - -2630.359619140625, - 9567.416015625, - 1465.38720703125, - -330.37286376953125, - 966.962158203125, - -6172.25341796875, - 10064.87109375, - -6111.5146484375, - -3629.30078125, - -11221.728515625 + 0.8845428228378296, + 0.7413608431816101, + 0.2897796928882599, + 0.4053896367549896, + 0.9626783132553101, + 0.9108520746231079, + 0.4832426905632019, + 0.4878997206687927, + 0.8020333051681519, + 0.6277193427085876, + 0.4483422338962555, + 0.8711439371109009, + 0.6932874917984009, + 1.0369365215301514, + 0.8282973766326904, + 0.35335418581962585, + 1.1787647008895874, + 0.8123774528503418, + 0.816078782081604, + 0.6780439019203186, + 0.9170808792114258, + 1.082636833190918, + 1.2353861331939697, + 0.9810346961021423 ], "type": "float32" } @@ -1181,42 +1181,42 @@ "input": { "shape": [2, 1, 3, 3], "data": [ - -82.09745244425362, - 67.79213870968346, - 53.992295748407145, - 54.597159309376366, - 58.62164012776881, - -7.635677529217546, - 58.550440497224145, - -72.0703930158927, - -65.0955969572423, - -70.56037981665017, - 60.85068628898233, - -73.84324584046973, - 57.31129997992079, - -91.53292449526842, - -17.57212485674829, - -75.66331658122203, - -57.140511229462064, - 7.572594312616985 + 0.7529087201709872, + 0.7520291960017611, + 0.594952773514815, + 0.21631854011984264, + 0.07589348976741683, + 0.15106785419828572, + 0.12124850358598671, + 0.5364335407319905, + 0.5937089927693522, + 0.9910031422560608, + 0.36309423611370084, + 0.9289673923363004, + 0.22727376737331384, + 0.5414123970044269, + 0.0844534212564596, + 0.6765284772046276, + 0.619325655574763, + 0.39292160755260475 ], "type": "float32" }, "filter": { "shape": [1, 2, 2, 3], "data": [ - -99.3435561600176, - 43.48291548484258, - 61.703687497454496, - -15.90380103916948, - 4.77126464077142, - 66.59348647087108, - -6.070945850968499, - 33.53585259686466, - 67.67284398422174, - -20.092214100373866, - -25.359619829289443, - -70.88191146932456 + 0.14543837927656278, + 0.6952692250382182, + 0.30721364807734, + 0.9671129790291346, + 0.5070913293589028, + 0.4324123448833208, + 0.10836050336762582, + 0.0813970738017622, + 0.9849002194630809, + 0.320230810822804, + 0.5303338853508432, + 0.4281076188358701 ], "type": "float32", "constant": true @@ -1229,30 +1229,30 @@ "name": "output", "shape": [2, 3, 2, 2], "data": [ - 5568.4052734375, - -7795.8662109375, - -5263.5859375, - -3956.7958984375, - -2902.042236328125, - 5364.9755859375, - 6444.9599609375, - 1746.465087890625, - -1011.6694946289062, - 12286.8837890625, - 16343.427734375, - 2845.576416015625, - 7533.12744140625, - -3961.98095703125, - -2630.359619140625, - 9567.416015625, - 1465.38720703125, - -330.37286376953125, - 966.962158203125, - -6172.25341796875, - 10064.87109375, - -6111.5146484375, - -3629.30078125, - -11221.728515625 + 0.8845428228378296, + 0.7413608431816101, + 0.2897796928882599, + 0.4053896367549896, + 0.9626783132553101, + 0.9108520746231079, + 0.4832426905632019, + 0.4878997206687927, + 0.8020333051681519, + 0.6277193427085876, + 0.4483422338962555, + 0.8711439371109009, + 0.6932874917984009, + 1.0369365215301514, + 0.8282973766326904, + 0.35335418581962585, + 1.1787647008895874, + 0.8123774528503418, + 0.816078782081604, + 0.6780439019203186, + 0.9170808792114258, + 1.082636833190918, + 1.2353861331939697, + 0.9810346961021423 ], "type": "float32" } @@ -1263,42 +1263,42 @@ "input": { "shape": [2, 3, 3, 1], "data": [ - -82.09745244425362, - 67.79213870968346, - 53.992295748407145, - 54.597159309376366, - 58.62164012776881, - -7.635677529217546, - 58.550440497224145, - -72.0703930158927, - -65.0955969572423, - -70.56037981665017, - 60.85068628898233, - -73.84324584046973, - 57.31129997992079, - -91.53292449526842, - -17.57212485674829, - -75.66331658122203, - -57.140511229462064, - 7.572594312616985 + 0.7529087201709872, + 0.7520291960017611, + 0.594952773514815, + 0.21631854011984264, + 0.07589348976741683, + 0.15106785419828572, + 0.12124850358598671, + 0.5364335407319905, + 0.5937089927693522, + 0.9910031422560608, + 0.36309423611370084, + 0.9289673923363004, + 0.22727376737331384, + 0.5414123970044269, + 0.0844534212564596, + 0.6765284772046276, + 0.619325655574763, + 0.39292160755260475 ], "type": "float32" }, "filter": { "shape": [3, 1, 2, 2], "data": [ - -99.3435561600176, - -15.90380103916948, - -6.070945850968499, - -20.092214100373866, - 43.48291548484258, - 4.77126464077142, - 33.53585259686466, - -25.359619829289443, - 61.703687497454496, - 66.59348647087108, - 67.67284398422174, - -70.88191146932456 + 0.14543837927656278, + 0.9671129790291346, + 0.10836050336762582, + 0.320230810822804, + 0.6952692250382182, + 0.5070913293589028, + 0.0813970738017622, + 0.5303338853508432, + 0.30721364807734, + 0.4324123448833208, + 0.9849002194630809, + 0.4281076188358701 ], "type": "float32", "constant": true @@ -1312,30 +1312,30 @@ "name": "output", "shape": [2, 2, 2, 3], "data": [ - 5568.4052734375, - -2902.042236328125, - -1011.6694946289062, - -7795.8662109375, - 5364.9755859375, - 12286.8837890625, - -5263.5859375, - 6444.9599609375, - 16343.427734375, - -3956.7958984375, - 1746.465087890625, - 2845.576416015625, - 7533.12744140625, - 1465.38720703125, - 10064.87109375, - -3961.98095703125, - -330.37286376953125, - -6111.5146484375, - -2630.359619140625, - 966.962158203125, - -3629.30078125, - 9567.416015625, - -6172.25341796875, - -11221.728515625 + 0.8845428228378296, + 0.9626783132553101, + 0.8020333051681519, + 0.7413608431816101, + 0.9108520746231079, + 0.6277193427085876, + 0.2897796928882599, + 0.4832426905632019, + 0.4483422338962555, + 0.4053896367549896, + 0.4878997206687927, + 0.8711439371109009, + 0.6932874917984009, + 1.1787647008895874, + 0.9170808792114258, + 1.0369365215301514, + 0.8123774528503418, + 1.082636833190918, + 0.8282973766326904, + 0.816078782081604, + 1.2353861331939697, + 0.35335418581962585, + 0.6780439019203186, + 0.9810346961021423 ], "type": "float32" } @@ -1346,42 +1346,42 @@ "input": { "shape": [2, 3, 3, 1], "data": [ - -82.09745244425362, - 67.79213870968346, - 53.992295748407145, - 54.597159309376366, - 58.62164012776881, - -7.635677529217546, - 58.550440497224145, - -72.0703930158927, - -65.0955969572423, - -70.56037981665017, - 60.85068628898233, - -73.84324584046973, - 57.31129997992079, - -91.53292449526842, - -17.57212485674829, - -75.66331658122203, - -57.140511229462064, - 7.572594312616985 + 0.7529087201709872, + 0.7520291960017611, + 0.594952773514815, + 0.21631854011984264, + 0.07589348976741683, + 0.15106785419828572, + 0.12124850358598671, + 0.5364335407319905, + 0.5937089927693522, + 0.9910031422560608, + 0.36309423611370084, + 0.9289673923363004, + 0.22727376737331384, + 0.5414123970044269, + 0.0844534212564596, + 0.6765284772046276, + 0.619325655574763, + 0.39292160755260475 ], "type": "float32" }, "filter": { "shape": [2, 2, 1, 3], "data": [ - -99.3435561600176, - 43.48291548484258, - 61.703687497454496, - -15.90380103916948, - 4.77126464077142, - 66.59348647087108, - -6.070945850968499, - 33.53585259686466, - 67.67284398422174, - -20.092214100373866, - -25.359619829289443, - -70.88191146932456 + 0.14543837927656278, + 0.6952692250382182, + 0.30721364807734, + 0.9671129790291346, + 0.5070913293589028, + 0.4324123448833208, + 0.10836050336762582, + 0.0813970738017622, + 0.9849002194630809, + 0.320230810822804, + 0.5303338853508432, + 0.4281076188358701 ], "type": "float32", "constant": true @@ -1395,30 +1395,30 @@ "name": "output", "shape": [2, 2, 2, 3], "data": [ - 5568.4052734375, - -2902.042236328125, - -1011.6694946289062, - -7795.8662109375, - 5364.9755859375, - 12286.8837890625, - -5263.5859375, - 6444.9599609375, - 16343.427734375, - -3956.7958984375, - 1746.465087890625, - 2845.576416015625, - 7533.12744140625, - 1465.38720703125, - 10064.87109375, - -3961.98095703125, - -330.37286376953125, - -6111.5146484375, - -2630.359619140625, - 966.962158203125, - -3629.30078125, - 9567.416015625, - -6172.25341796875, - -11221.728515625 + 0.8845428228378296, + 0.9626783132553101, + 0.8020333051681519, + 0.7413608431816101, + 0.9108520746231079, + 0.6277193427085876, + 0.2897796928882599, + 0.4832426905632019, + 0.4483422338962555, + 0.4053896367549896, + 0.4878997206687927, + 0.8711439371109009, + 0.6932874917984009, + 1.1787647008895874, + 0.9170808792114258, + 1.0369365215301514, + 0.8123774528503418, + 1.082636833190918, + 0.8282973766326904, + 0.816078782081604, + 1.2353861331939697, + 0.35335418581962585, + 0.6780439019203186, + 0.9810346961021423 ], "type": "float32" } @@ -1429,42 +1429,42 @@ "input": { "shape": [2, 3, 3, 1], "data": [ - -82.09745244425362, - 67.79213870968346, - 53.992295748407145, - 54.597159309376366, - 58.62164012776881, - -7.635677529217546, - 58.550440497224145, - -72.0703930158927, - -65.0955969572423, - -70.56037981665017, - 60.85068628898233, - -73.84324584046973, - 57.31129997992079, - -91.53292449526842, - -17.57212485674829, - -75.66331658122203, - -57.140511229462064, - 7.572594312616985 + 0.7529087201709872, + 0.7520291960017611, + 0.594952773514815, + 0.21631854011984264, + 0.07589348976741683, + 0.15106785419828572, + 0.12124850358598671, + 0.5364335407319905, + 0.5937089927693522, + 0.9910031422560608, + 0.36309423611370084, + 0.9289673923363004, + 0.22727376737331384, + 0.5414123970044269, + 0.0844534212564596, + 0.6765284772046276, + 0.619325655574763, + 0.39292160755260475 ], "type": "float32" }, "filter": { "shape": [3, 2, 2, 1], "data": [ - -99.3435561600176, - -15.90380103916948, - -6.070945850968499, - -20.092214100373866, - 43.48291548484258, - 4.77126464077142, - 33.53585259686466, - -25.359619829289443, - 61.703687497454496, - 66.59348647087108, - 67.67284398422174, - -70.88191146932456 + 0.14543837927656278, + 0.9671129790291346, + 0.10836050336762582, + 0.320230810822804, + 0.6952692250382182, + 0.5070913293589028, + 0.0813970738017622, + 0.5303338853508432, + 0.30721364807734, + 0.4324123448833208, + 0.9849002194630809, + 0.4281076188358701 ], "type": "float32", "constant": true @@ -1478,30 +1478,30 @@ "name": "output", "shape": [2, 2, 2, 3], "data": [ - 5568.4052734375, - -2902.042236328125, - -1011.6694946289062, - -7795.8662109375, - 5364.9755859375, - 12286.8837890625, - -5263.5859375, - 6444.9599609375, - 16343.427734375, - -3956.7958984375, - 1746.465087890625, - 2845.576416015625, - 7533.12744140625, - 1465.38720703125, - 10064.87109375, - -3961.98095703125, - -330.37286376953125, - -6111.5146484375, - -2630.359619140625, - 966.962158203125, - -3629.30078125, - 9567.416015625, - -6172.25341796875, - -11221.728515625 + 0.8845428228378296, + 0.9626783132553101, + 0.8020333051681519, + 0.7413608431816101, + 0.9108520746231079, + 0.6277193427085876, + 0.2897796928882599, + 0.4832426905632019, + 0.4483422338962555, + 0.4053896367549896, + 0.4878997206687927, + 0.8711439371109009, + 0.6932874917984009, + 1.1787647008895874, + 0.9170808792114258, + 1.0369365215301514, + 0.8123774528503418, + 1.082636833190918, + 0.8282973766326904, + 0.816078782081604, + 1.2353861331939697, + 0.35335418581962585, + 0.6780439019203186, + 0.9810346961021423 ], "type": "float32" } @@ -1512,42 +1512,42 @@ "input": { "shape": [2, 3, 3, 1], "data": [ - -82.09745244425362, - 67.79213870968346, - 53.992295748407145, - 54.597159309376366, - 58.62164012776881, - -7.635677529217546, - 58.550440497224145, - -72.0703930158927, - -65.0955969572423, - -70.56037981665017, - 60.85068628898233, - -73.84324584046973, - 57.31129997992079, - -91.53292449526842, - -17.57212485674829, - -75.66331658122203, - -57.140511229462064, - 7.572594312616985 + 0.7529087201709872, + 0.7520291960017611, + 0.594952773514815, + 0.21631854011984264, + 0.07589348976741683, + 0.15106785419828572, + 0.12124850358598671, + 0.5364335407319905, + 0.5937089927693522, + 0.9910031422560608, + 0.36309423611370084, + 0.9289673923363004, + 0.22727376737331384, + 0.5414123970044269, + 0.0844534212564596, + 0.6765284772046276, + 0.619325655574763, + 0.39292160755260475 ], "type": "float32" }, "filter": { "shape": [1, 2, 2, 3], "data": [ - -99.3435561600176, - 43.48291548484258, - 61.703687497454496, - -15.90380103916948, - 4.77126464077142, - 66.59348647087108, - -6.070945850968499, - 33.53585259686466, - 67.67284398422174, - -20.092214100373866, - -25.359619829289443, - -70.88191146932456 + 0.14543837927656278, + 0.6952692250382182, + 0.30721364807734, + 0.9671129790291346, + 0.5070913293589028, + 0.4324123448833208, + 0.10836050336762582, + 0.0813970738017622, + 0.9849002194630809, + 0.320230810822804, + 0.5303338853508432, + 0.4281076188358701 ], "type": "float32", "constant": true @@ -1561,30 +1561,30 @@ "name": "output", "shape": [2, 2, 2, 3], "data": [ - 5568.4052734375, - -2902.042236328125, - -1011.6694946289062, - -7795.8662109375, - 5364.9755859375, - 12286.8837890625, - -5263.5859375, - 6444.9599609375, - 16343.427734375, - -3956.7958984375, - 1746.465087890625, - 2845.576416015625, - 7533.12744140625, - 1465.38720703125, - 10064.87109375, - -3961.98095703125, - -330.37286376953125, - -6111.5146484375, - -2630.359619140625, - 966.962158203125, - -3629.30078125, - 9567.416015625, - -6172.25341796875, - -11221.728515625 + 0.8845428228378296, + 0.9626783132553101, + 0.8020333051681519, + 0.7413608431816101, + 0.9108520746231079, + 0.6277193427085876, + 0.2897796928882599, + 0.4832426905632019, + 0.4483422338962555, + 0.4053896367549896, + 0.4878997206687927, + 0.8711439371109009, + 0.6932874917984009, + 1.1787647008895874, + 0.9170808792114258, + 1.0369365215301514, + 0.8123774528503418, + 1.082636833190918, + 0.8282973766326904, + 0.816078782081604, + 1.2353861331939697, + 0.35335418581962585, + 0.6780439019203186, + 0.9810346961021423 ], "type": "float32" } @@ -1595,42 +1595,42 @@ "input": { "shape": [2, 1, 3, 3], "data": [ - -82.09745244425362, - 67.79213870968346, - 53.992295748407145, - 54.597159309376366, - 58.62164012776881, - -7.635677529217546, - 58.550440497224145, - -72.0703930158927, - -65.0955969572423, - -70.56037981665017, - 60.85068628898233, - -73.84324584046973, - 57.31129997992079, - -91.53292449526842, - -17.57212485674829, - -75.66331658122203, - -57.140511229462064, - 7.572594312616985 + 0.7529087201709872, + 0.7520291960017611, + 0.594952773514815, + 0.21631854011984264, + 0.07589348976741683, + 0.15106785419828572, + 0.12124850358598671, + 0.5364335407319905, + 0.5937089927693522, + 0.9910031422560608, + 0.36309423611370084, + 0.9289673923363004, + 0.22727376737331384, + 0.5414123970044269, + 0.0844534212564596, + 0.6765284772046276, + 0.619325655574763, + 0.39292160755260475 ], "type": "float32" }, "filter": { "shape": [3, 1, 2, 2], "data": [ - -99.3435561600176, - -15.90380103916948, - -6.070945850968499, - -20.092214100373866, - 43.48291548484258, - 4.77126464077142, - 33.53585259686466, - -25.359619829289443, - 61.703687497454496, - 66.59348647087108, - 67.67284398422174, - -70.88191146932456 + 0.14543837927656278, + 0.9671129790291346, + 0.10836050336762582, + 0.320230810822804, + 0.6952692250382182, + 0.5070913293589028, + 0.0813970738017622, + 0.5303338853508432, + 0.30721364807734, + 0.4324123448833208, + 0.9849002194630809, + 0.4281076188358701 ], "type": "float32", "constant": true @@ -1640,9 +1640,9 @@ "bias": { "shape": [3], "data": [ - 81.55456400082096, - -82.00136508263851, - -31.392153284442344 + 0.8135762411918082, + 0.8394582728923039, + 0.4944481217318142 ], "type": "float32" } @@ -1651,30 +1651,30 @@ "name": "output", "shape": [2, 3, 2, 2], "data": [ - 5649.9599609375, - -7714.3115234375, - -5182.03125, - -3875.2412109375, - -2984.04345703125, - 5282.974609375, - 6362.95849609375, - 1664.4637451171875, - -1043.0616455078125, - 12255.4921875, - 16312.03515625, - 2814.184326171875, - 7614.681640625, - -3880.426513671875, - -2548.80517578125, - 9648.970703125, - 1383.3858642578125, - -412.3742370605469, - 884.9608154296875, - -6254.2548828125, - 10033.478515625, - -6142.90673828125, - -3660.69287109375, - -11253.1201171875 + 1.698119044303894, + 1.5549371242523193, + 1.103355884552002, + 1.2189658880233765, + 1.8021366596221924, + 1.7503103017807007, + 1.3227009773254395, + 1.3273580074310303, + 1.2964813709259033, + 1.1221674680709839, + 0.9427903890609741, + 1.365592122077942, + 1.5068637132644653, + 1.8505127429962158, + 1.6418735980987549, + 1.1669304370880127, + 2.0182230472564697, + 1.6518357992172241, + 1.6555371284484863, + 1.5175021886825562, + 1.4115289449691772, + 1.577085018157959, + 1.7298341989517212, + 1.4754828214645386 ], "type": "float32" } @@ -1685,42 +1685,42 @@ "input": { "shape": [2, 1, 3, 3], "data": [ - -82.09745244425362, - 67.79213870968346, - 53.992295748407145, - 54.597159309376366, - 58.62164012776881, - -7.635677529217546, - 58.550440497224145, - -72.0703930158927, - -65.0955969572423, - -70.56037981665017, - 60.85068628898233, - -73.84324584046973, - 57.31129997992079, - -91.53292449526842, - -17.57212485674829, - -75.66331658122203, - -57.140511229462064, - 7.572594312616985 + 0.7529087201709872, + 0.7520291960017611, + 0.594952773514815, + 0.21631854011984264, + 0.07589348976741683, + 0.15106785419828572, + 0.12124850358598671, + 0.5364335407319905, + 0.5937089927693522, + 0.9910031422560608, + 0.36309423611370084, + 0.9289673923363004, + 0.22727376737331384, + 0.5414123970044269, + 0.0844534212564596, + 0.6765284772046276, + 0.619325655574763, + 0.39292160755260475 ], "type": "float32" }, "filter": { "shape": [3, 1, 2, 2], "data": [ - -99.3435561600176, - -15.90380103916948, - -6.070945850968499, - -20.092214100373866, - 43.48291548484258, - 4.77126464077142, - 33.53585259686466, - -25.359619829289443, - 61.703687497454496, - 66.59348647087108, - 67.67284398422174, - -70.88191146932456 + 0.14543837927656278, + 0.9671129790291346, + 0.10836050336762582, + 0.320230810822804, + 0.6952692250382182, + 0.5070913293589028, + 0.0813970738017622, + 0.5303338853508432, + 0.30721364807734, + 0.4324123448833208, + 0.9849002194630809, + 0.4281076188358701 ], "type": "float32", "constant": true @@ -1733,30 +1733,30 @@ "name": "output", "shape": [2, 3, 2, 2], "data": [ - 5568.4052734375, - 0, - 0, - 0, - 0, - 5364.9755859375, - 6444.9599609375, - 1746.465087890625, - 0, - 12286.8837890625, - 16343.427734375, - 2845.576416015625, - 7533.12744140625, - 0, - 0, - 9567.416015625, - 1465.38720703125, - 0, - 966.962158203125, - 0, - 10064.87109375, - 0, - 0, - 0 + 0.8845428228378296, + 0.7413608431816101, + 0.2897796928882599, + 0.4053896367549896, + 0.9626783132553101, + 0.9108520746231079, + 0.4832426905632019, + 0.4878997206687927, + 0.8020333051681519, + 0.6277193427085876, + 0.4483422338962555, + 0.8711439371109009, + 0.6932874917984009, + 1.0369365215301514, + 0.8282973766326904, + 0.35335418581962585, + 1.1787647008895874, + 0.8123774528503418, + 0.816078782081604, + 0.6780439019203186, + 0.9170808792114258, + 1.082636833190918, + 1.2353861331939697, + 0.9810346961021423 ], "type": "float32" } @@ -1767,42 +1767,42 @@ "input": { "shape": [2, 1, 3, 3], "data": [ - -82.09745244425362, - 67.79213870968346, - 53.992295748407145, - 54.597159309376366, - 58.62164012776881, - -7.635677529217546, - 58.550440497224145, - -72.0703930158927, - -65.0955969572423, - -70.56037981665017, - 60.85068628898233, - -73.84324584046973, - 57.31129997992079, - -91.53292449526842, - -17.57212485674829, - -75.66331658122203, - -57.140511229462064, - 7.572594312616985 + 0.7529087201709872, + 0.7520291960017611, + 0.594952773514815, + 0.21631854011984264, + 0.07589348976741683, + 0.15106785419828572, + 0.12124850358598671, + 0.5364335407319905, + 0.5937089927693522, + 0.9910031422560608, + 0.36309423611370084, + 0.9289673923363004, + 0.22727376737331384, + 0.5414123970044269, + 0.0844534212564596, + 0.6765284772046276, + 0.619325655574763, + 0.39292160755260475 ], "type": "float32" }, "filter": { "shape": [3, 1, 2, 2], "data": [ - -99.3435561600176, - -15.90380103916948, - -6.070945850968499, - -20.092214100373866, - 43.48291548484258, - 4.77126464077142, - 33.53585259686466, - -25.359619829289443, - 61.703687497454496, - 66.59348647087108, - 67.67284398422174, - -70.88191146932456 + 0.14543837927656278, + 0.9671129790291346, + 0.10836050336762582, + 0.320230810822804, + 0.6952692250382182, + 0.5070913293589028, + 0.0813970738017622, + 0.5303338853508432, + 0.30721364807734, + 0.4324123448833208, + 0.9849002194630809, + 0.4281076188358701 ], "type": "float32", "constant": true @@ -1815,132 +1815,30 @@ "name": "output", "shape": [2, 3, 2, 2], "data": [ - 1, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 0, - 1, - 1, - 1, - 1, - 0, - 0, - 1, - 1, - 0, - 1, - 0, - 1, - 0, - 0, - 0 - ], - "type": "float32" - } - }, - { - "name": "conv2d float32 4D input and filter tensors options.dilations with options.strides", - "inputs": { - "input": { - "shape": [1, 2, 5, 5], - "data": [ - -63.64424551608248, - -78.85768257418673, - -60.83822179117915, - 94.83022245640464, - 33.598670386901034, - -88.438692998837, - 86.1003946486648, - 7.941852027981213, - 60.93210371947637, - 95.28726918060943, - -74.96831230674812, - 92.28334872854867, - -89.83695850789539, - -37.436016366025356, - -77.60731561601948, - 70.44140310874613, - -10.40266266327636, - -35.1891761237796, - 28.266275343843944, - 33.6282817473446, - -57.109660491070045, - 44.09125200564071, - -39.14521304641481, - -82.66091610024824, - 80.29753538522587, - -72.26384100844805, - 17.19961941886767, - 4.85983376686292, - 93.07820565021129, - -85.13032431377093, - -40.325305017053736, - -25.618624652566794, - 45.85732611810843, - -39.63509418394877, - 25.346406505243024, - -52.69763900664244, - 70.88347135827169, - 47.39149460742266, - -34.54832529346072, - -26.775438820089775, - 50.4780008347264, - -77.34380943250395, - -34.39513299587746, - 81.59650931745654, - 14.412025546417297, - -2.472972233013323, - -28.8863012909609, - 85.48447589591751, - -33.97460254548692, - -0.2823406555404233 - ], - "type": "float32" - }, - "filter": { - "shape": [2, 2, 2, 2], - "data": [ - -77.94031438882763, - 54.95497168261258, - 79.34394477783943, - 83.62774335109165, - -41.334312634771074, - -39.73021682110862, - -75.55663348349469, - 79.53395169504302, - -65.14621171202815, - 54.449177987681395, - -27.98560364141953, - 52.51775632097676, - 84.13392199650863, - 26.76643233672165, - 4.087872503607585, - -16.408531598421618 - ], - "type": "float32", - "constant": true - } - }, - "options": { - "strides": [2, 2], - "dilations": [2, 2] - }, - "expected": { - "shape": [2, 1, 2, 2], - "data": [ - -1299.27197265625, - -9558.9091796875, - 382.2482604980469, - -1030.2960205078125, - -8729.2177734375, - 2994.496826171875, - -5043.1591796875, - 10564.0634765625 + 0.7077627182006836, + 0.6772933602333069, + 0.5719422101974487, + 0.5999819040298462, + 0.7236577272415161, + 0.7131744623184204, + 0.618513286113739, + 0.6196115612983704, + 0.690409243106842, + 0.6519721746444702, + 0.6102449893951416, + 0.704983651638031, + 0.6666978597640991, + 0.7382584810256958, + 0.6959947943687439, + 0.5874307155609131, + 0.7647256255149841, + 0.6926159262657166, + 0.6934033632278442, + 0.6633020043373108, + 0.7144469618797302, + 0.7469926476478577, + 0.7747598886489868, + 0.7273134589195251 ], "type": "float32" } @@ -1951,70 +1849,70 @@ "input": { "shape": [1, 2, 5, 5], "data": [ - -63.64424551608248, - -78.85768257418673, - -60.83822179117915, - 94.83022245640464, - 33.598670386901034, - -88.438692998837, - 86.1003946486648, - 7.941852027981213, - 60.93210371947637, - 95.28726918060943, - -74.96831230674812, - 92.28334872854867, - -89.83695850789539, - -37.436016366025356, - -77.60731561601948, - 70.44140310874613, - -10.40266266327636, - -35.1891761237796, - 28.266275343843944, - 33.6282817473446, - -57.109660491070045, - 44.09125200564071, - -39.14521304641481, - -82.66091610024824, - 80.29753538522587, - -72.26384100844805, - 17.19961941886767, - 4.85983376686292, - 93.07820565021129, - -85.13032431377093, - -40.325305017053736, - -25.618624652566794, - 45.85732611810843, - -39.63509418394877, - 25.346406505243024, - -52.69763900664244, - 70.88347135827169, - 47.39149460742266, - -34.54832529346072, - -26.775438820089775, - 50.4780008347264, - -77.34380943250395, - -34.39513299587746, - 81.59650931745654, - 14.412025546417297, - -2.472972233013323, - -28.8863012909609, - 85.48447589591751, - -33.97460254548692, - -0.2823406555404233 + 0.099713865777741, + 0.5374298084250959, + 0.3057007632742843, + 0.7222362156944886, + 0.5066556292918762, + 0.32384305247826917, + 0.8721967991940403, + 0.2098985575512795, + 0.5052645707816252, + 0.026870572012360316, + 0.549711590167792, + 0.06430311230261965, + 0.15606686251064295, + 0.11970008688898925, + 0.036145712495725846, + 0.41425615451732734, + 0.2417246544172511, + 0.6771784996210519, + 0.20870001886065692, + 0.10979551271350108, + 0.74503571903267, + 0.744359267961296, + 0.7873413310077146, + 0.5887080289918305, + 0.11018028997622342, + 0.9045036346881179, + 0.11725221841523448, + 0.850866928863351, + 0.42449196218095864, + 0.025379145064212683, + 0.7473908464918035, + 0.46458599705779524, + 0.030408120922724935, + 0.4244018930520117, + 0.38475478117872863, + 0.7581132411894682, + 0.990195198482533, + 0.037168528384688315, + 0.01449632238827725, + 0.8263141930741622, + 0.21072064610591013, + 0.6569713718921535, + 0.25842808185295607, + 0.4802338559966235, + 0.9704218808133291, + 0.29682848294345554, + 0.7524365722467021, + 0.02963621027656349, + 0.09028015289625446, + 0.7781876138140071 ], "type": "float32" }, "filter": { "shape": [2, 2, 1, 2], "data": [ - -71.34640071984131, - 91.10855307083517, - 8.93481628625041, - -8.029865260584586, - -87.19957035899309, - 83.83408920645397, - 69.12384362305653, - -61.16795516567643 + 0.6385681781775847, + 0.07764163946007407, + 0.12916297537217947, + 0.45633891510482494, + 0.40438535170611933, + 0.594362681497403, + 0.1424126456708108, + 0.9036699957427188 ], "type": "float32", "constant": true @@ -2031,8 +1929,8 @@ "bias": { "shape": [2], "data": [ - 0.8591272719236116, - 36.26041698896728 + 0.5423753606058896, + 0.8406119024104419 ], "type": "float32" }, @@ -2042,56 +1940,202 @@ "name": "output", "shape": [1, 2, 5, 5], "data": [ - 99.66414642333984, - 2671.843505859375, - 11860.955078125, - 0, - 0, - 17500.47265625, - 0, - 8708.072265625, - 0, - 0, - 19996.1171875, - 0, - 5224.6767578125, - 0, - 0, - 0, - 0, - 11098.2734375, - 1838.085693359375, - 2605.48974609375, - 2909.8671875, - 0, - 463.63958740234375, - 11043.095703125, - 0, - 0, - 1180.9088134765625, - 0, - 13046.634765625, - 0, - 0, - 0, - 6000.43212890625, - 4326.90625, - 0, - 0, - 377.5670166015625, - 10618.79296875, - 0, - 100.84029388427734, - 3628.610107421875, - 1733.635009765625, - 0, - 3062.631103515625, - 0, - 6815.89501953125, - 0, - 5492.03076171875, - 4523.7138671875, - 1325.6494140625 + 0.6592350006103516, + 0.8032397627830505, + 0.7688518762588501, + 0.9065912961959839, + 0.7472594976425171, + 0.9306347966194153, + 1.3076419830322266, + 0.987708330154419, + 1.277161955833435, + 0.8767756223678589, + 1.0932797193527222, + 1.1746727228164673, + 0.8218293786048889, + 0.9220445156097412, + 0.5741508603096008, + 1.103653073310852, + 0.7977840900421143, + 0.9610581398010254, + 0.7235122323036194, + 0.6098566055297852, + 1.2454158067703247, + 1.1973347663879395, + 1.4039851427078247, + 0.9435820579528809, + 0.6570426225662231, + 1.4841723442077637, + 1.6792051792144775, + 1.729936122894287, + 1.115848422050476, + 0.8556963205337524, + 1.828399419784546, + 1.5416107177734375, + 1.5019794702529907, + 1.4850915670394897, + 1.0712661743164062, + 2.4560532569885254, + 1.5126826763153076, + 1.0718353986740112, + 1.8044731616973877, + 1.3616151809692383, + 2.07026743888855, + 1.5584666728973389, + 1.4376858472824097, + 2.3811910152435303, + 1.4815508127212524, + 2.0131523609161377, + 1.4835525751113892, + 1.1790242195129395, + 2.0776233673095703, + 1.378482699394226 + ], + "type": "float32" + } + }, + { + "name": "conv2d float32 4D input and filter tensors, both negative input tensor and options.bias", + "inputs": { + "input": { + "shape": [1, 2, 5, 5], + "data": [ + -0.8073334836059594, + -0.8839999531200213, + -0.7700487271672907, + -0.5646049640597197, + -0.3971793875202543, + -0.1084135691143644, + -0.5519214808736546, + -0.3954172077064906, + -0.05758975763264007, + -0.5144240745380702, + -0.21321901474354354, + -0.9506090015630133, + -0.8043696918281786, + -0.8646378386343376, + -0.9607220763612241, + -0.3264438487690362, + -0.0688429735597631, + -0.32033992561547486, + -0.2692728077259734, + -0.34308877644524194, + -0.8989502140796819, + -0.9038569138324508, + -0.6369403164357454, + -0.20070796788073975, + -0.7870701966207543, + -0.3467883629993205, + -0.06004269369586446, + -0.1498520855746983, + -0.6482332485869089, + -0.8934088233365358, + -0.8149284803583503, + -0.642366834151139, + -0.03273624021014587, + -0.6608918929180299, + -0.5843491800022218, + -0.09921254485788045, + -0.1660252392520163, + -0.9508541527000836, + -0.30514628810841127, + -0.6210587190159238, + -0.5400903646960964, + -0.42009180747436625, + -0.1882453942541189, + -0.3588937522647535, + -0.7114293416682491, + -0.3751019899620214, + -0.7108227479593932, + -0.36050302242678467, + -0.5468712310796768, + -0.03226159510823612 + ], + "type": "float32" + }, + "filter": { + "shape": [2, 2, 1, 2], + "data": [ + 0.6385681781775847, + 0.07764163946007407, + 0.12916297537217947, + 0.45633891510482494, + 0.40438535170611933, + 0.594362681497403, + 0.1424126456708108, + 0.9036699957427188 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "padding": [1, 0, 0, 1], + "groups": 2, + "filterLayout": "hwio", + "bias": { + "shape": [2], + "data": [ + -0.37496936418502824, + -0.4363507146568044 + ], + "type": "float32" + } + }, + "expected": { + "name": "output", + "shape": [1, 2, 5, 5], + "data": [ + -0.8273359537124634, + -0.8421106934547424, + -0.7667726874351501, + -0.6598507165908813, + -0.5355829000473022, + -1.1271283626556396, + -1.3184267282485962, + -1.1077264547348022, + -0.8833579421043396, + -0.8366210460662842, + -0.7370880246162415, + -1.2774468660354614, + -1.0833193063735962, + -0.9646547436714172, + -1.091966152191162, + -0.7757209539413452, + -1.1593523025512695, + -1.1681820154190063, + -1.2089394330978394, + -1.127195954322815, + -1.0845609903335571, + -0.9165211915969849, + -0.9004610180854797, + -0.78448486328125, + -0.9123346209526062, + -0.6967275738716125, + -0.6074546575546265, + -1.1112061738967896, + -1.6289831399917603, + -0.9673595428466797, + -1.5555264949798584, + -0.9207774996757507, + -1.3604848384857178, + -1.8152461051940918, + -0.8530317544937134, + -1.0017603635787964, + -1.4591015577316284, + -1.5813868045806885, + -1.4969244003295898, + -0.8508546352386475, + -1.2204514741897583, + -1.3029515743255615, + -1.0856342315673828, + -1.5996664762496948, + -0.9074177742004395, + -1.5352842807769775, + -1.303133249282837, + -1.3232042789459229, + -1.1430623531341553, + -0.5107623338699341 ], "type": "float32" }
diff --git a/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/conv_transpose2d.json b/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/conv_transpose2d.json index 311a7d9..c7026f9 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/conv_transpose2d.json +++ b/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/conv_transpose2d.json
@@ -6,20 +6,20 @@ "input": { "shape": [1, 1, 2, 2], "data": [ - -76.02988383382066, - -71.32389057460688, - -2.085512195999769, - -76.10441972856492 + 0.5872158177067033, + 0.6077792328258038, + 0.01728916618181975, + 0.26146076483771563 ], "type": "float32" }, "filter": { "shape": [1, 1, 2, 2], "data": [ - 63.98739089703227, - -97.92857637226295, - -87.83247798464106, - -19.121183948450366 + 0.32927132527587477, + 0.5866857173772775, + 0.29701370673751004, + 0.0033378428248385106 ], "type": "float32" } @@ -27,15 +27,15 @@ "expected": { "shape": [1, 1, 3, 3], "data": [ - -4864.9541015625, - 2881.66845703125, - 6984.64697265625, - 6544.44677734375, - 3052.84326171875, - 8816.5947265625, - 183.1757049560547, - 6724.31787109375, - 1455.2066650390625 + 0.1933533400297165, + 0.5446354150772095, + 0.3565753698348999, + 0.18010397255420685, + 0.2787136137485504, + 0.15542395412921906, + 0.0051351189613342285, + 0.07771513611078262, + 0.0008727149106562138 ], "type": "float32" } @@ -46,20 +46,20 @@ "input": { "shape": [1, 1, 2, 2], "data": [ - -76.02988383382066, - -71.32389057460688, - -2.085512195999769, - -76.10441972856492 + 0.5872158177067033, + 0.6077792328258038, + 0.01728916618181975, + 0.26146076483771563 ], "type": "float32" }, "filter": { "shape": [1, 1, 2, 2], "data": [ - 63.98739089703227, - -97.92857637226295, - -87.83247798464106, - -19.121183948450366 + 0.32927132527587477, + 0.5866857173772775, + 0.29701370673751004, + 0.0033378428248385106 ], "type": "float32", "constant": true @@ -68,15 +68,15 @@ "expected": { "shape": [1, 1, 3, 3], "data": [ - -4864.9541015625, - 2881.66845703125, - 6984.64697265625, - 6544.44677734375, - 3052.84326171875, - 8816.5947265625, - 183.1757049560547, - 6724.31787109375, - 1455.2066650390625 + 0.1933533400297165, + 0.5446354150772095, + 0.3565753698348999, + 0.18010397255420685, + 0.2787136137485504, + 0.15542395412921906, + 0.0051351189613342285, + 0.07771513611078262, + 0.0008727149106562138 ], "type": "float32" } @@ -87,20 +87,20 @@ "input": { "shape": [1, 1, 2, 2], "data": [ - -76.02988383382066, - -71.32389057460688, - -2.085512195999769, - -76.10441972856492 + 0.5872158177067033, + 0.6077792328258038, + 0.01728916618181975, + 0.26146076483771563 ], "type": "float32" }, "filter": { "shape": [1, 1, 2, 2], "data": [ - 63.98739089703227, - -97.92857637226295, - -87.83247798464106, - -19.121183948450366 + 0.32927132527587477, + 0.5866857173772775, + 0.29701370673751004, + 0.0033378428248385106 ], "type": "float32", "constant": true @@ -112,7 +112,7 @@ "expected": { "shape": [1, 1, 1, 1], "data": [ - 3052.84326171875 + 0.2787136137485504 ], "type": "float32" } @@ -123,39 +123,39 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - 9.894964540954291, - 85.68415702346587, - 24.094748480252548, - 12.874409836228523, - 32.236353301686904, - -38.46024349445712, - -68.43195409231569, - -96.19399584390335, - -10.756102339485494 + 0.05605664967552748, + 0.7114230061939892, + 0.6529743817798401, + 0.3862290922141163, + 0.38708372734474095, + 0.9461629334832131, + 0.0957319185290193, + 0.9234652551205444, + 0.6362779541136516 ], "type": "float32" }, "filter": { "shape": [1, 2, 3, 3], "data": [ - 40.96311950512268, - -92.30080102023575, - 93.07175377236138, - -24.275884210454365, - 40.96179340360786, - 63.58423287755542, - 66.61102029547635, - 38.26567426829985, - 35.453481305983416, - -50.56008968241721, - -95.59720535330331, - -14.890781966723395, - -86.73116027713128, - 71.45942817317783, - -78.4748360510919, - 2.367216720219375, - 2.41961735973382, - 58.25714567285877 + 0.861442276299335, + 0.6267672619279181, + 0.6366489967621862, + 0.8382642064548715, + 0.11884837321114183, + 0.9921330460504791, + 0.3285411258903119, + 0.8742373539889388, + 0.7205492498486465, + 0.9801966684571415, + 0.06169835353027997, + 0.3220160786486479, + 0.7498031716529909, + 0.39307147694602995, + 0.1381193362338462, + 0.283850915413119, + 0.4235861336377129, + 0.14485120857485168 ], "type": "float32", "constant": true @@ -167,132 +167,132 @@ "expected": { "shape": [1, 2, 9, 7], "data": [ - 405.32861328125, - -913.3131713867188, - 4430.83203125, - -7908.716796875, - 8961.7705078125, - -2223.964599609375, - 2242.54052734375, - -240.20901489257812, - 405.3154602050781, - -1450.89501953125, - 3509.776611328125, - 4863.240234375, - 986.9640502929688, - 1532.0460205078125, - 659.1137084960938, - 378.6374816894531, - 6058.3203125, - 3278.76220703125, - 4642.77734375, - 922.0017700195312, - 854.2426147460938, - 527.3759765625, - -1188.318359375, - 2518.74560546875, - -2975.44140625, - 1424.842529296875, - 3549.911376953125, - -3579.562255859375, - -312.5376892089844, - 527.35888671875, - 36.043426513671875, - 1320.4588623046875, - 2983.38037109375, - -1575.4005126953125, - -2445.465087890625, - 857.5775756835938, - 492.6479797363281, - 2603.7392578125, - 1233.5458984375, - -1418.9852294921875, - -1471.7071533203125, - -1363.5494384765625, - -2803.186279296875, - 6316.32421875, - -10309.48828125, - 8878.783203125, - -9393.546875, - 992.7969360351562, - -1001.08935546875, - 1661.2462158203125, - -2803.095458984375, - -2015.9989013671875, - -3940.2783203125, - -5855.30712890625, - -440.5892333984375, - -683.9185180664062, - -4558.322265625, - -2618.594970703125, - -8833.7314453125, - -3680.927978515625, - -4126.88671875, - -411.5895080566406, - -381.3412780761719, - -500.290283203125, - -945.930908203125, - -4479.54248046875, - -8191.166015625, - -2494.13671875, - -2303.390625, - -358.7896423339844, - -858.2017822265625, - 707.0885009765625, - -8207.9921875, - 6122.94091796875, - -8813.81640625, - 1721.796875, - -1890.8314208984375, - 23.423524856567383, - 23.942028045654297, - 779.2853393554688, - 207.3228759765625, - 5048.751953125, - 58.300071716308594, - 1403.691162109375, - -650.9312744140625, - -1230.757568359375, - -1821.5830078125, - -3081.70556640625, - 1464.52880859375, - 3676.69189453125, - 572.703125, - -1116.612548828125, - 919.9979248046875, - -3806.2138671875, - 2303.591552734375, - 805.9589233398438, - -2748.346923828125, - 3018.161376953125, - 30.476518630981445, - 31.151145935058594, - 826.3367919921875, - 77.99964904785156, - 1786.9542236328125, - -93.05907440185547, - -2240.583984375, - 3459.92578125, - 6541.9033203125, - 5882.58203125, - 9195.876953125, - 1976.2332763671875, - 1028.2532958984375, - 160.16677856445312, - 5935.18310546875, - -4890.1083984375, - 13713.203125, - -6873.9677734375, - 8481.697265625, - -768.6249389648438, - 844.0834350585938, - -161.99327087402344, - -165.5791473388672, - -4214.3623046875, - -232.75265502929688, - -5629.44921875, - -26.025653839111328, - -626.6198120117188 + 0.04828956723213196, + 0.03513447195291519, + 0.6485382318496704, + 0.4458966553211212, + 1.015426516532898, + 0.4092629551887512, + 0.4157154858112335, + 0.0469902828335762, + 0.0066622416488826275, + 0.6519761085510254, + 0.08455146849155426, + 1.2531912326812744, + 0.07760494202375412, + 0.6478374600410461, + 0.018416915088891983, + 0.04900681599974632, + 0.27412328124046326, + 0.6219525337219238, + 0.7271442413330078, + 0.5708546042442322, + 0.4705001711845398, + 0.3327140808105469, + 0.24207575619220734, + 0.5793426632881165, + 0.24261142313480377, + 1.0615012645721436, + 0.593023955821991, + 0.6023737192153931, + 0.32376202940940857, + 0.04590269923210144, + 0.7076690793037415, + 0.0460042729973793, + 1.177173137664795, + 0.11244992911815643, + 0.9387195110321045, + 0.12689214944839478, + 0.3376559019088745, + 0.40547001361846924, + 0.3384030759334564, + 0.5897663235664368, + 0.8271709680557251, + 0.6817569732666016, + 0.08246752619743347, + 0.06000163406133652, + 0.8564596176147461, + 0.5787978172302246, + 1.1360399723052979, + 0.39879822731018066, + 0.4050857424736023, + 0.0802486464381218, + 0.011377583257853985, + 0.8690866827964783, + 0.1097523421049118, + 1.4495694637298584, + 0.0756206065416336, + 0.6312723755836487, + 0.03145187348127365, + 0.08369242399930954, + 0.37237587571144104, + 0.8073278069496155, + 0.8744456768035889, + 0.556257963180542, + 0.45846959948539734, + 0.05494653806090355, + 0.0034586030524224043, + 0.7153855562210083, + 0.04389362782239914, + 0.869132936000824, + 0.04028744250535965, + 0.21026825904846191, + 0.04203145205974579, + 0.02203426882624626, + 0.5411697030067444, + 0.2796400785446167, + 0.5878635048866272, + 0.25666558742523193, + 0.0901883915066719, + 0.015911730006337166, + 0.023744819685816765, + 0.21005792915821075, + 0.30134889483451843, + 0.2883978486061096, + 0.27659088373184204, + 0.09458412230014801, + 0.3785804808139801, + 0.02382970042526722, + 0.5037901997566223, + 0.0238824300467968, + 1.0520728826522827, + 0.05837669596076012, + 0.3046796917915344, + 0.2895958125591278, + 0.15181563794612885, + 0.3435823321342468, + 0.15215156972408295, + 0.7628997564315796, + 0.37190964818000793, + 0.13068340718746185, + 0.1096314787864685, + 0.16360129415988922, + 0.16581982374191284, + 0.16396330296993256, + 0.3246387541294098, + 0.400781512260437, + 0.13705284893512726, + 0.09383610635995865, + 0.00590650225058198, + 0.9360047578811646, + 0.05697628855705261, + 0.9210482239723206, + 0.03925730288028717, + 0.20489174127578735, + 0.07178010046482086, + 0.03762948885560036, + 0.7056396007537842, + 0.36298784613609314, + 0.6046316623687744, + 0.2501027286052704, + 0.08788229525089264, + 0.027173593640327454, + 0.04055071249604225, + 0.27599334716796875, + 0.3911670744419098, + 0.3143731355667114, + 0.26951852440834045, + 0.09216563403606415 ], "type": "float32" } @@ -303,25 +303,25 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - -23.303862322607927, - -60.660800814902856, - -45.27723579857441, - 79.39347194577522, - 16.536097856789752, - -46.916933052373636, - -47.06090492120389, - 82.67905506257102, - -6.757763278948744 + 0.3194596882329144, + 0.9762163819788108, + 0.41314086405782646, + 0.4798294207950651, + 0.7674162198689658, + 0.9083173676123812, + 0.620514237394759, + 0.6580719790256742, + 0.6553052148945859 ], "type": "float32" }, "filter": { "shape": [1, 1, 2, 2], "data": [ - 80.87123567764502, - -18.78697954458781, - -66.28471209276029, - -25.946448546240262 + 0.6835425651112257, + 0.9641214608820772, + 0.8272836859778003, + 0.5771222965089409 ], "type": "float32", "constant": true @@ -333,31 +333,31 @@ "expected": { "shape": [1, 1, 5, 5], "data": [ - -1884.6121826171875, - -4905.71435546875, - -3223.817138671875, - 1139.6331787109375, - 850.62255859375, - 6420.6484375, - 1337.2947998046875, - -5285.7939453125, - -310.6633605957031, - 881.4274291992188, - -2261.183837890625, - 10707.2412109375, - 3943.46484375, - 20.642683029174805, - 1301.741455078125, - -5262.5732421875, - -1096.090576171875, - 1049.896728515625, - -429.05303955078125, - 1217.3277587890625, - 3119.418701171875, - -5480.357421875, - 1668.999755859375, - -2145.227783203125, - 175.3399658203125 + 0.21836428344249725, + 0.6672854423522949, + 0.590397298336029, + 0.9411911368370056, + 0.39831796288490295, + 0.3279838263988495, + 0.5245616436004639, + 1.0834873914718628, + 0.7398824691772461, + 0.8757283091545105, + 0.6884316205978394, + 1.2574280500411987, + 1.5723320245742798, + 1.1978574991226196, + 0.8702266216278076, + 0.39695504307746887, + 0.6348709464073181, + 1.0283564329147339, + 0.44289299845695496, + 0.5242102146148682, + 0.5133413076400757, + 0.5444121956825256, + 0.9002358913421631, + 0.37978801131248474, + 0.3781912326812744 ], "type": "float32" } @@ -368,39 +368,39 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - 9.894964540954291, - 85.68415702346587, - 24.094748480252548, - 12.874409836228523, - 32.236353301686904, - -38.46024349445712, - -68.43195409231569, - -96.19399584390335, - -10.756102339485494 + 0.05605664967552748, + 0.7114230061939892, + 0.6529743817798401, + 0.3862290922141163, + 0.38708372734474095, + 0.9461629334832131, + 0.0957319185290193, + 0.9234652551205444, + 0.6362779541136516 ], "type": "float32" }, "filter": { "shape": [1, 2, 3, 3], "data": [ - 40.96311950512268, - -92.30080102023575, - 93.07175377236138, - -24.275884210454365, - 40.96179340360786, - 63.58423287755542, - 66.61102029547635, - 38.26567426829985, - 35.453481305983416, - -50.56008968241721, - -95.59720535330331, - -14.890781966723395, - -86.73116027713128, - 71.45942817317783, - -78.4748360510919, - 2.367216720219375, - 2.41961735973382, - 58.25714567285877 + 0.861442276299335, + 0.6267672619279181, + 0.6366489967621862, + 0.8382642064548715, + 0.11884837321114183, + 0.9921330460504791, + 0.3285411258903119, + 0.8742373539889388, + 0.7205492498486465, + 0.9801966684571415, + 0.06169835353027997, + 0.3220160786486479, + 0.7498031716529909, + 0.39307147694602995, + 0.1381193362338462, + 0.283850915413119, + 0.4235861336377129, + 0.14485120857485168 ], "type": "float32", "constant": true @@ -413,77 +413,77 @@ "expected": { "shape": [1, 2, 10, 8], "data": [ - 405.32861328125, - -913.3131713867188, - 4430.83203125, - -7908.716796875, - 8961.7705078125, - -2223.964599609375, - 2242.54052734375, + 0.04828956723213196, + 0.03513447195291519, + 0.6485382318496704, + 0.4458966553211212, + 1.015426516532898, + 0.4092629551887512, + 0.4157154858112335, 0, - -240.20901489257812, - 405.3154602050781, - -1450.89501953125, - 3509.776611328125, - 4863.240234375, - 986.9640502929688, - 1532.0460205078125, + 0.0469902828335762, + 0.0066622416488826275, + 0.6519761085510254, + 0.08455146849155426, + 1.2531912326812744, + 0.07760494202375412, + 0.6478374600410461, 0, - 659.1137084960938, - 378.6374816894531, - 6058.3203125, - 3278.76220703125, - 4642.77734375, - 922.0017700195312, - 854.2426147460938, + 0.018416915088891983, + 0.04900681599974632, + 0.27412328124046326, + 0.6219525337219238, + 0.7271442413330078, + 0.5708546042442322, + 0.4705001711845398, 0, - 527.3759765625, - -1188.318359375, - 2518.74560546875, - -2975.44140625, - 1424.842529296875, - 3549.911376953125, - -3579.562255859375, + 0.3327140808105469, + 0.24207575619220734, + 0.5793426632881165, + 0.24261142313480377, + 1.0615012645721436, + 0.593023955821991, + 0.6023737192153931, 0, - -312.5376892089844, - 527.35888671875, - 36.043426513671875, - 1320.4588623046875, - 2983.38037109375, - -1575.4005126953125, - -2445.465087890625, + 0.32376202940940857, + 0.04590269923210144, + 0.7076690793037415, + 0.0460042729973793, + 1.177173137664795, + 0.11244992911815643, + 0.9387195110321045, 0, - 857.5775756835938, - 492.6479797363281, - 2603.7392578125, - 1233.5458984375, - -1418.9852294921875, - -1471.7071533203125, - -1363.5494384765625, + 0.12689214944839478, + 0.3376559019088745, + 0.40547001361846924, + 0.3384030759334564, + 0.5897663235664368, + 0.8271709680557251, + 0.6817569732666016, 0, - -2803.186279296875, - 6316.32421875, - -10309.48828125, - 8878.783203125, - -9393.546875, - 992.7969360351562, - -1001.08935546875, + 0.08246752619743347, + 0.06000163406133652, + 0.8564596176147461, + 0.5787978172302246, + 1.1360399723052979, + 0.39879822731018066, + 0.4050857424736023, 0, - 1661.2462158203125, - -2803.095458984375, - -2015.9989013671875, - -3940.2783203125, - -5855.30712890625, - -440.5892333984375, - -683.9185180664062, + 0.0802486464381218, + 0.011377583257853985, + 0.8690866827964783, + 0.1097523421049118, + 1.4495694637298584, + 0.0756206065416336, + 0.6312723755836487, 0, - -4558.322265625, - -2618.594970703125, - -8833.7314453125, - -3680.927978515625, - -4126.88671875, - -411.5895080566406, - -381.3412780761719, + 0.03145187348127365, + 0.08369242399930954, + 0.37237587571144104, + 0.8073278069496155, + 0.8744456768035889, + 0.556257963180542, + 0.45846959948539734, 0, 0, 0, @@ -493,77 +493,77 @@ 0, 0, 0, - -500.290283203125, - -945.930908203125, - -4479.54248046875, - -8191.166015625, - -2494.13671875, - -2303.390625, - -358.7896423339844, + 0.05494653806090355, + 0.0034586030524224043, + 0.7153855562210083, + 0.04389362782239914, + 0.869132936000824, + 0.04028744250535965, + 0.21026825904846191, 0, - -858.2017822265625, - 707.0885009765625, - -8207.9921875, - 6122.94091796875, - -8813.81640625, - 1721.796875, - -1890.8314208984375, + 0.04203145205974579, + 0.02203426882624626, + 0.5411697030067444, + 0.2796400785446167, + 0.5878635048866272, + 0.25666558742523193, + 0.0901883915066719, 0, - 23.423524856567383, - 23.942028045654297, - 779.2853393554688, - 207.3228759765625, - 5048.751953125, - 58.300071716308594, - 1403.691162109375, + 0.015911730006337166, + 0.023744819685816765, + 0.21005792915821075, + 0.30134889483451843, + 0.2883978486061096, + 0.27659088373184204, + 0.09458412230014801, 0, - -650.9312744140625, - -1230.757568359375, - -1821.5830078125, - -3081.70556640625, - 1464.52880859375, - 3676.69189453125, - 572.703125, + 0.3785804808139801, + 0.02382970042526722, + 0.5037901997566223, + 0.0238824300467968, + 1.0520728826522827, + 0.05837669596076012, + 0.3046796917915344, 0, - -1116.612548828125, - 919.9979248046875, - -3806.2138671875, - 2303.591552734375, - 805.9589233398438, - -2748.346923828125, - 3018.161376953125, + 0.2895958125591278, + 0.15181563794612885, + 0.3435823321342468, + 0.15215156972408295, + 0.7628997564315796, + 0.37190964818000793, + 0.13068340718746185, 0, - 30.476518630981445, - 31.151145935058594, - 826.3367919921875, - 77.99964904785156, - 1786.9542236328125, - -93.05907440185547, - -2240.583984375, + 0.1096314787864685, + 0.16360129415988922, + 0.16581982374191284, + 0.16396330296993256, + 0.3246387541294098, + 0.400781512260437, + 0.13705284893512726, 0, - 3459.92578125, - 6541.9033203125, - 5882.58203125, - 9195.876953125, - 1976.2332763671875, - 1028.2532958984375, - 160.16677856445312, + 0.09383610635995865, + 0.00590650225058198, + 0.9360047578811646, + 0.05697628855705261, + 0.9210482239723206, + 0.03925730288028717, + 0.20489174127578735, 0, - 5935.18310546875, - -4890.1083984375, - 13713.203125, - -6873.9677734375, - 8481.697265625, - -768.6249389648438, - 844.0834350585938, + 0.07178010046482086, + 0.03762948885560036, + 0.7056396007537842, + 0.36298784613609314, + 0.6046316623687744, + 0.2501027286052704, + 0.08788229525089264, 0, - -161.99327087402344, - -165.5791473388672, - -4214.3623046875, - -232.75265502929688, - -5629.44921875, - -26.025653839111328, - -626.6198120117188, + 0.027173593640327454, + 0.04055071249604225, + 0.27599334716796875, + 0.3911670744419098, + 0.3143731355667114, + 0.26951852440834045, + 0.09216563403606415, 0, 0, 0, @@ -583,39 +583,39 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - 9.894964540954291, - 85.68415702346587, - 24.094748480252548, - 12.874409836228523, - 32.236353301686904, - -38.46024349445712, - -68.43195409231569, - -96.19399584390335, - -10.756102339485494 + 0.05605664967552748, + 0.7114230061939892, + 0.6529743817798401, + 0.3862290922141163, + 0.38708372734474095, + 0.9461629334832131, + 0.0957319185290193, + 0.9234652551205444, + 0.6362779541136516 ], "type": "float32" }, "filter": { "shape": [1, 2, 3, 3], "data": [ - 40.96311950512268, - -92.30080102023575, - 93.07175377236138, - -24.275884210454365, - 40.96179340360786, - 63.58423287755542, - 66.61102029547635, - 38.26567426829985, - 35.453481305983416, - -50.56008968241721, - -95.59720535330331, - -14.890781966723395, - -86.73116027713128, - 71.45942817317783, - -78.4748360510919, - 2.367216720219375, - 2.41961735973382, - 58.25714567285877 + 0.861442276299335, + 0.6267672619279181, + 0.6366489967621862, + 0.8382642064548715, + 0.11884837321114183, + 0.9921330460504791, + 0.3285411258903119, + 0.8742373539889388, + 0.7205492498486465, + 0.9801966684571415, + 0.06169835353027997, + 0.3220160786486479, + 0.7498031716529909, + 0.39307147694602995, + 0.1381193362338462, + 0.283850915413119, + 0.4235861336377129, + 0.14485120857485168 ], "type": "float32", "constant": true @@ -628,77 +628,77 @@ "expected": { "shape": [1, 2, 10, 8], "data": [ - 405.32861328125, - -913.3131713867188, - 4430.83203125, - -7908.716796875, - 8961.7705078125, - -2223.964599609375, - 2242.54052734375, + 0.04828956723213196, + 0.03513447195291519, + 0.6485382318496704, + 0.4458966553211212, + 1.015426516532898, + 0.4092629551887512, + 0.4157154858112335, 0, - -240.20901489257812, - 405.3154602050781, - -1450.89501953125, - 3509.776611328125, - 4863.240234375, - 986.9640502929688, - 1532.0460205078125, + 0.0469902828335762, + 0.0066622416488826275, + 0.6519761085510254, + 0.08455146849155426, + 1.2531912326812744, + 0.07760494202375412, + 0.6478374600410461, 0, - 659.1137084960938, - 378.6374816894531, - 6058.3203125, - 3278.76220703125, - 4642.77734375, - 922.0017700195312, - 854.2426147460938, + 0.018416915088891983, + 0.04900681599974632, + 0.27412328124046326, + 0.6219525337219238, + 0.7271442413330078, + 0.5708546042442322, + 0.4705001711845398, 0, - 527.3759765625, - -1188.318359375, - 2518.74560546875, - -2975.44140625, - 1424.842529296875, - 3549.911376953125, - -3579.562255859375, + 0.3327140808105469, + 0.24207575619220734, + 0.5793426632881165, + 0.24261142313480377, + 1.0615012645721436, + 0.593023955821991, + 0.6023737192153931, 0, - -312.5376892089844, - 527.35888671875, - 36.043426513671875, - 1320.4588623046875, - 2983.38037109375, - -1575.4005126953125, - -2445.465087890625, + 0.32376202940940857, + 0.04590269923210144, + 0.7076690793037415, + 0.0460042729973793, + 1.177173137664795, + 0.11244992911815643, + 0.9387195110321045, 0, - 857.5775756835938, - 492.6479797363281, - 2603.7392578125, - 1233.5458984375, - -1418.9852294921875, - -1471.7071533203125, - -1363.5494384765625, + 0.12689214944839478, + 0.3376559019088745, + 0.40547001361846924, + 0.3384030759334564, + 0.5897663235664368, + 0.8271709680557251, + 0.6817569732666016, 0, - -2803.186279296875, - 6316.32421875, - -10309.48828125, - 8878.783203125, - -9393.546875, - 992.7969360351562, - -1001.08935546875, + 0.08246752619743347, + 0.06000163406133652, + 0.8564596176147461, + 0.5787978172302246, + 1.1360399723052979, + 0.39879822731018066, + 0.4050857424736023, 0, - 1661.2462158203125, - -2803.095458984375, - -2015.9989013671875, - -3940.2783203125, - -5855.30712890625, - -440.5892333984375, - -683.9185180664062, + 0.0802486464381218, + 0.011377583257853985, + 0.8690866827964783, + 0.1097523421049118, + 1.4495694637298584, + 0.0756206065416336, + 0.6312723755836487, 0, - -4558.322265625, - -2618.594970703125, - -8833.7314453125, - -3680.927978515625, - -4126.88671875, - -411.5895080566406, - -381.3412780761719, + 0.03145187348127365, + 0.08369242399930954, + 0.37237587571144104, + 0.8073278069496155, + 0.8744456768035889, + 0.556257963180542, + 0.45846959948539734, 0, 0, 0, @@ -708,77 +708,77 @@ 0, 0, 0, - -500.290283203125, - -945.930908203125, - -4479.54248046875, - -8191.166015625, - -2494.13671875, - -2303.390625, - -358.7896423339844, + 0.05494653806090355, + 0.0034586030524224043, + 0.7153855562210083, + 0.04389362782239914, + 0.869132936000824, + 0.04028744250535965, + 0.21026825904846191, 0, - -858.2017822265625, - 707.0885009765625, - -8207.9921875, - 6122.94091796875, - -8813.81640625, - 1721.796875, - -1890.8314208984375, + 0.04203145205974579, + 0.02203426882624626, + 0.5411697030067444, + 0.2796400785446167, + 0.5878635048866272, + 0.25666558742523193, + 0.0901883915066719, 0, - 23.423524856567383, - 23.942028045654297, - 779.2853393554688, - 207.3228759765625, - 5048.751953125, - 58.300071716308594, - 1403.691162109375, + 0.015911730006337166, + 0.023744819685816765, + 0.21005792915821075, + 0.30134889483451843, + 0.2883978486061096, + 0.27659088373184204, + 0.09458412230014801, 0, - -650.9312744140625, - -1230.757568359375, - -1821.5830078125, - -3081.70556640625, - 1464.52880859375, - 3676.69189453125, - 572.703125, + 0.3785804808139801, + 0.02382970042526722, + 0.5037901997566223, + 0.0238824300467968, + 1.0520728826522827, + 0.05837669596076012, + 0.3046796917915344, 0, - -1116.612548828125, - 919.9979248046875, - -3806.2138671875, - 2303.591552734375, - 805.9589233398438, - -2748.346923828125, - 3018.161376953125, + 0.2895958125591278, + 0.15181563794612885, + 0.3435823321342468, + 0.15215156972408295, + 0.7628997564315796, + 0.37190964818000793, + 0.13068340718746185, 0, - 30.476518630981445, - 31.151145935058594, - 826.3367919921875, - 77.99964904785156, - 1786.9542236328125, - -93.05907440185547, - -2240.583984375, + 0.1096314787864685, + 0.16360129415988922, + 0.16581982374191284, + 0.16396330296993256, + 0.3246387541294098, + 0.400781512260437, + 0.13705284893512726, 0, - 3459.92578125, - 6541.9033203125, - 5882.58203125, - 9195.876953125, - 1976.2332763671875, - 1028.2532958984375, - 160.16677856445312, + 0.09383610635995865, + 0.00590650225058198, + 0.9360047578811646, + 0.05697628855705261, + 0.9210482239723206, + 0.03925730288028717, + 0.20489174127578735, 0, - 5935.18310546875, - -4890.1083984375, - 13713.203125, - -6873.9677734375, - 8481.697265625, - -768.6249389648438, - 844.0834350585938, + 0.07178010046482086, + 0.03762948885560036, + 0.7056396007537842, + 0.36298784613609314, + 0.6046316623687744, + 0.2501027286052704, + 0.08788229525089264, 0, - -161.99327087402344, - -165.5791473388672, - -4214.3623046875, - -232.75265502929688, - -5629.44921875, - -26.025653839111328, - -626.6198120117188, + 0.027173593640327454, + 0.04055071249604225, + 0.27599334716796875, + 0.3911670744419098, + 0.3143731355667114, + 0.26951852440834045, + 0.09216563403606415, 0, 0, 0, @@ -798,20 +798,20 @@ "input": { "shape": [1, 1, 2, 2], "data": [ - -76.02988383382066, - -71.32389057460688, - -2.085512195999769, - -76.10441972856492 + 0.5872158177067033, + 0.6077792328258038, + 0.01728916618181975, + 0.26146076483771563 ], "type": "float32" }, "filter": { "shape": [1, 1, 2, 2], "data": [ - 63.98739089703227, - -97.92857637226295, - -87.83247798464106, - -19.121183948450366 + 0.32927132527587477, + 0.5866857173772775, + 0.29701370673751004, + 0.0033378428248385106 ], "type": "float32", "constant": true @@ -824,7 +824,7 @@ "expected": { "shape": [1, 1, 1, 1], "data": [ - 3052.84326171875 + 0.2787136137485504 ], "type": "float32" } @@ -835,39 +835,39 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - 9.894964540954291, - 85.68415702346587, - 24.094748480252548, - 12.874409836228523, - 32.236353301686904, - -38.46024349445712, - -68.43195409231569, - -96.19399584390335, - -10.756102339485494 + 0.05605664967552748, + 0.7114230061939892, + 0.6529743817798401, + 0.3862290922141163, + 0.38708372734474095, + 0.9461629334832131, + 0.0957319185290193, + 0.9234652551205444, + 0.6362779541136516 ], "type": "float32" }, "filter": { "shape": [1, 2, 3, 3], "data": [ - 40.96311950512268, - -92.30080102023575, - 93.07175377236138, - -24.275884210454365, - 40.96179340360786, - 63.58423287755542, - 66.61102029547635, - 38.26567426829985, - 35.453481305983416, - -50.56008968241721, - -95.59720535330331, - -14.890781966723395, - -86.73116027713128, - 71.45942817317783, - -78.4748360510919, - 2.367216720219375, - 2.41961735973382, - 58.25714567285877 + 0.861442276299335, + 0.6267672619279181, + 0.6366489967621862, + 0.8382642064548715, + 0.11884837321114183, + 0.9921330460504791, + 0.3285411258903119, + 0.8742373539889388, + 0.7205492498486465, + 0.9801966684571415, + 0.06169835353027997, + 0.3220160786486479, + 0.7498031716529909, + 0.39307147694602995, + 0.1381193362338462, + 0.283850915413119, + 0.4235861336377129, + 0.14485120857485168 ], "type": "float32", "constant": true @@ -880,78 +880,78 @@ "expected": { "shape": [1, 2, 6, 6], "data": [ - 405.32861328125, - -913.3131713867188, - 4430.83203125, - -7908.716796875, - 8961.7705078125, - -2223.964599609375, - -240.20901489257812, - 405.3154602050781, - -1450.89501953125, - 3509.776611328125, - 4863.240234375, - 986.9640502929688, - 1186.4896240234375, - -809.680908203125, - 8577.0654296875, - 303.3206481933594, - 6067.6201171875, - 4471.9130859375, - -312.5376892089844, - 527.35888671875, - 36.043426513671875, - 1320.4588623046875, - 2983.38037109375, - -1575.4005126953125, - -1945.608642578125, - 6808.97216796875, - -7705.7490234375, - 10112.3291015625, - -10812.5322265625, - -478.9102478027344, - 1661.2462158203125, - -2803.095458984375, - -2015.9989013671875, - -3940.2783203125, - -5855.30712890625, - -440.5892333984375, - -500.290283203125, - -945.930908203125, - -4479.54248046875, - -8191.166015625, - -2494.13671875, - -2303.390625, - -858.2017822265625, - 707.0885009765625, - -8207.9921875, - 6122.94091796875, - -8813.81640625, - 1721.796875, - -627.5077514648438, - -1206.8155517578125, - -1042.297607421875, - -2874.382568359375, - 6513.28076171875, - 3734.991943359375, - -1116.612548828125, - 919.9979248046875, - -3806.2138671875, - 2303.591552734375, - 805.9589233398438, - -2748.346923828125, - 3490.402099609375, - 6573.0546875, - 6708.9189453125, - 9273.876953125, - 3763.1875, - 935.1942749023438, - 5935.18310546875, - -4890.1083984375, - 13713.203125, - -6873.9677734375, - 8481.697265625, - -768.6249389648438 + 0.04828956723213196, + 0.03513447195291519, + 0.6485382318496704, + 0.4458966553211212, + 1.015426516532898, + 0.4092629551887512, + 0.0469902828335762, + 0.0066622416488826275, + 0.6519761085510254, + 0.08455146849155426, + 1.2531912326812744, + 0.07760494202375412, + 0.35113099217414856, + 0.29108259081840515, + 0.8534659743309021, + 0.8645639419555664, + 1.7886453866958618, + 1.1638785600662231, + 0.32376202940940857, + 0.04590269923210144, + 0.7076690793037415, + 0.0460042729973793, + 1.177173137664795, + 0.11244992911815643, + 0.20935966074466705, + 0.3976575434207916, + 1.2619296312332153, + 0.9172008633613586, + 1.7258063554763794, + 1.2259691953659058, + 0.0802486464381218, + 0.011377583257853985, + 0.8690866827964783, + 0.1097523421049118, + 1.4495694637298584, + 0.0756206065416336, + 0.05494653806090355, + 0.0034586030524224043, + 0.7153855562210083, + 0.04389362782239914, + 0.869132936000824, + 0.04028744250535965, + 0.04203145205974579, + 0.02203426882624626, + 0.5411697030067444, + 0.2796400785446167, + 0.5878635048866272, + 0.25666558742523193, + 0.3944922089576721, + 0.047574520111083984, + 0.7138481140136719, + 0.3252313435077667, + 1.340470790863037, + 0.33496758341789246, + 0.2895958125591278, + 0.15181563794612885, + 0.3435823321342468, + 0.15215156972408295, + 0.7628997564315796, + 0.37190964818000793, + 0.20346759259700775, + 0.16950778663158417, + 1.1018246412277222, + 0.22093959152698517, + 1.2456870079040527, + 0.440038800239563, + 0.07178010046482086, + 0.03762948885560036, + 0.7056396007537842, + 0.36298784613609314, + 0.6046316623687744, + 0.2501027286052704 ], "type": "float32" } @@ -962,39 +962,39 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - 9.894964540954291, - 85.68415702346587, - 24.094748480252548, - 12.874409836228523, - 32.236353301686904, - -38.46024349445712, - -68.43195409231569, - -96.19399584390335, - -10.756102339485494 + 0.05605664967552748, + 0.7114230061939892, + 0.6529743817798401, + 0.3862290922141163, + 0.38708372734474095, + 0.9461629334832131, + 0.0957319185290193, + 0.9234652551205444, + 0.6362779541136516 ], "type": "float32" }, "filter": { "shape": [1, 2, 3, 3], "data": [ - 40.96311950512268, - -92.30080102023575, - 93.07175377236138, - -24.275884210454365, - 40.96179340360786, - 63.58423287755542, - 66.61102029547635, - 38.26567426829985, - 35.453481305983416, - -50.56008968241721, - -95.59720535330331, - -14.890781966723395, - -86.73116027713128, - 71.45942817317783, - -78.4748360510919, - 2.367216720219375, - 2.41961735973382, - 58.25714567285877 + 0.861442276299335, + 0.6267672619279181, + 0.6366489967621862, + 0.8382642064548715, + 0.11884837321114183, + 0.9921330460504791, + 0.3285411258903119, + 0.8742373539889388, + 0.7205492498486465, + 0.9801966684571415, + 0.06169835353027997, + 0.3220160786486479, + 0.7498031716529909, + 0.39307147694602995, + 0.1381193362338462, + 0.283850915413119, + 0.4235861336377129, + 0.14485120857485168 ], "type": "float32", "constant": true @@ -1008,78 +1008,78 @@ "expected": { "shape": [1, 2, 6, 6], "data": [ - 405.32861328125, - -913.3131713867188, - 4430.83203125, - -7908.716796875, - 8961.7705078125, - -2223.964599609375, - -240.20901489257812, - 405.3154602050781, - -1450.89501953125, - 3509.776611328125, - 4863.240234375, - 986.9640502929688, - 1186.4896240234375, - -809.680908203125, - 8577.0654296875, - 303.3206481933594, - 6067.6201171875, - 4471.9130859375, - -312.5376892089844, - 527.35888671875, - 36.043426513671875, - 1320.4588623046875, - 2983.38037109375, - -1575.4005126953125, - -1945.608642578125, - 6808.97216796875, - -7705.7490234375, - 10112.3291015625, - -10812.5322265625, - -478.9102478027344, - 1661.2462158203125, - -2803.095458984375, - -2015.9989013671875, - -3940.2783203125, - -5855.30712890625, - -440.5892333984375, - -500.290283203125, - -945.930908203125, - -4479.54248046875, - -8191.166015625, - -2494.13671875, - -2303.390625, - -858.2017822265625, - 707.0885009765625, - -8207.9921875, - 6122.94091796875, - -8813.81640625, - 1721.796875, - -627.5077514648438, - -1206.8155517578125, - -1042.297607421875, - -2874.382568359375, - 6513.28076171875, - 3734.991943359375, - -1116.612548828125, - 919.9979248046875, - -3806.2138671875, - 2303.591552734375, - 805.9589233398438, - -2748.346923828125, - 3490.402099609375, - 6573.0546875, - 6708.9189453125, - 9273.876953125, - 3763.1875, - 935.1942749023438, - 5935.18310546875, - -4890.1083984375, - 13713.203125, - -6873.9677734375, - 8481.697265625, - -768.6249389648438 + 0.04828956723213196, + 0.03513447195291519, + 0.6485382318496704, + 0.4458966553211212, + 1.015426516532898, + 0.4092629551887512, + 0.0469902828335762, + 0.0066622416488826275, + 0.6519761085510254, + 0.08455146849155426, + 1.2531912326812744, + 0.07760494202375412, + 0.35113099217414856, + 0.29108259081840515, + 0.8534659743309021, + 0.8645639419555664, + 1.7886453866958618, + 1.1638785600662231, + 0.32376202940940857, + 0.04590269923210144, + 0.7076690793037415, + 0.0460042729973793, + 1.177173137664795, + 0.11244992911815643, + 0.20935966074466705, + 0.3976575434207916, + 1.2619296312332153, + 0.9172008633613586, + 1.7258063554763794, + 1.2259691953659058, + 0.0802486464381218, + 0.011377583257853985, + 0.8690866827964783, + 0.1097523421049118, + 1.4495694637298584, + 0.0756206065416336, + 0.05494653806090355, + 0.0034586030524224043, + 0.7153855562210083, + 0.04389362782239914, + 0.869132936000824, + 0.04028744250535965, + 0.04203145205974579, + 0.02203426882624626, + 0.5411697030067444, + 0.2796400785446167, + 0.5878635048866272, + 0.25666558742523193, + 0.3944922089576721, + 0.047574520111083984, + 0.7138481140136719, + 0.3252313435077667, + 1.340470790863037, + 0.33496758341789246, + 0.2895958125591278, + 0.15181563794612885, + 0.3435823321342468, + 0.15215156972408295, + 0.7628997564315796, + 0.37190964818000793, + 0.20346759259700775, + 0.16950778663158417, + 1.1018246412277222, + 0.22093959152698517, + 1.2456870079040527, + 0.440038800239563, + 0.07178010046482086, + 0.03762948885560036, + 0.7056396007537842, + 0.36298784613609314, + 0.6046316623687744, + 0.2501027286052704 ], "type": "float32" } @@ -1090,39 +1090,39 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - 9.894964540954291, - 85.68415702346587, - 24.094748480252548, - 12.874409836228523, - 32.236353301686904, - -38.46024349445712, - -68.43195409231569, - -96.19399584390335, - -10.756102339485494 + 0.05605664967552748, + 0.7114230061939892, + 0.6529743817798401, + 0.3862290922141163, + 0.38708372734474095, + 0.9461629334832131, + 0.0957319185290193, + 0.9234652551205444, + 0.6362779541136516 ], "type": "float32" }, "filter": { "shape": [1, 2, 3, 3], "data": [ - 40.96311950512268, - -92.30080102023575, - 93.07175377236138, - -24.275884210454365, - 40.96179340360786, - 63.58423287755542, - 66.61102029547635, - 38.26567426829985, - 35.453481305983416, - -50.56008968241721, - -95.59720535330331, - -14.890781966723395, - -86.73116027713128, - 71.45942817317783, - -78.4748360510919, - 2.367216720219375, - 2.41961735973382, - 58.25714567285877 + 0.861442276299335, + 0.6267672619279181, + 0.6366489967621862, + 0.8382642064548715, + 0.11884837321114183, + 0.9921330460504791, + 0.3285411258903119, + 0.8742373539889388, + 0.7205492498486465, + 0.9801966684571415, + 0.06169835353027997, + 0.3220160786486479, + 0.7498031716529909, + 0.39307147694602995, + 0.1381193362338462, + 0.283850915413119, + 0.4235861336377129, + 0.14485120857485168 ], "type": "float32", "constant": true @@ -1135,78 +1135,78 @@ "expected": { "shape": [1, 2, 6, 6], "data": [ - 405.3154602050781, - -1450.89501953125, - 3509.776611328125, - 4863.240234375, - 986.9640502929688, - 1532.0460205078125, - -809.680908203125, - 8577.0654296875, - 303.3206481933594, - 6067.6201171875, - 4471.9130859375, - -2725.319580078125, - 527.35888671875, - 36.043426513671875, - 1320.4588623046875, - 2983.38037109375, - -1575.4005126953125, - -2445.465087890625, - 6808.97216796875, - -7705.7490234375, - 10112.3291015625, - -10812.5322265625, - -478.9102478027344, - -2364.638671875, - -2803.095458984375, - -2015.9989013671875, - -3940.2783203125, - -5855.30712890625, - -440.5892333984375, - -683.9185180664062, - -2618.594970703125, - -8833.7314453125, - -3680.927978515625, - -4126.88671875, - -411.5895080566406, - -381.3412780761719, - 707.0885009765625, - -8207.9921875, - 6122.94091796875, - -8813.81640625, - 1721.796875, - -1890.8314208984375, - -1206.8155517578125, - -1042.297607421875, - -2874.382568359375, - 6513.28076171875, - 3734.991943359375, - 1976.394287109375, - 919.9979248046875, - -3806.2138671875, - 2303.591552734375, - 805.9589233398438, - -2748.346923828125, - 3018.161376953125, - 6573.0546875, - 6708.9189453125, - 9273.876953125, - 3763.1875, - 935.1942749023438, - -2080.417236328125, - -4890.1083984375, - 13713.203125, - -6873.9677734375, - 8481.697265625, - -768.6249389648438, - 844.0834350585938, - -165.5791473388672, - -4214.3623046875, - -232.75265502929688, - -5629.44921875, - -26.025653839111328, - -626.6198120117188 + 0.0066622416488826275, + 0.6519761085510254, + 0.08455146849155426, + 1.2531912326812744, + 0.07760494202375412, + 0.6478374600410461, + 0.29108259081840515, + 0.8534659743309021, + 0.8645639419555664, + 1.7886453866958618, + 1.1638785600662231, + 1.072873830795288, + 0.04590269923210144, + 0.7076690793037415, + 0.0460042729973793, + 1.177173137664795, + 0.11244992911815643, + 0.9387195110321045, + 0.3976575434207916, + 1.2619296312332153, + 0.9172008633613586, + 1.7258063554763794, + 1.2259691953659058, + 1.0868427753448486, + 0.011377583257853985, + 0.8690866827964783, + 0.1097523421049118, + 1.4495694637298584, + 0.0756206065416336, + 0.6312723755836487, + 0.08369242399930954, + 0.37237587571144104, + 0.8073278069496155, + 0.8744456768035889, + 0.556257963180542, + 0.45846959948539734, + 0.02203426882624626, + 0.5411697030067444, + 0.2796400785446167, + 0.5878635048866272, + 0.25666558742523193, + 0.0901883915066719, + 0.047574520111083984, + 0.7138481140136719, + 0.3252313435077667, + 1.340470790863037, + 0.33496758341789246, + 0.39926382899284363, + 0.15181563794612885, + 0.3435823321342468, + 0.15215156972408295, + 0.7628997564315796, + 0.37190964818000793, + 0.13068340718746185, + 0.16950778663158417, + 1.1018246412277222, + 0.22093959152698517, + 1.2456870079040527, + 0.440038800239563, + 0.3419445753097534, + 0.03762948885560036, + 0.7056396007537842, + 0.36298784613609314, + 0.6046316623687744, + 0.2501027286052704, + 0.08788229525089264, + 0.04055071249604225, + 0.27599334716796875, + 0.3911670744419098, + 0.3143731355667114, + 0.26951852440834045, + 0.09216563403606415 ], "type": "float32" } @@ -1217,39 +1217,39 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - 9.894964540954291, - 85.68415702346587, - 24.094748480252548, - 12.874409836228523, - 32.236353301686904, - -38.46024349445712, - -68.43195409231569, - -96.19399584390335, - -10.756102339485494 + 0.05605664967552748, + 0.7114230061939892, + 0.6529743817798401, + 0.3862290922141163, + 0.38708372734474095, + 0.9461629334832131, + 0.0957319185290193, + 0.9234652551205444, + 0.6362779541136516 ], "type": "float32" }, "filter": { "shape": [1, 2, 3, 3], "data": [ - 40.96311950512268, - -92.30080102023575, - 93.07175377236138, - -24.275884210454365, - 40.96179340360786, - 63.58423287755542, - 66.61102029547635, - 38.26567426829985, - 35.453481305983416, - -50.56008968241721, - -95.59720535330331, - -14.890781966723395, - -86.73116027713128, - 71.45942817317783, - -78.4748360510919, - 2.367216720219375, - 2.41961735973382, - 58.25714567285877 + 0.861442276299335, + 0.6267672619279181, + 0.6366489967621862, + 0.8382642064548715, + 0.11884837321114183, + 0.9921330460504791, + 0.3285411258903119, + 0.8742373539889388, + 0.7205492498486465, + 0.9801966684571415, + 0.06169835353027997, + 0.3220160786486479, + 0.7498031716529909, + 0.39307147694602995, + 0.1381193362338462, + 0.283850915413119, + 0.4235861336377129, + 0.14485120857485168 ], "type": "float32", "constant": true @@ -1263,78 +1263,78 @@ "expected": { "shape": [1, 2, 6, 6], "data": [ - 405.3154602050781, - -1450.89501953125, - 3509.776611328125, - 4863.240234375, - 986.9640502929688, - 1532.0460205078125, - -809.680908203125, - 8577.0654296875, - 303.3206481933594, - 6067.6201171875, - 4471.9130859375, - -2725.319580078125, - 527.35888671875, - 36.043426513671875, - 1320.4588623046875, - 2983.38037109375, - -1575.4005126953125, - -2445.465087890625, - 6808.97216796875, - -7705.7490234375, - 10112.3291015625, - -10812.5322265625, - -478.9102478027344, - -2364.638671875, - -2803.095458984375, - -2015.9989013671875, - -3940.2783203125, - -5855.30712890625, - -440.5892333984375, - -683.9185180664062, - -2618.594970703125, - -8833.7314453125, - -3680.927978515625, - -4126.88671875, - -411.5895080566406, - -381.3412780761719, - 707.0885009765625, - -8207.9921875, - 6122.94091796875, - -8813.81640625, - 1721.796875, - -1890.8314208984375, - -1206.8155517578125, - -1042.297607421875, - -2874.382568359375, - 6513.28076171875, - 3734.991943359375, - 1976.394287109375, - 919.9979248046875, - -3806.2138671875, - 2303.591552734375, - 805.9589233398438, - -2748.346923828125, - 3018.161376953125, - 6573.0546875, - 6708.9189453125, - 9273.876953125, - 3763.1875, - 935.1942749023438, - -2080.417236328125, - -4890.1083984375, - 13713.203125, - -6873.9677734375, - 8481.697265625, - -768.6249389648438, - 844.0834350585938, - -165.5791473388672, - -4214.3623046875, - -232.75265502929688, - -5629.44921875, - -26.025653839111328, - -626.6198120117188 + 0.0066622416488826275, + 0.6519761085510254, + 0.08455146849155426, + 1.2531912326812744, + 0.07760494202375412, + 0.6478374600410461, + 0.29108259081840515, + 0.8534659743309021, + 0.8645639419555664, + 1.7886453866958618, + 1.1638785600662231, + 1.072873830795288, + 0.04590269923210144, + 0.7076690793037415, + 0.0460042729973793, + 1.177173137664795, + 0.11244992911815643, + 0.9387195110321045, + 0.3976575434207916, + 1.2619296312332153, + 0.9172008633613586, + 1.7258063554763794, + 1.2259691953659058, + 1.0868427753448486, + 0.011377583257853985, + 0.8690866827964783, + 0.1097523421049118, + 1.4495694637298584, + 0.0756206065416336, + 0.6312723755836487, + 0.08369242399930954, + 0.37237587571144104, + 0.8073278069496155, + 0.8744456768035889, + 0.556257963180542, + 0.45846959948539734, + 0.02203426882624626, + 0.5411697030067444, + 0.2796400785446167, + 0.5878635048866272, + 0.25666558742523193, + 0.0901883915066719, + 0.047574520111083984, + 0.7138481140136719, + 0.3252313435077667, + 1.340470790863037, + 0.33496758341789246, + 0.39926382899284363, + 0.15181563794612885, + 0.3435823321342468, + 0.15215156972408295, + 0.7628997564315796, + 0.37190964818000793, + 0.13068340718746185, + 0.16950778663158417, + 1.1018246412277222, + 0.22093959152698517, + 1.2456870079040527, + 0.440038800239563, + 0.3419445753097534, + 0.03762948885560036, + 0.7056396007537842, + 0.36298784613609314, + 0.6046316623687744, + 0.2501027286052704, + 0.08788229525089264, + 0.04055071249604225, + 0.27599334716796875, + 0.3911670744419098, + 0.3143731355667114, + 0.26951852440834045, + 0.09216563403606415 ], "type": "float32" } @@ -1345,39 +1345,39 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - 9.894964540954291, - 85.68415702346587, - 24.094748480252548, - 12.874409836228523, - 32.236353301686904, - -38.46024349445712, - -68.43195409231569, - -96.19399584390335, - -10.756102339485494 + 0.05605664967552748, + 0.7114230061939892, + 0.6529743817798401, + 0.3862290922141163, + 0.38708372734474095, + 0.9461629334832131, + 0.0957319185290193, + 0.9234652551205444, + 0.6362779541136516 ], "type": "float32" }, "filter": { "shape": [1, 2, 3, 3], "data": [ - 40.96311950512268, - -92.30080102023575, - 93.07175377236138, - -24.275884210454365, - 40.96179340360786, - 63.58423287755542, - 66.61102029547635, - 38.26567426829985, - 35.453481305983416, - -50.56008968241721, - -95.59720535330331, - -14.890781966723395, - -86.73116027713128, - 71.45942817317783, - -78.4748360510919, - 2.367216720219375, - 2.41961735973382, - 58.25714567285877 + 0.861442276299335, + 0.6267672619279181, + 0.6366489967621862, + 0.8382642064548715, + 0.11884837321114183, + 0.9921330460504791, + 0.3285411258903119, + 0.8742373539889388, + 0.7205492498486465, + 0.9801966684571415, + 0.06169835353027997, + 0.3220160786486479, + 0.7498031716529909, + 0.39307147694602995, + 0.1381193362338462, + 0.283850915413119, + 0.4235861336377129, + 0.14485120857485168 ], "type": "float32", "constant": true @@ -1389,56 +1389,56 @@ "expected": { "shape": [1, 2, 5, 5], "data": [ - 405.32861328125, - 2596.5771484375, - -6000.77880859375, - 5750.810546875, - 2242.54052734375, - 287.1669616699219, - -1542.5599365234375, - 201.3699493408203, - 12985.3310546875, - -2047.5162353515625, - -2456.6103515625, - 8206.8583984375, - 10376.37109375, - -3526.02001953125, - -2592.311767578125, - 2518.82373046875, - 2172.04345703125, - -8902.2451171875, - -6885.82666015625, - -2047.468017578125, - -4558.322265625, - -9026.1748046875, - -6823.5537109375, - -3822.001220703125, - -381.3412780761719, - -500.290283203125, - -5278.12939453125, - -9556.7421875, - -3579.294677734375, - -358.7896423339844, - -1509.133056640625, - -9585.0283203125, - 1927.8074951171875, - -1805.5863037109375, - -1318.1282958984375, - 2366.736572265625, - 9756.3564453125, - 16228.5, - 2232.58203125, - 4582.01953125, - 5965.65966796875, - 3560.370361328125, - 166.09043884277344, - 8565.1220703125, - -1396.5006103515625, - -161.99327087402344, - -393.29119873046875, - -4244.86474609375, - -5630.01318359375, - -626.6198120117188 + 0.04828956723213196, + 0.6479843258857727, + 1.0440847873687744, + 0.8621897101402283, + 0.4157154858112335, + 0.3797043561935425, + 1.1785486936569214, + 1.9911006689071655, + 1.6228916645050049, + 1.2502111196517944, + 0.4246464669704437, + 1.5086332559585571, + 3.287064790725708, + 2.5666797161102295, + 1.8143054246902466, + 0.20714078843593597, + 1.2503143548965454, + 1.6656538248062134, + 2.097904920578003, + 1.313029408454895, + 0.03145187348127365, + 0.38708874583244324, + 1.0853508710861206, + 1.2216601371765137, + 0.45846959948539734, + 0.05494653806090355, + 0.7007930278778076, + 0.7019880414009094, + 0.26937708258628845, + 0.21026825904846191, + 0.4206119179725647, + 0.9587093591690063, + 1.8526650667190552, + 0.5379507541656494, + 0.39486807584762573, + 0.3993436396121979, + 1.5788191556930542, + 2.121230363845825, + 1.141642689704895, + 0.4301592707633972, + 0.18141157925128937, + 1.0035220384597778, + 1.3417718410491943, + 0.8345021605491638, + 0.2249351441860199, + 0.027173593640327454, + 0.3026771545410156, + 0.5856420397758484, + 0.40328359603881836, + 0.09216563403606415 ], "type": "float32" } @@ -1449,39 +1449,39 @@ "input": { "shape": [1, 3, 3, 1], "data": [ - 9.894964540954291, - 85.68415702346587, - 24.094748480252548, - 12.874409836228523, - 32.236353301686904, - -38.46024349445712, - -68.43195409231569, - -96.19399584390335, - -10.756102339485494 + 0.05605664967552748, + 0.7114230061939892, + 0.6529743817798401, + 0.3862290922141163, + 0.38708372734474095, + 0.9461629334832131, + 0.0957319185290193, + 0.9234652551205444, + 0.6362779541136516 ], "type": "float32" }, "filter": { "shape": [1, 2, 3, 3], "data": [ - 40.96311950512268, - -92.30080102023575, - 93.07175377236138, - -24.275884210454365, - 40.96179340360786, - 63.58423287755542, - 66.61102029547635, - 38.26567426829985, - 35.453481305983416, - -50.56008968241721, - -95.59720535330331, - -14.890781966723395, - -86.73116027713128, - 71.45942817317783, - -78.4748360510919, - 2.367216720219375, - 2.41961735973382, - 58.25714567285877 + 0.861442276299335, + 0.6267672619279181, + 0.6366489967621862, + 0.8382642064548715, + 0.11884837321114183, + 0.9921330460504791, + 0.3285411258903119, + 0.8742373539889388, + 0.7205492498486465, + 0.9801966684571415, + 0.06169835353027997, + 0.3220160786486479, + 0.7498031716529909, + 0.39307147694602995, + 0.1381193362338462, + 0.283850915413119, + 0.4235861336377129, + 0.14485120857485168 ], "type": "float32", "constant": true @@ -1493,56 +1493,56 @@ "expected": { "shape": [1, 5, 5, 2], "data": [ - 405.32861328125, - -500.290283203125, - 2596.5771484375, - -5278.12939453125, - -6000.77880859375, - -9556.7421875, - 5750.810546875, - -3579.294677734375, - 2242.54052734375, - -358.7896423339844, - 287.1669616699219, - -1509.133056640625, - -1542.5599365234375, - -9585.0283203125, - 201.3699493408203, - 1927.8074951171875, - 12985.3310546875, - -1805.5863037109375, - -2047.5162353515625, - -1318.1282958984375, - -2456.6103515625, - 2366.736572265625, - 8206.8583984375, - 9756.3564453125, - 10376.37109375, - 16228.5, - -3526.02001953125, - 2232.58203125, - -2592.311767578125, - 4582.01953125, - 2518.82373046875, - 5965.65966796875, - 2172.04345703125, - 3560.370361328125, - -8902.2451171875, - 166.09043884277344, - -6885.82666015625, - 8565.1220703125, - -2047.468017578125, - -1396.5006103515625, - -4558.322265625, - -161.99327087402344, - -9026.1748046875, - -393.29119873046875, - -6823.5537109375, - -4244.86474609375, - -3822.001220703125, - -5630.01318359375, - -381.3412780761719, - -626.6198120117188 + 0.04828956723213196, + 0.05494653806090355, + 0.6479843258857727, + 0.7007930278778076, + 1.0440847873687744, + 0.7019880414009094, + 0.8621897101402283, + 0.26937708258628845, + 0.4157154858112335, + 0.21026825904846191, + 0.3797043561935425, + 0.4206119179725647, + 1.1785486936569214, + 0.9587093591690063, + 1.9911006689071655, + 1.8526650667190552, + 1.6228916645050049, + 0.5379507541656494, + 1.2502111196517944, + 0.39486807584762573, + 0.4246464669704437, + 0.3993436396121979, + 1.5086332559585571, + 1.5788191556930542, + 3.287064790725708, + 2.121230363845825, + 2.5666797161102295, + 1.141642689704895, + 1.8143054246902466, + 0.4301592707633972, + 0.20714078843593597, + 0.18141157925128937, + 1.2503143548965454, + 1.0035220384597778, + 1.6656538248062134, + 1.3417718410491943, + 2.097904920578003, + 0.8345021605491638, + 1.313029408454895, + 0.2249351441860199, + 0.03145187348127365, + 0.027173593640327454, + 0.38708874583244324, + 0.3026771545410156, + 1.0853508710861206, + 0.5856420397758484, + 1.2216601371765137, + 0.40328359603881836, + 0.45846959948539734, + 0.09216563403606415 ], "type": "float32" } @@ -1553,39 +1553,39 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - 9.894964540954291, - 85.68415702346587, - 24.094748480252548, - 12.874409836228523, - 32.236353301686904, - -38.46024349445712, - -68.43195409231569, - -96.19399584390335, - -10.756102339485494 + 0.05605664967552748, + 0.7114230061939892, + 0.6529743817798401, + 0.3862290922141163, + 0.38708372734474095, + 0.9461629334832131, + 0.0957319185290193, + 0.9234652551205444, + 0.6362779541136516 ], "type": "float32" }, "filter": { "shape": [1, 2, 3, 3], "data": [ - 40.96311950512268, - -92.30080102023575, - 93.07175377236138, - -24.275884210454365, - 40.96179340360786, - 63.58423287755542, - 66.61102029547635, - 38.26567426829985, - 35.453481305983416, - -50.56008968241721, - -95.59720535330331, - -14.890781966723395, - -86.73116027713128, - 71.45942817317783, - -78.4748360510919, - 2.367216720219375, - 2.41961735973382, - 58.25714567285877 + 0.861442276299335, + 0.6267672619279181, + 0.6366489967621862, + 0.8382642064548715, + 0.11884837321114183, + 0.9921330460504791, + 0.3285411258903119, + 0.8742373539889388, + 0.7205492498486465, + 0.9801966684571415, + 0.06169835353027997, + 0.3220160786486479, + 0.7498031716529909, + 0.39307147694602995, + 0.1381193362338462, + 0.283850915413119, + 0.4235861336377129, + 0.14485120857485168 ], "type": "float32", "constant": true @@ -1597,56 +1597,56 @@ "expected": { "shape": [1, 2, 5, 5], "data": [ - 405.32861328125, - 2596.5771484375, - -6000.77880859375, - 5750.810546875, - 2242.54052734375, - 287.1669616699219, - -1542.5599365234375, - 201.3699493408203, - 12985.3310546875, - -2047.5162353515625, - -2456.6103515625, - 8206.8583984375, - 10376.37109375, - -3526.02001953125, - -2592.311767578125, - 2518.82373046875, - 2172.04345703125, - -8902.2451171875, - -6885.82666015625, - -2047.468017578125, - -4558.322265625, - -9026.1748046875, - -6823.5537109375, - -3822.001220703125, - -381.3412780761719, - -500.290283203125, - -5278.12939453125, - -9556.7421875, - -3579.294677734375, - -358.7896423339844, - -1509.133056640625, - -9585.0283203125, - 1927.8074951171875, - -1805.5863037109375, - -1318.1282958984375, - 2366.736572265625, - 9756.3564453125, - 16228.5, - 2232.58203125, - 4582.01953125, - 5965.65966796875, - 3560.370361328125, - 166.09043884277344, - 8565.1220703125, - -1396.5006103515625, - -161.99327087402344, - -393.29119873046875, - -4244.86474609375, - -5630.01318359375, - -626.6198120117188 + 0.04828956723213196, + 0.6479843258857727, + 1.0440847873687744, + 0.8621897101402283, + 0.4157154858112335, + 0.3797043561935425, + 1.1785486936569214, + 1.9911006689071655, + 1.6228916645050049, + 1.2502111196517944, + 0.4246464669704437, + 1.5086332559585571, + 3.287064790725708, + 2.5666797161102295, + 1.8143054246902466, + 0.20714078843593597, + 1.2503143548965454, + 1.6656538248062134, + 2.097904920578003, + 1.313029408454895, + 0.03145187348127365, + 0.38708874583244324, + 1.0853508710861206, + 1.2216601371765137, + 0.45846959948539734, + 0.05494653806090355, + 0.7007930278778076, + 0.7019880414009094, + 0.26937708258628845, + 0.21026825904846191, + 0.4206119179725647, + 0.9587093591690063, + 1.8526650667190552, + 0.5379507541656494, + 0.39486807584762573, + 0.3993436396121979, + 1.5788191556930542, + 2.121230363845825, + 1.141642689704895, + 0.4301592707633972, + 0.18141157925128937, + 1.0035220384597778, + 1.3417718410491943, + 0.8345021605491638, + 0.2249351441860199, + 0.027173593640327454, + 0.3026771545410156, + 0.5856420397758484, + 0.40328359603881836, + 0.09216563403606415 ], "type": "float32" } @@ -1657,39 +1657,39 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - 9.894964540954291, - 85.68415702346587, - 24.094748480252548, - 12.874409836228523, - 32.236353301686904, - -38.46024349445712, - -68.43195409231569, - -96.19399584390335, - -10.756102339485494 + 0.05605664967552748, + 0.7114230061939892, + 0.6529743817798401, + 0.3862290922141163, + 0.38708372734474095, + 0.9461629334832131, + 0.0957319185290193, + 0.9234652551205444, + 0.6362779541136516 ], "type": "float32" }, "filter": { "shape": [3, 3, 2, 1], "data": [ - 40.96311950512268, - -50.56008968241721, - -92.30080102023575, - -95.59720535330331, - 93.07175377236138, - -14.890781966723395, - -24.275884210454365, - -86.73116027713128, - 40.96179340360786, - 71.45942817317783, - 63.58423287755542, - -78.4748360510919, - 66.61102029547635, - 2.367216720219375, - 38.26567426829985, - 2.41961735973382, - 35.453481305983416, - 58.25714567285877 + 0.861442276299335, + 0.9801966684571415, + 0.6267672619279181, + 0.06169835353027997, + 0.6366489967621862, + 0.3220160786486479, + 0.8382642064548715, + 0.7498031716529909, + 0.11884837321114183, + 0.39307147694602995, + 0.9921330460504791, + 0.1381193362338462, + 0.3285411258903119, + 0.283850915413119, + 0.8742373539889388, + 0.4235861336377129, + 0.7205492498486465, + 0.14485120857485168 ], "type": "float32", "constant": true @@ -1701,56 +1701,56 @@ "expected": { "shape": [1, 2, 5, 5], "data": [ - 405.32861328125, - 2596.5771484375, - -6000.77880859375, - 5750.810546875, - 2242.54052734375, - 287.1669616699219, - -1542.5599365234375, - 201.3699493408203, - 12985.3310546875, - -2047.5162353515625, - -2456.6103515625, - 8206.8583984375, - 10376.37109375, - -3526.02001953125, - -2592.311767578125, - 2518.82373046875, - 2172.04345703125, - -8902.2451171875, - -6885.82666015625, - -2047.468017578125, - -4558.322265625, - -9026.1748046875, - -6823.5537109375, - -3822.001220703125, - -381.3412780761719, - -500.290283203125, - -5278.12939453125, - -9556.7421875, - -3579.294677734375, - -358.7896423339844, - -1509.133056640625, - -9585.0283203125, - 1927.8074951171875, - -1805.5863037109375, - -1318.1282958984375, - 2366.736572265625, - 9756.3564453125, - 16228.5, - 2232.58203125, - 4582.01953125, - 5965.65966796875, - 3560.370361328125, - 166.09043884277344, - 8565.1220703125, - -1396.5006103515625, - -161.99327087402344, - -393.29119873046875, - -4244.86474609375, - -5630.01318359375, - -626.6198120117188 + 0.04828956723213196, + 0.6479843258857727, + 1.0440847873687744, + 0.8621897101402283, + 0.4157154858112335, + 0.3797043561935425, + 1.1785486936569214, + 1.9911006689071655, + 1.6228916645050049, + 1.2502111196517944, + 0.4246464669704437, + 1.5086332559585571, + 3.287064790725708, + 2.5666797161102295, + 1.8143054246902466, + 0.20714078843593597, + 1.2503143548965454, + 1.6656538248062134, + 2.097904920578003, + 1.313029408454895, + 0.03145187348127365, + 0.38708874583244324, + 1.0853508710861206, + 1.2216601371765137, + 0.45846959948539734, + 0.05494653806090355, + 0.7007930278778076, + 0.7019880414009094, + 0.26937708258628845, + 0.21026825904846191, + 0.4206119179725647, + 0.9587093591690063, + 1.8526650667190552, + 0.5379507541656494, + 0.39486807584762573, + 0.3993436396121979, + 1.5788191556930542, + 2.121230363845825, + 1.141642689704895, + 0.4301592707633972, + 0.18141157925128937, + 1.0035220384597778, + 1.3417718410491943, + 0.8345021605491638, + 0.2249351441860199, + 0.027173593640327454, + 0.3026771545410156, + 0.5856420397758484, + 0.40328359603881836, + 0.09216563403606415 ], "type": "float32" } @@ -1761,39 +1761,39 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - 9.894964540954291, - 85.68415702346587, - 24.094748480252548, - 12.874409836228523, - 32.236353301686904, - -38.46024349445712, - -68.43195409231569, - -96.19399584390335, - -10.756102339485494 + 0.05605664967552748, + 0.7114230061939892, + 0.6529743817798401, + 0.3862290922141163, + 0.38708372734474095, + 0.9461629334832131, + 0.0957319185290193, + 0.9234652551205444, + 0.6362779541136516 ], "type": "float32" }, "filter": { "shape": [2, 3, 3, 1], "data": [ - 40.96311950512268, - -92.30080102023575, - 93.07175377236138, - -24.275884210454365, - 40.96179340360786, - 63.58423287755542, - 66.61102029547635, - 38.26567426829985, - 35.453481305983416, - -50.56008968241721, - -95.59720535330331, - -14.890781966723395, - -86.73116027713128, - 71.45942817317783, - -78.4748360510919, - 2.367216720219375, - 2.41961735973382, - 58.25714567285877 + 0.861442276299335, + 0.6267672619279181, + 0.6366489967621862, + 0.8382642064548715, + 0.11884837321114183, + 0.9921330460504791, + 0.3285411258903119, + 0.8742373539889388, + 0.7205492498486465, + 0.9801966684571415, + 0.06169835353027997, + 0.3220160786486479, + 0.7498031716529909, + 0.39307147694602995, + 0.1381193362338462, + 0.283850915413119, + 0.4235861336377129, + 0.14485120857485168 ], "type": "float32", "constant": true @@ -1805,56 +1805,56 @@ "expected": { "shape": [1, 2, 5, 5], "data": [ - 405.32861328125, - 2596.5771484375, - -6000.77880859375, - 5750.810546875, - 2242.54052734375, - 287.1669616699219, - -1542.5599365234375, - 201.3699493408203, - 12985.3310546875, - -2047.5162353515625, - -2456.6103515625, - 8206.8583984375, - 10376.37109375, - -3526.02001953125, - -2592.311767578125, - 2518.82373046875, - 2172.04345703125, - -8902.2451171875, - -6885.82666015625, - -2047.468017578125, - -4558.322265625, - -9026.1748046875, - -6823.5537109375, - -3822.001220703125, - -381.3412780761719, - -500.290283203125, - -5278.12939453125, - -9556.7421875, - -3579.294677734375, - -358.7896423339844, - -1509.133056640625, - -9585.0283203125, - 1927.8074951171875, - -1805.5863037109375, - -1318.1282958984375, - 2366.736572265625, - 9756.3564453125, - 16228.5, - 2232.58203125, - 4582.01953125, - 5965.65966796875, - 3560.370361328125, - 166.09043884277344, - 8565.1220703125, - -1396.5006103515625, - -161.99327087402344, - -393.29119873046875, - -4244.86474609375, - -5630.01318359375, - -626.6198120117188 + 0.04828956723213196, + 0.6479843258857727, + 1.0440847873687744, + 0.8621897101402283, + 0.4157154858112335, + 0.3797043561935425, + 1.1785486936569214, + 1.9911006689071655, + 1.6228916645050049, + 1.2502111196517944, + 0.4246464669704437, + 1.5086332559585571, + 3.287064790725708, + 2.5666797161102295, + 1.8143054246902466, + 0.20714078843593597, + 1.2503143548965454, + 1.6656538248062134, + 2.097904920578003, + 1.313029408454895, + 0.03145187348127365, + 0.38708874583244324, + 1.0853508710861206, + 1.2216601371765137, + 0.45846959948539734, + 0.05494653806090355, + 0.7007930278778076, + 0.7019880414009094, + 0.26937708258628845, + 0.21026825904846191, + 0.4206119179725647, + 0.9587093591690063, + 1.8526650667190552, + 0.5379507541656494, + 0.39486807584762573, + 0.3993436396121979, + 1.5788191556930542, + 2.121230363845825, + 1.141642689704895, + 0.4301592707633972, + 0.18141157925128937, + 1.0035220384597778, + 1.3417718410491943, + 0.8345021605491638, + 0.2249351441860199, + 0.027173593640327454, + 0.3026771545410156, + 0.5856420397758484, + 0.40328359603881836, + 0.09216563403606415 ], "type": "float32" } @@ -1865,30 +1865,30 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - -35.50202479799816, - -65.90990648626578, - -66.672293514068, - 80.32994045387008, - -89.53493227053441, - -52.51627346126466, - -99.28214091000234, - -13.35498515563036, - -46.226616683751544 + 0.11095754619056808, + 0.8681362056660518, + 0.7342095941654914, + 0.43077004493855875, + 0.5981626867187566, + 0.1232164990736122, + 0.16109748910776922, + 0.08840264384189989, + 0.2910097194319563 ], "type": "float32" }, "filter": { "shape": [1, 1, 3, 3], "data": [ - 64.41018509298152, - 2.8492947110761833, - -74.475134769611, - 45.144679656015455, - 66.50646443100189, - -59.3402779768406, - 50.17738650272881, - -72.58010817012352, - 48.844270540309566 + 0.6161394585554596, + 0.262246148184051, + 0.7951397994036709, + 0.87305609470791, + 0.8309101763741125, + 0.8549605393357718, + 0.5552039743814143, + 0.8400921243865438, + 0.8530843869413023 ], "type": "float32", "constant": true @@ -1898,7 +1898,7 @@ "bias": { "shape": [1], "data": [ - 3.3796334459218684 + 0.4516736859570645 ], "type": "float32", "constant": true @@ -1907,31 +1907,108 @@ "expected": { "shape": [1, 1, 5, 5], "data": [ - -2283.3125, - -4343.04541015625, - -1834.77392578125, - 4722.0595703125, - 4968.8076171875, - 3574.718505859375, - -10871.2939453125, - -14903.5322265625, - 5998.84521484375, - 7870.888671875, - -4546.3310546875, - -569.7133178710938, - -9006.1337890625, - 4306.3984375, - 3305.884033203125, - -447.93438720703125, - -17525.416015625, - 10706.7138671875, - -2840.132080078125, - 181.3609161376953, - -4978.3388671875, - 6539.169921875, - -6196.20849609375, - 2706.197998046875, - -2254.525634765625 + 0.5200390219688416, + 1.01566481590271, + 1.2199413776397705, + 1.3345069885253906, + 1.0354729890823364, + 0.8139602541923523, + 1.7833205461502075, + 2.484194278717041, + 2.311894178390503, + 1.1773682832717896, + 0.9886226654052734, + 2.0037572383880615, + 2.9867470264434814, + 2.5694668292999268, + 1.41475510597229, + 0.8314860463142395, + 1.3567005395889282, + 1.8553334474563599, + 1.3828538656234741, + 0.8055896162986755, + 0.5411156415939331, + 0.6360918879508972, + 0.8249395489692688, + 0.7715635895729065, + 0.6999295353889465 + ], + "type": "float32" + } + }, + { + "name": "convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias", + "inputs": { + "input": { + "shape": [1, 1, 3, 3], + "data": [ + -0.1088905666228781, + -0.2980190376593821, + -0.39077856560563506, + -0.5624061411820445, + -0.732209362325523, + -0.8421320780728827, + -0.3059865397862138, + -0.9766599001467926, + -0.014158561610918996 + ], + "type": "float32" + }, + "filter": { + "shape": [1, 1, 3, 3], + "data": [ + 0.6161394585554596, + 0.262246148184051, + 0.7951397994036709, + 0.87305609470791, + 0.8309101763741125, + 0.8549605393357718, + 0.5552039743814143, + 0.8400921243865438, + 0.8530843869413023 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "bias": { + "shape": [1], + "data": [ + -0.8457866242505638 + ], + "type": "float32", + "constant": true + } + }, + "expected": { + "shape": [1, 1, 5, 5], + "data": [ + -0.9128783941268921, + -1.0579640865325928, + -1.2512983083724976, + -1.1852335929870605, + -1.1565102338790894, + -1.2873748540878296, + -1.7950842380523682, + -2.6857638359069824, + -2.2283377647399902, + -1.8494995832443237, + -1.5857856273651123, + -2.8912975788116455, + -3.738619565963745, + -3.5343525409698486, + -1.910401463508606, + -1.425180196762085, + -2.8317112922668457, + -3.49372935295105, + -3.0246617794036865, + -1.5763013362884521, + -1.0156716108322144, + -1.645089030265808, + -1.935164213180542, + -1.6908544301986694, + -0.8578650951385498 ], "type": "float32" } @@ -1942,30 +2019,30 @@ "input": { "shape": [1, 1, 3, 3], "data": [ - -35.50202479799816, - -65.90990648626578, - -66.672293514068, - 80.32994045387008, - -89.53493227053441, - -52.51627346126466, - -99.28214091000234, - -13.35498515563036, - -46.226616683751544 + 0.11095754619056808, + 0.8681362056660518, + 0.7342095941654914, + 0.43077004493855875, + 0.5981626867187566, + 0.1232164990736122, + 0.16109748910776922, + 0.08840264384189989, + 0.2910097194319563 ], "type": "float32" }, "filter": { "shape": [1, 1, 3, 3], "data": [ - 64.41018509298152, - 2.8492947110761833, - -74.475134769611, - 45.144679656015455, - 66.50646443100189, - -59.3402779768406, - 50.17738650272881, - -72.58010817012352, - 48.844270540309566 + 0.6161394585554596, + 0.262246148184051, + 0.7951397994036709, + 0.87305609470791, + 0.8309101763741125, + 0.8549605393357718, + 0.5552039743814143, + 0.8400921243865438, + 0.8530843869413023 ], "type": "float32", "constant": true @@ -1977,31 +2054,31 @@ "expected": { "shape": [1, 1, 5, 5], "data": [ - 0, - 0, - 0, - 4718.68017578125, - 4965.42822265625, - 3571.3388671875, - 0, - 0, - 5995.4658203125, - 7867.50927734375, - 0, - 0, - 0, - 4303.01904296875, - 3302.50439453125, - 0, - 0, - 10703.3349609375, - 0, - 177.98129272460938, - 0, - 6535.79052734375, - 0, - 2702.818359375, - 0 + 0.06836532801389694, + 0.5639911890029907, + 0.7682676911354065, + 0.8828333020210266, + 0.5837992429733276, + 0.36228659749031067, + 1.3316468000411987, + 2.0325205326080322, + 1.8602205514907837, + 0.7256945967674255, + 0.5369489789009094, + 1.5520836114883423, + 2.5350732803344727, + 2.117793083190918, + 0.963081419467926, + 0.3798123896121979, + 0.9050268530845642, + 1.403659701347351, + 0.9311801791191101, + 0.35391589999198914, + 0.08944196254014969, + 0.1844182312488556, + 0.3732658624649048, + 0.3198899030685425, + 0.24825584888458252 ], "type": "float32" }
diff --git a/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/gemm.json b/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/gemm.json index 1323dcb..3738e19 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/gemm.json +++ b/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/gemm.json
@@ -6,44 +6,44 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32" } @@ -52,21 +52,21 @@ "name": "output", "shape": [3, 5], "data": [ - -11939.8330078125, - 10476.11328125, - 96.12957763671875, - 3627.241455078125, - 1497.0828857421875, - -4120.826171875, - 1250.050537109375, - 6379.04638671875, - -1035.075927734375, - 11589.8515625, - 13265.0615234375, - 217.088623046875, - -877.6643676757812, - 2738.025634765625, - -1355.2103271484375 + 8161.14697265625, + 14025.82421875, + 14607.5009765625, + 14048.5322265625, + 18757.09765625, + 11892.5107421875, + 14659.9755859375, + 19125.74609375, + 15034.27734375, + 18273.080078125, + 5516.6904296875, + 9259.267578125, + 9167.3916015625, + 6347.330078125, + 10868.6025390625 ], "type": "float32" } @@ -77,44 +77,44 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32", "constant": true @@ -124,21 +124,21 @@ "name": "output", "shape": [3, 5], "data": [ - -11939.8330078125, - 10476.11328125, - 96.12957763671875, - 3627.241455078125, - 1497.0828857421875, - -4120.826171875, - 1250.050537109375, - 6379.04638671875, - -1035.075927734375, - 11589.8515625, - 13265.0615234375, - 217.088623046875, - -877.6643676757812, - 2738.025634765625, - -1355.2103271484375 + 8161.14697265625, + 14025.82421875, + 14607.5009765625, + 14048.5322265625, + 18757.09765625, + 11892.5107421875, + 14659.9755859375, + 19125.74609375, + 15034.27734375, + 18273.080078125, + 5516.6904296875, + 9259.267578125, + 9167.3916015625, + 6347.330078125, + 10868.6025390625 ], "type": "float32" } @@ -150,44 +150,44 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32", "constant": true @@ -197,21 +197,21 @@ "c": { "shape": [3, 5], "data": [ - 18.889006452279048, - -95.25816081317973, - 95.1306201490001, - 1.13149868814682, - -19.256827241243798, - 88.62443187797436, - 44.22624546200123, - 50.84084356198235, - 71.1843403587792, - -25.72466683461711, - 30.327466397585, - -7.36454582600588, - -32.9412812749632, - 92.95072161949355, - -66.34577436039692 + 82.77202028708963, + 91.38520749770859, + 12.651897708721549, + 20.12200327935334, + 68.51224585053419, + 35.2024171023056, + 13.33466578964102, + 50.785469741049205, + 88.61195160882922, + 30.577471042677097, + 69.47062151883239, + 7.166217909076766, + 28.337108113083744, + 90.69412588106762, + 71.23025762837965 ], "type": "float32" } @@ -220,21 +220,21 @@ "name": "output", "shape": [3, 5], "data": [ - -11920.9443359375, - 10380.85546875, - 191.26019287109375, - 3628.372802734375, - 1477.8260498046875, - -4032.20166015625, - 1294.27685546875, - 6429.88720703125, - -963.8916625976562, - 11564.126953125, - 13295.388671875, - 209.7240753173828, - -910.6056518554688, - 2830.976318359375, - -1421.5560302734375 + 8243.9189453125, + 14117.208984375, + 14620.15234375, + 14068.654296875, + 18825.609375, + 11927.712890625, + 14673.310546875, + 19176.533203125, + 15122.8896484375, + 18303.658203125, + 5586.16064453125, + 9266.43359375, + 9195.7294921875, + 6438.0244140625, + 10939.8330078125 ], "type": "float32" } @@ -245,44 +245,44 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32", "constant": true @@ -292,11 +292,11 @@ "c": { "shape": [1, 5], "data": [ - -46.08045584247486, - 12.700104558525638, - -49.97597734818644, - -71.56076541839265, - -53.631344509247114 + 85.90813142403118, + 39.375354775876346, + 50.94260262706696, + 31.87430758223413, + 31.210525151769097 ], "type": "float32" } @@ -305,21 +305,21 @@ "name": "output", "shape": [3, 5], "data": [ - -11985.9140625, - 10488.8134765625, - 46.153594970703125, - 3555.6806640625, - 1443.4515380859375, - -4166.90673828125, - 1262.750732421875, - 6329.0703125, - -1106.63671875, - 11536.2197265625, - 13218.9814453125, - 229.78872680664062, - -927.640380859375, - 2666.46484375, - -1408.8416748046875 + 8247.0546875, + 14065.19921875, + 14658.443359375, + 14080.40625, + 18788.30859375, + 11978.4189453125, + 14699.3505859375, + 19176.689453125, + 15066.1513671875, + 18304.291015625, + 5602.5986328125, + 9298.642578125, + 9218.3349609375, + 6379.20458984375, + 10899.8125 ], "type": "float32" } @@ -330,44 +330,44 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32", "constant": true @@ -377,9 +377,9 @@ "c": { "shape": [3, 1], "data": [ - -48.95934179297048, - -43.55337151236051, - -31.267967919315296 + 6.2025197606838445, + 81.40642123187278, + 73.00516839070796 ], "type": "float32" } @@ -388,21 +388,21 @@ "name": "output", "shape": [3, 5], "data": [ - -11988.79296875, - 10427.154296875, - 47.170230865478516, - 3578.281982421875, - 1448.12353515625, - -4164.37939453125, - 1206.4971923828125, - 6335.49267578125, - -1078.62939453125, - 11546.2978515625, - 13233.7939453125, - 185.82064819335938, - -908.932373046875, - 2706.757568359375, - -1386.478271484375 + 8167.349609375, + 14032.0263671875, + 14613.703125, + 14054.734375, + 18763.30078125, + 11973.9169921875, + 14741.3818359375, + 19207.154296875, + 15115.68359375, + 18354.486328125, + 5589.6953125, + 9332.2724609375, + 9240.3974609375, + 6420.33544921875, + 10941.607421875 ], "type": "float32" } @@ -413,44 +413,44 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32", "constant": true @@ -459,7 +459,7 @@ "options": { "c": { "shape": [1, 1], - "data": [33.43519470307464], + "data": [18.78192846614879], "type": "float32" } }, @@ -467,21 +467,106 @@ "name": "output", "shape": [3, 5], "data": [ - -11906.3984375, - 10509.548828125, - 129.5647735595703, - 3660.676513671875, - 1530.51806640625, - -4087.390869140625, - 1283.48583984375, - 6412.4814453125, - -1001.6408081054688, - 11623.287109375, - 13298.4970703125, - 250.52381896972656, - -844.2291870117188, - 2771.460693359375, - -1321.7750244140625 + 8179.9287109375, + 14044.6064453125, + 14626.2822265625, + 14067.314453125, + 18775.87890625, + 11911.29296875, + 14678.7578125, + 19144.529296875, + 15053.0595703125, + 18291.86328125, + 5535.47216796875, + 9278.048828125, + 9186.173828125, + 6366.1123046875, + 10887.384765625 + ], + "type": "float32" + } + }, + { + "name": "gemm two float32 2D tensors broadcast options.c [5] => [3, 5]", + "inputs": { + "a": { + "shape": [3, 4], + "data": [ + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 + ], + "type": "float32" + }, + "b": { + "shape": [4, 5], + "data": [ + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "c": { + "shape": [5], + "data": [ + 85.90813142403118, + 39.375354775876346, + 50.94260262706696, + 31.87430758223413, + 31.210525151769097 + ], + "type": "float32" + } + }, + "expected": { + "name": "output", + "shape": [3, 5], + "data": [ + 8247.0546875, + 14065.19921875, + 14658.443359375, + 14080.40625, + 18788.30859375, + 11978.4189453125, + 14699.3505859375, + 19176.689453125, + 15066.1513671875, + 18304.291015625, + 5602.5986328125, + 9298.642578125, + 9218.3349609375, + 6379.20458984375, + 10899.8125 ], "type": "float32" } @@ -492,44 +577,44 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32", "constant": true @@ -538,7 +623,7 @@ "options": { "c": { "shape": [1], - "data": [33.43519470307464], + "data": [18.78192846614879], "type": "float32" } }, @@ -546,21 +631,21 @@ "name": "output", "shape": [3, 5], "data": [ - -11906.3984375, - 10509.548828125, - 129.5647735595703, - 3660.676513671875, - 1530.51806640625, - -4087.390869140625, - 1283.48583984375, - 6412.4814453125, - -1001.6408081054688, - 11623.287109375, - 13298.4970703125, - 250.52381896972656, - -844.2291870117188, - 2771.460693359375, - -1321.7750244140625 + 8179.9287109375, + 14044.6064453125, + 14626.2822265625, + 14067.314453125, + 18775.87890625, + 11911.29296875, + 14678.7578125, + 19144.529296875, + 15053.0595703125, + 18291.86328125, + 5535.47216796875, + 9278.048828125, + 9186.173828125, + 6366.1123046875, + 10887.384765625 ], "type": "float32" } @@ -571,71 +656,71 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32", "constant": true } }, "options": { - "c": 33.43519470307464 + "c": 18.78192846614879 }, "expected": { "name": "output", "shape": [3, 5], "data": [ - -11906.3984375, - 10509.548828125, - 129.5647735595703, - 3660.676513671875, - 1530.51806640625, - -4087.390869140625, - 1283.48583984375, - 6412.4814453125, - -1001.6408081054688, - 11623.287109375, - 13298.4970703125, - 250.52381896972656, - -844.2291870117188, - 2771.460693359375, - -1321.7750244140625 + 8179.9287109375, + 14044.6064453125, + 14626.2822265625, + 14067.314453125, + 18775.87890625, + 11911.29296875, + 14678.7578125, + 19144.529296875, + 15053.0595703125, + 18291.86328125, + 5535.47216796875, + 9278.048828125, + 9186.173828125, + 6366.1123046875, + 10887.384765625 ], "type": "float32" } @@ -646,71 +731,71 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32", "constant": true } }, "options": { - "alpha": -14.57079495918343 + "alpha": 74.43204170482103 }, "expected": { "name": "output", "shape": [3, 5], "data": [ - 173972.859375, - -152645.296875, - -1400.684326171875, - -52851.7890625, - -21813.6875, - 60043.71484375, - -18214.23046875, - -92947.7734375, - 15081.8798828125, - -168873.34375, - -193282.484375, - -3163.15380859375, - 12788.267578125, - -39895.2109375, - 19746.4921875 + 607450.875, + 1043970.75, + 1087266.125, + 1045661, + 1396129.125, + 885183.875, + 1091172, + 1423568.5, + 1119032, + 1360102.75, + 410618.53125, + 689186.1875, + 682347.75, + 472444.78125, + 808972.3125 ], "type": "float32" } @@ -721,71 +806,71 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32", "constant": true } }, "options": { - "beta": -3.201300236141151 + "beta": 62.01828598608989 }, "expected": { "name": "output", "shape": [3, 5], "data": [ - -11939.8330078125, - 10476.11328125, - 96.12957763671875, - 3627.241455078125, - 1497.0828857421875, - -4120.826171875, - 1250.050537109375, - 6379.04638671875, - -1035.075927734375, - 11589.8515625, - 13265.0615234375, - 217.088623046875, - -877.6643676757812, - 2738.025634765625, - -1355.2103271484375 + 8161.14697265625, + 14025.82421875, + 14607.5009765625, + 14048.5322265625, + 18757.09765625, + 11892.5107421875, + 14659.9755859375, + 19125.74609375, + 15034.27734375, + 18273.080078125, + 5516.6904296875, + 9259.267578125, + 9167.3916015625, + 6347.330078125, + 10868.6025390625 ], "type": "float32" } @@ -796,44 +881,44 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32", "constant": true @@ -843,45 +928,45 @@ "c": { "shape": [3, 5], "data": [ - 18.889006452279048, - -95.25816081317973, - 95.1306201490001, - 1.13149868814682, - -19.256827241243798, - 88.62443187797436, - 44.22624546200123, - 50.84084356198235, - 71.1843403587792, - -25.72466683461711, - 30.327466397585, - -7.36454582600588, - -32.9412812749632, - 92.95072161949355, - -66.34577436039692 + 82.77202028708963, + 91.38520749770859, + 12.651897708721549, + 20.12200327935334, + 68.51224585053419, + 35.2024171023056, + 13.33466578964102, + 50.785469741049205, + 88.61195160882922, + 30.577471042677097, + 69.47062151883239, + 7.166217909076766, + 28.337108113083744, + 90.69412588106762, + 71.23025762837965 ], "type": "float32" }, - "beta": -3.201300236141151 + "beta": 62.01828598608989 }, "expected": { "name": "output", "shape": [3, 5], "data": [ - -12000.302734375, - 10781.0634765625, - -208.41209411621094, - 3623.619140625, - 1558.729736328125, - -4404.53955078125, - 1108.4691162109375, - 6216.28955078125, - -1262.9583740234375, - 11672.2041015625, - 13167.974609375, - 240.66473388671875, - -772.20947265625, - 2440.46240234375, - -1142.8175048828125 + 13294.525390625, + 19693.37890625, + 15392.1494140625, + 15296.4638671875, + 23006.109375, + 14075.7041015625, + 15486.96875, + 22275.375, + 20529.83984375, + 20169.443359375, + 9825.138671875, + 9703.7041015625, + 10924.810546875, + 11972.0244140625, + 15286.1806640625 ], "type": "float32" } @@ -892,44 +977,44 @@ "a": { "shape": [4, 3], "data": [ - -56.58740007894356, - -31.754871657825674, - 39.85443764279378, - -8.463693021275105, - -69.0880694716634, - 87.53626229197283, - -33.60814840979707, - -44.633812635599845, - -58.61979797511165, - -69.9345819964675, - 37.83359091108284, - 86.17968956956639 + 82.98884511142329, + 18.96485038946509, + 50.51683887619669, + 90.51641254722982, + 43.89479290862091, + 40.45679629199866, + 59.6385201162642, + 98.89487912764056, + 50.76741460760452, + 36.27187180381433, + 91.46013741088626, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32", "constant": true @@ -942,21 +1027,21 @@ "name": "output", "shape": [3, 5], "data": [ - -11939.8330078125, - 10476.11328125, - 96.12957763671875, - 3627.241455078125, - 1497.0828857421875, - -4120.826171875, - 1250.050537109375, - 6379.04638671875, - -1035.075927734375, - 11589.8515625, - 13265.0615234375, - 217.088623046875, - -877.6643676757812, - 2738.025634765625, - -1355.2103271484375 + 8161.14697265625, + 14025.82421875, + 14607.5009765625, + 14048.5322265625, + 18757.09765625, + 11892.5107421875, + 14659.9755859375, + 19125.74609375, + 15034.27734375, + 18273.080078125, + 5516.6904296875, + 9259.267578125, + 9167.3916015625, + 6347.330078125, + 10868.6025390625 ], "type": "float32" } @@ -967,44 +1052,44 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32", "constant": true @@ -1017,21 +1102,21 @@ "name": "output", "shape": [3, 5], "data": [ - -11939.8330078125, - 10476.11328125, - 96.12957763671875, - 3627.241455078125, - 1497.0828857421875, - -4120.826171875, - 1250.050537109375, - 6379.04638671875, - -1035.075927734375, - 11589.8515625, - 13265.0615234375, - 217.088623046875, - -877.6643676757812, - 2738.025634765625, - -1355.2103271484375 + 8161.14697265625, + 14025.82421875, + 14607.5009765625, + 14048.5322265625, + 18757.09765625, + 11892.5107421875, + 14659.9755859375, + 19125.74609375, + 15034.27734375, + 18273.080078125, + 5516.6904296875, + 9259.267578125, + 9167.3916015625, + 6347.330078125, + 10868.6025390625 ], "type": "float32" } @@ -1042,44 +1127,44 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [5, 4], "data": [ - 74.15699999092428, - 52.72523586750535, - 32.96952501732156, - 88.49965844336901, - -82.68551467440881, - 40.38894562832144, - -75.39375464830265, - -51.5503195367836, - 82.79218983203177, - -86.1538796254429, - -83.54552683809598, - -17.789968243371447, - -56.619649349016356, - 49.70186032210458, - -16.832533476778934, - -3.978486562449305, - -29.919301737430843, - -88.36174898219937, - -64.06752294643567, - 44.284669635083674 + 25.14739246484985, + 0.003725653326558387, + 75.74880854000601, + 42.90679144336773, + 66.69238549579231, + 16.499146388625483, + 96.6068806977233, + 34.08055187293266, + 63.29909902139696, + 3.0366680571384252, + 99.10042039275365, + 87.37654561544477, + 10.629964783998469, + 93.14021782678614, + 23.243775283337477, + 92.34209530787089, + 61.32737573972831, + 70.08265680040718, + 86.1185682132947, + 60.32208994273669 ], "type": "float32", "constant": true @@ -1092,21 +1177,21 @@ "name": "output", "shape": [3, 5], "data": [ - -11939.8330078125, - 10476.11328125, - 96.12957763671875, - 3627.241455078125, - 1497.0828857421875, - -4120.826171875, - 1250.050537109375, - 6379.04638671875, - -1035.075927734375, - 11589.8515625, - 13265.0615234375, - 217.088623046875, - -877.6643676757812, - 2738.025634765625, - -1355.2103271484375 + 8161.14697265625, + 14025.82421875, + 14607.5009765625, + 14048.5322265625, + 18757.09765625, + 11892.5107421875, + 14659.9755859375, + 19125.74609375, + 15034.27734375, + 18273.080078125, + 5516.6904296875, + 9259.267578125, + 9167.3916015625, + 6347.330078125, + 10868.6025390625 ], "type": "float32" } @@ -1117,44 +1202,44 @@ "a": { "shape": [3, 4], "data": [ - -56.58740007894356, - -8.463693021275105, - -33.60814840979707, - -69.9345819964675, - -31.754871657825674, - -69.0880694716634, - -44.633812635599845, - 37.83359091108284, - 39.85443764279378, - 87.53626229197283, - -58.61979797511165, - 86.17968956956639 + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - 74.15699999092428, - -82.68551467440881, - 82.79218983203177, - -56.619649349016356, - -29.919301737430843, - 52.72523586750535, - 40.38894562832144, - -86.1538796254429, - 49.70186032210458, - -88.36174898219937, - 32.96952501732156, - -75.39375464830265, - -83.54552683809598, - -16.832533476778934, - -64.06752294643567, - 88.49965844336901, - -51.5503195367836, - -17.789968243371447, - -3.978486562449305, - 44.284669635083674 + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 ], "type": "float32", "constant": true @@ -1167,69 +1252,70 @@ "name": "output", "shape": [3, 5], "data": [ - -11939.8330078125, - 10476.11328125, - 96.12957763671875, - 3627.241455078125, - 1497.0828857421875, - -4120.826171875, - 1250.050537109375, - 6379.04638671875, - -1035.075927734375, - 11589.8515625, - 13265.0615234375, - 217.088623046875, - -877.6643676757812, - 2738.025634765625, - -1355.2103271484375 + 8161.14697265625, + 14025.82421875, + 14607.5009765625, + 14048.5322265625, + 18757.09765625, + 11892.5107421875, + 14659.9755859375, + 19125.74609375, + 15034.27734375, + 18273.080078125, + 5516.6904296875, + 9259.267578125, + 9167.3916015625, + 6347.330078125, + 10868.6025390625 ], "type": "float32" } }, + // alpha * A x B + beta * C { - "name": "gemm two float32 2D tensors all options", + "name": "gemm two float32 2D tensors all options", // All alpha, A, B, beta and C are positive "inputs": { "a": { "shape": [4, 3], "data": [ - -56.58740007894356, - -31.754871657825674, - 39.85443764279378, - -8.463693021275105, - -69.0880694716634, - 87.53626229197283, - -33.60814840979707, - -44.633812635599845, - -58.61979797511165, - -69.9345819964675, - 37.83359091108284, - 86.17968956956639 + 82.98884511142329, + 18.96485038946509, + 50.51683887619669, + 90.51641254722982, + 43.89479290862091, + 40.45679629199866, + 59.6385201162642, + 98.89487912764056, + 50.76741460760452, + 36.27187180381433, + 91.46013741088626, + 9.336554329198155 ], "type": "float32" }, "b": { "shape": [5, 4], "data": [ - 74.15699999092428, - 52.72523586750535, - 32.96952501732156, - 88.49965844336901, - -82.68551467440881, - 40.38894562832144, - -75.39375464830265, - -51.5503195367836, - 82.79218983203177, - -86.1538796254429, - -83.54552683809598, - -17.789968243371447, - -56.619649349016356, - 49.70186032210458, - -16.832533476778934, - -3.978486562449305, - -29.919301737430843, - -88.36174898219937, - -64.06752294643567, - 44.284669635083674 + 25.14739246484985, + 0.003725653326558387, + 75.74880854000601, + 42.90679144336773, + 66.69238549579231, + 16.499146388625483, + 96.6068806977233, + 34.08055187293266, + 63.29909902139696, + 3.0366680571384252, + 99.10042039275365, + 87.37654561544477, + 10.629964783998469, + 93.14021782678614, + 23.243775283337477, + 92.34209530787089, + 61.32737573972831, + 70.08265680040718, + 86.1185682132947, + 60.32208994273669 ], "type": "float32", "constant": true @@ -1239,26 +1325,26 @@ "c": { "shape": [3, 5], "data": [ - 18.889006452279048, - -95.25816081317973, - 95.1306201490001, - 1.13149868814682, - -19.256827241243798, - 88.62443187797436, - 44.22624546200123, - 50.84084356198235, - 71.1843403587792, - -25.72466683461711, - 30.327466397585, - -7.36454582600588, - -32.9412812749632, - 92.95072161949355, - -66.34577436039692 + 82.77202028708963, + 91.38520749770859, + 12.651897708721549, + 20.12200327935334, + 68.51224585053419, + 35.2024171023056, + 13.33466578964102, + 50.785469741049205, + 88.61195160882922, + 30.577471042677097, + 69.47062151883239, + 7.166217909076766, + 28.337108113083744, + 90.69412588106762, + 71.23025762837965 ], "type": "float32" }, - "alpha": -14.57079495918343, - "beta": -3.201300236141151, + "alpha": 74.43204170482103, + "beta": 62.01828598608989, "aTranspose": true, "bTranspose": true }, @@ -1266,21 +1352,502 @@ "name": "output", "shape": [3, 5], "data": [ - 173912.390625, - -152340.34375, - -1705.2259521484375, - -52855.4140625, - -21752.041015625, - 59760, - -18355.8125, - -93110.53125, - 14853.9970703125, - -168791, - -193379.578125, - -3139.57763671875, - 12893.72265625, - -40192.7734375, - 19958.884765625 + 612584.25, + 1049638.375, + 1088050.75, + 1046908.875, + 1400378.125, + 887367.0625, + 1091999, + 1426718.125, + 1124527.625, + 1361999.125, + 414927, + 689630.625, + 684105.1875, + 478069.46875, + 813389.875 + ], + "type": "float32" + } + }, + { + "name": "gemm both negative options.alpha and 1st float32 input tensor", + "inputs": { + "a": { + "shape": [3, 4], + "data": [ + -87.94973451710236, + -14.765121645895519, + -80.86310680534218, + -59.27638399609938, + -28.748250806066665, + -9.038779559502402, + -76.04662906780386, + -83.94807592959552, + -95.02689722012639, + -47.897331378960686, + -69.01161938187514, + -86.66899315604435 + ], + "type": "float32" + }, + "b": { + "shape": [4, 5], + "data": [ + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "c": { + "shape": [3, 5], + "data": [ + 82.77202028708963, + 91.38520749770859, + 12.651897708721549, + 20.12200327935334, + 68.51224585053419, + 35.2024171023056, + 13.33466578964102, + 50.785469741049205, + 88.61195160882922, + 30.577471042677097, + 69.47062151883239, + 7.166217909076766, + 28.337108113083744, + 90.69412588106762, + 71.23025762837965 + ], + "type": "float32" + }, + "alpha": -22.611149749186296 + }, + "expected": { + "name": "output", + "shape": [3, 5], + "data": [ + 246101.234375, + 360542.34375, + 425213.25, + 218520.65625, + 383734.40625, + 228076.8125, + 277543.625, + 378076, + 241282.15625, + 316800.71875, + 256391.5625, + 378711.34375, + 465195.8125, + 341034.875, + 460338.3125 + ], + "type": "float32" + } + }, + { + "name": "gemm both negative options.alpha and 2nd float32 input tensor", + "inputs": { + "a": { + "shape": [3, 4], + "data": [ + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 + ], + "type": "float32" + }, + "b": { + "shape": [4, 5], + "data": [ + -64.35197380859643, + -87.64981186480712, + -96.04495397065658, + -31.07155980709375, + -6.548066933465876, + -64.64146348646094, + -14.020616857474465, + -88.93306726614543, + -24.17941082566574, + -97.31866304932058, + -93.46081221136554, + -39.49039520100528, + -94.37982420323672, + -75.8333604154835, + -11.403324388031308, + -26.28259194817595, + -56.237981538646295, + -46.474048229320665, + -89.20683997562287, + -53.49532488423292 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "c": { + "shape": [3, 5], + "data": [ + 82.77202028708963, + 91.38520749770859, + 12.651897708721549, + 20.12200327935334, + 68.51224585053419, + 35.2024171023056, + 13.33466578964102, + 50.785469741049205, + 88.61195160882922, + 30.577471042677097, + 69.47062151883239, + 7.166217909076766, + 28.337108113083744, + 90.69412588106762, + 71.23025762837965 + ], + "type": "float32" + }, + "alpha": -22.611149749186296 + }, + "expected": { + "name": "output", + "shape": [3, 5], + "data": [ + 400725.03125, + 292635.75, + 527642.375, + 283236.40625, + 270787.40625, + 355130.96875, + 256121.421875, + 436658.0625, + 391465.40625, + 235557.03125, + 245540.5625, + 170154.125, + 309239.4375, + 163583.015625, + 120958.7578125 + ], + "type": "float32" + } + }, + { + "name": "gemm both negative options.beta and 3rd float32 input tensor (options.c)", + "inputs": { + "a": { + "shape": [3, 4], + "data": [ + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 + ], + "type": "float32" + }, + "b": { + "shape": [4, 5], + "data": [ + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "c": { + "shape": [3, 5], + "data": [ + -42.66268253622787, + -93.66379731044412, + -40.7084931979834, + -45.060979792171786, + -87.90339205403255, + -71.16189172949525, + -85.56422647952868, + -10.049133962829984, + -46.105405162474256, + -66.76168168609703, + -25.392492019110875, + -65.6298788225413, + -40.50155350367264, + -81.5303936185148, + -41.396294482178405 + ], + "type": "float32" + }, + "beta": -11.68521964935509 + }, + "expected": { + "name": "output", + "shape": [3, 5], + "data": [ + 8659.669921875, + 15120.3056640625, + 15083.1884765625, + 14575.0791015625, + 19784.267578125, + 12724.052734375, + 15659.8125, + 19243.173828125, + 15573.029296875, + 19053.205078125, + 5813.4072265625, + 10026.1669921875, + 9640.6611328125, + 7300.03076171875, + 11352.3271484375 + ], + "type": "float32" + } + }, + { + "name": "gemm both negative options.alpha and options.beta", + "inputs": { + "a": { + "shape": [3, 4], + "data": [ + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 + ], + "type": "float32" + }, + "b": { + "shape": [4, 5], + "data": [ + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "c": { + "shape": [3, 5], + "data": [ + 82.77202028708963, + 91.38520749770859, + 12.651897708721549, + 20.12200327935334, + 68.51224585053419, + 35.2024171023056, + 13.33466578964102, + 50.785469741049205, + 88.61195160882922, + 30.577471042677097, + 69.47062151883239, + 7.166217909076766, + 28.337108113083744, + 90.69412588106762, + 71.23025762837965 + ], + "type": "float32" + }, + "alpha": -22.611149749186296, + "beta": -11.68521964935509 + }, + "expected": { + "name": "output", + "shape": [3, 5], + "data": [ + -185500.109375, + -318207.84375, + -330440.21875, + -317888.59375, + -424920.125, + -269314.6875, + -331634.71875, + -433048.5625, + -340977.71875, + -413532.65625, + -125550.484375, + -209446.40625, + -207616.390625, + -144580.21875, + -246583.921875 + ], + "type": "float32" + } + }, + { + "name": "gemm both negative options.alpha and 3rd float32 input tensor (options.c)", + "inputs": { + "a": { + "shape": [3, 4], + "data": [ + 82.98884511142329, + 90.51641254722982, + 59.6385201162642, + 36.27187180381433, + 18.96485038946509, + 43.89479290862091, + 98.89487912764056, + 91.46013741088626, + 50.51683887619669, + 40.45679629199866, + 50.76741460760452, + 9.336554329198155 + ], + "type": "float32" + }, + "b": { + "shape": [4, 5], + "data": [ + 25.14739246484985, + 66.69238549579231, + 63.29909902139696, + 10.629964783998469, + 61.32737573972831, + 0.003725653326558387, + 16.499146388625483, + 3.0366680571384252, + 93.14021782678614, + 70.08265680040718, + 75.74880854000601, + 96.6068806977233, + 99.10042039275365, + 23.243775283337477, + 86.1185682132947, + 42.90679144336773, + 34.08055187293266, + 87.37654561544477, + 92.34209530787089, + 60.32208994273669 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "c": { + "shape": [3, 5], + "data": [ + -42.66268253622787, + -93.66379731044412, + -40.7084931979834, + -45.060979792171786, + -87.90339205403255, + -71.16189172949525, + -85.56422647952868, + -10.049133962829984, + -46.105405162474256, + -66.76168168609703, + -25.392492019110875, + -65.6298788225413, + -40.50155350367264, + -81.5303936185148, + -41.396294482178405 + ], + "type": "float32" + }, + "alpha": -22.611149749186296 + }, + "expected": { + "name": "output", + "shape": [3, 5], + "data": [ + -184575.5625, + -317233.65625, + -330333.09375, + -317698.5, + -424207.4375, + -268974.5, + -331564.4375, + -432465.15625, + -339988.375, + -413242.09375, + -124764.09375, + -209428.296875, + -207325.765625, + -143601.96875, + -245792.984375 ], "type": "float32" }
diff --git a/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/matmul.json b/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/matmul.json index a4ca8d0..6e0423a68 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/matmul.json +++ b/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/matmul.json
@@ -1,32 +1,122 @@ { "tests": [ { - "name": "matmul float32 1D and 1D tensors produces a scalar", + "name": "matmul float32 1D and 1D tensors all positive produces a scalar", "inputs": { "a": { "shape": [4], "data": [ - 87.03187851067565, - 46.881337859824384, - 95.82432897408134, - -52.54386718300541 + 50.10142534731317, + 22.2193058046253, + 34.65448469299386, + 36.35148095671881 ], "type": "float32" }, "b": { "shape": [4], "data": [ - -26.21038924740793, - 84.99316107761908, - 23.556117398915518, - -36.493155020610416 + 27.829805134194842, + 83.14548502311283, + 34.4128942110155, + 83.20379675185079 ], "type": "float32" } }, "expected": { "name": "output", - "data": 5878.1943359375, + "data": 7458.89013671875, + "type": "float32" + } + }, + { + "name": "matmul float32 1D and 1D tensors all negative produces a scalar", + "inputs": { + "a": { + "shape": [4], + "data": [ + -86.60583871803968, + -94.74202421330796, + -86.16720380573273, + -76.0215630990851 + ], + "type": "float32" + }, + "b": { + "shape": [4], + "data": [ + -21.22328469397374, + -56.66441199254357, + -77.66753889428908, + -56.55797454862353 + ], + "type": "float32" + } + }, + "expected": { + "name": "output", + "data": 18198.58203125, + "type": "float32" + } + }, + { + "name": "matmul float32 positive 1D and negative 1D tensors produces a scalar", + "inputs": { + "a": { + "shape": [4], + "data": [ + 50.10142534731317, + 22.2193058046253, + 34.65448469299386, + 36.35148095671881 + ], + "type": "float32" + }, + "b": { + "shape": [4], + "data": [ + -21.22328469397374, + -56.66441199254357, + -77.66753889428908, + -56.55797454862353 + ], + "type": "float32" + } + }, + "expected": { + "name": "output", + "data": -7069.85546875, + "type": "float32" + } + }, + { + "name": "matmul float32 negative 1D and positive 1D tensors produces a scalar", + "inputs": { + "a": { + "shape": [4], + "data": [ + -86.60583871803968, + -94.74202421330796, + -86.16720380573273, + -76.0215630990851 + ], + "type": "float32" + }, + "b": { + "shape": [4], + "data": [ + 27.829805134194842, + 83.14548502311283, + 34.4128942110155, + 83.20379675185079 + ], + "type": "float32" + } + }, + "expected": { + "name": "output", + "data": -19578.140625, "type": "float32" } }, @@ -36,36 +126,36 @@ "a": { "shape": [4], "data": [ - 87.03187851067565, - 46.881337859824384, - 95.82432897408134, - -52.54386718300541 + 50.10142534731317, + 22.2193058046253, + 34.65448469299386, + 36.35148095671881 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - -27.057616426197043, - -8.230676540860543, - -94.45044554838091, - 37.7386035523445, - 91.59427307661593, - 37.67096896611463, - 39.19007695966195, - -5.7469015282268145, - 60.80050537072776, - 85.74331632981222, - -16.164128914527836, - -16.941906803113767, - -14.541234403419878, - 85.87155145113644, - -5.575109242581533, - -21.09184412126517, - 20.888269634860862, - -34.29842780847672, - -64.89107885075947, - -86.25000925356088 + 88.17004408170853, + 78.40126706348094, + 14.819002753540623, + 3.692303791736573, + 45.9064286713635, + 43.08391896733015, + 47.19946845924572, + 60.925216107016425, + 8.162760351602216, + 20.33326305093228, + 20.438397895943282, + 27.01940859922867, + 15.601424432184263, + 87.46969388883927, + 65.79554455585657, + 69.31696864490797, + 31.984439910782992, + 12.291812891860388, + 13.304834654547172, + 85.26705387930089 ], "type": "float32" } @@ -74,11 +164,11 @@ "name": "output", "shape": [1, 5], "data": [ - -1029.4796142578125, - -1600.045166015625, - -8080.85400390625, - 17773.08203125, - 15989.060546875 + 8602.796875, + 7075.7802734375, + 3083.654052734375, + 3881.228271484375, + 8131.462890625 ], "type": "float32" } @@ -89,48 +179,48 @@ "a": { "shape": [4], "data": [ - 87.03187851067565, - 46.881337859824384, - 95.82432897408134, - -52.54386718300541 + 50.10142534731317, + 22.2193058046253, + 34.65448469299386, + 36.35148095671881 ], "type": "float32" }, "b": { "shape": [2, 2, 4, 2], "data": [ - 87.01571665914173, - -86.33499337193098, - 97.28276753778786, - -94.84310342173679, - -48.72689882867056, - -20.114251834386593, - 62.63220233763488, - -47.690344916487604, - -83.0711477010646, - -59.67053428723901, - -92.00803823230994, - -44.09381168273296, - 76.0571640857381, - -24.829392984049335, - 47.47448541811252, - 48.12596751510708, - -95.73054274856334, - 24.911311925192962, - -94.1377493475442, - 55.288037532054034, - 34.24235382729216, - 60.54612700235046, - -39.49250766586001, - -27.449229655771433, - 39.05426564859113, - 71.23308685185657, - 41.59154593231702, - -25.26216043800025, - 4.529367327251549, - -7.7623206692195765, - -61.27877810065749, - 88.54331288808689 + 71.54684436671175, + 78.61926127874348, + 2.246814764541316, + 12.044773359659434, + 1.8342867333124069, + 82.09732511549477, + 43.884761946067094, + 5.616231825100204, + 34.67424097413332, + 49.152710076333506, + 75.34904358690912, + 84.74523302920429, + 36.56497325521975, + 22.89479672718755, + 15.02636975800511, + 66.49530785246675, + 65.81345056776044, + 26.749681209347376, + 19.415639234175774, + 98.60692665127114, + 65.39448996549784, + 56.47023672202065, + 80.64523905250766, + 82.20401464839868, + 70.84606482516416, + 50.27994995977012, + 67.39406108056262, + 75.35806805146241, + 2.7487208784167327, + 68.0645872775828, + 70.73791158057968, + 46.26436742398676 ], "type": "float32" } @@ -139,14 +229,14 @@ "name": "output", "shape": [2, 2, 1, 2], "data": [ - 4173.7265625, - -11381.8671875, - -6749.6640625, - -12168.400390625, - -7388.57275390625, - 12004.1357421875, - 9002.6806640625, - -381.00213623046875 + 5293.36376953125, + 7255.7626953125, + 5224.80322265625, + 7556.21142578125, + 8926.5361328125, + 8476.359375, + 7713.62158203125, + 8234.0224609375 ], "type": "float32" } @@ -157,36 +247,36 @@ "a": { "shape": [5, 4], "data": [ - -27.057616426197043, - 37.67096896611463, - -16.164128914527836, - -21.09184412126517, - -8.230676540860543, - 39.19007695966195, - -16.941906803113767, - 20.888269634860862, - -94.45044554838091, - -5.7469015282268145, - -14.541234403419878, - -34.29842780847672, - 37.7386035523445, - 60.80050537072776, - 85.87155145113644, - -64.89107885075947, - 91.59427307661593, - 85.74331632981222, - -5.575109242581533, - -86.25000925356088 + 88.17004408170853, + 43.08391896733015, + 20.438397895943282, + 69.31696864490797, + 78.40126706348094, + 47.19946845924572, + 27.01940859922867, + 31.984439910782992, + 14.819002753540623, + 60.925216107016425, + 15.601424432184263, + 12.291812891860388, + 3.692303791736573, + 8.162760351602216, + 87.46969388883927, + 13.304834654547172, + 45.9064286713635, + 20.33326305093228, + 65.79554455585657, + 85.26705387930089 ], "type": "float32" }, "b": { "shape": [4], "data": [ - 87.03187851067565, - 46.881337859824384, - 95.82432897408134, - -52.54386718300541 + 50.10142534731317, + 22.2193058046253, + 34.65448469299386, + 36.35148095671881 ], "type": "float32" } @@ -195,11 +285,11 @@ "name": "output", "shape": [5, 1], "data": [ - -1029.4796142578125, - -1600.045166015625, - -8080.85400390625, - 17773.08203125, - 15989.060546875 + 8602.796875, + 7075.7802734375, + 3083.654052734375, + 3881.228271484375, + 8131.462890625 ], "type": "float32" } @@ -210,44 +300,44 @@ "a": { "shape": [3, 4], "data": [ - 53.587843102649884, - -28.04220227801993, - 15.124560502868789, - 9.369427405702211, - 29.073232186993266, - -22.80492074505088, - -1.4674728828148318, - 52.18999070274339, - -49.35624636707217, - 78.39141844611044, - -27.16858445326875, - -37.701154610703554 + 10.43066143431215, + 24.46751944495327, + 55.88757596028084, + 3.241082746029833, + 87.58891110272717, + 22.401545251921174, + 79.85144951531564, + 99.64449452911536, + 24.740541547653283, + 65.96242676599853, + 38.1360764688486, + 87.11140260507597 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - -27.057616426197043, - -8.230676540860543, - -94.45044554838091, - 37.7386035523445, - 91.59427307661593, - 37.67096896611463, - 39.19007695966195, - -5.7469015282268145, - 60.80050537072776, - 85.74331632981222, - -16.164128914527836, - -16.941906803113767, - -14.541234403419878, - 85.87155145113644, - -5.575109242581533, - -21.09184412126517, - 20.888269634860862, - -34.29842780847672, - -64.89107885075947, - -86.25000925356088 + 88.17004408170853, + 78.40126706348094, + 14.819002753540623, + 3.692303791736573, + 45.9064286713635, + 43.08391896733015, + 47.19946845924572, + 60.925216107016425, + 8.162760351602216, + 20.33326305093228, + 20.438397895943282, + 27.01940859922867, + 15.601424432184263, + 87.46969388883927, + 65.79554455585657, + 69.31696864490797, + 31.984439910782992, + 12.291812891860388, + 13.304834654547172, + 85.26705387930089 ], "type": "float32" } @@ -256,21 +346,21 @@ "name": "output", "shape": [3, 5], "data": [ - -2948.43017578125, - -1600.568115234375, - -5441.5263671875, - 1008.1275024414062, - 1611.4742431640625, - -2722.798583984375, - -17.998613357543945, - -4383.6181640625, - -3802.04638671875, - -3785.633544921875, - 5522.88623046875, - 3151.177001953125, - 5899.36669921875, - 3017.06201171875, - 5603.98291015625 + 3340.7431640625, + 3586.344482421875, + 2557.025634765625, + 5169.8271484375, + 4929.85009765625, + 17226.955078125, + 13269.03515625, + 5133.4072265625, + 8816.5986328125, + 18226.65234375, + 11841.033203125, + 8869.705078125, + 6051.1396484375, + 5124.5390625, + 12413.8984375 ], "type": "float32" } @@ -281,76 +371,76 @@ "a": { "shape": [2, 3, 4], "data": [ - 58.728908586525506, - 20.984989443196596, - -36.853694809557155, - -79.26948512648524, - -31.068943219633155, - -16.201444534612236, - -50.60932522172865, - 2.158781021722419, - -72.35992861880858, - 80.72179024484393, - 91.79413777766845, - -32.80066808871243, - -7.748154791717482, - 47.04567455956982, - -69.93563358196235, - -2.857472923841442, - 61.11868807043689, - 15.150240159985088, - 37.32774132825227, - -4.4238024429129865, - 94.76521432994485, - -69.80973130621896, - -34.96991276425953, - -6.554412653425558 + 56.46701250066562, + 99.86045478237251, + 71.05493372292567, + 32.45438455331333, + 17.310747999630017, + 2.586275053048559, + 92.31499166302054, + 96.9758519231732, + 26.4721315276526, + 77.67031776320978, + 29.278788710989147, + 82.12142428847062, + 89.89308471484885, + 82.49795321217854, + 64.36866008901963, + 23.75928513568486, + 6.67026681065197, + 81.55583129445503, + 16.142963270263433, + 57.45134849716054, + 26.82641739603182, + 85.0296980735713, + 36.198863464757956, + 89.60960360138286 ], "type": "float32" }, "b": { "shape": [2, 4, 5], "data": [ - -37.54479939805191, - 62.03863390760466, - -59.58524466155506, - 87.46986567478658, - -50.24249814528532, - -58.06832556448569, - 23.301210236945906, - -72.89992470211942, - 9.570174232379543, - -81.2456676216478, - 48.35520180490283, - 41.81854877503463, - -50.21333174370568, - 4.21435975938671, - -96.19639534469364, - 67.85069325841712, - 21.29252639361772, - -16.455932756098562, - -50.2602146922619, - -66.71804190955655, - 38.190547173557434, - 18.932724208660005, - -79.76510066105024, - 50.23685112271045, - -55.41115098394904, - -23.46097001302381, - 60.487737276030884, - 42.73717646741534, - 62.90725873470754, - -33.23606967299759, - -36.86769406805803, - -91.52910565691018, - -80.54363103589677, - 4.079093694012187, - 95.70199024173527, - -44.45859861409356, - 52.830588721449885, - 68.41889201734026, - -11.707749491474402, - 75.9785719044454 + 70.38780515954635, + 25.489176068987597, + 28.25419591483602, + 84.51486608529449, + 58.87341530615436, + 46.252837428713555, + 24.897335441310766, + 44.09449366886899, + 51.865646783698985, + 1.123237180407144, + 4.187554708673558, + 71.24650172124491, + 16.0345266486708, + 23.677297120787454, + 61.277276711169094, + 65.15946418752658, + 58.392497125216906, + 70.12740970610143, + 9.119727538574839, + 24.17997835305117, + 84.42636665997716, + 78.55551451746716, + 38.482969428827076, + 80.65414903244603, + 57.15212267967695, + 46.10971199065528, + 28.41227860070996, + 90.9256677352717, + 94.66067935241847, + 61.772877196686295, + 60.324859158187635, + 70.97433442190315, + 10.631051143172332, + 55.616284948780525, + 35.0523090419651, + 22.128390497020668, + 38.19757703840079, + 78.17564687251797, + 62.57684276680773, + 88.35256743439288 ], "type": "float32" } @@ -359,36 +449,36 @@ "name": "output", "shape": [2, 3, 5], "data": [ - -10584.0859375, - 903.4213256835938, - -1874.1802978515625, - 9166.6259765625, - 4178.27099609375, - -193.48135375976562, - -4375.4306640625, - 5538.07275390625, - -3194.43359375, - 7601.68359375, - 242.53622436523438, - 532.092529296875, - -5642.55224609375, - -3521.36962890625, - -9564.6201171875, - 1305.7613525390625, - 8949.1767578125, - 8065.99609375, - 2318.451904296875, - -8044.36474609375, - 799.2051391601562, - -1576.73974609375, - -7536.84326171875, - 4227.5263671875, - -653.9664916992188, - 6837.599609375, - 426.02252197265625, - -8174.26904296875, - 303.2590637207031, - -6775.53369140625 + 11005.6748046875, + 10883.064453125, + 9414.0009765625, + 11929.9931640625, + 8575.3720703125, + 8043.556640625, + 12745.41015625, + 8884.0341796875, + 4667.3173828125, + 9023.7333984375, + 10929.3818359375, + 9489.8232421875, + 10401.216796875, + 7707.87744140625, + 5425.5654296875, + 15802.0888671875, + 14881.6220703125, + 13502.23828125, + 20126.2890625, + 14589.1806640625, + 6568.7900390625, + 6181.41162109375, + 12335.123046875, + 12751.05078125, + 11060.98046875, + 10352.16015625, + 10515.310546875, + 16153.86328125, + 17833.36328125, + 15971.80859375 ], "type": "float32" } @@ -399,40 +489,40 @@ "a": { "shape": [2, 3, 4], "data": [ - 58.728908586525506, - 20.984989443196596, - -36.853694809557155, - -79.26948512648524, - -31.068943219633155, - -16.201444534612236, - -50.60932522172865, - 2.158781021722419, - -72.35992861880858, - 80.72179024484393, - 91.79413777766845, - -32.80066808871243, - -7.748154791717482, - 47.04567455956982, - -69.93563358196235, - -2.857472923841442, - 61.11868807043689, - 15.150240159985088, - 37.32774132825227, - -4.4238024429129865, - 94.76521432994485, - -69.80973130621896, - -34.96991276425953, - -6.554412653425558 + 56.46701250066562, + 99.86045478237251, + 71.05493372292567, + 32.45438455331333, + 17.310747999630017, + 2.586275053048559, + 92.31499166302054, + 96.9758519231732, + 26.4721315276526, + 77.67031776320978, + 29.278788710989147, + 82.12142428847062, + 89.89308471484885, + 82.49795321217854, + 64.36866008901963, + 23.75928513568486, + 6.67026681065197, + 81.55583129445503, + 16.142963270263433, + 57.45134849716054, + 26.82641739603182, + 85.0296980735713, + 36.198863464757956, + 89.60960360138286 ], "type": "float32" }, "b": { "shape": [1, 4, 1], "data": [ - -26.21038924740793, - 84.99316107761908, - 23.556117398915518, - -36.493155020610416 + 27.829805134194842, + 83.14548502311283, + 34.4128942110155, + 83.20379675185079 ], "type": "float32" } @@ -441,12 +531,12 @@ "name": "output", "shape": [2, 3, 1], "data": [ - 2268.936767578125, - -1833.6229248046875, - 12116.6953125, - 2658.509033203125, - 726.4573364257812, - -9001.7470703125 + 15019.9462890625, + 11942.376953125, + 15035.0322265625, + 13553.013671875, + 12302.328125, + 16517.9765625 ], "type": "float32" } @@ -457,40 +547,40 @@ "a": { "shape": [2, 3, 4], "data": [ - 58.728908586525506, - 20.984989443196596, - -36.853694809557155, - -79.26948512648524, - -31.068943219633155, - -16.201444534612236, - -50.60932522172865, - 2.158781021722419, - -72.35992861880858, - 80.72179024484393, - 91.79413777766845, - -32.80066808871243, - -7.748154791717482, - 47.04567455956982, - -69.93563358196235, - -2.857472923841442, - 61.11868807043689, - 15.150240159985088, - 37.32774132825227, - -4.4238024429129865, - 94.76521432994485, - -69.80973130621896, - -34.96991276425953, - -6.554412653425558 + 56.46701250066562, + 99.86045478237251, + 71.05493372292567, + 32.45438455331333, + 17.310747999630017, + 2.586275053048559, + 92.31499166302054, + 96.9758519231732, + 26.4721315276526, + 77.67031776320978, + 29.278788710989147, + 82.12142428847062, + 89.89308471484885, + 82.49795321217854, + 64.36866008901963, + 23.75928513568486, + 6.67026681065197, + 81.55583129445503, + 16.142963270263433, + 57.45134849716054, + 26.82641739603182, + 85.0296980735713, + 36.198863464757956, + 89.60960360138286 ], "type": "float32" }, "b": { "shape": [4, 1], "data": [ - -26.21038924740793, - 84.99316107761908, - 23.556117398915518, - -36.493155020610416 + 27.829805134194842, + 83.14548502311283, + 34.4128942110155, + 83.20379675185079 ], "type": "float32" } @@ -499,12 +589,12 @@ "name": "output", "shape": [2, 3, 1], "data": [ - 2268.936767578125, - -1833.6229248046875, - 12116.6953125, - 2658.509033203125, - 726.4573364257812, - -9001.7470703125 + 15019.9462890625, + 11942.376953125, + 15035.0322265625, + 13553.013671875, + 12302.328125, + 16517.9765625 ], "type": "float32" } @@ -515,40 +605,40 @@ "a": { "shape": [2, 3, 4], "data": [ - 58.728908586525506, - 20.984989443196596, - -36.853694809557155, - -79.26948512648524, - -31.068943219633155, - -16.201444534612236, - -50.60932522172865, - 2.158781021722419, - -72.35992861880858, - 80.72179024484393, - 91.79413777766845, - -32.80066808871243, - -7.748154791717482, - 47.04567455956982, - -69.93563358196235, - -2.857472923841442, - 61.11868807043689, - 15.150240159985088, - 37.32774132825227, - -4.4238024429129865, - 94.76521432994485, - -69.80973130621896, - -34.96991276425953, - -6.554412653425558 + 56.46701250066562, + 99.86045478237251, + 71.05493372292567, + 32.45438455331333, + 17.310747999630017, + 2.586275053048559, + 92.31499166302054, + 96.9758519231732, + 26.4721315276526, + 77.67031776320978, + 29.278788710989147, + 82.12142428847062, + 89.89308471484885, + 82.49795321217854, + 64.36866008901963, + 23.75928513568486, + 6.67026681065197, + 81.55583129445503, + 16.142963270263433, + 57.45134849716054, + 26.82641739603182, + 85.0296980735713, + 36.198863464757956, + 89.60960360138286 ], "type": "float32" }, "b": { "shape": [4], "data": [ - -26.21038924740793, - 84.99316107761908, - 23.556117398915518, - -36.493155020610416 + 27.829805134194842, + 83.14548502311283, + 34.4128942110155, + 83.20379675185079 ], "type": "float32" } @@ -557,12 +647,12 @@ "name": "output", "shape": [2, 3, 1], "data": [ - 2268.936767578125, - -1833.6229248046875, - 12116.6953125, - 2658.509033203125, - 726.4573364257812, - -9001.7470703125 + 15019.9462890625, + 11942.376953125, + 15035.0322265625, + 13553.013671875, + 12302.328125, + 16517.9765625 ], "type": "float32" } @@ -573,80 +663,80 @@ "a": { "shape": [2, 2, 3, 4], "data": [ - -57.78256298118967, - -97.60594774508071, - 65.81871222255083, - 15.513092740816958, - 23.98655054563386, - -21.967424588709946, - 18.886694823929503, - -24.35213075030606, - -14.290771884477223, - 27.107064409596987, - -30.5553771654659, - 62.92884749021695, - 21.303536293227893, - -8.442491388430852, - 17.763053699220464, - -82.98418612293332, - -61.72257181975205, - -78.53204624132334, - 19.007175025924596, - -74.80765254527185, - -18.60249486224501, - -72.09066341524397, - 80.89076690500559, - 5.581122924805243, - -18.024148599640455, - 50.81262521893612, - -38.77959477414357, - 8.017349716674758, - 78.64766425508046, - -9.9506827380321, - 12.373807304160238, - 27.171930514383064, - -59.760329260919235, - 83.40591150488996, - 15.431053425642105, - 50.84504411456078, - -70.6015952433627, - -81.89265843512862, - 91.66120960135197, - -41.97235924914904, - 80.61416970815279, - -56.76420682646275, - -11.13108082468139, - 7.567520367062343, - -54.871302687181924, - 32.13136431765244, - -14.166689175692596, - -91.38920754453154 + 33.759571073537195, + 97.24552988493511, + 83.70851840974835, + 64.53984433339888, + 29.579379819004714, + 17.1992392523348, + 67.94749248305698, + 97.45838011362066, + 54.44928258357935, + 29.552200144620187, + 51.99970332220345, + 36.031014589568585, + 9.701058359869318, + 27.048420991685028, + 6.020919350370768, + 22.94090320010824, + 53.12438840861784, + 15.292234456978937, + 48.21302721807221, + 87.40800039569459, + 51.344420382168174, + 21.15575571555004, + 27.58948746939598, + 58.41238372971891, + 5.963276160098108, + 84.74937985741033, + 55.457381638128126, + 50.858698377713, + 23.76357555039641, + 62.330927022798434, + 35.77495779930495, + 17.340241762611043, + 29.16901397355762, + 23.19136101699426, + 27.060928414739994, + 1.2828527630654118, + 8.720425533325615, + 48.4528113654477, + 99.01303756634434, + 65.86412386674365, + 92.69683028841827, + 85.43540981621389, + 37.49127872314042, + 51.39713319355885, + 53.19015180051876, + 38.33119168879018, + 75.20586450347592, + 3.853793976963038 ], "type": "float32" }, "b": { "shape": [1, 1, 4, 5], "data": [ - -27.057616426197043, - -8.230676540860543, - -94.45044554838091, - 37.7386035523445, - 91.59427307661593, - 37.67096896611463, - 39.19007695966195, - -5.7469015282268145, - 60.80050537072776, - 85.74331632981222, - -16.164128914527836, - -16.941906803113767, - -14.541234403419878, - 85.87155145113644, - -5.575109242581533, - -21.09184412126517, - 20.888269634860862, - -34.29842780847672, - -64.89107885075947, - -86.25000925356088 + 88.17004408170853, + 78.40126706348094, + 14.819002753540623, + 3.692303791736573, + 45.9064286713635, + 43.08391896733015, + 47.19946845924572, + 60.925216107016425, + 8.162760351602216, + 20.33326305093228, + 20.438397895943282, + 27.01940859922867, + 15.601424432184263, + 87.46969388883927, + 65.79554455585657, + 69.31696864490797, + 31.984439910782992, + 12.291812891860388, + 13.304834654547172, + 85.26705387930089 ], "type": "float32" } @@ -655,66 +745,66 @@ "name": "output", "shape": [2, 2, 3, 5], "data": [ - -3504.553955078125, - -4140.64794921875, - 4529.36083984375, - -3469.830810546875, - -15366.560546875, - -1268.2086181640625, - -1886.9810791015625, - -1578.69189453125, - 2771.654052734375, - 2308.547119140625, - 574.439208984375, - 3012.091796875, - -520.0595092773438, - -5598.548828125, - -4241.96728515625, - 568.7055053710938, - -2540.54052734375, - 624.3200073242188, - 7200.931640625, - 8285.75, - -17.715293884277344, - -4454.27880859375, - 8570.4375, - -617.5867919921875, - -6040.83837890625, - -3637.630615234375, - -3925.991455078125, - 803.6365356445312, - 1498.8699951171875, - -8817.521484375, - 2859.5888671875, - 2964.170654296875, - 1699.29443359375, - -1441.0911865234375, - 2230.63818359375, - -3275.98828125, - -679.3528442382812, - -8483.0068359375, - 1662.388671875, - 3937.906982421875, - 3437.1083984375, - 4561.18603515625, - 3196.772705078125, - 841.5494995117188, - -2793.61962890625, - -1771.0140380859375, - -5057.92626953125, - 7245.69970703125, - 2951.200927734375, - -10379.35546875, - -4299.2783203125, - -2541.44873046875, - -7385.52001953125, - -1855.9342041015625, - 1926.0032958984375, - 4851.66552734375, - 41.90695571899414, - 8338.470703125, - 4596.6650390625, - 5690.45263671875 + 13350.8759765625, + 11562.755859375, + 8524.271484375, + 9099.0927734375, + 14537.8701171875, + 11493.283203125, + 8083.90869140625, + 3744.22216796875, + 7489.62353515625, + 14488.2314453125, + 9634.3720703125, + 8221.173828125, + 3861.51416015625, + 5470.0556640625, + 9594.072265625, + 3733.946533203125, + 2933.679931640625, + 2167.611083984375, + 1088.48193359375, + 3347.576416015625, + 12387.083984375, + 8985.1884765625, + 3545.52783203125, + 5701.10595703125, + 13374.9169921875, + 10051.3671875, + 7637.7470703125, + 3198.221435546875, + 3552.6796875, + 9583.1220703125, + 8835.94921875, + 7592.7666015625, + 6742.10400390625, + 6241.31396484375, + 9982.404296875, + 6713.85205078125, + 6326.3173828125, + 4920.9609375, + 3956.46875, + 6190.67626953125, + 4213.013671875, + 4153.708984375, + 2283.152099609375, + 2681.085693359375, + 3700.47509765625, + 9445.5869140625, + 7752.5400390625, + 5435.56005859375, + 9964.6591796875, + 13516.18359375, + 16182.931640625, + 13956.9560546875, + 7795.52685546875, + 5002.8349609375, + 12841.802734375, + 8145.45654296875, + 8134.66650390625, + 4344.25, + 7138.79052734375, + 8497.98046875 ], "type": "float32" } @@ -725,100 +815,100 @@ "a": { "shape": [2, 2, 3, 4], "data": [ - -57.78256298118967, - -97.60594774508071, - 65.81871222255083, - 15.513092740816958, - 23.98655054563386, - -21.967424588709946, - 18.886694823929503, - -24.35213075030606, - -14.290771884477223, - 27.107064409596987, - -30.5553771654659, - 62.92884749021695, - 21.303536293227893, - -8.442491388430852, - 17.763053699220464, - -82.98418612293332, - -61.72257181975205, - -78.53204624132334, - 19.007175025924596, - -74.80765254527185, - -18.60249486224501, - -72.09066341524397, - 80.89076690500559, - 5.581122924805243, - -18.024148599640455, - 50.81262521893612, - -38.77959477414357, - 8.017349716674758, - 78.64766425508046, - -9.9506827380321, - 12.373807304160238, - 27.171930514383064, - -59.760329260919235, - 83.40591150488996, - 15.431053425642105, - 50.84504411456078, - -70.6015952433627, - -81.89265843512862, - 91.66120960135197, - -41.97235924914904, - 80.61416970815279, - -56.76420682646275, - -11.13108082468139, - 7.567520367062343, - -54.871302687181924, - 32.13136431765244, - -14.166689175692596, - -91.38920754453154 + 33.759571073537195, + 97.24552988493511, + 83.70851840974835, + 64.53984433339888, + 29.579379819004714, + 17.1992392523348, + 67.94749248305698, + 97.45838011362066, + 54.44928258357935, + 29.552200144620187, + 51.99970332220345, + 36.031014589568585, + 9.701058359869318, + 27.048420991685028, + 6.020919350370768, + 22.94090320010824, + 53.12438840861784, + 15.292234456978937, + 48.21302721807221, + 87.40800039569459, + 51.344420382168174, + 21.15575571555004, + 27.58948746939598, + 58.41238372971891, + 5.963276160098108, + 84.74937985741033, + 55.457381638128126, + 50.858698377713, + 23.76357555039641, + 62.330927022798434, + 35.77495779930495, + 17.340241762611043, + 29.16901397355762, + 23.19136101699426, + 27.060928414739994, + 1.2828527630654118, + 8.720425533325615, + 48.4528113654477, + 99.01303756634434, + 65.86412386674365, + 92.69683028841827, + 85.43540981621389, + 37.49127872314042, + 51.39713319355885, + 53.19015180051876, + 38.33119168879018, + 75.20586450347592, + 3.853793976963038 ], "type": "float32" }, "b": { "shape": [2, 4, 5], "data": [ - -37.54479939805191, - 62.03863390760466, - -59.58524466155506, - 87.46986567478658, - -50.24249814528532, - -58.06832556448569, - 23.301210236945906, - -72.89992470211942, - 9.570174232379543, - -81.2456676216478, - 48.35520180490283, - 41.81854877503463, - -50.21333174370568, - 4.21435975938671, - -96.19639534469364, - 67.85069325841712, - 21.29252639361772, - -16.455932756098562, - -50.2602146922619, - -66.71804190955655, - 38.190547173557434, - 18.932724208660005, - -79.76510066105024, - 50.23685112271045, - -55.41115098394904, - -23.46097001302381, - 60.487737276030884, - 42.73717646741534, - 62.90725873470754, - -33.23606967299759, - -36.86769406805803, - -91.52910565691018, - -80.54363103589677, - 4.079093694012187, - 95.70199024173527, - -44.45859861409356, - 52.830588721449885, - 68.41889201734026, - -11.707749491474402, - 75.9785719044454 + 70.38780515954635, + 25.489176068987597, + 28.25419591483602, + 84.51486608529449, + 58.87341530615436, + 46.252837428713555, + 24.897335441310766, + 44.09449366886899, + 51.865646783698985, + 1.123237180407144, + 4.187554708673558, + 71.24650172124491, + 16.0345266486708, + 23.677297120787454, + 61.277276711169094, + 65.15946418752658, + 58.392497125216906, + 70.12740970610143, + 9.119727538574839, + 24.17997835305117, + 84.42636665997716, + 78.55551451746716, + 38.482969428827076, + 80.65414903244603, + 57.15212267967695, + 46.10971199065528, + 28.41227860070996, + 90.9256677352717, + 94.66067935241847, + 61.772877196686295, + 60.324859158187635, + 70.97433442190315, + 10.631051143172332, + 55.616284948780525, + 35.0523090419651, + 22.128390497020668, + 38.19757703840079, + 78.17564687251797, + 62.57684276680773, + 88.35256743439288 ], "type": "float32" } @@ -827,66 +917,66 @@ "name": "output", "shape": [2, 2, 3, 5], "data": [ - 12072.5, - -2776.33203125, - 6998.1953125, - -6490.646484375, - 3466.6748046875, - -363.9977722167969, - 1247.5211181640625, - -375.4477233886719, - 3191.406982421875, - 387.5083923339844, - 1754.73681640625, - -192.81997680664062, - -625.8494262695312, - -4282.18115234375, - -2743.499755859375, - 4046.140380859375, - -6117.27294921875, - -9168.4736328125, - 1583.1436767578125, - -5504.91796875, - 2110.311767578125, - -11610.64453125, - -5082.09423828125, - -7087.62158203125, - 2165.461181640625, - -2249.5078125, - -11821.802734375, - -7730.50341796875, - -5204.93798828125, - 11592.2490234375, - -3605.103515625, - -1385.1947021484375, - -814.943603515625, - -1656.6690673828125, - -27.17203140258789, - 66.98078918457031, - 5743.3447265625, - -5029.3056640625, - 5470.5517578125, - -6146.1787109375, - 1596.490966796875, - -36.0668830871582, - -4130.99853515625, - -6919.4697265625, - -8650.5546875, - -2288.33740234375, - -16897.275390625, - -8122.7470703125, - -7833.14794921875, - 12217.06640625, - 4484.37841796875, - -488.6781311035156, - -7441.83984375, - 344.9179992675781, - -3070.60205078125, - 1735.93115234375, - -2626.791015625, - 638.3070068359375, - 276.9090881347656, - -6326.83935546875 + 11430.05859375, + 13014.2392578125, + 11110.080078125, + 10467.46484375, + 8786.7724609375, + 9512.4111328125, + 11714.0283203125, + 9518.1435546875, + 5889.55419921875, + 8280.9365234375, + 7764.95166015625, + 7932.3759765625, + 6202.0625, + 7694.32373046875, + 7296.4384765625, + 2937.076416015625, + 2834.196533203125, + 4690.14990234375, + 5113.283203125, + 4463.22998046875, + 10032.8623046875, + 11368.3623046875, + 10780.572265625, + 13883.421875, + 13393.5166015625, + 8267.212890625, + 8823.828125, + 8759.2177734375, + 11333.4462890625, + 10369.25390625, + 7885.7978515625, + 9182.943359375, + 8361.2900390625, + 6676.46533203125, + 5074.3115234375, + 5835.33837890625, + 5718.96875, + 5209.5322265625, + 6246.40185546875, + 4080.533935546875, + 3322.71826171875, + 3323.802490234375, + 2370.630615234375, + 4320.47900390625, + 3432.568115234375, + 10400.7939453125, + 11604.9267578125, + 10942.7744140625, + 14918.220703125, + 12781.3603515625, + 15164.451171875, + 14333.4267578125, + 15752.0966796875, + 20865.154296875, + 16430.63671875, + 10880.1533203125, + 10752.34765625, + 6632.99462890625, + 12342.2919921875, + 8384.3896484375 ], "type": "float32" } @@ -897,80 +987,80 @@ "a": { "shape": [2, 2, 1, 3, 4], "data": [ - -57.78256298118967, - -97.60594774508071, - 65.81871222255083, - 15.513092740816958, - 23.98655054563386, - -21.967424588709946, - 18.886694823929503, - -24.35213075030606, - -14.290771884477223, - 27.107064409596987, - -30.5553771654659, - 62.92884749021695, - 21.303536293227893, - -8.442491388430852, - 17.763053699220464, - -82.98418612293332, - -61.72257181975205, - -78.53204624132334, - 19.007175025924596, - -74.80765254527185, - -18.60249486224501, - -72.09066341524397, - 80.89076690500559, - 5.581122924805243, - -18.024148599640455, - 50.81262521893612, - -38.77959477414357, - 8.017349716674758, - 78.64766425508046, - -9.9506827380321, - 12.373807304160238, - 27.171930514383064, - -59.760329260919235, - 83.40591150488996, - 15.431053425642105, - 50.84504411456078, - -70.6015952433627, - -81.89265843512862, - 91.66120960135197, - -41.97235924914904, - 80.61416970815279, - -56.76420682646275, - -11.13108082468139, - 7.567520367062343, - -54.871302687181924, - 32.13136431765244, - -14.166689175692596, - -91.38920754453154 + 33.759571073537195, + 97.24552988493511, + 83.70851840974835, + 64.53984433339888, + 29.579379819004714, + 17.1992392523348, + 67.94749248305698, + 97.45838011362066, + 54.44928258357935, + 29.552200144620187, + 51.99970332220345, + 36.031014589568585, + 9.701058359869318, + 27.048420991685028, + 6.020919350370768, + 22.94090320010824, + 53.12438840861784, + 15.292234456978937, + 48.21302721807221, + 87.40800039569459, + 51.344420382168174, + 21.15575571555004, + 27.58948746939598, + 58.41238372971891, + 5.963276160098108, + 84.74937985741033, + 55.457381638128126, + 50.858698377713, + 23.76357555039641, + 62.330927022798434, + 35.77495779930495, + 17.340241762611043, + 29.16901397355762, + 23.19136101699426, + 27.060928414739994, + 1.2828527630654118, + 8.720425533325615, + 48.4528113654477, + 99.01303756634434, + 65.86412386674365, + 92.69683028841827, + 85.43540981621389, + 37.49127872314042, + 51.39713319355885, + 53.19015180051876, + 38.33119168879018, + 75.20586450347592, + 3.853793976963038 ], "type": "float32" }, "b": { "shape": [1, 1, 1, 4, 5], "data": [ - -27.057616426197043, - -8.230676540860543, - -94.45044554838091, - 37.7386035523445, - 91.59427307661593, - 37.67096896611463, - 39.19007695966195, - -5.7469015282268145, - 60.80050537072776, - 85.74331632981222, - -16.164128914527836, - -16.941906803113767, - -14.541234403419878, - 85.87155145113644, - -5.575109242581533, - -21.09184412126517, - 20.888269634860862, - -34.29842780847672, - -64.89107885075947, - -86.25000925356088 + 88.17004408170853, + 78.40126706348094, + 14.819002753540623, + 3.692303791736573, + 45.9064286713635, + 43.08391896733015, + 47.19946845924572, + 60.925216107016425, + 8.162760351602216, + 20.33326305093228, + 20.438397895943282, + 27.01940859922867, + 15.601424432184263, + 87.46969388883927, + 65.79554455585657, + 69.31696864490797, + 31.984439910782992, + 12.291812891860388, + 13.304834654547172, + 85.26705387930089 ], "type": "float32" } @@ -979,66 +1069,66 @@ "name": "output", "shape": [2, 2, 1, 3, 5], "data": [ - -3504.553955078125, - -4140.64794921875, - 4529.36083984375, - -3469.830810546875, - -15366.560546875, - -1268.2086181640625, - -1886.9810791015625, - -1578.69189453125, - 2771.654052734375, - 2308.547119140625, - 574.439208984375, - 3012.091796875, - -520.0595092773438, - -5598.548828125, - -4241.96728515625, - 568.7055053710938, - -2540.54052734375, - 624.3200073242188, - 7200.931640625, - 8285.75, - -17.715293884277344, - -4454.27880859375, - 8570.4375, - -617.5867919921875, - -6040.83837890625, - -3637.630615234375, - -3925.991455078125, - 803.6365356445312, - 1498.8699951171875, - -8817.521484375, - 2859.5888671875, - 2964.170654296875, - 1699.29443359375, - -1441.0911865234375, - 2230.63818359375, - -3275.98828125, - -679.3528442382812, - -8483.0068359375, - 1662.388671875, - 3937.906982421875, - 3437.1083984375, - 4561.18603515625, - 3196.772705078125, - 841.5494995117188, - -2793.61962890625, - -1771.0140380859375, - -5057.92626953125, - 7245.69970703125, - 2951.200927734375, - -10379.35546875, - -4299.2783203125, - -2541.44873046875, - -7385.52001953125, - -1855.9342041015625, - 1926.0032958984375, - 4851.66552734375, - 41.90695571899414, - 8338.470703125, - 4596.6650390625, - 5690.45263671875 + 13350.8759765625, + 11562.755859375, + 8524.271484375, + 9099.0927734375, + 14537.8701171875, + 11493.283203125, + 8083.90869140625, + 3744.22216796875, + 7489.62353515625, + 14488.2314453125, + 9634.3720703125, + 8221.173828125, + 3861.51416015625, + 5470.0556640625, + 9594.072265625, + 3733.946533203125, + 2933.679931640625, + 2167.611083984375, + 1088.48193359375, + 3347.576416015625, + 12387.083984375, + 8985.1884765625, + 3545.52783203125, + 5701.10595703125, + 13374.9169921875, + 10051.3671875, + 7637.7470703125, + 3198.221435546875, + 3552.6796875, + 9583.1220703125, + 8835.94921875, + 7592.7666015625, + 6742.10400390625, + 6241.31396484375, + 9982.404296875, + 6713.85205078125, + 6326.3173828125, + 4920.9609375, + 3956.46875, + 6190.67626953125, + 4213.013671875, + 4153.708984375, + 2283.152099609375, + 2681.085693359375, + 3700.47509765625, + 9445.5869140625, + 7752.5400390625, + 5435.56005859375, + 9964.6591796875, + 13516.18359375, + 16182.931640625, + 13956.9560546875, + 7795.52685546875, + 5002.8349609375, + 12841.802734375, + 8145.45654296875, + 8134.66650390625, + 4344.25, + 7138.79052734375, + 8497.98046875 ], "type": "float32" } @@ -1049,80 +1139,80 @@ "a": { "shape": [2, 2, 1, 3, 4], "data": [ - -57.78256298118967, - -97.60594774508071, - 65.81871222255083, - 15.513092740816958, - 23.98655054563386, - -21.967424588709946, - 18.886694823929503, - -24.35213075030606, - -14.290771884477223, - 27.107064409596987, - -30.5553771654659, - 62.92884749021695, - 21.303536293227893, - -8.442491388430852, - 17.763053699220464, - -82.98418612293332, - -61.72257181975205, - -78.53204624132334, - 19.007175025924596, - -74.80765254527185, - -18.60249486224501, - -72.09066341524397, - 80.89076690500559, - 5.581122924805243, - -18.024148599640455, - 50.81262521893612, - -38.77959477414357, - 8.017349716674758, - 78.64766425508046, - -9.9506827380321, - 12.373807304160238, - 27.171930514383064, - -59.760329260919235, - 83.40591150488996, - 15.431053425642105, - 50.84504411456078, - -70.6015952433627, - -81.89265843512862, - 91.66120960135197, - -41.97235924914904, - 80.61416970815279, - -56.76420682646275, - -11.13108082468139, - 7.567520367062343, - -54.871302687181924, - 32.13136431765244, - -14.166689175692596, - -91.38920754453154 + 33.759571073537195, + 97.24552988493511, + 83.70851840974835, + 64.53984433339888, + 29.579379819004714, + 17.1992392523348, + 67.94749248305698, + 97.45838011362066, + 54.44928258357935, + 29.552200144620187, + 51.99970332220345, + 36.031014589568585, + 9.701058359869318, + 27.048420991685028, + 6.020919350370768, + 22.94090320010824, + 53.12438840861784, + 15.292234456978937, + 48.21302721807221, + 87.40800039569459, + 51.344420382168174, + 21.15575571555004, + 27.58948746939598, + 58.41238372971891, + 5.963276160098108, + 84.74937985741033, + 55.457381638128126, + 50.858698377713, + 23.76357555039641, + 62.330927022798434, + 35.77495779930495, + 17.340241762611043, + 29.16901397355762, + 23.19136101699426, + 27.060928414739994, + 1.2828527630654118, + 8.720425533325615, + 48.4528113654477, + 99.01303756634434, + 65.86412386674365, + 92.69683028841827, + 85.43540981621389, + 37.49127872314042, + 51.39713319355885, + 53.19015180051876, + 38.33119168879018, + 75.20586450347592, + 3.853793976963038 ], "type": "float32" }, "b": { "shape": [4, 5], "data": [ - -27.057616426197043, - -8.230676540860543, - -94.45044554838091, - 37.7386035523445, - 91.59427307661593, - 37.67096896611463, - 39.19007695966195, - -5.7469015282268145, - 60.80050537072776, - 85.74331632981222, - -16.164128914527836, - -16.941906803113767, - -14.541234403419878, - 85.87155145113644, - -5.575109242581533, - -21.09184412126517, - 20.888269634860862, - -34.29842780847672, - -64.89107885075947, - -86.25000925356088 + 88.17004408170853, + 78.40126706348094, + 14.819002753540623, + 3.692303791736573, + 45.9064286713635, + 43.08391896733015, + 47.19946845924572, + 60.925216107016425, + 8.162760351602216, + 20.33326305093228, + 20.438397895943282, + 27.01940859922867, + 15.601424432184263, + 87.46969388883927, + 65.79554455585657, + 69.31696864490797, + 31.984439910782992, + 12.291812891860388, + 13.304834654547172, + 85.26705387930089 ], "type": "float32" } @@ -1131,66 +1221,66 @@ "name": "output", "shape": [2, 2, 1, 3, 5], "data": [ - -3504.553955078125, - -4140.64794921875, - 4529.36083984375, - -3469.830810546875, - -15366.560546875, - -1268.2086181640625, - -1886.9810791015625, - -1578.69189453125, - 2771.654052734375, - 2308.547119140625, - 574.439208984375, - 3012.091796875, - -520.0595092773438, - -5598.548828125, - -4241.96728515625, - 568.7055053710938, - -2540.54052734375, - 624.3200073242188, - 7200.931640625, - 8285.75, - -17.715293884277344, - -4454.27880859375, - 8570.4375, - -617.5867919921875, - -6040.83837890625, - -3637.630615234375, - -3925.991455078125, - 803.6365356445312, - 1498.8699951171875, - -8817.521484375, - 2859.5888671875, - 2964.170654296875, - 1699.29443359375, - -1441.0911865234375, - 2230.63818359375, - -3275.98828125, - -679.3528442382812, - -8483.0068359375, - 1662.388671875, - 3937.906982421875, - 3437.1083984375, - 4561.18603515625, - 3196.772705078125, - 841.5494995117188, - -2793.61962890625, - -1771.0140380859375, - -5057.92626953125, - 7245.69970703125, - 2951.200927734375, - -10379.35546875, - -4299.2783203125, - -2541.44873046875, - -7385.52001953125, - -1855.9342041015625, - 1926.0032958984375, - 4851.66552734375, - 41.90695571899414, - 8338.470703125, - 4596.6650390625, - 5690.45263671875 + 13350.8759765625, + 11562.755859375, + 8524.271484375, + 9099.0927734375, + 14537.8701171875, + 11493.283203125, + 8083.90869140625, + 3744.22216796875, + 7489.62353515625, + 14488.2314453125, + 9634.3720703125, + 8221.173828125, + 3861.51416015625, + 5470.0556640625, + 9594.072265625, + 3733.946533203125, + 2933.679931640625, + 2167.611083984375, + 1088.48193359375, + 3347.576416015625, + 12387.083984375, + 8985.1884765625, + 3545.52783203125, + 5701.10595703125, + 13374.9169921875, + 10051.3671875, + 7637.7470703125, + 3198.221435546875, + 3552.6796875, + 9583.1220703125, + 8835.94921875, + 7592.7666015625, + 6742.10400390625, + 6241.31396484375, + 9982.404296875, + 6713.85205078125, + 6326.3173828125, + 4920.9609375, + 3956.46875, + 6190.67626953125, + 4213.013671875, + 4153.708984375, + 2283.152099609375, + 2681.085693359375, + 3700.47509765625, + 9445.5869140625, + 7752.5400390625, + 5435.56005859375, + 9964.6591796875, + 13516.18359375, + 16182.931640625, + 13956.9560546875, + 7795.52685546875, + 5002.8349609375, + 12841.802734375, + 8145.45654296875, + 8134.66650390625, + 4344.25, + 7138.79052734375, + 8497.98046875 ], "type": "float32" }
diff --git a/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/softmax.json b/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/softmax.json index b19ce405..52ea57c 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/softmax.json +++ b/third_party/blink/web_tests/external/wpt/webnn/resources/test_data/softmax.json
@@ -1,35 +1,35 @@ { "tests": [ { - "name": "softmax float32 2D tensor", + "name": "softmax float32 2D tensor all positive", "inputs": { "x": { "shape": [4, 6], "data": [ - -9.602943250149636, - 5.353947088147631, - 4.982506021190005, - -1.8709681620943286, - 2.275207739606868, - -1.9403444022539098, - 1.8985638253724968, - 1.7877445512108103, - -7.243864108734894, - 7.827657028853274, - -2.4196847673132726, - -8.018804523844905, - -3.1493873901132474, - 7.674345195428224, - -5.183967275728079, - -7.301743057626533, - -7.121610082852072, - -8.29701166999875, - -5.77890866334104, - -9.76213424697228, - 7.332167409724249, - 3.9077721241449215, - -5.2970783047100545, - 5.0440509491607965 + 7.903734730203054, + 6.358251623091922, + 4.833756774572475, + 9.579165187926348, + 0.21071856783621445, + 4.554958961778823, + 7.150174113718282, + 8.330297576341172, + 1.535985791562966, + 6.633619497318013, + 1.45393689965033, + 0.21341864769940821, + 5.257819475802503, + 8.1921378632378, + 8.161730206898543, + 2.8744343334015565, + 8.950733525100087, + 6.111632812590415, + 1.6371468489476149, + 0.2762612074523485, + 5.028227187056009, + 3.898326029997037, + 2.8967114227178836, + 6.8894703393234575 ], "type": "float32" } @@ -38,30 +38,96 @@ "name": "output", "shape": [4, 6], "data": [ - 1.8385014755040174e-7, - 0.575650691986084, - 0.3970489799976349, - 0.0004191970219835639, - 0.026489850133657455, - 0.0003911005624104291, - 0.00264744833111763, - 0.00236973213031888, - 2.833488679243601e-7, - 0.9949471354484558, - 0.00003527247827150859, - 1.3054766156983533e-7, - 0.000019920609702239744, - 0.9999766945838928, - 0.0000026043292109534377, - 3.1329790317613515e-7, - 3.7513549955292547e-7, - 1.1580249292819644e-7, - 0.0000017836379129221314, - 3.322107744452296e-8, - 0.8818095922470093, - 0.028719622641801834, - 0.000002887773234760971, - 0.08946608752012253 + 0.15068615972995758, + 0.03212761878967285, + 0.006995180621743202, + 0.8048291206359863, + 0.00006871300138300285, + 0.005293202120810747, + 0.2057899534702301, + 0.6698001027107239, + 0.0007502624066546559, + 0.1227685883641243, + 0.0006911618984304368, + 0.00019990770670119673, + 0.012398251332342625, + 0.23319464921951294, + 0.22621041536331177, + 0.0011435872875154018, + 0.4979347288608551, + 0.029118351638317108, + 0.004253828432410955, + 0.001090824487619102, + 0.12633030116558075, + 0.040812913328409195, + 0.014990009367465973, + 0.8125221133232117 + ], + "type": "float32" + } + }, + { + "name": "softmax float32 2D tensor all negative", + "inputs": { + "x": { + "shape": [4, 6], + "data": [ + -3.3118434934513763, + -3.338954812269648, + -3.4102789638525355, + -6.697192980301335, + -7.896223320202411, + -3.3081689006635866, + -3.2309720485303473, + -4.315771351061817, + -9.311088112018716, + -3.9236627720798856, + -3.7807213277512064, + -6.034926915403203, + -3.9196677453714273, + -2.223484249593408, + -9.326531526135806, + -1.4882492282868132, + -6.302842393071306, + -5.531475594479687, + -1.8421411696525603, + -4.994808274460977, + -9.527291818875955, + -4.985682906583053, + -8.421041200931548, + -6.235629579015209 + ], + "type": "float32" + } + }, + "expected": { + "name": "output", + "shape": [4, 6], + "data": [ + 0.2546302080154419, + 0.24781952798366547, + 0.2307596504688263, + 0.008623254485428333, + 0.002599793951958418, + 0.2555675804615021, + 0.40352678298950195, + 0.13637976348400116, + 0.0009232329903170466, + 0.20185552537441254, + 0.23287305235862732, + 0.024441635236144066, + 0.0551743283867836, + 0.3008708655834198, + 0.0002474947541486472, + 0.6276082992553711, + 0.0050902292132377625, + 0.011008745059370995, + 0.9090295433998108, + 0.0388500951230526, + 0.00041779119055718184, + 0.039206232875585556, + 0.0012629841221496463, + 0.011233373545110226 ], "type": "float32" }
diff --git a/third_party/blink/web_tests/external/wpt/webnn/softmax.https.any.js.ini b/third_party/blink/web_tests/external/wpt/webnn/softmax.https.any.js.ini index ea801b3..c6064d7 100644 --- a/third_party/blink/web_tests/external/wpt/webnn/softmax.https.any.js.ini +++ b/third_party/blink/web_tests/external/wpt/webnn/softmax.https.any.js.ini
@@ -1,24 +1,60 @@ +[softmax.https.any.html] + [softmax float32 2D tensor / cpu / async] + expected: FAIL + + [softmax float32 2D tensor / gpu / async] + expected: FAIL + + [softmax float32 2D tensor all negative / cpu / async] + expected: FAIL + + [softmax float32 2D tensor all negative / gpu / async] + expected: FAIL + + [softmax float32 2D tensor all positive / cpu / async] + expected: FAIL + + [softmax float32 2D tensor all positive / gpu / async] + expected: FAIL + + [softmax.https.any.worker.html] + [softmax float32 2D tensor / cpu / async] + expected: FAIL + [softmax float32 2D tensor / cpu / sync] expected: if (product == "content_shell") and (os == "win"): PASS FAIL + [softmax float32 2D tensor / gpu / async] + expected: FAIL + [softmax float32 2D tensor / gpu / sync] expected: if (product == "content_shell") and (os == "win"): PASS FAIL - [softmax float32 2D tensor / cpu / async] + [softmax float32 2D tensor all negative / cpu / async] expected: FAIL - [softmax float32 2D tensor / gpu / async] + [softmax float32 2D tensor all negative / cpu / sync] expected: FAIL - -[softmax.https.any.html] - [softmax float32 2D tensor / cpu / async] + [softmax float32 2D tensor all negative / gpu / async] expected: FAIL - [softmax float32 2D tensor / gpu / async] + [softmax float32 2D tensor all negative / gpu / sync] + expected: FAIL + + [softmax float32 2D tensor all positive / cpu / async] + expected: FAIL + + [softmax float32 2D tensor all positive / cpu / sync] + expected: FAIL + + [softmax float32 2D tensor all positive / gpu / async] + expected: FAIL + + [softmax float32 2D tensor all positive / gpu / sync] expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/websockets/stream/tentative/close.any.js.ini b/third_party/blink/web_tests/external/wpt/websockets/stream/tentative/close.any.js.ini index 4c5ec505..a460aa0 100644 --- a/third_party/blink/web_tests/external/wpt/websockets/stream/tentative/close.any.js.ini +++ b/third_party/blink/web_tests/external/wpt/websockets/stream/tentative/close.any.js.ini
@@ -1,2 +1,5 @@ [close.any.html?wpt_flags=h2] expected: TIMEOUT + +[close.any.worker.html?wpt_flags=h2] + expected: [TIMEOUT, OK]
diff --git a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/conv2d.https.any-expected.txt b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/conv2d.https.any-expected.txt index 7f15524..80acebb 100644 --- a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/conv2d.https.any-expected.txt +++ b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/conv2d.https.any-expected.txt
@@ -10,7 +10,7 @@ FAIL conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" -FAIL conv2d float32 4D input and filter tensors options.groups / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.inputLayout='nchw' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.filterLayout='oihw' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" @@ -24,8 +24,8 @@ FAIL conv2d float32 4D input and filter tensors 1D options.bias / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.activation=relu / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.activation=sigmoid / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" -FAIL conv2d float32 4D input and filter tensors options.dilations with options.strides / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors all options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter(non-constant) tensors default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" @@ -36,7 +36,7 @@ FAIL conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" -FAIL conv2d float32 4D input and filter tensors options.groups / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.inputLayout='nchw' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.filterLayout='oihw' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" @@ -50,7 +50,7 @@ FAIL conv2d float32 4D input and filter tensors 1D options.bias / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.activation=relu / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.activation=sigmoid / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" -FAIL conv2d float32 4D input and filter tensors options.dilations with options.strides / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors all options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/conv2d.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/conv2d.https.any.worker-expected.txt index 736a050..1675417c 100644 --- a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/conv2d.https.any.worker-expected.txt +++ b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/conv2d.https.any.worker-expected.txt
@@ -10,7 +10,7 @@ FAIL conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented -FAIL conv2d float32 4D input and filter tensors options.groups / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.inputLayout='nchw' / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.filterLayout='oihw' / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented @@ -24,8 +24,8 @@ FAIL conv2d float32 4D input and filter tensors 1D options.bias / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.activation=relu / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.activation=sigmoid / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented -FAIL conv2d float32 4D input and filter tensors options.dilations with options.strides / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors all options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter(non-constant) tensors default options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors default options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.padding / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented @@ -36,7 +36,7 @@ FAIL conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented -FAIL conv2d float32 4D input and filter tensors options.groups / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.inputLayout='nchw' / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.filterLayout='oihw' / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented @@ -50,8 +50,8 @@ FAIL conv2d float32 4D input and filter tensors 1D options.bias / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.activation=relu / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors options.activation=sigmoid / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented -FAIL conv2d float32 4D input and filter tensors options.dilations with options.strides / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter tensors all options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL conv2d float32 4D input and filter(non-constant) tensors default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" @@ -62,7 +62,7 @@ FAIL conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" -FAIL conv2d float32 4D input and filter tensors options.groups / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.inputLayout='nchw' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.filterLayout='oihw' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" @@ -76,8 +76,8 @@ FAIL conv2d float32 4D input and filter tensors 1D options.bias / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.activation=relu / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.activation=sigmoid / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" -FAIL conv2d float32 4D input and filter tensors options.dilations with options.strides / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors all options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter(non-constant) tensors default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" @@ -88,7 +88,7 @@ FAIL conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" -FAIL conv2d float32 4D input and filter tensors options.groups / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.inputLayout='nchw' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.filterLayout='oihw' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" @@ -102,7 +102,7 @@ FAIL conv2d float32 4D input and filter tensors 1D options.bias / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.activation=relu / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors options.activation=sigmoid / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" -FAIL conv2d float32 4D input and filter tensors options.dilations with options.strides / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL conv2d float32 4D input and filter tensors all options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/gemm.https.any-expected.txt b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/gemm.https.any-expected.txt index 4b661f11..381ea2b 100644 --- a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/gemm.https.any-expected.txt +++ b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/gemm.https.any-expected.txt
@@ -5,6 +5,7 @@ FAIL gemm two float32 2D tensors broadcast options.c [1, 5] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [3, 1] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [1, 1] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm two float32 2D tensors broadcast options.c [5] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [1] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors scalar options.c / cpu / async promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'constant' on 'MLGraphBuilder': 2 arguments required, but only 1 present." FAIL gemm two float32 2D tensors options.alpha / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" @@ -15,12 +16,18 @@ FAIL gemm two float32 2D tensors options.bTranspose being true / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors options.bTranspose being explicit false / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors all options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and 1st float32 input tensor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and 2nd float32 input tensor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.beta and 3rd float32 input tensor (options.c) / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and options.beta / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and 3rd float32 input tensor (options.c) / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors (b is non-constant) default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors options.c / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [1, 5] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [3, 1] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [1, 1] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm two float32 2D tensors broadcast options.c [5] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [1] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors scalar options.c / gpu / async promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'constant' on 'MLGraphBuilder': 2 arguments required, but only 1 present." FAIL gemm two float32 2D tensors options.alpha / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" @@ -31,5 +38,10 @@ FAIL gemm two float32 2D tensors options.bTranspose being true / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors options.bTranspose being explicit false / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors all options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and 1st float32 input tensor / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and 2nd float32 input tensor / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.beta and 3rd float32 input tensor (options.c) / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and options.beta / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and 3rd float32 input tensor (options.c) / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/gemm.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/gemm.https.any.worker-expected.txt index 3526fd6..b026e5c9 100644 --- a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/gemm.https.any.worker-expected.txt +++ b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/gemm.https.any.worker-expected.txt
@@ -1,11 +1,12 @@ This is a testharness.js-based test. -Found 64 tests; 0 PASS, 64 FAIL, 0 TIMEOUT, 0 NOTRUN. +Found 88 tests; 0 PASS, 88 FAIL, 0 TIMEOUT, 0 NOTRUN. FAIL gemm two float32 2D tensors (b is non-constant) default options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors default options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors options.c / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors broadcast options.c [1, 5] => [3, 5] / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors broadcast options.c [3, 1] => [3, 5] / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors broadcast options.c [1, 1] => [3, 5] / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL gemm two float32 2D tensors broadcast options.c [5] => [3, 5] / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors broadcast options.c [1] => [3, 5] / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors scalar options.c / cpu / sync Failed to execute 'constant' on 'MLGraphBuilder': 2 arguments required, but only 1 present. FAIL gemm two float32 2D tensors options.alpha / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented @@ -16,12 +17,18 @@ FAIL gemm two float32 2D tensors options.bTranspose being true / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors options.bTranspose being explicit false / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors all options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL gemm both negative options.alpha and 1st float32 input tensor / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL gemm both negative options.alpha and 2nd float32 input tensor / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL gemm both negative options.beta and 3rd float32 input tensor (options.c) / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL gemm both negative options.alpha and options.beta / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL gemm both negative options.alpha and 3rd float32 input tensor (options.c) / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors (b is non-constant) default options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors default options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors options.c / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors broadcast options.c [1, 5] => [3, 5] / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors broadcast options.c [3, 1] => [3, 5] / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors broadcast options.c [1, 1] => [3, 5] / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL gemm two float32 2D tensors broadcast options.c [5] => [3, 5] / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors broadcast options.c [1] => [3, 5] / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors scalar options.c / gpu / sync Failed to execute 'constant' on 'MLGraphBuilder': 2 arguments required, but only 1 present. FAIL gemm two float32 2D tensors options.alpha / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented @@ -32,12 +39,18 @@ FAIL gemm two float32 2D tensors options.bTranspose being true / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors options.bTranspose being explicit false / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors all options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL gemm both negative options.alpha and 1st float32 input tensor / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL gemm both negative options.alpha and 2nd float32 input tensor / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL gemm both negative options.beta and 3rd float32 input tensor (options.c) / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL gemm both negative options.alpha and options.beta / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL gemm both negative options.alpha and 3rd float32 input tensor (options.c) / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL gemm two float32 2D tensors (b is non-constant) default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors options.c / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [1, 5] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [3, 1] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [1, 1] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm two float32 2D tensors broadcast options.c [5] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [1] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors scalar options.c / cpu / async promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'constant' on 'MLGraphBuilder': 2 arguments required, but only 1 present." FAIL gemm two float32 2D tensors options.alpha / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" @@ -48,12 +61,18 @@ FAIL gemm two float32 2D tensors options.bTranspose being true / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors options.bTranspose being explicit false / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors all options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and 1st float32 input tensor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and 2nd float32 input tensor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.beta and 3rd float32 input tensor (options.c) / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and options.beta / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and 3rd float32 input tensor (options.c) / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors (b is non-constant) default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors options.c / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [1, 5] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [3, 1] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [1, 1] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm two float32 2D tensors broadcast options.c [5] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors broadcast options.c [1] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors scalar options.c / gpu / async promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'constant' on 'MLGraphBuilder': 2 arguments required, but only 1 present." FAIL gemm two float32 2D tensors options.alpha / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" @@ -64,5 +83,10 @@ FAIL gemm two float32 2D tensors options.bTranspose being true / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors options.bTranspose being explicit false / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL gemm two float32 2D tensors all options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and 1st float32 input tensor / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and 2nd float32 input tensor / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.beta and 3rd float32 input tensor (options.c) / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and options.beta / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL gemm both negative options.alpha and 3rd float32 input tensor (options.c) / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/pooling.https.any-expected.txt b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/pooling.https.any-expected.txt index 7dafaad..43e5329 100644 --- a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/pooling.https.any-expected.txt +++ b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/pooling.https.any-expected.txt
@@ -1,6 +1,7 @@ This is a testharness.js-based test. -Found 68 tests; 0 PASS, 68 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL averagePool2d float32 4D tensor default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +Found 70 tests; 0 PASS, 70 FAIL, 0 TIMEOUT, 0 NOTRUN. +FAIL averagePool2d float32 4D tensor all positive default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL averagePool2d float32 4D tensor all negative default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.windowDimensions / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.strides / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" @@ -17,7 +18,8 @@ FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.dilations with options.strides / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" -FAIL averagePool2d float32 4D tensor default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL averagePool2d float32 4D tensor all positive default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL averagePool2d float32 4D tensor all negative default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.windowDimensions / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.strides / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented"
diff --git a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/pooling.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/pooling.https.any.worker-expected.txt index 2a20a0f..545255a 100644 --- a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/pooling.https.any.worker-expected.txt +++ b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/pooling.https.any.worker-expected.txt
@@ -1,6 +1,7 @@ This is a testharness.js-based test. -Found 136 tests; 0 PASS, 136 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL averagePool2d float32 4D tensor default options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +Found 140 tests; 0 PASS, 140 FAIL, 0 TIMEOUT, 0 NOTRUN. +FAIL averagePool2d float32 4D tensor all positive default options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL averagePool2d float32 4D tensor all negative default options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL averagePool2d float32 4D tensor options.windowDimensions / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL averagePool2d float32 4D tensor options.padding / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL averagePool2d float32 4D tensor options.strides / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented @@ -17,7 +18,8 @@ FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL averagePool2d float32 4D tensor options.dilations with options.strides / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented -FAIL averagePool2d float32 4D tensor default options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL averagePool2d float32 4D tensor all positive default options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL averagePool2d float32 4D tensor all negative default options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL averagePool2d float32 4D tensor options.windowDimensions / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL averagePool2d float32 4D tensor options.padding / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL averagePool2d float32 4D tensor options.strides / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented @@ -68,7 +70,8 @@ FAIL maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented FAIL maxPool2d float32 4D tensor options.dilations with options.strides / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented -FAIL averagePool2d float32 4D tensor default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL averagePool2d float32 4D tensor all positive default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL averagePool2d float32 4D tensor all negative default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.windowDimensions / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.strides / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" @@ -85,7 +88,8 @@ FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.dilations with options.strides / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" -FAIL averagePool2d float32 4D tensor default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL averagePool2d float32 4D tensor all positive default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL averagePool2d float32 4D tensor all negative default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.windowDimensions / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" FAIL averagePool2d float32 4D tensor options.strides / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented"
diff --git a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/softmax.https.any-expected.txt b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/softmax.https.any-expected.txt index 137d19ab..73ad9cb8 100644 --- a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/softmax.https.any-expected.txt +++ b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/softmax.https.any-expected.txt
@@ -1,5 +1,7 @@ This is a testharness.js-based test. -FAIL softmax float32 2D tensor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" -FAIL softmax float32 2D tensor / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL softmax float32 2D tensor all positive / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL softmax float32 2D tensor all negative / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL softmax float32 2D tensor all positive / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL softmax float32 2D tensor all negative / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/softmax.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/softmax.https.any.worker-expected.txt index 9a33b4b..f2e35e4 100644 --- a/third_party/blink/web_tests/platform/mac/external/wpt/webnn/softmax.https.any.worker-expected.txt +++ b/third_party/blink/web_tests/platform/mac/external/wpt/webnn/softmax.https.any.worker-expected.txt
@@ -1,7 +1,11 @@ This is a testharness.js-based test. -FAIL softmax float32 2D tensor / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented -FAIL softmax float32 2D tensor / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented -FAIL softmax float32 2D tensor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" -FAIL softmax float32 2D tensor / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL softmax float32 2D tensor all positive / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL softmax float32 2D tensor all negative / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL softmax float32 2D tensor all positive / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL softmax float32 2D tensor all negative / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Not implemented +FAIL softmax float32 2D tensor all positive / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL softmax float32 2D tensor all negative / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL softmax float32 2D tensor all positive / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" +FAIL softmax float32 2D tensor all negative / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: Not implemented" Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/webnn/conv2d.https.any-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/webnn/conv2d.https.any-expected.txt index e885ad4..7534897 100644 --- a/third_party/blink/web_tests/platform/win/external/wpt/webnn/conv2d.https.any-expected.txt +++ b/third_party/blink/web_tests/platform/win/external/wpt/webnn/conv2d.https.any-expected.txt
@@ -10,7 +10,7 @@ FAIL conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." -FAIL conv2d float32 4D input and filter tensors options.groups / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." +FAIL depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.inputLayout='nchw' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The filter layout oihw is not supported." FAIL conv2d float32 4D input and filter tensors options.filterLayout='oihw' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." @@ -24,8 +24,8 @@ FAIL conv2d float32 4D input and filter tensors 1D options.bias / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.activation=relu / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.activation=sigmoid / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." -FAIL conv2d float32 4D input and filter tensors options.dilations with options.strides / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors all options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." +FAIL conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter(non-constant) tensors default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." @@ -36,7 +36,7 @@ FAIL conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." -FAIL conv2d float32 4D input and filter tensors options.groups / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." +FAIL depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.inputLayout='nchw' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The filter layout oihw is not supported." FAIL conv2d float32 4D input and filter tensors options.filterLayout='oihw' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." @@ -50,7 +50,7 @@ FAIL conv2d float32 4D input and filter tensors 1D options.bias / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.activation=relu / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.activation=sigmoid / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." -FAIL conv2d float32 4D input and filter tensors options.dilations with options.strides / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors all options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." +FAIL conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/webnn/conv2d.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/webnn/conv2d.https.any.worker-expected.txt index 918c78dd..61c8d89f 100644 --- a/third_party/blink/web_tests/platform/win/external/wpt/webnn/conv2d.https.any.worker-expected.txt +++ b/third_party/blink/web_tests/platform/win/external/wpt/webnn/conv2d.https.any.worker-expected.txt
@@ -10,7 +10,7 @@ FAIL conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. -FAIL conv2d float32 4D input and filter tensors options.groups / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. +FAIL depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors options.inputLayout='nchw' / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The filter layout oihw is not supported. FAIL conv2d float32 4D input and filter tensors options.filterLayout='oihw' / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. @@ -24,8 +24,8 @@ FAIL conv2d float32 4D input and filter tensors 1D options.bias / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors options.activation=relu / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors options.activation=sigmoid / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. -FAIL conv2d float32 4D input and filter tensors options.dilations with options.strides / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors all options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. +FAIL conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter(non-constant) tensors default options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors default options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors options.padding / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. @@ -36,7 +36,7 @@ FAIL conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. -FAIL conv2d float32 4D input and filter tensors options.groups / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. +FAIL depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors options.inputLayout='nchw' / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The filter layout oihw is not supported. FAIL conv2d float32 4D input and filter tensors options.filterLayout='oihw' / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. @@ -50,8 +50,8 @@ FAIL conv2d float32 4D input and filter tensors 1D options.bias / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors options.activation=relu / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors options.activation=sigmoid / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. -FAIL conv2d float32 4D input and filter tensors options.dilations with options.strides / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter tensors all options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. +FAIL conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The input layout nchw is not supported. FAIL conv2d float32 4D input and filter(non-constant) tensors default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." @@ -62,7 +62,7 @@ FAIL conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." -FAIL conv2d float32 4D input and filter tensors options.groups / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." +FAIL depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.inputLayout='nchw' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The filter layout oihw is not supported." FAIL conv2d float32 4D input and filter tensors options.filterLayout='oihw' / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." @@ -76,8 +76,8 @@ FAIL conv2d float32 4D input and filter tensors 1D options.bias / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.activation=relu / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.activation=sigmoid / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." -FAIL conv2d float32 4D input and filter tensors options.dilations with options.strides / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors all options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." +FAIL conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter(non-constant) tensors default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." @@ -88,7 +88,7 @@ FAIL conv2d float32 4D input and filter tensors options.autoPad='same-upper' ignores options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.autoPad='same-lower' ignores options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." -FAIL conv2d float32 4D input and filter tensors options.groups / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." +FAIL depthwise conv2d float32 4D input and filter tensors options.groups= input_channels / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.inputLayout='nchw' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.inputLayout='nhwc' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The filter layout oihw is not supported." FAIL conv2d float32 4D input and filter tensors options.filterLayout='oihw' / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." @@ -102,7 +102,7 @@ FAIL conv2d float32 4D input and filter tensors 1D options.bias / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.activation=relu / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors options.activation=sigmoid / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." -FAIL conv2d float32 4D input and filter tensors options.dilations with options.strides / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." FAIL conv2d float32 4D input and filter tensors all options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." +FAIL conv2d float32 4D input and filter tensors, both negative input tensor and options.bias / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The input layout nchw is not supported." Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/webnn/gemm.https.any-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/webnn/gemm.https.any-expected.txt index 5f07f8e1..5a245a7 100644 --- a/third_party/blink/web_tests/platform/win/external/wpt/webnn/gemm.https.any-expected.txt +++ b/third_party/blink/web_tests/platform/win/external/wpt/webnn/gemm.https.any-expected.txt
@@ -1,35 +1,47 @@ This is a testharness.js-based test. FAIL gemm two float32 2D tensors (b is non-constant) default options / cpu / async promise_test: Unhandled rejection with value: object "DataError: Failed to call xnn_define_fully_connected(subgraph, output_min, output_max, input_id, filter_id, bias_id, output_id, flags): xnn_status_invalid_parameter." -FAIL gemm two float32 2D tensors default options / cpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false +PASS gemm two float32 2D tensors default options / cpu / async FAIL gemm two float32 2D tensors options.c / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors broadcast options.c [1, 5] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors broadcast options.c [3, 1] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors broadcast options.c [1, 1] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +PASS gemm two float32 2D tensors broadcast options.c [5] => [3, 5] / cpu / async FAIL gemm two float32 2D tensors broadcast options.c [1] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors scalar options.c / cpu / async promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'constant' on 'MLGraphBuilder': 2 arguments required, but only 1 present." FAIL gemm two float32 2D tensors options.alpha / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: gemm doesn't support alpha option." FAIL gemm two float32 2D tensors options.beta / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: gemm doesn't support beta option." FAIL gemm two float32 2D tensors options.c and options.beta / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors options.aTranspose being true / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: gemm doesn't support aTranspose option." -FAIL gemm two float32 2D tensors options.aTranspose being explicit false / cpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false -FAIL gemm two float32 2D tensors options.bTranspose being true / cpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false -FAIL gemm two float32 2D tensors options.bTranspose being explicit false / cpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false +PASS gemm two float32 2D tensors options.aTranspose being explicit false / cpu / async +PASS gemm two float32 2D tensors options.bTranspose being true / cpu / async +PASS gemm two float32 2D tensors options.bTranspose being explicit false / cpu / async FAIL gemm two float32 2D tensors all options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and 1st float32 input tensor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and 2nd float32 input tensor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.beta and 3rd float32 input tensor (options.c) / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and options.beta / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and 3rd float32 input tensor (options.c) / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors (b is non-constant) default options / gpu / async promise_test: Unhandled rejection with value: object "DataError: Failed to call xnn_define_fully_connected(subgraph, output_min, output_max, input_id, filter_id, bias_id, output_id, flags): xnn_status_invalid_parameter." -FAIL gemm two float32 2D tensors default options / gpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false +PASS gemm two float32 2D tensors default options / gpu / async FAIL gemm two float32 2D tensors options.c / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors broadcast options.c [1, 5] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors broadcast options.c [3, 1] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors broadcast options.c [1, 1] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +PASS gemm two float32 2D tensors broadcast options.c [5] => [3, 5] / gpu / async FAIL gemm two float32 2D tensors broadcast options.c [1] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors scalar options.c / gpu / async promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'constant' on 'MLGraphBuilder': 2 arguments required, but only 1 present." FAIL gemm two float32 2D tensors options.alpha / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: gemm doesn't support alpha option." FAIL gemm two float32 2D tensors options.beta / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: gemm doesn't support beta option." FAIL gemm two float32 2D tensors options.c and options.beta / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors options.aTranspose being true / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: gemm doesn't support aTranspose option." -FAIL gemm two float32 2D tensors options.aTranspose being explicit false / gpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false -FAIL gemm two float32 2D tensors options.bTranspose being true / gpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false -FAIL gemm two float32 2D tensors options.bTranspose being explicit false / gpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false +PASS gemm two float32 2D tensors options.aTranspose being explicit false / gpu / async +PASS gemm two float32 2D tensors options.bTranspose being true / gpu / async +PASS gemm two float32 2D tensors options.bTranspose being explicit false / gpu / async FAIL gemm two float32 2D tensors all options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and 1st float32 input tensor / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and 2nd float32 input tensor / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.beta and 3rd float32 input tensor (options.c) / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and options.beta / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and 3rd float32 input tensor (options.c) / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/webnn/gemm.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/webnn/gemm.https.any.worker-expected.txt index 0d66e6f..8469422 100644 --- a/third_party/blink/web_tests/platform/win/external/wpt/webnn/gemm.https.any.worker-expected.txt +++ b/third_party/blink/web_tests/platform/win/external/wpt/webnn/gemm.https.any.worker-expected.txt
@@ -1,68 +1,92 @@ This is a testharness.js-based test. -Found 64 tests; 0 PASS, 64 FAIL, 0 TIMEOUT, 0 NOTRUN. +Found 88 tests; 20 PASS, 68 FAIL, 0 TIMEOUT, 0 NOTRUN. FAIL gemm two float32 2D tensors (b is non-constant) default options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Failed to call xnn_define_fully_connected(subgraph, output_min, output_max, input_id, filter_id, bias_id, output_id, flags): xnn_status_invalid_parameter. -FAIL gemm two float32 2D tensors default options / cpu / sync assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false +PASS gemm two float32 2D tensors default options / cpu / sync FAIL gemm two float32 2D tensors options.c / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. FAIL gemm two float32 2D tensors broadcast options.c [1, 5] => [3, 5] / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. FAIL gemm two float32 2D tensors broadcast options.c [3, 1] => [3, 5] / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. FAIL gemm two float32 2D tensors broadcast options.c [1, 1] => [3, 5] / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. +PASS gemm two float32 2D tensors broadcast options.c [5] => [3, 5] / cpu / sync FAIL gemm two float32 2D tensors broadcast options.c [1] => [3, 5] / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. FAIL gemm two float32 2D tensors scalar options.c / cpu / sync Failed to execute 'constant' on 'MLGraphBuilder': 2 arguments required, but only 1 present. FAIL gemm two float32 2D tensors options.alpha / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': gemm doesn't support alpha option. FAIL gemm two float32 2D tensors options.beta / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': gemm doesn't support beta option. FAIL gemm two float32 2D tensors options.c and options.beta / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. FAIL gemm two float32 2D tensors options.aTranspose being true / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': gemm doesn't support aTranspose option. -FAIL gemm two float32 2D tensors options.aTranspose being explicit false / cpu / sync assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false -FAIL gemm two float32 2D tensors options.bTranspose being true / cpu / sync assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false -FAIL gemm two float32 2D tensors options.bTranspose being explicit false / cpu / sync assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false +PASS gemm two float32 2D tensors options.aTranspose being explicit false / cpu / sync +PASS gemm two float32 2D tensors options.bTranspose being true / cpu / sync +PASS gemm two float32 2D tensors options.bTranspose being explicit false / cpu / sync FAIL gemm two float32 2D tensors all options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. +FAIL gemm both negative options.alpha and 1st float32 input tensor / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. +FAIL gemm both negative options.alpha and 2nd float32 input tensor / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. +FAIL gemm both negative options.beta and 3rd float32 input tensor (options.c) / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. +FAIL gemm both negative options.alpha and options.beta / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. +FAIL gemm both negative options.alpha and 3rd float32 input tensor (options.c) / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. FAIL gemm two float32 2D tensors (b is non-constant) default options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': Failed to call xnn_define_fully_connected(subgraph, output_min, output_max, input_id, filter_id, bias_id, output_id, flags): xnn_status_invalid_parameter. -FAIL gemm two float32 2D tensors default options / gpu / sync assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false +PASS gemm two float32 2D tensors default options / gpu / sync FAIL gemm two float32 2D tensors options.c / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. FAIL gemm two float32 2D tensors broadcast options.c [1, 5] => [3, 5] / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. FAIL gemm two float32 2D tensors broadcast options.c [3, 1] => [3, 5] / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. FAIL gemm two float32 2D tensors broadcast options.c [1, 1] => [3, 5] / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. +PASS gemm two float32 2D tensors broadcast options.c [5] => [3, 5] / gpu / sync FAIL gemm two float32 2D tensors broadcast options.c [1] => [3, 5] / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. FAIL gemm two float32 2D tensors scalar options.c / gpu / sync Failed to execute 'constant' on 'MLGraphBuilder': 2 arguments required, but only 1 present. FAIL gemm two float32 2D tensors options.alpha / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': gemm doesn't support alpha option. FAIL gemm two float32 2D tensors options.beta / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': gemm doesn't support beta option. FAIL gemm two float32 2D tensors options.c and options.beta / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. FAIL gemm two float32 2D tensors options.aTranspose being true / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': gemm doesn't support aTranspose option. -FAIL gemm two float32 2D tensors options.aTranspose being explicit false / gpu / sync assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false -FAIL gemm two float32 2D tensors options.bTranspose being true / gpu / sync assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false -FAIL gemm two float32 2D tensors options.bTranspose being explicit false / gpu / sync assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false +PASS gemm two float32 2D tensors options.aTranspose being explicit false / gpu / sync +PASS gemm two float32 2D tensors options.bTranspose being true / gpu / sync +PASS gemm two float32 2D tensors options.bTranspose being explicit false / gpu / sync FAIL gemm two float32 2D tensors all options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. +FAIL gemm both negative options.alpha and 1st float32 input tensor / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. +FAIL gemm both negative options.alpha and 2nd float32 input tensor / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. +FAIL gemm both negative options.beta and 3rd float32 input tensor (options.c) / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. +FAIL gemm both negative options.alpha and options.beta / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. +FAIL gemm both negative options.alpha and 3rd float32 input tensor (options.c) / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The dimensions of bias must be [5]. FAIL gemm two float32 2D tensors (b is non-constant) default options / cpu / async promise_test: Unhandled rejection with value: object "DataError: Failed to call xnn_define_fully_connected(subgraph, output_min, output_max, input_id, filter_id, bias_id, output_id, flags): xnn_status_invalid_parameter." -FAIL gemm two float32 2D tensors default options / cpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false +PASS gemm two float32 2D tensors default options / cpu / async FAIL gemm two float32 2D tensors options.c / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors broadcast options.c [1, 5] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors broadcast options.c [3, 1] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors broadcast options.c [1, 1] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +PASS gemm two float32 2D tensors broadcast options.c [5] => [3, 5] / cpu / async FAIL gemm two float32 2D tensors broadcast options.c [1] => [3, 5] / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors scalar options.c / cpu / async promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'constant' on 'MLGraphBuilder': 2 arguments required, but only 1 present." FAIL gemm two float32 2D tensors options.alpha / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: gemm doesn't support alpha option." FAIL gemm two float32 2D tensors options.beta / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: gemm doesn't support beta option." FAIL gemm two float32 2D tensors options.c and options.beta / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors options.aTranspose being true / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: gemm doesn't support aTranspose option." -FAIL gemm two float32 2D tensors options.aTranspose being explicit false / cpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false -FAIL gemm two float32 2D tensors options.bTranspose being true / cpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false -FAIL gemm two float32 2D tensors options.bTranspose being explicit false / cpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false +PASS gemm two float32 2D tensors options.aTranspose being explicit false / cpu / async +PASS gemm two float32 2D tensors options.bTranspose being true / cpu / async +PASS gemm two float32 2D tensors options.bTranspose being explicit false / cpu / async FAIL gemm two float32 2D tensors all options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and 1st float32 input tensor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and 2nd float32 input tensor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.beta and 3rd float32 input tensor (options.c) / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and options.beta / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and 3rd float32 input tensor (options.c) / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors (b is non-constant) default options / gpu / async promise_test: Unhandled rejection with value: object "DataError: Failed to call xnn_define_fully_connected(subgraph, output_min, output_max, input_id, filter_id, bias_id, output_id, flags): xnn_status_invalid_parameter." -FAIL gemm two float32 2D tensors default options / gpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false +PASS gemm two float32 2D tensors default options / gpu / async FAIL gemm two float32 2D tensors options.c / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors broadcast options.c [1, 5] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors broadcast options.c [3, 1] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors broadcast options.c [1, 1] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +PASS gemm two float32 2D tensors broadcast options.c [5] => [3, 5] / gpu / async FAIL gemm two float32 2D tensors broadcast options.c [1] => [3, 5] / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors scalar options.c / gpu / async promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'constant' on 'MLGraphBuilder': 2 arguments required, but only 1 present." FAIL gemm two float32 2D tensors options.alpha / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: gemm doesn't support alpha option." FAIL gemm two float32 2D tensors options.beta / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: gemm doesn't support beta option." FAIL gemm two float32 2D tensors options.c and options.beta / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." FAIL gemm two float32 2D tensors options.aTranspose being true / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: gemm doesn't support aTranspose option." -FAIL gemm two float32 2D tensors options.aTranspose being explicit false / gpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false -FAIL gemm two float32 2D tensors options.bTranspose being true / gpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false -FAIL gemm two float32 2D tensors options.bTranspose being explicit false / gpu / async assert_true: assert_array_approx_equals_ulp: test gemm float32 actual 96.12967681884766 should be close enough to expected 96.12957763671875 by the acceptable 8 ULP distance, but they have 13 ULP distance expected true got false +PASS gemm two float32 2D tensors options.aTranspose being explicit false / gpu / async +PASS gemm two float32 2D tensors options.bTranspose being true / gpu / async +PASS gemm two float32 2D tensors options.bTranspose being explicit false / gpu / async FAIL gemm two float32 2D tensors all options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and 1st float32 input tensor / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and 2nd float32 input tensor / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.beta and 3rd float32 input tensor (options.c) / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and options.beta / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." +FAIL gemm both negative options.alpha and 3rd float32 input tensor (options.c) / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The dimensions of bias must be [5]." Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/webnn/pooling.https.any-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/webnn/pooling.https.any-expected.txt index 08befcc..8c1af49 100644 --- a/third_party/blink/web_tests/platform/win/external/wpt/webnn/pooling.https.any-expected.txt +++ b/third_party/blink/web_tests/platform/win/external/wpt/webnn/pooling.https.any-expected.txt
@@ -1,6 +1,7 @@ This is a testharness.js-based test. -Found 68 tests; 6 PASS, 62 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL averagePool2d float32 4D tensor default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." +Found 70 tests; 8 PASS, 62 FAIL, 0 TIMEOUT, 0 NOTRUN. +FAIL averagePool2d float32 4D tensor all positive default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." +FAIL averagePool2d float32 4D tensor all negative default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.windowDimensions / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.strides / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." @@ -16,8 +17,9 @@ FAIL averagePool2d float32 4D tensor options.roundingType=ceil / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." -FAIL averagePool2d float32 4D tensor options.dilations with options.strides / cpu / async assert_true: assert_array_approx_equals_ulp: test averagePool2d float32 actual -0.2304840087890625 should be close enough to expected -0.23048464953899384 by the acceptable 11 ULP distance, but they have 43 ULP distance expected true got false -FAIL averagePool2d float32 4D tensor default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." +PASS averagePool2d float32 4D tensor options.dilations with options.strides / cpu / async +FAIL averagePool2d float32 4D tensor all positive default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." +FAIL averagePool2d float32 4D tensor all negative default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.windowDimensions / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.strides / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." @@ -33,7 +35,7 @@ FAIL averagePool2d float32 4D tensor options.roundingType=ceil / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." -FAIL averagePool2d float32 4D tensor options.dilations with options.strides / gpu / async assert_true: assert_array_approx_equals_ulp: test averagePool2d float32 actual -0.2304840087890625 should be close enough to expected -0.23048464953899384 by the acceptable 11 ULP distance, but they have 43 ULP distance expected true got false +PASS averagePool2d float32 4D tensor options.dilations with options.strides / gpu / async FAIL maxPool2d float32 4D tensor default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL maxPool2d float32 4D tensor options.windowDimensions / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL maxPool2d float32 4D tensor options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported."
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/webnn/pooling.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/webnn/pooling.https.any.worker-expected.txt index 0b24523b2..7768138 100644 --- a/third_party/blink/web_tests/platform/win/external/wpt/webnn/pooling.https.any.worker-expected.txt +++ b/third_party/blink/web_tests/platform/win/external/wpt/webnn/pooling.https.any.worker-expected.txt
@@ -1,6 +1,7 @@ This is a testharness.js-based test. -Found 136 tests; 12 PASS, 124 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL averagePool2d float32 4D tensor default options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. +Found 140 tests; 16 PASS, 124 FAIL, 0 TIMEOUT, 0 NOTRUN. +FAIL averagePool2d float32 4D tensor all positive default options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. +FAIL averagePool2d float32 4D tensor all negative default options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. FAIL averagePool2d float32 4D tensor options.windowDimensions / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. FAIL averagePool2d float32 4D tensor options.padding / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. FAIL averagePool2d float32 4D tensor options.strides / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. @@ -16,8 +17,9 @@ FAIL averagePool2d float32 4D tensor options.roundingType=ceil / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. -FAIL averagePool2d float32 4D tensor options.dilations with options.strides / cpu / sync assert_true: assert_array_approx_equals_ulp: test averagePool2d float32 actual -0.2304840087890625 should be close enough to expected -0.23048464953899384 by the acceptable 11 ULP distance, but they have 43 ULP distance expected true got false -FAIL averagePool2d float32 4D tensor default options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. +PASS averagePool2d float32 4D tensor options.dilations with options.strides / cpu / sync +FAIL averagePool2d float32 4D tensor all positive default options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. +FAIL averagePool2d float32 4D tensor all negative default options / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. FAIL averagePool2d float32 4D tensor options.windowDimensions / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. FAIL averagePool2d float32 4D tensor options.padding / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. FAIL averagePool2d float32 4D tensor options.strides / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. @@ -33,7 +35,7 @@ FAIL averagePool2d float32 4D tensor options.roundingType=ceil / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. -FAIL averagePool2d float32 4D tensor options.dilations with options.strides / gpu / sync assert_true: assert_array_approx_equals_ulp: test averagePool2d float32 actual -0.2304840087890625 should be close enough to expected -0.23048464953899384 by the acceptable 11 ULP distance, but they have 43 ULP distance expected true got false +PASS averagePool2d float32 4D tensor options.dilations with options.strides / gpu / sync FAIL maxPool2d float32 4D tensor default options / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. FAIL maxPool2d float32 4D tensor options.windowDimensions / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. FAIL maxPool2d float32 4D tensor options.padding / cpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. @@ -68,7 +70,8 @@ FAIL maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. FAIL maxPool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The nchw input layout is not supported. PASS maxPool2d float32 4D tensor options.dilations with options.strides / gpu / sync -FAIL averagePool2d float32 4D tensor default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." +FAIL averagePool2d float32 4D tensor all positive default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." +FAIL averagePool2d float32 4D tensor all negative default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.windowDimensions / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.strides / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." @@ -84,8 +87,9 @@ FAIL averagePool2d float32 4D tensor options.roundingType=ceil / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." -FAIL averagePool2d float32 4D tensor options.dilations with options.strides / cpu / async assert_true: assert_array_approx_equals_ulp: test averagePool2d float32 actual -0.2304840087890625 should be close enough to expected -0.23048464953899384 by the acceptable 11 ULP distance, but they have 43 ULP distance expected true got false -FAIL averagePool2d float32 4D tensor default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." +PASS averagePool2d float32 4D tensor options.dilations with options.strides / cpu / async +FAIL averagePool2d float32 4D tensor all positive default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." +FAIL averagePool2d float32 4D tensor all negative default options / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.windowDimensions / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.padding / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.strides / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." @@ -101,7 +105,7 @@ FAIL averagePool2d float32 4D tensor options.roundingType=ceil / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=floor / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL averagePool2d float32 4D tensor options.outputSizes ignores options.roundingType=ceil / gpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." -FAIL averagePool2d float32 4D tensor options.dilations with options.strides / gpu / async assert_true: assert_array_approx_equals_ulp: test averagePool2d float32 actual -0.2304840087890625 should be close enough to expected -0.23048464953899384 by the acceptable 11 ULP distance, but they have 43 ULP distance expected true got false +PASS averagePool2d float32 4D tensor options.dilations with options.strides / gpu / async FAIL maxPool2d float32 4D tensor default options / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL maxPool2d float32 4D tensor options.windowDimensions / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported." FAIL maxPool2d float32 4D tensor options.padding / cpu / async promise_test: Unhandled rejection with value: object "NotSupportedError: The nchw input layout is not supported."
diff --git a/third_party/material_web_components/tsconfig_base.json b/third_party/material_web_components/tsconfig_base.json index eb86752..364e1e2 100644 --- a/third_party/material_web_components/tsconfig_base.json +++ b/third_party/material_web_components/tsconfig_base.json
@@ -37,6 +37,10 @@ "no-unknown-tag-name": "error" } } - ] + ], + "typeRoots": [ + "./../../third_party/node/node_modules/@types" + ], + "types": ["trusted-types"] } }
diff --git a/third_party/zxcvbn-cpp/README.chromium b/third_party/zxcvbn-cpp/README.chromium index 4b49a88d..f2a5c829 100644 --- a/third_party/zxcvbn-cpp/README.chromium +++ b/third_party/zxcvbn-cpp/README.chromium
@@ -50,6 +50,9 @@ - patches/memory_mapping.diff: Adds a wrapper around the binary blob that the contents of RankedDicts to allow reading it either directory from memory or from a memory mapped file. +- patches/include_utility.diff: Explicitly include <utility> in optional.hpp to + remove an implicit transitive include dependency in libc++ that will no longer + exist once Chrome is built with -fmodules. Ran the following commands to generate adjacency graphs: $ python ./data-scripts/build_keyboard_adjacency_graphs.py ./native-src/zxcvbn/adjacency_graphs.hpp
diff --git a/third_party/zxcvbn-cpp/native-src/zxcvbn/optional.hpp b/third_party/zxcvbn-cpp/native-src/zxcvbn/optional.hpp index 68b77e0..b3fb257 100644 --- a/third_party/zxcvbn-cpp/native-src/zxcvbn/optional.hpp +++ b/third_party/zxcvbn-cpp/native-src/zxcvbn/optional.hpp
@@ -7,6 +7,7 @@ #include <new> #include <stdexcept> #include <type_traits> +#include <utility> #include <cstdint> #include <cassert>
diff --git a/third_party/zxcvbn-cpp/patches/include_utility.diff b/third_party/zxcvbn-cpp/patches/include_utility.diff new file mode 100644 index 0000000..06e0e0d3 --- /dev/null +++ b/third_party/zxcvbn-cpp/patches/include_utility.diff
@@ -0,0 +1,12 @@ +diff --git a/third_party/zxcvbn-cpp/native-src/zxcvbn/optional.hpp b/third_party/zxcvbn-cpp/native-src/zxcvbn/optional.hpp +index 68b77e0e9b487..b3fb2577e169f 100644 +--- a/third_party/zxcvbn-cpp/native-src/zxcvbn/optional.hpp ++++ b/third_party/zxcvbn-cpp/native-src/zxcvbn/optional.hpp +@@ -7,6 +7,7 @@ + #include <new> + #include <stdexcept> + #include <type_traits> ++#include <utility> + + #include <cstdint> + #include <cassert>
diff --git a/tools/clang/plugins/FindBadConstructsAction.cpp b/tools/clang/plugins/FindBadConstructsAction.cpp index ba988d9..da642fb 100644 --- a/tools/clang/plugins/FindBadConstructsAction.cpp +++ b/tools/clang/plugins/FindBadConstructsAction.cpp
@@ -21,13 +21,9 @@ // - FilterFile const char kExcludeFieldsArgPrefix[] = "exclude-fields="; -// Name of a cmdline parameter that can be used to specify a file listing -// regular expressions describing paths that should be excluded from the -// rewrite. -// -// See also: -// - PathFilterFile -const char kExcludePathsArgPrefix[] = "exclude-paths="; +// Name of a cmdline parameter that can be used to add a regular expressions +// that matches paths that should be excluded from the raw_ptr checks. +const char kRawPtrExcludePathArgPrefix[] = "raw-ptr-exclude-path="; } // namespace @@ -65,9 +61,9 @@ if (arg.startswith(kExcludeFieldsArgPrefix)) { options_.exclude_fields_file = arg.substr(strlen(kExcludeFieldsArgPrefix)).str(); - } else if (arg.startswith(kExcludePathsArgPrefix)) { - options_.exclude_paths_file = - arg.substr(strlen(kExcludePathsArgPrefix)).str(); + } else if (arg.startswith(kRawPtrExcludePathArgPrefix)) { + options_.raw_ptr_paths_to_exclude_lines.push_back( + arg.substr(strlen(kRawPtrExcludePathArgPrefix)).str()); } else if (arg == "check-base-classes") { // TODO(rsleevi): Remove this once http://crbug.com/123295 is fixed. options_.check_base_classes = true;
diff --git a/tools/clang/plugins/FindBadRawPtrPatterns.cpp b/tools/clang/plugins/FindBadRawPtrPatterns.cpp index 00fc7828..af0a43e64 100644 --- a/tools/clang/plugins/FindBadRawPtrPatterns.cpp +++ b/tools/clang/plugins/FindBadRawPtrPatterns.cpp
@@ -4,6 +4,7 @@ #include "FindBadRawPtrPatterns.h" #include "RawPtrHelpers.h" +#include "RawPtrManualPathsToIgnore.h" #include "Util.h" #include "clang/AST/AST.h" #include "clang/AST/ASTConsumer.h" @@ -92,14 +93,15 @@ class RawPtrFieldMatcher : public MatchFinder::MatchCallback { public: - explicit RawPtrFieldMatcher(clang::CompilerInstance& compiler, - const std::string& exclude_fields_file, - const std::string& exclude_paths_file) + explicit RawPtrFieldMatcher( + clang::CompilerInstance& compiler, + const std::string& exclude_fields_file, + const std::vector<std::string>& paths_to_exclude_lines) : compiler_(compiler), fields_to_exclude_(std::make_unique<FilterFile>(exclude_fields_file, "exclude-fields")), paths_to_exclude_( - std::make_unique<FilterFile>(exclude_paths_file, "exclude-paths")) { + std::make_unique<FilterFile>(paths_to_exclude_lines)) { error_need_raw_ptr_signature_ = compiler_.getDiagnostics().getCustomDiagID( clang::DiagnosticsEngine::Error, kNeedRawPtrSignature); } @@ -137,14 +139,15 @@ class RawRefFieldMatcher : public MatchFinder::MatchCallback { public: - explicit RawRefFieldMatcher(clang::CompilerInstance& compiler, - const std::string& exclude_fields_file, - const std::string& exclude_paths_file) + explicit RawRefFieldMatcher( + clang::CompilerInstance& compiler, + const std::string& exclude_fields_file, + const std::vector<std::string>& paths_to_exclude_lines) : compiler_(compiler), fields_to_exclude_(std::make_unique<FilterFile>(exclude_fields_file, "exclude-fields")), paths_to_exclude_( - std::make_unique<FilterFile>(exclude_paths_file, "exclude-paths")) { + std::make_unique<FilterFile>(paths_to_exclude_lines)) { error_need_raw_ref_signature_ = compiler_.getDiagnostics().getCustomDiagID( clang::DiagnosticsEngine::Error, kNeedRawRefSignature); } @@ -186,13 +189,21 @@ if (options.check_bad_raw_ptr_cast) bad_cast_matcher.Register(match_finder); + std::vector<std::string> paths_to_exclude_lines; + for (auto* const line : kRawPtrManualPathsToIgnore) { + paths_to_exclude_lines.push_back(line); + } + paths_to_exclude_lines.insert(paths_to_exclude_lines.end(), + options.raw_ptr_paths_to_exclude_lines.begin(), + options.raw_ptr_paths_to_exclude_lines.end()); + RawPtrFieldMatcher field_matcher(compiler, options.exclude_fields_file, - options.exclude_paths_file); + paths_to_exclude_lines); if (options.check_raw_ptr_fields) field_matcher.Register(match_finder); RawRefFieldMatcher ref_field_matcher(compiler, options.exclude_fields_file, - options.exclude_paths_file); + paths_to_exclude_lines); if (options.check_raw_ref_fields) { ref_field_matcher.Register(match_finder); }
diff --git a/tools/clang/plugins/Options.h b/tools/clang/plugins/Options.h index a53ff96e..92e6a89 100644 --- a/tools/clang/plugins/Options.h +++ b/tools/clang/plugins/Options.h
@@ -6,6 +6,7 @@ #define TOOLS_CLANG_PLUGINS_OPTIONS_H_ #include <string> +#include <vector> namespace chrome_checker { @@ -20,7 +21,7 @@ bool check_stack_allocated = false; bool check_raw_ref_fields = false; std::string exclude_fields_file; - std::string exclude_paths_file; + std::vector<std::string> raw_ptr_paths_to_exclude_lines; }; } // namespace chrome_checker
diff --git a/tools/clang/plugins/RawPtrHelpers.cpp b/tools/clang/plugins/RawPtrHelpers.cpp index 7c64049b..8cc12c82 100644 --- a/tools/clang/plugins/RawPtrHelpers.cpp +++ b/tools/clang/plugins/RawPtrHelpers.cpp
@@ -10,6 +10,12 @@ using namespace clang::ast_matchers; +FilterFile::FilterFile(const std::vector<std::string>& lines) { + for (const auto& line : lines) { + file_lines_.insert(line); + } +} + bool FilterFile::ContainsLine(llvm::StringRef line) const { auto it = file_lines_.find(line); return it != file_lines_.end();
diff --git a/tools/clang/plugins/RawPtrHelpers.h b/tools/clang/plugins/RawPtrHelpers.h index e31d651e..f5f2058f 100644 --- a/tools/clang/plugins/RawPtrHelpers.h +++ b/tools/clang/plugins/RawPtrHelpers.h
@@ -29,6 +29,7 @@ const std::string& arg_name) { ParseInputFile(filepath, arg_name); } + explicit FilterFile(const std::vector<std::string>& lines); FilterFile(const FilterFile&) = delete; FilterFile& operator=(const FilterFile&) = delete;
diff --git a/tools/clang/plugins/RawPtrManualPathsToIgnore.h b/tools/clang/plugins/RawPtrManualPathsToIgnore.h new file mode 100644 index 0000000..bc68b7e3 --- /dev/null +++ b/tools/clang/plugins/RawPtrManualPathsToIgnore.h
@@ -0,0 +1,177 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef TOOLS_CLANG_PLUGINS_RAWPTRMANUALPATHSTOIGNORE_H_ +#define TOOLS_CLANG_PLUGINS_RAWPTRMANUALPATHSTOIGNORE_H_ + +// Array listing regular expressions of paths that should be ignored when +// running the rewrite_raw_ptr_fields tool on Chromium sources. +// +// If a source file path contains any of the lines in the filter file below, +// then such source file will not be rewritten. +// +// Lines prefixed with "!" can be used to force include files that matched a +// file path to be ignored. +// +// Note that the rewriter has a hardcoded logic for a handful of path-based +// exclusions that cannot be expressed as substring matches: +// - Excluding paths containing "third_party/", but still covering +// "third_party/blink/" +// (see the isInThirdPartyLocation AST matcher in RewriteRawPtrFields.cpp). +// - Excluding paths _starting_ with "gen/" or containing "/gen/" +// (i.e. hopefully just the paths under out/.../gen/... directory) +// via the isInGeneratedLocation AST matcher in RewriteRawPtrFields.cpp. +constexpr const char* const kRawPtrManualPathsToIgnore[] = { + // Exclude to prevent PartitionAlloc<->raw_ptr<T> cyclical dependency. + "base/allocator/", + + // Exclude dependences of raw_ptr.h + // TODO(bartekn): Update the list of dependencies. + "base/logging.h", + "base/synchronization/lock_impl.h", + "base/check.h", + + // Exclude - deprecated and contains legacy C++ and pre-C++11 code. + "ppapi/", + + // Exclude tools that do not ship in the Chrome binary. Can't depend on + // //base. + "base/android/linker/", + "chrome/chrome_cleaner/", + "tools/", + "net/tools/", + "chrome/chrome_elf/", + "chrome/installer/mini_installer/", + + // DEPS prohibits includes from base/ + "chrome/install_static", + "net/cert/pki", + + // Exclude pocdll.dll as it doesn't depend on //base and only used for + // testing. + "sandbox/win/sandbox_poc/pocdll", + + // Exclude internal definitions of undocumented Windows structures. + "sandbox/win/src/nt_internals.h", + + // Exclude directories that don't depend on //base, because nothing there + // uses + // anything from /base. + "sandbox/linux/system_headers/", + "components/history_clusters/core/", + "ui/qt/", + + // The folder holds headers that are duplicated in the Android source and + // need to + // provide a stable C ABI. Can't depend on //base. + "android_webview/public/", + + // Exclude dir that should hold C headers. + "mojo/public/c/", + + // Exclude code that only runs inside a renderer process - renderer + // processes are excluded for now from the MiraclePtr project scope, + // because they are sensitive to performance regressions (to a much higher + // degree than, say, the Browser process). + // + // Note that some renderer-only directories are already excluded + // elsewhere - for example "v8/" is excluded in another part of this + // file. + // + // The common/ directories must be included in the rewrite as they contain + // code + // that is also used from the browser process. + // + // Also, note that isInThirdPartyLocation AST matcher in + // RewriteRawPtrFields.cpp explicitly includes third_party/blink + // (because it is in the same git repository as the rest of Chromium), + // but we go ahead and exclude most of it below (as Renderer-only code). + "/renderer/", // (e.g. //content/renderer/ or + // //components/visitedlink/renderer/ + // or //third_party/blink/renderer)", + "third_party/blink/public/web/", // TODO: Consider renaming this directory + // to", + // public/renderer?", + + // Contains sysroot dirs like debian_bullseye_amd64-sysroot/ that are not + // part of the repository. + "build/linux/", + + // glslang_tab.cpp.h uses #line directive and modifies the file path to + // "MachineIndependent/glslang.y" so the isInThirdPartyLocation() filter + // cannot + // catch it even though glslang_tab.cpp.h is in third_party/ + "MachineIndependent/", + + // Exclude paths in separate repositories - i.e. in directories that + // 1. Contain a ".git" subdirectory + // 2. And hasn't been excluded via "third_party/" substring in their path + // (see the isInThirdPartyLocation AST matcher in + // RewriteRawPtrFields.cpp). + // + // The list below has been generated with: + // + // $ find . -type d -name .git | \ +// sed -e 's/\.git$//g' | \ +// sed -e 's/\.\///g' | \ +// grep -v third_party | \ +// grep -v '^$' | \ +// sort | uniq > ~/scratch/git-paths + "buildtools/clang_format/script/", + "chrome/app/theme/default_100_percent/google_chrome/", + "chrome/app/theme/default_200_percent/google_chrome/", + "chrome/app/theme/google_chrome/", + "chrome/app/vector_icons/google_chrome/", + "chrome/browser/enterprise/connectors/internal/", + "chrome/browser/google/linkdoctor_internal/", + "chrome/browser/internal/", + "chrome/browser/media/engagement_internal/", + "chrome/browser/resources/chromeos/quickoffice/", + "chrome/browser/resources/media_router_internal/", + "chrome/browser/resources/preinstalled_web_apps/internal/", + "chrome/browser/resources/settings_internal/", + "chrome/browser/spellchecker/internal/", + "chrome/browser/ui/media_router/internal/", + "chrome/installer/mac/internal/", + "chrome/test/data/firefox3_profile/searchplugins/", + "chrome/test/data/firefox3_searchplugins/", + "chrome/test/data/gpu/vt/", + "chrome/test/data/pdf_private/", + "chrome/test/data/perf/canvas_bench/", + "chrome/test/data/perf/frame_rate/content/", + "chrome/test/data/perf/frame_rate/private/", + "chrome/test/data/perf/private/", + "chrome/test/data/xr/webvr_info/", + "chrome/test/media_router/internal/", + "chrome/test/python_tests/", + "chrome/tools/memory/", + "clank/", + "components/history_clusters/internal/", + "components/ntp_tiles/resources/internal/", + "components/optimization_guide/internal/", + "components/resources/default_100_percent/google_chrome/", + "components/resources/default_200_percent/google_chrome/", + "components/resources/default_300_percent/google_chrome/", + "components/site_isolation/internal/", + "content/test/data/plugin/", + "docs/website/", + "google_apis/internal/", + "media/cdm/api/", + "native_client/", + "remoting/android/internal/", + "remoting/host/installer/linux/internal/", + "remoting/internal/", + "remoting/test/internal/", + "remoting/tools/internal/", + "remoting/webapp/app_remoting/internal/", + "tools/page_cycler/acid3/", + "tools/perf/data/", + "ui/file_manager/internal/", + "v8/", + "webkit/data/bmp_decoder/", + "webkit/data/ico_decoder/", + "webkit/data/test_shell/plugins/", +}; + +#endif // TOOLS_CLANG_PLUGINS_RAWPTRMANUALPATHSTOIGNORE_H_
diff --git a/tools/clang/plugins/tests/raw_ptr_exclude_paths.cpp b/tools/clang/plugins/tests/raw_ptr_exclude_paths.cpp index 823e384d..dc8cc44 100644 --- a/tools/clang/plugins/tests/raw_ptr_exclude_paths.cpp +++ b/tools/clang/plugins/tests/raw_ptr_exclude_paths.cpp
@@ -6,8 +6,7 @@ class MyClass { public: - // No error expected because of exclude-paths file, - // raw_ptr_exclude_paths.exclude. + // No error expected because of raw-ptr-exclude-path arg. SomeClass* raw_ptr_field1; // No error expected because of exclude-paths file, // raw_ptr_exclude_paths.exclude.
diff --git a/tools/clang/plugins/tests/raw_ptr_exclude_paths.exclude b/tools/clang/plugins/tests/raw_ptr_exclude_paths.exclude deleted file mode 100644 index b9a2251..0000000 --- a/tools/clang/plugins/tests/raw_ptr_exclude_paths.exclude +++ /dev/null
@@ -1 +0,0 @@ -raw_ptr_exclude_paths
diff --git a/tools/clang/plugins/tests/raw_ptr_exclude_paths.flags b/tools/clang/plugins/tests/raw_ptr_exclude_paths.flags index 6cb1e41..ce4cf28 100644 --- a/tools/clang/plugins/tests/raw_ptr_exclude_paths.flags +++ b/tools/clang/plugins/tests/raw_ptr_exclude_paths.flags
@@ -1 +1 @@ --Xclang -plugin-arg-find-bad-constructs -Xclang check-raw-ptr-fields -Xclang -plugin-arg-find-bad-constructs -Xclang check-raw-ref-fields -Xclang -plugin-arg-find-bad-constructs -Xclang exclude-paths=raw_ptr_exclude_paths.exclude +-Xclang -plugin-arg-find-bad-constructs -Xclang check-raw-ptr-fields -Xclang -plugin-arg-find-bad-constructs -Xclang check-raw-ref-fields -Xclang -plugin-arg-find-bad-constructs -Xclang raw-ptr-exclude-path=foo -Xclang -plugin-arg-find-bad-constructs -Xclang raw-ptr-exclude-path=raw_ptr_exclude_paths
diff --git a/tools/clang/rewrite_raw_ptr_fields/RewriteRawPtrFields.cpp b/tools/clang/rewrite_raw_ptr_fields/RewriteRawPtrFields.cpp index 1abba8c..f5b4683 100644 --- a/tools/clang/rewrite_raw_ptr_fields/RewriteRawPtrFields.cpp +++ b/tools/clang/rewrite_raw_ptr_fields/RewriteRawPtrFields.cpp
@@ -33,6 +33,7 @@ #include <vector> #include "RawPtrHelpers.h" +#include "RawPtrManualPathsToIgnore.h" #include "clang/AST/ASTContext.h" #include "clang/ASTMatchers/ASTMatchFinder.h" #include "clang/ASTMatchers/ASTMatchers.h" @@ -82,7 +83,7 @@ // // See also: // - PathFilterFile -const char kExcludePathsParamName[] = "exclude-paths"; +const char kOverrideExcludePathsParamName[] = "override-exclude-paths"; // OutputSectionHelper helps gather and emit a section of output. // @@ -1403,9 +1404,10 @@ llvm::cl::opt<std::string> exclude_fields_param( kExcludeFieldsParamName, llvm::cl::value_desc("filepath"), llvm::cl::desc("file listing fields to be blocked (not rewritten)")); - llvm::cl::opt<std::string> exclude_paths_param( - kExcludePathsParamName, llvm::cl::value_desc("filepath"), - llvm::cl::desc("file listing paths to be blocked (not rewritten)")); + llvm::cl::opt<std::string> override_exclude_paths_param( + kOverrideExcludePathsParamName, llvm::cl::value_desc("filepath"), + llvm::cl::desc( + "override file listing paths to be blocked (not rewritten)")); llvm::cl::opt<bool> enable_raw_ref_rewrite( "enable_raw_ref_rewrite", llvm::cl::init(false), @@ -1429,18 +1431,28 @@ OutputHelper output_helper; FilterFile fields_to_exclude(exclude_fields_param, exclude_fields_param.ArgStr.str()); - FilterFile paths_to_exclude(exclude_paths_param, - exclude_paths_param.ArgStr.str()); + std::unique_ptr<FilterFile> paths_to_exclude; + if (override_exclude_paths_param.hasArgStr()) { + paths_to_exclude = + std::make_unique<FilterFile>(override_exclude_paths_param, + override_exclude_paths_param.ArgStr.str()); + } else { + std::vector<std::string> paths_to_exclude_lines; + for (auto* const line : kRawPtrManualPathsToIgnore) { + paths_to_exclude_lines.push_back(line); + } + paths_to_exclude = std::make_unique<FilterFile>(paths_to_exclude_lines); + } RawPtrRewriter raw_ptr_rewriter(&output_helper, match_finder, - fields_to_exclude, paths_to_exclude); + fields_to_exclude, *paths_to_exclude); if (rewrite_raw_ref_and_ptr || enable_raw_ptr_rewrite) { raw_ptr_rewriter.addMatchers(); } RawRefRewriter raw_ref_rewriter(&output_helper, match_finder, - fields_to_exclude, paths_to_exclude); + fields_to_exclude, *paths_to_exclude); if (rewrite_raw_ref_and_ptr || enable_raw_ref_rewrite) { raw_ref_rewriter.addMatchers();
diff --git a/tools/clang/rewrite_raw_ptr_fields/manual-paths-to-ignore.txt b/tools/clang/rewrite_raw_ptr_fields/manual-paths-to-ignore.txt index 6cd9dd4..aff6546 100644 --- a/tools/clang/rewrite_raw_ptr_fields/manual-paths-to-ignore.txt +++ b/tools/clang/rewrite_raw_ptr_fields/manual-paths-to-ignore.txt
@@ -1,157 +1 @@ -# File that lists regular expressions of paths that should be ignored when -# running the rewrite_raw_ptr_fields tool on Chromium sources. -# -# If a source file path contains any of the lines in the filter file below, -# then such source file will not be rewritten. -# -# Lines prefixed with "!" can be used to force include files that matched a file -# path to be ignored. -# -# Note that the rewriter has a hardcoded logic for a handful of path-based -# exclusions that cannot be expressed as substring matches: -# - Excluding paths containing "third_party/", but still covering -# "third_party/blink/" -# (see the isInThirdPartyLocation AST matcher in RewriteRawPtrFields.cpp). -# - Excluding paths _starting_ with "gen/" or containing "/gen/" -# (i.e. hopefully just the paths under out/.../gen/... directory) -# via the isInGeneratedLocation AST matcher in RewriteRawPtrFields.cpp. - -# Exclude to prevent PartitionAlloc<->raw_ptr<T> cyclical dependency. -base/allocator/ - -# Exclude dependences of raw_ptr.h -# TODO(bartekn): Update the list of dependencies. -base/logging.h -base/synchronization/lock_impl.h -base/check.h - -# Exclude - deprecated and contains legacy C++ and pre-C++11 code. -ppapi/ - -# Exclude tools that do not ship in the Chrome binary. Can't depend on //base. -base/android/linker/ -chrome/chrome_cleaner/ -tools/ -net/tools/ -chrome/chrome_elf/ -chrome/installer/mini_installer/ - -# DEPS prohibits includes from base/ -chrome/install_static -net/cert/pki - -# Exclude pocdll.dll as it doesn't depend on //base and only used for testing. -sandbox/win/sandbox_poc/pocdll - -# Exclude internal definitions of undocumented Windows structures. -sandbox/win/src/nt_internals.h - -# Exclude directories that don't depend on //base, because nothing there uses -# anything from /base. -sandbox/linux/system_headers/ -components/history_clusters/core/ -ui/qt/ - -# The folder holds headers that are duplicated in the Android source and need to -# provide a stable C ABI. Can't depend on //base. -android_webview/public/ - -# Exclude dir that should hold C headers. -mojo/public/c/ - -# Exclude code that only runs inside a renderer process - renderer -# processes are excluded for now from the MiraclePtr project scope, -# because they are sensitive to performance regressions (to a much higher -# degree than, say, the Browser process). -# -# Note that some renderer-only directories are already excluded -# elsewhere - for example "v8/" is excluded in another part of this -# file. -# -# The common/ directories must be included in the rewrite as they contain code -# that is also used from the browser process. -# -# Also, note that isInThirdPartyLocation AST matcher in -# RewriteRawPtrFields.cpp explicitly includes third_party/blink -# (because it is in the same git repository as the rest of Chromium), -# but we go ahead and exclude most of it below (as Renderer-only code). -/renderer/ # (e.g. //content/renderer/ or //components/visitedlink/renderer/ - # or //third_party/blink/renderer) -third_party/blink/public/web/ # TODO: Consider renaming this directory to - # public/renderer? - -# Contains sysroot dirs like debian_bullseye_amd64-sysroot/ that are not part of the repository. -build/linux/ - -# glslang_tab.cpp.h uses #line directive and modifies the file path to -# "MachineIndependent/glslang.y" so the isInThirdPartyLocation() filter cannot -# catch it even though glslang_tab.cpp.h is in third_party/ -MachineIndependent/ - -# Exclude paths in separate repositories - i.e. in directories that -# 1. Contain a ".git" subdirectory -# 2. And hasn't been excluded via "third_party/" substring in their path -# (see the isInThirdPartyLocation AST matcher in RewriteRawPtrFields.cpp). -# -# The list below has been generated with: -# -# $ find . -type d -name .git | \ -# sed -e 's/\.git$//g' | \ -# sed -e 's/\.\///g' | \ -# grep -v third_party | \ -# grep -v '^$' | \ -# sort | uniq > ~/scratch/git-paths -buildtools/clang_format/script/ -chrome/app/theme/default_100_percent/google_chrome/ -chrome/app/theme/default_200_percent/google_chrome/ -chrome/app/theme/google_chrome/ -chrome/app/vector_icons/google_chrome/ -chrome/browser/enterprise/connectors/internal/ -chrome/browser/google/linkdoctor_internal/ -chrome/browser/internal/ -chrome/browser/media/engagement_internal/ -chrome/browser/resources/chromeos/quickoffice/ -chrome/browser/resources/media_router_internal/ -chrome/browser/resources/preinstalled_web_apps/internal/ -chrome/browser/resources/settings_internal/ -chrome/browser/spellchecker/internal/ -chrome/browser/ui/media_router/internal/ -chrome/installer/mac/internal/ -chrome/test/data/firefox3_profile/searchplugins/ -chrome/test/data/firefox3_searchplugins/ -chrome/test/data/gpu/vt/ -chrome/test/data/pdf_private/ -chrome/test/data/perf/canvas_bench/ -chrome/test/data/perf/frame_rate/content/ -chrome/test/data/perf/frame_rate/private/ -chrome/test/data/perf/private/ -chrome/test/data/xr/webvr_info/ -chrome/test/media_router/internal/ -chrome/test/python_tests/ -chrome/tools/memory/ -clank/ -components/history_clusters/internal/ -components/ntp_tiles/resources/internal/ -components/optimization_guide/internal/ -components/resources/default_100_percent/google_chrome/ -components/resources/default_200_percent/google_chrome/ -components/resources/default_300_percent/google_chrome/ -components/site_isolation/internal/ -content/test/data/plugin/ -docs/website/ -google_apis/internal/ -media/cdm/api/ -native_client/ -remoting/android/internal/ -remoting/host/installer/linux/internal/ -remoting/internal/ -remoting/test/internal/ -remoting/tools/internal/ -remoting/webapp/app_remoting/internal/ -tools/page_cycler/acid3/ -tools/perf/data/ -ui/file_manager/internal/ -v8/ -webkit/data/bmp_decoder/ -webkit/data/ico_decoder/ -webkit/data/test_shell/plugins/ +# Contents moved to tools/clang/plugins/RawPtrManualPathsToIgnore.h \ No newline at end of file
diff --git a/tools/clang/rewrite_raw_ptr_fields/rewrite-multiple-platforms.sh b/tools/clang/rewrite_raw_ptr_fields/rewrite-multiple-platforms.sh index 9179cb54..d1202ac0 100755 --- a/tools/clang/rewrite_raw_ptr_fields/rewrite-multiple-platforms.sh +++ b/tools/clang/rewrite_raw_ptr_fields/rewrite-multiple-platforms.sh
@@ -146,7 +146,6 @@ time tools/clang/scripts/run_tool.py \ $TARGET_OS_OPTION \ --tool rewrite_raw_ptr_fields \ - --tool-arg=--exclude-paths=$REWRITER_SRC_DIR/manual-paths-to-ignore.txt \ --generate-compdb \ -p $OUT_DIR \ $COMPILE_DIRS > ~/scratch/rewriter-$PLATFORM.out @@ -168,7 +167,6 @@ $TARGET_OS_OPTION \ --tool rewrite_raw_ptr_fields \ --tool-arg=--exclude-fields="$HOME/scratch/combined-fields-to-ignore.txt" \ - --tool-arg=--exclude-paths=$REWRITER_SRC_DIR/manual-paths-to-ignore.txt \ -p $OUT_DIR \ $COMPILE_DIRS > ~/scratch/rewriter-$PLATFORM.main.out cat ~/scratch/rewriter-$PLATFORM.main.out >> ~/scratch/rewriter.main.out
diff --git a/tools/clang/rewrite_raw_ptr_fields/rewrite.sh b/tools/clang/rewrite_raw_ptr_fields/rewrite.sh index 2056d97..7062e94 100755 --- a/tools/clang/rewrite_raw_ptr_fields/rewrite.sh +++ b/tools/clang/rewrite_raw_ptr_fields/rewrite.sh
@@ -58,7 +58,6 @@ time tools/clang/scripts/run_tool.py \ $TARGET_OS_OPTION \ --tool rewrite_raw_ptr_fields \ - --tool-arg=--exclude-paths=$REWRITER_SRC_DIR/manual-paths-to-ignore.txt \ --generate-compdb \ -p $OUT_DIR \ $COMPILE_DIRS > ~/scratch/rewriter.out @@ -76,7 +75,6 @@ $TARGET_OS_OPTION \ --tool rewrite_raw_ptr_fields \ --tool-arg=--exclude-fields=$HOME/scratch/combined-fields-to-ignore.txt \ - --tool-arg=--exclude-paths=$REWRITER_SRC_DIR/manual-paths-to-ignore.txt \ -p $OUT_DIR \ $COMPILE_DIRS > ~/scratch/rewriter.main.out
diff --git a/tools/clang/rewrite_raw_ptr_fields/tests/paths-to-ignore.txt b/tools/clang/rewrite_raw_ptr_fields/tests/paths-to-ignore.txt index a925371..e3f62ca 100644 --- a/tools/clang/rewrite_raw_ptr_fields/tests/paths-to-ignore.txt +++ b/tools/clang/rewrite_raw_ptr_fields/tests/paths-to-ignore.txt
@@ -1,4 +1,4 @@ -# File that can be used as an argument of the --exclude-paths cmdline +# File that can be used as an argument of the --override-exclude-paths cmdline # parameter of rewrite_raw_ptr_fields tool. # # Each non-whitespace / non-comment line specifies a regex that is
diff --git a/tools/clang/rewrite_raw_ptr_fields/tests/run_tool.args b/tools/clang/rewrite_raw_ptr_fields/tests/run_tool.args index cb3d92c..8e32945 100644 --- a/tools/clang/rewrite_raw_ptr_fields/tests/run_tool.args +++ b/tools/clang/rewrite_raw_ptr_fields/tests/run_tool.args
@@ -1,2 +1,2 @@ --tool-arg=--exclude-fields=fields-to-ignore.txt ---tool-arg=--exclude-paths=paths-to-ignore.txt \ No newline at end of file +--tool-arg=--override-exclude-paths=paths-to-ignore.txt \ No newline at end of file
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml index c5b3a866..6ff78c7a 100644 --- a/tools/metrics/histograms/enums.xml +++ b/tools/metrics/histograms/enums.xml
@@ -6096,6 +6096,13 @@ <int value="50" label="Unrecognized"/> </enum> +<enum name="AutocompleteValueForStructuredAddressPredictedFields"> + <int value="0" label="Address Line 1 or 2"/> + <int value="1" label="Other Recognized Autocomplete Attributes"/> + <int value="2" label="Unrecognized"/> + <int value="3" label="Unspecified"/> +</enum> + <enum name="AutoDSEPermissionRevertTransition"> <int value="0" label="NO_DECISION_ASK"/> <int value="1" label="PRESERVE_ALLOW"/> @@ -61818,6 +61825,8 @@ <int value="12016364" label="OmniboxBubbleUrlSuggestions:enabled"/> <int value="14817184" label="FilesSearchV2:enabled"/> <int value="15614295" label="Portals:enabled"/> + <int value="15872227" + label="OmniboxDiscardTemporaryInputOnTabSwitch:disabled"/> <int value="16804822" label="SpeakOnMuteEnabled:disabled"/> <int value="18571458" label="VmPerBootShaderCache:disabled"/> <int value="19629326" label="OmniboxExperimentalKeywordMode:enabled"/> @@ -62579,6 +62588,8 @@ <int value="444411390" label="enable-incognito-shortcut-on-desktop"/> <int value="444754854" label="LegacyTLSWarnings:disabled"/> <int value="446316019" label="enable-threaded-compositing"/> + <int value="447286624" + label="OmniboxDiscardTemporaryInputOnTabSwitch:enabled"/> <int value="448463569" label="NewShortcutMapping:disabled"/> <int value="451196246" label="disable-impl-side-painting"/> <int value="452139294" label="VrShellExperimentalRendering:enabled"/> @@ -81486,6 +81497,8 @@ <int value="1" label="zoom-out"/> <int value="2" label="zoom-reset"/> <int value="3" label="delete-line"/> + <int value="4" label="page-up"/> + <int value="5" label="page-down"/> </enum> <enum name="PhysicalWebActivityReferer">
diff --git a/tools/metrics/histograms/metadata/android/histograms.xml b/tools/metrics/histograms/metadata/android/histograms.xml index 709ee377..aab0a641d 100644 --- a/tools/metrics/histograms/metadata/android/histograms.xml +++ b/tools/metrics/histograms/metadata/android/histograms.xml
@@ -209,7 +209,7 @@ </histogram> <histogram name="Android.AdaptiveToolbarButton.Settings.Changed" - enum="AdaptiveToolbarRadioButtonState" expires_after="2023-06-25"> + enum="AdaptiveToolbarRadioButtonState" expires_after="2023-08-27"> <owner>shaktisahu@chromium.org</owner> <owner>chrome-segmentation-platform@google.com</owner> <summary> @@ -220,7 +220,7 @@ </histogram> <histogram name="Android.AdaptiveToolbarButton.Settings.Startup" - enum="AdaptiveToolbarRadioButtonState" expires_after="2023-06-25"> + enum="AdaptiveToolbarRadioButtonState" expires_after="2023-08-27"> <owner>shaktisahu@chromium.org</owner> <owner>chrome-segmentation-platform@google.com</owner> <summary> @@ -380,7 +380,7 @@ </histogram> <histogram name="Android.ArmCpuPart" enum="ArmCpuPart" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>rsesek@chromium.org</owner> <owner>clank-security@google.com</owner> <summary> @@ -914,7 +914,7 @@ </histogram> <histogram name="Android.DeviceSize.LargestDisplaySize2" units="dp" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>twellington@chromium.org</owner> <owner>shuyng@google.com</owner> <owner>clank-app-team@google.com</owner> @@ -926,7 +926,7 @@ </histogram> <histogram name="Android.DeviceSize.ScreenSizeInTensOfInches" - units="10x inches" expires_after="2023-06-25"> + units="10x inches" expires_after="2023-08-27"> <owner>twellington@chromium.org</owner> <owner>aishwaryarj@google.com</owner> <owner>clank-app-team@google.com</owner> @@ -953,7 +953,7 @@ </histogram> <histogram name="Android.DeviceSize.SmallestDisplaySize2" units="dp" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>twellington@chromium.org</owner> <owner>shuyng@google.com</owner> <owner>clank-app-team@google.com</owner> @@ -1524,7 +1524,7 @@ </histogram> <histogram name="Android.FontLookup.Blink.GetTableLatency" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>drott@chromium.org</owner> <owner>cduvall@chromium.org</owner> <owner>layout-dev@chromium.org</owner> @@ -1750,7 +1750,7 @@ </histogram> <histogram name="Android.Intent.BlockedExternalNavLastGestureTime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>mthiesse@chromium.org</owner> <owner>yfriedman@chromium.org</owner> <summary> @@ -1835,7 +1835,7 @@ </histogram> <histogram base="true" name="Android.IsolatedSplits.ContextCreateTime" - units="ms" expires_after="2023-06-26"> + units="ms" expires_after="2023-08-27"> <!-- Name completed by histogram_suffixes name="AndroidFeatureModuleName" --> <owner>cduvall@chromium.org</owner> @@ -1847,7 +1847,7 @@ </histogram> <histogram base="true" name="Android.IsolatedSplits.PreloadWaitTime" units="ms" - expires_after="2023-06-26"> + expires_after="2023-08-27"> <!-- Name completed by histogram_suffixes name="AndroidFeatureModuleName" --> <owner>cduvall@chromium.org</owner> @@ -1942,7 +1942,7 @@ </histogram> <histogram name="Android.KernelVersion" enum="AndroidKernelVersion" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>rsesek@chromium.org</owner> <summary> Reports the kernel major and minor version from the utsname.release field. @@ -2146,7 +2146,7 @@ </histogram> <histogram name="Android.Messages.Stacking" enum="StackingAnimationType" - expires_after="2023-08-20"> + expires_after="2023-08-27"> <owner>lazzzis@chromium.org</owner> <owner>src/components/messages/OWNERS</owner> <summary> @@ -2440,7 +2440,7 @@ </histogram> <histogram name="Android.Omnibox.InvalidMatch" enum="MatchResult" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ender@chromium.org</owner> <owner>tedchoc@chromium.org</owner> <owner>mpearson@chromium.org</owner> @@ -3212,7 +3212,7 @@ </histogram> <histogram name="Android.RequestDesktopSite.UseDesktopUserAgent" enum="Boolean" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>gangwu@chromium.org</owner> <owner>fgorski@chromium.org</owner> <summary> @@ -3222,7 +3222,7 @@ </histogram> <histogram name="Android.RequestDesktopSite.UserSwitchToDesktop" enum="Boolean" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>gangwu@chromium.org</owner> <owner>fgorski@chromium.org</owner> <summary> @@ -3258,7 +3258,7 @@ </histogram> <histogram name="Android.RestoreResult" enum="AndroidRestoreResult" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>triploblastic@chromium.org</owner> <owner>chrome-signin-team@google.com</owner> <summary> @@ -3330,7 +3330,7 @@ </histogram> <histogram name="Android.SeccompStatus.RendererSandbox" - enum="AndroidSeccompSandboxStatus" expires_after="2023-06-25"> + enum="AndroidSeccompSandboxStatus" expires_after="2023-08-27"> <owner>rsesek@chromium.org</owner> <summary> Reports the status of the seccomp-bpf sandbox in renderer processes. @@ -3340,7 +3340,7 @@ </histogram> <histogram name="Android.SelectFileDialogContentSelected" - enum="SelectFileDialogContent" expires_after="2023-06-25"> + enum="SelectFileDialogContent" expires_after="2023-08-27"> <owner>finnur@chromium.org</owner> <owner>peter@chromium.org</owner> <summary> @@ -3352,7 +3352,7 @@ </histogram> <histogram name="Android.SelectFileDialogImgCount" units="images" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>finnur@chromium.org</owner> <owner>peter@chromium.org</owner> <summary> @@ -3364,7 +3364,7 @@ </histogram> <histogram name="Android.SelectFileDialogScope" enum="SelectFileDialogScope" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>peter@chromium.org</owner> <owner>finnur@chromium.org</owner> <summary> @@ -3415,7 +3415,7 @@ </histogram> <histogram name="Android.Survey.DownloadRequested2" enum="BooleanRequested" - expires_after="2023-04-23"> + expires_after="2023-08-27"> <owner>twellington@chromium.org</owner> <owner>wenyufu@chromium.org</owner> <owner>clank-app-team@google.com</owner> @@ -3427,7 +3427,7 @@ </histogram> <histogram name="Android.Survey.DownloadResponseCode2" - enum="SurveyDownloadResponseCodes2" expires_after="2023-04-23"> + enum="SurveyDownloadResponseCodes2" expires_after="2023-08-27"> <owner>skym@chromium.org</owner> <owner>wenyufu@chromium.org</owner> <owner>clank-app-team@google.com</owner> @@ -3496,7 +3496,7 @@ </histogram> <histogram name="Android.Survey.SurveyFilteringResults" - enum="SurveyFilteringResult" expires_after="2023-06-11"> + enum="SurveyFilteringResult" expires_after="2023-08-27"> <owner>twellington@chromium.org</owner> <owner>wenyufu@chromium.org</owner> <owner>clank-app-team@google.com</owner> @@ -3653,7 +3653,7 @@ </histogram> <histogram name="Android.TabNavigationIntercept.Scheme" - enum="NavigationInterceptScheme" expires_after="2023-05-15"> + enum="NavigationInterceptScheme" expires_after="2023-08-27"> <owner>rbyers@chromium.org</owner> <owner>mthiesse@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/apps/histograms.xml b/tools/metrics/histograms/metadata/apps/histograms.xml index 90f7a5d..87d3892 100644 --- a/tools/metrics/histograms/metadata/apps/histograms.xml +++ b/tools/metrics/histograms/metadata/apps/histograms.xml
@@ -368,7 +368,7 @@ </histogram> <histogram name="Apps.AppList.AppSearchProvider.QueryTime" units="ms" - expires_after="2023-06-24"> + expires_after="2023-08-27"> <owner>wrong@chromium.org</owner> <owner>tbarzic@chromium.org</owner> <summary> @@ -657,7 +657,7 @@ </histogram> <histogram name="Apps.AppList.ItemSuggestCache.Status" - enum="ItemSuggestCacheStatus" expires_after="2023-06-25"> + enum="ItemSuggestCacheStatus" expires_after="2023-08-27"> <owner>wrong@chromium.org</owner> <owner>tby@chromium.org</owner> <owner>thanhdng@chromium.org</owner> @@ -773,7 +773,7 @@ </histogram> <histogram name="Apps.AppList.OsSettingsProvider.Error" - enum="OsSettingsProviderStatus" expires_after="2023-06-25"> + enum="OsSettingsProviderStatus" expires_after="2023-08-27"> <owner>wrong@chromium.org</owner> <owner>tby@chromium.org</owner> <owner>thanhdng@chromium.org</owner> @@ -787,7 +787,7 @@ </histogram> <histogram name="Apps.AppList.OsSettingsProvider.IconLoadStatus" - enum="OsSettingsProviderIconLoadStatus" expires_after="2023-06-25"> + enum="OsSettingsProviderIconLoadStatus" expires_after="2023-08-27"> <owner>wrong@chromium.org</owner> <owner>tby@chromium.org</owner> <owner>chenjih@chromium.org</owner> @@ -1588,7 +1588,7 @@ </histogram> <histogram base="true" name="Apps.AppListFolderNameLength" units="characters" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <!-- Name completed by histogram_suffixes name="TabletOrClamshellMode" -->
diff --git a/tools/metrics/histograms/metadata/arc/histograms.xml b/tools/metrics/histograms/metadata/arc/histograms.xml index f61e615..adcc26e 100644 --- a/tools/metrics/histograms/metadata/arc/histograms.xml +++ b/tools/metrics/histograms/metadata/arc/histograms.xml
@@ -227,7 +227,7 @@ </histogram> <histogram name="Arc.Accessibility.WindowCount" enum="ArcAccessibilityFeature" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>sahok@chromium.org</owner> <owner>arc-framework@google.com</owner> <summary> @@ -1383,7 +1383,7 @@ </histogram> <histogram name="Arc.InputOverlay.FeatureState" enum="BooleanEnabled" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>cuicuiruan@google.com</owner> <owner>arc-gaming@google.com</owner> <summary> @@ -1396,7 +1396,7 @@ </histogram> <histogram name="Arc.InputOverlay.MappingHintState" enum="BooleanEnabled" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>cuicuiruan@google.com</owner> <owner>arc-gaming@google.com</owner> <summary> @@ -1533,7 +1533,7 @@ </histogram> <histogram name="Arc.NearbyShare.DataHandlingFailure" - enum="ArcNearbyShareDataHandlingResult" expires_after="2023-06-04"> + enum="ArcNearbyShareDataHandlingResult" expires_after="2023-08-27"> <owner>ttefera@google.com</owner> <owner>arc-app-dev@google.com</owner> <summary> @@ -1554,7 +1554,7 @@ </histogram> <histogram name="Arc.NearbyShare.FileStreamFailure" enum="PlatformFileError" - expires_after="2023-06-04"> + expires_after="2023-08-27"> <owner>ttefera@google.com</owner> <owner>arc-app-dev@google.com</owner> <summary> @@ -1565,7 +1565,7 @@ </histogram> <histogram name="Arc.NearbyShare.IOFailure" enum="ArcNearbyShareIOErrorResult" - expires_after="2023-06-04"> + expires_after="2023-08-27"> <owner>ttefera@google.com</owner> <owner>arc-app-dev@google.com</owner> <summary>Records any IO errors while using NearbyShare.</summary> @@ -2097,7 +2097,7 @@ </histogram> <histogram name="Arc.SdkVersionUpgradeType" enum="ArcSdkVersionUpgradeType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>niwa@google.com</owner> <owner>arcvm-eng@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/ash/histograms.xml b/tools/metrics/histograms/metadata/ash/histograms.xml index 77cef579..9239c1b 100644 --- a/tools/metrics/histograms/metadata/ash/histograms.xml +++ b/tools/metrics/histograms/metadata/ash/histograms.xml
@@ -1647,7 +1647,7 @@ </histogram> <histogram name="Ash.Desks.AnimationLatency.DeskActivation" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>tclaiborne@chromium.org</owner> <owner>chromeos-perfmetrics-eng@google.com</owner> @@ -1659,7 +1659,7 @@ </histogram> <histogram name="Ash.Desks.AnimationLatency.DeskRemoval" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>tclaiborne@chromium.org</owner> <owner>chromeos-perfmetrics-eng@google.com</owner> @@ -1671,7 +1671,7 @@ </histogram> <histogram name="Ash.Desks.AnimationSmoothness.DeskActivation" units="%" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>tclaiborne@chromium.org</owner> <summary> @@ -1695,7 +1695,7 @@ </histogram> <histogram name="Ash.Desks.AnimationSmoothness.DeskRemoval" units="%" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>tclaiborne@chromium.org</owner> <summary> @@ -1869,7 +1869,7 @@ </histogram> <histogram name="Ash.Desks.DesksSwitch" enum="DesksSwitchSource" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>tclaiborne@chromium.org</owner> <summary> @@ -1984,7 +1984,7 @@ </histogram> <histogram name="Ash.Desks.NumberOfWindowsOnDesk_1" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>janetmac@chromium.org</owner> <summary> @@ -1994,7 +1994,7 @@ </histogram> <histogram name="Ash.Desks.NumberOfWindowsOnDesk_10" units="units" - expires_after="2023-04-23"> + expires_after="2023-08-27"> <owner>dandersson@chromium.org</owner> <owner>janetmac@chromium.org</owner> <summary> @@ -2064,7 +2064,7 @@ </histogram> <histogram name="Ash.Desks.NumberOfWindowsOnDesk_2" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>janetmac@chromium.org</owner> <summary> @@ -2074,7 +2074,7 @@ </histogram> <histogram name="Ash.Desks.NumberOfWindowsOnDesk_3" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>janetmac@chromium.org</owner> <summary> @@ -2084,7 +2084,7 @@ </histogram> <histogram name="Ash.Desks.NumberOfWindowsOnDesk_4" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>janetmac@chromium.org</owner> <summary> @@ -2094,7 +2094,7 @@ </histogram> <histogram name="Ash.Desks.NumberOfWindowsOnDesk_5" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>janetmac@chromium.org</owner> <summary> @@ -2104,7 +2104,7 @@ </histogram> <histogram name="Ash.Desks.NumberOfWindowsOnDesk_6" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>janetmac@chromium.org</owner> <summary> @@ -2114,7 +2114,7 @@ </histogram> <histogram name="Ash.Desks.NumberOfWindowsOnDesk_7" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>janetmac@chromium.org</owner> <summary> @@ -2124,7 +2124,7 @@ </histogram> <histogram name="Ash.Desks.NumberOfWindowsOnDesk_8" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>janetmac@chromium.org</owner> <summary> @@ -2173,7 +2173,7 @@ </histogram> <histogram name="Ash.Desks.RemoveDesk" enum="DesksCreationRemovalSource" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>janetmac@chromium.org</owner> <summary> @@ -4125,7 +4125,7 @@ </histogram> <histogram name="Ash.Overview.TimeInOverview" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>nupurjain@chromium.org</owner> <owner>sammiequon@chromium.org</owner> <summary> @@ -4238,7 +4238,7 @@ </histogram> <histogram name="Ash.Personalization.AmbientMode.OptIn" enum="BooleanHit" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>jasontt@chromium.org</owner> <owner>assistive-eng@google.com</owner> <summary> @@ -4814,7 +4814,7 @@ </histogram> <histogram name="Ash.Shelf.NumberOfUnpinnedItems" units="Icons" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>anasalazar@chromium.org</owner> <owner>mmourgos@google.com</owner> <summary> @@ -5240,7 +5240,7 @@ </histogram> <histogram name="Ash.SplitView.OrientationInSplitView" enum="DeviceOrientation" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>xdai@chromium.org</owner> <owner>zxdan@chromium.org</owner> <owner>nupurjain@chromium.org</owner> @@ -5294,7 +5294,7 @@ </histogram> <histogram name="Ash.SplitView.TimeInSplitView" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>xdai@chromium.org</owner> <owner>nupurjain@chromim.org</owner> <owner>fanafan@chromium.org</owner> @@ -5453,7 +5453,7 @@ </histogram> <histogram name="Ash.StatusAreaShowBubble.PresentationTime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>leandre@chromium.org</owner> <owner>amehfooz@chromium.org</owner> <owner>tbarzic@chromium.org</owner> @@ -5896,7 +5896,7 @@ </histogram> <histogram name="Ash.Wallpaper.CustomLayout" enum="WallpaperLayout" - expires_after="2023-04-24"> + expires_after="2023-08-27"> <owner>xiaohuic@chromium.org</owner> <owner>assistive-eng@chromium.org</owner> <summary> @@ -6029,7 +6029,7 @@ </histogram> <histogram name="Ash.Window.AnimationSmoothness.CrossFade" units="%" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>sammiequon@chromium.org</owner> <owner>wutao@chromium.org</owner> <summary> @@ -6085,7 +6085,7 @@ </histogram> <histogram name="Ash.Window.AnimationSmoothness.Minimize" units="%" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>oshima@chromium.org</owner> <owner>sammiequon@chromium.org</owner> <owner>chromeos-perfmetrics-eng@google.com</owner> @@ -6167,7 +6167,7 @@ </histogram> <histogram name="Ash.Window.Snap.DeviceOrientation" enum="DeviceOrientation" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>cattalyya@chromium.org</owner> <owner>afakhry@chromium.org</owner> <owner>nupurjain@chromium.org</owner> @@ -6179,7 +6179,7 @@ </histogram> <histogram name="Ash.WindowCycleController.DesksSwitchDistance" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>afakhry@chromium.org</owner> <owner>tclaiborne@chromium.org</owner> <summary> @@ -6274,7 +6274,7 @@ </histogram> <histogram name="Ash.WindowCycleController.TimeBetweenTaskSwitches" - units="seconds" expires_after="2023-06-25"> + units="seconds" expires_after="2023-08-27"> <owner>sammiequon@chromium.org</owner> <owner>tclaiborne@chromium.org</owner> <owner>xdai@chromium.org</owner> @@ -6286,7 +6286,7 @@ <histogram name="Ash.WindowCycleView.AnimationSmoothness.Container" units="%" expires_after="2024-02-22"> - <owner>yjliu@chromium.org</owner> + <owner>yichenz@chromium.org</owner> <owner>chromeos-wmp@google.com</owner> <summary> Relative smoothness of showing window animation when the window cycle view @@ -6301,7 +6301,7 @@ <histogram name="Ash.WindowCycleView.AnimationSmoothness.Show" units="%" expires_after="2024-02-22"> - <owner>yjliu@chromium.org</owner> + <owner>yichenz@chromium.org</owner> <owner>chromeos-wmp@google.com</owner> <summary> Relative smoothness of showing window animation when the window cycle view
diff --git a/tools/metrics/histograms/metadata/ash_clipboard/histograms.xml b/tools/metrics/histograms/metadata/ash_clipboard/histograms.xml index 50ee6ae..46351981 100644 --- a/tools/metrics/histograms/metadata/ash_clipboard/histograms.xml +++ b/tools/metrics/histograms/metadata/ash_clipboard/histograms.xml
@@ -36,7 +36,7 @@ </histogram> <histogram name="Ash.Clipboard.ConsecutivePastes" units="times" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -46,7 +46,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.ConsecutivePastes" units="times" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -61,7 +61,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.ContextMenu.DisplayFormatDeleted" - enum="ClipboardHistoryDisplayFormat" expires_after="2023-06-25"> + enum="ClipboardHistoryDisplayFormat" expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -75,7 +75,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.ContextMenu.DisplayFormatPasted" - enum="ClipboardHistoryDisplayFormat" expires_after="2023-06-25"> + enum="ClipboardHistoryDisplayFormat" expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -90,7 +90,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.ContextMenu.DisplayFormatShown" - enum="ClipboardHistoryDisplayFormat" expires_after="2023-06-25"> + enum="ClipboardHistoryDisplayFormat" expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -100,7 +100,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.ContextMenu.MenuOptionSelected" - units="index" expires_after="2023-06-25"> + units="index" expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -110,7 +110,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.ContextMenu.NumberOfItemsShown" - units="Items Shown" expires_after="2023-06-25"> + units="Items Shown" expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -120,7 +120,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.ContextMenu.ShowMenu" - enum="ClipboardHistoryTriggerType" expires_after="2023-06-25"> + enum="ClipboardHistoryTriggerType" expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -130,7 +130,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.ContextMenu.UserJourneyTime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -158,7 +158,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.ControlToVDelayV2" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -175,7 +175,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.ControlVHeldTime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -186,7 +186,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.ImageModelRequest.Lifetime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -199,7 +199,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.ImageModelRequest.Runtime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -210,7 +210,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.ImageModelRequest.StopReason" - enum="RequestStopReason" expires_after="2023-06-25"> + enum="RequestStopReason" expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -291,7 +291,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.Operation" - enum="ClipboardHistoryOperation" expires_after="2023-06-25"> + enum="ClipboardHistoryOperation" expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary> @@ -310,7 +310,7 @@ </histogram> <histogram name="Ash.ClipboardHistory.PasteType" - enum="ClipboardHistoryPasteType" expires_after="2023-06-25"> + enum="ClipboardHistoryPasteType" expires_after="2023-08-27"> <owner>ckincaid@chromium.org</owner> <owner>multipaste@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/assistant/histograms.xml b/tools/metrics/histograms/metadata/assistant/histograms.xml index 5dd93eb..bb9905d 100644 --- a/tools/metrics/histograms/metadata/assistant/histograms.xml +++ b/tools/metrics/histograms/metadata/assistant/histograms.xml
@@ -65,7 +65,7 @@ </histogram> <histogram name="Assistant.DspHotwordDetection" - enum="DspHotwordDetectionStatus" expires_after="2023-06-25"> + enum="DspHotwordDetectionStatus" expires_after="2023-08-27"> <owner>xiaohuic@chromium.org</owner> <owner>croissant-eng@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/autofill/histograms.xml b/tools/metrics/histograms/metadata/autofill/histograms.xml index b236042..385261b62 100644 --- a/tools/metrics/histograms/metadata/autofill/histograms.xml +++ b/tools/metrics/histograms/metadata/autofill/histograms.xml
@@ -364,7 +364,7 @@ </histogram> <histogram name="Autofill.AddressesDeletedForDisuse" units="addresses" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>battre@chromium.org</owner> <owner>chrome-autofill-alerts@google.com</owner> <summary> @@ -611,6 +611,28 @@ </token> </histogram> +<histogram + name="Autofill.AutocompleteAttributeForFieldsWith.{FieldType}.{PredictionType}.Prediction" + enum="AutocompleteValueForStructuredAddressPredictedFields" + expires_after="2023-09-13"> + <owner>jihadghanna@google.com</owner> + <owner>chrome-autofill-alerts@google.com</owner> + <summary> + Records for each autofilled field where {PredictionType} predictions yielded + {FieldType}, what was the corresponding autocomplete value. + </summary> + <token key="FieldType"> + <variant name="HouseNumber" summary="The house number in the address"/> + <variant name="StreetName" summary="The street name in the address"/> + <variant name="StreetNameOrHouseNumber" summary="Either"/> + </token> + <token key="PredictionType"> + <variant name="Heuristic" summary="Heuristic Predictions"/> + <variant name="HeuristicOrServer" summary="Either Predictions"/> + <variant name="Server" summary="Server Predictions"/> + </token> +</histogram> + <histogram name="Autofill.AutocompleteQuery" enum="BooleanCreated" expires_after="M85"> <owner>battre@chromium.org</owner> @@ -980,7 +1002,7 @@ </histogram> <histogram name="Autofill.CardUnmaskAuthenticationSelectionDialog.Shown2" - units="challenge_options" expires_after="2023-06-25"> + units="challenge_options" expires_after="2023-08-27"> <owner>siyua@chromium.org</owner> <owner>jsaul@google.com</owner> <owner>siashah@chromium.org</owner> @@ -994,7 +1016,7 @@ </histogram> <histogram name="Autofill.CardUploadDecisionMetric" - enum="AutofillCardUploadDecisionMetric" expires_after="2023-06-25"> + enum="AutofillCardUploadDecisionMetric" expires_after="2023-08-27"> <owner>jsaul@google.com</owner> <owner>siyua@chromium.org</owner> <owner>payments-autofill-team@google.com</owner> @@ -4250,7 +4272,7 @@ </histogram> <histogram name="Autofill.SuggestionAccepted.OffTheRecord" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -5057,7 +5079,7 @@ </histogram> <histogram name="Autofill.WebOTP.PhonePlusWebOTPPlusOTC" - enum="PhoneCollectionState" expires_after="2023-06-25"> + enum="PhoneCollectionState" expires_after="2023-08-27"> <owner>yigu@chromium.org</owner> <owner>madjivp@chromium.org</owner> <owner>web-identity@google.com</owner> @@ -5159,6 +5181,35 @@ <summary>Whether the user changed autofilled field.</summary> </histogram> +<histogram + name="Autofill.{PrecedenceType}Precedence.OverAutocompleteForStructuredAddressFields.{FieldType}.AutocompleteIs.{AutocompleteStatus}" + enum="AutofilledFieldUserEditingStatus" expires_after="2023-09-13"> + <owner>jihadghanna@google.com</owner> + <owner>chrome-autofill-alerts@google.com</owner> + <summary> + Records at submission time for each autofilled {FieldType} field where + precedence was granted to heuristics over {AutocompleteStatus} Autocomplete + whether the user edited the autofilled value or not. + </summary> + <token key="PrecedenceType"> + <variant name="Heuristic" summary="Heuristic Precedence Correction"/> + <variant name="HeuristicOrServer" + summary="Any Precedence Correction of Autocomplete"/> + <variant name="Server" summary="Server Precedence Correction"/> + </token> + <token key="FieldType"> + <variant name="HouseNumber" summary="The house number in the home address"/> + <variant name="StreetName" summary="The street name in the home address"/> + <variant name="StreetNameOrHouseNumber" summary="Either"/> + </token> + <token key="AutocompleteStatus"> + <variant name="Recognized" summary="Anything among predefined fields"/> + <variant name="Specified" summary="Any specified autocomplete entry"/> + <variant name="Unrecognzied" + summary="Anything not among predifined fields"/> + </token> +</histogram> + </histograms> </histogram-configuration>
diff --git a/tools/metrics/histograms/metadata/blink/histograms.xml b/tools/metrics/histograms/metadata/blink/histograms.xml index e9a7426..a9a32d9 100644 --- a/tools/metrics/histograms/metadata/blink/histograms.xml +++ b/tools/metrics/histograms/metadata/blink/histograms.xml
@@ -101,7 +101,7 @@ </histogram> <histogram base="true" name="Blink.Animate.UpdateTime" units="microseconds" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" --> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" --> @@ -149,7 +149,7 @@ </histogram> <histogram name="Blink.AutomaticLazyLoadFrame" - enum="AutomaticLazyLoadFrameState" expires_after="2023-06-25"> + enum="AutomaticLazyLoadFrameState" expires_after="2023-08-27"> <owner>sisidovski@google.com</owner> <owner>kouhei@chromium.org</owner> <summary> @@ -546,7 +546,7 @@ </histogram> <histogram name="Blink.Canvas.WebGPUMaxRecycledResourcesCount" - units="Recyclable resources" expires_after="2023-06-25"> + units="Recyclable resources" expires_after="2023-08-27"> <owner>magchen@chromium.org</owner> <owner>enga@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> @@ -557,7 +557,7 @@ </histogram> <histogram name="Blink.Canvas.WebGPUMaxRecycledResourcesInKB" units="KB" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>magchen@chromium.org</owner> <owner>enga@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> @@ -569,7 +569,7 @@ </histogram> <histogram name="Blink.Canvas.WebGPUStaleResourceCount" - units="recyclable resources" expires_after="2023-06-25"> + units="recyclable resources" expires_after="2023-08-27"> <owner>magchen@chromium.org</owner> <owner>enga@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> @@ -1439,7 +1439,7 @@ </histogram> <histogram base="true" name="Blink.ForcedStyleAndLayout.UpdateTime" - units="microseconds" expires_after="2023-06-25"> + units="microseconds" expires_after="2023-08-27"> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" --> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" --> @@ -2407,7 +2407,7 @@ </histogram> <histogram name="Blink.Navigator.ReducedUserAgent" enum="Boolean" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>miketaylr@chromium.org</owner> <owner>victortan@chromium.org</owner> <owner>potassium-katabolism@google.com</owner> @@ -2467,7 +2467,7 @@ </histogram> <histogram name="Blink.Overflow.ReplacedElementAreaOutsideContentRect" - units="pixels" expires_after="2023-06-25"> + units="pixels" expires_after="2023-08-27"> <owner>khushalsagar@chromium.org</owner> <owner>vmpstr@chromium.org</owner> <summary> @@ -2776,7 +2776,7 @@ </histogram> <histogram name="Blink.Script.SourceTextTime" units="microseconds" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>cduvall@chromium.org</owner> <owner>jam@google.com</owner> <summary> @@ -3562,7 +3562,7 @@ </histogram> <histogram base="true" name="Blink.VisualUpdateDelay.UpdateTime" - units="microseconds" expires_after="2023-06-25"> + units="microseconds" expires_after="2023-08-27"> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" --> <!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
diff --git a/tools/metrics/histograms/metadata/bluetooth/histograms.xml b/tools/metrics/histograms/metadata/bluetooth/histograms.xml index a3dd3b5..b116ed24 100644 --- a/tools/metrics/histograms/metadata/bluetooth/histograms.xml +++ b/tools/metrics/histograms/metadata/bluetooth/histograms.xml
@@ -1650,7 +1650,7 @@ </histogram> <histogram name="Bluetooth.ChromeOS.PoweredState" enum="BooleanEnabled" - expires_after="2023-08-20"> + expires_after="2023-08-27"> <owner>khorimoto@chromium.org</owner> <owner>cros-connectivity@google.com</owner> <summary> @@ -1883,7 +1883,7 @@ </histogram> <histogram name="Bluetooth.Web.Characteristic.WriteValue.Outcome" - enum="WebBluetoothGATTOperationOutcome" expires_after="2023-06-25"> + enum="WebBluetoothGATTOperationOutcome" expires_after="2023-08-27"> <owner>cmumford@chromium.org</owner> <owner>deviceapi-team@google.com</owner> <summary> @@ -1905,7 +1905,7 @@ </histogram> <histogram name="Bluetooth.Web.ConnectGATT.Outcome" - enum="WebBluetoothConnectGATTOutcome" expires_after="2023-06-25"> + enum="WebBluetoothConnectGATTOutcome" expires_after="2023-08-27"> <owner>reillyg@chromium.org</owner> <owner>deviceapi-team@google.com</owner> <summary> @@ -1916,7 +1916,7 @@ </histogram> <histogram name="Bluetooth.Web.GetCharacteristic.Characteristic" - enum="GATTCharacteristicHash" expires_after="2023-06-25"> + enum="GATTCharacteristicHash" expires_after="2023-08-27"> <owner>reillyg@chromium.org</owner> <owner>deviceapi-team@google.com</owner> <summary> @@ -1960,7 +1960,7 @@ </histogram> <histogram name="Bluetooth.Web.RequestDevice.RSSISignalStrength" units="dBm" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>reillyg@chromium.org</owner> <owner>deviceapi-team@google.com</owner> <summary> @@ -1983,7 +1983,7 @@ </histogram> <histogram name="Bluetooth.Web.RequestDevice.UnionOfServices.Services" - enum="GATTServiceHash" expires_after="2023-06-25"> + enum="GATTServiceHash" expires_after="2023-08-27"> <owner>reillyg@chromium.org</owner> <owner>deviceapi-team@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/bookmarks/histograms.xml b/tools/metrics/histograms/metadata/bookmarks/histograms.xml index 2c2174af..49cec504 100644 --- a/tools/metrics/histograms/metadata/bookmarks/histograms.xml +++ b/tools/metrics/histograms/metadata/bookmarks/histograms.xml
@@ -70,7 +70,7 @@ </histogram> <histogram name="Bookmarks.AddedPerProfileType" enum="BrowserProfileType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <component>UI>Browser>Bookmarks</component> @@ -284,7 +284,7 @@ </histogram> <histogram name="Bookmarks.Count.OnProfileLoad3" units="bookmarks" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>supertri@chromium.org</owner> <owner>isherman@chromium.org</owner> <owner>aidanday@google.com</owner> @@ -339,7 +339,7 @@ </histogram> <histogram name="Bookmarks.EditTitleSource" enum="BookmarkEditSource" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>wylieb@chromium.org</owner> <owner>chrome-collections@google.com</owner> <component>UI>Browser>Bookmarks</component> @@ -720,7 +720,7 @@ </histogram> <histogram name="Bookmarks.LaunchLocation" enum="BookmarkLaunchLocation" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ianwen@chromium.org</owner> <component>UI>Browser>Bookmarks</component> <summary>Logs a UI location from which a bookmark is launched.</summary> @@ -830,7 +830,7 @@ </histogram> <histogram name="Bookmarks.OpenBookmarkType" enum="BookmarkType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>wylieb@chromium.org</owner> <owner>chrome-collections@google.com</owner> <component>UI>Browser>Bookmarks</component> @@ -841,7 +841,7 @@ </histogram> <histogram name="Bookmarks.Opened.TimeSinceAdded" units="days" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>wylieb@chromium.org</owner> <owner>chrome-collections@google.com</owner> <component>UI>Browser>Bookmarks</component> @@ -854,7 +854,7 @@ </histogram> <histogram name="Bookmarks.Opened.TimeSinceLastUsed" units="days" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>wylieb@chromium.org</owner> <owner>chrome-collections@google.com</owner> <component>UI>Browser>Bookmarks</component> @@ -868,7 +868,7 @@ </histogram> <histogram name="Bookmarks.ReadingList.NumberOfItems" units="items" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>shaktisahu@chromium.org</owner> <component>UI>Browser>Bookmarks</component> <component>UI>Browser>Mobile>ReadingList</component> @@ -879,7 +879,7 @@ </histogram> <histogram name="Bookmarks.ReadingList.NumberOfReadItems" units="items" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>shaktisahu@chromium.org</owner> <component>UI>Browser>Bookmarks</component> <component>UI>Browser>Mobile>ReadingList</component> @@ -940,7 +940,7 @@ </histogram> <histogram name="Bookmarks.Storage.FileSizeAtStartup2" units="KB" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>wylieb@chromium.org</owner> <owner>chrome-collections@google.com</owner> <component>UI>Browser>Bookmarks</component> @@ -984,7 +984,7 @@ </histogram> <histogram name="Bookmarks.Storage.TimeToLoadAtStartup2" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>wylieb@chromium.org</owner> <owner>chrome-collections@google.com</owner> <component>UI>Browser>Bookmarks</component>
diff --git a/tools/metrics/histograms/metadata/browser/histograms.xml b/tools/metrics/histograms/metadata/browser/histograms.xml index 4918ae8..4a4b5f1f 100644 --- a/tools/metrics/histograms/metadata/browser/histograms.xml +++ b/tools/metrics/histograms/metadata/browser/histograms.xml
@@ -117,7 +117,7 @@ </histogram> <histogram name="Browser.ChromeOS.HatsStatus" enum="HatsStatus" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>aalsum@chromium.org</owner> <owner>cros-telemetry@google.com</owner> <summary> @@ -478,7 +478,7 @@ </histogram> <histogram name="Browser.Responsiveness.IOJanksTotalPerMinute" units="janks" - expires_after="2023-04-30"> + expires_after="2023-08-27"> <owner>gab@chromium.org</owner> <owner>olivierli@chromium.org</owner> <summary> @@ -492,7 +492,7 @@ </histogram> <histogram name="Browser.Responsiveness.IOJankyIntervalsPerMinute" - units="janks" expires_after="2023-06-25"> + units="janks" expires_after="2023-08-27"> <owner>gab@chromium.org</owner> <owner>olivierli@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/chrome/histograms.xml b/tools/metrics/histograms/metadata/chrome/histograms.xml index 9f97dc7..f3b53c40 100644 --- a/tools/metrics/histograms/metadata/chrome/histograms.xml +++ b/tools/metrics/histograms/metadata/chrome/histograms.xml
@@ -35,7 +35,7 @@ </histogram> <histogram name="Chrome.KAnonymityService.JoinSet.Latency" units="ms" - expires_after="M113"> + expires_after="2023-08-27"> <owner>behamilton@google.com</owner> <owner>pauljensen@chromium.org</owner> <summary> @@ -59,7 +59,7 @@ </histogram> <histogram name="Chrome.KAnonymityService.QuerySet.Latency" units="ms" - expires_after="M113"> + expires_after="2023-08-27"> <owner>behamilton@google.com</owner> <owner>pauljensen@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/chromeos/histograms.xml b/tools/metrics/histograms/metadata/chromeos/histograms.xml index c8e5ff62..af14e565 100644 --- a/tools/metrics/histograms/metadata/chromeos/histograms.xml +++ b/tools/metrics/histograms/metadata/chromeos/histograms.xml
@@ -1457,7 +1457,7 @@ </histogram> <histogram name="ChromeOS.Intents.IntentPickerAction" - enum="IntentPickerDialogAction" expires_after="2023-08-20"> + enum="IntentPickerDialogAction" expires_after="2023-08-27"> <owner>tsergeant@chromium.org</owner> <owner>chromeos-apps-foundation-team@google.com</owner> <summary> @@ -2191,7 +2191,7 @@ </histogram> <histogram name="ChromeOS.SecurityAnomalyUploadSuccess" enum="Boolean" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>jorgelo@chromium.org</owner> <owner>chromeos-security-core@google.com</owner> <summary> @@ -2275,7 +2275,7 @@ </histogram> <histogram name="ChromeOS.Sharesheet.LaunchSource" - enum="ChromeOSSharesheetLaunchSource" expires_after="2023-06-25"> + enum="ChromeOSSharesheetLaunchSource" expires_after="2023-08-27"> <owner>dominickn@chromium.org</owner> <owner>melzhang@chromium.org</owner> <summary> @@ -2297,7 +2297,7 @@ </histogram> <histogram name="ChromeOS.Sharesheet.UserAction" - enum="ChromeOSSharesheetAction" expires_after="2023-06-25"> + enum="ChromeOSSharesheetAction" expires_after="2023-08-27"> <owner>dominickn@chromium.org</owner> <owner>melzhang@chromium.org</owner> <summary>Records user action on sharesheet invocations.</summary> @@ -2655,7 +2655,7 @@ </histogram> <histogram name="ChromeOS.UserTypeByDeviceType.LogSegment" - enum="UserDeviceMatrix" expires_after="2023-06-25"> + enum="UserDeviceMatrix" expires_after="2023-08-27"> <owner>bmalcolm@chromium.org</owner> <owner>cros-client-wa@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/chromeos_settings/histograms.xml b/tools/metrics/histograms/metadata/chromeos_settings/histograms.xml index 80b4b3d2c..2521d8eb 100644 --- a/tools/metrics/histograms/metadata/chromeos_settings/histograms.xml +++ b/tools/metrics/histograms/metadata/chromeos_settings/histograms.xml
@@ -111,7 +111,7 @@ </histogram> <histogram name="ChromeOS.Settings.Device.TouchpadSpeedValue" - enum="TouchpadSensitivity" expires_after="2023-06-25"> + enum="TouchpadSensitivity" expires_after="2023-08-27"> <owner>xiaohuic@chromium.org</owner> <owner>cros-settings@google.com</owner> <summary> @@ -122,7 +122,7 @@ </histogram> <histogram name="ChromeOS.Settings.Inputs.ShortcutReminderDismissed" - enum="SettingsInputsShortcutReminderState" expires_after="2023-06-25"> + enum="SettingsInputsShortcutReminderState" expires_after="2023-08-27"> <owner>mlcui@google.com</owner> <owner>cros-borders@google.com</owner> <summary> @@ -389,7 +389,7 @@ </histogram> <histogram name="ChromeOS.Settings.SearchResultPersonalizationSelected" - enum="PersonalizationSearchConceptId" expires_after="2023-06-25"> + enum="PersonalizationSearchConceptId" expires_after="2023-08-27"> <owner>cowmoo@google.com</owner> <owner>cros-settings@google.com</owner> <summary> @@ -480,7 +480,7 @@ </histogram> <histogram name="ChromeOS.Settings.Wifi.Hidden" enum="BooleanToggled" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>jonmann@chromium.org</owner> <owner>khorimoto@chromium.org</owner> <owner>tnagel@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/commerce/histograms.xml b/tools/metrics/histograms/metadata/commerce/histograms.xml index 8add4ee..9ccc307f 100644 --- a/tools/metrics/histograms/metadata/commerce/histograms.xml +++ b/tools/metrics/histograms/metadata/commerce/histograms.xml
@@ -177,7 +177,7 @@ </histogram> <histogram name="Commerce.Heuristics.PartnerMerchantPatternSource" - enum="CommerceHeuristicsDataSource" expires_after="2023-06-25"> + enum="CommerceHeuristicsDataSource" expires_after="2023-08-27"> <owner>yuezhanggg@chromium.org</owner> <owner>wychen@chromium.org</owner> <owner>chrome-shopping@google.com</owner> @@ -207,7 +207,7 @@ </histogram> <histogram name="Commerce.Heuristics.SkipProductPatternSource" - enum="CommerceHeuristicsDataSource" expires_after="2023-06-25"> + enum="CommerceHeuristicsDataSource" expires_after="2023-08-27"> <owner>yuezhanggg@chromium.org</owner> <owner>wychen@chromium.org</owner> <owner>chrome-shopping@google.com</owner> @@ -552,7 +552,7 @@ </histogram> <histogram name="Commerce.Subscriptions.TrackResult" - enum="ShoppingSubscriptionsRequestStatus" expires_after="2023-06-25"> + enum="ShoppingSubscriptionsRequestStatus" expires_after="2023-08-27"> <owner>zhiyuancai@chromium.org</owner> <owner>ayman@chromium.org</owner> <owner>chrome-shopping@google.com</owner> @@ -768,7 +768,7 @@ </histogram> <histogram name="MerchantTrust.PageInfo.IsStoreInfoVisible" - enum="BooleanVisible" expires_after="2023-06-25"> + enum="BooleanVisible" expires_after="2023-08-27"> <owner>zhiyuancai@chromium.org</owner> <owner>chrome-shopping@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/compositing/histograms.xml b/tools/metrics/histograms/metadata/compositing/histograms.xml index 194adb8..25564a8 100644 --- a/tools/metrics/histograms/metadata/compositing/histograms.xml +++ b/tools/metrics/histograms/metadata/compositing/histograms.xml
@@ -458,7 +458,7 @@ </histogram> <histogram name="Compositing.Display.VizScheduledDrawToDependencyResolvedUs" - units="microseconds" expires_after="2023-06-25"> + units="microseconds" expires_after="2023-08-27"> <owner>vasilyt@chromium.org</owner> <owner>backer@chromium.org</owner> <summary> @@ -530,7 +530,7 @@ <histogram name="Compositing.Renderer.CALayer.ChangedIOSurfacesPercentagePerFrame" - units="%" expires_after="2023-06-25"> + units="%" expires_after="2023-08-27"> <owner>magchen@chromium.org</owner> <owner>ccameron@chromium.org</owner> <summary> @@ -540,7 +540,7 @@ </histogram> <histogram name="Compositing.Renderer.CALayer.ChangedIOSurfacesPerFrame" - units="surfaces" expires_after="2023-06-25"> + units="surfaces" expires_after="2023-08-27"> <owner>magchen@chromium.org</owner> <owner>ccameron@chromium.org</owner> <summary> @@ -550,7 +550,7 @@ </histogram> <histogram name="Compositing.Renderer.CALayer.ChangedIOSurfacesSizePerFrame" - units="bytes" expires_after="2023-06-25"> + units="bytes" expires_after="2023-08-27"> <owner>magchen@chromium.org</owner> <owner>ccameron@chromium.org</owner> <summary> @@ -606,7 +606,7 @@ </histogram> <histogram name="Compositing.Renderer.LayersUpdateTime" units="microseconds" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>pdr@chromium.org</owner> <owner>paint-dev@chromium.org</owner> <summary> @@ -645,7 +645,7 @@ </histogram> <histogram name="Compositing.Renderer.NumActiveLayers" units="layers" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>pdr@chromium.org</owner> <owner>paint-dev@chromium.org</owner> <summary> @@ -655,7 +655,7 @@ </histogram> <histogram name="Compositing.Renderer.NumActivePictureLayers" units="layers" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>pdr@chromium.org</owner> <owner>paint-dev@chromium.org</owner> <summary> @@ -840,7 +840,7 @@ </histogram> <histogram name="CompositorLatency.Type" enum="FrameReportType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>jonross@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> <summary> @@ -1040,7 +1040,7 @@ </summary> </histogram> -<histogram name="Graphics.Smoothness.Jank" units="%" expires_after="2023-08-20"> +<histogram name="Graphics.Smoothness.Jank" units="%" expires_after="2023-08-27"> <owner>jonross@chromium.org</owner> <owner>mjzhang@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> @@ -1108,7 +1108,7 @@ </histogram> <histogram name="Graphics.Smoothness.MaxStale" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>jonross@chromium.org</owner> <owner>mjzhang@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> @@ -1328,7 +1328,7 @@ </histogram> <histogram name="Graphics.Smoothness.Stale" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>jonross@chromium.org</owner> <owner>mjzhang@chromium.org</owner> <owner>graphics-dev@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/content_creation/histograms.xml b/tools/metrics/histograms/metadata/content_creation/histograms.xml index ac41444..98b9ba69 100644 --- a/tools/metrics/histograms/metadata/content_creation/histograms.xml +++ b/tools/metrics/histograms/metadata/content_creation/histograms.xml
@@ -143,7 +143,7 @@ </histogram> <histogram name="SharedHighlights.AndroidShareSheet.SharedState" - enum="LinkGenerationSharedStatus" expires_after="2023-06-25"> + enum="LinkGenerationSharedStatus" expires_after="2023-08-27"> <owner>sebsg@chromium.org</owner> <owner>jeffreycohen@chromium.org</owner> <owner>chrome-shared-highlighting@google.com</owner> @@ -207,7 +207,7 @@ </histogram> <histogram name="SharedHighlights.LinkGenerated.Error.Requested" - enum="LinkGenerationError" expires_after="2023-06-25"> + enum="LinkGenerationError" expires_after="2023-08-27"> <owner>jeffreycohen@chromium.org</owner> <owner>chrome-shared-highlighting@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/cookie/histograms.xml b/tools/metrics/histograms/metadata/cookie/histograms.xml index 82ebd12d..4d8cbfa 100644 --- a/tools/metrics/histograms/metadata/cookie/histograms.xml +++ b/tools/metrics/histograms/metadata/cookie/histograms.xml
@@ -171,7 +171,7 @@ </summary> </histogram> -<histogram name="Cookie.Count2" units="units" expires_after="2023-06-25"> +<histogram name="Cookie.Count2" units="units" expires_after="2023-08-27"> <owner>bingler@chromium.org</owner> <owner>morlovich@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/cras/histograms.xml b/tools/metrics/histograms/metadata/cras/histograms.xml index b587de4..5f5e653 100644 --- a/tools/metrics/histograms/metadata/cras/histograms.xml +++ b/tools/metrics/histograms/metadata/cras/histograms.xml
@@ -152,7 +152,7 @@ </histogram> <histogram name="Cras.DeviceNoiseCancellationStatus" - enum="CrasNoiseCancellationStatus" expires_after="2023-06-25"> + enum="CrasNoiseCancellationStatus" expires_after="2023-08-27"> <!-- Name completed by histogram_suffixes name="Cras.DeviceType" --> @@ -585,7 +585,7 @@ </histogram> <histogram name="Cras.StreamCallbackThreshold" units="frames" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <!-- Name completed by histogram_suffixes name="Cras.Direction" and name="Cras.ClientType" -->
diff --git a/tools/metrics/histograms/metadata/cros_ml/histograms.xml b/tools/metrics/histograms/metadata/cros_ml/histograms.xml index 867a9cf..97e3702 100644 --- a/tools/metrics/histograms/metadata/cros_ml/histograms.xml +++ b/tools/metrics/histograms/metadata/cros_ml/histograms.xml
@@ -168,7 +168,7 @@ </histogram> <histogram name="MachineLearningService.HandwritingModel.Recognize.Event" - enum="Boolean" expires_after="2023-06-25"> + enum="Boolean" expires_after="2023-08-27"> <owner>amoylan@chromium.org</owner> <owner>alanlxl@chromium.org</owner> <owner>charleszhao@chromium.org</owner> @@ -212,7 +212,7 @@ </histogram> <histogram name="MachineLearningService.NumWorkerProcess" units="count" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>alanlxl@chromium.org</owner> <owner>amoylan@chromium.org</owner> <owner>honglinyu@chromium.org</owner> @@ -294,7 +294,7 @@ <histogram name="MachineLearningService.WebPlatformHandwritingModel.GetPrediction.Event" - enum="Boolean" expires_after="2023-06-25"> + enum="Boolean" expires_after="2023-08-27"> <owner>amoylan@chromium.org</owner> <owner>alanlxl@chromium.org</owner> <owner>charleszhao@chromium.org</owner> @@ -361,7 +361,7 @@ </histogram> <histogram name="MachineLearningService.WorkerProcessAcceptMojoConnectionTime" - units="microseconds" expires_after="2023-06-25"> + units="microseconds" expires_after="2023-08-27"> <owner>alanlxl@chromium.org</owner> <owner>amoylan@chromium.org</owner> <owner>honglinyu@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/crostini/histograms.xml b/tools/metrics/histograms/metadata/crostini/histograms.xml index 6c2a597..25193033 100644 --- a/tools/metrics/histograms/metadata/crostini/histograms.xml +++ b/tools/metrics/histograms/metadata/crostini/histograms.xml
@@ -228,7 +228,7 @@ </histogram> <histogram name="Crostini.DiskType" enum="CrostiniDiskImageType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>davidmunro@google.com</owner> <owner>clumptini@google.com</owner> <summary> @@ -600,7 +600,7 @@ </histogram> <histogram base="true" name="Crostini.UnsupportedNotification.Reason" - enum="CrostiniUnsupportedNotificationReason" expires_after="2023-06-25"> + enum="CrostiniUnsupportedNotificationReason" expires_after="2023-08-27"> <owner>davidmunro@google.com</owner> <owner>clumptini@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/cryptohome/histograms.xml b/tools/metrics/histograms/metadata/cryptohome/histograms.xml index ac4fbda..6d5f777f 100644 --- a/tools/metrics/histograms/metadata/cryptohome/histograms.xml +++ b/tools/metrics/histograms/metadata/cryptohome/histograms.xml
@@ -450,7 +450,7 @@ </histogram> <histogram name="Cryptohome.HomedirEncryptionType" enum="HomedirEncryptionType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>dspaid@chromium.org</owner> <summary> The encryption type used for a user's cryptohome directory. This is logged
diff --git a/tools/metrics/histograms/metadata/dev/histograms.xml b/tools/metrics/histograms/metadata/dev/histograms.xml index 1d2eed3..8db659658 100644 --- a/tools/metrics/histograms/metadata/dev/histograms.xml +++ b/tools/metrics/histograms/metadata/dev/histograms.xml
@@ -269,7 +269,7 @@ </histogram> <histogram base="true" name="DevTools.Launch" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <!-- Name completed by histogram_suffixes name="DevToolsLaunchPanels" --> <owner>yangguo@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/download/histograms.xml b/tools/metrics/histograms/metadata/download/histograms.xml index ebd86d1..1864a7ec 100644 --- a/tools/metrics/histograms/metadata/download/histograms.xml +++ b/tools/metrics/histograms/metadata/download/histograms.xml
@@ -123,7 +123,7 @@ </histogram> <histogram name="Download.Bubble.PartialToFullViewLatency" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>drubery@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -137,7 +137,7 @@ </histogram> <histogram name="Download.Bubble.ProcessedCommand" enum="DownloadCommand" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>xinghuilu@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -218,7 +218,7 @@ </histogram> <histogram name="Download.Complete.IsOpenWhenCompleteSet" enum="BooleanSet" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>xinghuilu@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -230,7 +230,7 @@ </histogram> <histogram name="Download.Complete.IsShouldOpenFileBasedOnExtensionSet" - enum="BooleanSet" expires_after="2023-06-25"> + enum="BooleanSet" expires_after="2023-08-27"> <owner>xinghuilu@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -362,7 +362,7 @@ </histogram> <histogram name="Download.DownloadDangerPrompt" - enum="SBClientDownloadExtensions" expires_after="2023-06-25"> + enum="SBClientDownloadExtensions" expires_after="2023-08-27"> <owner>vakh@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -787,7 +787,7 @@ <histogram name="Download.NotPreferredOpeningInBrowserReasons" enum="DownloadNotPreferredOpeningInBrowserReason" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>xinghuilu@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -812,7 +812,7 @@ </histogram> <histogram name="Download.OpenButtonPressed.IsDownloadCompleted" - enum="BooleanCompleted" expires_after="2023-06-25"> + enum="BooleanCompleted" expires_after="2023-08-27"> <owner>xinghuilu@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -1201,7 +1201,7 @@ </histogram> <histogram name="Download.Service.Finish.Type" - enum="Download.Service.CompletionType" expires_after="2023-06-25"> + enum="Download.Service.CompletionType" expires_after="2023-08-27"> <owner>shaktisahu@chromium.org</owner> <owner>clank-downloads@google.com</owner> <summary>The completion type for downloads in download service.</summary> @@ -1324,7 +1324,7 @@ </histogram> <histogram name="Download.SetAlwaysOpenTo" enum="BooleanEnabled" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>xinghuilu@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/enterprise/histograms.xml b/tools/metrics/histograms/metadata/enterprise/histograms.xml index b8e0b7b..43494bf0 100644 --- a/tools/metrics/histograms/metadata/enterprise/histograms.xml +++ b/tools/metrics/histograms/metadata/enterprise/histograms.xml
@@ -2805,7 +2805,7 @@ </histogram> <histogram name="Enterprise.UserSession.Logins" - enum="EnterpriseUserSessionLogins" expires_after="2023-06-25"> + enum="EnterpriseUserSessionLogins" expires_after="2023-08-27"> <owner>xiyuan@chromium.org</owner> <owner>sduraisamy@chromium.org</owner> <summary>Tracks the sign-in events on an enrolled device.</summary>
diff --git a/tools/metrics/histograms/metadata/event/histograms.xml b/tools/metrics/histograms/metadata/event/histograms.xml index eee928b..2254ad0 100644 --- a/tools/metrics/histograms/metadata/event/histograms.xml +++ b/tools/metrics/histograms/metadata/event/histograms.xml
@@ -640,7 +640,7 @@ </histogram> <histogram name="Event.Latency.ScrollUpdate.TotalEvents" units="counts" - expires_after="2023-06-18"> + expires_after="2023-08-27"> <owner>ddrone@google.com</owner> <owner>chrometto-team@google.com</owner> <summary> @@ -873,7 +873,7 @@ </histogram> <histogram name="Event.PassiveListeners" enum="EventResultType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>dtapuska@chromium.org</owner> <summary> The result of handling of MouseWheel, TouchStart, TouchMove, TouchEnd events
diff --git a/tools/metrics/histograms/metadata/extensions/histograms.xml b/tools/metrics/histograms/metadata/extensions/histograms.xml index 3709b00..228b0e4 100644 --- a/tools/metrics/histograms/metadata/extensions/histograms.xml +++ b/tools/metrics/histograms/metadata/extensions/histograms.xml
@@ -738,7 +738,7 @@ </histogram> <histogram name="Extensions.DeclarativeNetRequest.LoadRulesetResult" - enum="LoadRulesetResult" expires_after="2023-06-26"> + enum="LoadRulesetResult" expires_after="2023-08-27"> <owner>kelvinjiang@chromium.org</owner> <owner>src/extensions/OWNERS</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/file/histograms.xml b/tools/metrics/histograms/metadata/file/histograms.xml index 95cef43f6..ed76291 100644 --- a/tools/metrics/histograms/metadata/file/histograms.xml +++ b/tools/metrics/histograms/metadata/file/histograms.xml
@@ -305,7 +305,7 @@ </histogram> <histogram name="FileBrowser.DownloadsCount" units="units" - expires_after="2023-06-18"> + expires_after="2023-08-27"> <owner>simmonsjosh@google.com</owner> <owner>src/ui/file_manager/OWNERS</owner> <summary> @@ -435,7 +435,7 @@ <histogram name="FileBrowser.HoldingSpace.TimeFromFirstWelcomeBannerShowToFirstPin" - units="ms" expires_after="2023-06-25"> + units="ms" expires_after="2023-08-27"> <owner>dmblack@google.com</owner> <owner>tbarzic@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/gcm/histograms.xml b/tools/metrics/histograms/metadata/gcm/histograms.xml index d3dd4b0..7be020a 100644 --- a/tools/metrics/histograms/metadata/gcm/histograms.xml +++ b/tools/metrics/histograms/metadata/gcm/histograms.xml
@@ -33,7 +33,7 @@ </histogram> <histogram name="GCM.CheckinRequestStatus" enum="GCMCheckinRequestStatus" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>peter@chromium.org</owner> <owner>knollr@chromium.org</owner> <summary>Status code of the outcome of a GCM checkin request.</summary> @@ -330,7 +330,7 @@ </histogram> <histogram name="GCM.SendWebPushMessageResult" enum="SendWebPushMessageResult" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>knollr@chromium.org</owner> <owner>peter@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/google/histograms.xml b/tools/metrics/histograms/metadata/google/histograms.xml index ad8e839..c8f28eff 100644 --- a/tools/metrics/histograms/metadata/google/histograms.xml +++ b/tools/metrics/histograms/metadata/google/histograms.xml
@@ -87,7 +87,7 @@ </histogram> <histogram name="GoogleUpdate.UpgradeResult" enum="GoogleUpdateUpgradeStatus" - expires_after="2023-06-26"> + expires_after="2023-08-27"> <owner>sorin@chromium.org</owner> <owner>waffles@chromium.org</owner> <summary>The result of an on-demand update check.</summary>
diff --git a/tools/metrics/histograms/metadata/gpu/histograms.xml b/tools/metrics/histograms/metadata/gpu/histograms.xml index aea318d..6e9f56ba 100644 --- a/tools/metrics/histograms/metadata/gpu/histograms.xml +++ b/tools/metrics/histograms/metadata/gpu/histograms.xml
@@ -341,7 +341,7 @@ </summary> </histogram> -<histogram name="GPU.AppHelpIsLoaded" enum="Boolean" expires_after="2023-06-25"> +<histogram name="GPU.AppHelpIsLoaded" enum="Boolean" expires_after="2023-08-27"> <owner>zmo@chromium.org</owner> <owner>spvw@chromium.org</owner> <owner>chrome-catan@google.com</owner> @@ -405,7 +405,7 @@ </histogram> <histogram name="GPU.ContextLost" enum="ContextLostReason" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>sievers@chromium.org</owner> <summary> The reason a GPU command buffer context of a given type was lost. @@ -665,7 +665,7 @@ </histogram> <histogram name="GPU.EGLDisplayType" enum="EGLDisplayType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>zmo@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> <summary>The display type used to ask for an EGLDisplay.</summary> @@ -872,7 +872,7 @@ </histogram> <histogram name="GPU.HasDiscreteGpu" enum="HasDiscreteGpu" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>zmo@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> <summary> @@ -895,7 +895,7 @@ </histogram> <histogram name="GPU.IntelGpuGeneration" enum="IntelGpuGeneration" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>zmo@chromium.org</owner> <owner>graphics-dev@chromium.org</owner> <summary> @@ -905,7 +905,7 @@ </histogram> <histogram name="GPU.IntelGpuSeriesType" enum="IntelGpuSeriesType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>sunnyps@chromium.org</owner> <owner>zmo@chromium.org</owner> <summary> @@ -1093,7 +1093,7 @@ </summary> </histogram> -<histogram name="GPU.Output.HDR" enum="Boolean" expires_after="2023-06-25"> +<histogram name="GPU.Output.HDR" enum="Boolean" expires_after="2023-08-27"> <owner>hubbe@chromium.org</owner> <owner>cassew@chromium.org</owner> <owner>media-dev@chromium.org</owner> @@ -1213,7 +1213,7 @@ </histogram> <histogram name="GPU.ReportOnlyModeStatusAtHang" enum="BooleanEnabled" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>spvw@chromium.org</owner> <owner>chrome-catan@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/history/histograms.xml b/tools/metrics/histograms/metadata/history/histograms.xml index 028c00e..14f1667 100644 --- a/tools/metrics/histograms/metadata/history/histograms.xml +++ b/tools/metrics/histograms/metadata/history/histograms.xml
@@ -482,7 +482,7 @@ </histogram> <histogram name="History.Clusters.Actions.DidMakeQuery" enum="BooleanQueried" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>mcrouse@chromium.org</owner> <owner>chrome-journeys@google.com</owner> <component>UI>Browser>Journeys</component> @@ -2170,7 +2170,7 @@ </histogram> <histogram name="History.InMemoryDBItemCount" units="typed URLs" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>sky@chromium.org</owner> <owner>mpearson@chromium.org</owner> <component>UI>Browser>History</component> @@ -2282,7 +2282,7 @@ </histogram> <histogram name="History.MonthlyHostCount" units="hosts" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>mpearson@chromium.org</owner> <owner>sky@chromium.org</owner> <component>UI>Browser>History</component>
diff --git a/tools/metrics/histograms/metadata/input/histograms.xml b/tools/metrics/histograms/metadata/input/histograms.xml index d8ec214..28b7e9a 100644 --- a/tools/metrics/histograms/metadata/input/histograms.xml +++ b/tools/metrics/histograms/metadata/input/histograms.xml
@@ -23,7 +23,7 @@ <histograms> <histogram name="InputMethod.ActiveCount" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>myy@chromium.org</owner> <owner>essential-inputs-team@google.com</owner> <summary> @@ -878,7 +878,7 @@ </histogram> <histogram name="InputMethod.Category" enum="InputMethodCategory" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>shend@chromium.org</owner> <owner>essential-inputs-team@google.com</owner> <summary> @@ -1039,7 +1039,7 @@ </histogram> <histogram name="InputMethod.ID2" enum="InputMethodID2" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>tranbaoduy@chromium.org</owner> <owner>shuchen@chromium.org</owner> <owner>essential-inputs-team@google.com</owner> @@ -1210,7 +1210,7 @@ </histogram> <histogram name="InputMethod.PhysicalKeyboard.Korean.Action" - enum="KoreanAction" expires_after="2023-06-25"> + enum="KoreanAction" expires_after="2023-08-27"> <owner>shend@chromium.org</owner> <owner>essential-inputs-team@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/interstitial/histograms.xml b/tools/metrics/histograms/metadata/interstitial/histograms.xml index 8665a2f..074ff01 100644 --- a/tools/metrics/histograms/metadata/interstitial/histograms.xml +++ b/tools/metrics/histograms/metadata/interstitial/histograms.xml
@@ -243,7 +243,7 @@ </histogram> <histogram name="TypedNavigationUpgradeThrottle.Event" - enum="TypedNavigationUpgradeThrottleEvent" expires_after="2023-06-25"> + enum="TypedNavigationUpgradeThrottleEvent" expires_after="2023-08-27"> <owner>meacer@chromium.org</owner> <owner>trusty-transport@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/kiosk/histograms.xml b/tools/metrics/histograms/metadata/kiosk/histograms.xml index 1a77c1f..3374fea 100644 --- a/tools/metrics/histograms/metadata/kiosk/histograms.xml +++ b/tools/metrics/histograms/metadata/kiosk/histograms.xml
@@ -202,7 +202,7 @@ </histogram> <histogram name="Kiosk.LaunchType" enum="KioskLaunchType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>xiyuan@chromium.org</owner> <owner>aghuie@chromium.org</owner> <summary> @@ -300,7 +300,7 @@ </histogram> <histogram name="Kiosk.SessionDuration.Normal" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>pbond@chromium.org</owner> <owner>chromeos-kiosk-eng@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/media/histograms.xml b/tools/metrics/histograms/metadata/media/histograms.xml index 1cded35b..33562b9 100644 --- a/tools/metrics/histograms/metadata/media/histograms.xml +++ b/tools/metrics/histograms/metadata/media/histograms.xml
@@ -276,7 +276,7 @@ </histogram> <histogram name="Media.Audio.Capture.DetectedMissingCallbacks" - enum="BooleanMissingCallbacks" expires_after="2023-06-25"> + enum="BooleanMissingCallbacks" expires_after="2023-08-27"> <owner>guidou@chromium.org</owner> <owner>olka@chromium.org</owner> <owner>webrtc-audio-uma@google.com</owner> @@ -446,7 +446,7 @@ </histogram> <histogram name="Media.Audio.Capture.Win.Glitches2" units="glitches" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>olka@chromium.org</owner> <owner>henrika@chromium.org</owner> <owner>media-dev@chromium.org</owner> @@ -487,7 +487,7 @@ </histogram> <histogram name="Media.Audio.Capture.Win.Open" enum="AudioStreamOpenResult" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>gudiou@chromium.org</owner> <owner>olka@chromium.org</owner> <owner>webrtc-audio-uma@google.com</owner> @@ -1796,7 +1796,7 @@ </histogram> <histogram name="Media.Controls.PlaybackSpeed" - enum="MediaControlsPlaybackSpeed" expires_after="2023-06-25"> + enum="MediaControlsPlaybackSpeed" expires_after="2023-08-27"> <owner>steimel@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -2537,7 +2537,7 @@ </histogram> <histogram name="Media.EME.Widevine.HardwareSecure.Support" - enum="BooleanSupported" expires_after="2023-08-20"> + enum="BooleanSupported" expires_after="2023-08-27"> <owner>xhwang@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -3241,7 +3241,7 @@ </histogram> <histogram name="Media.LowLatencyAudioCaptureStartupSuccess" - enum="AudioCaptureStartupResult" expires_after="2023-06-25"> + enum="AudioCaptureStartupResult" expires_after="2023-08-27"> <owner>armax@chromium.org</owner> <owner>guidou@chromium.org</owner> <owner>olka@chromium.org</owner> @@ -3404,7 +3404,7 @@ </histogram> <histogram name="Media.MediaFoundation.VideoColorSpace.PrimaryID" - enum="VideoColorSpace.PrimaryID" expires_after="2023-06-25"> + enum="VideoColorSpace.PrimaryID" expires_after="2023-08-27"> <owner>dalecurtis@chromium.org</owner> <owner>macrabil@microsoft.com</owner> <owner>media-dev@chromium.org</owner> @@ -3899,7 +3899,7 @@ </histogram> <histogram name="Media.Notification.Count" units="count" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>beccahughes@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -3932,7 +3932,7 @@ </histogram> <histogram name="Media.Notification.UserAction" enum="MediaSessionAction" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>beccahughes@chromium.org</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -5010,7 +5010,7 @@ </summary> </histogram> -<histogram name="Media.Video.Roughness" units="ms" expires_after="2023-06-25"> +<histogram name="Media.Video.Roughness" units="ms" expires_after="2023-08-27"> <owner>eugene@chromium.org</owner> <owner>videostack-eng@chromium.org</owner> <summary> @@ -5039,7 +5039,7 @@ </histogram> <histogram name="Media.VideoCapture.DelayUntilFirstFrame" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>armax@chromium.org</owner> <owner>video-cmi-mpp@google.com</owner> <summary> @@ -6055,7 +6055,7 @@ </histogram> <histogram name="MediaRouter.Cast.Discovery.ConnectedDevicesCount" - units="devices" expires_after="2023-06-25"> + units="devices" expires_after="2023-08-27"> <owner>mfoltz@chromium.org</owner> <owner>openscreen-eng@google.com</owner> <summary> @@ -6253,7 +6253,7 @@ </histogram> <histogram name="MediaRouter.CastStreaming.Start.Failure.Native" - enum="MirroringServiceErrorType" expires_after="2023-06-25"> + enum="MirroringServiceErrorType" expires_after="2023-08-27"> <owner>takumif@chromium.org</owner> <owner>openscreen-eng@google.com</owner> <summary> @@ -6264,7 +6264,7 @@ </histogram> <histogram name="MediaRouter.CastStreaming.Start.Success" enum="MirrorType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>takumif@chromium.org</owner> <owner>openscreen-eng@google.com</owner> <summary> @@ -6458,7 +6458,7 @@ </histogram> <histogram name="MediaRouter.RemotePlayback.SessionStartsBeforeTimeout" - enum="Boolean" expires_after="2023-06-15"> + enum="Boolean" expires_after="2023-08-27"> <owner>muyaoxu@chromium.org</owner> <owner>openscreen-eng@google.com</owner> <summary> @@ -6529,7 +6529,7 @@ </histogram> <histogram name="MediaRouter.Sink.SelectedType" enum="MediaSinkType" - expires_after="2023-08-20"> + expires_after="2023-08-27"> <owner>takumif@chromium.org</owner> <owner>openscreen-eng@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/memory/histograms.xml b/tools/metrics/histograms/metadata/memory/histograms.xml index 9ee34631..edd05c9b 100644 --- a/tools/metrics/histograms/metadata/memory/histograms.xml +++ b/tools/metrics/histograms/metadata/memory/histograms.xml
@@ -1420,7 +1420,7 @@ </histogram> <histogram name="Memory.LowMemoryKiller.FreedSize" units="KB" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>khmel@google.com</owner> <owner>vovoy@google.com</owner> <summary>The memory size freed by each low memory kill event.</summary> @@ -2127,7 +2127,7 @@ </histogram> <histogram name="Memory.PartitionAlloc.PeriodicPurge" units="microseconds" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>lizeb@chromium.org</owner> <owner>bartekn@chromium.org</owner> <summary> @@ -2674,7 +2674,7 @@ </histogram> <histogram name="Memory.UX.Study.1" enum="UXStudy1Arm" - expires_after="2023-05-14"> + expires_after="2023-08-27"> <owner>erikchen@chromium.org</owner> <owner>meredithguo@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/mobile/histograms.xml b/tools/metrics/histograms/metadata/mobile/histograms.xml index ba452d39..a5d4671 100644 --- a/tools/metrics/histograms/metadata/mobile/histograms.xml +++ b/tools/metrics/histograms/metadata/mobile/histograms.xml
@@ -61,7 +61,7 @@ </histogram> <histogram name="Mobile.AppMenu.TimeToTakeAction.SelectedItem" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>gangwu@chromium.org</owner> <owner>twellington@chromium.org</owner> <summary> @@ -791,7 +791,7 @@ </histogram> <histogram name="MobileFre.ChildAccountStatusDuration" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>skym@chromium.org</owner> <owner>wenyufu@chromium.org</owner> <summary> @@ -887,7 +887,7 @@ </histogram> <histogram name="MobileFre.NativeInitialized" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>skym@chromium.org</owner> <owner>wenyufu@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/navigation/histograms.xml b/tools/metrics/histograms/metadata/navigation/histograms.xml index c07b35d..2171269 100644 --- a/tools/metrics/histograms/metadata/navigation/histograms.xml +++ b/tools/metrics/histograms/metadata/navigation/histograms.xml
@@ -906,7 +906,7 @@ </histogram> <histogram name="Navigation.MainFrameHasRTLDomain2" enum="Boolean" - expires_after="2023-06-04"> + expires_after="2023-08-27"> <owner>cthomp@chromium.org</owner> <owner>trusty-transport@chromium.org</owner> <summary> @@ -930,7 +930,7 @@ </histogram> <histogram name="Navigation.MainFrameProfileType2" enum="BrowserProfileType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -1050,7 +1050,7 @@ </histogram> <histogram name="Navigation.OnBeforeUnloadOverheadTime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>clamy@chromium.org</owner> <owner>nasko@chromium.org</owner> <summary> @@ -1411,7 +1411,7 @@ </histogram> <histogram name="Navigation.UserAgentStringType" enum="UserAgentStringType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>miketaylr@chromium.org</owner> <owner>potassium-katabolism@google.com</owner> <summary> @@ -1595,7 +1595,7 @@ <histogram name="Prerender.Experimental.CancellationPercentageByExcessiveMemoryUsage.SpeculationRule" - units="%" expires_after="2023-06-25"> + units="%" expires_after="2023-08-27"> <owner>asamidoi@chromium.org</owner> <owner>chrome-prerendering@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/nearby/histograms.xml b/tools/metrics/histograms/metadata/nearby/histograms.xml index ce7639e..19f2876 100644 --- a/tools/metrics/histograms/metadata/nearby/histograms.xml +++ b/tools/metrics/histograms/metadata/nearby/histograms.xml
@@ -959,7 +959,7 @@ </histogram> <histogram name="Nearby.Share.Payload.Medium" enum="NearbyShareUpgradedMedium" - expires_after="2023-08-20"> + expires_after="2023-08-27"> <owner>pushi@google.com</owner> <owner>nearby-share-chromeos-eng@google.com</owner> <summary> @@ -1174,7 +1174,7 @@ </histogram> <histogram name="Nearby.Share.Transfer.Success" enum="BooleanSuccess" - expires_after="2023-08-20"> + expires_after="2023-08-27"> <owner>pushi@google.com</owner> <owner>nearby-share-chromeos-eng@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/net/histograms.xml b/tools/metrics/histograms/metadata/net/histograms.xml index 40e6c01..abdd283 100644 --- a/tools/metrics/histograms/metadata/net/histograms.xml +++ b/tools/metrics/histograms/metadata/net/histograms.xml
@@ -680,7 +680,7 @@ </histogram> <histogram name="Net.DNS.DnsConfig.AdditionalDnsQueryTypesEnabled" - enum="BooleanEnabled" expires_after="2023-06-25"> + enum="BooleanEnabled" expires_after="2023-08-27"> <owner>ericorth@chromium.org</owner> <owner>dmcardle@chromium.org</owner> <owner>src/net/OWNERS</owner> @@ -780,7 +780,7 @@ </histogram> <histogram name="Net.DNS.DnsConfig.Resolv.Compatible" enum="BooleanValid" - expires_after="2023-06-26"> + expires_after="2023-08-27"> <owner>ericorth@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -835,7 +835,7 @@ </histogram> <histogram name="Net.DNS.DnsConfig.Windows.Compatibility" - enum="DNS.WindowsCompatibility" expires_after="2023-06-25"> + enum="DNS.WindowsCompatibility" expires_after="2023-08-27"> <owner>horo@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -888,7 +888,7 @@ </histogram> <histogram name="Net.DNS.DnsTask.AdditionalHttps.Unsolicited" - enum="UnsolicitedHttpsRecordStatus" expires_after="2023-06-25"> + enum="UnsolicitedHttpsRecordStatus" expires_after="2023-08-27"> <owner>awillia@chromium.org</owner> <owner>doh-core@google.com</owner> <summary> @@ -933,7 +933,7 @@ </histogram> <histogram name="Net.DNS.DnsTransaction.AttemptType" enum="DNS.AttemptType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ericorth@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -1611,7 +1611,7 @@ </histogram> <histogram name="Net.ErrorPageCounts" enum="NetErrorPageEvents" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>edwardjung@chromium.org</owner> <owner>src/net/OWNERS</owner> <summary> @@ -1748,7 +1748,7 @@ </histogram> <histogram name="Net.HttpJob.MainJobWaitTimeWithAvailableSpdySession" - units="ms" expires_after="2023-06-25"> + units="ms" expires_after="2023-08-27"> <owner>fayang@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary> @@ -1758,7 +1758,7 @@ </histogram> <histogram name="Net.HttpJob.MainJobWaitTimeWithoutAvailableSpdySession" - units="ms" expires_after="2023-06-25"> + units="ms" expires_after="2023-08-27"> <owner>fayang@chromium.org</owner> <owner>src/net/quic/OWNERS</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/network/histograms.xml b/tools/metrics/histograms/metadata/network/histograms.xml index 1160f09..409b5dd 100644 --- a/tools/metrics/histograms/metadata/network/histograms.xml +++ b/tools/metrics/histograms/metadata/network/histograms.xml
@@ -1559,7 +1559,7 @@ </histogram> <histogram name="Network.Radio.SimpleURLLoaderIsThrottled" enum="Boolean" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>bashi@chromium.org</owner> <owner>blink-network-stack@google.com</owner> <summary> @@ -1570,7 +1570,7 @@ </histogram> <histogram name="Network.Radio.SimpleURLLoaderThrottledTime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>bashi@chromium.org</owner> <owner>blink-network-stack@google.com</owner> <summary> @@ -2615,7 +2615,7 @@ </histogram> <histogram name="Network.Shill.WiFi.AuthFailureType" enum="WiFiStatusCode" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>norvez@chromium.org</owner> <owner>cros-network-metrics@google.com</owner> <summary> @@ -2842,7 +2842,7 @@ </histogram> <histogram name="Network.Shill.WiFi.HS20Support" enum="HotspotSupport" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>kglund@google.com</owner> <owner>cros-network-metrics@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/new_tab_page/histograms.xml b/tools/metrics/histograms/metadata/new_tab_page/histograms.xml index 7263bfe..4dc6e242 100644 --- a/tools/metrics/histograms/metadata/new_tab_page/histograms.xml +++ b/tools/metrics/histograms/metadata/new_tab_page/histograms.xml
@@ -153,7 +153,7 @@ </histogram> <histogram name="NewTabPage.Carts.DataRequest" enum="CartDiscountDataType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>meiliang@chromium.org</owner> <owner>yuezhanggg@chromium.org</owner> <owner>chrome-shopping@google.com</owner> @@ -293,7 +293,7 @@ </summary> </histogram> -<histogram name="NewTabPage.Click" enum="NTPElement" expires_after="2023-06-25"> +<histogram name="NewTabPage.Click" enum="NTPElement" expires_after="2023-08-27"> <owner>tiborg@chromium.org</owner> <owner>yyushkina@chromium.org</owner> <owner>chrome-desktop-ntp@google.com</owner> @@ -894,7 +894,7 @@ </histogram> <histogram name="NewTabPage.Drive.FileClick" units="index" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>tiborg@chromium.org</owner> <owner>aee@chromium.org</owner> <owner>andrevincent@google.com</owner> @@ -1892,7 +1892,7 @@ </histogram> <histogram name="NewTabPage.SuggestionsImpression" enum="MostVisitedTileIndex" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>tiborg@chromium.org</owner> <owner>yyushkina@chromium.org</owner> <owner>chrome-desktop-ntp@google.com</owner> @@ -1981,7 +1981,7 @@ </histogram> <histogram name="NewTabPage.TileTitle" enum="NTPTileTitleSource" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>tiborg@chromium.org</owner> <owner>yyushkina@chromium.org</owner> <owner>chrome-desktop-ntp@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/notifications/histograms.xml b/tools/metrics/histograms/metadata/notifications/histograms.xml index 4e4ae5b8..ecb173ba 100644 --- a/tools/metrics/histograms/metadata/notifications/histograms.xml +++ b/tools/metrics/histograms/metadata/notifications/histograms.xml
@@ -39,7 +39,7 @@ </histogram> <histogram name="Notifications.Android.Build" enum="BooleanSuccess" - expires_after="2023-06-18"> + expires_after="2023-08-27"> <owner>peter@chromium.org</owner> <owner>knollr@chromium.org</owner> <summary> @@ -61,7 +61,7 @@ </histogram> <histogram name="Notifications.Android.SitesChannel" enum="BooleanUsage" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>peter@chromium.org</owner> <summary> Recorded when the Sites channel (which we hope to deprecate) is used as a
diff --git a/tools/metrics/histograms/metadata/omnibox/histograms.xml b/tools/metrics/histograms/metadata/omnibox/histograms.xml index 8148b53..51247c2 100644 --- a/tools/metrics/histograms/metadata/omnibox/histograms.xml +++ b/tools/metrics/histograms/metadata/omnibox/histograms.xml
@@ -737,7 +737,7 @@ </histogram> <histogram name="Omnibox.FocusResultedInNavigation" enum="BooleanNavigated" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ender@chromium.org</owner> <owner>jdonnelly@chromium.org</owner> <owner>mpearson@chromium.org</owner> @@ -863,7 +863,7 @@ </histogram> <histogram name="Omnibox.InputType" enum="OmniboxInputType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>jdonnelly@chromium.org</owner> <owner>mpearson@chromium.org</owner> <owner>chrome-omnibox-team@google.com</owner> @@ -929,7 +929,7 @@ </histogram> <histogram name="Omnibox.JustDeletedText" enum="Boolean" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>jdonnelly@chromium.org</owner> <owner>mpearson@chromium.org</owner> <owner>chrome-omnibox-team@google.com</owner> @@ -1036,7 +1036,7 @@ </histogram> <histogram name="Omnibox.LocalHistoryZeroSuggest.AsyncDeleteTime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>mahmadi@chromium.org</owner> <owner>chrome-omnibox-team@google.com</owner> <summary> @@ -1090,7 +1090,7 @@ </histogram> <histogram name="Omnibox.LocalHistoryZeroSuggest.SyncDeleteTime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>mahmadi@chromium.org</owner> <owner>chrome-omnibox-team@google.com</owner> <summary> @@ -1508,7 +1508,7 @@ </histogram> <histogram name="Omnibox.SelectedPosition" units="position" - expires_after="2023-08-20"> + expires_after="2023-08-27"> <owner>jdonnelly@chromium.org</owner> <owner>mpearson@chromium.org</owner> <owner>chrome-omnibox-team@google.com</owner> @@ -1662,7 +1662,7 @@ </histogram> <histogram name="Omnibox.SuggestionUsed.ResumeJourney.ClusterKeywordType" - enum="HistoryClusterKeywordType" expires_after="2023-06-25"> + enum="HistoryClusterKeywordType" expires_after="2023-08-27"> <owner>junzou@chromium.org</owner> <owner>chrome-intelligence-core@google.com</owner> <summary> @@ -1999,7 +1999,7 @@ </histogram> <histogram name="Omnibox.SuggestionUsed.URL.NavigationToFirstContentfulPaint" - units="ms" expires_after="2023-06-25"> + units="ms" expires_after="2023-08-27"> <owner>jdonnelly@chromium.org</owner> <owner>mpearson@chromium.org</owner> <owner>chrome-omnibox-team@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/oobe/histograms.xml b/tools/metrics/histograms/metadata/oobe/histograms.xml index 5b880c06f..0c3c8cd 100644 --- a/tools/metrics/histograms/metadata/oobe/histograms.xml +++ b/tools/metrics/histograms/metadata/oobe/histograms.xml
@@ -246,7 +246,7 @@ </histogram> <histogram name="OOBE.ConsolidatedConsentScreen.RecoveryOptInResult" - enum="RecoveryOptInResult" expires_after="2023-06-01"> + enum="RecoveryOptInResult" expires_after="2023-08-27"> <owner>anastasiian@chromium.org</owner> <owner>cros-lurs@google.com</owner> <owner>cros-oobe@google.com</owner> @@ -665,7 +665,7 @@ </histogram> <histogram name="OOBE.SyncConsentScreen.Behavior" enum="SyncConsentBehavior" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>osamafathy@google.com</owner> <owner>cros-oac@google.com</owner> <summary> @@ -718,7 +718,7 @@ </histogram> <histogram name="OOBE.SyncConsentScreen.SyncEnabled" enum="BooleanEnabled" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>osamafathy@google.com</owner> <owner>cros-oac@google.com</owner> <summary> @@ -802,7 +802,7 @@ </histogram> <histogram name="OOBE.WelcomeScreen.A11yUserActions" - enum="WelcomeScreenA11yUserAction" expires_after="2023-06-25"> + enum="WelcomeScreenA11yUserAction" expires_after="2023-08-27"> <owner>dkuzmin@google.com</owner> <owner>cros-oac@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/optimization/histograms.xml b/tools/metrics/histograms/metadata/optimization/histograms.xml index 5303d1d..22920da 100644 --- a/tools/metrics/histograms/metadata/optimization/histograms.xml +++ b/tools/metrics/histograms/metadata/optimization/histograms.xml
@@ -887,7 +887,7 @@ <histogram name="OptimizationGuide.PageEntitiesModelHandler.CreatedSuccessfully" - enum="BooleanSuccess" expires_after="2023-06-25"> + enum="BooleanSuccess" expires_after="2023-08-27"> <owner>sophiechang@chromium.org</owner> <owner>chrome-intelligence-core@google.com</owner> <summary> @@ -899,7 +899,7 @@ <histogram name="OptimizationGuide.PageEntitiesModelHandler.CreationStatus" enum="OptimizationGuideEntityAnnotatorCreationStatus" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>sophiechang@chromium.org</owner> <owner>chrome-intelligence-core@google.com</owner> <summary> @@ -1348,7 +1348,7 @@ </histogram> <histogram name="OptimizationGuide.ProcessHintsResult" - enum="OptimizationGuideProcessHintsResult" expires_after="2023-06-25"> + enum="OptimizationGuideProcessHintsResult" expires_after="2023-08-27"> <owner>mcrouse@chromium.org</owner> <owner>sophiechang@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/others/histograms.xml b/tools/metrics/histograms/metadata/others/histograms.xml index bd01272d..7efc201 100644 --- a/tools/metrics/histograms/metadata/others/histograms.xml +++ b/tools/metrics/histograms/metadata/others/histograms.xml
@@ -2250,7 +2250,7 @@ </histogram> <histogram name="ChildProcess.Launched.UtilityProcessHash" - enum="UtilityProcessNameHash" expires_after="2023-06-25"> + enum="UtilityProcessNameHash" expires_after="2023-08-27"> <owner>wfh@chromium.org</owner> <summary> Count of child utility process launches, bucketed by the hash of their @@ -2883,7 +2883,7 @@ </histogram> <histogram name="ClientHints.StoreLatency" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>miketaylr@chromium.org</owner> <owner>potassium-katabolism@google.com</owner> <summary> @@ -2980,7 +2980,7 @@ </histogram> <histogram name="ComponentUpdater.UpdateCompleteError" - enum="UpdateClientErrors" expires_after="2023-06-25"> + enum="UpdateClientErrors" expires_after="2023-08-27"> <owner>sorin@chromium.org</owner> <owner>src/components/component_updater/OWNERS</owner> <summary>The result of an install or an update check.</summary> @@ -3366,7 +3366,7 @@ </histogram> <histogram name="ContextMenu.TimeToTakeAction.SelectedItem" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>twellington@chromium.org</owner> <owner>clank-app-team@google.com</owner> <summary> @@ -4680,7 +4680,7 @@ </histogram> <histogram name="DemoMode.AppLaunchSource" enum="DemoModeAppLaunchSource" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>drcrash@chromium.org</owner> <owner>cros-demo-mode-eng@google.com</owner> <summary> @@ -4724,7 +4724,7 @@ </histogram> <histogram name="DemoMode.IdleLogoutWarningEvent" - enum="DemoModeIdleLogoutWarningEvent" expires_after="2023-06-25"> + enum="DemoModeIdleLogoutWarningEvent" expires_after="2023-08-27"> <owner>drcrash@chromium.org</owner> <owner>cros-demo-mode-eng@google.com</owner> <summary> @@ -4829,7 +4829,7 @@ </histogram> <histogram name="DemoMode.UserClicksAndPresses" units="clicks" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>lbowen@google.com</owner> <owner>cros-demo-mode-eng@google.com</owner> <summary> @@ -5080,7 +5080,7 @@ </histogram> <histogram name="DocumentScan.ScanRequested" enum="DocumentScanSaneBackend" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>bmgordon@chromium.org</owner> <owner>project-bolton@google.com</owner> <summary> @@ -5242,7 +5242,7 @@ </histogram> <histogram name="Downgrade.TakeSnapshot.ItemFailure" enum="SnapshotItemId" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>grt@chromium.org</owner> <owner>ydago@chromium.org</owner> <summary> @@ -5479,7 +5479,7 @@ </histogram> <histogram name="Eche.Connectivity.Latency" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>samchiu@chromium.org</owner> <owner>chromeos-cross-device-eng@google.com</owner> <summary> @@ -5524,7 +5524,7 @@ </histogram> <histogram name="Eche.StreamEvent" enum="StreamState" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>paulzchen@google.com</owner> <owner>andychou@google.com</owner> <summary> @@ -6190,7 +6190,7 @@ </histogram> <histogram name="Feedback.Duration.FormSubmitToSendQueue" units="ms" - expires_after="2023-04-30"> + expires_after="2023-08-27"> <owner>xiangdongkong@google.com</owner> <owner>cros-feedback-app@google.com</owner> <summary> @@ -6235,7 +6235,7 @@ </histogram> <histogram name="Feedback.ReportSending.Online" units="boolean" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>xiangdongkong@google.com</owner> <owner>cros-feedback-app@google.com</owner> <summary> @@ -6244,7 +6244,7 @@ </histogram> <histogram name="Feedback.ReportSending.Result" - enum="FeedbackReportSendingResult" expires_after="2023-06-25"> + enum="FeedbackReportSendingResult" expires_after="2023-08-27"> <owner>xiangdongkong@google.com</owner> <owner>cros-feedback-app@google.com</owner> <summary> @@ -6370,7 +6370,7 @@ </histogram> <histogram name="FirstRun.NewUserExperience.NtpBackgroundInteraction" - enum="NuxNtpBackgroundInteractions" expires_after="2023-06-25"> + enum="NuxNtpBackgroundInteractions" expires_after="2023-08-27"> <owner>johntlee@chromium.org</owner> <owner>dpapad@chromium.org</owner> <summary> @@ -6909,7 +6909,7 @@ </histogram> <histogram name="Hardware.Display.Count.OnChange" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>sashamcintosh@chromium.org</owner> <owner>chromeos-gfx@chromium.org</owner> <summary> @@ -6919,7 +6919,7 @@ </histogram> <histogram name="Hardware.Display.Count.OnStartup" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>sashamcintosh@chromium.org</owner> <owner>chromeos-gfx@chromium.org</owner> <summary> @@ -6929,7 +6929,7 @@ </histogram> <histogram name="Hardware.Display.SupportsHDR" enum="BooleanSupported" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>cassew@google.com</owner> <owner>media-dev@chromium.org</owner> <summary> @@ -7004,7 +7004,7 @@ </histogram> <histogram name="Hwsec.Attestation.PrepareDuration" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>chingkang@chromium.org</owner> <owner>cros-hwsec-userland-eng+uma@google.com</owner> <summary>The duration of preparation for enrollment in attestation.</summary> @@ -7927,7 +7927,7 @@ </histogram> <histogram name="LoadingPredictor.PreconnectCount" units="origins" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>spelchat@chromium.org</owner> <owner>chrome-brapp-loading@chromium.org</owner> <summary> @@ -10420,7 +10420,7 @@ </histogram> <histogram name="PushMessaging.DeliveryStatus" enum="PushEventStatus" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>peter@chromium.org</owner> <owner>knollr@chromium.org</owner> <summary> @@ -13142,7 +13142,7 @@ </histogram> <histogram name="SubresourceWebBundles.BundleFetchErrorCode" - enum="NetErrorCodes" expires_after="2023-06-25"> + enum="NetErrorCodes" expires_after="2023-08-27"> <owner>ksakamoto@chromium.org</owner> <owner>webpackage-dev@chromium.org</owner> <summary> @@ -15523,7 +15523,7 @@ </histogram> <histogram name="WrenchMenu.MenuAction" enum="WrenchMenuAction" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ainslie@chromium.org</owner> <owner>edwardjung@chromium.org</owner> <summary>Number of times that each menu item is clicked.</summary>
diff --git a/tools/metrics/histograms/metadata/page/histograms.xml b/tools/metrics/histograms/metadata/page/histograms.xml index f6c6871..eddafc7c 100644 --- a/tools/metrics/histograms/metadata/page/histograms.xml +++ b/tools/metrics/histograms/metadata/page/histograms.xml
@@ -1135,58 +1135,6 @@ <token key="PrerenderTriggerType" variants="PrerenderTriggerType"/> </histogram> -<histogram name="PageLoad.Clients.SameOrigin.FirstContentfulPaint" units="ms" - expires_after="2023-07-10"> - <owner>ksakamoto@chromium.org</owner> - <owner>blink-network-dev@chromium.org</owner> - <summary> - PageLoad.PaintTiming.NavigationToFirstContentfulPaint, but recorded only for - same-origin navigations. - </summary> -</histogram> - -<histogram name="PageLoad.Clients.SameOrigin.InteractiveTiming.FirstInputDelay" - units="ms" expires_after="2023-07-10"> - <owner>ksakamoto@chromium.org</owner> - <owner>blink-network-dev@chromium.org</owner> - <summary> - PageLoad.InteractiveTiming.FirstInputDelay4, but recorded only for - same-origin navigations. - </summary> -</histogram> - -<histogram name="PageLoad.Clients.SameOrigin.LargestContentfulPaint" units="ms" - expires_after="2023-07-10"> - <owner>ksakamoto@chromium.org</owner> - <owner>blink-network-dev@chromium.org</owner> - <summary> - PageLoad.PaintTiming.NavigationToLargestContentfulPaint2, but recorded only - for same-origin navigations. - </summary> -</histogram> - -<histogram - name="PageLoad.Clients.SameOrigin.LayoutInstability.CumulativeShiftScore" - units="ms" expires_after="2023-07-10"> - <owner>ksakamoto@chromium.org</owner> - <owner>blink-network-dev@chromium.org</owner> - <summary> - PageLoad.LayoutInstability.CumulativeShiftScore, but recorded only for - same-origin navigations. - </summary> -</histogram> - -<histogram - name="PageLoad.Clients.SameOrigin.LayoutInstability.CumulativeShiftScore.MainFrame" - units="ms" expires_after="2023-07-10"> - <owner>ksakamoto@chromium.org</owner> - <owner>blink-network-dev@chromium.org</owner> - <summary> - PageLoad.LayoutInstability.CumulativeShiftScore.MainFrame, but recorded only - for same-origin navigations. - </summary> -</histogram> - <histogram name="PageLoad.Clients.Scheme.HTTP.PaintTiming.UnderStat" enum="PageLoadTimingUnderStat" expires_after="2022-04-03"> <owner>tbansal@chromium.org</owner> @@ -1428,6 +1376,83 @@ </summary> </histogram> +<histogram name="PageLoad.Clients.{Origin}.FirstContentfulPaint" units="ms" + expires_after="2023-07-10"> + <owner>ksakamoto@chromium.org</owner> + <owner>chikamune@chromium.org</owner> + <owner>blink-network-dev@chromium.org</owner> + <summary> + PageLoad.PaintTiming.NavigationToFirstContentfulPaint, but recorded only for + {Origin} navigations. + </summary> + <token key="Origin"> + <variant name="CrossOrigin" summary="cross-origin"/> + <variant name="SameOrigin" summary="same-origin"/> + </token> +</histogram> + +<histogram name="PageLoad.Clients.{Origin}.InteractiveTiming.FirstInputDelay" + units="ms" expires_after="2023-07-10"> + <owner>ksakamoto@chromium.org</owner> + <owner>chikamune@chromium.org</owner> + <owner>blink-network-dev@chromium.org</owner> + <summary> + PageLoad.InteractiveTiming.FirstInputDelay4, but recorded only for {Origin} + navigations. + </summary> + <token key="Origin"> + <variant name="CrossOrigin" summary="cross-origin"/> + <variant name="SameOrigin" summary="same-origin"/> + </token> +</histogram> + +<histogram name="PageLoad.Clients.{Origin}.LargestContentfulPaint" units="ms" + expires_after="2023-07-10"> + <owner>ksakamoto@chromium.org</owner> + <owner>chikamune@chromium.org</owner> + <owner>blink-network-dev@chromium.org</owner> + <summary> + PageLoad.PaintTiming.NavigationToLargestContentfulPaint2, but recorded only + for {Origin} navigations. + </summary> + <token key="Origin"> + <variant name="CrossOrigin" summary="cross-origin"/> + <variant name="SameOrigin" summary="same-origin"/> + </token> +</histogram> + +<histogram + name="PageLoad.Clients.{Origin}.LayoutInstability.CumulativeShiftScore" + units="ms" expires_after="2023-07-10"> + <owner>ksakamoto@chromium.org</owner> + <owner>chikamune@chromium.org</owner> + <owner>blink-network-dev@chromium.org</owner> + <summary> + PageLoad.LayoutInstability.CumulativeShiftScore, but recorded only for + {Origin} navigations. + </summary> + <token key="Origin"> + <variant name="CrossOrigin" summary="cross-origin"/> + <variant name="SameOrigin" summary="same-origin"/> + </token> +</histogram> + +<histogram + name="PageLoad.Clients.{Origin}.LayoutInstability.CumulativeShiftScore.MainFrame" + units="ms" expires_after="2023-07-10"> + <owner>ksakamoto@chromium.org</owner> + <owner>chikamune@chromium.org</owner> + <owner>blink-network-dev@chromium.org</owner> + <summary> + PageLoad.LayoutInstability.CumulativeShiftScore.MainFrame, but recorded only + for {Origin} navigations. + </summary> + <token key="Origin"> + <variant name="CrossOrigin" summary="cross-origin"/> + <variant name="SameOrigin" summary="same-origin"/> + </token> +</histogram> + <histogram base="true" name="PageLoad.Cpu" units="units" expires_after="2022-04-26"> <owner>johnidel@chromium.org</owner> @@ -1444,7 +1469,7 @@ </summary> </histogram> -<histogram name="PageLoad.Cpu.TotalUsage" units="ms" expires_after="2023-06-25"> +<histogram name="PageLoad.Cpu.TotalUsage" units="ms" expires_after="2023-08-27"> <owner>alexmt@chromium.org</owner> <owner>johnidel@chromium.org</owner> <summary> @@ -1893,7 +1918,7 @@ <histogram name="PageLoad.Experimental.NavigationTiming.NavigationStartToFirstRequestStart" - units="ms" expires_after="2023-06-25"> + units="ms" expires_after="2023-08-27"> <owner>nhiroki@chromium.org</owner> <owner>chrome-loading@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/password/histograms.xml b/tools/metrics/histograms/metadata/password/histograms.xml index f786fb7..1bdfdd6 100644 --- a/tools/metrics/histograms/metadata/password/histograms.xml +++ b/tools/metrics/histograms/metadata/password/histograms.xml
@@ -376,7 +376,7 @@ </histogram> <histogram name="PasswordGeneration.UserDecision" - enum="PasswordGenerationUserEvent" expires_after="2023-06-25"> + enum="PasswordGenerationUserEvent" expires_after="2023-08-27"> <owner>ioanap@chromium.org</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -677,7 +677,7 @@ </histogram> <histogram name="PasswordManager.AffiliationBackend.FetchSize" units="facets" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>vsemeniuk@google.com</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -1590,7 +1590,7 @@ </histogram> <histogram name="PasswordManager.FormVisited.PerProfileType" - enum="BrowserProfileType" expires_after="2023-06-25"> + enum="BrowserProfileType" expires_after="2023-08-27"> <owner>rhalavati@chromium.org</owner> <owner>chrome-privacy-core@google.com</owner> <summary> @@ -1787,7 +1787,7 @@ </histogram> <histogram name="PasswordManager.ImportEntryStatus" - enum="PasswordManagerImportEntryStatus" expires_after="2023-06-25"> + enum="PasswordManagerImportEntryStatus" expires_after="2023-08-27"> <owner>eliaskh@chromium.org</owner> <owner>natiahlyi@google.com</owner> <summary> @@ -1946,7 +1946,7 @@ </histogram> <histogram name="PasswordManager.LeakDetection.IsPasswordSaved" enum="Boolean" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>vasilii@chromium.org</owner> <owner>vsemeniuk@google.com</owner> <summary> @@ -1955,7 +1955,7 @@ </histogram> <histogram name="PasswordManager.LeakDetection.LookupSingleLeakResponseResult" - enum="PasswordLeakLookupResponseResult" expires_after="2023-06-25"> + enum="PasswordLeakLookupResponseResult" expires_after="2023-08-27"> <owner>vsemeniuk@google.com</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -2343,7 +2343,7 @@ </histogram> <histogram name="PasswordManager.PasswordExport.Event" - enum="PasswordExportEvent" expires_after="2023-06-25"> + enum="PasswordExportEvent" expires_after="2023-08-27"> <owner>ioanap@chromium.org</owner> <owner>kazinova@google.com</owner> <summary> @@ -2409,7 +2409,7 @@ </histogram> <histogram name="PasswordManager.PasswordReuse.TotalPasswords" - units="credentials" expires_after="2023-06-25"> + units="credentials" expires_after="2023-08-27"> <owner>vakh@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -3740,7 +3740,7 @@ </histogram> <histogram name="PasswordManager.WeakCheck.PasswordScore" - enum="PasswordWeaknessScore" expires_after="2023-06-25"> + enum="PasswordWeaknessScore" expires_after="2023-08-27"> <owner>kazinova@google.com</owner> <owner>vasilii@chromium.org</owner> <summary> @@ -4135,7 +4135,7 @@ </histogram> <histogram name="PasswordProtection.ModalWarningDialogAction" - enum="PasswordProtectionWarningAction" expires_after="2023-06-25"> + enum="PasswordProtectionWarningAction" expires_after="2023-08-27"> <owner>vakh@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -4169,7 +4169,7 @@ </histogram> <histogram base="true" name="PasswordProtection.PasswordAlertModeOutcome" - enum="PasswordProtectionRequestOutcome" expires_after="2023-06-25"> + enum="PasswordProtectionRequestOutcome" expires_after="2023-08-27"> <owner>xinghuilu@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -4205,7 +4205,7 @@ </histogram> <histogram name="PasswordProtection.RequestNetworkDuration" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>drubery@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/payment/histograms.xml b/tools/metrics/histograms/metadata/payment/histograms.xml index cc68d4d..95f7ed10 100644 --- a/tools/metrics/histograms/metadata/payment/histograms.xml +++ b/tools/metrics/histograms/metadata/payment/histograms.xml
@@ -85,7 +85,7 @@ </histogram> <histogram name="PaymentRequest.Events" units="bitfield value" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>rouslan@chromium.org</owner> <owner>web-payments-team@google.com</owner> <summary> @@ -95,7 +95,7 @@ </histogram> <histogram name="PaymentRequest.Events2" units="bitfield value" - expires_after="2023-06-26"> + expires_after="2023-08-27"> <owner>rouslan@chromium.org</owner> <owner>web-payments-team@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/pdf/histograms.xml b/tools/metrics/histograms/metadata/pdf/histograms.xml index 7adbc7d..0167d07 100644 --- a/tools/metrics/histograms/metadata/pdf/histograms.xml +++ b/tools/metrics/histograms/metadata/pdf/histograms.xml
@@ -36,7 +36,7 @@ </histogram> <histogram name="PDF.AttachmentType" enum="ViewFileType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>nigi@chromium.org</owner> <owner>thestig@chromium.org</owner> <summary> @@ -59,7 +59,7 @@ </summary> </histogram> -<histogram name="PDF.HasAttachment" enum="Boolean" expires_after="2023-06-25"> +<histogram name="PDF.HasAttachment" enum="Boolean" expires_after="2023-08-27"> <owner>nigi@chromium.org</owner> <owner>thestig@chromium.org</owner> <summary> @@ -96,7 +96,7 @@ </summary> </histogram> -<histogram name="PDF.PageCount" units="pages" expires_after="2023-06-25"> +<histogram name="PDF.PageCount" units="pages" expires_after="2023-08-27"> <owner>hnakashima@chromium.org</owner> <owner>thestig@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/permissions/histograms.xml b/tools/metrics/histograms/metadata/permissions/histograms.xml index 4540550..58e856f 100644 --- a/tools/metrics/histograms/metadata/permissions/histograms.xml +++ b/tools/metrics/histograms/metadata/permissions/histograms.xml
@@ -853,7 +853,7 @@ </histogram> <histogram name="Permissions.Prompt.Notifications.EnabledAppLevel" - enum="Boolean" expires_after="2023-05-14"> + enum="Boolean" expires_after="2023-08-27"> <owner>engedy@chromium.org</owner> <owner>src/components/permissions/PERMISSIONS_OWNERS</owner> <summary> @@ -1173,7 +1173,7 @@ </histogram> <histogram name="Permissions.WebHid.ChooserClosed" enum="WebHidChooserClosed" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>mattreynolds@chromium.org</owner> <owner>deviceapi-team@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/platform/histograms.xml b/tools/metrics/histograms/metadata/platform/histograms.xml index 2781c349..823c685 100644 --- a/tools/metrics/histograms/metadata/platform/histograms.xml +++ b/tools/metrics/histograms/metadata/platform/histograms.xml
@@ -118,7 +118,7 @@ </histogram> <histogram name="Platform.Chaps.ReinitializingToken" - enum="ChapsReinitializingToken" expires_after="2023-06-25"> + enum="ChapsReinitializingToken" expires_after="2023-08-27"> <owner>chenyian@google.com</owner> <owner>cros-hwsec-userland-eng+uma@google.com</owner> <summary> @@ -127,7 +127,7 @@ </histogram> <histogram name="Platform.Chaps.Session.Decrypt" enum="ChapsSessionStatus" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>chenyian@google.com</owner> <owner>cros-hwsec-userland-eng+uma@google.com</owner> <summary> @@ -160,7 +160,7 @@ </histogram> <histogram name="Platform.Chaps.Session.Sign" enum="ChapsSessionStatus" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>chenyian@google.com</owner> <owner>cros-hwsec-userland-eng+uma@google.com</owner> <summary> @@ -182,7 +182,7 @@ </histogram> <histogram name="Platform.Chaps.TokenManager.LoadToken" - enum="TokenManagerStatus" expires_after="2023-06-25"> + enum="TokenManagerStatus" expires_after="2023-08-27"> <owner>chenyian@google.com</owner> <owner>cros-hwsec-userland-eng+uma@google.com</owner> <summary> @@ -204,7 +204,7 @@ </histogram> <histogram name="Platform.Chaps.TPMAvailability" enum="ChapsTPMAvailability" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>chenyian@google.com</owner> <owner>cros-hwsec-userland-eng+uma@google.com</owner> <summary>Each sample is the TPM Availability status.</summary> @@ -1791,7 +1791,7 @@ </histogram> <histogram name="Platform.TPM.DictionaryAttackResetStatus" - enum="CrosTPMDictionaryAttackResetStatusEnum" expires_after="2023-06-25"> + enum="CrosTPMDictionaryAttackResetStatusEnum" expires_after="2023-08-27"> <owner>cylai@chromium.org</owner> <owner>cros-hwsec-userland-eng+uma@google.com</owner> <summary> @@ -1867,7 +1867,7 @@ </histogram> <histogram name="Platform.TPM.PowerWashResult" enum="TPMPowerWashResult" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>chenyian@google.com</owner> <owner>cros-hwsec-userland-eng+uma@google.com</owner> <summary> @@ -1974,7 +1974,7 @@ </histogram> <histogram name="Platform.Trunks.FirstTimeoutWritingCommand" - enum="TPMCommandCode" expires_after="2023-06-25"> + enum="TPMCommandCode" expires_after="2023-08-27"> <owner>chingkang@chromium.org</owner> <owner>cros-hwsec+uma@chromium.org</owner> <summary>Command code of the first timeout writing TPM command</summary>
diff --git a/tools/metrics/histograms/metadata/plugin_vm/histograms.xml b/tools/metrics/histograms/metadata/plugin_vm/histograms.xml index 9ba900383..322ab74c 100644 --- a/tools/metrics/histograms/metadata/plugin_vm/histograms.xml +++ b/tools/metrics/histograms/metadata/plugin_vm/histograms.xml
@@ -30,7 +30,7 @@ </histogram> <histogram name="PluginVm.EngagementTime.Background" units="ms" - expires_after="2023-06-11"> + expires_after="2023-08-27"> <owner>timloh@google.com</owner> <owner>joelhockey@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/power/histograms.xml b/tools/metrics/histograms/metadata/power/histograms.xml index 62b2eed3..383341b7 100644 --- a/tools/metrics/histograms/metadata/power/histograms.xml +++ b/tools/metrics/histograms/metadata/power/histograms.xml
@@ -737,7 +737,7 @@ </histogram> <histogram name="Power.AmbientLightOnResume" units="lux" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>bkersten@chromium.org</owner> <owner>slangley@chromium.org</owner> <summary> @@ -1082,7 +1082,7 @@ <token key="BatteryCapacityType" variants="BatteryCapacityType"/> </histogram> -<histogram name="Power.BatteryPercentDrop" units="%" expires_after="2023-06-25"> +<histogram name="Power.BatteryPercentDrop" units="%" expires_after="2023-08-27"> <owner>ryansturm@chromium.org</owner> <owner>tbansal@chromium.org</owner> <summary> @@ -1681,7 +1681,7 @@ </histogram> <histogram name="Power.ForegroundRadio.Wakeups.Cell.30Seconds" - enum="RadioSignalLevel" expires_after="2023-06-28"> + enum="RadioSignalLevel" expires_after="2023-08-27"> <owner>eseckler@chromium.org</owner> <owner>khokhlov@google.com</owner> <owner>skyostil@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/prefetch/histograms.xml b/tools/metrics/histograms/metadata/prefetch/histograms.xml index 8450240..0d2a570 100644 --- a/tools/metrics/histograms/metadata/prefetch/histograms.xml +++ b/tools/metrics/histograms/metadata/prefetch/histograms.xml
@@ -230,7 +230,7 @@ </histogram> <histogram name="PrefetchProxy.Prefetch.ExistingPrefetchWithMatchingURL" - units="Boolean" expires_after="2023-06-25"> + units="Boolean" expires_after="2023-08-27"> <owner>curranmax@chromium.org</owner> <owner>ryansturm@chromium.org</owner> <owner>spelchat@chromium.org</owner> @@ -242,7 +242,7 @@ </histogram> <histogram name="PrefetchProxy.Prefetch.Mainframe.BodyLength" units="bytes" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>curranmax@chromium.org</owner> <owner>ryansturm@chromium.org</owner> <owner>spelchat@chromium.org</owner> @@ -254,7 +254,7 @@ </histogram> <histogram name="PrefetchProxy.Prefetch.Mainframe.ConnectTime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>curranmax@chromium.org</owner> <owner>ryansturm@chromium.org</owner> <owner>spelchat@chromium.org</owner> @@ -266,7 +266,7 @@ </histogram> <histogram name="PrefetchProxy.Prefetch.Mainframe.CookiesToCopy" units="count" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>curranmax@chromium.org</owner> <owner>ryansturm@chromium.org</owner> <owner>spelchat@chromium.org</owner> @@ -277,7 +277,7 @@ </histogram> <histogram name="PrefetchProxy.Prefetch.Mainframe.NetError" - enum="NetErrorCodes" expires_after="2023-06-25"> + enum="NetErrorCodes" expires_after="2023-08-27"> <owner>curranmax@chromium.org</owner> <owner>ryansturm@chromium.org</owner> <owner>spelchat@chromium.org</owner> @@ -289,7 +289,7 @@ </histogram> <histogram name="PrefetchProxy.Prefetch.Mainframe.RespCode" - enum="HttpResponseCode" expires_after="2023-06-25"> + enum="HttpResponseCode" expires_after="2023-08-27"> <owner>curranmax@chromium.org</owner> <owner>ryansturm@chromium.org</owner> <owner>spelchat@chromium.org</owner> @@ -324,7 +324,7 @@ </histogram> <histogram name="PrefetchProxy.Prefetch.Mainframe.TotalTime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>curranmax@chromium.org</owner> <owner>ryansturm@chromium.org</owner> <owner>spelchat@chromium.org</owner> @@ -350,7 +350,7 @@ </histogram> <histogram name="PrefetchProxy.Prefetch.NumExistingPrefetchWithMatchingURL" - units="count" expires_after="2023-06-25"> + units="count" expires_after="2023-08-27"> <owner>curranmax@chromium.org</owner> <owner>ryansturm@chromium.org</owner> <owner>spelchat@chromium.org</owner> @@ -434,7 +434,7 @@ </histogram> <histogram name="PrefetchProxy.Proxy.RespCode" enum="HttpResponseCode" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>curranmax@chromium.org</owner> <owner>ryansturm@chromium.org</owner> <owner>spelchat@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/print/histograms.xml b/tools/metrics/histograms/metadata/print/histograms.xml index 91645ec..571260f 100644 --- a/tools/metrics/histograms/metadata/print/histograms.xml +++ b/tools/metrics/histograms/metadata/print/histograms.xml
@@ -36,7 +36,7 @@ </histogram> <histogram name="PrintPreview.InitialDisplayTime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>thestig@chromium.org</owner> <owner>dhoss@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/printing/histograms.xml b/tools/metrics/histograms/metadata/printing/histograms.xml index b70c3cb..dfee34fb 100644 --- a/tools/metrics/histograms/metadata/printing/histograms.xml +++ b/tools/metrics/histograms/metadata/printing/histograms.xml
@@ -173,7 +173,7 @@ </histogram> <histogram name="Printing.CUPS.NearbyNetworkPrintersCount" units="printers" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>bmgordon@chromium.org</owner> <owner>project-bolton@google.com</owner> <summary> @@ -184,7 +184,7 @@ </histogram> <histogram name="Printing.CUPS.PrintDocumentSize" units="KB" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>bmgordon@chromium.org</owner> <owner>project-bolton@google.com</owner> <summary> @@ -309,7 +309,7 @@ </histogram> <histogram name="Printing.CUPS.ProtocolUsed" enum="PrinterProtocol" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>bmgordon@chromium.org</owner> <owner>cros-printing-dev@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/profile/histograms.xml b/tools/metrics/histograms/metadata/profile/histograms.xml index 33eb48b..13472d0 100644 --- a/tools/metrics/histograms/metadata/profile/histograms.xml +++ b/tools/metrics/histograms/metadata/profile/histograms.xml
@@ -85,7 +85,7 @@ </histogram> <histogram name="Profile.Avatar" enum="ProfileAvatar" - expires_after="2023-06-04"> + expires_after="2023-08-27"> <owner>jkrcal@chromium.org</owner> <owner>droger@chromium.org</owner> <summary>The frequency of selection of each avatar.</summary> @@ -197,7 +197,7 @@ </histogram> <histogram name="Profile.Guest.ForcedByPolicy" enum="BooleanForced" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>rhalavati@chromium.org</owner> <owner>chrome-incognito@google.com</owner> <summary> @@ -419,7 +419,7 @@ </histogram> <histogram name="Profile.NumberOfAccountsPerProfile" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>msarda@chromium.org</owner> <owner>droger@chromium.org</owner> <summary> @@ -483,7 +483,7 @@ </histogram> <histogram name="Profile.NumberOfSignedInProfiles" units="profiles" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>droger@chromium.org</owner> <owner>jkrcal@chromium.org</owner> <summary> @@ -549,7 +549,7 @@ </histogram> <histogram base="true" name="Profile.State.LastUsed" units="days" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>jkrcal@chromium.org</owner> <owner>droger@chromium.org</owner> <summary> @@ -624,7 +624,7 @@ <summary>Total size of all history databases.</summary> </histogram> -<histogram name="Profile.TotalSize" units="MB" expires_after="2023-06-25"> +<histogram name="Profile.TotalSize" units="MB" expires_after="2023-08-27"> <owner>etienneb@chromium.org</owner> <owner>gab@chromium.org</owner> <summary>Total size of the profile data (excluding sub-folders).</summary> @@ -640,7 +640,7 @@ </summary> </histogram> -<histogram name="Profile.Update" enum="ProfileType" expires_after="2023-06-25"> +<histogram name="Profile.Update" enum="ProfileType" expires_after="2023-08-27"> <owner>msarda@chromium.org</owner> <owner>droger@chromium.org</owner> <summary> @@ -901,7 +901,7 @@ </histogram> <histogram name="ProfilePicker.StartupTime.MainViewInitialized" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>alexilin@chromium.org</owner> <owner>dgn@chromium.org</owner> <owner>chrome-signin-team@google.com</owner> @@ -923,7 +923,7 @@ </histogram> <histogram name="ProfilePicker.UiVisited" enum="ProfilePickerPages" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>msalama@chromium.org</owner> <owner>chrome-signin-team@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/quota/histograms.xml b/tools/metrics/histograms/metadata/quota/histograms.xml index 7ab06cd..9e12af3 100644 --- a/tools/metrics/histograms/metadata/quota/histograms.xml +++ b/tools/metrics/histograms/metadata/quota/histograms.xml
@@ -22,7 +22,7 @@ <histograms> -<histogram name="Quota.AgeOfDataInDays" units="days" expires_after="2023-06-24"> +<histogram name="Quota.AgeOfDataInDays" units="days" expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -130,7 +130,7 @@ </histogram> <histogram name="Quota.EvictionRoundsPerHour" units="units" - expires_after="2023-06-24"> + expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -140,7 +140,7 @@ </histogram> <histogram name="Quota.GlobalTemporaryPoolSize" units="MB" - expires_after="2023-06-24"> + expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -194,7 +194,7 @@ </histogram> <histogram name="Quota.PercentUsedForTemporaryStorage2" units="%" - expires_after="2023-06-23"> + expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -246,7 +246,7 @@ </histogram> <histogram name="Quota.SkippedEvictionRoundsPerHour" units="units" - expires_after="2023-06-24"> + expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -267,7 +267,7 @@ </histogram> <histogram name="Quota.StorageKeyNonceCount" units="buckets" - expires_after="2023-06-24"> + expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -288,7 +288,7 @@ </histogram> <histogram name="Quota.TimeSpentToAEvictionRound" units="units" - expires_after="2023-06-24"> + expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -298,7 +298,7 @@ </histogram> <histogram name="Quota.TotalBucketCount" units="buckets" - expires_after="2023-06-24"> + expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -316,7 +316,7 @@ </histogram> <histogram name="Quota.TotalDiskSpaceIsZero" enum="BooleanVolumeZero" - expires_after="2023-06-24"> + expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/renderer4/histograms.xml b/tools/metrics/histograms/metadata/renderer4/histograms.xml index 51fae0bf..62d887c 100644 --- a/tools/metrics/histograms/metadata/renderer4/histograms.xml +++ b/tools/metrics/histograms/metadata/renderer4/histograms.xml
@@ -145,7 +145,7 @@ </histogram> <histogram base="true" name="Renderer4.ImageDecodeTaskDurationUs" - units="microseconds" expires_after="2023-06-25"> + units="microseconds" expires_after="2023-08-27"> <!-- Name completed by histogram_suffixes name="DecodedImageType" --> <!-- Name completed by histogram_suffixes name="OutOfRaster" --> @@ -267,7 +267,7 @@ </histogram> <histogram name="Renderer4.Renderer.RasterTaskTotalDuration" - units="microseconds" expires_after="2023-06-25"> + units="microseconds" expires_after="2023-08-27"> <owner>khushalsagar@chromium.org</owner> <owner>chrome-gpu@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/safe_browsing/histograms.xml b/tools/metrics/histograms/metadata/safe_browsing/histograms.xml index fcc9018c..28e9207 100644 --- a/tools/metrics/histograms/metadata/safe_browsing/histograms.xml +++ b/tools/metrics/histograms/metadata/safe_browsing/histograms.xml
@@ -238,7 +238,7 @@ </histogram> <histogram name="SafeBrowsing.AndroidTelemetry.ApkDownload.IsMimeTypeApk" - enum="BooleanIsMimeTypeApk" expires_after="2023-06-25"> + enum="BooleanIsMimeTypeApk" expires_after="2023-08-27"> <owner>xinghuilu@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -383,7 +383,7 @@ </histogram> <histogram name="SafeBrowsing.CheckUrl.Timeout" enum="BooleanTimedOut" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>vakh@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -393,7 +393,7 @@ </histogram> <histogram name="SafeBrowsing.CheckUrl.UrlScheme" enum="SafeBrowsingUrlScheme" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>thefrog@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -416,7 +416,7 @@ </histogram> <histogram name="SafeBrowsing.ClientSafeBrowsingReport.HasThreatDetailsForTab" - enum="BooleanAvailable" expires_after="2023-06-25"> + enum="BooleanAvailable" expires_after="2023-08-27"> <owner>xinghuilu@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -589,7 +589,7 @@ </histogram> <histogram name="SafeBrowsing.EsbDisabled.LastBypassEventType" - enum="SBMetricsCollectorEventType" expires_after="2023-06-25"> + enum="SBMetricsCollectorEventType" expires_after="2023-08-27"> <owner>xinghuilu@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -689,7 +689,7 @@ </histogram> <histogram name="SafeBrowsing.ExtensionPersister.CacheSize" units="files" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>psarouthakis@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -700,7 +700,7 @@ </histogram> <histogram name="SafeBrowsing.ExtensionPersister.PersistedFileSize" - units="bytes" expires_after="2023-06-25"> + units="bytes" expires_after="2023-08-27"> <owner>psarouthakis@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -855,7 +855,7 @@ </histogram> <histogram name="SafeBrowsing.ExtensionTelemetry.RetriesTillUploadSuccess" - units="retries" expires_after="2023-06-25"> + units="retries" expires_after="2023-08-27"> <owner>anunoy@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -936,7 +936,7 @@ </histogram> <histogram name="SafeBrowsing.FileTypeUpdate.DynamicUpdateResult" - enum="SBFileTypeUpdateResult" expires_after="2023-06-25"> + enum="SBFileTypeUpdateResult" expires_after="2023-08-27"> <owner>drubery@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -964,7 +964,7 @@ </histogram> <histogram name="SafeBrowsing.FileTypeUpdate.ResourceBundleResult" - enum="SBFileTypeUpdateResult" expires_after="2023-06-25"> + enum="SBFileTypeUpdateResult" expires_after="2023-08-27"> <owner>drubery@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -977,7 +977,7 @@ </histogram> <histogram name="SafeBrowsing.FileTypeUpdate.ResourceBundleVersion" - units="FileTypePolicies Version" expires_after="2023-06-25"> + units="FileTypePolicies Version" expires_after="2023-08-27"> <owner>drubery@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -1914,7 +1914,7 @@ </histogram> <histogram name="SafeBrowsing.RT.Network.Time" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>vakh@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -1947,7 +1947,7 @@ </histogram> <histogram name="SafeBrowsing.RT.Request.UserPopulation" - enum="SafeBrowsingUserPopulation" expires_after="2023-06-25"> + enum="SafeBrowsingUserPopulation" expires_after="2023-08-27"> <owner>xinghuilu@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -2172,7 +2172,7 @@ <histogram name="SafeBrowsing.TailoredSecurityUnconsentedPromotionNotificationOutcome" - enum="SafeBrowsingTailoredSecurityOutcome" expires_after="2023-06-25"> + enum="SafeBrowsingTailoredSecurityOutcome" expires_after="2023-08-27"> <owner>jacastro@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -2209,7 +2209,7 @@ </histogram> <histogram name="SafeBrowsing.Triggers.AdSampler.Action" - enum="AdSamplerTriggerAction" expires_after="2023-06-25"> + enum="AdSamplerTriggerAction" expires_after="2023-08-27"> <owner>vakh@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -2333,7 +2333,7 @@ </histogram> <histogram name="SafeBrowsing.V4GetHash.Network.Time" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>vakh@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -2357,7 +2357,7 @@ </histogram> <histogram name="SafeBrowsing.V4GetHash.Result" - enum="SafeBrowsingV4OperationResult" expires_after="2023-06-25"> + enum="SafeBrowsingV4OperationResult" expires_after="2023-08-27"> <owner>vakh@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -2535,7 +2535,7 @@ </histogram> <histogram name="SafeBrowsing.V4ProcessPartialUpdate.RemovalsHashesCount" - units="entries" expires_after="2023-06-25"> + units="entries" expires_after="2023-08-27"> <owner>xinghuilu@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -2833,7 +2833,7 @@ </histogram> <histogram name="SafeBrowsingBinaryUploadRequest.Duration" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>drubery@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -2844,7 +2844,7 @@ </histogram> <histogram name="SafeBrowsingBinaryUploadRequest.MalwareResult" - enum="BooleanSuccess" expires_after="2023-06-25"> + enum="BooleanSuccess" expires_after="2023-08-27"> <owner>drubery@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -2855,7 +2855,7 @@ </histogram> <histogram name="SafeBrowsingBinaryUploadRequest.Result" - enum="SafeBrowsingBinaryUploadResult" expires_after="2023-06-25"> + enum="SafeBrowsingBinaryUploadResult" expires_after="2023-08-27"> <owner>drubery@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/sb_client/histograms.xml b/tools/metrics/histograms/metadata/sb_client/histograms.xml index d123b3c..2aec434 100644 --- a/tools/metrics/histograms/metadata/sb_client/histograms.xml +++ b/tools/metrics/histograms/metadata/sb_client/histograms.xml
@@ -151,7 +151,7 @@ </histogram> <histogram name="SBClientDownload.DownloadExtensions" - enum="SBClientDownloadExtensions" expires_after="2023-06-25"> + enum="SBClientDownloadExtensions" expires_after="2023-08-27"> <owner>vakh@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <owner>mattm@chromium.org</owner> @@ -777,7 +777,7 @@ <histogram name="SBClientPhishing.PreClassificationCheckResult" enum="SBClientDetectionPreClassificationCheckResult" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>drubery@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary> @@ -895,7 +895,7 @@ </histogram> <histogram name="SBClientPhishing.VisualFeatureTime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>drubery@chromium.org</owner> <owner>chrome-counter-abuse-alerts@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/security/histograms.xml b/tools/metrics/histograms/metadata/security/histograms.xml index 1bf3a00..36c0361 100644 --- a/tools/metrics/histograms/metadata/security/histograms.xml +++ b/tools/metrics/histograms/metadata/security/histograms.xml
@@ -76,7 +76,7 @@ </histogram> <histogram name="Security.DataDecoder.Image.Isolated.ProcessOverhead" - units="ms" expires_after="2023-06-25"> + units="ms" expires_after="2023-08-27"> <owner>lukasza@chromium.org</owner> <owner>rsesek@chromium.org</owner> <summary> @@ -123,7 +123,7 @@ </histogram> <histogram name="Security.DataDecoder.Image.Reusable.ProcessOverhead" - units="ms" expires_after="2023-06-25"> + units="ms" expires_after="2023-08-27"> <owner>lukasza@chromium.org</owner> <owner>rsesek@chromium.org</owner> <summary> @@ -220,7 +220,7 @@ </histogram> <histogram name="Security.PageInfo.AboutThisSiteStatus" - enum="AboutThisSiteStatus" expires_after="2023-06-25"> + enum="AboutThisSiteStatus" expires_after="2023-08-27"> <owner>dullweber@chromium.org</owner> <owner>olesiamarukhno@chromium.org</owner> <summary> @@ -378,7 +378,7 @@ </histogram> <histogram name="Security.SafetyTips.SafetyTipIgnoredPageLoad" - enum="SafetyTipStatus" expires_after="2023-06-25"> + enum="SafetyTipStatus" expires_after="2023-08-27"> <owner>jdeblasio@chromium.org</owner> <owner>src/chrome/browser/lookalikes/OWNERS</owner> <summary> @@ -632,7 +632,7 @@ </histogram> <histogram name="SiteIsolation.BrowsingInstanceCount" units="units" - expires_after="2023-05-01"> + expires_after="2023-08-27"> <owner>alexmos@chromium.org</owner> <owner>creis@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/service/histograms.xml b/tools/metrics/histograms/metadata/service/histograms.xml index d632ccbe..cfb6916 100644 --- a/tools/metrics/histograms/metadata/service/histograms.xml +++ b/tools/metrics/histograms/metadata/service/histograms.xml
@@ -287,7 +287,7 @@ </histogram> <histogram name="ServiceWorker.DiskCache.InitResult" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>bashi@chromium.org</owner> <owner>nhiroki@chromium.org</owner> <summary> @@ -676,7 +676,7 @@ <histogram name="ServiceWorker.LoadTiming.Subresource.ForwardServiceWorkerToWorkerReady" - units="ms" expires_after="2023-06-25"> + units="ms" expires_after="2023-08-27"> <owner>bashi@chromium.org</owner> <owner>chrome-worker@google.com</owner> <summary> @@ -691,7 +691,7 @@ <histogram name="ServiceWorker.LoadTiming.Subresource.ResponseReceivedToCompleted2" - units="ms" expires_after="2023-06-25"> + units="ms" expires_after="2023-08-27"> <owner>bashi@chromium.org</owner> <owner>chrome-worker@google.com</owner> <summary> @@ -1296,7 +1296,7 @@ </histogram> <histogram name="ServiceWorkerCache.Cache.Browser.Match.RelatedFetchEvent" - units="ms" expires_after="2023-06-24"> + units="ms" expires_after="2023-08-27"> <owner>wanderview@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/session/histograms.xml b/tools/metrics/histograms/metadata/session/histograms.xml index 1cbc085f..0607899 100644 --- a/tools/metrics/histograms/metadata/session/histograms.xml +++ b/tools/metrics/histograms/metadata/session/histograms.xml
@@ -23,7 +23,7 @@ <histograms> <histogram name="Session.Background.TotalDuration" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>asvitkine@chromium.org</owner> <owner>src/base/metrics/OWNERS</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/settings/histograms.xml b/tools/metrics/histograms/metadata/settings/histograms.xml index 36d0cb5..8e554aca 100644 --- a/tools/metrics/histograms/metadata/settings/histograms.xml +++ b/tools/metrics/histograms/metadata/settings/histograms.xml
@@ -165,7 +165,7 @@ </histogram> <histogram name="Settings.HomePageEngineType" enum="OmniboxSearchEngineType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>mpearson@chromium.org</owner> <owner>csharp@chromium.org</owner> <summary> @@ -273,7 +273,7 @@ </histogram> <histogram name="Settings.PrivacyElementInteractions" - enum="SettingsPrivacyElementInteractions" expires_after="2023-06-25"> + enum="SettingsPrivacyElementInteractions" expires_after="2023-08-27"> <owner>harrisonsean@chromium.org</owner> <owner>msramek@chromium.org</owner> <owner>sauski@chromium.org</owner> @@ -340,7 +340,7 @@ </histogram> <histogram name="Settings.PrivacySandbox.AdMeasurement.Enabled" - enum="BooleanEnabled" expires_after="M115"> + enum="BooleanEnabled" expires_after="2023-08-27"> <owner>sauski@google.com</owner> <owner>olesiamarukhno@chromium.org</owner> <owner>msramek@chromium.org</owner> @@ -413,7 +413,7 @@ </histogram> <histogram name="Settings.PrivacySandbox.Fledge.Enabled" enum="BooleanEnabled" - expires_after="M115"> + expires_after="2023-08-27"> <owner>sauski@google.com</owner> <owner>olesiamarukhno@chromium.org</owner> <owner>msramek@chromium.org</owner> @@ -555,7 +555,7 @@ </histogram> <histogram name="Settings.SafetyCheck.PasswordsResult" - enum="SafetyCheckPasswordsStatus" expires_after="2023-06-25"> + enum="SafetyCheckPasswordsStatus" expires_after="2023-08-27"> <owner>andzaytsev@google.com</owner> <owner>msramek@chromium.org</owner> <summary>Resulting state of the safety check password check.</summary> @@ -721,7 +721,7 @@ </histogram> <histogram name="Settings.StartupPageLoadSettings" enum="SessionStartupPref" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>mpearson@chromium.org</owner> <owner>tiborg@chromium.org</owner> <owner>chrome-desktop-ntp@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/signin/histograms.xml b/tools/metrics/histograms/metadata/signin/histograms.xml index 6995d28..39080ea 100644 --- a/tools/metrics/histograms/metadata/signin/histograms.xml +++ b/tools/metrics/histograms/metadata/signin/histograms.xml
@@ -230,7 +230,7 @@ </histogram> <histogram name="Signin.AndroidGetAccountIdsTime" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>alexilin@chromium.org</owner> <owner>bsazonov@chromium.org</owner> <summary> @@ -259,7 +259,7 @@ </histogram> <histogram name="Signin.AndroidNumberOfDeviceAccounts" units="accounts" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>triploblastic@chromium.org</owner> <owner>aliceywang@chromium.org</owner> <summary> @@ -468,7 +468,7 @@ </histogram> <histogram name="Signin.Extensions.LaunchWebAuthFlowResult" - enum="LaunchWebAuthFlowResult" expires_after="2023-06-04"> + enum="LaunchWebAuthFlowResult" expires_after="2023-08-27"> <owner>alexilin@chromium.org</owner> <owner>rsult@google.com</owner> <owner>chrome-signin-team@google.com</owner> @@ -829,7 +829,7 @@ </histogram> <histogram name="Signin.OAuth2MintToken.ApiCallResult" - enum="OAuth2MintTokenApiCallResult" expires_after="2023-06-25"> + enum="OAuth2MintTokenApiCallResult" expires_after="2023-08-27"> <owner>alexilin@chromium.org</owner> <owner>droger@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/stability/histograms.xml b/tools/metrics/histograms/metadata/stability/histograms.xml index 904a378..a743833 100644 --- a/tools/metrics/histograms/metadata/stability/histograms.xml +++ b/tools/metrics/histograms/metadata/stability/histograms.xml
@@ -335,7 +335,7 @@ </histogram> <histogram name="Stability.Experimental.PageLoads" enum="StabilityPageLoadType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>fdoray@chromium.org</owner> <owner>catan-team@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/startup/histograms.xml b/tools/metrics/histograms/metadata/startup/histograms.xml index 936a21f..0df4f18 100644 --- a/tools/metrics/histograms/metadata/startup/histograms.xml +++ b/tools/metrics/histograms/metadata/startup/histograms.xml
@@ -23,7 +23,7 @@ <histograms> <histogram name="Startup.AfterStartupTaskCount" units="units" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>michaeln@chromium.org</owner> <summary> The number of after-startup tasks that were queued prior to startup @@ -399,7 +399,7 @@ </histogram> <histogram name="Startup.BrowserMessageLoopFirstIdle" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>gab@chromium.org</owner> <owner>etienneb@chromium.org</owner> <summary> @@ -484,7 +484,7 @@ </histogram> <histogram name="Startup.BrowserWindow.FirstPaint" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>gab@chromium.org</owner> <owner>mblsha@yandex-team.ru</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/sync/histograms.xml b/tools/metrics/histograms/metadata/sync/histograms.xml index aca9278..c767b78 100644 --- a/tools/metrics/histograms/metadata/sync/histograms.xml +++ b/tools/metrics/histograms/metadata/sync/histograms.xml
@@ -106,7 +106,7 @@ </histogram> <histogram name="Sync.BackedOffModelType" enum="SyncModelTypes" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>victorvianna@google.com</owner> <owner>src/components/sync/OWNERS</owner> <component>Services>Sync</component> @@ -431,7 +431,7 @@ </histogram> <histogram name="Sync.CustomSync3" enum="SyncModelTypes" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>treib@chromium.org</owner> <owner>mastiz@chromium.org</owner> <component>Services>Sync</component> @@ -453,8 +453,8 @@ <summary> Histogram of the run failures for the different sync datatypes. These are failures that occur after startup while the datatype is syncing. This is one - of the base sync health metrics. The Sync.ModelTypeStoreBackendError - histograms may help diagnosing the problem. + of the base sync health metrics. The Sync.ModelTypeStoreBackendError and + Sync.ModelTypeErrorSite histograms may help diagnosing the problem. </summary> </histogram> @@ -468,7 +468,8 @@ are failures that occur during startup before the data type is fully loaded. These errors are caused by failures in reading metadata (or data) from the DB or by another failure in interaction with the model. The - Sync.ModelTypeStoreBackendError histograms may help diagnosing the problem. + Sync.ModelTypeStoreBackendError and Sync.ModelTypeErrorSite histograms may + help diagnosing the problem. </summary> </histogram> @@ -863,7 +864,7 @@ </histogram> <histogram name="Sync.ModelTypeErrorSite{SyncModelType}" - enum="SyncModelTypeErrorSite" expires_after="2023-04-10"> + enum="SyncModelTypeErrorSite" expires_after="2024-02-28"> <owner>treib@chromium.org</owner> <owner>rushans@google.com</owner> <component>Services>Sync</component> @@ -1050,7 +1051,7 @@ </histogram> <histogram name="Sync.PassphraseType" enum="SyncPassphraseType" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>treib@chromium.org</owner> <owner>mastiz@chromium.org</owner> <component>Services>Sync</component> @@ -1068,7 +1069,7 @@ </histogram> <histogram name="Sync.PassphraseTypeUponNotMyBirthdayOrEncryptionObsolete" - enum="SyncPassphraseType" expires_after="2023-06-25"> + enum="SyncPassphraseType" expires_after="2023-08-27"> <owner>mastiz@chromium.org</owner> <owner>mmoskvitin@google.com</owner> <component>Services>Sync</component> @@ -1762,7 +1763,7 @@ </histogram> <histogram name="Sync.URLFetchTimedOut" enum="BooleanTimedOut" - expires_after="2023-06-18"> + expires_after="2023-08-27"> <owner>mastiz@chromium.org</owner> <owner>treib@chromium.org</owner> <component>Services>Sync</component>
diff --git a/tools/metrics/histograms/metadata/tab/histograms.xml b/tools/metrics/histograms/metadata/tab/histograms.xml index 1924f9b4..b4a849a 100644 --- a/tools/metrics/histograms/metadata/tab/histograms.xml +++ b/tools/metrics/histograms/metadata/tab/histograms.xml
@@ -364,7 +364,7 @@ </summary> </histogram> -<histogram name="Tab.Count.Incognito" units="units" expires_after="2023-06-25"> +<histogram name="Tab.Count.Incognito" units="units" expires_after="2023-08-27"> <owner>rhalavati@chromium.org</owner> <owner>chrome-incognito@google.com</owner> <summary> @@ -1713,7 +1713,7 @@ </histogram> <histogram name="Tabs.RestoreTabStateException" enum="RestoreTabStateException" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ckitagawa@chromium.org</owner> <owner>fredmello@chromium.org</owner> <summary> @@ -2027,7 +2027,7 @@ </token> </histogram> -<histogram name="Tabs.TabCountPerLoad" units="tabs" expires_after="2023-06-25"> +<histogram name="Tabs.TabCountPerLoad" units="tabs" expires_after="2023-08-27"> <owner>mpearson@chromium.org</owner> <owner>chrome-desktop-ui-sea@google.com</owner> <owner>sbirch@google.com</owner> @@ -2043,7 +2043,7 @@ </histogram> <histogram name="Tabs.TabCountPerWindow" units="tabs" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>mpearson@chromium.org</owner> <owner>chrome-desktop-ui-sea@google.com</owner> <summary> @@ -2091,7 +2091,7 @@ </histogram> <histogram name="Tabs.TabRestoreMethod" enum="TabRestoreMethod" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>davidjm@chromium.org</owner> <owner>dtrainor@chromium.org</owner> <owner>nyquist@chromium.org</owner> @@ -2838,7 +2838,7 @@ </histogram> <histogram name="TabStrip.TabCountOnPageLoad" units="tabs" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>yusufo@chromium.org</owner> <owner>wychen@chromium.org</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/translate/histograms.xml b/tools/metrics/histograms/metadata/translate/histograms.xml index e20f4c44..2933fdd4 100644 --- a/tools/metrics/histograms/metadata/translate/histograms.xml +++ b/tools/metrics/histograms/metadata/translate/histograms.xml
@@ -965,7 +965,7 @@ </histogram> <histogram name="Translate.Translation.TimeToBeReady" units="ms" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>megjablon@google.com</owner> <owner>chrome-language@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/uma/histograms.xml b/tools/metrics/histograms/metadata/uma/histograms.xml index c847c8d..9fe75ee3 100644 --- a/tools/metrics/histograms/metadata/uma/histograms.xml +++ b/tools/metrics/histograms/metadata/uma/histograms.xml
@@ -894,7 +894,7 @@ </histogram> <histogram name="UMA.TruncatedEvents.UserAction" units="events" - expires_after="2023-08-20"> + expires_after="2023-08-27"> <owner>rkaplow@chromium.org</owner> <owner>src/base/metrics/OWNERS</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/v8/histograms.xml b/tools/metrics/histograms/metadata/v8/histograms.xml index 8343a6a..afd16d5 100644 --- a/tools/metrics/histograms/metadata/v8/histograms.xml +++ b/tools/metrics/histograms/metadata/v8/histograms.xml
@@ -1264,7 +1264,7 @@ </histogram> <histogram name="V8.LiftoffBailoutReasons" enum="LiftoffBailoutReason" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>ecmziegler@chromium.org</owner> <owner>adamk@chromium.org</owner> <owner>clemensb@chromium.org</owner> @@ -1342,7 +1342,7 @@ </histogram> <histogram name="V8.MemoryHeapSampleTotalCommitted" units="KB" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>hpayer@chromium.org</owner> <summary> The total size of committed memory used by V8 after each GC in KB.
diff --git a/tools/metrics/histograms/metadata/web_apk/histograms.xml b/tools/metrics/histograms/metadata/web_apk/histograms.xml index 14e4414..0b82ceaf 100644 --- a/tools/metrics/histograms/metadata/web_apk/histograms.xml +++ b/tools/metrics/histograms/metadata/web_apk/histograms.xml
@@ -113,7 +113,7 @@ </histogram> <histogram name="WebApk.Install.PathToInstall" enum="PwaInstallPath" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>finnur@chromium.org</owner> <owner>peter@chromium.org</owner> <owner>src/chrome/android/webapk/OWNERS</owner>
diff --git a/tools/metrics/histograms/metadata/web_core/histograms.xml b/tools/metrics/histograms/metadata/web_core/histograms.xml index 4ed6f41..53b6907 100644 --- a/tools/metrics/histograms/metadata/web_core/histograms.xml +++ b/tools/metrics/histograms/metadata/web_core/histograms.xml
@@ -288,7 +288,7 @@ </histogram> <histogram name="WebCore.IndexedDB.BackingStore.WriteError" - enum="IDBLevelDBBackingStoreInternalErrorType" expires_after="2023-06-24"> + enum="IDBLevelDBBackingStoreInternalErrorType" expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -339,7 +339,7 @@ </histogram> <histogram name="WebCore.IndexedDB.LevelDB.OpenTime" units="ms" - expires_after="2023-06-24"> + expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -432,7 +432,7 @@ </histogram> <histogram name="WebCore.IndexedDB.LevelDBWriteErrors" enum="LevelDBErrorTypes" - expires_after="2023-06-24"> + expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -451,7 +451,7 @@ </histogram> <histogram name="WebCore.IndexedDB.LevelDBWriteErrors.Corruption" - enum="LevelDBCorruptionTypes" expires_after="2023-06-24"> + enum="LevelDBCorruptionTypes" expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary> @@ -690,7 +690,7 @@ </histogram> <histogram name="WebCore.IndexedDB.TransactionAbortReason" enum="IDBException" - expires_after="2023-06-24"> + expires_after="2023-08-27"> <owner>ayui@chromium.org</owner> <owner>chrome-owp-storage@google.com</owner> <summary>
diff --git a/tools/metrics/histograms/metadata/web_rtc/histograms.xml b/tools/metrics/histograms/metadata/web_rtc/histograms.xml index 3dc5b7d..776945e 100644 --- a/tools/metrics/histograms/metadata/web_rtc/histograms.xml +++ b/tools/metrics/histograms/metadata/web_rtc/histograms.xml
@@ -237,7 +237,7 @@ </histogram> <histogram name="WebRTC.Audio.ApmCaptureInputLevelAverageRms" - units="dBFS (negated)" expires_after="2023-06-25"> + units="dBFS (negated)" expires_after="2023-08-27"> <owner>hlundin@chromium.org</owner> <owner>webrtc-audio-uma@google.com</owner> <summary> @@ -442,7 +442,7 @@ </histogram> <histogram name="WebRTC.Audio.EchoCanceller.FilterDelay" units="Blocks" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>peah@chromium.org</owner> <owner>saza@chromium.org</owner> <owner>webrtc-audio-uma@google.com</owner> @@ -705,7 +705,7 @@ </histogram> <histogram name="WebRTC.AudioOutputSampleRate" enum="AudioSampleRate" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>saza@chromium.org</owner> <owner>olka@chromium.org</owner> <owner>webrtc-audio-uma@google.com</owner> @@ -816,7 +816,7 @@ </histogram> <histogram name="WebRTC.Call.EstimatedSendBitrateInKbps" units="kbps" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>holmer@chromium.org</owner> <summary> Average estimated send bitrate during a call, counted from first packet sent @@ -854,7 +854,7 @@ </histogram> <histogram name="WebRTC.Call.TimeReceivingAudioRtpPacketsInSeconds" units="s" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>saza@chromium.org</owner> <summary> The amount of time between the arrival of the first and last audio RTP @@ -3775,7 +3775,7 @@ </histogram> <histogram name="WebRTC.webkitApiCount" enum="RTCAPIName" - expires_after="2023-06-25"> + expires_after="2023-08-27"> <owner>toprice@chromium.org</owner> <owner>hbos@chromium.org</owner> <owner>mcasas@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/webapps/histograms.xml b/tools/metrics/histograms/metadata/webapps/histograms.xml index 664fde6..302f5558 100644 --- a/tools/metrics/histograms/metadata/webapps/histograms.xml +++ b/tools/metrics/histograms/metadata/webapps/histograms.xml
@@ -311,7 +311,7 @@ </histogram> <histogram base="true" name="WebApp.Engagement" - enum="SiteEngagementServiceEngagementType" expires_after="2023-06-25"> + enum="SiteEngagementServiceEngagementType" expires_after="2023-08-27"> <owner>mgiuca@chromium.org</owner> <owner>desktop-pwas-team@google.com</owner> <summary> @@ -1329,7 +1329,7 @@ </histogram> <histogram name="Webapp.Update.ManifestUpdateResult" - enum="WebAppManifestUpdateResult" expires_after="2023-06-25"> + enum="WebAppManifestUpdateResult" expires_after="2023-08-27"> <owner>alancutter@chromium.org</owner> <owner>desktop-pwas-team@chromium.org</owner> <summary>
diff --git a/tools/perf/core/perfetto_binary_roller/binary_deps.json b/tools/perf/core/perfetto_binary_roller/binary_deps.json index 70f27c01..b984cbb 100644 --- a/tools/perf/core/perfetto_binary_roller/binary_deps.json +++ b/tools/perf/core/perfetto_binary_roller/binary_deps.json
@@ -5,8 +5,8 @@ "full_remote_path": "perfetto-luci-artifacts/1d202f2412734f1e782d991618c7c4a7952e8738/linux-arm64/trace_processor_shell" }, "win": { - "hash": "89da53f44f6976e7dd87651d2a2e6f03647078b1", - "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/win/7c5fe42e47b51d5f745aa543a76b091bf3e0daa6/trace_processor_shell.exe" + "hash": "739d2d1c205078dfaead09fa4f0f68c94c4ed398", + "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/win/7a66b67faed54d3ad446a60e94f2bb7a69899882/trace_processor_shell.exe" }, "linux_arm": { "hash": "0606572451d2b1efd97a9cbc99906d2ca8351d1f",
diff --git a/tools/typescript/definitions/passwords_private.d.ts b/tools/typescript/definitions/passwords_private.d.ts index 3a62ed9..b5663525 100644 --- a/tools/typescript/definitions/passwords_private.d.ts +++ b/tools/typescript/definitions/passwords_private.d.ts
@@ -103,6 +103,7 @@ export interface DomainInfo { name: string; url: string; + signonRealm: string; } export interface PasswordUiEntry {
diff --git a/ui/base/clipboard/clipboard_util_win.cc b/ui/base/clipboard/clipboard_util_win.cc index 392ef4ba..c2344c1 100644 --- a/ui/base/clipboard/clipboard_util_win.cc +++ b/ui/base/clipboard/clipboard_util_win.cc
@@ -211,7 +211,8 @@ base::win::ScopedHGlobal<char*> data(hdata); // Don't write to the temp file for empty content--leave it at 0-bytes. if (!(data.Size() == 1 && data.get()[0] == '\0')) { - if (base::WriteFile(temp_path, data.get(), data.Size()) < 0) { + if (!base::WriteFile(temp_path, + base::StringPiece(data.get(), data.Size()))) { base::DeleteFile(temp_path); return base::FilePath(); }