diff --git a/DEPS b/DEPS index 4be08bb..121083e 100644 --- a/DEPS +++ b/DEPS
@@ -55,11 +55,11 @@ # 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': 'd48fd05bd9c02dfc411514f4614c941067b81790', + 'skia_revision': '6566b97b76d3cb76ee255a3d128d048376d300bd', # 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': '616b12680c446a0c2393e0b45af7d10151eb3e0a', + 'v8_revision': '0a86db8f93804983baf12747d07bd631197636c7', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling swarming_client # and whatever else without interference from each other. @@ -75,11 +75,11 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling SwiftShader # and whatever else without interference from each other. - 'swiftshader_revision': 'ec5da193b1c29dc8bee19dcc8fe297901ff74911', + 'swiftshader_revision': '6e27fea85f863bcc620761efc678e9ad3e5f6ff4', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling PDFium # and whatever else without interference from each other. - 'pdfium_revision': '78b334a824c42138f5e98060638b1643b0279602', + 'pdfium_revision': '704cf8361659c4719d1294048a0e37991fa41748', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling openmax_dl # and whatever else without interference from each other. @@ -595,7 +595,7 @@ Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + '34842fa3c36988840c89f5bc6a68503175acf7d9', 'src/third_party/webrtc': - Var('webrtc_git') + '/src.git' + '@' + '8ed8e56149995cdb05d1566bc23a97bf93b9a236', # commit position 20237 + Var('webrtc_git') + '/src.git' + '@' + '5d7fd19c209f703b6abf455bf69793e6741a1a4d', # commit position 20237 'src/third_party/xdg-utils': { 'url': Var('chromium_git') + '/chromium/deps/xdg-utils.git' + '@' + 'd80274d5869b17b8c9067a1022e4416ee7ed5e0d',
diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn index ab91291..e0fbc06 100644 --- a/android_webview/BUILD.gn +++ b/android_webview/BUILD.gn
@@ -411,6 +411,9 @@ ] configs -= [ "//build/config/android:hide_all_but_jni_onload" ] configs += [ "//build/config/android:hide_all_but_jni" ] + if (use_lld) { + configs += [ "//build/config/android:lld_pack_relocations" ] + } } }
diff --git a/ash/display/display_manager_unittest.cc b/ash/display/display_manager_unittest.cc index c2888e9..f09f1063 100644 --- a/ash/display/display_manager_unittest.cc +++ b/ash/display/display_manager_unittest.cc
@@ -1137,7 +1137,7 @@ const display::ManagedDisplayInfo display_info1 = GetDisplayInfoAt(0); const display::ManagedDisplayInfo display_info2 = GetDisplayInfoAt(1); - constexpr uint32_t touch_device_identifier_2 = 2345; + display::TouchDeviceIdentifier touch_device_identifier_2(2345); EXPECT_FALSE(display_info2.touch_calibration_data_map().size()); @@ -1203,7 +1203,7 @@ EXPECT_EQ(touch_data, GetDisplayInfoAt(1).GetTouchCalibrationData( touch_device_identifier_2)); - uint32_t touch_device_identifier_2_2 = 2456; + display::TouchDeviceIdentifier touch_device_identifier_2_2(2456); display_manager()->SetTouchCalibrationData( display_info2.id(), point_pair_quad_2, bounds_at_calibration, touch_device_identifier_2_2);
diff --git a/ash/display/touch_calibrator_controller.cc b/ash/display/touch_calibrator_controller.cc index 64532a6..8b78be3 100644 --- a/ash/display/touch_calibrator_controller.cc +++ b/ash/display/touch_calibrator_controller.cc
@@ -133,15 +133,15 @@ const CalibrationPointPairQuad& pairs, const gfx::Size& display_size) { bool did_find_touch_device = false; - uint32_t touch_device_identifier = - display::TouchCalibrationData::GetFallbackTouchDeviceIdentifier(); + display::TouchDeviceIdentifier touch_device_identifier = + display::TouchDeviceIdentifier::GetFallbackTouchDeviceIdentifier(); const std::vector<ui::TouchscreenDevice>& device_list = ui::DeviceDataManager::GetInstance()->GetTouchscreenDevices(); for (const auto& device : device_list) { if (device.id == touch_device_id_) { touch_device_identifier = - display::TouchCalibrationData::GenerateTouchDeviceIdentifier(device); + display::TouchDeviceIdentifier::FromDevice(device); did_find_touch_device = true; break; } @@ -152,13 +152,13 @@ << "complete touch calibration for display with id: " << target_display_.id() << ". Storing it as a fallback"; } else if (touch_device_identifier == - display::TouchCalibrationData:: + display::TouchDeviceIdentifier:: GetFallbackTouchDeviceIdentifier()) { LOG(ERROR) << "Hash collision in generating touch device identifier for " << " device. Hash Generated: " << touch_device_identifier << " || Fallback touch device identifier: " - << display::TouchCalibrationData::GetFallbackTouchDeviceIdentifier(); + << display::TouchDeviceIdentifier::GetFallbackTouchDeviceIdentifier(); } if (opt_callback_) {
diff --git a/ash/display/touch_calibrator_controller_unittest.cc b/ash/display/touch_calibrator_controller_unittest.cc index a7412db..30bb40f 100644 --- a/ash/display/touch_calibrator_controller_unittest.cc +++ b/ash/display/touch_calibrator_controller_unittest.cc
@@ -229,8 +229,8 @@ const display::ManagedDisplayInfo& info = display_manager()->GetDisplayInfo(touch_display.id()); - uint32_t touch_device_identifier = - display::TouchCalibrationData::GenerateTouchDeviceIdentifier(touchdevice); + display::TouchDeviceIdentifier touch_device_identifier = + display::TouchDeviceIdentifier::FromDevice(touchdevice); EXPECT_TRUE(info.HasTouchCalibrationData(touch_device_identifier)); EXPECT_EQ(calibration_data, info.GetTouchCalibrationData(touch_device_identifier)); @@ -273,7 +273,7 @@ const display::ManagedDisplayInfo& info = display_manager()->GetDisplayInfo(touch_display.id()); - uint32_t random_touch_device_identifier = 123456; + display::TouchDeviceIdentifier random_touch_device_identifier(123456); EXPECT_TRUE(info.HasTouchCalibrationData(random_touch_device_identifier)); EXPECT_EQ(calibration_data, info.GetTouchCalibrationData(random_touch_device_identifier));
diff --git a/ash/wm/splitview/split_view_overview_overlay.cc b/ash/wm/splitview/split_view_overview_overlay.cc index d45be4b3..73b06a37 100644 --- a/ash/wm/splitview/split_view_overview_overlay.cc +++ b/ash/wm/splitview/split_view_overview_overlay.cc
@@ -10,6 +10,7 @@ #include "ash/strings/grit/ash_strings.h" #include "ash/wm/root_window_finder.h" #include "ash/wm/splitview/split_view_controller.h" +#include "base/i18n/rtl.h" #include "base/strings/utf_string_conversions.h" #include "ui/aura/window.h" #include "ui/base/l10n/l10n_util.h" @@ -37,15 +38,12 @@ constexpr SkColor kLabelBackgroundColor = SK_ColorBLACK; constexpr SkColor kLabelEnabledColor = SK_ColorWHITE; -// Height of the labels. -constexpr int kLabelHeightDp = 40; - // The size of the warning icon in the when a window incompatible with // splitscreen is dragged. constexpr int kWarningIconSizeDp = 24; -// The amount of vertical inset to be applied on a rotated image label view. -constexpr int kRotatedViewVerticalInsetDp = 6; +// The amount of inset to be applied on a rotated image label view. +constexpr int kRotatedViewInsetDp = 8; // The amount of round applied to the corners of a rotated image label view. constexpr int kRotatedViewVerticalRoundRectRadius = 20; @@ -111,8 +109,8 @@ AddChildView(icon_); AddChildView(label_); layout->SetFlexForView(label_, 1); - SetBorder( - views::CreateEmptyBorder(gfx::Insets(kRotatedViewVerticalInsetDp, 0))); + SetBorder(views::CreateEmptyBorder( + gfx::Insets(kRotatedViewInsetDp, kRotatedViewInsetDp))); } ~RotatedImageLabelView() override = default; @@ -232,18 +230,22 @@ // Calculate the bounds of the views which contain the guidance text and // icon. Rotate the two views in landscape mode. - const int rotated_bounds_height = - kLabelHeightDp + - (left_rotated_view_->icon_visible() ? kWarningIconSizeDp : 0); - const int rotated_x = - landscape ? 0 : width() / 2 - kHighlightScreenWidth / 2; - const gfx::Rect rotated_bounds( - rotated_x, highlight_height / 2 - rotated_bounds_height / 2, - kHighlightScreenWidth, rotated_bounds_height); + const gfx::Size size = left_rotated_view_->GetPreferredSize(); + const gfx::Rect rotated_bounds(highlight_width / 2 - size.width() / 2, + highlight_height / 2 - size.height() / 2, + size.width(), size.height()); + + // In portrait mode, there is no need to rotate the text and warning icon. + // In landscape mode, rotate the left text 90 degrees clockwise in rtl and + // 90 degress anti clockwise in ltr. The right text is rotated 90 degrees in + // the opposite direction of the left text. + double left_rotation_angle = 0.0; + if (landscape) + left_rotation_angle = 90.0 * (base::i18n::IsRTL() ? 1 : -1); left_rotated_view_->OnBoundsUpdated(rotated_bounds, - landscape ? -90.0 : 0.0 /* angle */); + left_rotation_angle /* angle */); right_rotated_view_->OnBoundsUpdated(rotated_bounds, - landscape ? 90.0 : 0.0 /* angle */); + -left_rotation_angle /* angle */); } private: @@ -255,6 +257,7 @@ void SetLabelsText(const base::string16& text) { left_rotated_view_->SetLabelText(text); right_rotated_view_->SetLabelText(text); + Layout(); } void SetIconsVisible(bool visible) {
diff --git a/base/BUILD.gn b/base/BUILD.gn index aa113eb..3c9ead2 100644 --- a/base/BUILD.gn +++ b/base/BUILD.gn
@@ -120,9 +120,10 @@ # non-component case. static_component_type = "source_set" } - if (is_nacl) { + if (is_nacl || is_ios) { # Link errors related to malloc functions if libbase for nacl is - # compiled with jumbo. + # compiled with jumbo: https://crbug.com/775959. + # Same for ios: https://crbug.com/776313. never_build_jumbo = true }
diff --git a/base/mac/sdk_forward_declarations.h b/base/mac/sdk_forward_declarations.h index cc405f9..af7b2978 100644 --- a/base/mac/sdk_forward_declarations.h +++ b/base/mac/sdk_forward_declarations.h
@@ -100,6 +100,7 @@ @property(readonly, copy) NSString* activityType; @property(copy) NSDictionary* userInfo; @property(copy) NSURL* webpageURL; +@property(copy) NSString* title; - (instancetype)initWithActivityType:(NSString*)activityType; - (void)becomeCurrent; - (void)invalidate;
diff --git a/base/metrics/persistent_histogram_allocator.cc b/base/metrics/persistent_histogram_allocator.cc index 92f96af..47b7a07 100644 --- a/base/metrics/persistent_histogram_allocator.cc +++ b/base/metrics/persistent_histogram_allocator.cc
@@ -23,6 +23,9 @@ #include "base/metrics/statistics_recorder.h" #include "base/numerics/safe_conversions.h" #include "base/pickle.h" +#include "base/process/process_handle.h" +#include "base/strings/string_number_conversions.h" +#include "base/strings/string_split.h" #include "base/strings/stringprintf.h" #include "base/synchronization/lock.h" @@ -834,22 +837,71 @@ } // static +FilePath GlobalHistogramAllocator::ConstructFilePath(const FilePath& dir, + StringPiece name) { + return dir.AppendASCII(name).AddExtension( + PersistentMemoryAllocator::kFileExtension); +} + +// static +FilePath GlobalHistogramAllocator::ConstructFilePathForUploadDir( + const FilePath& dir, + StringPiece name, + base::Time stamp, + ProcessId pid) { + return ConstructFilePath( + dir, + StringPrintf("%.*s-%lX-%lX", static_cast<int>(name.length()), name.data(), + static_cast<long>(stamp.ToTimeT()), static_cast<long>(pid))); +} + +// static +bool GlobalHistogramAllocator::ParseFilePath(const FilePath& path, + std::string* out_name, + Time* out_stamp, + ProcessId* out_pid) { + std::string filename = path.BaseName().AsUTF8Unsafe(); + std::vector<base::StringPiece> parts = base::SplitStringPiece( + filename, "-.", base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL); + if (parts.size() != 4) + return false; + + if (out_name) + *out_name = parts[0].as_string(); + + if (out_stamp) { + int64_t stamp; + if (!HexStringToInt64(parts[1], &stamp)) + return false; + *out_stamp = Time::FromTimeT(static_cast<time_t>(stamp)); + } + + if (out_pid) { + int64_t pid; + if (!HexStringToInt64(parts[2], &pid)) + return false; + *out_pid = static_cast<ProcessId>(pid); + } + + return true; +} + +// static void GlobalHistogramAllocator::ConstructFilePaths(const FilePath& dir, StringPiece name, FilePath* out_base_path, FilePath* out_active_path, FilePath* out_spare_path) { if (out_base_path) - *out_base_path = MakeMetricsFilePath(dir, name); + *out_base_path = ConstructFilePath(dir, name); if (out_active_path) { *out_active_path = - MakeMetricsFilePath(dir, name.as_string().append("-active")); + ConstructFilePath(dir, name.as_string().append("-active")); } if (out_spare_path) { - *out_spare_path = - MakeMetricsFilePath(dir, name.as_string().append("-spare")); + *out_spare_path = ConstructFilePath(dir, name.as_string().append("-spare")); } } @@ -862,20 +914,18 @@ FilePath* out_active_path, FilePath* out_spare_path) { if (out_upload_path) { - std::string name_stamp = - StringPrintf("%s-%X", name.c_str(), - static_cast<unsigned int>(Time::Now().ToTimeT())); - *out_upload_path = MakeMetricsFilePath(upload_dir, name_stamp); + *out_upload_path = ConstructFilePathForUploadDir( + upload_dir, name, Time::Now(), GetCurrentProcId()); } if (out_active_path) { *out_active_path = - MakeMetricsFilePath(active_dir, name + std::string("-active")); + ConstructFilePath(active_dir, name + std::string("-active")); } if (out_spare_path) { *out_spare_path = - MakeMetricsFilePath(active_dir, name + std::string("-spare")); + ConstructFilePath(active_dir, name + std::string("-spare")); } } @@ -1065,11 +1115,4 @@ } } -// static -FilePath GlobalHistogramAllocator::MakeMetricsFilePath(const FilePath& dir, - StringPiece name) { - return dir.AppendASCII(name).AddExtension( - PersistentMemoryAllocator::kFileExtension); -} - } // namespace base
diff --git a/base/metrics/persistent_histogram_allocator.h b/base/metrics/persistent_histogram_allocator.h index a6e2ff5..3766ab1 100644 --- a/base/metrics/persistent_histogram_allocator.h +++ b/base/metrics/persistent_histogram_allocator.h
@@ -423,6 +423,21 @@ uint64_t id, StringPiece name); + // Constructs a filename using a name. + static FilePath ConstructFilePath(const FilePath& dir, StringPiece name); + + // Like above but with timestamp and pid for use in upload directories. + static FilePath ConstructFilePathForUploadDir(const FilePath& dir, + StringPiece name, + base::Time stamp, + ProcessId pid); + + // Parses a filename to extract name, timestamp, and pid. + static bool ParseFilePath(const FilePath& path, + std::string* out_name, + Time* out_stamp, + ProcessId* out_pid); + // Constructs a set of names in |dir| based on name that can be used for a // base + active persistent memory mapped location for CreateWithActiveFile(). // The spare path is a file that can be pre-created and moved to be active
diff --git a/base/metrics/persistent_histogram_allocator_unittest.cc b/base/metrics/persistent_histogram_allocator_unittest.cc index 0f7ba2bf..c492a246 100644 --- a/base/metrics/persistent_histogram_allocator_unittest.cc +++ b/base/metrics/persistent_histogram_allocator_unittest.cc
@@ -129,6 +129,34 @@ EXPECT_FALSE(recovered); } +TEST_F(PersistentHistogramAllocatorTest, ConstructPaths) { + const FilePath dir_path(FILE_PATH_LITERAL("foo/")); + const std::string dir_string = + dir_path.NormalizePathSeparators().AsUTF8Unsafe(); + + FilePath path = GlobalHistogramAllocator::ConstructFilePath(dir_path, "bar"); + EXPECT_EQ(dir_string + "bar.pma", path.AsUTF8Unsafe()); + + std::string name; + Time stamp; + ProcessId pid; + EXPECT_FALSE( + GlobalHistogramAllocator::ParseFilePath(path, &name, nullptr, nullptr)); + EXPECT_FALSE( + GlobalHistogramAllocator::ParseFilePath(path, nullptr, &stamp, nullptr)); + EXPECT_FALSE( + GlobalHistogramAllocator::ParseFilePath(path, nullptr, nullptr, &pid)); + + path = GlobalHistogramAllocator::ConstructFilePathForUploadDir( + dir_path, "bar", Time::FromTimeT(12345), 6789); + EXPECT_EQ(dir_string + "bar-3039-1A85.pma", path.AsUTF8Unsafe()); + ASSERT_TRUE( + GlobalHistogramAllocator::ParseFilePath(path, &name, &stamp, &pid)); + EXPECT_EQ(name, "bar"); + EXPECT_EQ(Time::FromTimeT(12345), stamp); + EXPECT_EQ(static_cast<ProcessId>(6789), pid); +} + TEST_F(PersistentHistogramAllocatorTest, CreateWithFile) { const char temp_name[] = "CreateWithFileTest"; ScopedTempDir temp_dir;
diff --git a/build/android/gyp/create_test_runner_script.py b/build/android/gyp/create_test_runner_script.py index a67da882..587416d 100755 --- a/build/android/gyp/create_test_runner_script.py +++ b/build/android/gyp/create_test_runner_script.py
@@ -82,7 +82,7 @@ group.add_argument('--android-manifest-path') group.add_argument('--resource-zips') group.add_argument('--robolectric-runtime-deps-dir') - group.add_argument('--enable-relocation-packing') + group.add_argument('--non-native-packed-relocations') args, test_runner_args = parser.parse_known_args( build_utils.ExpandFileArgs(args)) @@ -95,8 +95,8 @@ test_runner_path = RelativizePathToScript(test_runner_path) test_runner_path_args = [] - if args.enable_relocation_packing and args.enable_relocation_packing == "1": - test_runner_args.append('--enable-relocation-packing') + if 'True' == args.non_native_packed_relocations: + test_runner_args.append('--non-native-packed-relocations') if args.additional_apk_list: args.additional_apks.extend( build_utils.ParseGnList(args.additional_apk_list))
diff --git a/build/android/gyp/write_build_config.py b/build/android/gyp/write_build_config.py index 395ef1b..a463251 100755 --- a/build/android/gyp/write_build_config.py +++ b/build/android/gyp/write_build_config.py
@@ -307,8 +307,10 @@ parser.add_option('--secondary-abi-shared-libraries-runtime-deps', help='Path to file containing runtime deps for secondary ' 'abi shared libraries.') - parser.add_option('--enable-relocation-packing', - help='Whether relocation packing is enabled.') + parser.add_option('--non-native-packed-relocations', + action='store_true', default=False, + help='Whether relocation packing was applied using the ' + 'Android relocation_packer tool.') # apk options parser.add_option('--apk-path', help='Path to the target\'s apk output.') @@ -476,7 +478,8 @@ deps_info['incremental_apk_path'] = options.incremental_apk_path deps_info['incremental_install_json_path'] = ( options.incremental_install_json_path) - deps_info['enable_relocation_packing'] = options.enable_relocation_packing + deps_info['non_native_packed_relocations'] = str( + options.non_native_packed_relocations) requires_javac_classpath = options.type in ( 'java_binary', 'java_library', 'android_apk', 'dist_jar')
diff --git a/build/android/pylib/instrumentation/instrumentation_test_instance.py b/build/android/pylib/instrumentation/instrumentation_test_instance.py index 91f500dd..0651134 100644 --- a/build/android/pylib/instrumentation/instrumentation_test_instance.py +++ b/build/android/pylib/instrumentation/instrumentation_test_instance.py
@@ -697,7 +697,7 @@ self._store_tombstones = args.store_tombstones self._symbolizer = stack_symbolizer.Symbolizer( self.apk_under_test.path if self.apk_under_test else None, - args.enable_relocation_packing) + args.non_native_packed_relocations) def _initializeEditPrefsAttributes(self, args): if not hasattr(args, 'shared_prefs_file') or not args.shared_prefs_file:
diff --git a/build/android/pylib/symbols/stack_symbolizer.py b/build/android/pylib/symbols/stack_symbolizer.py index 6de896a..c1c9afb 100644 --- a/build/android/pylib/symbols/stack_symbolizer.py +++ b/build/android/pylib/symbols/stack_symbolizer.py
@@ -32,9 +32,9 @@ """A helper class to symbolize stack.""" def __init__(self, apk_under_test=None, - enable_relocation_packing=None): + non_native_packed_relocations=None): self._apk_under_test = apk_under_test - self._enable_relocation_packing = enable_relocation_packing + self._non_native_packed_relocations = non_native_packed_relocations self._libs_dir = None self._apk_libs = [] self._has_unzipped = False @@ -57,7 +57,7 @@ def UnzipAPKIfNecessary(self): """Unzip apk if packed relocation is enabled.""" if (self._has_unzipped - or not self._enable_relocation_packing + or not self._non_native_packed_relocations or not self._apk_under_test): return self._libs_dir = tempfile.mkdtemp() @@ -89,7 +89,7 @@ cmd = [_STACK_TOOL, '--arch', arch, '--output-directory', constants.GetOutDirectory(), '--more-info'] - if self._enable_relocation_packing and self._apk_libs: + if self._non_native_packed_relocations and self._apk_libs: for apk_lib in self._apk_libs: cmd.extend(['--packed-lib', apk_lib]) env = dict(os.environ)
diff --git a/build/android/test_runner.py b/build/android/test_runner.py index 4c16340..bf2b6d4e 100755 --- a/build/android/test_runner.py +++ b/build/android/test_runner.py
@@ -417,10 +417,10 @@ dest='render_results_dir', help='Directory to pull render test result images off of the device to.') parser.add_argument( - '--enable-relocation-packing', - dest='enable_relocation_packing', + '--non-native-packed-relocations', action='store_true', - help='Whether relocation packing is enabled.') + help='Whether relocations were packed using the Android ' + 'relocation_packer tool.') def package_replacement(arg): split_arg = arg.split(',') if len(split_arg) != 2:
diff --git a/build/android/tombstones.py b/build/android/tombstones.py index 6e711ff..8a3020a 100755 --- a/build/android/tombstones.py +++ b/build/android/tombstones.py
@@ -199,8 +199,7 @@ def ResolveTombstones(device, resolve_all_tombstones, include_stack_symbols, - wipe_tombstones, jobs=4, - apk_under_test=None, enable_relocation_packing=None, + wipe_tombstones, jobs=4, apk_under_test=None, tombstone_symbolizer=None): """Resolve tombstones in the device. @@ -220,9 +219,7 @@ include_stack_symbols, wipe_tombstones), (tombstone_symbolizer - or stack_symbolizer.Symbolizer( - apk_under_test, - enable_relocation_packing))) + or stack_symbolizer.Symbolizer(apk_under_test))) def main():
diff --git a/build/config/android/BUILD.gn b/build/config/android/BUILD.gn index 1ded9759..f50df8d 100644 --- a/build/config/android/BUILD.gn +++ b/build/config/android/BUILD.gn
@@ -188,6 +188,10 @@ rebase_path("//build/android/android_only_jni_exports.lst") ] } +config("lld_pack_relocations") { + ldflags = [ "-Wl,--pack-dyn-relocs=android" ] +} + # Instrumentation ------------------------------------------------------------- # # The BUILDCONFIG file sets the "default_cygprofile_instrumentation" config on
diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni index dd6df00..fe92b30 100644 --- a/build/config/android/internal_rules.gni +++ b/build/config/android/internal_rules.gni
@@ -304,11 +304,9 @@ } } } - if (defined(invoker.enable_relocation_packing)) { - args += [ - "--enable-relocation-packing", - invoker.enable_relocation_packing, - ] + if (defined(invoker.non_native_packed_relocations) && + invoker.non_native_packed_relocations) { + args += [ "--non-native-packed-relocations" ] } if (defined(invoker.java_sources_file)) { args += [ @@ -550,8 +548,8 @@ } test_runner_args += [ "--apk-under-test=$_apk_under_test" ] test_runner_args += [ - "--enable-relocation-packing", - "@FileArg($_rebased_apk_under_test_build_config:deps_info:enable_relocation_packing)", + "--non-native-packed-relocations", + "@FileArg($_rebased_apk_under_test_build_config:deps_info:non_native_packed_relocations)", ] } if (defined(invoker.proguard_enabled) && invoker.proguard_enabled) {
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni index 23646ee..e1f11c9e 100644 --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni
@@ -1805,15 +1805,8 @@ _use_chromium_linker = defined(invoker.use_chromium_linker) && invoker.use_chromium_linker - _enable_relocation_packing = defined(invoker.enable_relocation_packing) && - invoker.enable_relocation_packing - - if (use_lld) { - # TODO(pcc): lld's output is currently incompatible with the relocation - # packer tool. We will probably want to implement relocation packing in - # lld itself eventually. http://crbug.com/760838. - _enable_relocation_packing = false - } + _pack_relocations = + defined(invoker.pack_relocations) && invoker.pack_relocations _load_library_from_apk = defined(invoker.load_library_from_apk) && invoker.load_library_from_apk @@ -1822,16 +1815,17 @@ assert(_use_chromium_linker || true) # Mark as used. assert(_requires_sdk_api_level_23 || true) - if (_enable_relocation_packing) { - assert(_use_chromium_linker || _requires_sdk_api_level_23, - "enable_relocation_packing requires either use_chromium_linker " + - "or requires_sdk_api_level_23") - } - if (_load_library_from_apk) { - assert(_use_chromium_linker || _requires_sdk_api_level_23, - "load_library_from_apk requires use_chromium_linker " + - "or requires_sdk_api_level_23") - } + assert(!_pack_relocations || !use_lld, + "Use //build/config/android:lld_pack_relocations to pack " + + "relocations when use_lld=true.") + assert(!_pack_relocations || _use_chromium_linker || + _requires_sdk_api_level_23, + "pack_relocations requires either use_chromium_linker " + + "or requires_sdk_api_level_23") + assert(!_load_library_from_apk || _use_chromium_linker || + _requires_sdk_api_level_23, + "load_library_from_apk requires use_chromium_linker " + + "or requires_sdk_api_level_23") # The dependency that makes the chromium linker, if any is needed. _native_libs_deps = [] @@ -1977,11 +1971,7 @@ if (_proguard_enabled) { proguard_info = "$_proguard_output_jar_path.info" } - if (_enable_relocation_packing) { - enable_relocation_packing = "1" - } else { - enable_relocation_packing = "0" - } + non_native_packed_relocations = _pack_relocations # Don't depend on the runtime_deps target in order to avoid having to # build the native libraries just to create the .build_config file. @@ -2327,7 +2317,7 @@ assert(_secondary_abi_native_libs_file_arg != "" && _secondary_abi_native_libs_file_arg_dep != "") # Mark as used. - if (_native_libs_deps != [] && _enable_relocation_packing) { + if (_native_libs_deps != [] && _pack_relocations) { _prepare_native_target_name = "${_template_name}__prepare_native" _native_libs_json = "$gen_dir/packed-libs/filelist.json" _rebased_native_libs_json = rebase_path(_native_libs_json, root_build_dir) @@ -2397,7 +2387,7 @@ stack_script(_create_stack_script_rule_name) { stack_target_name = invoker.target_name deps = _native_libs_deps - if (_native_libs_deps != [] && _enable_relocation_packing) { + if (_native_libs_deps != [] && _pack_relocations) { packed_libraries = _native_libs_file_arg deps += [ _native_libs_file_arg_dep ] }
diff --git a/build/secondary/third_party/crashpad/crashpad/test/BUILD.gn b/build/secondary/third_party/crashpad/crashpad/test/BUILD.gn index 6c8f3d9..c9375a1 100644 --- a/build/secondary/third_party/crashpad/crashpad/test/BUILD.gn +++ b/build/secondary/third_party/crashpad/crashpad/test/BUILD.gn
@@ -49,6 +49,9 @@ "//third_party/crashpad/crashpad/snapshot", "//third_party/crashpad/crashpad/util", ] + data = [ + "test_paths_test_data_root.txt", + ] include_dirs = [ ".." ] if (is_mac) { libs = [ "bsm" ] @@ -57,11 +60,13 @@ static_library("crashpad_gtest_main") { testonly = true + defines = [ "CRASHPAD_IN_CHROMIUM" ] sources = [ "gtest_main.cc", ] deps = [ ":crashpad_test", + "//base/test:test_support", "//testing/gtest", ] include_dirs = [ ".." ] @@ -69,11 +74,13 @@ static_library("crashpad_gmock_main") { testonly = true + defines = [ "CRASHPAD_IN_CHROMIUM" ] sources = [ "gmock_main.cc", ] deps = [ ":crashpad_test", + "//base/test:test_support", "//testing/gmock", "//testing/gtest", ]
diff --git a/build/secondary/third_party/crashpad/crashpad/util/BUILD.gn b/build/secondary/third_party/crashpad/crashpad/util/BUILD.gn index f82acc3..e83602b 100644 --- a/build/secondary/third_party/crashpad/crashpad/util/BUILD.gn +++ b/build/secondary/third_party/crashpad/crashpad/util/BUILD.gn
@@ -414,7 +414,7 @@ ] if (is_win) { - deps += [ + data_deps = [ ":crashpad_util_test_process_info_test_child", ":crashpad_util_test_safe_terminate_process_test_child", ] @@ -431,6 +431,12 @@ } include_dirs = [ ".." ] + defines = [ "CRASHPAD_IN_CHROMIUM" ] + + data = [ + "net/http_transport_test_server.py", + "net/testdata/", + ] } if (is_win) {
diff --git a/cc/debug/rendering_stats.cc b/cc/debug/rendering_stats.cc index 5ba58d73..c17edb4 100644 --- a/cc/debug/rendering_stats.cc +++ b/cc/debug/rendering_stats.cc
@@ -80,24 +80,4 @@ return std::move(record_data); } -void RenderingStats::Add(const RenderingStats& other) { - frame_count += other.frame_count; - visible_content_area += other.visible_content_area; - approximated_visible_content_area += other.approximated_visible_content_area; - checkerboarded_visible_content_area += - other.checkerboarded_visible_content_area; - checkerboarded_no_recording_content_area += - other.checkerboarded_no_recording_content_area; - checkerboarded_needs_raster_content_area += - other.checkerboarded_needs_raster_content_area; - - draw_duration.Add(other.draw_duration); - draw_duration_estimate.Add(other.draw_duration_estimate); - begin_main_frame_to_commit_duration.Add( - other.begin_main_frame_to_commit_duration); - commit_to_activate_duration.Add(other.commit_to_activate_duration); - commit_to_activate_duration_estimate.Add( - other.commit_to_activate_duration_estimate); -} - } // namespace cc
diff --git a/cc/debug/rendering_stats.h b/cc/debug/rendering_stats.h index 06a9e03..156db0c 100644 --- a/cc/debug/rendering_stats.h +++ b/cc/debug/rendering_stats.h
@@ -41,9 +41,6 @@ RenderingStats(const RenderingStats& other); ~RenderingStats(); - // Note: when adding new members, please remember to update Add in - // rendering_stats.cc. - int64_t frame_count; int64_t visible_content_area; int64_t approximated_visible_content_area; @@ -59,7 +56,6 @@ std::unique_ptr<base::trace_event::ConvertableToTraceFormat> AsTraceableData() const; - void Add(const RenderingStats& other); }; } // namespace cc
diff --git a/cc/debug/rendering_stats_instrumentation.cc b/cc/debug/rendering_stats_instrumentation.cc index f72411c..e74b939 100644 --- a/cc/debug/rendering_stats_instrumentation.cc +++ b/cc/debug/rendering_stats_instrumentation.cc
@@ -22,23 +22,11 @@ RenderingStatsInstrumentation::~RenderingStatsInstrumentation() {} -RenderingStats RenderingStatsInstrumentation::impl_thread_rendering_stats() { +RenderingStats RenderingStatsInstrumentation::TakeImplThreadRenderingStats() { base::AutoLock scoped_lock(lock_); - return impl_thread_rendering_stats_; -} - -RenderingStats RenderingStatsInstrumentation::GetRenderingStats() { - base::AutoLock scoped_lock(lock_); - RenderingStats rendering_stats; - rendering_stats = impl_thread_rendering_stats_accu_; - rendering_stats.Add(impl_thread_rendering_stats_); - return rendering_stats; -} - -void RenderingStatsInstrumentation::AccumulateAndClearImplThreadStats() { - base::AutoLock scoped_lock(lock_); - impl_thread_rendering_stats_accu_.Add(impl_thread_rendering_stats_); + auto stats = impl_thread_rendering_stats_; impl_thread_rendering_stats_ = RenderingStats(); + return stats; } void RenderingStatsInstrumentation::IncrementFrameCount(int64_t count) {
diff --git a/cc/debug/rendering_stats_instrumentation.h b/cc/debug/rendering_stats_instrumentation.h index 35a07e8..3f656dbe 100644 --- a/cc/debug/rendering_stats_instrumentation.h +++ b/cc/debug/rendering_stats_instrumentation.h
@@ -22,15 +22,9 @@ static std::unique_ptr<RenderingStatsInstrumentation> Create(); virtual ~RenderingStatsInstrumentation(); - // Return copy of current impl thread rendering stats. - RenderingStats impl_thread_rendering_stats(); - - // Return the accumulated, combined rendering stats. - RenderingStats GetRenderingStats(); - - // Add current impl thread rendering stats to accumulator and - // clear current stats. - void AccumulateAndClearImplThreadStats(); + // Return copy of current impl thread rendering stats, and resets the current + // stats. + RenderingStats TakeImplThreadRenderingStats(); // Read and write access to the record_rendering_stats_ flag is not locked to // improve performance. The flag is commonly turned off and hardly changes @@ -60,7 +54,6 @@ private: RenderingStats impl_thread_rendering_stats_; - RenderingStats impl_thread_rendering_stats_accu_; bool record_rendering_stats_;
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc index d634ab52..f20a8a9 100644 --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc
@@ -1846,8 +1846,7 @@ active_tree_->set_has_ever_been_drawn(true); devtools_instrumentation::DidDrawFrame(id_); benchmark_instrumentation::IssueImplThreadRenderingStatsEvent( - rendering_stats_instrumentation_->impl_thread_rendering_stats()); - rendering_stats_instrumentation_->AccumulateAndClearImplThreadStats(); + rendering_stats_instrumentation_->TakeImplThreadRenderingStats()); return true; }
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn index 35eedae..be938cb 100644 --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn
@@ -741,6 +741,10 @@ ldflags = [ "-Wl,--long-plt" ] } + if (chromium_linker_supported && use_lld) { + configs += [ "//build/config/android:lld_pack_relocations" ] + } + public_configs = extra_chrome_shared_library_configs deps += extra_chrome_shared_library_deps } @@ -910,6 +914,9 @@ configs -= [ "//build/config/android:hide_all_but_jni_onload" ] configs += [ "//build/config/android:hide_all_but_jni" ] + if (use_lld) { + configs += [ "//build/config/android:lld_pack_relocations" ] + } if (is_android && use_order_profiling) { deps += [ "//tools/cygprofile" ] } @@ -944,6 +951,9 @@ libs = [ "//third_party/gvr-android-sdk/libgvr_shim_static_${current_cpu}.a" ] } + if (use_lld) { + configs += [ "//build/config/android:lld_pack_relocations" ] + } } # Contains rules common to chrome_public_apk and chrome_sync_shell_apk
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni index 0dc5104e..49b8148 100644 --- a/chrome/android/chrome_public_apk_tmpl.gni +++ b/chrome/android/chrome_public_apk_tmpl.gni
@@ -10,20 +10,6 @@ import("channel.gni") declare_args() { - # Whether chrome_public_apk should use the crazy linker. - chrome_public_apk_use_chromium_linker = chromium_linker_supported - - # Whether chrome_public_apk should use the relocation packer. - chrome_public_apk_use_relocation_packer = chromium_linker_supported - - # Whether native libraries should be loaded from within the apk. - # Only attempt loading the library from the APK for 64 bit devices - # until the number of 32 bit devices which don't support this - # approach falls to a minimal level - http://crbug.com/390618. - chrome_public_apk_load_library_from_apk = - chromium_linker_supported && - (current_cpu == "arm64" || current_cpu == "x64") - # Enables ProGuard obfuscation of Chromium packages. enable_proguard_obfuscation = false @@ -84,17 +70,25 @@ } if (!defined(use_chromium_linker)) { - use_chromium_linker = chrome_public_apk_use_chromium_linker + use_chromium_linker = chromium_linker_supported } if (use_chromium_linker) { if (!defined(load_library_from_apk)) { - load_library_from_apk = chrome_public_apk_load_library_from_apk + # Whether native libraries should be loaded from within the apk. + # Only attempt loading the library from the APK for 64 bit devices + # until the number of 32 bit devices which don't support this + # approach falls to a minimal level - http://crbug.com/390618. + load_library_from_apk = chromium_linker_supported && + (current_cpu == "arm64" || current_cpu == "x64") } - - if (!defined(enable_relocation_packing)) { - enable_relocation_packing = chrome_public_apk_use_relocation_packer + } + if (!defined(pack_relocations)) { + if (!defined(requires_sdk_api_level_23)) { + requires_sdk_api_level_23 = false } + pack_relocations = + !use_lld && (use_chromium_linker || requires_sdk_api_level_23) } command_line_flags_file = "chrome-command-line" } @@ -118,7 +112,6 @@ app_as_shared_lib = true use_chromium_linker = false requires_sdk_api_level_23 = true - enable_relocation_packing = true extensions_to_not_compress = ".lpak,.pak,.bin,.dat" # Webview supports all locales (has no omitted ones).
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java index b63bc21..08c0489 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
@@ -8,6 +8,7 @@ import android.content.Intent; import android.os.Handler; import android.os.Looper; +import android.support.annotation.Nullable; import org.chromium.base.BuildInfo; import org.chromium.base.Callback; @@ -31,6 +32,8 @@ import org.chromium.chrome.browser.net.qualityprovider.ExternalEstimateProviderAndroid; import org.chromium.chrome.browser.offlinepages.CCTRequestStatus; import org.chromium.chrome.browser.omaha.RequestGenerator; +import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmark; +import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksProviderIterator; import org.chromium.chrome.browser.physicalweb.PhysicalWebBleClient; import org.chromium.chrome.browser.policy.PolicyAuditor; import org.chromium.chrome.browser.preferences.LocationSettings; @@ -311,4 +314,12 @@ public List<String> getOfflinePagesCctWhitelist() { return Collections.emptyList(); } + + /** + * @return An iterator of partner bookmarks. + */ + @Nullable + public PartnerBookmark.BookmarkIterator getPartnerBookmarkIterator() { + return PartnerBookmarksProviderIterator.createIfAvailable(); + } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/FramebustBlockInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/FramebustBlockInfoBar.java index 8f890c3..95a7c10 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/FramebustBlockInfoBar.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/FramebustBlockInfoBar.java
@@ -5,14 +5,7 @@ package org.chromium.chrome.browser.infobar; import android.net.Uri; -import android.support.v4.text.BidiFormatter; -import android.text.SpannableString; -import android.text.SpannableStringBuilder; -import android.text.Spanned; -import android.text.method.LinkMovementMethod; -import android.view.Gravity; import android.view.LayoutInflater; -import android.view.View; import android.view.ViewGroup; import android.widget.TextView; @@ -22,7 +15,6 @@ import org.chromium.chrome.browser.interventions.FramebustBlockMessageDelegate; import org.chromium.chrome.browser.interventions.FramebustBlockMessageDelegateBridge; import org.chromium.components.url_formatter.UrlFormatter; -import org.chromium.ui.text.NoUnderlineClickableSpan; /** * This InfoBar is shown to let the user know about a blocked Framebust and offer to @@ -62,8 +54,7 @@ // them (e.g. file, filesystem). We split the output of the formatting to make sure we don't // end up duplicating it. String url = mDelegate.getBlockedUrl(); - String formattedUrl = - UrlFormatter.formatUrlForSecurityDisplay(mDelegate.getBlockedUrl(), true); + String formattedUrl = UrlFormatter.formatUrlForSecurityDisplay(url, true); String scheme = Uri.parse(url).getScheme() + "://"; TextView schemeView = ellipsizerView.findViewById(R.id.url_scheme); @@ -80,21 +71,10 @@ @Override protected void createCompactLayoutContent(InfoBarCompactLayout layout) { - final int messagePadding = getContext().getResources().getDimensionPixelOffset( - R.dimen.reader_mode_infobar_text_padding); - - SpannableStringBuilder builder = new SpannableStringBuilder(); - builder.append(BidiFormatter.getInstance().unicodeWrap(mDelegate.getShortMessage())); - builder.append(" "); - builder.append(makeDetailsLink()); - - TextView prompt = new TextView(getContext(), null); - prompt.setText(builder); - prompt.setMovementMethod(LinkMovementMethod.getInstance()); - prompt.setGravity(Gravity.CENTER_VERTICAL); - prompt.setPadding(0, messagePadding, 0, messagePadding); - - layout.addContent(prompt, 1f); + new InfoBarCompactLayout.MessageBuilder(layout) + .withText(mDelegate.getShortMessage()) + .withLink(R.string.details_link, view -> onLinkClicked()) + .buildAndInsert(); } @Override @@ -113,21 +93,6 @@ mDelegate.onLinkTapped(); } - /** - * Creates and sets up the "Details" link that allows going from the mini to the full infobar. - */ - private SpannableString makeDetailsLink() { - String label = getContext().getResources().getString(R.string.details_link); - SpannableString link = new SpannableString(label); - link.setSpan(new NoUnderlineClickableSpan() { - @Override - public void onClick(View view) { - onLinkClicked(); - } - }, 0, label.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); - return link; - } - @CalledByNative private static FramebustBlockInfoBar create(long nativeFramebustBlockMessageDelegateBridge) { return new FramebustBlockInfoBar(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarCompactLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarCompactLayout.java index d2a96a28..65a0703 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarCompactLayout.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarCompactLayout.java
@@ -6,13 +6,23 @@ import android.content.Context; import android.graphics.Bitmap; +import android.support.annotation.StringRes; +import android.text.SpannableString; +import android.text.SpannableStringBuilder; +import android.text.Spanned; +import android.text.method.LinkMovementMethod; import android.view.Gravity; import android.view.View; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.TextView; +import org.chromium.base.ApiCompatibilityUtils; +import org.chromium.base.Callback; import org.chromium.chrome.R; +import org.chromium.ui.text.NoUnderlineClickableSpan; +import org.chromium.ui.widget.TextViewWithClickableSpans; /** * Lays out controls along a line, sandwiched between an (optional) icon and close button. @@ -89,4 +99,84 @@ addView(closeButton, closeParams); return closeButton; } + + /** + * Helps building a standard message to display in a compact InfoBar. The message can feature + * a link to perform and action from this infobar. + */ + public static class MessageBuilder { + private final InfoBarCompactLayout mLayout; + private CharSequence mMessage; + private CharSequence mLink; + + /** @param layout The layout we are building a message view for. */ + public MessageBuilder(InfoBarCompactLayout layout) { + mLayout = layout; + } + + public MessageBuilder withText(CharSequence message) { + assert mMessage == null; + mMessage = message; + + return this; + } + + public MessageBuilder withText(@StringRes int messageResId) { + assert mMessage == null; + mMessage = mLayout.getResources().getString(messageResId); + + return this; + } + + /** The link will be appended after the main message. */ + public MessageBuilder withLink(@StringRes int textResId, Callback<View> onTapCallback) { + assert mLink == null; + + String label = mLayout.getResources().getString(textResId); + SpannableString link = new SpannableString(label); + link.setSpan(new NoUnderlineClickableSpan() { + @Override + public void onClick(View view) { + onTapCallback.onResult(view); + } + }, 0, label.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); + mLink = link; + + return this; + } + + /** Finalizes the message view as set up in the builder and inserts it into the layout. */ + public void buildAndInsert() { + mLayout.addContent(build(), 1f); + } + + /** + * Finalizes the message view as set up in the builder. The caller is responsible for adding + * it to the parent layout. + */ + public View build() { + // TODO(dgn): Should be able to handle ReaderMode and Survey infobars but they have non + // standard interaction models (no button/link, whole bar is a button) or style (large + // rather than default text). Revisit after snowflake review. + + assert mMessage != null; + + final int messagePadding = mLayout.getResources().getDimensionPixelOffset( + R.dimen.reader_mode_infobar_text_padding); + + SpannableStringBuilder builder = new SpannableStringBuilder(); + builder.append(mMessage); + if (mLink != null) builder.append(" ").append(mLink); + + TextView prompt = new TextViewWithClickableSpans(mLayout.getContext()); + ApiCompatibilityUtils.setTextAppearance(prompt, R.style.BlackBodyDefault); + prompt.setText(builder); + prompt.setGravity(Gravity.CENTER_VERTICAL); + prompt.setPadding(0, messagePadding, 0, messagePadding); + + if (mLink != null) prompt.setMovementMethod(LinkMovementMethod.getInstance()); + + return prompt; + } + } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/NearOomInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/NearOomInfoBar.java new file mode 100644 index 0000000..13b1027f --- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/NearOomInfoBar.java
@@ -0,0 +1,40 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package org.chromium.chrome.browser.infobar; + +import org.chromium.base.VisibleForTesting; +import org.chromium.base.annotations.CalledByNative; +import org.chromium.chrome.R; + +/** + * This InfoBar is shown to let the user know when the browser took action to stop a page from using + * too much memory, potentially breaking it and offers them a way to decline the intervention. + * + * The native caller can handle user action through {@code InfoBar::ProcessButton(int action)} + */ +public class NearOomInfoBar extends InfoBar { + @VisibleForTesting + public NearOomInfoBar() { + super(R.drawable.infobar_chrome, null, null); + } + + @Override + protected boolean usesCompactLayout() { + return true; + } + + @Override + protected void createCompactLayoutContent(InfoBarCompactLayout layout) { + new InfoBarCompactLayout.MessageBuilder(layout) + .withText(R.string.near_oom_intervention_message) + .withLink(R.string.near_oom_intervention_decline, view -> onLinkClicked()) + .buildAndInsert(); + } + + @CalledByNative + private static NearOomInfoBar create() { + return new NearOomInfoBar(); + } +}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/WebApkUma.java b/chrome/android/java/src/org/chromium/chrome/browser/metrics/WebApkUma.java index bea8f66e..170ab114 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/WebApkUma.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/WebApkUma.java
@@ -28,10 +28,11 @@ */ public class WebApkUma { // This enum is used to back UMA histograms, and should therefore be treated as append-only. - public static final int UPDATE_REQUEST_SENT_FIRST_TRY = 0; - public static final int UPDATE_REQUEST_SENT_ONSTOP = 1; - public static final int UPDATE_REQUEST_SENT_WHILE_WEBAPK_IN_FOREGROUND = 2; - public static final int UPDATE_REQUEST_SENT_MAX = 3; + // Deprecated: UPDATE_REQUEST_SENT_FIRST_TRY = 0; + // Deprecated: UPDATE_REQUEST_SENT_ONSTOP = 1; + // Deprecated: UPDATE_REQUEST_SENT_WHILE_WEBAPK_IN_FOREGROUND = 2; + public static final int UPDATE_REQUEST_SENT_WHILE_WEBAPK_CLOSED = 3; + public static final int UPDATE_REQUEST_SENT_MAX = 4; // This enum is used to back UMA histograms, and should therefore be treated as append-only. // The queued request times shouldn't exceed three. @@ -100,9 +101,8 @@ /** Records whether a WebAPK has permission to display notifications. */ public static void recordNotificationPermissionStatus(boolean permissionEnabled) { - int status = permissionEnabled ? 1 : 0; - RecordHistogram.recordEnumeratedHistogram( - "WebApk.Notification.Permission.Status", status, 2); + RecordHistogram.recordBooleanHistogram( + "WebApk.Notification.Permission.Status", permissionEnabled); } /** @@ -162,96 +162,107 @@ TimeUnit.HOURS.toMillis(1), TimeUnit.DAYS.toMillis(30), TimeUnit.MILLISECONDS, 50); } + // TODO(ranj): Remove this function after downstream is checked in. + public static void logAvailableSpaceAboveLowSpaceLimitInUMA(boolean installSucceeded) {} + + // TODO(ranj): Remove this function after downstream is checked in. + public static void logUnimportantStorageSizeInUMA() {} + /** - * Log the estimated amount of space above the minimum free space threshold that can be used - * for WebAPK installation in UMA. + * Log necessary disk usage and cache size UMAs when WebAPK installation fails. */ - @SuppressWarnings("deprecation") - public static void logAvailableSpaceAboveLowSpaceLimitInUMA(boolean installSucceeded) { - // ContentResolver APIs are usually heavy, do it in AsyncTask. - new AsyncTask<Void, Void, Long>() { - long mPartitionAvailableBytes; + public static void logSpaceUsageUMAWhenInstallationFails() { + new AsyncTask<Void, Void, Void>() { + long mAvailableSpaceInByte = 0; + long mCacheSizeInByte = 0; @Override - protected Long doInBackground(Void... params) { - StatFs partitionStats = - new StatFs(Environment.getDataDirectory().getAbsolutePath()); - long partitionTotalBytes; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { - mPartitionAvailableBytes = partitionStats.getAvailableBytes(); - partitionTotalBytes = partitionStats.getTotalBytes(); - } else { - // these APIs were deprecated in API level 18. - long blockSize = partitionStats.getBlockSize(); - mPartitionAvailableBytes = blockSize - * (long) partitionStats.getAvailableBlocks(); - partitionTotalBytes = blockSize * (long) partitionStats.getBlockCount(); - } - return getLowSpaceLimitBytes(partitionTotalBytes); - } - - @Override - protected void onPostExecute(Long minimumFreeBytes) { - long availableBytesForInstallation = mPartitionAvailableBytes - minimumFreeBytes; - int availableSpaceMb = (int) (availableBytesForInstallation / 1024L / 1024L); - // Bound the number to [-1000, 500] and round down to the nearest multiple of 10MB - // to avoid exploding the histogram. - availableSpaceMb = Math.max(-1000, availableSpaceMb); - availableSpaceMb = Math.min(500, availableSpaceMb); - availableSpaceMb = availableSpaceMb / 10 * 10; - - if (installSucceeded) { - RecordHistogram.recordSparseSlowlyHistogram( - "WebApk.Install.AvailableSpace.Success", availableSpaceMb); - } else { - RecordHistogram.recordSparseSlowlyHistogram( - "WebApk.Install.AvailableSpace.Fail", availableSpaceMb); - } - } - }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); - } - - public static void logCacheSizeInUMA() { - new AsyncTask<Void, Void, Integer>() { - private long getDirectorySizeInByte(File dir) { - if (dir == null) return 0; - if (!dir.isDirectory()) return dir.length(); - - long sizeInByte = 0; - try { - File[] files = dir.listFiles(); - if (files == null) return 0; - - for (File file : files) { - sizeInByte += getDirectorySizeInByte(file); - } - } catch (SecurityException e) { - return 0; - } - return sizeInByte; - } - - @Override - protected Integer doInBackground(Void... params) { - long cacheSizeInByte = + protected Void doInBackground(Void... params) { + mAvailableSpaceInByte = getAvailableSpaceAboveLowSpaceLimit(); + mCacheSizeInByte = getDirectorySizeInByte(ContextUtils.getApplicationContext().getCacheDir()); - return Math.min(2000, (int) (cacheSizeInByte / 1024L / 1024L / 10L * 10L)); + return null; } @Override - protected void onPostExecute(Integer cacheSizeInMb) { - RecordHistogram.recordSparseSlowlyHistogram( - "WebApk.Install.ChromeCacheSize.Fail", cacheSizeInMb); + protected void onPostExecute(Void result) { + logSpaceUsageUMA(mAvailableSpaceInByte, mCacheSizeInByte); } }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } - public static void logUnimportantStorageSizeInUMA() { - WebsitePermissionsFetcher fetcher = - new WebsitePermissionsFetcher(new UnimportantStorageSizeCalculator()); + private static void logSpaceUsageUMA(long availableSpaceInByte, long cacheSizeInByte) { + WebsitePermissionsFetcher fetcher = new WebsitePermissionsFetcher( + new UnimportantStorageSizeCalculator(availableSpaceInByte, cacheSizeInByte)); fetcher.fetchPreferencesForCategory( SiteSettingsCategory.fromString(SiteSettingsCategory.CATEGORY_USE_STORAGE)); } + private static void logSpaceUsageUMAOnDataAvailable( + long spaceSize, long cacheSize, long unimportantSiteSize) { + RecordHistogram.recordSparseSlowlyHistogram( + "WebApk.Install.AvailableSpace.Fail", roundByteToMb(spaceSize)); + + RecordHistogram.recordSparseSlowlyHistogram( + "WebApk.Install.ChromeCacheSize.Fail", roundByteToMb(cacheSize)); + + RecordHistogram.recordSparseSlowlyHistogram( + "WebApk.Install.ChromeUnimportantStorage.Fail", roundByteToMb(unimportantSiteSize)); + + RecordHistogram.recordSparseSlowlyHistogram( + "WebApk.Install.AvailableSpaceAfterFreeUpCache.Fail", + roundByteToMb(spaceSize + cacheSize)); + + RecordHistogram.recordSparseSlowlyHistogram( + "WebApk.Install.AvailableSpaceAfterFreeUpUnimportantStorage.Fail", + roundByteToMb(spaceSize + unimportantSiteSize)); + + RecordHistogram.recordSparseSlowlyHistogram( + "WebApk.Install.AvailableSpaceAfterFreeUpAll.Fail", + roundByteToMb(spaceSize + cacheSize + unimportantSiteSize)); + } + + private static int roundByteToMb(long bytes) { + int mbs = (int) (bytes / 1024L / 1024L / 10L * 10L); + return Math.min(1000, Math.max(-1000, mbs)); + } + + private static long getDirectorySizeInByte(File dir) { + if (dir == null) return 0; + if (!dir.isDirectory()) return dir.length(); + + long sizeInByte = 0; + try { + File[] files = dir.listFiles(); + if (files == null) return 0; + + for (File file : files) { + sizeInByte += getDirectorySizeInByte(file); + } + } catch (SecurityException e) { + return 0; + } + return sizeInByte; + } + + @SuppressWarnings("deprecation") + private static long getAvailableSpaceAboveLowSpaceLimit() { + long partitionAvailableBytes; + long partitionTotalBytes; + StatFs partitionStats = new StatFs(Environment.getDataDirectory().getAbsolutePath()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { + partitionAvailableBytes = partitionStats.getAvailableBytes(); + partitionTotalBytes = partitionStats.getTotalBytes(); + } else { + // these APIs were deprecated in API level 18. + long blockSize = partitionStats.getBlockSize(); + partitionAvailableBytes = blockSize * (long) partitionStats.getAvailableBlocks(); + partitionTotalBytes = blockSize * (long) partitionStats.getBlockCount(); + } + long minimumFreeBytes = getLowSpaceLimitBytes(partitionTotalBytes); + + return partitionAvailableBytes - minimumFreeBytes; + } + /** * Mirror the system-derived calculation of reserved bytes and return that value. */ @@ -289,6 +300,13 @@ private static class UnimportantStorageSizeCalculator implements WebsitePermissionsFetcher.WebsitePermissionsCallback { + private long mAvailableSpaceInByte; + private long mCacheSizeInByte; + + UnimportantStorageSizeCalculator(long availableSpaceInByte, long cacheSizeInByte) { + mAvailableSpaceInByte = availableSpaceInByte; + mCacheSizeInByte = cacheSizeInByte; + } @Override public void onWebsitePermissionsAvailable(Collection<Website> sites) { long siteStorageSize = 0; @@ -300,13 +318,9 @@ importantSiteStorageTotal += site.getTotalUsage(); } } - long unimportantSiteStorageTotal = siteStorageSize - importantSiteStorageTotal; - int unimportantSiteStorageTotalMb = - (int) (unimportantSiteStorageTotal / 1024L / 1024L / 10L * 10L); - unimportantSiteStorageTotalMb = Math.min(unimportantSiteStorageTotalMb, 1000); - RecordHistogram.recordSparseSlowlyHistogram( - "WebApk.Install.ChromeUnimportantStorage.Fail", unimportantSiteStorageTotalMb); + logSpaceUsageUMAOnDataAvailable( + mAvailableSpaceInByte, mCacheSizeInByte, importantSiteStorageTotal); } } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmark.java b/chrome/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmark.java new file mode 100644 index 0000000..7361313d --- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmark.java
@@ -0,0 +1,40 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package org.chromium.chrome.browser.partnerbookmarks; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** Object defining a partner bookmark. */ +public class PartnerBookmark { + // To be provided by the bookmark extractors. + /** Local id of the read bookmark */ + public long mId; + /** Read id of the parent node */ + public long mParentId; + /** True if it's folder */ + public boolean mIsFolder; + /** URL of the bookmark. Required for non-folders. */ + public String mUrl; + /** Title of the bookmark. */ + public String mTitle; + + /** .PNG Favicon of the bookmark. Optional. Not used for folders. */ + byte[] mFavicon; + /** .PNG TouchIcon of the bookmark. Optional. Not used for folders. */ + byte[] mTouchicon; + + // For auxiliary use while reading. + /** Native id of the C++-processed bookmark */ + long mNativeId = PartnerBookmarksReader.INVALID_BOOKMARK_ID; + /** The parent node if any */ + PartnerBookmark mParent; + /** Children nodes for the perfect garbage collection disaster */ + List<PartnerBookmark> mEntries = new ArrayList<>(); + + /** Closable iterator for available bookmarks. */ + public interface BookmarkIterator extends Iterator<PartnerBookmark> { void close(); } +}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java b/chrome/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java index 80989ec..7f79916 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java
@@ -4,11 +4,11 @@ package org.chromium.chrome.browser.partnerbookmarks; -import android.content.ContentResolver; import android.database.Cursor; import android.database.sqlite.SQLiteException; import android.net.Uri; +import org.chromium.base.ContextUtils; import org.chromium.base.Log; import org.chromium.chrome.browser.UrlConstants; @@ -17,7 +17,7 @@ /** * Imports bookmarks from partner content provider using the private provider API. */ -public class PartnerBookmarksProviderIterator implements PartnerBookmarksReader.BookmarkIterator { +public class PartnerBookmarksProviderIterator implements PartnerBookmark.BookmarkIterator { private static final String TAG = "cr_PartnerBookmarks"; private static final String PROVIDER_AUTHORITY = "com.android.partnerbookmarks"; private static final Uri CONTENT_URI = new Uri.Builder() @@ -59,13 +59,11 @@ /** * Creates the bookmarks iterator if possible. - * @param contentResolver The content resolver to use. * @return Iterator over bookmarks or null. */ - public static PartnerBookmarksProviderIterator createIfAvailable( - ContentResolver contentResolver) { + public static PartnerBookmarksProviderIterator createIfAvailable() { try { - Cursor cursor = contentResolver.query( + Cursor cursor = ContextUtils.getApplicationContext().getContentResolver().query( BOOKMARKS_CONTENT_URI, BOOKMARKS_PROJECTION, null, null, BOOKMARKS_SORT_ORDER); if (cursor == null) return null; return new PartnerBookmarksProviderIterator(cursor); @@ -80,11 +78,6 @@ } @Override - public void remove() { - throw new UnsupportedOperationException(); - } - - @Override public void close() { if (mCursor == null) throw new IllegalStateException(); mCursor.close(); @@ -101,11 +94,11 @@ } @Override - public PartnerBookmarksReader.Bookmark next() { + public PartnerBookmark next() { if (mCursor == null) throw new IllegalStateException(); if (!mCursor.moveToNext()) throw new NoSuchElementException(); - PartnerBookmarksReader.Bookmark bookmark = new PartnerBookmarksReader.Bookmark(); + PartnerBookmark bookmark = new PartnerBookmark(); try { bookmark.mId = mCursor.getLong(mCursor.getColumnIndexOrThrow(BOOKMARKS_COLUMN_ID)); // The container folder should not be among the results.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksReader.java b/chrome/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksReader.java index 274617c9..837b218 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksReader.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksReader.java
@@ -11,10 +11,9 @@ import org.chromium.base.ContextUtils; import org.chromium.base.Log; import org.chromium.base.metrics.RecordHistogram; +import org.chromium.chrome.browser.AppHooks; -import java.util.ArrayList; import java.util.HashSet; -import java.util.Iterator; import java.util.LinkedHashMap; /** @@ -40,46 +39,6 @@ /** The context (used to get a ContentResolver) */ protected Context mContext; - // TODO(aruslan): Move it out to a separate class that defines - // a partner bookmarks provider contract, see http://b/6399404 - /** Object defining a partner bookmark. For this package only. */ - static class Bookmark { - // To be provided by the bookmark extractors. - /** Local id of the read bookmark */ - long mId; - /** Read id of the parent node */ - long mParentId; - /** True if it's folder */ - boolean mIsFolder; - /** URL of the bookmark. Required for non-folders. */ - String mUrl; - /** Title of the bookmark. */ - String mTitle; - /** .PNG Favicon of the bookmark. Optional. Not used for folders. */ - byte[] mFavicon; - /** .PNG TouchIcon of the bookmark. Optional. Not used for folders. */ - byte[] mTouchicon; - - // For auxiliary use while reading. - /** Native id of the C++-processed bookmark */ - long mNativeId = INVALID_BOOKMARK_ID; - /** The parent node if any */ - Bookmark mParent; - /** Children nodes for the perfect garbage collection disaster */ - ArrayList<Bookmark> mEntries = new ArrayList<Bookmark>(); - } - - /** Closable iterator for available bookmarks. */ - protected interface BookmarkIterator extends Iterator<Bookmark> { - public void close(); - } - - /** Returns an iterator to the available bookmarks. Called by async task. */ - protected BookmarkIterator getAvailableBookmarks() { - return PartnerBookmarksProviderIterator.createIfAvailable( - mContext.getContentResolver()); - } - /** * Creates the instance of the reader. * @param context A Context object. @@ -140,7 +99,8 @@ @Override protected Void doInBackground(Void... params) { - BookmarkIterator bookmarkIterator = getAvailableBookmarks(); + PartnerBookmark.BookmarkIterator bookmarkIterator = + AppHooks.get().getPartnerBookmarkIterator(); RecordHistogram.recordBooleanHistogram( "PartnerBookmark.Null", bookmarkIterator == null); if (bookmarkIterator == null) { @@ -149,14 +109,14 @@ } // Get a snapshot of the bookmarks. - LinkedHashMap<Long, Bookmark> idMap = new LinkedHashMap<Long, Bookmark>(); + LinkedHashMap<Long, PartnerBookmark> idMap = new LinkedHashMap<Long, PartnerBookmark>(); HashSet<String> urlSet = new HashSet<String>(); - Bookmark rootBookmarksFolder = createRootBookmarksFolderBookmark(); + PartnerBookmark rootBookmarksFolder = createRootBookmarksFolderBookmark(); idMap.put(ROOT_FOLDER_ID, rootBookmarksFolder); while (bookmarkIterator.hasNext()) { - Bookmark bookmark = bookmarkIterator.next(); + PartnerBookmark bookmark = bookmarkIterator.next(); if (bookmark == null) continue; // Check for duplicate ids. @@ -201,9 +161,7 @@ return null; } - readBookmarkHierarchy( - rootBookmarksFolder, - new HashSet<PartnerBookmarksReader.Bookmark>()); + readBookmarkHierarchy(rootBookmarksFolder, new HashSet<PartnerBookmark>()); return null; } @@ -215,8 +173,8 @@ } } - private void recreateFolderHierarchy(LinkedHashMap<Long, Bookmark> idMap) { - for (Bookmark bookmark : idMap.values()) { + private void recreateFolderHierarchy(LinkedHashMap<Long, PartnerBookmark> idMap) { + for (PartnerBookmark bookmark : idMap.values()) { if (bookmark.mId == ROOT_FOLDER_ID) continue; // Look for invalid parent ids and self-cycles. @@ -231,8 +189,8 @@ } } - private Bookmark createRootBookmarksFolderBookmark() { - Bookmark root = new Bookmark(); + private PartnerBookmark createRootBookmarksFolderBookmark() { + PartnerBookmark root = new PartnerBookmark(); root.mId = ROOT_FOLDER_ID; root.mTitle = "[IMPLIED_ROOT]"; root.mNativeId = INVALID_BOOKMARK_ID; @@ -242,7 +200,7 @@ } private void readBookmarkHierarchy( - Bookmark bookmark, HashSet<Bookmark> processedNodes) { + PartnerBookmark bookmark, HashSet<PartnerBookmark> processedNodes) { // Avoid cycles in the hierarchy that could lead to infinite loops. if (processedNodes.contains(bookmark)) return; processedNodes.add(bookmark); @@ -266,7 +224,7 @@ } if (bookmark.mIsFolder) { - for (Bookmark entry : bookmark.mEntries) { + for (PartnerBookmark entry : bookmark.mEntries) { if (entry.mParent != bookmark) { Log.w(TAG, "Hierarchy error in bookmark '" + bookmark.mTitle + "'. Skipping.");
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinder.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinder.java index 316a72e..4431679 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinder.java
@@ -29,9 +29,9 @@ /** * Finds installed native Android payment apps and verifies their signatures according to the * payment method manifests. The manifests are located based on the payment method name, which is a - * URI that starts with "https://". The W3C-published non-URI payment method names are exceptions: - * these are common payment method names that do not have a manifest and can be used by any payment - * app. + * URI that starts with "https://" (localhosts can be "http://", however). The W3C-published non-URI + * payment method names are exceptions: these are common payment method names that do not have a + * manifest and can be used by any payment app. */ public class AndroidPaymentAppFinder implements ManifestVerifyCallback { private static final String TAG = "PaymentAppFinder"; @@ -148,12 +148,16 @@ PaymentAppCreatedCallback callback) { mWebContents = webContents; - // For non-URI payment method names, only names published by W3C should be supported. + // For non-URI payment method names, only names published by W3C should be supported. Keep + // this in sync with manifest_verifier.cc. Set<String> supportedNonUriPaymentMethods = new HashSet<>(); - // https://w3c.github.io/webpayments-methods-card/ + // https://w3c.github.io/payment-method-basic-card/ supportedNonUriPaymentMethods.add("basic-card"); // https://w3c.github.io/webpayments/proposals/interledger-payment-method.html supportedNonUriPaymentMethods.add("interledger"); + // https://w3c.github.io/webpayments-methods-credit-transfer-direct-debit/ + supportedNonUriPaymentMethods.add("payee-credit-transfer"); + supportedNonUriPaymentMethods.add("payer-credit-transfer"); mNonUriPaymentMethods = new HashSet<>(); mUriPaymentMethods = new HashSet<>();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentManifestVerifier.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentManifestVerifier.java index bb29c9f..df2cd4e 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentManifestVerifier.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentManifestVerifier.java
@@ -9,7 +9,6 @@ import android.content.pm.Signature; import org.chromium.base.Log; -import org.chromium.chrome.browser.UrlConstants; import org.chromium.components.payments.PaymentManifestDownloader; import org.chromium.components.payments.PaymentManifestDownloader.ManifestDownloadCallback; import org.chromium.components.payments.PaymentManifestParser; @@ -102,9 +101,6 @@ private static final String TAG = "PaymentManifest"; private static final String ALL_ORIGINS_SUPPORTED_INDICATOR = "*"; - /** The hostname used by the embedded test server in testing. */ - private static final String LOCALHOST_FOR_TEST = "127.0.0.1"; - /** * The payment method name that's being verified. The corresponding payment method manifest * and default web app manifests will be downloaded, parsed, and cached. @@ -151,8 +147,7 @@ * Builds the manifest verifier. * * @param methodName The name of the payment method name that apps offer to handle. - * Must be an absolute URI with HTTPS scheme, but HTTP localhost - * is allowed in testing. + * Must be an absolute URI with HTTPS scheme or HTTP localhost. * @param defaultApplications The identifying information for the native Android payment apps * that offer to handle this payment method as a default app, * i.e., as one of the "default_applications". Can be null. @@ -170,9 +165,6 @@ PaymentManifestDownloader downloader, PaymentManifestParser parser, PackageManagerDelegate packageManagerDelegate, ManifestVerifyCallback callback) { assert methodName.isAbsolute(); - assert UrlConstants.HTTPS_SCHEME.equals(methodName.getScheme()) - || (LOCALHOST_FOR_TEST.equals(methodName.getHost()) - && UrlConstants.HTTP_SCHEME.equals(methodName.getScheme())); mMethodName = methodName;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/UriUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/UriUtils.java index 5590230..ab247f43 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/UriUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/UriUtils.java
@@ -21,7 +21,8 @@ * @return Whether the method name has the correct format to be a URI payment method name. */ public static boolean looksLikeUriMethod(String method) { - return method.startsWith(UrlConstants.HTTPS_URL_PREFIX); + return method.startsWith(UrlConstants.HTTPS_URL_PREFIX) + || method.startsWith(UrlConstants.HTTP_URL_PREFIX); } /** @@ -44,7 +45,8 @@ if (!uri.isAbsolute()) return null; - assert UrlConstants.HTTPS_SCHEME.equals(uri.getScheme()); + assert UrlConstants.HTTPS_SCHEME.equals(uri.getScheme()) + || UrlConstants.HTTP_SCHEME.equals(uri.getScheme()); return uri; }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java index 37fa0cf..ab85455e 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java
@@ -218,9 +218,6 @@ WebApkDisclosureNotificationManager.dismissNotification(mWebappInfo); mNotificationShowing = false; } - if (mUpdateManager != null && mUpdateManager.requestPendingUpdate()) { - WebApkUma.recordUpdateRequestSent(WebApkUma.UPDATE_REQUEST_SENT_ONSTOP); - } } /** @@ -262,7 +259,7 @@ WebApkInfo info = (WebApkInfo) mWebappInfo; WebApkUma.recordShellApkVersion(info.shellApkVersion(), info.webApkPackageName()); - mUpdateManager = new WebApkUpdateManager(WebApkActivity.this, storage); + mUpdateManager = new WebApkUpdateManager(storage); mUpdateManager.updateIfNeeded(getActivityTab(), info); maybeShowDisclosure(storage);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java index da451ed6..ab9ed84 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java
@@ -12,8 +12,6 @@ import android.os.Handler; import android.text.TextUtils; -import org.chromium.base.ActivityState; -import org.chromium.base.ApplicationStatus; import org.chromium.base.Callback; import org.chromium.base.CommandLine; import org.chromium.base.ContextUtils; @@ -24,6 +22,9 @@ import org.chromium.chrome.browser.metrics.WebApkUma; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.util.UrlUtilities; +import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory; +import org.chromium.components.background_task_scheduler.TaskIds; +import org.chromium.components.background_task_scheduler.TaskInfo; import org.chromium.webapk.lib.client.WebApkVersion; import java.util.Map; @@ -39,24 +40,12 @@ // Maximum wait time for WebAPK update to be scheduled. private static final long UPDATE_TIMEOUT_MILLISECONDS = TimeUnit.SECONDS.toMillis(30); - /** - * Number of times to wait for updating the WebAPK after it is moved to the background prior - * to doing the update while the WebAPK is in the foreground. - */ - private static final int MAX_UPDATE_ATTEMPTS = 3; - /** Whether updates are enabled. Some tests disable updates. */ private static boolean sUpdatesEnabled = true; /** Data extracted from the WebAPK's launch intent and from the WebAPK's Android Manifest. */ private WebApkInfo mInfo; - /** Whether an update request should be made once the WebAPK is backgrounded. */ - private boolean mHasPendingUpdate; - - /** The WebApkActivity which owns the WebApkUpdateManager. */ - private final WebApkActivity mActivity; - /** The WebappDataStorage with cached data about prior update requests. */ private final WebappDataStorage mStorage; @@ -66,13 +55,12 @@ private Handler mUpdateFailureHandler; /** Called with update result. */ - private static interface WebApkUpdateCallback { + public static interface WebApkUpdateCallback { @CalledByNative("WebApkUpdateCallback") public void onResultFromNative(@WebApkInstallResult int result, boolean relaxUpdates); } - public WebApkUpdateManager(WebApkActivity activity, WebappDataStorage storage) { - mActivity = activity; + public WebApkUpdateManager(WebappDataStorage storage) { mStorage = storage; } @@ -98,27 +86,10 @@ }, UPDATE_TIMEOUT_MILLISECONDS); } - /** - * It sends the pending update request to the WebAPK server if exits. - * @return Whether a pending update request is sent to the WebAPK server. - */ - public boolean requestPendingUpdate() { - String updateRequestPath = mStorage.getPendingUpdateRequestPath(); - if (mHasPendingUpdate && updateRequestPath != null) { - updateAsync(updateRequestPath); - return true; - } - return false; - } - public void destroy() { destroyFetcher(); } - public boolean getHasPendingUpdateForTesting() { - return mHasPendingUpdate; - } - public static void setUpdatesEnabledForTesting(boolean enabled) { sUpdatesEnabled = enabled; } @@ -185,78 +156,47 @@ } /** Builds proto to send to the WebAPK server. */ - protected void buildUpdateRequestAndSchedule(final WebApkInfo info, String primaryIconUrl, - String badgeIconUrl, boolean isManifestStale) { - int versionCode = readVersionCodeFromAndroidManifest(info.webApkPackageName()); - int size = info.iconUrlToMurmur2HashMap().size(); - String[] iconUrls = new String[size]; - String[] iconHashes = new String[size]; - int i = 0; - for (Map.Entry<String, String> entry : info.iconUrlToMurmur2HashMap().entrySet()) { - iconUrls[i] = entry.getKey(); - String iconHash = entry.getValue(); - iconHashes[i] = (iconHash != null) ? iconHash : ""; - i++; - } - - final String updateRequestPath = mStorage.createAndSetUpdateRequestFilePath(info); + private void buildUpdateRequestAndSchedule( + WebApkInfo info, String primaryIconUrl, String badgeIconUrl, boolean isManifestStale) { Callback<Boolean> callback = (success) -> { if (!success) { onFinishedUpdate(WebApkInstallResult.FAILURE, false /* relaxUpdates*/); return; } - scheduleUpdate(updateRequestPath); + scheduleUpdate(); }; - nativeStoreWebApkUpdateRequestToFile(updateRequestPath, info.manifestStartUrl(), - info.scopeUri().toString(), info.name(), info.shortName(), primaryIconUrl, - info.icon(), badgeIconUrl, info.badgeIcon(), iconUrls, iconHashes, - info.displayMode(), info.orientation(), info.themeColor(), info.backgroundColor(), - info.manifestUrl(), info.webApkPackageName(), versionCode, isManifestStale, - callback); + String updateRequestPath = mStorage.createAndSetUpdateRequestFilePath(info); + storeWebApkUpdateRequestToFile( + updateRequestPath, info, primaryIconUrl, badgeIconUrl, isManifestStale, callback); } - /** - * Sends update request to WebAPK Server if the WebAPK is running in the background; sets - * update as "pending" otherwise. - */ - protected void scheduleUpdate(String updateRequestPath) { - int numberOfUpdateRequests = mStorage.getUpdateRequests(); - boolean forceUpdateNow = numberOfUpdateRequests >= MAX_UPDATE_ATTEMPTS; - if (!isInForeground() || forceUpdateNow) { - updateAsync(updateRequestPath); - WebApkUma.recordUpdateRequestSent(WebApkUma.UPDATE_REQUEST_SENT_FIRST_TRY); - return; - } + /** Schedules update for when WebAPK is not running. */ + private void scheduleUpdate() { + WebApkUma.recordUpdateRequestQueued(1); - mStorage.recordUpdateRequest(); - // The {@link numberOfUpdateRequests} can never exceed 2 here (otherwise we'll have taken - // the branch above and have returned before reaching this statement). - WebApkUma.recordUpdateRequestQueued(numberOfUpdateRequests); - mHasPendingUpdate = true; + // The task deadline should be before {@link WebappDataStorage#RETRY_UPDATE_DURATION} + TaskInfo taskInfo = + TaskInfo.createOneOffTask(TaskIds.WEBAPK_UPDATE_JOB_ID, WebApkUpdateTask.class, + TimeUnit.HOURS.toMillis(1), TimeUnit.HOURS.toMillis(23)) + .setRequiredNetworkType(TaskInfo.NETWORK_TYPE_UNMETERED) + .setUpdateCurrent(true) + .setIsPersisted(true) + .setRequiresCharging(true) + .build(); + BackgroundTaskSchedulerFactory.getScheduler().schedule( + ContextUtils.getApplicationContext(), taskInfo); } - /** Returns whether the associated WebApkActivity is running in foreground. */ - protected boolean isInForeground() { - int state = ApplicationStatus.getStateForActivity(mActivity); - return (state != ActivityState.STOPPED && state != ActivityState.DESTROYED); - } + /** Sends update request to the WebAPK Server. Should be called when WebAPK is not running. */ + public void updateWhileNotRunning(final Runnable callback) { + Log.v(TAG, "Update now"); + WebApkUpdateCallback callbackRunner = (result, relaxUpdates) -> { + onFinishedUpdate(result, relaxUpdates); + callback.run(); + }; - /** - * Sends update request to the WebAPK Server and cleanup. - */ - private void updateAsync(String updateRequestPath) { - updateAsyncImpl(updateRequestPath); - mStorage.resetUpdateRequests(); - mHasPendingUpdate = false; - } - - /** - * Sends update request to the WebAPK Server. - */ - protected void updateAsyncImpl(String updateRequestPath) { - WebApkUpdateCallback callback = - (result, relaxUpdates) -> onFinishedUpdate(result, relaxUpdates); - nativeUpdateWebApkFromFile(updateRequestPath, callback); + WebApkUma.recordUpdateRequestSent(WebApkUma.UPDATE_REQUEST_SENT_WHILE_WEBAPK_CLOSED); + updateWebApkFromFile(mStorage.getPendingUpdateRequestPath(), callbackRunner); } /** @@ -399,6 +339,33 @@ return UrlUtilities.urlsMatchIgnoringFragments(url1, url2); } + protected void storeWebApkUpdateRequestToFile(String updateRequestPath, WebApkInfo info, + String primaryIconUrl, String badgeIconUrl, boolean isManifestStale, + Callback<Boolean> callback) { + int versionCode = readVersionCodeFromAndroidManifest(info.webApkPackageName()); + int size = info.iconUrlToMurmur2HashMap().size(); + String[] iconUrls = new String[size]; + String[] iconHashes = new String[size]; + int i = 0; + for (Map.Entry<String, String> entry : info.iconUrlToMurmur2HashMap().entrySet()) { + iconUrls[i] = entry.getKey(); + String iconHash = entry.getValue(); + iconHashes[i] = (iconHash != null) ? iconHash : ""; + i++; + } + + nativeStoreWebApkUpdateRequestToFile(updateRequestPath, info.manifestStartUrl(), + info.scopeUri().toString(), info.name(), info.shortName(), primaryIconUrl, + info.icon(), badgeIconUrl, info.badgeIcon(), iconUrls, iconHashes, + info.displayMode(), info.orientation(), info.themeColor(), info.backgroundColor(), + info.manifestUrl(), info.webApkPackageName(), versionCode, isManifestStale, + callback); + } + + protected void updateWebApkFromFile(String updateRequestPath, WebApkUpdateCallback callback) { + nativeUpdateWebApkFromFile(updateRequestPath, callback); + } + private static native void nativeStoreWebApkUpdateRequestToFile(String updateRequestPath, String startUrl, String scope, String name, String shortName, String primaryIconUrl, Bitmap primaryIcon, String badgeIconUrl, Bitmap badgeIcon, String[] iconUrls,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateTask.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateTask.java new file mode 100644 index 0000000..ed8ad196 --- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateTask.java
@@ -0,0 +1,98 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package org.chromium.chrome.browser.webapps; + +import android.app.Activity; +import android.content.Context; +import android.text.TextUtils; + +import org.chromium.base.ApplicationStatus; +import org.chromium.base.StrictModeContext; +import org.chromium.chrome.browser.background_task_scheduler.NativeBackgroundTask; +import org.chromium.components.background_task_scheduler.BackgroundTask.TaskFinishedCallback; +import org.chromium.components.background_task_scheduler.TaskIds; +import org.chromium.components.background_task_scheduler.TaskParameters; + +import java.lang.ref.WeakReference; +import java.util.List; + +/** + * Handles servicing of background WebAPK update requests coming via background_task_scheduler + * component. Will update multiple WebAPKs if there are multiple WebAPKs pending update. + */ +public class WebApkUpdateTask extends NativeBackgroundTask { + /** The WebappDataStorage for the WebAPK to update. */ + private WebappDataStorage mStorageToUpdate = null; + + /** Whether there are more WebAPKs to update than just {@link mStorageToUpdate}. */ + private boolean mMoreToUpdate; + + @Override + @StartBeforeNativeResult + protected int onStartTaskBeforeNativeLoaded( + Context context, TaskParameters taskParameters, TaskFinishedCallback callback) { + assert taskParameters.getTaskId() == TaskIds.WEBAPK_UPDATE_JOB_ID; + + try (StrictModeContext unused = StrictModeContext.allowDiskReads()) { + WebappRegistry.warmUpSharedPrefs(); + } + + List<String> ids = WebappRegistry.getInstance().findWebApksWithPendingUpdate(); + for (String id : ids) { + WebappDataStorage storage = WebappRegistry.getInstance().getWebappDataStorage(id); + if (!isWebApkActivityRunning(storage.getWebApkPackageName())) { + mStorageToUpdate = storage; + mMoreToUpdate = ids.size() > 1; + return LOAD_NATIVE; + } + } + return ids.isEmpty() ? DONE : RESCHEDULE; + } + + @Override + protected void onStartTaskWithNative( + Context context, TaskParameters taskParameters, final TaskFinishedCallback callback) { + assert taskParameters.getTaskId() == TaskIds.WEBAPK_UPDATE_JOB_ID; + + WebApkUpdateManager updateManager = new WebApkUpdateManager(mStorageToUpdate); + updateManager.updateWhileNotRunning(() -> callback.taskFinished(mMoreToUpdate)); + } + + @Override + protected boolean onStopTaskBeforeNativeLoaded(Context context, TaskParameters taskParameters) { + assert taskParameters.getTaskId() == TaskIds.WEBAPK_UPDATE_JOB_ID; + + // Native didn't complete loading, but it was supposed to. Presume that we need to + // reschedule. + return true; + } + + @Override + protected boolean onStopTaskWithNative(Context context, TaskParameters taskParameters) { + assert taskParameters.getTaskId() == TaskIds.WEBAPK_UPDATE_JOB_ID; + + // Updating a single WebAPK is a fire and forget task. However, there might be several + // WebAPKs that we need to update. + return true; + } + + @Override + public void reschedule(Context context) {} + + /** Returns whether a WebApkActivity with {@link webApkPackageName} is running. */ + private static boolean isWebApkActivityRunning(String webApkPackageName) { + for (WeakReference<Activity> activity : ApplicationStatus.getRunningActivities()) { + if (!(activity.get() instanceof WebApkActivity)) { + continue; + } + WebApkActivity webApkActivity = (WebApkActivity) activity.get(); + if (webApkActivity != null + && TextUtils.equals(webApkPackageName, webApkActivity.getWebApkPackageName())) { + return true; + } + } + return false; + } +}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappDataStorage.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappDataStorage.java index d0f333e7..5227372 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappDataStorage.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappDataStorage.java
@@ -66,9 +66,6 @@ // Whether the last WebAPK update request succeeded. static final String KEY_DID_LAST_UPDATE_REQUEST_SUCCEED = "did_last_update_request_succeed"; - // The number of times that updating a WebAPK in the background has been requested. - static final String KEY_UPDATE_REQUESTED = "update_requested"; - // Whether to check updates less frequently. static final String KEY_RELAX_UPDATES = "relax_updates"; @@ -90,7 +87,7 @@ // Number of milliseconds to wait before re-requesting an updated WebAPK from the WebAPK // server if the previous update attempt failed. - public static final long RETRY_UPDATE_DURATION = TimeUnit.HOURS.toMillis(12L); + public static final long RETRY_UPDATE_DURATION = TimeUnit.DAYS.toMillis(1L); // The default shell Apk version of WebAPKs. static final int DEFAULT_SHELL_APK_VERSION = 1; @@ -335,7 +332,6 @@ editor.remove(KEY_LAST_CHECK_WEB_MANIFEST_UPDATE_TIME); editor.remove(KEY_LAST_UPDATE_REQUEST_COMPLETE_TIME); editor.remove(KEY_DID_LAST_UPDATE_REQUEST_SUCCEED); - editor.remove(KEY_UPDATE_REQUESTED); editor.remove(KEY_RELAX_UPDATES); editor.remove(KEY_DISMISSED_DISCLOSURE); editor.apply(); @@ -468,27 +464,6 @@ return mPreferences.getBoolean(KEY_DISMISSED_DISCLOSURE, false); } - /** - * Increases the number of times that update has been requested for the WebAPK by 1. - */ - void recordUpdateRequest() { - mPreferences.edit().putInt(KEY_UPDATE_REQUESTED, getUpdateRequests() + 1).apply(); - } - - /** - * Resets the number of times that update has been requested for the WebAPK. - */ - void resetUpdateRequests() { - mPreferences.edit().remove(KEY_UPDATE_REQUESTED).apply(); - } - - /** - * Returns the number of times that update has been requested for this WebAPK. - */ - int getUpdateRequests() { - return mPreferences.getInt(KEY_UPDATE_REQUESTED, 0); - } - /** Updates the shell Apk version requested in the last update. */ void updateLastRequestedShellApkVersion(int shellApkVersion) { mPreferences.edit().putInt(KEY_LAST_REQUESTED_SHELL_APK_VERSION, shellApkVersion).apply();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappRegistry.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappRegistry.java index 36352c1..fa4f33f 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappRegistry.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappRegistry.java
@@ -8,6 +8,7 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.os.AsyncTask; +import android.text.TextUtils; import org.chromium.base.ContextUtils; import org.chromium.base.VisibleForTesting; @@ -17,9 +18,11 @@ import org.chromium.chrome.browser.browsing_data.UrlFilterBridge; import org.chromium.webapk.lib.common.WebApkConstants; +import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; +import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit; @@ -169,6 +172,24 @@ } /** + * Returns the list of WebAPK IDs with pending updates. Filters out WebAPKs which have been + * uninstalled. + * */ + public List<String> findWebApksWithPendingUpdate() { + ArrayList<String> webApkIdsWithPendingUpdate = new ArrayList<String>(); + PackageManager packageManager = ContextUtils.getApplicationContext().getPackageManager(); + for (HashMap.Entry<String, WebappDataStorage> entry : mStorages.entrySet()) { + WebappDataStorage storage = entry.getValue(); + if (!TextUtils.isEmpty(storage.getPendingUpdateRequestPath()) + && InstallerDelegate.isInstalled( + packageManager, storage.getWebApkPackageName())) { + webApkIdsWithPendingUpdate.add(entry.getKey()); + } + } + return webApkIdsWithPendingUpdate; + } + + /** * Returns the list of web app IDs which are written to SharedPreferences. */ @VisibleForTesting
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd index ec1cd0a1..48be5cb 100644 --- a/chrome/android/java/strings/android_chrome_strings.grd +++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -3278,6 +3278,14 @@ <message name="IDS_UPDATING_CHROME" desc="String that indicates that Chrome is updating"> Updating Chrome... </message> + + <!-- Interventions --> + <message name="IDS_NEAR_OOM_INTERVENTION_MESSAGE" desc="The message stating that the browser intervened to stop the page using too much memory."> + This page uses too much memory, so Chrome paused it. + </message> + <message name="IDS_NEAR_OOM_INTERVENTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can resume what it was doing."> + Resume + </message> </messages> </release> </grit>
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni index 5034860..be027ec8 100644 --- a/chrome/android/java_sources.gni +++ b/chrome/android/java_sources.gni
@@ -493,6 +493,7 @@ "java/src/org/chromium/chrome/browser/infobar/InstantAppsInfoBarDelegate.java", "java/src/org/chromium/chrome/browser/infobar/IPHInfoBarSupport.java", "java/src/org/chromium/chrome/browser/infobar/FramebustBlockInfoBar.java", + "java/src/org/chromium/chrome/browser/infobar/NearOomInfoBar.java", "java/src/org/chromium/chrome/browser/infobar/PermissionInfoBar.java", "java/src/org/chromium/chrome/browser/infobar/PermissionUpdateInfoBarDelegate.java", "java/src/org/chromium/chrome/browser/infobar/PreviewsInfoBar.java", @@ -777,6 +778,7 @@ "java/src/org/chromium/chrome/browser/page_info/CertificateViewer.java", "java/src/org/chromium/chrome/browser/page_info/ConnectionInfoPopup.java", "java/src/org/chromium/chrome/browser/page_info/PageInfoPopup.java", + "java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmark.java", "java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java", "java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksReader.java", "java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksShim.java", @@ -1247,6 +1249,7 @@ "java/src/org/chromium/chrome/browser/webapps/WebApkServiceClient.java", "java/src/org/chromium/chrome/browser/webapps/WebApkUpdateDataFetcher.java", "java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java", + "java/src/org/chromium/chrome/browser/webapps/WebApkUpdateTask.java", "java/src/org/chromium/chrome/browser/webapps/WebApkVersionManager.java", "java/src/org/chromium/chrome/browser/webapps/WebappActionsNotificationManager.java", "java/src/org/chromium/chrome/browser/webapps/WebappActivity.java",
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/appmenu/ChromeHomeAppMenuTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/appmenu/ChromeHomeAppMenuTest.java index b8fd4e1..d8a862d 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/appmenu/ChromeHomeAppMenuTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/appmenu/ChromeHomeAppMenuTest.java
@@ -43,6 +43,7 @@ import org.chromium.chrome.test.util.MenuUtils; import org.chromium.components.feature_engagement.FeatureConstants; import org.chromium.components.feature_engagement.Tracker; +import org.chromium.components.feature_engagement.TriggerState; import org.chromium.content.browser.test.util.Criteria; import org.chromium.content.browser.test.util.CriteriaHelper; import org.chromium.net.test.EmbeddedTestServer; @@ -76,8 +77,14 @@ } @Override + public boolean wouldTriggerHelpUI(String feature) { + return TextUtils.equals(mEnabledFeature, feature); + } + + @Override public int getTriggerState(String feature) { - return 0; + return TextUtils.equals(mEnabledFeature, feature) ? TriggerState.HAS_NOT_BEEN_DISPLAYED + : TriggerState.HAS_BEEN_DISPLAYED; } @Override
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/infobar/InfoBarAppearanceTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/infobar/InfoBarAppearanceTest.java index 259bb1f..ac18c43 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/infobar/InfoBarAppearanceTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/infobar/InfoBarAppearanceTest.java
@@ -92,6 +92,16 @@ captureMiniAndRegularInfobar(infobar, messageDelegate); } + @Test + @MediumTest + @Feature({"InfoBars", "Catalogue"}) + public void testOomInfoBar() throws TimeoutException, InterruptedException { + ThreadUtils.runOnUiThreadBlocking( + () -> mTab.getInfoBarContainer().addInfoBarForTesting(new NearOomInfoBar())); + mListener.addInfoBarAnimationFinished("InfoBar was not added."); + mScreenShooter.shoot("oom_infobar"); + } + private void captureMiniAndRegularInfobar( InfoBar infobar, TestFramebustBlockMessageDelegate delegate) throws TimeoutException, InterruptedException {
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderTest.java index e5ba868..6839026 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderTest.java
@@ -25,7 +25,6 @@ import org.chromium.components.payments.PaymentManifestParser; import org.chromium.content.browser.test.util.Criteria; import org.chromium.content.browser.test.util.CriteriaHelper; -import org.chromium.content_public.browser.WebContents; import org.chromium.net.test.EmbeddedTestServer; import java.net.URI; @@ -63,12 +62,6 @@ } @Override - public void initialize(WebContents webContents) { - super.initialize(webContents); - allowHttpForTest(); - } - - @Override public void downloadPaymentMethodManifest( URI methodName, ManifestDownloadCallback callback) { super.downloadPaymentMethodManifest(substituteTestServerUri(methodName), callback); @@ -1061,6 +1054,52 @@ Assert.assertTrue(appIdentifiers.contains("com.bobpay")); } + /** + * All known payment method names are valid. + */ + @Test + @Feature({"Payments"}) + public void testAllKnownPaymentMethodNames() throws Throwable { + Set<String> methods = new HashSet<>(); + methods.add("basic-card"); + methods.add("interledger"); + methods.add("payee-credit-transfer"); + methods.add("payer-credit-transfer"); + methods.add("not-supported"); + mPackageManager.installPaymentApp("AlicePay", "com.alicepay", + "" /* no default payment method name in metadata */, "AA"); + mPackageManager.setStringArrayMetaData("com.alicepay", + new String[] {"basic-card", "interledger", "payee-credit-transfer", + "payer-credit-transfer", "not-supported"}); + + findApps(methods); + + Assert.assertEquals("1 app should match the query", 1, mPaymentApps.size()); + Assert.assertEquals("com.alicepay", mPaymentApps.get(0).getAppIdentifier()); + Assert.assertEquals(4, mPaymentApps.get(0).getAppMethodNames().size()); + Assert.assertTrue(mPaymentApps.get(0).getAppMethodNames().contains("basic-card")); + Assert.assertTrue(mPaymentApps.get(0).getAppMethodNames().contains("interledger")); + Assert.assertTrue( + mPaymentApps.get(0).getAppMethodNames().contains("payee-credit-transfer")); + Assert.assertTrue( + mPaymentApps.get(0).getAppMethodNames().contains("payer-credit-transfer")); + + mPaymentApps.clear(); + mAllPaymentAppsCreated = false; + + findApps(methods); + + Assert.assertEquals("1 app should still match the query", 1, mPaymentApps.size()); + Assert.assertEquals("com.alicepay", mPaymentApps.get(0).getAppIdentifier()); + Assert.assertEquals(4, mPaymentApps.get(0).getAppMethodNames().size()); + Assert.assertTrue(mPaymentApps.get(0).getAppMethodNames().contains("basic-card")); + Assert.assertTrue(mPaymentApps.get(0).getAppMethodNames().contains("interledger")); + Assert.assertTrue( + mPaymentApps.get(0).getAppMethodNames().contains("payee-credit-transfer")); + Assert.assertTrue( + mPaymentApps.get(0).getAppMethodNames().contains("payer-credit-transfer")); + } + private void findApps(final Set<String> methodNames) throws Throwable { mRule.runOnUiThread(() -> AndroidPaymentAppFinder.find( mRule.getActivity().getCurrentContentViewCore().getWebContents(), methodNames,
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentManifestDownloaderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentManifestDownloaderTest.java index 7ac866d..e7027f8 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentManifestDownloaderTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentManifestDownloaderTest.java
@@ -95,7 +95,6 @@ mRule.runOnUiThread((Runnable) () -> { mDownloader.initialize( mRule.getActivity().getCurrentContentViewCore().getWebContents()); - mDownloader.allowHttpForTest(); }); mDownloadComplete = false; mDownloadPaymentMethodManifestSuccess = false;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java index a67fd84..34bcb26 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java
@@ -13,6 +13,7 @@ import org.junit.Test; import org.junit.runner.RunWith; +import org.chromium.base.Callback; import org.chromium.base.ThreadUtils; import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.test.util.CallbackHelper; @@ -74,7 +75,7 @@ private boolean mNeedsUpdate = false; public TestWebApkUpdateManager(CallbackHelper waiter, WebappDataStorage storage) { - super(null, storage); + super(storage); mWaiter = waiter; } @@ -86,8 +87,9 @@ } @Override - protected void buildUpdateRequestAndSchedule(final WebApkInfo info, String primaryIconUrl, - String badgeIconUrl, boolean isManifestStale) { + protected void storeWebApkUpdateRequestToFile(String updateRequestPath, WebApkInfo info, + String primaryIconUrl, String badgeIconUrl, boolean isManifestStale, + Callback<Boolean> callback) { mNeedsUpdate = true; }
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java index 0981dd3..3d0ec4c 100644 --- a/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java +++ b/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java
@@ -6,6 +6,8 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.chromium.webapk.lib.client.WebApkVersion.CURRENT_SHELL_APK_VERSION; @@ -20,11 +22,13 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Mockito; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowBitmap; +import org.chromium.base.Callback; import org.chromium.base.CommandLine; import org.chromium.base.ContextUtils; import org.chromium.base.PathUtils; @@ -33,11 +37,14 @@ import org.chromium.chrome.browser.ShortcutHelper; import org.chromium.chrome.browser.tab.Tab; import org.chromium.content_public.common.ScreenOrientationValues; +import org.chromium.testing.local.CustomShadowAsyncTask; import org.chromium.testing.local.LocalRobolectricTestRunner; import org.chromium.webapk.lib.common.WebApkConstants; import org.chromium.webapk.lib.common.WebApkMetaDataKeys; import org.chromium.webapk.test.WebApkTestHelper; +import java.io.File; +import java.io.FileOutputStream; import java.util.HashMap; import java.util.Map; @@ -45,7 +52,7 @@ * Unit tests for WebApkUpdateManager. */ @RunWith(LocalRobolectricTestRunner.class) -@Config(manifest = Config.NONE) +@Config(manifest = Config.NONE, shadows = {CustomShadowAsyncTask.class}) public class WebApkUpdateManagerTest { @Rule public DisableHistogramsRule mDisableHistogramsRule = new DisableHistogramsRule(); @@ -103,16 +110,14 @@ } private static class TestWebApkUpdateManager extends WebApkUpdateManager { - private WebappDataStorage mStorage; + private Callback<Boolean> mStoreUpdateRequestCallback; + private WebApkUpdateManager.WebApkUpdateCallback mUpdateCallback; private TestWebApkUpdateDataFetcher mFetcher; - private boolean mUpdateRequested; private String mUpdateName; private boolean mDestroyedFetcher; - private boolean mIsWebApkForeground; public TestWebApkUpdateManager(WebappDataStorage storage) { - super(null, storage); - mStorage = storage; + super(storage); } /** @@ -126,7 +131,7 @@ * Returns whether an update has been requested. */ public boolean updateRequested() { - return mUpdateRequested; + return mStoreUpdateRequestCallback != null; } /** @@ -140,6 +145,14 @@ return mDestroyedFetcher; } + public Callback<Boolean> getStoreUpdateRequestCallback() { + return mStoreUpdateRequestCallback; + } + + public WebApkUpdateManager.WebApkUpdateCallback getUpdateCallback() { + return mUpdateCallback; + } + @Override protected WebApkUpdateDataFetcher buildFetcher() { mFetcher = new TestWebApkUpdateDataFetcher(); @@ -147,21 +160,18 @@ } @Override - protected void buildUpdateRequestAndSchedule(WebApkInfo info, String primaryIconUrl, - String badgeIconUrl, boolean isManifestStale) { + protected void storeWebApkUpdateRequestToFile(String updateRequestPath, WebApkInfo info, + String primaryIconUrl, String badgeIconUrl, boolean isManifestStale, + Callback<Boolean> callback) { + mStoreUpdateRequestCallback = callback; mUpdateName = info.name(); - String updateRequestPath = mStorage.createAndSetUpdateRequestFilePath(info); - scheduleUpdate(updateRequestPath); + writeRandomTextToFile(updateRequestPath); } @Override - protected void updateAsyncImpl(String updateRequestPath) { - mUpdateRequested = true; - } - - @Override - protected boolean isInForeground() { - return mIsWebApkForeground; + protected void updateWebApkFromFile( + String updateRequestPath, WebApkUpdateCallback callback) { + mUpdateCallback = callback; } @Override @@ -170,10 +180,6 @@ mDestroyedFetcher = true; } - public void setIsWebApkForeground(boolean isForeground) { - mIsWebApkForeground = isForeground; - } - // Stubbed out because real implementation uses native. @Override protected boolean urlsMatchIgnoringFragments(String url1, String url2) { @@ -304,6 +310,12 @@ onGotManifestData(updateManager, defaultManifestData()); } + private static void onGotDifferentData(WebApkUpdateManager updateManager) { + ManifestData manifestData = defaultManifestData(); + manifestData.name = DIFFERENT_NAME; + onGotManifestData(updateManager, manifestData); + } + private static void onGotManifestData(WebApkUpdateManager updateManager, ManifestData fetchedManifestData) { String primaryIconUrl = randomIconUrl(fetchedManifestData); @@ -312,6 +324,39 @@ infoFromManifestData(fetchedManifestData), primaryIconUrl, badgeIconUrl); } + /** + * Tries to complete update request. + * @param updateManager + * @param result The result of the update task. Emulates the proto creation as always + * succeeding. + */ + private static void tryCompletingUpdate( + TestWebApkUpdateManager updateManager, @WebApkInstallResult int result) { + // Emulate proto creation as always succeeding. + Callback<Boolean> storeUpdateRequestCallback = + updateManager.getStoreUpdateRequestCallback(); + if (storeUpdateRequestCallback == null) return; + + storeUpdateRequestCallback.onResult(true); + + updateManager.updateWhileNotRunning(Mockito.mock(Runnable.class)); + WebApkUpdateManager.WebApkUpdateCallback updateCallback = updateManager.getUpdateCallback(); + if (updateCallback == null) return; + + updateCallback.onResultFromNative(result, false /* relaxUpdates */); + ShadowApplication.getInstance().runBackgroundTasks(); + } + + private static void writeRandomTextToFile(String path) { + File file = new File(path); + new File(file.getParent()).mkdirs(); + try (FileOutputStream out = new FileOutputStream(file)) { + String text = "something"; + out.write(text.getBytes()); + } catch (Exception e) { + } + } + private static String randomIconUrl(ManifestData fetchedManifestData) { if (fetchedManifestData == null || fetchedManifestData.iconUrlToMurmur2HashMap.isEmpty()) { return null; @@ -453,12 +498,10 @@ new TestWebApkUpdateManager(getStorage(WEBAPK_PACKAGE_NAME)); updateIfNeeded(updateManager); assertTrue(updateManager.updateCheckStarted()); - ManifestData manifestData = defaultManifestData(); - manifestData.name = DIFFERENT_NAME; - onGotManifestData(updateManager, manifestData); + onGotDifferentData(updateManager); assertTrue(updateManager.updateRequested()); - // Chrome is killed. {@link WebApkUpdateManager#onBuiltWebApk} is never called. + // Chrome is killed. {@link WebApkUpdateCallback#onResultFromNative} is never called. // Check {@link WebappDataStorage} state. WebappDataStorage storage = getStorage(WEBAPK_PACKAGE_NAME); @@ -468,6 +511,56 @@ } /** + * Test that the pending update file is deleted after update completes regardless of whether + * update succeeded. + */ + @Test + public void testPendingUpdateFileDeletedAfterUpdateCompletion() { + mClock.advance(WebappDataStorage.UPDATE_INTERVAL); + + WebappDataStorage storage = getStorage(WEBAPK_PACKAGE_NAME); + TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(storage); + updateIfNeeded(updateManager); + + onGotDifferentData(updateManager); + assertTrue(updateManager.updateRequested()); + String updateRequestPath = storage.getPendingUpdateRequestPath(); + assertNotNull(updateRequestPath); + assertTrue(new File(updateRequestPath).exists()); + + tryCompletingUpdate(updateManager, WebApkInstallResult.FAILURE); + + assertNull(storage.getPendingUpdateRequestPath()); + assertFalse(new File(updateRequestPath).exists()); + } + + /** + * Test that the pending update file is deleted if + * {@link WebApkUpdateManager#nativeStoreWebApkUpdateRequestToFile} creates the pending update + * file but fails. + */ + @Test + public void testFileDeletedIfStoreWebApkUpdateRequestToFileFails() { + mClock.advance(WebappDataStorage.UPDATE_INTERVAL); + + WebappDataStorage storage = getStorage(WEBAPK_PACKAGE_NAME); + TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(storage); + updateIfNeeded(updateManager); + + onGotDifferentData(updateManager); + assertTrue(updateManager.updateRequested()); + String updateRequestPath = storage.getPendingUpdateRequestPath(); + assertNotNull(updateRequestPath); + assertTrue(new File(updateRequestPath).exists()); + + updateManager.getStoreUpdateRequestCallback().onResult(false); + ShadowApplication.getInstance().runBackgroundTasks(); + + assertNull(storage.getPendingUpdateRequestPath()); + assertFalse(new File(updateRequestPath).exists()); + } + + /** * Test that an update with data from the WebAPK's Android manifest is done if: * - WebAPK's code is out of date * AND @@ -745,61 +838,6 @@ assertFalse(checkUpdateNeededForFetchedManifest(androidManifestData, fetchedManifestData)); } - @Test - public void testForceUpdateWhenUncompletedUpdateRequestRechesMaximumTimes() { - mClock.advance(WebappDataStorage.UPDATE_INTERVAL); - ManifestData differentManifestData = defaultManifestData(); - differentManifestData.name = DIFFERENT_NAME; - WebappDataStorage storage = getStorage(WEBAPK_PACKAGE_NAME); - - for (int i = 0; i < 3; ++i) { - TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(storage); - updateManager.setIsWebApkForeground(true); - updateIfNeeded(updateManager); - - onGotManifestData(updateManager, differentManifestData); - assertTrue(updateManager.getHasPendingUpdateForTesting()); - assertFalse(updateManager.updateRequested()); - assertEquals(i + 1, storage.getUpdateRequests()); - } - - TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(storage); - updateManager.setIsWebApkForeground(true); - updateIfNeeded(updateManager); - - onGotManifestData(updateManager, differentManifestData); - assertFalse(updateManager.getHasPendingUpdateForTesting()); - assertTrue(updateManager.updateRequested()); - assertEquals(0, storage.getUpdateRequests()); - } - - @Test - public void testRequestUpdateAfterWebApkOnStopIsCalled() { - ManifestData differentManifestData = defaultManifestData(); - differentManifestData.name = DIFFERENT_NAME; - WebappDataStorage storage = getStorage(WEBAPK_PACKAGE_NAME); - - mClock.advance(WebappDataStorage.UPDATE_INTERVAL); - TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(storage); - updateManager.setIsWebApkForeground(true); - updateIfNeeded(updateManager); - assertTrue(updateManager.updateCheckStarted()); - - onGotManifestData(updateManager, differentManifestData); - assertTrue(updateManager.getHasPendingUpdateForTesting()); - assertFalse(updateManager.updateRequested()); - assertEquals(1, storage.getUpdateRequests()); - - // Since {@link WebApkActivity#OnStop()} calls {@link requestPendingUpdate()} to trigger an - // update request, we call it directly for testing. - updateManager.setIsWebApkForeground(false); - updateManager.requestPendingUpdate(); - - assertFalse(updateManager.getHasPendingUpdateForTesting()); - assertTrue(updateManager.updateRequested()); - assertEquals(0, storage.getUpdateRequests()); - } - /** * Tests that a WebAPK update is requested immediately if: * the Shell APK is out of date, @@ -818,10 +856,7 @@ assertTrue(updateManager.updateCheckStarted()); onGotManifestData(updateManager, defaultManifestData()); assertTrue(updateManager.updateRequested()); - - WebappDataStorage storage = getStorage(WEBAPK_PACKAGE_NAME); - storage.updateTimeOfLastWebApkUpdateRequestCompletion(); - storage.updateLastRequestedShellApkVersion(CURRENT_SHELL_APK_VERSION); + tryCompletingUpdate(updateManager, WebApkInstallResult.FAILURE); mClock.advance(1); updateIfNeeded(updateManager);
diff --git a/chrome/app/chromium_strings.grd b/chrome/app/chromium_strings.grd index bffed19..123f90e 100644 --- a/chrome/app/chromium_strings.grd +++ b/chrome/app/chromium_strings.grd
@@ -1182,6 +1182,13 @@ </message> </if> + <!-- OOM intervention message --> + <if expr="is_android"> + <message name="IDS_NEAR_OOM_INTERVENTION_MESSAGE" desc="The message stating that the browser intervened to stop the page using too much memory."> + This page uses too much memory, so Chromium paused it. + </message> + </if> + <!-- OOBE --> <if expr="chromeos"> <message name="IDS_INSTALLING_UPDATE" desc="Label shown on the updates installation screen during OOBE">
diff --git a/chrome/app/google_chrome_strings.grd b/chrome/app/google_chrome_strings.grd index 7144bef..a80472b 100644 --- a/chrome/app/google_chrome_strings.grd +++ b/chrome/app/google_chrome_strings.grd
@@ -1199,6 +1199,13 @@ </message> </if> + <!-- OOM intervention message --> + <if expr="is_android"> + <message name="IDS_NEAR_OOM_INTERVENTION_MESSAGE" desc="The message stating that the browser intervened to stop the page using too much memory."> + This page uses too much memory, so Chrome paused it. + </message> + </if> + <!-- OOBE --> <if expr="chromeos"> <message name="IDS_INSTALLING_UPDATE" desc="Label shown on the updates installation screen during OOBE">
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn index b4a20206..60f69e44 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -4145,6 +4145,7 @@ "../android/java/src/org/chromium/chrome/browser/infobar/InfoBarContainer.java", "../android/java/src/org/chromium/chrome/browser/infobar/InstantAppsInfoBar.java", "../android/java/src/org/chromium/chrome/browser/infobar/InstantAppsInfoBarDelegate.java", + "../android/java/src/org/chromium/chrome/browser/infobar/NearOomInfoBar.java", "../android/java/src/org/chromium/chrome/browser/infobar/PermissionInfoBar.java", "../android/java/src/org/chromium/chrome/browser/infobar/PermissionUpdateInfoBarDelegate.java", "../android/java/src/org/chromium/chrome/browser/infobar/PreviewsInfoBar.java",
diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chrome_browser_field_trials.cc index e05bd750..4ceb5c2d3 100644 --- a/chrome/browser/chrome_browser_field_trials.cc +++ b/chrome/browser/chrome_browser_field_trials.cc
@@ -60,19 +60,6 @@ if (!base::PathService::Get(chrome::DIR_USER_DATA, &metrics_dir)) return; - // Remove any existing file from its legacy location. - // TODO(bcwhite): Remove this block of code in M62 or later. - base::FilePath legacy_file; - base::GlobalHistogramAllocator::ConstructFilePaths( - metrics_dir, ChromeMetricsServiceClient::kBrowserMetricsName, - &legacy_file, nullptr, nullptr); - base::PostTaskWithTraits( - FROM_HERE, - {base::MayBlock(), base::TaskPriority::BACKGROUND, - base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, - base::BindOnce(base::IgnoreResult(&base::DeleteFile), - base::Passed(&legacy_file), /*recursive=*/false)); - // Create a directory for storing completed metrics files. Files in this // directory must have embedded system profiles. If the directory can't be // created, the file will just be deleted below. @@ -92,12 +79,18 @@ base::GlobalHistogramAllocator::ConstructFilePathsForUploadDir( metrics_dir, upload_dir, ChromeMetricsServiceClient::kBrowserMetricsName, &upload_file, &active_file, &spare_file); + DCHECK(!base::PathExists(active_file)); - // Move any existing "active" file to the final name from which it will be - // read when reporting initial stability metrics. If there is no file to - // move, remove any old, existing file from before the previous session. - if (!base::ReplaceFile(active_file, upload_file, nullptr)) - base::DeleteFile(active_file, /*recursive=*/false); + // The "active" file isn't used any longer. Metics are stored directly into + // the "upload" file and a run-time filter prevents its upload as long as the + // process that created it still lives. + // TODO(bcwhite): Remove this in M65 or later. + base::PostTaskWithTraits( + FROM_HERE, + {base::MayBlock(), base::TaskPriority::BACKGROUND, + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, + base::BindOnce(base::IgnoreResult(&base::DeleteFile), + base::Passed(&active_file), /*recursive=*/false)); // This is used to report results to an UMA histogram. enum InitResult { @@ -107,6 +100,7 @@ MAPPED_FILE_FAILED, MAPPED_FILE_EXISTS, NO_SPARE_FILE, + NO_UPLOAD_DIR, INIT_RESULT_MAX }; InitResult result; @@ -121,31 +115,20 @@ base::kPersistentHistogramsFeature, "storage"); if (storage.empty() || storage == "MappedFile") { - // If for some reason the existing "active" file could not be moved above - // then it is essential it be scheduled for deletion when possible and the - // contents ignored. Because this shouldn't happen but can on an OS like - // Windows where another process reading the file (backup, AV, etc.) can - // prevent its alteration, it's necessary to handle this case by switching - // to the equivalent of "LocalMemory" for this run. - if (base::PathExists(active_file)) { - base::File file(active_file, base::File::FLAG_OPEN | - base::File::FLAG_READ | - base::File::FLAG_DELETE_ON_CLOSE); + if (!base::PathExists(upload_dir)) { + // Handle failure to create the directory. + result = NO_UPLOAD_DIR; + } else if (base::PathExists(upload_file)) { + // "upload" filename is supposed to be unique so this shouldn't happen. result = MAPPED_FILE_EXISTS; - base::GlobalHistogramAllocator::CreateWithLocalMemory( - kAllocSize, kAllocId, - ChromeMetricsServiceClient::kBrowserMetricsName); } else { - // Move any sparse file into the active position. - base::ReplaceFile(spare_file, active_file, nullptr); - // Create global allocator using the "active" file. - if (kSpareFileRequired && !base::PathExists(active_file)) { + // Move any sparse file into the upload position. + base::ReplaceFile(spare_file, upload_file, nullptr); + // Create global allocator using the "upload" file. + if (kSpareFileRequired && !base::PathExists(upload_file)) { result = NO_SPARE_FILE; - base::GlobalHistogramAllocator::CreateWithLocalMemory( - kAllocSize, kAllocId, - ChromeMetricsServiceClient::kBrowserMetricsName); } else if (base::GlobalHistogramAllocator::CreateWithFile( - active_file, kAllocSize, kAllocId, + upload_file, kAllocSize, kAllocId, ChromeMetricsServiceClient::kBrowserMetricsName)) { result = MAPPED_FILE_SUCCESS; } else { @@ -163,12 +146,11 @@ base::TimeDelta::FromSeconds(kSpareFileCreateDelaySeconds)); } else if (storage == "LocalMemory") { // Use local memory for storage even though it will not persist across - // an unclean shutdown. - base::GlobalHistogramAllocator::CreateWithLocalMemory( - kAllocSize, kAllocId, ChromeMetricsServiceClient::kBrowserMetricsName); + // an unclean shutdown. This sets the result but the actual creation is + // done below. result = LOCAL_MEMORY_SUCCESS; } else { - // Persistent metric storage is disabled. + // Persistent metric storage is disabled. Must return here. return; } @@ -179,8 +161,16 @@ base::GlobalHistogramAllocator* allocator = base::GlobalHistogramAllocator::Get(); - if (!allocator) - return; + if (!allocator) { + // If no allocator was created above, try to create a LocalMemomory one + // here. This avoids repeating the call many times above. In the case where + // persistence is disabled, an early return is done above. + base::GlobalHistogramAllocator::CreateWithLocalMemory( + kAllocSize, kAllocId, ChromeMetricsServiceClient::kBrowserMetricsName); + allocator = base::GlobalHistogramAllocator::Get(); + if (!allocator) + return; + } // Store a copy of the system profile in this allocator. metrics::GlobalPersistentSystemProfile::GetInstance()
diff --git a/chrome/browser/chromeos/display/display_preferences.cc b/chrome/browser/chromeos/display/display_preferences.cc index 9cd6b4a..649cc40 100644 --- a/chrome/browser/chromeos/display/display_preferences.cc +++ b/chrome/browser/chromeos/display/display_preferences.cc
@@ -125,7 +125,8 @@ bool ValueToTouchDataMap( const base::DictionaryValue& value, - std::map<uint32_t, display::TouchCalibrationData>* touch_calibration_map) { + std::map<display::TouchDeviceIdentifier, display::TouchCalibrationData>* + touch_calibration_map) { const base::DictionaryValue* map_dictionary; if (!value.GetDictionary(kTouchCalibrationMap, &map_dictionary)) @@ -141,7 +142,8 @@ display::TouchCalibrationData data; if (!ValueToTouchData(*data_dict, &data)) return false; - touch_calibration_map->emplace(touch_device_identifier, data); + touch_calibration_map->emplace( + display::TouchDeviceIdentifier(touch_device_identifier), data); } return true; } @@ -177,7 +179,8 @@ // Stores the entire touch calibration data map to the dictionary. void TouchDataMapToValue( - const std::map<uint32_t, display::TouchCalibrationData>& touch_data_map, + const std::map<display::TouchDeviceIdentifier, + display::TouchCalibrationData>& touch_data_map, base::DictionaryValue* value) { std::unique_ptr<base::DictionaryValue> touch_data_map_dictionary = std::make_unique<base::DictionaryValue>(); @@ -187,7 +190,7 @@ std::make_unique<base::DictionaryValue>(); TouchDataToValue(pair.second, touch_data_dictionary.get()); - touch_data_map_dictionary->SetDictionary(base::UintToString(pair.first), + touch_data_map_dictionary->SetDictionary(pair.first.ToString(), std::move(touch_data_dictionary)); } value->SetDictionary(kTouchCalibrationMap, @@ -286,8 +289,9 @@ if (ValueToTouchData(*dict_value, &calibration_data)) calibration_data_to_set = &calibration_data; - std::map<uint32_t, display::TouchCalibrationData> calibration_data_map; - std::map<uint32_t, display::TouchCalibrationData>* + std::map<display::TouchDeviceIdentifier, display::TouchCalibrationData> + calibration_data_map; + std::map<display::TouchDeviceIdentifier, display::TouchCalibrationData>* calibration_data_map_to_set = nullptr; if (ValueToTouchDataMap(*dict_value, &calibration_data_map)) calibration_data_map_to_set = &calibration_data_map; @@ -295,8 +299,8 @@ // Migrate legacy touch calibration data to updated model. Use it as a // fallback mechanism. if (calibration_data_to_set) { - const uint32_t fallback_identifier = - display::TouchCalibrationData::GetFallbackTouchDeviceIdentifier(); + const display::TouchDeviceIdentifier& fallback_identifier = + display::TouchDeviceIdentifier::GetFallbackTouchDeviceIdentifier(); // Store the legacy cailbration data in the calibration data map if we // have a non-null calibration data map with no previous fallback // calibration data stored in it. @@ -416,8 +420,8 @@ property_value.get()); // Ensure that the legacy data is still stored just in case. - uint32_t fallback_identifier = - display::TouchCalibrationData::GetFallbackTouchDeviceIdentifier(); + const display::TouchDeviceIdentifier& fallback_identifier = + display::TouchDeviceIdentifier::GetFallbackTouchDeviceIdentifier(); if (info.HasTouchCalibrationData(fallback_identifier)) { TouchDataToValue(info.GetTouchCalibrationData(fallback_identifier), property_value.get());
diff --git a/chrome/browser/chromeos/display/display_preferences_unittest.cc b/chrome/browser/chromeos/display/display_preferences_unittest.cc index dda40fc..d0edf8d 100644 --- a/chrome/browser/chromeos/display/display_preferences_unittest.cc +++ b/chrome/browser/chromeos/display/display_preferences_unittest.cc
@@ -302,7 +302,8 @@ .SetDisplayUIScale(id2, 1.25f)); // Set touch calibration data for display |id2|. - constexpr uint32_t touch_device_identifier_1 = 1234; + uint32_t id_1 = 1234; + const display::TouchDeviceIdentifier touch_device_identifier_1(id_1); display::TouchCalibrationData::CalibrationPointPairQuad point_pair_quad_1 = { {std::make_pair(gfx::Point(10, 10), gfx::Point(11, 12)), std::make_pair(gfx::Point(190, 10), gfx::Point(195, 8)), @@ -310,7 +311,8 @@ std::make_pair(gfx::Point(190, 90), gfx::Point(189, 88))}}; gfx::Size touch_size_1(200, 150); - constexpr uint32_t touch_device_identifier_2 = 2345; + uint32_t id_2 = 2345; + const display::TouchDeviceIdentifier touch_device_identifier_2(id_2); display::TouchCalibrationData::CalibrationPointPairQuad point_pair_quad_2 = { {std::make_pair(gfx::Point(10, 10), gfx::Point(11, 12)), std::make_pair(gfx::Point(190, 10), gfx::Point(195, 8)), @@ -389,8 +391,8 @@ display::TouchCalibrationData::CalibrationPointPairQuad stored_pair_quad; EXPECT_TRUE(property->GetDictionary(kTouchCalibrationMap, &map_dictionary)); - EXPECT_TRUE(map_dictionary->GetDictionary( - base::UintToString(touch_device_identifier_1), &data_dict)); + EXPECT_TRUE( + map_dictionary->GetDictionary(base::UintToString(id_1), &data_dict)); EXPECT_TRUE(data_dict->GetString(kTouchCalibrationPointPairs, &touch_str)); EXPECT_TRUE(ParseTouchCalibrationStringForTest(touch_str, &stored_pair_quad)); @@ -410,8 +412,8 @@ EXPECT_EQ(width, touch_size_1.width()); EXPECT_EQ(height, touch_size_1.height()); - EXPECT_TRUE(map_dictionary->GetDictionary( - base::UintToString(touch_device_identifier_2), &data_dict)); + EXPECT_TRUE( + map_dictionary->GetDictionary(base::UintToString(id_2), &data_dict)); EXPECT_TRUE(data_dict->GetString(kTouchCalibrationPointPairs, &touch_str)); EXPECT_TRUE(ParseTouchCalibrationStringForTest(touch_str, &stored_pair_quad));
diff --git a/chrome/browser/domain_reliability/browsertest.cc b/chrome/browser/domain_reliability/browsertest.cc index b87684c..77ea066e 100644 --- a/chrome/browser/domain_reliability/browsertest.cc +++ b/chrome/browser/domain_reliability/browsertest.cc
@@ -3,8 +3,11 @@ // found in the LICENSE file. #include "base/command_line.h" +#include "base/json/json_reader.h" #include "base/macros.h" #include "base/memory/ptr_util.h" +#include "base/run_loop.h" +#include "base/test/values_test_util.h" #include "chrome/browser/domain_reliability/service_factory.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" @@ -13,6 +16,9 @@ #include "chrome/test/base/ui_test_utils.h" #include "components/domain_reliability/service.h" #include "net/base/net_errors.h" +#include "net/test/embedded_test_server/embedded_test_server.h" +#include "net/test/embedded_test_server/http_request.h" +#include "net/test/embedded_test_server/http_response.h" #include "net/test/url_request/url_request_failed_job.h" #include "url/gurl.h" @@ -74,6 +80,94 @@ EXPECT_TRUE(GetService()); } +static const char kUploadPath[] = "/domainreliability/upload"; + +std::unique_ptr<net::test_server::HttpResponse> TestRequestHandler( + int* request_count_out, + std::string* last_request_content_out, + const base::Closure& quit_closure, + const net::test_server::HttpRequest& request) { + if (request.relative_url != kUploadPath) + return std::unique_ptr<net::test_server::HttpResponse>(); + + ++*request_count_out; + *last_request_content_out = request.has_content ? request.content : ""; + + quit_closure.Run(); + + auto response = base::MakeUnique<net::test_server::BasicHttpResponse>(); + response->set_code(net::HTTP_OK); + response->set_content(""); + response->set_content_type("text/plain"); + return std::move(response); +} + +IN_PROC_BROWSER_TEST_F(DomainReliabilityBrowserTest, Upload) { + DomainReliabilityService* service = GetService(); + + base::RunLoop run_loop; + + net::test_server::EmbeddedTestServer test_server( + (net::test_server::EmbeddedTestServer::TYPE_HTTPS)); + + // This is cribbed from //chrome/test/ppapi/ppapi_test.cc; it shouldn't + // matter, as we don't actually use any of the handlers that access the + // filesystem. + base::FilePath document_root; + ASSERT_TRUE(ui_test_utils::GetRelativeBuildDirectory(&document_root)); + test_server.AddDefaultHandlers(document_root); + + // Register a same-origin collector to receive report uploads so we can check + // the full path. (Domain Reliability elides the path for privacy reasons when + // uploading to non-same-origin collectors.) + int request_count = 0; + std::string last_request_content; + test_server.RegisterRequestHandler( + base::Bind(&TestRequestHandler, &request_count, &last_request_content, + run_loop.QuitClosure())); + + ASSERT_TRUE(test_server.Start()); + + GURL error_url = test_server.GetURL("/close-socket"); + GURL upload_url = test_server.GetURL(kUploadPath); + + auto config = base::MakeUnique<DomainReliabilityConfig>(); + config->origin = test_server.base_url().GetOrigin(); + config->include_subdomains = false; + config->collectors.push_back(base::MakeUnique<GURL>(upload_url)); + config->success_sample_rate = 1.0; + config->failure_sample_rate = 1.0; + service->AddContextForTesting(std::move(config)); + + // Trigger an error. + + ui_test_utils::NavigateToURL(browser(), error_url); + + service->ForceUploadsForTesting(); + + run_loop.Run(); + + EXPECT_EQ(1, request_count); + EXPECT_NE("", last_request_content); + + auto body = base::JSONReader::Read(last_request_content); + ASSERT_TRUE(body); + + const base::DictionaryValue* dict; + ASSERT_TRUE(body->GetAsDictionary(&dict)); + + const base::ListValue* entries; + ASSERT_TRUE(dict->GetList("entries", &entries)); + ASSERT_EQ(1u, entries->GetSize()); + + const base::DictionaryValue* entry; + ASSERT_TRUE(entries->GetDictionary(0u, &entry)); + + std::string url; + ASSERT_TRUE(entry->GetString("url", &url)); + EXPECT_EQ(url, error_url); +} + IN_PROC_BROWSER_TEST_F(DomainReliabilityBrowserTest, UploadAtShutdown) { DomainReliabilityService* service = GetService();
diff --git a/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc b/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc index 49e60147..4874f47 100644 --- a/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc +++ b/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc
@@ -453,7 +453,7 @@ helpers::DispatchOnErrorOccurred(navigation_handle); } -// See also NavigationController::IsURLInPageNavigation. +// See also NavigationController::IsURLSameDocumentNavigation. bool WebNavigationTabObserver::IsReferenceFragmentNavigation( content::RenderFrameHost* render_frame_host, const GURL& url) {
diff --git a/chrome/browser/feature_engagement/bookmark/bookmark_tracker_unittest.cc b/chrome/browser/feature_engagement/bookmark/bookmark_tracker_unittest.cc index 3ef1473..3cbc79b 100644 --- a/chrome/browser/feature_engagement/bookmark/bookmark_tracker_unittest.cc +++ b/chrome/browser/feature_engagement/bookmark/bookmark_tracker_unittest.cc
@@ -22,6 +22,7 @@ #include "components/feature_engagement/public/event_constants.h" #include "components/feature_engagement/public/feature_constants.h" #include "components/feature_engagement/public/tracker.h" +#include "components/feature_engagement/test/mock_tracker.h" #include "components/feature_engagement/test/test_tracker.h" #include "components/sync_preferences/testing_pref_service_syncable.h" #include "components/variations/variations_params_manager.h" @@ -37,18 +38,6 @@ const char kGroupName[] = "Enabled"; const char kTestProfileName[] = "test-profile"; -class MockTracker : public Tracker { - public: - MockTracker() = default; - MOCK_METHOD1(NotifyEvent, void(const std::string& event)); - MOCK_METHOD1(ShouldTriggerHelpUI, bool(const base::Feature& feature)); - MOCK_METHOD1(GetTriggerState, - Tracker::TriggerState(const base::Feature& feature)); - MOCK_METHOD1(Dismissed, void(const base::Feature& feature)); - MOCK_METHOD0(IsInitialized, bool()); - MOCK_METHOD1(AddOnInitializedCallback, void(OnInitializedCallback callback)); -}; - class FakeBookmarkTracker : public BookmarkTracker { public: FakeBookmarkTracker(Tracker* feature_tracker, Profile* profile) @@ -83,7 +72,7 @@ testing_profile_manager_ = base::MakeUnique<TestingProfileManager>( TestingBrowserProcess::GetGlobal()); ASSERT_TRUE(testing_profile_manager_->SetUp()); - mock_tracker_ = base::MakeUnique<testing::StrictMock<MockTracker>>(); + mock_tracker_ = base::MakeUnique<testing::StrictMock<test::MockTracker>>(); bookmark_tracker_ = base::MakeUnique<FakeBookmarkTracker>( mock_tracker_.get(), testing_profile_manager_->CreateTestingProfile(kTestProfileName)); @@ -97,7 +86,7 @@ protected: std::unique_ptr<TestingProfileManager> testing_profile_manager_; - std::unique_ptr<MockTracker> mock_tracker_; + std::unique_ptr<test::MockTracker> mock_tracker_; std::unique_ptr<FakeBookmarkTracker> bookmark_tracker_; private:
diff --git a/chrome/browser/feature_engagement/incognito_window/incognito_window_tracker_browsertest.cc b/chrome/browser/feature_engagement/incognito_window/incognito_window_tracker_browsertest.cc index 07a6d40..fce06c61 100644 --- a/chrome/browser/feature_engagement/incognito_window/incognito_window_tracker_browsertest.cc +++ b/chrome/browser/feature_engagement/incognito_window/incognito_window_tracker_browsertest.cc
@@ -17,6 +17,7 @@ #include "components/feature_engagement/public/event_constants.h" #include "components/feature_engagement/public/feature_constants.h" #include "components/feature_engagement/public/tracker.h" +#include "components/feature_engagement/test/mock_tracker.h" #include "components/keyed_service/content/browser_context_keyed_service_factory.h" #include "components/keyed_service/core/keyed_service.h" #include "components/sync_preferences/testing_pref_service_syncable.h" @@ -32,24 +33,9 @@ return arg.name == feature.name; } -// Mock the backend for displaying in-product help. -class MockTracker : public Tracker { - public: - MockTracker() = default; - MOCK_METHOD1(NotifyEvent, void(const std::string& event)); - MOCK_METHOD1(GetTriggerState, TriggerState(const base::Feature& feature)); - MOCK_METHOD1(ShouldTriggerHelpUI, bool(const base::Feature& feature)); - MOCK_METHOD1(Dismissed, void(const base::Feature& feature)); - MOCK_METHOD0(IsInitialized, bool()); - MOCK_METHOD1(AddOnInitializedCallback, void(OnInitializedCallback callback)); - - private: - DISALLOW_COPY_AND_ASSIGN(MockTracker); -}; - std::unique_ptr<KeyedService> BuildTestTrackerFactory( content::BrowserContext* context) { - return std::make_unique<testing::StrictMock<MockTracker>>(); + return std::make_unique<testing::StrictMock<test::MockTracker>>(); } // Set up a test profile for the incognito window In-Product Help (IPH) @@ -66,7 +52,7 @@ // Ensure all initialization is finished. base::RunLoop().RunUntilIdle(); - feature_engagement_tracker_ = static_cast<MockTracker*>( + feature_engagement_tracker_ = static_cast<test::MockTracker*>( TrackerFactory::GetForBrowserContext(browser()->profile())); EXPECT_CALL(*feature_engagement_tracker_, IsInitialized()) @@ -78,7 +64,7 @@ protected: // Owned by the Profile. - MockTracker* feature_engagement_tracker_ = nullptr; + test::MockTracker* feature_engagement_tracker_ = nullptr; private: DISALLOW_COPY_AND_ASSIGN(IncognitoWindowTrackerBrowserTest);
diff --git a/chrome/browser/feature_engagement/incognito_window/incognito_window_tracker_unittest.cc b/chrome/browser/feature_engagement/incognito_window/incognito_window_tracker_unittest.cc index 698a0410..a4a5874 100644 --- a/chrome/browser/feature_engagement/incognito_window/incognito_window_tracker_unittest.cc +++ b/chrome/browser/feature_engagement/incognito_window/incognito_window_tracker_unittest.cc
@@ -22,6 +22,7 @@ #include "components/feature_engagement/public/event_constants.h" #include "components/feature_engagement/public/feature_constants.h" #include "components/feature_engagement/public/tracker.h" +#include "components/feature_engagement/test/mock_tracker.h" #include "components/feature_engagement/test/test_tracker.h" #include "components/sync_preferences/testing_pref_service_syncable.h" #include "components/variations/variations_params_manager.h" @@ -37,18 +38,6 @@ const char kGroupName[] = "Enabled"; const char kTestProfileName[] = "test-profile"; -class MockTracker : public Tracker { - public: - MockTracker() = default; - MOCK_METHOD1(NotifyEvent, void(const std::string& event)); - MOCK_METHOD1(ShouldTriggerHelpUI, bool(const base::Feature& feature)); - MOCK_METHOD1(GetTriggerState, - Tracker::TriggerState(const base::Feature& feature)); - MOCK_METHOD1(Dismissed, void(const base::Feature& feature)); - MOCK_METHOD0(IsInitialized, bool()); - MOCK_METHOD1(AddOnInitializedCallback, void(OnInitializedCallback callback)); -}; - class FakeIncognitoWindowTracker : public IncognitoWindowTracker { public: FakeIncognitoWindowTracker(Tracker* feature_tracker, Profile* profile) @@ -83,7 +72,7 @@ testing_profile_manager_ = base::MakeUnique<TestingProfileManager>( TestingBrowserProcess::GetGlobal()); ASSERT_TRUE(testing_profile_manager_->SetUp()); - mock_tracker_ = base::MakeUnique<testing::StrictMock<MockTracker>>(); + mock_tracker_ = base::MakeUnique<testing::StrictMock<test::MockTracker>>(); incognito_window_tracker_ = base::MakeUnique<FakeIncognitoWindowTracker>( mock_tracker_.get(), testing_profile_manager_->CreateTestingProfile(kTestProfileName)); @@ -98,7 +87,7 @@ protected: std::unique_ptr<TestingProfileManager> testing_profile_manager_; - std::unique_ptr<MockTracker> mock_tracker_; + std::unique_ptr<test::MockTracker> mock_tracker_; std::unique_ptr<FakeIncognitoWindowTracker> incognito_window_tracker_; private:
diff --git a/chrome/browser/feature_engagement/new_tab/new_tab_tracker_browsertest.cc b/chrome/browser/feature_engagement/new_tab/new_tab_tracker_browsertest.cc index ca4c502..cb6d38b 100644 --- a/chrome/browser/feature_engagement/new_tab/new_tab_tracker_browsertest.cc +++ b/chrome/browser/feature_engagement/new_tab/new_tab_tracker_browsertest.cc
@@ -21,6 +21,7 @@ #include "components/feature_engagement/public/event_constants.h" #include "components/feature_engagement/public/feature_constants.h" #include "components/feature_engagement/public/tracker.h" +#include "components/feature_engagement/test/mock_tracker.h" #include "components/keyed_service/content/browser_context_keyed_service_factory.h" #include "components/keyed_service/core/keyed_service.h" #include "components/omnibox/browser/omnibox_edit_model.h" @@ -38,22 +39,9 @@ return arg.name == feature.name; } -class MockTracker : public Tracker { - public: - MockTracker() = default; - MOCK_METHOD1(NotifyEvent, void(const std::string& event)); - TriggerState GetTriggerState(const base::Feature& feature) override { - return Tracker::TriggerState::HAS_NOT_BEEN_DISPLAYED; - } - MOCK_METHOD1(ShouldTriggerHelpUI, bool(const base::Feature& feature)); - MOCK_METHOD1(Dismissed, void(const base::Feature& feature)); - MOCK_METHOD0(IsInitialized, bool()); - void AddOnInitializedCallback(OnInitializedCallback callback) override {} -}; - std::unique_ptr<KeyedService> BuildTestTrackerFactory( content::BrowserContext* context) { - return base::MakeUnique<testing::StrictMock<MockTracker>>(); + return base::MakeUnique<testing::StrictMock<test::MockTracker>>(); } class NewTabTrackerBrowserTest : public InProcessBrowserTest { @@ -68,8 +56,11 @@ // Ensure all initialization is finished. base::RunLoop().RunUntilIdle(); - feature_engagement_tracker_ = static_cast<MockTracker*>( + feature_engagement_tracker_ = static_cast<test::MockTracker*>( TrackerFactory::GetForBrowserContext(browser()->profile())); + ON_CALL(*feature_engagement_tracker_, GetTriggerState(testing::_)) + .WillByDefault(testing::Return( + feature_engagement::Tracker::TriggerState::HAS_NOT_BEEN_DISPLAYED)); EXPECT_CALL(*feature_engagement_tracker_, IsInitialized()) .WillOnce(::testing::Return(true)); @@ -82,7 +73,7 @@ protected: // Owned by the Profile. - MockTracker* feature_engagement_tracker_; + test::MockTracker* feature_engagement_tracker_; }; } // namespace
diff --git a/chrome/browser/feature_engagement/new_tab/new_tab_tracker_unittest.cc b/chrome/browser/feature_engagement/new_tab/new_tab_tracker_unittest.cc index c838edf..4205d5c 100644 --- a/chrome/browser/feature_engagement/new_tab/new_tab_tracker_unittest.cc +++ b/chrome/browser/feature_engagement/new_tab/new_tab_tracker_unittest.cc
@@ -22,6 +22,7 @@ #include "components/feature_engagement/public/event_constants.h" #include "components/feature_engagement/public/feature_constants.h" #include "components/feature_engagement/public/tracker.h" +#include "components/feature_engagement/test/mock_tracker.h" #include "components/feature_engagement/test/test_tracker.h" #include "components/sync_preferences/testing_pref_service_syncable.h" #include "components/variations/variations_params_manager.h" @@ -37,18 +38,6 @@ const char kNewTabTrialName[] = "NewTabTrial"; const char kTestProfileName[] = "test-profile"; -class MockTracker : public Tracker { - public: - MockTracker() = default; - MOCK_METHOD1(NotifyEvent, void(const std::string& event)); - MOCK_METHOD1(ShouldTriggerHelpUI, bool(const base::Feature& feature)); - MOCK_METHOD1(GetTriggerState, - Tracker::TriggerState(const base::Feature& feature)); - MOCK_METHOD1(Dismissed, void(const base::Feature& feature)); - MOCK_METHOD0(IsInitialized, bool()); - MOCK_METHOD1(AddOnInitializedCallback, void(OnInitializedCallback callback)); -}; - class FakeNewTabTracker : public NewTabTracker { public: FakeNewTabTracker(Tracker* feature_tracker, Profile* profile) @@ -84,7 +73,7 @@ testing_profile_manager_ = base::MakeUnique<TestingProfileManager>( TestingBrowserProcess::GetGlobal()); ASSERT_TRUE(testing_profile_manager_->SetUp()); - mock_tracker_ = base::MakeUnique<testing::StrictMock<MockTracker>>(); + mock_tracker_ = base::MakeUnique<testing::StrictMock<test::MockTracker>>(); new_tab_tracker_ = base::MakeUnique<FakeNewTabTracker>( mock_tracker_.get(), testing_profile_manager_->CreateTestingProfile(kTestProfileName)); @@ -98,7 +87,7 @@ protected: std::unique_ptr<TestingProfileManager> testing_profile_manager_; - std::unique_ptr<MockTracker> mock_tracker_; + std::unique_ptr<test::MockTracker> mock_tracker_; std::unique_ptr<FakeNewTabTracker> new_tab_tracker_; private:
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc index 6014038..504391d4 100644 --- a/chrome/browser/metrics/chrome_metrics_service_client.cc +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
@@ -64,7 +64,6 @@ #include "components/metrics/component_metrics_provider.h" #include "components/metrics/drive_metrics_provider.h" #include "components/metrics/field_trials_provider.h" -#include "components/metrics/file_metrics_provider.h" #include "components/metrics/gpu/gpu_metrics_provider.h" #include "components/metrics/metrics_log_uploader.h" #include "components/metrics/metrics_pref_names.h" @@ -100,6 +99,10 @@ #include "chrome/browser/ui/android/tab_model/tab_model_list_observer.h" #endif +#if defined(OS_POSIX) +#include <signal.h> +#endif + #if BUILDFLAG(ENABLE_PRINT_PREVIEW) #include "chrome/browser/service_process/service_process_control.h" #endif @@ -251,13 +254,15 @@ base::FilePath browser_metrics_upload_dir = user_data_dir.AppendASCII( ChromeMetricsServiceClient::kBrowserMetricsName); if (metrics_reporting_enabled) { - metrics::FileMetricsProvider::Params params( + metrics::FileMetricsProvider::Params browser_metrics_params( browser_metrics_upload_dir, metrics::FileMetricsProvider::SOURCE_HISTOGRAMS_ATOMIC_DIR, metrics::FileMetricsProvider::ASSOCIATE_INTERNAL_PROFILE, ChromeMetricsServiceClient::kBrowserMetricsName); - params.max_dir_kib = kMaxHistogramStorageKiB; - file_metrics_provider->RegisterSource(params); + browser_metrics_params.max_dir_kib = kMaxHistogramStorageKiB; + browser_metrics_params.filter = base::BindRepeating( + &ChromeMetricsServiceClient::FilterBrowserMetricsFiles); + file_metrics_provider->RegisterSource(browser_metrics_params); base::FilePath active_path; base::GlobalHistogramAllocator::ConstructFilePaths( @@ -341,6 +346,34 @@ }; #endif +ChromeMetricsServiceClient::IsProcessRunningFunction g_is_process_running = + nullptr; + +bool IsProcessRunning(base::ProcessId pid) { + // Use any "override" method if one is set (for testing). + if (g_is_process_running) + return g_is_process_running(pid); + +#if defined(OS_WIN) + HANDLE process = OpenProcess(SYNCHRONIZE, FALSE, pid); + if (process) { + DWORD ret = WaitForSingleObject(process, 0); + CloseHandle(process); + if (ret == WAIT_TIMEOUT) + return true; + } +#elif defined(OS_POSIX) + // Sending a signal value of 0 will cause error checking to be performed + // with no signal being sent. + if (kill(pid, 0) == 0 || errno != ESRCH) + return true; +#else +#error Unsupported OS. Might be okay to just return false. +#endif + + return false; +} + } // namespace const char ChromeMetricsServiceClient::kBrowserMetricsName[] = "BrowserMetrics"; @@ -905,6 +938,31 @@ UpdateRunningServices(); } +// static +metrics::FileMetricsProvider::FilterAction +ChromeMetricsServiceClient::FilterBrowserMetricsFiles( + const base::FilePath& path) { + base::ProcessId pid; + if (!base::GlobalHistogramAllocator::ParseFilePath(path, nullptr, nullptr, + &pid)) { + return metrics::FileMetricsProvider::FILTER_PROCESS_FILE; + } + + if (pid == base::GetCurrentProcId()) + return metrics::FileMetricsProvider::FILTER_ACTIVE_THIS_PID; + + if (IsProcessRunning(pid)) + return metrics::FileMetricsProvider::FILTER_TRY_LATER; + + return metrics::FileMetricsProvider::FILTER_PROCESS_FILE; +} + +// static +void ChromeMetricsServiceClient::SetIsProcessRunningForTesting( + ChromeMetricsServiceClient::IsProcessRunningFunction func) { + g_is_process_running = func; +} + bool ChromeMetricsServiceClient::IsHistorySyncEnabledOnAllProfiles() { return SyncDisableObserver::IsHistorySyncEnabledOnAllProfiles(); }
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.h b/chrome/browser/metrics/chrome_metrics_service_client.h index de354d8f..b6fb153 100644 --- a/chrome/browser/metrics/chrome_metrics_service_client.h +++ b/chrome/browser/metrics/chrome_metrics_service_client.h
@@ -18,6 +18,7 @@ #include "base/sequence_checker.h" #include "build/build_config.h" #include "chrome/browser/metrics/metrics_memory_details.h" +#include "components/metrics/file_metrics_provider.h" #include "components/metrics/metrics_log_uploader.h" #include "components/metrics/metrics_service_client.h" #include "components/omnibox/browser/omnibox_event_global_tracker.h" @@ -92,6 +93,12 @@ // ukm::SyncDisableObserver: void OnSyncPrefsChanged(bool must_purge) override; + // Determine what to do with a file based on filename. Visible for testing. + using IsProcessRunningFunction = bool (*)(base::ProcessId); + static metrics::FileMetricsProvider::FilterAction FilterBrowserMetricsFiles( + const base::FilePath& path); + static void SetIsProcessRunningForTesting(IsProcessRunningFunction func); + // Persistent browser metrics need to be persisted somewhere. This constant // provides a known string to be used for both the allocator's internal name // and for a file on disk (relative to chrome::DIR_USER_DATA) to which they
diff --git a/chrome/browser/metrics/chrome_metrics_service_client_unittest.cc b/chrome/browser/metrics/chrome_metrics_service_client_unittest.cc new file mode 100644 index 0000000..8b6ea614 --- /dev/null +++ b/chrome/browser/metrics/chrome_metrics_service_client_unittest.cc
@@ -0,0 +1,45 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/metrics/chrome_metrics_service_client.h" + +#include "base/files/file_path.h" +#include "base/metrics/persistent_histogram_allocator.h" +#include "base/process/process_handle.h" +#include "components/metrics/file_metrics_provider.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace { + +bool TestIsProcessRunning(base::ProcessId pid) { + // Odd are running, even are not. + return (pid & 1) == 1; +} + +TEST(ChromeMetricsServiceClientTest, FilterFiles) { + ChromeMetricsServiceClient::SetIsProcessRunningForTesting( + &TestIsProcessRunning); + + base::ProcessId my_pid = base::GetCurrentProcId(); + base::FilePath active_dir(FILE_PATH_LITERAL("foo")); + base::FilePath upload_dir(FILE_PATH_LITERAL("bar")); + base::FilePath upload_path; + base::GlobalHistogramAllocator::ConstructFilePathsForUploadDir( + active_dir, upload_dir, "TestMetrics", &upload_path, nullptr, nullptr); + EXPECT_EQ(metrics::FileMetricsProvider::FILTER_ACTIVE_THIS_PID, + ChromeMetricsServiceClient::FilterBrowserMetricsFiles(upload_path)); + + EXPECT_EQ( + metrics::FileMetricsProvider::FILTER_PROCESS_FILE, + ChromeMetricsServiceClient::FilterBrowserMetricsFiles( + base::GlobalHistogramAllocator::ConstructFilePathForUploadDir( + upload_dir, "Test", base::Time::Now(), (my_pid & ~1) + 10))); + EXPECT_EQ( + metrics::FileMetricsProvider::FILTER_TRY_LATER, + ChromeMetricsServiceClient::FilterBrowserMetricsFiles( + base::GlobalHistogramAllocator::ConstructFilePathForUploadDir( + upload_dir, "Test", base::Time::Now(), (my_pid & ~1) + 11))); +} + +} // namespace
diff --git a/chrome/browser/net/chrome_network_delegate.h b/chrome/browser/net/chrome_network_delegate.h index d87cbd25..e055ef1 100644 --- a/chrome/browser/net/chrome_network_delegate.h +++ b/chrome/browser/net/chrome_network_delegate.h
@@ -114,6 +114,10 @@ domain_reliability_monitor_ = std::move(monitor); } + domain_reliability::DomainReliabilityMonitor* domain_reliability_monitor() { + return domain_reliability_monitor_.get(); + } + void set_data_use_aggregator( data_usage::DataUseAggregator* data_use_aggregator, bool is_data_usage_off_the_record);
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc index eca44b2..0a339aed 100644 --- a/chrome/browser/net/profile_network_context_service.cc +++ b/chrome/browser/net/profile_network_context_service.cc
@@ -26,6 +26,7 @@ #include "content/public/common/content_features.h" #include "content/public/common/service_names.mojom.h" #include "mojo/public/cpp/bindings/associated_interface_ptr.h" +#include "net/net_features.h" namespace {
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc index 882d291d..b71e2731 100644 --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc
@@ -24,6 +24,7 @@ #include "content/public/common/content_features.h" #include "content/public/common/service_names.mojom.h" #include "mojo/public/cpp/bindings/associated_interface_ptr.h" +#include "net/net_features.h" namespace {
diff --git a/chrome/browser/notifications/notification_template_builder.cc b/chrome/browser/notifications/notification_template_builder.cc index 605f49eb..ecb2b13 100644 --- a/chrome/browser/notifications/notification_template_builder.cc +++ b/chrome/browser/notifications/notification_template_builder.cc
@@ -21,6 +21,7 @@ const char kActivationType[] = "activationType"; const char kArguments[] = "arguments"; const char kAttribution[] = "attribution"; +const char kAudioElement[] = "audio"; const char kBindingElement[] = "binding"; const char kBindingElementTemplateAttribute[] = "template"; const char kButtonIndex[] = "buttonIndex="; @@ -31,7 +32,9 @@ const char kInputType[] = "type"; const char kPlaceholderContent[] = "placeHolderContent"; const char kPlacement[] = "placement"; +const char kSilent[] = "silent"; const char kText[] = "text"; +const char kTrue[] = "true"; const char kUserResponse[] = "userResponse"; const char kTextElement[] = "text"; const char kToastElement[] = "toast"; @@ -75,6 +78,9 @@ builder->AddActions(notification.buttons()); + if (notification.silent()) + builder->WriteAudioSilentElement(); + builder->EndToastElement(); return builder; @@ -188,6 +194,12 @@ xml_writer_->EndElement(); } +void NotificationTemplateBuilder::WriteAudioSilentElement() { + xml_writer_->StartElement(kAudioElement); + xml_writer_->AddAttribute(kSilent, kTrue); + xml_writer_->EndElement(); +} + void NotificationTemplateBuilder::WriteActionElement( const message_center::ButtonInfo& button, int index) {
diff --git a/chrome/browser/notifications/notification_template_builder.h b/chrome/browser/notifications/notification_template_builder.h index d937006..9b4ca345 100644 --- a/chrome/browser/notifications/notification_template_builder.h +++ b/chrome/browser/notifications/notification_template_builder.h
@@ -73,6 +73,9 @@ void StartActionsElement(); void EndActionsElement(); + // Writes the <audio silent="true"> element. + void WriteAudioSilentElement(); + // Fills in the details for the actions. void AddActions(const std::vector<message_center::ButtonInfo>& buttons); void WriteActionElement(const message_center::ButtonInfo& button, int index);
diff --git a/chrome/browser/notifications/notification_template_builder_unittest.cc b/chrome/browser/notifications/notification_template_builder_unittest.cc index 8a2a2ceb..cab5bc5 100644 --- a/chrome/browser/notifications/notification_template_builder_unittest.cc +++ b/chrome/browser/notifications/notification_template_builder_unittest.cc
@@ -25,51 +25,35 @@ const char kNotificationMessage[] = "My Message"; const char kNotificationOrigin[] = "https://example.com"; -// Intermediary format for the options available when creating a notification, -// with default values specific to this test suite to avoid endless repetition. -struct NotificationData { - NotificationData() - : id(kNotificationId), - title(kNotificationTitle), - message(kNotificationMessage), - origin(kNotificationOrigin) {} - - std::string id; - std::string title; - std::string message; - GURL origin; }; -} // namespace - class NotificationTemplateBuilderTest : public ::testing::Test { public: NotificationTemplateBuilderTest() = default; ~NotificationTemplateBuilderTest() override = default; protected: - // Builds the message_center::Notification object and then the template for - // the given |notification_data|, and writes that to |*xml_template|. Calls - // must be wrapped in ASSERT_NO_FATAL_FAILURE(). - void BuildTemplate(const NotificationData& notification_data, - const std::vector<message_center::ButtonInfo>& buttons, - base::string16* xml_template) { - GURL origin_url(notification_data.origin); + // Builds a notification object and initializes it to default values. + std::unique_ptr<message_center::Notification> InitializeBasicNotification() { + GURL origin_url(kNotificationOrigin); - message_center::Notification notification( - message_center::NOTIFICATION_TYPE_SIMPLE, notification_data.id, - base::UTF8ToUTF16(notification_data.title), - base::UTF8ToUTF16(notification_data.message), gfx::Image() /* icon */, + return std::make_unique<message_center::Notification>( + message_center::NOTIFICATION_TYPE_SIMPLE, kNotificationId, + base::UTF8ToUTF16(kNotificationTitle), + base::UTF8ToUTF16(kNotificationMessage), gfx::Image() /* icon */, base::string16() /* display_source */, origin_url, NotifierId(origin_url), RichNotificationData(), nullptr /* delegate */); - if (buttons.size()) - notification.set_buttons(buttons); + } + // Converts the notification data to XML and verifies it is as expected. Calls + // must be wrapped in ASSERT_NO_FATAL_FAILURE(). + void VerifyXml(const message_center::Notification& notification, + const base::string16& xml_template) { template_ = - NotificationTemplateBuilder::Build(notification_data.id, notification); + NotificationTemplateBuilder::Build(kNotificationId, notification); ASSERT_TRUE(template_); - *xml_template = template_->GetNotificationTemplate(); + EXPECT_EQ(template_->GetNotificationTemplate(), xml_template); } protected: @@ -80,12 +64,8 @@ }; TEST_F(NotificationTemplateBuilderTest, SimpleToast) { - NotificationData notification_data; - base::string16 xml_template; - std::vector<message_center::ButtonInfo> buttons; - - ASSERT_NO_FATAL_FAILURE( - BuildTemplate(notification_data, buttons, &xml_template)); + std::unique_ptr<message_center::Notification> notification = + InitializeBasicNotification(); const wchar_t kExpectedXml[] = LR"(<toast launch="notification_id"> @@ -99,19 +79,17 @@ </toast> )"; - EXPECT_EQ(xml_template, kExpectedXml); + ASSERT_NO_FATAL_FAILURE(VerifyXml(*notification, kExpectedXml)); } TEST_F(NotificationTemplateBuilderTest, Buttons) { - NotificationData notification_data; - base::string16 xml_template; + std::unique_ptr<message_center::Notification> notification = + InitializeBasicNotification(); std::vector<message_center::ButtonInfo> buttons; buttons.emplace_back(base::ASCIIToUTF16("Button1")); buttons.emplace_back(base::ASCIIToUTF16("Button2")); - - ASSERT_NO_FATAL_FAILURE( - BuildTemplate(notification_data, buttons, &xml_template)); + notification->set_buttons(buttons); const wchar_t kExpectedXml[] = LR"(<toast launch="notification_id"> @@ -129,12 +107,12 @@ </toast> )"; - EXPECT_EQ(xml_template, kExpectedXml); + ASSERT_NO_FATAL_FAILURE(VerifyXml(*notification, kExpectedXml)); } TEST_F(NotificationTemplateBuilderTest, InlineReplies) { - NotificationData notification_data; - base::string16 xml_template; + std::unique_ptr<message_center::Notification> notification = + InitializeBasicNotification(); std::vector<message_center::ButtonInfo> buttons; message_center::ButtonInfo button1(base::ASCIIToUTF16("Button1")); @@ -142,9 +120,7 @@ button1.placeholder = base::ASCIIToUTF16("Reply here"); buttons.emplace_back(button1); buttons.emplace_back(base::ASCIIToUTF16("Button2")); - - ASSERT_NO_FATAL_FAILURE( - BuildTemplate(notification_data, buttons, &xml_template)); + notification->set_buttons(buttons); const wchar_t kExpectedXml[] = LR"(<toast launch="notification_id"> @@ -163,12 +139,12 @@ </toast> )"; - EXPECT_EQ(xml_template, kExpectedXml); + ASSERT_NO_FATAL_FAILURE(VerifyXml(*notification, kExpectedXml)); } TEST_F(NotificationTemplateBuilderTest, InlineRepliesDoubleInput) { - NotificationData notification_data; - base::string16 xml_template; + std::unique_ptr<message_center::Notification> notification = + InitializeBasicNotification(); std::vector<message_center::ButtonInfo> buttons; message_center::ButtonInfo button1(base::ASCIIToUTF16("Button1")); @@ -179,9 +155,7 @@ button2.type = message_center::ButtonType::TEXT; button2.placeholder = base::ASCIIToUTF16("Should not appear"); buttons.emplace_back(button2); - - ASSERT_NO_FATAL_FAILURE( - BuildTemplate(notification_data, buttons, &xml_template)); + notification->set_buttons(buttons); const wchar_t kExpectedXml[] = LR"(<toast launch="notification_id"> @@ -200,12 +174,12 @@ </toast> )"; - EXPECT_EQ(xml_template, kExpectedXml); + ASSERT_NO_FATAL_FAILURE(VerifyXml(*notification, kExpectedXml)); } TEST_F(NotificationTemplateBuilderTest, InlineRepliesTextTypeNotFirst) { - NotificationData notification_data; - base::string16 xml_template; + std::unique_ptr<message_center::Notification> notification = + InitializeBasicNotification(); std::vector<message_center::ButtonInfo> buttons; buttons.emplace_back(base::ASCIIToUTF16("Button1")); @@ -213,9 +187,7 @@ button2.type = message_center::ButtonType::TEXT; button2.placeholder = base::ASCIIToUTF16("Reply here"); buttons.emplace_back(button2); - - ASSERT_NO_FATAL_FAILURE( - BuildTemplate(notification_data, buttons, &xml_template)); + notification->set_buttons(buttons); const wchar_t kExpectedXml[] = LR"(<toast launch="notification_id"> @@ -234,5 +206,26 @@ </toast> )"; - EXPECT_EQ(xml_template, kExpectedXml); + ASSERT_NO_FATAL_FAILURE(VerifyXml(*notification, kExpectedXml)); +} + +TEST_F(NotificationTemplateBuilderTest, Silent) { + std::unique_ptr<message_center::Notification> notification = + InitializeBasicNotification(); + notification->set_silent(true); + + const wchar_t kExpectedXml[] = + LR"(<toast launch="notification_id"> + <visual> + <binding template="ToastGeneric"> + <text>My Title</text> + <text>My Message</text> + <text placement="attribution">example.com</text> + </binding> + </visual> + <audio silent="true"/> +</toast> +)"; + + ASSERT_NO_FATAL_FAILURE(VerifyXml(*notification, kExpectedXml)); }
diff --git a/chrome/browser/payments/manifest_verifier_browsertest.cc b/chrome/browser/payments/manifest_verifier_browsertest.cc index 6a698a33..5f1fdb60 100644 --- a/chrome/browser/payments/manifest_verifier_browsertest.cc +++ b/chrome/browser/payments/manifest_verifier_browsertest.cc
@@ -79,11 +79,11 @@ void ExpectApp(int64_t id, const std::string& expected_scope, const std::set<std::string>& expected_methods) { - ASSERT_NE(verified_apps().end(), verified_apps().find(id)); - EXPECT_EQ(GURL(expected_scope), verified_apps().find(id)->second->scope); - std::set<std::string> actual_methods( - verified_apps().find(id)->second->enabled_methods.begin(), - verified_apps().find(id)->second->enabled_methods.end()); + const auto& it = verified_apps().find(id); + ASSERT_NE(verified_apps().end(), it); + EXPECT_EQ(GURL(expected_scope), it->second->scope); + std::set<std::string> actual_methods(it->second->enabled_methods.begin(), + it->second->enabled_methods.end()); EXPECT_EQ(expected_methods, actual_methods); } @@ -508,5 +508,46 @@ } } +// All known payment method names are valid. +IN_PROC_BROWSER_TEST_F(ManifestVerifierBrowserTest, + AllKnownPaymentMethodNames) { + { + content::PaymentAppProvider::PaymentApps apps; + apps[0] = std::make_unique<content::StoredPaymentApp>(); + apps[0]->scope = GURL("https://bobpay.com/webpay"); + apps[0]->enabled_methods.push_back("basic-card"); + apps[0]->enabled_methods.push_back("interledger"); + apps[0]->enabled_methods.push_back("payee-credit-transfer"); + apps[0]->enabled_methods.push_back("payer-credit-transfer"); + apps[0]->enabled_methods.push_back("not-supported"); + + Verify(std::move(apps)); + + EXPECT_EQ(1U, verified_apps().size()); + ExpectApp(0, "https://bobpay.com/webpay", + {"basic-card", "interledger", "payee-credit-transfer", + "payer-credit-transfer"}); + } + + // Repeat verifications should have identical results. + { + content::PaymentAppProvider::PaymentApps apps; + apps[0] = std::make_unique<content::StoredPaymentApp>(); + apps[0]->scope = GURL("https://bobpay.com/webpay"); + apps[0]->enabled_methods.push_back("basic-card"); + apps[0]->enabled_methods.push_back("interledger"); + apps[0]->enabled_methods.push_back("payee-credit-transfer"); + apps[0]->enabled_methods.push_back("payer-credit-transfer"); + apps[0]->enabled_methods.push_back("not-supported"); + + Verify(std::move(apps)); + + EXPECT_EQ(1U, verified_apps().size()); + ExpectApp(0, "https://bobpay.com/webpay", + {"basic-card", "interledger", "payee-credit-transfer", + "payer-credit-transfer"}); + } +} + } // namespace } // namespace payments
diff --git a/chrome/browser/plugins/plugins_resource_service.cc b/chrome/browser/plugins/plugins_resource_service.cc index 647f8adc..baa01b6 100644 --- a/chrome/browser/plugins/plugins_resource_service.cc +++ b/chrome/browser/plugins/plugins_resource_service.cc
@@ -52,7 +52,7 @@ const int kCacheUpdateDelayMs = 24 * 60 * 60 * 1000; const char kPluginsServerUrl[] = - "https://www.gstatic.com/chrome/config/plugins_2/"; + "https://www.gstatic.com/chrome/config/plugins_3/"; GURL GetPluginsServerURL() { std::string filename;
diff --git a/chrome/browser/policy/policy_browsertest.cc b/chrome/browser/policy/policy_browsertest.cc index f1a4c417..913319b 100644 --- a/chrome/browser/policy/policy_browsertest.cc +++ b/chrome/browser/policy/policy_browsertest.cc
@@ -182,6 +182,7 @@ #include "media/media_features.h" #include "net/base/net_errors.h" #include "net/base/url_util.h" +#include "net/dns/mock_host_resolver.h" #include "net/http/http_stream_factory.h" #include "net/http/transport_security_state.h" #include "net/test/embedded_test_server/embedded_test_server.h" @@ -316,17 +317,6 @@ } } -// Remove filters for requests to the hosts in |urls|. -void UndoRedirectHostsToTestData(const char* const urls[], size_t size) { - // Map the given hosts to the test data dir. - net::URLRequestFilter* filter = net::URLRequestFilter::GetInstance(); - for (size_t i = 0; i < size; ++i) { - const GURL url(urls[i]); - EXPECT_TRUE(url.is_valid()); - filter->RemoveUrlHandler(url); - } -} - // Fails requests using ERR_CONNECTION_RESET. class FailedJobInterceptor : public net::URLRequestInterceptor { public: @@ -387,7 +377,7 @@ // Verifies that the given url |spec| can be opened. This assumes that |spec| // points at empty.html in the test data dir. -void CheckCanOpenURL(Browser* browser, const char* spec) { +void CheckCanOpenURL(Browser* browser, const std::string& spec) { GURL url(spec); ui_test_utils::NavigateToURL(browser, url); content::WebContents* contents = @@ -405,7 +395,7 @@ } // Verifies that access to the given url |spec| is blocked. -void CheckURLIsBlocked(Browser* browser, const char* spec) { +void CheckURLIsBlocked(Browser* browser, const std::string& spec) { GURL url(spec); ui_test_utils::NavigateToURL(browser, url); content::WebContents* contents = @@ -657,6 +647,7 @@ } void SetUpOnMainThread() override { + host_resolver()->AddRule("*", "127.0.0.1"); BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, base::BindOnce(chrome_browser_net::SetUrlRequestMocksEnabled, true)); @@ -666,18 +657,6 @@ } } - // Makes URLRequestMockHTTPJobs serve data from content::DIR_TEST_DATA - // instead of chrome::DIR_TEST_DATA. - void ServeContentTestData() { - base::FilePath root_http; - PathService::Get(content::DIR_TEST_DATA, &root_http); - BrowserThread::PostTaskAndReply( - BrowserThread::IO, FROM_HERE, - base::BindOnce(URLRequestMockHTTPJob::AddUrlHandlers, root_http), - base::MessageLoop::current()->QuitWhenIdleClosure()); - content::RunMessageLoop(); - } - void SetScreenshotPolicy(bool enabled) { PolicyMap policies; policies.Set(key::kDisableScreenshots, POLICY_LEVEL_MANDATORY, @@ -2360,23 +2339,15 @@ // Checks that URLs can be blacklisted, and that exceptions can be made to // the blacklist. - // Filter |kURLS| on IO thread, so that requests to those hosts end up - // as URLRequestMockHTTPJobs. - const char* kURLS[] = { - "http://aaa.com/empty.html", - "http://bbb.com/empty.html", - "http://sub.bbb.com/empty.html", - "http://bbb.com/policy/blank.html", - "http://bbb.com./policy/blank.html", + ASSERT_TRUE(embedded_test_server()->Start()); + + const std::string kURLS[] = { + embedded_test_server()->GetURL("aaa.com", "/empty.html").spec(), + embedded_test_server()->GetURL("bbb.com", "/empty.html").spec(), + embedded_test_server()->GetURL("sub.bbb.com", "/empty.html").spec(), + embedded_test_server()->GetURL("bbb.com", "/policy/blank.html").spec(), + embedded_test_server()->GetURL("bbb.com.", "/policy/blank.html").spec(), }; - { - base::RunLoop loop; - BrowserThread::PostTaskAndReply( - BrowserThread::IO, FROM_HERE, - base::BindOnce(RedirectHostsToTestData, kURLS, arraysize(kURLS)), - loop.QuitClosure()); - loop.Run(); - } // Verify that "bbb.com" opens before applying the blacklist. CheckCanOpenURL(browser(), kURLS[1]); @@ -2406,34 +2377,13 @@ CheckCanOpenURL(browser(), kURLS[2]); CheckCanOpenURL(browser(), kURLS[3]); CheckCanOpenURL(browser(), kURLS[4]); - - { - base::RunLoop loop; - BrowserThread::PostTaskAndReply( - BrowserThread::IO, FROM_HERE, - base::BindOnce(UndoRedirectHostsToTestData, kURLS, arraysize(kURLS)), - loop.QuitClosure()); - loop.Run(); - } } IN_PROC_BROWSER_TEST_F(PolicyTest, URLBlacklistAndWhitelist) { // Regression test for http://crbug.com/755256. Blacklisting * and // whitelisting an origin should work. - // Filter |kURLS| on IO thread, so that requests to those hosts end up - // as URLRequestMockHTTPJobs. - const char* kURLS[] = { - "http://aaa.com/empty.html", - }; - { - base::RunLoop loop; - BrowserThread::PostTaskAndReply( - BrowserThread::IO, FROM_HERE, - base::BindOnce(RedirectHostsToTestData, kURLS, arraysize(kURLS)), - loop.QuitClosure()); - loop.Run(); - } + ASSERT_TRUE(embedded_test_server()->Start()); base::ListValue blacklist; blacklist.AppendString("*"); @@ -2447,17 +2397,21 @@ POLICY_SOURCE_CLOUD, whitelist.CreateDeepCopy(), nullptr); UpdateProviderPolicy(policies); FlushBlacklistPolicy(); - CheckCanOpenURL(browser(), kURLS[0]); + CheckCanOpenURL( + browser(), + embedded_test_server()->GetURL("aaa.com", "/empty.html").spec()); } IN_PROC_BROWSER_TEST_F(PolicyTest, URLBlacklistSubresources) { // Checks that an image with a blacklisted URL is loaded, but an iframe with a // blacklisted URL is not. + ASSERT_TRUE(embedded_test_server()->Start()); + GURL main_url = - URLRequestMockHTTPJob::GetMockUrl("policy/blacklist-subresources.html"); - GURL image_url = URLRequestMockHTTPJob::GetMockUrl("policy/pixel.png"); - GURL subframe_url = URLRequestMockHTTPJob::GetMockUrl("policy/blank.html"); + embedded_test_server()->GetURL("/policy/blacklist-subresources.html"); + GURL image_url = embedded_test_server()->GetURL("/policy/pixel.png"); + GURL subframe_url = embedded_test_server()->GetURL("/policy/blank.html"); // Set a blacklist containing the image and the iframe which are used by the // main document. @@ -2504,8 +2458,8 @@ const std::string file_path1 = base_path + "title1.html"; const std::string file_path2 = folder_path + "basic.html"; - CheckCanOpenURL(browser(), file_path1.c_str()); - CheckCanOpenURL(browser(), file_path2.c_str()); + CheckCanOpenURL(browser(), file_path1); + CheckCanOpenURL(browser(), file_path2); // Set a blacklist for all the files. base::ListValue blacklist; @@ -2516,8 +2470,8 @@ UpdateProviderPolicy(policies); FlushBlacklistPolicy(); - CheckURLIsBlocked(browser(), file_path1.c_str()); - CheckURLIsBlocked(browser(), file_path2.c_str()); + CheckURLIsBlocked(browser(), file_path1); + CheckURLIsBlocked(browser(), file_path2); // Replace the URLblacklist with disabling the file scheme. blacklist.Remove(base::Value("file://*"), NULL); @@ -2551,8 +2505,8 @@ UpdateProviderPolicy(policies); FlushBlacklistPolicy(); - CheckCanOpenURL(browser(), file_path1.c_str()); - CheckURLIsBlocked(browser(), file_path2.c_str()); + CheckCanOpenURL(browser(), file_path1); + CheckURLIsBlocked(browser(), file_path2); } #if !defined(OS_MACOSX)
diff --git a/chrome/browser/printing/cloud_print/privet_http.h b/chrome/browser/printing/cloud_print/privet_http.h index b59743b1..eba1b89 100644 --- a/chrome/browser/printing/cloud_print/privet_http.h +++ b/chrome/browser/printing/cloud_print/privet_http.h
@@ -32,8 +32,8 @@ class PrivetJSONOperation { public: // If value is null, the operation failed. - typedef base::Callback<void( - const base::DictionaryValue* /*value*/)> ResultCallback; + using ResultCallback = + base::OnceCallback<void(const base::DictionaryValue* /*value*/)>; virtual ~PrivetJSONOperation() {} @@ -52,7 +52,7 @@ // Creates operation to query basic information about local device. virtual std::unique_ptr<PrivetJSONOperation> CreateInfoOperation( - const PrivetJSONOperation::ResultCallback& callback) = 0; + PrivetJSONOperation::ResultCallback callback) = 0; // Creates a URL fetcher for PrivetV1. virtual std::unique_ptr<PrivetURLFetcher> CreateURLFetcher( @@ -194,7 +194,7 @@ // Creates operation to query basic information about local device. virtual std::unique_ptr<PrivetJSONOperation> CreateInfoOperation( - const PrivetJSONOperation::ResultCallback& callback) = 0; + PrivetJSONOperation::ResultCallback callback) = 0; // Creates operation to register local device using Privet v1 protocol. virtual std::unique_ptr<PrivetRegisterOperation> CreateRegisterOperation( @@ -203,7 +203,7 @@ // Creates operation to query capabilities of local printer. virtual std::unique_ptr<PrivetJSONOperation> CreateCapabilitiesOperation( - const PrivetJSONOperation::ResultCallback& callback) = 0; + PrivetJSONOperation::ResultCallback callback) = 0; // Creates operation to submit print job to local printer. virtual std::unique_ptr<PrivetLocalPrintOperation> CreateLocalPrintOperation(
diff --git a/chrome/browser/printing/cloud_print/privet_http_asynchronous_factory.h b/chrome/browser/printing/cloud_print/privet_http_asynchronous_factory.h index 14fbf2b..514cf83 100644 --- a/chrome/browser/printing/cloud_print/privet_http_asynchronous_factory.h +++ b/chrome/browser/printing/cloud_print/privet_http_asynchronous_factory.h
@@ -22,14 +22,14 @@ class PrivetHTTPResolution { public: using ResultCallback = - base::Callback<void(std::unique_ptr<PrivetHTTPClient>)>; + base::OnceCallback<void(std::unique_ptr<PrivetHTTPClient>)>; virtual ~PrivetHTTPResolution() {} - virtual void Start(const ResultCallback& callback) = 0; + virtual void Start(ResultCallback callback) = 0; virtual void Start(const net::HostPortPair& address, - const ResultCallback& callback) = 0; + ResultCallback callback) = 0; virtual const std::string& GetName() = 0; };
diff --git a/chrome/browser/printing/cloud_print/privet_http_asynchronous_factory_impl.cc b/chrome/browser/printing/cloud_print/privet_http_asynchronous_factory_impl.cc index 7b0a2dd5..d241d28 100644 --- a/chrome/browser/printing/cloud_print/privet_http_asynchronous_factory_impl.cc +++ b/chrome/browser/printing/cloud_print/privet_http_asynchronous_factory_impl.cc
@@ -42,28 +42,28 @@ } void PrivetHTTPAsynchronousFactoryImpl::ResolutionImpl::Start( - const ResultCallback& callback) { - endpoint_resolver_->Start(name_, - base::Bind(&ResolutionImpl::ResolveComplete, - base::Unretained(this), callback)); + ResultCallback callback) { + endpoint_resolver_->Start( + name_, base::BindOnce(&ResolutionImpl::ResolveComplete, + base::Unretained(this), std::move(callback))); } void PrivetHTTPAsynchronousFactoryImpl::ResolutionImpl::Start( const net::HostPortPair& address, - const ResultCallback& callback) { - endpoint_resolver_->Start(address, - base::Bind(&ResolutionImpl::ResolveComplete, - base::Unretained(this), callback)); + ResultCallback callback) { + endpoint_resolver_->Start( + address, base::BindOnce(&ResolutionImpl::ResolveComplete, + base::Unretained(this), std::move(callback))); } void PrivetHTTPAsynchronousFactoryImpl::ResolutionImpl::ResolveComplete( - const ResultCallback& callback, + ResultCallback callback, const net::IPEndPoint& endpoint) { if (endpoint.address().empty()) - return callback.Run(std::unique_ptr<PrivetHTTPClient>()); + return std::move(callback).Run(std::unique_ptr<PrivetHTTPClient>()); net::HostPortPair new_address = net::HostPortPair::FromIPEndPoint(endpoint); - callback.Run(std::unique_ptr<PrivetHTTPClient>( + std::move(callback).Run(std::unique_ptr<PrivetHTTPClient>( new PrivetHTTPClientImpl(name_, new_address, request_context_.get()))); }
diff --git a/chrome/browser/printing/cloud_print/privet_http_asynchronous_factory_impl.h b/chrome/browser/printing/cloud_print/privet_http_asynchronous_factory_impl.h index 96c43628..7eeb656 100644 --- a/chrome/browser/printing/cloud_print/privet_http_asynchronous_factory_impl.h +++ b/chrome/browser/printing/cloud_print/privet_http_asynchronous_factory_impl.h
@@ -33,15 +33,15 @@ net::URLRequestContextGetter* request_context); ~ResolutionImpl() override; - void Start(const ResultCallback& callback) override; + void Start(ResultCallback callback) override; void Start(const net::HostPortPair& address, - const ResultCallback& callback) override; + ResultCallback callback) override; const std::string& GetName() override; private: - void ResolveComplete(const ResultCallback& callback, + void ResolveComplete(ResultCallback callback, const net::IPEndPoint& endpoint); std::string name_; scoped_refptr<net::URLRequestContextGetter> request_context_;
diff --git a/chrome/browser/printing/cloud_print/privet_http_impl.cc b/chrome/browser/printing/cloud_print/privet_http_impl.cc index af787315..df73fd3d 100644 --- a/chrome/browser/printing/cloud_print/privet_http_impl.cc +++ b/chrome/browser/printing/cloud_print/privet_http_impl.cc
@@ -95,9 +95,8 @@ PrivetInfoOperationImpl::PrivetInfoOperationImpl( PrivetHTTPClient* privet_client, - const PrivetJSONOperation::ResultCallback& callback) - : privet_client_(privet_client), callback_(callback) { -} + PrivetJSONOperation::ResultCallback callback) + : privet_client_(privet_client), callback_(std::move(callback)) {} PrivetInfoOperationImpl::~PrivetInfoOperationImpl() { } @@ -118,13 +117,13 @@ void PrivetInfoOperationImpl::OnError(PrivetURLFetcher* fetcher, PrivetURLFetcher::ErrorType error) { - callback_.Run(NULL); + std::move(callback_).Run(nullptr); } void PrivetInfoOperationImpl::OnParsedJson(PrivetURLFetcher* fetcher, const base::DictionaryValue& value, bool has_error) { - callback_.Run(&value); + std::move(callback_).Run(&value); } PrivetRegisterOperationImpl::PrivetRegisterOperationImpl( @@ -193,11 +192,8 @@ reason = FAILURE_UNKNOWN; } - delegate_->OnPrivetRegisterError(this, - current_action_, - reason, - visible_http_code, - NULL); + delegate_->OnPrivetRegisterError(this, current_action_, reason, + visible_http_code, nullptr); } void PrivetRegisterOperationImpl::OnParsedJson( @@ -254,11 +250,8 @@ if (got_url || got_token) { delegate_->OnPrivetRegisterClaimToken(this, claimToken, GURL(claimUrl)); } else { - delegate_->OnPrivetRegisterError(this, - current_action_, - FAILURE_MALFORMED_RESPONSE, - -1, - NULL); + delegate_->OnPrivetRegisterError(this, current_action_, + FAILURE_MALFORMED_RESPONSE, -1, nullptr); } } @@ -276,11 +269,8 @@ // TODO(noamsml): Simplify error case and depracate HTTP error value in // OnPrivetRegisterError. if (!value) { - delegate_->OnPrivetRegisterError(this, - kPrivetActionNameInfo, - FAILURE_NETWORK, - -1, - NULL); + delegate_->OnPrivetRegisterError(this, kPrivetActionNameInfo, + FAILURE_NETWORK, -1, nullptr); return; } @@ -292,11 +282,8 @@ -1, value); } else { - delegate_->OnPrivetRegisterError(this, - kPrivetActionNameInfo, - FAILURE_MALFORMED_RESPONSE, - -1, - NULL); + delegate_->OnPrivetRegisterError(this, kPrivetActionNameInfo, + FAILURE_MALFORMED_RESPONSE, -1, nullptr); } return; } @@ -305,11 +292,8 @@ if (!value->GetString(kPrivetInfoKeyID, &id) || id != expected_id_) { - delegate_->OnPrivetRegisterError(this, - kPrivetActionNameInfo, - FAILURE_MALFORMED_RESPONSE, - -1, - NULL); + delegate_->OnPrivetRegisterError(this, kPrivetActionNameInfo, + FAILURE_MALFORMED_RESPONSE, -1, nullptr); } else { delegate_->OnPrivetRegisterDone(this, id); } @@ -357,12 +341,11 @@ PrivetHTTPClient* privet_client, const std::string& path, const std::string& query_params, - const PrivetJSONOperation::ResultCallback& callback) + PrivetJSONOperation::ResultCallback callback) : privet_client_(privet_client), path_(path), query_params_(query_params), - callback_(callback) { -} + callback_(std::move(callback)) {} PrivetJSONOperationImpl::~PrivetJSONOperationImpl() { } @@ -381,13 +364,13 @@ void PrivetJSONOperationImpl::OnError( PrivetURLFetcher* fetcher, PrivetURLFetcher::ErrorType error) { - callback_.Run(NULL); + std::move(callback_).Run(nullptr); } void PrivetJSONOperationImpl::OnParsedJson(PrivetURLFetcher* fetcher, const base::DictionaryValue& value, bool has_error) { - callback_.Run(&value); + std::move(callback_).Run(&value); } void PrivetJSONOperationImpl::OnNeedPrivetToken( @@ -714,8 +697,8 @@ } std::unique_ptr<PrivetJSONOperation> PrivetHTTPClientImpl::CreateInfoOperation( - const PrivetJSONOperation::ResultCallback& callback) { - return base::MakeUnique<PrivetInfoOperationImpl>(this, callback); + PrivetJSONOperation::ResultCallback callback) { + return base::MakeUnique<PrivetInfoOperationImpl>(this, std::move(callback)); } std::unique_ptr<PrivetURLFetcher> PrivetHTTPClientImpl::CreateURLFetcher( @@ -803,8 +786,8 @@ std::unique_ptr<PrivetJSONOperation> PrivetV1HTTPClientImpl::CreateInfoOperation( - const PrivetJSONOperation::ResultCallback& callback) { - return info_client()->CreateInfoOperation(callback); + PrivetJSONOperation::ResultCallback callback) { + return info_client()->CreateInfoOperation(std::move(callback)); } std::unique_ptr<PrivetRegisterOperation> @@ -817,9 +800,9 @@ std::unique_ptr<PrivetJSONOperation> PrivetV1HTTPClientImpl::CreateCapabilitiesOperation( - const PrivetJSONOperation::ResultCallback& callback) { + PrivetJSONOperation::ResultCallback callback) { return base::MakeUnique<PrivetJSONOperationImpl>( - info_client(), kPrivetCapabilitiesPath, "", callback); + info_client(), kPrivetCapabilitiesPath, "", std::move(callback)); } std::unique_ptr<PrivetLocalPrintOperation>
diff --git a/chrome/browser/printing/cloud_print/privet_http_impl.h b/chrome/browser/printing/cloud_print/privet_http_impl.h index d1051c6..a6684fc 100644 --- a/chrome/browser/printing/cloud_print/privet_http_impl.h +++ b/chrome/browser/printing/cloud_print/privet_http_impl.h
@@ -27,7 +27,7 @@ public PrivetURLFetcher::Delegate { public: PrivetInfoOperationImpl(PrivetHTTPClient* privet_client, - const PrivetJSONOperation::ResultCallback& callback); + PrivetJSONOperation::ResultCallback callback); ~PrivetInfoOperationImpl() override; void Start() override; @@ -125,7 +125,7 @@ PrivetJSONOperationImpl(PrivetHTTPClient* privet_client, const std::string& path, const std::string& query_params, - const PrivetJSONOperation::ResultCallback& callback); + PrivetJSONOperation::ResultCallback callback); ~PrivetJSONOperationImpl() override; void Start() override; @@ -250,7 +250,7 @@ // PrivetHTTPClient implementation. const std::string& GetName() override; std::unique_ptr<PrivetJSONOperation> CreateInfoOperation( - const PrivetJSONOperation::ResultCallback& callback) override; + PrivetJSONOperation::ResultCallback callback) override; std::unique_ptr<PrivetURLFetcher> CreateURLFetcher( const GURL& url, net::URLFetcher::RequestType request_type, @@ -281,12 +281,12 @@ const std::string& GetName() override; std::unique_ptr<PrivetJSONOperation> CreateInfoOperation( - const PrivetJSONOperation::ResultCallback& callback) override; + PrivetJSONOperation::ResultCallback callback) override; std::unique_ptr<PrivetRegisterOperation> CreateRegisterOperation( const std::string& user, PrivetRegisterOperation::Delegate* delegate) override; std::unique_ptr<PrivetJSONOperation> CreateCapabilitiesOperation( - const PrivetJSONOperation::ResultCallback& callback) override; + PrivetJSONOperation::ResultCallback callback) override; std::unique_ptr<PrivetLocalPrintOperation> CreateLocalPrintOperation( PrivetLocalPrintOperation::Delegate* delegate) override;
diff --git a/chrome/browser/printing/cloud_print/privet_http_unittest.cc b/chrome/browser/printing/cloud_print/privet_http_unittest.cc index 46cb19e7..5f1b1ee 100644 --- a/chrome/browser/printing/cloud_print/privet_http_unittest.cc +++ b/chrome/browser/printing/cloud_print/privet_http_unittest.cc
@@ -380,8 +380,8 @@ const base::DictionaryValue* value() { return value_.get(); } PrivetJSONOperation::ResultCallback callback() { - return base::Bind(&MockJSONCallback::OnPrivetJSONDone, - base::Unretained(this)); + return base::BindOnce(&MockJSONCallback::OnPrivetJSONDone, + base::Unretained(this)); } protected: std::unique_ptr<base::DictionaryValue> value_; @@ -744,10 +744,11 @@ void Start(base::RefCountedMemory* data, const printing::PdfRenderSettings& conversion_settings, const printing::PwgRasterSettings& bitmap_settings, - const ResultCallback& callback) override { + ResultCallback callback) override { bitmap_settings_ = bitmap_settings; std::string data_str(data->front_as<char>(), data->size()); - callback.Run(true, base::FilePath().AppendASCII(data_str + "test.pdf")); + std::move(callback).Run( + true, base::FilePath().AppendASCII(data_str + "test.pdf")); } const printing::PwgRasterSettings& bitmap_settings() {
diff --git a/chrome/browser/printing/cloud_print/privet_notifications_unittest.cc b/chrome/browser/printing/cloud_print/privet_notifications_unittest.cc index 666056e..72ec2aec 100644 --- a/chrome/browser/printing/cloud_print/privet_notifications_unittest.cc +++ b/chrome/browser/printing/cloud_print/privet_notifications_unittest.cc
@@ -58,13 +58,14 @@ ~MockResolution() override {} void Start(const net::HostPortPair& address, - const ResultCallback& callback) override { - callback.Run(std::unique_ptr<PrivetHTTPClient>(new PrivetHTTPClientImpl( - name_, net::HostPortPair("1.2.3.4", 8080), request_context_.get()))); + ResultCallback callback) override { + std::move(callback).Run(std::unique_ptr<PrivetHTTPClient>( + new PrivetHTTPClientImpl(name_, net::HostPortPair("1.2.3.4", 8080), + request_context_.get()))); } - void Start(const ResultCallback& callback) override { - Start(net::HostPortPair(), callback); + void Start(ResultCallback callback) override { + Start(net::HostPortPair(), std::move(callback)); } const std::string& GetName() override { return name_; }
diff --git a/chrome/browser/printing/pwg_raster_converter.cc b/chrome/browser/printing/pwg_raster_converter.cc index ff99c35..ccb8c46 100644 --- a/chrome/browser/printing/pwg_raster_converter.cc +++ b/chrome/browser/printing/pwg_raster_converter.cc
@@ -120,7 +120,7 @@ const PwgRasterSettings& bitmap_settings); void Convert(base::RefCountedMemory* data, - const PWGRasterConverter::ResultCallback& callback); + PWGRasterConverter::ResultCallback callback); private: friend class base::RefCountedThreadSafe<PWGRasterConverterHelper>; @@ -156,10 +156,10 @@ void PWGRasterConverterHelper::Convert( base::RefCountedMemory* data, - const PWGRasterConverter::ResultCallback& callback) { + PWGRasterConverter::ResultCallback callback) { DCHECK_CURRENTLY_ON(BrowserThread::UI); - callback_ = callback; + callback_ = std::move(callback); CHECK(!files_); files_.reset(new FileHandlers()); @@ -206,17 +206,21 @@ void Start(base::RefCountedMemory* data, const PdfRenderSettings& conversion_settings, const PwgRasterSettings& bitmap_settings, - const ResultCallback& callback) override; + ResultCallback callback) override; private: + // TODO (rbpotter): Once CancelableOnceCallback is added, remove this and + // change callback_ to a CancelableOnceCallback. + void RunCallback(bool success, const base::FilePath& temp_file); + scoped_refptr<PWGRasterConverterHelper> utility_client_; - base::CancelableCallback<ResultCallback::RunType> callback_; + ResultCallback callback_; + base::WeakPtrFactory<PWGRasterConverterImpl> weak_ptr_factory_; DISALLOW_COPY_AND_ASSIGN(PWGRasterConverterImpl); }; -PWGRasterConverterImpl::PWGRasterConverterImpl() { -} +PWGRasterConverterImpl::PWGRasterConverterImpl() : weak_ptr_factory_(this) {} PWGRasterConverterImpl::~PWGRasterConverterImpl() { } @@ -224,13 +228,20 @@ void PWGRasterConverterImpl::Start(base::RefCountedMemory* data, const PdfRenderSettings& conversion_settings, const PwgRasterSettings& bitmap_settings, - const ResultCallback& callback) { - // Rebind cancelable callback to avoid calling callback if - // PWGRasterConverterImpl is destroyed. - callback_.Reset(callback); + ResultCallback callback) { + // Bind callback here and pass a wrapper to the utility client to avoid + // calling callback if PWGRasterConverterImpl is destroyed. + callback_ = std::move(callback); utility_client_ = base::MakeRefCounted<PWGRasterConverterHelper>( conversion_settings, bitmap_settings); - utility_client_->Convert(data, callback_.callback()); + utility_client_->Convert(data, + base::BindOnce(&PWGRasterConverterImpl::RunCallback, + weak_ptr_factory_.GetWeakPtr())); +} + +void PWGRasterConverterImpl::RunCallback(bool success, + const base::FilePath& temp_file) { + std::move(callback_).Run(success, temp_file); } } // namespace
diff --git a/chrome/browser/printing/pwg_raster_converter.h b/chrome/browser/printing/pwg_raster_converter.h index f36cf0d0..b7e1af71 100644 --- a/chrome/browser/printing/pwg_raster_converter.h +++ b/chrome/browser/printing/pwg_raster_converter.h
@@ -34,8 +34,8 @@ // |temp_file| is the path to the temp file (owned by the converter) that // contains the PWG raster data. using ResultCallback = - base::Callback<void(bool /*success*/, - const base::FilePath& /*temp_file*/)>; + base::OnceCallback<void(bool /*success*/, + const base::FilePath& /*temp_file*/)>; virtual ~PWGRasterConverter() {} @@ -57,7 +57,7 @@ virtual void Start(base::RefCountedMemory* data, const PdfRenderSettings& conversion_settings, const PwgRasterSettings& bitmap_settings, - const ResultCallback& callback) = 0; + ResultCallback callback) = 0; }; } // namespace printing
diff --git a/chrome/browser/profiles/profile_impl_io_data.cc b/chrome/browser/profiles/profile_impl_io_data.cc index a8be871..9145c17 100644 --- a/chrome/browser/profiles/profile_impl_io_data.cc +++ b/chrome/browser/profiles/profile_impl_io_data.cc
@@ -379,15 +379,11 @@ ProfileImplIOData::ProfileImplIOData() : ProfileIOData(Profile::REGULAR_PROFILE), - domain_reliability_monitor_(nullptr), app_cache_max_size_(0), app_media_cache_max_size_(0) { } ProfileImplIOData::~ProfileImplIOData() { - if (domain_reliability_monitor_) - domain_reliability_monitor_->Shutdown(); - DestroyResourceContext(); if (media_request_context_) @@ -399,15 +395,6 @@ IOThread* io_thread, std::unique_ptr<ChromeNetworkDelegate> chrome_network_delegate) const { if (lazy_params_->domain_reliability_monitor) { - // Hold on to a raw pointer to call Shutdown() in ~ProfileImplIOData. - domain_reliability_monitor_ = - lazy_params_->domain_reliability_monitor.get(); - - domain_reliability_monitor_->InitURLRequestContext(main_request_context()); - domain_reliability_monitor_->AddBakedInConfigs(); - domain_reliability_monitor_->SetDiscardUploads( - !GetMetricsEnabledStateOnIOThread()); - chrome_network_delegate->set_domain_reliability_monitor( std::move(lazy_params_->domain_reliability_monitor)); }
diff --git a/chrome/browser/profiles/profile_impl_io_data.h b/chrome/browser/profiles/profile_impl_io_data.h index 8cdb6e77..78ec6453 100644 --- a/chrome/browser/profiles/profile_impl_io_data.h +++ b/chrome/browser/profiles/profile_impl_io_data.h
@@ -202,10 +202,6 @@ mutable std::unique_ptr<net::URLRequestContext> media_request_context_; - // Owned by ChromeNetworkDelegate (which is owned by |network_delegate_|). - mutable domain_reliability::DomainReliabilityMonitor* - domain_reliability_monitor_; - // Parameters needed for isolated apps. base::FilePath profile_path_; int app_cache_max_size_;
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc index cfd221a..0afb0b13 100644 --- a/chrome/browser/profiles/profile_io_data.cc +++ b/chrome/browser/profiles/profile_io_data.cc
@@ -63,6 +63,7 @@ #include "components/cookie_config/cookie_store_util.h" #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h" #include "components/dom_distiller/core/url_constants.h" +#include "components/domain_reliability/monitor.h" #include "components/metrics/metrics_pref_names.h" #include "components/metrics/metrics_service.h" #include "components/net_log/chrome_net_log.h" @@ -623,6 +624,7 @@ #endif main_request_context_(nullptr), resource_context_(new ResourceContext(this)), + domain_reliability_monitor_unowned_(nullptr), profile_type_(profile_type) { DCHECK_CURRENTLY_ON(BrowserThread::UI); } @@ -673,6 +675,9 @@ static_cast<void*>(it->second), sizeof(void*)); } + if (domain_reliability_monitor_unowned_) + domain_reliability_monitor_unowned_->Shutdown(); + if (main_request_context_) { // Prevent the TreeStateTracker from getting any more notifications by // severing the link between it and the CTVerifier and unregistering it from @@ -1050,6 +1055,9 @@ chrome_network_delegate->set_data_use_aggregator( io_thread_globals->data_use_aggregator.get(), IsOffTheRecord()); + ChromeNetworkDelegate* chrome_network_delegate_unowned = + chrome_network_delegate.get(); + std::unique_ptr<net::NetworkDelegate> network_delegate = ConfigureNetworkDelegate(profile_params_->io_thread, std::move(chrome_network_delegate)); @@ -1155,6 +1163,19 @@ std::move(profile_params_->main_network_context_params), std::move(builder), &main_request_context_); + if (chrome_network_delegate_unowned->domain_reliability_monitor()) { + // Save a pointer to shut down Domain Reliability cleanly before the + // URLRequestContext is dismantled. + domain_reliability_monitor_unowned_ = + chrome_network_delegate_unowned->domain_reliability_monitor(); + + domain_reliability_monitor_unowned_->InitURLRequestContext( + main_request_context_); + domain_reliability_monitor_unowned_->AddBakedInConfigs(); + domain_reliability_monitor_unowned_->SetDiscardUploads( + !GetMetricsEnabledStateOnIOThread()); + } + #if BUILDFLAG(ENABLE_EXTENSIONS) extension_cookie_notifier_ = std::move(profile_params_->extension_cookie_notifier);
diff --git a/chrome/browser/profiles/profile_io_data.h b/chrome/browser/profiles/profile_io_data.h index 5f4d183..9eb9a0d 100644 --- a/chrome/browser/profiles/profile_io_data.h +++ b/chrome/browser/profiles/profile_io_data.h
@@ -67,6 +67,10 @@ class DataReductionProxyIOData; } +namespace domain_reliability { +class DomainReliabilityMonitor; +} + namespace extensions { class ExtensionThrottleManager; class InfoMap; @@ -623,6 +627,12 @@ ct_tree_tracker_; mutable base::Closure ct_tree_tracker_unregistration_; + // Owned by the ChromeNetworkDelegate, which is owned (possibly with one or + // more layers of LayeredNetworkDelegate) by the URLRequestContext, which is + // owned by main_network_context_. + mutable domain_reliability::DomainReliabilityMonitor* + domain_reliability_monitor_unowned_; + const Profile::ProfileType profile_type_; DISALLOW_COPY_AND_ASSIGN(ProfileIOData);
diff --git a/chrome/browser/profiling_host/profiling_process_host.cc b/chrome/browser/profiling_host/profiling_process_host.cc index 256dda1..4ed3b8013 100644 --- a/chrome/browser/profiling_host/profiling_process_host.cc +++ b/chrome/browser/profiling_host/profiling_process_host.cc
@@ -148,7 +148,7 @@ TraceCrashServiceUploader* uploader = new TraceCrashServiceUploader( g_browser_process->system_request_context()); - uploader->DoUpload(file_contents, content::TraceUploader::UNCOMPRESSED_UPLOAD, + uploader->DoUpload(file_contents, content::TraceUploader::COMPRESSED_UPLOAD, std::move(metadata), content::TraceUploader::UploadProgressCallback(), base::Bind(&OnTraceUploadComplete, base::Owned(uploader)));
diff --git a/chrome/browser/task_manager/sampling/shared_sampler.h b/chrome/browser/task_manager/sampling/shared_sampler.h index 217d103..e651195 100644 --- a/chrome/browser/task_manager/sampling/shared_sampler.h +++ b/chrome/browser/task_manager/sampling/shared_sampler.h
@@ -14,6 +14,7 @@ #include "base/files/file_path.h" #include "base/macros.h" #include "base/memory/ref_counted.h" +#include "base/optional.h" #include "base/process/process_handle.h" #include "base/sequence_checker.h" #include "base/sequenced_task_runner.h" @@ -37,29 +38,26 @@ explicit SharedSampler( const scoped_refptr<base::SequencedTaskRunner>& blocking_pool_runner); - // Below are the types of callbacks that are invoked on the UI thread - // when the refresh is done on the worker thread. - // These callbacks are passed via RegisterCallbacks. - using OnIdleWakeupsCallback = base::Callback<void(int)>; - using OnPhysicalMemoryCallback = base::Callback<void(int64_t)>; - using OnStartTimeCallback = base::Callback<void(base::Time)>; - using OnCpuTimeCallback = base::Callback<void(base::TimeDelta)>; + struct SamplingResult { + int idle_wakeups_per_second; + int64_t physical_bytes; + base::Time start_time; + base::TimeDelta cpu_time; + }; + using OnSamplingCompleteCallback = + base::Callback<void(base::Optional<SamplingResult>)>; // Returns a combination of refresh flags supported by the shared sampler. int64_t GetSupportedFlags() const; // Registers task group specific callbacks. - void RegisterCallbacks(base::ProcessId process_id, - const OnIdleWakeupsCallback& on_idle_wakeups, - const OnPhysicalMemoryCallback& on_physical_memory, - const OnStartTimeCallback& on_start_time, - const OnCpuTimeCallback& on_cpu_time); + void RegisterCallback(base::ProcessId process_id, + OnSamplingCompleteCallback on_sampling_complete); // Unregisters task group specific callbacks. - void UnregisterCallbacks(base::ProcessId process_id); + void UnregisterCallback(base::ProcessId process_id); - // Refreshes the expensive process' stats (for now only idle wakeups per - // second) on the worker thread. + // Triggers a refresh of the expensive process' stats, on the worker thread. void Refresh(base::ProcessId process_id, int64_t refresh_flags); #if defined(OS_WIN) @@ -74,41 +72,21 @@ friend class base::RefCountedThreadSafe<SharedSampler>; ~SharedSampler(); + typedef std::map<base::ProcessId, OnSamplingCompleteCallback> CallbacksMap; + #if defined(OS_WIN) - // The UI-thread callbacks in TaskGroup registered with RegisterCallbacks and - // to be called when refresh on the worker thread is done. - struct Callbacks { - Callbacks(); - Callbacks(Callbacks&& other); - ~Callbacks(); - - OnIdleWakeupsCallback on_idle_wakeups; - OnPhysicalMemoryCallback on_physical_memory; - OnStartTimeCallback on_start_time; - OnCpuTimeCallback on_cpu_time; - - private: - DISALLOW_COPY_AND_ASSIGN(Callbacks); - }; - - typedef std::map<base::ProcessId, Callbacks> CallbacksMap; - // Contains all results of refresh for a single process. - struct RefreshResult { + struct ProcessIdAndSamplingResult { base::ProcessId process_id; - int idle_wakeups_per_second; - int64_t physical_bytes; - base::Time start_time; - base::TimeDelta cpu_time; + SamplingResult data; }; - - typedef std::vector<RefreshResult> RefreshResults; + typedef std::vector<ProcessIdAndSamplingResult> AllSamplingResults; // Posted on the worker thread to do the actual refresh. - std::unique_ptr<RefreshResults> RefreshOnWorkerThread(); + AllSamplingResults RefreshOnWorkerThread(); // Called on UI thread when the refresh is done. - void OnRefreshDone(std::unique_ptr<RefreshResults> refresh_results); + void OnRefreshDone(AllSamplingResults sampling_results); // Clear cached data. void ClearState(); @@ -122,16 +100,14 @@ std::unique_ptr<ProcessDataSnapshot> CaptureSnapshot(); // Produce refresh results by diffing two snapshots. - static void MakeResultsFromTwoSnapshots( + static AllSamplingResults MakeResultsFromTwoSnapshots( const ProcessDataSnapshot& prev_snapshot, - const ProcessDataSnapshot& snapshot, - RefreshResults* results); + const ProcessDataSnapshot& snapshot); // Produce refresh results from one snapshot. // This is used only the first time when only one snapshot is available. - static void MakeResultsFromSnapshot( - const ProcessDataSnapshot& snapshot, - RefreshResults* results); + static AllSamplingResults MakeResultsFromSnapshot( + const ProcessDataSnapshot& snapshot); // Accumulates callbacks passed from TaskGroup objects passed via // RegisterCallbacks calls.
diff --git a/chrome/browser/task_manager/sampling/shared_sampler_posix.cc b/chrome/browser/task_manager/sampling/shared_sampler_posix.cc index ac62fce..c5e5d60 100644 --- a/chrome/browser/task_manager/sampling/shared_sampler_posix.cc +++ b/chrome/browser/task_manager/sampling/shared_sampler_posix.cc
@@ -15,14 +15,11 @@ int64_t SharedSampler::GetSupportedFlags() const { return 0; } -void SharedSampler::RegisterCallbacks( +void SharedSampler::RegisterCallback( base::ProcessId process_id, - const OnIdleWakeupsCallback& on_idle_wakeups, - const OnPhysicalMemoryCallback& on_physical_memory, - const OnStartTimeCallback& on_start_time, - const OnCpuTimeCallback& on_cpu_time) {} + OnSamplingCompleteCallback on_sampling_complete) {} -void SharedSampler::UnregisterCallbacks(base::ProcessId process_id) {} +void SharedSampler::UnregisterCallback(base::ProcessId process_id) {} void SharedSampler::Refresh(base::ProcessId process_id, int64_t refresh_flags) {}
diff --git a/chrome/browser/task_manager/sampling/shared_sampler_win.cc b/chrome/browser/task_manager/sampling/shared_sampler_win.cc index fb880719..ff7695d 100644 --- a/chrome/browser/task_manager/sampling/shared_sampler_win.cc +++ b/chrome/browser/task_manager/sampling/shared_sampler_win.cc
@@ -252,39 +252,21 @@ REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME; } -SharedSampler::Callbacks::Callbacks() {} - -SharedSampler::Callbacks::~Callbacks() {} - -SharedSampler::Callbacks::Callbacks(Callbacks&& other) { - on_idle_wakeups = std::move(other.on_idle_wakeups); - on_physical_memory = std::move(other.on_physical_memory); - on_start_time = std::move(other.on_start_time); - on_cpu_time = std::move(other.on_cpu_time); -} - -void SharedSampler::RegisterCallbacks( +void SharedSampler::RegisterCallback( base::ProcessId process_id, - const OnIdleWakeupsCallback& on_idle_wakeups, - const OnPhysicalMemoryCallback& on_physical_memory, - const OnStartTimeCallback& on_start_time, - const OnCpuTimeCallback& on_cpu_time) { + OnSamplingCompleteCallback on_sampling_complete) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); if (process_id == 0) return; - Callbacks callbacks; - callbacks.on_idle_wakeups = on_idle_wakeups; - callbacks.on_physical_memory = on_physical_memory; - callbacks.on_start_time = on_start_time; - callbacks.on_cpu_time = on_cpu_time; - bool result = callbacks_map_.insert( - std::make_pair(process_id, std::move(callbacks))).second; + bool result = + callbacks_map_.emplace(process_id, std::move(on_sampling_complete)) + .second; DCHECK(result); } -void SharedSampler::UnregisterCallbacks(base::ProcessId process_id) { +void SharedSampler::UnregisterCallback(base::ProcessId process_id) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); if (process_id == 0) @@ -329,19 +311,17 @@ previous_snapshot_.reset(); } -std::unique_ptr<SharedSampler::RefreshResults> -SharedSampler::RefreshOnWorkerThread() { +SharedSampler::AllSamplingResults SharedSampler::RefreshOnWorkerThread() { DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence()); - std::unique_ptr<RefreshResults> results(new RefreshResults); + AllSamplingResults results; std::unique_ptr<ProcessDataSnapshot> snapshot = CaptureSnapshot(); if (snapshot) { if (previous_snapshot_) { - MakeResultsFromTwoSnapshots( - *previous_snapshot_, *snapshot, results.get()); + results = MakeResultsFromTwoSnapshots(*previous_snapshot_, *snapshot); } else { - MakeResultsFromSnapshot(*snapshot, results.get()); + results = MakeResultsFromSnapshot(*snapshot); } previous_snapshot_ = std::move(snapshot); @@ -477,10 +457,9 @@ return snapshot; } -void SharedSampler::MakeResultsFromTwoSnapshots( +SharedSampler::AllSamplingResults SharedSampler::MakeResultsFromTwoSnapshots( const ProcessDataSnapshot& prev_snapshot, - const ProcessDataSnapshot& snapshot, - RefreshResults* results) { + const ProcessDataSnapshot& snapshot) { // Time delta in seconds. double time_delta = (snapshot.timestamp - prev_snapshot.timestamp) .InSecondsF(); @@ -489,6 +468,8 @@ // on map entries being ordered by Process ID. ProcessDataMap::const_iterator prev_iter = prev_snapshot.processes.begin(); + AllSamplingResults results; + results.reserve(snapshot.processes.size()); for (const auto& current_entry : snapshot.processes) { base::ProcessId process_id = current_entry.first; const ProcessData& process = current_entry.second; @@ -509,34 +490,38 @@ idle_wakeups_delta = CountContextSwitchesDelta(ProcessData(), process); } - RefreshResult result; + ProcessIdAndSamplingResult result; result.process_id = process_id; - result.idle_wakeups_per_second = + result.data.idle_wakeups_per_second = static_cast<int>(round(idle_wakeups_delta / time_delta)); - result.physical_bytes = process.physical_bytes; - result.start_time = process.start_time; - result.cpu_time = process.cpu_time; - results->push_back(result); + result.data.physical_bytes = process.physical_bytes; + result.data.start_time = process.start_time; + result.data.cpu_time = process.cpu_time; + results.push_back(result); } + + return results; } -void SharedSampler::MakeResultsFromSnapshot(const ProcessDataSnapshot& snapshot, - RefreshResults* results) { +SharedSampler::AllSamplingResults SharedSampler::MakeResultsFromSnapshot( + const ProcessDataSnapshot& snapshot) { + AllSamplingResults results; + results.reserve(snapshot.processes.size()); for (const auto& pair : snapshot.processes) { - RefreshResult result; + ProcessIdAndSamplingResult result; result.process_id = pair.first; // Use 0 for Idle Wakeups / sec in this case. This is consistent with // ProcessMetrics::CalculateIdleWakeupsPerSecond implementation. - result.idle_wakeups_per_second = 0; - result.physical_bytes = pair.second.physical_bytes; - result.start_time = pair.second.start_time; - result.cpu_time = pair.second.cpu_time; - results->push_back(result); + result.data.idle_wakeups_per_second = 0; + result.data.physical_bytes = pair.second.physical_bytes; + result.data.start_time = pair.second.start_time; + result.data.cpu_time = pair.second.cpu_time; + results.push_back(result); } + return results; } -void SharedSampler::OnRefreshDone( - std::unique_ptr<RefreshResults> refresh_results) { +void SharedSampler::OnRefreshDone(AllSamplingResults refresh_results) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); DCHECK_NE(0, refresh_flags_); @@ -544,12 +529,7 @@ for (const auto& callback_entry : callbacks_map_) { base::ProcessId process_id = callback_entry.first; - // A sentinel value of -1 is used when the result isn't available. - // Task manager will use this to display '-'. - int idle_wakeups_per_second = -1; - int64_t physical_bytes = -1; - base::Time start_time; - base::TimeDelta cpu_time; + SamplingResult process_result; // Match refresh result by |process_id|. // This relies on refresh results being ordered by Process ID. @@ -558,14 +538,11 @@ // Chrome. It might be missing some entries too if there is a race condition // between getting process information on the worker thread and adding a // corresponding TaskGroup to the task manager. - for (; result_index < refresh_results->size(); ++result_index) { - const auto& result = (*refresh_results)[result_index]; + for (; result_index < refresh_results.size(); ++result_index) { + const auto& result = refresh_results[result_index]; if (result.process_id == process_id) { // Data matched in |refresh_results|. - idle_wakeups_per_second = result.idle_wakeups_per_second; - physical_bytes = result.physical_bytes; - start_time = result.start_time; - cpu_time = result.cpu_time; + process_result = std::move(result.data); ++result_index; break; } @@ -576,29 +553,7 @@ } } - if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_IDLE_WAKEUPS, - refresh_flags_)) { - DCHECK(callback_entry.second.on_idle_wakeups); - callback_entry.second.on_idle_wakeups.Run(idle_wakeups_per_second); - } - - if (TaskManagerObserver::IsResourceRefreshEnabled( - REFRESH_TYPE_PHYSICAL_MEMORY, refresh_flags_)) { - DCHECK(callback_entry.second.on_physical_memory); - callback_entry.second.on_physical_memory.Run(physical_bytes); - } - - if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_START_TIME, - refresh_flags_)) { - DCHECK(callback_entry.second.on_start_time); - callback_entry.second.on_start_time.Run(start_time); - } - - if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_CPU_TIME, - refresh_flags_)) { - DCHECK(callback_entry.second.on_cpu_time); - callback_entry.second.on_cpu_time.Run(cpu_time); - } + callback_entry.second.Run(std::move(process_result)); } // Reset refresh_results_ to trigger RefreshOnWorkerThread next time Refresh
diff --git a/chrome/browser/task_manager/sampling/shared_sampler_win_unittest.cc b/chrome/browser/task_manager/sampling/shared_sampler_win_unittest.cc index 60932a3..0fe02bb 100644 --- a/chrome/browser/task_manager/sampling/shared_sampler_win_unittest.cc +++ b/chrome/browser/task_manager/sampling/shared_sampler_win_unittest.cc
@@ -32,15 +32,9 @@ SharedSamplerTest() : blocking_pool_runner_(GetBlockingPoolRunner()), shared_sampler_(new SharedSampler(blocking_pool_runner_)) { - shared_sampler_->RegisterCallbacks( + shared_sampler_->RegisterCallback( base::GetCurrentProcId(), - base::Bind(&SharedSamplerTest::OnIdleWakeupsRefreshDone, - base::Unretained(this)), - base::Bind(&SharedSamplerTest::OnPhysicalMemoryUsageRefreshDone, - base::Unretained(this)), - base::Bind(&SharedSamplerTest::OnStartTimeRefreshDone, - base::Unretained(this)), - base::Bind(&SharedSamplerTest::OnCpuTimeRefreshDone, + base::Bind(&SharedSamplerTest::OnSamplerRefreshDone, base::Unretained(this))); } @@ -76,29 +70,22 @@ void OnRefreshTypeFinished(int64_t finished_refresh_type) { finished_refresh_type_ |= finished_refresh_type; - if (finished_refresh_type_ == expected_refresh_type_) quit_closure_.Run(); } - void OnPhysicalMemoryUsageRefreshDone(int64_t physical_bytes) { - physical_bytes_ = physical_bytes; - OnRefreshTypeFinished(REFRESH_TYPE_PHYSICAL_MEMORY); - } - - void OnIdleWakeupsRefreshDone(int idle_wakeups_per_second) { - idle_wakeups_per_second_ = idle_wakeups_per_second; - OnRefreshTypeFinished(REFRESH_TYPE_IDLE_WAKEUPS); - } - - void OnStartTimeRefreshDone(base::Time start_time) { - start_time_ = start_time; - OnRefreshTypeFinished(REFRESH_TYPE_START_TIME); - } - - void OnCpuTimeRefreshDone(base::TimeDelta cpu_time) { - cpu_time_ = cpu_time; - OnRefreshTypeFinished(REFRESH_TYPE_CPU_TIME); + void OnSamplerRefreshDone( + base::Optional<SharedSampler::SamplingResult> results) { + if (results) { + physical_bytes_ = results->physical_bytes; + idle_wakeups_per_second_ = results->idle_wakeups_per_second; + start_time_ = results->start_time; + cpu_time_ = results->cpu_time; + } + OnRefreshTypeFinished(expected_refresh_type_ & + (REFRESH_TYPE_PHYSICAL_MEMORY | + REFRESH_TYPE_IDLE_WAKEUPS | REFRESH_TYPE_START_TIME | + REFRESH_TYPE_CPU_TIME)); } int64_t expected_refresh_type_ = 0;
diff --git a/chrome/browser/task_manager/sampling/task_group.cc b/chrome/browser/task_manager/sampling/task_group.cc index 597e8ae5..875e81a 100644 --- a/chrome/browser/task_manager/sampling/task_group.cc +++ b/chrome/browser/task_manager/sampling/task_group.cc
@@ -127,21 +127,14 @@ base::Bind(&TaskGroup::OnProcessPriorityDone, weak_ptr_factory_.GetWeakPtr())); - shared_sampler_->RegisterCallbacks( + shared_sampler_->RegisterCallback( process_id_, - base::Bind(&TaskGroup::OnIdleWakeupsRefreshDone, - weak_ptr_factory_.GetWeakPtr()), - base::Bind(&TaskGroup::OnPhysicalMemoryUsageRefreshDone, - weak_ptr_factory_.GetWeakPtr()), - base::Bind(&TaskGroup::OnStartTimeRefreshDone, - weak_ptr_factory_.GetWeakPtr()), - base::Bind(&TaskGroup::OnCpuTimeRefreshDone, - weak_ptr_factory_.GetWeakPtr())); + base::Bind(&TaskGroup::OnSamplerRefreshDone, base::Unretained(this))); } } TaskGroup::~TaskGroup() { - shared_sampler_->UnregisterCallbacks(process_id_); + shared_sampler_->UnregisterCallback(process_id_); } void TaskGroup::AddTask(Task* task) { @@ -290,6 +283,15 @@ } #endif // BUILDFLAG(ENABLE_NACL) +#if defined(OS_LINUX) +void TaskGroup::OnOpenFdCountRefreshDone(int open_fd_count) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); + + open_fd_count_ = open_fd_count; + OnBackgroundRefreshTypeFinished(REFRESH_TYPE_FD_COUNT); +} +#endif // defined(OS_LINUX) + void TaskGroup::OnCpuRefreshDone(double cpu_usage) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -297,29 +299,6 @@ OnBackgroundRefreshTypeFinished(REFRESH_TYPE_CPU); } -void TaskGroup::OnStartTimeRefreshDone(base::Time start_time) { - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - - start_time_ = start_time; - OnBackgroundRefreshTypeFinished(REFRESH_TYPE_START_TIME); -} - -void TaskGroup::OnCpuTimeRefreshDone(base::TimeDelta cpu_time) { - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - - cpu_time_ = cpu_time; - OnBackgroundRefreshTypeFinished(REFRESH_TYPE_CPU_TIME); -} - -void TaskGroup::OnPhysicalMemoryUsageRefreshDone(int64_t physical_bytes) { -#if defined(OS_WIN) - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - - memory_usage_.physical_bytes = physical_bytes; - OnBackgroundRefreshTypeFinished(REFRESH_TYPE_PHYSICAL_MEMORY); -#endif // OS_WIN -} - void TaskGroup::OnMemoryUsageRefreshDone(MemoryUsageStats memory_usage) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -334,6 +313,13 @@ #endif // OS_WIN } +void TaskGroup::OnProcessPriorityDone(bool is_backgrounded) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); + + is_backgrounded_ = is_backgrounded; + OnBackgroundRefreshTypeFinished(REFRESH_TYPE_PRIORITY); +} + void TaskGroup::OnIdleWakeupsRefreshDone(int idle_wakeups_per_second) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -341,20 +327,32 @@ OnBackgroundRefreshTypeFinished(REFRESH_TYPE_IDLE_WAKEUPS); } -#if defined(OS_LINUX) -void TaskGroup::OnOpenFdCountRefreshDone(int open_fd_count) { +void TaskGroup::OnSamplerRefreshDone( + base::Optional<SharedSampler::SamplingResult> results) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - open_fd_count_ = open_fd_count; - OnBackgroundRefreshTypeFinished(REFRESH_TYPE_FD_COUNT); -} -#endif // defined(OS_LINUX) + // If any of the Optional<> fields have no value then replace them with + // sentinel values. + // TODO(wez): Migrate the TaskGroup fields to Optional<> so we can remove + // the need for all this sentinel-handling logic. + if (results) { + start_time_ = results->start_time; + cpu_time_ = results->cpu_time; + idle_wakeups_per_second_ = results->idle_wakeups_per_second; +#if defined(OS_WIN) + memory_usage_.physical_bytes = results->physical_bytes; +#endif + } else { + start_time_ = base::Time(); + cpu_time_ = base::TimeDelta(); + idle_wakeups_per_second_ = -1; +#if defined(OS_WIN) + memory_usage_.physical_bytes = -1; +#endif + } -void TaskGroup::OnProcessPriorityDone(bool is_backgrounded) { - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - - is_backgrounded_ = is_backgrounded; - OnBackgroundRefreshTypeFinished(REFRESH_TYPE_PRIORITY); + OnBackgroundRefreshTypeFinished(expected_on_bg_done_flags_ & + shared_sampler_->GetSupportedFlags()); } void TaskGroup::OnBackgroundRefreshTypeFinished(int64_t finished_refresh_type) {
diff --git a/chrome/browser/task_manager/sampling/task_group.h b/chrome/browser/task_manager/sampling/task_group.h index ecda3f7bf..c4296154 100644 --- a/chrome/browser/task_manager/sampling/task_group.h +++ b/chrome/browser/task_manager/sampling/task_group.h
@@ -18,6 +18,7 @@ #include "base/time/time.h" #include "build/build_config.h" #include "chrome/browser/task_manager/providers/task.h" +#include "chrome/browser/task_manager/sampling/shared_sampler.h" #include "chrome/browser/task_manager/sampling/task_group_sampler.h" #include "chrome/browser/task_manager/task_manager_observer.h" #include "components/nacl/common/features.h" @@ -120,23 +121,17 @@ void RefreshNaClDebugStubPort(int child_process_unique_id); void OnRefreshNaClDebugStubPortDone(int port); #endif - - void OnCpuRefreshDone(double cpu_usage); - - void OnStartTimeRefreshDone(base::Time start_time); - - void OnCpuTimeRefreshDone(base::TimeDelta cpu_time); - - void OnPhysicalMemoryUsageRefreshDone(int64_t physical_bytes); - void OnMemoryUsageRefreshDone(MemoryUsageStats memory_usage); - - void OnIdleWakeupsRefreshDone(int idle_wakeups_per_second); - #if defined(OS_LINUX) void OnOpenFdCountRefreshDone(int open_fd_count); #endif // defined(OS_LINUX) + void OnCpuRefreshDone(double cpu_usage); + void OnMemoryUsageRefreshDone(MemoryUsageStats memory_usage); void OnProcessPriorityDone(bool is_backgrounded); + void OnIdleWakeupsRefreshDone(int idle_wakeups_per_second); + + void OnSamplerRefreshDone( + base::Optional<SharedSampler::SamplingResult> results); void OnBackgroundRefreshTypeFinished(int64_t finished_refresh_type);
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn index c72cc89..400cce0 100644 --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn
@@ -594,6 +594,8 @@ "android/infobars/infobar_container_android.h", "android/infobars/instant_apps_infobar.cc", "android/infobars/instant_apps_infobar.h", + "android/infobars/near_oom_infobar.cc", + "android/infobars/near_oom_infobar.h", "android/infobars/permission_infobar.cc", "android/infobars/permission_infobar.h", "android/infobars/previews_infobar.cc",
diff --git a/chrome/browser/ui/android/infobars/near_oom_infobar.cc b/chrome/browser/ui/android/infobars/near_oom_infobar.cc new file mode 100644 index 0000000..68a7792 --- /dev/null +++ b/chrome/browser/ui/android/infobars/near_oom_infobar.cc
@@ -0,0 +1,85 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/ui/android/infobars/near_oom_infobar.h" + +#include <memory> +#include <utility> + +#include "base/android/jni_string.h" +#include "base/callback.h" +#include "base/callback_helpers.h" +#include "base/memory/ptr_util.h" +#include "chrome/browser/android/tab_android.h" +#include "chrome/browser/infobars/infobar_service.h" +#include "components/infobars/core/infobar_delegate.h" +#include "content/public/browser/web_contents.h" +#include "jni/NearOomInfoBar_jni.h" + +namespace { + +class NearOomInfoBarDelegate : public infobars::InfoBarDelegate { + public: + explicit NearOomInfoBarDelegate(base::OnceClosure dismiss_callback) + : dismiss_callback_(std::move(dismiss_callback)) {} + + infobars::InfoBarDelegate::InfoBarIdentifier GetIdentifier() const override { + return infobars::InfoBarDelegate::InfoBarIdentifier:: + NEAR_OOM_INFOBAR_ANDROID; + } + + bool EqualsDelegate(infobars::InfoBarDelegate* delegate) const override { + return delegate->GetIdentifier() == GetIdentifier(); + } + + void InfoBarDismissed() override { std::move(dismiss_callback_).Run(); } + + base::OnceClosure dismiss_callback_; +}; + +} // namespace + +NearOomInfoBar::NearOomInfoBar() + : InfoBarAndroid(std::make_unique<NearOomInfoBarDelegate>( + base::BindOnce(&NearOomInfoBar::AcceptIntervention, + base::Unretained(this)))) {} + +NearOomInfoBar::~NearOomInfoBar() = default; + +void NearOomInfoBar::AcceptIntervention() { + // TODO(bashi): Implement. + // delegate->AcceptIntervention(); + DLOG(WARNING) << "Near-OOM Intervention accepted."; +} + +void NearOomInfoBar::DeclineIntervention() { + // TODO(bashi): Implement. + // delegate->DeclineIntervention(); + DLOG(WARNING) << "Near-OOM Intervention declined."; +} + +void NearOomInfoBar::OnLinkClicked( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj) { + if (!owner()) + return; // We're closing; don't call anything, it might access the owner. + + DeclineIntervention(); + RemoveSelf(); +} + +void NearOomInfoBar::ProcessButton(int action) { + NOTREACHED(); // No button on this infobar. +} + +base::android::ScopedJavaLocalRef<jobject> NearOomInfoBar::CreateRenderInfoBar( + JNIEnv* env) { + return Java_NearOomInfoBar_create(env); +} + +// static +void NearOomInfoBar::Show(content::WebContents* web_contents) { + InfoBarService* service = InfoBarService::FromWebContents(web_contents); + service->AddInfoBar(base::WrapUnique(new NearOomInfoBar())); +}
diff --git a/chrome/browser/ui/android/infobars/near_oom_infobar.h b/chrome/browser/ui/android/infobars/near_oom_infobar.h new file mode 100644 index 0000000..c50b43c --- /dev/null +++ b/chrome/browser/ui/android/infobars/near_oom_infobar.h
@@ -0,0 +1,43 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_UI_ANDROID_INFOBARS_NEAR_OOM_INFOBAR_H_ +#define CHROME_BROWSER_UI_ANDROID_INFOBARS_NEAR_OOM_INFOBAR_H_ + +#include "base/android/jni_android.h" +#include "base/android/scoped_java_ref.h" +#include "base/macros.h" +#include "chrome/browser/ui/android/infobars/infobar_android.h" + +namespace content { +class WebContents; +} + +class NearOomMessageDelegate; + +// Communicates to the user about the intervention performed by the browser to +// limit the page's memory usage. See NearOomInfoBar.java for UI specifics, and +// NearOomMessageDelegate for behavior specifics. +class NearOomInfoBar : public InfoBarAndroid { + public: + ~NearOomInfoBar() override; + + static void Show(content::WebContents* web_contents); + + private: + NearOomInfoBar(); + void AcceptIntervention(); + void DeclineIntervention(); + + // InfoBarAndroid: + base::android::ScopedJavaLocalRef<jobject> CreateRenderInfoBar( + JNIEnv* env) override; + void OnLinkClicked(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj) override; + void ProcessButton(int action) override; + + DISALLOW_COPY_AND_ASSIGN(NearOomInfoBar); +}; + +#endif // CHROME_BROWSER_UI_ANDROID_INFOBARS_NEAR_OOM_INFOBAR_H_
diff --git a/chrome/browser/ui/android/page_info/page_info_popup_android.cc b/chrome/browser/ui/android/page_info/page_info_popup_android.cc index f2ad021..69503ce 100644 --- a/chrome/browser/ui/android/page_info/page_info_popup_android.cc +++ b/chrome/browser/ui/android/page_info/page_info_popup_android.cc
@@ -52,7 +52,6 @@ return; url_ = nav_entry->GetURL(); - web_contents_ = web_contents; popup_jobject_.Reset(env, java_page_info_pop); @@ -185,11 +184,6 @@ // setting should show up in Page Info is in ShouldShowPermission in // page_info.cc. return permission.default_setting; - } else if (permission.type == CONTENT_SETTINGS_TYPE_SOUND) { - // The sound content setting should always show up when the tab is playing - // audio or has recently played audio. - if (web_contents_->WasRecentlyAudible()) - return permission.default_setting; } return base::Optional<ContentSetting>(); }
diff --git a/chrome/browser/ui/android/page_info/page_info_popup_android.h b/chrome/browser/ui/android/page_info/page_info_popup_android.h index 547f623..21fc783 100644 --- a/chrome/browser/ui/android/page_info/page_info_popup_android.h +++ b/chrome/browser/ui/android/page_info/page_info_popup_android.h
@@ -68,8 +68,6 @@ GURL url_; - content::WebContents* web_contents_; - DISALLOW_COPY_AND_ASSIGN(PageInfoPopupAndroid); };
diff --git a/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.cc b/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.cc index 3dced57..a9a8c3f2 100644 --- a/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.cc +++ b/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.cc
@@ -12,7 +12,6 @@ #include "ash/public/interfaces/window_actions.mojom.h" #include "ash/shell.h" // mash-ok #include "ash/wm/tablet_mode/tablet_mode_controller.h" // mash-ok -#include "ash/wm/window_state.h" #include "base/auto_reset.h" #include "base/macros.h" #include "base/message_loop/message_loop.h" @@ -515,7 +514,8 @@ (owner == account_id && IsWindowOnDesktopOfUser(window, account_id))) return false; - bool minimized = ash::wm::GetWindowState(window)->IsMinimized(); + bool minimized = window->GetProperty(aura::client::kShowStateKey) == + ui::SHOW_STATE_MINIMIZED; // Check that we are not trying to transfer ownership of a minimized window. if (account_id != owner && minimized) return false;
diff --git a/chrome/browser/ui/ash/multi_user/user_switch_animator_chromeos.cc b/chrome/browser/ui/ash/multi_user/user_switch_animator_chromeos.cc index b43faac..0b296e6 100644 --- a/chrome/browser/ui/ash/multi_user/user_switch_animator_chromeos.cc +++ b/chrome/browser/ui/ash/multi_user/user_switch_animator_chromeos.cc
@@ -8,12 +8,12 @@ #include "ash/wallpaper/wallpaper_delegate.h" #include "ash/wm/mru_window_tracker.h" #include "ash/wm/window_positioner.h" -#include "ash/wm/window_state.h" #include "base/macros.h" #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h" #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.h" #include "ui/app_list/presenter/app_list.h" +#include "ui/aura/client/aura_constants.h" #include "ui/compositor/layer_animation_observer.h" #include "ui/compositor/layer_tree_owner.h" #include "ui/display/display.h" @@ -94,6 +94,18 @@ window_list->push_back(*it); } +void Unminimize(aura::Window* window) { + window->SetProperty( + aura::client::kShowStateKey, + window->GetProperty(aura::client::kPreMinimizedShowStateKey)); + window->ClearProperty(aura::client::kPreMinimizedShowStateKey); +} + +bool IsMinimized(aura::Window* window) { + return window->GetProperty(aura::client::kShowStateKey) == + ui::SHOW_STATE_MINIMIZED; +} + } // namespace UserSwitchAnimatorChromeOS::UserSwitchAnimatorChromeOS( @@ -131,8 +143,10 @@ // Full screen covers the screen naturally. Since a normal window can have the // same size as the work area, we only compare the bounds against the work // area. - if (ash::wm::GetWindowState(window)->IsFullscreen()) + if (window->GetProperty(aura::client::kShowStateKey) == + ui::SHOW_STATE_FULLSCREEN) { return true; + } gfx::Rect bounds = window->GetBoundsInScreen(); gfx::Rect work_area = display::Screen::GetScreen()->GetDisplayNearestWindow(window).work_area(); @@ -246,8 +260,6 @@ // window order (crbug.com/424307). PutMruWindowLast(&(user_pair.second)); for (auto* window : user_pair.second) { - auto* window_state = ash::wm::GetWindowState(window); - // Minimized visiting windows (minimized windows with an owner // different than that of the for_show_account_id) should retrun to // their @@ -256,9 +268,9 @@ owner_->window_to_entry().find(window); DCHECK(itr != owner_->window_to_entry().end()); if (show_for_account_id != itr->second->owner() && - window_state->IsMinimized()) { + IsMinimized(window)) { owner_->ShowWindowForUserIntern(window, itr->second->owner()); - window_state->Unminimize(); + Unminimize(window); continue; } @@ -311,9 +323,8 @@ ash::Shell::Get()->mru_window_tracker()->BuildMruWindowList(); if (!mru_list.empty()) { aura::Window* window = mru_list[0]; - ash::wm::WindowState* window_state = ash::wm::GetWindowState(window); if (owner_->IsWindowOnDesktopOfUser(window, new_account_id_) && - !window_state->IsMinimized()) { + !IsMinimized(window)) { // Several unit tests come here without an activation client. wm::ActivationClient* client = wm::GetActivationClient(window->GetRootWindow());
diff --git a/chrome/browser/ui/cocoa/share_menu_controller.mm b/chrome/browser/ui/cocoa/share_menu_controller.mm index 0de964fb..1f50d10c 100644 --- a/chrome/browser/ui/cocoa/share_menu_controller.mm +++ b/chrome/browser/ui/cocoa/share_menu_controller.mm
@@ -6,6 +6,7 @@ #include "base/mac/foundation_util.h" #include "base/mac/mac_util.h" +#include "base/mac/sdk_forward_declarations.h" #include "base/strings/sys_string_conversions.h" #include "chrome/app/chrome_command_ids.h" #include "chrome/browser/ui/browser.h" @@ -43,6 +44,9 @@ NSWindow* windowForShare_; // weak NSRect rectForShare_; base::scoped_nsobject<NSImage> snapshotForShare_; + // The Reminders share extension reads title/URL from the currently active + // activity. + base::scoped_nsobject<NSUserActivity> activity_ API_AVAILABLE(macos(10.10)); } + (BOOL)shouldShowMoreItem { @@ -142,6 +146,10 @@ windowForShare_ = nil; rectForShare_ = NSZeroRect; snapshotForShare_.reset(); + if (@available(macOS 10.10, *)) { + [activity_ invalidate]; + activity_.reset(); + } } // Performs the share action using the sharing service represented by |sender|. @@ -170,6 +178,13 @@ } else { itemsToShare = @[ url ]; } + if (@available(macOS 10.10, *)) { + activity_.reset([[NSUserActivity alloc] + initWithActivityType:NSUserActivityTypeBrowsingWeb]); + [activity_ setWebpageURL:url]; + [activity_ setTitle:title]; + [activity_ becomeCurrent]; + } [service performWithItems:itemsToShare]; }
diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_display_chooser_unittest.cc b/chrome/browser/ui/webui/chromeos/login/oobe_display_chooser_unittest.cc index 3d53a53..f76521f9 100644 --- a/chrome/browser/ui/webui/chromeos/login/oobe_display_chooser_unittest.cc +++ b/chrome/browser/ui/webui/chromeos/login/oobe_display_chooser_unittest.cc
@@ -79,8 +79,7 @@ // Associate touchscreen device with display display_info[1].AddTouchDevice( - display::TouchCalibrationData::GenerateTouchDeviceIdentifier( - touchscreen)); + display::TouchDeviceIdentifier::FromDevice(touchscreen)); display_manager()->OnNativeDisplaysChanged(display_info); base::RunLoop().RunUntilIdle(); @@ -115,8 +114,7 @@ // Associate touchscreen device with display display_info[1].AddTouchDevice( - display::TouchCalibrationData::GenerateTouchDeviceIdentifier( - touchscreen)); + display::TouchDeviceIdentifier::FromDevice(touchscreen)); display_manager()->OnNativeDisplaysChanged(display_info); base::RunLoop().RunUntilIdle();
diff --git a/chrome/browser/ui/webui/print_preview/extension_printer_handler.cc b/chrome/browser/ui/webui/print_preview/extension_printer_handler.cc index 27724acb..e99d344 100644 --- a/chrome/browser/ui/webui/print_preview/extension_printer_handler.cc +++ b/chrome/browser/ui/webui/print_preview/extension_printer_handler.cc
@@ -72,22 +72,21 @@ // Callback to PWG raster conversion. // Posts a task to update print job with info about file containing converted // PWG raster data. -void UpdateJobFileInfo( - std::unique_ptr<extensions::PrinterProviderPrintJob> job, - const ExtensionPrinterHandler::PrintJobCallback& callback, - bool success, - const base::FilePath& pwg_file_path) { +void UpdateJobFileInfo(std::unique_ptr<extensions::PrinterProviderPrintJob> job, + ExtensionPrinterHandler::PrintJobCallback callback, + bool success, + const base::FilePath& pwg_file_path) { if (!success) { - callback.Run(std::move(job)); + std::move(callback).Run(std::move(job)); return; } base::PostTaskWithTraitsAndReplyWithResult( FROM_HERE, {base::MayBlock(), base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN}, - base::Bind(&UpdateJobFileInfoOnWorkerThread, pwg_file_path, - base::Passed(&job)), - callback); + base::BindOnce(&UpdateJobFileInfoOnWorkerThread, pwg_file_path, + std::move(job)), + std::move(callback)); } bool HasUsbPrinterProviderPermissions(const Extension* extension) { @@ -138,10 +137,11 @@ void ExtensionPrinterHandler::StartGetPrinters( const AddedPrintersCallback& callback, - const GetPrintersDoneCallback& done_callback) { + GetPrintersDoneCallback done_callback) { // Assume that there can only be one printer enumeration occuring at once. DCHECK_EQ(pending_enumeration_count_, 0); pending_enumeration_count_ = 1; + done_callback_ = std::move(done_callback); bool extension_supports_usb_printers = false; ExtensionRegistry* registry = ExtensionRegistry::Get(profile_); @@ -158,25 +158,25 @@ pending_enumeration_count_++; service->GetDevices( base::Bind(&ExtensionPrinterHandler::OnUsbDevicesEnumerated, - weak_ptr_factory_.GetWeakPtr(), callback, done_callback)); + weak_ptr_factory_.GetWeakPtr(), callback)); } extensions::PrinterProviderAPIFactory::GetInstance() ->GetForBrowserContext(profile_) ->DispatchGetPrintersRequested( base::Bind(&ExtensionPrinterHandler::WrapGetPrintersCallback, - weak_ptr_factory_.GetWeakPtr(), callback, done_callback)); + weak_ptr_factory_.GetWeakPtr(), callback)); } void ExtensionPrinterHandler::StartGetCapability( const std::string& destination_id, - const GetCapabilityCallback& callback) { + GetCapabilityCallback callback) { extensions::PrinterProviderAPIFactory::GetInstance() ->GetForBrowserContext(profile_) ->DispatchGetCapabilityRequested( destination_id, - base::Bind(&ExtensionPrinterHandler::WrapGetCapabilityCallback, - weak_ptr_factory_.GetWeakPtr(), callback)); + base::BindOnce(&ExtensionPrinterHandler::WrapGetCapabilityCallback, + weak_ptr_factory_.GetWeakPtr(), std::move(callback))); } void ExtensionPrinterHandler::StartPrint( @@ -186,7 +186,7 @@ const std::string& ticket_json, const gfx::Size& page_size, const scoped_refptr<base::RefCountedBytes>& print_data, - const PrintCallback& callback) { + PrintCallback callback) { auto print_job = base::MakeUnique<extensions::PrinterProviderPrintJob>(); print_job->printer_id = destination_id; print_job->job_title = job_title; @@ -206,37 +206,38 @@ // the same way as it's done with PWG raster. print_job->content_type = kContentTypePdf; print_job->document_bytes = print_data; - DispatchPrintJob(callback, std::move(print_job)); + DispatchPrintJob(std::move(callback), std::move(print_job)); return; } cloud_devices::CloudDeviceDescription ticket; if (!ticket.InitFromString(ticket_json)) { - WrapPrintCallback(callback, base::Value(kInvalidTicketPrintError)); + WrapPrintCallback(std::move(callback), + base::Value(kInvalidTicketPrintError)); return; } print_job->content_type = kContentTypePWGRaster; - ConvertToPWGRaster(print_data, printer_description, ticket, page_size, - std::move(print_job), - base::Bind(&ExtensionPrinterHandler::DispatchPrintJob, - weak_ptr_factory_.GetWeakPtr(), callback)); + ConvertToPWGRaster( + print_data, printer_description, ticket, page_size, std::move(print_job), + base::BindOnce(&ExtensionPrinterHandler::DispatchPrintJob, + weak_ptr_factory_.GetWeakPtr(), std::move(callback))); } void ExtensionPrinterHandler::StartGrantPrinterAccess( const std::string& printer_id, - const GetPrinterInfoCallback& callback) { + GetPrinterInfoCallback callback) { std::string extension_id; std::string device_guid; if (!ParseProvisionalUsbPrinterId(printer_id, &extension_id, &device_guid)) { - callback.Run(base::DictionaryValue()); + std::move(callback).Run(base::DictionaryValue()); return; } device::UsbService* service = device::DeviceClient::Get()->GetUsbService(); scoped_refptr<UsbDevice> device = service->GetDevice(device_guid); if (!device) { - callback.Run(base::DictionaryValue()); + std::move(callback).Run(base::DictionaryValue()); return; } @@ -248,8 +249,8 @@ ->GetForBrowserContext(profile_) ->DispatchGetUsbPrinterInfoRequested( extension_id, device, - base::Bind(&ExtensionPrinterHandler::WrapGetPrinterInfoCallback, - weak_ptr_factory_.GetWeakPtr(), callback)); + base::BindOnce(&ExtensionPrinterHandler::WrapGetPrinterInfoCallback, + weak_ptr_factory_.GetWeakPtr(), std::move(callback))); } void ExtensionPrinterHandler::SetPWGRasterConverterForTesting( @@ -263,7 +264,7 @@ const cloud_devices::CloudDeviceDescription& ticket, const gfx::Size& page_size, std::unique_ptr<extensions::PrinterProviderPrintJob> job, - const PrintJobCallback& callback) { + PrintJobCallback callback) { if (!pwg_raster_converter_) { pwg_raster_converter_ = PWGRasterConverter::CreateDefault(); } @@ -271,27 +272,27 @@ data.get(), PWGRasterConverter::GetConversionSettings(printer_description, page_size), PWGRasterConverter::GetBitmapSettings(printer_description, ticket), - base::Bind(&UpdateJobFileInfo, base::Passed(&job), callback)); + base::BindOnce(&UpdateJobFileInfo, std::move(job), std::move(callback))); } void ExtensionPrinterHandler::DispatchPrintJob( - const PrintCallback& callback, + PrintCallback callback, std::unique_ptr<extensions::PrinterProviderPrintJob> print_job) { if (print_job->document_path.empty() && !print_job->document_bytes) { - WrapPrintCallback(callback, base::Value(kInvalidDataPrintError)); + WrapPrintCallback(std::move(callback), base::Value(kInvalidDataPrintError)); return; } extensions::PrinterProviderAPIFactory::GetInstance() ->GetForBrowserContext(profile_) ->DispatchPrintRequested( - *print_job, base::Bind(&ExtensionPrinterHandler::WrapPrintCallback, - weak_ptr_factory_.GetWeakPtr(), callback)); + *print_job, + base::BindOnce(&ExtensionPrinterHandler::WrapPrintCallback, + weak_ptr_factory_.GetWeakPtr(), std::move(callback))); } void ExtensionPrinterHandler::WrapGetPrintersCallback( const AddedPrintersCallback& callback, - const GetPrintersDoneCallback& done_callback, const base::ListValue& printers, bool done) { DCHECK_GT(pending_enumeration_count_, 0); @@ -301,11 +302,11 @@ if (done) pending_enumeration_count_--; if (pending_enumeration_count_ == 0) - done_callback.Run(); + std::move(done_callback_).Run(); } void ExtensionPrinterHandler::WrapGetCapabilityCallback( - const GetCapabilityCallback& callback, + GetCapabilityCallback callback, const base::DictionaryValue& capability) { auto capabilities = std::make_unique<base::DictionaryValue>(); std::unique_ptr<base::DictionaryValue> cdd = @@ -315,23 +316,22 @@ capabilities->SetKey(printing::kSettingCapabilities, base::Value::FromUniquePtrValue(std::move(cdd))); } - callback.Run(std::move(capabilities)); + std::move(callback).Run(std::move(capabilities)); } -void ExtensionPrinterHandler::WrapPrintCallback(const PrintCallback& callback, +void ExtensionPrinterHandler::WrapPrintCallback(PrintCallback callback, const base::Value& status) { - callback.Run(status); + std::move(callback).Run(status); } void ExtensionPrinterHandler::WrapGetPrinterInfoCallback( - const GetPrinterInfoCallback& callback, + GetPrinterInfoCallback callback, const base::DictionaryValue& printer_info) { - callback.Run(printer_info); + std::move(callback).Run(printer_info); } void ExtensionPrinterHandler::OnUsbDevicesEnumerated( const AddedPrintersCallback& callback, - const GetPrintersDoneCallback& done_callback, const std::vector<scoped_refptr<UsbDevice>>& devices) { ExtensionRegistry* registry = ExtensionRegistry::Get(profile_); DevicePermissionsManager* permissions_manager = @@ -382,5 +382,5 @@ if (!list->empty()) callback.Run(*list); if (pending_enumeration_count_ == 0) - done_callback.Run(); + std::move(done_callback_).Run(); }
diff --git a/chrome/browser/ui/webui/print_preview/extension_printer_handler.h b/chrome/browser/ui/webui/print_preview/extension_printer_handler.h index c6e2150..7ec540ce 100644 --- a/chrome/browser/ui/webui/print_preview/extension_printer_handler.h +++ b/chrome/browser/ui/webui/print_preview/extension_printer_handler.h
@@ -44,7 +44,7 @@ // extension API. class ExtensionPrinterHandler : public PrinterHandler { public: - using PrintJobCallback = base::Callback<void( + using PrintJobCallback = base::OnceCallback<void( std::unique_ptr<extensions::PrinterProviderPrintJob>)>; explicit ExtensionPrinterHandler(Profile* profile); @@ -54,9 +54,9 @@ // PrinterHandler implementation: void Reset() override; void StartGetPrinters(const AddedPrintersCallback& added_printers_callback, - const GetPrintersDoneCallback& done_callback) override; + GetPrintersDoneCallback done_callback) override; void StartGetCapability(const std::string& destination_id, - const GetCapabilityCallback& callback) override; + GetCapabilityCallback callback) override; // TODO(tbarzic): It might make sense to have the strings in a single struct. void StartPrint(const std::string& destination_id, const std::string& capability, @@ -64,9 +64,9 @@ const std::string& ticket_json, const gfx::Size& page_size, const scoped_refptr<base::RefCountedBytes>& print_data, - const PrintCallback& callback) override; + PrintCallback callback) override; void StartGrantPrinterAccess(const std::string& printer_id, - const GetPrinterInfoCallback& callback) override; + GetPrinterInfoCallback callback) override; private: friend class ExtensionPrinterHandlerTest; @@ -83,34 +83,32 @@ const cloud_devices::CloudDeviceDescription& ticket, const gfx::Size& page_size, std::unique_ptr<extensions::PrinterProviderPrintJob> job, - const PrintJobCallback& callback); + PrintJobCallback callback); // Sets print job document data and dispatches it using printerProvider API. void DispatchPrintJob( - const PrintCallback& callback, + PrintCallback callback, std::unique_ptr<extensions::PrinterProviderPrintJob> print_job); // Methods used as wrappers to callbacks for extensions::PrinterProviderAPI // methods, primarily so the callbacks can be bound to this class' weak ptr. // They just propagate results to callbacks passed to them. void WrapGetPrintersCallback(const AddedPrintersCallback& callback, - const GetPrintersDoneCallback& done_callback, const base::ListValue& printers, bool done); - void WrapGetCapabilityCallback(const GetCapabilityCallback& callback, + void WrapGetCapabilityCallback(GetCapabilityCallback callback, const base::DictionaryValue& capability); - void WrapPrintCallback(const PrintCallback& callback, - const base::Value& status); - void WrapGetPrinterInfoCallback(const GetPrinterInfoCallback& callback, + void WrapPrintCallback(PrintCallback callback, const base::Value& status); + void WrapGetPrinterInfoCallback(GetPrinterInfoCallback callback, const base::DictionaryValue& printer_info); void OnUsbDevicesEnumerated( const AddedPrintersCallback& callback, - const GetPrintersDoneCallback& done_callback, const std::vector<scoped_refptr<device::UsbDevice>>& devices); Profile* const profile_; - + GetPrintersDoneCallback done_callback_; + PrintJobCallback print_job_callback_; std::unique_ptr<printing::PWGRasterConverter> pwg_raster_converter_; int pending_enumeration_count_ = 0;
diff --git a/chrome/browser/ui/webui/print_preview/extension_printer_handler_unittest.cc b/chrome/browser/ui/webui/print_preview/extension_printer_handler_unittest.cc index 0a09ba2..771236a7 100644 --- a/chrome/browser/ui/webui/print_preview/extension_printer_handler_unittest.cc +++ b/chrome/browser/ui/webui/print_preview/extension_printer_handler_unittest.cc
@@ -287,15 +287,15 @@ void Start(base::RefCountedMemory* data, const printing::PdfRenderSettings& conversion_settings, const printing::PwgRasterSettings& bitmap_settings, - const ResultCallback& callback) override { + ResultCallback callback) override { if (fail_conversion_) { - callback.Run(false, base::FilePath()); + std::move(callback).Run(false, base::FilePath()); return; } if (!initialized_ && !temp_dir_.CreateUniqueTempDir()) { ADD_FAILURE() << "Unable to create target dir for cenverter"; - callback.Run(false, base::FilePath()); + std::move(callback).Run(false, base::FilePath()); return; } @@ -306,14 +306,14 @@ int written = WriteFile(path_, data_str.c_str(), data_str.size()); if (written != static_cast<int>(data_str.size())) { ADD_FAILURE() << "Failed to write pwg raster file."; - callback.Run(false, base::FilePath()); + std::move(callback).Run(false, base::FilePath()); return; } conversion_settings_ = conversion_settings; bitmap_settings_ = bitmap_settings; - callback.Run(true, path_); + std::move(callback).Run(true, path_); } // Makes |Start| method always return an error. @@ -361,27 +361,27 @@ void DispatchGetCapabilityRequested( const std::string& destination_id, - const PrinterProviderAPI::GetCapabilityCallback& callback) override { - pending_capability_callbacks_.push(callback); + PrinterProviderAPI::GetCapabilityCallback callback) override { + pending_capability_callbacks_.push(std::move(callback)); } void DispatchPrintRequested( const PrinterProviderPrintJob& job, - const PrinterProviderAPI::PrintCallback& callback) override { + PrinterProviderAPI::PrintCallback callback) override { PrintRequestInfo request_info; - request_info.callback = callback; + request_info.callback = std::move(callback); request_info.job = job; - pending_print_requests_.push(request_info); + pending_print_requests_.push(std::move(request_info)); } void DispatchGetUsbPrinterInfoRequested( const std::string& extension_id, scoped_refptr<device::UsbDevice> device, - const PrinterProviderAPI::GetPrinterInfoCallback& callback) override { + PrinterProviderAPI::GetPrinterInfoCallback callback) override { EXPECT_EQ("fake extension id", extension_id); EXPECT_TRUE(device); - pending_usb_info_callbacks_.push(callback); + pending_usb_info_callbacks_.push(std::move(callback)); } size_t pending_get_printers_count() const { @@ -409,7 +409,7 @@ void TriggerNextGetCapabilityCallback( const base::DictionaryValue& description) { ASSERT_GT(pending_get_capability_count(), 0u); - pending_capability_callbacks_.front().Run(description); + std::move(pending_capability_callbacks_.front()).Run(description); pending_capability_callbacks_.pop(); } @@ -427,7 +427,7 @@ base::Value result_value; if (result != kPrintRequestSuccess) result_value = base::Value(result); - pending_print_requests_.front().callback.Run(result_value); + std::move(pending_print_requests_.front().callback).Run(result_value); pending_print_requests_.pop(); } @@ -438,7 +438,7 @@ void TriggerNextUsbPrinterInfoCallback( const base::DictionaryValue& printer_info) { ASSERT_GT(pending_usb_info_count(), 0u); - pending_usb_info_callbacks_.front().Run(printer_info); + std::move(pending_usb_info_callbacks_.front()).Run(printer_info); pending_usb_info_callbacks_.pop(); }
diff --git a/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.cc b/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.cc index 09e07b2b..3be7d9a 100644 --- a/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.cc +++ b/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.cc
@@ -57,16 +57,16 @@ } void FetchCapabilities(std::unique_ptr<chromeos::Printer> printer, - const PrinterHandler::GetCapabilityCallback& cb) { + LocalPrinterHandlerChromeos::GetCapabilityCallback cb) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); printing::PrinterBasicInfo basic_info = ToBasicInfo(*printer); base::PostTaskWithTraitsAndReplyWithResult( FROM_HERE, {base::MayBlock(), base::TaskPriority::BACKGROUND}, - base::Bind(&printing::GetSettingsOnBlockingPool, printer->id(), - basic_info), - cb); + base::BindOnce(&printing::GetSettingsOnBlockingPool, printer->id(), + basic_info), + std::move(cb)); } } // namespace @@ -89,18 +89,17 @@ weak_factory_.InvalidateWeakPtrs(); } -void LocalPrinterHandlerChromeos::GetDefaultPrinter( - const DefaultPrinterCallback& cb) { +void LocalPrinterHandlerChromeos::GetDefaultPrinter(DefaultPrinterCallback cb) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); // TODO(crbug.com/660898): Add default printers to ChromeOS. content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE, - base::Bind(cb, "")); + base::BindOnce(std::move(cb), "")); } void LocalPrinterHandlerChromeos::StartGetPrinters( const AddedPrintersCallback& added_printers_callback, - const GetPrintersDoneCallback& done_callback) { + GetPrintersDoneCallback done_callback) { // SyncedPrintersManager is not thread safe and must be called from the UI // thread. DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -116,13 +115,13 @@ printers_manager_->GetPrinters(CupsPrintersManager::kAutomatic), &printer_list); - printing::ConvertPrinterListForCallback(added_printers_callback, - done_callback, printer_list); + printing::ConvertPrinterListForCallback( + added_printers_callback, std::move(done_callback), printer_list); } void LocalPrinterHandlerChromeos::StartGetCapability( const std::string& printer_name, - const GetCapabilityCallback& cb) { + GetCapabilityCallback cb) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); std::unique_ptr<chromeos::Printer> printer = @@ -130,7 +129,7 @@ if (!printer) { // If the printer was removed, the lookup will fail. content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE, - base::Bind(cb, nullptr)); + base::BindOnce(std::move(cb), nullptr)); return; } @@ -141,15 +140,16 @@ if (printers_manager_->IsPrinterInstalled(*printer)) { // Skip setup if the printer is already installed. - HandlePrinterSetup(std::move(printer), cb, chromeos::kSuccess); + HandlePrinterSetup(std::move(printer), std::move(cb), chromeos::kSuccess); return; } const chromeos::Printer& printer_ref = *printer; printer_configurer_->SetUpPrinter( printer_ref, - base::Bind(&LocalPrinterHandlerChromeos::HandlePrinterSetup, - weak_factory_.GetWeakPtr(), base::Passed(&printer), cb)); + base::BindOnce(&LocalPrinterHandlerChromeos::HandlePrinterSetup, + weak_factory_.GetWeakPtr(), base::Passed(&printer), + std::move(cb))); } void LocalPrinterHandlerChromeos::StartPrint( @@ -159,13 +159,13 @@ const std::string& ticket_json, const gfx::Size& page_size, const scoped_refptr<base::RefCountedBytes>& print_data, - const PrintCallback& callback) { + PrintCallback callback) { NOTREACHED(); } void LocalPrinterHandlerChromeos::HandlePrinterSetup( std::unique_ptr<chromeos::Printer> printer, - const GetCapabilityCallback& cb, + GetCapabilityCallback cb, chromeos::PrinterSetupResult result) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -176,7 +176,7 @@ printers_manager_->PrinterInstalled(*printer); // fetch settings on the blocking pool and invoke callback. - FetchCapabilities(std::move(printer), cb); + FetchCapabilities(std::move(printer), std::move(cb)); return; case chromeos::PrinterSetupResult::kPpdNotFound: LOG(WARNING) << "Could not find PPD. Check printer configuration."; @@ -201,5 +201,5 @@ } // TODO(skau): Open printer settings if this is resolvable. - cb.Run(nullptr); + std::move(cb).Run(nullptr); }
diff --git a/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.h b/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.h index 79d26f89..263bd975 100644 --- a/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.h +++ b/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.h
@@ -26,11 +26,11 @@ // PrinterHandler implementation void Reset() override; - void GetDefaultPrinter(const DefaultPrinterCallback& cb) override; + void GetDefaultPrinter(DefaultPrinterCallback cb) override; void StartGetPrinters(const AddedPrintersCallback& added_printers_callback, - const GetPrintersDoneCallback& done_callback) override; + GetPrintersDoneCallback done_callback) override; void StartGetCapability(const std::string& printer_name, - const GetCapabilityCallback& cb) override; + GetCapabilityCallback cb) override; // Required by PrinterHandler interface but should never be called. void StartPrint(const std::string& destination_id, const std::string& capability, @@ -38,11 +38,11 @@ const std::string& ticket_json, const gfx::Size& page_size, const scoped_refptr<base::RefCountedBytes>& print_data, - const PrintCallback& callback) override; + PrintCallback callback) override; private: void HandlePrinterSetup(std::unique_ptr<chromeos::Printer> printer, - const GetCapabilityCallback& cb, + GetCapabilityCallback cb, chromeos::PrinterSetupResult result); std::unique_ptr<chromeos::CupsPrintersManager> printers_manager_; scoped_refptr<chromeos::PpdProvider> ppd_provider_;
diff --git a/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc b/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc index 4409f239..ae37e9025 100644 --- a/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc +++ b/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc
@@ -67,36 +67,35 @@ void LocalPrinterHandlerDefault::Reset() {} -void LocalPrinterHandlerDefault::GetDefaultPrinter( - const DefaultPrinterCallback& cb) { +void LocalPrinterHandlerDefault::GetDefaultPrinter(DefaultPrinterCallback cb) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); base::PostTaskWithTraitsAndReplyWithResult( FROM_HERE, {base::MayBlock(), base::TaskPriority::BACKGROUND}, - base::Bind(&GetDefaultPrinterAsync), cb); + base::BindOnce(&GetDefaultPrinterAsync), std::move(cb)); } void LocalPrinterHandlerDefault::StartGetPrinters( const AddedPrintersCallback& callback, - const GetPrintersDoneCallback& done_callback) { + GetPrintersDoneCallback done_callback) { VLOG(1) << "Enumerate printers start"; DCHECK_CURRENTLY_ON(content::BrowserThread::UI); base::PostTaskWithTraitsAndReplyWithResult( FROM_HERE, {base::MayBlock(), base::TaskPriority::BACKGROUND}, - base::Bind(&EnumeratePrintersAsync), - base::Bind(&printing::ConvertPrinterListForCallback, callback, - done_callback)); + base::BindOnce(&EnumeratePrintersAsync), + base::BindOnce(&printing::ConvertPrinterListForCallback, callback, + std::move(done_callback))); } void LocalPrinterHandlerDefault::StartGetCapability( const std::string& device_name, - const GetCapabilityCallback& cb) { + GetCapabilityCallback cb) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); base::PostTaskWithTraitsAndReplyWithResult( FROM_HERE, {base::MayBlock(), base::TaskPriority::BACKGROUND}, - base::Bind(&FetchCapabilitiesAsync, device_name), cb); + base::BindOnce(&FetchCapabilitiesAsync, device_name), std::move(cb)); } void LocalPrinterHandlerDefault::StartPrint( @@ -106,6 +105,6 @@ const std::string& ticket_json, const gfx::Size& page_size, const scoped_refptr<base::RefCountedBytes>& print_data, - const PrintCallback& callback) { + PrintCallback callback) { NOTREACHED(); }
diff --git a/chrome/browser/ui/webui/print_preview/local_printer_handler_default.h b/chrome/browser/ui/webui/print_preview/local_printer_handler_default.h index c3086342..de22422 100644 --- a/chrome/browser/ui/webui/print_preview/local_printer_handler_default.h +++ b/chrome/browser/ui/webui/print_preview/local_printer_handler_default.h
@@ -22,11 +22,11 @@ // PrinterHandler implementation. void Reset() override; - void GetDefaultPrinter(const DefaultPrinterCallback& cb) override; + void GetDefaultPrinter(DefaultPrinterCallback cb) override; void StartGetPrinters(const AddedPrintersCallback& added_printers_callback, - const GetPrintersDoneCallback& done_callback) override; + GetPrintersDoneCallback done_callback) override; void StartGetCapability(const std::string& destination_id, - const GetCapabilityCallback& callback) override; + GetCapabilityCallback callback) override; // Required by PrinterHandler interface but should never be called. void StartPrint(const std::string& destination_id, const std::string& capability, @@ -34,7 +34,7 @@ const std::string& ticket_json, const gfx::Size& page_size, const scoped_refptr<base::RefCountedBytes>& print_data, - const PrintCallback& callback) override; + PrintCallback callback) override; private: DISALLOW_COPY_AND_ASSIGN(LocalPrinterHandlerDefault);
diff --git a/chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc b/chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc index a43dde5..0e7fc8e 100644 --- a/chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc +++ b/chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
@@ -154,19 +154,18 @@ void PdfPrinterHandler::StartGetPrinters( const AddedPrintersCallback& added_printers_callback, - const GetPrintersDoneCallback& done_callback) { + GetPrintersDoneCallback done_callback) { NOTREACHED(); } -void PdfPrinterHandler::StartGetCapability( - const std::string& destination_id, - const GetCapabilityCallback& callback) { +void PdfPrinterHandler::StartGetCapability(const std::string& destination_id, + GetCapabilityCallback callback) { auto printer_info = base::MakeUnique<base::DictionaryValue>(); printer_info->SetString(printing::kSettingDeviceName, destination_id); printer_info->Set( printing::kSettingCapabilities, GetPdfCapabilities(g_browser_process->GetApplicationLocale())); - callback.Run(std::move(printer_info)); + std::move(callback).Run(std::move(printer_info)); } void PdfPrinterHandler::StartPrint( @@ -176,7 +175,7 @@ const std::string& ticket_json, const gfx::Size& page_size, const scoped_refptr<base::RefCountedBytes>& print_data, - const PrintCallback& callback) { + PrintCallback callback) { print_data_ = print_data; if (!print_to_pdf_path_.empty()) { // User has already selected a path, no need to show the dialog again. @@ -185,7 +184,7 @@ !select_file_dialog_->IsRunning(platform_util::GetTopLevel( preview_web_contents_->GetNativeView()))) { DCHECK(!print_callback_); - print_callback_ = callback; + print_callback_ = std::move(callback); #if defined(OS_WIN) base::FilePath::StringType print_job_title(job_title); #elif defined(OS_POSIX) @@ -215,8 +214,7 @@ } void PdfPrinterHandler::FileSelectionCanceled(void* params) { - print_callback_.Run(base::Value("PDFPrintCanceled")); - print_callback_.Reset(); + std::move(print_callback_).Run(base::Value("PDFPrintCanceled")); } void PdfPrinterHandler::SetPdfSavedClosureForTesting( @@ -235,8 +233,7 @@ ChromeSelectFilePolicy policy(initiator); if (!policy.CanOpenSelectFileDialog()) { policy.SelectFileDenied(); - print_callback_.Run(base::Value("PDFPrintCannotSelect")); - print_callback_.Reset(); + std::move(print_callback_).Run(base::Value("PDFPrintCannotSelect")); return; } } @@ -278,8 +275,7 @@ base::BindOnce(&PrintToPdfCallback, print_data_, print_to_pdf_path_, pdf_file_saved_closure_)); print_to_pdf_path_.clear(); - print_callback_.Run(base::Value()); - print_callback_.Reset(); + std::move(print_callback_).Run(base::Value()); } void PdfPrinterHandler::OnGotUniqueFileName(const base::FilePath& path) {
diff --git a/chrome/browser/ui/webui/print_preview/pdf_printer_handler.h b/chrome/browser/ui/webui/print_preview/pdf_printer_handler.h index 49b8638..50537bc 100644 --- a/chrome/browser/ui/webui/print_preview/pdf_printer_handler.h +++ b/chrome/browser/ui/webui/print_preview/pdf_printer_handler.h
@@ -46,16 +46,16 @@ void Reset() override; // Required by PrinterHandler implementation but should never be called. void StartGetPrinters(const AddedPrintersCallback& added_printers_callback, - const GetPrintersDoneCallback& done_callback) override; + GetPrintersDoneCallback done_callback) override; void StartGetCapability(const std::string& destination_id, - const GetCapabilityCallback& callback) override; + GetCapabilityCallback callback) override; void StartPrint(const std::string& destination_id, const std::string& capability, const base::string16& job_title, const std::string& ticket_json, const gfx::Size& page_size, const scoped_refptr<base::RefCountedBytes>& print_data, - const PrintCallback& callback) override; + PrintCallback callback) override; // SelectFileDialog::Listener implementation. void FileSelected(const base::FilePath& path,
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc index 91eb617c..2c0598ad 100644 --- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc +++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
@@ -544,8 +544,9 @@ } handler->StartGetCapability( - printer_name, base::Bind(&PrintPreviewHandler::SendPrinterCapabilities, - weak_factory_.GetWeakPtr(), callback_id)); + printer_name, + base::BindOnce(&PrintPreviewHandler::SendPrinterCapabilities, + weak_factory_.GetWeakPtr(), callback_id)); } void PrintPreviewHandler::HandleGetPreview(const base::ListValue* args) { @@ -736,10 +737,11 @@ else if (print_with_privet) type = PrinterType::kPrivetPrinter; PrinterHandler* handler = GetPrinterHandler(type); - handler->StartPrint(destination_id, capabilities, title, print_ticket, - gfx::Size(width, height), data, - base::Bind(&PrintPreviewHandler::OnPrintResult, - weak_factory_.GetWeakPtr(), callback_id)); + handler->StartPrint( + destination_id, capabilities, title, print_ticket, + gfx::Size(width, height), data, + base::BindOnce(&PrintPreviewHandler::OnPrintResult, + weak_factory_.GetWeakPtr(), callback_id)); return; } @@ -846,9 +848,9 @@ GetPrinterHandler(PrinterType::kLocalPrinter) ->StartGetCapability( - printer_name, - base::Bind(&PrintPreviewHandler::SendPrinterSetup, - weak_factory_.GetWeakPtr(), callback_id, printer_name)); + printer_name, base::BindOnce(&PrintPreviewHandler::SendPrinterSetup, + weak_factory_.GetWeakPtr(), callback_id, + printer_name)); } void PrintPreviewHandler::OnSigninComplete(const std::string& callback_id) {
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler_unittest.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler_unittest.cc index ff516f0..3b0343b 100644 --- a/chrome/browser/ui/webui/print_preview/print_preview_handler_unittest.cc +++ b/chrome/browser/ui/webui/print_preview/print_preview_handler_unittest.cc
@@ -141,26 +141,26 @@ void Reset() override {} - void GetDefaultPrinter(const DefaultPrinterCallback& cb) override { - cb.Run(default_printer_); + void GetDefaultPrinter(DefaultPrinterCallback cb) override { + std::move(cb).Run(default_printer_); } void StartGetPrinters(const AddedPrintersCallback& added_printers_callback, - const GetPrintersDoneCallback& done_callback) override { + GetPrintersDoneCallback done_callback) override { if (!printers_.empty()) added_printers_callback.Run(printers_); - done_callback.Run(); + std::move(done_callback).Run(); } void StartGetCapability(const std::string& destination_id, - const GetCapabilityCallback& callback) override { - callback.Run(base::DictionaryValue::From(std::make_unique<base::Value>( - printer_capabilities_[destination_id]->Clone()))); + GetCapabilityCallback callback) override { + std::move(callback).Run( + base::DictionaryValue::From(std::make_unique<base::Value>( + printer_capabilities_[destination_id]->Clone()))); } - void StartGrantPrinterAccess( - const std::string& printer_id, - const GetPrinterInfoCallback& callback) override {} + void StartGrantPrinterAccess(const std::string& printer_id, + GetPrinterInfoCallback callback) override {} void StartPrint(const std::string& destination_id, const std::string& capability, @@ -168,8 +168,8 @@ const std::string& ticket_json, const gfx::Size& page_size, const scoped_refptr<base::RefCountedBytes>& print_data, - const PrintCallback& callback) override { - callback.Run(base::Value()); + PrintCallback callback) override { + std::move(callback).Run(base::Value()); } void SetPrinters(const std::vector<PrinterInfo>& printers) {
diff --git a/chrome/browser/ui/webui/print_preview/printer_capabilities.cc b/chrome/browser/ui/webui/print_preview/printer_capabilities.cc index 8bd046e..33b8bef6 100644 --- a/chrome/browser/ui/webui/print_preview/printer_capabilities.cc +++ b/chrome/browser/ui/webui/print_preview/printer_capabilities.cc
@@ -213,7 +213,7 @@ void ConvertPrinterListForCallback( const PrinterHandler::AddedPrintersCallback& callback, - const PrinterHandler::GetPrintersDoneCallback& done_callback, + PrinterHandler::GetPrintersDoneCallback done_callback, const PrinterList& printer_list) { base::ListValue printers; PrintersToValues(printer_list, &printers); @@ -222,7 +222,7 @@ << " printers"; if (!printers.empty()) callback.Run(printers); - done_callback.Run(); + std::move(done_callback).Run(); } std::unique_ptr<base::DictionaryValue> ValidateCddForPrintPreview(
diff --git a/chrome/browser/ui/webui/print_preview/printer_capabilities.h b/chrome/browser/ui/webui/print_preview/printer_capabilities.h index 19a600c..47bd80f 100644 --- a/chrome/browser/ui/webui/print_preview/printer_capabilities.h +++ b/chrome/browser/ui/webui/print_preview/printer_capabilities.h
@@ -42,7 +42,7 @@ // converted list as the argument if it is not empty, and runs |done_callback|. void ConvertPrinterListForCallback( const PrinterHandler::AddedPrintersCallback& callback, - const PrinterHandler::GetPrintersDoneCallback& done_callback, + PrinterHandler::GetPrintersDoneCallback done_callback, const printing::PrinterList& printer_list); // Returns a unique_ptr to a sanitized version of |cdd| to prevent possible JS
diff --git a/chrome/browser/ui/webui/print_preview/printer_handler.cc b/chrome/browser/ui/webui/print_preview/printer_handler.cc index 9453617..43126964a 100644 --- a/chrome/browser/ui/webui/print_preview/printer_handler.cc +++ b/chrome/browser/ui/webui/print_preview/printer_handler.cc
@@ -52,12 +52,11 @@ } #endif -void PrinterHandler::GetDefaultPrinter(const DefaultPrinterCallback& cb) { +void PrinterHandler::GetDefaultPrinter(DefaultPrinterCallback cb) { NOTREACHED(); } -void PrinterHandler::StartGrantPrinterAccess( - const std::string& printer_id, - const GetPrinterInfoCallback& callback) { +void PrinterHandler::StartGrantPrinterAccess(const std::string& printer_id, + GetPrinterInfoCallback callback) { NOTREACHED(); }
diff --git a/chrome/browser/ui/webui/print_preview/printer_handler.h b/chrome/browser/ui/webui/print_preview/printer_handler.h index e9c96e2..96a2fcbc 100644 --- a/chrome/browser/ui/webui/print_preview/printer_handler.h +++ b/chrome/browser/ui/webui/print_preview/printer_handler.h
@@ -41,10 +41,10 @@ class PrinterHandler { public: using DefaultPrinterCallback = - base::Callback<void(const std::string& printer_name)>; + base::OnceCallback<void(const std::string& printer_name)>; using AddedPrintersCallback = - base::Callback<void(const base::ListValue& printers)>; - using GetPrintersDoneCallback = base::Closure; + base::RepeatingCallback<void(const base::ListValue& printers)>; + using GetPrintersDoneCallback = base::OnceClosure; // |capability| should contain a CDD with key printing::kSettingCapabilities. // It may also contain other information about the printer in a dictionary // with key printing::kPrinter. @@ -54,11 +54,11 @@ // If the dictionary with key printing::kSettingCapabilities is // empty, this indicates capabilities were retrieved but the printer does // not support any of the capability fields in a CDD. - using GetCapabilityCallback = - base::Callback<void(std::unique_ptr<base::DictionaryValue> capability)>; - using PrintCallback = base::Callback<void(const base::Value& error)>; + using GetCapabilityCallback = base::OnceCallback<void( + std::unique_ptr<base::DictionaryValue> capability)>; + using PrintCallback = base::OnceCallback<void(const base::Value& error)>; using GetPrinterInfoCallback = - base::Callback<void(const base::DictionaryValue& printer_info)>; + base::OnceCallback<void(const base::DictionaryValue& printer_info)>; // Creates an instance of a PrinterHandler for extension printers. static std::unique_ptr<PrinterHandler> CreateForExtensionPrinters( @@ -86,7 +86,7 @@ // Returns the name of the default printer through |cb|. Must be overridden // by implementations that expect this method to be called. - virtual void GetDefaultPrinter(const DefaultPrinterCallback& cb); + virtual void GetDefaultPrinter(DefaultPrinterCallback cb); // Starts getting available printers. // |added_printers_callback| should be called in the response when printers @@ -95,13 +95,13 @@ // |done_callback| must be called exactly once when the search is complete. virtual void StartGetPrinters( const AddedPrintersCallback& added_printers_callback, - const GetPrintersDoneCallback& done_callback) = 0; + GetPrintersDoneCallback done_callback) = 0; // Starts getting printing capability of the printer with the provided // destination ID. // |callback| should be called in the response to the request. virtual void StartGetCapability(const std::string& destination_id, - const GetCapabilityCallback& callback) = 0; + GetCapabilityCallback callback) = 0; // Starts granting access to the given provisional printer. The print handler // will respond with more information about the printer including its non- @@ -109,7 +109,7 @@ // this method to be called. // |callback| should be called in response to the request. virtual void StartGrantPrinterAccess(const std::string& printer_id, - const GetPrinterInfoCallback& callback); + GetPrinterInfoCallback callback); // Starts a print request. // |destination_id|: The printer to which print job should be sent. @@ -127,7 +127,7 @@ const std::string& ticket_json, const gfx::Size& page_size, const scoped_refptr<base::RefCountedBytes>& print_data, - const PrintCallback& callback) = 0; + PrintCallback callback) = 0; }; #endif // CHROME_BROWSER_UI_WEBUI_PRINT_PREVIEW_PRINTER_HANDLER_H_
diff --git a/chrome/browser/ui/webui/print_preview/privet_printer_handler.cc b/chrome/browser/ui/webui/print_preview/privet_printer_handler.cc index eba9d14..5816743 100644 --- a/chrome/browser/ui/webui/print_preview/privet_printer_handler.cc +++ b/chrome/browser/ui/webui/print_preview/privet_printer_handler.cc
@@ -54,31 +54,28 @@ weak_ptr_factory_.InvalidateWeakPtrs(); added_printers_callback_.Reset(); if (done_callback_) - done_callback_.Run(); - done_callback_.Reset(); + std::move(done_callback_).Run(); } void PrivetPrinterHandler::StartGetPrinters( const AddedPrintersCallback& added_printers_callback, - const GetPrintersDoneCallback& done_callback) { + GetPrintersDoneCallback done_callback) { using local_discovery::ServiceDiscoverySharedClient; scoped_refptr<ServiceDiscoverySharedClient> service_discovery = ServiceDiscoverySharedClient::GetInstance(); DCHECK(!added_printers_callback_); DCHECK(!done_callback_); added_printers_callback_ = added_printers_callback; - done_callback_ = done_callback; + done_callback_ = std::move(done_callback); StartLister(service_discovery); } -void PrivetPrinterHandler::StartGetCapability( - const std::string& destination_id, - const GetCapabilityCallback& callback) { - if (!CreateHTTP(destination_id, - base::Bind(&PrivetPrinterHandler::CapabilitiesUpdateClient, - weak_ptr_factory_.GetWeakPtr(), callback))) { - callback.Run(nullptr); - } +void PrivetPrinterHandler::StartGetCapability(const std::string& destination_id, + GetCapabilityCallback callback) { + CreateHTTP( + destination_id, + base::BindOnce(&PrivetPrinterHandler::CapabilitiesUpdateClient, + weak_ptr_factory_.GetWeakPtr(), std::move(callback))); } void PrivetPrinterHandler::StartPrint( @@ -88,14 +85,12 @@ const std::string& ticket_json, const gfx::Size& page_size, const scoped_refptr<base::RefCountedBytes>& print_data, - const PrintCallback& callback) { - if (!CreateHTTP( - destination_id, - base::Bind(&PrivetPrinterHandler::PrintUpdateClient, - weak_ptr_factory_.GetWeakPtr(), callback, job_title, - print_data, ticket_json, capability, page_size))) { - callback.Run(base::Value(-1)); - } + PrintCallback callback) { + CreateHTTP(destination_id, + base::BindOnce(&PrivetPrinterHandler::PrintUpdateClient, + weak_ptr_factory_.GetWeakPtr(), std::move(callback), + job_title, print_data, ticket_json, capability, + page_size)); } void PrivetPrinterHandler::LocalPrinterChanged( @@ -121,14 +116,14 @@ void PrivetPrinterHandler::OnPrivetPrintingDone( const cloud_print::PrivetLocalPrintOperation* print_operation) { DCHECK(print_callback_); - print_callback_.Run(base::Value()); + std::move(print_callback_).Run(base::Value()); } void PrivetPrinterHandler::OnPrivetPrintingError( const cloud_print::PrivetLocalPrintOperation* print_operation, int http_code) { DCHECK(print_callback_); - print_callback_.Run(base::Value(http_code)); + std::move(print_callback_).Run(base::Value(http_code)); } void PrivetPrinterHandler::StartLister( @@ -150,32 +145,31 @@ privet_lister_timer_.reset(); if (printer_lister_) printer_lister_->Stop(); - done_callback_.Run(); + std::move(done_callback_).Run(); added_printers_callback_.Reset(); - done_callback_.Reset(); } void PrivetPrinterHandler::CapabilitiesUpdateClient( - const GetCapabilityCallback& callback, + GetCapabilityCallback callback, std::unique_ptr<cloud_print::PrivetHTTPClient> http_client) { if (!UpdateClient(std::move(http_client))) { - callback.Run(nullptr); + std::move(callback).Run(nullptr); return; } privet_capabilities_operation_ = privet_http_client_->CreateCapabilitiesOperation( - base::Bind(&PrivetPrinterHandler::OnGotCapabilities, - weak_ptr_factory_.GetWeakPtr(), callback)); + base::BindOnce(&PrivetPrinterHandler::OnGotCapabilities, + weak_ptr_factory_.GetWeakPtr(), std::move(callback))); privet_capabilities_operation_->Start(); } void PrivetPrinterHandler::OnGotCapabilities( - const GetCapabilityCallback& callback, + GetCapabilityCallback callback, const base::DictionaryValue* capabilities) { if (!capabilities || capabilities->HasKey(cloud_print::kPrivetKeyError) || !printer_lister_) { - callback.Run(nullptr); + std::move(callback).Run(nullptr); return; } @@ -184,7 +178,7 @@ printer_lister_->GetDeviceDescription(name); if (!description) { - callback.Run(nullptr); + std::move(callback).Run(nullptr); return; } @@ -198,12 +192,13 @@ capabilities->CreateDeepCopy(); printer_info_and_caps.SetDictionary(printing::kSettingCapabilities, std::move(capabilities_copy)); - callback.Run(printing::ValidateCddForPrintPreview(printer_info_and_caps)); + std::move(callback).Run( + printing::ValidateCddForPrintPreview(printer_info_and_caps)); privet_capabilities_operation_.reset(); } void PrivetPrinterHandler::PrintUpdateClient( - const PrintCallback& callback, + PrintCallback callback, const base::string16& job_title, const scoped_refptr<base::RefCountedBytes>& print_data, const std::string& print_ticket, @@ -211,10 +206,10 @@ const gfx::Size& page_size, std::unique_ptr<cloud_print::PrivetHTTPClient> http_client) { if (!UpdateClient(std::move(http_client))) { - callback.Run(base::Value(-1)); + std::move(callback).Run(base::Value(-1)); return; } - print_callback_ = callback; + print_callback_ = std::move(callback); StartPrint(job_title, print_data, print_ticket, capabilities, page_size); } @@ -260,21 +255,21 @@ privet_local_print_operation_->Start(); } -bool PrivetPrinterHandler::CreateHTTP( +void PrivetPrinterHandler::CreateHTTP( const std::string& name, - const cloud_print::PrivetHTTPAsynchronousFactory::ResultCallback& - callback) { + cloud_print::PrivetHTTPAsynchronousFactory::ResultCallback callback) { const cloud_print::DeviceDescription* device_description = printer_lister_ ? printer_lister_->GetDeviceDescription(name) : nullptr; - if (!device_description) - return false; + if (!device_description) { + std::move(callback).Run(nullptr); + return; + } privet_http_factory_ = cloud_print::PrivetHTTPAsynchronousFactory::CreateInstance( profile_->GetRequestContext()); privet_http_resolution_ = privet_http_factory_->CreatePrivetHTTP(name); - privet_http_resolution_->Start(device_description->address, callback); - - return true; + privet_http_resolution_->Start(device_description->address, + std::move(callback)); }
diff --git a/chrome/browser/ui/webui/print_preview/privet_printer_handler.h b/chrome/browser/ui/webui/print_preview/privet_printer_handler.h index e2f0f572..a919e13 100644 --- a/chrome/browser/ui/webui/print_preview/privet_printer_handler.h +++ b/chrome/browser/ui/webui/print_preview/privet_printer_handler.h
@@ -39,9 +39,9 @@ // PrinterHandler implementation: void Reset() override; void StartGetPrinters(const AddedPrintersCallback& added_printers_callback, - const GetPrintersDoneCallback& done_callback) override; + GetPrintersDoneCallback done_callback) override; void StartGetCapability(const std::string& destination_id, - const GetCapabilityCallback& calback) override; + GetCapabilityCallback calback) override; // TODO(tbarzic): It might make sense to have the strings in a single struct. void StartPrint(const std::string& destination_id, const std::string& capability, @@ -49,7 +49,7 @@ const std::string& ticket_json, const gfx::Size& page_size, const scoped_refptr<base::RefCountedBytes>& print_data, - const PrintCallback& callback) override; + PrintCallback callback) override; // PrivetLocalPrinterLister::Delegate implementation. void LocalPrinterChanged( @@ -72,12 +72,12 @@ client); void StopLister(); void CapabilitiesUpdateClient( - const GetCapabilityCallback& callback, + GetCapabilityCallback callback, std::unique_ptr<cloud_print::PrivetHTTPClient> http_client); - void OnGotCapabilities(const GetCapabilityCallback& callback, + void OnGotCapabilities(GetCapabilityCallback callback, const base::DictionaryValue* capabilities); void PrintUpdateClient( - const PrintCallback& callback, + PrintCallback callback, const base::string16& job_title, const scoped_refptr<base::RefCountedBytes>& print_data, const std::string& print_ticket, @@ -90,10 +90,9 @@ const std::string& print_ticket, const std::string& capabilities, const gfx::Size& page_size); - bool CreateHTTP( + void CreateHTTP( const std::string& name, - const cloud_print::PrivetHTTPAsynchronousFactory::ResultCallback& - callback); + cloud_print::PrivetHTTPAsynchronousFactory::ResultCallback callback); Profile* profile_; scoped_refptr<local_discovery::ServiceDiscoverySharedClient>
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc index 0ca1c046..2484b51 100644 --- a/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc
@@ -309,7 +309,8 @@ // Enables the use of native notification centers instead of using the Message // Center for displaying the toasts. #if BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS) -#if defined(OS_MACOSX) || defined(OS_ANDROID) +#if defined(OS_MACOSX) || defined(OS_ANDROID) || \ + (defined(OS_LINUX) && !defined(OS_CHROMEOS)) const base::Feature kNativeNotifications{"NativeNotifications", base::FEATURE_ENABLED_BY_DEFAULT}; #else
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn index 4f157a9..c6c1682e 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn
@@ -3234,6 +3234,7 @@ "../browser/metrics/antivirus_metrics_provider_win_unittest.cc", "../browser/metrics/chrome_browser_main_extra_parts_metrics_unittest.cc", "../browser/metrics/chrome_metrics_service_accessor_unittest.cc", + "../browser/metrics/chrome_metrics_service_client_unittest.cc", "../browser/metrics/perf/perf_provider_chromeos_unittest.cc", "../browser/metrics/process_memory_metrics_emitter_unittest.cc", "../browser/metrics/subprocess_metrics_provider_unittest.cc",
diff --git a/chrome/test/chromedriver/test/run_py_tests.py b/chrome/test/chromedriver/test/run_py_tests.py index 388030b..de21d7a 100755 --- a/chrome/test/chromedriver/test/run_py_tests.py +++ b/chrome/test/chromedriver/test/run_py_tests.py
@@ -165,6 +165,8 @@ 'ChromeDriverTest.testCanClickAlertInIframes', # https://bugs.chromium.org/p/chromedriver/issues/detail?id=2081 'ChromeDriverTest.testCloseWindowUsingJavascript', + # https://bugs.chromium.org/p/chromedriver/issues/detail?id=2106 + 'ChromeDriverTest.testShadowDomFindElementFailsBetweenShadowRoots' ] ) _ANDROID_NEGATIVE_FILTER['chrome_stable'] = (
diff --git a/chrome/utility/safe_browsing/mac/hfs.cc b/chrome/utility/safe_browsing/mac/hfs.cc index 0258a7e..654a12f 100644 --- a/chrome/utility/safe_browsing/mac/hfs.cc +++ b/chrome/utility/safe_browsing/mac/hfs.cc
@@ -246,6 +246,12 @@ return false; } + if (volume_header_.blockSize == 0) { + DLOG(ERROR) << "Invalid volume header block size " + << volume_header_.blockSize; + return false; + } + if (!ReadCatalogFile()) return false;
diff --git a/chromecast/app/android/crash_handler.cc b/chromecast/app/android/crash_handler.cc index 9297b057..365964d 100644 --- a/chromecast/app/android/crash_handler.cc +++ b/chromecast/app/android/crash_handler.cc
@@ -87,25 +87,24 @@ } void CrashHandler::InitializeUploader() { - JNIEnv* env = base::android::AttachCurrentThread(); - base::android::ScopedJavaLocalRef<jstring> crash_dump_path_java = - base::android::ConvertUTF8ToJavaString(env, crash_dump_path_.value()); - base::android::ScopedJavaLocalRef<jstring> uuid_java = - base::android::ConvertUTF8ToJavaString(env, ""); - Java_CastCrashHandler_initializeUploader(env, crash_dump_path_java, uuid_java, - UploadCrashToStaging(), true); + CrashHandler::UploadDumps(crash_dump_path_, "", "", true); } // static void CrashHandler::UploadDumps(const base::FilePath& crash_dump_path, - std::string uuid) { + const std::string& uuid, + const std::string& application_feedback, + bool periodic_upload) { JNIEnv* env = base::android::AttachCurrentThread(); base::android::ScopedJavaLocalRef<jstring> crash_dump_path_java = base::android::ConvertUTF8ToJavaString(env, crash_dump_path.value()); base::android::ScopedJavaLocalRef<jstring> uuid_java = base::android::ConvertUTF8ToJavaString(env, uuid); - Java_CastCrashHandler_initializeUploader(env, crash_dump_path_java, uuid_java, - UploadCrashToStaging(), false); + base::android::ScopedJavaLocalRef<jstring> application_feedback_java = + base::android::ConvertUTF8ToJavaString(env, application_feedback); + Java_CastCrashHandler_initializeUploader( + env, crash_dump_path_java, uuid_java, application_feedback_java, + UploadCrashToStaging(), periodic_upload); } } // namespace chromecast
diff --git a/chromecast/app/android/crash_handler.h b/chromecast/app/android/crash_handler.h index 7c6c4cd..73006627 100644 --- a/chromecast/app/android/crash_handler.h +++ b/chromecast/app/android/crash_handler.h
@@ -27,7 +27,9 @@ // Returns the directory location for crash dumps. static bool GetCrashDumpLocation(base::FilePath* crash_dir); static void UploadDumps(const base::FilePath& crash_dump_path, - std::string uuid); + const std::string& uuid, + const std::string& application_feedback, + bool periodic_upload); private: CrashHandler(const std::string& process_type,
diff --git a/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastCrashHandler.java b/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastCrashHandler.java index 9636c688..51a7101 100644 --- a/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastCrashHandler.java +++ b/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastCrashHandler.java
@@ -18,9 +18,9 @@ @CalledByNative public static void initializeUploader(String crashDumpPath, String uuid, - boolean uploadCrashToStaging, boolean periodicUpload) { + String applicationFeedback, boolean uploadCrashToStaging, boolean periodicUpload) { CastCrashUploader uploader = CastCrashUploaderFactory.createCastCrashUploader( - crashDumpPath, uuid, uploadCrashToStaging); + crashDumpPath, uuid, applicationFeedback, uploadCrashToStaging); if (ChromecastConfigAndroid.canSendUsageStats()) { if (periodicUpload) { uploader.startPeriodicUpload();
diff --git a/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastCrashUploader.java b/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastCrashUploader.java index 5e5866b..829fdc2 100644 --- a/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastCrashUploader.java +++ b/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastCrashUploader.java
@@ -44,12 +44,15 @@ private final String mCrashDumpPath; private final String mCrashReportUploadUrl; private final String mUuid; + private final String mApplicationFeedback; public CastCrashUploader(ScheduledExecutorService executorService, String crashDumpPath, - String uuid, boolean uploadCrashToStaging) { + String uuid, String applicationFeedback, boolean uploadCrashToStaging) { mExecutorService = executorService; mCrashDumpPath = crashDumpPath; mUuid = uuid; + mApplicationFeedback = applicationFeedback; + mCrashReportUploadUrl = uploadCrashToStaging ? "https://clients2.google.com/cr/staging_report" : "https://clients2.google.com/cr/report"; @@ -147,6 +150,7 @@ try { InputStream uploadCrashDumpStream = new FileInputStream(dumpFile); InputStream logFileStream = null; + InputStream feedbackStream = null; // Dump file is already in multipart MIME format and has a boundary throughout. // Scrape the first line, remove two dashes, call that the "boundary" and add it @@ -161,11 +165,10 @@ logHeader.append(dumpFirstLine); logHeader.append("\n"); logHeader.append( - "Content-Disposition: form-data; name=\"log\"; filename=\"log\"\n"); + "Content-Disposition: form-data; name=\"log.txt\"; filename=\"log.txt\"\n"); logHeader.append("Content-Type: text/plain\n\n"); InputStream logHeaderStream = new ByteArrayInputStream(logHeader.toString().getBytes()); - // logFileStream = new FileInputStream(logFile); logFileStream = new ByteArrayInputStream(log.getBytes()); // Upload: prepend the log file for uploading uploadCrashDumpStream = new SequenceInputStream( @@ -186,6 +189,23 @@ uploadCrashDumpStream); } + if (!mApplicationFeedback.equals("")) { + Log.i(TAG, "Including feedback"); + StringBuilder feedbackHeader = new StringBuilder(); + feedbackHeader.append(dumpFirstLine); + feedbackHeader.append("\n"); + feedbackHeader.append( + "Content-Disposition: form-data; name=\"application_feedback.txt\"; filename=\"application.txt\"\n"); + feedbackHeader.append("Content-Type: text/plain\n\n"); + InputStream feedbackHeaderStream = + new ByteArrayInputStream(feedbackHeader.toString().getBytes()); + feedbackStream = new ByteArrayInputStream(mApplicationFeedback.getBytes()); + // Upload: prepend the log file for uploading + uploadCrashDumpStream = new SequenceInputStream( + new SequenceInputStream(feedbackHeaderStream, feedbackStream), + uploadCrashDumpStream); + } + HttpURLConnection connection = (HttpURLConnection) new URL(mCrashReportUploadUrl).openConnection(); @@ -225,6 +245,9 @@ if (logFileStream != null) { logFileStream.close(); } + if (feedbackStream != null) { + feedbackStream.close(); + } } // Delete the file so we don't re-upload it next time.
diff --git a/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastCrashUploaderFactory.java b/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastCrashUploaderFactory.java index 687181f..25a4665 100644 --- a/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastCrashUploaderFactory.java +++ b/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastCrashUploaderFactory.java
@@ -14,11 +14,12 @@ public final class CastCrashUploaderFactory { private static ScheduledExecutorService sExecutorService = null; - public static CastCrashUploader createCastCrashUploader( - String crashDumpPath, String uuid, boolean uploadCrashToStaging) { + public static CastCrashUploader createCastCrashUploader(String crashDumpPath, String uuid, + String applicationFeedback, boolean uploadCrashToStaging) { if (sExecutorService == null) { sExecutorService = Executors.newScheduledThreadPool(1); } - return new CastCrashUploader(sExecutorService, crashDumpPath, uuid, uploadCrashToStaging); + return new CastCrashUploader( + sExecutorService, crashDumpPath, uuid, applicationFeedback, uploadCrashToStaging); } }
diff --git a/chromecast/media/cma/backend/fuchsia/BUILD.gn b/chromecast/media/cma/backend/fuchsia/BUILD.gn index 5a32751..384ad369 100644 --- a/chromecast/media/cma/backend/fuchsia/BUILD.gn +++ b/chromecast/media/cma/backend/fuchsia/BUILD.gn
@@ -24,6 +24,8 @@ "//chromecast/public/media", "//media", ] + + libs = [ "media_client" ] } source_set("unit_tests") {
diff --git a/chromecast/public/avsettings.h b/chromecast/public/avsettings.h index 6d55bec7..3ada73f 100644 --- a/chromecast/public/avsettings.h +++ b/chromecast/public/avsettings.h
@@ -151,6 +151,9 @@ // specification (CEC Table 30 in the HDMI 1.4a specification). virtual void OnKeyPressed(int key_code) = 0; + // This should be invoked when a key is released. + virtual void OnKeyReleased(int key_code) = 0; + protected: ~Delegate() override {} };
diff --git a/chromeos/CHROMEOS_LKGM b/chromeos/CHROMEOS_LKGM index a3d86a39..371b60c 100644 --- a/chromeos/CHROMEOS_LKGM +++ b/chromeos/CHROMEOS_LKGM
@@ -1 +1 @@ -10041.0.0 +10070.0.0
diff --git a/chromeos/dbus/fake_image_loader_client.cc b/chromeos/dbus/fake_image_loader_client.cc index 6e22504..1af9ea7f 100644 --- a/chromeos/dbus/fake_image_loader_client.cc +++ b/chromeos/dbus/fake_image_loader_client.cc
@@ -10,7 +10,6 @@ namespace chromeos { -// ImageLoaderClient override: void FakeImageLoaderClient::RegisterComponent( const std::string& name, const std::string& version, @@ -18,11 +17,18 @@ DBusMethodCallback<bool> callback) { std::move(callback).Run(base::nullopt); } + void FakeImageLoaderClient::LoadComponent( const std::string& name, DBusMethodCallback<std::string> callback) { std::move(callback).Run(base::nullopt); } + +void FakeImageLoaderClient::RemoveComponent(const std::string& name, + DBusMethodCallback<bool> callback) { + std::move(callback).Run(base::nullopt); +} + void FakeImageLoaderClient::RequestComponentVersion( const std::string& name, DBusMethodCallback<std::string> callback) {
diff --git a/chromeos/dbus/fake_image_loader_client.h b/chromeos/dbus/fake_image_loader_client.h index e9a60fd..81c58c8 100644 --- a/chromeos/dbus/fake_image_loader_client.h +++ b/chromeos/dbus/fake_image_loader_client.h
@@ -28,6 +28,8 @@ DBusMethodCallback<bool> callback) override; void LoadComponent(const std::string& name, DBusMethodCallback<std::string> callback) override; + void RemoveComponent(const std::string& name, + DBusMethodCallback<bool> callback) override; void RequestComponentVersion( const std::string& name, DBusMethodCallback<std::string> callback) override;
diff --git a/chromeos/dbus/image_loader_client.cc b/chromeos/dbus/image_loader_client.cc index 2ac9b972..5454b080 100644 --- a/chromeos/dbus/image_loader_client.cc +++ b/chromeos/dbus/image_loader_client.cc
@@ -51,6 +51,17 @@ std::move(callback))); } + void RemoveComponent(const std::string& name, + DBusMethodCallback<bool> callback) override { + dbus::MethodCall method_call(imageloader::kImageLoaderServiceInterface, + imageloader::kRemoveComponent); + dbus::MessageWriter writer(&method_call); + writer.AppendString(name); + proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, + base::BindOnce(&ImageLoaderClientImpl::OnBoolMethod, + std::move(callback))); + } + void RequestComponentVersion( const std::string& name, DBusMethodCallback<std::string> callback) override {
diff --git a/chromeos/dbus/image_loader_client.h b/chromeos/dbus/image_loader_client.h index 594ed89..aa76add 100644 --- a/chromeos/dbus/image_loader_client.h +++ b/chromeos/dbus/image_loader_client.h
@@ -38,6 +38,10 @@ const std::string& name, DBusMethodCallback<std::string> callback) = 0; + // Removes a component and returns true (if call is successful). + virtual void RemoveComponent(const std::string& name, + DBusMethodCallback<bool> callback) = 0; + // Factory function, creates a new instance and returns ownership. // For normal usage, access the singleton via DBusThreadManager::Get(). static ImageLoaderClient* Create();
diff --git a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerUma.java b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerUma.java index 34778d6..4b40d1d 100644 --- a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerUma.java +++ b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerUma.java
@@ -29,8 +29,9 @@ static final int BACKGROUND_TASK_DOWNLOAD_CLEANUP = 9; static final int BACKGROUND_TASK_WEBVIEW_VARIATIONS = 10; static final int BACKGROUND_TASK_OFFLINE_CONTENT_NOTIFICATION = 11; + static final int BACKGROUND_TASK_WEBAPK_UPDATE = 12; // Keep this one at the end and increment appropriately when adding new tasks. - static final int BACKGROUND_TASK_COUNT = 12; + static final int BACKGROUND_TASK_COUNT = 13; static final String KEY_CACHED_UMA = "bts_cached_uma"; @@ -234,6 +235,8 @@ return BACKGROUND_TASK_WEBVIEW_VARIATIONS; case TaskIds.OFFLINE_PAGES_PREFETCH_NOTIFICATION_JOB_ID: return BACKGROUND_TASK_OFFLINE_CONTENT_NOTIFICATION; + case TaskIds.WEBAPK_UPDATE_JOB_ID: + return BACKGROUND_TASK_WEBAPK_UPDATE; default: assert false; }
diff --git a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/TaskIds.java b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/TaskIds.java index 790c42e..157ab19 100644 --- a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/TaskIds.java +++ b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/TaskIds.java
@@ -24,6 +24,7 @@ public static final int DOWNLOAD_SERVICE_JOB_ID = 53; public static final int DOWNLOAD_CLEANUP_JOB_ID = 54; public static final int WEBVIEW_VARIATIONS_SEED_FETCH_JOB_ID = 83; + public static final int WEBAPK_UPDATE_JOB_ID = 91; private TaskIds() {} }
diff --git a/components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerUmaTest.java b/components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerUmaTest.java index 98002212..ce6cfd8 100644 --- a/components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerUmaTest.java +++ b/components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerUmaTest.java
@@ -79,7 +79,9 @@ assertEquals(BackgroundTaskSchedulerUma.BACKGROUND_TASK_OFFLINE_CONTENT_NOTIFICATION, BackgroundTaskSchedulerUma.toUmaEnumValueFromTaskId( TaskIds.OFFLINE_PAGES_PREFETCH_NOTIFICATION_JOB_ID)); - assertEquals(BackgroundTaskSchedulerUma.BACKGROUND_TASK_COUNT, 12); + assertEquals(BackgroundTaskSchedulerUma.BACKGROUND_TASK_WEBAPK_UPDATE, + BackgroundTaskSchedulerUma.toUmaEnumValueFromTaskId(TaskIds.WEBAPK_UPDATE_JOB_ID)); + assertEquals(BackgroundTaskSchedulerUma.BACKGROUND_TASK_COUNT, 13); } @Test
diff --git a/components/domain_reliability/monitor.cc b/components/domain_reliability/monitor.cc index 0276618..87c969d 100644 --- a/components/domain_reliability/monitor.cc +++ b/components/domain_reliability/monitor.cc
@@ -139,6 +139,7 @@ void DomainReliabilityMonitor::InitURLRequestContext( net::URLRequestContext* url_request_context) { + DCHECK(url_request_context); DCHECK(OnNetworkThread()); DCHECK(moved_to_network_thread_);
diff --git a/components/download/internal/debugging_client.h b/components/download/internal/debugging_client.h index 70e8832..8e76947 100644 --- a/components/download/internal/debugging_client.h +++ b/components/download/internal/debugging_client.h
@@ -2,6 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifndef COMPONENTS_DOWNLOAD_INTERNAL_DEBUGGING_CLIENT_H_ +#define COMPONENTS_DOWNLOAD_INTERNAL_DEBUGGING_CLIENT_H_ + #include "base/macros.h" #include "components/download/public/client.h" @@ -36,3 +39,5 @@ }; } // namespace download + +#endif // COMPONENTS_DOWNLOAD_INTERNAL_DEBUGGING_CLIENT_H_
diff --git a/components/feature_engagement/README.md b/components/feature_engagement/README.md index ad61f67..f5c8008b 100644 --- a/components/feature_engagement/README.md +++ b/components/feature_engagement/README.md
@@ -219,6 +219,20 @@ * `NOT_READY`: `Tracker` not fully initialized yet, so it is unable to inspect the state. +#### Inspecting whether IPH would have been triggered for a feature + +Another way to check the internal state of the `Tracker` is to invoke +`feature_engagement::Tracker::WouldTriggerHelpUI` which is basically the same as +invoking `feature_engagement::Tracker::ShouldTriggerHelpUI`, but being allowed +to ignore the state. It is still required to invoke +`feature_engagement::Tracker::ShouldTriggerHelpUI` if in-product help should be +shown. + +> **WARNING: It is not guaranteed that invoking `ShouldTriggerHelpUI(...)` +> after this would yield the same result.** The state might change +> in-between the calls because time has passed, other events might have been +> triggered, and other state might have changed. + ### Configuring UMA To enable UMA tracking, you need to make the following changes to the metrics
diff --git a/components/feature_engagement/internal/android/java/src/org/chromium/components/feature_engagement/internal/TrackerImpl.java b/components/feature_engagement/internal/android/java/src/org/chromium/components/feature_engagement/internal/TrackerImpl.java index 9823df4..cb38094 100644 --- a/components/feature_engagement/internal/android/java/src/org/chromium/components/feature_engagement/internal/TrackerImpl.java +++ b/components/feature_engagement/internal/android/java/src/org/chromium/components/feature_engagement/internal/TrackerImpl.java
@@ -43,6 +43,12 @@ } @Override + public boolean wouldTriggerHelpUI(String feature) { + assert mNativePtr != 0; + return nativeWouldTriggerHelpUI(mNativePtr, feature); + } + + @Override @TriggerState public int getTriggerState(String feature) { assert mNativePtr != 0; @@ -80,6 +86,7 @@ private native void nativeNotifyEvent(long nativeTrackerImplAndroid, String event); private native boolean nativeShouldTriggerHelpUI(long nativeTrackerImplAndroid, String feature); + private native boolean nativeWouldTriggerHelpUI(long nativeTrackerImplAndroid, String feature); @TriggerState private native int nativeGetTriggerState(long nativeTrackerImplAndroid, String feature); private native void nativeDismissed(long nativeTrackerImplAndroid, String feature);
diff --git a/components/feature_engagement/internal/android/tracker_impl_android.cc b/components/feature_engagement/internal/android/tracker_impl_android.cc index 0dc6aab..d8da12a5 100644 --- a/components/feature_engagement/internal/android/tracker_impl_android.cc +++ b/components/feature_engagement/internal/android/tracker_impl_android.cc
@@ -100,6 +100,16 @@ return tracker_impl_->ShouldTriggerHelpUI(*features_[feature]); } +bool TrackerImplAndroid::WouldTriggerHelpUI( + JNIEnv* env, + const base::android::JavaRef<jobject>& jobj, + const base::android::JavaParamRef<jstring>& jfeature) { + std::string feature = ConvertJavaStringToUTF8(env, jfeature); + DCHECK(features_.find(feature) != features_.end()); + + return tracker_impl_->WouldTriggerHelpUI(*features_[feature]); +} + jint TrackerImplAndroid::GetTriggerState( JNIEnv* env, const base::android::JavaRef<jobject>& jobj,
diff --git a/components/feature_engagement/internal/android/tracker_impl_android.h b/components/feature_engagement/internal/android/tracker_impl_android.h index f429a1f..4fd9746 100644 --- a/components/feature_engagement/internal/android/tracker_impl_android.h +++ b/components/feature_engagement/internal/android/tracker_impl_android.h
@@ -46,6 +46,10 @@ JNIEnv* env, const base::android::JavaRef<jobject>& jobj, const base::android::JavaParamRef<jstring>& jfeature); + virtual bool WouldTriggerHelpUI( + JNIEnv* env, + const base::android::JavaRef<jobject>& jobj, + const base::android::JavaParamRef<jstring>& jfeature); virtual jint GetTriggerState( JNIEnv* env, const base::android::JavaRef<jobject>& jobj,
diff --git a/components/feature_engagement/internal/tracker_impl.cc b/components/feature_engagement/internal/tracker_impl.cc index 44ff3f9..664dd17 100644 --- a/components/feature_engagement/internal/tracker_impl.cc +++ b/components/feature_engagement/internal/tracker_impl.cc
@@ -191,8 +191,20 @@ return result.NoErrors() && !feature_config.tracking_only; } +bool TrackerImpl::WouldTriggerHelpUI(const base::Feature& feature) const { + FeatureConfig feature_config = configuration_->GetFeatureConfig(feature); + ConditionValidator::Result result = condition_validator_->MeetsConditions( + feature, feature_config, *event_model_, *availability_model_, + time_provider_->GetCurrentDay()); + DVLOG(2) << "Would trigger result for " << feature.name + << ": trigger=" << result.NoErrors() + << " tracking_only=" << feature_config.tracking_only << " " + << result; + return result.NoErrors() && !feature_config.tracking_only; +} + Tracker::TriggerState TrackerImpl::GetTriggerState( - const base::Feature& feature) { + const base::Feature& feature) const { if (!IsInitialized()) { DVLOG(2) << "TriggerState for " << feature.name << ": " << static_cast<int>(Tracker::TriggerState::NOT_READY); @@ -220,7 +232,7 @@ stats::RecordUserDismiss(); } -bool TrackerImpl::IsInitialized() { +bool TrackerImpl::IsInitialized() const { return event_model_->IsReady() && availability_model_->IsReady(); }
diff --git a/components/feature_engagement/internal/tracker_impl.h b/components/feature_engagement/internal/tracker_impl.h index c9d37023..6b85a43 100644 --- a/components/feature_engagement/internal/tracker_impl.h +++ b/components/feature_engagement/internal/tracker_impl.h
@@ -5,6 +5,7 @@ #ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_TRACKER_IMPL_H_ #define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_TRACKER_IMPL_H_ +#include <memory> #include <string> #include <vector> @@ -34,9 +35,11 @@ // Tracker implementation. void NotifyEvent(const std::string& event) override; bool ShouldTriggerHelpUI(const base::Feature& feature) override; - Tracker::TriggerState GetTriggerState(const base::Feature& feature) override; + bool WouldTriggerHelpUI(const base::Feature& feature) const override; + Tracker::TriggerState GetTriggerState( + const base::Feature& feature) const override; void Dismissed(const base::Feature& feature) override; - bool IsInitialized() override; + bool IsInitialized() const override; void AddOnInitializedCallback(OnInitializedCallback callback) override; private:
diff --git a/components/feature_engagement/internal/tracker_impl_unittest.cc b/components/feature_engagement/internal/tracker_impl_unittest.cc index 8544ebdb..8d3fc84 100644 --- a/components/feature_engagement/internal/tracker_impl_unittest.cc +++ b/components/feature_engagement/internal/tracker_impl_unittest.cc
@@ -273,9 +273,11 @@ expected_bar_success_tracking_only_count + expected_baz_success_tracking_only_count + expected_qux_success_tracking_only_count; - VerifyHistogramsForFeature( - "InProductHelp.ShouldTriggerHelpUI", true, expected_total_successes, - expected_total_failures, expected_total_success_tracking_onlys); + bool should_check = check_foo || check_bar || check_baz || check_qux; + VerifyHistogramsForFeature("InProductHelp.ShouldTriggerHelpUI", + should_check, expected_total_successes, + expected_total_failures, + expected_total_success_tracking_onlys); } void VerifyUserActionsTriggerChecks( @@ -684,6 +686,62 @@ 0); } +TEST_F(TrackerImplTest, TestWouldTriggerInspection) { + // Ensure all initialization is finished. + StoringInitializedCallback callback; + tracker_->AddOnInitializedCallback(base::Bind( + &StoringInitializedCallback::OnInitialized, base::Unretained(&callback))); + base::RunLoop().RunUntilIdle(); + base::UserActionTester user_action_tester; + + // Initially, both foo and bar would have been shown. + EXPECT_TRUE(tracker_->WouldTriggerHelpUI(kTestFeatureFoo)); + EXPECT_TRUE(tracker_->WouldTriggerHelpUI(kTestFeatureBar)); + EXPECT_FALSE(tracker_->WouldTriggerHelpUI(kTestFeatureQux)); + VerifyEventTriggerEvents(kTestFeatureFoo, 0u); + VerifyEventTriggerEvents(kTestFeatureBar, 0u); + VerifyEventTriggerEvents(kTestFeatureQux, 0u); + VerifyUserActionsTriggerChecks(user_action_tester, 0, 0, 0, 0); + VerifyUserActionsTriggered(user_action_tester, 0, 0, 0, 0); + VerifyUserActionsNotTriggered(user_action_tester, 0, 0, 0, 0); + VerifyUserActionsWouldHaveTriggered(user_action_tester, 0, 0, 0, 0); + VerifyUserActionsDismissed(user_action_tester, 0); + VerifyHistograms(false, 0, 0, 0, false, 0, 0, 0, false, 0, 0, 0, false, 0, 0, + 0); + + // While foo shows, nothing else would have been shown. + EXPECT_TRUE(tracker_->ShouldTriggerHelpUI(kTestFeatureFoo)); + EXPECT_FALSE(tracker_->WouldTriggerHelpUI(kTestFeatureFoo)); + EXPECT_FALSE(tracker_->WouldTriggerHelpUI(kTestFeatureBar)); + EXPECT_FALSE(tracker_->WouldTriggerHelpUI(kTestFeatureQux)); + VerifyEventTriggerEvents(kTestFeatureFoo, 1); + VerifyUserActionsTriggerChecks(user_action_tester, 1, 0, 0, 0); + VerifyUserActionsTriggered(user_action_tester, 1, 0, 0, 0); + VerifyUserActionsNotTriggered(user_action_tester, 0, 0, 0, 0); + VerifyUserActionsWouldHaveTriggered(user_action_tester, 0, 0, 0, 0); + VerifyUserActionsDismissed(user_action_tester, 0); + VerifyHistograms(true, 1, 0, 0, false, 0, 0, 0, false, 0, 0, 0, false, 0, 0, + 0); + + // After foo has been dismissed, it would not have triggered again, but bar + // would have. + tracker_->Dismissed(kTestFeatureFoo); + EXPECT_FALSE(tracker_->WouldTriggerHelpUI(kTestFeatureFoo)); + EXPECT_FALSE(tracker_->ShouldTriggerHelpUI(kTestFeatureFoo)); + EXPECT_TRUE(tracker_->WouldTriggerHelpUI(kTestFeatureBar)); + EXPECT_TRUE(tracker_->ShouldTriggerHelpUI(kTestFeatureBar)); + EXPECT_FALSE(tracker_->WouldTriggerHelpUI(kTestFeatureQux)); + VerifyEventTriggerEvents(kTestFeatureFoo, 1); + VerifyEventTriggerEvents(kTestFeatureBar, 1); + VerifyUserActionsTriggerChecks(user_action_tester, 2, 1, 0, 0); + VerifyUserActionsTriggered(user_action_tester, 1, 1, 0, 0); + VerifyUserActionsNotTriggered(user_action_tester, 1, 0, 0, 0); + VerifyUserActionsWouldHaveTriggered(user_action_tester, 0, 0, 0, 0); + VerifyUserActionsDismissed(user_action_tester, 1); + VerifyHistograms(true, 1, 1, 0, true, 1, 0, 0, false, 0, 0, 0, false, 0, 0, + 0); +} + TEST_F(TrackerImplTest, TestTriggerStateInspection) { // Before initialization has finished, NOT_READY should always be returned. EXPECT_EQ(Tracker::TriggerState::NOT_READY,
diff --git a/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/Tracker.java b/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/Tracker.java index 5e7795d3..7cadbc5 100644 --- a/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/Tracker.java +++ b/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/Tracker.java
@@ -23,14 +23,33 @@ /** * This function must be called whenever the triggering condition for a specific feature * happens. Returns true iff the display of the in-product help must happen. - * If {@code true} is returned, the caller *must* call {@link #dismissed()} when display + * If {@code true} is returned, the caller *must* call {@link #dismissed(String)} when display * of feature enlightenment ends. + * * @return whether feature enlightenment should be displayed. */ @CheckResult boolean shouldTriggerHelpUI(String feature); /** + * Invoking this is basically the same as being allowed to invoke {@link + * #shouldTriggerHelpUI(String)} without requiring to show the in-product help. This function + * may be called to inspect if the current state would allow the given {@code feature} to pass + * all its conditions and display the feature enlightenment. + * + * NOTE: It is still required to invoke ShouldTriggerHelpUI(...) if feature enlightenment should + * be shown. + * + * NOTE: It is not guaranteed that invoking {@link #shouldTriggerHelpUI(String)} after this + * would yield the same result. The state might change in-between the calls because time has + * passed, other events might have been triggered, and other state might have changed. + * + * @return whether feature enlightenment would be displayed if {@link + * #shouldTriggerHelpUI(String)} had been invoked instead. + */ + boolean wouldTriggerHelpUI(String feature); + + /** * This function can be called to query if a particular |feature| meets its particular * precondition for triggering within the bounds of the current feature configuration. * Calling this method requires the {@link Tracker} to already have been initialized.
diff --git a/components/feature_engagement/public/tracker.h b/components/feature_engagement/public/tracker.h index 22040a5..7819417 100644 --- a/components/feature_engagement/public/tracker.h +++ b/components/feature_engagement/public/tracker.h
@@ -64,11 +64,26 @@ // This function must be called whenever the triggering condition for a // specific feature happens. Returns true iff the display of the in-product // help must happen. - // If |true| is returned, the caller *must* call Dismissed() when display + // If |true| is returned, the caller *must* call Dismissed(...) when display // of feature enlightenment ends. virtual bool ShouldTriggerHelpUI(const base::Feature& feature) WARN_UNUSED_RESULT = 0; + // Invoking this is basically the same as being allowed to invoke + // ShouldTriggerHelpUI(...) without requiring to show the in-product help. + // This function may be called to inspect if the current state would allow the + // given |feature| to pass all its conditions and display the feature + // enlightenment. + // + // NOTE: It is still required to invoke ShouldTriggerHelpUI(...) if feature + // enlightenment should be shown. + // + // NOTE: It is not guaranteed that invoking ShouldTriggerHelpUI(...) + // after this would yield the same result. The state might change + // in-between the calls because time has passed, other events might have been + // triggered, and other state might have changed. + virtual bool WouldTriggerHelpUI(const base::Feature& feature) const = 0; + // This function can be called to query if a particular |feature| meets its // particular precondition for triggering within the bounds of the current // feature configuration. @@ -78,7 +93,7 @@ // This function can typically be used to ensure that expensive operations // for tracking other state related to in-product help do not happen if // in-product help has already been displayed for the given |feature|. - virtual TriggerState GetTriggerState(const base::Feature& feature) = 0; + virtual TriggerState GetTriggerState(const base::Feature& feature) const = 0; // Must be called after display of feature enlightenment finishes for a // particular |feature|. @@ -90,7 +105,7 @@ // state will never change from initialized to uninitialized. // Callers can invoke AddOnInitializedCallback(...) to be notified when the // result of the initialization is ready. - virtual bool IsInitialized() = 0; + virtual bool IsInitialized() const = 0; // For features that trigger on startup, they can register a callback to // ensure that they are informed when the tracker has finished the
diff --git a/components/feature_engagement/test/BUILD.gn b/components/feature_engagement/test/BUILD.gn index 1c9986b..c9ce1d6 100644 --- a/components/feature_engagement/test/BUILD.gn +++ b/components/feature_engagement/test/BUILD.gn
@@ -6,6 +6,8 @@ testonly = true sources = [ + "mock_tracker.cc", + "mock_tracker.h", "test_tracker.cc", "test_tracker.h", ] @@ -14,5 +16,6 @@ "//base", "//components/feature_engagement/internal", "//components/feature_engagement/public", + "//testing/gmock", ] }
diff --git a/components/feature_engagement/test/mock_tracker.cc b/components/feature_engagement/test/mock_tracker.cc new file mode 100644 index 0000000..46840d1d --- /dev/null +++ b/components/feature_engagement/test/mock_tracker.cc
@@ -0,0 +1,14 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/feature_engagement/test/mock_tracker.h" + +namespace feature_engagement { +namespace test { + +MockTracker::MockTracker() = default; +MockTracker::~MockTracker() = default; + +} // namespace test +} // namespace feature_engagement
diff --git a/components/feature_engagement/test/mock_tracker.h b/components/feature_engagement/test/mock_tracker.h new file mode 100644 index 0000000..a368241c --- /dev/null +++ b/components/feature_engagement/test/mock_tracker.h
@@ -0,0 +1,37 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_FEATURE_ENGAGEMENT_TEST_MOCK_TRACKER_H_ +#define COMPONENTS_FEATURE_ENGAGEMENT_TEST_MOCK_TRACKER_H_ + +#include "base/macros.h" +#include "components/feature_engagement/public/tracker.h" +#include "testing/gmock/include/gmock/gmock.h" + +namespace feature_engagement { +namespace test { + +class MockTracker : public Tracker { + public: + MockTracker(); + ~MockTracker() override; + + // Tracker implememtation. + MOCK_METHOD1(NotifyEvent, void(const std::string& event)); + MOCK_METHOD1(ShouldTriggerHelpUI, bool(const base::Feature& feature)); + MOCK_CONST_METHOD1(WouldTriggerHelpUI, bool(const base::Feature& feature)); + MOCK_CONST_METHOD1(GetTriggerState, + Tracker::TriggerState(const base::Feature& feature)); + MOCK_METHOD1(Dismissed, void(const base::Feature& feature)); + MOCK_CONST_METHOD0(IsInitialized, bool()); + MOCK_METHOD1(AddOnInitializedCallback, void(OnInitializedCallback callback)); + + private: + DISALLOW_COPY_AND_ASSIGN(MockTracker); +}; + +} // namespace test +} // namespace feature_engagement + +#endif // COMPONENTS_FEATURE_ENGAGEMENT_TEST_MOCK_TRACKER_H_
diff --git a/components/infobars/core/infobar_delegate.h b/components/infobars/core/infobar_delegate.h index c1d3a81a..823dd3c 100644 --- a/components/infobars/core/infobar_delegate.h +++ b/components/infobars/core/infobar_delegate.h
@@ -146,6 +146,7 @@ VR_FEEDBACK_INFOBAR_ANDROID = 76, FRAMEBUST_BLOCK_INFOBAR_ANDROID = 77, SURVEY_INFOBAR_ANDROID = 78, + NEAR_OOM_INFOBAR_ANDROID = 79, }; // Describes navigation events, used to decide whether infobars should be
diff --git a/components/metrics/file_metrics_provider.cc b/components/metrics/file_metrics_provider.cc index a0f5cef7..b647bc3 100644 --- a/components/metrics/file_metrics_provider.cc +++ b/components/metrics/file_metrics_provider.cc
@@ -342,7 +342,8 @@ } // Record the result. Success will be recorded by the caller. - RecordAccessResult(result); + if (result != ACCESS_RESULT_THIS_PID) + RecordAccessResult(result); found_files.erase(found_files.begin()); } @@ -387,7 +388,8 @@ // Some results are not reported in order to keep the dashboard clean. if (result != ACCESS_RESULT_DOESNT_EXIST && - result != ACCESS_RESULT_NOT_MODIFIED) { + result != ACCESS_RESULT_NOT_MODIFIED && + result != ACCESS_RESULT_THIS_PID) { RecordAccessResult(result); } @@ -540,16 +542,24 @@ // Alternatively, pass a Params object to the filter like what was originally // used to configure the source. // Params params(path, source->type, source->association, source->prefs_key); - switch (source->filter.Run(path)) { + FilterAction action = source->filter.Run(path); + switch (action) { case FILTER_PROCESS_FILE: // Process the file. return ACCESS_RESULT_SUCCESS; + case FILTER_ACTIVE_THIS_PID: + // Even the file for the current process has to be touched or its stamp + // will be less than "last processed" and thus skipped on future runs, + // even those done by new instances of the browser if a pref key is + // provided so that the last-uploaded stamp is recorded. case FILTER_TRY_LATER: { // Touch the file with the current timestamp making it (presumably) the // newest file in the directory. base::Time now = base::Time::Now(); base::TouchFile(path, /*accessed=*/now, /*modified=*/now); + if (action == FILTER_ACTIVE_THIS_PID) + return ACCESS_RESULT_THIS_PID; return ACCESS_RESULT_FILTER_TRY_LATER; }
diff --git a/components/metrics/file_metrics_provider.h b/components/metrics/file_metrics_provider.h index 6927829..e25eb03 100644 --- a/components/metrics/file_metrics_provider.h +++ b/components/metrics/file_metrics_provider.h
@@ -103,6 +103,12 @@ // Process this file normally. FILTER_PROCESS_FILE, + // This file is the active metrics file for the current process. Don't + // do anything with it. This is effectively "try later" but isn't + // added to the results histogram because the file has to be ignored + // throughout the life of the browser and that skews the distribution. + FILTER_ACTIVE_THIS_PID, + // Try again. This could happen within milliseconds or minutes but no other // files from the same source will get processed in between. The process // must have permission to "touch" the file and alter its last-modified @@ -213,6 +219,9 @@ // File was skipped because too many bytes in directory. ACCESS_RESULT_TOO_MANY_BYTES, + // The file was skipped because it's being written by this process. + ACCESS_RESULT_THIS_PID, + ACCESS_RESULT_MAX };
diff --git a/components/password_manager/core/browser/password_form_manager.cc b/components/password_manager/core/browser/password_form_manager.cc index d698b5b..8f44c97 100644 --- a/components/password_manager/core/browser/password_form_manager.cc +++ b/components/password_manager/core/browser/password_form_manager.cc
@@ -649,6 +649,12 @@ void PasswordFormManager::ProcessFrame( const base::WeakPtr<PasswordManagerDriver>& driver) { DCHECK_EQ(PasswordForm::SCHEME_HTML, observed_form_.scheme); + + // Don't keep processing the same form. + if (autofills_left_ <= 0) + return; + autofills_left_--; + if (form_fetcher_->GetState() == FormFetcher::State::NOT_WAITING) ProcessFrameInternal(driver);
diff --git a/components/password_manager/core/browser/password_form_manager.h b/components/password_manager/core/browser/password_form_manager.h index 3b9e3f0..1b0ab1b 100644 --- a/components/password_manager/core/browser/password_form_manager.h +++ b/components/password_manager/core/browser/password_form_manager.h
@@ -95,6 +95,10 @@ IGNORE_OTHER_POSSIBLE_USERNAMES }; + // The upper limit on how many times Chrome will try to autofill the same + // form. + static constexpr int kMaxTimesAutofill = 5; + // Chooses between the current and new password value which one to save. This // is whichever is non-empty, with the preference being given to the new one. static base::string16 PasswordToSave(const autofill::PasswordForm& form); @@ -598,6 +602,12 @@ // forms. bool blacklisted_origin_found_ = false; + // If Chrome has already autofilled a few times, it is probable that autofill + // is triggered by programmatic changes in the page. We set a maximum number + // of times that Chrome will autofill to avoid being stuck in an infinite + // loop. + int autofills_left_ = kMaxTimesAutofill; + DISALLOW_COPY_AND_ASSIGN(PasswordFormManager); };
diff --git a/components/password_manager/core/browser/password_form_manager_unittest.cc b/components/password_manager/core/browser/password_form_manager_unittest.cc index 95410aaa..9b84089 100644 --- a/components/password_manager/core/browser/password_form_manager_unittest.cc +++ b/components/password_manager/core/browser/password_form_manager_unittest.cc
@@ -2594,6 +2594,20 @@ form_manager()->ProcessFrame(client()->mock_driver()->AsWeakPtr()); } +// Test that Chrome stops autofilling if triggered too many times. +TEST_F(PasswordFormManagerTest, ProcessFrame_MaxTimes) { + constexpr int kMaxAutofills = PasswordFormManager::kMaxTimesAutofill; + constexpr int kExtraProcessRequests = 3; + // Expect one call for each ProcessFrame() and one for SetNonFederated(). + EXPECT_CALL(*client()->mock_driver(), FillPasswordForm(_)) + .Times(kMaxAutofills + 1); + fake_form_fetcher()->SetNonFederated({saved_match()}, 0u); + // Process more times to exceed the limit. + for (int i = 0; i < kMaxAutofills + kExtraProcessRequests; i++) { + form_manager()->ProcessFrame(client()->mock_driver()->AsWeakPtr()); + } +} + // Test that when ProcessFrame is called on a driver added after receiving // matches, such driver is still told to call FillPasswordForm. TEST_F(PasswordFormManagerTest, ProcessFrame_TwoDrivers) {
diff --git a/components/payments/content/android/java/src/org/chromium/components/payments/PaymentManifestDownloader.java b/components/payments/content/android/java/src/org/chromium/components/payments/PaymentManifestDownloader.java index b37e97200..6d8dbfb 100644 --- a/components/payments/content/android/java/src/org/chromium/components/payments/PaymentManifestDownloader.java +++ b/components/payments/content/android/java/src/org/chromium/components/payments/PaymentManifestDownloader.java
@@ -5,7 +5,6 @@ package org.chromium.components.payments; import org.chromium.base.ThreadUtils; -import org.chromium.base.VisibleForTesting; import org.chromium.base.annotations.CalledByNative; import org.chromium.base.annotations.JNINamespace; import org.chromium.content_public.browser.WebContents; @@ -61,14 +60,6 @@ return mNativeObject != 0; } - /** Allows HTTP URLs. Should be used for testing only. */ - @VisibleForTesting - public void allowHttpForTest() { - ThreadUtils.assertOnUiThread(); - assert mNativeObject != 0; - nativeAllowHttpForTest(mNativeObject); - } - /** * Downloads the payment method manifest file asynchronously. * @@ -107,7 +98,6 @@ } private static native long nativeInit(WebContents webContents); - private native void nativeAllowHttpForTest(long nativePaymentManifestDownloaderAndroid); private native void nativeDownloadPaymentMethodManifest( long nativePaymentManifestDownloaderAndroid, URI methodName, ManifestDownloadCallback callback);
diff --git a/components/payments/content/android/payment_manifest_downloader_android.cc b/components/payments/content/android/payment_manifest_downloader_android.cc index d6503d9..b8fbcb1 100644 --- a/components/payments/content/android/payment_manifest_downloader_android.cc +++ b/components/payments/content/android/payment_manifest_downloader_android.cc
@@ -19,7 +19,8 @@ class DownloadCallback { public: - DownloadCallback(const base::android::JavaParamRef<jobject>& jcallback) + explicit DownloadCallback( + const base::android::JavaParamRef<jobject>& jcallback) : jcallback_(jcallback) {} ~DownloadCallback() {} @@ -92,12 +93,6 @@ delete this; } -void PaymentManifestDownloaderAndroid::AllowHttpForTest( - JNIEnv* env, - const base::android::JavaParamRef<jobject>& jcaller) { - downloader_.AllowHttpForTest(); -} - // Static free function declared and called directly from java. // Caller owns the result. Returns 0 on error. static jlong Init(JNIEnv* env,
diff --git a/components/payments/content/android/payment_manifest_downloader_android.h b/components/payments/content/android/payment_manifest_downloader_android.h index 8143429f..78422863 100644 --- a/components/payments/content/android/payment_manifest_downloader_android.h +++ b/components/payments/content/android/payment_manifest_downloader_android.h
@@ -41,10 +41,6 @@ void Destroy(JNIEnv* env, const base::android::JavaParamRef<jobject>& jcaller); - // Allows HTTP URLs. Should be used for testing only. - void AllowHttpForTest(JNIEnv* env, - const base::android::JavaParamRef<jobject>& jcaller); - private: PaymentManifestDownloader downloader_;
diff --git a/components/payments/content/manifest_verifier.cc b/components/payments/content/manifest_verifier.cc index 80d3ba3..765da17 100644 --- a/components/payments/content/manifest_verifier.cc +++ b/components/payments/content/manifest_verifier.cc
@@ -87,10 +87,13 @@ std::vector<std::string> verified_method_names; for (const auto& method : app.second->enabled_methods) { // For non-URL payment method names, only names published by W3C should be - // supported. + // supported. Keep this in sync with AndroidPaymentAppFinder.java. // https://w3c.github.io/payment-method-basic-card/ // https://w3c.github.io/webpayments/proposals/interledger-payment-method.html - if (method == "basic-card" || method == "interledger") { + // https://w3c.github.io/webpayments-methods-credit-transfer-direct-debit/ + if (method == "basic-card" || method == "interledger" || + method == "payee-credit-transfer" || + method == "payer-credit-transfer") { verified_method_names.emplace_back(method); continue; }
diff --git a/components/payments/content/utility/BUILD.gn b/components/payments/content/utility/BUILD.gn index 8bc168b..84d14aa9 100644 --- a/components/payments/content/utility/BUILD.gn +++ b/components/payments/content/utility/BUILD.gn
@@ -15,6 +15,7 @@ "//base", "//components/payments/content:content_common", "//content/public/common", + "//net", "//services/data_decoder/public/cpp", "//url", ]
diff --git a/components/payments/content/utility/payment_manifest_parser.cc b/components/payments/content/utility/payment_manifest_parser.cc index e362a54..b90bd55 100644 --- a/components/payments/content/utility/payment_manifest_parser.cc +++ b/components/payments/content/utility/payment_manifest_parser.cc
@@ -16,6 +16,7 @@ #include "base/strings/string_number_conversions.h" #include "components/payments/content/utility/fingerprint_parser.h" #include "content/public/common/service_manager_connection.h" +#include "net/base/url_util.h" #include "services/data_decoder/public/cpp/safe_json_parser.h" #include "url/url_constants.h" @@ -25,18 +26,9 @@ const size_t kMaximumNumberOfItems = 100U; const char* const kDefaultApplications = "default_applications"; -const char* const kSupportedOrigins = "supported_origins"; +const char* const kHttpPrefix = "http://"; const char* const kHttpsPrefix = "https://"; - -void RunPaymentMethodCallbackForError( - PaymentManifestParser::PaymentMethodCallback callback) { - std::move(callback).Run(std::vector<GURL>(), std::vector<url::Origin>(), - /*all_origins_supported=*/false); -} - -void RunWebAppCallbackForError(PaymentManifestParser::WebAppCallback callback) { - std::move(callback).Run(std::vector<WebAppManifestSection>()); -} +const char* const kSupportedOrigins = "supported_origins"; // Parses the "default_applications": ["https://some/url"] from |dict| into // |web_app_manifest_urls|. Returns 'false' for invalid data. @@ -62,18 +54,22 @@ std::string item; if (!list->GetString(i, &item) || item.empty() || !base::IsStringUTF8(item) || - !base::StartsWith(item, kHttpsPrefix, base::CompareCase::SENSITIVE)) { + !(base::StartsWith(item, kHttpsPrefix, base::CompareCase::SENSITIVE) || + base::StartsWith(item, kHttpPrefix, base::CompareCase::SENSITIVE))) { LOG(ERROR) << "Each entry in \"" << kDefaultApplications << "\" must be UTF8 string that starts with \"" << kHttpsPrefix - << "\"."; + << "\" or \"" << kHttpPrefix << "\" (for localhost)."; web_app_manifest_urls->clear(); return false; } GURL url(item); - if (!url.is_valid() || !url.SchemeIs(url::kHttpsScheme)) { + if (!url.is_valid() || !(url.SchemeIs(url::kHttpsScheme) || + (url.SchemeIs(url::kHttpScheme) && + net::IsLocalhost(url.HostNoBracketsPiece())))) { LOG(ERROR) << "\"" << item << "\" entry in \"" << kDefaultApplications - << "\" is not a valid URL with HTTPS scheme."; + << "\" is not a valid URL with HTTPS scheme and is not a " + "valid localhost URL with HTTP scheme."; web_app_manifest_urls->clear(); return false; } @@ -130,20 +126,25 @@ std::string item; if (!list->GetString(i, &item) || item.empty() || !base::IsStringUTF8(item) || - !base::StartsWith(item, kHttpsPrefix, base::CompareCase::SENSITIVE)) { + !(base::StartsWith(item, kHttpsPrefix, base::CompareCase::SENSITIVE) || + base::StartsWith(item, kHttpPrefix, base::CompareCase::SENSITIVE))) { LOG(ERROR) << "Each entry in \"" << kSupportedOrigins << "\" must be UTF8 string that starts with \"" << kHttpsPrefix - << "\"."; + << "\" or \"" << kHttpPrefix << "\" (for localhost)."; supported_origins->clear(); return false; } GURL url(item); - if (!url.is_valid() || !url.SchemeIs(url::kHttpsScheme) || + if (!url.is_valid() || + !(url.SchemeIs(url::kHttpsScheme) || + (url.SchemeIs(url::kHttpScheme) && + net::IsLocalhost(url.HostNoBracketsPiece()))) || url.path() != "/" || url.has_query() || url.has_ref() || url.has_username() || url.has_password()) { LOG(ERROR) << "\"" << item << "\" entry in \"" << kSupportedOrigins - << "\" is not a valid origin with HTTPS scheme."; + << "\" is not a valid origin with HTTPS scheme and is not a " + "valid localhost origin with HTTP scheme."; supported_origins->clear(); return false; } @@ -233,82 +234,6 @@ parser_callback)); } -void PaymentManifestParser::OnPaymentMethodParse( - PaymentMethodCallback callback, - std::unique_ptr<base::Value> value) { - parse_payment_callback_counter_--; - - std::vector<GURL> web_app_manifest_urls; - std::vector<url::Origin> supported_origins; - bool all_origins_supported = false; - ParsePaymentMethodManifestIntoVectors( - std::move(value), &web_app_manifest_urls, &supported_origins, - &all_origins_supported); - - const size_t kMaximumNumberOfSupportedOrigins = 100000; - if (web_app_manifest_urls.size() > kMaximumNumberOfItems || - supported_origins.size() > kMaximumNumberOfSupportedOrigins) { - // If more than 100 web app manifests URLs or more than 100,000 supported - // origins, then something went wrong. - RunPaymentMethodCallbackForError(std::move(callback)); - return; - } - - for (const auto& url : web_app_manifest_urls) { - if (!url.is_valid() || !url.SchemeIs(url::kHttpsScheme)) { - // If not a valid URL with HTTPS scheme, then something went wrong. - RunPaymentMethodCallbackForError(std::move(callback)); - return; - } - } - - if (all_origins_supported && !supported_origins.empty()) { - // The format of the payment method manifest does not allow for both of - // these conditions to be true. - RunPaymentMethodCallbackForError(std::move(callback)); - return; - } - - for (const auto& origin : supported_origins) { - if (!origin.GetURL().is_valid() || origin.scheme() != url::kHttpsScheme) { - // If not a valid origin with HTTPS scheme, then something went wrong. - RunPaymentMethodCallbackForError(std::move(callback)); - return; - } - } - - // Can trigger synchronous deletion of this object, so can't access any of the - // member variables after this block. - std::move(callback).Run(web_app_manifest_urls, supported_origins, - all_origins_supported); -} - -void PaymentManifestParser::OnWebAppParse(WebAppCallback callback, - std::unique_ptr<base::Value> value) { - parse_webapp_callback_counter_--; - - std::vector<WebAppManifestSection> manifest; - ParseWebAppManifestIntoVector(std::move(value), &manifest); - - if (manifest.size() > kMaximumNumberOfItems) { - // If more than 100 items, then something went wrong. - RunWebAppCallbackForError(std::move(callback)); - return; - } - - for (size_t i = 0; i < manifest.size(); ++i) { - if (manifest[i].fingerprints.size() > kMaximumNumberOfItems) { - // If more than 100 items, then something went wrong. - RunWebAppCallbackForError(std::move(callback)); - return; - } - } - - // Can trigger synchronous deletion of this object, so can't access any of the - // member variables after this block. - std::move(callback).Run(manifest); -} - // static void PaymentManifestParser::ParsePaymentMethodManifestIntoVectors( std::unique_ptr<base::Value> value, @@ -459,4 +384,34 @@ return true; } +void PaymentManifestParser::OnPaymentMethodParse( + PaymentMethodCallback callback, + std::unique_ptr<base::Value> value) { + parse_payment_callback_counter_--; + + std::vector<GURL> web_app_manifest_urls; + std::vector<url::Origin> supported_origins; + bool all_origins_supported = false; + ParsePaymentMethodManifestIntoVectors( + std::move(value), &web_app_manifest_urls, &supported_origins, + &all_origins_supported); + + // Can trigger synchronous deletion of this object, so can't access any of the + // member variables after this block. + std::move(callback).Run(web_app_manifest_urls, supported_origins, + all_origins_supported); +} + +void PaymentManifestParser::OnWebAppParse(WebAppCallback callback, + std::unique_ptr<base::Value> value) { + parse_webapp_callback_counter_--; + + std::vector<WebAppManifestSection> manifest; + ParseWebAppManifestIntoVector(std::move(value), &manifest); + + // Can trigger synchronous deletion of this object, so can't access any of the + // member variables after this block. + std::move(callback).Run(manifest); +} + } // namespace payments
diff --git a/components/payments/content/utility/payment_manifest_parser_unittest.cc b/components/payments/content/utility/payment_manifest_parser_unittest.cc index 6278845..dd9daa0 100644 --- a/components/payments/content/utility/payment_manifest_parser_unittest.cc +++ b/components/payments/content/utility/payment_manifest_parser_unittest.cc
@@ -89,6 +89,11 @@ "{\"default_applications\": [\"\"]}"); } +TEST(PaymentManifestParserTest, RelativeURLDefaultApplicationIsMalformed) { + ExpectUnableToParsePaymentMethodManifest( + "{\"default_applications\": [\"manifest.json\"]}"); +} + TEST(PaymentManifestParserTest, DefaultApplicationsShouldNotHaveNulCharacters) { ExpectUnableToParsePaymentMethodManifest( "{\"default_applications\": [\"https://bobpay.com/app\0json\"]}"); @@ -184,6 +189,17 @@ } TEST(PaymentManifestParserTest, + WellFormedPaymentMethodManifestWithHttpLocalhostApps) { + ExpectParsedPaymentMethodManifest( + "{\"default_applications\": [" + "\"http://127.0.0.1:8080/app.json\"," + "\"http://localhost:8081/app.json\"]}", + {GURL("http://127.0.0.1:8080/app.json"), + GURL("http://localhost:8081/app.json")}, + std::vector<url::Origin>(), false); +} + +TEST(PaymentManifestParserTest, WellFormedPaymentMethodManifestWithAppsAndAllSupportedOrigins) { ExpectParsedPaymentMethodManifest( "{\"default_applications\": [\"https://bobpay.com/app.json\", " @@ -227,6 +243,17 @@ } TEST(PaymentManifestParserTest, + WellFormedPaymentMethodManifestWithHttpLocalhostSupportedOrigins) { + ExpectParsedPaymentMethodManifest( + "{\"supported_origins\": [\"http://localhost:8080\", " + "\"http://127.0.0.1:8081\"]}", + std::vector<GURL>(), + {url::Origin::Create(GURL("http://localhost:8080")), + url::Origin::Create(GURL("http://127.0.0.1:8081"))}, + false); +} + +TEST(PaymentManifestParserTest, WellFormedPaymentMethodManifestWithSomeSupportedOrigins) { ExpectParsedPaymentMethodManifest( "{\"supported_origins\": [\"https://charliepay.com\", "
diff --git a/components/payments/core/payment_manifest_downloader.cc b/components/payments/core/payment_manifest_downloader.cc index 3f4eee4..6d08745f 100644 --- a/components/payments/core/payment_manifest_downloader.cc +++ b/components/payments/core/payment_manifest_downloader.cc
@@ -15,6 +15,7 @@ #include "components/data_use_measurement/core/data_use_user_data.h" #include "components/link_header_util/link_header_util.h" #include "net/base/load_flags.h" +#include "net/base/url_util.h" #include "net/http/http_response_headers.h" #include "net/http/http_status_code.h" #include "net/http/http_util.h" @@ -91,7 +92,7 @@ PaymentManifestDownloader::PaymentManifestDownloader( const scoped_refptr<net::URLRequestContextGetter>& context) - : context_(context), allow_http_for_test_(false) {} + : context_(context) {} PaymentManifestDownloader::~PaymentManifestDownloader() {} @@ -109,10 +110,6 @@ InitiateDownload(url, net::URLFetcher::GET, std::move(callback)); } -void PaymentManifestDownloader::AllowHttpForTest() { - allow_http_for_test_ = true; -} - PaymentManifestDownloader::Download::Download() {} PaymentManifestDownloader::Download::~Download() {} @@ -187,10 +184,9 @@ } bool PaymentManifestDownloader::IsValidManifestUrl(const GURL& url) { - return url.is_valid() && - (url.SchemeIs(url::kHttpsScheme) || - (allow_http_for_test_ && url.SchemeIs(url::kHttpScheme) && - url.host() == "127.0.0.1")); + return url.is_valid() && (url.SchemeIs(url::kHttpsScheme) || + (url.SchemeIs(url::kHttpScheme) && + net::IsLocalhost(url.HostNoBracketsPiece()))); } } // namespace payments
diff --git a/components/payments/core/payment_manifest_downloader.h b/components/payments/core/payment_manifest_downloader.h index 6dc354c..a6a4d24 100644 --- a/components/payments/core/payment_manifest_downloader.h +++ b/components/payments/core/payment_manifest_downloader.h
@@ -29,7 +29,7 @@ // - HTTP response code is not 200. (204 is also allowed for HEAD request.) // - HTTP GET on the manifest URL returns empty content. // -// In the case of a payment method manifest download, can also be called when: +// In the case of a payment method manifest download, can also fail when: // - HTTP response headers are absent. // - HTTP response headers do not contain Link headers. // - Link header does not contain rel="payment-method-manifest". @@ -104,9 +104,6 @@ void DownloadWebAppManifest(const GURL& url, PaymentManifestDownloadCallback callback); - // Allows HTTP URLs. Should be used only for testing. - void AllowHttpForTest(); - private: // Information about an ongoing download request. struct Download { @@ -127,7 +124,6 @@ bool IsValidManifestUrl(const GURL& url); scoped_refptr<net::URLRequestContextGetter> context_; - bool allow_http_for_test_; // Downloads are identified by net::URLFetcher pointers, because that's the // only unique piece of information that OnURLFetchComplete() receives. Can't
diff --git a/content/app/android/content_main.cc b/content/app/android/content_main.cc index bb5c870..c487cb6 100644 --- a/content/app/android/content_main.cc +++ b/content/app/android/content_main.cc
@@ -33,7 +33,7 @@ DCHECK(!g_service_manager_main_delegate.Get()); g_service_manager_main_delegate.Get() = - base::MakeUnique<ContentServiceManagerMainDelegate>( + std::make_unique<ContentServiceManagerMainDelegate>( ContentMainParams(g_content_main_delegate.Get().get())); service_manager::MainParams main_params(
diff --git a/content/browser/accessibility/accessibility_tree_formatter_auralinux.cc b/content/browser/accessibility/accessibility_tree_formatter_auralinux.cc index 09bf15b..3a15523 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_auralinux.cc +++ b/content/browser/accessibility/accessibility_tree_formatter_auralinux.cc
@@ -67,7 +67,7 @@ dict->SetString("description", std::string(description)); AtkStateSet* state_set = atk_object_ref_state_set(atk_object); - auto states = base::MakeUnique<base::ListValue>(); + auto states = std::make_unique<base::ListValue>(); for (int i = ATK_STATE_INVALID; i < ATK_STATE_LAST_DEFINED; i++) { AtkStateType state_type = static_cast<AtkStateType>(i); if (atk_state_set_contains_state(state_set, state_type))
diff --git a/content/browser/accessibility/accessibility_tree_formatter_blink.cc b/content/browser/accessibility/accessibility_tree_formatter_blink.cc index 8cd91f6..f1feb4a8 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_blink.cc +++ b/content/browser/accessibility/accessibility_tree_formatter_blink.cc
@@ -203,7 +203,7 @@ if (node.HasIntListAttribute(attr)) { std::vector<int32_t> values; node.GetIntListAttribute(attr, &values); - auto value_list = base::MakeUnique<base::ListValue>(); + auto value_list = std::make_unique<base::ListValue>(); for (size_t i = 0; i < values.size(); ++i) { if (ui::IsNodeIdIntListAttribute(attr)) { BrowserAccessibility* target = node.manager()->GetFromID(values[i]);
diff --git a/content/browser/accessibility/accessibility_tree_formatter_browser.cc b/content/browser/accessibility/accessibility_tree_formatter_browser.cc index a5577dc..f62e4d4 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_browser.cc +++ b/content/browser/accessibility/accessibility_tree_formatter_browser.cc
@@ -36,7 +36,7 @@ base::DictionaryValue* dict) { AddProperties(node, dict); - auto children = base::MakeUnique<base::ListValue>(); + auto children = std::make_unique<base::ListValue>(); for (size_t i = 0; i < ChildCount(node); ++i) { BrowserAccessibility* child_node = GetChild(node, i);
diff --git a/content/browser/accessibility/accessibility_tree_formatter_win.cc b/content/browser/accessibility/accessibility_tree_formatter_win.cc index 481545b..a6bfd679 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_win.cc +++ b/content/browser/accessibility/accessibility_tree_formatter_win.cc
@@ -274,7 +274,7 @@ LONG root_y) { AddProperties(node, dict, root_x, root_y); - auto children = base::MakeUnique<base::ListValue>(); + auto children = std::make_unique<base::ListValue>(); LONG child_count; if (S_OK != node->get_accChildCount(&child_count)) @@ -460,12 +460,12 @@ LONG x, y, width, height; if (SUCCEEDED(node->accLocation(&x, &y, &width, &height, variant_self))) { - auto location = base::MakeUnique<base::DictionaryValue>(); + auto location = std::make_unique<base::DictionaryValue>(); location->SetInteger("x", x - root_x); location->SetInteger("y", y - root_y); dict->Set("location", std::move(location)); - auto size = base::MakeUnique<base::DictionaryValue>(); + auto size = std::make_unique<base::DictionaryValue>(); size->SetInteger("width", width); size->SetInteger("height", height); dict->Set("size", std::move(size));
diff --git a/content/browser/android/content_view_core.cc b/content/browser/android/content_view_core.cc index 575acdf..66baf48 100644 --- a/content/browser/android/content_view_core.cc +++ b/content/browser/android/content_view_core.cc
@@ -269,7 +269,7 @@ ->SetContentViewCore(this); DCHECK(!web_contents_->GetUserData(kContentViewUserDataKey)); web_contents_->SetUserData(kContentViewUserDataKey, - base::MakeUnique<ContentViewUserData>(this)); + std::make_unique<ContentViewUserData>(this)); } void ContentViewCore::RenderViewReady() {
diff --git a/content/browser/android/java/gin_java_bridge_dispatcher_host.cc b/content/browser/android/java/gin_java_bridge_dispatcher_host.cc index fd3edd3e..466dc018 100644 --- a/content/browser/android/java/gin_java_bridge_dispatcher_host.cc +++ b/content/browser/android/java/gin_java_bridge_dispatcher_host.cc
@@ -325,13 +325,13 @@ DCHECK(routing_id != MSG_ROUTING_NONE); scoped_refptr<GinJavaBoundObject> object = FindObject(object_id); if (!object.get()) { - wrapped_result->Append(base::MakeUnique<base::Value>()); + wrapped_result->Append(std::make_unique<base::Value>()); *error_code = kGinJavaBridgeUnknownObjectId; return; } scoped_refptr<GinJavaMethodInvocationHelper> result = new GinJavaMethodInvocationHelper( - base::MakeUnique<GinJavaBoundObjectDelegate>(object), method_name, + std::make_unique<GinJavaBoundObjectDelegate>(object), method_name, arguments); result->Init(this); result->Invoke(); @@ -354,7 +354,7 @@ wrapped_result->Append( GinJavaBridgeValue::CreateObjectIDValue(returned_object_id)); } else { - wrapped_result->Append(base::MakeUnique<base::Value>()); + wrapped_result->Append(std::make_unique<base::Value>()); } }
diff --git a/content/browser/android/java/gin_java_bridge_message_filter.cc b/content/browser/android/java/gin_java_bridge_message_filter.cc index 9838877bc..84eb032 100644 --- a/content/browser/android/java/gin_java_bridge_message_filter.cc +++ b/content/browser/android/java/gin_java_bridge_message_filter.cc
@@ -96,7 +96,7 @@ rph->AddFilter(filter.get()); rph->SetUserData( kGinJavaBridgeMessageFilterKey, - base::MakeUnique<base::UserDataAdapter<GinJavaBridgeMessageFilter>>( + std::make_unique<base::UserDataAdapter<GinJavaBridgeMessageFilter>>( filter.get())); } return filter; @@ -157,7 +157,7 @@ host->OnInvokeMethod(current_routing_id_, object_id, method_name, arguments, wrapped_result, error_code); } else { - wrapped_result->Append(base::MakeUnique<base::Value>()); + wrapped_result->Append(std::make_unique<base::Value>()); *error_code = kGinJavaBridgeRenderFrameDeleted; } }
diff --git a/content/browser/android/java/gin_java_method_invocation_helper.cc b/content/browser/android/java/gin_java_method_invocation_helper.cc index 6c5edab7..4c2e33d 100644 --- a/content/browser/android/java/gin_java_method_invocation_helper.cc +++ b/content/browser/android/java/gin_java_method_invocation_helper.cc
@@ -321,7 +321,7 @@ } ScopedJavaLocalRef<jobject> scoped_java_object(env, java_object); if (!scoped_java_object.obj()) { - result_wrapper.Append(base::MakeUnique<base::Value>()); + result_wrapper.Append(std::make_unique<base::Value>()); break; } SetObjectResult(scoped_java_object, object_->GetSafeAnnotationClass());
diff --git a/content/browser/android/java/gin_java_method_invocation_helper_unittest.cc b/content/browser/android/java/gin_java_method_invocation_helper_unittest.cc index dfc96ff7..d6689dc 100644 --- a/content/browser/android/java/gin_java_method_invocation_helper_unittest.cc +++ b/content/browser/android/java/gin_java_method_invocation_helper_unittest.cc
@@ -129,21 +129,21 @@ base::ListValue objects; objects.AppendInteger(100); objects.Append(GinJavaBridgeValue::CreateObjectIDValue(1)); - auto sub_list = base::MakeUnique<base::ListValue>(); + auto sub_list = std::make_unique<base::ListValue>(); sub_list->AppendInteger(200); sub_list->Append(GinJavaBridgeValue::CreateObjectIDValue(2)); objects.Append(std::move(sub_list)); - auto sub_dict = base::MakeUnique<base::DictionaryValue>(); + auto sub_dict = std::make_unique<base::DictionaryValue>(); sub_dict->SetInteger("1", 300); sub_dict->Set("2", GinJavaBridgeValue::CreateObjectIDValue(3)); objects.Append(std::move(sub_dict)); - auto sub_list_with_dict = base::MakeUnique<base::ListValue>(); - auto sub_sub_dict = base::MakeUnique<base::DictionaryValue>(); + auto sub_list_with_dict = std::make_unique<base::ListValue>(); + auto sub_sub_dict = std::make_unique<base::DictionaryValue>(); sub_sub_dict->Set("1", GinJavaBridgeValue::CreateObjectIDValue(4)); sub_list_with_dict->Append(std::move(sub_sub_dict)); objects.Append(std::move(sub_list_with_dict)); - auto sub_dict_with_list = base::MakeUnique<base::DictionaryValue>(); - auto sub_sub_list = base::MakeUnique<base::ListValue>(); + auto sub_dict_with_list = std::make_unique<base::DictionaryValue>(); + auto sub_sub_list = std::make_unique<base::ListValue>(); sub_sub_list->Append(GinJavaBridgeValue::CreateObjectIDValue(5)); sub_dict_with_list->Set("1", std::move(sub_sub_list)); objects.Append(std::move(sub_dict_with_list));
diff --git a/content/browser/android/java/gin_java_script_to_java_types_coercion.cc b/content/browser/android/java/gin_java_script_to_java_types_coercion.cc index a7fdc62..59a76742d 100644 --- a/content/browser/android/java/gin_java_script_to_java_types_coercion.cc +++ b/content/browser/android/java/gin_java_script_to_java_types_coercion.cc
@@ -466,7 +466,7 @@ if (!result) { return NULL; } - auto null_value = base::MakeUnique<base::Value>(); + auto null_value = std::make_unique<base::Value>(); for (jsize i = 0; i < length; ++i) { const base::Value* value_element = null_value.get(); list_value->Get(i, &value_element); @@ -538,7 +538,7 @@ if (!result) { return NULL; } - auto null_value = base::MakeUnique<base::Value>(); + auto null_value = std::make_unique<base::Value>(); for (jsize i = 0; i < length; ++i) { const std::string key(base::IntToString(i)); const base::Value* value_element = null_value.get();
diff --git a/content/browser/android/overscroll_controller_android.cc b/content/browser/android/overscroll_controller_android.cc index 939d5e2..41f3cf0 100644 --- a/content/browser/android/overscroll_controller_android.cc +++ b/content/browser/android/overscroll_controller_android.cc
@@ -81,7 +81,7 @@ return nullptr; } - return base::MakeUnique<OverscrollGlow>(client); + return std::make_unique<OverscrollGlow>(client); } std::unique_ptr<OverscrollRefresh> CreateRefreshEffect( @@ -91,7 +91,7 @@ return nullptr; } - return base::MakeUnique<OverscrollRefresh>(overscroll_refresh_handler); + return std::make_unique<OverscrollRefresh>(overscroll_refresh_handler); } } // namespace
diff --git a/content/browser/android/overscroll_controller_android_unittest.cc b/content/browser/android/overscroll_controller_android_unittest.cc index 7db0123..0f7262f8 100644 --- a/content/browser/android/overscroll_controller_android_unittest.cc +++ b/content/browser/android/overscroll_controller_android_unittest.cc
@@ -71,9 +71,9 @@ class OverscrollControllerAndroidUnitTest : public testing::Test { public: OverscrollControllerAndroidUnitTest() { - std::unique_ptr<MockGlow> glow_ptr = base::MakeUnique<MockGlow>(); - std::unique_ptr<MockRefresh> refresh_ptr = base::MakeUnique<MockRefresh>(); - compositor_ = base::MakeUnique<MockCompositor>(); + std::unique_ptr<MockGlow> glow_ptr = std::make_unique<MockGlow>(); + std::unique_ptr<MockRefresh> refresh_ptr = std::make_unique<MockRefresh>(); + compositor_ = std::make_unique<MockCompositor>(); glow_ = glow_ptr.get(); refresh_ = refresh_ptr.get(); controller_ = OverscrollControllerAndroid::CreateForTests(
diff --git a/content/browser/android/smart_selection_client.cc b/content/browser/android/smart_selection_client.cc index 95497ef..93937f1 100644 --- a/content/browser/android/smart_selection_client.cc +++ b/content/browser/android/smart_selection_client.cc
@@ -55,7 +55,7 @@ weak_ptr_factory_(this) { DCHECK(!web_contents_->GetUserData(kSmartSelectionClientUDKey)); web_contents_->SetUserData(kSmartSelectionClientUDKey, - base::MakeUnique<UserData>(this)); + std::make_unique<UserData>(this)); } SmartSelectionClient::~SmartSelectionClient() {
diff --git a/content/browser/android/synchronous_compositor_browser_filter.cc b/content/browser/android/synchronous_compositor_browser_filter.cc index 3352a64d..2faac6f 100644 --- a/content/browser/android/synchronous_compositor_browser_filter.cc +++ b/content/browser/android/synchronous_compositor_browser_filter.cc
@@ -84,7 +84,7 @@ future_map_.erase(itr); } - auto frame_ptr = base::MakeUnique<SynchronousCompositor::Frame>(); + auto frame_ptr = std::make_unique<SynchronousCompositor::Frame>(); frame_ptr->layer_tree_frame_sink_id = std::get<0>(param); base::Optional<viz::CompositorFrame>& compositor_frame = std::get<1>(param); if (compositor_frame) {
diff --git a/content/browser/android/synchronous_compositor_host.cc b/content/browser/android/synchronous_compositor_host.cc index e9273677..974571d 100644 --- a/content/browser/android/synchronous_compositor_host.cc +++ b/content/browser/android/synchronous_compositor_host.cc
@@ -89,7 +89,7 @@ scoped_refptr<FrameFuture> frame_future = new FrameFuture(); if (compute_scroll_needs_synchronous_draw_) { compute_scroll_needs_synchronous_draw_ = false; - auto frame_ptr = base::MakeUnique<Frame>(); + auto frame_ptr = std::make_unique<Frame>(); *frame_ptr = DemandDrawHw(viewport_size, viewport_rect_for_tile_priority, transform_for_tile_priority); frame_future->SetFrame(std::move(frame_ptr));
diff --git a/content/browser/android/text_suggestion_host_mojo_impl_android.cc b/content/browser/android/text_suggestion_host_mojo_impl_android.cc index 9105c2a..c16d8c0c 100644 --- a/content/browser/android/text_suggestion_host_mojo_impl_android.cc +++ b/content/browser/android/text_suggestion_host_mojo_impl_android.cc
@@ -18,7 +18,7 @@ TextSuggestionHostAndroid* text_suggestion_host, blink::mojom::TextSuggestionHostRequest request) { mojo::MakeStrongBinding( - base::MakeUnique<TextSuggestionHostMojoImplAndroid>(text_suggestion_host), + std::make_unique<TextSuggestionHostMojoImplAndroid>(text_suggestion_host), std::move(request)); }
diff --git a/content/browser/appcache/appcache_backend_impl.cc b/content/browser/appcache/appcache_backend_impl.cc index 5e135e7..ea6ab791 100644 --- a/content/browser/appcache/appcache_backend_impl.cc +++ b/content/browser/appcache/appcache_backend_impl.cc
@@ -39,7 +39,7 @@ if (GetHost(id)) return false; - hosts_[id] = base::MakeUnique<AppCacheHost>(id, frontend_, service_); + hosts_[id] = std::make_unique<AppCacheHost>(id, frontend_, service_); return true; } @@ -143,7 +143,7 @@ std::unique_ptr<AppCacheHost> transferree = std::move(found->second); // Put a new empty host in its place. - found->second = base::MakeUnique<AppCacheHost>(host_id, frontend_, service_); + found->second = std::make_unique<AppCacheHost>(host_id, frontend_, service_); // We give up ownership. transferree->PrepareForTransfer();
diff --git a/content/browser/appcache/appcache_request_handler_unittest.cc b/content/browser/appcache/appcache_request_handler_unittest.cc index 1afebe84..fb0c365 100644 --- a/content/browser/appcache/appcache_request_handler_unittest.cc +++ b/content/browser/appcache/appcache_request_handler_unittest.cc
@@ -441,7 +441,7 @@ net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.length())); if (request_handler_type_ == URLREQUEST) { - job_factory_->SetJob(base::MakeUnique<MockURLRequestJob>( + job_factory_->SetJob(std::make_unique<MockURLRequestJob>( url_request_.get(), nullptr, info)); request_->AsURLRequest()->GetURLRequest()->Start(); // All our simulation needs to satisfy are the DCHECK's for the request @@ -457,7 +457,7 @@ void SimulateResponseInfo(const net::HttpResponseInfo& info) { if (request_handler_type_ == URLREQUEST) { - job_factory_->SetJob(base::MakeUnique<MockURLRequestJob>( + job_factory_->SetJob(std::make_unique<MockURLRequestJob>( url_request_.get(), nullptr, info)); request_->AsURLRequest()->GetURLRequest()->Start(); } else {
diff --git a/content/browser/appcache/appcache_storage_impl_unittest.cc b/content/browser/appcache/appcache_storage_impl_unittest.cc index ed8d7e0..f16dede 100644 --- a/content/browser/appcache/appcache_storage_impl_unittest.cc +++ b/content/browser/appcache/appcache_storage_impl_unittest.cc
@@ -171,8 +171,8 @@ std::unique_ptr<net::URLRequestJobFactoryImpl> factory( new net::URLRequestJobFactoryImpl()); factory->SetProtocolHandler("http", - base::MakeUnique<MockHttpServerJobFactory>( - base::MakeUnique<AppCacheInterceptor>())); + std::make_unique<MockHttpServerJobFactory>( + std::make_unique<AppCacheInterceptor>())); job_factory_ = std::move(factory); request_context_.reset(new net::TestURLRequestContext()); request_context_->set_job_factory(job_factory_.get());
diff --git a/content/browser/appcache/appcache_update_job_unittest.cc b/content/browser/appcache/appcache_update_job_unittest.cc index 9ad9077..7bd144d7 100644 --- a/content/browser/appcache/appcache_update_job_unittest.cc +++ b/content/browser/appcache/appcache_update_job_unittest.cc
@@ -3418,7 +3418,7 @@ AppCacheHost* MakeHost(int host_id, AppCacheFrontend* frontend) { hosts_.push_back( - base::MakeUnique<AppCacheHost>(host_id, frontend, service_.get())); + std::make_unique<AppCacheHost>(host_id, frontend, service_.get())); return hosts_.back().get(); } @@ -3436,7 +3436,7 @@ } MockFrontend* MakeMockFrontend() { - frontends_.push_back(base::MakeUnique<MockFrontend>()); + frontends_.push_back(std::make_unique<MockFrontend>()); return frontends_.back().get(); }
diff --git a/content/browser/background_fetch/background_fetch_data_manager_unittest.cc b/content/browser/background_fetch/background_fetch_data_manager_unittest.cc index 727da19..e1588ee 100644 --- a/content/browser/background_fetch/background_fetch_data_manager_unittest.cc +++ b/content/browser/background_fetch/background_fetch_data_manager_unittest.cc
@@ -80,7 +80,7 @@ // Re-creates the data manager. Useful for testing that data was persisted. void RestartDataManagerFromPersistentStorage() { background_fetch_data_manager_ = - base::MakeUnique<BackgroundFetchDataManager>( + std::make_unique<BackgroundFetchDataManager>( browser_context(), embedded_worker_test_helper()->context_wrapper()); }
diff --git a/content/browser/background_fetch/background_fetch_service_impl.cc b/content/browser/background_fetch/background_fetch_service_impl.cc index 0618e2a3..22c1161 100644 --- a/content/browser/background_fetch/background_fetch_service_impl.cc +++ b/content/browser/background_fetch/background_fetch_service_impl.cc
@@ -38,7 +38,7 @@ blink::mojom::BackgroundFetchServiceRequest request) { DCHECK_CURRENTLY_ON(BrowserThread::IO); mojo::MakeStrongBinding( - base::MakeUnique<BackgroundFetchServiceImpl>( + std::make_unique<BackgroundFetchServiceImpl>( render_process_id, std::move(background_fetch_context)), std::move(request)); }
diff --git a/content/browser/background_fetch/background_fetch_service_unittest.cc b/content/browser/background_fetch/background_fetch_service_unittest.cc index 09a4f31..2f8bf98 100644 --- a/content/browser/background_fetch/background_fetch_service_unittest.cc +++ b/content/browser/background_fetch/background_fetch_service_unittest.cc
@@ -146,7 +146,7 @@ browser_context(), base::WrapRefCounted(embedded_worker_test_helper()->context_wrapper())); - service_ = base::MakeUnique<BackgroundFetchServiceImpl>( + service_ = std::make_unique<BackgroundFetchServiceImpl>( 0 /* render_process_id */, context_); }
diff --git a/content/browser/background_fetch/mock_background_fetch_delegate.cc b/content/browser/background_fetch/mock_background_fetch_delegate.cc index 79ab09b..1971ff9 100644 --- a/content/browser/background_fetch/mock_background_fetch_delegate.cc +++ b/content/browser/background_fetch/mock_background_fetch_delegate.cc
@@ -20,7 +20,7 @@ MockBackgroundFetchDelegate::TestResponseBuilder::TestResponseBuilder( int response_code) - : response_(base::MakeUnique<TestResponse>()) { + : response_(std::make_unique<TestResponse>()) { response_->succeeded_ = (response_code >= 200 && response_code < 300); response_->headers = base::MakeRefCounted<net::HttpResponseHeaders>( "HTTP/1.1 " + std::to_string(response_code));
diff --git a/content/browser/background_sync/background_sync_manager.cc b/content/browser/background_sync/background_sync_manager.cc index 06bcd97..6b9aa9e 100644 --- a/content/browser/background_sync/background_sync_manager.cc +++ b/content/browser/background_sync/background_sync_manager.cc
@@ -324,7 +324,7 @@ BrowserThread::PostTaskAndReplyWithResult( BrowserThread::UI, FROM_HERE, base::BindOnce(&GetControllerParameters, service_worker_context_, - base::Passed(base::MakeUnique<BackgroundSyncParameters>( + base::Passed(std::make_unique<BackgroundSyncParameters>( *parameters_))), base::BindOnce(&BackgroundSyncManager::InitDidGetControllerParameters, weak_ptr_factory_.GetWeakPtr(), std::move(callback))); @@ -532,7 +532,7 @@ FROM_HERE, base::BindOnce( std::move(callback), BACKGROUND_SYNC_STATUS_OK, - base::Passed(base::MakeUnique<BackgroundSyncRegistration>( + base::Passed(std::make_unique<BackgroundSyncRegistration>( *existing_registration)))); return; } @@ -705,7 +705,7 @@ base::ThreadTaskRunnerHandle::Get()->PostTask( FROM_HERE, base::BindOnce(std::move(callback), BACKGROUND_SYNC_STATUS_OK, - base::Passed(base::MakeUnique<BackgroundSyncRegistration>( + base::Passed(std::make_unique<BackgroundSyncRegistration>( new_registration)))); } @@ -822,7 +822,7 @@ const BackgroundSyncRegistration& registration = tag_and_registration.second; out_registrations.push_back( - base::MakeUnique<BackgroundSyncRegistration>(registration)); + std::make_unique<BackgroundSyncRegistration>(registration)); } }
diff --git a/content/browser/battery_monitor_browsertest.cc b/content/browser/battery_monitor_browsertest.cc index 500a8167..b68bf4b 100644 --- a/content/browser/battery_monitor_browsertest.cc +++ b/content/browser/battery_monitor_browsertest.cc
@@ -74,7 +74,7 @@ BatteryMonitorTest() = default; void SetUpOnMainThread() override { - mock_battery_monitor_ = base::MakeUnique<MockBatteryMonitor>(); + mock_battery_monitor_ = std::make_unique<MockBatteryMonitor>(); // Because Device Service also runs in this process(browser process), here // we can directly set our binder to intercept interface requests against // it.
diff --git a/content/browser/blob_storage/blob_registry_wrapper.cc b/content/browser/blob_storage/blob_registry_wrapper.cc index cdb1a92..9057879 100644 --- a/content/browser/blob_storage/blob_registry_wrapper.cc +++ b/content/browser/blob_storage/blob_registry_wrapper.cc
@@ -62,7 +62,7 @@ blink::mojom::BlobRegistryRequest request) { DCHECK_CURRENTLY_ON(BrowserThread::IO); blob_registry_->Bind(std::move(request), - base::MakeUnique<BindingDelegate>(process_id)); + std::make_unique<BindingDelegate>(process_id)); } BlobRegistryWrapper::~BlobRegistryWrapper() {} @@ -71,7 +71,7 @@ scoped_refptr<ChromeBlobStorageContext> blob_storage_context, scoped_refptr<storage::FileSystemContext> file_system_context) { DCHECK_CURRENTLY_ON(BrowserThread::IO); - blob_registry_ = base::MakeUnique<storage::BlobRegistryImpl>( + blob_registry_ = std::make_unique<storage::BlobRegistryImpl>( blob_storage_context->context(), std::move(file_system_context)); }
diff --git a/content/browser/blob_storage/blob_url_unittest.cc b/content/browser/blob_storage/blob_url_unittest.cc index dbfa815..04a4e70 100644 --- a/content/browser/blob_storage/blob_url_unittest.cc +++ b/content/browser/blob_storage/blob_url_unittest.cc
@@ -181,7 +181,7 @@ disk_cache_backend_.get(), kTestDiskCacheKey1, kTestDiskCacheData1); url_request_job_factory_.SetProtocolHandler( - "blob", base::MakeUnique<MockProtocolHandler>(this)); + "blob", std::make_unique<MockProtocolHandler>(this)); url_request_context_.set_job_factory(&url_request_job_factory_); }
diff --git a/content/browser/blob_storage/chrome_blob_storage_context.cc b/content/browser/blob_storage/chrome_blob_storage_context.cc index d14a615..2795360 100644 --- a/content/browser/blob_storage/chrome_blob_storage_context.cc +++ b/content/browser/blob_storage/chrome_blob_storage_context.cc
@@ -85,7 +85,7 @@ new ChromeBlobStorageContext(); context->SetUserData( kBlobStorageContextKeyName, - base::MakeUnique<UserDataAdapter<ChromeBlobStorageContext>>( + std::make_unique<UserDataAdapter<ChromeBlobStorageContext>>( blob.get())); // Check first to avoid memory leak in unittests.
diff --git a/content/browser/bluetooth/bluetooth_device_chooser_controller.cc b/content/browser/bluetooth/bluetooth_device_chooser_controller.cc index bf06bbd..1f54fa0f 100644 --- a/content/browser/bluetooth/bluetooth_device_chooser_controller.cc +++ b/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
@@ -223,7 +223,7 @@ // devices so performing a Dual scan will find devices that the API is not // able to interact with. To avoid wasting power and confusing users with // devices they are not able to interact with, we only perform an LE Scan. - auto discovery_filter = base::MakeUnique<device::BluetoothDiscoveryFilter>( + auto discovery_filter = std::make_unique<device::BluetoothDiscoveryFilter>( device::BLUETOOTH_TRANSPORT_LE); for (const BluetoothUUID& service : services) { discovery_filter->AddUUID(service);
diff --git a/content/browser/bluetooth/frame_connected_bluetooth_devices.cc b/content/browser/bluetooth/frame_connected_bluetooth_devices.cc index f36b44c..e64676e 100644 --- a/content/browser/bluetooth/frame_connected_bluetooth_devices.cc +++ b/content/browser/bluetooth/frame_connected_bluetooth_devices.cc
@@ -64,7 +64,7 @@ } device_address_to_id_map_[connection->GetDeviceAddress()] = device_id; auto gatt_connection_and_client = - base::MakeUnique<GATTConnectionAndServerClient>(std::move(connection), + std::make_unique<GATTConnectionAndServerClient>(std::move(connection), std::move(client)); device_id_to_connection_map_[device_id] = std::move(gatt_connection_and_client);
diff --git a/content/browser/bluetooth/frame_connected_bluetooth_devices_unittest.cc b/content/browser/bluetooth/frame_connected_bluetooth_devices_unittest.cc index 4c78421..5ac4c8a 100644 --- a/content/browser/bluetooth/frame_connected_bluetooth_devices_unittest.cc +++ b/content/browser/bluetooth/frame_connected_bluetooth_devices_unittest.cc
@@ -101,7 +101,7 @@ std::unique_ptr<NiceMockBluetoothGattConnection> GetConnection( const std::string& address) { - return base::MakeUnique<NiceMockBluetoothGattConnection>(adapter_.get(), + return std::make_unique<NiceMockBluetoothGattConnection>(adapter_.get(), address); }
diff --git a/content/browser/bluetooth/web_bluetooth_service_impl.cc b/content/browser/bluetooth/web_bluetooth_service_impl.cc index 13d802fa..e5c7291d 100644 --- a/content/browser/bluetooth/web_bluetooth_service_impl.cc +++ b/content/browser/bluetooth/web_bluetooth_service_impl.cc
@@ -1029,7 +1029,7 @@ std::move(callback).Run(blink::mojom::WebBluetoothResult::SUCCESS); // Saving the BluetoothGattNotifySession keeps notifications active. auto gatt_notify_session_and_client = - base::MakeUnique<GATTNotifySessionAndCharacteristicClient>( + std::make_unique<GATTNotifySessionAndCharacteristicClient>( std::move(notify_session), std::move(client)); characteristic_id_to_notify_session_[characteristic_instance_id] = std::move(gatt_notify_session_and_client);
diff --git a/content/browser/browser_context.cc b/content/browser/browser_context.cc index fa8b0b7f1..5932fec 100644 --- a/content/browser/browser_context.cc +++ b/content/browser/browser_context.cc
@@ -106,7 +106,7 @@ browser_context->GetUserData(kStoragePartitionMapKeyName)); if (!partition_map) { auto partition_map_owned = - base::MakeUnique<StoragePartitionImplMap>(browser_context); + std::make_unique<StoragePartitionImplMap>(browser_context); partition_map = partition_map_owned.get(); browser_context->SetUserData(kStoragePartitionMapKeyName, std::move(partition_map_owned)); @@ -230,7 +230,7 @@ storage::ExternalMountPoints::CreateRefCounted(); context->SetUserData( kMountPointsKey, - base::MakeUnique<UserDataAdapter<storage::ExternalMountPoints>>( + std::make_unique<UserDataAdapter<storage::ExternalMountPoints>>( mount_points.get())); } @@ -248,7 +248,7 @@ if (!context->GetUserData(kBrowsingDataRemoverKey)) { std::unique_ptr<BrowsingDataRemoverImpl> remover = - base::MakeUnique<BrowsingDataRemoverImpl>(context); + std::make_unique<BrowsingDataRemoverImpl>(context); remover->SetEmbedderDelegate(context->GetBrowsingDataRemoverDelegate()); context->SetUserData(kBrowsingDataRemoverKey, std::move(remover)); } @@ -461,10 +461,10 @@ RemoveBrowserContextFromUserIdMap(browser_context); g_user_id_to_context.Get()[new_id] = browser_context; browser_context->SetUserData(kServiceUserId, - base::MakeUnique<ServiceUserIdHolder>(new_id)); + std::make_unique<ServiceUserIdHolder>(new_id)); browser_context->SetUserData( - kMojoWasInitialized, base::MakeUnique<base::SupportsUserData::Data>()); + kMojoWasInitialized, std::make_unique<base::SupportsUserData::Data>()); ServiceManagerConnection* service_manager_connection = ServiceManagerConnection::GetForProcess();
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc index 5144b68..89ea988 100644 --- a/content/browser/browser_main_loop.cc +++ b/content/browser/browser_main_loop.cc
@@ -408,12 +408,12 @@ base::StringToInt(thresholds[1], &critical_threshold_mb) && moderate_threshold_mb >= critical_threshold_mb && critical_threshold_mb >= 0) { - return base::MakeUnique<base::win::MemoryPressureMonitor>( + return std::make_unique<base::win::MemoryPressureMonitor>( moderate_threshold_mb, critical_threshold_mb); } // In absence of valid switches use the automatic defaults. - return base::MakeUnique<base::win::MemoryPressureMonitor>(); + return std::make_unique<base::win::MemoryPressureMonitor>(); } #endif // defined(OS_WIN) @@ -429,7 +429,7 @@ GetDefaultTaskSchedulerInitParams() { #if defined(OS_ANDROID) // Mobile config, for iOS see ios/web/app/web_main_loop.cc. - return base::MakeUnique<base::TaskScheduler::InitParams>( + return std::make_unique<base::TaskScheduler::InitParams>( base::SchedulerWorkerPoolParams( base::RecommendedMaxNumberOfThreadsInPool(2, 8, 0.1, 0), base::TimeDelta::FromSeconds(30)), @@ -444,7 +444,7 @@ base::TimeDelta::FromSeconds(60))); #else // Desktop config. - return base::MakeUnique<base::TaskScheduler::InitParams>( + return std::make_unique<base::TaskScheduler::InitParams>( base::SchedulerWorkerPoolParams( base::RecommendedMaxNumberOfThreadsInPool(3, 8, 0.1, 0), base::TimeDelta::FromSeconds(30)), @@ -770,7 +770,7 @@ if (parameters_.create_discardable_memory) { discardable_shared_memory_manager_ = - base::MakeUnique<discardable_memory::DiscardableSharedMemoryManager>(); + std::make_unique<discardable_memory::DiscardableSharedMemoryManager>(); // TODO(boliu): kSingleProcess check is a temporary workaround for // in-process Android WebView. crbug.com/503724 tracks proper fix. if (!parsed_command_line_.HasSwitch(switches::kSingleProcess)) { @@ -940,10 +940,10 @@ DCHECK(!startup_task_runner_); #if defined(OS_ANDROID) - startup_task_runner_ = base::MakeUnique<StartupTaskRunner>( + startup_task_runner_ = std::make_unique<StartupTaskRunner>( base::Bind(&BrowserStartupComplete), base::ThreadTaskRunnerHandle::Get()); #else - startup_task_runner_ = base::MakeUnique<StartupTaskRunner>( + startup_task_runner_ = std::make_unique<StartupTaskRunner>( base::Callback<void(int)>(), base::ThreadTaskRunnerHandle::Get()); #endif StartupTask pre_create_threads = @@ -1481,7 +1481,7 @@ } if (!is_mus) { - host_frame_sink_manager_ = base::MakeUnique<viz::HostFrameSinkManager>(); + host_frame_sink_manager_ = std::make_unique<viz::HostFrameSinkManager>(); BrowserGpuChannelHostFactory::Initialize(established_gpu_channel); @@ -1644,12 +1644,12 @@ #if defined(OS_CHROMEOS) if (chromeos::switches::MemoryPressureHandlingEnabled()) { memory_pressure_monitor_ = - base::MakeUnique<base::chromeos::MemoryPressureMonitor>( + std::make_unique<base::chromeos::MemoryPressureMonitor>( chromeos::switches::GetMemoryPressureThresholds()); } #elif defined(OS_MACOSX) memory_pressure_monitor_ = - base::MakeUnique<base::mac::MemoryPressureMonitor>(); + std::make_unique<base::mac::MemoryPressureMonitor>(); #elif defined(OS_WIN) memory_pressure_monitor_ = CreateWinMemoryPressureMonitor(parsed_command_line_); @@ -1747,7 +1747,7 @@ GetContentClient()->OnServiceManagerConnected( ServiceManagerConnection::GetForProcess()); - tracing_controller_ = base::MakeUnique<content::TracingControllerImpl>(); + tracing_controller_ = std::make_unique<content::TracingControllerImpl>(); content::BackgroundTracingManagerImpl::GetInstance() ->AddMetadataGeneratorFunction(); @@ -1866,9 +1866,9 @@ audio_manager_ = GetContentClient()->browser()->CreateAudioManager( MediaInternals::GetInstance()); if (!audio_manager_) { - audio_manager_ = media::AudioManager::Create( - base::MakeUnique<media::AudioThreadImpl>(), - MediaInternals::GetInstance()); + audio_manager_ = + media::AudioManager::Create(std::make_unique<media::AudioThreadImpl>(), + MediaInternals::GetInstance()); } CHECK(audio_manager_); audio_system_ = media::AudioSystem::CreateInstance();
diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc index 54c72f7..fb880b4 100644 --- a/content/browser/browser_plugin/browser_plugin_guest.cc +++ b/content/browser/browser_plugin/browser_plugin_guest.cc
@@ -256,7 +256,7 @@ return; current_tooltip_text_ = tooltip_text; - SendMessageToEmbedder(base::MakeUnique<BrowserPluginMsg_SetTooltipText>( + SendMessageToEmbedder(std::make_unique<BrowserPluginMsg_SetTooltipText>( browser_plugin_instance_id_, tooltip_text)); } @@ -427,7 +427,7 @@ } void BrowserPluginGuest::PointerLockPermissionResponse(bool allow) { - SendMessageToEmbedder(base::MakeUnique<BrowserPluginMsg_SetMouseLock>( + SendMessageToEmbedder(std::make_unique<BrowserPluginMsg_SetMouseLock>( browser_plugin_instance_id(), allow)); } @@ -435,7 +435,7 @@ const viz::SurfaceInfo& surface_info, const viz::SurfaceSequence& sequence) { has_attached_since_surface_set_ = false; - SendMessageToEmbedder(base::MakeUnique<BrowserPluginMsg_SetChildFrameSurface>( + SendMessageToEmbedder(std::make_unique<BrowserPluginMsg_SetChildFrameSurface>( browser_plugin_instance_id(), surface_info, sequence)); } @@ -703,7 +703,7 @@ if (attached()) { RenderWidgetHostViewGuest* rwhv = static_cast<RenderWidgetHostViewGuest*>( web_contents()->GetRenderWidgetHostView()); - SendMessageToEmbedder(base::MakeUnique<BrowserPluginMsg_GuestReady>( + SendMessageToEmbedder(std::make_unique<BrowserPluginMsg_GuestReady>( browser_plugin_instance_id(), rwhv->GetFrameSinkId())); } @@ -713,7 +713,7 @@ } void BrowserPluginGuest::RenderProcessGone(base::TerminationStatus status) { - SendMessageToEmbedder(base::MakeUnique<BrowserPluginMsg_GuestGone>( + SendMessageToEmbedder(std::make_unique<BrowserPluginMsg_GuestGone>( browser_plugin_instance_id())); switch (status) { #if defined(OS_CHROMEOS) @@ -1048,7 +1048,7 @@ } void BrowserPluginGuest::OnUnlockMouse() { - SendMessageToEmbedder(base::MakeUnique<BrowserPluginMsg_SetMouseLock>( + SendMessageToEmbedder(std::make_unique<BrowserPluginMsg_SetMouseLock>( browser_plugin_instance_id(), false)); } @@ -1092,7 +1092,7 @@ void BrowserPluginGuest::OnHasTouchEventHandlers(bool accept) { SendMessageToEmbedder( - base::MakeUnique<BrowserPluginMsg_ShouldAcceptTouchEvents>( + std::make_unique<BrowserPluginMsg_ShouldAcceptTouchEvents>( browser_plugin_instance_id(), accept)); } @@ -1128,7 +1128,7 @@ } void BrowserPluginGuest::OnTakeFocus(bool reverse) { - SendMessageToEmbedder(base::MakeUnique<BrowserPluginMsg_AdvanceFocus>( + SendMessageToEmbedder(std::make_unique<BrowserPluginMsg_AdvanceFocus>( browser_plugin_instance_id(), reverse)); }
diff --git a/content/browser/browsing_data/browsing_data_filter_builder_impl.cc b/content/browser/browsing_data/browsing_data_filter_builder_impl.cc index f354f09..e77b3a49 100644 --- a/content/browser/browsing_data/browsing_data_filter_builder_impl.cc +++ b/content/browser/browsing_data/browsing_data_filter_builder_impl.cc
@@ -115,7 +115,7 @@ // static std::unique_ptr<BrowsingDataFilterBuilder> BrowsingDataFilterBuilder::Create(Mode mode) { - return base::MakeUnique<BrowsingDataFilterBuilderImpl>(mode); + return std::make_unique<BrowsingDataFilterBuilderImpl>(mode); } // static @@ -199,7 +199,7 @@ std::unique_ptr<BrowsingDataFilterBuilder> BrowsingDataFilterBuilderImpl::Copy() const { std::unique_ptr<BrowsingDataFilterBuilderImpl> copy = - base::MakeUnique<BrowsingDataFilterBuilderImpl>(mode_); + std::make_unique<BrowsingDataFilterBuilderImpl>(mode_); copy->origins_ = origins_; copy->domains_ = domains_; return std::move(copy);
diff --git a/content/browser/browsing_data/browsing_data_remover_impl_unittest.cc b/content/browser/browsing_data/browsing_data_remover_impl_unittest.cc index 3ec36b8..c21d994 100644 --- a/content/browser/browsing_data/browsing_data_remover_impl_unittest.cc +++ b/content/browser/browsing_data/browsing_data_remover_impl_unittest.cc
@@ -118,7 +118,7 @@ net::CanonicalCookie CreateCookieWithHost(const GURL& source) { std::unique_ptr<net::CanonicalCookie> cookie( - base::MakeUnique<net::CanonicalCookie>( + std::make_unique<net::CanonicalCookie>( "A", "1", source.host(), "/", base::Time::Now(), base::Time::Now(), base::Time(), false, false, net::CookieSameSite::DEFAULT_MODE, net::COOKIE_PRIORITY_MEDIUM)); @@ -345,7 +345,7 @@ void AddChannelIDWithTimes(const std::string& server_identifier, base::Time creation_time) { GetChannelIDStore()->SetChannelID( - base::MakeUnique<net::ChannelIDStore::ChannelID>( + std::make_unique<net::ChannelIDStore::ChannelID>( server_identifier, creation_time, crypto::ECPrivateKey::Create())); }
diff --git a/content/browser/browsing_data/clear_site_data_throttle.cc b/content/browser/browsing_data/clear_site_data_throttle.cc index 934cbad3..39133da 100644 --- a/content/browser/browsing_data/clear_site_data_throttle.cc +++ b/content/browser/browsing_data/clear_site_data_throttle.cc
@@ -270,7 +270,7 @@ return nullptr; return base::WrapUnique(new ClearSiteDataThrottle( - request, base::MakeUnique<ConsoleMessagesDelegate>())); + request, std::make_unique<ConsoleMessagesDelegate>())); } ClearSiteDataThrottle::~ClearSiteDataThrottle() {
diff --git a/content/browser/browsing_data/clear_site_data_throttle_unittest.cc b/content/browser/browsing_data/clear_site_data_throttle_unittest.cc index 5ea58c89..0bdaeaac 100644 --- a/content/browser/browsing_data/clear_site_data_throttle_unittest.cc +++ b/content/browser/browsing_data/clear_site_data_throttle_unittest.cc
@@ -234,7 +234,7 @@ std::unique_ptr<net::URLRequest> request(context.CreateRequest( url, net::DEFAULT_PRIORITY, nullptr, TRAFFIC_ANNOTATION_FOR_TESTS)); TestThrottle throttle(request.get(), - base::MakeUnique<ConsoleMessagesDelegate>()); + std::make_unique<ConsoleMessagesDelegate>()); MockResourceThrottleDelegate delegate; throttle.set_delegate_for_testing(&delegate); throttle.SetResponseHeaders(std::string(kClearSiteDataHeaderPrefix) + @@ -473,7 +473,7 @@ context.CreateRequest(GURL(test_origin.origin), net::DEFAULT_PRIORITY, nullptr, TRAFFIC_ANNOTATION_FOR_TESTS)); TestThrottle throttle(request.get(), - base::MakeUnique<ConsoleMessagesDelegate>()); + std::make_unique<ConsoleMessagesDelegate>()); throttle.SetResponseHeaders(test_case.response_headers); MockResourceThrottleDelegate delegate; @@ -586,9 +586,9 @@ std::string output_buffer; std::unique_ptr<RedirectableTestThrottle> throttle = - base::MakeUnique<RedirectableTestThrottle>( + std::make_unique<RedirectableTestThrottle>( request.get(), - base::MakeUnique<StringConsoleMessagesDelegate>(&output_buffer)); + std::make_unique<StringConsoleMessagesDelegate>(&output_buffer)); MockResourceThrottleDelegate delegate; throttle->set_delegate_for_testing(&delegate);
diff --git a/content/browser/browsing_data/conditional_cache_deletion_helper_browsertest.cc b/content/browser/browsing_data/conditional_cache_deletion_helper_browsertest.cc index 57a8b12d..4f6d6122 100644 --- a/content/browser/browsing_data/conditional_cache_deletion_helper_browsertest.cc +++ b/content/browser/browsing_data/conditional_cache_deletion_helper_browsertest.cc
@@ -45,14 +45,14 @@ class ConditionalCacheDeletionHelperBrowserTest : public ContentBrowserTest { public: void SetUpOnMainThread() override { - cache_util_ = base::MakeUnique<CacheTestUtil>( + cache_util_ = std::make_unique<CacheTestUtil>( content::BrowserContext::GetDefaultStoragePartition( shell()->web_contents()->GetBrowserContext())); done_callback_ = base::Bind(&ConditionalCacheDeletionHelperBrowserTest::DoneCallback, base::Unretained(this)); // UI and IO thread synchronization. - waitable_event_ = base::MakeUnique<base::WaitableEvent>( + waitable_event_ = std::make_unique<base::WaitableEvent>( base::WaitableEvent::ResetPolicy::AUTOMATIC, base::WaitableEvent::InitialState::NOT_SIGNALED); }
diff --git a/content/browser/cache_storage/cache_storage.cc b/content/browser/cache_storage/cache_storage.cc index fa919c1..73bbfe4 100644 --- a/content/browser/cache_storage/cache_storage.cc +++ b/content/browser/cache_storage/cache_storage.cc
@@ -228,7 +228,7 @@ } void LoadIndex(CacheStorageIndexLoadCallback callback) override { - std::move(callback).Run(base::MakeUnique<CacheStorageIndex>()); + std::move(callback).Run(std::make_unique<CacheStorageIndex>()); } void NotifyCacheCreated( @@ -420,7 +420,7 @@ std::unique_ptr<std::set<std::string>> cache_dirs( new std::set<std::string>); - auto index = base::MakeUnique<CacheStorageIndex>(); + auto index = std::make_unique<CacheStorageIndex>(); for (int i = 0, max = protobuf_index.cache_size(); i < max; ++i) { const proto::CacheStorageIndex::Cache& cache = protobuf_index.cache(i); DCHECK(cache.has_cache_dir()); @@ -1036,7 +1036,7 @@ CacheStorageCache* cache_ptr = cache_handle->value(); cache_ptr->Match( - base::MakeUnique<ServiceWorkerFetchRequest>(*request), match_params, + std::make_unique<ServiceWorkerFetchRequest>(*request), match_params, base::BindOnce(&CacheStorage::MatchAllCachesDidMatch, weak_factory_.GetWeakPtr(), base::Passed(std::move(cache_handle)),
diff --git a/content/browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc b/content/browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc index a650aaa..506c020 100644 --- a/content/browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc +++ b/content/browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc
@@ -62,7 +62,7 @@ // the memory. std::unique_ptr<storage::BlobProtocolHandler> CreateMockBlobProtocolHandler( storage::BlobStorageContext* blob_storage_context) { - return base::MakeUnique<storage::BlobProtocolHandler>(blob_storage_context, + return std::make_unique<storage::BlobProtocolHandler>(blob_storage_context, nullptr); }
diff --git a/content/browser/cache_storage/cache_storage_cache.cc b/content/browser/cache_storage/cache_storage_cache.cc index 377a756..a20a008 100644 --- a/content/browser/cache_storage/cache_storage_cache.cc +++ b/content/browser/cache_storage/cache_storage_cache.cc
@@ -224,7 +224,7 @@ std::unique_ptr<ServiceWorkerFetchRequest> CreateRequest( const proto::CacheMetadata& metadata, const GURL& request_url) { - auto request = base::MakeUnique<ServiceWorkerFetchRequest>( + auto request = std::make_unique<ServiceWorkerFetchRequest>( request_url, metadata.request().method(), ServiceWorkerHeaderMap(), Referrer(), false); @@ -241,7 +241,7 @@ const proto::CacheMetadata& metadata, const std::string& cache_name) { std::unique_ptr<std::vector<GURL>> url_list = - base::MakeUnique<std::vector<GURL>>(); + std::make_unique<std::vector<GURL>>(); // From Chrome 57, proto::CacheMetadata's url field was deprecated. UMA_HISTOGRAM_BOOLEAN("ServiceWorkerCache.Response.HasDeprecatedURL", metadata.response().has_url()); @@ -254,7 +254,7 @@ } std::unique_ptr<ServiceWorkerHeaderMap> headers = - base::MakeUnique<ServiceWorkerHeaderMap>(); + std::make_unique<ServiceWorkerHeaderMap>(); for (int i = 0; i < metadata.response().headers_size(); ++i) { const proto::CacheHeaderMap header = metadata.response().headers(i); DCHECK_EQ(std::string::npos, header.name().find('\0')); @@ -262,7 +262,7 @@ headers->insert(std::make_pair(header.name(), header.value())); } - return base::MakeUnique<ServiceWorkerResponse>( + return std::make_unique<ServiceWorkerResponse>( std::move(url_list), metadata.response().status_code(), metadata.response().status_text(), ProtoResponseTypeToFetchResponseType(metadata.response().response_type()), @@ -270,7 +270,7 @@ blink::kWebServiceWorkerResponseErrorUnknown, base::Time::FromInternalValue(metadata.response().response_time()), true /* is_in_cache_storage */, cache_name, - base::MakeUnique<ServiceWorkerHeaderList>( + std::make_unique<ServiceWorkerHeaderList>( metadata.response().cors_exposed_header_names().begin(), metadata.response().cors_exposed_header_names().end())); } @@ -380,7 +380,7 @@ options(options), callback(std::move(callback)), query_types(query_types), - matches(base::MakeUnique<QueryCacheResults>()) {} + matches(std::make_unique<QueryCacheResults>()) {} ~QueryCacheContext() { // If the CacheStorageCache is deleted before a backend operation to open @@ -734,7 +734,7 @@ if (!options.ignore_method && request && !request->method.empty() && request->method != "GET") { std::move(callback).Run(CACHE_STORAGE_OK, - base::MakeUnique<QueryCacheResults>()); + std::make_unique<QueryCacheResults>()); return; } @@ -984,7 +984,7 @@ } std::unique_ptr<ServiceWorkerResponse> response = - base::MakeUnique<ServiceWorkerResponse>(match_all_responses->at(0)); + std::make_unique<ServiceWorkerResponse>(match_all_responses->at(0)); std::move(callback).Run(CACHE_STORAGE_OK, std::move(response), std::move(match_all_handles->at(0))); @@ -1019,9 +1019,9 @@ return; } - std::unique_ptr<Responses> out_responses = base::MakeUnique<Responses>(); + std::unique_ptr<Responses> out_responses = std::make_unique<Responses>(); std::unique_ptr<BlobDataHandles> out_handles = - base::MakeUnique<BlobDataHandles>(); + std::make_unique<BlobDataHandles>(); out_responses->reserve(query_cache_results->size()); out_handles->reserve(query_cache_results->size()); @@ -1179,7 +1179,7 @@ operation.request.is_reload)); std::unique_ptr<ServiceWorkerResponse> response = - base::MakeUnique<ServiceWorkerResponse>(operation.response); + std::make_unique<ServiceWorkerResponse>(operation.response); std::unique_ptr<storage::BlobDataHandle> blob_data_handle; if (!response->blob_uuid.empty()) { @@ -1222,7 +1222,7 @@ // cache padding. // TODO(cmumford): Research alternatives to this explicit delete as it // seriously impacts put performance. - auto delete_request = base::MakeUnique<ServiceWorkerFetchRequest>( + auto delete_request = std::make_unique<ServiceWorkerFetchRequest>( put_context->request->url, "", ServiceWorkerHeaderMap(), Referrer(), false); @@ -1371,7 +1371,7 @@ disk_cache::ScopedEntryPtr entry(std::move(put_context->cache_entry)); put_context->cache_entry = NULL; - auto blob_to_cache = base::MakeUnique<CacheStorageBlobToDiskCache>(); + auto blob_to_cache = std::make_unique<CacheStorageBlobToDiskCache>(); CacheStorageBlobToDiskCache* blob_to_cache_raw = blob_to_cache.get(); BlobToDiskCacheIDMap::KeyType blob_to_cache_key = active_blob_to_disk_cache_writers_.Add(std::move(blob_to_cache)); @@ -1584,7 +1584,7 @@ return; } - std::unique_ptr<Requests> out_requests = base::MakeUnique<Requests>(); + std::unique_ptr<Requests> out_requests = std::make_unique<Requests>(); out_requests->reserve(query_cache_results->size()); for (const auto& result : *query_cache_results) out_requests->push_back(*result.request); @@ -1787,7 +1787,7 @@ if (features::IsMojoBlobsEnabled()) { blink::mojom::BlobPtr blob_ptr; storage::BlobImpl::Create( - base::MakeUnique<storage::BlobDataHandle>(*result), + std::make_unique<storage::BlobDataHandle>(*result), MakeRequest(&blob_ptr)); response->blob = base::MakeRefCounted<storage::BlobHandle>(std::move(blob_ptr));
diff --git a/content/browser/cache_storage/cache_storage_cache_unittest.cc b/content/browser/cache_storage/cache_storage_cache_unittest.cc index 9e8391b5..e973f4b 100644 --- a/content/browser/cache_storage/cache_storage_cache_unittest.cc +++ b/content/browser/cache_storage/cache_storage_cache_unittest.cc
@@ -390,7 +390,7 @@ CreateRequests(blob_storage_context); - cache_ = base::MakeUnique<TestCacheStorageCache>( + cache_ = std::make_unique<TestCacheStorageCache>( GURL(kOrigin), kCacheName, temp_dir_path, nullptr /* CacheStorage */, BrowserContext::GetDefaultStoragePartition(&browser_context_) ->GetURLRequestContext(), @@ -443,22 +443,22 @@ body_response_ = CreateResponse( "http://example.com/body.html", - base::MakeUnique<ServiceWorkerHeaderMap>(headers), blob_handle_->uuid(), + std::make_unique<ServiceWorkerHeaderMap>(headers), blob_handle_->uuid(), expected_blob_data_.size(), blob, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */); body_response_with_query_ = CreateResponse("http://example.com/body.html?query=test", - base::MakeUnique<ServiceWorkerHeaderMap>(headers), + std::make_unique<ServiceWorkerHeaderMap>(headers), blob_handle_->uuid(), expected_blob_data_.size(), blob, - base::MakeUnique<ServiceWorkerHeaderList>( + std::make_unique<ServiceWorkerHeaderList>( 1, "a") /* cors_exposed_header_names */); no_body_response_ = CreateResponse( "http://example.com/no_body.html", - base::MakeUnique<ServiceWorkerHeaderMap>(headers), "", 0, nullptr, - base::MakeUnique< + std::make_unique<ServiceWorkerHeaderMap>(headers), "", 0, nullptr, + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */); } @@ -470,7 +470,7 @@ scoped_refptr<storage::BlobHandle> blob_handle, std::unique_ptr<ServiceWorkerHeaderList> cors_exposed_header_names) { return ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(1, GURL(url)), 200, "OK", + std::make_unique<std::vector<GURL>>(1, GURL(url)), 200, "OK", network::mojom::FetchResponseType::kDefault, std::move(headers), blob_uuid, blob_size, std::move(blob_handle), blink::kWebServiceWorkerResponseErrorUnknown, base::Time::Now(), @@ -481,7 +481,7 @@ std::unique_ptr<ServiceWorkerFetchRequest> CopyFetchRequest( const ServiceWorkerFetchRequest& request) { - return base::MakeUnique<ServiceWorkerFetchRequest>( + return std::make_unique<ServiceWorkerFetchRequest>( request.url, request.method, request.headers, request.referrer, request.is_reload); } @@ -1547,13 +1547,13 @@ // CacheStorageCache depends on ServiceWorkerResponse having caseless // headers so that it can quickly lookup vary headers. ServiceWorkerResponse response( - base::MakeUnique<std::vector<GURL>>(), 200, "OK", + std::make_unique<std::vector<GURL>>(), 200, "OK", network::mojom::FetchResponseType::kDefault, - base::MakeUnique<ServiceWorkerHeaderMap>(), "", 0, nullptr /* blob */, + std::make_unique<ServiceWorkerHeaderMap>(), "", 0, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* is_in_cache_storage */, std::string() /* cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */); response.headers["content-type"] = "foo"; response.headers["Content-Type"] = "bar";
diff --git a/content/browser/cache_storage/cache_storage_manager_unittest.cc b/content/browser/cache_storage/cache_storage_manager_unittest.cc index 2e7af40..f52c7d32 100644 --- a/content/browser/cache_storage/cache_storage_manager_unittest.cc +++ b/content/browser/cache_storage/cache_storage_manager_unittest.cc
@@ -343,7 +343,7 @@ const CacheStorageCacheQueryParams& match_params = CacheStorageCacheQueryParams()) { std::unique_ptr<ServiceWorkerFetchRequest> unique_request = - base::MakeUnique<ServiceWorkerFetchRequest>(request); + std::make_unique<ServiceWorkerFetchRequest>(request); base::RunLoop loop; cache_manager_->MatchCache( @@ -370,7 +370,7 @@ const CacheStorageCacheQueryParams& match_params = CacheStorageCacheQueryParams()) { std::unique_ptr<ServiceWorkerFetchRequest> unique_request = - base::MakeUnique<ServiceWorkerFetchRequest>(request); + std::make_unique<ServiceWorkerFetchRequest>(request); base::RunLoop loop; cache_manager_->MatchAllCaches( origin, std::move(unique_request), match_params, @@ -423,16 +423,16 @@ } std::unique_ptr<std::vector<GURL>> url_list = - base::MakeUnique<std::vector<GURL>>(); + std::make_unique<std::vector<GURL>>(); url_list->push_back(request.url); ServiceWorkerResponse response( std::move(url_list), status_code, "OK", response_type, - base::MakeUnique<ServiceWorkerHeaderMap>(response_headers), blob_uuid, + std::make_unique<ServiceWorkerHeaderMap>(response_headers), blob_uuid, request.url.spec().size(), blob_handle, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* is_in_cache_storage */, std::string() /* cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */); CacheStorageBatchOperation operation;
diff --git a/content/browser/cache_storage/cache_storage_operation_unittest.cc b/content/browser/cache_storage/cache_storage_operation_unittest.cc index efb9860..792f324 100644 --- a/content/browser/cache_storage/cache_storage_operation_unittest.cc +++ b/content/browser/cache_storage/cache_storage_operation_unittest.cc
@@ -38,7 +38,7 @@ protected: CacheStorageOperationTest() : mock_task_runner_(new base::TestMockTimeTaskRunner()) { - operation_ = base::MakeUnique<CacheStorageOperation>( + operation_ = std::make_unique<CacheStorageOperation>( base::BindOnce(&TestTask::Run, base::Unretained(&task_)), CacheStorageSchedulerClient::CLIENT_STORAGE, mock_task_runner_); }
diff --git a/content/browser/cache_storage/cache_storage_scheduler.cc b/content/browser/cache_storage/cache_storage_scheduler.cc index 0ceb62983..759fd61 100644 --- a/content/browser/cache_storage/cache_storage_scheduler.cc +++ b/content/browser/cache_storage/cache_storage_scheduler.cc
@@ -28,7 +28,7 @@ CACHE_STORAGE_SCHEDULER_UMA(COUNTS_10000, "QueueLength", client_type_, pending_operations_.size()); - pending_operations_.push_back(base::MakeUnique<CacheStorageOperation>( + pending_operations_.push_back(std::make_unique<CacheStorageOperation>( std::move(closure), client_type_, base::ThreadTaskRunnerHandle::Get())); RunOperationIfIdle(); }
diff --git a/content/browser/child_process_launcher_helper_mac.cc b/content/browser/child_process_launcher_helper_mac.cc index ee617db..c587091 100644 --- a/content/browser/child_process_launcher_helper_mac.cc +++ b/content/browser/child_process_launcher_helper_mac.cc
@@ -62,7 +62,7 @@ // problem. options->environ.insert(std::make_pair("OS_ACTIVITY_MODE", "disable")); - seatbelt_exec_client_ = base::MakeUnique<sandbox::SeatbeltExecClient>(); + seatbelt_exec_client_ = std::make_unique<sandbox::SeatbeltExecClient>(); seatbelt_exec_client_->SetProfile( service_manager::kSeatbeltPolicyString_renderer_v2);
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc index 0664ba0..2819d9ff 100644 --- a/content/browser/child_process_security_policy_impl.cc +++ b/content/browser/child_process_security_policy_impl.cc
@@ -1026,7 +1026,7 @@ return; } - security_state_[child_id] = base::MakeUnique<SecurityState>(); + security_state_[child_id] = std::make_unique<SecurityState>(); } bool ChildProcessSecurityPolicyImpl::ChildProcessHasPermissionsForFile(
diff --git a/content/browser/compositor/gpu_process_transport_factory.cc b/content/browser/compositor/gpu_process_transport_factory.cc index ae00e5d..33c7da4 100644 --- a/content/browser/compositor/gpu_process_transport_factory.cc +++ b/content/browser/compositor/gpu_process_transport_factory.cc
@@ -340,7 +340,7 @@ #elif defined(OS_ANDROID) validator.reset(new viz::CompositorOverlayCandidateValidatorAndroid()); #elif defined(OS_WIN) - validator = base::MakeUnique<viz::CompositorOverlayCandidateValidatorWin>(); + validator = std::make_unique<viz::CompositorOverlayCandidateValidatorWin>(); #endif return validator; @@ -530,7 +530,7 @@ if (!display_output_surface) { if (!use_gpu_compositing) { display_output_surface = - base::MakeUnique<SoftwareBrowserCompositorOutputSurface>( + std::make_unique<SoftwareBrowserCompositorOutputSurface>( CreateSoftwareOutputDevice(compositor->widget()), vsync_callback, compositor->task_runner()); } else { @@ -538,7 +538,7 @@ const auto& capabilities = context_provider->ContextCapabilities(); if (data->surface_handle == gpu::kNullSurfaceHandle) { display_output_surface = - base::MakeUnique<OffscreenBrowserCompositorOutputSurface>( + std::make_unique<OffscreenBrowserCompositorOutputSurface>( context_provider, vsync_callback, std::unique_ptr<viz::CompositorOverlayCandidateValidator>()); } else if (capabilities.surfaceless) { @@ -546,7 +546,7 @@ const auto& gpu_feature_info = context_provider->GetGpuFeatureInfo(); bool disable_overlay_ca_layers = gpu_feature_info.IsWorkaroundEnabled( gpu::DISABLE_OVERLAY_CA_LAYERS); - display_output_surface = base::MakeUnique<GpuOutputSurfaceMac>( + display_output_surface = std::make_unique<GpuOutputSurfaceMac>( compositor->widget(), context_provider, data->surface_handle, vsync_callback, CreateOverlayCandidateValidator(compositor->widget(), @@ -554,7 +554,7 @@ GetGpuMemoryBufferManager()); #else auto gpu_output_surface = - base::MakeUnique<GpuSurfacelessBrowserCompositorOutputSurface>( + std::make_unique<GpuSurfacelessBrowserCompositorOutputSurface>( context_provider, data->surface_handle, vsync_callback, CreateOverlayCandidateValidator(compositor->widget()), GL_TEXTURE_2D, GL_RGB, @@ -573,7 +573,7 @@ validator = CreateOverlayCandidateValidator(compositor->widget()); #endif auto gpu_output_surface = - base::MakeUnique<GpuBrowserCompositorOutputSurface>( + std::make_unique<GpuBrowserCompositorOutputSurface>( context_provider, vsync_callback, std::move(validator)); gpu_vsync_control = gpu_output_surface.get(); display_output_surface = std::move(gpu_output_surface); @@ -592,24 +592,24 @@ viz::BeginFrameSource* begin_frame_source = nullptr; if (compositor->external_begin_frames_enabled()) { external_begin_frame_controller = - base::MakeUnique<ExternalBeginFrameController>(compositor.get()); + std::make_unique<ExternalBeginFrameController>(compositor.get()); begin_frame_source = external_begin_frame_controller->begin_frame_source(); } else if (!disable_display_vsync_) { if (gpu_vsync_control && IsGpuVSyncSignalSupported()) { gpu_vsync_begin_frame_source = - base::MakeUnique<GpuVSyncBeginFrameSource>(gpu_vsync_control); + std::make_unique<GpuVSyncBeginFrameSource>(gpu_vsync_control); begin_frame_source = gpu_vsync_begin_frame_source.get(); } else { synthetic_begin_frame_source = - base::MakeUnique<viz::DelayBasedBeginFrameSource>( - base::MakeUnique<viz::DelayBasedTimeSource>( + std::make_unique<viz::DelayBasedBeginFrameSource>( + std::make_unique<viz::DelayBasedTimeSource>( compositor->task_runner().get())); begin_frame_source = synthetic_begin_frame_source.get(); } } else { synthetic_begin_frame_source = - base::MakeUnique<viz::BackToBackBeginFrameSource>( - base::MakeUnique<viz::DelayBasedTimeSource>( + std::make_unique<viz::BackToBackBeginFrameSource>( + std::make_unique<viz::DelayBasedTimeSource>( compositor->task_runner().get())); begin_frame_source = synthetic_begin_frame_source.get(); } @@ -630,17 +630,17 @@ data->display->RemoveObserver(data->external_begin_frame_controller.get()); } - auto scheduler = base::MakeUnique<viz::DisplayScheduler>( + auto scheduler = std::make_unique<viz::DisplayScheduler>( begin_frame_source, compositor->task_runner().get(), display_output_surface->capabilities().max_frames_pending, wait_for_all_pipeline_stages_before_draw_); // The Display owns and uses the |display_output_surface| created above. - data->display = base::MakeUnique<viz::Display>( + data->display = std::make_unique<viz::Display>( viz::ServerSharedBitmapManager::current(), GetGpuMemoryBufferManager(), renderer_settings_, compositor->frame_sink_id(), std::move(display_output_surface), std::move(scheduler), - base::MakeUnique<viz::TextureMailboxDeleter>( + std::make_unique<viz::TextureMailboxDeleter>( compositor->task_runner().get())); GetFrameSinkManager()->RegisterBeginFrameSource(begin_frame_source, compositor->frame_sink_id()); @@ -659,12 +659,12 @@ // same ContextProvider as the Display's output surface. auto layer_tree_frame_sink = vulkan_context_provider - ? base::MakeUnique<viz::DirectLayerTreeFrameSink>( + ? std::make_unique<viz::DirectLayerTreeFrameSink>( compositor->frame_sink_id(), GetHostFrameSinkManager(), GetFrameSinkManager(), data->display.get(), static_cast<scoped_refptr<viz::VulkanContextProvider>>( vulkan_context_provider)) - : base::MakeUnique<viz::DirectLayerTreeFrameSink>( + : std::make_unique<viz::DirectLayerTreeFrameSink>( compositor->frame_sink_id(), GetHostFrameSinkManager(), GetFrameSinkManager(), data->display.get(), context_provider, shared_worker_context_provider_, GetGpuMemoryBufferManager(), @@ -957,7 +957,7 @@ gfx::AcceleratedWidget widget = compositor->widget(); - auto data = base::MakeUnique<PerCompositorData>(); + auto data = std::make_unique<PerCompositorData>(); if (widget == gfx::kNullAcceleratedWidget) { data->surface_handle = gpu::kNullSurfaceHandle; } else {
diff --git a/content/browser/compositor/reflector_impl.cc b/content/browser/compositor/reflector_impl.cc index 69b3639..8e7b140f7 100644 --- a/content/browser/compositor/reflector_impl.cc +++ b/content/browser/compositor/reflector_impl.cc
@@ -74,7 +74,7 @@ DCHECK(layer->GetCompositor()); DCHECK(mirroring_layers_.end() == FindLayerData(layer)); - mirroring_layers_.push_back(base::MakeUnique<LayerData>(layer)); + mirroring_layers_.push_back(std::make_unique<LayerData>(layer)); if (mailbox_) mirroring_layers_.back()->needs_set_mailbox = true; mirrored_compositor_->ScheduleFullRedraw();
diff --git a/content/browser/compositor/reflector_impl_unittest.cc b/content/browser/compositor/reflector_impl_unittest.cc index 54696138..d1a2a85 100644 --- a/content/browser/compositor/reflector_impl_unittest.cc +++ b/content/browser/compositor/reflector_impl_unittest.cc
@@ -134,7 +134,7 @@ ui::ContextFactory* context_factory = nullptr; ui::ContextFactoryPrivate* context_factory_private = nullptr; - message_loop_ = base::MakeUnique<base::MessageLoop>(); + message_loop_ = std::make_unique<base::MessageLoop>(); ui::InitializeContextFactoryForTests(enable_pixel_output, &context_factory, &context_factory_private); ImageTransportFactory::SetFactory( @@ -142,7 +142,7 @@ task_runner_ = message_loop_->task_runner(); compositor_task_runner_ = new FakeTaskRunner(); begin_frame_source_.reset(new viz::DelayBasedBeginFrameSource( - base::MakeUnique<viz::DelayBasedTimeSource>( + std::make_unique<viz::DelayBasedTimeSource>( compositor_task_runner_.get()))); compositor_.reset(new ui::Compositor( context_factory_private->AllocateFrameSinkId(), context_factory, @@ -154,7 +154,7 @@ auto context_provider = cc::TestContextProvider::Create(); context_provider->BindToCurrentThread(); output_surface_ = - base::MakeUnique<TestOutputSurface>(std::move(context_provider)); + std::make_unique<TestOutputSurface>(std::move(context_provider)); root_layer_.reset(new ui::Layer(ui::LAYER_SOLID_COLOR)); compositor_->SetRootLayer(root_layer_.get()); @@ -166,7 +166,7 @@ } void SetUpReflector() { - reflector_ = base::MakeUnique<ReflectorImpl>(compositor_.get(), + reflector_ = std::make_unique<ReflectorImpl>(compositor_.get(), mirroring_layer_.get()); reflector_->OnSourceSurfaceReady(output_surface_.get()); }
diff --git a/content/browser/compositor/software_browser_compositor_output_surface_unittest.cc b/content/browser/compositor/software_browser_compositor_output_surface_unittest.cc index 4e8cc64..f39783b1 100644 --- a/content/browser/compositor/software_browser_compositor_output_surface_unittest.cc +++ b/content/browser/compositor/software_browser_compositor_output_surface_unittest.cc
@@ -65,7 +65,7 @@ class SoftwareBrowserCompositorOutputSurfaceTest : public testing::Test { public: SoftwareBrowserCompositorOutputSurfaceTest() - : begin_frame_source_(base::MakeUnique<viz::DelayBasedTimeSource>( + : begin_frame_source_(std::make_unique<viz::DelayBasedTimeSource>( message_loop_.task_runner().get())) {} ~SoftwareBrowserCompositorOutputSurfaceTest() override = default; @@ -118,7 +118,7 @@ std::unique_ptr<content::BrowserCompositorOutputSurface> SoftwareBrowserCompositorOutputSurfaceTest::CreateSurface( std::unique_ptr<viz::SoftwareOutputDevice> device) { - return base::MakeUnique<content::SoftwareBrowserCompositorOutputSurface>( + return std::make_unique<content::SoftwareBrowserCompositorOutputSurface>( std::move(device), base::Bind( &SoftwareBrowserCompositorOutputSurfaceTest::UpdateVSyncParameters,
diff --git a/content/browser/cross_site_transfer_browsertest.cc b/content/browser/cross_site_transfer_browsertest.cc index f18e993..d8348f3 100644 --- a/content/browser/cross_site_transfer_browsertest.cc +++ b/content/browser/cross_site_transfer_browsertest.cc
@@ -62,7 +62,7 @@ ASSERT_FALSE(throttle_created_); // If this is a request for the tracked URL, add a throttle to track it. if (request->url() == tracked_url_) - throttles->push_back(base::MakeUnique<TrackingThrottle>(request, this)); + throttles->push_back(std::make_unique<TrackingThrottle>(request, this)); } // Starts tracking a URL. The request for previously tracked URL, if any,
diff --git a/content/browser/dedicated_worker/dedicated_worker_host.cc b/content/browser/dedicated_worker/dedicated_worker_host.cc index 9451f1e..e693314a 100644 --- a/content/browser/dedicated_worker/dedicated_worker_host.cc +++ b/content/browser/dedicated_worker/dedicated_worker_host.cc
@@ -59,7 +59,7 @@ // with the request for |DedicatedWorkerFactory|, enforce that the worker's // origin either matches the creating document's origin, or is unique. mojo::MakeStrongBinding( - base::MakeUnique<DedicatedWorkerHost>(process_id_, origin), + std::make_unique<DedicatedWorkerHost>(process_id_, origin), FilterRendererExposedInterfaces( blink::mojom::kNavigation_DedicatedWorkerSpec, process_id_, std::move(request))); @@ -78,7 +78,7 @@ int process_id, RenderFrameHost* frame, blink::mojom::DedicatedWorkerFactoryRequest request) { - mojo::MakeStrongBinding(base::MakeUnique<DedicatedWorkerFactoryImpl>( + mojo::MakeStrongBinding(std::make_unique<DedicatedWorkerFactoryImpl>( process_id, frame->GetLastCommittedOrigin()), std::move(request)); }
diff --git a/content/browser/device_sensors/device_sensor_browsertest.cc b/content/browser/device_sensors/device_sensor_browsertest.cc index 124daaf3..fe24bb12 100644 --- a/content/browser/device_sensors/device_sensor_browsertest.cc +++ b/content/browser/device_sensors/device_sensor_browsertest.cc
@@ -179,7 +179,7 @@ switch (type) { case device::mojom::SensorType::ACCELEROMETER: if (accelerometer_is_available_) { - sensor = base::MakeUnique<FakeSensor>( + sensor = std::make_unique<FakeSensor>( device::mojom::SensorType::ACCELEROMETER); reading.accel.x = 4; reading.accel.y = 5; @@ -188,7 +188,7 @@ break; case device::mojom::SensorType::LINEAR_ACCELERATION: if (linear_acceleration_sensor_is_available_) { - sensor = base::MakeUnique<FakeSensor>( + sensor = std::make_unique<FakeSensor>( device::mojom::SensorType::LINEAR_ACCELERATION); reading.accel.x = 1; reading.accel.y = 2; @@ -197,7 +197,7 @@ break; case device::mojom::SensorType::GYROSCOPE: if (gyroscope_is_available_) { - sensor = base::MakeUnique<FakeSensor>( + sensor = std::make_unique<FakeSensor>( device::mojom::SensorType::GYROSCOPE); reading.gyro.x = 7; reading.gyro.y = 8; @@ -206,7 +206,7 @@ break; case device::mojom::SensorType::RELATIVE_ORIENTATION_EULER_ANGLES: if (relative_orientation_sensor_is_available_) { - sensor = base::MakeUnique<FakeSensor>( + sensor = std::make_unique<FakeSensor>( device::mojom::SensorType::RELATIVE_ORIENTATION_EULER_ANGLES); reading.orientation_euler.x = 2; // beta reading.orientation_euler.y = 3; // gamma @@ -215,7 +215,7 @@ break; case device::mojom::SensorType::ABSOLUTE_ORIENTATION_EULER_ANGLES: if (absolute_orientation_sensor_is_available_) { - sensor = base::MakeUnique<FakeSensor>( + sensor = std::make_unique<FakeSensor>( device::mojom::SensorType::ABSOLUTE_ORIENTATION_EULER_ANGLES); reading.orientation_euler.x = 5; // beta reading.orientation_euler.y = 6; // gamma @@ -261,7 +261,7 @@ base::WaitableEvent::InitialState::NOT_SIGNALED) {} void SetUpOnMainThread() override { - sensor_provider_ = base::MakeUnique<FakeSensorProvider>(); + sensor_provider_ = std::make_unique<FakeSensorProvider>(); BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, base::BindOnce(&DeviceSensorBrowserTest::SetUpOnIOThread,
diff --git a/content/browser/devtools/devtools_manager.cc b/content/browser/devtools/devtools_manager.cc index 633d73f..22ae3b2c 100644 --- a/content/browser/devtools/devtools_manager.cc +++ b/content/browser/devtools/devtools_manager.cc
@@ -25,7 +25,7 @@ DevToolsManager* manager = DevToolsManager::GetInstance(); if (!manager->delegate()) return; - manager->SetHttpHandler(base::MakeUnique<DevToolsHttpHandler>( + manager->SetHttpHandler(std::make_unique<DevToolsHttpHandler>( manager->delegate(), std::move(server_socket_factory), frontend_url, active_port_output_directory, debug_frontend_dir)); } @@ -33,7 +33,7 @@ // static void DevToolsAgentHost::StartRemoteDebuggingPipeHandler() { DevToolsManager* manager = DevToolsManager::GetInstance(); - manager->SetPipeHandler(base::MakeUnique<DevToolsPipeHandler>()); + manager->SetPipeHandler(std::make_unique<DevToolsPipeHandler>()); } // static
diff --git a/content/browser/devtools/devtools_url_interceptor_request_job.cc b/content/browser/devtools/devtools_url_interceptor_request_job.cc index 0dc1d42..c62c191 100644 --- a/content/browser/devtools/devtools_url_interceptor_request_job.cc +++ b/content/browser/devtools/devtools_url_interceptor_request_job.cc
@@ -179,10 +179,10 @@ proxy_readers.reserve(readers->size()); for (auto& reader : *readers) { proxy_readers.push_back( - base::MakeUnique<ProxyUploadElementReader>(reader.get())); + std::make_unique<ProxyUploadElementReader>(reader.get())); } - return base::MakeUnique<net::ElementsUploadDataStream>( + return std::make_unique<net::ElementsUploadDataStream>( std::move(proxy_readers), 0); } } // namespace @@ -506,7 +506,7 @@ case WaitingForUserResponse::WAITING_FOR_INTERCEPTION_RESPONSE: ProcessInterceptionRespose( - base::MakeUnique<DevToolsURLRequestInterceptor::Modifications>( + std::make_unique<DevToolsURLRequestInterceptor::Modifications>( base::nullopt, base::nullopt, protocol::Maybe<std::string>(), protocol::Maybe<std::string>(), protocol::Maybe<std::string>(), protocol::Maybe<protocol::Network::Headers>(), @@ -521,7 +521,7 @@ ResponseEnum::Default) .Build(); ProcessAuthRespose( - base::MakeUnique<DevToolsURLRequestInterceptor::Modifications>( + std::make_unique<DevToolsURLRequestInterceptor::Modifications>( base::nullopt, base::nullopt, protocol::Maybe<std::string>(), protocol::Maybe<std::string>(), protocol::Maybe<std::string>(), protocol::Maybe<protocol::Network::Headers>(), @@ -661,7 +661,7 @@ std::vector<char> data(post_data.begin(), post_data.end()); request_details_.post_data = net::ElementsUploadDataStream::CreateWithReader( - base::MakeUnique<net::UploadOwnedBytesElementReader>(&data), 0); + std::make_unique<net::UploadOwnedBytesElementReader>(&data), 0); } if (modifications->modified_headers.isJust()) {
diff --git a/content/browser/devtools/devtools_url_request_interceptor.cc b/content/browser/devtools/devtools_url_request_interceptor.cc index b31099de..db542792 100644 --- a/content/browser/devtools/devtools_url_request_interceptor.cc +++ b/content/browser/devtools/devtools_url_request_interceptor.cc
@@ -55,7 +55,7 @@ DCHECK_CURRENTLY_ON(BrowserThread::UI); browser_context_->SetUserData( kDevToolsURLRequestInterceptorKeyName, - base::MakeUnique<DevToolsURLRequestInterceptorUserData>(this)); + std::make_unique<DevToolsURLRequestInterceptorUserData>(this)); } DevToolsURLRequestInterceptor::~DevToolsURLRequestInterceptor() {
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc index 4bab8808..99540529 100644 --- a/content/browser/devtools/protocol/network_handler.cc +++ b/content/browser/devtools/protocol/network_handler.cc
@@ -1177,7 +1177,7 @@ devtools_url_request_interceptor->ContinueInterceptedRequest( interception_id, - base::MakeUnique<DevToolsURLRequestInterceptor::Modifications>( + std::make_unique<DevToolsURLRequestInterceptor::Modifications>( std::move(error), std::move(raw_response), std::move(url), std::move(method), std::move(post_data), std::move(headers), std::move(auth_challenge_response), mark_as_canceled),
diff --git a/content/browser/devtools/protocol/storage_handler.cc b/content/browser/devtools/protocol/storage_handler.cc index 4bd83e9d..04273f6 100644 --- a/content/browser/devtools/protocol/storage_handler.cc +++ b/content/browser/devtools/protocol/storage_handler.cc
@@ -248,7 +248,7 @@ } void StorageHandler::Wire(UberDispatcher* dispatcher) { - frontend_ = base::MakeUnique<Storage::Frontend>(dispatcher->channel()); + frontend_ = std::make_unique<Storage::Frontend>(dispatcher->channel()); Storage::Dispatcher::wire(dispatcher, this); }
diff --git a/content/browser/devtools/protocol/tethering_handler.cc b/content/browser/devtools/protocol/tethering_handler.cc index c2178c2..304af587 100644 --- a/content/browser/devtools/protocol/tethering_handler.cc +++ b/content/browser/devtools/protocol/tethering_handler.cc
@@ -272,7 +272,7 @@ BoundSocket::AcceptedCallback accepted = base::Bind( &TetheringHandler::TetheringImpl::Accepted, base::Unretained(this)); std::unique_ptr<BoundSocket> bound_socket = - base::MakeUnique<BoundSocket>(accepted, socket_callback_); + std::make_unique<BoundSocket>(accepted, socket_callback_); if (!bound_socket->Listen(port)) { BrowserThread::PostTask( BrowserThread::UI, FROM_HERE,
diff --git a/content/browser/devtools/protocol/tracing_handler.cc b/content/browser/devtools/protocol/tracing_handler.cc index 9820ee6..b1a10b8 100644 --- a/content/browser/devtools/protocol/tracing_handler.cc +++ b/content/browser/devtools/protocol/tracing_handler.cc
@@ -179,7 +179,7 @@ void TracingHandler::OnTraceComplete() { if (!trace_data_buffer_state_.data.empty()) - OnTraceDataCollected(base::MakeUnique<std::string>("")); + OnTraceDataCollected(std::make_unique<std::string>("")); DCHECK(trace_data_buffer_state_.data.empty()); DCHECK_EQ(0u, trace_data_buffer_state_.pos);
diff --git a/content/browser/devtools/protocol_string.cc b/content/browser/devtools/protocol_string.cc index 891e59c..327d97e1 100644 --- a/content/browser/devtools/protocol_string.cc +++ b/content/browser/devtools/protocol_string.cc
@@ -76,7 +76,7 @@ if (!value || !depth) return nullptr; if (value->type() == protocol::Value::TypeNull) - return base::MakeUnique<base::Value>(); + return std::make_unique<base::Value>(); if (value->type() == protocol::Value::TypeBoolean) { bool inner; value->asBoolean(&inner);
diff --git a/content/browser/dom_storage/dom_storage_area.cc b/content/browser/dom_storage/dom_storage_area.cc index d11eb70..5da5949 100644 --- a/content/browser/dom_storage/dom_storage_area.cc +++ b/content/browser/dom_storage/dom_storage_area.cc
@@ -304,7 +304,7 @@ DCHECK_NE(kLocalStorageNamespaceId, destination_namespace_id); auto original_persistent_namespace_ids = - base::MakeUnique<std::vector<std::string>>(); + std::make_unique<std::vector<std::string>>(); original_persistent_namespace_ids->push_back(persistent_namespace_id_); if (original_persistent_namespace_ids_) { original_persistent_namespace_ids->insert(
diff --git a/content/browser/dom_storage/dom_storage_context_wrapper.cc b/content/browser/dom_storage/dom_storage_context_wrapper.cc index 01218383..bb57d32 100644 --- a/content/browser/dom_storage/dom_storage_context_wrapper.cc +++ b/content/browser/dom_storage/dom_storage_context_wrapper.cc
@@ -49,7 +49,7 @@ base::SingleThreadTaskRunner* reply_task_runner, DOMStorageContextImpl* context, const DOMStorageContext::GetLocalStorageUsageCallback& callback) { - auto infos = base::MakeUnique<std::vector<LocalStorageUsageInfo>>(); + auto infos = std::make_unique<std::vector<LocalStorageUsageInfo>>(); context->GetLocalStorageUsage(infos.get(), true); reply_task_runner->PostTask( FROM_HERE, base::BindOnce(&InvokeLocalStorageUsageCallbackHelper, @@ -151,7 +151,7 @@ const GetLocalStorageUsageCallback& callback) { DCHECK(context_.get()); if (mojo_state_) { - auto infos = base::MakeUnique<std::vector<LocalStorageUsageInfo>>(); + auto infos = std::make_unique<std::vector<LocalStorageUsageInfo>>(); auto* infos_ptr = infos.get(); base::RepeatingClosure got_local_storage_usage = base::BarrierClosure( 2, base::BindOnce(&InvokeLocalStorageUsageCallbackHelper, callback,
diff --git a/content/browser/dom_storage/local_storage_context_mojo.cc b/content/browser/dom_storage/local_storage_context_mojo.cc index 31b1d68f..4639a37 100644 --- a/content/browser/dom_storage/local_storage_context_mojo.cc +++ b/content/browser/dom_storage/local_storage_context_mojo.cc
@@ -91,7 +91,7 @@ DOMStorageDatabase db(db_path); DOMStorageValuesMap map; db.ReadAllValues(&map); - auto values = base::MakeUnique<LevelDBWrapperImpl::ValueMap>(); + auto values = std::make_unique<LevelDBWrapperImpl::ValueMap>(); for (const auto& it : map) { (*values)[LocalStorageContextMojo::MigrateString(it.first)] = LocalStorageContextMojo::MigrateString(it.second.string()); @@ -178,7 +178,7 @@ const int kMaxBytesPerHour = kPerStorageAreaQuota; const int kMaxCommitsPerHour = 60; - level_db_wrapper_ = base::MakeUnique<LevelDBWrapperImpl>( + level_db_wrapper_ = std::make_unique<LevelDBWrapperImpl>( context_->database_.get(), kDataPrefix + origin_.Serialize() + kOriginSeparator, kPerStorageAreaQuota + kPerStorageAreaOverQuotaAllowance, @@ -863,7 +863,7 @@ PurgeUnusedWrappersIfNeeded(); - auto holder = base::MakeUnique<LevelDBWrapperHolder>(this, origin); + auto holder = std::make_unique<LevelDBWrapperHolder>(this, origin); LevelDBWrapperHolder* holder_ptr = holder.get(); level_db_wrappers_[origin] = std::move(holder); return holder_ptr;
diff --git a/content/browser/dom_storage/local_storage_context_mojo_unittest.cc b/content/browser/dom_storage/local_storage_context_mojo_unittest.cc index 3bbc92a..654dba48 100644 --- a/content/browser/dom_storage/local_storage_context_mojo_unittest.cc +++ b/content/browser/dom_storage/local_storage_context_mojo_unittest.cc
@@ -952,7 +952,7 @@ } std::unique_ptr<service_manager::Service> CreateService() override { - return base::MakeUnique<ServiceTestClient>(this); + return std::make_unique<ServiceTestClient>(this); } const base::FilePath& temp_path() { return temp_path_.GetPath(); } @@ -1323,7 +1323,7 @@ ASSERT_EQ(1u, mock_leveldb_service.open_requests_.size()); auto& open_request = mock_leveldb_service.open_requests_[0]; auto mock_db = mojo::MakeStrongAssociatedBinding( - base::MakeUnique<MockLevelDBDatabaseErrorOnWrite>(&test_data), + std::make_unique<MockLevelDBDatabaseErrorOnWrite>(&test_data), std::move(open_request.request)); std::move(open_request.callback).Run(leveldb::mojom::DatabaseError::OK); mock_leveldb_service.open_requests_.clear(); @@ -1393,7 +1393,7 @@ ASSERT_EQ(1u, mock_leveldb_service.open_requests_.size()); auto& reopen_request = mock_leveldb_service.open_requests_[0]; mock_db = mojo::MakeStrongAssociatedBinding( - base::MakeUnique<MockLevelDBDatabase>(&test_data), + std::make_unique<MockLevelDBDatabase>(&test_data), std::move(reopen_request.request)); std::move(reopen_request.callback).Run(leveldb::mojom::DatabaseError::OK); mock_leveldb_service.open_requests_.clear(); @@ -1457,7 +1457,7 @@ ASSERT_EQ(1u, mock_leveldb_service.open_requests_.size()); auto& open_request = mock_leveldb_service.open_requests_[0]; auto mock_db = mojo::MakeStrongAssociatedBinding( - base::MakeUnique<MockLevelDBDatabaseErrorOnWrite>(&test_data), + std::make_unique<MockLevelDBDatabaseErrorOnWrite>(&test_data), std::move(open_request.request)); std::move(open_request.callback).Run(leveldb::mojom::DatabaseError::OK); mock_leveldb_service.open_requests_.clear(); @@ -1504,7 +1504,7 @@ ASSERT_EQ(1u, mock_leveldb_service.open_requests_.size()); auto& reopen_request = mock_leveldb_service.open_requests_[0]; mock_db = mojo::MakeStrongAssociatedBinding( - base::MakeUnique<MockLevelDBDatabaseErrorOnWrite>(&test_data), + std::make_unique<MockLevelDBDatabaseErrorOnWrite>(&test_data), std::move(reopen_request.request)); std::move(reopen_request.callback).Run(leveldb::mojom::DatabaseError::OK); mock_leveldb_service.open_requests_.clear();
diff --git a/content/browser/download/download_browsertest.cc b/content/browser/download/download_browsertest.cc index 2a5d7f2..7b0df1c 100644 --- a/content/browser/download/download_browsertest.cc +++ b/content/browser/download/download_browsertest.cc
@@ -778,7 +778,7 @@ } void SetupErrorInjectionDownloads() { - auto factory = base::MakeUnique<ErrorInjectionDownloadFileFactory>(); + auto factory = std::make_unique<ErrorInjectionDownloadFileFactory>(); inject_error_callback_ = base::Bind( &ErrorInjectionDownloadFileFactory::InjectError, factory->GetWeakPtr()); @@ -889,8 +889,8 @@ class ParallelDownloadTest : public DownloadContentTest { protected: void SetUp() override { - field_trial_list_ = base::MakeUnique<base::FieldTrialList>( - base::MakeUnique<base::MockEntropyProvider>()); + field_trial_list_ = std::make_unique<base::FieldTrialList>( + std::make_unique<base::MockEntropyProvider>()); SetupConfig(); DownloadContentTest::SetUp(); } @@ -913,7 +913,7 @@ base::FieldTrialList::CreateFieldTrial(kTrialName, kGroupName); base::AssociateFieldTrialParams(kTrialName, kGroupName, params); std::unique_ptr<base::FeatureList> feature_list = - base::MakeUnique<base::FeatureList>(); + std::make_unique<base::FeatureList>(); feature_list->RegisterFieldTrialOverride( features::kParallelDownloading.name, base::FeatureList::OVERRIDE_ENABLE_FEATURE, trial.get());
diff --git a/content/browser/download/download_file_impl.cc b/content/browser/download/download_file_impl.cc index 8926b4b..ea230c3 100644 --- a/content/browser/download/download_file_impl.cc +++ b/content/browser/download/download_file_impl.cc
@@ -79,12 +79,12 @@ void DownloadFileImpl::SourceStream::Initialize() { if (stream_handle_.is_null()) return; - binding_ = base::MakeUnique<mojo::Binding<mojom::DownloadStreamClient>>( + binding_ = std::make_unique<mojo::Binding<mojom::DownloadStreamClient>>( this, std::move(stream_handle_->client_request)); binding_->set_connection_error_handler(base::Bind( &DownloadFileImpl::SourceStream::OnStreamCompleted, base::Unretained(this), mojom::NetworkRequestStatus::USER_CANCELED)); - handle_watcher_ = base::MakeUnique<mojo::SimpleWatcher>( + handle_watcher_ = std::make_unique<mojo::SimpleWatcher>( FROM_HERE, mojo::SimpleWatcher::ArmingPolicy::AUTOMATIC); } @@ -207,7 +207,7 @@ default_download_directory, download_item_net_log, observer) { - source_streams_[save_info_->offset] = base::MakeUnique<SourceStream>( + source_streams_[save_info_->offset] = std::make_unique<SourceStream>( save_info_->offset, save_info_->length, std::move(stream)); } @@ -298,7 +298,7 @@ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); source_streams_[offset] = - base::MakeUnique<SourceStream>(offset, length, std::move(stream)); + std::make_unique<SourceStream>(offset, length, std::move(stream)); OnSourceStreamAdded(source_streams_[offset].get()); }
diff --git a/content/browser/download/download_file_unittest.cc b/content/browser/download/download_file_unittest.cc index 64192135..7e29d5b 100644 --- a/content/browser/download/download_file_unittest.cc +++ b/content/browser/download/download_file_unittest.cc
@@ -228,7 +228,7 @@ download_file_.reset(new TestDownloadFileImpl( std::move(save_info), base::FilePath(), - base::MakeUnique<DownloadManager::InputStream>( + std::make_unique<DownloadManager::InputStream>( std::unique_ptr<ByteStreamReader>(input_stream_)), net::NetLogWithSource(), observer_factory_.GetWeakPtr())); @@ -919,7 +919,7 @@ // Activate the streams. download_file_->AddInputStream( - base::MakeUnique<DownloadManager::InputStream>( + std::make_unique<DownloadManager::InputStream>( std::unique_ptr<ByteStreamReader>(additional_streams_[0])), stream_0_length, DownloadSaveInfo::kLengthFullContent); sink_callback_.Run(); @@ -966,11 +966,11 @@ // Activate all the streams. download_file_->AddInputStream( - base::MakeUnique<DownloadManager::InputStream>( + std::make_unique<DownloadManager::InputStream>( std::unique_ptr<ByteStreamReader>(additional_streams_[0])), stream_0_length, stream_1_length); download_file_->AddInputStream( - base::MakeUnique<DownloadManager::InputStream>( + std::make_unique<DownloadManager::InputStream>( std::unique_ptr<ByteStreamReader>(additional_streams_[1])), stream_0_length + stream_1_length, DownloadSaveInfo::kLengthFullContent); sink_callback_.Run(); @@ -1012,7 +1012,7 @@ additional_streams_[0] = new StrictMock<MockByteStreamReader>(); download_file_->AddInputStream( - base::MakeUnique<DownloadManager::InputStream>( + std::make_unique<DownloadManager::InputStream>( std::unique_ptr<ByteStreamReader>(additional_streams_[0])), stream_0_length - 1, DownloadSaveInfo::kLengthFullContent); base::RunLoop().RunUntilIdle(); @@ -1053,7 +1053,7 @@ .RetiresOnSaturation(); download_file_->AddInputStream( - base::MakeUnique<DownloadManager::InputStream>( + std::make_unique<DownloadManager::InputStream>( std::unique_ptr<ByteStreamReader>(additional_streams_[0])), 0, DownloadSaveInfo::kLengthFullContent);
diff --git a/content/browser/download/download_item_impl_unittest.cc b/content/browser/download/download_item_impl_unittest.cc index f682b55..8bee210 100644 --- a/content/browser/download/download_item_impl_unittest.cc +++ b/content/browser/download/download_item_impl_unittest.cc
@@ -322,7 +322,7 @@ } std::unique_ptr<MockRequestHandle> request_handle = - base::MakeUnique<NiceMock<MockRequestHandle>>(); + std::make_unique<NiceMock<MockRequestHandle>>(); item->Start(std::move(download_file), std::move(request_handle), *create_info_); task_environment_.RunUntilIdle(); @@ -852,9 +852,9 @@ for (int i = 0; i < (DownloadItemImpl::kMaxAutoResumeAttempts + 1); ++i) { SCOPED_TRACE(::testing::Message() << "Iteration " << i); - mock_download_file = base::MakeUnique<NiceMock<MockDownloadFile>>(); + mock_download_file = std::make_unique<NiceMock<MockDownloadFile>>(); mock_download_file_ref = mock_download_file.get(); - mock_request_handle = base::MakeUnique<NiceMock<MockRequestHandle>>(); + mock_request_handle = std::make_unique<NiceMock<MockRequestHandle>>(); ON_CALL(*mock_download_file_ref, FullPath()) .WillByDefault(ReturnRefOfCopy(base::FilePath())); @@ -1168,9 +1168,9 @@ // file initialization failing. TEST_F(DownloadItemTest, InitDownloadFileFails) { DownloadItemImpl* item = CreateDownloadItem(); - std::unique_ptr<MockDownloadFile> file = base::MakeUnique<MockDownloadFile>(); + std::unique_ptr<MockDownloadFile> file = std::make_unique<MockDownloadFile>(); std::unique_ptr<MockRequestHandle> request_handle = - base::MakeUnique<MockRequestHandle>(); + std::make_unique<MockRequestHandle>(); base::HistogramTester histogram_tester; EXPECT_CALL(*file, Cancel());
diff --git a/content/browser/download/download_job_factory.cc b/content/browser/download/download_job_factory.cc index 79a9376..0c7e01e3 100644 --- a/content/browser/download/download_job_factory.cc +++ b/content/browser/download/download_job_factory.cc
@@ -96,20 +96,19 @@ const DownloadCreateInfo& create_info, bool is_save_package_download) { if (is_save_package_download) { - return base::MakeUnique<SavePackageDownloadJob>(download_item, + return std::make_unique<SavePackageDownloadJob>(download_item, std::move(req_handle)); } bool is_parallelizable = IsParallelizableDownload(create_info, download_item); // Build parallel download job. if (IsParallelDownloadEnabled() && is_parallelizable) { - return base::MakeUnique<ParallelDownloadJob>(download_item, - std::move(req_handle), - create_info); + return std::make_unique<ParallelDownloadJob>( + download_item, std::move(req_handle), create_info); } // An ordinary download job. - return base::MakeUnique<DownloadJobImpl>(download_item, std::move(req_handle), + return std::make_unique<DownloadJobImpl>(download_item, std::move(req_handle), is_parallelizable); }
diff --git a/content/browser/download/download_job_unittest.cc b/content/browser/download/download_job_unittest.cc index ee758ad..9721059d0 100644 --- a/content/browser/download/download_job_unittest.cc +++ b/content/browser/download/download_job_unittest.cc
@@ -24,10 +24,10 @@ ~DownloadJobTest() override = default; void SetUp() override { - item_delegate_ = base::MakeUnique<DownloadItemImplDelegate>(); + item_delegate_ = std::make_unique<DownloadItemImplDelegate>(); download_item_ = - base::MakeUnique<NiceMock<MockDownloadItemImpl>>(item_delegate_.get()); - download_job_ = base::MakeUnique<MockDownloadJob>(download_item_.get()); + std::make_unique<NiceMock<MockDownloadItemImpl>>(item_delegate_.get()); + download_job_ = std::make_unique<MockDownloadJob>(download_item_.get()); } content::TestBrowserThreadBundle browser_threads_;
diff --git a/content/browser/download/download_manager_impl.cc b/content/browser/download/download_manager_impl.cc index 7ae8a79..cd82ef85 100644 --- a/content/browser/download/download_manager_impl.cc +++ b/content/browser/download/download_manager_impl.cc
@@ -112,7 +112,7 @@ BrowserThread::UI, FROM_HERE, base::BindOnce(&DownloadManager::StartDownload, download_manager, std::move(failed_created_info), - base::MakeUnique<DownloadManager::InputStream>( + std::make_unique<DownloadManager::InputStream>( std::move(empty_byte_stream)), params->callback())); }
diff --git a/content/browser/download/download_manager_impl_unittest.cc b/content/browser/download/download_manager_impl_unittest.cc index 9e4379af..19c8d86 100644 --- a/content/browser/download/download_manager_impl_unittest.cc +++ b/content/browser/download/download_manager_impl_unittest.cc
@@ -558,7 +558,7 @@ .WillRepeatedly(Return("client-id")); MockDownloadFile* mock_file = new MockDownloadFile; auto input_stream = - base::MakeUnique<DownloadManager::InputStream>(std::move(stream)); + std::make_unique<DownloadManager::InputStream>(std::move(stream)); EXPECT_CALL(*mock_download_file_factory_.get(), MockCreateFile(Ref(*info->save_info.get()), input_stream.get())) .WillOnce(Return(mock_file));
diff --git a/content/browser/download/download_request_core.cc b/content/browser/download/download_request_core.cc index 669ff10..0e9499a2 100644 --- a/content/browser/download/download_request_core.cc +++ b/content/browser/download/download_request_core.cc
@@ -88,7 +88,7 @@ void DownloadRequestData::Attach(net::URLRequest* request, DownloadUrlParameters* parameters, uint32_t download_id) { - auto request_data = base::MakeUnique<DownloadRequestData>(); + auto request_data = std::make_unique<DownloadRequestData>(); request_data->save_info_.reset( new DownloadSaveInfo(parameters->GetSaveInfo())); request_data->download_id_ = download_id;
diff --git a/content/browser/download/download_request_core_unittest.cc b/content/browser/download/download_request_core_unittest.cc index d94c5b3..d2adc595 100644 --- a/content/browser/download/download_request_core_unittest.cc +++ b/content/browser/download/download_request_core_unittest.cc
@@ -29,7 +29,7 @@ std::unique_ptr<DownloadUrlParameters> BuildDownloadParameters( const std::string& url) const { GURL gurl(url); - return base::MakeUnique<DownloadUrlParameters>( + return std::make_unique<DownloadUrlParameters>( gurl, request_context_getter_.get(), TRAFFIC_ANNOTATION_FOR_TESTS); }
diff --git a/content/browser/download/download_resource_handler.cc b/content/browser/download/download_resource_handler.cc index d8a680d..8d037024 100644 --- a/content/browser/download/download_resource_handler.cc +++ b/content/browser/download/download_resource_handler.cc
@@ -81,7 +81,7 @@ download_manager->StartDownload( std::move(info), - base::MakeUnique<DownloadManager::InputStream>(std::move(stream)), + std::make_unique<DownloadManager::InputStream>(std::move(stream)), started_cb); }
diff --git a/content/browser/download/download_response_handler.cc b/content/browser/download/download_response_handler.cc index 29b568d9..9f6e43f 100644 --- a/content/browser/download/download_response_handler.cc +++ b/content/browser/download/download_response_handler.cc
@@ -107,7 +107,7 @@ const ResourceResponseHead& head) { // TODO(qinmin): instead of using NetLogWithSource, introduce new logging // class for download. - auto create_info = base::MakeUnique<DownloadCreateInfo>( + auto create_info = std::make_unique<DownloadCreateInfo>( base::Time::Now(), net::NetLogWithSource(), std::move(save_info_)); DownloadInterruptReason result =
diff --git a/content/browser/download/download_utils.cc b/content/browser/download/download_utils.cc index ed6a1af..da7bf3d 100644 --- a/content/browser/download/download_utils.cc +++ b/content/browser/download/download_utils.cc
@@ -53,7 +53,7 @@ std::unique_ptr<net::HttpRequestHeaders> GetAdditionalRequestHeaders( DownloadUrlParameters* params) { - auto headers = base::MakeUnique<net::HttpRequestHeaders>(); + auto headers = std::make_unique<net::HttpRequestHeaders>(); if (params->offset() == 0 && params->length() == DownloadSaveInfo::kLengthFullContent) { AppendExtraHeaders(headers.get(), params); @@ -239,7 +239,7 @@ DCHECK(params->prefer_cache()); DCHECK_EQ("POST", params->method()); std::vector<std::unique_ptr<net::UploadElementReader>> element_readers; - request->set_upload(base::MakeUnique<net::ElementsUploadDataStream>( + request->set_upload(std::make_unique<net::ElementsUploadDataStream>( std::move(element_readers), params->post_id())); }
diff --git a/content/browser/download/parallel_download_job.cc b/content/browser/download/parallel_download_job.cc index 424f73e..ae292af7 100644 --- a/content/browser/download/parallel_download_job.cc +++ b/content/browser/download/parallel_download_job.cc
@@ -121,7 +121,7 @@ DownloadWorker* worker, std::unique_ptr<ByteStreamReader> stream_reader) { bool success = DownloadJob::AddInputStream( - base::MakeUnique<DownloadManager::InputStream>(std::move(stream_reader)), + std::make_unique<DownloadManager::InputStream>(std::move(stream_reader)), worker->offset(), worker->length()); RecordParallelDownloadAddStreamSuccess(success); @@ -234,7 +234,7 @@ DCHECK(download_item_); std::unique_ptr<DownloadWorker> worker = - base::MakeUnique<DownloadWorker>(this, offset, length); + std::make_unique<DownloadWorker>(this, offset, length); StoragePartition* storage_partition = BrowserContext::GetStoragePartitionForSite(
diff --git a/content/browser/download/parallel_download_job_unittest.cc b/content/browser/download/parallel_download_job_unittest.cc index 36fc086..3c5a172 100644 --- a/content/browser/download/parallel_download_job_unittest.cc +++ b/content/browser/download/parallel_download_job_unittest.cc
@@ -86,7 +86,7 @@ void CreateRequest(int64_t offset, int64_t length) override { std::unique_ptr<DownloadWorker> worker = - base::MakeUnique<DownloadWorker>(this, offset, length); + std::make_unique<DownloadWorker>(this, offset, length); DCHECK(workers_.find(offset) == workers_.end()); workers_[offset] = std::move(worker); @@ -133,10 +133,10 @@ int request_count, int64_t min_slice_size, int min_remaining_time) { - item_delegate_ = base::MakeUnique<DownloadItemImplDelegate>(); + item_delegate_ = std::make_unique<DownloadItemImplDelegate>(); received_slices_ = slices; download_item_ = - base::MakeUnique<NiceMock<MockDownloadItemImpl>>(item_delegate_.get()); + std::make_unique<NiceMock<MockDownloadItemImpl>>(item_delegate_.get()); EXPECT_CALL(*download_item_, GetTotalBytes()) .WillRepeatedly(Return(initial_request_offset + content_length)); EXPECT_CALL(*download_item_, GetReceivedBytes()) @@ -148,9 +148,9 @@ info.offset = initial_request_offset; info.total_bytes = content_length; std::unique_ptr<MockDownloadRequestHandle> request_handle = - base::MakeUnique<MockDownloadRequestHandle>(); + std::make_unique<MockDownloadRequestHandle>(); mock_request_handle_ = request_handle.get(); - job_ = base::MakeUnique<ParallelDownloadJobForTest>( + job_ = std::make_unique<ParallelDownloadJobForTest>( download_item_.get(), std::move(request_handle), info, request_count, min_slice_size, min_remaining_time); file_initialized_ = false; @@ -177,12 +177,12 @@ UrlDownloadHandler::Delegate* delegate = static_cast<UrlDownloadHandler::Delegate*>(worker); std::unique_ptr<DownloadCreateInfo> create_info = - base::MakeUnique<DownloadCreateInfo>(); + std::make_unique<DownloadCreateInfo>(); create_info->request_handle = std::move(request_handle); delegate->OnUrlDownloadStarted( std::move(create_info), - base::MakeUnique<DownloadManager::InputStream>( - base::MakeUnique<MockByteStreamReader>()), + std::make_unique<DownloadManager::InputStream>( + std::make_unique<MockByteStreamReader>()), DownloadUrlParameters::OnStartedCallback()); } @@ -395,7 +395,7 @@ for (auto& worker : job_->workers()) { std::unique_ptr<MockDownloadRequestHandle> mock_handle = - base::MakeUnique<MockDownloadRequestHandle>(); + std::make_unique<MockDownloadRequestHandle>(); EXPECT_CALL(*mock_handle.get(), CancelRequest(_)); MakeWorkerReady(worker.second.get(), std::move(mock_handle)); } @@ -420,7 +420,7 @@ for (auto& worker : job_->workers()) { EXPECT_CALL(*job_.get(), CountOnByteStreamReady()); std::unique_ptr<MockDownloadRequestHandle> mock_handle = - base::MakeUnique<MockDownloadRequestHandle>(); + std::make_unique<MockDownloadRequestHandle>(); EXPECT_CALL(*mock_handle.get(), PauseRequest()); MakeWorkerReady(worker.second.get(), std::move(mock_handle)); } @@ -441,16 +441,16 @@ // Test that parallel request is not created until download file is initialized. TEST_F(ParallelDownloadJobTest, ParallelRequestNotCreatedUntilFileInitialized) { - auto save_info = base::MakeUnique<DownloadSaveInfo>(); + auto save_info = std::make_unique<DownloadSaveInfo>(); StrictMock<MockByteStreamReader>* input_stream = new StrictMock<MockByteStreamReader>(); auto observer = - base::MakeUnique<StrictMock<MockDownloadDestinationObserver>>(); + std::make_unique<StrictMock<MockDownloadDestinationObserver>>(); base::WeakPtrFactory<DownloadDestinationObserver> observer_factory( observer.get()); - auto download_file = base::MakeUnique<DownloadFileImpl>( + auto download_file = std::make_unique<DownloadFileImpl>( std::move(save_info), base::FilePath(), - base::MakeUnique<DownloadManager::InputStream>( + std::make_unique<DownloadManager::InputStream>( std::unique_ptr<ByteStreamReader>(input_stream)), net::NetLogWithSource(), observer_factory.GetWeakPtr()); CreateParallelJob(0, 100, DownloadItem::ReceivedSlices(), 2, 0, 0);
diff --git a/content/browser/download/resource_downloader.cc b/content/browser/download/resource_downloader.cc index 5df0948..ede500f 100644 --- a/content/browser/download/resource_downloader.cc +++ b/content/browser/download/resource_downloader.cc
@@ -56,9 +56,9 @@ params->url().SchemeIs(url::kBlobScheme) ? url_loader_factory_getter->GetBlobFactory() : url_loader_factory_getter->GetNetworkFactory(); - auto downloader = base::MakeUnique<ResourceDownloader>( + auto downloader = std::make_unique<ResourceDownloader>( delegate, std::move(request), - base::MakeUnique<DownloadSaveInfo>(params->GetSaveInfo()), download_id, + std::make_unique<DownloadSaveInfo>(params->GetSaveInfo()), download_id, params->guid(), is_parallel_request, params->is_transient(), params->fetch_error_body()); downloader->Start(factory, file_system_context, std::move(params)); @@ -76,9 +76,9 @@ std::unique_ptr<ThrottlingURLLoader> url_loader, std::vector<GURL> url_chain, base::Optional<ResourceRequestCompletionStatus> completion_status) { - auto downloader = base::MakeUnique<ResourceDownloader>( + auto downloader = std::make_unique<ResourceDownloader>( delegate, std::move(resource_request), - base::MakeUnique<DownloadSaveInfo>(), content::DownloadItem::kInvalidId, + std::make_unique<DownloadSaveInfo>(), content::DownloadItem::kInvalidId, std::string(), false, false, false); downloader->InterceptResponse(std::move(url_loader), response, std::move(consumer_handle), ssl_status, @@ -170,7 +170,7 @@ BrowserThread::UI, FROM_HERE, base::BindOnce(&UrlDownloadHandler::Delegate::OnUrlDownloadStarted, delegate_, std::move(download_create_info), - base::MakeUnique<DownloadManager::InputStream>( + std::make_unique<DownloadManager::InputStream>( std::move(stream_handle)), callback_)); }
diff --git a/content/browser/download/save_file_manager.cc b/content/browser/download/save_file_manager.cc index b2458d29..6473cd1 100644 --- a/content/browser/download/save_file_manager.cc +++ b/content/browser/download/save_file_manager.cc
@@ -183,7 +183,7 @@ DCHECK(GetDownloadTaskRunner()->RunsTasksInCurrentSequence()); DCHECK(info); // No need to calculate hash. - std::unique_ptr<SaveFile> save_file = base::MakeUnique<SaveFile>(info, false); + std::unique_ptr<SaveFile> save_file = std::make_unique<SaveFile>(info, false); // TODO(phajdan.jr): We should check the return value and handle errors here. save_file->Initialize();
diff --git a/content/browser/download/save_package_browsertest.cc b/content/browser/download/save_package_browsertest.cc index 6d4eb46..6cfc170 100644 --- a/content/browser/download/save_package_browsertest.cc +++ b/content/browser/download/save_package_browsertest.cc
@@ -100,7 +100,7 @@ static_cast<DownloadManagerImpl*>(BrowserContext::GetDownloadManager( shell()->web_contents()->GetBrowserContext())); auto delegate = - base::MakeUnique<TestShellDownloadManagerDelegate>(save_page_type); + std::make_unique<TestShellDownloadManagerDelegate>(save_page_type); delegate->download_dir_ = save_dir_.GetPath(); auto* old_delegate = download_manager->GetDelegate(); download_manager->SetDelegate(delegate.get());
diff --git a/content/browser/download/slow_download_http_response.cc b/content/browser/download/slow_download_http_response.cc index 2f0249a..3d1ceb7 100644 --- a/content/browser/download/slow_download_http_response.cc +++ b/content/browser/download/slow_download_http_response.cc
@@ -70,7 +70,7 @@ return nullptr; } auto response = - base::MakeUnique<SlowDownloadHttpResponse>(request.relative_url); + std::make_unique<SlowDownloadHttpResponse>(request.relative_url); return std::move(response); }
diff --git a/content/browser/download/test_download_http_response.cc b/content/browser/download/test_download_http_response.cc index caf5360..7ba18e07 100644 --- a/content/browser/download/test_download_http_response.cc +++ b/content/browser/download/test_download_http_response.cc
@@ -257,7 +257,7 @@ request.relative_url.c_str())); auto iter = g_parameters_map.Get().find(url); if (iter != g_parameters_map.Get().end()) { - return base::MakeUnique<TestDownloadHttpResponse>( + return std::make_unique<TestDownloadHttpResponse>( request, std::move(iter->second), on_response_sent_callback); } return nullptr; @@ -317,7 +317,7 @@ void TestDownloadHttpResponse::SendResponse( const net::test_server::SendBytesCallback& send, const net::test_server::SendCompleteCallback& done) { - auto completed_request = base::MakeUnique<CompletedRequest>(request_); + auto completed_request = std::make_unique<CompletedRequest>(request_); bool should_abort_immediately = !parameters_.injected_errors.empty() && parameters_.injected_errors.front() == -1 &&
diff --git a/content/browser/download/url_downloader.cc b/content/browser/download/url_downloader.cc index f6b3a4a6..2568bf82 100644 --- a/content/browser/download/url_downloader.cc +++ b/content/browser/download/url_downloader.cc
@@ -218,7 +218,7 @@ BrowserThread::UI, FROM_HERE, base::BindOnce(&UrlDownloadHandler::Delegate::OnUrlDownloadStarted, delegate_, std::move(create_info), - base::MakeUnique<DownloadManager::InputStream>( + std::make_unique<DownloadManager::InputStream>( std::move(stream_reader)), callback)); }
diff --git a/content/browser/field_trial_recorder.cc b/content/browser/field_trial_recorder.cc index 02c672d..ed847e7 100644 --- a/content/browser/field_trial_recorder.cc +++ b/content/browser/field_trial_recorder.cc
@@ -17,7 +17,7 @@ // static void FieldTrialRecorder::Create( mojom::FieldTrialRecorderRequest request) { - mojo::MakeStrongBinding(base::MakeUnique<FieldTrialRecorder>(), + mojo::MakeStrongBinding(std::make_unique<FieldTrialRecorder>(), std::move(request)); }
diff --git a/content/browser/find_request_manager.cc b/content/browser/find_request_manager.cc index f224f70..b38fc35 100644 --- a/content/browser/find_request_manager.cc +++ b/content/browser/find_request_manager.cc
@@ -563,7 +563,7 @@ // This is an initial find operation. Reset(request); for (WebContentsImpl* contents : contents_->GetWebContentsAndAllInner()) { - frame_observers_.push_back(base::MakeUnique<FrameObserver>(contents, this)); + frame_observers_.push_back(std::make_unique<FrameObserver>(contents, this)); for (FrameTreeNode* node : contents->GetFrameTree()->Nodes()) { AddFrame(node->current_frame_host(), false /* force */); }
diff --git a/content/browser/frame_host/cross_process_frame_connector.cc b/content/browser/frame_host/cross_process_frame_connector.cc index 49d02d2..ca06669 100644 --- a/content/browser/frame_host/cross_process_frame_connector.cc +++ b/content/browser/frame_host/cross_process_frame_connector.cc
@@ -21,6 +21,7 @@ #include "content/browser/renderer_host/render_widget_host_input_event_router.h" #include "content/browser/renderer_host/render_widget_host_view_base.h" #include "content/browser/renderer_host/render_widget_host_view_child_frame.h" +#include "content/common/content_switches_internal.h" #include "content/common/frame_messages.h" #include "content/public/common/screen_info.h" #include "gpu/ipc/common/gpu_messages.h" @@ -89,7 +90,6 @@ // try to move these updates to a single IPC (see https://crbug.com/750179). if (view_) { view_->SetFrameConnectorDelegate(this); - SetRect(child_frame_rect_); if (is_hidden_) OnVisibilityChanged(false); frame_proxy_in_parent_renderer_->Send(new FrameMsg_ViewChanged( @@ -122,7 +122,7 @@ } gfx::Rect CrossProcessFrameConnector::ChildFrameRect() { - return child_frame_rect_; + return frame_rect_in_dip_; } void CrossProcessFrameConnector::UpdateCursor(const WebCursor& cursor) { @@ -216,7 +216,7 @@ ->delegate() ->GetInputEventRouter(); - gfx::Vector2d offset_from_parent = child_frame_rect_.OffsetFromOrigin(); + gfx::Vector2d offset_from_parent = frame_rect_in_dip_.OffsetFromOrigin(); blink::WebGestureEvent resent_gesture_event(event); // TODO(kenrb, wjmaclean): Do we need to account for transforms here? // See https://crbug.com/626020. @@ -279,7 +279,7 @@ const viz::LocalSurfaceId& local_surface_id) { // If the |frame_rect| or |screen_info| of the frame has changed, then the // viz::LocalSurfaceId must also change. - if ((child_frame_rect_.size() != frame_rect.size() || + if ((frame_rect_.size() != frame_rect.size() || screen_info_ != screen_info) && local_surface_id_ == local_surface_id) { bad_message::ReceivedBadMessage( @@ -288,11 +288,9 @@ return; } - child_frame_rect_ = frame_rect; screen_info_ = screen_info; local_surface_id_ = local_surface_id; - if (!frame_rect.size().IsEmpty()) - SetRect(frame_rect); + SetRect(frame_rect); view_->GetRenderWidgetHost()->WasResized(); } @@ -338,18 +336,23 @@ } void CrossProcessFrameConnector::SetRect(const gfx::Rect& frame_rect) { - gfx::Rect old_rect = child_frame_rect_; - child_frame_rect_ = frame_rect; + gfx::Rect old_rect = frame_rect_; + frame_rect_ = frame_rect; + frame_rect_in_dip_ = frame_rect; + if (IsUseZoomForDSFEnabled()) { + frame_rect_in_dip_ = gfx::ScaleToEnclosingRect( + frame_rect_in_dip_, 1.f / screen_info_.device_scale_factor); + } + if (view_) { - view_->SetBounds(frame_rect); + view_->SetBounds(frame_rect_in_dip_); // Other local root frames nested underneath this one implicitly have their // view rects changed when their ancestor is repositioned, and therefore // need to have their screen rects updated. FrameTreeNode* proxy_node = frame_proxy_in_parent_renderer_->frame_tree_node(); - if (old_rect.x() != child_frame_rect_.x() || - old_rect.y() != child_frame_rect_.y()) { + if (old_rect.x() != frame_rect_.x() || old_rect.y() != frame_rect_.y()) { for (FrameTreeNode* node : proxy_node->frame_tree()->SubtreeNodes(proxy_node)) { if (node != proxy_node && node->current_frame_host()->is_local_root()) @@ -434,7 +437,7 @@ void CrossProcessFrameConnector::ResetFrameRect() { local_surface_id_ = viz::LocalSurfaceId(); - child_frame_rect_ = gfx::Rect(); + frame_rect_ = gfx::Rect(); } } // namespace content
diff --git a/content/browser/frame_host/cross_process_frame_connector.h b/content/browser/frame_host/cross_process_frame_connector.h index 1fa7737..69e69df 100644 --- a/content/browser/frame_host/cross_process_frame_connector.h +++ b/content/browser/frame_host/cross_process_frame_connector.h
@@ -141,7 +141,8 @@ // The RenderWidgetHostView for the frame. Initially NULL. RenderWidgetHostViewChildFrame* view_; - gfx::Rect child_frame_rect_; + gfx::Rect frame_rect_; + gfx::Rect frame_rect_in_dip_; bool is_inert_ = false; // Visibility state of the corresponding frame owner element in parent process
diff --git a/content/browser/frame_host/data_url_navigation_throttle.cc b/content/browser/frame_host/data_url_navigation_throttle.cc index 115629f..898934c3 100644 --- a/content/browser/frame_host/data_url_navigation_throttle.cc +++ b/content/browser/frame_host/data_url_navigation_throttle.cc
@@ -72,7 +72,7 @@ !navigation_handle->IsSameDocument() && !base::FeatureList::IsEnabled( features::kAllowContentInitiatedDataUrlNavigations)) { - return base::MakeUnique<DataUrlNavigationThrottle>(navigation_handle); + return std::make_unique<DataUrlNavigationThrottle>(navigation_handle); } return nullptr; }
diff --git a/content/browser/frame_host/frame_tree_node.cc b/content/browser/frame_host/frame_tree_node.cc index a381bb7..1c5291d 100644 --- a/content/browser/frame_host/frame_tree_node.cc +++ b/content/browser/frame_host/frame_tree_node.cc
@@ -260,7 +260,7 @@ opener_ = opener; if (opener_) { - opener_observer_ = base::MakeUnique<OpenerDestroyedObserver>(this, false); + opener_observer_ = std::make_unique<OpenerDestroyedObserver>(this, false); opener_->AddObserver(opener_observer_.get()); } } @@ -278,7 +278,7 @@ if (original_opener_) { original_opener_observer_ = - base::MakeUnique<OpenerDestroyedObserver>(this, true); + std::make_unique<OpenerDestroyedObserver>(this, true); original_opener_->AddObserver(original_opener_observer_.get()); } }
diff --git a/content/browser/frame_host/input/input_injector_impl.cc b/content/browser/frame_host/input/input_injector_impl.cc index cf14431c..cdbfd92 100644 --- a/content/browser/frame_host/input/input_injector_impl.cc +++ b/content/browser/frame_host/input/input_injector_impl.cc
@@ -26,7 +26,7 @@ void InputInjectorImpl::Create(base::WeakPtr<RenderFrameHostImpl> frame_host, mojom::InputInjectorRequest request) { - mojo::MakeStrongBinding(base::MakeUnique<InputInjectorImpl>(frame_host), + mojo::MakeStrongBinding(std::make_unique<InputInjectorImpl>(frame_host), std::move(request)); }
diff --git a/content/browser/frame_host/input/legacy_ipc_frame_input_handler.cc b/content/browser/frame_host/input/legacy_ipc_frame_input_handler.cc index c4c2621..322b6521 100644 --- a/content/browser/frame_host/input/legacy_ipc_frame_input_handler.cc +++ b/content/browser/frame_host/input/legacy_ipc_frame_input_handler.cc
@@ -33,32 +33,32 @@ ime_text_spans.push_back(blink_ime_text_span); } - SendInput(base::MakeUnique<InputMsg_SetCompositionFromExistingText>( + SendInput(std::make_unique<InputMsg_SetCompositionFromExistingText>( routing_id_, start, end, ime_text_spans)); } void LegacyIPCFrameInputHandler::ExtendSelectionAndDelete(int32_t before, int32_t after) { - SendInput(base::MakeUnique<InputMsg_ExtendSelectionAndDelete>(routing_id_, + SendInput(std::make_unique<InputMsg_ExtendSelectionAndDelete>(routing_id_, before, after)); } void LegacyIPCFrameInputHandler::DeleteSurroundingText(int32_t before, int32_t after) { - SendInput(base::MakeUnique<InputMsg_DeleteSurroundingText>(routing_id_, + SendInput(std::make_unique<InputMsg_DeleteSurroundingText>(routing_id_, before, after)); } void LegacyIPCFrameInputHandler::DeleteSurroundingTextInCodePoints( int32_t before, int32_t after) { - SendInput(base::MakeUnique<InputMsg_DeleteSurroundingTextInCodePoints>( + SendInput(std::make_unique<InputMsg_DeleteSurroundingTextInCodePoints>( routing_id_, before, after)); } void LegacyIPCFrameInputHandler::SetEditableSelectionOffsets(int32_t start, int32_t end) { - SendInput(base::MakeUnique<InputMsg_SetEditableSelectionOffsets>(routing_id_, + SendInput(std::make_unique<InputMsg_SetEditableSelectionOffsets>(routing_id_, start, end)); } @@ -66,72 +66,72 @@ const std::string& command, const base::Optional<base::string16>& value) { if (!value) { - SendInput(base::MakeUnique<InputMsg_ExecuteNoValueEditCommand>(routing_id_, + SendInput(std::make_unique<InputMsg_ExecuteNoValueEditCommand>(routing_id_, command)); } } void LegacyIPCFrameInputHandler::Undo() { - SendInput(base::MakeUnique<InputMsg_Undo>(routing_id_)); + SendInput(std::make_unique<InputMsg_Undo>(routing_id_)); } void LegacyIPCFrameInputHandler::Redo() { - SendInput(base::MakeUnique<InputMsg_Redo>(routing_id_)); + SendInput(std::make_unique<InputMsg_Redo>(routing_id_)); } void LegacyIPCFrameInputHandler::Cut() { - SendInput(base::MakeUnique<InputMsg_Cut>(routing_id_)); + SendInput(std::make_unique<InputMsg_Cut>(routing_id_)); } void LegacyIPCFrameInputHandler::Copy() { - SendInput(base::MakeUnique<InputMsg_Copy>(routing_id_)); + SendInput(std::make_unique<InputMsg_Copy>(routing_id_)); } void LegacyIPCFrameInputHandler::CopyToFindPboard() { #if defined(OS_MACOSX) - SendInput(base::MakeUnique<InputMsg_CopyToFindPboard>(routing_id_)); + SendInput(std::make_unique<InputMsg_CopyToFindPboard>(routing_id_)); #endif } void LegacyIPCFrameInputHandler::Paste() { - SendInput(base::MakeUnique<InputMsg_Paste>(routing_id_)); + SendInput(std::make_unique<InputMsg_Paste>(routing_id_)); } void LegacyIPCFrameInputHandler::PasteAndMatchStyle() { - SendInput(base::MakeUnique<InputMsg_PasteAndMatchStyle>(routing_id_)); + SendInput(std::make_unique<InputMsg_PasteAndMatchStyle>(routing_id_)); } void LegacyIPCFrameInputHandler::Replace(const base::string16& word) { - SendInput(base::MakeUnique<InputMsg_Replace>(routing_id_, word)); + SendInput(std::make_unique<InputMsg_Replace>(routing_id_, word)); } void LegacyIPCFrameInputHandler::ReplaceMisspelling( const base::string16& word) { - SendInput(base::MakeUnique<InputMsg_ReplaceMisspelling>(routing_id_, word)); + SendInput(std::make_unique<InputMsg_ReplaceMisspelling>(routing_id_, word)); } void LegacyIPCFrameInputHandler::Delete() { - SendInput(base::MakeUnique<InputMsg_Delete>(routing_id_)); + SendInput(std::make_unique<InputMsg_Delete>(routing_id_)); } void LegacyIPCFrameInputHandler::SelectAll() { - SendInput(base::MakeUnique<InputMsg_SelectAll>(routing_id_)); + SendInput(std::make_unique<InputMsg_SelectAll>(routing_id_)); } void LegacyIPCFrameInputHandler::CollapseSelection() { - SendInput(base::MakeUnique<InputMsg_CollapseSelection>(routing_id_)); + SendInput(std::make_unique<InputMsg_CollapseSelection>(routing_id_)); } void LegacyIPCFrameInputHandler::SelectRange(const gfx::Point& point, const gfx::Point& extent) { - SendInput(base::MakeUnique<InputMsg_SelectRange>(routing_id_, point, extent)); + SendInput(std::make_unique<InputMsg_SelectRange>(routing_id_, point, extent)); } void LegacyIPCFrameInputHandler::AdjustSelectionByCharacterOffset( int32_t start, int32_t end, blink::mojom::SelectionMenuBehavior selection_menu_behavior) { - SendInput(base::MakeUnique<InputMsg_AdjustSelectionByCharacterOffset>( + SendInput(std::make_unique<InputMsg_AdjustSelectionByCharacterOffset>( routing_id_, start, end, selection_menu_behavior == blink::mojom::SelectionMenuBehavior::kShow)); } @@ -139,17 +139,17 @@ void LegacyIPCFrameInputHandler::MoveRangeSelectionExtent( const gfx::Point& extent) { SendInput( - base::MakeUnique<InputMsg_MoveRangeSelectionExtent>(routing_id_, extent)); + std::make_unique<InputMsg_MoveRangeSelectionExtent>(routing_id_, extent)); } void LegacyIPCFrameInputHandler::ScrollFocusedEditableNodeIntoRect( const gfx::Rect& rect) { - SendInput(base::MakeUnique<InputMsg_ScrollFocusedEditableNodeIntoRect>( + SendInput(std::make_unique<InputMsg_ScrollFocusedEditableNodeIntoRect>( routing_id_, rect)); } void LegacyIPCFrameInputHandler::MoveCaret(const gfx::Point& point) { - SendInput(base::MakeUnique<InputMsg_MoveCaret>(routing_id_, point)); + SendInput(std::make_unique<InputMsg_MoveCaret>(routing_id_, point)); } void LegacyIPCFrameInputHandler::GetWidgetInputHandler(
diff --git a/content/browser/frame_host/interstitial_page_impl.cc b/content/browser/frame_host/interstitial_page_impl.cc index 99c219c..c86530f5 100644 --- a/content/browser/frame_host/interstitial_page_impl.cc +++ b/content/browser/frame_host/interstitial_page_impl.cc
@@ -167,7 +167,7 @@ // While we get the code to a point to do this, pass NULL for it. // TODO(creis): We will also need to pass delegates for the RVHM as we // start to use it. - frame_tree_(base::MakeUnique<FrameTree>( + frame_tree_(std::make_unique<FrameTree>( new InterstitialPageNavigatorImpl(this, controller_), this, this,
diff --git a/content/browser/frame_host/keep_alive_handle_factory.cc b/content/browser/frame_host/keep_alive_handle_factory.cc index 08ab034..f94869f 100644 --- a/content/browser/frame_host/keep_alive_handle_factory.cc +++ b/content/browser/frame_host/keep_alive_handle_factory.cc
@@ -98,7 +98,7 @@ } void KeepAliveHandleFactory::Create(mojom::KeepAliveHandleRequest request) { - context_->AddBinding(base::MakeUnique<KeepAliveHandleImpl>(context_), + context_->AddBinding(std::make_unique<KeepAliveHandleImpl>(context_), std::move(request)); }
diff --git a/content/browser/frame_host/navigation_entry_impl.cc b/content/browser/frame_host/navigation_entry_impl.cc index 327b7a3..f4ba97c 100644 --- a/content/browser/frame_host/navigation_entry_impl.cc +++ b/content/browser/frame_host/navigation_entry_impl.cc
@@ -74,7 +74,7 @@ for (const ExplodedFrameState& child_state : state.children) { node->children.push_back( - base::MakeUnique<NavigationEntryImpl::TreeNode>(node, nullptr)); + std::make_unique<NavigationEntryImpl::TreeNode>(node, nullptr)); RecursivelyGenerateFrameEntries(child_state, empty_file_list, node->children.back().get()); } @@ -863,7 +863,7 @@ site_instance, std::move(source_site_instance), url, referrer, redirect_chain, page_state, method, post_id); parent_node->children.push_back( - base::MakeUnique<NavigationEntryImpl::TreeNode>(parent_node, + std::make_unique<NavigationEntryImpl::TreeNode>(parent_node, frame_entry)); }
diff --git a/content/browser/frame_host/navigation_entry_impl_unittest.cc b/content/browser/frame_host/navigation_entry_impl_unittest.cc index 73b50be5..c255cda3ff 100644 --- a/content/browser/frame_host/navigation_entry_impl_unittest.cc +++ b/content/browser/frame_host/navigation_entry_impl_unittest.cc
@@ -32,7 +32,7 @@ // SSLStatus implementation: std::unique_ptr<SSLStatus::UserData> Clone() override { std::unique_ptr<TestSSLStatusData> cloned = - base::MakeUnique<TestSSLStatusData>(); + std::make_unique<TestSSLStatusData>(); cloned->set_user_data_flag(user_data_flag_); return std::move(cloned); } @@ -176,7 +176,7 @@ TEST_F(NavigationEntryTest, SSLStatusUserData) { // Set up an SSLStatus with some user data on it. SSLStatus ssl; - ssl.user_data = base::MakeUnique<TestSSLStatusData>(); + ssl.user_data = std::make_unique<TestSSLStatusData>(); TestSSLStatusData* ssl_data = static_cast<TestSSLStatusData*>(ssl.user_data.get()); ASSERT_TRUE(ssl_data);
diff --git a/content/browser/frame_host/navigation_handle_impl_browsertest.cc b/content/browser/frame_host/navigation_handle_impl_browsertest.cc index 0ae5533..3a0afee 100644 --- a/content/browser/frame_host/navigation_handle_impl_browsertest.cc +++ b/content/browser/frame_host/navigation_handle_impl_browsertest.cc
@@ -1622,7 +1622,7 @@ scoped_refptr<SiteInstance> site_instance = shell()->web_contents()->GetMainFrame()->GetSiteInstance(); - auto installer = base::MakeUnique<TestNavigationThrottleInstaller>( + auto installer = std::make_unique<TestNavigationThrottleInstaller>( shell()->web_contents(), NavigationThrottle::BLOCK_REQUEST, NavigationThrottle::PROCEED, NavigationThrottle::PROCEED, NavigationThrottle::PROCEED); @@ -1691,7 +1691,7 @@ shell()->web_contents()->GetMainFrame()->GetSiteInstance()); } - installer = base::MakeUnique<TestNavigationThrottleInstaller>( + installer = std::make_unique<TestNavigationThrottleInstaller>( shell()->web_contents(), NavigationThrottle::BLOCK_REQUEST, NavigationThrottle::PROCEED, NavigationThrottle::PROCEED, NavigationThrottle::PROCEED);
diff --git a/content/browser/frame_host/navigation_handle_impl_unittest.cc b/content/browser/frame_host/navigation_handle_impl_unittest.cc index 88910edf..0aa6b2cb 100644 --- a/content/browser/frame_host/navigation_handle_impl_unittest.cc +++ b/content/browser/frame_host/navigation_handle_impl_unittest.cc
@@ -245,7 +245,7 @@ void AddDeletingNavigationThrottle() { DCHECK(test_handle_); test_handle()->RegisterThrottleForTesting( - base::MakeUnique<DeletingNavigationThrottle>( + std::make_unique<DeletingNavigationThrottle>( test_handle(), base::BindRepeating( &NavigationHandleImplTest::ResetNavigationHandle, base::Unretained(this)))); @@ -290,7 +290,7 @@ RenderViewHostImplTestHarness::SetUp(); contents()->GetMainFrame()->InitializeRenderFrameIfNeeded(); test_browser_client_ = - base::MakeUnique<ThrottleInserterContentBrowserClient>( + std::make_unique<ThrottleInserterContentBrowserClient>( base::Bind(&NavigationHandleImplThrottleInsertionTest::GetThrottles, base::Unretained(this))); old_browser_client_ = @@ -307,7 +307,7 @@ private: std::vector<std::unique_ptr<NavigationThrottle>> GetThrottles( NavigationHandle* handle) { - auto throttle = base::MakeUnique<TestNavigationThrottle>(handle); + auto throttle = std::make_unique<TestNavigationThrottle>(handle); std::vector<std::unique_ptr<NavigationThrottle>> vec; throttles_inserted_++; vec.push_back(std::move(throttle));
diff --git a/content/browser/frame_host/navigation_request.cc b/content/browser/frame_host/navigation_request.cc index 57264c4..cae9cd32 100644 --- a/content/browser/frame_host/navigation_request.cc +++ b/content/browser/frame_host/navigation_request.cc
@@ -1046,7 +1046,7 @@ loader_ = NavigationURLLoader::Create( browser_context->GetResourceContext(), partition, - base::MakeUnique<NavigationRequestInfo>( + std::make_unique<NavigationRequestInfo>( common_params_, begin_params_, site_for_cookies, frame_tree_node_->IsMainFrame(), parent_is_main_frame, IsSecureFrame(frame_tree_node_->parent()),
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc index dfc16397..a97660da 100644 --- a/content/browser/frame_host/render_frame_host_impl.cc +++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -269,7 +269,7 @@ int routing_id, media::mojom::RemoterFactoryRequest request) { mojo::MakeStrongBinding( - base::MakeUnique<RemoterFactoryImpl>(process_id, routing_id), + std::make_unique<RemoterFactoryImpl>(process_id, routing_id), std::move(request)); } @@ -415,7 +415,7 @@ RenderFrameHostDelegate* delegate, media::mojom::RendererRequest request) { std::unique_ptr<MediaPlayerRenderer> renderer = - base::MakeUnique<MediaPlayerRenderer>(process_id, routing_id, + std::make_unique<MediaPlayerRenderer>(process_id, routing_id, delegate->GetAsWebContents()); // base::Unretained is safe here because the lifetime of the MediaPlayerRender @@ -2343,7 +2343,7 @@ return; if (waiting_for_init_) { - pendinging_navigate_ = base::MakeUnique<PendingNavigation>( + pendinging_navigate_ = std::make_unique<PendingNavigation>( validated_params, validated_begin_params); return; } @@ -2887,7 +2887,7 @@ if (!keep_alive_handle_factory_) { keep_alive_handle_factory_ = - base::MakeUnique<KeepAliveHandleFactory>(GetProcess()); + std::make_unique<KeepAliveHandleFactory>(GetProcess()); } keep_alive_handle_factory_->Create(std::move(request)); } @@ -3459,8 +3459,8 @@ if (registry_.get()) return; - associated_registry_ = base::MakeUnique<AssociatedInterfaceRegistryImpl>(); - registry_ = base::MakeUnique<service_manager::BinderRegistry>(); + associated_registry_ = std::make_unique<AssociatedInterfaceRegistryImpl>(); + registry_ = std::make_unique<service_manager::BinderRegistry>(); auto make_binding = [](RenderFrameHostImpl* impl, mojom::FrameHostAssociatedRequest request) { @@ -3621,12 +3621,12 @@ if (!resource_coordinator::IsResourceCoordinatorEnabled()) { frame_resource_coordinator_ = - base::MakeUnique<resource_coordinator::ResourceCoordinatorInterface>( + std::make_unique<resource_coordinator::ResourceCoordinatorInterface>( nullptr, resource_coordinator::CoordinationUnitType::kFrame); } else { auto* connection = ServiceManagerConnection::GetForProcess(); frame_resource_coordinator_ = - base::MakeUnique<resource_coordinator::ResourceCoordinatorInterface>( + std::make_unique<resource_coordinator::ResourceCoordinatorInterface>( connection ? connection->GetConnector() : nullptr, resource_coordinator::CoordinationUnitType::kFrame); } @@ -4065,7 +4065,7 @@ // |binding_| which may run the error handler. |binding_| can't run the error // handler after it's destroyed so it can't run after the RFHI is destroyed. auto web_bluetooth_service = - base::MakeUnique<WebBluetoothServiceImpl>(this, std::move(request)); + std::make_unique<WebBluetoothServiceImpl>(this, std::move(request)); web_bluetooth_service->SetClientConnectionErrorHandler( base::Bind(&RenderFrameHostImpl::DeleteWebBluetoothService, base::Unretained(this), web_bluetooth_service.get())); @@ -4329,7 +4329,7 @@ GetUserData(kRenderFrameHostAndroidKey)); if (!render_frame_host_android) { service_manager::mojom::InterfaceProviderPtr interface_provider_ptr; - java_interface_registry_ = base::MakeUnique<JavaInterfaceProvider>( + java_interface_registry_ = std::make_unique<JavaInterfaceProvider>( base::Bind(&RenderFrameHostImpl::ForwardGetInterfaceToRenderFrame, weak_ptr_factory_.GetWeakPtr()), mojo::MakeRequest(&interface_provider_ptr));
diff --git a/content/browser/frame_host/render_frame_host_manager_browsertest.cc b/content/browser/frame_host/render_frame_host_manager_browsertest.cc index 187393c..58326e85 100644 --- a/content/browser/frame_host/render_frame_host_manager_browsertest.cc +++ b/content/browser/frame_host/render_frame_host_manager_browsertest.cc
@@ -2050,7 +2050,7 @@ WebUIImpl* web_ui = rfh->web_ui(); EXPECT_TRUE(web_ui->CanCallJavascript()); - auto handler_owner = base::MakeUnique<TestWebUIMessageHandler>(); + auto handler_owner = std::make_unique<TestWebUIMessageHandler>(); TestWebUIMessageHandler* handler = handler_owner.get(); web_ui->AddMessageHandler(std::move(handler_owner));
diff --git a/content/browser/frame_host/render_widget_host_view_guest_unittest.cc b/content/browser/frame_host/render_widget_host_view_guest_unittest.cc index 0f618c3..22f1179 100644 --- a/content/browser/frame_host/render_widget_host_view_guest_unittest.cc +++ b/content/browser/frame_host/render_widget_host_view_guest_unittest.cc
@@ -53,7 +53,7 @@ new MockRenderProcessHost(browser_context_.get()); int32_t routing_id = process_host->GetNextRoutingID(); mojom::WidgetPtr widget; - widget_impl_ = base::MakeUnique<MockWidgetImpl>(mojo::MakeRequest(&widget)); + widget_impl_ = std::make_unique<MockWidgetImpl>(mojo::MakeRequest(&widget)); widget_host_ = new RenderWidgetHostImpl( &delegate_, process_host, routing_id, std::move(widget), false); @@ -157,7 +157,7 @@ int32_t routing_id = process_host->GetNextRoutingID(); mojom::WidgetPtr widget; - widget_impl_ = base::MakeUnique<MockWidgetImpl>(mojo::MakeRequest(&widget)); + widget_impl_ = std::make_unique<MockWidgetImpl>(mojo::MakeRequest(&widget)); widget_host_ = new RenderWidgetHostImpl( &delegate_, process_host, routing_id, std::move(widget), false); @@ -170,7 +170,7 @@ viz::mojom::CompositorFrameSinkClientRequest client_request = mojo::MakeRequest(&renderer_compositor_frame_sink_ptr_); renderer_compositor_frame_sink_ = - base::MakeUnique<FakeRendererCompositorFrameSink>( + std::make_unique<FakeRendererCompositorFrameSink>( std::move(sink), std::move(client_request)); view_->DidCreateNewRendererCompositorFrameSink( renderer_compositor_frame_sink_ptr_.get());
diff --git a/content/browser/generic_sensor_browsertest.cc b/content/browser/generic_sensor_browsertest.cc index 22602f7..79a8d83 100644 --- a/content/browser/generic_sensor_browsertest.cc +++ b/content/browser/generic_sensor_browsertest.cc
@@ -143,7 +143,7 @@ GetSensorCallback callback) override { switch (type) { case device::mojom::SensorType::AMBIENT_LIGHT: { - auto sensor = base::MakeUnique<FakeAmbientLightSensor>(); + auto sensor = std::make_unique<FakeAmbientLightSensor>(); auto init_params = device::mojom::SensorInitParams::New(); init_params->memory = sensor->GetSharedBufferHandle(); @@ -180,7 +180,7 @@ ~GenericSensorBrowserTest() override {} void SetUpOnMainThread() override { - fake_sensor_provider_ = base::MakeUnique<FakeSensorProvider>(); + fake_sensor_provider_ = std::make_unique<FakeSensorProvider>(); BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, base::BindOnce(&GenericSensorBrowserTest::SetBinderOnIOThread,
diff --git a/content/browser/geolocation/geolocation_service_impl.cc b/content/browser/geolocation/geolocation_service_impl.cc index a9f030d..ae3bd940 100644 --- a/content/browser/geolocation/geolocation_service_impl.cc +++ b/content/browser/geolocation/geolocation_service_impl.cc
@@ -75,7 +75,7 @@ device::mojom::GeolocationServiceRequest request) { binding_set_.AddBinding( this, std::move(request), - base::MakeUnique<GeolocationServiceImplContext>(permission_manager_)); + std::make_unique<GeolocationServiceImplContext>(permission_manager_)); } void GeolocationServiceImpl::CreateGeolocation(
diff --git a/content/browser/geolocation/geolocation_service_impl_unittest.cc b/content/browser/geolocation/geolocation_service_impl_unittest.cc index 6f6e11f8..3ce8ec6 100644 --- a/content/browser/geolocation/geolocation_service_impl_unittest.cc +++ b/content/browser/geolocation/geolocation_service_impl_unittest.cc
@@ -152,7 +152,7 @@ geolocation->QueryNextPosition(base::BindOnce([](GeopositionPtr geoposition) { ADD_FAILURE() << "Position updated unexpectedly"; })); - auto mock_geoposition = base::MakeUnique<Geoposition>(); + auto mock_geoposition = std::make_unique<Geoposition>(); mock_geoposition->latitude = kMockLatitude; mock_geoposition->longitude = kMockLongitude; context()->SetOverride(std::move(mock_geoposition)); @@ -184,7 +184,7 @@ callback.Run(); }, loop.QuitClosure())); - auto mock_geoposition = base::MakeUnique<Geoposition>(); + auto mock_geoposition = std::make_unique<Geoposition>(); mock_geoposition->latitude = kMockLatitude; mock_geoposition->longitude = kMockLongitude; context()->SetOverride(std::move(mock_geoposition)); @@ -211,7 +211,7 @@ callback.Run(); }, loop.QuitClosure())); - auto mock_geoposition = base::MakeUnique<Geoposition>(); + auto mock_geoposition = std::make_unique<Geoposition>(); mock_geoposition->latitude = kMockLatitude; mock_geoposition->longitude = kMockLongitude; context()->SetOverride(std::move(mock_geoposition)); @@ -233,7 +233,7 @@ geolocation->QueryNextPosition(base::BindOnce([](GeopositionPtr geoposition) { ADD_FAILURE() << "Position updated unexpectedly"; })); - auto mock_geoposition = base::MakeUnique<Geoposition>(); + auto mock_geoposition = std::make_unique<Geoposition>(); mock_geoposition->latitude = kMockLatitude; mock_geoposition->longitude = kMockLongitude; context()->SetOverride(std::move(mock_geoposition)); @@ -266,7 +266,7 @@ callback.Run(); }, loop.QuitClosure())); - auto mock_geoposition = base::MakeUnique<Geoposition>(); + auto mock_geoposition = std::make_unique<Geoposition>(); mock_geoposition->latitude = kMockLatitude; mock_geoposition->longitude = kMockLongitude; context()->SetOverride(std::move(mock_geoposition)); @@ -294,7 +294,7 @@ geolocation->QueryNextPosition(base::BindOnce([](GeopositionPtr geoposition) { ADD_FAILURE() << "Position updated unexpectedly"; })); - auto mock_geoposition = base::MakeUnique<Geoposition>(); + auto mock_geoposition = std::make_unique<Geoposition>(); mock_geoposition->latitude = kMockLatitude; mock_geoposition->longitude = kMockLongitude; context()->SetOverride(std::move(mock_geoposition)); @@ -317,7 +317,7 @@ geolocation->QueryNextPosition(base::BindOnce([](GeopositionPtr geoposition) { ADD_FAILURE() << "Position updated unexpectedly"; })); - auto mock_geoposition = base::MakeUnique<Geoposition>(); + auto mock_geoposition = std::make_unique<Geoposition>(); mock_geoposition->latitude = kMockLatitude; mock_geoposition->longitude = kMockLongitude; context()->SetOverride(std::move(mock_geoposition));
diff --git a/content/browser/gpu/compositor_util.cc b/content/browser/gpu/compositor_util.cc index f0e3f47aa..937c9af 100644 --- a/content/browser/gpu/compositor_util.cc +++ b/content/browser/gpu/compositor_util.cc
@@ -295,7 +295,7 @@ bool gpu_access_blocked = !manager->GpuAccessAllowed(&gpu_access_blocked_reason); - auto feature_status_dict = base::MakeUnique<base::DictionaryValue>(); + auto feature_status_dict = std::make_unique<base::DictionaryValue>(); bool eof = false; for (size_t i = 0; !eof; ++i) { @@ -350,15 +350,15 @@ bool gpu_access_blocked = !manager->GpuAccessAllowed(&gpu_access_blocked_reason); - auto problem_list = base::MakeUnique<base::ListValue>(); + auto problem_list = std::make_unique<base::ListValue>(); manager->GetBlacklistReasons(problem_list.get()); if (gpu_access_blocked) { - auto problem = base::MakeUnique<base::DictionaryValue>(); + auto problem = std::make_unique<base::DictionaryValue>(); problem->SetString("description", "GPU process was unable to boot: " + gpu_access_blocked_reason); - problem->Set("crBugs", base::MakeUnique<base::ListValue>()); - auto disabled_features = base::MakeUnique<base::ListValue>(); + problem->Set("crBugs", std::make_unique<base::ListValue>()); + auto disabled_features = std::make_unique<base::ListValue>(); disabled_features->AppendString("all"); problem->Set("affectedGpuSettings", std::move(disabled_features)); problem->SetString("tag", "disabledFeatures"); @@ -369,10 +369,10 @@ for (size_t i = 0; !eof; ++i) { const GpuFeatureData gpu_feature_data = GetGpuFeatureData(i, &eof); if (gpu_feature_data.disabled) { - auto problem = base::MakeUnique<base::DictionaryValue>(); + auto problem = std::make_unique<base::DictionaryValue>(); problem->SetString("description", gpu_feature_data.disabled_description); - problem->Set("crBugs", base::MakeUnique<base::ListValue>()); - auto disabled_features = base::MakeUnique<base::ListValue>(); + problem->Set("crBugs", std::make_unique<base::ListValue>()); + auto disabled_features = std::make_unique<base::ListValue>(); disabled_features->AppendString(gpu_feature_data.name); problem->Set("affectedGpuSettings", std::move(disabled_features)); problem->SetString("tag", "disabledFeatures");
diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc index 3dd9d8c0..3bdfd595 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.cc +++ b/content/browser/gpu/gpu_data_manager_impl_private.cc
@@ -899,7 +899,7 @@ std::unique_ptr<base::ListValue> GpuDataManagerImplPrivate::GetLogMessages() const { - auto value = base::MakeUnique<base::ListValue>(); + auto value = std::make_unique<base::ListValue>(); for (size_t ii = 0; ii < log_messages_.size(); ++ii) { std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); dict->SetInteger("level", log_messages_[ii].level);
diff --git a/content/browser/gpu/gpu_internals_ui.cc b/content/browser/gpu/gpu_internals_ui.cc index 7e076e5..342e87a 100644 --- a/content/browser/gpu/gpu_internals_ui.cc +++ b/content/browser/gpu/gpu_internals_ui.cc
@@ -91,7 +91,7 @@ #if defined(OS_WIN) // Output DxDiagNode tree as nested array of {description,value} pairs std::unique_ptr<base::ListValue> DxDiagNodeToList(const gpu::DxDiagNode& node) { - auto list = base::MakeUnique<base::ListValue>(); + auto list = std::make_unique<base::ListValue>(); for (std::map<std::string, std::string>::const_iterator it = node.values.begin(); it != node.values.end(); @@ -123,21 +123,21 @@ std::unique_ptr<base::DictionaryValue> GpuInfoAsDictionaryValue() { gpu::GPUInfo gpu_info = GpuDataManagerImpl::GetInstance()->GetGPUInfo(); - auto basic_info = base::MakeUnique<base::ListValue>(); + auto basic_info = std::make_unique<base::ListValue>(); basic_info->Append(NewDescriptionValuePair( "Initialization time", base::Int64ToString(gpu_info.initialization_time.InMilliseconds()))); basic_info->Append(NewDescriptionValuePair( "In-process GPU", - base::MakeUnique<base::Value>(gpu_info.in_process_gpu))); + std::make_unique<base::Value>(gpu_info.in_process_gpu))); basic_info->Append(NewDescriptionValuePair( "Passthrough Command Decoder", - base::MakeUnique<base::Value>(gpu_info.passthrough_cmd_decoder))); + std::make_unique<base::Value>(gpu_info.passthrough_cmd_decoder))); basic_info->Append(NewDescriptionValuePair( "Supports overlays", - base::MakeUnique<base::Value>(gpu_info.supports_overlays))); + std::make_unique<base::Value>(gpu_info.supports_overlays))); basic_info->Append(NewDescriptionValuePair( - "Sandboxed", base::MakeUnique<base::Value>(gpu_info.sandboxed))); + "Sandboxed", std::make_unique<base::Value>(gpu_info.sandboxed))); basic_info->Append(NewDescriptionValuePair( "GPU0", GPUDeviceToString(gpu_info.gpu))); for (size_t i = 0; i < gpu_info.secondary_gpus.size(); ++i) { @@ -146,12 +146,12 @@ GPUDeviceToString(gpu_info.secondary_gpus[i]))); } basic_info->Append(NewDescriptionValuePair( - "Optimus", base::MakeUnique<base::Value>(gpu_info.optimus))); + "Optimus", std::make_unique<base::Value>(gpu_info.optimus))); basic_info->Append(NewDescriptionValuePair( - "Optimus", base::MakeUnique<base::Value>(gpu_info.optimus))); + "Optimus", std::make_unique<base::Value>(gpu_info.optimus))); basic_info->Append(NewDescriptionValuePair( "AMD switchable", - base::MakeUnique<base::Value>(gpu_info.amd_switchable))); + std::make_unique<base::Value>(gpu_info.amd_switchable))); #if defined(OS_WIN) std::string compositor = ui::win::IsAeroGlassEnabled() ? "Aero Glass" : "none"; @@ -238,12 +238,12 @@ basic_info->Append(NewDescriptionValuePair( "GPU process crash count", - base::MakeUnique<base::Value>(gpu_info.process_crash_count))); + std::make_unique<base::Value>(gpu_info.process_crash_count))); - auto info = base::MakeUnique<base::DictionaryValue>(); + auto info = std::make_unique<base::DictionaryValue>(); #if defined(OS_WIN) - auto dx_info = base::MakeUnique<base::Value>(); + auto dx_info = std::make_unique<base::Value>(); if (gpu_info.dx_diagnostics.children.size()) dx_info = DxDiagNodeToList(gpu_info.dx_diagnostics); info->Set("diagnostics", std::move(dx_info)); @@ -327,7 +327,7 @@ } std::unique_ptr<base::ListValue> CompositorInfo() { - auto compositor_info = base::MakeUnique<base::ListValue>(); + auto compositor_info = std::make_unique<base::ListValue>(); compositor_info->Append(NewDescriptionValuePair( "Tile Update Mode", @@ -339,7 +339,7 @@ } std::unique_ptr<base::ListValue> GpuMemoryBufferInfo() { - auto gpu_memory_buffer_info = base::MakeUnique<base::ListValue>(); + auto gpu_memory_buffer_info = std::make_unique<base::ListValue>(); const auto native_configurations = gpu::GetNativeGpuMemoryBufferConfigurations(); @@ -369,7 +369,7 @@ } std::unique_ptr<base::ListValue> getDisplayInfo() { - auto display_info = base::MakeUnique<base::ListValue>(); + auto display_info = std::make_unique<base::ListValue>(); const std::vector<display::Display> displays = display::Screen::GetScreen()->GetAllDisplays(); for (const auto& display : displays) { @@ -463,7 +463,7 @@ ok = args->GetString(1, &submessage); DCHECK(ok); - auto submessageArgs = base::MakeUnique<base::ListValue>(); + auto submessageArgs = std::make_unique<base::ListValue>(); for (size_t i = 2; i < args->GetSize(); ++i) { const base::Value* arg; ok = args->Get(i, &arg); @@ -517,7 +517,7 @@ const base::ListValue* list) { DCHECK_CURRENTLY_ON(BrowserThread::UI); - auto dict = base::MakeUnique<base::DictionaryValue>(); + auto dict = std::make_unique<base::DictionaryValue>(); dict->SetString("version", GetContentClient()->GetProduct()); dict->SetString("command_line", @@ -547,10 +547,10 @@ GpuInfoAsDictionaryValue()); // Add in blacklisting features - auto feature_status = base::MakeUnique<base::DictionaryValue>(); + auto feature_status = std::make_unique<base::DictionaryValue>(); feature_status->Set("featureStatus", GetFeatureStatus()); feature_status->Set("problems", GetProblems()); - auto workarounds = base::MakeUnique<base::ListValue>(); + auto workarounds = std::make_unique<base::ListValue>(); for (const std::string& workaround : GetDriverBugWorkarounds()) workarounds->AppendString(workaround); feature_status->Set("workarounds", std::move(workarounds)); @@ -579,7 +579,7 @@ GpuInternalsUI::GpuInternalsUI(WebUI* web_ui) : WebUIController(web_ui) { - web_ui->AddMessageHandler(base::MakeUnique<GpuMessageHandler>()); + web_ui->AddMessageHandler(std::make_unique<GpuMessageHandler>()); // Set up the chrome://gpu/ source. BrowserContext* browser_context =
diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc index 2882090..1dc7eca7 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc
@@ -588,7 +588,7 @@ // May be null during test execution. if (ServiceManagerConnection::GetForProcess()) { ServiceManagerConnection::GetForProcess()->AddConnectionFilter( - base::MakeUnique<ConnectionFilterImpl>()); + std::make_unique<ConnectionFilterImpl>()); } process_->GetHost()->CreateChannelMojo(); @@ -1018,7 +1018,7 @@ // at startup with EACCES. As a workaround ignore this here, since the // executable name is actually not used or useful anyways. std::unique_ptr<base::CommandLine> cmd_line = - base::MakeUnique<base::CommandLine>(base::CommandLine::NO_PROGRAM); + std::make_unique<base::CommandLine>(base::CommandLine::NO_PROGRAM); #else #if defined(OS_LINUX) int child_flags = gpu_launcher.empty() ? ChildProcessHost::CHILD_ALLOW_SELF : @@ -1032,7 +1032,7 @@ return false; std::unique_ptr<base::CommandLine> cmd_line = - base::MakeUnique<base::CommandLine>(exe_path); + std::make_unique<base::CommandLine>(exe_path); #endif cmd_line->AppendSwitchASCII(switches::kProcessType, switches::kGpuProcess); @@ -1085,7 +1085,7 @@ cmd_line->PrependWrapper(gpu_launcher); std::unique_ptr<GpuSandboxedProcessLauncherDelegate> delegate = - base::MakeUnique<GpuSandboxedProcessLauncherDelegate>(*cmd_line); + std::make_unique<GpuSandboxedProcessLauncherDelegate>(*cmd_line); process_->Launch(std::move(delegate), std::move(cmd_line), true); process_launched_ = true;
diff --git a/content/browser/host_zoom_map_impl_unittest.cc b/content/browser/host_zoom_map_impl_unittest.cc index a7df2ef..c0d9aa21 100644 --- a/content/browser/host_zoom_map_impl_unittest.cc +++ b/content/browser/host_zoom_map_impl_unittest.cc
@@ -93,7 +93,7 @@ host_zoom_map.SetStoreLastModified(true); base::Time now = base::Time::Now(); - auto test_clock = base::MakeUnique<base::SimpleTestClock>(); + auto test_clock = std::make_unique<base::SimpleTestClock>(); base::SimpleTestClock* clock = test_clock.get(); host_zoom_map.SetClockForTesting(std::move(test_clock)); @@ -131,7 +131,7 @@ HostZoomMapImpl host_zoom_map; host_zoom_map.SetStoreLastModified(true); - auto test_clock = base::MakeUnique<base::SimpleTestClock>(); + auto test_clock = std::make_unique<base::SimpleTestClock>(); base::SimpleTestClock* clock = test_clock.get(); host_zoom_map.SetClockForTesting(std::move(test_clock));
diff --git a/content/browser/hyphenation/hyphenation_impl.cc b/content/browser/hyphenation/hyphenation_impl.cc index d7ebbfa..a943bf4 100644 --- a/content/browser/hyphenation/hyphenation_impl.cc +++ b/content/browser/hyphenation/hyphenation_impl.cc
@@ -62,7 +62,7 @@ // static void HyphenationImpl::Create(blink::mojom::HyphenationRequest request) { - mojo::MakeStrongBinding(base::MakeUnique<HyphenationImpl>(), + mojo::MakeStrongBinding(std::make_unique<HyphenationImpl>(), std::move(request)); }
diff --git a/content/browser/image_capture/image_capture_impl.cc b/content/browser/image_capture/image_capture_impl.cc index 91865a78..dabcc91 100644 --- a/content/browser/image_capture/image_capture_impl.cc +++ b/content/browser/image_capture/image_capture_impl.cc
@@ -98,7 +98,7 @@ if (!base::FeatureList::IsEnabled(features::kImageCaptureAPI)) return; - mojo::MakeStrongBinding(base::MakeUnique<ImageCaptureImpl>(), + mojo::MakeStrongBinding(std::make_unique<ImageCaptureImpl>(), std::move(request)); }
diff --git a/content/browser/indexed_db/cursor_impl.cc b/content/browser/indexed_db/cursor_impl.cc index fd8a17acd..0e5b309 100644 --- a/content/browser/indexed_db/cursor_impl.cc +++ b/content/browser/indexed_db/cursor_impl.cc
@@ -111,8 +111,8 @@ const IndexedDBKey& primary_key, scoped_refptr<IndexedDBCallbacks> callbacks) { cursor_->Continue( - key.IsValid() ? base::MakeUnique<IndexedDBKey>(key) : nullptr, - primary_key.IsValid() ? base::MakeUnique<IndexedDBKey>(primary_key) + key.IsValid() ? std::make_unique<IndexedDBKey>(key) : nullptr, + primary_key.IsValid() ? std::make_unique<IndexedDBKey>(primary_key) : nullptr, std::move(callbacks)); }
diff --git a/content/browser/indexed_db/database_impl.cc b/content/browser/indexed_db/database_impl.cc index 9799c38..3bba482 100644 --- a/content/browser/indexed_db/database_impl.cc +++ b/content/browser/indexed_db/database_impl.cc
@@ -631,7 +631,7 @@ return; connection_->database()->Get(transaction, object_store_id, index_id, - base::MakeUnique<IndexedDBKeyRange>(key_range), + std::make_unique<IndexedDBKeyRange>(key_range), key_only, callbacks); } @@ -654,7 +654,7 @@ connection_->database()->GetAll( transaction, object_store_id, index_id, - base::MakeUnique<IndexedDBKeyRange>(key_range), key_only, max_count, + std::make_unique<IndexedDBKeyRange>(key_range), key_only, max_count, std::move(callbacks)); } @@ -687,7 +687,7 @@ swap(value.bits, mojo_value->bits); swap(value.blob_info, blob_info); connection_->database()->Put(transaction, object_store_id, &value, &handles, - base::MakeUnique<IndexedDBKey>(key), mode, + std::make_unique<IndexedDBKey>(key), mode, std::move(callbacks), index_keys); // Size can't be big enough to overflow because it represents the @@ -710,7 +710,7 @@ return; connection_->database()->SetIndexKeys( - transaction, object_store_id, base::MakeUnique<IndexedDBKey>(primary_key), + transaction, object_store_id, std::make_unique<IndexedDBKey>(primary_key), index_keys); } @@ -751,7 +751,7 @@ connection_->database()->OpenCursor( transaction, object_store_id, index_id, - base::MakeUnique<IndexedDBKeyRange>(key_range), direction, key_only, + std::make_unique<IndexedDBKeyRange>(key_range), direction, key_only, task_type, std::move(callbacks)); } @@ -771,7 +771,7 @@ return; connection_->database()->Count(transaction, object_store_id, index_id, - base::MakeUnique<IndexedDBKeyRange>(key_range), + std::make_unique<IndexedDBKeyRange>(key_range), std::move(callbacks)); } @@ -790,7 +790,7 @@ connection_->database()->DeleteRange( transaction, object_store_id, - base::MakeUnique<IndexedDBKeyRange>(key_range), std::move(callbacks)); + std::make_unique<IndexedDBKeyRange>(key_range), std::move(callbacks)); } void DatabaseImpl::IDBSequenceHelper::Clear(
diff --git a/content/browser/indexed_db/indexed_db_active_blob_registry_unittest.cc b/content/browser/indexed_db/indexed_db_active_blob_registry_unittest.cc index 8b6eccc2..01b85d8 100644 --- a/content/browser/indexed_db/indexed_db_active_blob_registry_unittest.cc +++ b/content/browser/indexed_db/indexed_db_active_blob_registry_unittest.cc
@@ -108,7 +108,7 @@ factory_(new RegistryTestMockFactory), backing_store_( new MockIDBBackingStore(factory_.get(), task_runner_.get())), - registry_(base::MakeUnique<IndexedDBActiveBlobRegistry>( + registry_(std::make_unique<IndexedDBActiveBlobRegistry>( backing_store_.get())) {} void RunUntilIdle() { task_runner_->RunUntilIdle(); }
diff --git a/content/browser/indexed_db/indexed_db_backing_store.cc b/content/browser/indexed_db/indexed_db_backing_store.cc index 01d3c9a..376b1dd5 100644 --- a/content/browser/indexed_db/indexed_db_backing_store.cc +++ b/content/browser/indexed_db/indexed_db_backing_store.cc
@@ -865,7 +865,7 @@ data_loss_info->status = blink::kWebIDBDataLossNone; *status = Status::OK(); - std::unique_ptr<LevelDBComparator> comparator(base::MakeUnique<Comparator>()); + std::unique_ptr<LevelDBComparator> comparator(std::make_unique<Comparator>()); if (!base::IsStringASCII(path_base.AsUTF8Unsafe())) { HistogramOpenStatus( @@ -1021,7 +1021,7 @@ Status* status) { IDB_TRACE("IndexedDBBackingStore::OpenInMemory"); - std::unique_ptr<LevelDBComparator> comparator(base::MakeUnique<Comparator>()); + std::unique_ptr<LevelDBComparator> comparator(std::make_unique<Comparator>()); std::unique_ptr<LevelDBDatabase> db = LevelDBDatabase::OpenInMemory(comparator.get()); if (!db) { @@ -1601,7 +1601,7 @@ task_runner_.get(), file_path, 0, storage::FileStreamWriter::CREATE_NEW_FILE)); std::unique_ptr<FileWriterDelegate> delegate( - base::MakeUnique<FileWriterDelegate>( + std::make_unique<FileWriterDelegate>( std::move(writer), storage::FlushPolicy::FLUSH_ON_COMPLETION)); DCHECK(blob_url.is_valid()); @@ -2177,7 +2177,7 @@ transaction_(other->transaction_), database_id_(other->database_id_), cursor_options_(other->cursor_options_), - current_key_(base::MakeUnique<IndexedDBKey>(*other->current_key_)) { + current_key_(std::make_unique<IndexedDBKey>(*other->current_key_)) { if (other->iterator_) { iterator_ = transaction_->transaction()->CreateIterator(); @@ -2647,7 +2647,7 @@ private: explicit IndexKeyCursorImpl(const IndexKeyCursorImpl* other) : IndexedDBBackingStore::Cursor(other), - primary_key_(base::MakeUnique<IndexedDBKey>(*other->primary_key_)) {} + primary_key_(std::make_unique<IndexedDBKey>(*other->primary_key_)) {} std::unique_ptr<IndexedDBKey> primary_key_; @@ -2761,7 +2761,7 @@ private: explicit IndexCursorImpl(const IndexCursorImpl* other) : IndexedDBBackingStore::Cursor(other), - primary_key_(base::MakeUnique<IndexedDBKey>(*other->primary_key_)), + primary_key_(std::make_unique<IndexedDBKey>(*other->primary_key_)), current_value_(other->current_value_), primary_leveldb_key_(other->primary_leveldb_key_) {} @@ -2865,7 +2865,7 @@ return std::unique_ptr<IndexedDBBackingStore::Cursor>(); } std::unique_ptr<ObjectStoreCursorImpl> cursor( - base::MakeUnique<ObjectStoreCursorImpl>(this, transaction, database_id, + std::make_unique<ObjectStoreCursorImpl>(this, transaction, database_id, cursor_options)); if (!cursor->FirstSeek(s)) return std::unique_ptr<IndexedDBBackingStore::Cursor>(); @@ -2891,7 +2891,7 @@ return std::unique_ptr<IndexedDBBackingStore::Cursor>(); } std::unique_ptr<ObjectStoreKeyCursorImpl> cursor( - base::MakeUnique<ObjectStoreKeyCursorImpl>(this, transaction, database_id, + std::make_unique<ObjectStoreKeyCursorImpl>(this, transaction, database_id, cursor_options)); if (!cursor->FirstSeek(s)) return std::unique_ptr<IndexedDBBackingStore::Cursor>(); @@ -2916,7 +2916,7 @@ index_id, range, direction, &cursor_options, s)) return std::unique_ptr<IndexedDBBackingStore::Cursor>(); std::unique_ptr<IndexKeyCursorImpl> cursor( - base::MakeUnique<IndexKeyCursorImpl>(this, transaction, database_id, + std::make_unique<IndexKeyCursorImpl>(this, transaction, database_id, cursor_options)); if (!cursor->FirstSeek(s)) return std::unique_ptr<IndexedDBBackingStore::Cursor>(); @@ -3349,7 +3349,7 @@ for (const auto& handle : handles_) { record->handles_.push_back( - base::MakeUnique<storage::BlobDataHandle>(*handle)); + std::make_unique<storage::BlobDataHandle>(*handle)); } return record; } @@ -3403,7 +3403,7 @@ BlobChangeRecord* record = nullptr; if (it == blob_change_map_.end()) { std::unique_ptr<BlobChangeRecord> new_record = - base::MakeUnique<BlobChangeRecord>(object_store_data_key, + std::make_unique<BlobChangeRecord>(object_store_data_key, object_store_id); record = new_record.get(); blob_change_map_[object_store_data_key] = std::move(new_record);
diff --git a/content/browser/indexed_db/indexed_db_backing_store_unittest.cc b/content/browser/indexed_db/indexed_db_backing_store_unittest.cc index 7797964..4cb3d30 100644 --- a/content/browser/indexed_db/indexed_db_backing_store_unittest.cc +++ b/content/browser/indexed_db/indexed_db_backing_store_unittest.cc
@@ -90,7 +90,7 @@ DCHECK(!path_base.empty()); std::unique_ptr<LevelDBComparator> comparator = - base::MakeUnique<Comparator>(); + std::make_unique<Comparator>(); if (!base::CreateDirectory(path_base)) { *status = leveldb::Status::IOError("Unable to create base dir"); @@ -195,7 +195,7 @@ public: explicit TestIDBFactory(IndexedDBContextImpl* idb_context) : IndexedDBFactoryImpl(idb_context, - base::MakeUnique<base::DefaultClock>()) {} + std::make_unique<base::DefaultClock>()) {} scoped_refptr<TestableIndexedDBBackingStore> OpenBackingStoreForTest( const Origin& origin, @@ -510,7 +510,7 @@ [](IndexedDBBackingStoreTestWithBlobs* test, TestState* state) { // Initiate transaction1 - writing blobs. state->transaction1 = - base::MakeUnique<IndexedDBBackingStore::Transaction>( + std::make_unique<IndexedDBBackingStore::Transaction>( test->backing_store()); state->transaction1->Begin(); std::vector<std::unique_ptr<storage::BlobDataHandle>> handles; @@ -561,7 +561,7 @@ // Initiate transaction3, deleting blobs. state->transaction3 = - base::MakeUnique<IndexedDBBackingStore::Transaction>( + std::make_unique<IndexedDBBackingStore::Transaction>( test->backing_store()); state->transaction3->Begin(); EXPECT_TRUE(test->backing_store() @@ -639,7 +639,7 @@ // Initiate transaction1 - write records. state->transaction1 = - base::MakeUnique<IndexedDBBackingStore::Transaction>( + std::make_unique<IndexedDBBackingStore::Transaction>( backing_store); state->transaction1->Begin(); std::vector<std::unique_ptr<storage::BlobDataHandle>> handles; @@ -675,7 +675,7 @@ // Initiate transaction 2 - delete range. state->transaction2 = - base::MakeUnique<IndexedDBBackingStore::Transaction>( + std::make_unique<IndexedDBBackingStore::Transaction>( backing_store); state->transaction2->Begin(); IndexedDBValue result_value; @@ -764,7 +764,7 @@ // Initiate transaction1 - write records. state->transaction1 = - base::MakeUnique<IndexedDBBackingStore::Transaction>( + std::make_unique<IndexedDBBackingStore::Transaction>( backing_store); state->transaction1->Begin(); @@ -800,7 +800,7 @@ // Initiate transaction 2 - delete range. state->transaction2 = - base::MakeUnique<IndexedDBBackingStore::Transaction>( + std::make_unique<IndexedDBBackingStore::Transaction>( backing_store); state->transaction2->Begin(); IndexedDBValue result_value; @@ -849,7 +849,7 @@ [](IndexedDBBackingStoreTestWithBlobs* test, TestState* state) { // Initiate transaction1. state->transaction1 = - base::MakeUnique<IndexedDBBackingStore::Transaction>( + std::make_unique<IndexedDBBackingStore::Transaction>( test->backing_store()); state->transaction1->Begin(); std::vector<std::unique_ptr<storage::BlobDataHandle>> handles1; @@ -878,7 +878,7 @@ // Initiate transaction2. state->transaction2 = - base::MakeUnique<IndexedDBBackingStore::Transaction>( + std::make_unique<IndexedDBBackingStore::Transaction>( test->backing_store()); state->transaction2->Begin(); std::vector<std::unique_ptr<storage::BlobDataHandle>> handles2; @@ -930,7 +930,7 @@ base::BindOnce( [](IndexedDBBackingStoreTestWithBlobs* test, TestState* state) { state->transaction1 = - base::MakeUnique<IndexedDBBackingStore::Transaction>( + std::make_unique<IndexedDBBackingStore::Transaction>( test->backing_store()); state->transaction1->Begin(); std::vector<std::unique_ptr<storage::BlobDataHandle>> handles; @@ -980,7 +980,7 @@ } state->transaction3 = - base::MakeUnique<IndexedDBBackingStore::Transaction>( + std::make_unique<IndexedDBBackingStore::Transaction>( test->backing_store()); state->transaction3->Begin(); EXPECT_TRUE(test->backing_store()
diff --git a/content/browser/indexed_db/indexed_db_callbacks.cc b/content/browser/indexed_db/indexed_db_callbacks.cc index 28ae6d7..44ec9bc 100644 --- a/content/browser/indexed_db/indexed_db_callbacks.cc +++ b/content/browser/indexed_db/indexed_db_callbacks.cc
@@ -557,7 +557,7 @@ return; } - auto database = base::MakeUnique<DatabaseImpl>( + auto database = std::make_unique<DatabaseImpl>( std::move(connection_wrapper.connection), origin_, dispatcher_host_.get(), idb_runner_); @@ -581,7 +581,7 @@ } ::indexed_db::mojom::DatabaseAssociatedPtrInfo ptr_info; if (connection_wrapper.connection) { - auto database = base::MakeUnique<DatabaseImpl>( + auto database = std::make_unique<DatabaseImpl>( std::move(connection_wrapper.connection), origin_, dispatcher_host_.get(), idb_runner_); @@ -605,7 +605,7 @@ OnConnectionError(); return; } - auto cursor_impl = base::MakeUnique<CursorImpl>( + auto cursor_impl = std::make_unique<CursorImpl>( std::move(cursor.cursor), origin_, dispatcher_host_.get(), idb_runner_); if (value && !CreateAllBlobs(blob_info, &value->blob_or_file_info))
diff --git a/content/browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc b/content/browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc index 318420b..74a0ab52 100644 --- a/content/browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc +++ b/content/browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc
@@ -47,7 +47,7 @@ static std::unique_ptr<LevelDBDatabase> Open( const base::FilePath& file_name, const LevelDBComparator* /*comparator*/) { - return base::MakeUnique<BustedLevelDBDatabase>(); + return std::make_unique<BustedLevelDBDatabase>(); } leveldb::Status Get(const base::StringPiece& key, std::string* value,
diff --git a/content/browser/indexed_db/indexed_db_context_impl.cc b/content/browser/indexed_db/indexed_db_context_impl.cc index f58d58c0..5fc5aee 100644 --- a/content/browser/indexed_db/indexed_db_context_impl.cc +++ b/content/browser/indexed_db/indexed_db_context_impl.cc
@@ -131,7 +131,7 @@ // detect when dbs are newly created. GetOriginSet(); factory_ = - new IndexedDBFactoryImpl(this, base::MakeUnique<base::DefaultClock>()); + new IndexedDBFactoryImpl(this, std::make_unique<base::DefaultClock>()); } return factory_.get(); } @@ -171,16 +171,16 @@ std::sort(origins.begin(), origins.end(), HostNameComparator); - std::unique_ptr<base::ListValue> list(base::MakeUnique<base::ListValue>()); + std::unique_ptr<base::ListValue> list(std::make_unique<base::ListValue>()); for (const auto& origin : origins) { std::unique_ptr<base::DictionaryValue> info( - base::MakeUnique<base::DictionaryValue>()); + std::make_unique<base::DictionaryValue>()); info->SetString("url", origin.Serialize()); info->SetString("size", ui::FormatBytes(GetOriginDiskUsage(origin))); info->SetDouble("last_modified", GetOriginLastModified(origin).ToJsTime()); if (!is_incognito()) { std::unique_ptr<base::ListValue> paths( - base::MakeUnique<base::ListValue>()); + std::make_unique<base::ListValue>()); for (const base::FilePath& path : GetStoragePaths(origin)) paths->AppendString(path.value()); info->Set("paths", std::move(paths)); @@ -197,14 +197,14 @@ range = factory_->GetOpenDatabasesForOrigin(origin); // TODO(jsbell): Sort by name? std::unique_ptr<base::ListValue> database_list( - base::MakeUnique<base::ListValue>()); + std::make_unique<base::ListValue>()); for (IndexedDBFactory::OriginDBMapIterator it = range.first; it != range.second; ++it) { const IndexedDBDatabase* db = it->second; std::unique_ptr<base::DictionaryValue> db_info( - base::MakeUnique<base::DictionaryValue>()); + std::make_unique<base::DictionaryValue>()); db_info->SetString("name", db->name()); db_info->SetDouble("connection_count", db->ConnectionCount()); @@ -212,12 +212,12 @@ db_info->SetDouble("pending_open_delete", db->PendingOpenDeleteCount()); std::unique_ptr<base::ListValue> transaction_list( - base::MakeUnique<base::ListValue>()); + std::make_unique<base::ListValue>()); std::vector<const IndexedDBTransaction*> transactions = db->transaction_coordinator().GetTransactions(); for (const auto* transaction : transactions) { std::unique_ptr<base::DictionaryValue> transaction_info( - base::MakeUnique<base::DictionaryValue>()); + std::make_unique<base::DictionaryValue>()); const char* const kModes[] = { "readonly", "readwrite", "versionchange" }; @@ -257,7 +257,7 @@ "tasks_completed", transaction->diagnostics().tasks_completed); std::unique_ptr<base::ListValue> scope( - base::MakeUnique<base::ListValue>()); + std::make_unique<base::ListValue>()); for (const auto& id : transaction->scope()) { const auto& it = db->metadata().object_stores.find(id); if (it != db->metadata().object_stores.end()) @@ -593,7 +593,7 @@ std::vector<Origin> origins; GetAllOriginsAndPaths(data_path_, &origins, NULL); origin_set_ = - base::MakeUnique<std::set<Origin>>(origins.begin(), origins.end()); + std::make_unique<std::set<Origin>>(origins.begin(), origins.end()); } return origin_set_.get(); }
diff --git a/content/browser/indexed_db/indexed_db_database.cc b/content/browser/indexed_db/indexed_db_database.cc index 62e01ca6..5fb1aa9c 100644 --- a/content/browser/indexed_db/indexed_db_database.cc +++ b/content/browser/indexed_db/indexed_db_database.cc
@@ -480,7 +480,7 @@ scoped_refptr<IndexedDBDatabaseCallbacks> database_callbacks, int child_process_id) { std::unique_ptr<IndexedDBConnection> connection( - base::MakeUnique<IndexedDBConnection>(child_process_id, this, + std::make_unique<IndexedDBConnection>(child_process_id, this, database_callbacks)); connections_.insert(connection.get()); backing_store_->GrantChildProcessPermissions(child_process_id); @@ -1187,12 +1187,12 @@ ¤t_number); if (!s.ok()) { LOG(ERROR) << "Failed to GetKeyGeneratorCurrentNumber"; - return base::MakeUnique<IndexedDBKey>(); + return std::make_unique<IndexedDBKey>(); } if (current_number < 0 || current_number > max_generator_value) - return base::MakeUnique<IndexedDBKey>(); + return std::make_unique<IndexedDBKey>(); - return base::MakeUnique<IndexedDBKey>(current_number, kWebIDBKeyTypeNumber); + return std::make_unique<IndexedDBKey>(current_number, kWebIDBKeyTypeNumber); } // Called at the end of a "put" operation. The key is a number that was either @@ -1248,7 +1248,7 @@ DCHECK(key); DCHECK(value); std::unique_ptr<PutOperationParams> params( - base::MakeUnique<PutOperationParams>()); + std::make_unique<PutOperationParams>()); params->object_store_id = object_store_id; params->value.swap(*value); params->handles.swap(*handles); @@ -1492,7 +1492,7 @@ return; std::unique_ptr<OpenCursorOperationParams> params( - base::MakeUnique<OpenCursorOperationParams>()); + std::make_unique<OpenCursorOperationParams>()); params->object_store_id = object_store_id; params->index_id = index_id; params->key_range = std::move(key_range); @@ -1573,7 +1573,7 @@ return s; } - std::unique_ptr<IndexedDBCursor> cursor = base::MakeUnique<IndexedDBCursor>( + std::unique_ptr<IndexedDBCursor> cursor = std::make_unique<IndexedDBCursor>( std::move(backing_store_cursor), params->cursor_type, params->task_type, transaction); IndexedDBCursor* cursor_ptr = cursor.get(); @@ -1841,13 +1841,13 @@ void IndexedDBDatabase::OpenConnection( std::unique_ptr<IndexedDBPendingConnection> connection) { - AppendRequest(base::MakeUnique<OpenRequest>(this, std::move(connection))); + AppendRequest(std::make_unique<OpenRequest>(this, std::move(connection))); } void IndexedDBDatabase::DeleteDatabase( scoped_refptr<IndexedDBCallbacks> callbacks, bool force_close) { - AppendRequest(base::MakeUnique<DeleteRequest>(this, callbacks)); + AppendRequest(std::make_unique<DeleteRequest>(this, callbacks)); // Close the connections only after the request is queued to make sure // the store is still open. if (force_close)
diff --git a/content/browser/indexed_db/indexed_db_database_unittest.cc b/content/browser/indexed_db/indexed_db_database_unittest.cc index 6e878a4..4c6d68fe 100644 --- a/content/browser/indexed_db/indexed_db_database_unittest.cc +++ b/content/browser/indexed_db/indexed_db_database_unittest.cc
@@ -46,7 +46,7 @@ backing_store_ = new IndexedDBFakeBackingStore(); factory_ = new MockIndexedDBFactory(); std::unique_ptr<FakeIndexedDBMetadataCoding> metadata_coding = - base::MakeUnique<FakeIndexedDBMetadataCoding>(); + std::make_unique<FakeIndexedDBMetadataCoding>(); metadata_coding_ = metadata_coding.get(); EXPECT_TRUE(backing_store_->HasOneRef()); leveldb::Status s; @@ -80,7 +80,7 @@ new MockIndexedDBDatabaseCallbacks()); const int64_t transaction_id1 = 1; std::unique_ptr<IndexedDBPendingConnection> connection1( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( request1, callbacks1, kFakeChildProcessId, transaction_id1, IndexedDBDatabaseMetadata::DEFAULT_VERSION)); db_->OpenConnection(std::move(connection1)); @@ -92,7 +92,7 @@ new MockIndexedDBDatabaseCallbacks()); const int64_t transaction_id2 = 2; std::unique_ptr<IndexedDBPendingConnection> connection2( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( request2, callbacks2, kFakeChildProcessId, transaction_id2, IndexedDBDatabaseMetadata::DEFAULT_VERSION)); db_->OpenConnection(std::move(connection2)); @@ -119,7 +119,7 @@ scoped_refptr<MockIndexedDBCallbacks> request(new MockIndexedDBCallbacks()); const int64_t upgrade_transaction_id = 3; std::unique_ptr<IndexedDBPendingConnection> connection( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( request, callbacks, kFakeChildProcessId, upgrade_transaction_id, IndexedDBDatabaseMetadata::DEFAULT_VERSION)); db_->OpenConnection(std::move(connection)); @@ -170,7 +170,7 @@ new MockIndexedDBDatabaseCallbacks()); const int64_t transaction_id1 = 1; std::unique_ptr<IndexedDBPendingConnection> connection( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( request1, callbacks1, kFakeChildProcessId, transaction_id1, IndexedDBDatabaseMetadata::DEFAULT_VERSION)); db_->OpenConnection(std::move(connection)); @@ -214,7 +214,7 @@ new MockIndexedDBDatabaseCallbacks()); const int64_t transaction_id1 = 1; std::unique_ptr<IndexedDBPendingConnection> connection1( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( request1, callbacks1, kFakeChildProcessId, transaction_id1, kDatabaseVersion)); db_->OpenConnection(std::move(connection1)); @@ -230,7 +230,7 @@ new MockIndexedDBDatabaseCallbacks()); const int64_t transaction_id2 = 2; std::unique_ptr<IndexedDBPendingConnection> connection2( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( request2, callbacks2, kFakeChildProcessId, transaction_id2, kDatabaseVersion)); db_->OpenConnection(std::move(connection2)); @@ -246,7 +246,7 @@ new MockIndexedDBDatabaseCallbacks()); const int64_t transaction_id3 = 3; std::unique_ptr<IndexedDBPendingConnection> connection3( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( request3, callbacks3, kFakeChildProcessId, transaction_id3, kDatabaseVersion)); db_->OpenConnection(std::move(connection3)); @@ -280,7 +280,7 @@ new MockIndexedDBDatabaseCallbacks()); const int64_t transaction_id1 = 1; std::unique_ptr<IndexedDBPendingConnection> connection( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( request1, callbacks1, kFakeChildProcessId, transaction_id1, IndexedDBDatabaseMetadata::DEFAULT_VERSION)); db_->OpenConnection(std::move(connection)); @@ -315,7 +315,7 @@ void SetUp() override { backing_store_ = new IndexedDBFakeBackingStore(); std::unique_ptr<FakeIndexedDBMetadataCoding> metadata_coding = - base::MakeUnique<FakeIndexedDBMetadataCoding>(); + std::make_unique<FakeIndexedDBMetadataCoding>(); metadata_coding_ = metadata_coding.get(); leveldb::Status s; std::tie(db_, s) = IndexedDBDatabase::Create( @@ -327,13 +327,13 @@ callbacks_ = new MockIndexedDBDatabaseCallbacks(); const int64_t transaction_id = 1; std::unique_ptr<IndexedDBPendingConnection> connection( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( request_, callbacks_, kFakeChildProcessId, transaction_id, IndexedDBDatabaseMetadata::DEFAULT_VERSION)); db_->OpenConnection(std::move(connection)); EXPECT_EQ(IndexedDBDatabaseMetadata::NO_VERSION, db_->metadata().version); - connection_ = base::MakeUnique<IndexedDBConnection>(kFakeChildProcessId, + connection_ = std::make_unique<IndexedDBConnection>(kFakeChildProcessId, db_, callbacks_); transaction_ = connection_->CreateTransaction( transaction_id, std::set<int64_t>() /*scope*/, @@ -453,7 +453,7 @@ // Put is asynchronous IndexedDBValue value("value1", std::vector<IndexedDBBlobInfo>()); std::vector<std::unique_ptr<storage::BlobDataHandle>> handles; - std::unique_ptr<IndexedDBKey> key(base::MakeUnique<IndexedDBKey>("key")); + std::unique_ptr<IndexedDBKey> key(std::make_unique<IndexedDBKey>("key")); std::vector<IndexedDBIndexKeys> index_keys; scoped_refptr<MockIndexedDBCallbacks> request( new MockIndexedDBCallbacks(false));
diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host.cc b/content/browser/indexed_db/indexed_db_dispatcher_host.cc index 4e5299f6..7dc346e 100644 --- a/content/browser/indexed_db/indexed_db_dispatcher_host.cc +++ b/content/browser/indexed_db/indexed_db_dispatcher_host.cc
@@ -359,7 +359,7 @@ // created) if this origin is already over quota. callbacks->SetConnectionOpenStartTime(begin_time); std::unique_ptr<IndexedDBPendingConnection> connection = - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( callbacks, database_callbacks, ipc_process_id_, transaction_id, version); DCHECK(request_context_getter_);
diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc b/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc index d37bbaf..e6d3710 100644 --- a/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc +++ b/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc
@@ -403,7 +403,7 @@ base::Closure quit_closure = base::BarrierClosure(3, loop.QuitClosure()); auto put_callbacks = - base::MakeUnique<StrictMock<MockMojoIndexedDBCallbacks>>(); + std::make_unique<StrictMock<MockMojoIndexedDBCallbacks>>(); EXPECT_CALL(*put_callbacks, Error(blink::kWebIDBDatabaseExceptionUnknownError, _)) @@ -1043,7 +1043,7 @@ base::Closure quit_closure = base::BarrierClosure(3, loop.QuitClosure()); auto put_callbacks = - base::MakeUnique<StrictMock<MockMojoIndexedDBCallbacks>>(); + std::make_unique<StrictMock<MockMojoIndexedDBCallbacks>>(); EXPECT_CALL(*put_callbacks, SuccessKey(_)) .Times(1) @@ -1109,7 +1109,7 @@ base::Closure quit_closure = base::BarrierClosure(3, loop.QuitClosure()); auto clear_callbacks = - base::MakeUnique<StrictMock<MockMojoIndexedDBCallbacks>>(); + std::make_unique<StrictMock<MockMojoIndexedDBCallbacks>>(); EXPECT_CALL(*clear_callbacks, Success()) .Times(1)
diff --git a/content/browser/indexed_db/indexed_db_factory_impl.cc b/content/browser/indexed_db/indexed_db_factory_impl.cc index 44371dd..317912a3 100644 --- a/content/browser/indexed_db/indexed_db_factory_impl.cc +++ b/content/browser/indexed_db/indexed_db_factory_impl.cc
@@ -214,16 +214,16 @@ IndexedDBTombstoneSweeper::Mode mode = tombstone_stats_enabled ? IndexedDBTombstoneSweeper::Mode::STATISTICS : IndexedDBTombstoneSweeper::Mode::DELETION; - tasks.push_back(base::MakeUnique<IndexedDBTombstoneSweeper>( + tasks.push_back(std::make_unique<IndexedDBTombstoneSweeper>( mode, kTombstoneSweeperRoundIterations, kTombstoneSweeperMaxIterations, store->db()->db())); // TODO(dmurph): Add compaction task that compacts all indexes if we have // more than X deletions. - store->SetPreCloseTaskList(base::MakeUnique<IndexedDBPreCloseTaskQueue>( + store->SetPreCloseTaskList(std::make_unique<IndexedDBPreCloseTaskQueue>( std::move(tasks), maybe_close_backing_store_runner.Release(), base::TimeDelta::FromSeconds(kPreCloseTasksMaxRunPeriodSeconds), - base::MakeUnique<base::OneShotTimer>())); + std::make_unique<base::OneShotTimer>())); store->StartPreCloseTasks(); } @@ -442,7 +442,7 @@ scoped_refptr<IndexedDBDatabase> database; std::tie(database, s) = IndexedDBDatabase::Create( name, backing_store.get(), this, - base::MakeUnique<IndexedDBMetadataCoding>(), unique_identifier); + std::make_unique<IndexedDBMetadataCoding>(), unique_identifier); if (!database.get()) { IndexedDBDatabaseError error( blink::kWebIDBDatabaseExceptionUnknownError, @@ -667,7 +667,7 @@ std::tie(database, s) = IndexedDBDatabase::Create( name, backing_store.get(), this, - base::MakeUnique<IndexedDBMetadataCoding>(), unique_identifier); + std::make_unique<IndexedDBMetadataCoding>(), unique_identifier); if (!database.get()) { DLOG(ERROR) << "Unable to create the database"; IndexedDBDatabaseError error(blink::kWebIDBDatabaseExceptionUnknownError,
diff --git a/content/browser/indexed_db/indexed_db_factory_unittest.cc b/content/browser/indexed_db/indexed_db_factory_unittest.cc index 9ec8ac4..1fab978 100644 --- a/content/browser/indexed_db/indexed_db_factory_unittest.cc +++ b/content/browser/indexed_db/indexed_db_factory_unittest.cc
@@ -43,7 +43,7 @@ class MockIDBFactory : public IndexedDBFactoryImpl { public: explicit MockIDBFactory(IndexedDBContextImpl* context) - : MockIDBFactory(context, base::MakeUnique<base::DefaultClock>()) {} + : MockIDBFactory(context, std::make_unique<base::DefaultClock>()) {} MockIDBFactory(IndexedDBContextImpl* context, std::unique_ptr<base::Clock> clock) : IndexedDBFactoryImpl(context, std::move(clock)) {} @@ -411,7 +411,7 @@ class DiskFullFactory : public IndexedDBFactoryImpl { public: explicit DiskFullFactory(IndexedDBContextImpl* context) - : IndexedDBFactoryImpl(context, base::MakeUnique<base::DefaultClock>()) {} + : IndexedDBFactoryImpl(context, std::make_unique<base::DefaultClock>()) {} private: ~DiskFullFactory() override {} @@ -470,7 +470,7 @@ base::MakeRefCounted<DiskFullFactory>(context); const base::string16 name(ASCIIToUTF16("name")); std::unique_ptr<IndexedDBPendingConnection> connection( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( callbacks, dummy_database_callbacks, 0 /* child_process_id */, 2 /* transaction_id */, 1 /* version */)); @@ -498,7 +498,7 @@ const Origin origin = Origin::Create(GURL("http://localhost:81")); const int64_t transaction_id = 1; std::unique_ptr<IndexedDBPendingConnection> connection( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( callbacks, db_callbacks, 0 /* child_process_id */, transaction_id, IndexedDBDatabaseMetadata::DEFAULT_VERSION)); @@ -536,7 +536,7 @@ const Origin origin = Origin::Create(GURL("http://localhost:81")); const int64_t transaction_id = 1; std::unique_ptr<IndexedDBPendingConnection> connection( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( callbacks, db_callbacks, 0 /* child_process_id */, transaction_id, IndexedDBDatabaseMetadata::DEFAULT_VERSION)); @@ -648,7 +648,7 @@ const Origin origin = Origin::Create(GURL("http://localhost:81")); const int64_t transaction_id = 1; std::unique_ptr<IndexedDBPendingConnection> connection( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( callbacks, db_callbacks, 0 /* child_process_id */, transaction_id, IndexedDBDatabaseMetadata::DEFAULT_VERSION)); @@ -750,7 +750,7 @@ const int64_t db_version = 2; (*factory)->Open( db_name, - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( *upgrade_callbacks, db_callbacks, 0 /* child_process_id */, transaction_id, db_version), nullptr /* request_context */, origin, context->data_path()); @@ -790,7 +790,7 @@ { const int64_t db_version = 1; std::unique_ptr<IndexedDBPendingConnection> connection( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( failed_open_callbacks, db_callbacks, 0 /* child_process_id */, transaction_id, db_version)); factory->Open(db_name, std::move(connection), @@ -866,7 +866,7 @@ *factory = base::MakeRefCounted<MockIDBFactory>(context); (*factory)->Open( ASCIIToUTF16("test_db"), - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( *callbacks, db_callbacks, 0 /* child_process_id */, transaction_id, 1 /* version */), nullptr /* request_context */, origin, context->data_path());
diff --git a/content/browser/indexed_db/indexed_db_index_writer.cc b/content/browser/indexed_db/indexed_db_index_writer.cc index 2059dfe..6493041 100644 --- a/content/browser/indexed_db/indexed_db_index_writer.cc +++ b/content/browser/indexed_db/indexed_db_index_writer.cc
@@ -137,7 +137,7 @@ keys.second.push_back(primary_key); std::unique_ptr<IndexWriter> index_writer( - base::MakeUnique<IndexWriter>(index, keys)); + std::make_unique<IndexWriter>(index, keys)); bool can_add_keys = false; bool backing_store_success = index_writer->VerifyIndexKeys(backing_store,
diff --git a/content/browser/indexed_db/indexed_db_leveldb_coding.cc b/content/browser/indexed_db/indexed_db_leveldb_coding.cc index b19af8f..ca991f9 100644 --- a/content/browser/indexed_db/indexed_db_leveldb_coding.cc +++ b/content/browser/indexed_db/indexed_db_leveldb_coding.cc
@@ -377,7 +377,7 @@ switch (type) { case kIndexedDBKeyNullTypeByte: - *value = base::MakeUnique<IndexedDBKey>(); + *value = std::make_unique<IndexedDBKey>(); return true; case kIndexedDBKeyArrayTypeByte: { @@ -391,35 +391,35 @@ return false; array.push_back(*key); } - *value = base::MakeUnique<IndexedDBKey>(array); + *value = std::make_unique<IndexedDBKey>(array); return true; } case kIndexedDBKeyBinaryTypeByte: { std::string binary; if (!DecodeBinary(slice, &binary)) return false; - *value = base::MakeUnique<IndexedDBKey>(binary); + *value = std::make_unique<IndexedDBKey>(binary); return true; } case kIndexedDBKeyStringTypeByte: { base::string16 s; if (!DecodeStringWithLength(slice, &s)) return false; - *value = base::MakeUnique<IndexedDBKey>(s); + *value = std::make_unique<IndexedDBKey>(s); return true; } case kIndexedDBKeyDateTypeByte: { double d; if (!DecodeDouble(slice, &d)) return false; - *value = base::MakeUnique<IndexedDBKey>(d, kWebIDBKeyTypeDate); + *value = std::make_unique<IndexedDBKey>(d, kWebIDBKeyTypeDate); return true; } case kIndexedDBKeyNumberTypeByte: { double d; if (!DecodeDouble(slice, &d)) return false; - *value = base::MakeUnique<IndexedDBKey>(d, kWebIDBKeyTypeNumber); + *value = std::make_unique<IndexedDBKey>(d, kWebIDBKeyTypeNumber); return true; } }
diff --git a/content/browser/indexed_db/indexed_db_tombstone_sweeper_unittest.cc b/content/browser/indexed_db/indexed_db_tombstone_sweeper_unittest.cc index 3e648fc9..820cec2 100644 --- a/content/browser/indexed_db/indexed_db_tombstone_sweeper_unittest.cc +++ b/content/browser/indexed_db/indexed_db_tombstone_sweeper_unittest.cc
@@ -131,7 +131,7 @@ } void SetupMockDB() { - sweeper_ = base::MakeUnique<IndexedDBTombstoneSweeper>( + sweeper_ = std::make_unique<IndexedDBTombstoneSweeper>( GetParam(), kRoundIterations, kMaxIterations, &mock_db_); sweeper_->SetStartSeedsForTesting(0, 0, 0); } @@ -139,7 +139,7 @@ void SetupRealDB() { comparator_.reset(new Comparator()); in_memory_db_ = LevelDBDatabase::OpenInMemory(comparator_.get()); - sweeper_ = base::MakeUnique<IndexedDBTombstoneSweeper>( + sweeper_ = std::make_unique<IndexedDBTombstoneSweeper>( GetParam(), kRoundIterations, kMaxIterations, in_memory_db_->db()); sweeper_->SetStartSeedsForTesting(0, 0, 0); }
diff --git a/content/browser/indexed_db/indexed_db_transaction.cc b/content/browser/indexed_db/indexed_db_transaction.cc index 1f0fce7..5288b18 100644 --- a/content/browser/indexed_db/indexed_db_transaction.cc +++ b/content/browser/indexed_db/indexed_db_transaction.cc
@@ -552,7 +552,7 @@ int32_t observer_id, const IndexedDBObserver::Options& options) { DCHECK_NE(mode(), blink::kWebIDBTransactionModeVersionChange); - pending_observers_.push_back(base::MakeUnique<IndexedDBObserver>( + pending_observers_.push_back(std::make_unique<IndexedDBObserver>( observer_id, object_store_ids_, options)); }
diff --git a/content/browser/indexed_db/indexed_db_transaction_unittest.cc b/content/browser/indexed_db/indexed_db_transaction_unittest.cc index c246ba4..b5ba5ab1 100644 --- a/content/browser/indexed_db/indexed_db_transaction_unittest.cc +++ b/content/browser/indexed_db/indexed_db_transaction_unittest.cc
@@ -55,7 +55,7 @@ leveldb::Status s; std::tie(db_, s) = IndexedDBDatabase::Create( base::ASCIIToUTF16("db"), backing_store_.get(), factory_.get(), - base::MakeUnique<FakeIndexedDBMetadataCoding>(), + std::make_unique<FakeIndexedDBMetadataCoding>(), IndexedDBDatabase::Identifier()); ASSERT_TRUE(s.ok()); } @@ -97,7 +97,7 @@ const std::set<int64_t> scope; const leveldb::Status commit_success = leveldb::Status::OK(); std::unique_ptr<IndexedDBConnection> connection( - base::MakeUnique<IndexedDBConnection>( + std::make_unique<IndexedDBConnection>( kFakeProcessId, db_, new MockIndexedDBDatabaseCallbacks())); std::unique_ptr<IndexedDBTransaction> transaction = std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction( @@ -143,7 +143,7 @@ const std::set<int64_t> scope; const leveldb::Status commit_success = leveldb::Status::OK(); std::unique_ptr<IndexedDBConnection> connection( - base::MakeUnique<IndexedDBConnection>( + std::make_unique<IndexedDBConnection>( kFakeProcessId, db_, new MockIndexedDBDatabaseCallbacks())); std::unique_ptr<IndexedDBTransaction> transaction = std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction( @@ -178,7 +178,7 @@ const std::set<int64_t> scope; const leveldb::Status commit_success = leveldb::Status::OK(); std::unique_ptr<IndexedDBConnection> connection( - base::MakeUnique<IndexedDBConnection>( + std::make_unique<IndexedDBConnection>( kFakeProcessId, db_, new MockIndexedDBDatabaseCallbacks())); std::unique_ptr<IndexedDBTransaction> transaction = std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction( @@ -240,7 +240,7 @@ const std::set<int64_t> scope; const leveldb::Status commit_success = leveldb::Status::OK(); std::unique_ptr<IndexedDBConnection> connection( - base::MakeUnique<IndexedDBConnection>( + std::make_unique<IndexedDBConnection>( kFakeProcessId, db_, new MockIndexedDBDatabaseCallbacks())); std::unique_ptr<IndexedDBTransaction> transaction = std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction( @@ -305,7 +305,7 @@ const std::set<int64_t> scope; const leveldb::Status commit_failure = leveldb::Status::Corruption("Ouch."); std::unique_ptr<IndexedDBConnection> connection( - base::MakeUnique<IndexedDBConnection>( + std::make_unique<IndexedDBConnection>( kFakeProcessId, db_, new MockIndexedDBDatabaseCallbacks())); std::unique_ptr<IndexedDBTransaction> transaction = std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction( @@ -367,7 +367,7 @@ const std::set<int64_t> scope; const leveldb::Status commit_failure = leveldb::Status::Corruption("Ouch."); std::unique_ptr<IndexedDBConnection> connection( - base::MakeUnique<IndexedDBConnection>( + std::make_unique<IndexedDBConnection>( kFakeProcessId, db_, new MockIndexedDBDatabaseCallbacks())); std::unique_ptr<IndexedDBTransaction> transaction = std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction( @@ -396,7 +396,7 @@ const std::set<int64_t> scope; const leveldb::Status commit_success = leveldb::Status::OK(); std::unique_ptr<IndexedDBConnection> connection( - base::MakeUnique<IndexedDBConnection>( + std::make_unique<IndexedDBConnection>( kFakeProcessId, db_, new MockIndexedDBDatabaseCallbacks())); std::unique_ptr<IndexedDBTransaction> transaction = std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction( @@ -450,7 +450,7 @@ const std::set<int64_t> scope; const leveldb::Status commit_success = leveldb::Status::OK(); std::unique_ptr<IndexedDBConnection> connection( - base::MakeUnique<IndexedDBConnection>( + std::make_unique<IndexedDBConnection>( kFakeProcessId, db_, new MockIndexedDBDatabaseCallbacks())); base::WeakPtr<IndexedDBTransaction> transaction =
diff --git a/content/browser/indexed_db/indexed_db_unittest.cc b/content/browser/indexed_db/indexed_db_unittest.cc index 234a55a..80c9b85 100644 --- a/content/browser/indexed_db/indexed_db_unittest.cc +++ b/content/browser/indexed_db/indexed_db_unittest.cc
@@ -181,14 +181,14 @@ idb_context->GetFilePathForTesting(origin); factory->Open(base::ASCIIToUTF16("opendb"), - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( open_callbacks, open_db_callbacks, child_process_id, host_transaction_id, version), request_context, origin, idb_context->data_path()); EXPECT_TRUE(base::DirectoryExists(test_path)); factory->Open(base::ASCIIToUTF16("closeddb"), - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( closed_callbacks, closed_db_callbacks, child_process_id, host_transaction_id, version), request_context, origin, idb_context->data_path()); @@ -263,7 +263,7 @@ const scoped_refptr<net::URLRequestContextGetter> request_context; std::unique_ptr<IndexedDBPendingConnection> connection( - base::MakeUnique<IndexedDBPendingConnection>( + std::make_unique<IndexedDBPendingConnection>( callbacks, db_callbacks, child_process_id, transaction_id, IndexedDBDatabaseMetadata::DEFAULT_VERSION)); factory->Open(base::ASCIIToUTF16("db"), std::move(connection),
diff --git a/content/browser/indexed_db/leveldb/leveldb_database.cc b/content/browser/indexed_db/leveldb/leveldb_database.cc index 736bc1d..bf01b07 100644 --- a/content/browser/indexed_db/leveldb/leveldb_database.cc +++ b/content/browser/indexed_db/leveldb/leveldb_database.cc
@@ -280,7 +280,7 @@ if (!status.ok()) return std::unique_ptr<LevelDBLock>(); DCHECK(lock); - return base::MakeUnique<LockImpl>(env, lock); + return std::make_unique<LockImpl>(env, lock); } // static @@ -293,7 +293,7 @@ base::TimeTicks begin_time = base::TimeTicks::Now(); std::unique_ptr<ComparatorAdapter> comparator_adapter( - base::MakeUnique<ComparatorAdapter>(comparator)); + std::make_unique<ComparatorAdapter>(comparator)); std::unique_ptr<leveldb::DB> db; std::unique_ptr<const leveldb::FilterPolicy> filter_policy; @@ -332,7 +332,7 @@ std::unique_ptr<LevelDBDatabase> LevelDBDatabase::OpenInMemory( const LevelDBComparator* comparator) { std::unique_ptr<ComparatorAdapter> comparator_adapter( - base::MakeUnique<ComparatorAdapter>(comparator)); + std::make_unique<ComparatorAdapter>(comparator)); std::unique_ptr<leveldb::Env> in_memory_env( leveldb_chrome::NewMemEnv(LevelDBEnv::Get()));
diff --git a/content/browser/indexed_db/leveldb/leveldb_transaction.cc b/content/browser/indexed_db/leveldb/leveldb_transaction.cc index b2e83c4..dc1452d 100644 --- a/content/browser/indexed_db/leveldb/leveldb_transaction.cc +++ b/content/browser/indexed_db/leveldb/leveldb_transaction.cc
@@ -49,7 +49,7 @@ DataType::iterator it = data_.find(key); if (it == data_.end()) { - std::unique_ptr<Record> record = base::MakeUnique<Record>(); + std::unique_ptr<Record> record = std::make_unique<Record>(); size_ += SizeOfRecordInMap(key.size()) + value->size(); record->key.assign(key.begin(), key.end() - key.begin()); record->value.swap(*value); @@ -383,7 +383,7 @@ transaction_->size_ -= data_iterator_->Value().size(); data_iterator_->Delete(); } else { - std::unique_ptr<Record> record = base::MakeUnique<Record>(); + std::unique_ptr<Record> record = std::make_unique<Record>(); record->key = Key().as_string(); record->deleted = true; transaction_->size_ +=
diff --git a/content/browser/indexed_db/list_set_unittest.cc b/content/browser/indexed_db/list_set_unittest.cc index b5b7145..615b547 100644 --- a/content/browser/indexed_db/list_set_unittest.cc +++ b/content/browser/indexed_db/list_set_unittest.cc
@@ -166,9 +166,9 @@ } TEST(ListSetTest, ListSetPointer) { - std::unique_ptr<Wrapped<int>> w0 = base::MakeUnique<Wrapped<int>>(0); - std::unique_ptr<Wrapped<int>> w1 = base::MakeUnique<Wrapped<int>>(1); - std::unique_ptr<Wrapped<int>> w2 = base::MakeUnique<Wrapped<int>>(2); + std::unique_ptr<Wrapped<int>> w0 = std::make_unique<Wrapped<int>>(0); + std::unique_ptr<Wrapped<int>> w1 = std::make_unique<Wrapped<int>>(1); + std::unique_ptr<Wrapped<int>> w2 = std::make_unique<Wrapped<int>>(2); list_set<Wrapped<int>*> set; EXPECT_EQ(0u, set.size());
diff --git a/content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.cc b/content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.cc index 36bf7ffa..266205bd 100644 --- a/content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.cc +++ b/content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.cc
@@ -318,14 +318,14 @@ instance_count_[FAIL_CLASS_LEVELDB_ITERATOR] = instance_count_[FAIL_CLASS_LEVELDB_ITERATOR] + 1; if (only_trace_calls_) { - return base::MakeUnique<LevelDBTraceIteratorImpl>( + return std::make_unique<LevelDBTraceIteratorImpl>( std::move(iterator), db, snapshot, instance_count_[FAIL_CLASS_LEVELDB_ITERATOR]); } else { if (failure_class_ == FAIL_CLASS_LEVELDB_ITERATOR && instance_count_[FAIL_CLASS_LEVELDB_ITERATOR] == fail_on_instance_num_[FAIL_CLASS_LEVELDB_ITERATOR]) { - return base::MakeUnique<LevelDBTestIteratorImpl>( + return std::make_unique<LevelDBTestIteratorImpl>( std::move(iterator), db, snapshot, failure_method_, fail_on_call_num_[FAIL_CLASS_LEVELDB_ITERATOR]); } else {
diff --git a/content/browser/installedapp/installed_app_provider_impl_default.cc b/content/browser/installedapp/installed_app_provider_impl_default.cc index a71e9d8..3a77bd7 100644 --- a/content/browser/installedapp/installed_app_provider_impl_default.cc +++ b/content/browser/installedapp/installed_app_provider_impl_default.cc
@@ -23,7 +23,7 @@ // static void InstalledAppProviderImplDefault::Create( blink::mojom::InstalledAppProviderRequest request) { - mojo::MakeStrongBinding(base::MakeUnique<InstalledAppProviderImplDefault>(), + mojo::MakeStrongBinding(std::make_unique<InstalledAppProviderImplDefault>(), std::move(request)); }
diff --git a/content/browser/keyboard_lock/keyboard_lock_service_impl.cc b/content/browser/keyboard_lock/keyboard_lock_service_impl.cc index f4e2127..49d3535 100644 --- a/content/browser/keyboard_lock/keyboard_lock_service_impl.cc +++ b/content/browser/keyboard_lock/keyboard_lock_service_impl.cc
@@ -26,8 +26,8 @@ RenderFrameHost* render_frame_host, blink::mojom::KeyboardLockServiceRequest request) { mojo::MakeStrongBinding( - base::MakeUnique<KeyboardLockServiceImpl>(render_frame_host), - std::move(request)); + std::make_unique<KeyboardLockServiceImpl>(render_frame_host), + std::move(request)); } void KeyboardLockServiceImpl::RequestKeyboardLock(
diff --git a/content/browser/leveldb_wrapper_impl.cc b/content/browser/leveldb_wrapper_impl.cc index e20d2eee..dbdfabe 100644 --- a/content/browser/leveldb_wrapper_impl.cc +++ b/content/browser/leveldb_wrapper_impl.cc
@@ -390,7 +390,7 @@ } void LevelDBWrapperImpl::OnGotMigrationData(std::unique_ptr<ValueMap> data) { - map_ = data ? std::move(data) : base::MakeUnique<ValueMap>(); + map_ = data ? std::move(data) : std::make_unique<ValueMap>(); bytes_used_ = 0; for (const auto& it : *map_) bytes_used_ += it.first.size() + it.second.size();
diff --git a/content/browser/loader/async_resource_handler.cc b/content/browser/loader/async_resource_handler.cc index f0ae5c2..709b1c83f 100644 --- a/content/browser/loader/async_resource_handler.cc +++ b/content/browser/loader/async_resource_handler.cc
@@ -215,7 +215,7 @@ if (GetRequestInfo()->is_upload_progress_enabled() && request()->has_upload()) { - upload_progress_tracker_ = base::MakeUnique<UploadProgressTracker>( + upload_progress_tracker_ = std::make_unique<UploadProgressTracker>( FROM_HERE, base::BindRepeating(&AsyncResourceHandler::SendUploadProgress, base::Unretained(this)),
diff --git a/content/browser/loader/async_resource_handler_unittest.cc b/content/browser/loader/async_resource_handler_unittest.cc index d37a583..c944891 100644 --- a/content/browser/loader/async_resource_handler_unittest.cc +++ b/content/browser/loader/async_resource_handler_unittest.cc
@@ -158,13 +158,13 @@ void CreateRequestWithResponseDataSize(size_t response_data_size) { test_job_factory_.SetProtocolHandler( - "test", base::MakeUnique<TestProtocolHandler>(response_data_size)); + "test", std::make_unique<TestProtocolHandler>(response_data_size)); context_.set_job_factory(&test_job_factory_); context_.Init(); std::unique_ptr<net::URLRequest> request = context_.CreateRequest(GURL("test:test"), net::DEFAULT_PRIORITY, nullptr, TRAFFIC_ANNOTATION_FOR_TESTS); - resource_context_ = base::MakeUnique<MockResourceContext>(&context_); + resource_context_ = std::make_unique<MockResourceContext>(&context_); filter_ = new RecordingResourceMessageFilter(resource_context_.get(), &context_); ResourceRequestInfoImpl* info = new ResourceRequestInfoImpl( @@ -196,9 +196,9 @@ false); // initiated_in_secure_context info->AssociateWithRequest(request.get()); std::unique_ptr<AsyncResourceHandler> handler = - base::MakeUnique<AsyncResourceHandler>(request.get(), &rdh_); - loader_ = base::MakeUnique<ResourceLoader>( - std::move(request), std::move(handler), this); + std::make_unique<AsyncResourceHandler>(request.get(), &rdh_); + loader_ = std::make_unique<ResourceLoader>(std::move(request), + std::move(handler), this); } void StartRequestAndWaitWithResponseDataSize(size_t response_data_size) {
diff --git a/content/browser/loader/cross_site_resource_handler_browsertest.cc b/content/browser/loader/cross_site_resource_handler_browsertest.cc index 2e986ad1..07d00e5 100644 --- a/content/browser/loader/cross_site_resource_handler_browsertest.cc +++ b/content/browser/loader/cross_site_resource_handler_browsertest.cc
@@ -57,7 +57,7 @@ ASSERT_FALSE(throttle_created_); throttle_created_ = true; - throttles->push_back(base::MakeUnique<CallbackRunningResourceThrottle>( + throttles->push_back(std::make_unique<CallbackRunningResourceThrottle>( request, this, run_on_start_)); } }
diff --git a/content/browser/loader/detachable_resource_handler.cc b/content/browser/loader/detachable_resource_handler.cc index 0042087..fc6cc26 100644 --- a/content/browser/loader/detachable_resource_handler.cc +++ b/content/browser/loader/detachable_resource_handler.cc
@@ -103,7 +103,7 @@ // TODO(mmenke): Get rid of NullResourceController and do something more // reasonable. next_handler_->OnResponseCompleted( - status, base::MakeUnique<NullResourceController>(&was_resumed)); + status, std::make_unique<NullResourceController>(&was_resumed)); DCHECK(was_resumed); // If |next_handler_| were to defer its shutdown in OnResponseCompleted, // this would destroy it anyway. Fortunately, AsyncResourceHandler never @@ -166,7 +166,7 @@ HoldController(std::move(controller)); next_handler_->OnRequestRedirected(redirect_info, response, - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } void DetachableResourceHandler::OnResponseStarted( @@ -181,7 +181,7 @@ HoldController(std::move(controller)); next_handler_->OnResponseStarted(response, - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } void DetachableResourceHandler::OnWillStart( @@ -195,7 +195,7 @@ } HoldController(std::move(controller)); - next_handler_->OnWillStart(url, base::MakeUnique<Controller>(this)); + next_handler_->OnWillStart(url, std::make_unique<Controller>(this)); } void DetachableResourceHandler::OnWillRead( @@ -215,7 +215,7 @@ parent_read_buffer_size_ = buf_size; HoldController(std::move(controller)); - next_handler_->OnWillRead(buf, buf_size, base::MakeUnique<Controller>(this)); + next_handler_->OnWillRead(buf, buf_size, std::make_unique<Controller>(this)); } void DetachableResourceHandler::OnReadCompleted( @@ -230,7 +230,7 @@ HoldController(std::move(controller)); next_handler_->OnReadCompleted(bytes_read, - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } void DetachableResourceHandler::OnResponseCompleted( @@ -252,7 +252,7 @@ HoldController(std::move(controller)); next_handler_->OnResponseCompleted(status, - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } void DetachableResourceHandler::OnDataDownloaded(int bytes_downloaded) {
diff --git a/content/browser/loader/detachable_resource_handler_unittest.cc b/content/browser/loader/detachable_resource_handler_unittest.cc index 0c1f12d5..7f01674 100644 --- a/content/browser/loader/detachable_resource_handler_unittest.cc +++ b/content/browser/loader/detachable_resource_handler_unittest.cc
@@ -74,15 +74,15 @@ std::unique_ptr<TestResourceHandler> test_handler; if (GetParam() != DetachPhase::DETACHED_FROM_CREATION) { - test_handler = base::MakeUnique<TestResourceHandler>(); + test_handler = std::make_unique<TestResourceHandler>(); test_handler_ = test_handler->GetWeakPtr(); } // TODO(mmenke): This file currently has no timeout tests. Should it? - detachable_handler_ = base::MakeUnique<DetachableResourceHandler>( + detachable_handler_ = std::make_unique<DetachableResourceHandler>( request_.get(), base::TimeDelta::FromMinutes(30), std::move(test_handler)); mock_loader_ = - base::MakeUnique<MockResourceLoader>(detachable_handler_.get()); + std::make_unique<MockResourceLoader>(detachable_handler_.get()); } // If the DetachableResourceHandler is supposed to detach the next handler at
diff --git a/content/browser/loader/downloaded_temp_file_impl.cc b/content/browser/loader/downloaded_temp_file_impl.cc index 878e3e2..7bbb539 100644 --- a/content/browser/loader/downloaded_temp_file_impl.cc +++ b/content/browser/loader/downloaded_temp_file_impl.cc
@@ -15,7 +15,7 @@ int request_id) { mojo::InterfacePtr<mojom::DownloadedTempFile> ptr; mojo::MakeStrongBinding( - base::MakeUnique<DownloadedTempFileImpl>(child_id, request_id), + std::make_unique<DownloadedTempFileImpl>(child_id, request_id), mojo::MakeRequest(&ptr)); return ptr; }
diff --git a/content/browser/loader/intercepting_resource_handler.cc b/content/browser/loader/intercepting_resource_handler.cc index f74db04..d1b2ccc 100644 --- a/content/browser/loader/intercepting_resource_handler.cc +++ b/content/browser/loader/intercepting_resource_handler.cc
@@ -161,7 +161,7 @@ // TODO(mmenke): Get rid of NullResourceController and do something more // reasonable. next_handler_->OnResponseCompleted( - status, base::MakeUnique<NullResourceController>(&was_resumed)); + status, std::make_unique<NullResourceController>(&was_resumed)); DCHECK(was_resumed); state_ = State::PASS_THROUGH; @@ -265,7 +265,7 @@ state_ = State::WAITING_FOR_OLD_HANDLERS_BUFFER; next_handler_->OnWillRead(&first_read_buffer_, &first_read_buffer_size_, - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } void InterceptingResourceHandler::OnBufferReceived() { @@ -293,7 +293,7 @@ void InterceptingResourceHandler::SendOnResponseStartedToOldHandler() { state_ = State::SENDING_PAYLOAD_TO_OLD_HANDLER; next_handler_->OnResponseStarted(response_.get(), - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } void InterceptingResourceHandler::SendPayloadToOldHandler() { @@ -311,13 +311,13 @@ // TODO(mmenke): Get rid of NullResourceController and do something more // reasonable. next_handler_->OnResponseCompleted( - status, base::MakeUnique<NullResourceController>(&was_resumed)); + status, std::make_unique<NullResourceController>(&was_resumed)); DCHECK(was_resumed); next_handler_ = std::move(new_handler_); state_ = State::SENDING_ON_WILL_START_TO_NEW_HANDLER; next_handler_->OnWillStart(request()->url(), - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); return; } @@ -335,7 +335,7 @@ DCHECK(!first_read_buffer_size_); next_handler_->OnWillRead(&first_read_buffer_, &first_read_buffer_size_, - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } void InterceptingResourceHandler::ReceivedBufferFromOldHandler() { @@ -357,13 +357,13 @@ state_ = State::SENDING_PAYLOAD_TO_OLD_HANDLER; next_handler_->OnReadCompleted(bytes_to_copy, - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } void InterceptingResourceHandler::SendOnResponseStartedToNewHandler() { state_ = State::SENDING_ON_RESPONSE_STARTED_TO_NEW_HANDLER; next_handler_->OnResponseStarted(response_.get(), - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } void InterceptingResourceHandler::SendFirstReadBufferToNewHandler() { @@ -381,7 +381,7 @@ state_ = State::SENDING_BUFFER_TO_NEW_HANDLER_WAITING_FOR_BUFFER; next_handler_->OnWillRead(&new_handler_read_buffer_, &new_handler_read_buffer_size_, - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } void InterceptingResourceHandler::ReceivedBufferFromNewHandler() { @@ -403,7 +403,7 @@ state_ = State::SENDING_BUFFER_TO_NEW_HANDLER; next_handler_->OnReadCompleted(bytes_to_copy, - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } } // namespace content
diff --git a/content/browser/loader/intercepting_resource_handler_unittest.cc b/content/browser/loader/intercepting_resource_handler_unittest.cc index a7218ef7..7b1ba98 100644 --- a/content/browser/loader/intercepting_resource_handler_unittest.cc +++ b/content/browser/loader/intercepting_resource_handler_unittest.cc
@@ -60,10 +60,10 @@ std::unique_ptr<TestResourceHandler> old_handler( new TestResourceHandler(&old_handler_status_, &old_handler_body_)); old_handler_ = old_handler->GetWeakPtr(); - intercepting_handler_ = base::MakeUnique<InterceptingResourceHandler>( + intercepting_handler_ = std::make_unique<InterceptingResourceHandler>( std::move(old_handler), request_.get()); mock_loader_ = - base::MakeUnique<MockResourceLoader>(intercepting_handler_.get()); + std::make_unique<MockResourceLoader>(intercepting_handler_.get()); } protected:
diff --git a/content/browser/loader/mime_sniffing_resource_handler.cc b/content/browser/loader/mime_sniffing_resource_handler.cc index dfb83be..0780096 100644 --- a/content/browser/loader/mime_sniffing_resource_handler.cc +++ b/content/browser/loader/mime_sniffing_resource_handler.cc
@@ -378,7 +378,7 @@ state_ = STATE_WAITING_FOR_BUFFER; next_handler_->OnWillRead(&read_buffer_, &read_buffer_size_, - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } void MimeSniffingResourceHandler::BufferReceived() { @@ -403,7 +403,7 @@ DCHECK_EQ(STATE_INTERCEPTION_CHECK_DONE, state_); state_ = STATE_REPLAYING_RESPONSE_RECEIVED; next_handler_->OnResponseStarted(response_.get(), - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } void MimeSniffingResourceHandler::ReplayReadCompleted() { @@ -423,7 +423,7 @@ bytes_read_ = 0; next_handler_->OnReadCompleted(bytes_read, - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } bool MimeSniffingResourceHandler::MaybeStartInterception() {
diff --git a/content/browser/loader/mime_sniffing_resource_handler_unittest.cc b/content/browser/loader/mime_sniffing_resource_handler_unittest.cc index 52be940..a770b53e 100644 --- a/content/browser/loader/mime_sniffing_resource_handler_unittest.cc +++ b/content/browser/loader/mime_sniffing_resource_handler_unittest.cc
@@ -282,7 +282,7 @@ TestFakePluginService plugin_service(plugin_available_, plugin_stale_); std::unique_ptr<InterceptingResourceHandler> intercepting_handler( - new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), + new InterceptingResourceHandler(std::make_unique<TestResourceHandler>(), nullptr)); std::unique_ptr<TestResourceHandler> scoped_test_handler( new TestResourceHandler()); @@ -341,7 +341,7 @@ TestFakePluginService plugin_service(plugin_available_, plugin_stale_); std::unique_ptr<InterceptingResourceHandler> intercepting_handler( - new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), + new InterceptingResourceHandler(std::make_unique<TestResourceHandler>(), nullptr)); std::unique_ptr<TestResourceHandler> scoped_test_handler( @@ -503,7 +503,7 @@ TestFakePluginService plugin_service(plugin_available_, plugin_stale_); std::unique_ptr<InterceptingResourceHandler> intercepting_handler( - new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), + new InterceptingResourceHandler(std::make_unique<TestResourceHandler>(), nullptr)); std::unique_ptr<TestResourceHandler> scoped_test_handler( @@ -883,7 +883,7 @@ TestFakePluginService plugin_service(false, false); std::unique_ptr<ResourceHandler> intercepting_handler( - new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), + new InterceptingResourceHandler(std::make_unique<TestResourceHandler>(), nullptr)); MimeSniffingResourceHandler mime_sniffing_handler( std::unique_ptr<ResourceHandler>(new TestResourceHandler()), &host, @@ -932,7 +932,7 @@ TestFakePluginService plugin_service(false, false); std::unique_ptr<InterceptingResourceHandler> intercepting_handler( - new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), + new InterceptingResourceHandler(std::make_unique<TestResourceHandler>(), nullptr)); std::unique_ptr<TestResourceHandler> scoped_test_handler(
diff --git a/content/browser/loader/mock_resource_loader.cc b/content/browser/loader/mock_resource_loader.cc index 6971ab41..1497d92d 100644 --- a/content/browser/loader/mock_resource_loader.cc +++ b/content/browser/loader/mock_resource_loader.cc
@@ -46,7 +46,7 @@ EXPECT_EQ(Status::IDLE, status_); status_ = Status::CALLING_HANDLER; - resource_handler_->OnWillStart(url, base::MakeUnique<TestResourceController>( + resource_handler_->OnWillStart(url, std::make_unique<TestResourceController>( weak_factory_.GetWeakPtr())); if (status_ == Status::CALLING_HANDLER) status_ = Status::CALLBACK_PENDING; @@ -65,7 +65,7 @@ // needs to hold onto its own pointer to it. resource_handler_->OnRequestRedirected( redirect_info, response.get(), - base::MakeUnique<TestResourceController>(weak_factory_.GetWeakPtr())); + std::make_unique<TestResourceController>(weak_factory_.GetWeakPtr())); if (status_ == Status::CALLING_HANDLER) status_ = Status::CALLBACK_PENDING; return status_; @@ -82,7 +82,7 @@ // needs to hold onto its own pointer to it. resource_handler_->OnResponseStarted( response.get(), - base::MakeUnique<TestResourceController>(weak_factory_.GetWeakPtr())); + std::make_unique<TestResourceController>(weak_factory_.GetWeakPtr())); if (status_ == Status::CALLING_HANDLER) status_ = Status::CALLBACK_PENDING; return status_; @@ -96,7 +96,7 @@ waiting_on_buffer_ = true; resource_handler_->OnWillRead( &io_buffer_, &io_buffer_size_, - base::MakeUnique<TestResourceController>(weak_factory_.GetWeakPtr())); + std::make_unique<TestResourceController>(weak_factory_.GetWeakPtr())); if (status_ == Status::CALLING_HANDLER) { // Shouldn't update |io_buffer_| or |io_buffer_size_| yet if Resume() // hasn't yet been called. @@ -121,7 +121,7 @@ io_buffer_size_ = 0; resource_handler_->OnReadCompleted( bytes.size(), - base::MakeUnique<TestResourceController>(weak_factory_.GetWeakPtr())); + std::make_unique<TestResourceController>(weak_factory_.GetWeakPtr())); if (status_ == Status::CALLING_HANDLER) status_ = Status::CALLBACK_PENDING; return status_; @@ -141,7 +141,7 @@ status_ = Status::CALLING_HANDLER; resource_handler_->OnResponseCompleted( status, - base::MakeUnique<TestResourceController>(weak_factory_.GetWeakPtr())); + std::make_unique<TestResourceController>(weak_factory_.GetWeakPtr())); if (status_ == Status::CALLING_HANDLER) status_ = Status::CALLBACK_PENDING; EXPECT_NE(Status::CANCELED, status_); @@ -162,7 +162,7 @@ resource_handler_->OnResponseCompleted( url_request_status, - base::MakeUnique<TestResourceController>(weak_factory_.GetWeakPtr())); + std::make_unique<TestResourceController>(weak_factory_.GetWeakPtr())); if (status_ == Status::CALLING_HANDLER) status_ = Status::CALLBACK_PENDING; EXPECT_NE(Status::CANCELED, status_);
diff --git a/content/browser/loader/mojo_async_resource_handler.cc b/content/browser/loader/mojo_async_resource_handler.cc index 3cf85af..58d86c05 100644 --- a/content/browser/loader/mojo_async_resource_handler.cc +++ b/content/browser/loader/mojo_async_resource_handler.cc
@@ -569,7 +569,7 @@ MojoAsyncResourceHandler::CreateUploadProgressTracker( const base::Location& from_here, UploadProgressTracker::UploadProgressReportCallback callback) { - return base::MakeUnique<UploadProgressTracker>(from_here, std::move(callback), + return std::make_unique<UploadProgressTracker>(from_here, std::move(callback), request()); }
diff --git a/content/browser/loader/mojo_async_resource_handler_unittest.cc b/content/browser/loader/mojo_async_resource_handler_unittest.cc index e25adee..02fbe79 100644 --- a/content/browser/loader/mojo_async_resource_handler_unittest.cc +++ b/content/browser/loader/mojo_async_resource_handler_unittest.cc
@@ -268,7 +268,7 @@ UploadProgressTracker::UploadProgressReportCallback callback) override { DCHECK(!upload_progress_tracker_); - auto upload_progress_tracker = base::MakeUnique<FakeUploadProgressTracker>( + auto upload_progress_tracker = std::make_unique<FakeUploadProgressTracker>( from_here, std::move(callback), request(), task_runner_); upload_progress_tracker_ = upload_progress_tracker.get(); return std::move(upload_progress_tracker); @@ -351,7 +351,7 @@ ResourceRequest request; base::WeakPtr<mojo::StrongBinding<mojom::URLLoaderFactory>> weak_binding = - mojo::MakeStrongBinding(base::MakeUnique<TestURLLoaderFactory>(), + mojo::MakeStrongBinding(std::make_unique<TestURLLoaderFactory>(), mojo::MakeRequest(&url_loader_factory_)); url_loader_factory_->CreateLoaderAndStart( @@ -456,7 +456,7 @@ protected: MojoAsyncResourceHandlerUploadTest() : MojoAsyncResourceHandlerTestBase( - base::MakeUnique<DummyUploadDataStream>()) {} + std::make_unique<DummyUploadDataStream>()) {} }; TEST_F(MojoAsyncResourceHandlerTest, InFlightRequests) {
diff --git a/content/browser/loader/navigation_resource_handler.cc b/content/browser/loader/navigation_resource_handler.cc index 4a522b1..ac4b9a92 100644 --- a/content/browser/loader/navigation_resource_handler.cc +++ b/content/browser/loader/navigation_resource_handler.cc
@@ -117,7 +117,7 @@ HoldController(std::move(controller)); response_ = response; - redirect_info_ = base::MakeUnique<net::RedirectInfo>(redirect_info); + redirect_info_ = std::make_unique<net::RedirectInfo>(redirect_info); } void NavigationResourceHandler::OnResponseStarted(
diff --git a/content/browser/loader/navigation_url_loader.cc b/content/browser/loader/navigation_url_loader.cc index 237028c..a6a4230 100644 --- a/content/browser/loader/navigation_url_loader.cc +++ b/content/browser/loader/navigation_url_loader.cc
@@ -34,12 +34,12 @@ std::move(navigation_ui_data), service_worker_handle, delegate); } if (base::FeatureList::IsEnabled(features::kNetworkService)) { - return base::MakeUnique<NavigationURLLoaderNetworkService>( + return std::make_unique<NavigationURLLoaderNetworkService>( resource_context, storage_partition, std::move(request_info), std::move(navigation_ui_data), service_worker_handle, appcache_handle, delegate, std::vector<std::unique_ptr<URLLoaderRequestHandler>>()); } else { - return base::MakeUnique<NavigationURLLoaderImpl>( + return std::make_unique<NavigationURLLoaderImpl>( resource_context, storage_partition, std::move(request_info), std::move(navigation_ui_data), service_worker_handle, appcache_handle, delegate);
diff --git a/content/browser/loader/navigation_url_loader_network_service.cc b/content/browser/loader/navigation_url_loader_network_service.cc index b868c75..eca0771 100644 --- a/content/browser/loader/navigation_url_loader_network_service.cc +++ b/content/browser/loader/navigation_url_loader_network_service.cc
@@ -491,7 +491,7 @@ request_info->frame_tree_node_id); // TODO(scottmg): Port over stuff from RDHI::BeginNavigationRequest() here. - auto new_request = base::MakeUnique<ResourceRequest>(); + auto new_request = std::make_unique<ResourceRequest>(); new_request->method = request_info->common_params.method; new_request->url = request_info->common_params.url; @@ -542,7 +542,7 @@ g_next_request_id--; DCHECK(!request_controller_); - request_controller_ = base::MakeUnique<URLLoaderRequestController>( + request_controller_ = std::make_unique<URLLoaderRequestController>( std::move(initial_handlers), std::move(new_request), resource_context, static_cast<StoragePartitionImpl*>(storage_partition) ->url_loader_factory_getter(),
diff --git a/content/browser/loader/navigation_url_loader_network_service_unittest.cc b/content/browser/loader/navigation_url_loader_network_service_unittest.cc index c45f2b0..0bc50e01 100644 --- a/content/browser/loader/navigation_url_loader_network_service_unittest.cc +++ b/content/browser/loader/navigation_url_loader_network_service_unittest.cc
@@ -90,7 +90,7 @@ // GetNetworkService. service_manager::mojom::ServicePtr service; ServiceManagerConnection::SetForProcess( - base::MakeUnique<ServiceManagerConnectionImpl>( + std::make_unique<ServiceManagerConnectionImpl>( mojo::MakeRequest(&service), BrowserThread::GetTaskRunnerForThread(BrowserThread::IO))); @@ -130,10 +130,10 @@ std::vector<std::unique_ptr<URLLoaderRequestHandler>> handlers; most_recent_resource_request_ = base::nullopt; - handlers.push_back(base::MakeUnique<TestURLLoaderRequestHandler>( + handlers.push_back(std::make_unique<TestURLLoaderRequestHandler>( &most_recent_resource_request_)); - return base::MakeUnique<NavigationURLLoaderNetworkService>( + return std::make_unique<NavigationURLLoaderNetworkService>( browser_context_->GetResourceContext(), BrowserContext::GetDefaultStoragePartition(browser_context_.get()), std::move(request_info), nullptr /* navigation_ui_data */,
diff --git a/content/browser/loader/navigation_url_loader_unittest.cc b/content/browser/loader/navigation_url_loader_unittest.cc index b9df713..09bd35f 100644 --- a/content/browser/loader/navigation_url_loader_unittest.cc +++ b/content/browser/loader/navigation_url_loader_unittest.cc
@@ -106,7 +106,7 @@ std::unique_ptr<ResourceHandler> CreateDownloadResourceHandler( net::URLRequest* request) { - return base::MakeUnique<TestResourceHandler>(); + return std::make_unique<TestResourceHandler>(); } } // namespace @@ -127,10 +127,10 @@ job_factory_.SetProtocolHandler( "test", net::URLRequestTestJob::CreateProtocolHandler()); job_factory_.SetProtocolHandler( - "blob", base::MakeUnique<StreamProtocolHandler>( + "blob", std::make_unique<StreamProtocolHandler>( StreamContext::GetFor(browser_context_.get())->registry())); job_factory_.SetProtocolHandler( - "download", base::MakeUnique<DownloadProtocolHandler>()); + "download", std::make_unique<DownloadProtocolHandler>()); request_context->set_job_factory(&job_factory_); // NavigationURLLoader is only used for browser-side navigations.
diff --git a/content/browser/loader/redirect_to_file_resource_handler_unittest.cc b/content/browser/loader/redirect_to_file_resource_handler_unittest.cc index 5eac0392..26c61f08 100644 --- a/content/browser/loader/redirect_to_file_resource_handler_unittest.cc +++ b/content/browser/loader/redirect_to_file_resource_handler_unittest.cc
@@ -214,7 +214,7 @@ TRAFFIC_ANNOTATION_FOR_TESTS)) { base::CreateTemporaryFile(&temp_file_path_); std::unique_ptr<TestResourceHandler> test_handler = - base::MakeUnique<TestResourceHandler>(); + std::make_unique<TestResourceHandler>(); test_handler->set_expect_on_data_downloaded(true); if (GetParam() == CompletionMode::ASYNC) { // Don't defer OnResponseCompleted, by default, since that's really @@ -224,16 +224,16 @@ } test_handler_ = test_handler->GetWeakPtr(); - redirect_to_file_handler_ = base::MakeUnique<RedirectToFileResourceHandler>( + redirect_to_file_handler_ = std::make_unique<RedirectToFileResourceHandler>( std::move(test_handler), url_request_.get()); mock_loader_ = - base::MakeUnique<MockResourceLoader>(redirect_to_file_handler_.get()); + std::make_unique<MockResourceLoader>(redirect_to_file_handler_.get()); redirect_to_file_handler_->SetCreateTemporaryFileStreamFunctionForTesting( base::Bind(&RedirectToFileResourceHandlerTest:: SetCreateTemporaryFileStreamCallback, base::Unretained(this))); - file_stream_ = base::MakeUnique<MockFileStream>(); + file_stream_ = std::make_unique<MockFileStream>(); file_stream_->set_open_result( MockFileStream::OperationResult(net::OK, GetParam())); file_stream_->set_all_write_results(MockFileStream::OperationResult(
diff --git a/content/browser/loader/resource_dispatcher_host_browsertest.cc b/content/browser/loader/resource_dispatcher_host_browsertest.cc index 2d39226..d8f841e 100644 --- a/content/browser/loader/resource_dispatcher_host_browsertest.cc +++ b/content/browser/loader/resource_dispatcher_host_browsertest.cc
@@ -261,7 +261,7 @@ base::Unretained(ResourceDispatcherHostImpl::Get()), child_id)); - return base::MakeUnique<net::test_server::HungResponse>(); + return std::make_unique<net::test_server::HungResponse>(); } } // namespace @@ -843,7 +843,7 @@ AppCacheService* appcache_service, ResourceType resource_type, std::vector<std::unique_ptr<ResourceThrottle>>* throttles) override { - requests_.push_back(base::MakeUnique<RequestDataForDelegate>( + requests_.push_back(std::make_unique<RequestDataForDelegate>( request->url(), request->site_for_cookies(), request->initiator(), request->load_flags(), request->referrer())); }
diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc index dc964ea..4136bb58 100644 --- a/content/browser/loader/resource_dispatcher_host_impl.cc +++ b/content/browser/loader/resource_dispatcher_host_impl.cc
@@ -363,7 +363,7 @@ FROM_HERE, base::BindOnce(&ResourceDispatcherHostImpl::OnInit, base::Unretained(this))); - update_load_states_timer_ = base::MakeUnique<base::RepeatingTimer>(); + update_load_states_timer_ = std::make_unique<base::RepeatingTimer>(); // Monitor per-tab outstanding requests only if OOPIF is not enabled, because // the routing id doesn't represent tabs in OOPIF modes. @@ -371,7 +371,7 @@ !SiteIsolationPolicy::IsTopDocumentIsolationEnabled() && !SiteIsolationPolicy::AreIsolatedOriginsEnabled()) { record_outstanding_requests_stats_timer_ = - base::MakeUnique<base::RepeatingTimer>(); + std::make_unique<base::RepeatingTimer>(); } } @@ -1257,7 +1257,7 @@ if (request_data.originated_from_service_worker) { new_request->SetUserData(URLRequestServiceWorkerData::kUserDataKey, - base::MakeUnique<URLRequestServiceWorkerData>()); + std::make_unique<URLRequestServiceWorkerData>()); } // If the request is a MAIN_FRAME request, the first-party URL gets updated @@ -1481,7 +1481,7 @@ } std::unique_ptr<DetachableResourceHandler> detachable_handler = - base::MakeUnique<DetachableResourceHandler>(request, timeout, + std::make_unique<DetachableResourceHandler>(request, timeout, std::move(handler)); if (start_detached) detachable_handler->Detach(); @@ -1539,7 +1539,7 @@ // PlzNavigate: the throttle is unnecessary as communication with the UI // thread is handled by the NavigationResourceHandler below. if (!IsBrowserSideNavigationEnabled() && IsResourceTypeFrame(resource_type)) { - throttles.push_back(base::MakeUnique<NavigationResourceThrottle>( + throttles.push_back(std::make_unique<NavigationResourceThrottle>( request, delegate_, fetch_request_context_type, fetch_mixed_content_context_type)); } @@ -1555,7 +1555,7 @@ if (request->has_upload()) { // Request wake lock while uploading data. throttles.push_back( - base::MakeUnique<WakeLockResourceThrottle>(request->url().host())); + std::make_unique<WakeLockResourceThrottle>(request->url().host())); } // The Clear-Site-Data throttle. @@ -2283,7 +2283,7 @@ // reasonable. handler->OnResponseCompleted( request->status(), - base::MakeUnique<NullResourceController>(&was_resumed)); + std::make_unique<NullResourceController>(&was_resumed)); // TODO(darin): The handler is not ready for us to kill the request. Oops! DCHECK(was_resumed); @@ -2534,7 +2534,7 @@ blocked_loaders_map_.end()) << "BlockRequestsForRoute called multiple time for the same RFH"; blocked_loaders_map_[global_routing_id] = - base::MakeUnique<BlockedLoadersList>(); + std::make_unique<BlockedLoadersList>(); } void ResourceDispatcherHostImpl::ResumeBlockedRequestsForRoute(
diff --git a/content/browser/loader/resource_dispatcher_host_unittest.cc b/content/browser/loader/resource_dispatcher_host_unittest.cc index f851741..be03152 100644 --- a/content/browser/loader/resource_dispatcher_host_unittest.cc +++ b/content/browser/loader/resource_dispatcher_host_unittest.cc
@@ -763,10 +763,10 @@ } if (flags_ != NONE) { - throttles->push_back(base::MakeUnique<GenericResourceThrottle>( + throttles->push_back(std::make_unique<GenericResourceThrottle>( flags_, error_code_for_cancellation_)); if (create_two_throttles_) - throttles->push_back(base::MakeUnique<GenericResourceThrottle>( + throttles->push_back(std::make_unique<GenericResourceThrottle>( flags_, error_code_for_cancellation_)); } }
diff --git a/content/browser/loader/resource_hints_impl.cc b/content/browser/loader/resource_hints_impl.cc index 46faed62..a0ab5b2 100644 --- a/content/browser/loader/resource_hints_impl.cc +++ b/content/browser/loader/resource_hints_impl.cc
@@ -104,8 +104,8 @@ if (!request_context) return net::ERR_CONTEXT_SHUT_DOWN; - auto request_holder = base::MakeUnique<RequestHolder>(); - auto addresses = base::MakeUnique<net::AddressList>(); + auto request_holder = std::make_unique<RequestHolder>(); + auto addresses = std::make_unique<net::AddressList>(); // Save raw pointers before the unique_ptr is invalidated by base::Passed. net::AddressList* raw_addresses = addresses.get();
diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc index 1050581..e0f12593 100644 --- a/content/browser/loader/resource_loader.cc +++ b/content/browser/loader/resource_loader.cc
@@ -251,7 +251,7 @@ TRACE_EVENT_FLAG_FLOW_OUT); ScopedDeferral scoped_deferral(this, DEFERRED_START); - handler_->OnWillStart(request_->url(), base::MakeUnique<Controller>(this)); + handler_->OnWillStart(request_->url(), std::make_unique<Controller>(this)); } void ResourceLoader::CancelRequest(bool from_renderer) { @@ -359,7 +359,7 @@ // |defer| to false instead of calling back into the URLRequest. deferred_stage_ = DEFERRED_SYNC; handler_->OnRequestRedirected(redirect_info, response.get(), - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); if (is_deferred()) { *defer = true; deferred_redirect_url_ = redirect_info.new_url; @@ -675,7 +675,7 @@ // defers handling of the response. deferred_stage_ = DEFERRED_SYNC; handler_->OnResponseStarted(response.get(), - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); if (is_deferred()) { deferred_stage_ = DEFERRED_READ; } else { @@ -691,7 +691,7 @@ deferred_stage_ = DEFERRED_SYNC; handler_->OnWillRead(&read_buffer_, &read_buffer_size_, - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); if (is_deferred()) { deferred_stage_ = DEFERRED_ON_WILL_READ; @@ -749,7 +749,7 @@ ScopedDeferral scoped_deferral( this, bytes_read > 0 ? DEFERRED_READ : DEFERRED_RESPONSE_COMPLETE); - handler_->OnReadCompleted(bytes_read, base::MakeUnique<Controller>(this)); + handler_->OnReadCompleted(bytes_read, std::make_unique<Controller>(this)); } void ResourceLoader::ResponseCompleted() { @@ -761,7 +761,7 @@ ScopedDeferral scoped_deferral(this, DEFERRED_FINISH); handler_->OnResponseCompleted(request_->status(), - base::MakeUnique<Controller>(this)); + std::make_unique<Controller>(this)); } void ResourceLoader::CallDidFinishLoading() {
diff --git a/content/browser/loader/resource_request_info_impl.cc b/content/browser/loader/resource_request_info_impl.cc index 07bcaef..9efcf7f0 100644 --- a/content/browser/loader/resource_request_info_impl.cc +++ b/content/browser/loader/resource_request_info_impl.cc
@@ -322,7 +322,7 @@ int render_frame_id; if (GetAssociatedRenderFrame(&render_process_id, &render_frame_id)) { request->SetUserData(URLRequestUserData::kUserDataKey, - base::MakeUnique<URLRequestUserData>(render_process_id, + std::make_unique<URLRequestUserData>(render_process_id, render_frame_id)); } }
diff --git a/content/browser/loader/resource_scheduler.cc b/content/browser/loader/resource_scheduler.cc index 7c7d739df5..9cec9270 100644 --- a/content/browser/loader/resource_scheduler.cc +++ b/content/browser/loader/resource_scheduler.cc
@@ -255,7 +255,7 @@ host_port_pair_(net::HostPortPair::FromURL(request->url())), weak_ptr_factory_(this) { DCHECK(!request_->GetUserData(kUserDataKey)); - request_->SetUserData(kUserDataKey, base::MakeUnique<UnownedPointer>(this)); + request_->SetUserData(kUserDataKey, std::make_unique<UnownedPointer>(this)); } ~ScheduledResourceRequest() override {
diff --git a/content/browser/loader/resource_scheduler_browsertest.cc b/content/browser/loader/resource_scheduler_browsertest.cc index f35589b7..2aada926 100644 --- a/content/browser/loader/resource_scheduler_browsertest.cc +++ b/content/browser/loader/resource_scheduler_browsertest.cc
@@ -48,7 +48,7 @@ base::FieldTrialList::CreateFieldTrial(kTrialName, kGroupName); std::unique_ptr<base::FeatureList> feature_list( - base::MakeUnique<base::FeatureList>()); + std::make_unique<base::FeatureList>()); feature_list->RegisterFieldTrialOverride( kMaxDelayableRequestsNetworkOverride, base::FeatureList::OVERRIDE_ENABLE_FEATURE, field_trial);
diff --git a/content/browser/loader/resource_scheduler_unittest.cc b/content/browser/loader/resource_scheduler_unittest.cc index 201969d..4c2a358 100644 --- a/content/browser/loader/resource_scheduler_unittest.cc +++ b/content/browser/loader/resource_scheduler_unittest.cc
@@ -273,7 +273,7 @@ NewURLRequestWithChildAndRoute(url, priority, child_id, route_id)); std::unique_ptr<ResourceThrottle> throttle(scheduler_->ScheduleRequest( child_id, route_id, is_async, url_request.get())); - auto request = base::MakeUnique<TestRequest>( + auto request = std::make_unique<TestRequest>( std::move(url_request), std::move(throttle), scheduler()); request->Start(); return request; @@ -394,7 +394,7 @@ ASSERT_TRUE(field_trial); std::unique_ptr<base::FeatureList> feature_list( - base::MakeUnique<base::FeatureList>()); + std::make_unique<base::FeatureList>()); feature_list->RegisterFieldTrialOverride( "ThrottleDelayable", experiment_enabled ? base::FeatureList::OVERRIDE_ENABLE_FEATURE @@ -425,7 +425,7 @@ base::FieldTrial* field_trial = base::FieldTrialList::CreateFieldTrial(kTrialName, kGroupName); std::unique_ptr<base::FeatureList> feature_list( - base::MakeUnique<base::FeatureList>()); + std::make_unique<base::FeatureList>()); feature_list->RegisterFieldTrialOverride( kThrottleDelayable, base::FeatureList::OVERRIDE_ENABLE_FEATURE, field_trial); @@ -1801,7 +1801,7 @@ base::FieldTrial* field_trial = base::FieldTrialList::CreateFieldTrial(kTrialName, kGroupName); std::unique_ptr<base::FeatureList> feature_list( - base::MakeUnique<base::FeatureList>()); + std::make_unique<base::FeatureList>()); feature_list->RegisterFieldTrialOverride( kThrottleDelayable, base::FeatureList::OVERRIDE_ENABLE_FEATURE, field_trial);
diff --git a/content/browser/loader/test_resource_handler.cc b/content/browser/loader/test_resource_handler.cc index 4bcf6e29..459e956 100644 --- a/content/browser/loader/test_resource_handler.cc +++ b/content/browser/loader/test_resource_handler.cc
@@ -153,7 +153,7 @@ // nothing may be called synchronously in response to the OnWillRead call. std::unique_ptr<ScopedCallDepthTracker> call_depth_tracker; if (call_depth_ == 0) - call_depth_tracker = base::MakeUnique<ScopedCallDepthTracker>(&call_depth_); + call_depth_tracker = std::make_unique<ScopedCallDepthTracker>(&call_depth_); ++on_will_read_called_;
diff --git a/content/browser/loader/upload_data_stream_builder.cc b/content/browser/loader/upload_data_stream_builder.cc index 63a5956..1d91917 100644 --- a/content/browser/loader/upload_data_stream_builder.cc +++ b/content/browser/loader/upload_data_stream_builder.cc
@@ -93,10 +93,10 @@ switch (element.type()) { case ResourceRequestBody::Element::TYPE_BYTES: element_readers.push_back( - base::MakeUnique<BytesElementReader>(body, element)); + std::make_unique<BytesElementReader>(body, element)); break; case ResourceRequestBody::Element::TYPE_FILE: - element_readers.push_back(base::MakeUnique<FileElementReader>( + element_readers.push_back(std::make_unique<FileElementReader>( body, file_task_runner, element)); break; case ResourceRequestBody::Element::TYPE_FILE_FILESYSTEM: @@ -104,7 +104,7 @@ // supplied a FileSystemContext. DCHECK(file_system_context); element_readers.push_back( - base::MakeUnique<content::UploadFileSystemFileElementReader>( + std::make_unique<content::UploadFileSystemFileElementReader>( file_system_context, element.filesystem_url(), element.offset(), element.length(), element.expected_modification_time())); break; @@ -114,7 +114,7 @@ std::unique_ptr<storage::BlobDataHandle> handle = blob_context->GetBlobDataFromUUID(element.blob_uuid()); element_readers.push_back( - base::MakeUnique<storage::UploadBlobElementReader>( + std::make_unique<storage::UploadBlobElementReader>( std::move(handle), file_system_context)); break; } @@ -127,7 +127,7 @@ } } - return base::MakeUnique<net::ElementsUploadDataStream>( + return std::make_unique<net::ElementsUploadDataStream>( std::move(element_readers), body->identifier()); }
diff --git a/content/browser/manifest/manifest_manager_host.cc b/content/browser/manifest/manifest_manager_host.cc index 747d015..7fa23f0 100644 --- a/content/browser/manifest/manifest_manager_host.cc +++ b/content/browser/manifest/manifest_manager_host.cc
@@ -32,7 +32,7 @@ void ManifestManagerHost::GetManifest(const GetManifestCallback& callback) { auto& manifest_manager = GetManifestManager(); int request_id = - callbacks_.Add(base::MakeUnique<GetManifestCallback>(callback)); + callbacks_.Add(std::make_unique<GetManifestCallback>(callback)); manifest_manager.RequestManifest( base::BindOnce(&ManifestManagerHost::OnRequestManifestResponse, base::Unretained(this), request_id));
diff --git a/content/browser/media/android/browser_media_player_manager.cc b/content/browser/media/android/browser_media_player_manager.cc index 026c683a..1a5ae47 100644 --- a/content/browser/media/android/browser_media_player_manager.cc +++ b/content/browser/media/android/browser_media_player_manager.cc
@@ -95,7 +95,7 @@ case MEDIA_PLAYER_TYPE_REMOTE_ONLY: case MEDIA_PLAYER_TYPE_URL: { const std::string user_agent = GetContentClient()->GetUserAgent(); - auto media_player_bridge = base::MakeUnique<MediaPlayerBridge>( + auto media_player_bridge = std::make_unique<MediaPlayerBridge>( media_player_params.player_id, media_player_params.url, media_player_params.site_for_cookies, user_agent, hide_url_log, this, base::Bind(&BrowserMediaPlayerManager::OnDecoderResourcesReleased,
diff --git a/content/browser/media/capture/cursor_renderer_aura.cc b/content/browser/media/capture/cursor_renderer_aura.cc index ca0d7d3..cccd3ad3 100644 --- a/content/browser/media/capture/cursor_renderer_aura.cc +++ b/content/browser/media/capture/cursor_renderer_aura.cc
@@ -18,7 +18,7 @@ // static std::unique_ptr<CursorRenderer> CursorRenderer::Create( gfx::NativeWindow window) { - return base::MakeUnique<CursorRendererAura>(window, + return std::make_unique<CursorRendererAura>(window, kCursorEnabledOnMouseMovement); }
diff --git a/content/browser/media/capture/cursor_renderer_mac.mm b/content/browser/media/capture/cursor_renderer_mac.mm index 6bb4d13..66f8871 100644 --- a/content/browser/media/capture/cursor_renderer_mac.mm +++ b/content/browser/media/capture/cursor_renderer_mac.mm
@@ -60,7 +60,7 @@ // static std::unique_ptr<CursorRenderer> CursorRenderer::Create(gfx::NativeView view) { - return base::MakeUnique<CursorRendererMac>(view); + return std::make_unique<CursorRendererMac>(view); } CursorRendererMac::CursorRendererMac(gfx::NativeView view)
diff --git a/content/browser/media/capture/screen_capture_device_android.cc b/content/browser/media/capture/screen_capture_device_android.cc index acdd5eb..a249ce5 100644 --- a/content/browser/media/capture/screen_capture_device_android.cc +++ b/content/browser/media/capture/screen_capture_device_android.cc
@@ -11,7 +11,7 @@ namespace content { ScreenCaptureDeviceAndroid::ScreenCaptureDeviceAndroid() - : core_(base::MakeUnique<media::ScreenCaptureMachineAndroid>()) {} + : core_(std::make_unique<media::ScreenCaptureMachineAndroid>()) {} ScreenCaptureDeviceAndroid::~ScreenCaptureDeviceAndroid() { DVLOG(2) << "ScreenCaptureDeviceAndroid@" << this << " destroying.";
diff --git a/content/browser/media/capture/screen_capture_device_android_unittest.cc b/content/browser/media/capture/screen_capture_device_android_unittest.cc index ee0a89f..c227bd5 100644 --- a/content/browser/media/capture/screen_capture_device_android_unittest.cc +++ b/content/browser/media/capture/screen_capture_device_android_unittest.cc
@@ -82,14 +82,14 @@ TEST_F(ScreenCaptureDeviceAndroidTest, ConstructionDestruction) { std::unique_ptr<media::VideoCaptureDevice> capture_device = - base::MakeUnique<ScreenCaptureDeviceAndroid>(); + std::make_unique<ScreenCaptureDeviceAndroid>(); } // Place holder. Currently user input result is required to start // MediaProjection, so we can't start a unittest that really starts capture. TEST_F(ScreenCaptureDeviceAndroidTest, DISABLED_StartAndStop) { std::unique_ptr<media::VideoCaptureDevice> capture_device = - base::MakeUnique<ScreenCaptureDeviceAndroid>(); + std::make_unique<ScreenCaptureDeviceAndroid>(); ASSERT_TRUE(capture_device); std::unique_ptr<MockDeviceClient> client(new MockDeviceClient());
diff --git a/content/browser/media/capture/web_contents_video_capture_device_unittest.cc b/content/browser/media/capture/web_contents_video_capture_device_unittest.cc index 9f2c312..1e21f84 100644 --- a/content/browser/media/capture/web_contents_video_capture_device_unittest.cc +++ b/content/browser/media/capture/web_contents_video_capture_device_unittest.cc
@@ -187,7 +187,7 @@ int32_t main_frame_routing_id, bool swapped_out) : TestRenderViewHost(instance, - base::MakeUnique<RenderWidgetHostImpl>( + std::make_unique<RenderWidgetHostImpl>( widget_delegate, instance->GetProcess(), routing_id, @@ -240,7 +240,7 @@ : report_callback_(report_callback), error_callback_(error_callback) { buffer_pool_ = new media::VideoCaptureBufferPoolImpl( - base::MakeUnique<media::VideoCaptureBufferTrackerFactoryImpl>(), 2); + std::make_unique<media::VideoCaptureBufferTrackerFactoryImpl>(), 2); } ~StubClient() override {}
diff --git a/content/browser/media/media_internals.cc b/content/browser/media/media_internals.cc index 8f14602..bec48b8 100644 --- a/content/browser/media/media_internals.cc +++ b/content/browser/media/media_internals.cc
@@ -689,7 +689,7 @@ video_capture_capabilities_cached_data_.Clear(); for (const auto& device_format_pair : descriptors_and_formats) { - auto format_list = base::MakeUnique<base::ListValue>(); + auto format_list = std::make_unique<base::ListValue>(); // TODO(nisse): Representing format information as a string, to be // parsed by the javascript handler, is brittle. Consider passing // a list of mappings instead. @@ -788,7 +788,7 @@ } else if (!has_entry) { DCHECK_EQ(type, CREATE); audio_streams_cached_data_.Set( - cache_key, base::MakeUnique<base::Value>(value->Clone())); + cache_key, std::make_unique<base::Value>(value->Clone())); } else if (type == UPDATE_AND_DELETE) { std::unique_ptr<base::Value> out_value; CHECK(audio_streams_cached_data_.Remove(cache_key, &out_value));
diff --git a/content/browser/media/media_internals_ui.cc b/content/browser/media/media_internals_ui.cc index 6e9665a0..c31ba5b 100644 --- a/content/browser/media/media_internals_ui.cc +++ b/content/browser/media/media_internals_ui.cc
@@ -39,7 +39,7 @@ MediaInternalsUI::MediaInternalsUI(WebUI* web_ui) : WebUIController(web_ui) { - web_ui->AddMessageHandler(base::MakeUnique<MediaInternalsMessageHandler>()); + web_ui->AddMessageHandler(std::make_unique<MediaInternalsMessageHandler>()); BrowserContext* browser_context = web_ui->GetWebContents()->GetBrowserContext();
diff --git a/content/browser/media/midi_host.cc b/content/browser/media/midi_host.cc index 85e9f83..5e65574d 100644 --- a/content/browser/media/midi_host.cc +++ b/content/browser/media/midi_host.cc
@@ -182,7 +182,7 @@ // Lazy initialization if (received_messages_queues_[port] == nullptr) received_messages_queues_[port] = - base::MakeUnique<midi::MidiMessageQueue>(true); + std::make_unique<midi::MidiMessageQueue>(true); received_messages_queues_[port]->Add(data, length); std::vector<uint8_t> message;
diff --git a/content/browser/media/session/media_session_impl_browsertest.cc b/content/browser/media/session/media_session_impl_browsertest.cc index 37827e1c..5d41afd0 100644 --- a/content/browser/media/session/media_session_impl_browsertest.cc +++ b/content/browser/media/session/media_session_impl_browsertest.cc
@@ -182,7 +182,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, PlayersFromSameObserverDoNotStopEachOtherInSameSession) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -195,9 +195,9 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, PlayersFromManyObserverDoNotStopEachOtherInSameSession) { - auto player_observer_1 = base::MakeUnique<MockMediaSessionPlayerObserver>(); - auto player_observer_2 = base::MakeUnique<MockMediaSessionPlayerObserver>(); - auto player_observer_3 = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer_1 = std::make_unique<MockMediaSessionPlayerObserver>(); + auto player_observer_2 = std::make_unique<MockMediaSessionPlayerObserver>(); + auto player_observer_3 = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer_1.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer_2.get(), media::MediaContentType::Persistent); @@ -210,7 +210,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, SuspendedMediaSessionStopsPlayers) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -225,7 +225,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumedMediaSessionRestartsPlayers) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -241,7 +241,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, StartedPlayerOnSuspendedSessionPlaysAlone) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -264,7 +264,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, InitialVolumeMultiplier) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -275,7 +275,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, StartDuckingReducesVolumeMultiplier) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -291,7 +291,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, StopDuckingRecoversVolumeMultiplier) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -311,7 +311,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, StartPlayerGivesFocus) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -320,7 +320,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, SuspendGivesAwayAudioFocus) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -330,7 +330,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, StopGivesAwayAudioFocus) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -340,7 +340,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumeGivesBackAudioFocus) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -352,7 +352,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, RemovingLastPlayerDropsAudioFocus) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -368,9 +368,9 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, RemovingLastPlayerFromManyObserversDropsAudioFocus) { - auto player_observer_1 = base::MakeUnique<MockMediaSessionPlayerObserver>(); - auto player_observer_2 = base::MakeUnique<MockMediaSessionPlayerObserver>(); - auto player_observer_3 = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer_1 = std::make_unique<MockMediaSessionPlayerObserver>(); + auto player_observer_2 = std::make_unique<MockMediaSessionPlayerObserver>(); + auto player_observer_3 = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer_1.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer_2.get(), media::MediaContentType::Persistent); @@ -386,8 +386,8 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, RemovingAllPlayersFromObserversDropsAudioFocus) { - auto player_observer_1 = base::MakeUnique<MockMediaSessionPlayerObserver>(); - auto player_observer_2 = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer_1 = std::make_unique<MockMediaSessionPlayerObserver>(); + auto player_observer_2 = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer_1.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer_1.get(), media::MediaContentType::Persistent); @@ -401,7 +401,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumePlayGivesAudioFocus) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -415,7 +415,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumeSuspendAreSentOnlyOncePerPlayers) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -433,7 +433,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumeSuspendAreSentOnlyOncePerPlayersAddedTwice) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -459,7 +459,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, RemovingTheSamePlayerTwiceIsANoop) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -468,7 +468,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, AudioFocusType) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); // Starting a player with a given type should set the session to that type. StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); @@ -520,7 +520,7 @@ EXPECT_CALL(*mock_media_session_observer(), MediaSessionStateChanged(true, false)); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); // Starting a player with a content type should show the media controls. StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -534,7 +534,7 @@ EXPECT_CALL(*mock_media_session_observer(), MediaSessionStateChanged(false, false)); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); // Starting a player with a transient type should not show the media controls. StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); @@ -550,7 +550,7 @@ MediaSessionStateChanged(false, true)) .After(showControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -565,7 +565,7 @@ EXPECT_CALL(*mock_media_session_observer(), MediaSessionStateChanged(true, false)); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -584,7 +584,7 @@ MediaSessionStateChanged(true, false)) .After(dontShowControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); @@ -600,7 +600,7 @@ EXPECT_CALL(*mock_media_session_observer(), MediaSessionStateChanged(true, false)); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); @@ -621,7 +621,7 @@ MediaSessionStateChanged(false, true)) .After(showControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -645,7 +645,7 @@ MediaSessionStateChanged(false, true)) .After(showControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -664,7 +664,7 @@ MediaSessionStateChanged(true, true)) .After(showControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -688,7 +688,7 @@ MediaSessionStateChanged(true, true)) .After(showControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -709,7 +709,7 @@ MediaSessionStateChanged(true, false)) .After(pauseControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); SystemSuspend(true); @@ -727,7 +727,7 @@ MediaSessionStateChanged(false, true)) .After(showControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -748,7 +748,7 @@ MediaSessionStateChanged(false, true)) .After(pauseControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -769,7 +769,7 @@ MediaSessionStateChanged(false, false)) .After(pauseControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); SystemSuspend(true); @@ -793,7 +793,7 @@ MediaSessionStateChanged(true, false)) .After(pauseControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); SystemSuspend(true); @@ -816,7 +816,7 @@ MediaSessionStateChanged(true, false)) .After(pauseControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); SystemSuspend(true); @@ -836,7 +836,7 @@ MediaSessionStateChanged(true, true)) .After(showControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); UISuspend(); @@ -856,7 +856,7 @@ MediaSessionStateChanged(true, false)) .After(pauseControls); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); UISuspend(); @@ -871,7 +871,7 @@ EXPECT_CALL(*mock_media_session_observer(), MediaSessionStateChanged(false, false)); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::OneShot); @@ -898,7 +898,7 @@ .Times(0) .After(expect_2); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::OneShot); RemovePlayer(player_observer.get(), 0); @@ -916,7 +916,7 @@ MediaSessionStateChanged(true, false)) .After(uncontrollable); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::OneShot); StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); @@ -930,7 +930,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, DontSuspendWhenOneShotIsPresent) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::OneShot); StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); @@ -946,7 +946,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, DontResumeBySystemUISuspendedSessions) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -961,7 +961,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, AllowUIResumeForSystemSuspend) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -975,7 +975,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumeSuspendFromUI) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -989,7 +989,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumeSuspendFromSystem) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -1003,7 +1003,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, OneShotTakesGainFocus) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); EXPECT_CALL( *mock_audio_focus_delegate(), @@ -1019,7 +1019,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, RemovingOneShotDropsFocus) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); EXPECT_CALL(*mock_audio_focus_delegate(), AbandonAudioFocus()); StartNewPlayer(player_observer.get(), media::MediaContentType::OneShot); @@ -1028,7 +1028,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, RemovingOneShotWhileStillHavingOtherPlayersKeepsFocus) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); EXPECT_CALL(*mock_audio_focus_delegate(), AbandonAudioFocus()) .Times(1); // Called in TearDown @@ -1040,7 +1040,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ActualPlaybackStateWhilePlayerPaused) { EnsureMediaSessionService(); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>( + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>( shell()->web_contents()->GetMainFrame()); ::testing::Sequence s; @@ -1074,7 +1074,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ActualPlaybackStateWhilePlayerPlaying) { EnsureMediaSessionService(); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>( + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>( shell()->web_contents()->GetMainFrame()); ::testing::Sequence s; EXPECT_CALL(*mock_media_session_observer(), @@ -1103,7 +1103,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ActualPlaybackStateWhilePlayerRemoved) { EnsureMediaSessionService(); - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>( + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>( shell()->web_contents()->GetMainFrame()); ::testing::Sequence s; @@ -1128,7 +1128,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_Suspended_SystemTransient) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); base::HistogramTester tester; StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -1144,7 +1144,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_Suspended_SystemPermantent) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); base::HistogramTester tester; StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -1159,7 +1159,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_Suspended_UI) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); base::HistogramTester tester; @@ -1175,7 +1175,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_Suspended_Multiple) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); base::HistogramTester tester; StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -1200,7 +1200,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_Suspended_Crossing) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); base::HistogramTester tester; StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -1224,7 +1224,7 @@ } IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_Suspended_Stop) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); base::HistogramTester tester; StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); @@ -1253,7 +1253,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_ActiveTime_SimpleActivation) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); base::HistogramTester tester; MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); @@ -1275,7 +1275,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_ActiveTime_ActivationWithUISuspension) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); base::HistogramTester tester; MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); @@ -1303,7 +1303,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_ActiveTime_ActivationWithSystemSuspension) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); base::HistogramTester tester; MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); @@ -1331,7 +1331,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_ActiveTime_ActivateSuspendedButNotStopped) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); base::HistogramTester tester; MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); @@ -1363,7 +1363,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_ActiveTime_ActivateSuspendStopTwice) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); base::HistogramTester tester; MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); @@ -1391,7 +1391,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_ActiveTime_MultipleActivations) { - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>(); base::HistogramTester tester; MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); @@ -1445,7 +1445,7 @@ mock_media_session_service_->actions(); // Make sure the service is routed, - auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>( + auto player_observer = std::make_unique<MockMediaSessionPlayerObserver>( shell()->web_contents()->GetMainFrame()); StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent);
diff --git a/content/browser/media/session/media_session_impl_service_routing_unittest.cc b/content/browser/media/session/media_session_impl_service_routing_unittest.cc index d928c9a2..dbc1f2ef 100644 --- a/content/browser/media/session/media_session_impl_service_routing_unittest.cc +++ b/content/browser/media/session/media_session_impl_service_routing_unittest.cc
@@ -108,8 +108,8 @@ void CreateServiceForFrame(TestRenderFrameHost* frame) { services_[frame] = - base::MakeUnique<NiceMock<MockMediaSessionServiceImpl>>(frame); - clients_[frame] = base::MakeUnique<NiceMock<MockMediaSessionClient>>(); + std::make_unique<NiceMock<MockMediaSessionServiceImpl>>(frame); + clients_[frame] = std::make_unique<NiceMock<MockMediaSessionClient>>(); services_[frame]->SetClient(clients_[frame]->CreateInterfacePtrAndBind()); } @@ -125,7 +125,7 @@ void StartPlayerForFrame(TestRenderFrameHost* frame) { players_[frame] = - base::MakeUnique<NiceMock<MockMediaSessionPlayerObserver>>(frame); + std::make_unique<NiceMock<MockMediaSessionPlayerObserver>>(frame); MediaSessionImpl::Get(contents()) ->AddPlayer(players_[frame].get(), kPlayerId, media::MediaContentType::Persistent);
diff --git a/content/browser/media/url_provision_fetcher.cc b/content/browser/media/url_provision_fetcher.cc index 935fe0a..8cf4c2c 100644 --- a/content/browser/media/url_provision_fetcher.cc +++ b/content/browser/media/url_provision_fetcher.cc
@@ -105,7 +105,7 @@ std::unique_ptr<media::ProvisionFetcher> CreateProvisionFetcher( net::URLRequestContextGetter* context_getter) { DCHECK(context_getter); - return base::MakeUnique<URLProvisionFetcher>(context_getter); + return std::make_unique<URLProvisionFetcher>(context_getter); } } // namespace content
diff --git a/content/browser/memory/memory_coordinator_impl.cc b/content/browser/memory/memory_coordinator_impl.cc index 347a3f0..9ca628e3 100644 --- a/content/browser/memory/memory_coordinator_impl.cc +++ b/content/browser/memory/memory_coordinator_impl.cc
@@ -128,12 +128,12 @@ scoped_refptr<base::SingleThreadTaskRunner> task_runner, std::unique_ptr<MemoryMonitor> memory_monitor) : task_runner_(task_runner), - policy_(base::MakeUnique<MemoryCoordinatorDefaultPolicy>(this)), + policy_(std::make_unique<MemoryCoordinatorDefaultPolicy>(this)), delegate_(GetContentClient()->browser()->GetMemoryCoordinatorDelegate()), memory_monitor_(std::move(memory_monitor)), condition_observer_( - base::MakeUnique<MemoryConditionObserver>(this, task_runner)), - tick_clock_(base::MakeUnique<base::DefaultTickClock>()), + std::make_unique<MemoryConditionObserver>(this, task_runner)), + tick_clock_(std::make_unique<base::DefaultTickClock>()), minimum_state_transition_period_(base::TimeDelta::FromSeconds( kDefaultMinimumTransitionPeriodSeconds)) { DCHECK(memory_monitor_.get());
diff --git a/content/browser/memory/memory_coordinator_impl_unittest.cc b/content/browser/memory/memory_coordinator_impl_unittest.cc index f44c9fb..43f703e 100644 --- a/content/browser/memory/memory_coordinator_impl_unittest.cc +++ b/content/browser/memory/memory_coordinator_impl_unittest.cc
@@ -155,9 +155,9 @@ TestMemoryCoordinatorImpl( scoped_refptr<base::TestMockTimeTaskRunner> task_runner) : MemoryCoordinatorImpl(task_runner, - base::MakeUnique<MockMemoryMonitor>()) { - SetDelegateForTesting(base::MakeUnique<TestMemoryCoordinatorDelegate>()); - SetPolicyForTesting(base::MakeUnique<MockMemoryCoordinatorPolicy>(this)); + std::make_unique<MockMemoryMonitor>()) { + SetDelegateForTesting(std::make_unique<TestMemoryCoordinatorDelegate>()); + SetPolicyForTesting(std::make_unique<MockMemoryCoordinatorPolicy>(this)); SetTickClockForTesting(task_runner->GetMockTickClock()); } @@ -172,7 +172,7 @@ children_.push_back(std::unique_ptr<Child>(new Child(&cmc_ptr))); AddChildForTesting(process_id, std::move(cmc_ptr)); render_process_hosts_[process_id] = - base::MakeUnique<MockRenderProcessHost>(&browser_context_); + std::make_unique<MockRenderProcessHost>(&browser_context_); return &children_.back()->cmc; } @@ -448,9 +448,9 @@ base::Process process1 = SpawnChild("process1"); base::Process process2 = SpawnChild("process2"); coordinator_->GetMockRenderProcessHost(1)->SetProcessHandle( - base::MakeUnique<base::ProcessHandle>(process1.Handle())); + std::make_unique<base::ProcessHandle>(process1.Handle())); coordinator_->GetMockRenderProcessHost(2)->SetProcessHandle( - base::MakeUnique<base::ProcessHandle>(process2.Handle())); + std::make_unique<base::ProcessHandle>(process2.Handle())); EXPECT_EQ(base::MemoryState::NORMAL, coordinator_->GetStateForProcess(process1.Handle()));
diff --git a/content/browser/memory/memory_monitor_android.cc b/content/browser/memory/memory_monitor_android.cc index 93a0e70..447b187e 100644 --- a/content/browser/memory/memory_monitor_android.cc +++ b/content/browser/memory/memory_monitor_android.cc
@@ -88,7 +88,7 @@ DCHECK(delegate_.get()); RegisterComponentCallbacks(); application_state_listener_ = - base::MakeUnique<base::android::ApplicationStatusListener>( + std::make_unique<base::android::ApplicationStatusListener>( base::Bind(&MemoryMonitorAndroid::OnApplicationStateChange, base::Unretained(this))); }
diff --git a/content/browser/memory/memory_monitor_chromeos.cc b/content/browser/memory/memory_monitor_chromeos.cc index 36d8ff8..b0315ece 100644 --- a/content/browser/memory/memory_monitor_chromeos.cc +++ b/content/browser/memory/memory_monitor_chromeos.cc
@@ -44,7 +44,7 @@ // static std::unique_ptr<MemoryMonitorChromeOS> MemoryMonitorChromeOS::Create( MemoryMonitorDelegate* delegate) { - return base::MakeUnique<MemoryMonitorChromeOS>(delegate); + return std::make_unique<MemoryMonitorChromeOS>(delegate); } // Implementation of factory function defined in memory_monitor.h.
diff --git a/content/browser/memory/memory_monitor_linux.cc b/content/browser/memory/memory_monitor_linux.cc index 68421c8..2901e7f4 100644 --- a/content/browser/memory/memory_monitor_linux.cc +++ b/content/browser/memory/memory_monitor_linux.cc
@@ -43,7 +43,7 @@ // static std::unique_ptr<MemoryMonitorLinux> MemoryMonitorLinux::Create( MemoryMonitorDelegate* delegate) { - return base::MakeUnique<MemoryMonitorLinux>(delegate); + return std::make_unique<MemoryMonitorLinux>(delegate); } // Implementation of factory function defined in memory_monitor.h.
diff --git a/content/browser/mime_registry_impl.cc b/content/browser/mime_registry_impl.cc index b6b853c..e5b26a66 100644 --- a/content/browser/mime_registry_impl.cc +++ b/content/browser/mime_registry_impl.cc
@@ -19,7 +19,7 @@ // static void MimeRegistryImpl::Create( blink::mojom::MimeRegistryRequest request) { - mojo::MakeStrongBinding(base::MakeUnique<MimeRegistryImpl>(), + mojo::MakeStrongBinding(std::make_unique<MimeRegistryImpl>(), std::move(request)); }
diff --git a/content/browser/net/network_quality_observer_impl.cc b/content/browser/net/network_quality_observer_impl.cc index 1d871bc7..879df30 100644 --- a/content/browser/net/network_quality_observer_impl.cc +++ b/content/browser/net/network_quality_observer_impl.cc
@@ -140,7 +140,7 @@ network_quality_estimator_->AddRTTAndThroughputEstimatesObserver(this); network_quality_estimator_->AddEffectiveConnectionTypeObserver(this); - ui_thread_observer_ = base::MakeUnique<UiThreadObserver>(); + ui_thread_observer_ = std::make_unique<UiThreadObserver>(); BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, base::BindOnce(&UiThreadObserver::InitOnUIThread, @@ -217,7 +217,7 @@ std::unique_ptr<net::RTTAndThroughputEstimatesObserver> CreateNetworkQualityObserver( net::NetworkQualityEstimator* network_quality_estimator) { - return base::MakeUnique<NetworkQualityObserverImpl>( + return std::make_unique<NetworkQualityObserverImpl>( network_quality_estimator); }
diff --git a/content/browser/net_info_browsertest.cc b/content/browser/net_info_browsertest.cc index 8a4fcbc..5b5ffa72 100644 --- a/content/browser/net_info_browsertest.cc +++ b/content/browser/net_info_browsertest.cc
@@ -221,7 +221,7 @@ base::HistogramTester histogram_tester; net::TestNetworkQualityEstimator estimator( nullptr, std::map<std::string, std::string>(), false, false, true, - base::MakeUnique<net::BoundTestNetLog>()); + std::make_unique<net::BoundTestNetLog>()); NetworkQualityObserverImpl impl(&estimator); EXPECT_TRUE(embedded_test_server()->Start()); @@ -241,7 +241,7 @@ base::HistogramTester histogram_tester; net::TestNetworkQualityEstimator estimator( nullptr, std::map<std::string, std::string>(), false, false, true, - base::MakeUnique<net::BoundTestNetLog>()); + std::make_unique<net::BoundTestNetLog>()); NetworkQualityObserverImpl impl(&estimator); net::nqe::internal::NetworkQuality network_quality_1( @@ -283,7 +283,7 @@ base::HistogramTester histogram_tester; net::TestNetworkQualityEstimator estimator( nullptr, std::map<std::string, std::string>(), false, false, true, - base::MakeUnique<net::BoundTestNetLog>()); + std::make_unique<net::BoundTestNetLog>()); NetworkQualityObserverImpl impl(&estimator); net::nqe::internal::NetworkQuality network_quality_1( @@ -321,7 +321,7 @@ net::TestNetworkQualityEstimator estimator( std::unique_ptr<net::ExternalEstimateProvider>(), std::map<std::string, std::string>(), false, false, true, - base::MakeUnique<net::BoundTestNetLog>()); + std::make_unique<net::BoundTestNetLog>()); NetworkQualityObserverImpl impl(&estimator); // Verify that the network quality is rounded properly. @@ -366,7 +366,7 @@ net::TestNetworkQualityEstimator estimator( std::unique_ptr<net::ExternalEstimateProvider>(), std::map<std::string, std::string>(), false, false, true, - base::MakeUnique<net::BoundTestNetLog>()); + std::make_unique<net::BoundTestNetLog>()); NetworkQualityObserverImpl impl(&estimator); net::nqe::internal::NetworkQuality network_quality( @@ -388,7 +388,7 @@ net::TestNetworkQualityEstimator estimator( std::unique_ptr<net::ExternalEstimateProvider>(), std::map<std::string, std::string>(), false, false, true, - base::MakeUnique<net::BoundTestNetLog>()); + std::make_unique<net::BoundTestNetLog>()); NetworkQualityObserverImpl impl(&estimator); net::nqe::internal::NetworkQuality network_quality( @@ -449,7 +449,7 @@ base::HistogramTester histogram_tester; net::TestNetworkQualityEstimator estimator( nullptr, std::map<std::string, std::string>(), false, false, true, - base::MakeUnique<net::BoundTestNetLog>()); + std::make_unique<net::BoundTestNetLog>()); NetworkQualityObserverImpl impl(&estimator); // Verify that the network quality is rounded properly.
diff --git a/content/browser/payments/payment_app_context_impl.cc b/content/browser/payments/payment_app_context_impl.cc index de6c443..8a2f059 100644 --- a/content/browser/payments/payment_app_context_impl.cc +++ b/content/browser/payments/payment_app_context_impl.cc
@@ -70,7 +70,7 @@ scoped_refptr<ServiceWorkerContextWrapper> service_worker_context) { DCHECK_CURRENTLY_ON(BrowserThread::IO); payment_app_database_ = - base::MakeUnique<PaymentAppDatabase>(service_worker_context); + std::make_unique<PaymentAppDatabase>(service_worker_context); } void PaymentAppContextImpl::CreatePaymentManagerOnIO(
diff --git a/content/browser/payments/payment_app_database.cc b/content/browser/payments/payment_app_database.cc index 037640ea..f9c9b1e 100644 --- a/content/browser/payments/payment_app_database.cc +++ b/content/browser/payments/payment_app_database.cc
@@ -93,7 +93,7 @@ if (!app_proto.ParseFromString(input)) return std::unique_ptr<StoredPaymentApp>(); - std::unique_ptr<StoredPaymentApp> app = base::MakeUnique<StoredPaymentApp>(); + std::unique_ptr<StoredPaymentApp> app = std::make_unique<StoredPaymentApp>(); app->registration_id = app_proto.registration_id(); app->scope = GURL(app_proto.scope()); app->name = app_proto.name(); @@ -113,7 +113,7 @@ gfx::Image icon_image = gfx::Image::CreateFrom1xPNGBytes( reinterpret_cast<const unsigned char*>(icon_raw_data.data()), icon_raw_data.size()); - app->icon = base::MakeUnique<SkBitmap>(icon_image.AsBitmap()); + app->icon = std::make_unique<SkBitmap>(icon_image.AsBitmap()); } return app;
diff --git a/content/browser/payments/payment_app_info_fetcher.cc b/content/browser/payments/payment_app_info_fetcher.cc index 6a3e0050..2fc47a1 100644 --- a/content/browser/payments/payment_app_info_fetcher.cc +++ b/content/browser/payments/payment_app_info_fetcher.cc
@@ -22,7 +22,7 @@ PaymentAppInfoFetcher::PaymentAppInfoFetcher() : context_process_id_(-1), context_frame_id_(-1), - fetched_payment_app_info_(base::MakeUnique<PaymentAppInfo>()) {} + fetched_payment_app_info_(std::make_unique<PaymentAppInfo>()) {} PaymentAppInfoFetcher::~PaymentAppInfoFetcher() {} void PaymentAppInfoFetcher::Start(
diff --git a/content/browser/permissions/permission_service_context.cc b/content/browser/permissions/permission_service_context.cc index 2b42bcf..e4f237e 100644 --- a/content/browser/permissions/permission_service_context.cc +++ b/content/browser/permissions/permission_service_context.cc
@@ -72,7 +72,7 @@ void PermissionServiceContext::CreateService( blink::mojom::PermissionServiceRequest request) { - services_.AddBinding(base::MakeUnique<PermissionServiceImpl>(this), + services_.AddBinding(std::make_unique<PermissionServiceImpl>(this), std::move(request)); } @@ -85,7 +85,7 @@ return; auto subscription = - base::MakeUnique<PermissionSubscription>(this, std::move(observer)); + std::make_unique<PermissionSubscription>(this, std::move(observer)); GURL requesting_origin(origin.Serialize()); GURL embedding_origin = GetEmbeddingOrigin(); int subscription_id =
diff --git a/content/browser/permissions/permission_service_impl.cc b/content/browser/permissions/permission_service_impl.cc index f306f7d..42dfa46 100644 --- a/content/browser/permissions/permission_service_impl.cc +++ b/content/browser/permissions/permission_service_impl.cc
@@ -58,6 +58,10 @@ return PermissionType::SENSORS; case PermissionName::ACCESSIBILITY_EVENTS: return PermissionType::ACCESSIBILITY_EVENTS; + case PermissionName::CLIPBOARD_READ: + case PermissionName::CLIPBOARD_WRITE: + NOTIMPLEMENTED(); + break; } NOTREACHED(); @@ -118,7 +122,7 @@ std::move(callback).Run(vector[0]); } -} // anonymous namespace +} // anonymous namespace class PermissionServiceImpl::PendingRequest { public: @@ -233,7 +237,7 @@ types[i] = PermissionDescriptorToPermissionType(permissions[i]); std::unique_ptr<PendingRequest> pending_request = - base::MakeUnique<PendingRequest>(types, std::move(callback)); + std::make_unique<PendingRequest>(types, std::move(callback)); std::vector<PermissionType> request_types; for (size_t i = 0; i < types.size(); ++i) { // Check feature policy.
diff --git a/content/browser/permissions/permission_service_impl_unittest.cc b/content/browser/permissions/permission_service_impl_unittest.cc index 33c3eb2..27b27d9 100644 --- a/content/browser/permissions/permission_service_impl_unittest.cc +++ b/content/browser/permissions/permission_service_impl_unittest.cc
@@ -65,7 +65,7 @@ void SetUp() override { RenderViewHostTestHarness::SetUp(); static_cast<TestBrowserContext*>(browser_context()) - ->SetPermissionManager(base::MakeUnique<TestPermissionManager>()); + ->SetPermissionManager(std::make_unique<TestPermissionManager>()); NavigateAndCommit(origin_.GetURL()); service_context_.reset(new PermissionServiceContext(main_rfh())); service_impl_.reset(new PermissionServiceImpl(service_context_.get()));
diff --git a/content/browser/plugin_private_storage_helper.cc b/content/browser/plugin_private_storage_helper.cc index 2049f37..12ee66f 100644 --- a/content/browser/plugin_private_storage_helper.cc +++ b/content/browser/plugin_private_storage_helper.cc
@@ -146,7 +146,7 @@ std::string root = storage::GetIsolatedFileSystemRootURIString( origin_, fsid_, ppapi::kPluginPrivateRootName); std::unique_ptr<storage::FileSystemOperationContext> operation_context = - base::MakeUnique<storage::FileSystemOperationContext>( + std::make_unique<storage::FileSystemOperationContext>( filesystem_context_); file_util->ReadDirectory( std::move(operation_context), filesystem_context_->CrackURL(GURL(root)), @@ -185,7 +185,7 @@ DCHECK(!file.is_directory); // Nested directories not implemented. std::unique_ptr<storage::FileSystemOperationContext> operation_context = - base::MakeUnique<storage::FileSystemOperationContext>( + std::make_unique<storage::FileSystemOperationContext>( filesystem_context_); storage::FileSystemURL file_url = filesystem_context_->CrackURL( GURL(root + StringTypeToString(file.name)));
diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc index 8e981a3..2a10afaf 100644 --- a/content/browser/ppapi_plugin_process_host.cc +++ b/content/browser/ppapi_plugin_process_host.cc
@@ -365,7 +365,7 @@ } std::unique_ptr<base::CommandLine> cmd_line = - base::MakeUnique<base::CommandLine>(exe_path); + std::make_unique<base::CommandLine>(exe_path); cmd_line->AppendSwitchASCII(switches::kProcessType, is_broker_ ? switches::kPpapiBrokerProcess : switches::kPpapiPluginProcess); @@ -429,7 +429,7 @@ // we are not using a plugin launcher - having a plugin launcher means we need // to use another process instead of just forking the zygote. process_->Launch( - base::MakeUnique<PpapiPluginSandboxedProcessLauncherDelegate>(is_broker_), + std::make_unique<PpapiPluginSandboxedProcessLauncherDelegate>(is_broker_), std::move(cmd_line), true); return true; }
diff --git a/content/browser/renderer_host/compositor_impl_android.cc b/content/browser/renderer_host/compositor_impl_android.cc index c379951..2b1c63d 100644 --- a/content/browser/renderer_host/compositor_impl_android.cc +++ b/content/browser/renderer_host/compositor_impl_android.cc
@@ -732,7 +732,7 @@ return; // TODO(crbug.com/582558): Need to match GL and implement DidSwapBuffers. - auto vulkan_surface = base::MakeUnique<VulkanOutputSurface>( + auto vulkan_surface = std::make_unique<VulkanOutputSurface>( vulkan_context_provider, base::ThreadTaskRunnerHandle::Get()); if (!vulkan_surface->Initialize(window_)) return; @@ -797,7 +797,7 @@ DidSuccessfullyInitializeContext(); // Unretained is safe this owns viz::Display which owns OutputSurface. - auto display_output_surface = base::MakeUnique<AndroidOutputSurface>( + auto display_output_surface = std::make_unique<AndroidOutputSurface>( context_provider, base::Bind(&CompositorImpl::DidSwapBuffers, base::Unretained(this))); InitializeDisplay(std::move(display_output_surface), nullptr, @@ -820,7 +820,7 @@ viz::FrameSinkManagerImpl* manager = GetFrameSinkManager(); auto* task_runner = base::ThreadTaskRunnerHandle::Get().get(); - auto scheduler = base::MakeUnique<viz::DisplayScheduler>( + auto scheduler = std::make_unique<viz::DisplayScheduler>( root_window_->GetBeginFrameSource(), task_runner, display_output_surface->capabilities().max_frames_pending); @@ -830,18 +830,18 @@ auto* gpu_memory_buffer_manager = BrowserMainLoop::GetInstance() ->gpu_channel_establish_factory() ->GetGpuMemoryBufferManager(); - display_ = base::MakeUnique<viz::Display>( + display_ = std::make_unique<viz::Display>( viz::ServerSharedBitmapManager::current(), gpu_memory_buffer_manager, renderer_settings, frame_sink_id_, std::move(display_output_surface), std::move(scheduler), - base::MakeUnique<viz::TextureMailboxDeleter>(task_runner)); + std::make_unique<viz::TextureMailboxDeleter>(task_runner)); auto layer_tree_frame_sink = vulkan_context_provider - ? base::MakeUnique<viz::DirectLayerTreeFrameSink>( + ? std::make_unique<viz::DirectLayerTreeFrameSink>( frame_sink_id_, GetHostFrameSinkManager(), manager, display_.get(), vulkan_context_provider) - : base::MakeUnique<viz::DirectLayerTreeFrameSink>( + : std::make_unique<viz::DirectLayerTreeFrameSink>( frame_sink_id_, GetHostFrameSinkManager(), manager, display_.get(), context_provider, nullptr /* worker_context_provider */,
diff --git a/content/browser/renderer_host/cursor_manager_unittest.cc b/content/browser/renderer_host/cursor_manager_unittest.cc index 86ed91c..5eb79bc 100644 --- a/content/browser/renderer_host/cursor_manager_unittest.cc +++ b/content/browser/renderer_host/cursor_manager_unittest.cc
@@ -53,7 +53,7 @@ int32_t routing_id) { mojom::WidgetPtr widget; std::unique_ptr<MockWidgetImpl> widget_impl = - base::MakeUnique<MockWidgetImpl>(mojo::MakeRequest(&widget)); + std::make_unique<MockWidgetImpl>(mojo::MakeRequest(&widget)); return new MockRenderWidgetHost(delegate, process, routing_id, std::move(widget_impl), std::move(widget));
diff --git a/content/browser/renderer_host/delegated_frame_host_client_aura.cc b/content/browser/renderer_host/delegated_frame_host_client_aura.cc index e68b18a..71804db 100644 --- a/content/browser/renderer_host/delegated_frame_host_client_aura.cc +++ b/content/browser/renderer_host/delegated_frame_host_client_aura.cc
@@ -70,7 +70,7 @@ host->dispatcher()->HoldPointerMoves(); gfx::Size desired_size = render_widget_host_view_->window_->bounds().size(); - return base::MakeUnique<CompositorResizeLock>(this, desired_size); + return std::make_unique<CompositorResizeLock>(this, desired_size); } viz::LocalSurfaceId DelegatedFrameHostClientAura::GetLocalSurfaceId() const {
diff --git a/content/browser/renderer_host/file_utilities_host_impl.cc b/content/browser/renderer_host/file_utilities_host_impl.cc index d9a01b1..e3b08f3 100644 --- a/content/browser/renderer_host/file_utilities_host_impl.cc +++ b/content/browser/renderer_host/file_utilities_host_impl.cc
@@ -21,7 +21,7 @@ void FileUtilitiesHostImpl::Create( int process_id, content::mojom::FileUtilitiesHostRequest request) { - mojo::MakeStrongBinding(base::MakeUnique<FileUtilitiesHostImpl>(process_id), + mojo::MakeStrongBinding(std::make_unique<FileUtilitiesHostImpl>(process_id), std::move(request)); }
diff --git a/content/browser/renderer_host/input/input_router_impl.cc b/content/browser/renderer_host/input/input_router_impl.cc index 73cdc89..d6dc10a2 100644 --- a/content/browser/renderer_host/input/input_router_impl.cc +++ b/content/browser/renderer_host/input/input_router_impl.cc
@@ -382,7 +382,7 @@ return; } - std::unique_ptr<InputEvent> event = base::MakeUnique<InputEvent>( + std::unique_ptr<InputEvent> event = std::make_unique<InputEvent>( ScaleEvent(input_event, device_scale_factor_), latency_info); if (WebInputEventTraits::ShouldBlockEventStream( input_event, wheel_scroll_latching_enabled_)) {
diff --git a/content/browser/renderer_host/input/legacy_ipc_widget_input_handler.cc b/content/browser/renderer_host/input/legacy_ipc_widget_input_handler.cc index e68cd6c..79f49e0e4 100644 --- a/content/browser/renderer_host/input/legacy_ipc_widget_input_handler.cc +++ b/content/browser/renderer_host/input/legacy_ipc_widget_input_handler.cc
@@ -37,7 +37,7 @@ LegacyIPCWidgetInputHandler::~LegacyIPCWidgetInputHandler() {} void LegacyIPCWidgetInputHandler::SetFocus(bool focused) { - SendInput(base::MakeUnique<InputMsg_SetFocus>(input_router_->routing_id(), + SendInput(std::make_unique<InputMsg_SetFocus>(input_router_->routing_id(), focused)); } @@ -45,12 +45,12 @@ void LegacyIPCWidgetInputHandler::SetEditCommandsForNextKeyEvent( const std::vector<EditCommand>& commands) { - SendInput(base::MakeUnique<InputMsg_SetEditCommandsForNextKeyEvent>( + SendInput(std::make_unique<InputMsg_SetEditCommandsForNextKeyEvent>( input_router_->routing_id(), commands)); } void LegacyIPCWidgetInputHandler::CursorVisibilityChanged(bool visible) { - SendInput(base::MakeUnique<InputMsg_CursorVisibilityChange>( + SendInput(std::make_unique<InputMsg_CursorVisibilityChange>( input_router_->routing_id(), visible)); } @@ -62,7 +62,7 @@ int32_t end) { std::vector<blink::WebImeTextSpan> ime_text_spans = ConvertToBlinkImeTextSpan(ui_ime_text_spans); - SendInput(base::MakeUnique<InputMsg_ImeSetComposition>( + SendInput(std::make_unique<InputMsg_ImeSetComposition>( input_router_->routing_id(), text, ime_text_spans, range, start, end)); } @@ -73,18 +73,18 @@ int32_t relative_cursor_position) { std::vector<blink::WebImeTextSpan> ime_text_spans = ConvertToBlinkImeTextSpan(ui_ime_text_spans); - SendInput(base::MakeUnique<InputMsg_ImeCommitText>( + SendInput(std::make_unique<InputMsg_ImeCommitText>( input_router_->routing_id(), text, ime_text_spans, range, relative_cursor_position)); } void LegacyIPCWidgetInputHandler::ImeFinishComposingText(bool keep_selection) { - SendInput(base::MakeUnique<InputMsg_ImeFinishComposingText>( + SendInput(std::make_unique<InputMsg_ImeFinishComposingText>( input_router_->routing_id(), keep_selection)); } void LegacyIPCWidgetInputHandler::RequestTextInputStateUpdate() { #if defined(OS_ANDROID) - SendInput(base::MakeUnique<InputMsg_RequestTextInputStateUpdate>( + SendInput(std::make_unique<InputMsg_RequestTextInputStateUpdate>( input_router_->routing_id())); #endif } @@ -92,7 +92,7 @@ void LegacyIPCWidgetInputHandler::RequestCompositionUpdates( bool immediate_request, bool monitor_request) { - SendInput(base::MakeUnique<InputMsg_RequestCompositionUpdates>( + SendInput(std::make_unique<InputMsg_RequestCompositionUpdates>( input_router_->routing_id(), immediate_request, monitor_request)); }
diff --git a/content/browser/renderer_host/input/mouse_latency_browsertest.cc b/content/browser/renderer_host/input/mouse_latency_browsertest.cc index ae913d4..18e16642a 100644 --- a/content/browser/renderer_host/input/mouse_latency_browsertest.cc +++ b/content/browser/renderer_host/input/mouse_latency_browsertest.cc
@@ -112,7 +112,7 @@ base::Unretained(this))); // Runs until we get the OnSyntheticGestureCompleted callback - runner_ = base::MakeUnique<base::RunLoop>(); + runner_ = std::make_unique<base::RunLoop>(); runner_->Run(); } @@ -135,7 +135,7 @@ base::Unretained(this))); // Runs until we get the OnSyntheticGestureCompleted callback - runner_ = base::MakeUnique<base::RunLoop>(); + runner_ = std::make_unique<base::RunLoop>(); runner_->Run(); } @@ -165,7 +165,7 @@ // Runs until we get the OnTraceDataCollected callback, which populates // trace_data_; - runner_ = base::MakeUnique<base::RunLoop>(); + runner_ = std::make_unique<base::RunLoop>(); runner_->Run(); return trace_data_; }
diff --git a/content/browser/renderer_host/input/mouse_wheel_event_queue.cc b/content/browser/renderer_host/input/mouse_wheel_event_queue.cc index a269ed1..c7e3bea 100644 --- a/content/browser/renderer_host/input/mouse_wheel_event_queue.cc +++ b/content/browser/renderer_host/input/mouse_wheel_event_queue.cc
@@ -68,7 +68,7 @@ } } - wheel_queue_.push_back(base::MakeUnique<QueuedWebMouseWheelEvent>(event)); + wheel_queue_.push_back(std::make_unique<QueuedWebMouseWheelEvent>(event)); TryForwardNextEventToRenderer(); LOCAL_HISTOGRAM_COUNTS_100("Renderer.WheelQueueSize", wheel_queue_.size()); }
diff --git a/content/browser/renderer_host/input/synthetic_gesture_controller_unittest.cc b/content/browser/renderer_host/input/synthetic_gesture_controller_unittest.cc index 32f1544..78106e4 100644 --- a/content/browser/renderer_host/input/synthetic_gesture_controller_unittest.cc +++ b/content/browser/renderer_host/input/synthetic_gesture_controller_unittest.cc
@@ -688,7 +688,7 @@ template<typename MockGestureTarget> void CreateControllerAndTarget() { target_ = new MockGestureTarget(); - controller_ = base::MakeUnique<SyntheticGestureController>( + controller_ = std::make_unique<SyntheticGestureController>( &delegate_, std::unique_ptr<SyntheticGestureTarget>(target_)); }
diff --git a/content/browser/renderer_host/input/synthetic_pointer_driver.cc b/content/browser/renderer_host/input/synthetic_pointer_driver.cc index cadf8896..0189ef1 100644 --- a/content/browser/renderer_host/input/synthetic_pointer_driver.cc +++ b/content/browser/renderer_host/input/synthetic_pointer_driver.cc
@@ -19,11 +19,11 @@ SyntheticGestureParams::GestureSourceType gesture_source_type) { switch (gesture_source_type) { case SyntheticGestureParams::TOUCH_INPUT: - return base::MakeUnique<SyntheticTouchDriver>(); + return std::make_unique<SyntheticTouchDriver>(); case SyntheticGestureParams::MOUSE_INPUT: - return base::MakeUnique<SyntheticMouseDriver>(); + return std::make_unique<SyntheticMouseDriver>(); case SyntheticGestureParams::PEN_INPUT: - return base::MakeUnique<SyntheticPenDriver>(); + return std::make_unique<SyntheticPenDriver>(); case SyntheticGestureParams::DEFAULT_INPUT: return std::unique_ptr<SyntheticPointerDriver>(); }
diff --git a/content/browser/renderer_host/media/audio_input_device_manager_unittest.cc b/content/browser/renderer_host/media/audio_input_device_manager_unittest.cc index 0d5a5cf8..6d9c461 100644 --- a/content/browser/renderer_host/media/audio_input_device_manager_unittest.cc +++ b/content/browser/renderer_host/media/audio_input_device_manager_unittest.cc
@@ -66,7 +66,7 @@ // AudioInputDeviceManager accesses AudioSystem from IO thread, so it never // runs on the same thread with it, even on Mac. audio_manager_ = media::AudioManager::CreateForTesting( - base::MakeUnique<media::AudioThreadImpl>()); + std::make_unique<media::AudioThreadImpl>()); // Flush the message loop to ensure proper initialization of AudioManager. base::RunLoop().RunUntilIdle();
diff --git a/content/browser/renderer_host/media/audio_input_sync_writer.cc b/content/browser/renderer_host/media/audio_input_sync_writer.cc index 401f671..d530e73 100644 --- a/content/browser/renderer_host/media/audio_input_sync_writer.cc +++ b/content/browser/renderer_host/media/audio_input_sync_writer.cc
@@ -145,19 +145,19 @@ media::ComputeAudioInputBufferSizeChecked(params, shared_memory_segment_count); - auto shared_memory = base::MakeUnique<base::SharedMemory>(); + auto shared_memory = std::make_unique<base::SharedMemory>(); if (!requested_memory_size.IsValid() || !shared_memory->CreateAndMapAnonymous( requested_memory_size.ValueOrDie())) { return nullptr; } - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); if (!base::CancelableSyncSocket::CreatePair(socket.get(), foreign_socket)) { return nullptr; } - return base::MakeUnique<AudioInputSyncWriter>( + return std::make_unique<AudioInputSyncWriter>( std::move(shared_memory), std::move(socket), shared_memory_segment_count, params); } @@ -176,7 +176,7 @@ // writing. We verify that each buffer index is in sequence. size_t number_of_indices_available = socket_->Peek() / sizeof(uint32_t); if (number_of_indices_available > 0) { - auto indices = base::MakeUnique<uint32_t[]>(number_of_indices_available); + auto indices = std::make_unique<uint32_t[]>(number_of_indices_available); size_t bytes_received = socket_->Receive( &indices[0], number_of_indices_available * sizeof(indices[0]));
diff --git a/content/browser/renderer_host/media/audio_input_sync_writer_unittest.cc b/content/browser/renderer_host/media/audio_input_sync_writer_unittest.cc index 314c80d9..f534f817 100644 --- a/content/browser/renderer_host/media/audio_input_sync_writer_unittest.cc +++ b/content/browser/renderer_host/media/audio_input_sync_writer_unittest.cc
@@ -125,12 +125,12 @@ const uint32_t data_size = media::ComputeAudioInputBufferSize(audio_params, kSegments); - auto shared_memory = base::MakeUnique<base::SharedMemory>(); + auto shared_memory = std::make_unique<base::SharedMemory>(); EXPECT_TRUE(shared_memory->CreateAndMapAnonymous(data_size)); - auto socket = base::MakeUnique<MockCancelableSyncSocket>(kSegments); + auto socket = std::make_unique<MockCancelableSyncSocket>(kSegments); socket_ = socket.get(); - writer_ = base::MakeUnique<AudioInputSyncWriterUnderTest>( + writer_ = std::make_unique<AudioInputSyncWriterUnderTest>( std::move(shared_memory), std::move(socket), kSegments, audio_params); audio_bus_ = AudioBus::Create(audio_params); }
diff --git a/content/browser/renderer_host/media/audio_output_delegate_impl.cc b/content/browser/renderer_host/media/audio_output_delegate_impl.cc index f704124..43d7083 100644 --- a/content/browser/renderer_host/media/audio_output_delegate_impl.cc +++ b/content/browser/renderer_host/media/audio_output_delegate_impl.cc
@@ -94,12 +94,12 @@ int render_process_id, const media::AudioParameters& params, const std::string& output_device_id) { - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); auto reader = AudioSyncReader::Create(params, socket.get()); if (!reader) return nullptr; - return base::MakeUnique<AudioOutputDelegateImpl>( + return std::make_unique<AudioOutputDelegateImpl>( std::move(reader), std::move(socket), handler, audio_manager, std::move(audio_log), mirroring_manager, media_observer, stream_id, render_frame_id, render_process_id, params, output_device_id); @@ -136,7 +136,7 @@ // Since the event handler never directly calls functions on |this| but rather // posts them to the IO thread, passing a pointer from the constructor is // safe. - controller_event_handler_ = base::MakeUnique<ControllerEventHandler>( + controller_event_handler_ = std::make_unique<ControllerEventHandler>( weak_factory_.GetWeakPtr(), stream_id_); controller_ = media::AudioOutputController::Create( audio_manager, controller_event_handler_.get(), params, output_device_id,
diff --git a/content/browser/renderer_host/media/audio_output_delegate_impl_unittest.cc b/content/browser/renderer_host/media/audio_output_delegate_impl_unittest.cc index eb5bad0..f7ebc95 100644 --- a/content/browser/renderer_host/media/audio_output_delegate_impl_unittest.cc +++ b/content/browser/renderer_host/media/audio_output_delegate_impl_unittest.cc
@@ -115,11 +115,11 @@ // AudioOutputDelegate mainly interacts with the IO and audio threads, // but interacts with UI for bad messages, so using these threads should // approximate the real conditions of AudioOutputDelegate well. - thread_bundle_ = base::MakeUnique<TestBrowserThreadBundle>( + thread_bundle_ = std::make_unique<TestBrowserThreadBundle>( TestBrowserThreadBundle::Options::REAL_IO_THREAD); audio_manager_.reset(new media::FakeAudioManager( - base::MakeUnique<media::AudioThreadImpl>(), &log_factory_)); + std::make_unique<media::AudioThreadImpl>(), &log_factory_)); } ~AudioOutputDelegateTest() { audio_manager_->Shutdown(); } @@ -132,7 +132,7 @@ AddDiverter(kRenderProcessId, kRenderFrameId, NotNull())); { - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); auto reader = AudioSyncReader::Create(Params(), socket.get()); AudioOutputDelegateImpl delegate( std::move(reader), std::move(socket), &event_handler_, @@ -158,7 +158,7 @@ AddDiverter(kRenderProcessId, kRenderFrameId, NotNull())); { - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); auto reader = AudioSyncReader::Create(Params(), socket.get()); AudioOutputDelegateImpl delegate( std::move(reader), std::move(socket), &event_handler_, @@ -186,7 +186,7 @@ AddDiverter(kRenderProcessId, kRenderFrameId, NotNull())); { - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); auto reader = AudioSyncReader::Create(Params(), socket.get()); AudioOutputDelegateImpl delegate( std::move(reader), std::move(socket), &event_handler_, @@ -214,7 +214,7 @@ AddDiverter(kRenderProcessId, kRenderFrameId, NotNull())); { - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); auto reader = AudioSyncReader::Create(Params(), socket.get()); AudioOutputDelegateImpl delegate( std::move(reader), std::move(socket), &event_handler_, @@ -244,7 +244,7 @@ AddDiverter(kRenderProcessId, kRenderFrameId, NotNull())); { - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); auto reader = AudioSyncReader::Create(Params(), socket.get()); AudioOutputDelegateImpl delegate( std::move(reader), std::move(socket), &event_handler_, @@ -274,7 +274,7 @@ DummyAudioOutputStream stream; { - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); auto reader = AudioSyncReader::Create(Params(), socket.get()); AudioOutputDelegateImpl delegate( std::move(reader), std::move(socket), &event_handler_, @@ -303,7 +303,7 @@ DummyAudioOutputStream stream; { - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); auto reader = AudioSyncReader::Create(Params(), socket.get()); AudioOutputDelegateImpl delegate( std::move(reader), std::move(socket), &event_handler_, @@ -335,7 +335,7 @@ DummyAudioOutputStream stream; { - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); auto reader = AudioSyncReader::Create(Params(), socket.get()); AudioOutputDelegateImpl delegate( std::move(reader), std::move(socket), &event_handler_, @@ -372,9 +372,9 @@ AddDiverter(kRenderProcessId, kRenderFrameId, NotNull())); EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull())); - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); auto reader = AudioSyncReader::Create(Params(), socket.get()); - auto delegate = base::MakeUnique<AudioOutputDelegateImpl>( + auto delegate = std::make_unique<AudioOutputDelegateImpl>( std::move(reader), std::move(socket), &event_handler_, audio_manager_.get(), log_factory_.CreateAudioLog( @@ -402,7 +402,7 @@ EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull())); { - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); auto reader = AudioSyncReader::Create(Params(), socket.get()); AudioOutputDelegateImpl delegate( std::move(reader), std::move(socket), &event_handler_, @@ -425,7 +425,7 @@ EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull())); { - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); auto reader = AudioSyncReader::Create(Params(), socket.get()); AudioOutputDelegateImpl delegate( std::move(reader), std::move(socket), &event_handler_, @@ -452,7 +452,7 @@ EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull())); { - auto socket = base::MakeUnique<base::CancelableSyncSocket>(); + auto socket = std::make_unique<base::CancelableSyncSocket>(); auto reader = AudioSyncReader::Create(Params(), socket.get()); AudioOutputDelegateImpl delegate( std::move(reader), std::move(socket), &event_handler_,
diff --git a/content/browser/renderer_host/media/audio_renderer_host_unittest.cc b/content/browser/renderer_host/media/audio_renderer_host_unittest.cc index 92a44ac..068b0374 100644 --- a/content/browser/renderer_host/media/audio_renderer_host_unittest.cc +++ b/content/browser/renderer_host/media/audio_renderer_host_unittest.cc
@@ -68,7 +68,7 @@ class FakeAudioManagerWithAssociations : public media::FakeAudioManager { public: explicit FakeAudioManagerWithAssociations(media::AudioLogFactory* factory) - : FakeAudioManager(base::MakeUnique<media::TestAudioThread>(), factory) {} + : FakeAudioManager(std::make_unique<media::TestAudioThread>(), factory) {} void CreateDeviceAssociation(const std::string& input_device_id, const std::string& output_device_id) { @@ -205,12 +205,12 @@ RenderViewHostTestHarness::SetUp(); audio_manager_ = - base::MakeUnique<FakeAudioManagerWithAssociations>(&log_factory_); + std::make_unique<FakeAudioManagerWithAssociations>(&log_factory_); audio_system_ = std::make_unique<media::AudioSystemImpl>(audio_manager_.get()); - media_stream_manager_ = base::MakeUnique<MediaStreamManager>( + media_stream_manager_ = std::make_unique<MediaStreamManager>( audio_system_.get(), audio_manager_->GetTaskRunner()); - auth_run_loop_ = base::MakeUnique<base::RunLoop>(); + auth_run_loop_ = std::make_unique<base::RunLoop>(); host_ = base::MakeRefCounted<MockAudioRendererHost>( auth_run_loop_.get(), process()->GetID(), audio_manager_.get(), audio_system_.get(), &mirroring_manager_, media_stream_manager_.get());
diff --git a/content/browser/renderer_host/media/audio_sync_reader.cc b/content/browser/renderer_host/media/audio_sync_reader.cc index fad2322..e60a288 100644 --- a/content/browser/renderer_host/media/audio_sync_reader.cc +++ b/content/browser/renderer_host/media/audio_sync_reader.cc
@@ -131,7 +131,7 @@ !base::CancelableSyncSocket::CreatePair(socket.get(), foreign_socket)) { return nullptr; } - return base::MakeUnique<AudioSyncReader>(params, std::move(shared_memory), + return std::make_unique<AudioSyncReader>(params, std::move(shared_memory), std::move(socket)); }
diff --git a/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc b/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc index e0d8bfc1..bf13ae02 100644 --- a/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc +++ b/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc
@@ -37,7 +37,7 @@ std::unique_ptr<media::VideoCaptureJpegDecoder> CreateGpuJpegDecoder( media::VideoCaptureJpegDecoder::DecodeDoneCB decode_done_cb, base::Callback<void(const std::string&)> send_log_message_cb) { - return base::MakeUnique<content::VideoCaptureGpuJpegDecoder>( + return std::make_unique<content::VideoCaptureGpuJpegDecoder>( std::move(decode_done_cb), std::move(send_log_message_cb)); } @@ -157,11 +157,11 @@ scoped_refptr<media::VideoCaptureBufferPool> buffer_pool = new media::VideoCaptureBufferPoolImpl( - base::MakeUnique<media::VideoCaptureBufferTrackerFactoryImpl>(), + std::make_unique<media::VideoCaptureBufferTrackerFactoryImpl>(), buffer_pool_max_buffer_count); - return base::MakeUnique<media::VideoCaptureDeviceClient>( - base::MakeUnique<media::VideoFrameReceiverOnTaskRunner>( + return std::make_unique<media::VideoCaptureDeviceClient>( + std::make_unique<media::VideoFrameReceiverOnTaskRunner>( receiver, BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)), std::move(buffer_pool), base::Bind(&CreateGpuJpegDecoder, @@ -193,7 +193,7 @@ } } - auto launched_device = base::MakeUnique<InProcessLaunchedVideoCaptureDevice>( + auto launched_device = std::make_unique<InProcessLaunchedVideoCaptureDevice>( std::move(device), device_task_runner_); switch (state_copy) { @@ -284,7 +284,7 @@ #endif } else { #if defined(OS_ANDROID) - video_capture_device = base::MakeUnique<ScreenCaptureDeviceAndroid>(); + video_capture_device = std::make_unique<ScreenCaptureDeviceAndroid>(); #else #if defined(USE_AURA) video_capture_device = DesktopCaptureDeviceAura::Create(desktop_id);
diff --git a/content/browser/renderer_host/media/in_process_video_capture_provider.cc b/content/browser/renderer_host/media/in_process_video_capture_provider.cc index e5a4df65..de6549f 100644 --- a/content/browser/renderer_host/media/in_process_video_capture_provider.cc +++ b/content/browser/renderer_host/media/in_process_video_capture_provider.cc
@@ -27,7 +27,7 @@ InProcessVideoCaptureProvider::CreateInstanceForNonDeviceCapture( scoped_refptr<base::SingleThreadTaskRunner> device_task_runner, base::RepeatingCallback<void(const std::string&)> emit_log_message_cb) { - return base::MakeUnique<InProcessVideoCaptureProvider>( + return std::make_unique<InProcessVideoCaptureProvider>( nullptr, std::move(device_task_runner), std::move(emit_log_message_cb)); } @@ -37,7 +37,7 @@ std::unique_ptr<media::VideoCaptureSystem> video_capture_system, scoped_refptr<base::SingleThreadTaskRunner> device_task_runner, base::RepeatingCallback<void(const std::string&)> emit_log_message_cb) { - return base::MakeUnique<InProcessVideoCaptureProvider>( + return std::make_unique<InProcessVideoCaptureProvider>( std::move(video_capture_system), std::move(device_task_runner), std::move(emit_log_message_cb)); } @@ -67,7 +67,7 @@ std::unique_ptr<VideoCaptureDeviceLauncher> InProcessVideoCaptureProvider::CreateDeviceLauncher() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - return base::MakeUnique<InProcessVideoCaptureDeviceLauncher>( + return std::make_unique<InProcessVideoCaptureDeviceLauncher>( device_task_runner_, video_capture_system_.get()); }
diff --git a/content/browser/renderer_host/media/media_devices_dispatcher_host.cc b/content/browser/renderer_host/media/media_devices_dispatcher_host.cc index 081da66..8c5227d 100644 --- a/content/browser/renderer_host/media/media_devices_dispatcher_host.cc +++ b/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
@@ -116,7 +116,7 @@ ::mojom::MediaDevicesDispatcherHostRequest request) { DCHECK_CURRENTLY_ON(BrowserThread::IO); mojo::MakeStrongBinding( - base::MakeUnique<MediaDevicesDispatcherHost>( + std::make_unique<MediaDevicesDispatcherHost>( render_process_id, render_frame_id, media_stream_manager), std::move(request)); } @@ -129,7 +129,7 @@ render_frame_id_(render_frame_id), group_id_salt_base_(BrowserContext::CreateRandomMediaDeviceIDSalt()), media_stream_manager_(media_stream_manager), - permission_checker_(base::MakeUnique<MediaDevicesPermissionChecker>()), + permission_checker_(std::make_unique<MediaDevicesPermissionChecker>()), num_pending_audio_input_parameters_(0), salt_and_origin_callback_( base::BindRepeating(&GetMediaDeviceSaltAndOrigin)),
diff --git a/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc b/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc index 0f6acde..227f707 100644 --- a/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc +++ b/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc
@@ -240,7 +240,7 @@ bool enumerate_video_input, bool enumerate_audio_output, bool permission_override_value = true) { - host_->SetPermissionChecker(base::MakeUnique<MediaDevicesPermissionChecker>( + host_->SetPermissionChecker(std::make_unique<MediaDevicesPermissionChecker>( permission_override_value)); base::RunLoop run_loop; host_->EnumerateDevices( @@ -500,7 +500,7 @@ // Reset the salt and expect different device IDs in a new enumeration, except // for default audio devices, which are always hashed to the same constant. - browser_context_ = base::MakeUnique<TestBrowserContext>(); + browser_context_ = std::make_unique<TestBrowserContext>(); EnumerateDevicesAndWaitForResult(true, true, true); EXPECT_EQ(devices.size(), enumerated_devices_.size()); for (size_t i = 0; i < enumerated_devices_.size(); ++i) {
diff --git a/content/browser/renderer_host/media/media_devices_manager_unittest.cc b/content/browser/renderer_host/media/media_devices_manager_unittest.cc index 7cb7e30..ea67d69 100644 --- a/content/browser/renderer_host/media/media_devices_manager_unittest.cc +++ b/content/browser/renderer_host/media/media_devices_manager_unittest.cc
@@ -44,7 +44,7 @@ class MockAudioManager : public media::FakeAudioManager { public: MockAudioManager() - : FakeAudioManager(base::MakeUnique<media::TestAudioThread>(), + : FakeAudioManager(std::make_unique<media::TestAudioThread>(), &fake_audio_log_factory_), num_output_devices_(2), num_input_devices_(2) {} @@ -147,12 +147,12 @@ audio_system_ = std::make_unique<media::AudioSystemImpl>(audio_manager_.get()); auto video_capture_device_factory = - base::MakeUnique<MockVideoCaptureDeviceFactory>(); + std::make_unique<MockVideoCaptureDeviceFactory>(); video_capture_device_factory_ = video_capture_device_factory.get(); - auto video_capture_system = base::MakeUnique<media::VideoCaptureSystemImpl>( + auto video_capture_system = std::make_unique<media::VideoCaptureSystemImpl>( std::move(video_capture_device_factory)); auto video_capture_provider = - base::MakeUnique<InProcessVideoCaptureProvider>( + std::make_unique<InProcessVideoCaptureProvider>( std::move(video_capture_system), base::ThreadTaskRunnerHandle::Get(), kIgnoreLogMessageCB); video_capture_manager_ = new VideoCaptureManager(
diff --git a/content/browser/renderer_host/media/media_stream_manager.cc b/content/browser/renderer_host/media/media_stream_manager.cc index 0eff1c5..6d32aec 100644 --- a/content/browser/renderer_host/media/media_stream_manager.cc +++ b/content/browser/renderer_host/media/media_stream_manager.cc
@@ -438,8 +438,8 @@ device_task_runner = video_capture_thread_.task_runner(); #endif if (base::FeatureList::IsEnabled(video_capture::kMojoVideoCapture)) { - video_capture_provider = base::MakeUnique<VideoCaptureProviderSwitcher>( - base::MakeUnique<ServiceVideoCaptureProvider>( + video_capture_provider = std::make_unique<VideoCaptureProviderSwitcher>( + std::make_unique<ServiceVideoCaptureProvider>( base::BindRepeating(&SendVideoCaptureLogMessage)), InProcessVideoCaptureProvider::CreateInstanceForNonDeviceCapture( std::move(device_task_runner), @@ -448,7 +448,7 @@ video_capture::uma::LogVideoCaptureServiceEvent( video_capture::uma::BROWSER_USING_LEGACY_CAPTURE); video_capture_provider = InProcessVideoCaptureProvider::CreateInstance( - base::MakeUnique<media::VideoCaptureSystemImpl>( + std::make_unique<media::VideoCaptureSystemImpl>( media::VideoCaptureDeviceFactory::CreateFactory( BrowserThread::GetTaskRunnerForThread(BrowserThread::UI), BrowserGpuMemoryBufferManager::current())),
diff --git a/content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc b/content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc index 6408784..7a9ed8f3 100644 --- a/content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc +++ b/content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc
@@ -306,7 +306,7 @@ std::unique_ptr<MediaStreamRequest> CreateRequest(RenderFrameHost* rfh, MediaStreamType mic_type, MediaStreamType cam_type) { - return base::MakeUnique<MediaStreamRequest>( + return std::make_unique<MediaStreamRequest>( rfh->GetProcess()->GetID(), rfh->GetRoutingID(), 0, rfh->GetLastCommittedURL(), false, MEDIA_GENERATE_STREAM, std::string(), std::string(), mic_type, cam_type, false);
diff --git a/content/browser/renderer_host/media/render_frame_audio_output_stream_factory.cc b/content/browser/renderer_host/media/render_frame_audio_output_stream_factory.cc index 161df0b..f9754ab 100644 --- a/content/browser/renderer_host/media/render_frame_audio_output_stream_factory.cc +++ b/content/browser/renderer_host/media/render_frame_audio_output_stream_factory.cc
@@ -119,7 +119,7 @@ // Since |context_| outlives |this| and |this| outlives |stream_providers_|, // unretained is safe. stream_providers_.insert( - base::MakeUnique<media::MojoAudioOutputStreamProvider>( + std::make_unique<media::MojoAudioOutputStreamProvider>( std::move(request), base::BindOnce( &RendererAudioOutputStreamFactoryContext::CreateDelegate,
diff --git a/content/browser/renderer_host/media/render_frame_audio_output_stream_factory_unittest.cc b/content/browser/renderer_host/media/render_frame_audio_output_stream_factory_unittest.cc index 2355a1d..8d9cafb 100644 --- a/content/browser/renderer_host/media/render_frame_audio_output_stream_factory_unittest.cc +++ b/content/browser/renderer_host/media/render_frame_audio_output_stream_factory_unittest.cc
@@ -144,9 +144,9 @@ AudioOutputStreamFactoryPtr CreateFactory() { DCHECK(!factory_); AudioOutputStreamFactoryPtr ret; - factory_ = base::MakeUnique<RenderFrameAudioOutputStreamFactory>( + factory_ = std::make_unique<RenderFrameAudioOutputStreamFactory>( kRenderFrameId, this); - factory_binding_ = base::MakeUnique< + factory_binding_ = std::make_unique< mojo::Binding<mojom::RendererAudioOutputStreamFactory>>( factory_.get(), mojo::MakeRequest(&ret)); return ret; @@ -211,9 +211,9 @@ mojo::Binding<AudioOutputStreamClient> client_binding( &client, mojo::MakeRequest(&client_ptr)); media::AudioOutputDelegate::EventHandler* event_handler = nullptr; - auto factory_context = base::MakeUnique<MockContext>(true); + auto factory_context = std::make_unique<MockContext>(true); factory_context->PrepareDelegateForCreation( - base::MakeUnique<MockAudioOutputDelegate>(), &event_handler); + std::make_unique<MockAudioOutputDelegate>(), &event_handler); AudioOutputStreamFactoryPtr factory_ptr = factory_context->CreateFactory(); media::OutputDeviceStatus status; @@ -238,8 +238,8 @@ base::SharedMemory shared_memory; ASSERT_TRUE(shared_memory.CreateAndMapAnonymous(100)); - auto local = base::MakeUnique<base::CancelableSyncSocket>(); - auto remote = base::MakeUnique<base::CancelableSyncSocket>(); + auto local = std::make_unique<base::CancelableSyncSocket>(); + auto remote = std::make_unique<base::CancelableSyncSocket>(); ASSERT_TRUE( base::CancelableSyncSocket::CreatePair(local.get(), remote.get())); event_handler->OnStreamCreated(kStreamId, &shared_memory, std::move(remote)); @@ -252,7 +252,7 @@ TEST(RenderFrameAudioOutputStreamFactoryTest, NotAuthorized_Denied) { content::TestBrowserThreadBundle thread_bundle; AudioOutputStreamProviderPtr output_provider; - auto factory_context = base::MakeUnique<MockContext>(false); + auto factory_context = std::make_unique<MockContext>(false); AudioOutputStreamFactoryPtr factory_ptr = factory_context->CreateFactory(); media::OutputDeviceStatus status; @@ -277,9 +277,9 @@ &client, mojo::MakeRequest(&client_ptr)); bool delegate_is_destructed = false; media::AudioOutputDelegate::EventHandler* event_handler = nullptr; - auto factory_context = base::MakeUnique<MockContext>(true); + auto factory_context = std::make_unique<MockContext>(true); factory_context->PrepareDelegateForCreation( - base::MakeUnique<MockAudioOutputDelegate>( + std::make_unique<MockAudioOutputDelegate>( base::BindOnce([](bool* destructed) { *destructed = true; }, &delegate_is_destructed)), &event_handler); @@ -314,9 +314,9 @@ &client, mojo::MakeRequest(&client_ptr)); bool delegate_is_destructed = false; media::AudioOutputDelegate::EventHandler* event_handler = nullptr; - auto factory_context = base::MakeUnique<MockContext>(true); + auto factory_context = std::make_unique<MockContext>(true); factory_context->PrepareDelegateForCreation( - base::MakeUnique<MockAudioOutputDelegate>( + std::make_unique<MockAudioOutputDelegate>( base::BindOnce([](bool* destructed) { *destructed = true; }, &delegate_is_destructed)), &event_handler); @@ -360,7 +360,7 @@ TestBrowserThreadBundle thread_bundle; AudioOutputStreamProviderPtr output_provider; - auto factory_context = base::MakeUnique<MockContext>(true); + auto factory_context = std::make_unique<MockContext>(true); auto factory_ptr = factory_context->CreateFactory(); int64_t session_id = std::numeric_limits<int>::max();
diff --git a/content/browser/renderer_host/media/service_video_capture_device_launcher.cc b/content/browser/renderer_host/media/service_video_capture_device_launcher.cc index 0c6a228..9dfb2d3 100644 --- a/content/browser/renderer_host/media/service_video_capture_device_launcher.cc +++ b/content/browser/renderer_host/media/service_video_capture_device_launcher.cc
@@ -22,8 +22,8 @@ VideoCaptureDeviceLauncher::Callbacks* callbacks, base::OnceClosure done_cb) { auto receiver_adapter = - base::MakeUnique<video_capture::ReceiverMediaToMojoAdapter>( - base::MakeUnique<media::VideoFrameReceiverOnTaskRunner>( + std::make_unique<video_capture::ReceiverMediaToMojoAdapter>( + std::make_unique<media::VideoFrameReceiverOnTaskRunner>( std::move(receiver), BrowserThread::GetTaskRunnerForThread(BrowserThread::IO))); video_capture::mojom::ReceiverPtr receiver_proxy; @@ -31,7 +31,7 @@ std::move(receiver_adapter), mojo::MakeRequest(&receiver_proxy)); device->Start(params, std::move(receiver_proxy)); callbacks->OnDeviceLaunched( - base::MakeUnique<ServiceLaunchedVideoCaptureDevice>( + std::make_unique<ServiceLaunchedVideoCaptureDevice>( std::move(device), std::move(connection_lost_cb))); base::ResetAndReturn(&done_cb).Run(); }
diff --git a/content/browser/renderer_host/media/service_video_capture_device_launcher_unittest.cc b/content/browser/renderer_host/media/service_video_capture_device_launcher_unittest.cc index 0a6bae1d3..36a3366c 100644 --- a/content/browser/renderer_host/media/service_video_capture_device_launcher_unittest.cc +++ b/content/browser/renderer_host/media/service_video_capture_device_launcher_unittest.cc
@@ -66,9 +66,9 @@ protected: void SetUp() override { factory_binding_ = - base::MakeUnique<mojo::Binding<video_capture::mojom::DeviceFactory>>( + std::make_unique<mojo::Binding<video_capture::mojom::DeviceFactory>>( &mock_device_factory_, mojo::MakeRequest(&device_factory_)); - launcher_ = base::MakeUnique<ServiceVideoCaptureDeviceLauncher>( + launcher_ = std::make_unique<ServiceVideoCaptureDeviceLauncher>( connect_to_device_factory_cb_.Get()); launcher_has_connected_to_device_factory_ = false; launcher_has_released_device_factory_ = false; @@ -77,7 +77,7 @@ .WillByDefault(Invoke( [this](std::unique_ptr<VideoCaptureFactoryDelegate>* out_factory) { launcher_has_connected_to_device_factory_ = true; - *out_factory = base::MakeUnique<VideoCaptureFactoryDelegate>( + *out_factory = std::make_unique<VideoCaptureFactoryDelegate>( &device_factory_, release_connection_cb_.Get()); }));
diff --git a/content/browser/renderer_host/media/service_video_capture_provider.cc b/content/browser/renderer_host/media/service_video_capture_provider.cc index df14047..b837db09 100644 --- a/content/browser/renderer_host/media/service_video_capture_provider.cc +++ b/content/browser/renderer_host/media/service_video_capture_provider.cc
@@ -42,7 +42,7 @@ ServiceVideoCaptureProvider::ServiceVideoCaptureProvider( base::RepeatingCallback<void(const std::string&)> emit_log_message_cb) - : ServiceVideoCaptureProvider(base::MakeUnique<ServiceConnectorImpl>(), + : ServiceVideoCaptureProvider(std::make_unique<ServiceConnectorImpl>(), std::move(emit_log_message_cb)) {} ServiceVideoCaptureProvider::ServiceVideoCaptureProvider( @@ -79,7 +79,7 @@ std::unique_ptr<VideoCaptureDeviceLauncher> ServiceVideoCaptureProvider::CreateDeviceLauncher() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - return base::MakeUnique<ServiceVideoCaptureDeviceLauncher>( + return std::make_unique<ServiceVideoCaptureDeviceLauncher>( base::BindRepeating(&ServiceVideoCaptureProvider::ConnectToDeviceFactory, weak_ptr_factory_.GetWeakPtr())); } @@ -90,7 +90,7 @@ IncreaseUsageCount(); LazyConnectToService(); launcher_has_connected_to_device_factory_ = true; - *out_factory = base::MakeUnique<VideoCaptureFactoryDelegate>( + *out_factory = std::make_unique<VideoCaptureFactoryDelegate>( &device_factory_, base::BindOnce(&ServiceVideoCaptureProvider::DecreaseUsageCount, weak_ptr_factory_.GetWeakPtr()));
diff --git a/content/browser/renderer_host/media/service_video_capture_provider_unittest.cc b/content/browser/renderer_host/media/service_video_capture_provider_unittest.cc index c5347f15..ed85dee 100644 --- a/content/browser/renderer_host/media/service_video_capture_provider_unittest.cc +++ b/content/browser/renderer_host/media/service_video_capture_provider_unittest.cc
@@ -89,9 +89,9 @@ protected: void SetUp() override { - auto mock_service_connector = base::MakeUnique<MockServiceConnector>(); + auto mock_service_connector = std::make_unique<MockServiceConnector>(); mock_service_connector_ = mock_service_connector.get(); - provider_ = base::MakeUnique<ServiceVideoCaptureProvider>( + provider_ = std::make_unique<ServiceVideoCaptureProvider>( std::move(mock_service_connector), kIgnoreLogMessageCB); ON_CALL(*mock_service_connector_, BindFactoryProvider(_))
diff --git a/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc b/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc index 110a071..c5b4bda 100644 --- a/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc +++ b/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc
@@ -72,7 +72,7 @@ VideoCaptureBufferPoolTest() : expected_dropped_id_(0), pool_(new media::VideoCaptureBufferPoolImpl( - base::MakeUnique<media::VideoCaptureBufferTrackerFactoryImpl>(), + std::make_unique<media::VideoCaptureBufferTrackerFactoryImpl>(), kTestBufferPoolSize)) {} void ExpectDroppedId(int expected_dropped_id) {
diff --git a/content/browser/renderer_host/media/video_capture_controller.cc b/content/browser/renderer_host/media/video_capture_controller.cc index e9fb72a..97dcb2ed 100644 --- a/content/browser/renderer_host/media/video_capture_controller.cc +++ b/content/browser/renderer_host/media/video_capture_controller.cc
@@ -235,7 +235,7 @@ event_handler->OnStarted(id); std::unique_ptr<ControllerClient> client = - base::MakeUnique<ControllerClient>(id, event_handler, session_id, params); + std::make_unique<ControllerClient>(id, event_handler, session_id, params); // If we already have gotten frame_info from the device, repeat it to the new // client. if (state_ != VIDEO_CAPTURE_STATE_ERROR) {
diff --git a/content/browser/renderer_host/media/video_capture_controller_unittest.cc b/content/browser/renderer_host/media/video_capture_controller_unittest.cc index fd9e24f..3ef1925 100644 --- a/content/browser/renderer_host/media/video_capture_controller_unittest.cc +++ b/content/browser/renderer_host/media/video_capture_controller_unittest.cc
@@ -47,7 +47,7 @@ std::unique_ptr<media::VideoCaptureJpegDecoder> CreateGpuJpegDecoder( media::VideoCaptureJpegDecoder::DecodeDoneCB decode_done_cb) { - return base::MakeUnique<content::VideoCaptureGpuJpegDecoder>( + return std::make_unique<content::VideoCaptureGpuJpegDecoder>( std::move(decode_done_cb), base::Bind([](const std::string&) {})); } @@ -138,14 +138,14 @@ const MediaStreamType arbitrary_stream_type = content::MEDIA_DEVICE_VIDEO_CAPTURE; const media::VideoCaptureParams arbitrary_params; - auto device_launcher = base::MakeUnique<MockVideoCaptureDeviceLauncher>(); + auto device_launcher = std::make_unique<MockVideoCaptureDeviceLauncher>(); controller_ = new VideoCaptureController( arbitrary_device_id, arbitrary_stream_type, arbitrary_params, std::move(device_launcher), base::BindRepeating([](const std::string&) {})); InitializeNewDeviceClientAndBufferPoolInstances(); auto mock_launched_device = - base::MakeUnique<MockLaunchedVideoCaptureDevice>(); + std::make_unique<MockLaunchedVideoCaptureDevice>(); mock_launched_device_ = mock_launched_device.get(); controller_->OnDeviceLaunched(std::move(mock_launched_device)); client_a_.reset( @@ -158,10 +158,10 @@ void InitializeNewDeviceClientAndBufferPoolInstances() { buffer_pool_ = new media::VideoCaptureBufferPoolImpl( - base::MakeUnique<media::VideoCaptureBufferTrackerFactoryImpl>(), + std::make_unique<media::VideoCaptureBufferTrackerFactoryImpl>(), kPoolSize); device_client_.reset(new media::VideoCaptureDeviceClient( - base::MakeUnique<media::VideoFrameReceiverOnTaskRunner>( + std::make_unique<media::VideoFrameReceiverOnTaskRunner>( controller_->GetWeakPtrForIOThread(), BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)), buffer_pool_,
diff --git a/content/browser/renderer_host/media/video_capture_host.cc b/content/browser/renderer_host/media/video_capture_host.cc index da26a5c4..d437d3c 100644 --- a/content/browser/renderer_host/media/video_capture_host.cc +++ b/content/browser/renderer_host/media/video_capture_host.cc
@@ -81,7 +81,7 @@ mojom::VideoCaptureHostRequest request) { DVLOG(1) << __func__; DCHECK_CURRENTLY_ON(BrowserThread::IO); - mojo::MakeStrongBinding(base::MakeUnique<VideoCaptureHost>( + mojo::MakeStrongBinding(std::make_unique<VideoCaptureHost>( render_process_id, media_stream_manager), std::move(request)); }
diff --git a/content/browser/renderer_host/media/video_capture_manager_unittest.cc b/content/browser/renderer_host/media/video_capture_manager_unittest.cc index 582b388..7e0186a 100644 --- a/content/browser/renderer_host/media/video_capture_manager_unittest.cc +++ b/content/browser/renderer_host/media/video_capture_manager_unittest.cc
@@ -106,7 +106,7 @@ std::unique_ptr<media::VideoCaptureDevice> CreateDevice( const media::VideoCaptureDeviceDescriptor& device_descriptor) final { - return base::MakeUnique<WrappedDevice>( + return std::make_unique<WrappedDevice>( FakeVideoCaptureDeviceFactory::CreateDevice(device_descriptor), this); } @@ -201,12 +201,12 @@ void SetUp() override { listener_.reset(new MockMediaStreamProviderListener()); auto video_capture_device_factory = - base::MakeUnique<WrappedDeviceFactory>(); + std::make_unique<WrappedDeviceFactory>(); video_capture_device_factory_ = video_capture_device_factory.get(); - auto video_capture_system = base::MakeUnique<media::VideoCaptureSystemImpl>( + auto video_capture_system = std::make_unique<media::VideoCaptureSystemImpl>( std::move(video_capture_device_factory)); auto video_capture_provider = - base::MakeUnique<InProcessVideoCaptureProvider>( + std::make_unique<InProcessVideoCaptureProvider>( std::move(video_capture_system), base::ThreadTaskRunnerHandle::Get(), kIgnoreLogMessageCB); vcm_ =
diff --git a/content/browser/renderer_host/media/video_capture_provider_switcher.cc b/content/browser/renderer_host/media/video_capture_provider_switcher.cc index 26e91d9..d1b8b74f 100644 --- a/content/browser/renderer_host/media/video_capture_provider_switcher.cc +++ b/content/browser/renderer_host/media/video_capture_provider_switcher.cc
@@ -77,7 +77,7 @@ std::unique_ptr<VideoCaptureDeviceLauncher> VideoCaptureProviderSwitcher::CreateDeviceLauncher() { - return base::MakeUnique<VideoCaptureDeviceLauncherSwitcher>( + return std::make_unique<VideoCaptureDeviceLauncherSwitcher>( media_device_capture_provider_->CreateDeviceLauncher(), other_types_capture_provider_->CreateDeviceLauncher()); }
diff --git a/content/browser/renderer_host/media/video_capture_unittest.cc b/content/browser/renderer_host/media/video_capture_unittest.cc index 65003093..6df9e82 100644 --- a/content/browser/renderer_host/media/video_capture_unittest.cc +++ b/content/browser/renderer_host/media/video_capture_unittest.cc
@@ -130,7 +130,7 @@ base::CommandLine::ForCurrentProcess()->AppendSwitch( switches::kUseFakeDeviceForMediaStream); - media_stream_manager_ = base::MakeUnique<MediaStreamManager>( + media_stream_manager_ = std::make_unique<MediaStreamManager>( audio_system_.get(), audio_manager_->GetTaskRunner()); media_stream_manager_->UseFakeUIFactoryForTests( base::Bind(&VideoCaptureTest::CreateFakeUI, base::Unretained(this)));
diff --git a/content/browser/renderer_host/offscreen_canvas_provider_impl.cc b/content/browser/renderer_host/offscreen_canvas_provider_impl.cc index 279340b..6169a95 100644 --- a/content/browser/renderer_host/offscreen_canvas_provider_impl.cc +++ b/content/browser/renderer_host/offscreen_canvas_provider_impl.cc
@@ -41,7 +41,7 @@ &OffscreenCanvasProviderImpl::DestroyOffscreenCanvasSurface, base::Unretained(this), frame_sink_id); - canvas_map_[frame_sink_id] = base::MakeUnique<OffscreenCanvasSurfaceImpl>( + canvas_map_[frame_sink_id] = std::make_unique<OffscreenCanvasSurfaceImpl>( host_frame_sink_manager_, parent_frame_sink_id, frame_sink_id, std::move(client), std::move(request), std::move(destroy_callback)); }
diff --git a/content/browser/renderer_host/offscreen_canvas_provider_impl_unittest.cc b/content/browser/renderer_host/offscreen_canvas_provider_impl_unittest.cc index 0e611878..872b58b 100644 --- a/content/browser/renderer_host/offscreen_canvas_provider_impl_unittest.cc +++ b/content/browser/renderer_host/offscreen_canvas_provider_impl_unittest.cc
@@ -124,14 +124,14 @@ ImageTransportFactory::SetFactory( std::make_unique<NoTransportImageTransportFactory>()); #endif - host_frame_sink_manager_ = base::MakeUnique<viz::HostFrameSinkManager>(); + host_frame_sink_manager_ = std::make_unique<viz::HostFrameSinkManager>(); // The FrameSinkManagerImpl implementation is in-process here for tests. - frame_sink_manager_ = base::MakeUnique<viz::FrameSinkManagerImpl>(); + frame_sink_manager_ = std::make_unique<viz::FrameSinkManagerImpl>(); surface_utils::ConnectWithLocalFrameSinkManager( host_frame_sink_manager_.get(), frame_sink_manager_.get()); - provider_ = base::MakeUnique<OffscreenCanvasProviderImpl>( + provider_ = std::make_unique<OffscreenCanvasProviderImpl>( host_frame_sink_manager_.get(), kRendererClientId); } void TearDown() override {
diff --git a/content/browser/renderer_host/p2p/socket_dispatcher_host.cc b/content/browser/renderer_host/p2p/socket_dispatcher_host.cc index a06a265..26729a3 100644 --- a/content/browser/renderer_host/p2p/socket_dispatcher_host.cc +++ b/content/browser/renderer_host/p2p/socket_dispatcher_host.cc
@@ -228,7 +228,7 @@ void P2PSocketDispatcherHost::OnGetHostAddress(const std::string& host_name, int32_t request_id) { - std::unique_ptr<DnsRequest> request = base::MakeUnique<DnsRequest>( + std::unique_ptr<DnsRequest> request = std::make_unique<DnsRequest>( request_id, resource_context_->GetHostResolver()); DnsRequest* request_ptr = request.get(); dns_requests_.insert(std::move(request));
diff --git a/content/browser/renderer_host/p2p/socket_host_udp_unittest.cc b/content/browser/renderer_host/p2p/socket_host_udp_unittest.cc index 4df3558..924bf66 100644 --- a/content/browser/renderer_host/p2p/socket_host_udp_unittest.cc +++ b/content/browser/renderer_host/p2p/socket_host_udp_unittest.cc
@@ -194,7 +194,7 @@ base::circular_deque<FakeDatagramServerSocket::UDPPacket>* sent_packets, std::vector<uint16_t>* used_ports, net::NetLog* net_log) { - return base::MakeUnique<FakeDatagramServerSocket>(sent_packets, used_ports); + return std::make_unique<FakeDatagramServerSocket>(sent_packets, used_ports); } } // namespace
diff --git a/content/browser/renderer_host/pepper/browser_ppapi_host_impl.cc b/content/browser/renderer_host/pepper/browser_ppapi_host_impl.cc index 36c26f8..9479695 100644 --- a/content/browser/renderer_host/pepper/browser_ppapi_host_impl.cc +++ b/content/browser/renderer_host/pepper/browser_ppapi_host_impl.cc
@@ -154,7 +154,7 @@ // See http://crbug.com/733548. if (instance_map_.find(instance) == instance_map_.end()) { instance_map_[instance] = - base::MakeUnique<InstanceData>(renderer_instance_data); + std::make_unique<InstanceData>(renderer_instance_data); } else { NOTREACHED(); }
diff --git a/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc b/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc index 3b38831a..f0cd482c 100644 --- a/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc +++ b/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc
@@ -167,7 +167,7 @@ case PpapiHostMsg_VpnProvider_Create::ID: { scoped_refptr<PepperVpnProviderMessageFilter> vpn_provider( new PepperVpnProviderMessageFilter(host_, instance)); - return base::MakeUnique<ppapi::host::MessageFilterHost>( + return std::make_unique<ppapi::host::MessageFilterHost>( host_->GetPpapiHost(), instance, resource, std::move(vpn_provider)); } #endif
diff --git a/content/browser/renderer_host/pepper/pepper_socket_utils.cc b/content/browser/renderer_host/pepper/pepper_socket_utils.cc index b766a7f..d1bf34b4 100644 --- a/content/browser/renderer_host/pepper/pepper_socket_utils.cc +++ b/content/browser/renderer_host/pepper/pepper_socket_utils.cc
@@ -81,36 +81,36 @@ ppapi::PPB_X509Certificate_Fields* fields) { const net::CertPrincipal& issuer = cert.issuer(); fields->SetField(PP_X509CERTIFICATE_PRIVATE_ISSUER_COMMON_NAME, - base::MakeUnique<base::Value>(issuer.common_name)); + std::make_unique<base::Value>(issuer.common_name)); fields->SetField(PP_X509CERTIFICATE_PRIVATE_ISSUER_LOCALITY_NAME, - base::MakeUnique<base::Value>(issuer.locality_name)); + std::make_unique<base::Value>(issuer.locality_name)); fields->SetField( PP_X509CERTIFICATE_PRIVATE_ISSUER_STATE_OR_PROVINCE_NAME, - base::MakeUnique<base::Value>(issuer.state_or_province_name)); + std::make_unique<base::Value>(issuer.state_or_province_name)); fields->SetField(PP_X509CERTIFICATE_PRIVATE_ISSUER_COUNTRY_NAME, - base::MakeUnique<base::Value>(issuer.country_name)); + std::make_unique<base::Value>(issuer.country_name)); fields->SetField(PP_X509CERTIFICATE_PRIVATE_ISSUER_ORGANIZATION_NAME, - base::MakeUnique<base::Value>( + std::make_unique<base::Value>( base::JoinString(issuer.organization_names, "\n"))); fields->SetField(PP_X509CERTIFICATE_PRIVATE_ISSUER_ORGANIZATION_UNIT_NAME, - base::MakeUnique<base::Value>( + std::make_unique<base::Value>( base::JoinString(issuer.organization_unit_names, "\n"))); const net::CertPrincipal& subject = cert.subject(); fields->SetField(PP_X509CERTIFICATE_PRIVATE_SUBJECT_COMMON_NAME, - base::MakeUnique<base::Value>(subject.common_name)); + std::make_unique<base::Value>(subject.common_name)); fields->SetField(PP_X509CERTIFICATE_PRIVATE_SUBJECT_LOCALITY_NAME, - base::MakeUnique<base::Value>(subject.locality_name)); + std::make_unique<base::Value>(subject.locality_name)); fields->SetField( PP_X509CERTIFICATE_PRIVATE_SUBJECT_STATE_OR_PROVINCE_NAME, - base::MakeUnique<base::Value>(subject.state_or_province_name)); + std::make_unique<base::Value>(subject.state_or_province_name)); fields->SetField(PP_X509CERTIFICATE_PRIVATE_SUBJECT_COUNTRY_NAME, - base::MakeUnique<base::Value>(subject.country_name)); + std::make_unique<base::Value>(subject.country_name)); fields->SetField(PP_X509CERTIFICATE_PRIVATE_SUBJECT_ORGANIZATION_NAME, - base::MakeUnique<base::Value>( + std::make_unique<base::Value>( base::JoinString(subject.organization_names, "\n"))); fields->SetField(PP_X509CERTIFICATE_PRIVATE_SUBJECT_ORGANIZATION_UNIT_NAME, - base::MakeUnique<base::Value>(base::JoinString( + std::make_unique<base::Value>(base::JoinString( subject.organization_unit_names, "\n"))); const std::string& serial_number = cert.serial_number(); @@ -119,10 +119,10 @@ serial_number.length())); fields->SetField( PP_X509CERTIFICATE_PRIVATE_VALIDITY_NOT_BEFORE, - base::MakeUnique<base::Value>(cert.valid_start().ToDoubleT())); + std::make_unique<base::Value>(cert.valid_start().ToDoubleT())); fields->SetField( PP_X509CERTIFICATE_PRIVATE_VALIDITY_NOT_AFTER, - base::MakeUnique<base::Value>(cert.valid_expiry().ToDoubleT())); + std::make_unique<base::Value>(cert.valid_expiry().ToDoubleT())); std::string der; net::X509Certificate::GetDEREncoded(cert.os_cert_handle(), &der); fields->SetField(
diff --git a/content/browser/renderer_host/pepper/pepper_vpn_provider_message_filter_chromeos.cc b/content/browser/renderer_host/pepper/pepper_vpn_provider_message_filter_chromeos.cc index 8799b033..5327e8d 100644 --- a/content/browser/renderer_host/pepper/pepper_vpn_provider_message_filter_chromeos.cc +++ b/content/browser/renderer_host/pepper/pepper_vpn_provider_message_filter_chromeos.cc
@@ -210,16 +210,16 @@ !recv_buffer->CreateAndMapAnonymous(kBufferSize)) return PP_ERROR_NOMEMORY; - send_packet_buffer_ = base::MakeUnique<ppapi::VpnProviderSharedBuffer>( + send_packet_buffer_ = std::make_unique<ppapi::VpnProviderSharedBuffer>( kMaxBufferedPackets, kMaxPacketSize, std::move(send_buffer)); - recv_packet_buffer_ = base::MakeUnique<ppapi::VpnProviderSharedBuffer>( + recv_packet_buffer_ = std::make_unique<ppapi::VpnProviderSharedBuffer>( kMaxBufferedPackets, kMaxPacketSize, std::move(recv_buffer)); } vpn_service_proxy_->Bind( document_url_.host(), configuration_id_, configuration_name_, success_callback, failure_callback, - base::MakeUnique<PepperVpnProviderResourceHostProxyImpl>( + std::make_unique<PepperVpnProviderResourceHostProxyImpl>( weak_factory_.GetWeakPtr())); return PP_OK_COMPLETIONPENDING;
diff --git a/content/browser/renderer_host/render_process_host_browsertest.cc b/content/browser/renderer_host/render_process_host_browsertest.cc index 657bb97..0872d53 100644 --- a/content/browser/renderer_host/render_process_host_browsertest.cc +++ b/content/browser/renderer_host/render_process_host_browsertest.cc
@@ -58,14 +58,14 @@ const net::test_server::HttpRequest& request) { if (request.relative_url != "/beacon") return nullptr; - return base::MakeUnique<net::test_server::BasicHttpResponse>(); + return std::make_unique<net::test_server::BasicHttpResponse>(); } std::unique_ptr<net::test_server::HttpResponse> HandleHungBeacon( const net::test_server::HttpRequest& request) { if (request.relative_url != "/beacon") return nullptr; - return base::MakeUnique<net::test_server::HungResponse>(); + return std::make_unique<net::test_server::HungResponse>(); } class RenderProcessHostTest : public ContentBrowserTest,
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc index 828d9f8..bfd6f1e 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -1506,7 +1506,7 @@ // Build command line for renderer. We call AppendRendererCommandLine() // first so the process type argument will appear first. std::unique_ptr<base::CommandLine> cmd_line = - base::MakeUnique<base::CommandLine>(renderer_path); + std::make_unique<base::CommandLine>(renderer_path); if (!renderer_prefix.empty()) cmd_line->PrependWrapper(renderer_prefix); AppendRendererCommandLine(cmd_line.get()); @@ -1515,7 +1515,7 @@ // As long as there's no renderer prefix, we can use the zygote process // at this stage. child_process_launcher_.reset(new ChildProcessLauncher( - base::MakeUnique<RendererSandboxedProcessLauncherDelegate>(), + std::make_unique<RendererSandboxedProcessLauncherDelegate>(), std::move(cmd_line), GetID(), this, std::move(broker_client_invitation_), base::Bind(&RenderProcessHostImpl::OnMojoError, id_))); @@ -1564,7 +1564,7 @@ // Establish a ServiceManager connection for the new render service instance. broker_client_invitation_ = - base::MakeUnique<mojo::edk::OutgoingBrokerClientInvitation>(); + std::make_unique<mojo::edk::OutgoingBrokerClientInvitation>(); service_manager::Identity child_identity( mojom::kRendererServiceName, BrowserContext::GetServiceUserIdFor(GetBrowserContext()), @@ -1778,7 +1778,7 @@ } void RenderProcessHostImpl::RegisterMojoInterfaces() { - auto registry = base::MakeUnique<service_manager::BinderRegistry>(); + auto registry = std::make_unique<service_manager::BinderRegistry>(); channel_->AddAssociatedInterfaceForIOThread( base::Bind(&IndexedDBDispatcherHost::AddBinding, @@ -2002,7 +2002,7 @@ if (!offscreen_canvas_provider_) { // The client id gets converted to a uint32_t in FrameSinkId. uint32_t renderer_client_id = base::checked_cast<uint32_t>(id_); - offscreen_canvas_provider_ = base::MakeUnique<OffscreenCanvasProviderImpl>( + offscreen_canvas_provider_ = std::make_unique<OffscreenCanvasProviderImpl>( GetHostFrameSinkManager(), renderer_client_id); } offscreen_canvas_provider_->Add(std::move(request)); @@ -2128,12 +2128,12 @@ if (!resource_coordinator::IsResourceCoordinatorEnabled()) { process_resource_coordinator_ = - base::MakeUnique<resource_coordinator::ResourceCoordinatorInterface>( + std::make_unique<resource_coordinator::ResourceCoordinatorInterface>( nullptr, resource_coordinator::CoordinationUnitType::kProcess); } else { auto* connection = ServiceManagerConnection::GetForProcess(); process_resource_coordinator_ = - base::MakeUnique<resource_coordinator::ResourceCoordinatorInterface>( + std::make_unique<resource_coordinator::ResourceCoordinatorInterface>( connection ? connection->GetConnector() : nullptr, resource_coordinator::CoordinationUnitType::kProcess); }
diff --git a/content/browser/renderer_host/render_process_host_unittest.cc b/content/browser/renderer_host/render_process_host_unittest.cc index 2af6de9a..fbbba99 100644 --- a/content/browser/renderer_host/render_process_host_unittest.cc +++ b/content/browser/renderer_host/render_process_host_unittest.cc
@@ -67,7 +67,7 @@ ASSERT_NE(0u, kMaxRendererProcessCount); std::vector<std::unique_ptr<MockRenderProcessHost>> hosts; for (size_t i = 0; i < kMaxRendererProcessCount; ++i) { - hosts.push_back(base::MakeUnique<MockRenderProcessHost>(browser_context())); + hosts.push_back(std::make_unique<MockRenderProcessHost>(browser_context())); } // Verify that the renderer sharing will happen. @@ -86,7 +86,7 @@ ASSERT_NE(0u, kMaxRendererProcessCount); std::vector<std::unique_ptr<MockRenderProcessHost>> hosts; for (size_t i = 0; i < kMaxRendererProcessCount; ++i) { - hosts.push_back(base::MakeUnique<MockRenderProcessHost>(browser_context())); + hosts.push_back(std::make_unique<MockRenderProcessHost>(browser_context())); } // Verify that the renderer sharing still won't happen.
diff --git a/content/browser/renderer_host/render_view_host_factory.cc b/content/browser/renderer_host/render_view_host_factory.cc index 831b6c7..c6b6cf1 100644 --- a/content/browser/renderer_host/render_view_host_factory.cc +++ b/content/browser/renderer_host/render_view_host_factory.cc
@@ -50,7 +50,7 @@ } return new RenderViewHostImpl( instance, - base::MakeUnique<RenderWidgetHostImpl>( + std::make_unique<RenderWidgetHostImpl>( widget_delegate, instance->GetProcess(), routing_id, nullptr, hidden), delegate, main_frame_routing_id, swapped_out, true /* has_initialized_audio_host */);
diff --git a/content/browser/renderer_host/render_view_host_unittest.cc b/content/browser/renderer_host/render_view_host_unittest.cc index 132ed24e..ca1837cb 100644 --- a/content/browser/renderer_host/render_view_host_unittest.cc +++ b/content/browser/renderer_host/render_view_host_unittest.cc
@@ -83,7 +83,7 @@ mojom::WidgetPtr widget; std::unique_ptr<MockWidgetImpl> widget_impl = - base::MakeUnique<MockWidgetImpl>(mojo::MakeRequest(&widget)); + std::make_unique<MockWidgetImpl>(mojo::MakeRequest(&widget)); test_rvh()->CreateNewFullscreenWidget(routing_id, std::move(widget)); }
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc index 358d7db..8b2826c 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -813,7 +813,7 @@ const ResizeParams& resize_params) { resize_ack_pending_ = resize_params.needs_resize_ack; - old_resize_params_ = base::MakeUnique<ResizeParams>(resize_params); + old_resize_params_ = std::make_unique<ResizeParams>(resize_params); } void RenderWidgetHostImpl::WasResized() { @@ -1396,7 +1396,7 @@ base::OnceCallback<void(SyntheticGesture::Result)> on_complete) { if (!synthetic_gesture_controller_ && view_) { synthetic_gesture_controller_ = - base::MakeUnique<SyntheticGestureController>( + std::make_unique<SyntheticGestureController>( this, view_->CreateSyntheticGestureTarget()); } if (synthetic_gesture_controller_) { @@ -2829,12 +2829,12 @@ // widget shutdown, so we present an UnboundWidgetInputHandler had // DLOGS the message calls. legacy_widget_input_handler_ = - base::MakeUnique<UnboundWidgetInputHandler>(); + std::make_unique<UnboundWidgetInputHandler>(); } else { input_router_.reset(new LegacyInputRouterImpl( process_, this, this, routing_id_, GetInputRouterConfigForPlatform())); legacy_widget_input_handler_ = - base::MakeUnique<LegacyIPCWidgetInputHandler>( + std::make_unique<LegacyIPCWidgetInputHandler>( static_cast<LegacyInputRouterImpl*>(input_router_.get())); } }
diff --git a/content/browser/renderer_host/render_widget_host_input_event_router_unittest.cc b/content/browser/renderer_host/render_widget_host_input_event_router_unittest.cc index a419726..e08df123 100644 --- a/content/browser/renderer_host/render_widget_host_input_event_router_unittest.cc +++ b/content/browser/renderer_host/render_widget_host_input_event_router_unittest.cc
@@ -85,28 +85,28 @@ protected: // testing::Test: void SetUp() override { - browser_context_ = base::MakeUnique<TestBrowserContext>(); + browser_context_ = std::make_unique<TestBrowserContext>(); process_host1_ = - base::MakeUnique<MockRenderProcessHost>(browser_context_.get()); + std::make_unique<MockRenderProcessHost>(browser_context_.get()); process_host2_ = - base::MakeUnique<MockRenderProcessHost>(browser_context_.get()); + std::make_unique<MockRenderProcessHost>(browser_context_.get()); mojom::WidgetPtr widget1; widget_impl1_ = - base::MakeUnique<MockWidgetImpl>(mojo::MakeRequest(&widget1)); - widget_host1_ = base::MakeUnique<RenderWidgetHostImpl>( + std::make_unique<MockWidgetImpl>(mojo::MakeRequest(&widget1)); + widget_host1_ = std::make_unique<RenderWidgetHostImpl>( &delegate_, process_host1_.get(), process_host1_->GetNextRoutingID(), std::move(widget1), false); mojom::WidgetPtr widget2; widget_impl2_ = - base::MakeUnique<MockWidgetImpl>(mojo::MakeRequest(&widget2)); - widget_host2_ = base::MakeUnique<RenderWidgetHostImpl>( + std::make_unique<MockWidgetImpl>(mojo::MakeRequest(&widget2)); + widget_host2_ = std::make_unique<RenderWidgetHostImpl>( &delegate_, process_host2_.get(), process_host2_->GetNextRoutingID(), std::move(widget2), false); - view_root_ = base::MakeUnique<MockRootRenderWidgetHostView>( + view_root_ = std::make_unique<MockRootRenderWidgetHostView>( widget_host1_.get(), frame_sink_id_map_); view_other_ = - base::MakeUnique<MockRenderWidgetHostView>(widget_host2_.get()); + std::make_unique<MockRenderWidgetHostView>(widget_host2_.get()); // Set up the RWHIER's FrameSinkId to RWHV map so that we can control the // result of RWHIER's hittesting.
diff --git a/content/browser/renderer_host/render_widget_host_unittest.cc b/content/browser/renderer_host/render_widget_host_unittest.cc index f31b50c..c824efa5 100644 --- a/content/browser/renderer_host/render_widget_host_unittest.cc +++ b/content/browser/renderer_host/render_widget_host_unittest.cc
@@ -182,7 +182,7 @@ input_router_.reset(new LegacyInputRouterImpl( process_, this, this, routing_id_, InputRouter::Config())); legacy_widget_input_handler_ = - base::MakeUnique<LegacyIPCWidgetInputHandler>( + std::make_unique<LegacyIPCWidgetInputHandler>( static_cast<LegacyInputRouterImpl*>(input_router_.get())); } } @@ -209,7 +209,7 @@ int32_t routing_id) { mojom::WidgetPtr widget; std::unique_ptr<MockWidgetImpl> widget_impl = - base::MakeUnique<MockWidgetImpl>(mojo::MakeRequest(&widget)); + std::make_unique<MockWidgetImpl>(mojo::MakeRequest(&widget)); return new MockRenderWidgetHost(delegate, process, routing_id, std::move(widget_impl), std::move(widget)); @@ -641,7 +641,7 @@ viz::mojom::CompositorFrameSinkClientRequest client_request = mojo::MakeRequest(&renderer_compositor_frame_sink_ptr_); renderer_compositor_frame_sink_ = - base::MakeUnique<FakeRendererCompositorFrameSink>( + std::make_unique<FakeRendererCompositorFrameSink>( std::move(sink), std::move(client_request)); host_->RequestCompositorFrameSink( std::move(sink_request),
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc index aa4632c..8cb720f 100644 --- a/content/browser/renderer_host/render_widget_host_view_android.cc +++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -348,11 +348,13 @@ config.enable_longpress_drag_selection = base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kEnableLongpressDragSelection); - return base::MakeUnique<ui::TouchSelectionController>(client, config); + return std::make_unique<ui::TouchSelectionController>(client, config); } gfx::RectF GetSelectionRect(const ui::TouchSelectionController& controller) { gfx::RectF rect = controller.GetRectBetweenBounds(); + if (rect.IsEmpty()) + return rect; rect.Union(controller.GetStartHandleRect()); rect.Union(controller.GetEndHandleRect()); @@ -506,7 +508,7 @@ host_->SetView(this); touch_selection_controller_client_manager_ = - base::MakeUnique<TouchSelectionControllerClientManagerAndroid>(this); + std::make_unique<TouchSelectionControllerClientManagerAndroid>(this); SetContentViewCore(content_view_core); CreateOverscrollControllerIfPossible(); @@ -2417,13 +2419,13 @@ if (!compositor) return; - overscroll_controller_ = base::MakeUnique<OverscrollControllerAndroid>( + overscroll_controller_ = std::make_unique<OverscrollControllerAndroid>( overscroll_refresh_handler, compositor, view_.GetDipScale()); } void RenderWidgetHostViewAndroid::SetOverscrollControllerForTesting( ui::OverscrollRefreshHandler* overscroll_refresh_handler) { - overscroll_controller_ = base::MakeUnique<OverscrollControllerAndroid>( + overscroll_controller_ = std::make_unique<OverscrollControllerAndroid>( overscroll_refresh_handler, view_.GetWindowAndroid()->GetCompositor(), view_.GetDipScale()); }
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc index 37b65ba..b119ec4 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -1930,12 +1930,12 @@ // Tests may set |delegated_frame_host_client_|. if (!delegated_frame_host_client_) { delegated_frame_host_client_ = - base::MakeUnique<DelegatedFrameHostClientAura>(this); + std::make_unique<DelegatedFrameHostClientAura>(this); } const bool enable_viz = base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableViz); - delegated_frame_host_ = base::MakeUnique<DelegatedFrameHost>( + delegated_frame_host_ = std::make_unique<DelegatedFrameHost>( frame_sink_id_, delegated_frame_host_client_.get(), enable_surface_synchronization_, enable_viz);
diff --git a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc index f8a0ed48..17b6658 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
@@ -413,7 +413,7 @@ std::unique_ptr<ui::CompositorLock> GetCompositorLock( ui::CompositorLockClient* client) override { resize_locked_ = compositor_locked_ = true; - return base::MakeUnique<ui::CompositorLock>(nullptr, + return std::make_unique<ui::CompositorLock>(nullptr, weak_ptr_factory_.GetWeakPtr()); } // CompositorResizeLockClient implemention. Overrides from @@ -460,7 +460,7 @@ viz::mojom::CompositorFrameSinkClientRequest client_request = mojo::MakeRequest(&renderer_compositor_frame_sink_ptr_); renderer_compositor_frame_sink_ = - base::MakeUnique<FakeRendererCompositorFrameSink>( + std::make_unique<FakeRendererCompositorFrameSink>( std::move(sink), std::move(client_request)); DidCreateNewRendererCompositorFrameSink( renderer_compositor_frame_sink_ptr_.get()); @@ -601,7 +601,7 @@ int32_t routing_id) { mojom::WidgetPtr widget; std::unique_ptr<MockWidgetImpl> widget_impl = - base::MakeUnique<MockWidgetImpl>(mojo::MakeRequest(&widget)); + std::make_unique<MockWidgetImpl>(mojo::MakeRequest(&widget)); return new MockRenderWidgetHostImpl(delegate, process, routing_id, std::move(widget_impl),
diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.cc b/content/browser/renderer_host/render_widget_host_view_child_frame.cc index 4845503..e2a083f 100644 --- a/content/browser/renderer_host/render_widget_host_view_child_frame.cc +++ b/content/browser/renderer_host/render_widget_host_view_child_frame.cc
@@ -168,7 +168,7 @@ // We have managers in Aura and Android, as well as outside of content/. // There is no manager for Mac OS. selection_controller_client_ = - base::MakeUnique<TouchSelectionControllerClientChildFrame>(this, + std::make_unique<TouchSelectionControllerClientChildFrame>(this, manager); manager->AddObserver(this); } @@ -813,7 +813,7 @@ if (!IsSurfaceAvailableForCopy()) { // Defer submitting the copy request until after a frame is drawn, at which // point we should be guaranteed that the surface is available. - RegisterFrameSwappedCallback(base::MakeUnique<base::Closure>(base::Bind( + RegisterFrameSwappedCallback(std::make_unique<base::Closure>(base::Bind( &RenderWidgetHostViewChildFrame::SubmitSurfaceCopyRequest, AsWeakPtr(), src_rect, output_size, callback, preferred_color_type))); return;
diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame_unittest.cc b/content/browser/renderer_host/render_widget_host_view_child_frame_unittest.cc index b1c69c4..ed97af4 100644 --- a/content/browser/renderer_host/render_widget_host_view_child_frame_unittest.cc +++ b/content/browser/renderer_host/render_widget_host_view_child_frame_unittest.cc
@@ -94,7 +94,7 @@ new MockRenderProcessHost(browser_context_.get()); int32_t routing_id = process_host->GetNextRoutingID(); mojom::WidgetPtr widget; - widget_impl_ = base::MakeUnique<MockWidgetImpl>(mojo::MakeRequest(&widget)); + widget_impl_ = std::make_unique<MockWidgetImpl>(mojo::MakeRequest(&widget)); widget_host_ = new RenderWidgetHostImpl( &delegate_, process_host, routing_id, std::move(widget), false); view_ = RenderWidgetHostViewChildFrame::Create(widget_host_); @@ -108,7 +108,7 @@ viz::mojom::CompositorFrameSinkClientRequest client_request = mojo::MakeRequest(&renderer_compositor_frame_sink_ptr_); renderer_compositor_frame_sink_ = - base::MakeUnique<FakeRendererCompositorFrameSink>( + std::make_unique<FakeRendererCompositorFrameSink>( std::move(sink), std::move(client_request)); view_->DidCreateNewRendererCompositorFrameSink( renderer_compositor_frame_sink_ptr_.get());
diff --git a/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm b/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm index 167a2f75..b575cb19 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm
@@ -143,7 +143,7 @@ int32_t routing_id = process_host->GetNextRoutingID(); mojom::WidgetPtr widget; std::unique_ptr<MockWidgetImpl> widget_impl = - base::MakeUnique<MockWidgetImpl>(mojo::MakeRequest(&widget)); + std::make_unique<MockWidgetImpl>(mojo::MakeRequest(&widget)); RenderWidgetHostImpl* render_widget = new RenderWidgetHostImpl( &delegate, process_host, routing_id, std::move(widget), false);
diff --git a/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm b/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm index e378cb3..9869018 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
@@ -245,7 +245,7 @@ int32_t routing_id) { mojom::WidgetPtr widget; std::unique_ptr<MockWidgetImpl> widget_impl = - base::MakeUnique<MockWidgetImpl>(mojo::MakeRequest(&widget)); + std::make_unique<MockWidgetImpl>(mojo::MakeRequest(&widget)); return new MockRenderWidgetHostImpl(delegate, process, routing_id, std::move(widget_impl),
diff --git a/content/browser/renderer_host/text_input_client_mac_unittest.mm b/content/browser/renderer_host/text_input_client_mac_unittest.mm index b742d36..3f9607c 100644 --- a/content/browser/renderer_host/text_input_client_mac_unittest.mm +++ b/content/browser/renderer_host/text_input_client_mac_unittest.mm
@@ -61,7 +61,7 @@ int32_t routing_id = rph->GetNextRoutingID(); mojom::WidgetPtr widget; mock_widget_impl_ = - base::MakeUnique<MockWidgetImpl>(mojo::MakeRequest(&widget)); + std::make_unique<MockWidgetImpl>(mojo::MakeRequest(&widget)); widget_.reset(new RenderWidgetHostImpl(&delegate_, rph, routing_id, std::move(widget), false));
diff --git a/content/browser/renderer_host/ui_events_helper.cc b/content/browser/renderer_host/ui_events_helper.cc index 9bfc3bb..5e4c6f9 100644 --- a/content/browser/renderer_host/ui_events_helper.cc +++ b/content/browser/renderer_host/ui_events_helper.cc
@@ -77,7 +77,7 @@ location = point.PositionInWidget(); else location = point.PositionInScreen(); - auto uievent = base::MakeUnique<ui::TouchEvent>( + auto uievent = std::make_unique<ui::TouchEvent>( type, gfx::Point(), timestamp, ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH, point.id, point.radius_x, point.radius_y, point.force),
diff --git a/content/browser/renderer_host/web_database_host_impl.cc b/content/browser/renderer_host/web_database_host_impl.cc index 1be7488c..a0078eef0 100644 --- a/content/browser/renderer_host/web_database_host_impl.cc +++ b/content/browser/renderer_host/web_database_host_impl.cc
@@ -72,7 +72,7 @@ content::mojom::WebDatabaseHostRequest request) { DCHECK(db_tracker->task_runner()->RunsTasksInCurrentSequence()); mojo::MakeStrongBinding( - base::MakeUnique<WebDatabaseHostImpl>(process_id, std::move(db_tracker)), + std::make_unique<WebDatabaseHostImpl>(process_id, std::move(db_tracker)), std::move(request)); }
diff --git a/content/browser/resource_context_impl.cc b/content/browser/resource_context_impl.cc index 7821d7d..895a9367 100644 --- a/content/browser/resource_context_impl.cc +++ b/content/browser/resource_context_impl.cc
@@ -51,7 +51,7 @@ DCHECK_CURRENTLY_ON(BrowserThread::IO); if (!context->GetUserData(kURLDataManagerBackendKeyName)) { context->SetUserData(kURLDataManagerBackendKeyName, - base::MakeUnique<URLDataManagerBackend>()); + std::make_unique<URLDataManagerBackend>()); } return static_cast<URLDataManagerBackend*>( context->GetUserData(kURLDataManagerBackendKeyName)); @@ -62,11 +62,11 @@ resource_context->SetUserData( kBlobStorageContextKeyName, - base::MakeUnique<UserDataAdapter<ChromeBlobStorageContext>>( + std::make_unique<UserDataAdapter<ChromeBlobStorageContext>>( ChromeBlobStorageContext::GetFor(browser_context))); resource_context->SetUserData( - kStreamContextKeyName, base::MakeUnique<UserDataAdapter<StreamContext>>( + kStreamContextKeyName, std::make_unique<UserDataAdapter<StreamContext>>( StreamContext::GetFor(browser_context))); resource_context->DetachFromSequence();
diff --git a/content/browser/security_exploit_browsertest.cc b/content/browser/security_exploit_browsertest.cc index 35af2be..fee17d1a 100644 --- a/content/browser/security_exploit_browsertest.cc +++ b/content/browser/security_exploit_browsertest.cc
@@ -300,7 +300,7 @@ mojom::WidgetPtr widget; std::unique_ptr<MockWidgetImpl> widget_impl = - base::MakeUnique<MockWidgetImpl>(mojo::MakeRequest(&widget)); + std::make_unique<MockWidgetImpl>(mojo::MakeRequest(&widget)); // Since this test executes on the UI thread and hopping threads might cause // different timing in the test, let's simulate a CreateNewWidget call coming @@ -550,7 +550,7 @@ // Create commit params with different origins in params.url and // params.origin. std::unique_ptr<FrameHostMsg_DidCommitProvisionalLoad_Params> params = - base::MakeUnique<FrameHostMsg_DidCommitProvisionalLoad_Params>(); + std::make_unique<FrameHostMsg_DidCommitProvisionalLoad_Params>(); params->nav_entry_id = 0; params->did_create_new_entry = false; params->url = url; @@ -668,7 +668,7 @@ // put a PageState on the cross-site iframe's FrameNavigationEntry. Forge a // data URL within the PageState that differs from child1_url. std::unique_ptr<FrameHostMsg_DidCommitProvisionalLoad_Params> params = - base::MakeUnique<FrameHostMsg_DidCommitProvisionalLoad_Params>(); + std::make_unique<FrameHostMsg_DidCommitProvisionalLoad_Params>(); params->nav_entry_id = nav_entry_id; params->did_create_new_entry = false; params->url = GURL("about:blank");
diff --git a/content/browser/service_manager/common_browser_interfaces.cc b/content/browser/service_manager/common_browser_interfaces.cc index 6956634..43852b5 100644 --- a/content/browser/service_manager/common_browser_interfaces.cc +++ b/content/browser/service_manager/common_browser_interfaces.cc
@@ -83,7 +83,7 @@ } // namespace void RegisterCommonBrowserInterfaces(ServiceManagerConnection* connection) { - connection->AddConnectionFilter(base::MakeUnique<ConnectionFilterImpl>()); + connection->AddConnectionFilter(std::make_unique<ConnectionFilterImpl>()); } } // namespace content
diff --git a/content/browser/service_manager/service_manager_context.cc b/content/browser/service_manager/service_manager_context.cc index 1dfd4c2..21957a3 100644 --- a/content/browser/service_manager/service_manager_context.cc +++ b/content/browser/service_manager/service_manager_context.cc
@@ -266,8 +266,8 @@ std::unique_ptr<BuiltinManifestProvider> manifest_provider, service_manager::mojom::ServicePtrInfo packaged_services_service_info) { manifest_provider_ = std::move(manifest_provider); - service_manager_ = base::MakeUnique<service_manager::ServiceManager>( - base::MakeUnique<NullServiceProcessLauncherFactory>(), nullptr, + service_manager_ = std::make_unique<service_manager::ServiceManager>( + std::make_unique<NullServiceProcessLauncherFactory>(), nullptr, manifest_provider_.get()); service_manager::mojom::ServicePtr packaged_services_service; @@ -317,7 +317,7 @@ service_manager::GetServiceRequestFromCommandLine(invitation.get()); } else { std::unique_ptr<BuiltinManifestProvider> manifest_provider = - base::MakeUnique<BuiltinManifestProvider>(); + std::make_unique<BuiltinManifestProvider>(); static const struct ManifestInfo { const char* name;
diff --git a/content/browser/service_worker/embedded_worker_instance.cc b/content/browser/service_worker/embedded_worker_instance.cc index 6a1a454..ad571a7 100644 --- a/content/browser/service_worker/embedded_worker_instance.cc +++ b/content/browser/service_worker/embedded_worker_instance.cc
@@ -93,7 +93,7 @@ SetupProcessCallback callback) { DCHECK_CURRENTLY_ON(BrowserThread::UI); auto process_info = - base::MakeUnique<ServiceWorkerProcessManager::AllocatedProcessInfo>(); + std::make_unique<ServiceWorkerProcessManager::AllocatedProcessInfo>(); std::unique_ptr<EmbeddedWorkerInstance::DevToolsProxy> devtools_proxy; if (!process_manager) { BrowserThread::PostTask( @@ -141,7 +141,7 @@ params->worker_devtools_agent_route_id = routing_id; // Create DevToolsProxy here to ensure that the WorkerCreated() call is // balanced by DevToolsProxy's destructor calling WorkerDestroyed(). - devtools_proxy = base::MakeUnique<EmbeddedWorkerInstance::DevToolsProxy>( + devtools_proxy = std::make_unique<EmbeddedWorkerInstance::DevToolsProxy>( process_id, routing_id); // Set EmbeddedWorkerSettings for content settings only readable from the UI @@ -416,7 +416,7 @@ // Notify the instance that a process is allocated. state_ = ProcessAllocationState::ALLOCATED; instance_->OnProcessAllocated( - base::MakeUnique<WorkerProcessHandle>(instance_->context_, + std::make_unique<WorkerProcessHandle>(instance_->context_, instance_->embedded_worker_id(), process_info->process_id), start_situation); @@ -651,7 +651,7 @@ instance_host_binding_.Bind(mojo::MakeRequest(&host_ptr_info)); blink::mojom::WorkerContentSettingsProxyPtr content_settings_proxy_ptr_info; - content_settings_ = base::MakeUnique<ServiceWorkerContentSettingsProxyImpl>( + content_settings_ = std::make_unique<ServiceWorkerContentSettingsProxyImpl>( params->script_url, context_, mojo::MakeRequest(&content_settings_proxy_ptr_info));
diff --git a/content/browser/service_worker/embedded_worker_instance_unittest.cc b/content/browser/service_worker/embedded_worker_instance_unittest.cc index 090e30c..c374d3a 100644 --- a/content/browser/service_worker/embedded_worker_instance_unittest.cc +++ b/content/browser/service_worker/embedded_worker_instance_unittest.cc
@@ -174,7 +174,7 @@ std::unique_ptr<EmbeddedWorkerStartParams> CreateStartParams(int version_id, const GURL& scope, const GURL& script_url) { std::unique_ptr<EmbeddedWorkerStartParams> params = - base::MakeUnique<EmbeddedWorkerStartParams>(); + std::make_unique<EmbeddedWorkerStartParams>(); params->service_worker_version_id = version_id; params->scope = scope; params->script_url = script_url; @@ -186,7 +186,7 @@ mojom::ServiceWorkerProviderInfoForStartWorkerPtr CreateProviderInfo( int /* process_id */) { provider_host_endpoints_.emplace_back( - base::MakeUnique<ProviderHostEndpoints>()); + std::make_unique<ProviderHostEndpoints>()); return provider_host_endpoints_.back()->CreateProviderInfoPtr(); } @@ -692,7 +692,7 @@ bool was_resume_after_download_called = false; helper_->RegisterMockInstanceClient( - base::MakeUnique<DontReceiveResumeAfterDownloadInstanceClient>( + std::make_unique<DontReceiveResumeAfterDownloadInstanceClient>( helper_->AsWeakPtr(), &was_resume_after_download_called)); std::unique_ptr<EmbeddedWorkerInstance> worker = @@ -882,7 +882,7 @@ // Let StartWorker fail; binding is discarded in the middle of IPC helper_->RegisterMockInstanceClient( - base::MakeUnique<FailEmbeddedWorkerInstanceClientImpl>( + std::make_unique<FailEmbeddedWorkerInstanceClientImpl>( helper_->AsWeakPtr())); ASSERT_EQ(mock_instance_clients()->size(), 1UL); @@ -936,7 +936,7 @@ const GURL pattern("http://example.com/"); const GURL url("http://example.com/worker.js"); std::unique_ptr<StoreMessageInstanceClient> instance_client = - base::MakeUnique<StoreMessageInstanceClient>(helper_->AsWeakPtr()); + std::make_unique<StoreMessageInstanceClient>(helper_->AsWeakPtr()); StoreMessageInstanceClient* instance_client_rawptr = instance_client.get(); helper_->RegisterMockInstanceClient(std::move(instance_client)); ASSERT_EQ(mock_instance_clients()->size(), 1UL); @@ -987,7 +987,7 @@ std::unique_ptr<EmbeddedWorkerInstance> worker = embedded_worker_registry()->CreateWorker(); SetWorkerStatus(worker.get(), EmbeddedWorkerStatus::STARTING); - auto params = base::MakeUnique<EmbeddedWorkerStartParams>(); + auto params = std::make_unique<EmbeddedWorkerStartParams>(); ServiceWorkerStatusCode result = SimulateSendStartWorker(worker.get(), std::move(params)); EXPECT_EQ(SERVICE_WORKER_ERROR_IPC_FAILED, result);
diff --git a/content/browser/service_worker/embedded_worker_test_helper.cc b/content/browser/service_worker/embedded_worker_test_helper.cc index 969595d2..5ecc446a 100644 --- a/content/browser/service_worker/embedded_worker_test_helper.cc +++ b/content/browser/service_worker/embedded_worker_test_helper.cc
@@ -136,7 +136,7 @@ ASSERT_GE(clients->size(), next_client_index); if (clients->size() == next_client_index) { clients->push_back( - base::MakeUnique<MockEmbeddedWorkerInstanceClient>(helper)); + std::make_unique<MockEmbeddedWorkerInstanceClient>(helper)); } std::unique_ptr<MockEmbeddedWorkerInstanceClient>& client = @@ -153,7 +153,7 @@ int thread_id, mojom::ServiceWorkerEventDispatcherRequest request) { mojo::MakeStrongBinding( - base::MakeUnique<MockServiceWorkerEventDispatcher>(helper, thread_id), + std::make_unique<MockServiceWorkerEventDispatcher>(helper, thread_id), std::move(request)); } @@ -377,11 +377,11 @@ EmbeddedWorkerTestHelper::EmbeddedWorkerTestHelper( const base::FilePath& user_data_directory, scoped_refptr<URLLoaderFactoryGetter> url_loader_factory_getter) - : browser_context_(base::MakeUnique<TestBrowserContext>()), + : browser_context_(std::make_unique<TestBrowserContext>()), render_process_host_( - base::MakeUnique<MockRenderProcessHost>(browser_context_.get())), + std::make_unique<MockRenderProcessHost>(browser_context_.get())), new_render_process_host_( - base::MakeUnique<MockRenderProcessHost>(browser_context_.get())), + std::make_unique<MockRenderProcessHost>(browser_context_.get())), wrapper_(base::MakeRefCounted<ServiceWorkerContextWrapper>( browser_context_.get())), mock_instance_clients_next_index_(0), @@ -408,17 +408,17 @@ // Install a mocked mojom::Renderer interface to catch requests to // establish Mojo connection for EWInstanceClient. mock_renderer_interface_ = - base::MakeUnique<MockRendererInterface>(AsWeakPtr()); + std::make_unique<MockRendererInterface>(AsWeakPtr()); auto renderer_interface_ptr = - base::MakeUnique<mojom::RendererAssociatedPtr>(); + std::make_unique<mojom::RendererAssociatedPtr>(); mock_renderer_interface_->AddBinding( mojo::MakeIsolatedRequest(renderer_interface_ptr.get())); render_process_host_->OverrideRendererInterfaceForTesting( std::move(renderer_interface_ptr)); auto new_renderer_interface_ptr = - base::MakeUnique<mojom::RendererAssociatedPtr>(); + std::make_unique<mojom::RendererAssociatedPtr>(); mock_renderer_interface_->AddBinding( mojo::MakeIsolatedRequest(new_renderer_interface_ptr.get())); new_render_process_host_->OverrideRendererInterfaceForTesting( @@ -622,13 +622,13 @@ finish_callback) { response_callback->OnResponse( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 200, "OK", + std::make_unique<std::vector<GURL>>(), 200, "OK", network::mojom::FetchResponseType::kDefault, - base::MakeUnique<ServiceWorkerHeaderMap>(), std::string(), 0, + std::make_unique<ServiceWorkerHeaderMap>(), std::string(), 0, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* is_in_cache_storage */, std::string() /* cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), base::Time::Now()); std::move(finish_callback)
diff --git a/content/browser/service_worker/embedded_worker_test_helper.h b/content/browser/service_worker/embedded_worker_test_helper.h index 990eac3..aa0e603 100644 --- a/content/browser/service_worker/embedded_worker_test_helper.h +++ b/content/browser/service_worker/embedded_worker_test_helper.h
@@ -417,7 +417,7 @@ MockType* EmbeddedWorkerTestHelper::CreateAndRegisterMockInstanceClient( Args&&... args) { std::unique_ptr<MockType> mock = - base::MakeUnique<MockType>(std::forward<Args>(args)...); + std::make_unique<MockType>(std::forward<Args>(args)...); MockType* mock_rawptr = mock.get(); RegisterMockInstanceClient(std::move(mock)); return mock_rawptr;
diff --git a/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc b/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc index 3423d01..c8de6a4 100644 --- a/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc +++ b/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc
@@ -86,7 +86,7 @@ // Fix the time for testing to kNowTimestamp std::unique_ptr<base::SimpleTestClock> clock = - base::MakeUnique<base::SimpleTestClock>(); + std::make_unique<base::SimpleTestClock>(); clock->SetNow(base::Time::FromDoubleT(kNowTimestamp)); version_->SetClockForTesting(std::move(clock)); @@ -139,7 +139,7 @@ static std::unique_ptr<net::HttpResponseInfo> CreateTestHttpResponseInfo() { std::unique_ptr<net::HttpResponseInfo> http_info( - base::MakeUnique<net::HttpResponseInfo>()); + std::make_unique<net::HttpResponseInfo>()); http_info->ssl_info.cert = net::ImportCertFromFile(net::GetTestCertsDirectory(), "ok_cert.pem"); DCHECK(http_info->ssl_info.is_valid());
diff --git a/content/browser/service_worker/link_header_support.cc b/content/browser/service_worker/link_header_support.cc index aebedfb..a505f5c 100644 --- a/content/browser/service_worker/link_header_support.cc +++ b/content/browser/service_worker/link_header_support.cc
@@ -143,8 +143,8 @@ if (rel_param == params.end() || !rel_param->second) return; - const auto validator = base::MakeUnique<blink::TrialTokenValidator>( - base::MakeUnique<TrialPolicyImpl>()); + const auto validator = std::make_unique<blink::TrialTokenValidator>( + std::make_unique<TrialPolicyImpl>()); for (const auto& rel : base::SplitStringPiece(rel_param->second.value(), HTTP_LWS, base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY)) {
diff --git a/content/browser/service_worker/service_worker_browsertest.cc b/content/browser/service_worker/service_worker_browsertest.cc index f33b101..d3b99114 100644 --- a/content/browser/service_worker/service_worker_browsertest.cc +++ b/content/browser/service_worker/service_worker_browsertest.cc
@@ -242,7 +242,7 @@ VerifySaveDataHeaderNotInRequest(const net::test_server::HttpRequest& request) { auto it = request.headers.find("Save-Data"); EXPECT_EQ(request.headers.end(), it); - return base::MakeUnique<net::test_server::BasicHttpResponse>(); + return std::make_unique<net::test_server::BasicHttpResponse>(); } std::unique_ptr<net::test_server::HttpResponse> @@ -1690,7 +1690,7 @@ if (request.relative_url.substr(0, query_position) != relative_url) return std::unique_ptr<net::test_server::HttpResponse>(); std::unique_ptr<net::test_server::BasicHttpResponse> http_response( - base::MakeUnique<net::test_server::BasicHttpResponse>()); + std::make_unique<net::test_server::BasicHttpResponse>()); http_response->set_code(net::HTTP_OK); http_response->set_content(content); http_response->set_content_type(content_type); @@ -1704,7 +1704,7 @@ const size_t query_position = request.relative_url.find('?'); if (request.relative_url.substr(0, query_position) != relative_url) return std::unique_ptr<net::test_server::HttpResponse>(); - return base::MakeUnique<CustomResponse>(response); + return std::make_unique<CustomResponse>(response); } std::unique_ptr<net::test_server::HttpResponse> KeepSearchRedirectHandler(
diff --git a/content/browser/service_worker/service_worker_client_utils.cc b/content/browser/service_worker/service_worker_client_utils.cc index ab849450..27e0bd2 100644 --- a/content/browser/service_worker/service_worker_client_utils.cc +++ b/content/browser/service_worker/service_worker_client_utils.cc
@@ -531,7 +531,7 @@ const ClientsCallback& callback) { DCHECK_CURRENTLY_ON(BrowserThread::IO); - auto clients = base::MakeUnique<ServiceWorkerClients>(); + auto clients = std::make_unique<ServiceWorkerClients>(); if (!controller->HasControllee() && !options.include_uncontrolled) { DidGetClients(callback, std::move(clients)); return;
diff --git a/content/browser/service_worker/service_worker_context_core.cc b/content/browser/service_worker/service_worker_context_core.cc index 738513a..562af31 100644 --- a/content/browser/service_worker/service_worker_context_core.cc +++ b/content/browser/service_worker/service_worker_context_core.cc
@@ -244,8 +244,8 @@ observer_list, ServiceWorkerContextWrapper* wrapper) : wrapper_(wrapper), - providers_(base::MakeUnique<ProcessToProviderMap>()), - provider_by_uuid_(base::MakeUnique<ProviderByClientUUIDMap>()), + providers_(std::make_unique<ProcessToProviderMap>()), + provider_by_uuid_(std::make_unique<ProviderByClientUUIDMap>()), loader_factory_getter_(url_loader_factory_getter), force_update_on_page_load_(false), next_handle_id_(0), @@ -329,7 +329,7 @@ int provider_id = host->provider_id(); ProviderMap* map = GetProviderMapForProcess(process_id); if (!map) { - providers_->AddWithID(base::MakeUnique<ProviderMap>(), process_id); + providers_->AddWithID(std::make_unique<ProviderMap>(), process_id); map = GetProviderMapForProcess(process_id); } map->AddWithID(std::move(host), provider_id);
diff --git a/content/browser/service_worker/service_worker_context_request_handler_unittest.cc b/content/browser/service_worker/service_worker_context_request_handler_unittest.cc index ca94fec..01a8615 100644 --- a/content/browser/service_worker/service_worker_context_request_handler_unittest.cc +++ b/content/browser/service_worker/service_worker_context_request_handler_unittest.cc
@@ -109,7 +109,7 @@ // Creates a ServiceWorkerContextHandler directly. std::unique_ptr<ServiceWorkerContextRequestHandler> CreateHandler( ResourceType resource_type) { - return base::MakeUnique<ServiceWorkerContextRequestHandler>( + return std::make_unique<ServiceWorkerContextRequestHandler>( context()->AsWeakPtr(), provider_host_, base::WeakPtr<storage::BlobStorageContext>(), resource_type); }
diff --git a/content/browser/service_worker/service_worker_context_watcher.cc b/content/browser/service_worker/service_worker_context_watcher.cc index fb18ad99..430bff3 100644 --- a/content/browser/service_worker/service_worker_context_watcher.cc +++ b/content/browser/service_worker/service_worker_context_watcher.cc
@@ -83,13 +83,13 @@ StoreVersionInfo(version); std::unique_ptr<std::vector<ServiceWorkerRegistrationInfo>> registrations = - base::MakeUnique<std::vector<ServiceWorkerRegistrationInfo>>(); + std::make_unique<std::vector<ServiceWorkerRegistrationInfo>>(); registrations->reserve(registration_info_map.size()); for (const auto& registration_id_info_pair : registration_info_map) registrations->push_back(*registration_id_info_pair.second); std::unique_ptr<std::vector<ServiceWorkerVersionInfo>> versions = - base::MakeUnique<std::vector<ServiceWorkerVersionInfo>>(); + std::make_unique<std::vector<ServiceWorkerVersionInfo>>(); versions->reserve(version_info_map_.size()); for (auto version_it = version_info_map_.begin(); @@ -131,7 +131,7 @@ blink::mojom::kInvalidServiceWorkerRegistrationId) return; (*info_map)[registration_info.registration_id] = - base::MakeUnique<ServiceWorkerRegistrationInfo>(registration_info); + std::make_unique<ServiceWorkerRegistrationInfo>(registration_info); StoreVersionInfo(registration_info.active_version); StoreVersionInfo(registration_info.waiting_version); StoreVersionInfo(registration_info.installing_version); @@ -143,7 +143,7 @@ if (version_info.version_id == blink::mojom::kInvalidServiceWorkerVersionId) return; version_info_map_[version_info.version_id] = - base::MakeUnique<ServiceWorkerVersionInfo>(version_info); + std::make_unique<ServiceWorkerVersionInfo>(version_info); } void ServiceWorkerContextWatcher::SendRegistrationInfo( @@ -152,7 +152,7 @@ ServiceWorkerRegistrationInfo::DeleteFlag delete_flag) { DCHECK_CURRENTLY_ON(BrowserThread::IO); std::unique_ptr<std::vector<ServiceWorkerRegistrationInfo>> registrations = - base::MakeUnique<std::vector<ServiceWorkerRegistrationInfo>>(); + std::make_unique<std::vector<ServiceWorkerRegistrationInfo>>(); ServiceWorkerRegistration* registration = context_->GetLiveRegistration(registration_id); if (registration) { @@ -172,7 +172,7 @@ const ServiceWorkerVersionInfo& version_info) { DCHECK_CURRENTLY_ON(BrowserThread::IO); std::unique_ptr<std::vector<ServiceWorkerVersionInfo>> versions = - base::MakeUnique<std::vector<ServiceWorkerVersionInfo>>(); + std::make_unique<std::vector<ServiceWorkerVersionInfo>>(); versions->push_back(version_info); BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, @@ -226,7 +226,7 @@ } std::unique_ptr<ServiceWorkerVersionInfo> version = - base::MakeUnique<ServiceWorkerVersionInfo>(version_info); + std::make_unique<ServiceWorkerVersionInfo>(version_info); SendVersionInfo(*version); if (!IsStoppedAndRedundant(*version)) version_info_map_[version_id] = std::move(version); @@ -311,7 +311,7 @@ BrowserThread::UI, FROM_HERE, base::BindOnce( &ServiceWorkerContextWatcher::RunWorkerErrorReportedCallback, this, - registration_id, version_id, base::MakeUnique<ErrorInfo>(info))); + registration_id, version_id, std::make_unique<ErrorInfo>(info))); } void ServiceWorkerContextWatcher::OnReportConsoleMessage( @@ -332,7 +332,7 @@ base::BindOnce( &ServiceWorkerContextWatcher::RunWorkerErrorReportedCallback, this, registration_id, version_id, - base::MakeUnique<ErrorInfo>(message.message, message.line_number, -1, + std::make_unique<ErrorInfo>(message.message, message.line_number, -1, message.source_url))); }
diff --git a/content/browser/service_worker/service_worker_controllee_request_handler.cc b/content/browser/service_worker/service_worker_controllee_request_handler.cc index 2254f706..abc9db26 100644 --- a/content/browser/service_worker/service_worker_controllee_request_handler.cc +++ b/content/browser/service_worker/service_worker_controllee_request_handler.cc
@@ -166,7 +166,7 @@ credentials_mode_, redirect_mode_, integrity_, resource_type_, request_context_type_, frame_type_, body_, ServiceWorkerFetchType::FETCH, base::nullopt, this)); - url_job_ = base::MakeUnique<ServiceWorkerURLJobWrapper>(job->GetWeakPtr()); + url_job_ = std::make_unique<ServiceWorkerURLJobWrapper>(job->GetWeakPtr()); resource_context_ = resource_context; @@ -219,8 +219,8 @@ } #endif // BUILDFLAG(ENABLE_OFFLINE_PAGES) - url_job_ = base::MakeUnique<ServiceWorkerURLJobWrapper>( - base::MakeUnique<ServiceWorkerURLLoaderJob>( + url_job_ = std::make_unique<ServiceWorkerURLJobWrapper>( + std::make_unique<ServiceWorkerURLLoaderJob>( std::move(callback), this, resource_request, base::WrapRefCounted(context_->loader_factory_getter()), blob_storage_context_));
diff --git a/content/browser/service_worker/service_worker_data_pipe_reader_unittest.cc b/content/browser/service_worker/service_worker_data_pipe_reader_unittest.cc index dc85bc31..910cc8c 100644 --- a/content/browser/service_worker/service_worker_data_pipe_reader_unittest.cc +++ b/content/browser/service_worker/service_worker_data_pipe_reader_unittest.cc
@@ -77,9 +77,9 @@ : thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP) {} void SetUp() override { - helper_ = base::MakeUnique<EmbeddedWorkerTestHelper>(base::FilePath()); + helper_ = std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath()); mock_url_request_job_ = - base::MakeUnique<MockServiceWorkerURLRequestJob>(this); + std::make_unique<MockServiceWorkerURLRequestJob>(this); blink::mojom::ServiceWorkerRegistrationOptions options( GURL("https://example.com/")); registration_ = new ServiceWorkerRegistration( @@ -102,7 +102,7 @@ blink::mojom::ServiceWorkerStreamHandle::New(); stream_handle->stream = std::move(data_pipe->consumer_handle); stream_handle->callback_request = mojo::MakeRequest(stream_callback); - return base::MakeUnique<ServiceWorkerDataPipeReader>( + return std::make_unique<ServiceWorkerDataPipeReader>( mock_url_request_job_.get(), version_, std::move(stream_handle)); }
diff --git a/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc b/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc index 6ee6561..a606f4c7 100644 --- a/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc +++ b/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
@@ -81,7 +81,7 @@ BrowserThread::UI, FROM_HERE, base::Bind( [](ServiceWorkerContextWrapper* wrapper) { - return base::MakeUnique<ServiceWorkerNavigationHandleCore>(nullptr, + return std::make_unique<ServiceWorkerNavigationHandleCore>(nullptr, wrapper); }, base::RetainedRef(context_wrapper)), @@ -150,7 +150,7 @@ : browser_thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP) {} void SetUp() override { - Initialize(base::MakeUnique<EmbeddedWorkerTestHelper>(base::FilePath())); + Initialize(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath())); } void TearDown() override {
diff --git a/content/browser/service_worker/service_worker_fetch_dispatcher.cc b/content/browser/service_worker/service_worker_fetch_dispatcher.cc index 3811540..ba006ed 100644 --- a/content/browser/service_worker/service_worker_fetch_dispatcher.cc +++ b/content/browser/service_worker/service_worker_fetch_dispatcher.cc
@@ -561,7 +561,7 @@ prepare_callback.Run(); mojom::ServiceWorkerFetchResponseCallbackPtr mojo_response_callback_ptr; - auto response_callback = base::MakeUnique<ResponseCallback>( + auto response_callback = std::make_unique<ResponseCallback>( mojo::MakeRequest(&mojo_response_callback_ptr), weak_factory_.GetWeakPtr(), version_.get()); ResponseCallback* response_callback_rawptr = response_callback.get(); @@ -728,7 +728,7 @@ mojom::URLLoaderClientPtr url_loader_client_ptr; preload_handle_->url_loader_client_request = mojo::MakeRequest(&url_loader_client_ptr); - auto url_loader_client = base::MakeUnique<DelegatingURLLoaderClient>( + auto url_loader_client = std::make_unique<DelegatingURLLoaderClient>( std::move(url_loader_client_ptr), std::move(on_response), request); mojom::URLLoaderClientPtr url_loader_client_ptr_to_pass; url_loader_client->Bind(&url_loader_client_ptr_to_pass); @@ -789,7 +789,7 @@ mojom::URLLoaderClientPtr url_loader_client_ptr; preload_handle_->url_loader_client_request = mojo::MakeRequest(&url_loader_client_ptr); - auto url_loader_client = base::MakeUnique<DelegatingURLLoaderClient>( + auto url_loader_client = std::make_unique<DelegatingURLLoaderClient>( std::move(url_loader_client_ptr), std::move(on_response), resource_request);
diff --git a/content/browser/service_worker/service_worker_installed_scripts_sender.cc b/content/browser/service_worker/service_worker_installed_scripts_sender.cc index 2d7ef81..9594dac 100644 --- a/content/browser/service_worker/service_worker_installed_scripts_sender.cc +++ b/content/browser/service_worker/service_worker_installed_scripts_sender.cc
@@ -133,7 +133,7 @@ CompleteSendIfNeeded(FinishedReason::kCreateDataPipeError); return; } - meta_data_sender_ = base::MakeUnique<MetaDataSender>( + meta_data_sender_ = std::make_unique<MetaDataSender>( http_info->http_info->metadata, std::move(meta_data_producer)); meta_data_sender_->Start( base::BindOnce(&Sender::OnMetaDataSent, AsWeakPtr())); @@ -339,7 +339,7 @@ auto reader = owner_->context()->storage()->CreateResponseReader(resource_id); TRACE_EVENT_NESTABLE_ASYNC_BEGIN1("ServiceWorker", "SendingScript", this, "script_url", current_sending_url_.spec()); - running_sender_ = base::MakeUnique<Sender>(std::move(reader), this); + running_sender_ = std::make_unique<Sender>(std::move(reader), this); running_sender_->Start(); }
diff --git a/content/browser/service_worker/service_worker_installed_scripts_sender_unittest.cc b/content/browser/service_worker/service_worker_installed_scripts_sender_unittest.cc index 6576d5b..8342093f 100644 --- a/content/browser/service_worker/service_worker_installed_scripts_sender_unittest.cc +++ b/content/browser/service_worker/service_worker_installed_scripts_sender_unittest.cc
@@ -169,7 +169,7 @@ protected: void SetUp() override { - helper_ = base::MakeUnique<EmbeddedWorkerTestHelper>(base::FilePath()); + helper_ = std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath()); context()->storage()->LazyInitializeForTest( base::BindOnce(&base::DoNothing)); @@ -253,7 +253,7 @@ } auto sender = - base::MakeUnique<ServiceWorkerInstalledScriptsSender>(version()); + std::make_unique<ServiceWorkerInstalledScriptsSender>(version()); std::unique_ptr<MockServiceWorkerInstalledScriptsManager> renderer_manager; { @@ -266,7 +266,7 @@ EXPECT_TRUE(base::ContainsKey(kExpectedScriptInfoMap, url)); EXPECT_TRUE(scripts_info->manager_request.is_pending()); renderer_manager = - base::MakeUnique<MockServiceWorkerInstalledScriptsManager>( + std::make_unique<MockServiceWorkerInstalledScriptsManager>( std::move(scripts_info->manager_request)); } ASSERT_TRUE(renderer_manager); @@ -310,7 +310,7 @@ } auto sender = - base::MakeUnique<ServiceWorkerInstalledScriptsSender>(version()); + std::make_unique<ServiceWorkerInstalledScriptsSender>(version()); std::unique_ptr<MockServiceWorkerInstalledScriptsManager> renderer_manager; { @@ -323,7 +323,7 @@ EXPECT_TRUE(base::ContainsKey(kExpectedScriptInfoMap, url)); EXPECT_TRUE(scripts_info->manager_request.is_pending()); renderer_manager = - base::MakeUnique<MockServiceWorkerInstalledScriptsManager>( + std::make_unique<MockServiceWorkerInstalledScriptsManager>( std::move(scripts_info->manager_request)); } ASSERT_TRUE(renderer_manager); @@ -370,7 +370,7 @@ } auto sender = - base::MakeUnique<ServiceWorkerInstalledScriptsSender>(version()); + std::make_unique<ServiceWorkerInstalledScriptsSender>(version()); std::unique_ptr<MockServiceWorkerInstalledScriptsManager> renderer_manager; { @@ -383,7 +383,7 @@ EXPECT_TRUE(base::ContainsKey(kExpectedScriptInfoMap, url)); EXPECT_TRUE(scripts_info->manager_request.is_pending()); renderer_manager = - base::MakeUnique<MockServiceWorkerInstalledScriptsManager>( + std::make_unique<MockServiceWorkerInstalledScriptsManager>( std::move(scripts_info->manager_request)); } ASSERT_TRUE(renderer_manager); @@ -441,7 +441,7 @@ } auto sender = - base::MakeUnique<ServiceWorkerInstalledScriptsSender>(version()); + std::make_unique<ServiceWorkerInstalledScriptsSender>(version()); std::unique_ptr<MockServiceWorkerInstalledScriptsManager> renderer_manager; { @@ -454,7 +454,7 @@ EXPECT_TRUE(base::ContainsKey(kExpectedScriptInfoMap, url)); EXPECT_TRUE(scripts_info->manager_request.is_pending()); renderer_manager = - base::MakeUnique<MockServiceWorkerInstalledScriptsManager>( + std::make_unique<MockServiceWorkerInstalledScriptsManager>( std::move(scripts_info->manager_request)); } ASSERT_TRUE(renderer_manager); @@ -522,7 +522,7 @@ } auto sender = - base::MakeUnique<ServiceWorkerInstalledScriptsSender>(version()); + std::make_unique<ServiceWorkerInstalledScriptsSender>(version()); std::unique_ptr<MockServiceWorkerInstalledScriptsManager> renderer_manager; mojom::ServiceWorkerInstalledScriptsManagerHostPtr manager_host_ptr; @@ -536,7 +536,7 @@ EXPECT_TRUE(base::ContainsKey(kExpectedScriptInfoMap, url)); EXPECT_TRUE(scripts_info->manager_request.is_pending()); renderer_manager = - base::MakeUnique<MockServiceWorkerInstalledScriptsManager>( + std::make_unique<MockServiceWorkerInstalledScriptsManager>( std::move(scripts_info->manager_request)); manager_host_ptr = std::move(scripts_info->manager_host_ptr); } @@ -609,7 +609,7 @@ } auto sender = - base::MakeUnique<ServiceWorkerInstalledScriptsSender>(version()); + std::make_unique<ServiceWorkerInstalledScriptsSender>(version()); std::unique_ptr<MockServiceWorkerInstalledScriptsManager> renderer_manager; mojom::ServiceWorkerInstalledScriptsManagerHostPtr manager_host_ptr; @@ -623,7 +623,7 @@ EXPECT_TRUE(base::ContainsKey(kExpectedScriptInfoMap, url)); EXPECT_TRUE(scripts_info->manager_request.is_pending()); renderer_manager = - base::MakeUnique<MockServiceWorkerInstalledScriptsManager>( + std::make_unique<MockServiceWorkerInstalledScriptsManager>( std::move(scripts_info->manager_request)); manager_host_ptr = std::move(scripts_info->manager_host_ptr); }
diff --git a/content/browser/service_worker/service_worker_internals_ui.cc b/content/browser/service_worker/service_worker_internals_ui.cc index 27315b1..e799954 100644 --- a/content/browser/service_worker/service_worker_internals_ui.cc +++ b/content/browser/service_worker/service_worker_internals_ui.cc
@@ -155,27 +155,27 @@ std::unique_ptr<ListValue> GetRegistrationListValue( const std::vector<ServiceWorkerRegistrationInfo>& registrations) { - auto result = base::MakeUnique<ListValue>(); + auto result = std::make_unique<ListValue>(); for (std::vector<ServiceWorkerRegistrationInfo>::const_iterator it = registrations.begin(); it != registrations.end(); ++it) { const ServiceWorkerRegistrationInfo& registration = *it; - auto registration_info = base::MakeUnique<DictionaryValue>(); + auto registration_info = std::make_unique<DictionaryValue>(); registration_info->SetString("scope", registration.pattern.spec()); registration_info->SetString( "registration_id", base::Int64ToString(registration.registration_id)); if (registration.active_version.version_id != blink::mojom::kInvalidServiceWorkerVersionId) { - auto active_info = base::MakeUnique<DictionaryValue>(); + auto active_info = std::make_unique<DictionaryValue>(); UpdateVersionInfo(registration.active_version, active_info.get()); registration_info->Set("active", std::move(active_info)); } if (registration.waiting_version.version_id != blink::mojom::kInvalidServiceWorkerVersionId) { - auto waiting_info = base::MakeUnique<DictionaryValue>(); + auto waiting_info = std::make_unique<DictionaryValue>(); UpdateVersionInfo(registration.waiting_version, waiting_info.get()); registration_info->Set("waiting", std::move(waiting_info)); } @@ -187,12 +187,12 @@ std::unique_ptr<ListValue> GetVersionListValue( const std::vector<ServiceWorkerVersionInfo>& versions) { - auto result = base::MakeUnique<ListValue>(); + auto result = std::make_unique<ListValue>(); for (std::vector<ServiceWorkerVersionInfo>::const_iterator it = versions.begin(); it != versions.end(); ++it) { - auto info = base::MakeUnique<DictionaryValue>(); + auto info = std::make_unique<DictionaryValue>(); UpdateVersionInfo(*it, info.get()); result->Append(std::move(info)); } @@ -234,8 +234,8 @@ args.push_back(GetRegistrationListValue(live_registrations)); args.push_back(GetVersionListValue(live_versions)); args.push_back(GetRegistrationListValue(stored_registrations)); - args.push_back(base::MakeUnique<Value>(partition_id)); - args.push_back(base::MakeUnique<Value>(context_path.value())); + args.push_back(std::make_unique<Value>(partition_id)); + args.push_back(std::make_unique<Value>(context_path.value())); internals->web_ui()->CallJavascriptFunctionUnsafe( "serviceworker.onPartitionData", ConvertToRawPtrVector(args)); } @@ -269,11 +269,11 @@ const ErrorInfo& info) override { DCHECK_CURRENTLY_ON(BrowserThread::UI); std::vector<std::unique_ptr<const Value>> args; - args.push_back(base::MakeUnique<Value>(partition_id_)); - args.push_back(base::MakeUnique<Value>(base::Int64ToString(version_id))); - args.push_back(base::MakeUnique<Value>(process_id)); - args.push_back(base::MakeUnique<Value>(thread_id)); - auto value = base::MakeUnique<DictionaryValue>(); + args.push_back(std::make_unique<Value>(partition_id_)); + args.push_back(std::make_unique<Value>(base::Int64ToString(version_id))); + args.push_back(std::make_unique<Value>(process_id)); + args.push_back(std::make_unique<Value>(thread_id)); + auto value = std::make_unique<DictionaryValue>(); value->SetString("message", info.error_message); value->SetInteger("lineNumber", info.line_number); value->SetInteger("columnNumber", info.column_number); @@ -288,11 +288,11 @@ const ConsoleMessage& message) override { DCHECK_CURRENTLY_ON(BrowserThread::UI); std::vector<std::unique_ptr<const Value>> args; - args.push_back(base::MakeUnique<Value>(partition_id_)); - args.push_back(base::MakeUnique<Value>(base::Int64ToString(version_id))); - args.push_back(base::MakeUnique<Value>(process_id)); - args.push_back(base::MakeUnique<Value>(thread_id)); - auto value = base::MakeUnique<DictionaryValue>(); + args.push_back(std::make_unique<Value>(partition_id_)); + args.push_back(std::make_unique<Value>(base::Int64ToString(version_id))); + args.push_back(std::make_unique<Value>(process_id)); + args.push_back(std::make_unique<Value>(thread_id)); + auto value = std::make_unique<DictionaryValue>(); value->SetInteger("sourceIdentifier", message.source_identifier); value->SetInteger("message_level", message.message_level); value->SetString("message", message.message); @@ -419,7 +419,7 @@ } else { partition_id = next_partition_id_++; auto new_observer = - base::MakeUnique<PartitionObserver>(partition_id, web_ui()); + std::make_unique<PartitionObserver>(partition_id, web_ui()); context->AddObserver(new_observer.get()); observers_[reinterpret_cast<uintptr_t>(partition)] = std::move(new_observer);
diff --git a/content/browser/service_worker/service_worker_lifetime_tracker.cc b/content/browser/service_worker/service_worker_lifetime_tracker.cc index 4691bddf..f10fe80 100644 --- a/content/browser/service_worker/service_worker_lifetime_tracker.cc +++ b/content/browser/service_worker/service_worker_lifetime_tracker.cc
@@ -12,7 +12,7 @@ namespace content { ServiceWorkerLifetimeTracker::ServiceWorkerLifetimeTracker() - : ServiceWorkerLifetimeTracker(base::MakeUnique<base::DefaultTickClock>()) { + : ServiceWorkerLifetimeTracker(std::make_unique<base::DefaultTickClock>()) { } ServiceWorkerLifetimeTracker::ServiceWorkerLifetimeTracker(
diff --git a/content/browser/service_worker/service_worker_process_manager_unittest.cc b/content/browser/service_worker/service_worker_process_manager_unittest.cc index 01dca660..52c6326 100644 --- a/content/browser/service_worker/service_worker_process_manager_unittest.cc +++ b/content/browser/service_worker/service_worker_process_manager_unittest.cc
@@ -43,7 +43,7 @@ } std::unique_ptr<MockRenderProcessHost> CreateRenderProcessHost() { - return base::MakeUnique<MockRenderProcessHost>(browser_context_.get()); + return std::make_unique<MockRenderProcessHost>(browser_context_.get()); } protected:
diff --git a/content/browser/service_worker/service_worker_provider_host.cc b/content/browser/service_worker/service_worker_provider_host.cc index f55dc2e..96a1cf32 100644 --- a/content/browser/service_worker/service_worker_provider_host.cc +++ b/content/browser/service_worker/service_worker_provider_host.cc
@@ -482,15 +482,15 @@ if (skip_service_worker) { if (!ServiceWorkerUtils::IsMainResourceType(resource_type)) return std::unique_ptr<ServiceWorkerRequestHandler>(); - return base::MakeUnique<ServiceWorkerURLTrackingRequestHandler>( + return std::make_unique<ServiceWorkerURLTrackingRequestHandler>( context_, AsWeakPtr(), blob_storage_context, resource_type); } if (IsHostToRunningServiceWorker()) { - return base::MakeUnique<ServiceWorkerContextRequestHandler>( + return std::make_unique<ServiceWorkerContextRequestHandler>( context_, AsWeakPtr(), blob_storage_context, resource_type); } if (ServiceWorkerUtils::IsMainResourceType(resource_type) || controller()) { - return base::MakeUnique<ServiceWorkerControlleeRequestHandler>( + return std::make_unique<ServiceWorkerControlleeRequestHandler>( context_, AsWeakPtr(), blob_storage_context, request_mode, credentials_mode, redirect_mode, integrity, resource_type, request_context_type, frame_type, body); @@ -737,7 +737,7 @@ mojom::URLLoaderFactoryAssociatedPtrInfo script_loader_factory_ptr_info; if (ServiceWorkerUtils::IsServicificationEnabled()) { mojo::MakeStrongAssociatedBinding( - base::MakeUnique<ServiceWorkerScriptURLLoaderFactory>( + std::make_unique<ServiceWorkerScriptURLLoaderFactory>( context_, AsWeakPtr(), context_->loader_factory_getter()), mojo::MakeRequest(&script_loader_factory_ptr_info)); provider_info->script_loader_factory_ptr_info = @@ -1159,7 +1159,7 @@ this); DCHECK(!get_ready_callback_); get_ready_callback_ = - base::MakeUnique<GetRegistrationForReadyCallback>(std::move(callback)); + std::make_unique<GetRegistrationForReadyCallback>(std::move(callback)); ReturnRegistrationForReadyIfNeeded(); }
diff --git a/content/browser/service_worker/service_worker_provider_host_unittest.cc b/content/browser/service_worker/service_worker_provider_host_unittest.cc index 60b064f..827bfa3 100644 --- a/content/browser/service_worker/service_worker_provider_host_unittest.cc +++ b/content/browser/service_worker/service_worker_provider_host_unittest.cc
@@ -495,7 +495,7 @@ true /* is_parent_frame_secure */); remote_endpoints_.emplace_back(); remote_endpoints_.back().BindWithProviderHostInfo(&info); - auto container = base::MakeUnique<MockServiceWorkerContainer>( + auto container = std::make_unique<MockServiceWorkerContainer>( std::move(*remote_endpoints_.back().client_request())); // Create an active version and then start the navigation. @@ -535,7 +535,7 @@ true /* is_parent_frame_secure */); remote_endpoints_.emplace_back(); remote_endpoints_.back().BindWithProviderHostInfo(&info); - auto container = base::MakeUnique<MockServiceWorkerContainer>( + auto container = std::make_unique<MockServiceWorkerContainer>( std::move(*remote_endpoints_.back().client_request())); // Create an installing version and then start the navigation.
diff --git a/content/browser/service_worker/service_worker_read_from_cache_job_unittest.cc b/content/browser/service_worker/service_worker_read_from_cache_job_unittest.cc index 7cdd704..7b8bfd68 100644 --- a/content/browser/service_worker/service_worker_read_from_cache_job_unittest.cc +++ b/content/browser/service_worker/service_worker_read_from_cache_job_unittest.cc
@@ -199,7 +199,7 @@ net::DEFAULT_PRIORITY, &delegate_, TRAFFIC_ANNOTATION_FOR_TESTS); test_job_interceptor_->set_main_intercept_job( - base::MakeUnique<ServiceWorkerReadFromCacheJob>( + std::make_unique<ServiceWorkerReadFromCacheJob>( request.get(), nullptr /* NetworkDelegate */, RESOURCE_TYPE_SERVICE_WORKER, context()->AsWeakPtr(), version_, main_script_.resource_id)); @@ -218,7 +218,7 @@ net::DEFAULT_PRIORITY, &delegate_, TRAFFIC_ANNOTATION_FOR_TESTS); test_job_interceptor_->set_main_intercept_job( - base::MakeUnique<ServiceWorkerReadFromCacheJob>( + std::make_unique<ServiceWorkerReadFromCacheJob>( request.get(), nullptr /* NetworkDelegate */, RESOURCE_TYPE_SCRIPT, context()->AsWeakPtr(), version_, imported_script_.resource_id)); StartAndWaitForRequest(request.get()); @@ -249,7 +249,7 @@ TRAFFIC_ANNOTATION_FOR_TESTS); const int64_t kNonexistentResourceId = 100; test_job_interceptor_->set_main_intercept_job( - base::MakeUnique<ServiceWorkerReadFromCacheJob>( + std::make_unique<ServiceWorkerReadFromCacheJob>( request.get(), nullptr /* NetworkDelegate */, RESOURCE_TYPE_SERVICE_WORKER, context()->AsWeakPtr(), version_, kNonexistentResourceId));
diff --git a/content/browser/service_worker/service_worker_register_job.cc b/content/browser/service_worker/service_worker_register_job.cc index 0436b13..506a376 100644 --- a/content/browser/service_worker/service_worker_register_job.cc +++ b/content/browser/service_worker/service_worker_register_job.cc
@@ -467,7 +467,7 @@ weak_factory_.GetWeakPtr())); std::unique_ptr<InstallEventMethodsReceiver> install_methods_receiver = - base::MakeUnique<InstallEventMethodsReceiver>(new_version()); + std::make_unique<InstallEventMethodsReceiver>(new_version()); mojom::ServiceWorkerInstallEventMethodsAssociatedPtrInfo ptr_info; install_methods_receiver->BindInterface(&ptr_info); new_version()->event_dispatcher()->DispatchInstallEvent(
diff --git a/content/browser/service_worker/service_worker_script_url_loader_factory.cc b/content/browser/service_worker/service_worker_script_url_loader_factory.cc index d2ffd40..2d63cb4 100644 --- a/content/browser/service_worker/service_worker_script_url_loader_factory.cc +++ b/content/browser/service_worker/service_worker_script_url_loader_factory.cc
@@ -50,7 +50,7 @@ return; } mojo::MakeStrongBinding( - base::MakeUnique<ServiceWorkerScriptURLLoader>( + std::make_unique<ServiceWorkerScriptURLLoader>( routing_id, request_id, options, resource_request, std::move(client), provider_host_->running_hosted_version(), loader_factory_getter_, traffic_annotation),
diff --git a/content/browser/service_worker/service_worker_url_loader_job_unittest.cc b/content/browser/service_worker/service_worker_url_loader_job_unittest.cc index 46d6245..d3a10ac 100644 --- a/content/browser/service_worker/service_worker_url_loader_job_unittest.cc +++ b/content/browser/service_worker/service_worker_url_loader_job_unittest.cc
@@ -102,17 +102,17 @@ // FetchEvent#respondWith. response_callback_->OnResponseStream( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>( + std::make_unique<std::vector<GURL>>( response_head_.url_list_via_service_worker), response_head_.headers->response_code(), response_head_.headers->GetStatusText(), response_head_.response_type_via_service_worker, - base::MakeUnique<ServiceWorkerHeaderMap>(), "" /* blob_uuid */, + std::make_unique<ServiceWorkerHeaderMap>(), "" /* blob_uuid */, 0 /* blob_size */, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), std::move(stream_handle), base::Time::Now()); std::move(finish_callback_) @@ -202,7 +202,7 @@ base::FilePath(), base::MakeRefCounted<URLLoaderFactoryGetter>()) { mojom::URLLoaderFactoryPtr mock_loader_factory; - mojo::MakeStrongBinding(base::MakeUnique<MockNetworkURLLoaderFactory>(), + mojo::MakeStrongBinding(std::make_unique<MockNetworkURLLoaderFactory>(), MakeRequest(&mock_loader_factory)); url_loader_factory_getter()->SetNetworkFactoryForTesting( std::move(mock_loader_factory)); @@ -298,14 +298,14 @@ case ResponseMode::kBlob: response_callback->OnResponse( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 200, "OK", + std::make_unique<std::vector<GURL>>(), 200, "OK", network::mojom::FetchResponseType::kDefault, - base::MakeUnique<ServiceWorkerHeaderMap>(), blob_uuid_, + std::make_unique<ServiceWorkerHeaderMap>(), blob_uuid_, blob_size_, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), base::Time::Now()); std::move(finish_callback) @@ -315,14 +315,14 @@ case ResponseMode::kStream: response_callback->OnResponseStream( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 200, "OK", + std::make_unique<std::vector<GURL>>(), 200, "OK", network::mojom::FetchResponseType::kDefault, - base::MakeUnique<ServiceWorkerHeaderMap>(), "" /* blob_uuid */, + std::make_unique<ServiceWorkerHeaderMap>(), "" /* blob_uuid */, 0 /* blob_size */, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), std::move(stream_handle_), base::Time::Now()); std::move(finish_callback) @@ -338,15 +338,15 @@ case ResponseMode::kErrorResponse: response_callback->OnResponse( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 0 /* status_code */, + std::make_unique<std::vector<GURL>>(), 0 /* status_code */, "" /* status_text */, network::mojom::FetchResponseType::kDefault, - base::MakeUnique<ServiceWorkerHeaderMap>(), "" /* blob_uuid */, + std::make_unique<ServiceWorkerHeaderMap>(), "" /* blob_uuid */, 0 /* blob_size */, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorPromiseRejected, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), base::Time::Now()); std::move(finish_callback) @@ -379,30 +379,30 @@ finish_callback_ = std::move(finish_callback); response_callback->OnResponse( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 200, "OK", + std::make_unique<std::vector<GURL>>(), 200, "OK", network::mojom::FetchResponseType::kDefault, - base::MakeUnique<ServiceWorkerHeaderMap>(), "" /* blob_uuid */, + std::make_unique<ServiceWorkerHeaderMap>(), "" /* blob_uuid */, 0 /* blob_size */, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), base::Time::Now()); // Now the caller must call FinishWaitUntil() to finish the event. return; case ResponseMode::kRedirect: - auto headers = base::MakeUnique<ServiceWorkerHeaderMap>(); + auto headers = std::make_unique<ServiceWorkerHeaderMap>(); (*headers)["location"] = redirected_url_.spec(); response_callback->OnResponse( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 301, "Moved Permanently", + std::make_unique<std::vector<GURL>>(), 301, "Moved Permanently", network::mojom::FetchResponseType::kDefault, std::move(headers), "" /* blob_uuid */, 0 /* blob_size */, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), base::Time::Now()); std::move(finish_callback) @@ -480,7 +480,7 @@ public: ServiceWorkerURLLoaderJobTest() : thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP), - helper_(base::MakeUnique<Helper>()) {} + helper_(std::make_unique<Helper>()) {} ~ServiceWorkerURLLoaderJobTest() override = default; void SetUp() override { @@ -535,7 +535,7 @@ // Start a ServiceWorkerURLLoaderJob. It should return a // StartLoaderCallback. StartLoaderCallback callback; - job_ = base::MakeUnique<ServiceWorkerURLLoaderJob>( + job_ = std::make_unique<ServiceWorkerURLLoaderJob>( base::BindOnce(&ReceiveStartLoaderCallback, &callback), this, *request, base::WrapRefCounted<URLLoaderFactoryGetter>( helper_->context()->loader_factory_getter()), @@ -574,7 +574,7 @@ std::unique_ptr<ResourceRequest> CreateRequest() { std::unique_ptr<ResourceRequest> request = - base::MakeUnique<ResourceRequest>(); + std::make_unique<ResourceRequest>(); request->url = GURL("https://www.example.com/"); request->method = "GET"; request->fetch_request_mode = network::mojom::FetchRequestMode::kNavigate; @@ -664,7 +664,7 @@ TEST_F(ServiceWorkerURLLoaderJobTest, BlobResponse) { // Construct the blob to respond with. const std::string kResponseBody = "Here is sample text for the blob."; - auto blob_data = base::MakeUnique<storage::BlobDataBuilder>("blob-id:myblob"); + auto blob_data = std::make_unique<storage::BlobDataBuilder>("blob-id:myblob"); blob_data->AppendData(kResponseBody); std::unique_ptr<storage::BlobDataHandle> blob_handle = blob_context_.AddFinishedBlob(blob_data.get()); @@ -895,7 +895,7 @@ request.fetch_redirect_mode = FetchRedirectMode::MANUAL_MODE; StartLoaderCallback callback; - auto job = base::MakeUnique<ServiceWorkerURLLoaderJob>( + auto job = std::make_unique<ServiceWorkerURLLoaderJob>( base::BindOnce(&ReceiveStartLoaderCallback, &callback), this, request, base::WrapRefCounted<URLLoaderFactoryGetter>( helper_->context()->loader_factory_getter()),
diff --git a/content/browser/service_worker/service_worker_url_request_job.cc b/content/browser/service_worker/service_worker_url_request_job.cc index d418767..1991589 100644 --- a/content/browser/service_worker/service_worker_url_request_job.cc +++ b/content/browser/service_worker/service_worker_url_request_job.cc
@@ -615,7 +615,7 @@ if (features::IsMojoBlobsEnabled()) { blink::mojom::BlobPtr blob_ptr; - storage::BlobImpl::Create(base::MakeUnique<storage::BlobDataHandle>( + storage::BlobImpl::Create(std::make_unique<storage::BlobDataHandle>( *request_body_blob_data_handle_), MakeRequest(&blob_ptr)); request_body_blob_handle_ = @@ -1005,7 +1005,7 @@ base::Bind(&ServiceWorkerURLRequestJob::DidDispatchFetchEvent, weak_factory_.GetWeakPtr()))); worker_start_time_ = base::TimeTicks::Now(); - nav_preload_metrics_ = base::MakeUnique<NavigationPreloadMetrics>(this); + nav_preload_metrics_ = std::make_unique<NavigationPreloadMetrics>(this); if (simulate_navigation_preload_for_test_) { did_navigation_preload_ = true; } else {
diff --git a/content/browser/service_worker/service_worker_url_request_job_unittest.cc b/content/browser/service_worker/service_worker_url_request_job_unittest.cc index f0f911e..77aaf84 100644 --- a/content/browser/service_worker/service_worker_url_request_job_unittest.cc +++ b/content/browser/service_worker/service_worker_url_request_job_unittest.cc
@@ -150,12 +150,12 @@ // the memory. std::unique_ptr<storage::BlobProtocolHandler> CreateMockBlobProtocolHandler( storage::BlobStorageContext* blob_storage_context) { - return base::MakeUnique<storage::BlobProtocolHandler>(blob_storage_context, + return std::make_unique<storage::BlobProtocolHandler>(blob_storage_context, nullptr); } std::unique_ptr<ServiceWorkerHeaderMap> MakeHeaders() { - auto headers = base::MakeUnique<ServiceWorkerHeaderMap>(); + auto headers = std::make_unique<ServiceWorkerHeaderMap>(); (*headers)["Pineapple"] = "Pen"; (*headers)["Foo"] = "Bar"; (*headers)["Set-Cookie"] = "CookieCookieCookie"; @@ -446,7 +446,7 @@ }; TEST_F(ServiceWorkerURLRequestJobTest, Simple) { - SetUpWithHelper(base::MakeUnique<EmbeddedWorkerTestHelper>(base::FilePath())); + SetUpWithHelper(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath())); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); TestRequest(200, "OK", std::string(), true /* expect_valid_ssl */); @@ -488,13 +488,13 @@ void Respond() { response_callback_->OnResponse( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 200, "OK", + std::make_unique<std::vector<GURL>>(), 200, "OK", network::mojom::FetchResponseType::kDefault, - base::MakeUnique<ServiceWorkerHeaderMap>(), std::string(), 0, + std::make_unique<ServiceWorkerHeaderMap>(), std::string(), 0, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), base::Time::Now()); std::move(finish_callback_) @@ -562,7 +562,7 @@ TEST_F(ServiceWorkerURLRequestJobTest, NavPreloadMetrics_WorkerAlreadyStarted_MainFrame) { - SetUpWithHelper(base::MakeUnique<DelayHelper>(this)); + SetUpWithHelper(std::make_unique<DelayHelper>(this)); DelayHelper* helper = static_cast<DelayHelper*>(helper_.get()); // Start the worker before the navigation. @@ -596,7 +596,7 @@ TEST_F(ServiceWorkerURLRequestJobTest, NavPreloadMetrics_WorkerFirst_MainFrame) { - SetUpWithHelper(base::MakeUnique<DelayHelper>(this)); + SetUpWithHelper(std::make_unique<DelayHelper>(this)); DelayHelper* helper = static_cast<DelayHelper*>(helper_.get()); base::HistogramTester histogram_tester; @@ -623,7 +623,7 @@ TEST_F(ServiceWorkerURLRequestJobTest, NavPreloadMetrics_NavPreloadFirst_MainFrame) { - SetUpWithHelper(base::MakeUnique<DelayHelper>(this)); + SetUpWithHelper(std::make_unique<DelayHelper>(this)); DelayHelper* helper = static_cast<DelayHelper*>(helper_.get()); base::HistogramTester histogram_tester; @@ -649,7 +649,7 @@ } TEST_F(ServiceWorkerURLRequestJobTest, NavPreloadMetrics_WorkerFirst_SubFrame) { - SetUpWithHelper(base::MakeUnique<DelayHelper>(this)); + SetUpWithHelper(std::make_unique<DelayHelper>(this)); DelayHelper* helper = static_cast<DelayHelper*>(helper_.get()); base::HistogramTester histogram_tester; @@ -675,7 +675,7 @@ TEST_F(ServiceWorkerURLRequestJobTest, NavPreloadMetrics_NavPreloadFirst_SubFrame) { - SetUpWithHelper(base::MakeUnique<DelayHelper>(this)); + SetUpWithHelper(std::make_unique<DelayHelper>(this)); DelayHelper* helper = static_cast<DelayHelper*>(helper_.get()); base::HistogramTester histogram_tester; @@ -700,13 +700,13 @@ } TEST_F(ServiceWorkerURLRequestJobTest, CustomTimeout) { - SetUpWithHelper(base::MakeUnique<EmbeddedWorkerTestHelper>(base::FilePath())); + SetUpWithHelper(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath())); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); // Set mock clock on version_ to check timeout behavior. { - auto tick_clock = base::MakeUnique<base::SimpleTestTickClock>(); + auto tick_clock = std::make_unique<base::SimpleTestTickClock>(); tick_clock->SetNowTicks(base::TimeTicks::Now()); version_->SetTickClockForTesting(std::move(tick_clock)); } @@ -732,13 +732,13 @@ context()->RemoveProviderHost(mock_render_process_id(), kProviderID); response_callback->OnResponse( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 200, "OK", + std::make_unique<std::vector<GURL>>(), 200, "OK", network::mojom::FetchResponseType::kDefault, - base::MakeUnique<ServiceWorkerHeaderMap>(), std::string(), 0, + std::make_unique<ServiceWorkerHeaderMap>(), std::string(), 0, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), base::Time::Now()); std::move(finish_callback) @@ -753,7 +753,7 @@ // Shouldn't crash if the ProviderHost is deleted prior to completion of the // fetch event. TEST_F(ServiceWorkerURLRequestJobTest, DeletedProviderHostOnFetchEvent) { - SetUpWithHelper(base::MakeUnique<ProviderDeleteHelper>()); + SetUpWithHelper(std::make_unique<ProviderDeleteHelper>()); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); @@ -775,7 +775,7 @@ } TEST_F(ServiceWorkerURLRequestJobTest, DeletedProviderHostBeforeFetchEvent) { - SetUpWithHelper(base::MakeUnique<EmbeddedWorkerTestHelper>(base::FilePath())); + SetUpWithHelper(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath())); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); request_ = url_request_context_.CreateRequest( @@ -822,13 +822,13 @@ finish_callback) override { response_callback->OnResponse( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 200, "OK", + std::make_unique<std::vector<GURL>>(), 200, "OK", network::mojom::FetchResponseType::kDefault, MakeHeaders(), blob_uuid_, blob_size_, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), base::Time::Now()); std::move(finish_callback) @@ -852,14 +852,14 @@ std::string expected_response; expected_response.reserve((sizeof(kTestData) - 1) * 1024); - auto blob_data = base::MakeUnique<storage::BlobDataBuilder>("blob-id:myblob"); + auto blob_data = std::make_unique<storage::BlobDataBuilder>("blob-id:myblob"); for (int i = 0; i < 1024; ++i) { blob_data->AppendData(kTestData); expected_response += kTestData; } std::unique_ptr<storage::BlobDataHandle> blob_handle = blob_storage_context->context()->AddFinishedBlob(blob_data.get()); - SetUpWithHelper(base::MakeUnique<BlobResponder>(blob_handle->uuid(), + SetUpWithHelper(std::make_unique<BlobResponder>(blob_handle->uuid(), expected_response.size())); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); @@ -881,7 +881,7 @@ TEST_F(ServiceWorkerURLRequestJobTest, NonExistentBlobUUIDResponse) { SetUpWithHelper( - base::MakeUnique<BlobResponder>("blob-id:nothing-is-here", 0)); + std::make_unique<BlobResponder>("blob-id:nothing-is-here", 0)); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); TestRequest(500, "Service Worker Response Error", std::string(), true /* expect_valid_ssl */); @@ -924,12 +924,12 @@ ASSERT_FALSE(stream_handle_.is_null()); response_callback->OnResponseStream( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 200, "OK", + std::make_unique<std::vector<GURL>>(), 200, "OK", network::mojom::FetchResponseType::kDefault, MakeHeaders(), "", 0, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), std::move(stream_handle_), base::Time::Now()); std::move(finish_callback) @@ -947,7 +947,7 @@ blink::mojom::ServiceWorkerStreamCallbackPtr stream_callback; mojo::DataPipe data_pipe; SetUpWithHelper( - base::MakeUnique<StreamResponder>(mojo::MakeRequest(&stream_callback), + std::make_unique<StreamResponder>(mojo::MakeRequest(&stream_callback), std::move(data_pipe.consumer_handle))); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); @@ -1000,7 +1000,7 @@ blink::mojom::ServiceWorkerStreamCallbackPtr stream_callback; mojo::DataPipe data_pipe; SetUpWithHelper( - base::MakeUnique<StreamResponder>(mojo::MakeRequest(&stream_callback), + std::make_unique<StreamResponder>(mojo::MakeRequest(&stream_callback), std::move(data_pipe.consumer_handle))); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); @@ -1050,7 +1050,7 @@ blink::mojom::ServiceWorkerStreamCallbackPtr stream_callback; mojo::DataPipe data_pipe; SetUpWithHelper( - base::MakeUnique<StreamResponder>(mojo::MakeRequest(&stream_callback), + std::make_unique<StreamResponder>(mojo::MakeRequest(&stream_callback), std::move(data_pipe.consumer_handle))); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); @@ -1103,7 +1103,7 @@ blink::mojom::ServiceWorkerStreamCallbackPtr stream_callback; mojo::DataPipe data_pipe; SetUpWithHelper( - base::MakeUnique<StreamResponder>(mojo::MakeRequest(&stream_callback), + std::make_unique<StreamResponder>(mojo::MakeRequest(&stream_callback), std::move(data_pipe.consumer_handle))); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); @@ -1157,7 +1157,7 @@ blink::mojom::ServiceWorkerStreamCallbackPtr stream_callback; mojo::DataPipe data_pipe; SetUpWithHelper( - base::MakeUnique<StreamResponder>(mojo::MakeRequest(&stream_callback), + std::make_unique<StreamResponder>(mojo::MakeRequest(&stream_callback), std::move(data_pipe.consumer_handle))); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); @@ -1211,7 +1211,7 @@ blink::mojom::ServiceWorkerStreamCallbackPtr stream_callback; mojo::DataPipe data_pipe; SetUpWithHelper( - base::MakeUnique<StreamResponder>(mojo::MakeRequest(&stream_callback), + std::make_unique<StreamResponder>(mojo::MakeRequest(&stream_callback), std::move(data_pipe.consumer_handle))); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); @@ -1249,7 +1249,7 @@ blink::mojom::ServiceWorkerStreamCallbackPtr stream_callback; mojo::DataPipe data_pipe; SetUpWithHelper( - base::MakeUnique<StreamResponder>(mojo::MakeRequest(&stream_callback), + std::make_unique<StreamResponder>(mojo::MakeRequest(&stream_callback), std::move(data_pipe.consumer_handle))); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); @@ -1321,7 +1321,7 @@ }; TEST_F(ServiceWorkerURLRequestJobTest, FailFetchDispatch) { - SetUpWithHelper(base::MakeUnique<FailFetchHelper>()); + SetUpWithHelper(std::make_unique<FailFetchHelper>()); version_->SetStatus(ServiceWorkerVersion::ACTIVATED); request_ = url_request_context_.CreateRequest( @@ -1350,7 +1350,7 @@ } TEST_F(ServiceWorkerURLRequestJobTest, FailToActivate_MainResource) { - SetUpWithHelper(base::MakeUnique<EmbeddedWorkerTestHelper>(base::FilePath())); + SetUpWithHelper(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath())); RunFailToActivateTest(RESOURCE_TYPE_MAIN_FRAME); // The load should fail and we should have fallen back to network because @@ -1367,7 +1367,7 @@ } TEST_F(ServiceWorkerURLRequestJobTest, FailToActivate_Subresource) { - SetUpWithHelper(base::MakeUnique<EmbeddedWorkerTestHelper>(base::FilePath())); + SetUpWithHelper(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath())); RunFailToActivateTest(RESOURCE_TYPE_IMAGE); // The load should fail and we should not fall back to network because @@ -1406,13 +1406,13 @@ finish_callback_ = std::move(finish_callback); response_callback->OnResponse( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 200, "OK", + std::make_unique<std::vector<GURL>>(), 200, "OK", network::mojom::FetchResponseType::kDefault, - base::MakeUnique<ServiceWorkerHeaderMap>(), std::string(), 0, + std::make_unique<ServiceWorkerHeaderMap>(), std::string(), 0, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), base::Time::Now()); } @@ -1426,7 +1426,7 @@ // This simulates the case when a response is returned and the fetch event is // still in flight. TEST_F(ServiceWorkerURLRequestJobTest, EarlyResponse) { - SetUpWithHelper(base::MakeUnique<EarlyResponseHelper>()); + SetUpWithHelper(std::make_unique<EarlyResponseHelper>()); EarlyResponseHelper* helper = static_cast<EarlyResponseHelper*>(helper_.get()); @@ -1455,7 +1455,7 @@ // Test cancelling the URLRequest while the fetch event is in flight. TEST_F(ServiceWorkerURLRequestJobTest, CancelRequest) { - SetUpWithHelper(base::MakeUnique<DelayHelper>(this)); + SetUpWithHelper(std::make_unique<DelayHelper>(this)); DelayHelper* helper = static_cast<DelayHelper*>(helper_.get()); // Start the URL request. The job will be waiting for the
diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc index 51cabda..b639bfe 100644 --- a/content/browser/service_worker/service_worker_version.cc +++ b/content/browser/service_worker/service_worker_version.cc
@@ -289,11 +289,11 @@ site_for_uma_(ServiceWorkerMetrics::SiteFromURL(scope_)), context_(context), script_cache_map_(this, context), - tick_clock_(base::MakeUnique<base::DefaultTickClock>()), - clock_(base::MakeUnique<base::DefaultClock>()), + tick_clock_(std::make_unique<base::DefaultTickClock>()), + clock_(std::make_unique<base::DefaultClock>()), ping_controller_(new PingController(this)), - validator_(base::MakeUnique<blink::TrialTokenValidator>( - base::MakeUnique<TrialPolicyImpl>())), + validator_(std::make_unique<blink::TrialTokenValidator>( + std::make_unique<TrialPolicyImpl>())), weak_factory_(this) { DCHECK_NE(blink::mojom::kInvalidServiceWorkerVersionId, version_id); DCHECK(context_); @@ -575,7 +575,7 @@ << " can only be dispatched to an active worker: " << status(); int request_id = pending_requests_.Add( - base::MakeUnique<PendingRequest>(std::move(error_callback), clock_->Now(), + std::make_unique<PendingRequest>(std::move(error_callback), clock_->Now(), tick_clock_->NowTicks(), event_type)); TRACE_EVENT_ASYNC_BEGIN2("ServiceWorker", "ServiceWorkerVersion::Request", pending_requests_.Lookup(request_id), "Request id", @@ -1525,7 +1525,7 @@ if (!ServiceWorkerMetrics::ShouldExcludeSiteFromHistogram(site_for_uma_)) { DCHECK(!event_recorder_); event_recorder_ = - base::MakeUnique<ServiceWorkerMetrics::ScopedEventRecorder>( + std::make_unique<ServiceWorkerMetrics::ScopedEventRecorder>( start_worker_first_purpose_.value()); } // We don't clear |start_worker_first_purpose_| here but clear in @@ -1538,7 +1538,7 @@ ServiceWorkerProviderHost::PreCreateForController(context()); provider_host_ = pending_provider_host->AsWeakPtr(); - auto params = base::MakeUnique<EmbeddedWorkerStartParams>(); + auto params = std::make_unique<EmbeddedWorkerStartParams>(); params->service_worker_version_id = version_id_; params->scope = scope_; params->script_url = script_url_; @@ -1550,7 +1550,7 @@ !pause_after_download_) { DCHECK(!installed_scripts_sender_); installed_scripts_sender_ = - base::MakeUnique<ServiceWorkerInstalledScriptsSender>(this); + std::make_unique<ServiceWorkerInstalledScriptsSender>(this); installed_scripts_info = installed_scripts_sender_->CreateInfoAndBind(); installed_scripts_sender_->Start(); }
diff --git a/content/browser/service_worker/service_worker_version_unittest.cc b/content/browser/service_worker/service_worker_version_unittest.cc index b84395e..6649e08 100644 --- a/content/browser/service_worker/service_worker_version_unittest.cc +++ b/content/browser/service_worker/service_worker_version_unittest.cc
@@ -209,7 +209,7 @@ } virtual std::unique_ptr<MessageReceiver> GetMessageReceiver() { - return base::MakeUnique<MessageReceiver>(); + return std::make_unique<MessageReceiver>(); } void TearDown() override { @@ -344,7 +344,7 @@ } std::unique_ptr<MessageReceiver> GetMessageReceiver() override { - return base::MakeUnique<MessageReceiverDisallowStart>(); + return std::make_unique<MessageReceiverDisallowStart>(); } private: @@ -390,7 +390,7 @@ ServiceWorkerStallInStoppingTest() : ServiceWorkerVersionTest() {} std::unique_ptr<MessageReceiver> GetMessageReceiver() override { - return base::MakeUnique<MessageReceiverDisallowStop>(); + return std::make_unique<MessageReceiverDisallowStop>(); } private: @@ -893,7 +893,7 @@ ServiceWorkerRequestTimeoutTest() : ServiceWorkerVersionTest() {} std::unique_ptr<MessageReceiver> GetMessageReceiver() override { - return base::MakeUnique<MessageReceiverControlEvents>(); + return std::make_unique<MessageReceiverControlEvents>(); } bool has_extendable_message_event_callback() {
diff --git a/content/browser/service_worker/service_worker_write_to_cache_job.cc b/content/browser/service_worker/service_worker_write_to_cache_job.cc index 277a0f72..91e03ec 100644 --- a/content/browser/service_worker/service_worker_write_to_cache_job.cc +++ b/content/browser/service_worker/service_worker_write_to_cache_job.cc
@@ -120,7 +120,7 @@ copy_reader = context_->storage()->CreateResponseReader(incumbent_resource_id_); } - cache_writer_ = base::MakeUnique<ServiceWorkerCacheWriter>( + cache_writer_ = std::make_unique<ServiceWorkerCacheWriter>( std::move(compare_reader), std::move(copy_reader), context_->storage()->CreateResponseWriter(resource_id_)); @@ -237,7 +237,7 @@ net_request_->set_initiator(request()->initiator()); net_request_->SetReferrer(request()->referrer()); net_request_->SetUserData(URLRequestServiceWorkerData::kUserDataKey, - base::MakeUnique<URLRequestServiceWorkerData>()); + std::make_unique<URLRequestServiceWorkerData>()); if (extra_load_flags) net_request_->SetLoadFlags(net_request_->load_flags() | extra_load_flags);
diff --git a/content/browser/site_instance_impl_unittest.cc b/content/browser/site_instance_impl_unittest.cc index 6dca4eb..62ae772a 100644 --- a/content/browser/site_instance_impl_unittest.cc +++ b/content/browser/site_instance_impl_unittest.cc
@@ -600,7 +600,7 @@ std::vector<std::unique_ptr<MockRenderProcessHost>> hosts; for (size_t i = 0; i < kMaxRendererProcessCount; ++i) hosts.push_back( - base::MakeUnique<MockRenderProcessHost>(browser_context.get())); + std::make_unique<MockRenderProcessHost>(browser_context.get())); // Create some extension instances and make sure they share a process. scoped_refptr<SiteInstanceImpl> extension1_instance(
diff --git a/content/browser/site_per_process_browsertest.cc b/content/browser/site_per_process_browsertest.cc index 17ca86a..4b33175 100644 --- a/content/browser/site_per_process_browsertest.cc +++ b/content/browser/site_per_process_browsertest.cc
@@ -1104,7 +1104,7 @@ static_cast<RenderWidgetHostViewBase*>(child_rwh->GetView()); std::unique_ptr<InputEventAckWaiter> gesture_fling_start_ack_observer = - base::MakeUnique<InputEventAckWaiter>( + std::make_unique<InputEventAckWaiter>( blink::WebInputEvent::kGestureFlingStart); if (child_rwhv->wheel_scroll_latching_enabled()) { // If wheel scroll latching is enabled, the fling start won't bubble since @@ -1186,7 +1186,7 @@ filter.get()); std::unique_ptr<InputEventAckWaiter> ack_observer = - base::MakeUnique<InputEventAckWaiter>( + std::make_unique<InputEventAckWaiter>( blink::WebInputEvent::kGestureScrollEnd); parent_iframe_node->current_frame_host() ->GetRenderWidgetHost() @@ -1433,13 +1433,13 @@ WaitForChildFrameSurfaceReady(iframe_node->current_frame_host()); std::unique_ptr<InputEventAckWaiter> scroll_begin_observer = - base::MakeUnique<InputEventAckWaiter>( + std::make_unique<InputEventAckWaiter>( blink::WebInputEvent::kGestureScrollBegin); root->current_frame_host()->GetRenderWidgetHost()->AddInputEventObserver( scroll_begin_observer.get()); std::unique_ptr<InputEventAckWaiter> scroll_end_observer = - base::MakeUnique<InputEventAckWaiter>( + std::make_unique<InputEventAckWaiter>( blink::WebInputEvent::kGestureScrollEnd); root->current_frame_host()->GetRenderWidgetHost()->AddInputEventObserver( scroll_end_observer.get()); @@ -1555,7 +1555,7 @@ WaitForChildFrameSurfaceReady(nested_iframe_node->current_frame_host()); std::unique_ptr<InputEventAckWaiter> ack_observer = - base::MakeUnique<InputEventAckWaiter>( + std::make_unique<InputEventAckWaiter>( blink::WebInputEvent::kGestureScrollBegin); root->current_frame_host()->GetRenderWidgetHost()->AddInputEventObserver( ack_observer.get()); @@ -1564,11 +1564,11 @@ if (root_view->wheel_scroll_latching_enabled()) { // All GSU events will be wrapped between a single GSB-GSE pair. The // expected delta value is equal to summation of all scroll update deltas. - scroll_observer = base::MakeUnique<ScrollObserver>(0, 15); + scroll_observer = std::make_unique<ScrollObserver>(0, 15); } else { // Each GSU will be wrapped betweeen its own GSB-GSE pair. The expected // delta value is the delta of the first GSU event. - scroll_observer = base::MakeUnique<ScrollObserver>(0, 5); + scroll_observer = std::make_unique<ScrollObserver>(0, 5); } root->current_frame_host()->GetRenderWidgetHost()->AddInputEventObserver( scroll_observer.get()); @@ -1784,7 +1784,7 @@ static_cast<RenderWidgetHostViewAura*>(rwhv_root); std::unique_ptr<MockOverscrollControllerDelegateAura> mock_overscroll_delegate = - base::MakeUnique<MockOverscrollControllerDelegateAura>(rwhva); + std::make_unique<MockOverscrollControllerDelegateAura>(rwhva); rwhva->overscroll_controller()->set_delegate(mock_overscroll_delegate.get()); MockOverscrollObserver* mock_overscroll_observer = mock_overscroll_delegate.get(); @@ -1792,7 +1792,7 @@ RenderWidgetHostViewAndroid* rwhv_android = static_cast<RenderWidgetHostViewAndroid*>(rwhv_root); std::unique_ptr<MockOverscrollRefreshHandlerAndroid> mock_overscroll_handler = - base::MakeUnique<MockOverscrollRefreshHandlerAndroid>(); + std::make_unique<MockOverscrollRefreshHandlerAndroid>(); rwhv_android->SetOverscrollControllerForTesting( mock_overscroll_handler.get()); MockOverscrollObserver* mock_overscroll_observer = @@ -1800,13 +1800,13 @@ #endif // defined(USE_AURA) std::unique_ptr<InputEventAckWaiter> gesture_begin_observer_child = - base::MakeUnique<InputEventAckWaiter>( + std::make_unique<InputEventAckWaiter>( blink::WebInputEvent::kGestureScrollBegin); child_node->current_frame_host() ->GetRenderWidgetHost() ->AddInputEventObserver(gesture_begin_observer_child.get()); std::unique_ptr<InputEventAckWaiter> gesture_end_observer_child = - base::MakeUnique<InputEventAckWaiter>( + std::make_unique<InputEventAckWaiter>( blink::WebInputEvent::kGestureScrollEnd); child_node->current_frame_host() ->GetRenderWidgetHost() @@ -2997,7 +2997,7 @@ bool network_service = base::FeatureList::IsEnabled(features::kNetworkService); mojom::URLLoaderFactoryPtr failing_factory; - mojo::MakeStrongBinding(base::MakeUnique<FailingLoadFactory>(), + mojo::MakeStrongBinding(std::make_unique<FailingLoadFactory>(), mojo::MakeRequest(&failing_factory)); StoragePartitionImpl* storage_partition = nullptr; if (network_service) { @@ -6467,7 +6467,7 @@ // Wait until renderer's compositor thread is synced. { auto observer = - base::MakeUnique<MainThreadFrameObserver>(render_widget_host); + std::make_unique<MainThreadFrameObserver>(render_widget_host); observer->Wait(); } @@ -6481,7 +6481,7 @@ rwhv->OnTouchEvent(&touch_event); { auto observer = - base::MakeUnique<MainThreadFrameObserver>(render_widget_host); + std::make_unique<MainThreadFrameObserver>(render_widget_host); observer->Wait(); } @@ -7836,7 +7836,7 @@ private: void RegisterCallback() { - view_->RegisterFrameSwappedCallback(base::MakeUnique<base::Closure>( + view_->RegisterFrameSwappedCallback(std::make_unique<base::Closure>( base::Bind(&ChildFrameCompositorFrameSwapCounter::OnFrameSwapped, weak_factory_.GetWeakPtr()))); } @@ -10798,7 +10798,7 @@ : public SitePerProcessBrowserTest { public: RequestDelayingSitePerProcessBrowserTest() - : test_server_(base::MakeUnique<net::EmbeddedTestServer>()) {} + : test_server_(std::make_unique<net::EmbeddedTestServer>()) {} // Must be called after any calls to SetDelayedRequestsForPath. void SetUpEmbeddedTestServer() { @@ -10846,7 +10846,7 @@ // send an empty response. if (it->second > 0) { --it->second; - return base::MakeUnique<DelayedResponse>(this); + return std::make_unique<DelayedResponse>(this); } MaybeStartRequests(); return std::unique_ptr<net::test_server::BasicHttpResponse>();
diff --git a/content/browser/site_per_process_mac_browsertest.mm b/content/browser/site_per_process_mac_browsertest.mm index 5e9faf9e..ccee24ea 100644 --- a/content/browser/site_per_process_mac_browsertest.mm +++ b/content/browser/site_per_process_mac_browsertest.mm
@@ -197,10 +197,10 @@ child_iframe_node->current_frame_host()->GetRenderWidgetHost(); std::unique_ptr<InputEventAckWaiter> gesture_scroll_begin_ack_observer = - base::MakeUnique<InputEventAckWaiter>( + std::make_unique<InputEventAckWaiter>( blink::WebInputEvent::kGestureScrollBegin); std::unique_ptr<InputEventAckWaiter> gesture_scroll_end_ack_observer = - base::MakeUnique<InputEventAckWaiter>( + std::make_unique<InputEventAckWaiter>( blink::WebInputEvent::kGestureScrollEnd); child_rwh->AddInputEventObserver(gesture_scroll_begin_ack_observer.get()); child_rwh->AddInputEventObserver(gesture_scroll_end_ack_observer.get());
diff --git a/content/browser/speech/speech_recognizer_impl_unittest.cc b/content/browser/speech/speech_recognizer_impl_unittest.cc index 6f2b042..4515018 100644 --- a/content/browser/speech/speech_recognizer_impl_unittest.cc +++ b/content/browser/speech/speech_recognizer_impl_unittest.cc
@@ -66,7 +66,7 @@ const int kTestingSessionId = 1; audio_manager_.reset(new media::MockAudioManager( - base::MakeUnique<media::TestAudioThread>(true))); + std::make_unique<media::TestAudioThread>(true))); audio_manager_->SetInputStreamParameters( media::AudioParameters::UnavailableDeviceParams()); audio_system_ =
diff --git a/content/browser/ssl/ssl_manager.cc b/content/browser/ssl/ssl_manager.cc index 113b5cb5..c4b51cd6 100644 --- a/content/browser/ssl/ssl_manager.cc +++ b/content/browser/ssl/ssl_manager.cc
@@ -176,7 +176,7 @@ SSLManagerSet* managers = static_cast<SSLManagerSet*>( controller_->GetBrowserContext()->GetUserData(kSSLManagerKeyName)); if (!managers) { - auto managers_owned = base::MakeUnique<SSLManagerSet>(); + auto managers_owned = std::make_unique<SSLManagerSet>(); managers = managers_owned.get(); controller_->GetBrowserContext()->SetUserData(kSSLManagerKeyName, std::move(managers_owned));
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc index 011f314b..e2f2b67 100644 --- a/content/browser/storage_partition_impl.cc +++ b/content/browser/storage_partition_impl.cc
@@ -261,7 +261,7 @@ scoped_refptr<net::URLRequestContextGetter> context_getter) { DCHECK_CURRENTLY_ON(BrowserThread::IO); context_getter_ = std::move(context_getter); - network_context_ = base::MakeUnique<NetworkContext>( + network_context_ = std::make_unique<NetworkContext>( std::move(network_context_request), context_getter_->GetURLRequestContext()); } @@ -592,7 +592,7 @@ if (!network_context_) { DCHECK(!base::FeatureList::IsEnabled(features::kNetworkService)); DCHECK(!network_context_owner_); - network_context_owner_ = base::MakeUnique<NetworkContextOwner>(); + network_context_owner_ = std::make_unique<NetworkContextOwner>(); BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, base::BindOnce(&NetworkContextOwner::Initialize,
diff --git a/content/browser/storage_partition_impl_map.cc b/content/browser/storage_partition_impl_map.cc index c2ead6db..e03e5ab4 100644 --- a/content/browser/storage_partition_impl_map.cc +++ b/content/browser/storage_partition_impl_map.cc
@@ -425,7 +425,7 @@ URLRequestInterceptorScopedVector request_interceptors; request_interceptors.push_back( - base::MakeUnique<DevToolsURLRequestInterceptor>(browser_context_)); + std::make_unique<DevToolsURLRequestInterceptor>(browser_context_)); request_interceptors.push_back(ServiceWorkerRequestHandler::CreateInterceptor( browser_context_->GetResourceContext())); if (ForeignFetchRequestHandler::IsForeignFetchEnabled()) { @@ -433,7 +433,7 @@ ForeignFetchRequestHandler::CreateInterceptor( browser_context_->GetResourceContext())); } - request_interceptors.push_back(base::MakeUnique<AppCacheInterceptor>()); + request_interceptors.push_back(std::make_unique<AppCacheInterceptor>()); // These calls must happen after StoragePartitionImpl::Create(). if (partition_domain.empty()) {
diff --git a/content/browser/storage_partition_impl_unittest.cc b/content/browser/storage_partition_impl_unittest.cc index 51710fe..b1d88e15 100644 --- a/content/browser/storage_partition_impl_unittest.cc +++ b/content/browser/storage_partition_impl_unittest.cc
@@ -335,7 +335,7 @@ filesystem_context_->GetAsyncFileUtil( storage::kFileSystemTypePluginPrivate); std::unique_ptr<storage::FileSystemOperationContext> operation_context = - base::MakeUnique<storage::FileSystemOperationContext>( + std::make_unique<storage::FileSystemOperationContext>( filesystem_context_); async_file_util->CreateOrOpen( std::move(operation_context), clearkey_file_, @@ -381,7 +381,7 @@ storage::AsyncFileUtil* file_util = filesystem_context_->GetAsyncFileUtil( storage::kFileSystemTypePluginPrivate); std::unique_ptr<storage::FileSystemOperationContext> operation_context = - base::MakeUnique<storage::FileSystemOperationContext>( + std::make_unique<storage::FileSystemOperationContext>( filesystem_context_); operation_context->set_allowed_bytes_growth( storage::QuotaManager::kNoLimit); @@ -398,7 +398,7 @@ storage::AsyncFileUtil* file_util = filesystem_context_->GetAsyncFileUtil( storage::kFileSystemTypePluginPrivate); std::unique_ptr<storage::FileSystemOperationContext> operation_context = - base::MakeUnique<storage::FileSystemOperationContext>( + std::make_unique<storage::FileSystemOperationContext>( filesystem_context_); file_util->DeleteFile( std::move(operation_context), file_url, @@ -415,7 +415,7 @@ storage::AsyncFileUtil* file_util = filesystem_context_->GetAsyncFileUtil( storage::kFileSystemTypePluginPrivate); std::unique_ptr<storage::FileSystemOperationContext> operation_context = - base::MakeUnique<storage::FileSystemOperationContext>( + std::make_unique<storage::FileSystemOperationContext>( filesystem_context_); file_util->Touch(std::move(operation_context), file_url, time_stamp, time_stamp,
diff --git a/content/browser/streams/stream_context.cc b/content/browser/streams/stream_context.cc index b23d083c..7aafca3a 100644 --- a/content/browser/streams/stream_context.cc +++ b/content/browser/streams/stream_context.cc
@@ -27,7 +27,7 @@ scoped_refptr<StreamContext> stream = new StreamContext(); context->SetUserData( kStreamContextKeyName, - base::MakeUnique<UserDataAdapter<StreamContext>>(stream.get())); + std::make_unique<UserDataAdapter<StreamContext>>(stream.get())); // Check first to avoid memory leak in unittests. if (BrowserThread::IsMessageLoopValid(BrowserThread::IO)) { BrowserThread::PostTask(
diff --git a/content/browser/streams/stream_url_request_job_unittest.cc b/content/browser/streams/stream_url_request_job_unittest.cc index 2301b0d..21cfab09 100644 --- a/content/browser/streams/stream_url_request_job_unittest.cc +++ b/content/browser/streams/stream_url_request_job_unittest.cc
@@ -61,7 +61,7 @@ registry_.reset(new StreamRegistry()); url_request_job_factory_.SetProtocolHandler( - "blob", base::MakeUnique<MockProtocolHandler>(registry_.get())); + "blob", std::make_unique<MockProtocolHandler>(registry_.get())); url_request_context_.set_job_factory(&url_request_job_factory_); }
diff --git a/content/browser/tracing/background_tracing_manager_impl.cc b/content/browser/tracing/background_tracing_manager_impl.cc index b59b9be..578fb413 100644 --- a/content/browser/tracing/background_tracing_manager_impl.cc +++ b/content/browser/tracing/background_tracing_manager_impl.cc
@@ -552,9 +552,9 @@ if (!IsAllowedFinalization()) return nullptr; - auto metadata_dict = base::MakeUnique<base::DictionaryValue>(); + auto metadata_dict = std::make_unique<base::DictionaryValue>(); if (config_) { - auto config_dict = base::MakeUnique<base::DictionaryValue>(); + auto config_dict = std::make_unique<base::DictionaryValue>(); config_->IntoDict(config_dict.get()); metadata_dict->Set("config", std::move(config_dict)); }
diff --git a/content/browser/tracing/etw_tracing_agent_win.cc b/content/browser/tracing/etw_tracing_agent_win.cc index 210a4d0..f39b59d1 100644 --- a/content/browser/tracing/etw_tracing_agent_win.cc +++ b/content/browser/tracing/etw_tracing_agent_win.cc
@@ -199,7 +199,7 @@ now_in_us.QuadPart = now.ToInternalValue(); // Add fields to the event. - auto value = base::MakeUnique<base::DictionaryValue>(); + auto value = std::make_unique<base::DictionaryValue>(); value->SetString("guid", "ClockSync"); value->SetString("walltime", base::StringPrintf("%08lX%08lX", walltime_in_us.HighPart, @@ -212,7 +212,7 @@ } void EtwTracingAgent::AppendEventToBuffer(EVENT_TRACE* event) { - auto value = base::MakeUnique<base::DictionaryValue>(); + auto value = std::make_unique<base::DictionaryValue>(); // Add header fields to the event. LARGE_INTEGER ts_us; @@ -255,7 +255,7 @@ void EtwTracingAgent::FlushOnThread() { // Add the header information to the stream. - auto header = base::MakeUnique<base::DictionaryValue>(); + auto header = std::make_unique<base::DictionaryValue>(); header->SetString("name", "ETW"); // Release and pass the events buffer.
diff --git a/content/browser/tracing/memory_instrumentation_browsertest.cc b/content/browser/tracing/memory_instrumentation_browsertest.cc index f9a3874..b935015 100644 --- a/content/browser/tracing/memory_instrumentation_browsertest.cc +++ b/content/browser/tracing/memory_instrumentation_browsertest.cc
@@ -83,7 +83,7 @@ GlobalMemoryDumpPtr before_ptr = DoGlobalDump(); - std::unique_ptr<char[]> buffer = base::MakeUnique<char[]>(kAllocSize); + std::unique_ptr<char[]> buffer = std::make_unique<char[]>(kAllocSize); memset(buffer.get(), 1, kAllocSize); volatile char* x = static_cast<volatile char*>(buffer.get()); EXPECT_EQ(x[0] + x[kAllocSize - 1], 2);
diff --git a/content/browser/tracing/tracing_controller_browsertest.cc b/content/browser/tracing/tracing_controller_browsertest.cc index 66e938e6a..ba3e452 100644 --- a/content/browser/tracing/tracing_controller_browsertest.cc +++ b/content/browser/tracing/tracing_controller_browsertest.cc
@@ -269,7 +269,7 @@ scoped_refptr<TracingController::TraceDataEndpoint> trace_data_endpoint = TracingController::CreateStringEndpoint(callback); - metadata_ = base::MakeUnique<base::DictionaryValue>(); + metadata_ = std::make_unique<base::DictionaryValue>(); metadata_->SetString("not-whitelisted", "this_not_found"); bool result = controller->StopTracing(trace_data_endpoint);
diff --git a/content/browser/tracing/tracing_controller_impl.cc b/content/browser/tracing/tracing_controller_impl.cc index f8c62f80b..c43df00 100644 --- a/content/browser/tracing/tracing_controller_impl.cc +++ b/content/browser/tracing/tracing_controller_impl.cc
@@ -134,18 +134,18 @@ // Register tracing agents. #if defined(ENABLE_POWER_TRACING) - agents_.push_back(base::MakeUnique<PowerTracingAgent>(connector)); + agents_.push_back(std::make_unique<PowerTracingAgent>(connector)); #endif #if defined(OS_CHROMEOS) - agents_.push_back(base::MakeUnique<CrOSTracingAgent>(connector)); - agents_.push_back(base::MakeUnique<ArcTracingAgentImpl>(connector)); + agents_.push_back(std::make_unique<CrOSTracingAgent>(connector)); + agents_.push_back(std::make_unique<ArcTracingAgentImpl>(connector)); #elif defined(OS_WIN) - agents_.push_back(base::MakeUnique<EtwTracingAgent>(connector)); + agents_.push_back(std::make_unique<EtwTracingAgent>(connector)); #endif auto chrome_agent = - base::MakeUnique<tracing::ChromeTraceEventAgent>(connector); + std::make_unique<tracing::ChromeTraceEventAgent>(connector); // For adding general CPU, network, OS, and other system information to the // metadata. chrome_agent->AddMetadataGeneratorFunction(base::BindRepeating( @@ -160,7 +160,7 @@ std::unique_ptr<base::DictionaryValue> TracingControllerImpl::GenerateMetadataDict() const { - auto metadata_dict = base::MakeUnique<base::DictionaryValue>(); + auto metadata_dict = std::make_unique<base::DictionaryValue>(); metadata_dict->SetString("trace-config", trace_config_->ToString()); metadata_dict->SetString("network-type", GetNetworkTypeString()); @@ -291,7 +291,7 @@ const StartTracingDoneCallback& callback) { DCHECK_CURRENTLY_ON(BrowserThread::UI); trace_config_ = - base::MakeUnique<base::trace_event::TraceConfig>(trace_config); + std::make_unique<base::trace_event::TraceConfig>(trace_config); coordinator_->StartTracing( trace_config.ToString(), base::BindRepeating( @@ -375,7 +375,7 @@ if (trace_data_endpoint_) { const std::string chunk(static_cast<const char*>(data), num_bytes); trace_data_endpoint_->ReceiveTraceChunk( - base::MakeUnique<std::string>(chunk)); + std::make_unique<std::string>(chunk)); } } @@ -406,12 +406,12 @@ if (metadata_filter.is_null()) { filtered_metadata_ = std::move(metadata); } else { - filtered_metadata_ = base::MakeUnique<base::DictionaryValue>(); + filtered_metadata_ = std::make_unique<base::DictionaryValue>(); for (base::DictionaryValue::Iterator it(*metadata); !it.IsAtEnd(); it.Advance()) { if (metadata_filter.Run(it.key())) { filtered_metadata_->Set( - it.key(), base::MakeUnique<base::Value>(it.value().Clone())); + it.key(), std::make_unique<base::Value>(it.value().Clone())); } else { filtered_metadata_->SetString(it.key(), "__stripped__"); }
diff --git a/content/browser/tracing/tracing_controller_impl_data_endpoint.cc b/content/browser/tracing/tracing_controller_impl_data_endpoint.cc index 0d4f1d66d1..9d69891d 100644 --- a/content/browser/tracing/tracing_controller_impl_data_endpoint.cc +++ b/content/browser/tracing/tracing_controller_impl_data_endpoint.cc
@@ -201,7 +201,7 @@ int bytes = kChunkSize - stream_->avail_out; if (bytes) { std::string compressed(buffer, bytes); - endpoint_->ReceiveTraceChunk(base::MakeUnique<std::string>(compressed)); + endpoint_->ReceiveTraceChunk(std::make_unique<std::string>(compressed)); } } while (stream_->avail_out == 0); }
diff --git a/content/browser/utility_process_host_impl.cc b/content/browser/utility_process_host_impl.cc index d6be558..1d0d0829 100644 --- a/content/browser/utility_process_host_impl.cc +++ b/content/browser/utility_process_host_impl.cc
@@ -252,7 +252,7 @@ // As a workaround skip calling it here, since the executable name is // not needed on Android anyway. See crbug.com/500854. std::unique_ptr<base::CommandLine> cmd_line = - base::MakeUnique<base::CommandLine>(base::CommandLine::NO_PROGRAM); + std::make_unique<base::CommandLine>(base::CommandLine::NO_PROGRAM); #else int child_flags = child_flags_; @@ -271,7 +271,7 @@ } std::unique_ptr<base::CommandLine> cmd_line = - base::MakeUnique<base::CommandLine>(exe_path); + std::make_unique<base::CommandLine>(exe_path); #endif cmd_line->AppendSwitchASCII(switches::kProcessType, @@ -336,7 +336,7 @@ *service_identity_, cmd_line.get()); } - process_->Launch(base::MakeUnique<UtilitySandboxedProcessLauncherDelegate>( + process_->Launch(std::make_unique<UtilitySandboxedProcessLauncherDelegate>( exposed_dir_, run_elevated_, sandbox_type_, env_), std::move(cmd_line), true); }
diff --git a/content/browser/web_contents/aura/gesture_nav_simple.cc b/content/browser/web_contents/aura/gesture_nav_simple.cc index 2f2fd6c0..184563fc 100644 --- a/content/browser/web_contents/aura/gesture_nav_simple.cc +++ b/content/browser/web_contents/aura/gesture_nav_simple.cc
@@ -326,7 +326,7 @@ state_ = State::ABORTING; - animation_ = base::MakeUnique<gfx::LinearAnimation>( + animation_ = std::make_unique<gfx::LinearAnimation>( GetAffordanceProgress() * kAbortAnimationDuration, gfx::LinearAnimation::kDefaultFrameRate, this); animation_->Start(); @@ -338,7 +338,7 @@ state_ = State::COMPLETING; - animation_ = base::MakeUnique<gfx::LinearAnimation>( + animation_ = std::make_unique<gfx::LinearAnimation>( kRippleBurstAnimationDuration, gfx::LinearAnimation::kDefaultFrameRate, this); animation_->Start(); @@ -646,7 +646,7 @@ DCHECK_LE(0, max_delta_); aura::Window* window = web_contents_->GetNativeView(); - affordance_ = base::MakeUnique<Affordance>( + affordance_ = std::make_unique<Affordance>( this, mode_, window->bounds(), max_delta_ / completion_threshold_); // Adding the affordance as a child of the content window is not sufficient,
diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc index e9f632c..7a52b02 100644 --- a/content/browser/web_contents/web_contents_android.cc +++ b/content/browser/web_contents/web_contents_android.cc
@@ -591,7 +591,7 @@ WebContentsViewAndroid* view = static_cast<WebContentsViewAndroid*>(web_contents_->GetView()); view->SetOverscrollRefreshHandler( - base::MakeUnique<ui::OverscrollRefreshHandler>( + std::make_unique<ui::OverscrollRefreshHandler>( overscroll_refresh_handler)); }
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc index 6a4a330..8a788f6 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc
@@ -1860,7 +1860,7 @@ void WebContentsImpl::AddDestructionObserver(WebContentsImpl* web_contents) { if (!ContainsKey(destruction_observers_, web_contents)) { destruction_observers_[web_contents] = - base::MakeUnique<DestructionObserver>(this, web_contents); + std::make_unique<DestructionObserver>(this, web_contents); } } @@ -3329,7 +3329,7 @@ "triggered by user request." policy_exception_justification: "Not implemented." })"); - auto params = base::MakeUnique<DownloadUrlParameters>( + auto params = std::make_unique<DownloadUrlParameters>( url, frame_host->GetProcess()->GetID(), frame_host->GetRenderViewHost()->GetRoutingID(), frame_host->GetRoutingID(), storage_partition->GetURLRequestContext(), @@ -5714,12 +5714,12 @@ } std::unique_ptr<WebUIImpl> WebContentsImpl::CreateWebUI(const GURL& url) { - std::unique_ptr<WebUIImpl> web_ui = base::MakeUnique<WebUIImpl>(this); + std::unique_ptr<WebUIImpl> web_ui = std::make_unique<WebUIImpl>(this); WebUIController* controller = WebUIControllerFactoryRegistry::GetInstance() ->CreateWebUIControllerForURL(web_ui.get(), url); if (controller) { - web_ui->AddMessageHandler(base::MakeUnique<GenericHandler>()); + web_ui->AddMessageHandler(std::make_unique<GenericHandler>()); web_ui->SetController(controller); return web_ui; }
diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc index d800224..af9d1c4 100644 --- a/content/browser/web_contents/web_contents_view_aura.cc +++ b/content/browser/web_contents/web_contents_view_aura.cc
@@ -805,7 +805,7 @@ // value is set shortly after this, so its safe to ignore. DCHECK(aura::Env::GetInstanceDontCreate()); - window_ = base::MakeUnique<aura::Window>(this); + window_ = std::make_unique<aura::Window>(this); window_->set_owned_by_parent(false); window_->SetType(aura::client::WINDOW_TYPE_CONTROL); window_->SetName("WebContentsViewAura");
diff --git a/content/browser/web_contents_binding_set_browsertest.cc b/content/browser/web_contents_binding_set_browsertest.cc index ba90518..9c18a8aa 100644 --- a/content/browser/web_contents_binding_set_browsertest.cc +++ b/content/browser/web_contents_binding_set_browsertest.cc
@@ -80,7 +80,7 @@ WebContentsBindingSet::GetForWebContents< mojom::BrowserAssociatedInterfaceTestDriver>(web_contents) ->SetBinderForTesting( - base::MakeUnique<TestInterfaceBinder>(run_loop.QuitClosure())); + std::make_unique<TestInterfaceBinder>(run_loop.QuitClosure())); // Simulate an inbound request for the test interface. This should get routed // to the overriding binder and allow the test to complete.
diff --git a/content/browser/webrtc/webrtc_internals.cc b/content/browser/webrtc/webrtc_internals.cc index d8285f1..f227182 100644 --- a/content/browser/webrtc/webrtc_internals.cc +++ b/content/browser/webrtc/webrtc_internals.cc
@@ -47,7 +47,7 @@ base::ListValue* EnsureLogList(base::DictionaryValue* dict) { base::ListValue* log = NULL; if (!dict->GetList("log", &log)) - log = dict->SetList("log", base::MakeUnique<base::ListValue>()); + log = dict->SetList("log", std::make_unique<base::ListValue>()); return log; } @@ -191,7 +191,7 @@ if (!observers_.might_have_observers()) return; - auto log_entry = base::MakeUnique<base::DictionaryValue>(); + auto log_entry = std::make_unique<base::DictionaryValue>(); double epoch_time = base::Time::Now().ToJsTime(); string time = base::DoubleToString(epoch_time); @@ -199,7 +199,7 @@ log_entry->SetString("type", type); log_entry->SetString("value", value); - auto update = base::MakeUnique<base::DictionaryValue>(); + auto update = std::make_unique<base::DictionaryValue>(); update->SetInteger("pid", static_cast<int>(pid)); update->SetInteger("lid", lid); update->MergeDictionary(log_entry.get()); @@ -215,7 +215,7 @@ if (!observers_.might_have_observers()) return; - auto dict = base::MakeUnique<base::DictionaryValue>(); + auto dict = std::make_unique<base::DictionaryValue>(); dict->SetInteger("pid", static_cast<int>(pid)); dict->SetInteger("lid", lid); @@ -233,7 +233,7 @@ const std::string& video_constraints) { DCHECK_CURRENTLY_ON(BrowserThread::UI); - auto dict = base::MakeUnique<base::DictionaryValue>(); + auto dict = std::make_unique<base::DictionaryValue>(); dict->SetInteger("rid", rid); dict->SetInteger("pid", static_cast<int>(pid)); dict->SetString("origin", origin);
diff --git a/content/browser/webrtc/webrtc_internals_ui.cc b/content/browser/webrtc/webrtc_internals_ui.cc index 027ab873..6e26375 100644 --- a/content/browser/webrtc/webrtc_internals_ui.cc +++ b/content/browser/webrtc/webrtc_internals_ui.cc
@@ -36,7 +36,7 @@ WebRTCInternalsUI::WebRTCInternalsUI(WebUI* web_ui) : WebUIController(web_ui) { - web_ui->AddMessageHandler(base::MakeUnique<WebRTCInternalsMessageHandler>()); + web_ui->AddMessageHandler(std::make_unique<WebRTCInternalsMessageHandler>()); BrowserContext* browser_context = web_ui->GetWebContents()->GetBrowserContext();
diff --git a/content/browser/webui/url_data_manager.cc b/content/browser/webui/url_data_manager.cc index f45d227..8ef8418 100644 --- a/content/browser/webui/url_data_manager.cc +++ b/content/browser/webui/url_data_manager.cc
@@ -34,7 +34,7 @@ URLDataManager* GetFromBrowserContext(BrowserContext* context) { if (!context->GetUserData(kURLDataManagerKeyName)) { context->SetUserData(kURLDataManagerKeyName, - base::MakeUnique<URLDataManager>(context)); + std::make_unique<URLDataManager>(context)); } return static_cast<URLDataManager*>( context->GetUserData(kURLDataManagerKeyName));
diff --git a/content/browser/webui/url_data_manager_backend.cc b/content/browser/webui/url_data_manager_backend.cc index 66e52a3..b4e9e6dc 100644 --- a/content/browser/webui/url_data_manager_backend.cc +++ b/content/browser/webui/url_data_manager_backend.cc
@@ -437,7 +437,7 @@ ResourceContext* resource_context, ChromeBlobStorageContext* blob_storage_context) { DCHECK(resource_context); - return base::MakeUnique<ChromeProtocolHandler>(resource_context, + return std::make_unique<ChromeProtocolHandler>(resource_context, blob_storage_context); }
diff --git a/content/browser/webui/web_ui_mojo_browsertest.cc b/content/browser/webui/web_ui_mojo_browsertest.cc index b54e78bf..5c8b8ce 100644 --- a/content/browser/webui/web_ui_mojo_browsertest.cc +++ b/content/browser/webui/web_ui_mojo_browsertest.cc
@@ -141,7 +141,7 @@ void CreateHandler(mojom::BrowserTargetRequest request) { browser_target_ = - base::MakeUnique<BrowserTargetImpl>(run_loop_, std::move(request)); + std::make_unique<BrowserTargetImpl>(run_loop_, std::move(request)); } private:
diff --git a/content/browser/webui/web_ui_url_loader_factory.cc b/content/browser/webui/web_ui_url_loader_factory.cc index 61bcfd0..bdca9ba 100644 --- a/content/browser/webui/web_ui_url_loader_factory.cc +++ b/content/browser/webui/web_ui_url_loader_factory.cc
@@ -290,7 +290,7 @@ int ftn_id = node->frame_tree_node_id(); if (g_web_ui_url_loader_factories.Get()[ftn_id].get() == nullptr) g_web_ui_url_loader_factories.Get()[ftn_id] = - base::MakeUnique<WebUIURLLoaderFactory>(node); + std::make_unique<WebUIURLLoaderFactory>(node); return g_web_ui_url_loader_factories.Get()[ftn_id]->CreateBinding(); }
diff --git a/content/child/child_histogram_fetcher_impl.cc b/content/child/child_histogram_fetcher_impl.cc index 31a6b2e..f574244 100644 --- a/content/child/child_histogram_fetcher_impl.cc +++ b/content/child/child_histogram_fetcher_impl.cc
@@ -26,7 +26,7 @@ void ChildHistogramFetcherFactoryImpl::Create( content::mojom::ChildHistogramFetcherFactoryRequest request) { - mojo::MakeStrongBinding(base::MakeUnique<ChildHistogramFetcherFactoryImpl>(), + mojo::MakeStrongBinding(std::make_unique<ChildHistogramFetcherFactoryImpl>(), std::move(request)); } @@ -51,7 +51,7 @@ global_allocator->CreateTrackingHistograms(global_allocator->Name()); content::mojom::ChildHistogramFetcherPtr child_histogram_interface; - mojo::MakeStrongBinding(base::MakeUnique<ChildHistogramFetcherImpl>(), + mojo::MakeStrongBinding(std::make_unique<ChildHistogramFetcherImpl>(), std::move(request)); }
diff --git a/content/child/child_thread_impl.cc b/content/child/child_thread_impl.cc index 41b4f085..0a90b60 100644 --- a/content/child/child_thread_impl.cc +++ b/content/child/child_thread_impl.cc
@@ -413,7 +413,7 @@ mojo::ScopedMessagePipeHandle handle = mojo::MakeRequest(&bootstrap).PassMessagePipe(); service_manager_connection_->AddConnectionFilter( - base::MakeUnique<ChannelBootstrapFilter>(bootstrap.PassInterface())); + std::make_unique<ChannelBootstrapFilter>(bootstrap.PassInterface())); channel_->Init( IPC::ChannelMojo::CreateClientFactory( @@ -470,14 +470,14 @@ thread_safe_sender_ = new ThreadSafeSender( message_loop_->task_runner(), sync_message_filter_.get()); - auto registry = base::MakeUnique<service_manager::BinderRegistry>(); + auto registry = std::make_unique<service_manager::BinderRegistry>(); registry->AddInterface(base::Bind(&ChildHistogramFetcherFactoryImpl::Create), GetIOTaskRunner()); registry->AddInterface(base::Bind(&ChildThreadImpl::OnChildControlRequest, base::Unretained(this)), base::ThreadTaskRunnerHandle::Get()); GetServiceManagerConnection()->AddConnectionFilter( - base::MakeUnique<SimpleConnectionFilter>(std::move(registry))); + std::make_unique<SimpleConnectionFilter>(std::move(registry))); InitTracing(); @@ -510,7 +510,7 @@ // not create the power monitor. if (!base::PowerMonitor::Get() && service_manager_connection_) { auto power_monitor_source = - base::MakeUnique<device::PowerMonitorBroadcastSource>( + std::make_unique<device::PowerMonitorBroadcastSource>( GetConnector(), GetIOTaskRunner()); power_monitor_.reset( new base::PowerMonitor(std::move(power_monitor_source))); @@ -598,7 +598,7 @@ ChildProcess::current()->io_task_runner())); chrome_trace_event_agent_ = - base::MakeUnique<tracing::ChromeTraceEventAgent>(GetConnector()); + std::make_unique<tracing::ChromeTraceEventAgent>(GetConnector()); } ChildThreadImpl::~ChildThreadImpl() { @@ -707,7 +707,7 @@ return nullptr; } - return base::MakeUnique<base::SharedMemory>(shared_buf, false); + return std::make_unique<base::SharedMemory>(shared_buf, false); } #if defined(OS_LINUX)
diff --git a/content/common/common_param_traits_unittest.cc b/content/common/common_param_traits_unittest.cc index ea3ac26a..984c00cf 100644 --- a/content/common/common_param_traits_unittest.cc +++ b/content/common/common_param_traits_unittest.cc
@@ -91,7 +91,7 @@ base::ListValue input; input.AppendDouble(42.42); input.AppendString("forty"); - input.Append(base::MakeUnique<base::Value>()); + input.Append(std::make_unique<base::Value>()); IPC::Message msg(1, 2, IPC::Message::PRIORITY_NORMAL); IPC::WriteParam(&msg, input); @@ -111,15 +111,15 @@ TEST(IPCMessageTest, DictionaryValue) { base::DictionaryValue input; - input.Set("null", base::MakeUnique<base::Value>()); + input.Set("null", std::make_unique<base::Value>()); input.SetBoolean("bool", true); input.SetInteger("int", 42); - auto subdict = base::MakeUnique<base::DictionaryValue>(); + auto subdict = std::make_unique<base::DictionaryValue>(); subdict->SetString("str", "forty two"); subdict->SetBoolean("bool", false); - auto sublist = base::MakeUnique<base::ListValue>(); + auto sublist = std::make_unique<base::ListValue>(); sublist->AppendDouble(42.42); sublist->AppendString("forty"); sublist->AppendString("two");
diff --git a/content/common/font_list_mac.mm b/content/common/font_list_mac.mm index 2648a32..67d3d85 100644 --- a/content/common/font_list_mac.mm +++ b/content/common/font_list_mac.mm
@@ -34,7 +34,7 @@ for (NSString* family_name in sortedFonts) { NSString* localized_family_name = fonts_dict[family_name]; - auto font_item = base::MakeUnique<base::ListValue>(); + auto font_item = std::make_unique<base::ListValue>(); font_item->AppendString(base::SysNSStringToUTF16(family_name)); font_item->AppendString(base::SysNSStringToUTF16(localized_family_name)); font_list->Append(std::move(font_item));
diff --git a/content/common/font_list_win.cc b/content/common/font_list_win.cc index cd1b8aa..07ecc12 100644 --- a/content/common/font_list_win.cc +++ b/content/common/font_list_win.cc
@@ -47,7 +47,7 @@ std::unique_ptr<base::ListValue> font_list(new base::ListValue); std::set<base::string16>::iterator iter; for (iter = font_names.begin(); iter != font_names.end(); ++iter) { - auto font_item = base::MakeUnique<base::ListValue>(); + auto font_item = std::make_unique<base::ListValue>(); font_item->AppendString(*iter); font_item->AppendString(*iter); font_list->Append(std::move(font_item));
diff --git a/content/common/input/input_param_traits_unittest.cc b/content/common/input/input_param_traits_unittest.cc index 4bc88c5f..7235849 100644 --- a/content/common/input/input_param_traits_unittest.cc +++ b/content/common/input/input_param_traits_unittest.cc
@@ -85,35 +85,35 @@ blink::WebInputEvent::kNoModifiers, blink::WebInputEvent::kTimeStampForTesting); key_event.native_key_code = 5; - events.push_back(base::MakeUnique<InputEvent>(key_event, latency)); + events.push_back(std::make_unique<InputEvent>(key_event, latency)); blink::WebMouseWheelEvent wheel_event( blink::WebInputEvent::kMouseWheel, blink::WebInputEvent::kNoModifiers, blink::WebInputEvent::kTimeStampForTesting); wheel_event.delta_x = 10; latency.AddLatencyNumber(ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 1, 1); - events.push_back(base::MakeUnique<InputEvent>(wheel_event, latency)); + events.push_back(std::make_unique<InputEvent>(wheel_event, latency)); blink::WebMouseEvent mouse_event(blink::WebInputEvent::kMouseDown, blink::WebInputEvent::kNoModifiers, blink::WebInputEvent::kTimeStampForTesting); mouse_event.SetPositionInWidget(10, 0); latency.AddLatencyNumber(ui::INPUT_EVENT_LATENCY_UI_COMPONENT, 2, 2); - events.push_back(base::MakeUnique<InputEvent>(mouse_event, latency)); + events.push_back(std::make_unique<InputEvent>(mouse_event, latency)); blink::WebGestureEvent gesture_event( blink::WebInputEvent::kGestureScrollBegin, blink::WebInputEvent::kNoModifiers, blink::WebInputEvent::kTimeStampForTesting); gesture_event.x = -1; - events.push_back(base::MakeUnique<InputEvent>(gesture_event, latency)); + events.push_back(std::make_unique<InputEvent>(gesture_event, latency)); blink::WebTouchEvent touch_event(blink::WebInputEvent::kTouchStart, blink::WebInputEvent::kNoModifiers, blink::WebInputEvent::kTimeStampForTesting); touch_event.touches_length = 1; touch_event.touches[0].radius_x = 1; - events.push_back(base::MakeUnique<InputEvent>(touch_event, latency)); + events.push_back(std::make_unique<InputEvent>(touch_event, latency)); Verify(events); }
diff --git a/content/common/mac/font_loader.mm b/content/common/mac/font_loader.mm index 6c866d9..559243c4 100644 --- a/content/common/mac/font_loader.mm +++ b/content/common/mac/font_loader.mm
@@ -70,7 +70,7 @@ return nullptr; } - auto result = base::MakeUnique<FontLoader::ResultInternal>(); + auto result = std::make_unique<FontLoader::ResultInternal>(); int32_t font_file_size_32 = static_cast<int32_t>(font_file_size_64); if (!result->font_data.CreateAndMapAnonymous(font_file_size_32)) {
diff --git a/content/common/net/url_fetcher.cc b/content/common/net/url_fetcher.cc index 6ac2bf7..ab75940d 100644 --- a/content/common/net/url_fetcher.cc +++ b/content/common/net/url_fetcher.cc
@@ -16,7 +16,7 @@ std::unique_ptr<base::SupportsUserData::Data> CreateURLRequestUserData( int render_process_id, int render_frame_id) { - return base::MakeUnique<URLRequestUserData>(render_process_id, + return std::make_unique<URLRequestUserData>(render_process_id, render_frame_id); }
diff --git a/content/common/service_manager/service_manager_connection_impl.cc b/content/common/service_manager/service_manager_connection_impl.cc index b01fe85..1c72b82 100644 --- a/content/common/service_manager/service_manager_connection_impl.cc +++ b/content/common/service_manager/service_manager_connection_impl.cc
@@ -168,9 +168,8 @@ // Should bind |io_thread_checker_| to the context's thread. DCHECK(io_thread_checker_.CalledOnValidThread()); service_context_.reset(new service_manager::ServiceContext( - base::MakeUnique<service_manager::ForwardingService>(this), - std::move(pending_service_request_), - std::move(io_thread_connector_), + std::make_unique<service_manager::ForwardingService>(this), + std::move(pending_service_request_), std::move(io_thread_connector_), std::move(pending_connector_request_))); // MessageLoopObserver owns itself. @@ -366,8 +365,8 @@ scoped_refptr<base::SequencedTaskRunner> io_task_runner) { if (service_manager_connection_factory) return service_manager_connection_factory->Run(); - return base::MakeUnique<ServiceManagerConnectionImpl>( - std::move(request), io_task_runner); + return std::make_unique<ServiceManagerConnectionImpl>(std::move(request), + io_task_runner); } ServiceManagerConnection::~ServiceManagerConnection() {}
diff --git a/content/common/service_manager/service_manager_connection_impl_unittest.cc b/content/common/service_manager/service_manager_connection_impl_unittest.cc index d8c6ba6..e1b238c2 100644 --- a/content/common/service_manager/service_manager_connection_impl_unittest.cc +++ b/content/common/service_manager/service_manager_connection_impl_unittest.cc
@@ -21,7 +21,7 @@ std::unique_ptr<service_manager::Service> LaunchService( base::WaitableEvent* event) { event->Signal(); - return base::MakeUnique<service_manager::Service>(); + return std::make_unique<service_manager::Service>(); } } // namespace
diff --git a/content/common/throttling_url_loader.cc b/content/common/throttling_url_loader.cc index 8d68781..57720fa 100644 --- a/content/common/throttling_url_loader.cc +++ b/content/common/throttling_url_loader.cc
@@ -187,7 +187,7 @@ if (!loader_cancelled_) { DCHECK_EQ(DEFERRED_START, deferred_stage_); priority_info_ = - base::MakeUnique<PriorityInfo>(priority, intra_priority_value); + std::make_unique<PriorityInfo>(priority, intra_priority_value); } return; } @@ -241,7 +241,7 @@ if (deferred) { deferred_stage_ = DEFERRED_START; start_info_ = - base::MakeUnique<StartInfo>(factory, routing_id, request_id, options, + std::make_unique<StartInfo>(factory, routing_id, request_id, options, std::move(start_loader_callback), url_request, std::move(task_runner)); return; @@ -334,7 +334,7 @@ if (deferred) { deferred_stage_ = DEFERRED_RESPONSE; - response_info_ = base::MakeUnique<ResponseInfo>( + response_info_ = std::make_unique<ResponseInfo>( response_head, ssl_info, std::move(downloaded_file)); client_binding_.PauseIncomingMethodCallProcessing(); return; @@ -365,7 +365,7 @@ if (deferred) { deferred_stage_ = DEFERRED_REDIRECT; redirect_info_ = - base::MakeUnique<RedirectInfo>(redirect_info, response_head); + std::make_unique<RedirectInfo>(redirect_info, response_head); client_binding_.PauseIncomingMethodCallProcessing(); return; } @@ -512,7 +512,7 @@ ThrottlingURLLoader* loader, std::unique_ptr<URLLoaderThrottle> the_throttle) : delegate( - base::MakeUnique<ForwardingThrottleDelegate>(loader, + std::make_unique<ForwardingThrottleDelegate>(loader, the_throttle.get())), throttle(std::move(the_throttle)) { throttle->set_delegate(delegate.get());
diff --git a/content/common/throttling_url_loader_unittest.cc b/content/common/throttling_url_loader_unittest.cc index 8015f89..b5ceb54 100644 --- a/content/common/throttling_url_loader_unittest.cc +++ b/content/common/throttling_url_loader_unittest.cc
@@ -259,7 +259,7 @@ protected: // testing::Test implementation. void SetUp() override { - auto throttle = base::MakeUnique<TestURLLoaderThrottle>( + auto throttle = std::make_unique<TestURLLoaderThrottle>( base::Bind(&ThrottlingURLLoaderTest::ResetThrottleRawPointer, weak_factory_.GetWeakPtr())); @@ -701,7 +701,7 @@ } TEST_F(ThrottlingURLLoaderTest, MultipleThrottlesBasicSupport) { - throttles_.emplace_back(base::MakeUnique<TestURLLoaderThrottle>()); + throttles_.emplace_back(std::make_unique<TestURLLoaderThrottle>()); auto* throttle2 = static_cast<TestURLLoaderThrottle*>(throttles_.back().get()); CreateLoaderAndStart(); @@ -712,7 +712,7 @@ } TEST_F(ThrottlingURLLoaderTest, BlockWithOneOfMultipleThrottles) { - throttles_.emplace_back(base::MakeUnique<TestURLLoaderThrottle>()); + throttles_.emplace_back(std::make_unique<TestURLLoaderThrottle>()); auto* throttle2 = static_cast<TestURLLoaderThrottle*>(throttles_.back().get()); throttle2->set_will_start_request_callback( @@ -771,7 +771,7 @@ } TEST_F(ThrottlingURLLoaderTest, BlockWithMultipleThrottles) { - throttles_.emplace_back(base::MakeUnique<TestURLLoaderThrottle>()); + throttles_.emplace_back(std::make_unique<TestURLLoaderThrottle>()); auto* throttle2 = static_cast<TestURLLoaderThrottle*>(throttles_.back().get()); @@ -844,7 +844,7 @@ } TEST_F(ThrottlingURLLoaderTest, PauseResumeReadingBodyFromNet) { - throttles_.emplace_back(base::MakeUnique<TestURLLoaderThrottle>()); + throttles_.emplace_back(std::make_unique<TestURLLoaderThrottle>()); auto* throttle2 = static_cast<TestURLLoaderThrottle*>(throttles_.back().get());
diff --git a/content/gpu/gpu_child_thread.cc b/content/gpu/gpu_child_thread.cc index 56659663..976db80 100644 --- a/content/gpu/gpu_child_thread.cc +++ b/content/gpu/gpu_child_thread.cc
@@ -103,7 +103,7 @@ registry_->BindInterface(interface_name, std::move(*interface_pipe)); } else { std::unique_ptr<PendingRequest> request = - base::MakeUnique<PendingRequest>(); + std::make_unique<PendingRequest>(); request->interface_name = interface_name; request->interface_pipe = std::move(*interface_pipe); pending_requests_.push_back(std::move(request)); @@ -191,7 +191,7 @@ associated_registry->AddInterface(base::Bind( &GpuChildThread::CreateVizMainService, base::Unretained(this))); - auto registry = base::MakeUnique<service_manager::BinderRegistry>(); + auto registry = std::make_unique<service_manager::BinderRegistry>(); registry->AddInterface(base::Bind(&GpuChildThread::BindServiceFactoryRequest, weak_factory_.GetWeakPtr()), base::ThreadTaskRunnerHandle::Get()); @@ -199,7 +199,7 @@ GetContentClient()->gpu()->InitializeRegistry(registry.get()); std::unique_ptr<QueueingConnectionFilter> filter = - base::MakeUnique<QueueingConnectionFilter>(GetIOTaskRunner(), + std::make_unique<QueueingConnectionFilter>(GetIOTaskRunner(), std::move(registry)); release_pending_requests_closure_ = filter->GetReleaseCallback(); GetServiceManagerConnection()->AddConnectionFilter(std::move(filter)); @@ -294,7 +294,7 @@ FROM_HERE, base::BindOnce(bind_connector_request, std::move(request))); } - return base::MakeUnique<media::MojoAndroidOverlay>( + return std::make_unique<media::MojoAndroidOverlay>( std::move(overlay_provider), std::move(config), routing_token, std::move(context_ref)); }
diff --git a/content/gpu/gpu_sandbox_hook_linux.cc b/content/gpu/gpu_sandbox_hook_linux.cc index 5809567..3b2559ae 100644 --- a/content/gpu/gpu_sandbox_hook_linux.cc +++ b/content/gpu/gpu_sandbox_hook_linux.cc
@@ -26,6 +26,7 @@ #include "services/service_manager/sandbox/linux/bpf_cros_amd_gpu_policy_linux.h" #include "services/service_manager/sandbox/linux/bpf_cros_arm_gpu_policy_linux.h" #include "services/service_manager/sandbox/linux/bpf_gpu_policy_linux.h" +#include "services/service_manager/sandbox/linux/sandbox_linux.h" using sandbox::bpf_dsl::Policy; using sandbox::syscall_broker::BrokerFilePermission; @@ -259,7 +260,7 @@ DCHECK(!chromeos_arm_gpu); // Create a new broker process with no extra files in whitelist. - static_cast<service_manager::GpuProcessPolicy*>(policy)->set_broker_process( + service_manager::SandboxLinux::GetInstance()->set_broker_process( InitGpuBrokerProcess( []() -> std::unique_ptr<Policy> { return std::make_unique<service_manager::GpuBrokerProcessPolicy>(); @@ -305,7 +306,7 @@ // Add ARM-specific files to whitelist in the broker. std::vector<BrokerFilePermission> permissions; AddArmGpuWhitelist(&permissions); - static_cast<service_manager::GpuProcessPolicy*>(policy)->set_broker_process( + service_manager::SandboxLinux::GetInstance()->set_broker_process( InitGpuBrokerProcess( []() -> std::unique_ptr<Policy> { return std::make_unique< @@ -335,7 +336,7 @@ std::vector<BrokerFilePermission> permissions; AddAmdGpuWhitelist(&permissions); - static_cast<service_manager::GpuProcessPolicy*>(policy)->set_broker_process( + service_manager::SandboxLinux::GetInstance()->set_broker_process( InitGpuBrokerProcess( []() -> std::unique_ptr<Policy> { return std::make_unique<
diff --git a/content/network/cookie_manager_impl.cc b/content/network/cookie_manager_impl.cc index 01ad3dc..9584e5d 100644 --- a/content/network/cookie_manager_impl.cc +++ b/content/network/cookie_manager_impl.cc
@@ -148,7 +148,7 @@ bool modify_http_only, SetCanonicalCookieCallback callback) { cookie_store_->SetCanonicalCookieAsync( - base::MakeUnique<net::CanonicalCookie>(cookie), secure_source, + std::make_unique<net::CanonicalCookie>(cookie), secure_source, modify_http_only, std::move(callback)); } @@ -167,7 +167,7 @@ cookie_store_->DeleteAllCreatedBetweenWithPredicateAsync( start_time, end_time, base::Bind(&PredicateWrapper::Predicate, - base::MakeUnique<PredicateWrapper>(std::move(filter))), + std::make_unique<PredicateWrapper>(std::move(filter))), std::move(callback)); } @@ -176,7 +176,7 @@ const std::string& name, network::mojom::CookieChangeNotificationPtr notification_pointer) { std::unique_ptr<NotificationRegistration> notification_registration( - base::MakeUnique<NotificationRegistration>()); + std::make_unique<NotificationRegistration>()); notification_registration->notification_pointer = std::move(notification_pointer);
diff --git a/content/network/cookie_manager_impl_unittest.cc b/content/network/cookie_manager_impl_unittest.cc index 574beeaf..0b6898a 100644 --- a/content/network/cookie_manager_impl_unittest.cc +++ b/content/network/cookie_manager_impl_unittest.cc
@@ -139,10 +139,10 @@ CookieManagerImplTest() : connection_error_seen_(false), cookie_monster_(nullptr, nullptr), - cookie_service_(base::MakeUnique<CookieManagerImpl>(&cookie_monster_)) { + cookie_service_(std::make_unique<CookieManagerImpl>(&cookie_monster_)) { cookie_service_->AddRequest(mojo::MakeRequest(&cookie_service_ptr_)); service_wrapper_ = - base::MakeUnique<SynchronousCookieManager>(cookie_service_ptr_.get()); + std::make_unique<SynchronousCookieManager>(cookie_service_ptr_.get()); cookie_service_ptr_.set_connection_error_handler(base::BindOnce( &CookieManagerImplTest::OnConnectionError, base::Unretained(this))); } @@ -157,7 +157,7 @@ bool can_modify_httponly) { net::ResultSavingCookieCallback<bool> callback; cookie_monster_.SetCanonicalCookieAsync( - base::MakeUnique<net::CanonicalCookie>(cookie), secure_source, + std::make_unique<net::CanonicalCookie>(cookie), secure_source, can_modify_httponly, base::BindOnce(&net::ResultSavingCookieCallback<bool>::Run, base::Unretained(&callback))); @@ -1433,7 +1433,7 @@ network::mojom::CookieChangeNotificationRequest request1( mojo::MakeRequest(&ptr1)); std::unique_ptr<CookieChangeNotificationImpl> notification_impl1( - base::MakeUnique<CookieChangeNotificationImpl>(std::move(request1))); + std::make_unique<CookieChangeNotificationImpl>(std::move(request1))); cookie_service_client()->RequestNotification( notification_url, notification_name, std::move(ptr1)); @@ -1441,7 +1441,7 @@ network::mojom::CookieChangeNotificationRequest request2( mojo::MakeRequest(&ptr2)); std::unique_ptr<CookieChangeNotificationImpl> notification_impl2( - base::MakeUnique<CookieChangeNotificationImpl>(std::move(request2))); + std::make_unique<CookieChangeNotificationImpl>(std::move(request2))); cookie_service_client()->RequestNotification( notification_url, notification_name, std::move(ptr2));
diff --git a/content/network/network_context.cc b/content/network/network_context.cc index b0ddf08..e485aba3 100644 --- a/content/network/network_context.cc +++ b/content/network/network_context.cc
@@ -55,7 +55,7 @@ owned_url_request_context_ = MakeURLRequestContext(params_.get()); url_request_context_ = owned_url_request_context_.get(); cookie_manager_ = - base::MakeUnique<CookieManagerImpl>(url_request_context_->cookie_store()); + std::make_unique<CookieManagerImpl>(url_request_context_->cookie_store()); network_service_->RegisterNetworkContext(this); binding_.set_connection_error_handler(base::BindOnce( &NetworkContext::OnConnectionError, base::Unretained(this))); @@ -75,21 +75,21 @@ if (params_ && params_->http_cache_path) { // Only sample 0.1% of NetworkContexts that get created. if (base::RandUint64() % 1000 == 0) - disk_checker_ = base::MakeUnique<DiskChecker>(*params_->http_cache_path); + disk_checker_ = std::make_unique<DiskChecker>(*params_->http_cache_path); } network_service_->RegisterNetworkContext(this); ApplyContextParamsToBuilder(builder.get(), params_.get()); owned_url_request_context_ = builder->Build(); url_request_context_ = owned_url_request_context_.get(); cookie_manager_ = - base::MakeUnique<CookieManagerImpl>(url_request_context_->cookie_store()); + std::make_unique<CookieManagerImpl>(url_request_context_->cookie_store()); } NetworkContext::NetworkContext(mojom::NetworkContextRequest request, net::URLRequestContext* url_request_context) : network_service_(nullptr), binding_(this, std::move(request)), - cookie_manager_(base::MakeUnique<CookieManagerImpl>( + cookie_manager_(std::make_unique<CookieManagerImpl>( url_request_context->cookie_store())) { url_request_context_ = url_request_context; } @@ -125,7 +125,7 @@ mojom::URLLoaderFactoryRequest request, uint32_t process_id) { loader_factory_bindings_.AddBinding( - base::MakeUnique<NetworkServiceURLLoaderFactoryImpl>(this, process_id), + std::make_unique<NetworkServiceURLLoaderFactoryImpl>(this, process_id), std::move(request)); } @@ -146,7 +146,7 @@ // TODO(crbug.com/729800): RestrictedCookieManagerImpl should own its bindings // and NetworkContext should own the RestrictedCookieManagerImpl // instances. - mojo::MakeStrongBinding(base::MakeUnique<RestrictedCookieManagerImpl>( + mojo::MakeStrongBinding(std::make_unique<RestrictedCookieManagerImpl>( url_request_context_->cookie_store(), render_process_id, render_frame_id), std::move(request)); @@ -224,7 +224,7 @@ config.proxy_rules().ParseFromString( command_line->GetSwitchValueASCII(switches::kProxyServer)); std::unique_ptr<net::ProxyConfigService> fixed_config_service = - base::MakeUnique<net::ProxyConfigServiceFixed>(config); + std::make_unique<net::ProxyConfigServiceFixed>(config); builder.set_proxy_config_service(std::move(fixed_config_service)); } else { builder.set_proxy_service(net::ProxyService::CreateDirect());
diff --git a/content/network/network_context_unittest.cc b/content/network/network_context_unittest.cc index a8c15c5..d69e1d05 100644 --- a/content/network/network_context_unittest.cc +++ b/content/network/network_context_unittest.cc
@@ -59,7 +59,7 @@ std::unique_ptr<NetworkContext> CreateContextWithParams( mojom::NetworkContextParamsPtr context_params) { - return base::MakeUnique<NetworkContext>( + return std::make_unique<NetworkContext>( network_service_.get(), mojo::MakeRequest(&network_context_ptr_), std::move(context_params)); }
diff --git a/content/network/network_service_impl.cc b/content/network/network_service_impl.cc index 97f8053..4697766 100644 --- a/content/network/network_service_impl.cc +++ b/content/network/network_service_impl.cc
@@ -27,7 +27,7 @@ namespace content { std::unique_ptr<NetworkService> NetworkService::Create(net::NetLog* net_log) { - return base::MakeUnique<NetworkServiceImpl>(nullptr, net_log); + return std::make_unique<NetworkServiceImpl>(nullptr, net_log); } class NetworkServiceImpl::MojoNetLog : public net::NetLog { @@ -131,7 +131,7 @@ std::unique_ptr<net::URLRequestContextBuilder> builder, net::URLRequestContext** url_request_context) { std::unique_ptr<NetworkContext> network_context = - base::MakeUnique<NetworkContext>(this, std::move(request), + std::make_unique<NetworkContext>(this, std::move(request), std::move(params), std::move(builder)); *url_request_context = network_context->url_request_context(); return network_context; @@ -139,7 +139,7 @@ std::unique_ptr<NetworkServiceImpl> NetworkServiceImpl::CreateForTesting() { return base::WrapUnique(new NetworkServiceImpl( - base::MakeUnique<service_manager::BinderRegistry>())); + std::make_unique<service_manager::BinderRegistry>())); } void NetworkServiceImpl::RegisterNetworkContext(
diff --git a/content/network/network_service_unittest.cc b/content/network/network_service_unittest.cc index 32149bc..fd736fa5 100644 --- a/content/network/network_service_unittest.cc +++ b/content/network/network_service_unittest.cc
@@ -155,7 +155,7 @@ private: std::unique_ptr<service_manager::Service> CreateService() override { - return base::MakeUnique<ServiceTestClient>(this); + return std::make_unique<ServiceTestClient>(this); } void SetUp() override {
diff --git a/content/network/restricted_cookie_manager_impl.cc b/content/network/restricted_cookie_manager_impl.cc index ee9ed6d..091367b0 100644 --- a/content/network/restricted_cookie_manager_impl.cc +++ b/content/network/restricted_cookie_manager_impl.cc
@@ -102,7 +102,7 @@ // set these fields. net::CookieSameSite cookie_same_site_mode = net::CookieSameSite::STRICT_MODE; net::CookiePriority cookie_priority = net::COOKIE_PRIORITY_DEFAULT; - auto sanitized_cookie = base::MakeUnique<net::CanonicalCookie>( + auto sanitized_cookie = std::make_unique<net::CanonicalCookie>( cookie.Name(), cookie.Value(), cookie.Domain(), cookie.Path(), now, cookie.ExpiryDate(), now, cookie.IsSecure(), cookie.IsHttpOnly(), cookie_same_site_mode, cookie_priority);
diff --git a/content/network/restricted_cookie_manager_impl_unittest.cc b/content/network/restricted_cookie_manager_impl_unittest.cc index 411d394..08b1ca5 100644 --- a/content/network/restricted_cookie_manager_impl_unittest.cc +++ b/content/network/restricted_cookie_manager_impl_unittest.cc
@@ -81,12 +81,12 @@ RestrictedCookieManagerImplTest() : cookie_monster_(nullptr, nullptr), service_( - base::MakeUnique<RestrictedCookieManagerImpl>(&cookie_monster_, + std::make_unique<RestrictedCookieManagerImpl>(&cookie_monster_, MSG_ROUTING_NONE, MSG_ROUTING_NONE)), binding_(service_.get(), mojo::MakeRequest(&service_ptr_)) { sync_service_ = - base::MakeUnique<RestrictedCookieManagerSync>(service_ptr_.get()); + std::make_unique<RestrictedCookieManagerSync>(service_ptr_.get()); } ~RestrictedCookieManagerImplTest() override {} @@ -105,7 +105,7 @@ bool can_modify_httponly) { net::ResultSavingCookieCallback<bool> callback; cookie_monster_.SetCanonicalCookieAsync( - base::MakeUnique<net::CanonicalCookie>(cookie), secure_source, + std::make_unique<net::CanonicalCookie>(cookie), secure_source, can_modify_httponly, base::BindOnce(&net::ResultSavingCookieCallback<bool>::Run, base::Unretained(&callback)));
diff --git a/content/network/url_loader_impl.cc b/content/network/url_loader_impl.cc index 22fc24f..28fca4a 100644 --- a/content/network/url_loader_impl.cc +++ b/content/network/url_loader_impl.cc
@@ -226,10 +226,10 @@ switch (element.type()) { case ResourceRequestBody::Element::TYPE_BYTES: element_readers.push_back( - base::MakeUnique<BytesElementReader>(body, element)); + std::make_unique<BytesElementReader>(body, element)); break; case ResourceRequestBody::Element::TYPE_FILE: - element_readers.push_back(base::MakeUnique<FileElementReader>( + element_readers.push_back(std::make_unique<FileElementReader>( body, file_task_runner, element)); break; case ResourceRequestBody::Element::TYPE_FILE_FILESYSTEM: @@ -256,7 +256,7 @@ } } - return base::MakeUnique<net::ElementsUploadDataStream>( + return std::make_unique<net::ElementsUploadDataStream>( std::move(element_readers), body->identifier()); } @@ -305,7 +305,7 @@ CreateUploadDataStream(request.request_body.get(), task_runner.get())); if (request.enable_upload_progress) { - upload_progress_tracker_ = base::MakeUnique<UploadProgressTracker>( + upload_progress_tracker_ = std::make_unique<UploadProgressTracker>( FROM_HERE, base::BindRepeating(&URLLoaderImpl::SendUploadProgress, base::Unretained(this)),
diff --git a/content/ppapi_plugin/ppapi_thread.cc b/content/ppapi_plugin/ppapi_thread.cc index 37adea0..b05eed02 100644 --- a/content/ppapi_plugin/ppapi_thread.cc +++ b/content/ppapi_plugin/ppapi_thread.cc
@@ -138,7 +138,7 @@ ChildThread::Get()->GetConnector()->BindInterface( mojom::kBrowserServiceName, mojo::MakeRequest(&manager_ptr)); } - discardable_shared_memory_manager_ = base::MakeUnique< + discardable_shared_memory_manager_ = std::make_unique< discardable_memory::ClientDiscardableSharedMemoryManager>( std::move(manager_ptr), GetIOTaskRunner()); base::DiscardableMemoryAllocator::SetInstance(
diff --git a/content/public/browser/provision_fetcher_impl.cc b/content/public/browser/provision_fetcher_impl.cc index edb2e5c0..2cbef6da 100644 --- a/content/public/browser/provision_fetcher_impl.cc +++ b/content/public/browser/provision_fetcher_impl.cc
@@ -16,7 +16,7 @@ net::URLRequestContextGetter* context_getter, media::mojom::ProvisionFetcherRequest request) { DCHECK(context_getter); - mojo::MakeStrongBinding(base::MakeUnique<ProvisionFetcherImpl>( + mojo::MakeStrongBinding(std::make_unique<ProvisionFetcherImpl>( CreateProvisionFetcher(context_getter)), std::move(request)); }
diff --git a/content/public/browser/web_contents_binding_set.h b/content/public/browser/web_contents_binding_set.h index 0b56e88..fe92574 100644 --- a/content/public/browser/web_contents_binding_set.h +++ b/content/public/browser/web_contents_binding_set.h
@@ -116,7 +116,7 @@ : WebContentsBindingSet( web_contents, Interface::Name_, - base::MakeUnique<FrameInterfaceBinder>(this, web_contents, impl)) {} + std::make_unique<FrameInterfaceBinder>(this, web_contents, impl)) {} ~WebContentsFrameBindingSet() {} // Returns the RenderFrameHost currently targeted by a message dispatch to
diff --git a/content/public/common/simple_url_loader.cc b/content/public/common/simple_url_loader.cc index 04a4200..bf906cc 100644 --- a/content/public/common/simple_url_loader.cc +++ b/content/public/common/simple_url_loader.cc
@@ -393,7 +393,7 @@ DCHECK(!body_); DCHECK(!body_reader_); - body_ = base::MakeUnique<std::string>(); + body_ = std::make_unique<std::string>(); body_reader_ = std::make_unique<BodyReader>(this, max_body_size_); body_reader_->Start(std::move(body_data_pipe)); } @@ -772,7 +772,7 @@ BodyAsStringCallback body_as_string_callback, size_t max_body_size) { DCHECK_LE(max_body_size, kMaxBoundedStringDownloadSize); - body_handler_ = base::MakeUnique<SaveToStringBodyHandler>( + body_handler_ = std::make_unique<SaveToStringBodyHandler>( this, std::move(body_as_string_callback), max_body_size); Start(resource_request, url_loader_factory, annotation_tag); } @@ -782,7 +782,7 @@ mojom::URLLoaderFactory* url_loader_factory, const net::NetworkTrafficAnnotationTag& annotation_tag, BodyAsStringCallback body_as_string_callback) { - body_handler_ = base::MakeUnique<SaveToStringBodyHandler>( + body_handler_ = std::make_unique<SaveToStringBodyHandler>( this, std::move(body_as_string_callback), // int64_t because ResourceRequestCompletionStatus::decoded_body_length is // an int64_t, not a size_t. @@ -980,7 +980,7 @@ } request_state_->response_info = - base::MakeUnique<ResourceResponseHead>(response_head); + std::make_unique<ResourceResponseHead>(response_head); if (!allow_http_error_results_ && response_code / 100 != 2) FinishWithResult(net::ERR_FAILED); } @@ -1125,7 +1125,7 @@ } // namespace std::unique_ptr<SimpleURLLoader> SimpleURLLoader::Create() { - return base::MakeUnique<SimpleURLLoaderImpl>(); + return std::make_unique<SimpleURLLoaderImpl>(); } SimpleURLLoader::~SimpleURLLoader() {}
diff --git a/content/public/common/simple_url_loader_unittest.cc b/content/public/common/simple_url_loader_unittest.cc index c558672..35b44bb 100644 --- a/content/public/common/simple_url_loader_unittest.cc +++ b/content/public/common/simple_url_loader_unittest.cc
@@ -308,7 +308,7 @@ return nullptr; std::unique_ptr<net::test_server::BasicHttpResponse> response = - base::MakeUnique<net::test_server::BasicHttpResponse>(); + std::make_unique<net::test_server::BasicHttpResponse>(); uint32_t length; if (!base::StringToUint(request.GetURL().query(), &length)) { @@ -328,7 +328,7 @@ return nullptr; std::unique_ptr<net::test_server::BasicHttpResponse> response = - base::MakeUnique<net::test_server::BasicHttpResponse>(); + std::make_unique<net::test_server::BasicHttpResponse>(); response->AddCustomHeader("Content-Encoding", "gzip"); response->set_content("Not gzipped"); @@ -343,7 +343,7 @@ return nullptr; std::unique_ptr<net::test_server::RawHttpResponse> response = - base::MakeUnique<net::test_server::RawHttpResponse>( + std::make_unique<net::test_server::RawHttpResponse>( base::StringPrintf("HTTP/1.1 200 OK\r\n" "Content-Length: %" PRIuS "\r\n", strlen(kTruncatedBody) + 4), @@ -1017,7 +1017,7 @@ traffic_annotation) override { ASSERT_FALSE(test_events_.empty()); requested_urls_.push_back(url_request.url); - url_loaders_.push_back(base::MakeUnique<MockURLLoader>( + url_loaders_.push_back(std::make_unique<MockURLLoader>( scoped_task_environment_, std::move(url_loader_request), std::move(client), test_events_.front())); test_events_.pop_front();
diff --git a/content/public/network/ignore_errors_cert_verifier.cc b/content/public/network/ignore_errors_cert_verifier.cc index 3e9ff44e..5cf6565 100644 --- a/content/public/network/ignore_errors_cert_verifier.cc +++ b/content/public/network/ignore_errors_cert_verifier.cc
@@ -44,7 +44,7 @@ base::SplitString(command_line.GetSwitchValueASCII( switches::kIgnoreCertificateErrorsSPKIList), ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); - return base::MakeUnique<IgnoreErrorsCertVerifier>( + return std::make_unique<IgnoreErrorsCertVerifier>( std::move(verifier), IgnoreErrorsCertVerifier::MakeWhitelist(spki_list)); }
diff --git a/content/public/network/ignore_errors_cert_verifier_unittest.cc b/content/public/network/ignore_errors_cert_verifier_unittest.cc index 45368d8e..a7dc3bdb 100644 --- a/content/public/network/ignore_errors_cert_verifier_unittest.cc +++ b/content/public/network/ignore_errors_cert_verifier_unittest.cc
@@ -165,7 +165,7 @@ command_line.AppendSwitchASCII(switches::kIgnoreCertificateErrorsSPKIList, base::JoinString(MakeWhitelist(), ",")); - auto mock_verifier = base::MakeUnique<MockCertVerifier>(); + auto mock_verifier = std::make_unique<MockCertVerifier>(); mock_verifier->set_default_result(ERR_CERT_INVALID); verifier_ = IgnoreErrorsCertVerifier::MaybeWrapCertVerifier( command_line, kTestUserDataDirSwitch, std::move(mock_verifier));
diff --git a/content/public/test/browser_test_base.cc b/content/public/test/browser_test_base.cc index 865db5f0..67aed49 100644 --- a/content/public/test/browser_test_base.cc +++ b/content/public/test/browser_test_base.cc
@@ -122,7 +122,7 @@ // called more than once base::i18n::AllowMultipleInitializeCallsForTesting(); - embedded_test_server_ = base::MakeUnique<net::EmbeddedTestServer>(); + embedded_test_server_ = std::make_unique<net::EmbeddedTestServer>(); // SequencedWorkerPool is enabled by default in tests (see // base::TestSuite::Initialize). In browser tests, disable it and expect it @@ -232,7 +232,7 @@ // not affect the results. command_line->AppendSwitchASCII(switches::kForceColorProfile, "srgb"); - test_host_resolver_ = base::MakeUnique<TestHostResolver>(); + test_host_resolver_ = std::make_unique<TestHostResolver>(); ContentBrowserSanityChecker scoped_enable_sanity_checks; @@ -260,7 +260,7 @@ // FeatureList::SetInstance, which expects no instance to exist. base::FeatureList::ClearInstanceForTesting(); - auto ui_task = base::MakeUnique<base::Closure>(base::Bind( + auto ui_task = std::make_unique<base::Closure>(base::Bind( &BrowserTestBase::ProxyRunTestOnMainThreadLoop, base::Unretained(this))); #if defined(OS_ANDROID) @@ -343,7 +343,7 @@ void BrowserTestBase::CreateTestServer(const base::FilePath& test_server_base) { CHECK(!spawned_test_server_.get()); - spawned_test_server_ = base::MakeUnique<net::SpawnedTestServer>( + spawned_test_server_ = std::make_unique<net::SpawnedTestServer>( net::SpawnedTestServer::TYPE_HTTP, test_server_base); embedded_test_server()->AddDefaultHandlers(test_server_base); }
diff --git a/content/public/test/browser_test_utils.cc b/content/public/test/browser_test_utils.cc index 48bf96b..63127b3 100644 --- a/content/public/test/browser_test_utils.cc +++ b/content/public/test/browser_test_utils.cc
@@ -2260,7 +2260,7 @@ MockOverscrollController* MockOverscrollController::Create( RenderWidgetHostView* rwhv) { std::unique_ptr<MockOverscrollControllerImpl> mock = - base::MakeUnique<MockOverscrollControllerImpl>(); + std::make_unique<MockOverscrollControllerImpl>(); MockOverscrollController* raw_mock = mock.get(); RenderWidgetHostViewAura* rwhva =
diff --git a/content/public/test/cache_test_util.cc b/content/public/test/cache_test_util.cc index 7e0a879..0fd45b71 100644 --- a/content/public/test/cache_test_util.cc +++ b/content/public/test/cache_test_util.cc
@@ -17,7 +17,7 @@ done_callback_ = base::Bind(&CacheTestUtil::DoneCallback, base::Unretained(this)); // UI and IO thread synchronization. - waitable_event_ = base::MakeUnique<base::WaitableEvent>( + waitable_event_ = std::make_unique<base::WaitableEvent>( base::WaitableEvent::ResetPolicy::AUTOMATIC, base::WaitableEvent::InitialState::NOT_SIGNALED); BrowserThread::PostTask(
diff --git a/content/public/test/mock_render_process_host.cc b/content/public/test/mock_render_process_host.cc index 6ae406e1..071cd230 100644 --- a/content/public/test/mock_render_process_host.cc +++ b/content/public/test/mock_render_process_host.cc
@@ -362,7 +362,7 @@ service_manager::Connector* connector = content::ServiceManagerConnection::GetForProcess()->GetConnector(); process_resource_coordinator_ = - base::MakeUnique<resource_coordinator::ResourceCoordinatorInterface>( + std::make_unique<resource_coordinator::ResourceCoordinatorInterface>( connector, resource_coordinator::CoordinationUnitType::kProcess); } return process_resource_coordinator_.get(); @@ -461,7 +461,7 @@ RenderProcessHost* MockRenderProcessHostFactory::CreateRenderProcessHost( BrowserContext* browser_context) const { processes_.push_back( - base::MakeUnique<MockRenderProcessHost>(browser_context)); + std::make_unique<MockRenderProcessHost>(browser_context)); processes_.back()->SetFactory(this); return processes_.back().get(); }
diff --git a/content/public/test/navigation_simulator.cc b/content/public/test/navigation_simulator.cc index c242952..15029b26f 100644 --- a/content/public/test/navigation_simulator.cc +++ b/content/public/test/navigation_simulator.cc
@@ -709,7 +709,7 @@ // Add a throttle to count NavigationThrottle calls count. handle->RegisterThrottleForTesting( - base::MakeUnique<NavigationThrottleCallbackRunner>( + std::make_unique<NavigationThrottleCallbackRunner>( handle, base::Bind(&NavigationSimulator::OnWillStartRequest, weak_factory_.GetWeakPtr()),
diff --git a/content/public/test/network_service_test_helper.cc b/content/public/test/network_service_test_helper.cc index 9f5e06d..8e74a8bdc 100644 --- a/content/public/test/network_service_test_helper.cc +++ b/content/public/test/network_service_test_helper.cc
@@ -62,7 +62,7 @@ void NetworkServiceTestHelper::BindNetworkServiceTestRequest( content::mojom::NetworkServiceTestRequest request) { if (!network_service_test_impl_) - network_service_test_impl_ = base::MakeUnique<NetworkServiceTestImpl>(); + network_service_test_impl_ = std::make_unique<NetworkServiceTestImpl>(); network_service_test_impl_->BindRequest(std::move(request)); }
diff --git a/content/public/test/render_view_test.cc b/content/public/test/render_view_test.cc index 37ad910..76fa56d 100644 --- a/content/public/test/render_view_test.cc +++ b/content/public/test/render_view_test.cc
@@ -647,7 +647,7 @@ } std::unique_ptr<ResizeParams> RenderViewTest::InitialSizeParams() { - auto initial_size = base::MakeUnique<ResizeParams>(); + auto initial_size = std::make_unique<ResizeParams>(); // Ensure the view has some size so tests involving scrolling bounds work. initial_size->new_size = gfx::Size(400, 300); initial_size->visible_viewport_size = gfx::Size(400, 300);
diff --git a/content/public/test/test_browser_thread.cc b/content/public/test/test_browser_thread.cc index a90afc2..5d82d808 100644 --- a/content/public/test/test_browser_thread.cc +++ b/content/public/test/test_browser_thread.cc
@@ -31,10 +31,10 @@ void Init() override { #if defined(OS_WIN) - com_initializer_ = base::MakeUnique<base::win::ScopedCOMInitializer>(); + com_initializer_ = std::make_unique<base::win::ScopedCOMInitializer>(); #endif - notification_service_ = base::MakeUnique<NotificationServiceImpl>(); + notification_service_ = std::make_unique<NotificationServiceImpl>(); BrowserThreadImpl::Init(); }
diff --git a/content/public/test/test_browser_thread_bundle.cc b/content/public/test/test_browser_thread_bundle.cc index dbb903f..b981f6f 100644 --- a/content/public/test/test_browser_thread_bundle.cc +++ b/content/public/test/test_browser_thread_bundle.cc
@@ -94,7 +94,7 @@ // Similar to Chrome's UI thread, we need to initialize COM separately for // this thread as we don't call Start() for the UI TestBrowserThread; it's // already started! - com_initializer_ = base::MakeUnique<base::win::ScopedCOMInitializer>(); + com_initializer_ = std::make_unique<base::win::ScopedCOMInitializer>(); CHECK(com_initializer_->succeeded()); #endif @@ -104,7 +104,7 @@ // ScopedTaskEnvironment. if (!base::MessageLoop::current()) { scoped_task_environment_ = - base::MakeUnique<base::test::ScopedTaskEnvironment>( + std::make_unique<base::test::ScopedTaskEnvironment>( options_ & IO_MAINLOOP ? base::test::ScopedTaskEnvironment::MainThreadType::IO : base::test::ScopedTaskEnvironment::MainThreadType::UI); @@ -114,7 +114,7 @@ : base::MessageLoop::TYPE_UI)); // Set the current thread as the UI thread. - ui_thread_ = base::MakeUnique<TestBrowserThread>( + ui_thread_ = std::make_unique<TestBrowserThread>( BrowserThread::UI, base::MessageLoop::current()); if (!(options_ & DONT_CREATE_BROWSER_THREADS)) @@ -124,22 +124,22 @@ void TestBrowserThreadBundle::CreateBrowserThreads() { CHECK(!threads_created_); - db_thread_ = base::MakeUnique<TestBrowserThread>( + db_thread_ = std::make_unique<TestBrowserThread>( BrowserThread::DB, base::MessageLoop::current()); - file_thread_ = base::MakeUnique<TestBrowserThread>( + file_thread_ = std::make_unique<TestBrowserThread>( BrowserThread::FILE, base::MessageLoop::current()); - file_user_blocking_thread_ = base::MakeUnique<TestBrowserThread>( + file_user_blocking_thread_ = std::make_unique<TestBrowserThread>( BrowserThread::FILE_USER_BLOCKING, base::MessageLoop::current()); - process_launcher_thread_ = base::MakeUnique<TestBrowserThread>( + process_launcher_thread_ = std::make_unique<TestBrowserThread>( BrowserThread::PROCESS_LAUNCHER, base::MessageLoop::current()); - cache_thread_ = base::MakeUnique<TestBrowserThread>( + cache_thread_ = std::make_unique<TestBrowserThread>( BrowserThread::CACHE, base::MessageLoop::current()); if (options_ & REAL_IO_THREAD) { - io_thread_ = base::MakeUnique<TestBrowserThread>(BrowserThread::IO); + io_thread_ = std::make_unique<TestBrowserThread>(BrowserThread::IO); io_thread_->StartIOThread(); } else { - io_thread_ = base::MakeUnique<TestBrowserThread>( + io_thread_ = std::make_unique<TestBrowserThread>( BrowserThread::IO, base::MessageLoop::current()); }
diff --git a/content/public/test/test_download_request_handler.cc b/content/public/test/test_download_request_handler.cc index e02033cfa..b61ee3c 100644 --- a/content/public/test/test_download_request_handler.cc +++ b/content/public/test/test_download_request_handler.cc
@@ -218,7 +218,7 @@ net::URLRequest* request, net::NetworkDelegate* delegate, base::WeakPtr<Interceptor> interceptor) { - return new PartialResponseJob(base::MakeUnique<Parameters>(parameters), + return new PartialResponseJob(std::make_unique<Parameters>(parameters), interceptor, request, delegate); }
diff --git a/content/public/test/test_navigation_observer.cc b/content/public/test/test_navigation_observer.cc index 4fa08c8..efc6213e 100644 --- a/content/public/test/test_navigation_observer.cc +++ b/content/public/test/test_navigation_observer.cc
@@ -117,7 +117,7 @@ void TestNavigationObserver::RegisterAsObserver(WebContents* web_contents) { web_contents_observers_.insert( - base::MakeUnique<TestWebContentsObserver>(this, web_contents)); + std::make_unique<TestWebContentsObserver>(this, web_contents)); } TestNavigationObserver::TestNavigationObserver(
diff --git a/content/public/test/test_renderer_host.cc b/content/public/test/test_renderer_host.cc index 116deb87..9ef79dc4 100644 --- a/content/public/test/test_renderer_host.cc +++ b/content/public/test/test_renderer_host.cc
@@ -140,7 +140,7 @@ // means tests must ensure any MessageLoop they make is created before // the RenderViewHostTestEnabler. if (!base::MessageLoop::current()) - message_loop_ = base::MakeUnique<base::MessageLoop>(); + message_loop_ = std::make_unique<base::MessageLoop>(); #if !defined(OS_ANDROID) ImageTransportFactory::SetFactory( std::make_unique<NoTransportImageTransportFactory>());
diff --git a/content/renderer/android/synchronous_compositor_filter.cc b/content/renderer/android/synchronous_compositor_filter.cc index d045e9c..79b9de0 100644 --- a/content/renderer/android/synchronous_compositor_filter.cc +++ b/content/renderer/android/synchronous_compositor_filter.cc
@@ -187,7 +187,7 @@ ui::SynchronousInputHandlerProxy* synchronous_input_handler_proxy) { DCHECK(sync_compositor_map_.find(routing_id) == sync_compositor_map_.end()); std::unique_ptr<SynchronousCompositorProxy> proxy = - base::MakeUnique<SynchronousCompositorProxy>( + std::make_unique<SynchronousCompositorProxy>( routing_id, this, synchronous_input_handler_proxy); sync_compositor_map_[routing_id] = std::move(proxy); }
diff --git a/content/renderer/android/synchronous_layer_tree_frame_sink.cc b/content/renderer/android/synchronous_layer_tree_frame_sink.cc index 6600e3c..47b9ab9 100644 --- a/content/renderer/android/synchronous_layer_tree_frame_sink.cc +++ b/content/renderer/android/synchronous_layer_tree_frame_sink.cc
@@ -190,8 +190,8 @@ viz::RendererSettings software_renderer_settings; - auto output_surface = base::MakeUnique<SoftwareOutputSurface>( - base::MakeUnique<SoftwareDevice>(¤t_sw_canvas_)); + auto output_surface = std::make_unique<SoftwareOutputSurface>( + std::make_unique<SoftwareDevice>(¤t_sw_canvas_)); software_output_surface_ = output_surface.get(); // The gpu_memory_buffer_manager here is null as the Display is only used for @@ -201,7 +201,7 @@ // resources. // TODO(crbug.com/692814): The Display never sends its resources out of // process so there is no reason for it to use a SharedBitmapManager. - display_ = base::MakeUnique<viz::Display>( + display_ = std::make_unique<viz::Display>( shared_bitmap_manager_, nullptr /* gpu_memory_buffer_manager */, software_renderer_settings, kRootFrameSinkId, std::move(output_surface), nullptr /* scheduler */, nullptr /* texture_mailbox_deleter */);
diff --git a/content/renderer/blob_storage/blob_transport_controller.cc b/content/renderer/blob_storage/blob_transport_controller.cc index a221a0f1..e4b8dfdd 100644 --- a/content/renderer/blob_storage/blob_transport_controller.cc +++ b/content/renderer/blob_storage/blob_transport_controller.cc
@@ -255,7 +255,7 @@ SharedMemoryHandle& handle = (*memory_handles)[request.handle_index]; size_t size = shared_memory_sizes[request.handle_index]; DCHECK(SharedMemory::IsHandleValid(handle)); - auto shared_memory = base::MakeUnique<SharedMemory>(handle, false); + auto shared_memory = std::make_unique<SharedMemory>(handle, false); if (!shared_memory->Map(size)) { // This would happen if the renderer process doesn't have enough
diff --git a/content/renderer/fetchers/resource_fetcher_impl.cc b/content/renderer/fetchers/resource_fetcher_impl.cc index 2a10800..70a5890 100644 --- a/content/renderer/fetchers/resource_fetcher_impl.cc +++ b/content/renderer/fetchers/resource_fetcher_impl.cc
@@ -312,7 +312,7 @@ } request_.resource_type = WebURLRequestContextToResourceType(request_context); - client_ = base::MakeUnique<ClientImpl>(this, std::move(callback), + client_ = std::make_unique<ClientImpl>(this, std::move(callback), maximum_download_size); // TODO(kinuko, toyoshim): This task runner should be given by the consumer // of this class.
diff --git a/content/renderer/gpu/frame_swap_message_queue.cc b/content/renderer/gpu/frame_swap_message_queue.cc index 3f43b95d..86e1415 100644 --- a/content/renderer/gpu/frame_swap_message_queue.cc +++ b/content/renderer/gpu/frame_swap_message_queue.cc
@@ -195,7 +195,7 @@ std::unique_ptr<FrameSwapMessageQueue::SendMessageScope> FrameSwapMessageQueue::AcquireSendMessageScope() { - return base::MakeUnique<SendMessageScopeImpl>(&lock_); + return std::make_unique<SendMessageScopeImpl>(&lock_); } // static
diff --git a/content/renderer/gpu/frame_swap_message_queue_unittest.cc b/content/renderer/gpu/frame_swap_message_queue_unittest.cc index 75d0e423..a5a92b0 100644 --- a/content/renderer/gpu/frame_swap_message_queue_unittest.cc +++ b/content/renderer/gpu/frame_swap_message_queue_unittest.cc
@@ -65,7 +65,7 @@ } std::unique_ptr<IPC::Message> CloneMessage(const IPC::Message& other) { - return base::MakeUnique<IPC::Message>(other); + return std::make_unique<IPC::Message>(other); } void TestDidNotSwap(cc::SwapPromise::DidNotSwapReason reason); @@ -264,7 +264,7 @@ TEST_F(FrameSwapMessageQueueTest, TestDeletesNextSwapMessage) { bool message_deleted = false; - QueueNextSwapMessage(base::MakeUnique<NotifiesDeletionMessage>( + QueueNextSwapMessage(std::make_unique<NotifiesDeletionMessage>( &message_deleted, first_message_)); queue_ = NULL; ASSERT_TRUE(message_deleted); @@ -272,7 +272,7 @@ TEST_F(FrameSwapMessageQueueTest, TestDeletesVisualStateMessage) { bool message_deleted = false; - QueueVisualStateMessage(1, base::MakeUnique<NotifiesDeletionMessage>( + QueueVisualStateMessage(1, std::make_unique<NotifiesDeletionMessage>( &message_deleted, first_message_)); queue_ = NULL; ASSERT_TRUE(message_deleted); @@ -280,7 +280,7 @@ TEST_F(FrameSwapMessageQueueTest, TestDeletesQueuedVisualStateMessage) { bool message_deleted = false; - QueueVisualStateMessage(1, base::MakeUnique<NotifiesDeletionMessage>( + QueueVisualStateMessage(1, std::make_unique<NotifiesDeletionMessage>( &message_deleted, first_message_)); queue_->DidActivate(1); queue_->DidSwap(1);
diff --git a/content/renderer/gpu/queue_message_swap_promise_unittest.cc b/content/renderer/gpu/queue_message_swap_promise_unittest.cc index d61780b8..42020a9 100644 --- a/content/renderer/gpu/queue_message_swap_promise_unittest.cc +++ b/content/renderer/gpu/queue_message_swap_promise_unittest.cc
@@ -46,7 +46,7 @@ std::vector<IPC::Message> messages = std::get<1>(param); last_swap_messages_.clear(); for (const IPC::Message& message : messages) { - last_swap_messages_.push_back(base::MakeUnique<IPC::Message>(message)); + last_swap_messages_.push_back(std::make_unique<IPC::Message>(message)); } delete message; } else {
diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc index b590ef16..e376ae8d 100644 --- a/content/renderer/gpu/render_widget_compositor.cc +++ b/content/renderer/gpu/render_widget_compositor.cc
@@ -725,7 +725,7 @@ std::unique_ptr<cc::SwapPromiseMonitor> RenderWidgetCompositor::CreateLatencyInfoSwapPromiseMonitor( ui::LatencyInfo* latency) { - return base::MakeUnique<cc::LatencyInfoSwapPromiseMonitor>( + return std::make_unique<cc::LatencyInfoSwapPromiseMonitor>( latency, layer_tree_host_->GetSwapPromiseManager(), nullptr); } @@ -1304,7 +1304,7 @@ } void RenderWidgetCompositor::NotifySwapTime(ReportTimeCallback callback) { - QueueSwapPromise(base::MakeUnique<ReportTimeSwapPromise>( + QueueSwapPromise(std::make_unique<ReportTimeSwapPromise>( std::move(callback), base::ThreadTaskRunnerHandle::Get())); }
diff --git a/content/renderer/history_entry.cc b/content/renderer/history_entry.cc index bbf9c06..a95f235d 100644 --- a/content/renderer/history_entry.cc +++ b/content/renderer/history_entry.cc
@@ -47,7 +47,7 @@ HistoryEntry::HistoryNode* HistoryEntry::HistoryNode::AddChild( const WebHistoryItem& item) { - children_.push_back(base::MakeUnique<HistoryNode>(entry_, item)); + children_.push_back(std::make_unique<HistoryNode>(entry_, item)); return children_.back().get(); }
diff --git a/content/renderer/image_downloader/image_downloader_base.cc b/content/renderer/image_downloader/image_downloader_base.cc index e07373e8..4101c8d 100644 --- a/content/renderer/image_downloader/image_downloader_base.cc +++ b/content/renderer/image_downloader/image_downloader_base.cc
@@ -89,7 +89,7 @@ // Create an image resource fetcher and assign it with a call back object. image_fetchers_.push_back( - base::MakeUnique<MultiResolutionImageResourceFetcher>( + std::make_unique<MultiResolutionImageResourceFetcher>( image_url, frame, 0, is_favicon ? WebURLRequest::kRequestContextFavicon : WebURLRequest::kRequestContextImage,
diff --git a/content/renderer/indexed_db/webidbcursor_impl.cc b/content/renderer/indexed_db/webidbcursor_impl.cc index 2ced097..f828457c 100644 --- a/content/renderer/indexed_db/webidbcursor_impl.cc +++ b/content/renderer/indexed_db/webidbcursor_impl.cc
@@ -91,7 +91,7 @@ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches( transaction_id_, this); - auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>( + auto callbacks_impl = std::make_unique<IndexedDBCallbacksImpl>( std::move(callbacks), transaction_id_, weak_factory_.GetWeakPtr(), io_runner_); io_runner_->PostTask( @@ -120,7 +120,7 @@ // Request pre-fetch. ++pending_onsuccess_callbacks_; - auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>( + auto callbacks_impl = std::make_unique<IndexedDBCallbacksImpl>( std::move(callbacks), transaction_id_, weak_factory_.GetWeakPtr(), io_runner_); io_runner_->PostTask( @@ -144,7 +144,7 @@ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches( transaction_id_, this); - auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>( + auto callbacks_impl = std::make_unique<IndexedDBCallbacksImpl>( std::move(callbacks), transaction_id_, weak_factory_.GetWeakPtr(), io_runner_); io_runner_->PostTask(
diff --git a/content/renderer/indexed_db/webidbcursor_impl_unittest.cc b/content/renderer/indexed_db/webidbcursor_impl_unittest.cc index 49563df1..70ff769f2 100644 --- a/content/renderer/indexed_db/webidbcursor_impl_unittest.cc +++ b/content/renderer/indexed_db/webidbcursor_impl_unittest.cc
@@ -123,8 +123,8 @@ null_key_.AssignNull(); indexed_db::mojom::CursorAssociatedPtr ptr; mock_cursor_ = - base::MakeUnique<MockCursorImpl>(mojo::MakeIsolatedRequest(&ptr)); - cursor_ = base::MakeUnique<WebIDBCursorImpl>( + std::make_unique<MockCursorImpl>(mojo::MakeIsolatedRequest(&ptr)); + cursor_ = std::make_unique<WebIDBCursorImpl>( ptr.PassInterface(), 1, base::ThreadTaskRunnerHandle::Get()); }
diff --git a/content/renderer/indexed_db/webidbdatabase_impl.cc b/content/renderer/indexed_db/webidbdatabase_impl.cc index 2515d4f6..06fbf545 100644 --- a/content/renderer/indexed_db/webidbdatabase_impl.cc +++ b/content/renderer/indexed_db/webidbdatabase_impl.cc
@@ -264,7 +264,7 @@ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches( transaction_id, nullptr); - auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>( + auto callbacks_impl = std::make_unique<IndexedDBCallbacksImpl>( base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_); io_runner_->PostTask( FROM_HERE, base::BindOnce(&IOThreadHelper::Get, base::Unretained(helper_), @@ -283,7 +283,7 @@ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches( transaction_id, nullptr); - auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>( + auto callbacks_impl = std::make_unique<IndexedDBCallbacksImpl>( base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_); io_runner_->PostTask( FROM_HERE, @@ -344,7 +344,7 @@ mojo_value->blob_or_file_info.push_back(std::move(blob_info)); } - auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>( + auto callbacks_impl = std::make_unique<IndexedDBCallbacksImpl>( base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_); io_runner_->PostTask( FROM_HERE, @@ -391,7 +391,7 @@ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches( transaction_id, nullptr); - auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>( + auto callbacks_impl = std::make_unique<IndexedDBCallbacksImpl>( base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_); io_runner_->PostTask( FROM_HERE, @@ -409,7 +409,7 @@ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches( transaction_id, nullptr); - auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>( + auto callbacks_impl = std::make_unique<IndexedDBCallbacksImpl>( base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_); io_runner_->PostTask( FROM_HERE, @@ -426,7 +426,7 @@ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches( transaction_id, nullptr); - auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>( + auto callbacks_impl = std::make_unique<IndexedDBCallbacksImpl>( base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_); io_runner_->PostTask( FROM_HERE, @@ -442,7 +442,7 @@ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches( transaction_id, nullptr); - auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>( + auto callbacks_impl = std::make_unique<IndexedDBCallbacksImpl>( base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_); io_runner_->PostTask( FROM_HERE,
diff --git a/content/renderer/indexed_db/webidbfactory_impl.cc b/content/renderer/indexed_db/webidbfactory_impl.cc index 743ad88..38854fa3 100644 --- a/content/renderer/indexed_db/webidbfactory_impl.cc +++ b/content/renderer/indexed_db/webidbfactory_impl.cc
@@ -67,7 +67,7 @@ void WebIDBFactoryImpl::GetDatabaseNames(WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin) { - auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>( + auto callbacks_impl = std::make_unique<IndexedDBCallbacksImpl>( base::WrapUnique(callbacks), IndexedDBCallbacksImpl::kNoTransaction, nullptr, io_runner_); io_runner_->PostTask( @@ -83,10 +83,10 @@ WebIDBCallbacks* callbacks, WebIDBDatabaseCallbacks* database_callbacks, const WebSecurityOrigin& origin) { - auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>( + auto callbacks_impl = std::make_unique<IndexedDBCallbacksImpl>( base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_); auto database_callbacks_impl = - base::MakeUnique<IndexedDBDatabaseCallbacksImpl>( + std::make_unique<IndexedDBDatabaseCallbacksImpl>( base::WrapUnique(database_callbacks)); io_runner_->PostTask( FROM_HERE, @@ -100,7 +100,7 @@ WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, bool force_close) { - auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>( + auto callbacks_impl = std::make_unique<IndexedDBCallbacksImpl>( base::WrapUnique(callbacks), IndexedDBCallbacksImpl::kNoTransaction, nullptr, io_runner_); io_runner_->PostTask(
diff --git a/content/renderer/input/frame_input_handler_impl.cc b/content/renderer/input/frame_input_handler_impl.cc index 9598926..ded9a246 100644 --- a/content/renderer/input/frame_input_handler_impl.cc +++ b/content/renderer/input/frame_input_handler_impl.cc
@@ -268,8 +268,7 @@ if (range.IsNull()) return; - HandlingState handling_state(render_frame_.get(), - UpdateState::kIsSelectingRange); + HandlingState handling_state(render_frame_, UpdateState::kIsSelectingRange); render_frame_->GetWebFrame()->SelectRange( blink::WebRange(range.EndOffset(), 0), blink::WebLocalFrame::kHideSelectionHandle, @@ -290,8 +289,7 @@ if (!render_frame_) return; RenderViewImpl* render_view = render_frame_->render_view(); - HandlingState handling_state(render_frame_.get(), - UpdateState::kIsSelectingRange); + HandlingState handling_state(render_frame_, UpdateState::kIsSelectingRange); render_frame_->GetWebFrame()->SelectRange( render_view->ConvertWindowPointToViewport(base), render_view->ConvertWindowPointToViewport(extent)); @@ -320,8 +318,7 @@ if (start - end > range.length() || range.StartOffset() + start < 0) return; - HandlingState handling_state(render_frame_.get(), - UpdateState::kIsSelectingRange); + HandlingState handling_state(render_frame_, UpdateState::kIsSelectingRange); // A negative adjust amount moves the selection towards the beginning of // the document, a positive amount moves the selection towards the end of // the document. @@ -343,8 +340,7 @@ if (!render_frame_) return; - HandlingState handling_state(render_frame_.get(), - UpdateState::kIsSelectingRange); + HandlingState handling_state(render_frame_, UpdateState::kIsSelectingRange); render_frame_->GetWebFrame()->MoveRangeSelectionExtent( render_frame_->render_view()->ConvertWindowPointToViewport(extent)); } @@ -401,7 +397,7 @@ if (!render_frame_) return; - HandlingState handling_state(render_frame_.get(), update_state); + HandlingState handling_state(render_frame_, update_state); render_frame_->GetWebFrame()->ExecuteCommand( blink::WebString::FromUTF8(command)); } @@ -425,7 +421,7 @@ } FrameInputHandlerImpl::HandlingState::HandlingState( - RenderFrameImpl* render_frame, + const base::WeakPtr<RenderFrameImpl>& render_frame, UpdateState state) : render_frame_(render_frame), original_select_range_value_(render_frame->handling_select_range()), @@ -442,6 +438,9 @@ } FrameInputHandlerImpl::HandlingState::~HandlingState() { + // RenderFrame may have been destroyed while this object was on the stack. + if (!render_frame_) + return; render_frame_->set_handling_select_range(original_select_range_value_); render_frame_->set_is_pasting(original_pasting_value_); }
diff --git a/content/renderer/input/frame_input_handler_impl.h b/content/renderer/input/frame_input_handler_impl.h index 17742d0..cf0e9e6 100644 --- a/content/renderer/input/frame_input_handler_impl.h +++ b/content/renderer/input/frame_input_handler_impl.h
@@ -81,11 +81,12 @@ class HandlingState { public: - HandlingState(RenderFrameImpl* render_frame, UpdateState state); + HandlingState(const base::WeakPtr<RenderFrameImpl>& render_frame, + UpdateState state); ~HandlingState(); private: - RenderFrameImpl* render_frame_; + base::WeakPtr<RenderFrameImpl> render_frame_; bool original_select_range_value_; bool original_pasting_value_; };
diff --git a/content/renderer/input/input_event_filter.cc b/content/renderer/input/input_event_filter.cc index 0d504a2..ec4ff50 100644 --- a/content/renderer/input/input_event_filter.cc +++ b/content/renderer/input/input_event_filter.cc
@@ -103,7 +103,7 @@ } void InputEventFilter::DidStopFlinging(int routing_id) { - SendMessage(base::MakeUnique<InputHostMsg_DidStopFlinging>(routing_id)); + SendMessage(std::make_unique<InputHostMsg_DidStopFlinging>(routing_id)); } void InputEventFilter::QueueClosureForMainThreadEventQueue( @@ -139,7 +139,7 @@ cc::TouchAction touch_action, uint32_t unique_touch_event_id, InputEventAckState ack_state) { - SendMessage(base::MakeUnique<InputHostMsg_SetWhiteListedTouchAction>( + SendMessage(std::make_unique<InputHostMsg_SetWhiteListedTouchAction>( routing_id, touch_action, unique_touch_event_id, ack_state)); }
diff --git a/content/renderer/input/input_event_filter_unittest.cc b/content/renderer/input/input_event_filter_unittest.cc index 10f50b6..e691012 100644 --- a/content/renderer/input/input_event_filter_unittest.cc +++ b/content/renderer/input/input_event_filter_unittest.cc
@@ -213,7 +213,7 @@ base::Bind(base::IgnoreResult(&IPCMessageRecorder::OnMessageReceived), base::Unretained(&message_recorder_)), main_task_runner_, main_task_runner_); - event_recorder_ = base::MakeUnique<InputEventRecorder>(filter_.get()); + event_recorder_ = std::make_unique<InputEventRecorder>(filter_.get()); filter_->SetInputHandlerManager(event_recorder_.get()); filter_->OnFilterAdded(&ipc_sink_); }
diff --git a/content/renderer/input/main_thread_event_queue_unittest.cc b/content/renderer/input/main_thread_event_queue_unittest.cc index 2a55cc32..2a7500d 100644 --- a/content/renderer/input/main_thread_event_queue_unittest.cc +++ b/content/renderer/input/main_thread_event_queue_unittest.cc
@@ -171,7 +171,7 @@ feature_list_.InitFromCommandLine(base::JoinString(features, ","), base::JoinString(disabled_features, ",")); - handler_callback_ = base::MakeUnique<HandledEventCallbackTracker>(); + handler_callback_ = std::make_unique<HandledEventCallbackTracker>(); } void SetUp() override { @@ -241,7 +241,7 @@ std::vector<ReceivedCallback> GetAndResetCallbackResults() { std::unique_ptr<HandledEventCallbackTracker> callback = - base::MakeUnique<HandledEventCallbackTracker>(); + std::make_unique<HandledEventCallbackTracker>(); handler_callback_.swap(callback); return callback->GetReceivedCallbacks(); }
diff --git a/content/renderer/input/widget_input_handler_manager.cc b/content/renderer/input/widget_input_handler_manager.cc index 54aa57e..0b66f84 100644 --- a/content/renderer/input/widget_input_handler_manager.cc +++ b/content/renderer/input/widget_input_handler_manager.cc
@@ -289,7 +289,7 @@ void WidgetInputHandlerManager::InitOnCompositorThread( const base::WeakPtr<cc::InputHandler>& input_handler, bool smooth_scroll_enabled) { - input_handler_proxy_ = base::MakeUnique<ui::InputHandlerProxy>( + input_handler_proxy_ = std::make_unique<ui::InputHandlerProxy>( input_handler.get(), this, base::FeatureList::IsEnabled(features::kTouchpadAndWheelScrollLatching)); input_handler_proxy_->set_smooth_scroll_enabled(smooth_scroll_enabled);
diff --git a/content/renderer/java/gin_java_bridge_value_converter.cc b/content/renderer/java/gin_java_bridge_value_converter.cc index 8a6230d..3d929ed 100644 --- a/content/renderer/java/gin_java_bridge_value_converter.cc +++ b/content/renderer/java/gin_java_bridge_value_converter.cc
@@ -85,7 +85,7 @@ *end = element + typed_array_->Length(); element != end; ++element) { - out->Append(base::MakeUnique<base::Value>(ListType(*element))); + out->Append(std::make_unique<base::Value>(ListType(*element))); } }
diff --git a/content/renderer/java/gin_java_function_invocation_helper.cc b/content/renderer/java/gin_java_function_invocation_helper.cc index ed24b70f..78f890cb 100644 --- a/content/renderer/java/gin_java_function_invocation_helper.cc +++ b/content/renderer/java/gin_java_function_invocation_helper.cc
@@ -69,7 +69,7 @@ if (arg.get()) arguments.Append(std::move(arg)); else - arguments.Append(base::MakeUnique<base::Value>()); + arguments.Append(std::make_unique<base::Value>()); } }
diff --git a/content/renderer/loader/cors_url_loader_factory.cc b/content/renderer/loader/cors_url_loader_factory.cc index f2a64b2d..741f3ec 100644 --- a/content/renderer/loader/cors_url_loader_factory.cc +++ b/content/renderer/loader/cors_url_loader_factory.cc
@@ -48,7 +48,7 @@ // Instances of CORSURLLoader are owned by this class and their pipe so that // they can share |network_loader_factory_|. loader_bindings_.AddBinding( - base::MakeUnique<CORSURLLoader>( + std::make_unique<CORSURLLoader>( routing_id, request_id, options, resource_request, std::move(client), traffic_annotation, network_loader_factory_.get()), std::move(request));
diff --git a/content/renderer/loader/resource_dispatcher.cc b/content/renderer/loader/resource_dispatcher.cc index 6420a67c..2eecf75 100644 --- a/content/renderer/loader/resource_dispatcher.cc +++ b/content/renderer/loader/resource_dispatcher.cc
@@ -631,7 +631,7 @@ // Compute a unique request_id for this renderer process. int request_id = MakeRequestID(); - pending_requests_[request_id] = base::MakeUnique<PendingRequestInfo>( + pending_requests_[request_id] = std::make_unique<PendingRequestInfo>( std::move(peer), request->resource_type, request->origin_pid, frame_origin, request->url, request->download_to_file); @@ -645,7 +645,7 @@ if (consumer_handle.is_valid()) { pending_requests_[request_id]->url_loader_client = - base::MakeUnique<URLLoaderClientImpl>(request_id, this, task_runner); + std::make_unique<URLLoaderClientImpl>(request_id, this, task_runner); task_runner->PostTask( FROM_HERE, base::BindOnce(&ResourceDispatcher::ContinueForNavigation,
diff --git a/content/renderer/loader/resource_dispatcher_unittest.cc b/content/renderer/loader/resource_dispatcher_unittest.cc index 8936ec7..5220774 100644 --- a/content/renderer/loader/resource_dispatcher_unittest.cc +++ b/content/renderer/loader/resource_dispatcher_unittest.cc
@@ -400,7 +400,7 @@ std::unique_ptr<RequestPeer> current_peer, const std::string& mime_type, const GURL& url) override { - return base::MakeUnique<WrapperPeer>(std::move(current_peer)); + return std::make_unique<WrapperPeer>(std::move(current_peer)); } class WrapperPeer : public RequestPeer { @@ -435,7 +435,7 @@ original_peer_->OnReceivedResponse(response_info_); if (!data_.empty()) { original_peer_->OnReceivedData( - base::MakeUnique<FixedReceivedData>(data_.data(), data_.size())); + std::make_unique<FixedReceivedData>(data_.data(), data_.size())); } original_peer_->OnCompletedRequest(error_code, stale_copy_in_cache, completion_time, total_transfer_size,
diff --git a/content/renderer/loader/shared_memory_data_consumer_handle.cc b/content/renderer/loader/shared_memory_data_consumer_handle.cc index 2847f18..f216a6e0 100644 --- a/content/renderer/loader/shared_memory_data_consumer_handle.cc +++ b/content/renderer/loader/shared_memory_data_consumer_handle.cc
@@ -293,9 +293,9 @@ std::unique_ptr<RequestPeer::ThreadSafeReceivedData> data_to_pass; if (mode_ == kApplyBackpressure) { data_to_pass = - base::MakeUnique<DelegateThreadSafeReceivedData>(std::move(data)); + std::make_unique<DelegateThreadSafeReceivedData>(std::move(data)); } else { - data_to_pass = base::MakeUnique<FixedReceivedData>(data.get()); + data_to_pass = std::make_unique<FixedReceivedData>(data.get()); } context_->Push(std::move(data_to_pass)); }
diff --git a/content/renderer/loader/shared_memory_data_consumer_handle_unittest.cc b/content/renderer/loader/shared_memory_data_consumer_handle_unittest.cc index 1b27d95d..fe6d2cdf 100644 --- a/content/renderer/loader/shared_memory_data_consumer_handle_unittest.cc +++ b/content/renderer/loader/shared_memory_data_consumer_handle_unittest.cc
@@ -197,7 +197,7 @@ handle_.reset(new SharedMemoryDataConsumerHandle(GetParam(), &writer_)); } std::unique_ptr<FixedReceivedData> NewFixedData(const char* s) { - return base::MakeUnique<FixedReceivedData>(s, strlen(s)); + return std::make_unique<FixedReceivedData>(s, strlen(s)); } StrictMock<MockClient> client_; @@ -901,17 +901,17 @@ size_t size; std::unique_ptr<Writer> writer; - auto handle = base::MakeUnique<SharedMemoryDataConsumerHandle>( + auto handle = std::make_unique<SharedMemoryDataConsumerHandle>( kApplyBackpressure, &writer); scoped_refptr<Logger> logger(new Logger); writer->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data1", "Once ", logger)); + std::make_unique<LoggingFixedReceivedData>("data1", "Once ", logger)); writer->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data2", "upon ", logger)); + std::make_unique<LoggingFixedReceivedData>("data2", "upon ", logger)); writer->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data3", "a ", logger)); + std::make_unique<LoggingFixedReceivedData>("data3", "a ", logger)); writer->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data4", "time ", logger)); + std::make_unique<LoggingFixedReceivedData>("data4", "time ", logger)); auto reader = handle->ObtainReader(nullptr); logger->Add("1"); @@ -946,15 +946,15 @@ size_t size; std::unique_ptr<Writer> writer; - auto handle = base::MakeUnique<SharedMemoryDataConsumerHandle>( + auto handle = std::make_unique<SharedMemoryDataConsumerHandle>( kApplyBackpressure, &writer); scoped_refptr<Logger> logger(new Logger); writer->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data1", "Once ", logger)); + std::make_unique<LoggingFixedReceivedData>("data1", "Once ", logger)); writer->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data2", "upon ", logger)); + std::make_unique<LoggingFixedReceivedData>("data2", "upon ", logger)); writer->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data3", "a ", logger)); + std::make_unique<LoggingFixedReceivedData>("data3", "a ", logger)); auto reader = handle->ObtainReader(nullptr); logger->Add("1"); @@ -989,16 +989,16 @@ TEST(SharedMemoryDataConsumerHandleWithoutBackpressureTest, AddData) { base::MessageLoop loop; std::unique_ptr<Writer> writer; - auto handle = base::MakeUnique<SharedMemoryDataConsumerHandle>( + auto handle = std::make_unique<SharedMemoryDataConsumerHandle>( kDoNotApplyBackpressure, &writer); scoped_refptr<Logger> logger(new Logger); logger->Add("1"); writer->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data1", "Once ", logger)); + std::make_unique<LoggingFixedReceivedData>("data1", "Once ", logger)); logger->Add("2"); writer->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data2", "upon ", logger)); + std::make_unique<LoggingFixedReceivedData>("data2", "upon ", logger)); logger->Add("3"); EXPECT_EQ( @@ -1012,7 +1012,7 @@ TEST_F(ThreadedSharedMemoryDataConsumerHandleTest, Read) { base::RunLoop run_loop; - auto operation = base::MakeUnique<ReadDataOperation>( + auto operation = std::make_unique<ReadDataOperation>( std::move(handle_), &loop_, run_loop.QuitClosure()); scoped_refptr<Logger> logger(new Logger); @@ -1025,15 +1025,15 @@ logger->Add("1"); writer_->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data1", "Once ", logger)); + std::make_unique<LoggingFixedReceivedData>("data1", "Once ", logger)); writer_->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data2", "upon ", logger)); + std::make_unique<LoggingFixedReceivedData>("data2", "upon ", logger)); writer_->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data3", "a time ", logger)); + std::make_unique<LoggingFixedReceivedData>("data3", "a time ", logger)); writer_->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data4", "there ", logger)); + std::make_unique<LoggingFixedReceivedData>("data4", "there ", logger)); writer_->AddData( - base::MakeUnique<LoggingFixedReceivedData>("data5", "was ", logger)); + std::make_unique<LoggingFixedReceivedData>("data5", "was ", logger)); writer_->Close(); logger->Add("2");
diff --git a/content/renderer/loader/shared_memory_received_data_factory.cc b/content/renderer/loader/shared_memory_received_data_factory.cc index 9f4fa19..b9530d50a 100644 --- a/content/renderer/loader/shared_memory_received_data_factory.cc +++ b/content/renderer/loader/shared_memory_received_data_factory.cc
@@ -64,7 +64,7 @@ const char* payload = start + offset; TicketId id = id_++; - return base::MakeUnique<SharedMemoryReceivedData>(payload, length, this, id); + return std::make_unique<SharedMemoryReceivedData>(payload, length, this, id); } void SharedMemoryReceivedDataFactory::Stop() {
diff --git a/content/renderer/loader/sync_load_context.cc b/content/renderer/loader/sync_load_context.cc index 9e185ae..de43801 100644 --- a/content/renderer/loader/sync_load_context.cc +++ b/content/renderer/loader/sync_load_context.cc
@@ -46,7 +46,7 @@ url_loader_factory_.Bind(std::move(url_loader_factory)); // Constructs a new ResourceDispatcher specifically for this request. - resource_dispatcher_ = base::MakeUnique<ResourceDispatcher>( + resource_dispatcher_ = std::make_unique<ResourceDispatcher>( nullptr, base::ThreadTaskRunnerHandle::Get()); // Initialize the final URL with the original request URL. It will be
diff --git a/content/renderer/loader/url_loader_client_impl_unittest.cc b/content/renderer/loader/url_loader_client_impl_unittest.cc index 8eb189da..d980852 100644 --- a/content/renderer/loader/url_loader_client_impl_unittest.cc +++ b/content/renderer/loader/url_loader_client_impl_unittest.cc
@@ -30,9 +30,9 @@ mojo_binding_.Bind(mojo::MakeRequest(&url_loader_factory_proxy_)); request_id_ = dispatcher_->StartAsync( - base::MakeUnique<ResourceRequest>(), 0, nullptr, url::Origin(), + std::make_unique<ResourceRequest>(), 0, nullptr, url::Origin(), TRAFFIC_ANNOTATION_FOR_TESTS, false, - base::MakeUnique<TestRequestPeer>(dispatcher_.get(), + std::make_unique<TestRequestPeer>(dispatcher_.get(), &request_peer_context_), blink::WebURLRequest::LoadingIPCType::kMojo, url_loader_factory_proxy_.get(),
diff --git a/content/renderer/loader/url_response_body_consumer.cc b/content/renderer/loader/url_response_body_consumer.cc index 08460aa..e574fc3 100644 --- a/content/renderer/loader/url_response_body_consumer.cc +++ b/content/renderer/loader/url_response_body_consumer.cc
@@ -158,7 +158,7 @@ request_info->site_isolation_metadata.reset(); } - request_info->peer->OnReceivedData(base::MakeUnique<ReceivedData>( + request_info->peer->OnReceivedData(std::make_unique<ReceivedData>( static_cast<const char*>(buffer), available, this)); } }
diff --git a/content/renderer/loader/url_response_body_consumer_unittest.cc b/content/renderer/loader/url_response_body_consumer_unittest.cc index 8922f37..84b67cc 100644 --- a/content/renderer/loader/url_response_body_consumer_unittest.cc +++ b/content/renderer/loader/url_response_body_consumer_unittest.cc
@@ -140,7 +140,7 @@ return dispatcher_->StartAsync( std::move(request), 0, nullptr, url::Origin(), TRAFFIC_ANNOTATION_FOR_TESTS, false, - base::MakeUnique<TestRequestPeer>(context, message_loop_.task_runner()), + std::make_unique<TestRequestPeer>(context, message_loop_.task_runner()), blink::WebURLRequest::LoadingIPCType::kChromeIPC, nullptr, std::vector<std::unique_ptr<URLLoaderThrottle>>(), mojo::ScopedDataPipeConsumerHandle());
diff --git a/content/renderer/loader/web_data_consumer_handle_impl_unittest.cc b/content/renderer/loader/web_data_consumer_handle_impl_unittest.cc index 19c8e3e..5faab10 100644 --- a/content/renderer/loader/web_data_consumer_handle_impl_unittest.cc +++ b/content/renderer/loader/web_data_consumer_handle_impl_unittest.cc
@@ -240,7 +240,7 @@ TEST_F(WebDataConsumerHandleImplTest, ReadData) { base::RunLoop run_loop; - auto operation = base::MakeUnique<ReadDataOperation>( + auto operation = std::make_unique<ReadDataOperation>( std::move(consumer_), &message_loop_, run_loop.QuitClosure()); base::Thread t("DataConsumerHandle test thread"); @@ -261,7 +261,7 @@ TEST_F(WebDataConsumerHandleImplTest, TwoPhaseReadData) { base::RunLoop run_loop; - auto operation = base::MakeUnique<TwoPhaseReadDataOperation>( + auto operation = std::make_unique<TwoPhaseReadDataOperation>( std::move(consumer_), &message_loop_, run_loop.QuitClosure()); base::Thread t("DataConsumerHandle test thread"); @@ -325,7 +325,7 @@ static constexpr size_t kTotalSize = kBlockSize * 3; std::unique_ptr<CountDidGetReadableClient> client = - base::MakeUnique<CountDidGetReadableClient>(); + std::make_unique<CountDidGetReadableClient>(); std::unique_ptr<WebDataConsumerHandleImpl> handle( new WebDataConsumerHandleImpl(std::move(consumer_))); std::unique_ptr<WebDataConsumerHandle::Reader> reader(
diff --git a/content/renderer/loader/web_url_loader_impl.cc b/content/renderer/loader/web_url_loader_impl.cc index 1888aee..5a486f8 100644 --- a/content/renderer/loader/web_url_loader_impl.cc +++ b/content/renderer/loader/web_url_loader_impl.cc
@@ -501,7 +501,7 @@ task_runner_(std::move(task_runner)), keep_alive_handle_( keep_alive_handle_ptr - ? base::MakeUnique<KeepAliveHandleWithChildProcessReference>( + ? std::make_unique<KeepAliveHandleWithChildProcessReference>( std::move(keep_alive_handle_ptr)) : nullptr), defers_loading_(NOT_DEFERRING), @@ -702,7 +702,7 @@ std::move(resource_request), request.RequestorID(), task_runner_, extra_data->frame_origin(), GetTrafficAnnotationTag(request), false /* is_sync */, - base::MakeUnique<WebURLLoaderImpl::RequestPeerImpl>(this), + std::make_unique<WebURLLoaderImpl::RequestPeerImpl>(this), request.GetLoadingIPCType(), url_loader_factory_, extra_data->TakeURLLoaderThrottles(), std::move(consumer_handle)); @@ -808,7 +808,7 @@ mode = SharedMemoryDataConsumerHandle::kApplyBackpressure; } - auto read_handle = base::MakeUnique<SharedMemoryDataConsumerHandle>( + auto read_handle = std::make_unique<SharedMemoryDataConsumerHandle>( mode, base::Bind(&Context::CancelBodyStreaming, this), &body_stream_writer_); @@ -832,7 +832,7 @@ DCHECK(!ftp_listing_delegate_); if (info.mime_type == "text/vnd.chromium.ftp-dir" && !show_raw_listing) { ftp_listing_delegate_ = - base::MakeUnique<FtpDirectoryListingResponseDelegate>(client_, loader_, + std::make_unique<FtpDirectoryListingResponseDelegate>(client_, loader_, response); } } @@ -1028,7 +1028,7 @@ OnReceivedResponse(info); auto size = data.size(); if (size != 0) - OnReceivedData(base::MakeUnique<FixedReceivedData>(data.data(), size)); + OnReceivedData(std::make_unique<FixedReceivedData>(data.data(), size)); } OnCompletedRequest(error_code, false, base::TimeTicks::Now(), 0, data.size(),
diff --git a/content/renderer/loader/web_url_loader_impl_unittest.cc b/content/renderer/loader/web_url_loader_impl_unittest.cc index 1a178272..4d85be5 100644 --- a/content/renderer/loader/web_url_loader_impl_unittest.cc +++ b/content/renderer/loader/web_url_loader_impl_unittest.cc
@@ -346,7 +346,7 @@ EXPECT_EQ("", client()->received_data()); auto size = strlen(kTestData); peer()->OnReceivedData( - base::MakeUnique<FixedReceivedData>(kTestData, size)); + std::make_unique<FixedReceivedData>(kTestData, size)); EXPECT_EQ(kTestData, client()->received_data()); } @@ -382,7 +382,7 @@ void DoReceiveDataFtp() { auto size = strlen(kFtpDirListing); peer()->OnReceivedData( - base::MakeUnique<FixedReceivedData>(kFtpDirListing, size)); + std::make_unique<FixedReceivedData>(kFtpDirListing, size)); // The FTP delegate should modify the data the client sees. EXPECT_NE(kFtpDirListing, client()->received_data()); }
diff --git a/content/renderer/media/android/media_player_renderer_client_factory.cc b/content/renderer/media/android/media_player_renderer_client_factory.cc index c9f1d5b..3289a72 100644 --- a/content/renderer/media/android/media_player_renderer_client_factory.cc +++ b/content/renderer/media/android/media_player_renderer_client_factory.cc
@@ -39,7 +39,7 @@ media::ScopedStreamTextureWrapper stream_texture_wrapper = get_stream_texture_wrapper_cb_.Run(); - return base::MakeUnique<MediaPlayerRendererClient>( + return std::make_unique<MediaPlayerRendererClient>( media_task_runner, compositor_task_runner_, mojo_renderer, std::move(stream_texture_wrapper), video_renderer_sink); }
diff --git a/content/renderer/media/android/stream_texture_factory.cc b/content/renderer/media/android/stream_texture_factory.cc index 395455cd..fd7d4c67 100644 --- a/content/renderer/media/android/stream_texture_factory.cc +++ b/content/renderer/media/android/stream_texture_factory.cc
@@ -103,7 +103,7 @@ if (!route_id) return ScopedStreamTextureProxy(); return ScopedStreamTextureProxy(new StreamTextureProxy( - base::MakeUnique<StreamTextureHost>(channel_, route_id))); + std::make_unique<StreamTextureHost>(channel_, route_id))); } unsigned StreamTextureFactory::CreateStreamTexture(
diff --git a/content/renderer/media/audio_ipc_factory.cc b/content/renderer/media/audio_ipc_factory.cc index 0f02785..5ab138a 100644 --- a/content/renderer/media/audio_ipc_factory.cc +++ b/content/renderer/media/audio_ipc_factory.cc
@@ -37,7 +37,7 @@ int frame_id) const { if (UsingMojoFactories()) { // Unretained is safe due to the contract at the top of the header file. - return base::MakeUnique<MojoAudioOutputIPC>(base::BindRepeating( + return std::make_unique<MojoAudioOutputIPC>(base::BindRepeating( &AudioIPCFactory::GetRemoteFactory, base::Unretained(this), frame_id)); } return audio_message_filter_->CreateAudioOutputIPC(frame_id);
diff --git a/content/renderer/media/audio_ipc_factory_unittest.cc b/content/renderer/media/audio_ipc_factory_unittest.cc index a99ae27..88b1773 100644 --- a/content/renderer/media/audio_ipc_factory_unittest.cc +++ b/content/renderer/media/audio_ipc_factory_unittest.cc
@@ -28,7 +28,7 @@ const int kRenderFrameId = 0; std::unique_ptr<base::Thread> MakeIOThread() { - auto io_thread = base::MakeUnique<base::Thread>("test IO thread"); + auto io_thread = std::make_unique<base::Thread>("test IO thread"); base::Thread::Options thread_options(base::MessageLoop::TYPE_IO, 0); CHECK(io_thread->StartWithOptions(thread_options)); return io_thread;
diff --git a/content/renderer/media/audio_repetition_detector.cc b/content/renderer/media/audio_repetition_detector.cc index ced9a7f..cd39a07b 100644 --- a/content/renderer/media/audio_repetition_detector.cc +++ b/content/renderer/media/audio_repetition_detector.cc
@@ -41,7 +41,7 @@ max_look_back_ms_ = temp.back(); for (int look_back : temp) - states_.push_back(base::MakeUnique<State>(look_back)); + states_.push_back(std::make_unique<State>(look_back)); } AudioRepetitionDetector::~AudioRepetitionDetector() {
diff --git a/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc b/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc index e0ead2c..065c829 100644 --- a/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc +++ b/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc
@@ -333,7 +333,7 @@ GpuVideoAcceleratorFactoriesImpl::GetGLContextLock() { if (CheckContextLost()) return nullptr; - return base::MakeUnique<ScopedGLContextLockImpl>(context_provider_); + return std::make_unique<ScopedGLContextLockImpl>(context_provider_); } std::unique_ptr<base::SharedMemory>
diff --git a/content/renderer/media/gpu/rtc_video_encoder_unittest.cc b/content/renderer/media/gpu/rtc_video_encoder_unittest.cc index dc3f4b4..336705c 100644 --- a/content/renderer/media/gpu/rtc_video_encoder_unittest.cc +++ b/content/renderer/media/gpu/rtc_video_encoder_unittest.cc
@@ -125,7 +125,7 @@ ADD_FAILURE() << "Unexpected codec type: " << codec_type; media_profile = media::VIDEO_CODEC_PROFILE_UNKNOWN; } - rtc_encoder_ = base::MakeUnique<RTCVideoEncoder>(media_profile, + rtc_encoder_ = std::make_unique<RTCVideoEncoder>(media_profile, mock_gpu_factories_.get()); }
diff --git a/content/renderer/media/media_devices_listener_impl.cc b/content/renderer/media/media_devices_listener_impl.cc index 8588036..63ecabe0 100644 --- a/content/renderer/media/media_devices_listener_impl.cc +++ b/content/renderer/media/media_devices_listener_impl.cc
@@ -18,7 +18,7 @@ int render_frame_id, ::mojom::MediaDevicesListenerRequest request) { mojo::MakeStrongBinding( - base::MakeUnique<MediaDevicesListenerImpl>(render_frame_id), + std::make_unique<MediaDevicesListenerImpl>(render_frame_id), std::move(request)); }
diff --git a/content/renderer/media/media_factory.cc b/content/renderer/media/media_factory.cc index 59d42e7e3..e62871ee 100644 --- a/content/renderer/media/media_factory.cc +++ b/content/renderer/media/media_factory.cc
@@ -156,7 +156,7 @@ GetRemoterFactory()->Create(std::move(remoting_source), mojo::MakeRequest(&remoter)); remoting_sink_observer_ = - base::MakeUnique<media::remoting::SinkAvailabilityObserver>( + std::make_unique<media::remoting::SinkAvailabilityObserver>( std::move(remoting_source_request), std::move(remoter)); #endif // BUILDFLAG(ENABLE_MEDIA_REMOTING) } @@ -268,9 +268,9 @@ #endif if (!fetch_context_) { - fetch_context_ = base::MakeUnique<FrameFetchContext>(web_frame); + fetch_context_ = std::make_unique<FrameFetchContext>(web_frame); DCHECK(!url_index_); - url_index_ = base::MakeUnique<media::UrlIndex>(fetch_context_.get()); + url_index_ = std::make_unique<media::UrlIndex>(fetch_context_.get()); } DCHECK_EQ(static_cast<FrameFetchContext*>(fetch_context_.get())->frame(), web_frame); @@ -341,7 +341,7 @@ if (!render_thread) return nullptr; - auto factory_selector = base::MakeUnique<media::RendererFactorySelector>(); + auto factory_selector = std::make_unique<media::RendererFactorySelector>(); #if defined(OS_ANDROID) DCHECK(remote_interfaces_); @@ -349,7 +349,7 @@ // The only MojoRendererService that is registered at the RenderFrameHost // level uses the MediaPlayerRenderer as its underlying media::Renderer. auto mojo_media_player_renderer_factory = - base::MakeUnique<media::MojoRendererFactory>( + std::make_unique<media::MojoRendererFactory>( media::MojoRendererFactory::GetGpuFactoriesCB(), remote_interfaces_->get()); @@ -357,7 +357,7 @@ // might fallback to it if the final redirected URL is an HLS url. factory_selector->AddFactory( media::RendererFactorySelector::FactoryType::MEDIA_PLAYER, - base::MakeUnique<MediaPlayerRendererClientFactory>( + std::make_unique<MediaPlayerRendererClientFactory>( render_thread->compositor_task_runner(), std::move(mojo_media_player_renderer_factory), base::Bind(&StreamTextureWrapperImpl::Create, @@ -380,7 +380,7 @@ if (use_mojo_renderer_factory) { factory_selector->AddFactory( media::RendererFactorySelector::FactoryType::MOJO, - base::MakeUnique<media::MojoRendererFactory>( + std::make_unique<media::MojoRendererFactory>( base::Bind(&RenderThreadImpl::GetGpuFactories, base::Unretained(render_thread)), GetMediaInterfaceFactory())); @@ -393,7 +393,7 @@ if (!use_mojo_renderer_factory) { factory_selector->AddFactory( media::RendererFactorySelector::FactoryType::DEFAULT, - base::MakeUnique<media::DefaultRendererFactory>( + std::make_unique<media::DefaultRendererFactory>( media_log, decoder_factory, base::Bind(&RenderThreadImpl::GetGpuFactories, base::Unretained(render_thread)))); @@ -415,7 +415,7 @@ *out_media_observer = remoting_controller->GetWeakPtr(); auto courier_factory = - base::MakeUnique<media::remoting::CourierRendererFactory>( + std::make_unique<media::remoting::CourierRendererFactory>( std::move(remoting_controller)); // base::Unretained is safe here because |factory_selector| owns @@ -447,7 +447,7 @@ return new WebMediaPlayerMS( frame, client, GetWebMediaPlayerDelegate(), - base::MakeUnique<RenderMediaLog>(url::Origin(security_origin).GetURL()), + std::make_unique<RenderMediaLog>(url::Origin(security_origin).GetURL()), CreateMediaStreamRendererFactory(), render_thread->GetIOTaskRunner(), compositor_task_runner, render_thread->GetMediaThreadTaskRunner(), render_thread->GetWorkerTaskRunner(), render_thread->GetGpuFactories(),
diff --git a/content/renderer/media/media_stream_audio_processor.cc b/content/renderer/media/media_stream_audio_processor.cc index 22f5276..d2b3671 100644 --- a/content/renderer/media/media_stream_audio_processor.cc +++ b/content/renderer/media/media_stream_audio_processor.cc
@@ -507,7 +507,7 @@ // information then will not be properly updated. echo_information_.reset(); } else { - echo_information_ = base::MakeUnique<EchoInformation>(); + echo_information_ = std::make_unique<EchoInformation>(); } } @@ -684,7 +684,7 @@ if (!apm_config.echo_canceller3.enabled) { // Prepare for logging echo information. If there are data remaining in // |echo_information_| we simply discard it. - echo_information_ = base::MakeUnique<EchoInformation>(); + echo_information_ = std::make_unique<EchoInformation>(); } else { // Do not log any echo information when AEC3 is active, as the echo // information then will not be properly updated.
diff --git a/content/renderer/media/media_stream_dispatcher_unittest.cc b/content/renderer/media/media_stream_dispatcher_unittest.cc index 95bec79..71f99fa 100644 --- a/content/renderer/media/media_stream_dispatcher_unittest.cc +++ b/content/renderer/media/media_stream_dispatcher_unittest.cc
@@ -91,8 +91,8 @@ class MediaStreamDispatcherTest : public ::testing::Test { public: MediaStreamDispatcherTest() - : dispatcher_(base::MakeUnique<MediaStreamDispatcher>(nullptr)), - handler_(base::MakeUnique<MockMediaStreamDispatcherEventHandler>()), + : dispatcher_(std::make_unique<MediaStreamDispatcher>(nullptr)), + handler_(std::make_unique<MockMediaStreamDispatcherEventHandler>()), controls_(true, true), security_origin_(url::Origin::Create(GURL("http://test.com"))) { mojom::MediaStreamDispatcherHostPtr dispatcher_host =
diff --git a/content/renderer/media/media_stream_video_capturer_source_unittest.cc b/content/renderer/media/media_stream_video_capturer_source_unittest.cc index 380e2c0..c98e882 100644 --- a/content/renderer/media/media_stream_video_capturer_source_unittest.cc +++ b/content/renderer/media/media_stream_video_capturer_source_unittest.cc
@@ -105,7 +105,7 @@ base::test::ScopedTaskEnvironment::MainThreadType::UI), child_process_(new ChildProcess()), source_stopped_(false) { - auto delegate = base::MakeUnique<MockVideoCapturerSource>(); + auto delegate = std::make_unique<MockVideoCapturerSource>(); delegate_ = delegate.get(); EXPECT_CALL(*delegate_, GetPreferredFormats()); source_ = new MediaStreamVideoCapturerSource(
diff --git a/content/renderer/media/media_stream_video_source.cc b/content/renderer/media/media_stream_video_source.cc index 66f2274..f47e0ed 100644 --- a/content/renderer/media/media_stream_video_source.cc +++ b/content/renderer/media/media_stream_video_source.cc
@@ -56,7 +56,7 @@ pending_tracks_.push_back(PendingTrackInfo( track, frame_callback, - base::MakeUnique<VideoTrackAdapterSettings>(track_adapter_settings), + std::make_unique<VideoTrackAdapterSettings>(track_adapter_settings), callback)); switch (state_) {
diff --git a/content/renderer/media/media_stream_video_track.cc b/content/renderer/media/media_stream_video_track.cc index 38bf137..35996b9 100644 --- a/content/renderer/media/media_stream_video_track.cc +++ b/content/renderer/media/media_stream_video_track.cc
@@ -258,7 +258,7 @@ frame_deliverer_( new MediaStreamVideoTrack::FrameDeliverer(source->io_task_runner(), enabled)), - adapter_settings_(base::MakeUnique<VideoTrackAdapterSettings>( + adapter_settings_(std::make_unique<VideoTrackAdapterSettings>( VideoTrackAdapterSettings())), is_screencast_(false), source_(source->GetWeakPtr()) { @@ -282,7 +282,7 @@ new MediaStreamVideoTrack::FrameDeliverer(source->io_task_runner(), enabled)), adapter_settings_( - base::MakeUnique<VideoTrackAdapterSettings>(adapter_settings)), + std::make_unique<VideoTrackAdapterSettings>(adapter_settings)), noise_reduction_(noise_reduction), is_screencast_(is_screen_cast), min_frame_rate_(min_frame_rate),
diff --git a/content/renderer/media/mojo_audio_output_ipc_unittest.cc b/content/renderer/media/mojo_audio_output_ipc_unittest.cc index 4973b695..c5624ace 100644 --- a/content/renderer/media/mojo_audio_output_ipc_unittest.cc +++ b/content/renderer/media/mojo_audio_output_ipc_unittest.cc
@@ -204,7 +204,7 @@ StrictMock<MockDelegate> delegate; std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(NullAccessor()); + std::make_unique<MojoAudioOutputIPC>(NullAccessor()); EXPECT_CALL(delegate, OnDeviceAuthorized(media::OUTPUT_DEVICE_STATUS_ERROR_INTERNAL, _, @@ -224,9 +224,9 @@ StrictMock<MockDelegate> delegate; const std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); + std::make_unique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); stream_factory.PrepareProviderForAuthorization( - kSessionId, kDeviceId, base::MakeUnique<TestStreamProvider>(nullptr)); + kSessionId, kDeviceId, std::make_unique<TestStreamProvider>(nullptr)); ipc->RequestDeviceAuthorization(&delegate, kSessionId, kDeviceId, Origin()); @@ -246,9 +246,9 @@ StrictMock<MockDelegate> delegate; const std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); + std::make_unique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); stream_factory.PrepareProviderForAuthorization( - kSessionId, kDeviceId, base::MakeUnique<TestStreamProvider>(&stream)); + kSessionId, kDeviceId, std::make_unique<TestStreamProvider>(&stream)); ipc->RequestDeviceAuthorization(&delegate, kSessionId, kDeviceId, Origin()); ipc->CreateStream(&delegate, Params()); @@ -270,7 +270,7 @@ StrictMock<MockStream> stream; StrictMock<MockDelegate> delegate; const std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); + std::make_unique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); // Note: This call implicitly EXPECTs that authorization is requested, // and constructing the TestStreamProvider with a |&stream| EXPECTs that the @@ -278,7 +278,7 @@ // device and no session id. stream_factory.PrepareProviderForAuthorization( 0, std::string(media::AudioDeviceDescription::kDefaultDeviceId), - base::MakeUnique<TestStreamProvider>(&stream)); + std::make_unique<TestStreamProvider>(&stream)); ipc->CreateStream(&delegate, Params()); @@ -296,11 +296,11 @@ StrictMock<MockDelegate> delegate; const std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); + std::make_unique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); for (int i = 0; i < 5; ++i) { stream_factory.PrepareProviderForAuthorization( - kSessionId, kDeviceId, base::MakeUnique<TestStreamProvider>(&stream)); + kSessionId, kDeviceId, std::make_unique<TestStreamProvider>(&stream)); ipc->RequestDeviceAuthorization(&delegate, kSessionId, kDeviceId, Origin()); ipc->CreateStream(&delegate, Params()); @@ -325,10 +325,10 @@ StrictMock<MockDelegate> delegate; const std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); + std::make_unique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); stream_factory.PrepareProviderForAuthorization( - kSessionId, kDeviceId, base::MakeUnique<TestStreamProvider>(nullptr)); + kSessionId, kDeviceId, std::make_unique<TestStreamProvider>(nullptr)); ipc->RequestDeviceAuthorization(&delegate, kSessionId, kDeviceId, Origin()); EXPECT_CALL(delegate, OnDeviceAuthorized( @@ -346,7 +346,7 @@ for (int i = 0; i < 5; ++i) { stream_factory.PrepareProviderForAuthorization( - kSessionId, kDeviceId, base::MakeUnique<TestStreamProvider>(&stream)); + kSessionId, kDeviceId, std::make_unique<TestStreamProvider>(&stream)); ipc->RequestDeviceAuthorization(&delegate, kSessionId, kDeviceId, Origin()); ipc->CreateStream(&delegate, Params()); @@ -375,7 +375,7 @@ StrictMock<MockDelegate> delegate; std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); + std::make_unique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); stream_factory.RefuseNextRequest(kSessionId, kDeviceId); ipc->RequestDeviceAuthorization(&delegate, kSessionId, kDeviceId, Origin()); @@ -404,7 +404,7 @@ StrictMock<MockDelegate> delegate; std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); + std::make_unique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); ipc->RequestDeviceAuthorization(&delegate, kSessionId, kDeviceId, Origin()); @@ -430,11 +430,11 @@ base::MessageLoopForIO message_loop; TestRemoteFactory stream_factory; stream_factory.PrepareProviderForAuthorization( - kSessionId, kDeviceId, base::MakeUnique<TestStreamProvider>(nullptr)); + kSessionId, kDeviceId, std::make_unique<TestStreamProvider>(nullptr)); StrictMock<MockDelegate> delegate; const std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); + std::make_unique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); ipc->RequestDeviceAuthorization(&delegate, kSessionId, kDeviceId, Origin()); @@ -456,10 +456,10 @@ StrictMock<MockDelegate> delegate; stream_factory.PrepareProviderForAuthorization( - kSessionId, kDeviceId, base::MakeUnique<TestStreamProvider>(nullptr)); + kSessionId, kDeviceId, std::make_unique<TestStreamProvider>(nullptr)); std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); + std::make_unique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); ipc->RequestDeviceAuthorization(&delegate, kSessionId, kDeviceId, Origin()); EXPECT_DCHECK_DEATH(ipc.reset()); @@ -476,10 +476,10 @@ stream_factory.PrepareProviderForAuthorization( 0, std::string(media::AudioDeviceDescription::kDefaultDeviceId), - base::MakeUnique<TestStreamProvider>(&stream)); + std::make_unique<TestStreamProvider>(&stream)); std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); + std::make_unique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); ipc->CreateStream(&delegate, Params()); EXPECT_DCHECK_DEATH(ipc.reset()); @@ -495,9 +495,9 @@ StrictMock<MockDelegate> delegate; const std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); + std::make_unique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); stream_factory.PrepareProviderForAuthorization( - kSessionId, kDeviceId, base::MakeUnique<TestStreamProvider>(&stream)); + kSessionId, kDeviceId, std::make_unique<TestStreamProvider>(&stream)); ipc->RequestDeviceAuthorization(&delegate, kSessionId, kDeviceId, Origin()); ipc->CreateStream(&delegate, Params()); @@ -521,9 +521,9 @@ StrictMock<MockDelegate> delegate; const std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); + std::make_unique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); stream_factory.PrepareProviderForAuthorization( - kSessionId, kDeviceId, base::MakeUnique<TestStreamProvider>(&stream)); + kSessionId, kDeviceId, std::make_unique<TestStreamProvider>(&stream)); ipc->RequestDeviceAuthorization(&delegate, kSessionId, kDeviceId, Origin()); ipc->CreateStream(&delegate, Params()); @@ -547,9 +547,9 @@ StrictMock<MockDelegate> delegate; const std::unique_ptr<media::AudioOutputIPC> ipc = - base::MakeUnique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); + std::make_unique<MojoAudioOutputIPC>(stream_factory.GetAccessor()); stream_factory.PrepareProviderForAuthorization( - kSessionId, kDeviceId, base::MakeUnique<TestStreamProvider>(&stream)); + kSessionId, kDeviceId, std::make_unique<TestStreamProvider>(&stream)); ipc->RequestDeviceAuthorization(&delegate, kSessionId, kDeviceId, Origin()); ipc->CreateStream(&delegate, Params());
diff --git a/content/renderer/media/peer_connection_tracker.cc b/content/renderer/media/peer_connection_tracker.cc index 5d09c4b..1a6ae87 100644 --- a/content/renderer/media/peer_connection_tracker.cc +++ b/content/renderer/media/peer_connection_tracker.cc
@@ -256,7 +256,7 @@ if (report.values().empty()) return NULL; - auto values = base::MakeUnique<base::ListValue>(); + auto values = std::make_unique<base::ListValue>(); for (const auto& v : report.values()) { const StatsReport::ValuePtr& value = v.second; @@ -286,7 +286,7 @@ } } - auto dict = base::MakeUnique<base::DictionaryValue>(); + auto dict = std::make_unique<base::DictionaryValue>(); dict->SetDouble("timestamp", report.timestamp()); dict->Set("values", std::move(values)); @@ -304,7 +304,7 @@ // Note: // The format must be consistent with what webrtc_internals.js expects. // If you change it here, you must change webrtc_internals.js as well. - auto result = base::MakeUnique<base::DictionaryValue>(); + auto result = std::make_unique<base::DictionaryValue>(); result->Set("stats", std::move(stats)); result->SetString("id", report.id()->ToString()); result->SetString("type", report.TypeToString());
diff --git a/content/renderer/media/rtc_certificate_generator.cc b/content/renderer/media/rtc_certificate_generator.cc index 5a20327..f79b214 100644 --- a/content/renderer/media/rtc_certificate_generator.cc +++ b/content/renderer/media/rtc_certificate_generator.cc
@@ -95,7 +95,7 @@ base::BindOnce( &RTCCertificateGeneratorRequest::DoCallbackOnMainThread, this, base::Passed(std::move(observer)), - base::Passed(base::MakeUnique<RTCCertificate>(certificate)))); + base::Passed(std::make_unique<RTCCertificate>(certificate)))); } void DoCallbackOnMainThread( @@ -168,7 +168,7 @@ pem_private_key.Utf8(), pem_certificate.Utf8())); if (!certificate) return nullptr; - return base::MakeUnique<RTCCertificate>(certificate); + return std::make_unique<RTCCertificate>(certificate); } } // namespace content
diff --git a/content/renderer/media/rtc_peer_connection_handler.cc b/content/renderer/media/rtc_peer_connection_handler.cc index 4475002..f6c0a24e 100644 --- a/content/renderer/media/rtc_peer_connection_handler.cc +++ b/content/renderer/media/rtc_peer_connection_handler.cc
@@ -1754,7 +1754,7 @@ } it = rtp_senders_ .insert(std::make_pair( - id, base::MakeUnique<RTCRtpSender>( + id, std::make_unique<RTCRtpSender>( webrtc_senders[i].get(), std::move(track_adapter)))) .first; } @@ -1808,7 +1808,7 @@ auto it = rtp_senders_ .insert(std::make_pair( webrtc_sender_id, - base::MakeUnique<RTCRtpSender>(std::move(webrtc_sender), + std::make_unique<RTCRtpSender>(std::move(webrtc_sender), std::move(track_adapter), std::move(stream_adapters)))) .first; @@ -2056,7 +2056,7 @@ rtp_receivers_ .insert(std::make_pair( receiver_id, - base::MakeUnique<RTCRtpReceiver>( + std::make_unique<RTCRtpReceiver>( webrtc_receiver.get(), std::move(remote_track_adapter_ref), std::move(remote_stream_adapter_refs)))) .first->second;
diff --git a/content/renderer/media/user_media_client_impl.cc b/content/renderer/media/user_media_client_impl.cc index e046cdc..c4655ef 100644 --- a/content/renderer/media/user_media_client_impl.cc +++ b/content/renderer/media/user_media_client_impl.cc
@@ -100,7 +100,7 @@ const scoped_refptr<base::TaskRunner>& worker_task_runner) : UserMediaClientImpl( render_frame, - base::MakeUnique<UserMediaProcessor>( + std::make_unique<UserMediaProcessor>( render_frame, dependency_factory, std::move(media_stream_dispatcher), @@ -149,7 +149,7 @@ // make decisions about the permissions UI. Its value can be lost while // switching threads, so saving its value here. std::unique_ptr<UserMediaRequest> request_info = - base::MakeUnique<UserMediaRequest>( + std::make_unique<UserMediaRequest>( request_id, web_request, blink::WebUserGestureIndicator::IsProcessingUserGesture()); pending_request_infos_.push_back(Request(std::move(request_info)));
diff --git a/content/renderer/media/user_media_client_impl_unittest.cc b/content/renderer/media/user_media_client_impl_unittest.cc index 0f1522f1..fdfb9b1 100644 --- a/content/renderer/media/user_media_client_impl_unittest.cc +++ b/content/renderer/media/user_media_client_impl_unittest.cc
@@ -475,7 +475,7 @@ dependency_factory_.get(), base::WrapUnique(ms_dispatcher_), std::move(user_media_processor_host_proxy), &state_), - user_media_client_impl_ = base::MakeUnique<UserMediaClientImplUnderTest>( + user_media_client_impl_ = std::make_unique<UserMediaClientImplUnderTest>( user_media_processor_, &state_); ::mojom::MediaDevicesDispatcherHostPtr user_media_client_host_proxy; binding_user_media_client_.Bind(
diff --git a/content/renderer/media/user_media_processor.cc b/content/renderer/media/user_media_processor.cc index 3c79c28..9cbf15e 100644 --- a/content/renderer/media/user_media_processor.cc +++ b/content/renderer/media/user_media_processor.cc
@@ -351,7 +351,7 @@ DCHECK(!request_completed_cb_); DCHECK(!current_request_info_); request_completed_cb_ = std::move(callback); - current_request_info_ = base::MakeUnique<RequestInfo>(std::move(request)); + current_request_info_ = std::make_unique<RequestInfo>(std::move(request)); // TODO(guidou): Set up audio and video in parallel. if (current_request_info_->web_request().Audio()) { SetupAudioInput();
diff --git a/content/renderer/media/video_capture_impl_manager_unittest.cc b/content/renderer/media/video_capture_impl_manager_unittest.cc index f9b48d72..58765ea 100644 --- a/content/renderer/media/video_capture_impl_manager_unittest.cc +++ b/content/renderer/media/video_capture_impl_manager_unittest.cc
@@ -111,7 +111,7 @@ private: std::unique_ptr<VideoCaptureImpl> CreateVideoCaptureImplForTesting( media::VideoCaptureSessionId session_id) const override { - auto video_capture_impl = base::MakeUnique<MockVideoCaptureImpl>( + auto video_capture_impl = std::make_unique<MockVideoCaptureImpl>( session_id, pause_callback_, stop_capture_callback_); video_capture_impl->SetVideoCaptureHostForTesting(video_capture_impl.get()); return std::move(video_capture_impl);
diff --git a/content/renderer/media/video_track_adapter.cc b/content/renderer/media/video_track_adapter.cc index 9591614..7aad8d6e 100644 --- a/content/renderer/media/video_track_adapter.cc +++ b/content/renderer/media/video_track_adapter.cc
@@ -208,7 +208,7 @@ // Make sure the VideoCaptureDeliverFrameCB is released on the main // render thread since it was added on the main render thread in // VideoTrackAdapter::AddTrack. - ret = base::MakeUnique<VideoCaptureDeliverFrameCB>(it->second); + ret = std::make_unique<VideoCaptureDeliverFrameCB>(it->second); callbacks_.erase(it); break; }
diff --git a/content/renderer/media/webmediaplayer_ms_unittest.cc b/content/renderer/media/webmediaplayer_ms_unittest.cc index 480d7827..eb3f386 100644 --- a/content/renderer/media/webmediaplayer_ms_unittest.cc +++ b/content/renderer/media/webmediaplayer_ms_unittest.cc
@@ -455,7 +455,7 @@ nullptr, this, &delegate_, - base::MakeUnique<media::MediaLog>(), + std::make_unique<media::MediaLog>(), std::unique_ptr<MediaStreamRendererFactory>(render_factory_), message_loop_.task_runner(), message_loop_.task_runner(),
diff --git a/content/renderer/media/webrtc/media_stream_track_metrics.cc b/content/renderer/media/webrtc/media_stream_track_metrics.cc index a4b708c3..e340bd0b 100644 --- a/content/renderer/media/webrtc/media_stream_track_metrics.cc +++ b/content/renderer/media/webrtc/media_stream_track_metrics.cc
@@ -279,7 +279,7 @@ MediaStreamInterface* stream) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); observers_.push_back( - base::MakeUnique<MediaStreamTrackMetricsObserver>(type, stream, this)); + std::make_unique<MediaStreamTrackMetricsObserver>(type, stream, this)); SendLifeTimeMessageDependingOnIceState(observers_.back().get()); }
diff --git a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc index 1ffa300..d7f57d9a 100644 --- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc +++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
@@ -126,7 +126,7 @@ // webKitRTCPeerConnection. UpdateWebRTCMethodCount(WEBKIT_RTC_PEER_CONNECTION); - return base::MakeUnique<RTCPeerConnectionHandler>(client, this); + return std::make_unique<RTCPeerConnectionHandler>(client, this); } const scoped_refptr<webrtc::PeerConnectionFactoryInterface>&
diff --git a/content/renderer/media/webrtc/rtc_rtp_receiver.cc b/content/renderer/media/webrtc/rtc_rtp_receiver.cc index d89a692f..9f7e06b 100644 --- a/content/renderer/media/webrtc/rtc_rtp_receiver.cc +++ b/content/renderer/media/webrtc/rtc_rtp_receiver.cc
@@ -36,7 +36,7 @@ for (size_t i = 0; i < stream_adapter_refs_.size(); ++i) { stream_adapter_ref_copies[i] = stream_adapter_refs_[i]->Copy(); } - return base::MakeUnique<RTCRtpReceiver>(webrtc_rtp_receiver_, + return std::make_unique<RTCRtpReceiver>(webrtc_rtp_receiver_, track_adapter_->Copy(), std::move(stream_adapter_ref_copies)); } @@ -64,7 +64,7 @@ blink::WebVector<std::unique_ptr<blink::WebRTCRtpContributingSource>> sources( webrtc_sources.size()); for (size_t i = 0; i < webrtc_sources.size(); ++i) { - sources[i] = base::MakeUnique<RTCRtpContributingSource>(webrtc_sources[i]); + sources[i] = std::make_unique<RTCRtpContributingSource>(webrtc_sources[i]); } return sources; }
diff --git a/content/renderer/media/webrtc/rtc_rtp_sender.cc b/content/renderer/media/webrtc/rtc_rtp_sender.cc index 21f59685..08c7498 100644 --- a/content/renderer/media/webrtc/rtc_rtp_sender.cc +++ b/content/renderer/media/webrtc/rtc_rtp_sender.cc
@@ -60,7 +60,7 @@ for (size_t i = 0; i < stream_adapters_.size(); ++i) { stream_adapter_copies[i] = stream_adapters_[i]->Copy(); } - return base::MakeUnique<RTCRtpSender>(webrtc_rtp_sender_, + return std::make_unique<RTCRtpSender>(webrtc_rtp_sender_, track_adapter_->Copy(), std::move(stream_adapter_copies)); }
diff --git a/content/renderer/media/webrtc/webrtc_media_stream_adapter.cc b/content/renderer/media/webrtc/webrtc_media_stream_adapter.cc index 90038f3..d5b41c3 100644 --- a/content/renderer/media/webrtc/webrtc_media_stream_adapter.cc +++ b/content/renderer/media/webrtc/webrtc_media_stream_adapter.cc
@@ -24,7 +24,7 @@ PeerConnectionDependencyFactory* factory, scoped_refptr<WebRtcMediaStreamTrackAdapterMap> track_adapter_map, const blink::WebMediaStream& web_stream) { - return base::MakeUnique<LocalWebRtcMediaStreamAdapter>( + return std::make_unique<LocalWebRtcMediaStreamAdapter>( factory, std::move(track_adapter_map), web_stream); } @@ -34,7 +34,7 @@ scoped_refptr<base::SingleThreadTaskRunner> main_thread, scoped_refptr<WebRtcMediaStreamTrackAdapterMap> track_adapter_map, scoped_refptr<webrtc::MediaStreamInterface> webrtc_stream) { - return base::MakeUnique<RemoteWebRtcMediaStreamAdapter>( + return std::make_unique<RemoteWebRtcMediaStreamAdapter>( std::move(main_thread), std::move(track_adapter_map), std::move(webrtc_stream)); }
diff --git a/content/renderer/media_capture_from_element/html_video_element_capturer_source.cc b/content/renderer/media_capture_from_element/html_video_element_capturer_source.cc index 1d1e3ca5..6edea073 100644 --- a/content/renderer/media_capture_from_element/html_video_element_capturer_source.cc +++ b/content/renderer/media_capture_from_element/html_video_element_capturer_source.cc
@@ -90,7 +90,7 @@ running_callback_.Run(false); return; } - canvas_ = base::MakeUnique<cc::SkiaPaintCanvas>(bitmap_); + canvas_ = std::make_unique<cc::SkiaPaintCanvas>(bitmap_); new_frame_callback_ = new_frame_callback; // Force |capture_frame_rate_| to be in between k{Min,Max}FramesPerSecond.
diff --git a/content/renderer/media_recorder/video_track_recorder.cc b/content/renderer/media_recorder/video_track_recorder.cc index 1ec08a0..da7f868 100644 --- a/content/renderer/media_recorder/video_track_recorder.cc +++ b/content/renderer/media_recorder/video_track_recorder.cc
@@ -285,7 +285,7 @@ if (!canvas_ || canvas_->imageInfo().width() != info.width() || canvas_->imageInfo().height() != info.height()) { bitmap_.allocPixels(info); - canvas_ = base::MakeUnique<cc::SkiaPaintCanvas>(bitmap_); + canvas_ = std::make_unique<cc::SkiaPaintCanvas>(bitmap_); } if (!video_renderer_) video_renderer_.reset(new media::PaintCanvasVideoRenderer);
diff --git a/content/renderer/mus/mus_embedded_frame.cc b/content/renderer/mus/mus_embedded_frame.cc index a49a33c..f98d7db 100644 --- a/content/renderer/mus/mus_embedded_frame.cc +++ b/content/renderer/mus/mus_embedded_frame.cc
@@ -59,7 +59,7 @@ delegate_(delegate), window_id_(window_id) { if (!window_tree()) { - pending_state_ = base::MakeUnique<PendingState>(); + pending_state_ = std::make_unique<PendingState>(); pending_state_->token = token; return; }
diff --git a/content/renderer/mus/render_widget_window_tree_client_factory.cc b/content/renderer/mus/render_widget_window_tree_client_factory.cc index 92c9d0d..d413d47 100644 --- a/content/renderer/mus/render_widget_window_tree_client_factory.cc +++ b/content/renderer/mus/render_widget_window_tree_client_factory.cc
@@ -86,7 +86,7 @@ void CreateRenderWidgetWindowTreeClientFactory( ServiceManagerConnection* connection) { connection->AddConnectionFilter( - base::MakeUnique<RenderWidgetWindowTreeClientFactoryImpl>()); + std::make_unique<RenderWidgetWindowTreeClientFactoryImpl>()); } } // namespace content
diff --git a/content/renderer/mus/renderer_window_tree_client.cc b/content/renderer/mus/renderer_window_tree_client.cc index a681b97..f6b2a90 100644 --- a/content/renderer/mus/renderer_window_tree_client.cc +++ b/content/renderer/mus/renderer_window_tree_client.cc
@@ -133,9 +133,9 @@ params.pipes.compositor_frame_sink_info = std::move(sink_info); params.pipes.client_request = std::move(client_request); params.local_surface_id_provider = - base::MakeUnique<viz::DefaultLocalSurfaceIdProvider>(); + std::make_unique<viz::DefaultLocalSurfaceIdProvider>(); params.enable_surface_synchronization = true; - auto frame_sink = base::MakeUnique<viz::ClientLayerTreeFrameSink>( + auto frame_sink = std::make_unique<viz::ClientLayerTreeFrameSink>( std::move(context_provider), nullptr /* worker_context_provider */, ¶ms); tree_->AttachCompositorFrameSink(root_window_id_, std::move(sink_request),
diff --git a/content/renderer/pepper/content_decryptor_delegate.cc b/content/renderer/pepper/content_decryptor_delegate.cc index 4ed5f4e..91a34a1 100644 --- a/content/renderer/pepper/content_decryptor_delegate.cc +++ b/content/renderer/pepper/content_decryptor_delegate.cc
@@ -845,7 +845,7 @@ keys_info.reserve(key_count); for (uint32_t i = 0; i < key_count; ++i) { const auto& info = key_information[i]; - keys_info.push_back(base::MakeUnique<media::CdmKeyInformation>( + keys_info.push_back(std::make_unique<media::CdmKeyInformation>( info.key_id, info.key_id_size, PpCdmKeyStatusToCdmKeyInformationKeyStatus(info.key_status), info.system_code));
diff --git a/content/renderer/pepper/content_renderer_pepper_host_factory.cc b/content/renderer/pepper/content_renderer_pepper_host_factory.cc index c793504..d859446 100644 --- a/content/renderer/pepper/content_renderer_pepper_host_factory.cc +++ b/content/renderer/pepper/content_renderer_pepper_host_factory.cc
@@ -126,7 +126,7 @@ case PpapiHostMsg_Compositor_Create::ID: { if (!CanUseCompositorAPI(host_, instance)) return nullptr; - return base::MakeUnique<PepperCompositorHost>(host_, instance, resource); + return std::make_unique<PepperCompositorHost>(host_, instance, resource); } case PpapiHostMsg_FileRef_CreateForFileAPI::ID: { PP_Resource file_system; @@ -136,7 +136,7 @@ NOTREACHED(); return nullptr; } - return base::MakeUnique<PepperFileRefRendererHost>( + return std::make_unique<PepperFileRefRendererHost>( host_, instance, resource, file_system, internal_path); } case PpapiHostMsg_FileSystem_Create::ID: { @@ -146,7 +146,7 @@ NOTREACHED(); return nullptr; } - return base::MakeUnique<PepperFileSystemHost>(host_, instance, resource, + return std::make_unique<PepperFileSystemHost>(host_, instance, resource, file_system_type); } case PpapiHostMsg_Graphics2D_Create::ID: { @@ -176,30 +176,30 @@ host_, instance, resource, size, is_always_opaque, image_data)); } case PpapiHostMsg_URLLoader_Create::ID: - return base::MakeUnique<PepperURLLoaderHost>(host_, false, instance, + return std::make_unique<PepperURLLoaderHost>(host_, false, instance, resource); case PpapiHostMsg_VideoDecoder_Create::ID: - return base::MakeUnique<PepperVideoDecoderHost>(host_, instance, + return std::make_unique<PepperVideoDecoderHost>(host_, instance, resource); case PpapiHostMsg_VideoEncoder_Create::ID: - return base::MakeUnique<PepperVideoEncoderHost>(host_, instance, + return std::make_unique<PepperVideoEncoderHost>(host_, instance, resource); case PpapiHostMsg_WebSocket_Create::ID: - return base::MakeUnique<PepperWebSocketHost>(host_, instance, resource); + return std::make_unique<PepperWebSocketHost>(host_, instance, resource); #if BUILDFLAG(ENABLE_WEBRTC) case PpapiHostMsg_MediaStreamVideoTrack_Create::ID: - return base::MakeUnique<PepperMediaStreamVideoTrackHost>(host_, instance, + return std::make_unique<PepperMediaStreamVideoTrackHost>(host_, instance, resource); // These private MediaStream interfaces are exposed as if they were public // so they can be used by NaCl plugins. However, they are available only // for whitelisted apps. case PpapiHostMsg_VideoDestination_Create::ID: if (CanUseMediaStreamAPI(host_, instance)) - return base::MakeUnique<PepperVideoDestinationHost>(host_, instance, + return std::make_unique<PepperVideoDestinationHost>(host_, instance, resource); case PpapiHostMsg_VideoSource_Create::ID: if (CanUseMediaStreamAPI(host_, instance)) - return base::MakeUnique<PepperVideoSourceHost>(host_, instance, + return std::make_unique<PepperVideoSourceHost>(host_, instance, resource); #endif // BUILDFLAG(ENABLE_WEBRTC) } @@ -208,16 +208,16 @@ if (GetPermissions().HasPermission(ppapi::PERMISSION_DEV)) { switch (message.type()) { case PpapiHostMsg_AudioEncoder_Create::ID: - return base::MakeUnique<PepperAudioEncoderHost>(host_, instance, + return std::make_unique<PepperAudioEncoderHost>(host_, instance, resource); case PpapiHostMsg_AudioInput_Create::ID: - return base::MakeUnique<PepperAudioInputHost>(host_, instance, + return std::make_unique<PepperAudioInputHost>(host_, instance, resource); case PpapiHostMsg_AudioOutput_Create::ID: - return base::MakeUnique<PepperAudioOutputHost>(host_, instance, + return std::make_unique<PepperAudioOutputHost>(host_, instance, resource); case PpapiHostMsg_FileChooser_Create::ID: - return base::MakeUnique<PepperFileChooserHost>(host_, instance, + return std::make_unique<PepperFileChooserHost>(host_, instance, resource); case PpapiHostMsg_VideoCapture_Create::ID: { std::unique_ptr<PepperVideoCaptureHost> host(
diff --git a/content/renderer/pepper/pepper_plugin_instance_impl.cc b/content/renderer/pepper/pepper_plugin_instance_impl.cc index cd63a05..ee4876f 100644 --- a/content/renderer/pepper/pepper_plugin_instance_impl.cc +++ b/content/renderer/pepper/pepper_plugin_instance_impl.cc
@@ -311,7 +311,7 @@ // is not modified. std::unique_ptr<const char* []> StringVectorToArgArray( const std::vector<std::string>& vector) { - auto array = base::MakeUnique<const char* []>(vector.size()); + auto array = std::make_unique<const char* []>(vector.size()); for (size_t i = 0; i < vector.size(); ++i) array[i] = vector[i].c_str(); return array; @@ -445,7 +445,7 @@ if (finished_loading_) return; - error_ = base::MakeUnique<WebURLError>(error); + error_ = std::make_unique<WebURLError>(error); } PepperPluginInstanceImpl::GamepadImpl::GamepadImpl() @@ -525,7 +525,7 @@ isolate_(v8::Isolate::GetCurrent()), is_deleted_(false), initialized_(false), - audio_controller_(base::MakeUnique<PepperAudioController>(this)), + audio_controller_(std::make_unique<PepperAudioController>(this)), view_change_weak_ptr_factory_(this), weak_factory_(this) { pp_instance_ = HostGlobals::Get()->AddInstance(this); @@ -892,7 +892,7 @@ // The external proxy isn't available, so save the response and record // document load notifications for later replay. external_document_response_ = response; - external_document_loader_ = base::MakeUnique<ExternalDocumentLoader>(); + external_document_loader_ = std::make_unique<ExternalDocumentLoader>(); document_loader_ = external_document_loader_.get(); return true; } @@ -911,7 +911,7 @@ // call into the instance and expect it to be valid. RendererPpapiHostImpl* host_impl = module_->renderer_ppapi_host(); auto loader_host = - base::MakeUnique<PepperURLLoaderHost>(host_impl, true, pp_instance(), 0); + std::make_unique<PepperURLLoaderHost>(host_impl, true, pp_instance(), 0); // TODO(teravest): Remove set_document_loader() from instance and clean up // this relationship. set_document_loader(loader_host.get()); @@ -2177,7 +2177,7 @@ texture_layer_->SetFlipped(false); } - auto layer = base::MakeUnique<cc_blink::WebLayerImpl>(texture_layer_); + auto layer = std::make_unique<cc_blink::WebLayerImpl>(texture_layer_); // Ignore transparency in fullscreen, since that's what Flash always // wants to do, and that lets it not recreate a context if // wmode=transparent was specified. @@ -2187,7 +2187,7 @@ web_layer_ = std::move(layer); } else if (want_compositor_layer) { compositor_layer_ = bound_compositor_->layer(); - web_layer_ = base::MakeUnique<cc_blink::WebLayerImpl>(compositor_layer_); + web_layer_ = std::make_unique<cc_blink::WebLayerImpl>(compositor_layer_); } if (web_layer_) { @@ -2372,7 +2372,7 @@ if (!plugin_decryption_interface) return nullptr; - content_decryptor_delegate_ = base::MakeUnique<ContentDecryptorDelegate>( + content_decryptor_delegate_ = std::make_unique<ContentDecryptorDelegate>( pp_instance_, plugin_decryption_interface); return content_decryptor_delegate_.get(); } @@ -2860,7 +2860,7 @@ return PP_FALSE; if (type != PP_MOUSECURSOR_TYPE_CUSTOM) { - DoSetCursor(base::MakeUnique<WebCursorInfo>( + DoSetCursor(std::make_unique<WebCursorInfo>( static_cast<WebCursorInfo::Type>(type))); return PP_TRUE; } @@ -2876,7 +2876,7 @@ return PP_FALSE; auto custom_cursor = - base::MakeUnique<WebCursorInfo>(WebCursorInfo::kTypeCustom); + std::make_unique<WebCursorInfo>(WebCursorInfo::kTypeCustom); custom_cursor->hot_spot.x = hot_spot->x; custom_cursor->hot_spot.y = hot_spot->y; @@ -3434,7 +3434,7 @@ MouseLockDispatcher::LockTarget* PepperPluginInstanceImpl::GetOrCreateLockTargetAdapter() { if (!lock_target_) - lock_target_ = base::MakeUnique<PluginInstanceLockTarget>(this); + lock_target_ = std::make_unique<PluginInstanceLockTarget>(this); return lock_target_.get(); }
diff --git a/content/renderer/pepper/pepper_url_loader_host.cc b/content/renderer/pepper/pepper_url_loader_host.cc index a5e2630..42aafc7 100644 --- a/content/renderer/pepper/pepper_url_loader_host.cc +++ b/content/renderer/pepper/pepper_url_loader_host.cc
@@ -163,7 +163,7 @@ bytes_received_ += data_length; UpdateProgress(); - auto message = base::MakeUnique<PpapiPluginMsg_URLLoader_SendData>(); + auto message = std::make_unique<PpapiPluginMsg_URLLoader_SendData>(); message->WriteData(data, data_length); SendUpdateToPlugin(std::move(message)); } @@ -171,7 +171,7 @@ void PepperURLLoaderHost::DidFinishLoading(double finish_time) { // Note that |loader| will be NULL for document loads. SendUpdateToPlugin( - base::MakeUnique<PpapiPluginMsg_URLLoader_FinishedLoading>(PP_OK)); + std::make_unique<PpapiPluginMsg_URLLoader_FinishedLoading>(PP_OK)); } void PepperURLLoaderHost::DidFail(const WebURLError& error) { @@ -191,7 +191,7 @@ if (error.is_web_security_violation) pp_error = PP_ERROR_NOACCESS; SendUpdateToPlugin( - base::MakeUnique<PpapiPluginMsg_URLLoader_FinishedLoading>(pp_error)); + std::make_unique<PpapiPluginMsg_URLLoader_FinishedLoading>(pp_error)); } void PepperURLLoaderHost::DidConnectPendingHostToResource() { @@ -212,7 +212,7 @@ if (ret != PP_OK) SendUpdateToPlugin( - base::MakeUnique<PpapiPluginMsg_URLLoader_FinishedLoading>(ret)); + std::make_unique<PpapiPluginMsg_URLLoader_FinishedLoading>(ret)); return PP_OK; } @@ -420,7 +420,7 @@ void PepperURLLoaderHost::DidDataFromWebURLResponse( const ppapi::URLResponseInfoData& data) { SendUpdateToPlugin( - base::MakeUnique<PpapiPluginMsg_URLLoader_ReceivedResponse>(data)); + std::make_unique<PpapiPluginMsg_URLLoader_ReceivedResponse>(data)); } void PepperURLLoaderHost::UpdateProgress() { @@ -434,7 +434,7 @@ // flag. ppapi::proxy::ResourceMessageReplyParams params; SendUpdateToPlugin( - base::MakeUnique<PpapiPluginMsg_URLLoader_UpdateProgress>( + std::make_unique<PpapiPluginMsg_URLLoader_UpdateProgress>( record_upload ? bytes_sent_ : -1, record_upload ? total_bytes_to_be_sent_ : -1, record_download ? bytes_received_ : -1,
diff --git a/content/renderer/pepper/pepper_video_encoder_host.cc b/content/renderer/pepper/pepper_video_encoder_host.cc index 08fc906..9381551 100644 --- a/content/renderer/pepper/pepper_video_encoder_host.cc +++ b/content/renderer/pepper/pepper_video_encoder_host.cc
@@ -404,7 +404,7 @@ break; } - shm_buffers_.push_back(base::MakeUnique<ShmBuffer>(i, std::move(shm))); + shm_buffers_.push_back(std::make_unique<ShmBuffer>(i, std::move(shm))); } // Feed buffers to the encoder.
diff --git a/content/renderer/pepper/ppb_image_data_impl.cc b/content/renderer/pepper/ppb_image_data_impl.cc index d17f087b..5cb081d 100644 --- a/content/renderer/pepper/ppb_image_data_impl.cc +++ b/content/renderer/pepper/ppb_image_data_impl.cc
@@ -243,7 +243,7 @@ skia_bitmap_.setPixels(shared_memory_->memory()); // Our platform bitmaps are set to opaque by default, which we don't want. skia_bitmap_.setAlphaType(kPremul_SkAlphaType); - skia_canvas_ = base::MakeUnique<SkCanvas>(skia_bitmap_); + skia_canvas_ = std::make_unique<SkCanvas>(skia_bitmap_); return skia_bitmap_.getAddr32(0, 0); } return shared_memory_->memory();
diff --git a/content/renderer/presentation/presentation_dispatcher_unittest.cc b/content/renderer/presentation/presentation_dispatcher_unittest.cc index ae1e8183..cd948ec 100644 --- a/content/renderer/presentation/presentation_dispatcher_unittest.cc +++ b/content/renderer/presentation/presentation_dispatcher_unittest.cc
@@ -185,7 +185,7 @@ private: void ConnectToPresentationServiceIfNeeded() override { if (!mock_binding_) { - mock_binding_ = base::MakeUnique<mojo::Binding<PresentationService>>( + mock_binding_ = std::make_unique<mojo::Binding<PresentationService>>( mock_presentation_service_, mojo::MakeRequest(&presentation_service_)); } @@ -319,7 +319,7 @@ EXPECT_CALL(connection, Init()).Times(1); dispatcher_.StartPresentation( - urls_, base::MakeUnique<TestWebPresentationConnectionCallback>( + urls_, std::make_unique<TestWebPresentationConnectionCallback>( url1_, presentation_id_, &connection)); run_loop.RunUntilIdle(); } @@ -342,7 +342,7 @@ })); dispatcher_.StartPresentation( urls_, - base::MakeUnique<TestWebPresentationConnectionErrorCallback>( + std::make_unique<TestWebPresentationConnectionErrorCallback>( WebPresentationError::kErrorTypeNoAvailableScreens, error_message)); run_loop.RunUntilIdle(); } @@ -368,7 +368,7 @@ })); dispatcher_.ReconnectPresentation( urls_, presentation_id_, - base::MakeUnique<TestWebPresentationConnectionErrorCallback>( + std::make_unique<TestWebPresentationConnectionErrorCallback>( WebPresentationError::kErrorTypeNoAvailableScreens, error_message)); run_loop.RunUntilIdle(); } @@ -394,7 +394,7 @@ EXPECT_CALL(connection, Init()).Times(1); dispatcher_.ReconnectPresentation( urls_, presentation_id_, - base::MakeUnique<TestWebPresentationConnectionCallback>( + std::make_unique<TestWebPresentationConnectionCallback>( url1_, presentation_id_, &connection)); run_loop.RunUntilIdle(); } @@ -421,7 +421,7 @@ EXPECT_CALL(connection, Init()).Times(0); dispatcher_.ReconnectPresentation( urls_, presentation_id_, - base::MakeUnique<TestWebPresentationConnectionCallback>( + std::make_unique<TestWebPresentationConnectionCallback>( url1_, presentation_id_, nullptr)); run_loop.RunUntilIdle(); } @@ -436,7 +436,7 @@ } dispatcher_.GetAvailability( - urls_, base::MakeUnique<WebPresentationAvailabilityCallbacks>()); + urls_, std::make_unique<WebPresentationAvailabilityCallbacks>()); dispatcher_.OnScreenAvailabilityUpdated(url1_, ScreenAvailability::AVAILABLE); run_loop1.RunUntilIdle(); @@ -602,7 +602,7 @@ for (auto* mock_observer : mock_observers_) { client()->GetAvailability( mock_observer->Urls(), - base::MakeUnique<WebPresentationAvailabilityCallbacks>()); + std::make_unique<WebPresentationAvailabilityCallbacks>()); client()->StartListening(mock_observer); } run_loop.RunUntilIdle(); @@ -628,7 +628,7 @@ for (auto* mock_observer : mock_observers_) { client()->GetAvailability( mock_observer->Urls(), - base::MakeUnique<WebPresentationAvailabilityCallbacks>()); + std::make_unique<WebPresentationAvailabilityCallbacks>()); client()->StartListening(mock_observer); } @@ -660,7 +660,7 @@ for (auto* mock_observer : mock_observers_) { client()->GetAvailability( mock_observer->Urls(), - base::MakeUnique<WebPresentationAvailabilityCallbacks>()); + std::make_unique<WebPresentationAvailabilityCallbacks>()); } for (auto* mock_observer : mock_observers_) @@ -692,7 +692,7 @@ for (auto* mock_observer : mock_observers_) { client()->GetAvailability( mock_observer->Urls(), - base::MakeUnique<WebPresentationAvailabilityCallbacks>()); + std::make_unique<WebPresentationAvailabilityCallbacks>()); client()->StartListening(mock_observer); } @@ -729,7 +729,7 @@ for (auto* mock_observer : mock_observers_) { client()->GetAvailability( mock_observer->Urls(), - base::MakeUnique<WebPresentationAvailabilityCallbacks>()); + std::make_unique<WebPresentationAvailabilityCallbacks>()); client()->StartListening(mock_observer); }
diff --git a/content/renderer/quota_dispatcher.cc b/content/renderer/quota_dispatcher.cc index 166fdb4e..08b6f98 100644 --- a/content/renderer/quota_dispatcher.cc +++ b/content/renderer/quota_dispatcher.cc
@@ -146,7 +146,7 @@ std::unique_ptr<QuotaDispatcher::Callback> QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper( blink::WebStorageQuotaCallbacks callbacks) { - return base::MakeUnique<WebStorageQuotaDispatcherCallback>(callbacks); + return std::make_unique<WebStorageQuotaDispatcherCallback>(callbacks); } void QuotaDispatcher::DidGrantStorageQuota(int request_id,
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc index 5482cd8..01f954ee 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc
@@ -1376,7 +1376,7 @@ new PepperBrowserConnection(this); #endif shared_worker_repository_ = - base::MakeUnique<SharedWorkerRepository>(GetInterfaceProvider()); + std::make_unique<SharedWorkerRepository>(GetInterfaceProvider()); GetWebFrame()->SetSharedWorkerRepositoryClient( shared_worker_repository_.get()); @@ -1416,7 +1416,7 @@ void RenderFrameImpl::InitializeBlameContext(RenderFrameImpl* parent_frame) { DCHECK(!blame_context_); - blame_context_ = base::MakeUnique<FrameBlameContext>(this, parent_frame); + blame_context_ = std::make_unique<FrameBlameContext>(this, parent_frame); blame_context_->Initialize(); } @@ -2241,10 +2241,10 @@ std::unique_ptr<base::Value> result_value( converter.FromV8Value(value, context)); list.Append(result_value ? std::move(result_value) - : base::MakeUnique<base::Value>()); + : std::make_unique<base::Value>()); } } else { - list.Set(0, base::MakeUnique<base::Value>()); + list.Set(0, std::make_unique<base::Value>()); } render_frame_impl_.get()->Send( new FrameHostMsg_JavaScriptExecuteResponse(routing_id_, id_, list)); @@ -2269,9 +2269,9 @@ std::unique_ptr<base::Value> result_value( converter.FromV8Value(result, context)); list.Set(0, result_value ? std::move(result_value) - : base::MakeUnique<base::Value>()); + : std::make_unique<base::Value>()); } else { - list.Set(0, base::MakeUnique<base::Value>()); + list.Set(0, std::make_unique<base::Value>()); } Send(new FrameHostMsg_JavaScriptExecuteResponse(routing_id_, id, list)); } @@ -2555,7 +2555,7 @@ } file_chooser_completions_.push_back( - base::MakeUnique<PendingFileChooser>(params, completion)); + std::make_unique<PendingFileChooser>(params, completion)); if (file_chooser_completions_.size() == 1) { // Actually show the browse dialog when this is the first request. Send(new FrameHostMsg_RunFileChooser(routing_id_, params)); @@ -3124,7 +3124,7 @@ NavigationStateImpl* navigation_state = static_cast<NavigationStateImpl*>(document_state->navigation_state()); - return base::MakeUnique<RendererWebApplicationCacheHostImpl>( + return std::make_unique<RendererWebApplicationCacheHostImpl>( RenderViewImpl::FromWebView(frame_->View()), client, RenderThreadImpl::current()->appcache_dispatcher()->backend_proxy(), navigation_state->request_params().appcache_host_id, routing_id_); @@ -3168,7 +3168,7 @@ GetDefaultURLLoaderFactoryGetter(); DCHECK(url_loader_factory_getter); std::unique_ptr<WorkerFetchContextImpl> worker_fetch_context = - base::MakeUnique<WorkerFetchContextImpl>( + std::make_unique<WorkerFetchContextImpl>( std::move(service_worker_client_request), std::move(container_host_ptr_info), url_loader_factory_getter->GetClonedInfo()); @@ -3235,7 +3235,7 @@ // The context can be null when the frame is sandboxed. return nullptr; } - return base::MakeUnique<WebServiceWorkerProviderImpl>( + return std::make_unique<WebServiceWorkerProviderImpl>( ChildThreadImpl::current()->thread_safe_sender(), provider->context()); } @@ -5083,7 +5083,7 @@ } std::unique_ptr<FrameHostMsg_DidCommitProvisionalLoad_Params> params = - base::MakeUnique<FrameHostMsg_DidCommitProvisionalLoad_Params>(); + std::make_unique<FrameHostMsg_DidCommitProvisionalLoad_Params>(); params->http_status_code = response.HttpStatusCode(); params->url_is_unreachable = document_loader->HasUnreachableURL(); params->method = "GET"; @@ -6482,7 +6482,7 @@ DCHECK(!web_user_media_client_); web_user_media_client_ = new UserMediaClientImpl( this, RenderThreadImpl::current()->GetPeerConnectionDependencyFactory(), - base::MakeUnique<MediaStreamDispatcher>(this), + std::make_unique<MediaStreamDispatcher>(this), render_thread->GetWorkerTaskRunner()); registry_.AddInterface( base::Bind(&MediaDevicesListenerImpl::Create, GetRoutingID()));
diff --git a/content/renderer/render_frame_proxy.cc b/content/renderer/render_frame_proxy.cc index b093ab17..68da79c 100644 --- a/content/renderer/render_frame_proxy.cc +++ b/content/renderer/render_frame_proxy.cc
@@ -500,7 +500,7 @@ local_surface_id_ = local_surface_id_allocator_.GenerateId(); if (enable_surface_synchronization_ && frame_sink_id_.is_valid()) { - float device_scale_factor = render_widget_->GetOriginalDeviceScaleFactor(); + float device_scale_factor = screen_info().device_scale_factor; viz::SurfaceInfo surface_info( viz::SurfaceId(frame_sink_id_, local_surface_id_), device_scale_factor, gfx::ScaleToCeiledSize(frame_rect().size(), device_scale_factor)); @@ -512,22 +512,15 @@ sent_resize_params_->frame_rect != pending_resize_params_.frame_rect; bool resize_params_changed = synchronized_params_changed || rect_changed; - gfx::Rect rect = frame_rect(); - #if defined(USE_AURA) if (rect_changed && mus_embedded_frame_) - mus_embedded_frame_->SetWindowBounds(local_surface_id_, rect); + mus_embedded_frame_->SetWindowBounds(local_surface_id_, frame_rect()); #endif - if (IsUseZoomForDSFEnabled()) { - rect = gfx::ScaleToEnclosingRect( - rect, 1.f / render_widget_->GetOriginalDeviceScaleFactor()); - } - if (resize_params_changed) { // Let the browser know about the updated view rect. - Send(new FrameHostMsg_UpdateResizeParams(routing_id_, rect, screen_info(), - local_surface_id_)); + Send(new FrameHostMsg_UpdateResizeParams(routing_id_, frame_rect(), + screen_info(), local_surface_id_)); sent_resize_params_ = pending_resize_params_; } }
diff --git a/content/renderer/render_process_impl.cc b/content/renderer/render_process_impl.cc index 9056850..c3316088c 100644 --- a/content/renderer/render_process_impl.cc +++ b/content/renderer/render_process_impl.cc
@@ -70,7 +70,7 @@ constexpr int kMaxNumThreadsInForegroundBlockingPool = 1; constexpr auto kSuggestedReclaimTime = base::TimeDelta::FromSeconds(30); - return base::MakeUnique<base::TaskScheduler::InitParams>( + return std::make_unique<base::TaskScheduler::InitParams>( base::SchedulerWorkerPoolParams(kMaxNumThreadsInBackgroundPool, kSuggestedReclaimTime), base::SchedulerWorkerPoolParams(kMaxNumThreadsInBackgroundBlockingPool,
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc index 6d2643c..8c939879 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc
@@ -371,7 +371,7 @@ void CreateFrameFactory(mojom::FrameFactoryRequest request, const service_manager::BindSourceInfo& source_info) { - mojo::MakeStrongBinding(base::MakeUnique<FrameFactoryImpl>(source_info), + mojo::MakeStrongBinding(std::make_unique<FrameFactoryImpl>(source_info), std::move(request)); } @@ -675,7 +675,7 @@ GetConnector()->BindInterface( mojom::kBrowserServiceName, mojo::MakeRequest(&shared_bitmap_allocation_notifier_ptr)); - shared_bitmap_manager_ = base::MakeUnique<viz::ClientSharedBitmapManager>( + shared_bitmap_manager_ = std::make_unique<viz::ClientSharedBitmapManager>( viz::mojom::ThreadSafeSharedBitmapAllocationNotifierPtr::Create( shared_bitmap_allocation_notifier_ptr.PassInterface(), GetChannel()->ipc_task_runner_refptr())); @@ -789,12 +789,12 @@ { auto registry_with_source_info = - base::MakeUnique<service_manager::BinderRegistryWithArgs< + std::make_unique<service_manager::BinderRegistryWithArgs< const service_manager::BindSourceInfo&>>(); registry_with_source_info->AddInterface( base::Bind(&CreateFrameFactory), base::ThreadTaskRunnerHandle::Get()); GetServiceManagerConnection()->AddConnectionFilter( - base::MakeUnique<SimpleConnectionFilterWithSourceInfo>( + std::make_unique<SimpleConnectionFilterWithSourceInfo>( std::move(registry_with_source_info))); } @@ -939,7 +939,7 @@ mojom::kBrowserServiceName, mojo::MakeRequest(&manager_ptr)); } - discardable_shared_memory_manager_ = base::MakeUnique< + discardable_shared_memory_manager_ = std::make_unique< discardable_memory::ClientDiscardableSharedMemoryManager>( std::move(manager_ptr), GetIOTaskRunner()); @@ -1675,7 +1675,7 @@ std::unique_ptr<viz::BeginFrameSource> RenderThreadImpl::CreateExternalBeginFrameSource(int routing_id) { - return base::MakeUnique<CompositorExternalBeginFrameSource>( + return std::make_unique<CompositorExternalBeginFrameSource>( compositor_message_filter_.get(), sync_message_filter(), routing_id); } @@ -1684,8 +1684,8 @@ base::SingleThreadTaskRunner* compositor_impl_side_task_runner = compositor_task_runner_ ? compositor_task_runner_.get() : base::ThreadTaskRunnerHandle::Get().get(); - return base::MakeUnique<viz::BackToBackBeginFrameSource>( - base::MakeUnique<viz::DelayBasedTimeSource>( + return std::make_unique<viz::BackToBackBeginFrameSource>( + std::make_unique<viz::DelayBasedTimeSource>( compositor_impl_side_task_runner)); } @@ -1984,7 +1984,7 @@ params.enable_surface_synchronization = command_line.HasSwitch(switches::kEnableSurfaceSynchronization); params.local_surface_id_provider = - base::MakeUnique<RendererLocalSurfaceIdProvider>(); + std::make_unique<RendererLocalSurfaceIdProvider>(); // In disable gpu vsync mode, also let the renderer tick as fast as it // can. The top level begin frame source will also be running as a back @@ -2029,7 +2029,7 @@ DCHECK(!layout_test_mode()); frame_sink_provider_->CreateForWidget(routing_id, std::move(sink_request), std::move(client)); - callback.Run(base::MakeUnique<viz::ClientLayerTreeFrameSink>( + callback.Run(std::make_unique<viz::ClientLayerTreeFrameSink>( std::move(vulkan_context_provider), ¶ms)); return; } @@ -2056,7 +2056,7 @@ frame_sink_provider_->CreateForWidget(routing_id, std::move(sink_request), std::move(client)); params.shared_bitmap_manager = shared_bitmap_manager(); - callback.Run(base::MakeUnique<viz::ClientLayerTreeFrameSink>( + callback.Run(std::make_unique<viz::ClientLayerTreeFrameSink>( nullptr, nullptr, ¶ms)); return; } @@ -2115,7 +2115,7 @@ params.synthetic_begin_frame_source ? std::move(params.synthetic_begin_frame_source) : CreateExternalBeginFrameSource(routing_id); - callback.Run(base::MakeUnique<SynchronousLayerTreeFrameSink>( + callback.Run(std::make_unique<SynchronousLayerTreeFrameSink>( std::move(context_provider), std::move(worker_context_provider), GetGpuMemoryBufferManager(), shared_bitmap_manager(), routing_id, g_next_layer_tree_frame_sink_id++, std::move(begin_frame_source), @@ -2127,7 +2127,7 @@ frame_sink_provider_->CreateForWidget(routing_id, std::move(sink_request), std::move(client)); params.gpu_memory_buffer_manager = GetGpuMemoryBufferManager(); - callback.Run(base::MakeUnique<viz::ClientLayerTreeFrameSink>( + callback.Run(std::make_unique<viz::ClientLayerTreeFrameSink>( std::move(context_provider), std::move(worker_context_provider), ¶ms)); } @@ -2155,7 +2155,7 @@ GetContentClient()->renderer()->OverrideCreateWebMediaStreamCenter( client); if (!media_stream_center) { - media_stream_center = base::MakeUnique<MediaStreamCenter>( + media_stream_center = std::make_unique<MediaStreamCenter>( client, GetPeerConnectionDependencyFactory()); } }
diff --git a/content/renderer/render_thread_impl_browsertest.cc b/content/renderer/render_thread_impl_browsertest.cc index 84789f2..9fe89cd 100644 --- a/content/renderer/render_thread_impl_browsertest.cc +++ b/content/renderer/render_thread_impl_browsertest.cc
@@ -230,7 +230,7 @@ std::move(renderer_scheduler), test_task_counter); cmd->InitFromArgv(old_argv); - run_loop_ = base::MakeUnique<base::RunLoop>(); + run_loop_ = std::make_unique<base::RunLoop>(); test_msg_filter_ = base::MakeRefCounted<QuitOnTestMsgFilter>( run_loop_->QuitWhenIdleClosure()); thread_->AddFilter(test_msg_filter_.get());
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc index 95165bd..39c758c 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc
@@ -1306,7 +1306,7 @@ void RenderViewImpl::OnForceRedraw(const ui::LatencyInfo& latency_info) { if (RenderWidgetCompositor* rwc = compositor()) { rwc->QueueSwapPromise( - base::MakeUnique<AlwaysDrawSwapPromise>(latency_info)); + std::make_unique<AlwaysDrawSwapPromise>(latency_info)); rwc->SetNeedsForcedRedraw(); } }
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc index 355666e..992233b 100644 --- a/content/renderer/render_widget.cc +++ b/content/renderer/render_widget.cc
@@ -542,7 +542,7 @@ DCHECK(!webwidget_internal_); DCHECK_NE(routing_id_, MSG_ROUTING_NONE); - input_handler_ = base::MakeUnique<RenderWidgetInputHandler>(this, this); + input_handler_ = std::make_unique<RenderWidgetInputHandler>(this, this); if (base::FeatureList::IsEnabled(features::kMojoInputMessages)) { RenderThreadImpl* render_thread_impl = RenderThreadImpl::current();
diff --git a/content/renderer/render_widget_unittest.cc b/content/renderer/render_widget_unittest.cc index 54612db..aea2c27d 100644 --- a/content/renderer/render_widget_unittest.cc +++ b/content/renderer/render_widget_unittest.cc
@@ -140,7 +140,7 @@ Init(RenderWidget::ShowCallback(), mock_webwidget()); mojom::WidgetInputHandlerHostPtr widget_input_handler; - mock_input_handler_host_ = base::MakeUnique<MockWidgetInputHandlerHost>( + mock_input_handler_host_ = std::make_unique<MockWidgetInputHandlerHost>( mojo::MakeRequest(&widget_input_handler)); widget_input_handler_manager_->SetWidgetInputHandlerHost(
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc index 6c77d2b..da80b50 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -355,7 +355,7 @@ std::unique_ptr<blink::WebDataConsumerHandle> RendererBlinkPlatformImpl::CreateDataConsumerHandle( mojo::ScopedDataPipeConsumerHandle handle) { - return base::MakeUnique<WebDataConsumerHandleImpl>(std::move(handle)); + return std::make_unique<WebDataConsumerHandleImpl>(std::move(handle)); } scoped_refptr<ChildURLLoaderFactoryGetter> @@ -557,11 +557,11 @@ local_storage_cached_areas_.reset(new LocalStorageCachedAreas( RenderThreadImpl::current()->GetStoragePartitionService())); } - return base::MakeUnique<LocalStorageNamespace>( + return std::make_unique<LocalStorageNamespace>( local_storage_cached_areas_.get()); } - return base::MakeUnique<WebStorageNamespaceImpl>(); + return std::make_unique<WebStorageNamespaceImpl>(); } @@ -576,7 +576,7 @@ std::unique_ptr<blink::WebServiceWorkerCacheStorage> RendererBlinkPlatformImpl::CreateCacheStorage( const blink::WebSecurityOrigin& security_origin) { - return base::MakeUnique<WebServiceWorkerCacheStorageImpl>( + return std::make_unique<WebServiceWorkerCacheStorageImpl>( thread_safe_sender_.get(), security_origin); } @@ -819,7 +819,7 @@ if (accessor) return accessor; - return base::MakeUnique<RendererWebMIDIAccessorImpl>(client); + return std::make_unique<RendererWebMIDIAccessorImpl>(client); } void RendererBlinkPlatformImpl::GetPluginList( @@ -885,7 +885,7 @@ std::unique_ptr<WebMediaRecorderHandler> RendererBlinkPlatformImpl::CreateMediaRecorderHandler() { #if BUILDFLAG(ENABLE_WEBRTC) - return base::MakeUnique<content::MediaRecorderHandler>(); + return std::make_unique<content::MediaRecorderHandler>(); #else return nullptr; #endif @@ -915,7 +915,7 @@ std::unique_ptr<blink::WebRTCCertificateGenerator> RendererBlinkPlatformImpl::CreateRTCCertificateGenerator() { #if BUILDFLAG(ENABLE_WEBRTC) - return base::MakeUnique<RTCCertificateGenerator>(); + return std::make_unique<RTCCertificateGenerator>(); #else return nullptr; #endif // BUILDFLAG(ENABLE_WEBRTC) @@ -1004,7 +1004,7 @@ std::unique_ptr<WebImageCaptureFrameGrabber> RendererBlinkPlatformImpl::CreateImageCaptureFrameGrabber() { #if BUILDFLAG(ENABLE_WEBRTC) - return base::MakeUnique<ImageCaptureFrameGrabber>(); + return std::make_unique<ImageCaptureFrameGrabber>(); #else return nullptr; #endif // BUILDFLAG(ENABLE_WEBRTC) @@ -1133,7 +1133,7 @@ GURL(top_document_web_url), automatic_flushes, support_locking, gpu::SharedMemoryLimits(), attributes, share_context, ui::command_buffer_metrics::OFFSCREEN_CONTEXT_FOR_WEBGL)); - return base::MakeUnique<WebGraphicsContext3DProviderImpl>( + return std::make_unique<WebGraphicsContext3DProviderImpl>( std::move(provider), is_software_rendering); } @@ -1160,7 +1160,7 @@ bool is_software_rendering = host->gpu_info().software_rendering; - return base::MakeUnique<WebGraphicsContext3DProviderImpl>( + return std::make_unique<WebGraphicsContext3DProviderImpl>( std::move(provider), is_software_rendering); } @@ -1237,15 +1237,15 @@ switch (type) { case blink::kWebPlatformEventTypeDeviceMotion: - return base::MakeUnique<DeviceMotionEventPump>(thread); + return std::make_unique<DeviceMotionEventPump>(thread); case blink::kWebPlatformEventTypeDeviceOrientation: - return base::MakeUnique<DeviceOrientationEventPump>(thread, + return std::make_unique<DeviceOrientationEventPump>(thread, false /* absolute */); case blink::kWebPlatformEventTypeDeviceOrientationAbsolute: - return base::MakeUnique<DeviceOrientationEventPump>(thread, + return std::make_unique<DeviceOrientationEventPump>(thread, true /* absolute */); case blink::kWebPlatformEventTypeGamepad: - return base::MakeUnique<GamepadSharedMemoryReader>(thread); + return std::make_unique<GamepadSharedMemoryReader>(thread); default: // A default statement is required to prevent compilation errors when // Blink adds a new type.
diff --git a/content/renderer/renderer_main_platform_delegate_android.cc b/content/renderer/renderer_main_platform_delegate_android.cc index dc0ff56e..b433720 100644 --- a/content/renderer/renderer_main_platform_delegate_android.cc +++ b/content/renderer/renderer_main_platform_delegate_android.cc
@@ -34,7 +34,7 @@ sandbox::SeccompStarterAndroid starter(info->sdk_int(), info->device()); // The policy compiler is only available if USE_SECCOMP_BPF is enabled. #if BUILDFLAG(USE_SECCOMP_BPF) - starter.set_policy(base::MakeUnique<sandbox::BaselinePolicyAndroid>()); + starter.set_policy(std::make_unique<sandbox::BaselinePolicyAndroid>()); #endif starter.StartSandbox();
diff --git a/content/renderer/screen_orientation/screen_orientation_dispatcher_browsertest.cc b/content/renderer/screen_orientation/screen_orientation_dispatcher_browsertest.cc index 5fec7fb..01596e77 100644 --- a/content/renderer/screen_orientation/screen_orientation_dispatcher_browsertest.cc +++ b/content/renderer/screen_orientation/screen_orientation_dispatcher_browsertest.cc
@@ -87,7 +87,7 @@ LockOrientation( blink::kWebScreenOrientationLockPortraitPrimary, - base::MakeUnique<MockLockOrientationCallback>(&callback_results)); + std::make_unique<MockLockOrientationCallback>(&callback_results)); UnlockOrientation(); EXPECT_FALSE(callback_results.succeeded_); @@ -103,11 +103,11 @@ LockOrientation( blink::kWebScreenOrientationLockPortraitPrimary, - base::MakeUnique<MockLockOrientationCallback>(&callback_results)); + std::make_unique<MockLockOrientationCallback>(&callback_results)); LockOrientation( blink::kWebScreenOrientationLockPortraitPrimary, - base::MakeUnique<MockLockOrientationCallback>(&callback_results2)); + std::make_unique<MockLockOrientationCallback>(&callback_results2)); EXPECT_FALSE(callback_results.succeeded_); EXPECT_TRUE(callback_results.failed_); @@ -131,7 +131,7 @@ MockLockOrientationCallback::LockOrientationResultHolder callback_results; LockOrientation( blink::kWebScreenOrientationLockPortraitPrimary, - base::MakeUnique<MockLockOrientationCallback>(&callback_results)); + std::make_unique<MockLockOrientationCallback>(&callback_results)); RunLockResultCallback(GetRequestId(), it->first); EXPECT_FALSE(callback_results.succeeded_); EXPECT_TRUE(callback_results.failed_); @@ -145,7 +145,7 @@ MockLockOrientationCallback::LockOrientationResultHolder callback_results; LockOrientation( blink::kWebScreenOrientationLockPortraitPrimary, - base::MakeUnique<MockLockOrientationCallback>(&callback_results)); + std::make_unique<MockLockOrientationCallback>(&callback_results)); RunLockResultCallback(GetRequestId(), LockResult::SCREEN_ORIENTATION_LOCK_RESULT_SUCCESS); @@ -166,12 +166,12 @@ LockOrientation( blink::kWebScreenOrientationLockPortraitPrimary, - base::MakeUnique<MockLockOrientationCallback>(&callback_results1)); + std::make_unique<MockLockOrientationCallback>(&callback_results1)); int request_id1 = GetRequestId(); LockOrientation( blink::kWebScreenOrientationLockLandscapePrimary, - base::MakeUnique<MockLockOrientationCallback>(&callback_results2)); + std::make_unique<MockLockOrientationCallback>(&callback_results2)); // callback_results1 must be rejected, tested in CancelPending_DoubleLock.
diff --git a/content/renderer/service_worker/embedded_worker_instance_client_impl.cc b/content/renderer/service_worker/embedded_worker_instance_client_impl.cc index d71b5a9..b9e91f3d 100644 --- a/content/renderer/service_worker/embedded_worker_instance_client_impl.cc +++ b/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
@@ -28,7 +28,7 @@ std::unique_ptr<blink::WebEmbeddedWorker> worker, int devtools_agent_route_id) : worker_(std::move(worker)), - devtools_agent_(base::MakeUnique<EmbeddedWorkerDevToolsAgent>( + devtools_agent_(std::make_unique<EmbeddedWorkerDevToolsAgent>( worker_.get(), devtools_agent_route_id)) {} @@ -68,7 +68,7 @@ TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerInstanceClientImpl::StartWorker"); auto interface_provider = std::move(provider_info->interface_provider); - auto client = base::MakeUnique<ServiceWorkerContextClient>( + auto client = std::make_unique<ServiceWorkerContextClient>( params.embedded_worker_id, params.service_worker_version_id, params.scope, params.script_url, ServiceWorkerUtils::IsScriptStreamingEnabled() && installed_scripts_info, @@ -141,7 +141,7 @@ std::move(installed_scripts_info), io_thread_runner_); } - auto wrapper = base::MakeUnique<WorkerWrapper>( + auto wrapper = std::make_unique<WorkerWrapper>( blink::WebEmbeddedWorker::Create( std::move(context_client), std::move(manager), content_settings_proxy.PassInterface().PassHandle(),
diff --git a/content/renderer/service_worker/service_worker_context_client.cc b/content/renderer/service_worker/service_worker_context_client.cc index 429f479..bad44b9 100644 --- a/content/renderer/service_worker/service_worker_context_client.cc +++ b/content/renderer/service_worker/service_worker_context_client.cc
@@ -121,7 +121,7 @@ if (render_thread && provider_->script_loader_factory() && ServiceWorkerUtils::IsServicificationEnabled() && IsScriptRequest(request)) { - return base::MakeUnique<WebURLLoaderImpl>( + return std::make_unique<WebURLLoaderImpl>( render_thread->resource_dispatcher(), std::move(task_runner), provider_->script_loader_factory()); } @@ -463,7 +463,7 @@ mojom::DownloadedTempFilePtr downloaded_file) override { DCHECK(!response_); DCHECK(!downloaded_file); - response_ = base::MakeUnique<blink::WebURLResponse>(); + response_ = std::make_unique<blink::WebURLResponse>(); // TODO(horo): Set report_security_info to true when DevTools is attached. const bool report_security_info = false; WebURLLoaderImpl::PopulateURLResponse(url_, response_head, response_.get(), @@ -481,7 +481,7 @@ ServiceWorkerContextClient::ThreadSpecificInstance(); if (!client) return; - response_ = base::MakeUnique<blink::WebURLResponse>(); + response_ = std::make_unique<blink::WebURLResponse>(); WebURLLoaderImpl::PopulateURLResponse(url_, response_head, response_.get(), false /* report_security_info */); client->OnNavigationPreloadResponse(fetch_event_id_, std::move(response_), @@ -569,7 +569,7 @@ client->OnNavigationPreloadResponse( fetch_event_id_, std::move(response_), - base::MakeUnique<WebDataConsumerHandleImpl>(std::move(body_))); + std::make_unique<WebDataConsumerHandleImpl>(std::move(body_))); } void ReportErrorToClient(const std::string& message, @@ -580,7 +580,7 @@ return; // This will delete |this|. client->OnNavigationPreloadError( - fetch_event_id_, base::MakeUnique<blink::WebServiceWorkerError>( + fetch_event_id_, std::make_unique<blink::WebServiceWorkerError>( blink::mojom::ServiceWorkerErrorType::kNetwork, blink::WebString::FromUTF8(message), blink::WebString::FromUTF8(unsanitized_message))); @@ -1052,7 +1052,7 @@ DCHECK(body_as_stream->stream.is_valid()); web_body_as_stream->SetListener( - base::MakeUnique<StreamHandleListener>(std::move(callback_ptr))); + std::make_unique<StreamHandleListener>(std::move(callback_ptr))); response_callback->OnResponseStream( response, std::move(body_as_stream), @@ -1204,7 +1204,7 @@ ServiceWorkerContextClient::CreateServiceWorkerNetworkProvider() { DCHECK(main_thread_task_runner_->RunsTasksInCurrentSequence()); // Blink is responsible for deleting the returned object. - return base::MakeUnique<WebServiceWorkerNetworkProviderImpl>( + return std::make_unique<WebServiceWorkerNetworkProviderImpl>( std::move(pending_network_provider_)); } @@ -1219,7 +1219,7 @@ ->CreateDefaultURLLoaderFactoryGetter(); DCHECK(url_loader_factory_getter); // Blink is responsible for deleting the returned object. - return base::MakeUnique<ServiceWorkerFetchContextImpl>( + return std::make_unique<ServiceWorkerFetchContextImpl>( script_url_, url_loader_factory_getter->GetClonedInfo(), provider_context_->provider_id()); } @@ -1230,7 +1230,7 @@ DCHECK(provider_context_); // Blink is responsible for deleting the returned object. - return base::MakeUnique<WebServiceWorkerProviderImpl>( + return std::make_unique<WebServiceWorkerProviderImpl>( sender_.get(), provider_context_.get()); } @@ -1292,7 +1292,7 @@ TRACE_EVENT0("ServiceWorker", "ServiceWorkerContextClient::DispatchSyncEvent"); int request_id = context_->sync_event_callbacks.Add( - base::MakeUnique<DispatchSyncEventCallback>(std::move(callback))); + std::make_unique<DispatchSyncEventCallback>(std::move(callback))); // TODO(shimazu): Use typemap when this is moved to blink-side. blink::WebServiceWorkerContextProxy::LastChanceOption web_last_chance = @@ -1386,7 +1386,7 @@ TRACE_EVENT0("ServiceWorker", "ServiceWorkerContextClient::DispatchActivateEvent"); int request_id = context_->activate_event_callbacks.Add( - base::MakeUnique<DispatchActivateEventCallback>(std::move(callback))); + std::make_unique<DispatchActivateEventCallback>(std::move(callback))); proxy_->DispatchActivateEvent(request_id); } @@ -1396,7 +1396,7 @@ TRACE_EVENT0("ServiceWorker", "ServiceWorkerContextClient::DispatchBackgroundFetchAbortEvent"); int request_id = context_->background_fetch_abort_event_callbacks.Add( - base::MakeUnique<DispatchBackgroundFetchAbortEventCallback>( + std::make_unique<DispatchBackgroundFetchAbortEventCallback>( std::move(callback))); proxy_->DispatchBackgroundFetchAbortEvent( @@ -1410,7 +1410,7 @@ TRACE_EVENT0("ServiceWorker", "ServiceWorkerContextClient::DispatchBackgroundFetchClickEvent"); int request_id = context_->background_fetch_click_event_callbacks.Add( - base::MakeUnique<DispatchBackgroundFetchClickEventCallback>( + std::make_unique<DispatchBackgroundFetchClickEventCallback>( std::move(callback))); // TODO(peter): Use typemap when this is moved to blink-side. @@ -1429,7 +1429,7 @@ TRACE_EVENT0("ServiceWorker", "ServiceWorkerContextClient::DispatchBackgroundFetchFailEvent"); int request_id = context_->background_fetch_fail_event_callbacks.Add( - base::MakeUnique<DispatchBackgroundFetchFailEventCallback>( + std::make_unique<DispatchBackgroundFetchFailEventCallback>( std::move(callback))); blink::WebVector<blink::WebBackgroundFetchSettledFetch> web_fetches( @@ -1451,7 +1451,7 @@ TRACE_EVENT0("ServiceWorker", "ServiceWorkerContextClient::DispatchBackgroundFetchedEvent"); int request_id = context_->background_fetched_event_callbacks.Add( - base::MakeUnique<DispatchBackgroundFetchedEventCallback>( + std::make_unique<DispatchBackgroundFetchedEventCallback>( std::move(callback))); blink::WebVector<blink::WebBackgroundFetchSettledFetch> web_fetches( @@ -1473,7 +1473,7 @@ "ServiceWorkerContextClient::DispatchInstallEvent"); int event_id = context_->install_event_callbacks.Add( - base::MakeUnique<DispatchInstallEventCallback>(std::move(callback))); + std::make_unique<DispatchInstallEventCallback>(std::move(callback))); DCHECK(!context_->install_methods_map.count(event_id)); mojom::ServiceWorkerInstallEventMethodsAssociatedPtr install_methods; @@ -1489,7 +1489,7 @@ TRACE_EVENT0("ServiceWorker", "ServiceWorkerContextClient::DispatchExtendableMessageEvent"); int request_id = context_->message_event_callbacks.Add( - base::MakeUnique<DispatchExtendableMessageEventCallback>( + std::make_unique<DispatchExtendableMessageEventCallback>( std::move(callback))); if (event->source.client_info.IsValid()) { @@ -1529,7 +1529,7 @@ DispatchFetchEventCallback callback) { // Register callbacks for notifying about event completion and the response. int fetch_event_id = context_->fetch_event_callbacks.Add( - base::MakeUnique<DispatchFetchEventCallback>(std::move(callback))); + std::make_unique<DispatchFetchEventCallback>(std::move(callback))); context_->fetch_response_callbacks.insert( std::make_pair(fetch_event_id, std::move(response_callback))); @@ -1542,7 +1542,7 @@ // Set up for navigation preload (FetchEvent#preloadResponse) if needed. std::unique_ptr<NavigationPreloadRequest> preload_request = preload_handle - ? base::MakeUnique<NavigationPreloadRequest>( + ? std::make_unique<NavigationPreloadRequest>( fetch_event_id, request.url, std::move(preload_handle)) : nullptr; const bool navigation_preload_sent = !!preload_request; @@ -1572,7 +1572,7 @@ "ServiceWorkerContextClient::DispatchNotificationClickEvent"); int request_id = context_->notification_click_event_callbacks.Add( - base::MakeUnique<DispatchNotificationClickEventCallback>( + std::make_unique<DispatchNotificationClickEventCallback>( std::move(callback))); blink::WebString web_reply; @@ -1592,7 +1592,7 @@ "ServiceWorkerContextClient::DispatchNotificationCloseEvent"); int request_id = context_->notification_close_event_callbacks.Add( - base::MakeUnique<DispatchNotificationCloseEventCallback>( + std::make_unique<DispatchNotificationCloseEventCallback>( std::move(callback))); proxy_->DispatchNotificationCloseEvent( @@ -1606,7 +1606,7 @@ TRACE_EVENT0("ServiceWorker", "ServiceWorkerContextClient::DispatchPushEvent"); int request_id = context_->push_event_callbacks.Add( - base::MakeUnique<DispatchPushEventCallback>(std::move(callback))); + std::make_unique<DispatchPushEventCallback>(std::move(callback))); // Only set data to be a valid string if the payload had decrypted data. blink::WebString data;
diff --git a/content/renderer/service_worker/service_worker_fetch_context_impl.cc b/content/renderer/service_worker/service_worker_fetch_context_impl.cc index 8d58e4c9..6b91b74 100644 --- a/content/renderer/service_worker/service_worker_fetch_context_impl.cc +++ b/content/renderer/service_worker/service_worker_fetch_context_impl.cc
@@ -25,7 +25,7 @@ void ServiceWorkerFetchContextImpl::InitializeOnWorkerThread( scoped_refptr<base::SingleThreadTaskRunner> loading_task_runner) { - resource_dispatcher_ = base::MakeUnique<ResourceDispatcher>( + resource_dispatcher_ = std::make_unique<ResourceDispatcher>( nullptr, std::move(loading_task_runner)); url_loader_factory_getter_ = url_loader_factory_getter_info_.Bind();
diff --git a/content/renderer/service_worker/service_worker_network_provider.cc b/content/renderer/service_worker/service_worker_network_provider.cc index 39670632..91a2315 100644 --- a/content/renderer/service_worker/service_worker_network_provider.cc +++ b/content/renderer/service_worker/service_worker_network_provider.cc
@@ -131,7 +131,7 @@ // S13nServiceWorker: // Create our own SubresourceLoader to route the request // to the controller ServiceWorker. - return base::MakeUnique<WebURLLoaderImpl>( + return std::make_unique<WebURLLoaderImpl>( RenderThreadImpl::current()->resource_dispatcher(), std::move(task_runner), provider_->context()->subresource_loader_factory()); @@ -200,7 +200,7 @@ } else { network_provider = base::WrapUnique(new ServiceWorkerNetworkProvider()); } - return base::MakeUnique<WebServiceWorkerNetworkProviderForFrame>( + return std::make_unique<WebServiceWorkerNetworkProviderForFrame>( std::move(network_provider)); }
diff --git a/content/renderer/service_worker/service_worker_provider_context.cc b/content/renderer/service_worker/service_worker_provider_context.cc index e8f8ec6..5222989 100644 --- a/content/renderer/service_worker/service_worker_provider_context.cc +++ b/content/renderer/service_worker/service_worker_provider_context.cc
@@ -107,9 +107,9 @@ binding_(this, std::move(request)) { container_host_.Bind(std::move(host_ptr_info)); if (provider_type == SERVICE_WORKER_PROVIDER_FOR_CONTROLLER) { - controller_state_ = base::MakeUnique<ControllerState>(); + controller_state_ = std::make_unique<ControllerState>(); } else { - controllee_state_ = base::MakeUnique<ControlleeState>( + controllee_state_ = std::make_unique<ControlleeState>( std::move(default_loader_factory_getter)); } @@ -284,7 +284,7 @@ base::MakeRefCounted<ControllerServiceWorkerConnector>( container_host_.get()); mojo::MakeStrongBinding( - base::MakeUnique<ServiceWorkerSubresourceLoaderFactory>( + std::make_unique<ServiceWorkerSubresourceLoaderFactory>( state->controller_connector, state->default_loader_factory_getter, state->controller->url().GetOrigin(), std::move(blob_registry)), mojo::MakeRequest(&state->subresource_loader_factory));
diff --git a/content/renderer/service_worker/service_worker_provider_context_unittest.cc b/content/renderer/service_worker/service_worker_provider_context_unittest.cc index 0ac336b..0ef4c0d 100644 --- a/content/renderer/service_worker/service_worker_provider_context_unittest.cc +++ b/content/renderer/service_worker/service_worker_provider_context_unittest.cc
@@ -254,9 +254,9 @@ kProviderId, SERVICE_WORKER_PROVIDER_FOR_WINDOW, std::move(container_request), std::move(host_ptr_info), dispatcher(), nullptr /* loader_factory_getter */); - auto provider_impl = base::MakeUnique<WebServiceWorkerProviderImpl>( + auto provider_impl = std::make_unique<WebServiceWorkerProviderImpl>( thread_safe_sender(), provider_context.get()); - auto client = base::MakeUnique<MockWebServiceWorkerProviderClientImpl>(); + auto client = std::make_unique<MockWebServiceWorkerProviderClientImpl>(); provider_impl->SetClient(client.get()); ASSERT_FALSE(client->was_set_controller_called()); @@ -290,9 +290,9 @@ kProviderId, SERVICE_WORKER_PROVIDER_FOR_WINDOW, std::move(container_request), std::move(host_ptr_info), dispatcher(), nullptr /* loader_factory_getter */); - auto provider_impl = base::MakeUnique<WebServiceWorkerProviderImpl>( + auto provider_impl = std::make_unique<WebServiceWorkerProviderImpl>( thread_safe_sender(), provider_context.get()); - auto client = base::MakeUnique<MockWebServiceWorkerProviderClientImpl>(); + auto client = std::make_unique<MockWebServiceWorkerProviderClientImpl>(); provider_impl->SetClient(client.get()); container_ptr->SetController(blink::mojom::ServiceWorkerObjectInfo::New(),
diff --git a/content/renderer/service_worker/service_worker_subresource_loader_unittest.cc b/content/renderer/service_worker/service_worker_subresource_loader_unittest.cc index 865327a..7ac9aa8 100644 --- a/content/renderer/service_worker/service_worker_subresource_loader_unittest.cc +++ b/content/renderer/service_worker/service_worker_subresource_loader_unittest.cc
@@ -125,14 +125,14 @@ case ResponseMode::kStream: response_callback->OnResponseStream( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 200, "OK", + std::make_unique<std::vector<GURL>>(), 200, "OK", network::mojom::FetchResponseType::kDefault, - base::MakeUnique<ServiceWorkerHeaderMap>(), "" /* blob_uuid */, + std::make_unique<ServiceWorkerHeaderMap>(), "" /* blob_uuid */, 0 /* blob_size */, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), std::move(stream_handle_), base::Time::Now()); std::move(callback).Run( @@ -147,15 +147,15 @@ case ResponseMode::kErrorResponse: response_callback->OnResponse( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 0 /* status_code */, + std::make_unique<std::vector<GURL>>(), 0 /* status_code */, "" /* status_text */, network::mojom::FetchResponseType::kDefault, - base::MakeUnique<ServiceWorkerHeaderMap>(), "" /* blob_uuid */, + std::make_unique<ServiceWorkerHeaderMap>(), "" /* blob_uuid */, 0 /* blob_size */, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorPromiseRejected, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), base::Time::Now()); std::move(callback).Run( @@ -163,17 +163,17 @@ base::Time::Now()); break; case ResponseMode::kRedirectResponse: { - auto headers = base::MakeUnique<ServiceWorkerHeaderMap>(); + auto headers = std::make_unique<ServiceWorkerHeaderMap>(); (*headers)["Location"] = redirect_location_header_; response_callback->OnResponse( ServiceWorkerResponse( - base::MakeUnique<std::vector<GURL>>(), 302, "Found", + std::make_unique<std::vector<GURL>>(), 302, "Found", network::mojom::FetchResponseType::kDefault, std::move(headers), "" /* blob_uuid */, 0 /* blob_size */, nullptr /* blob */, blink::kWebServiceWorkerResponseErrorUnknown, base::Time(), false /* response_is_in_cache_storage */, std::string() /* response_cache_storage_cache_name */, - base::MakeUnique< + std::make_unique< ServiceWorkerHeaderList>() /* cors_exposed_header_names */), base::Time::Now()); std::move(callback).Run( @@ -290,7 +290,7 @@ feature_list_.InitAndEnableFeature(features::kNetworkService); mojom::URLLoaderFactoryPtr fake_loader_factory; - mojo::MakeStrongBinding(base::MakeUnique<FakeNetworkURLLoaderFactory>(), + mojo::MakeStrongBinding(std::make_unique<FakeNetworkURLLoaderFactory>(), MakeRequest(&fake_loader_factory)); loader_factory_getter_ = base::MakeRefCounted<ChildURLLoaderFactoryGetterImpl>(
diff --git a/content/renderer/service_worker/service_worker_type_util.cc b/content/renderer/service_worker/service_worker_type_util.cc index 84854332..3167ab6 100644 --- a/content/renderer/service_worker/service_worker_type_util.cc +++ b/content/renderer/service_worker/service_worker_type_util.cc
@@ -48,7 +48,7 @@ std::unique_ptr<ServiceWorkerHeaderMap> GetHeaderMap( const blink::WebServiceWorkerResponse& web_response) { std::unique_ptr<ServiceWorkerHeaderMap> result = - base::MakeUnique<ServiceWorkerHeaderMap>(); + std::make_unique<ServiceWorkerHeaderMap>(); web_response.VisitHTTPHeaderFields(MakeHeaderVisitor(result.get()).get()); return result; } @@ -56,7 +56,7 @@ std::unique_ptr<ServiceWorkerHeaderList> GetHeaderList( const blink::WebVector<blink::WebString>& web_headers) { std::unique_ptr<ServiceWorkerHeaderList> result = - base::MakeUnique<ServiceWorkerHeaderList>(web_headers.size()); + std::make_unique<ServiceWorkerHeaderList>(web_headers.size()); std::transform(web_headers.begin(), web_headers.end(), result->begin(), [](const blink::WebString& s) { return s.Latin1(); }); return result; @@ -65,7 +65,7 @@ std::unique_ptr<std::vector<GURL>> GetURLList( const blink::WebVector<blink::WebURL>& web_url_list) { std::unique_ptr<std::vector<GURL>> result = - base::MakeUnique<std::vector<GURL>>(web_url_list.size()); + std::make_unique<std::vector<GURL>>(web_url_list.size()); std::transform(web_url_list.begin(), web_url_list.end(), result->begin(), [](const blink::WebURL& url) { return url; }); return result;
diff --git a/content/renderer/service_worker/web_service_worker_impl.cc b/content/renderer/service_worker/web_service_worker_impl.cc index 89ff91a..9c53fe46a 100644 --- a/content/renderer/service_worker/web_service_worker_impl.cc +++ b/content/renderer/service_worker/web_service_worker_impl.cc
@@ -105,7 +105,7 @@ const scoped_refptr<WebServiceWorkerImpl>& worker) { if (!worker) return nullptr; - return base::MakeUnique<HandleImpl>(worker); + return std::make_unique<HandleImpl>(worker); } WebServiceWorkerImpl::~WebServiceWorkerImpl() {
diff --git a/content/renderer/service_worker/web_service_worker_installed_scripts_manager_impl.cc b/content/renderer/service_worker/web_service_worker_installed_scripts_manager_impl.cc index 5437cdf..6361112 100644 --- a/content/renderer/service_worker/web_service_worker_installed_scripts_manager_impl.cc +++ b/content/renderer/service_worker/web_service_worker_installed_scripts_manager_impl.cc
@@ -150,7 +150,7 @@ scoped_refptr<ThreadSafeScriptContainer> script_container, mojom::ServiceWorkerInstalledScriptsManagerRequest request) { mojo::MakeStrongBinding( - base::MakeUnique<Internal>(std::move(script_container)), + std::make_unique<Internal>(std::move(script_container)), std::move(request)); } @@ -172,7 +172,7 @@ mojom::ServiceWorkerScriptInfoPtr script_info) override { DCHECK_CALLED_ON_VALID_THREAD(io_thread_checker_); GURL script_url = script_info->script_url; - auto receivers = base::MakeUnique<BundledReceivers>( + auto receivers = std::make_unique<BundledReceivers>( std::move(script_info->meta_data), script_info->meta_data_size, std::move(script_info->body), script_info->body_size); receivers->Start(base::BindOnce(&Internal::OnScriptReceived,
diff --git a/content/renderer/service_worker/web_service_worker_provider_impl.cc b/content/renderer/service_worker/web_service_worker_provider_impl.cc index 2e6c1f9d..3ac7893 100644 --- a/content/renderer/service_worker/web_service_worker_provider_impl.cc +++ b/content/renderer/service_worker/web_service_worker_provider_impl.cc
@@ -319,7 +319,7 @@ using WebServiceWorkerRegistrationHandles = WebServiceWorkerProvider::WebServiceWorkerRegistrationHandles; std::unique_ptr<WebServiceWorkerRegistrationHandles> registrations = - base::MakeUnique<WebServiceWorkerRegistrationHandles>(infos->size()); + std::make_unique<WebServiceWorkerRegistrationHandles>(infos->size()); for (size_t i = 0; i < infos->size(); ++i) { DCHECK_NE(blink::mojom::kInvalidServiceWorkerRegistrationHandleId, (*infos)[i]->handle_id);
diff --git a/content/renderer/service_worker/worker_fetch_context_impl.cc b/content/renderer/service_worker/worker_fetch_context_impl.cc index fed2871..ecda7a0 100644 --- a/content/renderer/service_worker/worker_fetch_context_impl.cc +++ b/content/renderer/service_worker/worker_fetch_context_impl.cc
@@ -81,7 +81,7 @@ // Create our own URLLoader to route the request to the controller service // worker. - return base::MakeUnique<WebURLLoaderImpl>( + return std::make_unique<WebURLLoaderImpl>( resource_dispatcher_.get(), std::move(task_runner), service_worker_url_loader_factory_.get()); } @@ -118,7 +118,7 @@ DCHECK(loading_task_runner->RunsTasksInCurrentSequence()); DCHECK(!resource_dispatcher_); DCHECK(!binding_.is_bound()); - resource_dispatcher_ = base::MakeUnique<ResourceDispatcher>( + resource_dispatcher_ = std::make_unique<ResourceDispatcher>( nullptr, std::move(loading_task_runner)); url_loader_factory_getter_ = url_loader_factory_getter_info_.Bind(); @@ -279,7 +279,7 @@ } mojom::URLLoaderFactoryPtr service_worker_url_loader_factory; mojo::MakeStrongBinding( - base::MakeUnique<ServiceWorkerSubresourceLoaderFactory>( + std::make_unique<ServiceWorkerSubresourceLoaderFactory>( base::MakeRefCounted<ControllerServiceWorkerConnector>( service_worker_container_host_.get()), url_loader_factory_getter_, origin_url_, blob_registry_),
diff --git a/content/renderer/shared_worker/embedded_shared_worker_stub.cc b/content/renderer/shared_worker/embedded_shared_worker_stub.cc index 7c5a5ee..b76cdfa 100644 --- a/content/renderer/shared_worker/embedded_shared_worker_stub.cc +++ b/content/renderer/shared_worker/embedded_shared_worker_stub.cc
@@ -229,7 +229,7 @@ EmbeddedSharedWorkerStub::CreateApplicationCacheHost( blink::WebApplicationCacheHostClient* client) { std::unique_ptr<WebApplicationCacheHostImpl> host = - base::MakeUnique<SharedWorkerWebApplicationCacheHostImpl>(client); + std::make_unique<SharedWorkerWebApplicationCacheHostImpl>(client); app_cache_host_ = host.get(); return std::move(host); } @@ -242,7 +242,7 @@ ServiceWorkerNetworkProvider::CreateForSharedWorker(route_id_)); // Blink is responsible for deleting the returned object. - return base::MakeUnique<WebServiceWorkerNetworkProviderForSharedWorker>( + return std::make_unique<WebServiceWorkerNetworkProviderForSharedWorker>( std::move(provider), IsOriginSecure(url_)); } @@ -287,7 +287,7 @@ ->blink_platform_impl() ->CreateDefaultURLLoaderFactoryGetter(); DCHECK(url_loader_factory_getter); - auto worker_fetch_context = base::MakeUnique<WorkerFetchContextImpl>( + auto worker_fetch_context = std::make_unique<WorkerFetchContextImpl>( std::move(request), std::move(container_host_ptr_info), url_loader_factory_getter->GetClonedInfo());
diff --git a/content/renderer/stats_collection_controller.cc b/content/renderer/stats_collection_controller.cc index af48c4a..8abbf2ab 100644 --- a/content/renderer/stats_collection_controller.cc +++ b/content/renderer/stats_collection_controller.cc
@@ -59,13 +59,13 @@ base::DictionaryValue item; if (load_start_time.is_null()) { - item.Set("load_start_ms", base::MakeUnique<base::Value>()); + item.Set("load_start_ms", std::make_unique<base::Value>()); } else { item.SetDouble("load_start_ms", (load_start_time - base::Time::UnixEpoch()) .InMillisecondsF()); } if (load_start_time.is_null() || load_stop_time.is_null()) { - item.Set("load_duration_ms", base::MakeUnique<base::Value>()); + item.Set("load_duration_ms", std::make_unique<base::Value>()); } else { item.SetDouble("load_duration_ms", (load_stop_time - load_start_time).InMillisecondsF());
diff --git a/content/renderer/v8_value_converter_impl.cc b/content/renderer/v8_value_converter_impl.cc index dd53c75f..78979c33 100644 --- a/content/renderer/v8_value_converter_impl.cc +++ b/content/renderer/v8_value_converter_impl.cc
@@ -176,7 +176,7 @@ }; std::unique_ptr<V8ValueConverter> V8ValueConverter::Create() { - return base::MakeUnique<V8ValueConverterImpl>(); + return std::make_unique<V8ValueConverterImpl>(); } V8ValueConverterImpl::V8ValueConverterImpl() @@ -359,10 +359,10 @@ return nullptr; if (val->IsNull()) - return base::MakeUnique<base::Value>(); + return std::make_unique<base::Value>(); if (val->IsBoolean()) - return base::MakeUnique<base::Value>(val->ToBoolean(isolate)->Value()); + return std::make_unique<base::Value>(val->ToBoolean(isolate)->Value()); if (val->IsNumber() && strategy_) { std::unique_ptr<base::Value> out; @@ -371,7 +371,7 @@ } if (val->IsInt32()) - return base::MakeUnique<base::Value>(val->ToInt32(isolate)->Value()); + return std::make_unique<base::Value>(val->ToInt32(isolate)->Value()); if (val->IsNumber()) { double val_as_double = val.As<v8::Number>()->Value(); @@ -381,13 +381,13 @@ // value is -0, it's treated internally as a double. Consumers are allowed // to ignore this esoterica and treat it as an integer. if (convert_negative_zero_to_int_ && val_as_double == 0.0) - return base::MakeUnique<base::Value>(0); - return base::MakeUnique<base::Value>(val_as_double); + return std::make_unique<base::Value>(0); + return std::make_unique<base::Value>(val_as_double); } if (val->IsString()) { v8::String::Utf8Value utf8(val); - return base::MakeUnique<base::Value>(std::string(*utf8, utf8.length())); + return std::make_unique<base::Value>(std::string(*utf8, utf8.length())); } if (val->IsUndefined()) { @@ -406,14 +406,14 @@ // consistent within this class. return FromV8Object(val->ToObject(isolate), state, isolate); v8::Date* date = v8::Date::Cast(*val); - return base::MakeUnique<base::Value>(date->ValueOf() / 1000.0); + return std::make_unique<base::Value>(date->ValueOf() / 1000.0); } if (val->IsRegExp()) { if (!reg_exp_allowed_) // JSON.stringify converts to an object. return FromV8Object(val.As<v8::Object>(), state, isolate); - return base::MakeUnique<base::Value>(*v8::String::Utf8Value(val)); + return std::make_unique<base::Value>(*v8::String::Utf8Value(val)); } // v8::Value doesn't have a ToArray() method for some reason. @@ -443,7 +443,7 @@ v8::Isolate* isolate) const { ScopedUniquenessGuard uniqueness_guard(state, val); if (!uniqueness_guard.is_valid()) - return base::MakeUnique<base::Value>(); + return std::make_unique<base::Value>(); std::unique_ptr<v8::Context::Scope> scope; // If val was created in a different context than our current one, change to @@ -476,7 +476,7 @@ } if (!val->HasRealIndexedProperty(i)) { - result->Append(base::MakeUnique<base::Value>()); + result->Append(std::make_unique<base::Value>()); continue; } @@ -487,7 +487,7 @@ else // JSON.stringify puts null in places where values don't serialize, for // example undefined and functions. Emulate that behavior. - result->Append(base::MakeUnique<base::Value>()); + result->Append(std::make_unique<base::Value>()); } return std::move(result); } @@ -510,7 +510,7 @@ size_t byte_length = view->ByteLength(); std::vector<char> buffer(byte_length); view->CopyContents(buffer.data(), buffer.size()); - return base::MakeUnique<base::Value>(std::move(buffer)); + return std::make_unique<base::Value>(std::move(buffer)); } else { NOTREACHED() << "Only ArrayBuffer and ArrayBufferView should get here."; return nullptr; @@ -523,7 +523,7 @@ v8::Isolate* isolate) const { ScopedUniquenessGuard uniqueness_guard(state, val); if (!uniqueness_guard.is_valid()) - return base::MakeUnique<base::Value>(); + return std::make_unique<base::Value>(); std::unique_ptr<v8::Context::Scope> scope; // If val was created in a different context than our current one, change to @@ -558,7 +558,7 @@ // ANOTHER NOTE: returning an empty dictionary here to minimise surprise. // See also http://crbug.com/330559. if (val->InternalFieldCount()) - return base::MakeUnique<base::DictionaryValue>(); + return std::make_unique<base::DictionaryValue>(); std::unique_ptr<base::DictionaryValue> result(new base::DictionaryValue()); v8::Local<v8::Array> property_names(val->GetOwnPropertyNames());
diff --git a/content/renderer/v8_value_converter_impl_unittest.cc b/content/renderer/v8_value_converter_impl_unittest.cc index 3c7e069f..b5afcaaf 100644 --- a/content/renderer/v8_value_converter_impl_unittest.cc +++ b/content/renderer/v8_value_converter_impl_unittest.cc
@@ -814,7 +814,7 @@ // The first repetition should be trimmed and replaced by a null value. base::ListValue expected_list; - expected_list.Append(base::MakeUnique<base::Value>()); + expected_list.Append(std::make_unique<base::Value>()); // The actual result. std::unique_ptr<base::Value> actual_list( @@ -835,7 +835,7 @@ // The first repetition should be trimmed and replaced by a null value. base::DictionaryValue expected_dictionary; - expected_dictionary.Set(key, base::MakeUnique<base::Value>()); + expected_dictionary.Set(key, std::make_unique<base::Value>()); // The actual result. std::unique_ptr<base::Value> actual_dictionary( @@ -1021,7 +1021,7 @@ private: static std::unique_ptr<base::Value> NewReferenceValue() { - return base::MakeUnique<base::Value>("strategy"); + return std::make_unique<base::Value>("strategy"); } std::unique_ptr<base::Value> reference_value_; };
diff --git a/content/renderer/web_database_impl.cc b/content/renderer/web_database_impl.cc index 1bacb2e7..7dada829 100644 --- a/content/renderer/web_database_impl.cc +++ b/content/renderer/web_database_impl.cc
@@ -20,7 +20,7 @@ WebDatabaseImpl::~WebDatabaseImpl() = default; void WebDatabaseImpl::Create(content::mojom::WebDatabaseRequest request) { - mojo::MakeStrongBinding(base::MakeUnique<WebDatabaseImpl>(), + mojo::MakeStrongBinding(std::make_unique<WebDatabaseImpl>(), std::move(request)); }
diff --git a/content/shell/browser/layout_test/blink_test_controller.cc b/content/shell/browser/layout_test/blink_test_controller.cc index 3fe0505..bdc5114 100644 --- a/content/shell/browser/layout_test/blink_test_controller.cc +++ b/content/shell/browser/layout_test/blink_test_controller.cc
@@ -541,7 +541,7 @@ return bluetooth_chooser_factory_->RunBluetoothChooser(frame, event_handler); } - return base::MakeUnique<LayoutTestFirstDeviceBluetoothChooser>(event_handler); + return std::make_unique<LayoutTestFirstDeviceBluetoothChooser>(event_handler); } bool BlinkTestController::OnMessageReceived(const IPC::Message& message) {
diff --git a/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc b/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc index ae221cf..96a3333 100644 --- a/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc +++ b/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc
@@ -666,7 +666,7 @@ if (add_descriptors) { const std::string descriptorName = kCharacteristicUserDescription; - auto user_description = base::MakeUnique<NiceMockBluetoothGattDescriptor>( + auto user_description = std::make_unique<NiceMockBluetoothGattDescriptor>( measurement_interval.get(), descriptorName, BluetoothUUID(kUserDescriptionUUID), false /* is_local */, device::BluetoothRemoteGattCharacteristic::PROPERTY_READ); @@ -683,15 +683,15 @@ ON_CALL(*user_description, WriteRemoteDescriptor(_, _, _)) .WillByDefault(RunCallback<1 /* success_callback */>()); - auto client_config = base::MakeUnique<NiceMockBluetoothGattDescriptor>( + auto client_config = std::make_unique<NiceMockBluetoothGattDescriptor>( measurement_interval.get(), "gatt.client_characteristic_configuration", BluetoothUUID(kClientConfigUUID), false /* is_local */, device::BluetoothRemoteGattCharacteristic::PROPERTY_READ | device::BluetoothRemoteGattCharacteristic::PROPERTY_WRITE); - // Crash if WriteRemoteDescriptor called. Not using GoogleMock's Expect - // because this is used in layout tests that may not report a mock - // expectation. + // Crash if WriteRemoteDescriptor called. Not using GoogleMock's Expect + // because this is used in layout tests that may not report a mock + // expectation. ON_CALL(*client_config, WriteRemoteDescriptor(_, _, _)) .WillByDefault( Invoke([](const std::vector<uint8_t>&, const base::Closure&, @@ -699,7 +699,7 @@ NOTREACHED(); })); - auto no_read_descriptor = base::MakeUnique<NiceMockBluetoothGattDescriptor>( + auto no_read_descriptor = std::make_unique<NiceMockBluetoothGattDescriptor>( measurement_interval.get(), kBlocklistedReadDescriptorUUID, BluetoothUUID(kBlocklistedReadDescriptorUUID), false, device::BluetoothRemoteGattCharacteristic::PROPERTY_READ | @@ -719,7 +719,7 @@ // Add it here with full permission as the blocklist should prevent us from // accessing this descriptor auto blocklisted_descriptor = - base::MakeUnique<NiceMockBluetoothGattDescriptor>( + std::make_unique<NiceMockBluetoothGattDescriptor>( measurement_interval.get(), kBlocklistedDescriptorUUID, BluetoothUUID(kBlocklistedDescriptorUUID), false, device::BluetoothRemoteGattCharacteristic::PROPERTY_READ | @@ -876,7 +876,7 @@ } device_ptr->SetConnected(true); - return base::MakeUnique<NiceMockBluetoothGattConnection>( + return std::make_unique<NiceMockBluetoothGattConnection>( adapter_ptr, device_ptr->GetAddress()); })); @@ -934,7 +934,7 @@ const BluetoothDevice::GattConnectionCallback& callback, const BluetoothDevice::ConnectErrorCallback& error_callback) { device_ptr->SetConnected(true); - callback.Run(base::MakeUnique<NiceMockBluetoothGattConnection>( + callback.Run(std::make_unique<NiceMockBluetoothGattConnection>( adapter_ptr, device_ptr->GetAddress())); device_ptr->RunPendingCallbacks(); })); @@ -1024,7 +1024,7 @@ } })); - auto user_descriptor = base::MakeUnique<NiceMockBluetoothGattDescriptor>( + auto user_descriptor = std::make_unique<NiceMockBluetoothGattDescriptor>( measurement_interval.get(), kCharacteristicUserDescription, BluetoothUUID(kUserDescriptionUUID), false, device::BluetoothRemoteGattCharacteristic::PROPERTY_READ); @@ -1099,7 +1099,7 @@ const BluetoothDevice::GattConnectionCallback& callback, const BluetoothDevice::ConnectErrorCallback& error_callback) { device_ptr->SetConnected(true); - callback.Run(base::MakeUnique<NiceMockBluetoothGattConnection>( + callback.Run(std::make_unique<NiceMockBluetoothGattConnection>( adapter_ptr, device_ptr->GetAddress())); device_ptr->RunPendingCallbacks(); })); @@ -1121,7 +1121,7 @@ .WillByDefault(RunCallbackWithResult<0 /* success_callback */>( [adapter_ptr, device_ptr, measurement_ptr, disconnect]() { std::unique_ptr<NiceMockBluetoothGattNotifySession> notify_session = - base::MakeUnique<NiceMockBluetoothGattNotifySession>( + std::make_unique<NiceMockBluetoothGattNotifySession>( measurement_ptr->GetWeakPtr()); ON_CALL(*notify_session, Stop(_)) @@ -1226,7 +1226,7 @@ std::unique_ptr<NiceMockBluetoothDiscoverySession> LayoutTestBluetoothAdapterProvider::GetDiscoverySession() { auto discovery_session = - base::MakeUnique<NiceMockBluetoothDiscoverySession>(); + std::make_unique<NiceMockBluetoothDiscoverySession>(); ON_CALL(*discovery_session, Stop(_, _)) .WillByDefault(RunCallback<0 /* success_callback */>()); @@ -1243,7 +1243,7 @@ const char* device_name, device::BluetoothDevice::UUIDList uuids, const std::string& address) { - auto device = base::MakeUnique<NiceMockBluetoothDevice>( + auto device = std::make_unique<NiceMockBluetoothDevice>( adapter, 0x1F00 /* Bluetooth class */, device_name, address, false /* paired */, false /* connected */); @@ -1309,7 +1309,7 @@ .WillByDefault(RunCallbackWithResult<0 /* success_callback */>( [adapter, device_ptr]() { device_ptr->SetConnected(true); - return base::MakeUnique<NiceMockBluetoothGattConnection>( + return std::make_unique<NiceMockBluetoothGattConnection>( adapter, device_ptr->GetAddress()); })); @@ -1357,7 +1357,7 @@ const std::string& identifier, MockBluetoothDevice* device, const std::string& uuid) { - auto service = base::MakeUnique<NiceMockBluetoothGattService>( + auto service = std::make_unique<NiceMockBluetoothGattService>( device, identifier, BluetoothUUID(uuid), true /* is_primary */, false /* is_local */); @@ -1588,7 +1588,7 @@ MockBluetoothGattService* service, const std::string& uuid, BluetoothRemoteGattCharacteristic::Properties properties) { - auto characteristic = base::MakeUnique<NiceMockBluetoothGattCharacteristic>( + auto characteristic = std::make_unique<NiceMockBluetoothGattCharacteristic>( service, identifier, BluetoothUUID(uuid), false /* is_local */, properties, BluetoothGattCharacteristic::Permission::PERMISSION_NONE); @@ -1644,7 +1644,7 @@ .WillByDefault(RunCallback<1 /* error_callback */>(error_code)); // Add error descriptor to |characteristic| - auto error_descriptor = base::MakeUnique<NiceMockBluetoothGattDescriptor>( + auto error_descriptor = std::make_unique<NiceMockBluetoothGattDescriptor>( characteristic.get(), kCharacteristicUserDescription, BluetoothUUID(kUserDescriptionUUID), false, device::BluetoothRemoteGattCharacteristic::PROPERTY_READ); @@ -1667,7 +1667,7 @@ LayoutTestBluetoothAdapterProvider::GetBaseGATTNotifySession( base::WeakPtr<device::BluetoothRemoteGattCharacteristic> characteristic) { auto session = - base::MakeUnique<NiceMockBluetoothGattNotifySession>(characteristic); + std::make_unique<NiceMockBluetoothGattNotifySession>(characteristic); ON_CALL(*session, Stop(_)) .WillByDefault(testing::DoAll(
diff --git a/content/shell/browser/layout_test/layout_test_bluetooth_chooser_factory.cc b/content/shell/browser/layout_test/layout_test_bluetooth_chooser_factory.cc index a8f893e..2be2399 100644 --- a/content/shell/browser/layout_test/layout_test_bluetooth_chooser_factory.cc +++ b/content/shell/browser/layout_test/layout_test_bluetooth_chooser_factory.cc
@@ -106,7 +106,7 @@ event += origin.Serialize(); event += ")"; events_.push_back(event); - return base::MakeUnique<Chooser>(weak_this_.GetWeakPtr(), event_handler); + return std::make_unique<Chooser>(weak_this_.GetWeakPtr(), event_handler); } std::vector<std::string>
diff --git a/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.cc b/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.cc index 336811f4..f06a649 100644 --- a/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.cc +++ b/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.cc
@@ -25,7 +25,7 @@ void LayoutTestBluetoothFakeAdapterSetterImpl::Create( mojom::LayoutTestBluetoothFakeAdapterSetterRequest request) { mojo::MakeStrongBinding( - base::MakeUnique<LayoutTestBluetoothFakeAdapterSetterImpl>(), + std::make_unique<LayoutTestBluetoothFakeAdapterSetterImpl>(), std::move(request)); }
diff --git a/content/shell/browser/layout_test/layout_test_message_filter.cc b/content/shell/browser/layout_test/layout_test_message_filter.cc index 969bc250..c282c959 100644 --- a/content/shell/browser/layout_test/layout_test_message_filter.cc +++ b/content/shell/browser/layout_test/layout_test_message_filter.cc
@@ -156,8 +156,10 @@ } void LayoutTestMessageFilter::OnDeleteAllCookies() { - request_context_getter_->GetURLRequestContext()->cookie_store() - ->DeleteAllAsync(net::CookieStore::DeleteCallback()); + net::URLRequestContext* context = + request_context_getter_->GetURLRequestContext(); + if (context) + context->cookie_store()->DeleteAllAsync(net::CookieStore::DeleteCallback()); } void LayoutTestMessageFilter::OnSetPermission(
diff --git a/content/shell/browser/layout_test/layout_test_permission_manager.cc b/content/shell/browser/layout_test/layout_test_permission_manager.cc index 34c873df..726f641 100644 --- a/content/shell/browser/layout_test/layout_test_permission_manager.cc +++ b/content/shell/browser/layout_test/layout_test_permission_manager.cc
@@ -155,7 +155,7 @@ const base::Callback<void(blink::mojom::PermissionStatus)>& callback) { DCHECK_CURRENTLY_ON(BrowserThread::UI); - auto subscription = base::MakeUnique<Subscription>(); + auto subscription = std::make_unique<Subscription>(); subscription->permission = PermissionDescription(permission, requesting_origin, embedding_origin); subscription->callback = callback;
diff --git a/content/shell/browser/layout_test/mojo_layout_test_helper.cc b/content/shell/browser/layout_test/mojo_layout_test_helper.cc index c420a9e9..45c30d0 100644 --- a/content/shell/browser/layout_test/mojo_layout_test_helper.cc +++ b/content/shell/browser/layout_test/mojo_layout_test_helper.cc
@@ -14,7 +14,7 @@ // static void MojoLayoutTestHelper::Create(mojom::MojoLayoutTestHelperRequest request) { - mojo::MakeStrongBinding(base::MakeUnique<MojoLayoutTestHelper>(), + mojo::MakeStrongBinding(std::make_unique<MojoLayoutTestHelper>(), std::move(request)); }
diff --git a/content/shell/browser/layout_test/scoped_android_configuration.cc b/content/shell/browser/layout_test/scoped_android_configuration.cc index 90b3225..69f506c 100644 --- a/content/shell/browser/layout_test/scoped_android_configuration.cc +++ b/content/shell/browser/layout_test/scoped_android_configuration.cc
@@ -59,7 +59,7 @@ << "Failed to convert " << endpoint.ToString() << " to sockaddr."; std::unique_ptr<net::SocketPosix> socket( - base::MakeUnique<net::SocketPosix>()); + std::make_unique<net::SocketPosix>()); int result = socket->Open(AF_INET); LOG_IF(FATAL, net::OK != result) << "Failed to open socket for "
diff --git a/content/shell/browser/layout_test/test_info_extractor.cc b/content/shell/browser/layout_test/test_info_extractor.cc index beedfeb..9804e95d 100644 --- a/content/shell/browser/layout_test/test_info_extractor.cc +++ b/content/shell/browser/layout_test/test_info_extractor.cc
@@ -64,7 +64,7 @@ GURL test_url; #if defined(OS_ANDROID) if (GetTestUrlForAndroid(path_or_url, &test_url)) { - return base::MakeUnique<TestInfo>(test_url, enable_pixel_dumping, + return std::make_unique<TestInfo>(test_url, enable_pixel_dumping, expected_pixel_hash, base::FilePath()); } #endif @@ -99,7 +99,7 @@ current_working_directory = local_path.DirName(); else base::GetCurrentDirectory(¤t_working_directory); - return base::MakeUnique<TestInfo>(test_url, enable_pixel_dumping, + return std::make_unique<TestInfo>(test_url, enable_pixel_dumping, expected_pixel_hash, current_working_directory); }
diff --git a/content/shell/browser/shell_browser_main_parts.cc b/content/shell/browser/shell_browser_main_parts.cc index d0f6b85..f35cb4f 100644 --- a/content/shell/browser/shell_browser_main_parts.cc +++ b/content/shell/browser/shell_browser_main_parts.cc
@@ -162,7 +162,7 @@ base::CommandLine::ForCurrentProcess()->GetSwitchValuePath( switches::kCrashDumpsDir); breakpad::CrashDumpObserver::GetInstance()->RegisterClient( - base::MakeUnique<breakpad::ChildProcessCrashObserver>( + std::make_unique<breakpad::ChildProcessCrashObserver>( crash_dumps_dir, kAndroidMinidumpDescriptor, base::Bind(&base::DoNothing))); }
diff --git a/content/shell/browser/shell_content_browser_client.cc b/content/shell/browser/shell_content_browser_client.cc index 632db36..aeb5d0b 100644 --- a/content/shell/browser/shell_content_browser_client.cc +++ b/content/shell/browser/shell_content_browser_client.cc
@@ -202,7 +202,7 @@ const std::string& interface_name, mojo::ScopedMessagePipeHandle interface_pipe) { if (!frame_interfaces_) { - frame_interfaces_ = base::MakeUnique< + frame_interfaces_ = std::make_unique< service_manager::BinderRegistryWithArgs<content::RenderFrameHost*>>(); ExposeInterfacesToFrame(frame_interfaces_.get()); }
diff --git a/content/shell/browser/shell_devtools_bindings.cc b/content/shell/browser/shell_devtools_bindings.cc index 52a2a40..6cb5a3e 100644 --- a/content/shell/browser/shell_devtools_bindings.cc +++ b/content/shell/browser/shell_devtools_bindings.cc
@@ -337,7 +337,7 @@ DCHECK(it != pending_requests_.end()); base::DictionaryValue response; - auto headers = base::MakeUnique<base::DictionaryValue>(); + auto headers = std::make_unique<base::DictionaryValue>(); net::HttpResponseHeaders* rh = source->GetResponseHeaders(); response.SetInteger("statusCode", rh ? rh->response_code() : 200);
diff --git a/content/shell/browser/shell_net_log.cc b/content/shell/browser/shell_net_log.cc index 9d9e5565..7958b16 100644 --- a/content/shell/browser/shell_net_log.cc +++ b/content/shell/browser/shell_net_log.cc
@@ -28,7 +28,7 @@ net::GetNetConstants(); // Add a dictionary with client information - auto dict = base::MakeUnique<base::DictionaryValue>(); + auto dict = std::make_unique<base::DictionaryValue>(); dict->SetString("name", app_name); dict->SetString(
diff --git a/content/shell/browser/shell_url_request_context_getter.cc b/content/shell/browser/shell_url_request_context_getter.cc index 5a37caf..4ae2996 100644 --- a/content/shell/browser/shell_url_request_context_getter.cc +++ b/content/shell/browser/shell_url_request_context_getter.cc
@@ -136,7 +136,7 @@ std::unique_ptr<net::CookieStore> cookie_store = CreateCookieStore(CookieStoreConfig()); std::unique_ptr<net::ChannelIDService> channel_id_service = - base::MakeUnique<net::ChannelIDService>( + std::make_unique<net::ChannelIDService>( new net::DefaultChannelIDStore(nullptr)); cookie_store->SetChannelIDServiceID(channel_id_service->GetUniqueID()); builder.SetCookieAndChannelIdStores(std::move(cookie_store), @@ -205,7 +205,7 @@ #if BUILDFLAG(ENABLE_REPORTING) if (base::FeatureList::IsEnabled(features::kReporting)) { std::unique_ptr<net::ReportingPolicy> reporting_policy = - base::MakeUnique<net::ReportingPolicy>(); + std::make_unique<net::ReportingPolicy>(); if (command_line.HasSwitch(switches::kRunLayoutTest)) reporting_policy->delivery_interval = base::TimeDelta::FromMilliseconds(100);
diff --git a/content/shell/gpu/shell_content_gpu_client.cc b/content/shell/gpu/shell_content_gpu_client.cc index 49484b36..77e4f68b8 100644 --- a/content/shell/gpu/shell_content_gpu_client.cc +++ b/content/shell/gpu/shell_content_gpu_client.cc
@@ -19,7 +19,7 @@ service_manager::BinderRegistry* registry) { registry->AddInterface<mojom::PowerMonitorTest>( base::Bind(&PowerMonitorTestImpl::MakeStrongBinding, - base::Passed(base::MakeUnique<PowerMonitorTestImpl>())), + base::Passed(std::make_unique<PowerMonitorTestImpl>())), base::ThreadTaskRunnerHandle::Get()); }
diff --git a/content/shell/renderer/layout_test/blink_test_runner.cc b/content/shell/renderer/layout_test/blink_test_runner.cc index faec468..f0130fa 100644 --- a/content/shell/renderer/layout_test/blink_test_runner.cc +++ b/content/shell/renderer/layout_test/blink_test_runner.cc
@@ -705,7 +705,7 @@ blink::WebMediaStream* stream) { DCHECK(stream); #if BUILDFLAG(ENABLE_WEBRTC) - return AddVideoTrackToMediaStream(base::MakeUnique<MockVideoCapturerSource>(), + return AddVideoTrackToMediaStream(std::make_unique<MockVideoCapturerSource>(), false, // is_remote stream); #else
diff --git a/content/shell/renderer/layout_test/leak_detector.cc b/content/shell/renderer/layout_test/leak_detector.cc index 74c06caf..d21b3db 100644 --- a/content/shell/renderer/layout_test/leak_detector.cc +++ b/content/shell/renderer/layout_test/leak_detector.cc
@@ -80,27 +80,27 @@ if (previous_result_.number_of_live_audio_nodes < result.number_of_live_audio_nodes) { - auto list = base::MakeUnique<base::ListValue>(); + auto list = std::make_unique<base::ListValue>(); list->AppendInteger(previous_result_.number_of_live_audio_nodes); list->AppendInteger(result.number_of_live_audio_nodes); detail.Set("numberOfLiveAudioNodes", std::move(list)); } if (previous_result_.number_of_live_documents < result.number_of_live_documents) { - auto list = base::MakeUnique<base::ListValue>(); + auto list = std::make_unique<base::ListValue>(); list->AppendInteger(previous_result_.number_of_live_documents); list->AppendInteger(result.number_of_live_documents); detail.Set("numberOfLiveDocuments", std::move(list)); } if (previous_result_.number_of_live_nodes < result.number_of_live_nodes) { - auto list = base::MakeUnique<base::ListValue>(); + auto list = std::make_unique<base::ListValue>(); list->AppendInteger(previous_result_.number_of_live_nodes); list->AppendInteger(result.number_of_live_nodes); detail.Set("numberOfLiveNodes", std::move(list)); } if (previous_result_.number_of_live_layout_objects < result.number_of_live_layout_objects) { - auto list = base::MakeUnique<base::ListValue>(); + auto list = std::make_unique<base::ListValue>(); list->AppendInteger(previous_result_.number_of_live_layout_objects); list->AppendInteger(result.number_of_live_layout_objects); detail.Set("numberOfLiveLayoutObjects", std::move(list)); @@ -110,41 +110,41 @@ if (previous_result_.number_of_live_resources < (result.number_of_live_resources - result.number_of_live_ua_css_resources)) { - auto list = base::MakeUnique<base::ListValue>(); + auto list = std::make_unique<base::ListValue>(); list->AppendInteger(previous_result_.number_of_live_resources); list->AppendInteger(result.number_of_live_resources); detail.Set("numberOfLiveResources", std::move(list)); } if (previous_result_.number_of_live_suspendable_objects < result.number_of_live_suspendable_objects) { - auto list = base::MakeUnique<base::ListValue>(); + auto list = std::make_unique<base::ListValue>(); list->AppendInteger(previous_result_.number_of_live_suspendable_objects); list->AppendInteger(result.number_of_live_suspendable_objects); detail.Set("numberOfLiveSuspendableObjects", std::move(list)); } if (previous_result_.number_of_live_script_promises < result.number_of_live_script_promises) { - auto list = base::MakeUnique<base::ListValue>(); + auto list = std::make_unique<base::ListValue>(); list->AppendInteger(previous_result_.number_of_live_script_promises); list->AppendInteger(result.number_of_live_script_promises); detail.Set("numberOfLiveScriptPromises", std::move(list)); } if (previous_result_.number_of_live_frames < result.number_of_live_frames) { - auto list = base::MakeUnique<base::ListValue>(); + auto list = std::make_unique<base::ListValue>(); list->AppendInteger(previous_result_.number_of_live_frames); list->AppendInteger(result.number_of_live_frames); detail.Set("numberOfLiveFrames", std::move(list)); } if (previous_result_.number_of_live_v8_per_context_data < result.number_of_live_v8_per_context_data) { - auto list = base::MakeUnique<base::ListValue>(); + auto list = std::make_unique<base::ListValue>(); list->AppendInteger(previous_result_.number_of_live_v8_per_context_data); list->AppendInteger(result.number_of_live_v8_per_context_data); detail.Set("numberOfLiveV8PerContextData", std::move(list)); } if (previous_result_.number_of_worker_global_scopes < result.number_of_worker_global_scopes) { - auto list = base::MakeUnique<base::ListValue>(); + auto list = std::make_unique<base::ListValue>(); list->AppendInteger(previous_result_.number_of_worker_global_scopes); list->AppendInteger(result.number_of_worker_global_scopes); detail.Set("numberOfWorkerGlobalScopes", std::move(list));
diff --git a/content/shell/renderer/shell_content_renderer_client.cc b/content/shell/renderer/shell_content_renderer_client.cc index 252ce19..7cac142b 100644 --- a/content/shell/renderer/shell_content_renderer_client.cc +++ b/content/shell/renderer/shell_content_renderer_client.cc
@@ -107,17 +107,17 @@ void ShellContentRendererClient::RenderThreadStarted() { web_cache_impl_.reset(new web_cache::WebCacheImpl()); - auto registry = base::MakeUnique<service_manager::BinderRegistry>(); + auto registry = std::make_unique<service_manager::BinderRegistry>(); registry->AddInterface<mojom::TestService>( base::Bind(&CreateTestService), base::ThreadTaskRunnerHandle::Get()); registry->AddInterface<mojom::PowerMonitorTest>( base::Bind(&PowerMonitorTestImpl::MakeStrongBinding, - base::Passed(base::MakeUnique<PowerMonitorTestImpl>())), + base::Passed(std::make_unique<PowerMonitorTestImpl>())), base::ThreadTaskRunnerHandle::Get()); content::ChildThread::Get() ->GetServiceManagerConnection() ->AddConnectionFilter( - base::MakeUnique<SimpleConnectionFilter>(std::move(registry))); + std::make_unique<SimpleConnectionFilter>(std::move(registry))); } void ShellContentRendererClient::RenderViewCreated(RenderView* render_view) {
diff --git a/content/shell/test_runner/tracked_dictionary.cc b/content/shell/test_runner/tracked_dictionary.cc index 457b922..4b2a563 100644 --- a/content/shell/test_runner/tracked_dictionary.cc +++ b/content/shell/test_runner/tracked_dictionary.cc
@@ -40,12 +40,12 @@ } void TrackedDictionary::SetBoolean(const std::string& path, bool new_value) { - Set(path, base::MakeUnique<base::Value>(new_value)); + Set(path, std::make_unique<base::Value>(new_value)); } void TrackedDictionary::SetString(const std::string& path, const std::string& new_value) { - Set(path, base::MakeUnique<base::Value>(new_value)); + Set(path, std::make_unique<base::Value>(new_value)); } } // namespace test_runner
diff --git a/content/shell/test_runner/web_test_interfaces.cc b/content/shell/test_runner/web_test_interfaces.cc index a96d24a..e2733d0 100644 --- a/content/shell/test_runner/web_test_interfaces.cc +++ b/content/shell/test_runner/web_test_interfaces.cc
@@ -68,18 +68,18 @@ std::unique_ptr<WebMediaStreamCenter> WebTestInterfaces::CreateMediaStreamCenter(WebMediaStreamCenterClient* client) { - return base::MakeUnique<MockWebMediaStreamCenter>(); + return std::make_unique<MockWebMediaStreamCenter>(); } std::unique_ptr<WebMIDIAccessor> WebTestInterfaces::CreateMIDIAccessor( WebMIDIAccessorClient* client) { - return base::MakeUnique<MockWebMIDIAccessor>(client, interfaces_.get()); + return std::make_unique<MockWebMIDIAccessor>(client, interfaces_.get()); } std::unique_ptr<WebAudioDevice> WebTestInterfaces::CreateAudioDevice( double sample_rate, int frames_per_buffer) { - return base::MakeUnique<MockWebAudioDevice>(sample_rate, frames_per_buffer); + return std::make_unique<MockWebAudioDevice>(sample_rate, frames_per_buffer); } std::unique_ptr<WebFrameTestClient> WebTestInterfaces::CreateWebFrameTestClient( @@ -87,20 +87,20 @@ WebFrameTestProxyBase* web_frame_test_proxy_base) { // TODO(lukasza): Do not pass the WebTestDelegate below - it's lifetime can // differ from the lifetime of WebFrameTestClient - https://crbug.com/606594. - return base::MakeUnique<WebFrameTestClient>(interfaces_->GetDelegate(), + return std::make_unique<WebFrameTestClient>(interfaces_->GetDelegate(), web_view_test_proxy_base, web_frame_test_proxy_base); } std::unique_ptr<WebViewTestClient> WebTestInterfaces::CreateWebViewTestClient( WebViewTestProxyBase* web_view_test_proxy_base) { - return base::MakeUnique<WebViewTestClient>(web_view_test_proxy_base); + return std::make_unique<WebViewTestClient>(web_view_test_proxy_base); } std::unique_ptr<WebWidgetTestClient> WebTestInterfaces::CreateWebWidgetTestClient( WebWidgetTestProxyBase* web_widget_test_proxy_base) { - return base::MakeUnique<WebWidgetTestClient>(web_widget_test_proxy_base); + return std::make_unique<WebWidgetTestClient>(web_widget_test_proxy_base); } std::vector<blink::WebView*> WebTestInterfaces::GetWindowList() {
diff --git a/content/shell/utility/shell_content_utility_client.cc b/content/shell/utility/shell_content_utility_client.cc index 6de4c383..e74888d 100644 --- a/content/shell/utility/shell_content_utility_client.cc +++ b/content/shell/utility/shell_content_utility_client.cc
@@ -83,17 +83,17 @@ } void ShellContentUtilityClient::UtilityThreadStarted() { - auto registry = base::MakeUnique<service_manager::BinderRegistry>(); + auto registry = std::make_unique<service_manager::BinderRegistry>(); registry->AddInterface(base::Bind(&TestServiceImpl::Create), base::ThreadTaskRunnerHandle::Get()); registry->AddInterface<mojom::PowerMonitorTest>( base::Bind(&PowerMonitorTestImpl::MakeStrongBinding, - base::Passed(base::MakeUnique<PowerMonitorTestImpl>())), + base::Passed(std::make_unique<PowerMonitorTestImpl>())), base::ThreadTaskRunnerHandle::Get()); content::ChildThread::Get() ->GetServiceManagerConnection() ->AddConnectionFilter( - base::MakeUnique<SimpleConnectionFilter>(std::move(registry))); + std::make_unique<SimpleConnectionFilter>(std::move(registry))); } void ShellContentUtilityClient::RegisterServices(StaticServiceMap* services) {
diff --git a/content/test/content_browser_test_utils_internal.cc b/content/test/content_browser_test_utils_internal.cc index f20ab7f..1c7c916 100644 --- a/content/test/content_browser_test_utils_internal.cc +++ b/content/test/content_browser_test_utils_internal.cc
@@ -298,7 +298,7 @@ std::vector<std::unique_ptr<content::ResourceThrottle>>* throttles) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); if (request->url() == url_) - throttles->push_back(base::MakeUnique<HttpRequestStallThrottle>()); + throttles->push_back(std::make_unique<HttpRequestStallThrottle>()); } FileChooserDelegate::FileChooserDelegate(const base::FilePath& file)
diff --git a/content/test/did_commit_provisional_load_interceptor.cc b/content/test/did_commit_provisional_load_interceptor.cc index 4a84843..46bd05a 100644 --- a/content/test/did_commit_provisional_load_interceptor.cc +++ b/content/test/did_commit_provisional_load_interceptor.cc
@@ -67,7 +67,7 @@ RenderFrameHost* render_frame_host) { bool did_insert; std::tie(std::ignore, did_insert) = frame_agents_.emplace( - render_frame_host, base::MakeUnique<FrameAgent>(this, render_frame_host)); + render_frame_host, std::make_unique<FrameAgent>(this, render_frame_host)); DCHECK(did_insert); }
diff --git a/content/test/fuzzer/fuzzer_support.cc b/content/test/fuzzer/fuzzer_support.cc index eb767e6..8b8ed62 100644 --- a/content/test/fuzzer/fuzzer_support.cc +++ b/content/test/fuzzer/fuzzer_support.cc
@@ -34,7 +34,7 @@ gin::IsolateHolder::kStableV8Extras, gin::ArrayBufferAllocator::SharedInstance()); - adapter = base::MakeUnique<RenderViewTestAdapter>(); + adapter = std::make_unique<RenderViewTestAdapter>(); adapter->SetUp(); }
diff --git a/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py b/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py index df5322e..7fa3ad2c 100644 --- a/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py +++ b/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
@@ -346,6 +346,8 @@ ['mac', ('nvidia', 0xfe9)], bug=483282) self.Fail('conformance/attribs/gl-disabled-vertex-attrib.html', ['mac', ('nvidia', 0xfe9)], bug=483282) + self.Fail('conformance/canvas/drawingbuffer-static-canvas-test.html', + ['highsierra', ('nvidia', 0xfe9)], bug=775202) self.Flaky( 'conformance/extensions/webgl-compressed-texture-size-limit.html', ['mac', ('nvidia', 0xfe9)], bug=483282)
diff --git a/content/test/layouttest_support.cc b/content/test/layouttest_support.cc index c7a0fee6..30c9b172 100644 --- a/content/test/layouttest_support.cc +++ b/content/test/layouttest_support.cc
@@ -352,7 +352,7 @@ constexpr bool disable_display_vsync = false; constexpr double refresh_rate = 60.0; - auto layer_tree_frame_sink = base::MakeUnique<viz::TestLayerTreeFrameSink>( + auto layer_tree_frame_sink = std::make_unique<viz::TestLayerTreeFrameSink>( std::move(compositor_context_provider), std::move(worker_context_provider), nullptr /* shared_bitmap_manager */, gpu_memory_buffer_manager, renderer_settings, task_runner, @@ -369,7 +369,7 @@ // may not have been created yet. Instead, we wait until OnCommit to find // the currently active LayerTreeFrameSink for the given RenderWidget // routing_id. - return base::MakeUnique<CopyRequestSwapPromise>( + return std::make_unique<CopyRequestSwapPromise>( std::move(request), base::Bind( &LayoutTestDependenciesImpl::FindLayerTreeFrameSink, @@ -407,7 +407,7 @@ context_provider->BindToCurrentThread(); bool flipped_output_surface = false; - return base::MakeUnique<cc::PixelTestOutputSurface>( + return std::make_unique<cc::PixelTestOutputSurface>( std::move(context_provider), flipped_output_surface); } void DisplayReceivedLocalSurfaceId( @@ -436,7 +436,7 @@ void EnableRendererLayoutTestMode() { RenderThreadImpl::current()->set_layout_test_dependencies( - base::MakeUnique<LayoutTestDependenciesImpl>()); + std::make_unique<LayoutTestDependenciesImpl>()); #if defined(OS_WIN) RegisterSideloadedTypefaces(SkFontMgr_New_DirectWrite().get());
diff --git a/content/test/mock_platform_notification_service.cc b/content/test/mock_platform_notification_service.cc index be6cdaf..cb14254 100644 --- a/content/test/mock_platform_notification_service.cc +++ b/content/test/mock_platform_notification_service.cc
@@ -82,7 +82,7 @@ BrowserContext* browser_context, const DisplayedNotificationsCallback& callback) { DCHECK_CURRENTLY_ON(BrowserThread::UI); - auto displayed_notifications = base::MakeUnique<std::set<std::string>>(); + auto displayed_notifications = std::make_unique<std::set<std::string>>(); for (const auto& kv : persistent_notifications_) displayed_notifications->insert(kv.first);
diff --git a/content/test/mock_widget_impl.cc b/content/test/mock_widget_impl.cc index d3c5317..8fb9fa98 100644 --- a/content/test/mock_widget_impl.cc +++ b/content/test/mock_widget_impl.cc
@@ -14,7 +14,7 @@ void MockWidgetImpl::SetupWidgetInputHandler( mojom::WidgetInputHandlerRequest request, mojom::WidgetInputHandlerHostPtr host) { - input_handler_ = base::MakeUnique<MockWidgetInputHandler>(std::move(request), + input_handler_ = std::make_unique<MockWidgetInputHandler>(std::move(request), std::move(host)); }
diff --git a/content/test/navigation_simulator_unittest.cc b/content/test/navigation_simulator_unittest.cc index a5e5a8d7..8c70cfc 100644 --- a/content/test/navigation_simulator_unittest.cc +++ b/content/test/navigation_simulator_unittest.cc
@@ -51,7 +51,7 @@ } void DidStartNavigation(content::NavigationHandle* handle) override { - auto throttle = base::MakeUnique<TestNavigationThrottle>(handle); + auto throttle = std::make_unique<TestNavigationThrottle>(handle); throttle->SetCallback( TestNavigationThrottle::WILL_FAIL_REQUEST, base::BindRepeating(&NavigationSimulatorTest::OnWillFailRequestCalled,
diff --git a/content/test/test_blink_web_unit_test_support.cc b/content/test/test_blink_web_unit_test_support.cc index b37dc7e..f7014dd 100644 --- a/content/test/test_blink_web_unit_test_support.cc +++ b/content/test/test_blink_web_unit_test_support.cc
@@ -104,7 +104,7 @@ DCHECK(platform_); // This loader should be used only for process-local resources such as // data URLs. - auto default_loader = base::MakeUnique<content::WebURLLoaderImpl>( + auto default_loader = std::make_unique<content::WebURLLoaderImpl>( nullptr, task_runner, nullptr); return platform_->GetURLLoaderMockFactory()->CreateURLLoader( std::move(default_loader)); @@ -296,7 +296,7 @@ blink::WebGestureDevice device_source, const blink::WebFloatPoint& velocity, const blink::WebSize& cumulative_scroll) { - return base::MakeUnique<WebGestureCurveMock>(velocity, cumulative_scroll); + return std::make_unique<WebGestureCurveMock>(velocity, cumulative_scroll); } blink::WebURLLoaderMockFactory* @@ -345,7 +345,7 @@ pem_private_key.Utf8(), pem_certificate.Utf8())); if (!certificate) return nullptr; - return base::MakeUnique<RTCCertificate>(certificate); + return std::make_unique<RTCCertificate>(certificate); } }; @@ -355,7 +355,7 @@ std::unique_ptr<blink::WebRTCCertificateGenerator> TestBlinkWebUnitTestSupport::CreateRTCCertificateGenerator() { #if BUILDFLAG(ENABLE_WEBRTC) - return base::MakeUnique<TestWebRTCCertificateGenerator>(); + return std::make_unique<TestWebRTCCertificateGenerator>(); #else return nullptr; #endif
diff --git a/content/test/test_render_frame.cc b/content/test/test_render_frame.cc index 976d7c3..6704dfe 100644 --- a/content/test/test_render_frame.cc +++ b/content/test/test_render_frame.cc
@@ -68,8 +68,7 @@ TestRenderFrame::TestRenderFrame(const RenderFrameImpl::CreateParams& params) : RenderFrameImpl(params), - mock_frame_host_(base::MakeUnique<MockFrameHost>()) { -} + mock_frame_host_(std::make_unique<MockFrameHost>()) {} TestRenderFrame::~TestRenderFrame() {}
diff --git a/content/test/test_render_frame_host.cc b/content/test/test_render_frame_host.cc index 9ef75061..b5dc056 100644 --- a/content/test/test_render_frame_host.cc +++ b/content/test/test_render_frame_host.cc
@@ -438,7 +438,7 @@ navigation_handle()->set_response_headers_for_testing(response_headers); } DidCommitProvisionalLoad( - base::MakeUnique<FrameHostMsg_DidCommitProvisionalLoad_Params>(*params)); + std::make_unique<FrameHostMsg_DidCommitProvisionalLoad_Params>(*params)); last_commit_was_error_page_ = params->url_is_unreachable; }
diff --git a/content/test/test_render_frame_host_factory.cc b/content/test/test_render_frame_host_factory.cc index 238a974..87183aa 100644 --- a/content/test/test_render_frame_host_factory.cc +++ b/content/test/test_render_frame_host_factory.cc
@@ -31,7 +31,7 @@ int32_t widget_routing_id, bool hidden, bool renderer_initiated_creation) { - return base::MakeUnique<TestRenderFrameHost>( + return std::make_unique<TestRenderFrameHost>( site_instance, render_view_host, delegate, rwh_delegate, frame_tree, frame_tree_node, routing_id, widget_routing_id, hidden); }
diff --git a/content/test/test_render_view_host_factory.cc b/content/test/test_render_view_host_factory.cc index 32981f5..fdb187d 100644 --- a/content/test/test_render_view_host_factory.cc +++ b/content/test/test_render_view_host_factory.cc
@@ -36,7 +36,7 @@ int32_t main_frame_routing_id, bool swapped_out) { return new TestRenderViewHost(instance, - base::MakeUnique<RenderWidgetHostImpl>( + std::make_unique<RenderWidgetHostImpl>( widget_delegate, instance->GetProcess(), routing_id, nullptr, false /* hidden */), delegate, main_frame_routing_id, swapped_out);
diff --git a/content/utility/utility_service_factory.cc b/content/utility/utility_service_factory.cc index 3c24787..d7e95ad 100644 --- a/content/utility/utility_service_factory.cc +++ b/content/utility/utility_service_factory.cc
@@ -49,7 +49,7 @@ namespace { std::unique_ptr<service_manager::Service> CreateVideoCaptureService() { - return base::MakeUnique<video_capture::ServiceImpl>(); + return std::make_unique<video_capture::ServiceImpl>(); } } // anonymous namespace @@ -98,7 +98,7 @@ std::unique_ptr<service_manager::Service> CreateCdmService() { return std::unique_ptr<service_manager::Service>( - new ::media::MediaService(base::MakeUnique<CdmMojoMediaClient>())); + new ::media::MediaService(std::make_unique<CdmMojoMediaClient>())); } #endif // BUILDFLAG(ENABLE_LIBRARY_CDMS) @@ -114,7 +114,7 @@ } // namespace UtilityServiceFactory::UtilityServiceFactory() - : network_registry_(base::MakeUnique<service_manager::BinderRegistry>()) {} + : network_registry_(std::make_unique<service_manager::BinderRegistry>()) {} UtilityServiceFactory::~UtilityServiceFactory() {} @@ -172,7 +172,7 @@ std::unique_ptr<service_manager::Service> UtilityServiceFactory::CreateNetworkService() { - return base::MakeUnique<NetworkServiceImpl>(std::move(network_registry_)); + return std::make_unique<NetworkServiceImpl>(std::move(network_registry_)); } } // namespace content
diff --git a/content/utility/utility_thread_impl.cc b/content/utility/utility_thread_impl.cc index 711333f..cd4f9b8 100644 --- a/content/utility/utility_thread_impl.cc +++ b/content/utility/utility_thread_impl.cc
@@ -70,7 +70,7 @@ void UtilityThreadImpl::Init() { ChildProcess::current()->AddRefProcess(); - auto registry = base::MakeUnique<service_manager::BinderRegistry>(); + auto registry = std::make_unique<service_manager::BinderRegistry>(); registry->AddInterface( base::Bind(&UtilityThreadImpl::BindServiceFactoryRequest, base::Unretained(this)), @@ -79,7 +79,7 @@ content::ServiceManagerConnection* connection = GetServiceManagerConnection(); if (connection) { connection->AddConnectionFilter( - base::MakeUnique<SimpleConnectionFilter>(std::move(registry))); + std::make_unique<SimpleConnectionFilter>(std::move(registry))); } GetContentClient()->utility()->UtilityThreadStarted();
diff --git a/extensions/browser/api/printer_provider/printer_provider_api.cc b/extensions/browser/api/printer_provider/printer_provider_api.cc index d4eb968..01bdbe1 100644 --- a/extensions/browser/api/printer_provider/printer_provider_api.cc +++ b/extensions/browser/api/printer_provider/printer_provider_api.cc
@@ -162,7 +162,7 @@ // Adds a new request to the set. Only information needed is the callback // associated with the request. Returns the id assigned to the request. - int Add(const PrinterProviderAPI::GetCapabilityCallback& callback); + int Add(PrinterProviderAPI::GetCapabilityCallback callback); // Completes the request with the provided request id. It runs the request // callback and removes the request from the set. @@ -187,7 +187,7 @@ // Adds a new request to the set. Only information needed is the callback // associated with the request. Returns the id assigned to the request. int Add(const PrinterProviderPrintJob& job, - const PrinterProviderAPI::PrintCallback& callback); + PrinterProviderAPI::PrintCallback callback); // Gets print job associated with a request. const PrinterProviderPrintJob* GetPrintJob(int request_id) const; @@ -220,7 +220,7 @@ // Adds a new request to the set. Only information needed is the callback // associated with the request. Returns the id assigned to the request. - int Add(const PrinterProviderAPI::GetPrinterInfoCallback& callback); + int Add(PrinterProviderAPI::GetPrinterInfoCallback callback); // Completes the request with the provided request id. It runs the request // callback and removes the request from the set. @@ -247,17 +247,16 @@ // PrinterProviderAPI implementation: void DispatchGetPrintersRequested( const GetPrintersCallback& callback) override; - void DispatchGetCapabilityRequested( - const std::string& printer_id, - const GetCapabilityCallback& callback) override; + void DispatchGetCapabilityRequested(const std::string& printer_id, + GetCapabilityCallback callback) override; void DispatchPrintRequested(const PrinterProviderPrintJob& job, - const PrintCallback& callback) override; + PrintCallback callback) override; const PrinterProviderPrintJob* GetPrintJob(const Extension* extension, int request_id) const override; void DispatchGetUsbPrinterInfoRequested( const std::string& extension_id, scoped_refptr<UsbDevice> device, - const GetPrinterInfoCallback& callback) override; + GetPrinterInfoCallback callback) override; // PrinterProviderInternalAPIObserver implementation: void OnGetPrintersResult( @@ -393,8 +392,8 @@ } int PendingGetCapabilityRequests::Add( - const PrinterProviderAPI::GetCapabilityCallback& callback) { - pending_requests_[++last_request_id_] = callback; + PrinterProviderAPI::GetCapabilityCallback callback) { + pending_requests_[++last_request_id_] = std::move(callback); return last_request_id_; } @@ -405,16 +404,16 @@ if (it == pending_requests_.end()) return false; - PrinterProviderAPI::GetCapabilityCallback callback = it->second; + PrinterProviderAPI::GetCapabilityCallback callback = std::move(it->second); pending_requests_.erase(it); - callback.Run(response); + std::move(callback).Run(response); return true; } void PendingGetCapabilityRequests::FailAll() { for (auto& request : pending_requests_) - request.second.Run(base::DictionaryValue()); + std::move(request.second).Run(base::DictionaryValue()); pending_requests_.clear(); } @@ -424,13 +423,12 @@ PendingPrintRequests::~PendingPrintRequests() { } -int PendingPrintRequests::Add( - const PrinterProviderPrintJob& job, - const PrinterProviderAPI::PrintCallback& callback) { +int PendingPrintRequests::Add(const PrinterProviderPrintJob& job, + PrinterProviderAPI::PrintCallback callback) { PrintRequest request; - request.callback = callback; + request.callback = std::move(callback); request.job = job; - pending_requests_[++last_request_id_] = request; + pending_requests_[++last_request_id_] = std::move(request); return last_request_id_; } @@ -441,7 +439,7 @@ if (it == pending_requests_.end()) return false; - PrinterProviderAPI::PrintCallback callback = it->second.callback; + PrinterProviderAPI::PrintCallback callback = std::move(it->second.callback); pending_requests_.erase(it); base::Value error_value; @@ -452,7 +450,7 @@ : api::printer_provider_internal::ToString(error); error_value = base::Value(error_str); } - callback.Run(error_value); + std::move(callback).Run(error_value); return true; } @@ -467,8 +465,8 @@ void PendingPrintRequests::FailAll() { for (auto& request : pending_requests_) { - request.second.callback.Run( - base::Value(PrinterProviderAPI::GetDefaultPrintError())); + std::move(request.second.callback) + .Run(base::Value(PrinterProviderAPI::GetDefaultPrintError())); } pending_requests_.clear(); } @@ -480,8 +478,8 @@ } int PendingUsbPrinterInfoRequests::Add( - const PrinterProviderAPI::GetPrinterInfoCallback& callback) { - pending_requests_[++last_request_id_] = callback; + PrinterProviderAPI::GetPrinterInfoCallback callback) { + pending_requests_[++last_request_id_] = std::move(callback); return last_request_id_; } @@ -492,15 +490,15 @@ if (it == pending_requests_.end()) return; - PrinterProviderAPI::GetPrinterInfoCallback callback = it->second; + PrinterProviderAPI::GetPrinterInfoCallback callback = std::move(it->second); pending_requests_.erase(it); - callback.Run(printer_info); + std::move(callback).Run(printer_info); } void PendingUsbPrinterInfoRequests::FailAll() { for (auto& request : pending_requests_) { - request.second.Run(base::DictionaryValue()); + std::move(request.second).Run(base::DictionaryValue()); } pending_requests_.clear(); } @@ -552,11 +550,11 @@ void PrinterProviderAPIImpl::DispatchGetCapabilityRequested( const std::string& printer_id, - const GetCapabilityCallback& callback) { + GetCapabilityCallback callback) { std::string extension_id; std::string internal_printer_id; if (!ParsePrinterId(printer_id, &extension_id, &internal_printer_id)) { - callback.Run(base::DictionaryValue()); + std::move(callback).Run(base::DictionaryValue()); return; } @@ -564,11 +562,12 @@ if (!event_router->ExtensionHasEventListener( extension_id, api::printer_provider::OnGetCapabilityRequested::kEventName)) { - callback.Run(base::DictionaryValue()); + std::move(callback).Run(base::DictionaryValue()); return; } - int request_id = pending_capability_requests_[extension_id].Add(callback); + int request_id = + pending_capability_requests_[extension_id].Add(std::move(callback)); std::unique_ptr<base::ListValue> internal_args(new base::ListValue); // Request id is not part of the public API, but it will be massaged out in @@ -586,18 +585,18 @@ void PrinterProviderAPIImpl::DispatchPrintRequested( const PrinterProviderPrintJob& job, - const PrintCallback& callback) { + PrintCallback callback) { std::string extension_id; std::string internal_printer_id; if (!ParsePrinterId(job.printer_id, &extension_id, &internal_printer_id)) { - callback.Run(base::Value(GetDefaultPrintError())); + std::move(callback).Run(base::Value(GetDefaultPrintError())); return; } EventRouter* event_router = EventRouter::Get(browser_context_); if (!event_router->ExtensionHasEventListener( extension_id, api::printer_provider::OnPrintRequested::kEventName)) { - callback.Run(base::Value(GetDefaultPrintError())); + std::move(callback).Run(base::Value(GetDefaultPrintError())); return; } @@ -610,14 +609,15 @@ if (!ticket_value || !api::printer_provider::PrintJob::Ticket::Populate(*ticket_value, &print_job.ticket)) { - callback.Run(base::Value(api::printer_provider::ToString( + std::move(callback).Run(base::Value(api::printer_provider::ToString( api::printer_provider::PRINT_ERROR_INVALID_TICKET))); return; } print_job.content_type = job.content_type; print_job.title = base::UTF16ToUTF8(job.job_title); - int request_id = pending_print_requests_[extension_id].Add(job, callback); + int request_id = + pending_print_requests_[extension_id].Add(job, std::move(callback)); std::unique_ptr<base::ListValue> internal_args(new base::ListValue); // Request id is not part of the public API and it will be massaged out in @@ -643,17 +643,17 @@ void PrinterProviderAPIImpl::DispatchGetUsbPrinterInfoRequested( const std::string& extension_id, scoped_refptr<UsbDevice> device, - const GetPrinterInfoCallback& callback) { + GetPrinterInfoCallback callback) { EventRouter* event_router = EventRouter::Get(browser_context_); if (!event_router->ExtensionHasEventListener( extension_id, api::printer_provider::OnGetUsbPrinterInfoRequested::kEventName)) { - callback.Run(base::DictionaryValue()); + std::move(callback).Run(base::DictionaryValue()); return; } int request_id = - pending_usb_printer_info_requests_[extension_id].Add(callback); + pending_usb_printer_info_requests_[extension_id].Add(std::move(callback)); api::usb::Device api_device; UsbGuidMap::Get(browser_context_)->GetApiDevice(device, &api_device);
diff --git a/extensions/browser/api/printer_provider/printer_provider_api.h b/extensions/browser/api/printer_provider/printer_provider_api.h index da9bc93..e5f3c68 100644 --- a/extensions/browser/api/printer_provider/printer_provider_api.h +++ b/extensions/browser/api/printer_provider/printer_provider_api.h
@@ -36,12 +36,12 @@ class PrinterProviderAPI : public KeyedService { public: using GetPrintersCallback = - base::Callback<void(const base::ListValue& printers, bool done)>; + base::RepeatingCallback<void(const base::ListValue& printers, bool done)>; using GetCapabilityCallback = - base::Callback<void(const base::DictionaryValue& capability)>; - using PrintCallback = base::Callback<void(const base::Value& error)>; + base::OnceCallback<void(const base::DictionaryValue& capability)>; + using PrintCallback = base::OnceCallback<void(const base::Value& error)>; using GetPrinterInfoCallback = - base::Callback<void(const base::DictionaryValue& printer_info)>; + base::OnceCallback<void(const base::DictionaryValue& printer_info)>; static PrinterProviderAPI* Create(content::BrowserContext* context); @@ -74,7 +74,7 @@ // reported by the extension. virtual void DispatchGetCapabilityRequested( const std::string& printer_id, - const GetCapabilityCallback& callback) = 0; + GetCapabilityCallback callback) = 0; // It dispatches chrome.printerProvider.onPrintRequested event with the // provided print job. The event is dispatched only to the extension that @@ -82,7 +82,7 @@ // |callback| is passed the print status returned by the extension, and it // must not be null. virtual void DispatchPrintRequested(const PrinterProviderPrintJob& job, - const PrintCallback& callback) = 0; + PrintCallback callback) = 0; // Returns print job associated with the print request with id |request_id| // for extension |extension|. @@ -96,7 +96,7 @@ virtual void DispatchGetUsbPrinterInfoRequested( const std::string& extension_id, scoped_refptr<device::UsbDevice> device, - const PrinterProviderAPI::GetPrinterInfoCallback& callback) = 0; + GetPrinterInfoCallback callback) = 0; }; } // namespace extensions
diff --git a/extensions/browser/api/printer_provider/printer_provider_apitest.cc b/extensions/browser/api/printer_provider/printer_provider_apitest.cc index 102ef19..2b5d573 100644 --- a/extensions/browser/api/printer_provider/printer_provider_apitest.cc +++ b/extensions/browser/api/printer_provider/printer_provider_apitest.cc
@@ -116,15 +116,15 @@ void StartGetUsbPrinterInfoRequest( const std::string& extension_id, scoped_refptr<device::UsbDevice> device, - const PrinterProviderAPI::GetPrinterInfoCallback& callback) { + PrinterProviderAPI::GetPrinterInfoCallback callback) { PrinterProviderAPIFactory::GetInstance() ->GetForBrowserContext(browser_context()) - ->DispatchGetUsbPrinterInfoRequested(extension_id, device, callback); + ->DispatchGetUsbPrinterInfoRequested(extension_id, device, + std::move(callback)); } - void StartPrintRequestWithNoData( - const std::string& extension_id, - const PrinterProviderAPI::PrintCallback& callback) { + void StartPrintRequestWithNoData(const std::string& extension_id, + PrinterProviderAPI::PrintCallback callback) { PrinterProviderPrintJob job; job.printer_id = extension_id + ":printer_id"; job.ticket_json = "{}"; @@ -132,12 +132,12 @@ PrinterProviderAPIFactory::GetInstance() ->GetForBrowserContext(browser_context()) - ->DispatchPrintRequested(job, callback); + ->DispatchPrintRequested(job, std::move(callback)); } void StartPrintRequestUsingDocumentBytes( const std::string& extension_id, - const PrinterProviderAPI::PrintCallback& callback) { + PrinterProviderAPI::PrintCallback callback) { PrinterProviderPrintJob job; job.printer_id = extension_id + ":printer_id"; job.job_title = base::ASCIIToUTF16("Print job"); @@ -149,12 +149,12 @@ PrinterProviderAPIFactory::GetInstance() ->GetForBrowserContext(browser_context()) - ->DispatchPrintRequested(job, callback); + ->DispatchPrintRequested(job, std::move(callback)); } bool StartPrintRequestUsingFileInfo( const std::string& extension_id, - const PrinterProviderAPI::PrintCallback& callback) { + PrinterProviderAPI::PrintCallback callback) { PrinterProviderPrintJob job; const char kBytes[] = {'b', 'y', 't', 'e', 's'}; @@ -171,17 +171,17 @@ PrinterProviderAPIFactory::GetInstance() ->GetForBrowserContext(browser_context()) - ->DispatchPrintRequested(job, callback); + ->DispatchPrintRequested(job, std::move(callback)); return true; } void StartCapabilityRequest( const std::string& extension_id, - const PrinterProviderAPI::GetCapabilityCallback& callback) { + PrinterProviderAPI::GetCapabilityCallback callback) { PrinterProviderAPIFactory::GetInstance() ->GetForBrowserContext(browser_context()) ->DispatchGetCapabilityRequested(extension_id + ":printer_id", - callback); + std::move(callback)); } // Loads chrome.printerProvider test app and initializes is for test @@ -238,19 +238,21 @@ switch (data_type) { case PRINT_REQUEST_DATA_TYPE_NOT_SET: - StartPrintRequestWithNoData(extension_id, callback); + StartPrintRequestWithNoData(extension_id, std::move(callback)); break; case PRINT_REQUEST_DATA_TYPE_FILE: - ASSERT_TRUE(StartPrintRequestUsingFileInfo(extension_id, callback)); + ASSERT_TRUE( + StartPrintRequestUsingFileInfo(extension_id, std::move(callback))); break; case PRINT_REQUEST_DATA_TYPE_FILE_DELETED: { - ASSERT_TRUE(StartPrintRequestUsingFileInfo(extension_id, callback)); + ASSERT_TRUE( + StartPrintRequestUsingFileInfo(extension_id, std::move(callback))); base::ScopedAllowBlockingForTesting allow_blocking; ASSERT_TRUE(data_dir_.Delete()); break; } case PRINT_REQUEST_DATA_TYPE_BYTES: - StartPrintRequestUsingDocumentBytes(extension_id, callback); + StartPrintRequestUsingDocumentBytes(extension_id, std::move(callback)); break; }
diff --git a/ios/chrome/browser/ui/reading_list/BUILD.gn b/ios/chrome/browser/ui/reading_list/BUILD.gn index efd5af8..94b52a18 100644 --- a/ios/chrome/browser/ui/reading_list/BUILD.gn +++ b/ios/chrome/browser/ui/reading_list/BUILD.gn
@@ -123,6 +123,7 @@ "//components/favicon/core", "//components/favicon/core/test:test_support", "//components/feature_engagement", + "//components/feature_engagement/test:test_support", "//components/prefs", "//components/reading_list/core", "//components/url_formatter",
diff --git a/ios/chrome/browser/ui/reading_list/reading_list_coordinator_unittest.mm b/ios/chrome/browser/ui/reading_list/reading_list_coordinator_unittest.mm index fbe4261..066b6ff8 100644 --- a/ios/chrome/browser/ui/reading_list/reading_list_coordinator_unittest.mm +++ b/ios/chrome/browser/ui/reading_list/reading_list_coordinator_unittest.mm
@@ -11,6 +11,7 @@ #include "components/feature_engagement/public/event_constants.h" #include "components/feature_engagement/public/feature_constants.h" #include "components/feature_engagement/public/tracker.h" +#include "components/feature_engagement/test/mock_tracker.h" #include "components/reading_list/core/reading_list_entry.h" #include "components/reading_list/core/reading_list_model_impl.h" #include "ios/chrome/browser/browser_state/test_chrome_browser_state.h" @@ -99,24 +100,6 @@ @end -#pragma mark - feature_engagement::Tracker -namespace feature_engagement { -namespace { - -class TrackerStub : public feature_engagement::Tracker { - public: - MOCK_METHOD1(NotifyEvent, void(const std::string&)); - MOCK_METHOD1(ShouldTriggerHelpUI, bool(const base::Feature& feature)); - MOCK_METHOD1(GetTriggerState, - Tracker::TriggerState(const base::Feature& feature)); - MOCK_METHOD1(Dismissed, void(const base::Feature& feature)); - MOCK_METHOD0(IsInitialized, bool()); - MOCK_METHOD1(AddOnInitializedCallback, void(OnInitializedCallback callback)); -}; - -} // namespace -} // namespace feature_engagement - #pragma mark - ReadingListCoordinatorTest class ReadingListCoordinatorTest : public web::WebTestWithWebState { @@ -127,7 +110,7 @@ TestChromeBrowserState::Builder builder; builder.AddTestingFactory( feature_engagement::TrackerFactory::GetInstance(), - ReadingListCoordinatorTest::BuildFeatureEngagementTrackerStub); + ReadingListCoordinatorTest::BuildFeatureEngagementMockTracker); browser_state_ = builder.Build(); reading_list_model_.reset(new ReadingListModelImpl( @@ -164,9 +147,9 @@ toolbar:nil]; } - static std::unique_ptr<KeyedService> BuildFeatureEngagementTrackerStub( + static std::unique_ptr<KeyedService> BuildFeatureEngagementMockTracker( web::BrowserState*) { - return base::MakeUnique<feature_engagement::TrackerStub>(); + return base::MakeUnique<feature_engagement::test::MockTracker>(); } private: @@ -263,8 +246,8 @@ TEST_F(ReadingListCoordinatorTest, SendViewedReadingListEventInStart) { // Setup. - feature_engagement::TrackerStub* tracker = - static_cast<feature_engagement::TrackerStub*>( + feature_engagement::test::MockTracker* tracker = + static_cast<feature_engagement::test::MockTracker*>( feature_engagement::TrackerFactory::GetForBrowserState( GetBrowserState()));
diff --git a/ios/chrome/browser/ui/stack_view/stack_view_controller.mm b/ios/chrome/browser/ui/stack_view/stack_view_controller.mm index 1880551..4923d92 100644 --- a/ios/chrome/browser/ui/stack_view/stack_view_controller.mm +++ b/ios/chrome/browser/ui/stack_view/stack_view_controller.mm
@@ -791,8 +791,22 @@ } } [self.view addSubview:_scrollView]; - [_scrollView setAutoresizingMask:(UIViewAutoresizingFlexibleHeight | - UIViewAutoresizingFlexibleWidth)]; + + if (base::FeatureList::IsEnabled(kSafeAreaCompatibleToolbar)) { + [_scrollView setTranslatesAutoresizingMaskIntoConstraints:NO]; + [NSLayoutConstraint activateConstraints:@[ + [_scrollView.topAnchor + constraintEqualToAnchor:[_toolbarController view].bottomAnchor], + [_scrollView.leadingAnchor + constraintEqualToAnchor:self.view.leadingAnchor], + [_scrollView.trailingAnchor + constraintEqualToAnchor:self.view.trailingAnchor], + [_scrollView.bottomAnchor constraintEqualToAnchor:self.view.bottomAnchor] + ]]; + } else { + [_scrollView setAutoresizingMask:(UIViewAutoresizingFlexibleHeight | + UIViewAutoresizingFlexibleWidth)]; + } [_scrollView setBounces:NO]; [_scrollView setScrollsToTop:NO]; [_scrollView setClipsToBounds:NO];
diff --git a/ios/web/web_state/error_translation_util.h b/ios/web/web_state/error_translation_util.h index a766451..b71fbc42 100644 --- a/ios/web/web_state/error_translation_util.h +++ b/ios/web/web_state/error_translation_util.h
@@ -9,14 +9,18 @@ namespace web { -// Translates an iOS-specific error into its net error equivalent and returns -// a copy of |error| with the translation as its final underlying error. The +// Translates an CFNetwork error code to a net error code using |net_error_code| +// as an out-parameter. Returns true if a valid translation was found. +bool GetNetErrorFromIOSErrorCode(NSInteger ios_error_code, int* net_error_code); + +// Translates an iOS-specific error into its net error equivalent and returns a +// copy of |error| with the translation as its final underlying error. The // underlying net error will have an error code of net::ERR_FAILED if no // specific translation of the iOS error is found. NSError* NetErrorFromError(NSError* error); // Same as above but uses |net_error_code| for underlying error. -NSError* NetErrorFromError(NSError* error, NSInteger net_error_code); +NSError* NetErrorFromError(NSError* error, int net_error_code); } // namespace web
diff --git a/ios/web/web_state/error_translation_util.mm b/ios/web/web_state/error_translation_util.mm index 4b07e2b3..f8d2603 100644 --- a/ios/web/web_state/error_translation_util.mm +++ b/ios/web/web_state/error_translation_util.mm
@@ -16,11 +16,8 @@ namespace web { -namespace { -// Translates an iOS error to a net error using |net_error_code| as an -// out-parameter. Returns true if a valid translation was found. bool GetNetErrorFromIOSErrorCode(NSInteger ios_error_code, - NSInteger* net_error_code) { + int* net_error_code) { DCHECK(net_error_code); bool translation_success = true; switch (ios_error_code) { @@ -146,14 +143,13 @@ } return translation_success; } -} // namespace NSError* NetErrorFromError(NSError* error) { DCHECK(error); NSError* underlying_error = base::ios::GetFinalUnderlyingErrorFromError(error); - NSInteger net_error_code = net::ERR_FAILED; + int net_error_code = net::ERR_FAILED; if ([underlying_error.domain isEqualToString:NSURLErrorDomain] || [underlying_error.domain isEqualToString:static_cast<NSString*>(kCFErrorDomainCFNetwork)]) { @@ -164,13 +160,14 @@ return NetErrorFromError(error, net_error_code); } -NSError* NetErrorFromError(NSError* error, NSInteger net_error_code) { +NSError* NetErrorFromError(NSError* error, int net_error_code) { DCHECK(error); NSString* net_error_domain = [NSString stringWithUTF8String:net::kErrorDomain]; - NSError* net_error = [NSError errorWithDomain:net_error_domain - code:net_error_code - userInfo:nil]; + NSError* net_error = + [NSError errorWithDomain:net_error_domain + code:static_cast<NSInteger>(net_error_code) + userInfo:nil]; return base::ios::ErrorWithAppendedUnderlyingError(error, net_error); }
diff --git a/ios/web/web_state/error_translation_util_unittest.mm b/ios/web/web_state/error_translation_util_unittest.mm index aa0e019bd..77bf2bc 100644 --- a/ios/web/web_state/error_translation_util_unittest.mm +++ b/ios/web/web_state/error_translation_util_unittest.mm
@@ -17,6 +17,8 @@ #error "This file requires ARC support." #endif +namespace web { + // Test fixture for error translation testing. typedef PlatformTest ErrorTranslationUtilTest; @@ -27,10 +29,20 @@ } } // namespcae +// Tests translation of CFNetwork error code to net error code. +TEST_F(ErrorTranslationUtilTest, ErrorCodeTranslation) { + int net_error_code = 0; + EXPECT_TRUE(GetNetErrorFromIOSErrorCode(kCFURLErrorUnknown, &net_error_code)); + EXPECT_EQ(net::ERR_FAILED, net_error_code); + + EXPECT_FALSE(GetNetErrorFromIOSErrorCode(kCFSOCKSErrorUnknownClientVersion, + &net_error_code)); +} + // Tests translation of an error with empty domain and no underlying error. TEST_F(ErrorTranslationUtilTest, MalformedError) { NSError* error = [[NSError alloc] initWithDomain:@"" code:0 userInfo:nil]; - NSError* net_error = web::NetErrorFromError(error); + NSError* net_error = NetErrorFromError(error); // Top level error should be the same as the original error. EXPECT_TRUE(net_error); @@ -51,7 +63,7 @@ initWithDomain:base::mac::CFToNSCast(kCFErrorDomainCFNetwork) code:kCFURLErrorUnknown userInfo:nil]; - NSError* net_error = web::NetErrorFromError(error); + NSError* net_error = NetErrorFromError(error); // Top level error should be the same as the original error. EXPECT_TRUE(net_error); @@ -79,7 +91,7 @@ userInfo:@{ NSUnderlyingErrorKey : underlying_error, }]; - NSError* net_error = web::NetErrorFromError(error); + NSError* net_error = NetErrorFromError(error); // Top level error should be the same as the original error. EXPECT_TRUE(net_error); @@ -114,7 +126,7 @@ userInfo:@{ NSUnderlyingErrorKey : underlying_error, }]; - NSError* net_error = web::NetErrorFromError(error, net::ERR_CONNECTION_RESET); + NSError* net_error = NetErrorFromError(error, net::ERR_CONNECTION_RESET); // Top level error should be the same as the original error. EXPECT_TRUE(net_error); @@ -134,3 +146,5 @@ EXPECT_NSEQ(GetNetErrorDomain(), [final_net_underlying_error domain]); EXPECT_EQ(net::ERR_CONNECTION_RESET, [final_net_underlying_error code]); } + +} // namespace web
diff --git a/media/audio/audio_output_controller.h b/media/audio/audio_output_controller.h index f8d849d5..d8082ed 100644 --- a/media/audio/audio_output_controller.h +++ b/media/audio/audio_output_controller.h
@@ -124,7 +124,7 @@ // Indicates whether audio power level analysis will be performed. If false, // ReadCurrentPowerAndClip() can not be called. static bool will_monitor_audio_levels() { -#if defined(OS_IOS) +#if defined(OS_ANDROID) || defined(OS_IOS) return false; #else return true;
diff --git a/mojo/public/cpp/bindings/lib/map_data_internal.h b/mojo/public/cpp/bindings/lib/map_data_internal.h index 4809d08b..217904fd 100644 --- a/mojo/public/cpp/bindings/lib/map_data_internal.h +++ b/mojo/public/cpp/bindings/lib/map_data_internal.h
@@ -62,16 +62,13 @@ return false; } - if (!ValidatePointerNonNullable( - object->keys, "null key array in map struct", validation_context) || + if (!ValidatePointerNonNullable(object->keys, 0, validation_context) || !ValidateContainer(object->keys, validation_context, validate_params->key_validate_params)) { return false; } - if (!ValidatePointerNonNullable(object->values, - "null value array in map struct", - validation_context) || + if (!ValidatePointerNonNullable(object->values, 1, validation_context) || !ValidateContainer(object->values, validation_context, validate_params->element_validate_params)) { return false;
diff --git a/mojo/public/cpp/bindings/lib/message_header_validator.cc b/mojo/public/cpp/bindings/lib/message_header_validator.cc index f7fbb996..e326762 100644 --- a/mojo/public/cpp/bindings/lib/message_header_validator.cc +++ b/mojo/public/cpp/bindings/lib/message_header_validator.cc
@@ -73,8 +73,7 @@ // payload size). // - Validation of the payload contents will be done separately based on the // payload type. - if (!internal::ValidatePointerNonNullable(header_v2->payload, - "null payload in message header", + if (!internal::ValidatePointerNonNullable(header_v2->payload, 0, validation_context) || !internal::ValidatePointer(header_v2->payload, validation_context) || !validation_context->ClaimMemory(header_v2->payload.Get(), 1)) {
diff --git a/mojo/public/cpp/bindings/lib/validation_util.cc b/mojo/public/cpp/bindings/lib/validation_util.cc index 7614df5..b657da3 100644 --- a/mojo/public/cpp/bindings/lib/validation_util.cc +++ b/mojo/public/cpp/bindings/lib/validation_util.cc
@@ -8,6 +8,7 @@ #include <limits> +#include "base/strings/stringprintf.h" #include "mojo/public/cpp/bindings/lib/message_internal.h" #include "mojo/public/cpp/bindings/lib/serialization_util.h" #include "mojo/public/cpp/bindings/lib/validation_errors.h" @@ -16,6 +17,17 @@ namespace mojo { namespace internal { +void ReportNonNullableValidationError(ValidationContext* validation_context, + ValidationError error, + int field_index) { + const char* null_or_invalid = + error == VALIDATION_ERROR_UNEXPECTED_NULL_POINTER ? "null" : "invalid"; + + std::string error_message = + base::StringPrintf("%s field %d", null_or_invalid, field_index); + ReportValidationError(validation_context, error, error_message.c_str()); +} + bool ValidateStructHeaderAndClaimMemory(const void* data, ValidationContext* validation_context) { if (!IsAligned(data)) { @@ -118,53 +130,53 @@ bool ValidateHandleOrInterfaceNonNullable( const AssociatedInterface_Data& input, - const char* error_message, + int field_index, ValidationContext* validation_context) { if (IsHandleOrInterfaceValid(input)) return true; - ReportValidationError(validation_context, - VALIDATION_ERROR_UNEXPECTED_INVALID_INTERFACE_ID, - error_message); + ReportNonNullableValidationError( + validation_context, VALIDATION_ERROR_UNEXPECTED_INVALID_INTERFACE_ID, + field_index); return false; } bool ValidateHandleOrInterfaceNonNullable( const AssociatedEndpointHandle_Data& input, - const char* error_message, + int field_index, ValidationContext* validation_context) { if (IsHandleOrInterfaceValid(input)) return true; - ReportValidationError(validation_context, - VALIDATION_ERROR_UNEXPECTED_INVALID_INTERFACE_ID, - error_message); + ReportNonNullableValidationError( + validation_context, VALIDATION_ERROR_UNEXPECTED_INVALID_INTERFACE_ID, + field_index); return false; } bool ValidateHandleOrInterfaceNonNullable( const Interface_Data& input, - const char* error_message, + int field_index, ValidationContext* validation_context) { if (IsHandleOrInterfaceValid(input)) return true; - ReportValidationError(validation_context, - VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE, - error_message); + ReportNonNullableValidationError(validation_context, + VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE, + field_index); return false; } bool ValidateHandleOrInterfaceNonNullable( const Handle_Data& input, - const char* error_message, + int field_index, ValidationContext* validation_context) { if (IsHandleOrInterfaceValid(input)) return true; - ReportValidationError(validation_context, - VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE, - error_message); + ReportNonNullableValidationError(validation_context, + VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE, + field_index); return false; }
diff --git a/mojo/public/cpp/bindings/lib/validation_util.h b/mojo/public/cpp/bindings/lib/validation_util.h index ea5a9916..59a3be43 100644 --- a/mojo/public/cpp/bindings/lib/validation_util.h +++ b/mojo/public/cpp/bindings/lib/validation_util.h
@@ -18,6 +18,12 @@ namespace mojo { namespace internal { +// Calls ReportValidationError() with a constructed error string. +MOJO_CPP_BINDINGS_EXPORT void ReportNonNullableValidationError( + ValidationContext* validation_context, + ValidationError error, + int field_index); + // Checks whether decoding the pointer will overflow and produce a pointer // smaller than |offset|. inline bool ValidateEncodedPointer(const uint64_t* offset) { @@ -85,27 +91,25 @@ // |input| is not null/invalid. template <typename T> bool ValidatePointerNonNullable(const T& input, - const char* error_message, + int field_index, ValidationContext* validation_context) { if (input.offset) return true; - - ReportValidationError(validation_context, - VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, - error_message); + ReportNonNullableValidationError(validation_context, + VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, + field_index); return false; } template <typename T> bool ValidateInlinedUnionNonNullable(const T& input, - const char* error_message, + int field_index, ValidationContext* validation_context) { if (!input.is_null()) return true; - - ReportValidationError(validation_context, - VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, - error_message); + ReportNonNullableValidationError(validation_context, + VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, + field_index); return false; } @@ -120,19 +124,19 @@ MOJO_CPP_BINDINGS_EXPORT bool ValidateHandleOrInterfaceNonNullable( const AssociatedInterface_Data& input, - const char* error_message, + int field_index, ValidationContext* validation_context); MOJO_CPP_BINDINGS_EXPORT bool ValidateHandleOrInterfaceNonNullable( const AssociatedEndpointHandle_Data& input, - const char* error_message, + int field_index, ValidationContext* validation_context); MOJO_CPP_BINDINGS_EXPORT bool ValidateHandleOrInterfaceNonNullable( const Interface_Data& input, - const char* error_message, + int field_index, ValidationContext* validation_context); MOJO_CPP_BINDINGS_EXPORT bool ValidateHandleOrInterfaceNonNullable( const Handle_Data& input, - const char* error_message, + int field_index, ValidationContext* validation_context); template <typename T>
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl index 9c1eae8..1638962 100644 --- a/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl +++ b/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl
@@ -61,7 +61,7 @@ return true; {%- endif %} {%- set field_expr = "object->" ~ packed_field.field.name %} -{{validation_macros.validate_field(packed_field.field, field_expr, struct.name, true)}} +{{validation_macros.validate_field(packed_field.field, loop.index, field_expr, struct.name, true)}} {%- endif %} {%- endfor %}
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/union_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/union_definition.tmpl index af5ea9f8..feff229 100644 --- a/mojo/public/tools/bindings/generators/cpp_templates/union_definition.tmpl +++ b/mojo/public/tools/bindings/generators/cpp_templates/union_definition.tmpl
@@ -32,7 +32,7 @@ {% for field in union.fields %} case {{enum_name}}::{{field.name|upper}}: { {%- set field_expr = "object->data.f_" ~ field.name %} -{{validation_macros.validate_field(field, field_expr, union.name, false)|indent(4)}} +{{validation_macros.validate_field(field, loop.index, field_expr, union.name, false)|indent(4)}} return true; } {%- endfor %}
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/validation_macros.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/validation_macros.tmpl index a50a585c..457f2f99 100644 --- a/mojo/public/tools/bindings/generators/cpp_templates/validation_macros.tmpl +++ b/mojo/public/tools/bindings/generators/cpp_templates/validation_macros.tmpl
@@ -2,20 +2,18 @@ (struct/array/string/map/union). If it is a union, |union_is_inlined| indicates whether the union is inlined. (Nested unions are not inlined.) This macro is expanded by the Validate() method. #} -{%- macro validate_object(field, field_expr, object_name, union_is_inlined) %} +{%- macro validate_object(field, field_index, field_expr, union_is_inlined) %} {%- set name = field.name %} {%- set kind = field.kind %} {%- if not kind|is_nullable_kind %} {%- if kind|is_union_kind and union_is_inlined %} if (!mojo::internal::ValidateInlinedUnionNonNullable( - {{field_expr}}, "null {{name}} field in {{object_name}}", - validation_context)) { + {{field_expr}}, {{field_index}}, validation_context)) { return false; } {%- else %} if (!mojo::internal::ValidatePointerNonNullable( - {{field_expr}}, "null {{name}} field in {{object_name}}", - validation_context)) { + {{field_expr}}, {{field_index}}, validation_context)) { return false; } {%- endif %} @@ -47,13 +45,12 @@ {#- Validates the specified field, which is supposed to be a handle, an interface, an associated interface or an associated interface request. This macro is expanded by the Validate() method. #} -{%- macro validate_handle_or_interface(field, field_expr, object_name) %} +{%- macro validate_handle_or_interface(field, field_index, field_expr, object_name) %} {%- set name = field.name %} {%- set kind = field.kind %} {%- if not kind|is_nullable_kind %} if (!mojo::internal::ValidateHandleOrInterfaceNonNullable( - {{field_expr}}, - "invalid {{name}} field in {{object_name}}", validation_context)) { + {{field_expr}}, {{field_index}}, validation_context)) { return false; } {%- endif %} @@ -71,11 +68,11 @@ return false; {%- endmacro %} -{%- macro validate_field(field, field_expr, object_name, union_is_inlined) %} +{%- macro validate_field(field, field_index, field_expr, object_name, union_is_inlined) %} {%- if field.kind|is_object_kind -%} -{{validate_object(field, field_expr, object_name, union_is_inlined)}} +{{validate_object(field, field_index, field_expr, union_is_inlined)}} {%- elif field.kind|is_any_handle_or_interface_kind -%} -{{validate_handle_or_interface(field, field_expr, object_name)}} +{{validate_handle_or_interface(field, field_index, field_expr, object_name)}} {%- elif field.kind|is_enum_kind %} {{validate_enum(field, field_expr)}} {%- endif %}
diff --git a/net/BUILD.gn b/net/BUILD.gn index e4101cd..5962d19 100644 --- a/net/BUILD.gn +++ b/net/BUILD.gn
@@ -40,13 +40,6 @@ # Unix sockets are not supported on iOS, Fuchsia or NaCl. enable_unix_sockets = is_posix && !is_ios && !is_fuchsia && !is_nacl -# True if certificates are represented with DER byte buffers. This can be true -# in addition to use_nss_certs, in that case byte certs are used internally but -# NSS is used for certificate verification. -# TODO(mattm): crbug.com/671420: Implement and enable this for all platforms. -use_byte_certs = is_mac || is_android || is_nacl || is_ios || is_win || - is_fuchsia || is_linux - # Android and Fuchsia can't run testserver.py directly, so they use remote # test server. use_remote_test_server = is_android || is_fuchsia @@ -63,7 +56,6 @@ "ENABLE_MDNS=$enable_mdns", "ENABLE_REPORTING=$enable_reporting", "ENABLE_WEBSOCKETS=$enable_websockets", - "USE_BYTE_CERTS=$use_byte_certs", "INCLUDE_TRANSPORT_SECURITY_STATE_PRELOAD_LIST=$include_transport_security_state_preload_list", ] } @@ -604,7 +596,6 @@ "cert/test_root_certs_nss.cc", "cert/test_root_certs_win.cc", "cert/x509_certificate_known_roots_win.h", - "cert/x509_certificate_nss.cc", "cert/x509_util_android.cc", "cert/x509_util_ios.cc", "cert/x509_util_ios.h", @@ -1820,14 +1811,6 @@ ] } - if (use_byte_certs) { - if (use_nss_certs) { - sources -= [ "cert/x509_certificate_nss.cc" ] - } - } else { - sources -= [ "cert/x509_certificate_bytes.cc" ] - } - if (!use_kerberos || is_android) { sources -= [ "http/http_auth_gssapi_posix.cc", @@ -1863,7 +1846,6 @@ "cert/known_roots_nss.h", "cert/nss_cert_database.cc", "cert/nss_cert_database.h", - "cert/x509_certificate_nss.cc", "ssl/client_cert_store_nss.cc", "ssl/client_cert_store_nss.h", "third_party/mozilla_security_manager/nsNSSCertificateDB.cpp",
diff --git a/net/cert/cert_verify_proc_unittest.cc b/net/cert/cert_verify_proc_unittest.cc index 2ac2e4d..f371a3f 100644 --- a/net/cert/cert_verify_proc_unittest.cc +++ b/net/cert/cert_verify_proc_unittest.cc
@@ -474,7 +474,6 @@ // TODO(crbug.com/649017): What expectations to use for the other verifiers? } -#if BUILDFLAG(USE_BYTE_CERTS) // Tests the case where the target certificate is accepted by // X509CertificateBytes, but has errors that should cause verification to fail. TEST_P(CertVerifyProcInternalTest, InvalidTarget) { @@ -536,7 +535,6 @@ EXPECT_THAT(error, IsOk()); EXPECT_EQ(0u, verify_result.cert_status); } -#endif // BUILDFLAG(USE_BYTE_CERTS) // A regression test for http://crbug.com/31497. TEST_P(CertVerifyProcInternalTest, IntermediateCARequireExplicitPolicy) {
diff --git a/net/cert/x509_cert_types.cc b/net/cert/x509_cert_types.cc index 78450fd2..4c31915 100644 --- a/net/cert/x509_cert_types.cc +++ b/net/cert/x509_cert_types.cc
@@ -11,12 +11,9 @@ #include "base/strings/string_piece.h" #include "base/time/time.h" #include "net/base/parse_number.h" -#include "net/cert/x509_certificate.h" - -#if BUILDFLAG(USE_BYTE_CERTS) #include "net/cert/internal/parse_name.h" +#include "net/cert/x509_certificate.h" #include "net/der/input.h" -#endif namespace net { @@ -44,7 +41,6 @@ CertPrincipal::~CertPrincipal() { } -#if BUILDFLAG(USE_BYTE_CERTS) bool CertPrincipal::ParseDistinguishedName( const void* ber_name_data, size_t length, @@ -110,7 +106,6 @@ } return true; } -#endif std::string CertPrincipal::GetDisplayName() const { if (!common_name.empty())
diff --git a/net/cert/x509_cert_types.h b/net/cert/x509_cert_types.h index defc89d..9408082 100644 --- a/net/cert/x509_cert_types.h +++ b/net/cert/x509_cert_types.h
@@ -19,7 +19,6 @@ #include "net/base/hash_value.h" #include "net/base/net_export.h" #include "net/cert/cert_status_flags.h" -#include "net/net_features.h" #if defined(OS_MACOSX) && !defined(OS_IOS) #include <Security/x509defs.h> @@ -37,7 +36,6 @@ explicit CertPrincipal(const std::string& name); ~CertPrincipal(); -#if BUILDFLAG(USE_BYTE_CERTS) // Configures handling of PrintableString values in the DistinguishedName. Do // not use non-default handling without consulting //net owners. With // kAsUTF8Hack, PrintableStrings are interpreted as UTF-8 strings. @@ -50,7 +48,6 @@ size_t length, PrintableStringHandling printable_string_handling = PrintableStringHandling::kDefault); -#endif // Returns a name that can be used to represent the issuer. It tries in this // order: CN, O and OU and returns the first non-empty one found.
diff --git a/net/cert/x509_cert_types_unittest.cc b/net/cert/x509_cert_types_unittest.cc index add3cd9..43db271 100644 --- a/net/cert/x509_cert_types_unittest.cc +++ b/net/cert/x509_cert_types_unittest.cc
@@ -14,7 +14,6 @@ namespace { -#if BUILDFLAG(USE_BYTE_CERTS) TEST(X509TypesTest, ParseDNVerisign) { CertPrincipal verisign; EXPECT_TRUE(verisign.ParseDistinguishedName(VerisignDN, sizeof(VerisignDN))); @@ -102,7 +101,6 @@ EXPECT_EQ("(c) 1999 Entrust.net Limited", entrust.organization_unit_names[1]); } -#endif const struct CertDateTestData { CertDateFormat format;
diff --git a/net/cert/x509_certificate.h b/net/cert/x509_certificate.h index e31ebad..9502f65 100644 --- a/net/cert/x509_certificate.h +++ b/net/cert/x509_certificate.h
@@ -18,14 +18,7 @@ #include "base/time/time.h" #include "net/base/net_export.h" #include "net/cert/x509_cert_types.h" -#include "net/net_features.h" - -#if BUILDFLAG(USE_BYTE_CERTS) #include "third_party/boringssl/src/include/openssl/base.h" -#elif defined(USE_NSS_CERTS) -// Forward declaration; real one in <cert.h> -struct CERTCertificateStr; -#endif namespace base { class Pickle; @@ -48,16 +41,9 @@ // An OSCertHandle is a handle to a certificate object in the underlying // crypto library. We assume that OSCertHandle is a pointer type on all // platforms and that NULL represents an invalid OSCertHandle. -#if BUILDFLAG(USE_BYTE_CERTS) // TODO(mattm): Remove OSCertHandle type and clean up the interfaces once all // platforms use the CRYPTO_BUFFER version. typedef CRYPTO_BUFFER* OSCertHandle; -#elif defined(USE_NSS_CERTS) - typedef struct CERTCertificateStr* OSCertHandle; -#else - // TODO(ericroman): not implemented - typedef void* OSCertHandle; -#endif typedef std::vector<OSCertHandle> OSCertHandles;
diff --git a/net/cert/x509_certificate_nss.cc b/net/cert/x509_certificate_nss.cc deleted file mode 100644 index 7eef7627..0000000 --- a/net/cert/x509_certificate_nss.cc +++ /dev/null
@@ -1,442 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include <cert.h> -#include <cryptohi.h> -#include <keyhi.h> -#include <nss.h> -#include <pk11pub.h> -#include <prtime.h> -#include <seccomon.h> -#include <secder.h> -#include <sechash.h> - -#include <memory> - -#include "base/logging.h" -#include "base/numerics/safe_conversions.h" -#include "base/pickle.h" -#include "base/strings/stringprintf.h" -#include "base/time/time.h" -#include "crypto/nss_util.h" -#include "crypto/scoped_nss_types.h" -#include "net/cert/x509_certificate.h" -#include "net/cert/x509_util_nss.h" - -namespace net { - -namespace { - -// Callback for CERT_DecodeCertPackage(), used in -// CreateOSCertHandlesFromBytes(). -SECStatus PR_CALLBACK CollectCertsCallback(void* arg, - SECItem** certs, - int num_certs) { - X509Certificate::OSCertHandles* results = - reinterpret_cast<X509Certificate::OSCertHandles*>(arg); - - for (int i = 0; i < num_certs; ++i) { - X509Certificate::OSCertHandle handle = - X509Certificate::CreateOSCertHandleFromBytes( - reinterpret_cast<char*>(certs[i]->data), certs[i]->len); - if (handle) - results->push_back(handle); - } - - return SECSuccess; -} - -// Parses the Principal attribute from |name| and outputs the result in -// |principal|. Returns true on success. -bool ParsePrincipal(CERTName* name, CertPrincipal* principal) { - typedef char* (*CERTGetNameFunc)(const CERTName* name); - - // TODO(jcampan): add business_category and serial_number. - // TODO(wtc): NSS has the CERT_GetOrgName, CERT_GetOrgUnitName, and - // CERT_GetDomainComponentName functions, but they return only the most - // general (the first) RDN. NSS doesn't have a function for the street - // address. - static const SECOidTag kOIDs[] = { - SEC_OID_AVA_STREET_ADDRESS, SEC_OID_AVA_ORGANIZATION_NAME, - SEC_OID_AVA_ORGANIZATIONAL_UNIT_NAME, SEC_OID_AVA_DC}; - - std::vector<std::string>* values[] = { - &principal->street_addresses, &principal->organization_names, - &principal->organization_unit_names, &principal->domain_components}; - DCHECK_EQ(arraysize(kOIDs), arraysize(values)); - - CERTRDN** rdns = name->rdns; - for (size_t rdn = 0; rdns[rdn]; ++rdn) { - CERTAVA** avas = rdns[rdn]->avas; - for (size_t pair = 0; avas[pair] != 0; ++pair) { - SECOidTag tag = CERT_GetAVATag(avas[pair]); - for (size_t oid = 0; oid < arraysize(kOIDs); ++oid) { - if (kOIDs[oid] == tag) { - SECItem* decode_item = CERT_DecodeAVAValue(&avas[pair]->value); - if (!decode_item) - return false; - // TODO(wtc): Pass decode_item to CERT_RFC1485_EscapeAndQuote. - std::string value(reinterpret_cast<char*>(decode_item->data), - decode_item->len); - values[oid]->push_back(value); - SECITEM_FreeItem(decode_item, PR_TRUE); - break; - } - } - } - } - - // Get CN, L, S, and C. - CERTGetNameFunc get_name_funcs[4] = {CERT_GetCommonName, CERT_GetLocalityName, - CERT_GetStateName, CERT_GetCountryName}; - std::string* single_values[4] = { - &principal->common_name, &principal->locality_name, - &principal->state_or_province_name, &principal->country_name}; - for (size_t i = 0; i < arraysize(get_name_funcs); ++i) { - char* value = get_name_funcs[i](name); - if (value) { - single_values[i]->assign(value); - PORT_Free(value); - } - } - - return true; -} - -// Parses the date from |der_date| and outputs the result in |result|. -// Returns true on success. -bool ParseDate(const SECItem* der_date, base::Time* result) { - PRTime prtime; - SECStatus rv = DER_DecodeTimeChoice(&prtime, der_date); - if (rv != SECSuccess) - return false; - *result = crypto::PRTimeToBaseTime(prtime); - return true; -} - -// Parses the serial number from |certificate|. -std::string ParseSerialNumber(const CERTCertificate* certificate) { - return std::string(reinterpret_cast<char*>(certificate->serialNumber.data), - certificate->serialNumber.len); -} - -typedef std::unique_ptr<CERTName, - crypto::NSSDestroyer<CERTName, CERT_DestroyName>> - ScopedCERTName; - -// Create a new CERTName object from its encoded representation. -// |arena| is the allocation pool to use. -// |data| points to a DER-encoded X.509 DistinguishedName. -// Return a new CERTName pointer on success, or NULL. -CERTName* CreateCertNameFromEncoded(PLArenaPool* arena, - const base::StringPiece& data) { - if (!arena) - return NULL; - - ScopedCERTName name(PORT_ArenaZNew(arena, CERTName)); - if (!name.get()) - return NULL; - - SECItem item; - item.len = static_cast<unsigned int>(data.length()); - item.data = reinterpret_cast<unsigned char*>(const_cast<char*>(data.data())); - - SECStatus rv = SEC_ASN1DecodeItem(arena, name.get(), - SEC_ASN1_GET(CERT_NameTemplate), &item); - if (rv != SECSuccess) - return NULL; - - return name.release(); -} - -// Create a list of CERTName objects from a list of DER-encoded X.509 -// DistinguishedName items. All objects are created in a given arena. -// |encoded_issuers| is the list of encoded DNs. -// |arena| is the arena used for all allocations. -// |out| will receive the result list on success. -// Return true on success. On failure, the caller must free the -// intermediate CERTName objects pushed to |out|. -bool GetIssuersFromEncodedList(const std::vector<std::string>& encoded_issuers, - PLArenaPool* arena, - std::vector<CERTName*>* out) { - std::vector<CERTName*> result; - for (size_t n = 0; n < encoded_issuers.size(); ++n) { - CERTName* name = CreateCertNameFromEncoded(arena, encoded_issuers[n]); - if (name != NULL) - result.push_back(name); - } - - if (result.size() == encoded_issuers.size()) { - out->swap(result); - return true; - } - - for (size_t n = 0; n < result.size(); ++n) - CERT_DestroyName(result[n]); - return false; -} - -// Returns true iff a certificate is issued by any of the issuers listed -// by name in |valid_issuers|. -// |cert_chain| is the certificate's chain. -// |valid_issuers| is a list of strings, where each string contains -// a DER-encoded X.509 Distinguished Name. -bool IsCertificateIssuedBy(const std::vector<CERTCertificate*>& cert_chain, - const std::vector<CERTName*>& valid_issuers) { - for (size_t n = 0; n < cert_chain.size(); ++n) { - CERTName* cert_issuer = &cert_chain[n]->issuer; - for (size_t i = 0; i < valid_issuers.size(); ++i) { - if (CERT_CompareName(valid_issuers[i], cert_issuer) == SECEqual) - return true; - } - } - return false; -} - -} // namespace - -bool X509Certificate::Initialize(UnsafeCreateOptions) { - serial_number_ = ParseSerialNumber(cert_handle_); - - return (!serial_number_.empty() && - ParsePrincipal(&cert_handle_->subject, &subject_) && - ParsePrincipal(&cert_handle_->issuer, &issuer_) && - ParseDate(&cert_handle_->validity.notBefore, &valid_start_) && - ParseDate(&cert_handle_->validity.notAfter, &valid_expiry_)); -} - -bool X509Certificate::GetSubjectAltName( - std::vector<std::string>* dns_names, - std::vector<std::string>* ip_addrs) const { - if (dns_names) - dns_names->clear(); - if (ip_addrs) - ip_addrs->clear(); - - SECItem alt_name; - SECStatus rv = CERT_FindCertExtension( - cert_handle_, SEC_OID_X509_SUBJECT_ALT_NAME, &alt_name); - if (rv != SECSuccess) - return false; - - crypto::ScopedPLArenaPool arena(PORT_NewArena(DER_DEFAULT_CHUNKSIZE)); - - CERTGeneralName* alt_name_list; - alt_name_list = CERT_DecodeAltNameExtension(arena.get(), &alt_name); - SECITEM_FreeItem(&alt_name, PR_FALSE); - - bool has_san = false; - CERTGeneralName* name = alt_name_list; - while (name) { - // DNSName and IPAddress are encoded as IA5String and OCTET STRINGs - // respectively, both of which can be byte copied from - // SECItemType::data into the appropriate output vector. - if (name->type == certDNSName) { - has_san = true; - if (dns_names) { - dns_names->push_back( - std::string(reinterpret_cast<char*>(name->name.other.data), - name->name.other.len)); - } - } else if (name->type == certIPAddress) { - has_san = true; - if (ip_addrs) { - ip_addrs->push_back( - std::string(reinterpret_cast<char*>(name->name.other.data), - name->name.other.len)); - } - } - // Fast path: Found at least one subjectAltName and the caller doesn't - // need the actual values. - if (has_san && !ip_addrs && !dns_names) - return true; - - name = CERT_GetNextGeneralName(name); - if (name == alt_name_list) - break; - } - return has_san; -} - -bool X509Certificate::IsIssuedByEncoded( - const std::vector<std::string>& valid_issuers) { - // Get certificate chain as scoped list of CERTCertificate objects. - std::vector<CERTCertificate*> cert_chain; - cert_chain.push_back(cert_handle_); - for (size_t n = 0; n < intermediate_ca_certs_.size(); ++n) { - cert_chain.push_back(intermediate_ca_certs_[n]); - } - // Convert encoded issuers to scoped CERTName* list. - std::vector<CERTName*> issuers; - crypto::ScopedPLArenaPool arena(PORT_NewArena(DER_DEFAULT_CHUNKSIZE)); - if (!GetIssuersFromEncodedList(valid_issuers, arena.get(), &issuers)) { - return false; - } - return IsCertificateIssuedBy(cert_chain, issuers); -} - -// static -bool X509Certificate::GetDEREncoded(X509Certificate::OSCertHandle cert_handle, - std::string* encoded) { - return x509_util::GetDEREncoded(cert_handle, encoded); -} - -// static -bool X509Certificate::IsSameOSCert(X509Certificate::OSCertHandle a, - X509Certificate::OSCertHandle b) { - return x509_util::IsSameCertificate(a, b); -} - -// static -X509Certificate::OSCertHandle X509Certificate::CreateOSCertHandleFromBytes( - const char* data, - size_t length) { - return x509_util::CreateCERTCertificateFromBytes( - reinterpret_cast<const uint8_t*>(data), length) - .release(); -} - -// static -X509Certificate::OSCertHandles X509Certificate::CreateOSCertHandlesFromBytes( - const char* data, - size_t length, - Format format) { - X509Certificate::OSCertHandles results; - - crypto::EnsureNSSInit(); - - if (!NSS_IsInitialized()) - return results; - - switch (format) { - case X509Certificate::FORMAT_SINGLE_CERTIFICATE: { - X509Certificate::OSCertHandle handle = - X509Certificate::CreateOSCertHandleFromBytes(data, length); - if (handle) - results.push_back(handle); - break; - } - case X509Certificate::FORMAT_PKCS7: { - // Make a copy since CERT_DecodeCertPackage may modify it - std::vector<char> data_copy(data, data + length); - - SECStatus result = CERT_DecodeCertPackage( - data_copy.data(), base::checked_cast<int>(data_copy.size()), - CollectCertsCallback, &results); - if (result != SECSuccess) - results.clear(); - break; - } - default: - NOTREACHED() << "Certificate format " << format << " unimplemented"; - break; - } - - return results; -} - -// static -X509Certificate::OSCertHandle X509Certificate::DupOSCertHandle( - OSCertHandle cert_handle) { - return CERT_DupCertificate(cert_handle); -} - -// static -void X509Certificate::FreeOSCertHandle(OSCertHandle cert_handle) { - CERT_DestroyCertificate(cert_handle); -} - -// static -SHA256HashValue X509Certificate::CalculateFingerprint256(OSCertHandle cert) { - return x509_util::CalculateFingerprint256(cert); -} - -// static -SHA256HashValue X509Certificate::CalculateCAFingerprint256( - const OSCertHandles& intermediates) { - SHA256HashValue sha256; - memset(sha256.data, 0, sizeof(sha256.data)); - - HASHContext* sha256_ctx = HASH_Create(HASH_AlgSHA256); - if (!sha256_ctx) - return sha256; - HASH_Begin(sha256_ctx); - for (size_t i = 0; i < intermediates.size(); ++i) { - CERTCertificate* ca_cert = intermediates[i]; - HASH_Update(sha256_ctx, ca_cert->derCert.data, ca_cert->derCert.len); - } - unsigned int result_len; - HASH_End(sha256_ctx, sha256.data, &result_len, - HASH_ResultLenContext(sha256_ctx)); - HASH_Destroy(sha256_ctx); - - return sha256; -} - -// static -X509Certificate::OSCertHandle X509Certificate::ReadOSCertHandleFromPickle( - base::PickleIterator* pickle_iter) { - const char* data; - int length; - if (!pickle_iter->ReadData(&data, &length)) - return NULL; - - return CreateOSCertHandleFromBytes(data, length); -} - -// static -void X509Certificate::WriteOSCertHandleToPickle(OSCertHandle cert_handle, - base::Pickle* pickle) { - pickle->WriteData(reinterpret_cast<const char*>(cert_handle->derCert.data), - cert_handle->derCert.len); -} - -// static -void X509Certificate::GetPublicKeyInfo(OSCertHandle cert_handle, - size_t* size_bits, - PublicKeyType* type) { - // Since we might fail, set the output parameters to default values first. - *type = X509Certificate::kPublicKeyTypeUnknown; - *size_bits = 0; - - crypto::ScopedSECKEYPublicKey key(CERT_ExtractPublicKey(cert_handle)); - if (!key.get()) - return; - - *size_bits = SECKEY_PublicKeyStrengthInBits(key.get()); - - switch (key->keyType) { - case rsaKey: - *type = X509Certificate::kPublicKeyTypeRSA; - break; - case dsaKey: - *type = X509Certificate::kPublicKeyTypeDSA; - break; - case dhKey: - *type = X509Certificate::kPublicKeyTypeDH; - break; - case ecKey: - *type = X509Certificate::kPublicKeyTypeECDSA; - break; - default: - *type = X509Certificate::kPublicKeyTypeUnknown; - *size_bits = 0; - break; - } -} - -// static -bool X509Certificate::IsSelfSigned(OSCertHandle cert_handle) { - crypto::ScopedSECKEYPublicKey public_key(CERT_ExtractPublicKey(cert_handle)); - if (!public_key.get()) - return false; - if (SECSuccess != CERT_VerifySignedDataWithPublicKey( - &cert_handle->signatureWrap, public_key.get(), NULL)) { - return false; - } - return CERT_CompareName(&cert_handle->subject, &cert_handle->issuer) == - SECEqual; -} - -} // namespace net
diff --git a/net/cert/x509_certificate_unittest.cc b/net/cert/x509_certificate_unittest.cc index 459da309..6ae425c3 100644 --- a/net/cert/x509_certificate_unittest.cc +++ b/net/cert/x509_certificate_unittest.cc
@@ -265,7 +265,6 @@ EXPECT_EQ(0U, subject.domain_components.size()); } -#if BUILDFLAG(USE_BYTE_CERTS) TEST(X509CertificateTest, InvalidPrintableStringIsUtf8) { base::FilePath certs_dir = GetTestNetDataDirectory().AppendASCII("parse_certificate_unittest"); @@ -296,7 +295,6 @@ const CertPrincipal& subject = cert->subject(); EXPECT_EQ("Foo@#_ Clïênt Cërt", subject.common_name); } -#endif TEST(X509CertificateTest, TeletexStringIsLatin1) { base::FilePath certs_dir =
diff --git a/net/cert/x509_util.cc b/net/cert/x509_util.cc index 74f7bf3..6963ed4 100644 --- a/net/cert/x509_util.cc +++ b/net/cert/x509_util.cc
@@ -400,24 +400,11 @@ return nullptr; } -#if BUILDFLAG(USE_BYTE_CERTS) std::vector<CRYPTO_BUFFER*> intermediate_chain; for (size_t i = 1; i < sk_CRYPTO_BUFFER_num(buffers); ++i) intermediate_chain.push_back(sk_CRYPTO_BUFFER_value(buffers, i)); return X509Certificate::CreateFromHandle(sk_CRYPTO_BUFFER_value(buffers, 0), intermediate_chain); -#else - // Convert the certificate chains to a platform certificate handle. - std::vector<base::StringPiece> der_chain; - der_chain.reserve(sk_CRYPTO_BUFFER_num(buffers)); - for (size_t i = 0; i < sk_CRYPTO_BUFFER_num(buffers); ++i) { - const CRYPTO_BUFFER* cert = sk_CRYPTO_BUFFER_value(buffers, i); - der_chain.push_back(base::StringPiece( - reinterpret_cast<const char*>(CRYPTO_BUFFER_data(cert)), - CRYPTO_BUFFER_len(cert))); - } - return X509Certificate::CreateFromDERCertChain(der_chain); -#endif } ParseCertificateOptions DefaultParseCertificateOptions() {
diff --git a/net/cert/x509_util_nss.cc b/net/cert/x509_util_nss.cc index a34917dc..33f39d2a 100644 --- a/net/cert/x509_util_nss.cc +++ b/net/cert/x509_util_nss.cc
@@ -142,13 +142,9 @@ } bool IsSameCertificate(CERTCertificate* a, const X509Certificate* b) { -#if BUILDFLAG(USE_BYTE_CERTS) return a->derCert.len == CRYPTO_BUFFER_len(b->os_cert_handle()) && memcmp(a->derCert.data, CRYPTO_BUFFER_data(b->os_cert_handle()), a->derCert.len) == 0; -#else - return IsSameCertificate(a, b->os_cert_handle()); -#endif } bool IsSameCertificate(const X509Certificate* a, CERTCertificate* b) { return IsSameCertificate(b, a); @@ -174,13 +170,9 @@ ScopedCERTCertificate CreateCERTCertificateFromX509Certificate( const X509Certificate* cert) { -#if BUILDFLAG(USE_BYTE_CERTS) return CreateCERTCertificateFromBytes( CRYPTO_BUFFER_data(cert->os_cert_handle()), CRYPTO_BUFFER_len(cert->os_cert_handle())); -#else - return DupCERTCertificate(cert->os_cert_handle()); -#endif } ScopedCERTCertificateList CreateCERTCertificateListFromX509Certificate( @@ -194,7 +186,6 @@ InvalidIntermediateBehavior invalid_intermediate_behavior) { ScopedCERTCertificateList nss_chain; nss_chain.reserve(1 + cert->GetIntermediateCertificates().size()); -#if BUILDFLAG(USE_BYTE_CERTS) ScopedCERTCertificate nss_cert = CreateCERTCertificateFromX509Certificate(cert); if (!nss_cert) @@ -212,13 +203,6 @@ } nss_chain.push_back(std::move(nss_intermediate)); } -#else - nss_chain.push_back(DupCERTCertificate(cert->os_cert_handle())); - for (net::X509Certificate::OSCertHandle intermediate : - cert->GetIntermediateCertificates()) { - nss_chain.push_back(DupCERTCertificate(intermediate)); - } -#endif return nss_chain; } @@ -262,7 +246,6 @@ CERTCertificate* nss_cert, const std::vector<CERTCertificate*>& nss_chain, X509Certificate::UnsafeCreateOptions options) { -#if BUILDFLAG(USE_BYTE_CERTS) if (!nss_cert || !nss_cert->derCert.len) return nullptr; bssl::UniquePtr<CRYPTO_BUFFER> cert_handle( @@ -292,10 +275,6 @@ X509Certificate::CreateFromHandleUnsafeOptions( cert_handle.get(), intermediates_raw, options)); return result; -#else - return X509Certificate::CreateFromHandleUnsafeOptions(nss_cert, nss_chain, - options); -#endif } scoped_refptr<X509Certificate> CreateX509CertificateFromCERTCertificate(
diff --git a/net/cert/x509_util_nss_unittest.cc b/net/cert/x509_util_nss_unittest.cc index 5b1baf47..d9b9a700 100644 --- a/net/cert/x509_util_nss_unittest.cc +++ b/net/cert/x509_util_nss_unittest.cc
@@ -139,7 +139,6 @@ BytesForNSSCert(nss_certs[3].get())); } -#if BUILDFLAG(USE_BYTE_CERTS) TEST(X509UtilTest, CreateCERTCertificateListFromX509CertificateErrors) { scoped_refptr<X509Certificate> ok_cert( ImportCertFromFile(GetTestCertsDirectory(), "ok_cert.pem")); @@ -181,7 +180,6 @@ EXPECT_EQ(BytesForX509Cert(ok_cert2.get()), BytesForNSSCert(nss_certs[1].get())); } -#endif TEST(X509UtilNSSTest, CreateCERTCertificateListFromBytes) { base::FilePath cert_path =
diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_state.cc index b04a52e96..964494f 100644 --- a/net/http/transport_security_state.cc +++ b/net/http/transport_security_state.cc
@@ -30,6 +30,7 @@ #include "net/cert/x509_certificate.h" #include "net/dns/dns_util.h" #include "net/http/http_security_headers.h" +#include "net/net_features.h" #include "net/ssl/ssl_info.h" #if !defined(OS_NACL)
diff --git a/net/ssl/client_cert_store_nss.cc b/net/ssl/client_cert_store_nss.cc index 7589e36..bd6a8f0 100644 --- a/net/ssl/client_cert_store_nss.cc +++ b/net/ssl/client_cert_store_nss.cc
@@ -118,7 +118,6 @@ X509Certificate::OSCertHandles intermediates_raw; intermediates_raw.reserve(nss_intermediates.size()); -#if BUILDFLAG(USE_BYTE_CERTS) std::vector<bssl::UniquePtr<CRYPTO_BUFFER>> intermediates; intermediates.reserve(nss_intermediates.size()); for (const ScopedCERTCertificate& nss_intermediate : nss_intermediates) { @@ -131,10 +130,6 @@ intermediates_raw.push_back(intermediate_cert_handle.get()); intermediates.push_back(std::move(intermediate_cert_handle)); } -#else - for (const ScopedCERTCertificate& nss_intermediate : nss_intermediates) - intermediates_raw.push_back(nss_intermediate.get()); -#endif // Retain a copy of the intermediates. Some deployments expect the client to // supply intermediates out of the local store. See
diff --git a/net/ssl/openssl_ssl_util.cc b/net/ssl/openssl_ssl_util.cc index 0209955..ae0fb4f7 100644 --- a/net/ssl/openssl_ssl_util.cc +++ b/net/ssl/openssl_ssl_util.cc
@@ -140,16 +140,6 @@ return std::move(dict); } -#if !BUILDFLAG(USE_BYTE_CERTS) -bssl::UniquePtr<CRYPTO_BUFFER> OSCertHandleToBuffer( - X509Certificate::OSCertHandle os_handle) { - std::string der_encoded; - if (!X509Certificate::GetDEREncoded(os_handle, &der_encoded)) - return nullptr; - return x509_util::CreateCryptoBuffer(der_encoded); -} -#endif - } // namespace void OpenSSLPutNetError(const base::Location& location, int err) { @@ -240,36 +230,12 @@ X509Certificate* cert, EVP_PKEY* pkey, const SSL_PRIVATE_KEY_METHOD* custom_key) { -#if BUILDFLAG(USE_BYTE_CERTS) std::vector<CRYPTO_BUFFER*> chain_raw; chain_raw.push_back(cert->os_cert_handle()); for (X509Certificate::OSCertHandle handle : cert->GetIntermediateCertificates()) { chain_raw.push_back(handle); } -#else - std::vector<bssl::UniquePtr<CRYPTO_BUFFER>> chain; - std::vector<CRYPTO_BUFFER*> chain_raw; - bssl::UniquePtr<CRYPTO_BUFFER> buf = - OSCertHandleToBuffer(cert->os_cert_handle()); - if (!buf) { - LOG(WARNING) << "Failed to import certificate"; - return false; - } - chain_raw.push_back(buf.get()); - chain.push_back(std::move(buf)); - - for (X509Certificate::OSCertHandle handle : - cert->GetIntermediateCertificates()) { - bssl::UniquePtr<CRYPTO_BUFFER> buf = OSCertHandleToBuffer(handle); - if (!buf) { - LOG(WARNING) << "Failed to import intermediate"; - return false; - } - chain_raw.push_back(buf.get()); - chain.push_back(std::move(buf)); - } -#endif if (!SSL_set_chain_and_key(ssl, chain_raw.data(), chain_raw.size(), pkey, custom_key)) {
diff --git a/net/third_party/nss/ssl/cmpcert.cc b/net/third_party/nss/ssl/cmpcert.cc index d01c245..64e4828 100644 --- a/net/third_party/nss/ssl/cmpcert.cc +++ b/net/third_party/nss/ssl/cmpcert.cc
@@ -32,7 +32,6 @@ bool GetIssuerAndSubject(X509Certificate* cert, der::Input* issuer, der::Input* subject) { -#if BUILDFLAG(USE_BYTE_CERTS) der::Input tbs_certificate_tlv; der::Input signature_algorithm_tlv; der::BitString signature_value; @@ -52,9 +51,6 @@ *issuer = tbs.issuer_tlv; *subject = tbs.subject_tlv; return true; -#else - return GetIssuerAndSubject(cert->os_cert_handle(), issuer, subject); -#endif } } // namespace
diff --git a/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.cc b/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.cc index 3a75053..4019350 100644 --- a/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.cc +++ b/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.cc
@@ -31,6 +31,7 @@ #include "sandbox/linux/syscall_broker/broker_process.h" #include "sandbox/linux/system_headers/linux_syscalls.h" #include "services/service_manager/sandbox/linux/sandbox_bpf_base_policy_linux.h" +#include "services/service_manager/sandbox/linux/sandbox_linux.h" #include "services/service_manager/sandbox/linux/sandbox_seccomp_bpf_linux.h" using sandbox::arch_seccomp_data; @@ -86,7 +87,7 @@ } // namespace -GpuProcessPolicy::GpuProcessPolicy() : broker_process_(NULL) {} +GpuProcessPolicy::GpuProcessPolicy() {} GpuProcessPolicy::~GpuProcessPolicy() {} @@ -115,9 +116,11 @@ case __NR_open: #endif // !defined(__aarch64__) case __NR_faccessat: - case __NR_openat: - DCHECK(broker_process_); - return Trap(GpuSIGSYS_Handler, broker_process_); + case __NR_openat: { + auto* broker_process = SandboxLinux::GetInstance()->broker_process(); + DCHECK(broker_process); + return Trap(GpuSIGSYS_Handler, broker_process); + } case __NR_sched_getaffinity: case __NR_sched_setaffinity: return sandbox::RestrictSchedTarget(GetPolicyPid(), sysno);
diff --git a/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.h b/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.h index 46cd704..004d444 100644 --- a/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.h +++ b/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.h
@@ -24,24 +24,7 @@ sandbox::bpf_dsl::ResultExpr EvaluateSyscall( int system_call_number) const override; - sandbox::syscall_broker::BrokerProcess* broker_process() const { - return broker_process_; - } - - void set_broker_process( - std::unique_ptr<sandbox::syscall_broker::BrokerProcess> broker_process) { - DCHECK(!broker_process_); - broker_process_ = broker_process.release(); - } - private: - // A BrokerProcess is a helper that is started before the sandbox is engaged - // and will serve requests to access files over an IPC channel. The client of - // this runs from a SIGSYS handler triggered by the seccomp-bpf sandbox. - // This should never be destroyed, as after the sandbox is started it is - // vital to the process. - sandbox::syscall_broker::BrokerProcess* broker_process_; // Leaked as global. - DISALLOW_COPY_AND_ASSIGN(GpuProcessPolicy); };
diff --git a/services/service_manager/sandbox/linux/sandbox_linux.cc b/services/service_manager/sandbox/linux/sandbox_linux.cc index 9d07052..c2c2df8 100644 --- a/services/service_manager/sandbox/linux/sandbox_linux.cc +++ b/services/service_manager/sandbox/linux/sandbox_linux.cc
@@ -111,12 +111,13 @@ seccomp_bpf_with_tsync_supported_(false), yama_is_enforcing_(false), initialize_sandbox_ran_(false), - setuid_sandbox_client_(sandbox::SetuidSandboxClient::Create()) { - if (setuid_sandbox_client_ == NULL) { + setuid_sandbox_client_(sandbox::SetuidSandboxClient::Create()), + broker_process_(nullptr) { + if (!setuid_sandbox_client_) { LOG(FATAL) << "Failed to instantiate the setuid sandbox client."; } #if defined(ANY_OF_AMTLU_SANITIZER) - sanitizer_args_ = base::WrapUnique(new __sanitizer_sandbox_arguments); + sanitizer_args_ = std::make_unique<__sanitizer_sandbox_arguments>(); *sanitizer_args_ = {0}; #endif }
diff --git a/services/service_manager/sandbox/linux/sandbox_linux.h b/services/service_manager/sandbox/linux/sandbox_linux.h index 927bab8..e7425b6 100644 --- a/services/service_manager/sandbox/linux/sandbox_linux.h +++ b/services/service_manager/sandbox/linux/sandbox_linux.h
@@ -29,9 +29,13 @@ struct DefaultSingletonTraits; class Thread; } // namespace base + namespace sandbox { +namespace syscall_broker { +class BrokerProcess; +} // namespace syscall_broker class SetuidSandboxClient; -} +} // namespace sandbox namespace service_manager { @@ -145,6 +149,21 @@ }; #endif + // A BrokerProcess is a helper that is started before the sandbox is engaged + // and will serve requests to access files over an IPC channel. The client of + // this runs from a SIGSYS handler triggered by the seccomp-bpf sandbox. + // This should never be destroyed, as after the sandbox is started it is + // vital to the process. + sandbox::syscall_broker::BrokerProcess* broker_process() const { + return broker_process_; + } + + void set_broker_process( + std::unique_ptr<sandbox::syscall_broker::BrokerProcess> broker_process) { + DCHECK(!broker_process_); + broker_process_ = broker_process.release(); + } + private: friend struct base::DefaultSingletonTraits<SandboxLinux>; @@ -157,19 +176,24 @@ SandboxSeccompBPF::PreSandboxHook hook, const SandboxSeccompBPF::Options& options); void StopThreadImpl(base::Thread* thread); + // We must have been pre_initialized_ before using these. bool seccomp_bpf_supported() const; bool seccomp_bpf_with_tsync_supported() const; + // Returns true if it can be determined that the current process has open // directories that are not managed by the SandboxLinux class. This would // be a vulnerability as it would allow to bypass the setuid sandbox. bool HasOpenDirectories() const; + // The last part of the initialization is to make sure any temporary "hole" // in the sandbox is closed. For now, this consists of closing proc_fd_. void SealSandbox(); + // GetStatus() makes promises as to how the sandbox will behave. This // checks that no promises have been broken. void CheckForBrokenPromises(service_manager::SandboxType sandbox_type); + // Stop |thread| and make sure it does not appear in /proc/self/tasks/ // anymore. void StopThreadAndEnsureNotCounted(base::Thread* thread) const; @@ -178,6 +202,7 @@ // allow for sandbox bypasses. It needs to be closed before we consider // ourselves sandboxed. int proc_fd_; + bool seccomp_bpf_started_; // The value returned by GetStatus(). Gets computed once and then cached. int sandbox_status_flags_; @@ -191,6 +216,7 @@ #if defined(ANY_OF_AMTLU_SANITIZER) std::unique_ptr<__sanitizer_sandbox_arguments> sanitizer_args_; #endif + sandbox::syscall_broker::BrokerProcess* broker_process_; // Leaked as global. DISALLOW_COPY_AND_ASSIGN(SandboxLinux); };
diff --git a/services/ui/public/cpp/gpu/OWNERS b/services/ui/public/cpp/gpu/OWNERS deleted file mode 100644 index d61fcbb..0000000 --- a/services/ui/public/cpp/gpu/OWNERS +++ /dev/null
@@ -1 +0,0 @@ -file://services/ui/gpu/OWNERS
diff --git a/testing/buildbot/chromium.clang.json b/testing/buildbot/chromium.clang.json index 4d36e51..6ee9d32 100644 --- a/testing/buildbot/chromium.clang.json +++ b/testing/buildbot/chromium.clang.json
@@ -862,6 +862,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -1128,6 +1134,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -1387,6 +1399,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -1653,6 +1671,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -1949,6 +1973,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -2245,6 +2275,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -2541,6 +2577,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -2837,6 +2879,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -3133,6 +3181,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -3429,6 +3483,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -3725,6 +3785,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -4021,6 +4087,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -4311,6 +4383,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -8607,6 +8685,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -8915,6 +8999,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -9211,6 +9301,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -9507,6 +9603,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -9803,6 +9905,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -10099,6 +10207,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -10395,6 +10509,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -10691,6 +10811,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -10987,6 +11113,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, {
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json index 529930b..635df302 100644 --- a/testing/buildbot/chromium.fyi.json +++ b/testing/buildbot/chromium.fyi.json
@@ -13035,7 +13035,8 @@ ], "name": "network_service_browser_tests", "swarming": { - "can_use_on_swarming_builders": true + "can_use_on_swarming_builders": true, + "shards": 5 }, "test": "browser_tests" }, @@ -14404,6 +14405,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -15948,6 +15955,12 @@ }, { "swarming": { + "can_use_on_swarming_builders": true + }, + "test": "crashpad_util_test" + }, + { + "swarming": { "can_use_on_swarming_builders": false }, "test": "crypto_unittests"
diff --git a/testing/buildbot/chromium.linux.json b/testing/buildbot/chromium.linux.json index e323f1e..c394715 100644 --- a/testing/buildbot/chromium.linux.json +++ b/testing/buildbot/chromium.linux.json
@@ -3432,6 +3432,27 @@ } ] }, + "Fuchsia ARM64": { + "additional_compile_targets": [ + "base_unittests", + "content_unittests", + "crypto_unittests", + "gl_unittests", + "headless_shell", + "ipc_tests", + "media_unittests", + "mojo_common_unittests", + "mojo_js_unittests", + "mojo_public_bindings_unittests", + "mojo_public_system_unittests", + "mojo_system_unittests", + "net_unittests", + "service_manager_unittests", + "skia_unittests", + "sql_unittests", + "ui_base_unittests" + ] + }, "Fuchsia x64": { "additional_compile_targets": [ "base_unittests",
diff --git a/testing/buildbot/chromium.perf.fyi.json b/testing/buildbot/chromium.perf.fyi.json index fc7bc9d..678a877 100644 --- a/testing/buildbot/chromium.perf.fyi.json +++ b/testing/buildbot/chromium.perf.fyi.json
@@ -1728,68 +1728,6 @@ }, { "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release_x64", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:22b1", - "id": "build152-b1", - "os": "Windows-10-10586", - "pool": "Chrome-perf-fyi" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:22b1", - "id": "build152-b1", - "os": "Windows-10-10586", - "pool": "Chrome-perf-fyi" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "memory.desktop", "-v", "--upload-results", @@ -5832,68 +5770,6 @@ }, { "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release_x64", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "1002:9874", - "id": "build216-b4", - "os": "Windows-10-10586", - "pool": "Chrome-perf-fyi" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "1002:9874", - "id": "build216-b4", - "os": "Windows-10-10586", - "pool": "Chrome-perf-fyi" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "memory.desktop", "-v", "--upload-results",
diff --git a/testing/buildbot/chromium.perf.json b/testing/buildbot/chromium.perf.json index e1dfc2a..07ad10df 100644 --- a/testing/buildbot/chromium.perf.json +++ b/testing/buildbot/chromium.perf.json
@@ -1339,66 +1339,6 @@ }, { "args": [ - "media.android.tough_video_cases", - "-v", - "--upload-results", - "--browser=android-chromium", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.android.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "id": "build14-b1--device6", - "os": "Android", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.android.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.android.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "id": "build14-b1--device6", - "os": "Android", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "media.media_cns_cases", "-v", "--upload-results", @@ -6210,66 +6150,6 @@ }, { "args": [ - "media.android.tough_video_cases", - "-v", - "--upload-results", - "--browser=android-chromium", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.android.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "id": "build74-b1--device6", - "os": "Android", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.android.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.android.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "id": "build74-b1--device6", - "os": "Android", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "media.media_cns_cases", "-v", "--upload-results", @@ -13445,66 +13325,6 @@ }, { "args": [ - "media.android.tough_video_cases", - "-v", - "--upload-results", - "--browser=android-chromium", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.android.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "id": "build16-b1--device6", - "os": "Android", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.android.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.android.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "id": "build16-b1--device6", - "os": "Android", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "media.media_cns_cases", "-v", "--upload-results", @@ -20680,66 +20500,6 @@ }, { "args": [ - "media.android.tough_video_cases", - "-v", - "--upload-results", - "--browser=android-chromium", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.android.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "id": "build10-b1--device6", - "os": "Android", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.android.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.android.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "id": "build10-b1--device6", - "os": "Android", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "media.media_cns_cases", "-v", "--upload-results", @@ -25551,66 +25311,6 @@ }, { "args": [ - "media.android.tough_video_cases", - "-v", - "--upload-results", - "--browser=android-chromium", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.android.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "id": "build18-b1--device6", - "os": "Android", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.android.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.android.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "id": "build18-b1--device6", - "os": "Android", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "media.media_cns_cases", "-v", "--upload-results", @@ -30656,68 +30356,6 @@ } }, { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "10de:1cb3", - "id": "build30-a9", - "os": "Ubuntu-14.04", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "10de:1cb3", - "id": "build30-a9", - "os": "Ubuntu-14.04", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { "args": [], "isolate_name": "media_perftests", "name": "media_perftests", @@ -34967,68 +34605,6 @@ } }, { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:0166", - "id": "build102-b1", - "os": "Mac-10.11", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:0166", - "id": "build102-b1", - "os": "Mac-10.11", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { "args": [], "isolate_name": "media_perftests", "name": "media_perftests", @@ -39175,68 +38751,6 @@ }, { "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:0a2e", - "id": "build158-m1", - "os": "Mac-10.12", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:0a2e", - "id": "build158-m1", - "os": "Mac-10.12", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "memory.desktop", "-v", "--upload-results", @@ -43382,68 +42896,6 @@ }, { "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:1626", - "id": "build123-b1", - "os": "Mac-10.11", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:1626", - "id": "build123-b1", - "os": "Mac-10.11", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "memory.desktop", "-v", "--upload-results", @@ -47589,68 +47041,6 @@ }, { "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:0a26", - "id": "build24-b1", - "os": "Mac-10.12", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:0a26", - "id": "build24-b1", - "os": "Mac-10.12", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "memory.desktop", "-v", "--upload-results", @@ -51775,68 +51165,6 @@ }, { "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "1002:6821", - "id": "build128-b1", - "os": "Mac-10.11", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "1002:6821", - "id": "build128-b1", - "os": "Mac-10.11", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "memory.desktop", "-v", "--upload-results", @@ -55982,68 +55310,6 @@ }, { "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:0d26", - "id": "build4-b1", - "os": "Mac-10.11", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:0d26", - "id": "build4-b1", - "os": "Mac-10.11", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "memory.desktop", "-v", "--upload-results", @@ -60065,68 +59331,6 @@ }, { "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release_x64", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:1616", - "id": "build117-b1", - "os": "Windows-10-10240", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:1616", - "id": "build117-b1", - "os": "Windows-10-10240", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "memory.desktop", "-v", "--upload-results", @@ -64126,68 +63330,6 @@ } }, { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release_x64", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "102b:0534", - "id": "build132-m1", - "os": "Windows-10-10240", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "102b:0534", - "id": "build132-m1", - "os": "Windows-10-10240", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { "args": [], "isolate_name": "media_perftests", "name": "media_perftests", @@ -68251,68 +67393,6 @@ } }, { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release_x64", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "1002:6613", - "id": "build101-m1", - "os": "Windows-2008ServerR2-SP1", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "1002:6613", - "id": "build101-m1", - "os": "Windows-2008ServerR2-SP1", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { "args": [], "isolate_name": "media_perftests", "name": "media_perftests", @@ -72398,68 +71478,6 @@ }, { "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release_x64", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:041a", - "id": "build164-m1", - "os": "Windows-2008ServerR2-SP1", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "8086:041a", - "id": "build164-m1", - "os": "Windows-2008ServerR2-SP1", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "memory.desktop", "-v", "--upload-results", @@ -76522,68 +75540,6 @@ } }, { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release_x64", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "10de:104a", - "id": "build92-m1", - "os": "Windows-2008ServerR2-SP1", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "10de:104a", - "id": "build92-m1", - "os": "Windows-2008ServerR2-SP1", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { "args": [], "isolate_name": "media_perftests", "name": "media_perftests", @@ -80626,68 +79582,6 @@ } }, { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "102b:0532", - "id": "build185-m1", - "os": "Windows-2008ServerR2-SP1", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "102b:0532", - "id": "build185-m1", - "os": "Windows-2008ServerR2-SP1", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { "args": [], "isolate_name": "media_perftests", "name": "media_perftests", @@ -84731,68 +83625,6 @@ }, { "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release_x64", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "102b:0532", - "id": "build138-m1", - "os": "Windows-2008ServerR2-SP1", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "102b:0532", - "id": "build138-m1", - "os": "Windows-2008ServerR2-SP1", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ "memory.desktop", "-v", "--upload-results", @@ -88834,68 +87666,6 @@ } }, { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=release_x64", - "--output-format=chartjson" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "102b:0532", - "id": "build143-m1", - "os": "Windows-2012ServerR2-SP0", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": false, - "io_timeout": 600, - "upload_test_results": false - } - }, - { - "args": [ - "media.tough_video_cases", - "-v", - "--upload-results", - "--browser=reference", - "--output-format=chartjson", - "--max-failures=5", - "--output-trace-tag=_ref" - ], - "isolate_name": "telemetry_perf_tests", - "name": "media.tough_video_cases.reference", - "override_compile_targets": [ - "telemetry_perf_tests" - ], - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "gpu": "102b:0532", - "id": "build143-m1", - "os": "Windows-2012ServerR2-SP0", - "pool": "Chrome-perf" - } - ], - "expiration": 36000, - "hard_timeout": 10800, - "ignore_task_failure": true, - "io_timeout": 600, - "upload_test_results": false - } - }, - { "args": [], "isolate_name": "media_perftests", "name": "media_perftests",
diff --git a/testing/buildbot/chromium.win.json b/testing/buildbot/chromium.win.json index 2ee766f5..0297987 100644 --- a/testing/buildbot/chromium.win.json +++ b/testing/buildbot/chromium.win.json
@@ -138,6 +138,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -715,6 +721,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -1264,6 +1276,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, { @@ -1829,6 +1847,12 @@ "swarming": { "can_use_on_swarming_builders": true }, + "test": "crashpad_util_test" + }, + { + "swarming": { + "can_use_on_swarming_builders": true + }, "test": "crypto_unittests" }, {
diff --git a/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter b/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter index b887b4f..0ddfea5 100644 --- a/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter +++ b/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter
@@ -75,11 +75,17 @@ -AppEventPageTest.OnSuspendNoApiUse -AppEventPageTest.OnSuspendUseStorageApi -AppViewTests/AppViewTest.KillGuestWithInvalidInstanceID/0 +-AppViewTests/AppViewTest.KillGuestWithInvalidInstanceID/1 -AppViewTests/AppViewTest.TestAppViewEmbedSelfShouldFail/0 +-AppViewTests/AppViewTest.TestAppViewEmbedSelfShouldFail/1 -AppViewTests/AppViewTest.TestAppViewGoodDataShouldSucceed/0 +-AppViewTests/AppViewTest.TestAppViewGoodDataShouldSucceed/1 -AppViewTests/AppViewTest.TestAppViewMultipleConnects/0 +-AppViewTests/AppViewTest.TestAppViewMultipleConnects/1 -AppViewTests/AppViewTest.TestAppViewRefusedDataShouldFail/0 +-AppViewTests/AppViewTest.TestAppViewRefusedDataShouldFail/1 -AppViewTests/AppViewTest.TestAppViewWithUndefinedDataShouldSucceed/0 +-AppViewTests/AppViewTest.TestAppViewWithUndefinedDataShouldSucceed/1 -AppWindowAPITest.TestCloseEvent -AppWindowAPITest.TestCreate -AppWindowAPITest.TestFrameColors @@ -249,6 +255,13 @@ -ContentVerifierTest.FailOnDone -ContentVerifierTest.FailOnRead -CrazyExtensionTest.Crazy +-CredentialManagerBrowserTest.StoreSavesPSLMatchedCredential +-CredentialManagerBrowserTest.StoreInUnloadHandler_SameSite_PreestablishedPipe +-CredentialManagerBrowserTest.StoreInUnloadHandler_CrossSite_OnDemandMojoPipe +-CredentialManagerBrowserTest.StoreInUnloadHandler_CrossSite_PreestablishedPipe +-CredentialManagerBrowserTest.MojoConnectionRecreatedAfterNavigation +-CredentialManagerBrowserTest.CreatePublicKeyCredentialNotImplemented +-CredentialManagerBrowserTest.CreatePublicKeyCredentialAlgorithmNotSupported -CrossOriginXHR.AllURLs -CrossOriginXHR.BackgroundPage -CrossOriginXHR.ContentScript @@ -564,6 +577,9 @@ -ExtensionWebUITest.ReceivesExtensionOptionsOnClose -ExtensionWindowLastFocusedTest.NoDevtoolsAndAppWindows -ExtensionWindowLastFocusedTest.NoTabIdForDevToolsAndAppWindows +-ExtensionViewTests/ExtensionViewTest.ShimExtensionAttribute/1 +-ExtensionViewTests/ExtensionViewTest.TestExtensionViewCreationShouldSucceed/1 +-ExtensionViewTests/ExtensionViewTest.ShimSrcAttribute/1 -ExternallyConnectableMessagingTest.WebConnectableWithTlsChannelIdWithEmptyTlsChannelId -ExternallyConnectableMessagingTest.WebConnectableWithoutTlsChannelId -ExternallyConnectableMessagingWithTlsChannelIdTest.WebConnectableWithNonEmptyTlsChannelId @@ -693,6 +709,7 @@ -LazyBackgroundPageApiTest.WaitForRequest -LazyBackgroundPageApiTest.WaitForView -LoadAndLaunchPlatformAppBrowserTest.LoadAndLaunchAppChromeNotRunning +-LocalNTPJavascriptTest.LoadsIframe -LoginPromptBrowserTest.AllowCrossdomainPromptForSubframes -LoginPromptBrowserTest.BlockCrossdomainPromptForSubresources -LoginPromptBrowserTest.CancelLoginInterstitialOnRedirect @@ -961,6 +978,14 @@ -PaymentRequestJourneyLoggerNoShippingSectionStatsTest.NumberOfSuggestionsShown_UserAborted -PaymentRequestJourneyLoggerNoSupportedPaymentMethodTest.OnlyBobpaySupported -PaymentRequestJourneyLoggerSelectedPaymentInstrumentTest.TestSelectedPaymentMethod +-PaymentRequestModifiersTest.NoModifierAppliedIfNoSelectedInstrument +-PaymentRequestModifiersTest.ModifierAppliedIfApplicableSelectedInstrumentWithoutTypeOrNetwork +-PaymentRequestModifiersTest.ModifierAppliedIfApplicableSelectedInstrumentWithCreditSupportedType +-PaymentRequestModifiersTest.ModifierNotAppliedIfSelectedInstrumentWithDebitSupportedType +-PaymentRequestModifiersTest.ModifierAppliedIfApplicableSelectedInstrumentWithMatchingNetwork +-PaymentRequestModifiersTest.ModifierNotAppliedIfSelectedInstrumentWithoutMatchingNetwork +-PaymentRequestModifiersTest.ModifierAppliedToBasicCardWithoutTypeOrNetwork +-PaymentRequestModifiersTest.ModifierAppliedToUnknownTypeWithMatchingNetwork -PaymentRequestNoShippingTest.InactiveBrowserWindow -PaymentRequestNoShippingTest.InvalidSSL -PaymentRequestNoShippingTest.OpenAndClickCancel @@ -1113,6 +1138,18 @@ -PlatformAppWithFileBrowserTest.LaunchWithWrongEmptyExtension -PlatformAppWithFileBrowserTest.LaunchWithWrongExtension -PlatformAppWithFileBrowserTest.LaunchWithWrongType +-PredictorBrowserTest.CrossSiteSimplePredictionAfterOneNavigation +-PredictorBrowserTest.DontPredictBasedOnSubresources +-PredictorBrowserTest.PredictBasedOnSubframeRedirect +-PredictorBrowserTest.SubframeCrossSitePrediction +-PredictorBrowserTest.SubframeInitiatesPreconnects +-PredictorBrowserTest.SubframeLearning +-PredictorBrowserTest.CrossSiteSimplePredictionAfterTwoNavigations +-PredictorBrowserTest.CrossSiteSimplePredictionAfterTwoNavigations2 +-PredictorBrowserTest.CrossSiteRedirectPredictionWithNoPath +-PredictorBrowserTest.CrossSiteRedirectPredictionWithNoPathDifferentHostName +-PredictorBrowserTest.CrossSiteTwoRedirectsPredictionWithNoPath +-PredictorBrowserTest.RendererInitiatedNavigationPreconnect -PreferencesPrivateApiTest.TestEasyUnlockEvent -PrefetchBrowserTestPredictionDisabled.ExperimentDisabled -PrintPreviewUIBrowserTest.AdvancedSettings1Option @@ -1180,6 +1217,9 @@ -ResourcesPrivateApiTest.GetStrings -RuntimeAPIUpdateTest.TerminatedExtensionUpdateHasCorrectPreviousVersion -SafeBrowsingRedirectTracking/WebstoreInlineInstallerRedirectTest.IncludesRedirectData/0 +-SafeBrowsingTriggeredPopupBlockerBrowserTest.NoFeature_AllowCreatingNewWindows +-SafeBrowsingTriggeredPopupBlockerBrowserTest.NoFeature_NoMessages +-SafeBrowsingTriggeredPopupBlockerBrowserTest.BlockCreatingNewWindows_LogsToConsole -SecurityStateTabHelperTest.SecurityLevelDowngradedAfterEditing -SerialApiTest.SerialFakeHardware -SerialApiTest.SerialRealHardware @@ -1254,6 +1294,7 @@ -StreamsPrivateApiTest.FileURL -StreamsPrivateApiTest.Headers -StreamsPrivateApiTest.Navigate +-SubresourceFilterBrowserTest.FailedProvisionalLoadInMainframe -SymantecMessageSSLUITest.ManySubresources -SymantecMessageSSLUITest.PostJune2016 -SymantecMessageSSLUITest.PreJune2016 @@ -1325,208 +1366,411 @@ -WebViewScrollBubbling/WebViewGuestScrollTouchTest.TestGuestGestureScrollsBubble/1 -WebViewScrollGuestContent/WebViewScrollGuestContentTest.OverscrollControllerSeesConsumedScrollsInGuest/0 -WebViewTests/IsolatedOriginWebViewTest.IsolatedOriginInWebview/0 +-WebViewTests/IsolatedOriginWebViewTest.IsolatedOriginInWebview/1 -WebViewTests/IsolatedOriginWebViewTest.LoadIsolatedOriginInWebviewAfterLoadingInRegularTab/0 +-WebViewTests/IsolatedOriginWebViewTest.LoadIsolatedOriginInWebviewAfterLoadingInRegularTab/1 -WebViewTests/WebViewAccessibilityTest.FocusAccessibility/0 +-WebViewTests/WebViewAccessibilityTest.FocusAccessibility/1 -WebViewTests/WebViewAccessibilityTest.LoadWebViewAccessibility/0 +-WebViewTests/WebViewAccessibilityTest.LoadWebViewAccessibility/1 -WebViewTests/WebViewDPITest.Shim_TestAutosizeBeforeNavigation/0 +-WebViewTests/WebViewDPITest.Shim_TestAutosizeBeforeNavigation/1 -WebViewTests/WebViewDPITest.Shim_TestAutosizeHeight/0 +-WebViewTests/WebViewDPITest.Shim_TestAutosizeHeight/1 -WebViewTests/WebViewDPITest.Shim_TestAutosizeRemoveAttributes/0 +-WebViewTests/WebViewDPITest.Shim_TestAutosizeRemoveAttributes/1 -WebViewTests/WebViewFocusTest.TouchFocusesEmbedder/0 +-WebViewTests/WebViewFocusTest.TouchFocusesEmbedder/1 -WebViewTests/WebViewNewWindowTest.OpenURLFromTab_NewWindow_Abort/0 +-WebViewTests/WebViewNewWindowTest.OpenURLFromTab_NewWindow_Abort/1 -WebViewTests/WebViewNewWindowTest.Shim_TestAddContentScriptsWithNewWindowAPI/0 +-WebViewTests/WebViewNewWindowTest.Shim_TestAddContentScriptsWithNewWindowAPI/1 -WebViewTests/WebViewNewWindowTest.Shim_TestNewWindow/0 +-WebViewTests/WebViewNewWindowTest.Shim_TestNewWindow/1 -WebViewTests/WebViewNewWindowTest.Shim_TestNewWindowNoPreventDefault/0 +-WebViewTests/WebViewNewWindowTest.Shim_TestNewWindowNoPreventDefault/1 -WebViewTests/WebViewNewWindowTest.Shim_TestNewWindowNoReferrerLink/0 +-WebViewTests/WebViewNewWindowTest.Shim_TestNewWindowNoReferrerLink/1 -WebViewTests/WebViewNewWindowTest.Shim_TestNewWindowTwoListeners/0 +-WebViewTests/WebViewNewWindowTest.Shim_TestNewWindowTwoListeners/1 -WebViewTests/WebViewNewWindowTest.UserAgent_NewWindow/0 +-WebViewTests/WebViewNewWindowTest.UserAgent_NewWindow/1 -WebViewTests/WebViewPluginTest.TestLoadPluginEvent/0 +-WebViewTests/WebViewPluginTest.TestLoadPluginEvent/1 -WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/0 +-WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/1 -WebViewTests/WebViewSizeTest.AutoSize/0 +-WebViewTests/WebViewSizeTest.AutoSize/1 -WebViewTests/WebViewSizeTest.Shim_TestAutosizeBeforeNavigation/0 +-WebViewTests/WebViewSizeTest.Shim_TestAutosizeBeforeNavigation/1 -WebViewTests/WebViewSizeTest.Shim_TestAutosizeHeight/0 +-WebViewTests/WebViewSizeTest.Shim_TestAutosizeHeight/1 -WebViewTests/WebViewSizeTest.Shim_TestAutosizeRemoveAttributes/0 +-WebViewTests/WebViewSizeTest.Shim_TestAutosizeRemoveAttributes/1 -WebViewTests/WebViewSizeTest.Shim_TestResizeEvents/0 +-WebViewTests/WebViewSizeTest.Shim_TestResizeEvents/1 -WebViewTests/WebViewSizeTest.Shim_TestResizeWebviewResizesContent/0 +-WebViewTests/WebViewSizeTest.Shim_TestResizeWebviewResizesContent/1 -WebViewTests/WebViewSizeTest.Shim_TestResizeWebviewWithDisplayNoneResizesContent/0 +-WebViewTests/WebViewSizeTest.Shim_TestResizeWebviewWithDisplayNoneResizesContent/1 -WebViewTests/WebViewSpeechAPITest.SpeechRecognitionAPI_HasPermissionAllow/0 +-WebViewTests/WebViewSpeechAPITest.SpeechRecognitionAPI_HasPermissionAllow/1 -WebViewTests/WebViewSpeechAPITest.SpeechRecognitionAPI_HasPermissionDeny/0 +-WebViewTests/WebViewSpeechAPITest.SpeechRecognitionAPI_HasPermissionDeny/1 -WebViewTests/WebViewSpeechAPITest.SpeechRecognitionAPI_NoPermission/0 +-WebViewTests/WebViewSpeechAPITest.SpeechRecognitionAPI_NoPermission/1 -WebViewTests/WebViewTest.AcceptTouchEvents/0 +-WebViewTests/WebViewTest.AcceptTouchEvents/1 -WebViewTests/WebViewTest.AddRemoveWebView_AddRemoveWebView/0 +-WebViewTests/WebViewTest.AddRemoveWebView_AddRemoveWebView/1 -WebViewTests/WebViewTest.AllowTransparencyAndAllowScalingPropagate/0 +-WebViewTests/WebViewTest.AllowTransparencyAndAllowScalingPropagate/1 -WebViewTests/WebViewTest.AudibilityStatePropagates/0 +-WebViewTests/WebViewTest.AudibilityStatePropagates/1 -WebViewTests/WebViewTest.AudioMutesOnAttach/0 +-WebViewTests/WebViewTest.AudioMutesOnAttach/1 -WebViewTests/WebViewTest.AudioMutesWhileAttached/0 +-WebViewTests/WebViewTest.AudioMutesWhileAttached/1 -WebViewTests/WebViewTest.AudioStateJavascriptAPI/0 +-WebViewTests/WebViewTest.AudioStateJavascriptAPI/1 -WebViewTests/WebViewTest.BasicPostMessage/0 +-WebViewTests/WebViewTest.BasicPostMessage/1 -WebViewTests/WebViewTest.BlobInWebviewAccessibleResource/0 +-WebViewTests/WebViewTest.BlobInWebviewAccessibleResource/1 -WebViewTests/WebViewTest.ClearData/0 +-WebViewTests/WebViewTest.ClearData/1 -WebViewTests/WebViewTest.ClearDataCache/0 +-WebViewTests/WebViewTest.ClearDataCache/1 -WebViewTests/WebViewTest.ClearDataTwice/0 +-WebViewTests/WebViewTest.ClearDataTwice/1 -WebViewTests/WebViewTest.ClearPersistentCookies/0 +-WebViewTests/WebViewTest.ClearPersistentCookies/1 -WebViewTests/WebViewTest.ClearSessionCookies/0 +-WebViewTests/WebViewTest.ClearSessionCookies/1 -WebViewTests/WebViewTest.CloseOnLoadcommit/0 +-WebViewTests/WebViewTest.CloseOnLoadcommit/1 -WebViewTests/WebViewTest.ConsoleMessage/0 +-WebViewTests/WebViewTest.ConsoleMessage/1 -WebViewTests/WebViewTest.ContentScriptFetch/0 +-WebViewTests/WebViewTest.ContentScriptFetch/1 -WebViewTests/WebViewTest.ContextMenuInspectElement/0 +-WebViewTests/WebViewTest.ContextMenuInspectElement/1 -WebViewTests/WebViewTest.ContextMenuLanguageSettings/0 +-WebViewTests/WebViewTest.ContextMenuLanguageSettings/1 -WebViewTests/WebViewTest.ContextMenuNavigationInMimeHandlerView/0 +-WebViewTests/WebViewTest.ContextMenuNavigationInMimeHandlerView/1 -WebViewTests/WebViewTest.ContextMenusAPI_Basic/0 +-WebViewTests/WebViewTest.ContextMenusAPI_Basic/1 -WebViewTests/WebViewTest.ContextMenusAPI_PreventDefault/0 +-WebViewTests/WebViewTest.ContextMenusAPI_PreventDefault/1 -WebViewTests/WebViewTest.CookieIsolation/0 +-WebViewTests/WebViewTest.CookieIsolation/1 -WebViewTests/WebViewTest.DOMStorageIsolation/0 +-WebViewTests/WebViewTest.DOMStorageIsolation/1 -WebViewTests/WebViewTest.Dialog_TestAlertDialog/0 +-WebViewTests/WebViewTest.Dialog_TestAlertDialog/1 -WebViewTests/WebViewTest.Dialog_TestConfirmDialogCancel/0 +-WebViewTests/WebViewTest.Dialog_TestConfirmDialogCancel/1 -WebViewTests/WebViewTest.Dialog_TestConfirmDialogDefaultCancel/0 +-WebViewTests/WebViewTest.Dialog_TestConfirmDialogDefaultCancel/1 -WebViewTests/WebViewTest.Dialog_TestConfirmDialogDefaultGCCancel/0 +-WebViewTests/WebViewTest.Dialog_TestConfirmDialogDefaultGCCancel/1 -WebViewTests/WebViewTest.Dialog_TestPromptDialog/0 +-WebViewTests/WebViewTest.Dialog_TestPromptDialog/1 -WebViewTests/WebViewTest.DisplayNoneSetSrc/0 +-WebViewTests/WebViewTest.DisplayNoneSetSrc/1 -WebViewTests/WebViewTest.DownloadCookieIsolation/0 +-WebViewTests/WebViewTest.DownloadCookieIsolation/1 -WebViewTests/WebViewTest.DownloadCookieIsolation_CrossSession/0 +-WebViewTests/WebViewTest.DownloadCookieIsolation_CrossSession/1 -WebViewTests/WebViewTest.DownloadPermission/0 +-WebViewTests/WebViewTest.DownloadPermission/1 -WebViewTests/WebViewTest.ExecuteScript/0 +-WebViewTests/WebViewTest.ExecuteScript/1 -WebViewTests/WebViewTest.FileSystemAPIRequestFromMainThreadAllow/0 +-WebViewTests/WebViewTest.FileSystemAPIRequestFromMainThreadAllow/1 -WebViewTests/WebViewTest.FileSystemAPIRequestFromMainThreadDefaultAllow/0 +-WebViewTests/WebViewTest.FileSystemAPIRequestFromMainThreadDefaultAllow/1 -WebViewTests/WebViewTest.FileSystemAPIRequestFromMainThreadDeny/0 +-WebViewTests/WebViewTest.FileSystemAPIRequestFromMainThreadDeny/1 -WebViewTests/WebViewTest.FileSystemAPIRequestFromSharedWorkerOfMultiWebViewGuestsAllow/0 +-WebViewTests/WebViewTest.FileSystemAPIRequestFromSharedWorkerOfMultiWebViewGuestsAllow/1 -WebViewTests/WebViewTest.FileSystemAPIRequestFromSharedWorkerOfMultiWebViewGuestsDefaultAllow/0 +-WebViewTests/WebViewTest.FileSystemAPIRequestFromSharedWorkerOfMultiWebViewGuestsDefaultAllow/1 -WebViewTests/WebViewTest.FileSystemAPIRequestFromSharedWorkerOfMultiWebViewGuestsDeny/0 +-WebViewTests/WebViewTest.FileSystemAPIRequestFromSharedWorkerOfMultiWebViewGuestsDeny/1 -WebViewTests/WebViewTest.FileSystemAPIRequestFromSharedWorkerOfSingleWebViewGuestAllow/0 +-WebViewTests/WebViewTest.FileSystemAPIRequestFromSharedWorkerOfSingleWebViewGuestAllow/1 -WebViewTests/WebViewTest.FileSystemAPIRequestFromSharedWorkerOfSingleWebViewGuestDefaultAllow/0 +-WebViewTests/WebViewTest.FileSystemAPIRequestFromSharedWorkerOfSingleWebViewGuestDefaultAllow/1 -WebViewTests/WebViewTest.FileSystemAPIRequestFromSharedWorkerOfSingleWebViewGuestDeny/0 +-WebViewTests/WebViewTest.FileSystemAPIRequestFromSharedWorkerOfSingleWebViewGuestDeny/1 -WebViewTests/WebViewTest.FileSystemAPIRequestFromWorkerAllow/0 +-WebViewTests/WebViewTest.FileSystemAPIRequestFromWorkerAllow/1 -WebViewTests/WebViewTest.FileSystemAPIRequestFromWorkerDefaultAllow/0 +-WebViewTests/WebViewTest.FileSystemAPIRequestFromWorkerDefaultAllow/1 -WebViewTests/WebViewTest.FileSystemAPIRequestFromWorkerDeny/0 +-WebViewTests/WebViewTest.FileSystemAPIRequestFromWorkerDeny/1 -WebViewTests/WebViewTest.GeolocationAPICancelGeolocation/0 +-WebViewTests/WebViewTest.GeolocationAPICancelGeolocation/1 -WebViewTests/WebViewTest.GeolocationAPIEmbedderHasAccessDeny/0 +-WebViewTests/WebViewTest.GeolocationAPIEmbedderHasAccessDeny/1 -WebViewTests/WebViewTest.GeolocationAPIEmbedderHasNoAccessAllow/0 +-WebViewTests/WebViewTest.GeolocationAPIEmbedderHasNoAccessAllow/1 -WebViewTests/WebViewTest.GeolocationAPIEmbedderHasNoAccessDeny/0 +-WebViewTests/WebViewTest.GeolocationAPIEmbedderHasNoAccessDeny/1 -WebViewTests/WebViewTest.IndexedDBIsolation/0 +-WebViewTests/WebViewTest.IndexedDBIsolation/1 -WebViewTests/WebViewTest.InterstitialPageDetach/0 +-WebViewTests/WebViewTest.InterstitialPageDetach/1 -WebViewTests/WebViewTest.InterstitialTeardown/0 +-WebViewTests/WebViewTest.InterstitialTeardown/1 -WebViewTests/WebViewTest.LoadWebviewAccessibleResource/0 +-WebViewTests/WebViewTest.LoadWebviewAccessibleResource/1 -WebViewTests/WebViewTest.LoadWebviewInaccessibleResource/0 +-WebViewTests/WebViewTest.LoadWebviewInaccessibleResource/1 -WebViewTests/WebViewTest.LoadWebviewInsideIframe/0 +-WebViewTests/WebViewTest.LoadWebviewInsideIframe/1 -WebViewTests/WebViewTest.MediaAccessAPIAllow_TestAllow/0 +-WebViewTests/WebViewTest.MediaAccessAPIAllow_TestAllow/1 -WebViewTests/WebViewTest.MediaAccessAPIAllow_TestAllowAndThenDeny/0 +-WebViewTests/WebViewTest.MediaAccessAPIAllow_TestAllowAndThenDeny/1 -WebViewTests/WebViewTest.MediaAccessAPIAllow_TestAllowAsync/0 +-WebViewTests/WebViewTest.MediaAccessAPIAllow_TestAllowAsync/1 -WebViewTests/WebViewTest.MediaAccessAPIAllow_TestAllowTwice/0 +-WebViewTests/WebViewTest.MediaAccessAPIAllow_TestAllowTwice/1 -WebViewTests/WebViewTest.MediaAccessAPIAllow_TestCheck/0 +-WebViewTests/WebViewTest.MediaAccessAPIAllow_TestCheck/1 -WebViewTests/WebViewTest.MediaAccessAPIDeny_TestDeny/0 +-WebViewTests/WebViewTest.MediaAccessAPIDeny_TestDeny/1 -WebViewTests/WebViewTest.MediaAccessAPIDeny_TestDenyThenAllowThrows/0 +-WebViewTests/WebViewTest.MediaAccessAPIDeny_TestDenyThenAllowThrows/1 -WebViewTests/WebViewTest.MediaAccessAPIDeny_TestDenyWithPreventDefault/0 +-WebViewTests/WebViewTest.MediaAccessAPIDeny_TestDenyWithPreventDefault/1 -WebViewTests/WebViewTest.MediaAccessAPIDeny_TestNoListenersImplyDeny/0 +-WebViewTests/WebViewTest.MediaAccessAPIDeny_TestNoListenersImplyDeny/1 -WebViewTests/WebViewTest.MediaAccessAPIDeny_TestNoPreventDefaultImpliesDeny/0 +-WebViewTests/WebViewTest.MediaAccessAPIDeny_TestNoPreventDefaultImpliesDeny/1 -WebViewTests/WebViewTest.NestedGuestContainerBounds/0 +-WebViewTests/WebViewTest.NestedGuestContainerBounds/1 -WebViewTests/WebViewTest.NoContentSettingsAPI/0 +-WebViewTests/WebViewTest.NoContentSettingsAPI/1 -WebViewTests/WebViewTest.NoPermission/0 +-WebViewTests/WebViewTest.NoPermission/1 -WebViewTests/WebViewTest.NoPrerenderer/0 +-WebViewTests/WebViewTest.NoPrerenderer/1 -WebViewTests/WebViewTest.OpenURLFromTab_CurrentTab_Abort/0 +-WebViewTests/WebViewTest.OpenURLFromTab_CurrentTab_Abort/1 -WebViewTests/WebViewTest.OpenURLFromTab_CurrentTab_Succeed/0 +-WebViewTests/WebViewTest.OpenURLFromTab_CurrentTab_Succeed/1 -WebViewTests/WebViewTest.ReloadEmbedder/0 +-WebViewTests/WebViewTest.ReloadEmbedder/1 -WebViewTests/WebViewTest.ReloadWebviewAccessibleResource/0 +-WebViewTests/WebViewTest.ReloadWebviewAccessibleResource/1 -WebViewTests/WebViewTest.ScreenCoordinates/0 +-WebViewTests/WebViewTest.ScreenCoordinates/1 -WebViewTests/WebViewTest.SelectShowHide/0 +-WebViewTests/WebViewTest.SelectShowHide/1 -WebViewTests/WebViewTest.SendMessageToComponentExtensionFromGuest/0 +-WebViewTests/WebViewTest.SendMessageToComponentExtensionFromGuest/1 -WebViewTests/WebViewTest.SendMessageToExtensionFromGuest/0 +-WebViewTests/WebViewTest.SendMessageToExtensionFromGuest/1 -WebViewTests/WebViewTest.SetPropertyOnDocumentInteractive/0 +-WebViewTests/WebViewTest.SetPropertyOnDocumentInteractive/1 -WebViewTests/WebViewTest.SetPropertyOnDocumentReady/0 +-WebViewTests/WebViewTest.SetPropertyOnDocumentReady/1 -WebViewTests/WebViewTest.ShimSrcAttribute/0 +-WebViewTests/WebViewTest.ShimSrcAttribute/1 -WebViewTests/WebViewTest.Shim_TestAPIMethodExistence/0 +-WebViewTests/WebViewTest.Shim_TestAPIMethodExistence/1 -WebViewTests/WebViewTest.Shim_TestAddAndRemoveContentScripts/0 +-WebViewTests/WebViewTest.Shim_TestAddAndRemoveContentScripts/1 -WebViewTests/WebViewTest.Shim_TestAddContentScript/0 +-WebViewTests/WebViewTest.Shim_TestAddContentScript/1 -WebViewTests/WebViewTest.Shim_TestAddContentScriptToOneWebViewShouldNotInjectToTheOtherWebView/0 +-WebViewTests/WebViewTest.Shim_TestAddContentScriptToOneWebViewShouldNotInjectToTheOtherWebView/1 -WebViewTests/WebViewTest.Shim_TestAddContentScriptWithCode/0 +-WebViewTests/WebViewTest.Shim_TestAddContentScriptWithCode/1 -WebViewTests/WebViewTest.Shim_TestAddContentScriptWithSameNameShouldOverwriteTheExistingOne/0 +-WebViewTests/WebViewTest.Shim_TestAddContentScriptWithSameNameShouldOverwriteTheExistingOne/1 -WebViewTests/WebViewTest.Shim_TestAddMultipleContentScripts/0 +-WebViewTests/WebViewTest.Shim_TestAddMultipleContentScripts/1 -WebViewTests/WebViewTest.Shim_TestAddMultipleContentScriptsWithCodeAndCheckGeneratedScriptUrl/0 +-WebViewTests/WebViewTest.Shim_TestAddMultipleContentScriptsWithCodeAndCheckGeneratedScriptUrl/1 -WebViewTests/WebViewTest.Shim_TestAllowTransparencyAttribute/0 +-WebViewTests/WebViewTest.Shim_TestAllowTransparencyAttribute/1 -WebViewTests/WebViewTest.Shim_TestAssignSrcAfterCrash/0 +-WebViewTests/WebViewTest.Shim_TestAssignSrcAfterCrash/1 -WebViewTests/WebViewTest.Shim_TestBlobURL/0 +-WebViewTests/WebViewTest.Shim_TestBlobURL/1 -WebViewTests/WebViewTest.Shim_TestCannotMutateEventName/0 +-WebViewTests/WebViewTest.Shim_TestCannotMutateEventName/1 -WebViewTests/WebViewTest.Shim_TestChromeExtensionRelativePath/0 +-WebViewTests/WebViewTest.Shim_TestChromeExtensionRelativePath/1 -WebViewTests/WebViewTest.Shim_TestChromeExtensionURL/0 +-WebViewTests/WebViewTest.Shim_TestChromeExtensionURL/1 -WebViewTests/WebViewTest.Shim_TestCloseNewWindowCleanup/0 +-WebViewTests/WebViewTest.Shim_TestCloseNewWindowCleanup/1 -WebViewTests/WebViewTest.Shim_TestContentInitiatedNavigationToDataUrlBlocked/0 +-WebViewTests/WebViewTest.Shim_TestContentInitiatedNavigationToDataUrlBlocked/1 -WebViewTests/WebViewTest.Shim_TestContentLoadEvent/0 +-WebViewTests/WebViewTest.Shim_TestContentLoadEvent/1 -WebViewTests/WebViewTest.Shim_TestContentLoadEventWithDisplayNone/0 +-WebViewTests/WebViewTest.Shim_TestContentLoadEventWithDisplayNone/1 -WebViewTests/WebViewTest.Shim_TestContentScriptExistsAsLongAsWebViewTagExists/0 +-WebViewTests/WebViewTest.Shim_TestContentScriptExistsAsLongAsWebViewTagExists/1 -WebViewTests/WebViewTest.Shim_TestContentScriptIsInjectedAfterTerminateAndReloadWebView/0 +-WebViewTests/WebViewTest.Shim_TestContentScriptIsInjectedAfterTerminateAndReloadWebView/1 -WebViewTests/WebViewTest.Shim_TestDeclarativeWebRequestAPI/0 +-WebViewTests/WebViewTest.Shim_TestDeclarativeWebRequestAPI/1 -WebViewTests/WebViewTest.Shim_TestDeclarativeWebRequestAPISendMessage/0 +-WebViewTests/WebViewTest.Shim_TestDeclarativeWebRequestAPISendMessage/1 -WebViewTests/WebViewTest.Shim_TestDeclarativeWebRequestAPISendMessageSecondWebView/0 +-WebViewTests/WebViewTest.Shim_TestDeclarativeWebRequestAPISendMessageSecondWebView/1 -WebViewTests/WebViewTest.Shim_TestDestroyOnEventListener/0 +-WebViewTests/WebViewTest.Shim_TestDestroyOnEventListener/1 -WebViewTests/WebViewTest.Shim_TestDisabledZoomMode/0 +-WebViewTests/WebViewTest.Shim_TestDisabledZoomMode/1 -WebViewTests/WebViewTest.Shim_TestDisplayBlock/0 +-WebViewTests/WebViewTest.Shim_TestDisplayBlock/1 -WebViewTests/WebViewTest.Shim_TestDisplayNoneWebviewLoad/0 +-WebViewTests/WebViewTest.Shim_TestDisplayNoneWebviewLoad/1 -WebViewTests/WebViewTest.Shim_TestDisplayNoneWebviewRemoveChild/0 +-WebViewTests/WebViewTest.Shim_TestDisplayNoneWebviewRemoveChild/1 -WebViewTests/WebViewTest.Shim_TestEventName/0 +-WebViewTests/WebViewTest.Shim_TestEventName/1 -WebViewTests/WebViewTest.Shim_TestExecuteScript/0 +-WebViewTests/WebViewTest.Shim_TestExecuteScript/1 -WebViewTests/WebViewTest.Shim_TestExecuteScriptFail/0 +-WebViewTests/WebViewTest.Shim_TestExecuteScriptFail/1 -WebViewTests/WebViewTest.Shim_TestExecuteScriptIsAbortedWhenWebViewSourceIsInvalid/0 +-WebViewTests/WebViewTest.Shim_TestExecuteScriptIsAbortedWhenWebViewSourceIsInvalid/1 -WebViewTests/WebViewTest.Shim_TestFindAPI/0 +-WebViewTests/WebViewTest.Shim_TestFindAPI/1 -WebViewTests/WebViewTest.Shim_TestFindAPI_findupdate/0 +-WebViewTests/WebViewTest.Shim_TestFindAPI_findupdate/1 -WebViewTests/WebViewTest.Shim_TestFocusWhileFocused/0 +-WebViewTests/WebViewTest.Shim_TestFocusWhileFocused/1 -WebViewTests/WebViewTest.Shim_TestGarbageCollect/0 +-WebViewTests/WebViewTest.Shim_TestGarbageCollect/1 -WebViewTests/WebViewTest.Shim_TestGetProcessId/0 +-WebViewTests/WebViewTest.Shim_TestGetProcessId/1 -WebViewTests/WebViewTest.Shim_TestInlineScriptFromAccessibleResources/0 +-WebViewTests/WebViewTest.Shim_TestInlineScriptFromAccessibleResources/1 -WebViewTests/WebViewTest.Shim_TestInvalidChromeExtensionURL/0 +-WebViewTests/WebViewTest.Shim_TestInvalidChromeExtensionURL/1 -WebViewTests/WebViewTest.Shim_TestLoadAbortChromeExtensionURLWrongPartition/0 +-WebViewTests/WebViewTest.Shim_TestLoadAbortChromeExtensionURLWrongPartition/1 -WebViewTests/WebViewTest.Shim_TestLoadAbortEmptyResponse/0 +-WebViewTests/WebViewTest.Shim_TestLoadAbortEmptyResponse/1 -WebViewTests/WebViewTest.Shim_TestLoadAbortIllegalChromeURL/0 +-WebViewTests/WebViewTest.Shim_TestLoadAbortIllegalChromeURL/1 -WebViewTests/WebViewTest.Shim_TestLoadAbortIllegalFileURL/0 +-WebViewTests/WebViewTest.Shim_TestLoadAbortIllegalFileURL/1 -WebViewTests/WebViewTest.Shim_TestLoadAbortIllegalJavaScriptURL/0 +-WebViewTests/WebViewTest.Shim_TestLoadAbortIllegalJavaScriptURL/1 -WebViewTests/WebViewTest.Shim_TestLoadAbortInvalidNavigation/0 +-WebViewTests/WebViewTest.Shim_TestLoadAbortInvalidNavigation/1 -WebViewTests/WebViewTest.Shim_TestLoadAbortNonWebSafeScheme/0 +-WebViewTests/WebViewTest.Shim_TestLoadAbortNonWebSafeScheme/1 -WebViewTests/WebViewTest.Shim_TestLoadDataAPI/0 +-WebViewTests/WebViewTest.Shim_TestLoadDataAPI/1 -WebViewTests/WebViewTest.Shim_TestLoadProgressEvent/0 +-WebViewTests/WebViewTest.Shim_TestLoadProgressEvent/1 -WebViewTests/WebViewTest.Shim_TestLoadStartLoadRedirect/0 +-WebViewTests/WebViewTest.Shim_TestLoadStartLoadRedirect/1 -WebViewTests/WebViewTest.Shim_TestMailtoLink/0 +-WebViewTests/WebViewTest.Shim_TestMailtoLink/1 -WebViewTests/WebViewTest.Shim_TestNavOnConsecutiveSrcAttributeChanges/0 +-WebViewTests/WebViewTest.Shim_TestNavOnConsecutiveSrcAttributeChanges/1 -WebViewTests/WebViewTest.Shim_TestNavOnSrcAttributeChange/0 +-WebViewTests/WebViewTest.Shim_TestNavOnSrcAttributeChange/1 -WebViewTests/WebViewTest.Shim_TestNavigateAfterResize/0 +-WebViewTests/WebViewTest.Shim_TestNavigateAfterResize/1 -WebViewTests/WebViewTest.Shim_TestNavigationToExternalProtocol/0 +-WebViewTests/WebViewTest.Shim_TestNavigationToExternalProtocol/1 -WebViewTests/WebViewTest.Shim_TestNestedCrossOriginSubframes/0 +-WebViewTests/WebViewTest.Shim_TestNestedCrossOriginSubframes/1 -WebViewTests/WebViewTest.Shim_TestNestedSubframes/0 +-WebViewTests/WebViewTest.Shim_TestNestedSubframes/1 -WebViewTests/WebViewTest.Shim_TestOnEventProperty/0 +-WebViewTests/WebViewTest.Shim_TestOnEventProperty/1 -WebViewTests/WebViewTest.Shim_TestPartitionChangeAfterNavigation/0 +-WebViewTests/WebViewTest.Shim_TestPartitionChangeAfterNavigation/1 -WebViewTests/WebViewTest.Shim_TestPartitionRemovalAfterNavigationFails/0 +-WebViewTests/WebViewTest.Shim_TestPartitionRemovalAfterNavigationFails/1 -WebViewTests/WebViewTest.Shim_TestPerOriginZoomMode/0 +-WebViewTests/WebViewTest.Shim_TestPerOriginZoomMode/1 -WebViewTests/WebViewTest.Shim_TestPerViewZoomMode/0 +-WebViewTests/WebViewTest.Shim_TestPerViewZoomMode/1 -WebViewTests/WebViewTest.Shim_TestReassignSrcAttribute/0 +-WebViewTests/WebViewTest.Shim_TestReassignSrcAttribute/1 -WebViewTests/WebViewTest.Shim_TestReload/0 +-WebViewTests/WebViewTest.Shim_TestReload/1 -WebViewTests/WebViewTest.Shim_TestReloadAfterTerminate/0 +-WebViewTests/WebViewTest.Shim_TestReloadAfterTerminate/1 -WebViewTests/WebViewTest.Shim_TestRemoveSrcAttribute/0 +-WebViewTests/WebViewTest.Shim_TestRemoveSrcAttribute/1 -WebViewTests/WebViewTest.Shim_TestRemoveWebviewAfterNavigation/0 +-WebViewTests/WebViewTest.Shim_TestRemoveWebviewAfterNavigation/1 -WebViewTests/WebViewTest.Shim_TestRemoveWebviewOnExit/0 +-WebViewTests/WebViewTest.Shim_TestRemoveWebviewOnExit/1 -WebViewTests/WebViewTest.Shim_TestRendererNavigationRedirectWhileUnattached/0 +-WebViewTests/WebViewTest.Shim_TestRendererNavigationRedirectWhileUnattached/1 -WebViewTests/WebViewTest.Shim_TestTerminateAfterExit/0 +-WebViewTests/WebViewTest.Shim_TestTerminateAfterExit/1 -WebViewTests/WebViewTest.Shim_TestWebRequestAPI/0 +-WebViewTests/WebViewTest.Shim_TestWebRequestAPI/1 -WebViewTests/WebViewTest.Shim_TestWebRequestAPIAddListener/0 +-WebViewTests/WebViewTest.Shim_TestWebRequestAPIAddListener/1 -WebViewTests/WebViewTest.Shim_TestWebRequestAPIErrorOccurred/0 +-WebViewTests/WebViewTest.Shim_TestWebRequestAPIErrorOccurred/1 -WebViewTests/WebViewTest.Shim_TestWebRequestAPIExistence/0 +-WebViewTests/WebViewTest.Shim_TestWebRequestAPIExistence/1 -WebViewTests/WebViewTest.Shim_TestWebRequestAPIGoogleProperty/0 +-WebViewTests/WebViewTest.Shim_TestWebRequestAPIGoogleProperty/1 -WebViewTests/WebViewTest.Shim_TestWebRequestAPIOnlyForInstance/0 +-WebViewTests/WebViewTest.Shim_TestWebRequestAPIOnlyForInstance/1 -WebViewTests/WebViewTest.Shim_TestWebRequestAPIWithHeaders/0 +-WebViewTests/WebViewTest.Shim_TestWebRequestAPIWithHeaders/1 -WebViewTests/WebViewTest.Shim_TestWebRequestListenerSurvivesReparenting/0 +-WebViewTests/WebViewTest.Shim_TestWebRequestListenerSurvivesReparenting/1 -WebViewTests/WebViewTest.Shim_TestWebViewInsideFrame/0 +-WebViewTests/WebViewTest.Shim_TestWebViewInsideFrame/1 -WebViewTests/WebViewTest.Shim_TestZoomAPI/0 +-WebViewTests/WebViewTest.Shim_TestZoomAPI/1 -WebViewTests/WebViewTest.Shim_TestZoomBeforeNavigation/0 +-WebViewTests/WebViewTest.Shim_TestZoomBeforeNavigation/1 -WebViewTests/WebViewTest.Shim_WebViewWebRequestRegistryHasNoCache/0 +-WebViewTests/WebViewTest.Shim_WebViewWebRequestRegistryHasNoCache/1 -WebViewTests/WebViewTest.Shim_testFindInMultipleWebViews/0 +-WebViewTests/WebViewTest.Shim_testFindInMultipleWebViews/1 -WebViewTests/WebViewTest.StoragePersistence/0 +-WebViewTests/WebViewTest.StoragePersistence/1 -WebViewTests/WebViewTest.TaskManagerExistingWebView/0 +-WebViewTests/WebViewTest.TaskManagerExistingWebView/1 -WebViewTests/WebViewTest.TaskManagerNewWebView/0 +-WebViewTests/WebViewTest.TaskManagerNewWebView/1 -WebViewTests/WebViewTest.TearDownTest/0 +-WebViewTests/WebViewTest.TearDownTest/1 -WebViewTests/WebViewTest.TestConfirmDialog/0 +-WebViewTests/WebViewTest.TestConfirmDialog/1 -WebViewTests/WebViewTest.TestContextMenu/0 +-WebViewTests/WebViewTest.TestContextMenu/1 -WebViewTests/WebViewTest.TestPlugin/0 +-WebViewTests/WebViewTest.TestPlugin/1 -WebViewTests/WebViewTest.UserAgent/0 +-WebViewTests/WebViewTest.UserAgent/1 -WebViewTests/WebViewTest.WebViewInBackgroundPage/0 +-WebViewTests/WebViewTest.WebViewInBackgroundPage/1 -WebViewTests/WebViewTest.WhitelistedContentScript/0 +-WebViewTests/WebViewTest.WhitelistedContentScript/1 -WebViewTests/WebViewVisibilityTest.EmbedderVisibilityChanged/0 +-WebViewTests/WebViewVisibilityTest.EmbedderVisibilityChanged/1 -WebViewTests/WebViewVisibilityTest.GuestVisibilityChanged/0 +-WebViewTests/WebViewVisibilityTest.GuestVisibilityChanged/1 -WebViewTests/WebViewVisibilityTest.Shim_TestHiddenBeforeNavigation/0 +-WebViewTests/WebViewVisibilityTest.Shim_TestHiddenBeforeNavigation/1 -WebrtcAudioPrivateTest.TriggerEvent -WebstoreInlineInstallerTest.CloseTabBeforeInstallConfirmation -WebstoreInlineInstallerTest.NavigateBeforeInstallConfirmation
diff --git a/testing/buildbot/gn_isolate_map.pyl b/testing/buildbot/gn_isolate_map.pyl index 8972d0c..d0f310eb 100644 --- a/testing/buildbot/gn_isolate_map.pyl +++ b/testing/buildbot/gn_isolate_map.pyl
@@ -397,6 +397,10 @@ "label": "//courgette:courgette_unittests", "type": "console_test_launcher", }, + "crashpad_util_test": { + "label": "//third_party/crashpad/crashpad/util:crashpad_util_test", + "type": "console_test_launcher", + }, "cronet_package": { "label": "//components/cronet/android:cronet_package", "type": "additional_compile_target",
diff --git a/testing/libfuzzer/fuzzers/libxml_xml_read_memory_fuzzer.cc b/testing/libfuzzer/fuzzers/libxml_xml_read_memory_fuzzer.cc index 7afe758..3c2589c 100644 --- a/testing/libfuzzer/fuzzers/libxml_xml_read_memory_fuzzer.cc +++ b/testing/libfuzzer/fuzzers/libxml_xml_read_memory_fuzzer.cc
@@ -25,7 +25,11 @@ const std::size_t data_hash = std::hash<std::string>()(data_string); const int max_option_value = std::numeric_limits<int>::max(); // Disable XML_PARSE_HUGE to avoid stack overflow. http://crbug.com/738947. - const int random_option = data_hash & max_option_value & ~XML_PARSE_HUGE; + // Disable XML_PARSE_NOENT, XML_PARSE_DTD[LOAD|ATTR|VALID] to avoid timeout + // loading external entity from stdin. http://crbug.com/755142. + const int random_option = data_hash & max_option_value & ~XML_PARSE_NOENT & + ~XML_PARSE_DTDLOAD & ~XML_PARSE_DTDATTR & + ~XML_PARSE_DTDVALID & ~XML_PARSE_HUGE; const int options[] = {0, random_option}; for (const auto option_value : options) {
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json index bb831c7..f2e1553 100644 --- a/testing/variations/fieldtrial_testing_config.json +++ b/testing/variations/fieldtrial_testing_config.json
@@ -3160,7 +3160,7 @@ ] } ], - "SerializeCoreAudioPauseResume": [ + "SerializeCoreAudioPauseAndResumeDuringSystemSleep": [ { "platforms": [ "mac"
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 b/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 index ef33e2a8..375749b 100644 --- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 +++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
@@ -1450,8 +1450,8 @@ crbug.com/702353 virtual/threaded/transitions/transition-end-event-destroy-iframe.html [ Timeout ] crbug.com/702365 virtual/threaded/animations/composited-filter-webkit-filter.html [ Failure ] crbug.com/702370 virtual/threaded/animations/compositor-independent-transform-cancel.html [ Failure ] -crbug.com/778875 virtual/threaded/fast/compositorworker/animation-worklet-visual-update.html [ Failure Crash ] -crbug.com/778875 virtual/threaded/fast/compositorworker/animation-worklet-animator-animate.html [ Failure ] +crbug.com/778875 virtual/threaded/fast/animationworklet/animation-worklet-visual-update.html [ Failure Crash ] +crbug.com/778875 virtual/threaded/fast/animationworklet/animation-worklet-animator-animate.html [ Failure ] # Eight of the frames in the test below paint no content. In SPv2 we will never # composite animations that paint nothing. For now we mark this test as failing,
diff --git a/third_party/WebKit/LayoutTests/VirtualTestSuites b/third_party/WebKit/LayoutTests/VirtualTestSuites index af5e8d8..81895618 100644 --- a/third_party/WebKit/LayoutTests/VirtualTestSuites +++ b/third_party/WebKit/LayoutTests/VirtualTestSuites
@@ -28,7 +28,7 @@ }, { "prefix": "threaded", - "base": "fast/compositorworker", + "base": "fast/animationworklet", "args": ["--enable-threaded-compositing"] }, {
diff --git a/third_party/WebKit/LayoutTests/accessibility/spelling-markers.html b/third_party/WebKit/LayoutTests/accessibility/spelling-markers.html index 39bc6b2..d5a7c4b 100644 --- a/third_party/WebKit/LayoutTests/accessibility/spelling-markers.html +++ b/third_party/WebKit/LayoutTests/accessibility/spelling-markers.html
@@ -66,7 +66,7 @@ var input = document.getElementById('input'); input.focus(); - var innerEditor = internals.shadowRoot(input).getElementById('inner-editor'); + var innerEditor = internals.innerEditorElement(input); assert_equals(innerEditor.childNodes.length, 1); var text = innerEditor.firstChild; var range = document.createRange(); @@ -90,7 +90,7 @@ return; var textarea = document.getElementById('textarea'); - var innerEditor = internals.shadowRoot(textarea).getElementById('inner-editor'); + var innerEditor = internals.innerEditorElement(textarea); assert_equals(innerEditor.childNodes.length, 1); var text = innerEditor.firstChild; var range = document.createRange();
diff --git a/third_party/WebKit/LayoutTests/editing/input/paste-text-ending-with-interchange-newline-expected.txt b/third_party/WebKit/LayoutTests/editing/input/paste-text-ending-with-interchange-newline-expected.txt index 8771e581..e7898f78 100644 --- a/third_party/WebKit/LayoutTests/editing/input/paste-text-ending-with-interchange-newline-expected.txt +++ b/third_party/WebKit/LayoutTests/editing/input/paste-text-ending-with-interchange-newline-expected.txt
@@ -1,5 +1,4 @@ This tests pasting a text with an interchange new line at the end. WebKit shouldn't insert a new line. | <shadow:root> | <div> -| id="inner-editor" | "abc def"
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/5607069-2-expected.txt b/third_party/WebKit/LayoutTests/editing/inserting/5607069-2-expected.txt index 8b27537..dac9355c 100644 --- a/third_party/WebKit/LayoutTests/editing/inserting/5607069-2-expected.txt +++ b/third_party/WebKit/LayoutTests/editing/inserting/5607069-2-expected.txt
@@ -4,11 +4,9 @@ | this.value="" | <shadow:root> | <div> -| id="inner-editor" | <br> | <input> | type="text" | this.value="" | <shadow:root> | <div> -| id="inner-editor"
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/5607069-3-expected.txt b/third_party/WebKit/LayoutTests/editing/inserting/5607069-3-expected.txt index 67e3d43..5ccb76c 100644 --- a/third_party/WebKit/LayoutTests/editing/inserting/5607069-3-expected.txt +++ b/third_party/WebKit/LayoutTests/editing/inserting/5607069-3-expected.txt
@@ -6,7 +6,6 @@ | this.value="" | <shadow:root> | <div> -| id="inner-editor" | "x" | <br> | "<#selection-caret>x" @@ -15,4 +14,3 @@ | this.value="" | <shadow:root> | <div> -| id="inner-editor"
diff --git a/third_party/WebKit/LayoutTests/editing/pasteboard/copy-image-with-alt-text-expected.txt b/third_party/WebKit/LayoutTests/editing/pasteboard/copy-image-with-alt-text-expected.txt index 88ce907..4f65b7ad 100644 --- a/third_party/WebKit/LayoutTests/editing/pasteboard/copy-image-with-alt-text-expected.txt +++ b/third_party/WebKit/LayoutTests/editing/pasteboard/copy-image-with-alt-text-expected.txt
@@ -3,7 +3,6 @@ Dump of markup 1: | <shadow:root> | <div> -| id="inner-editor" | "Here is an emoticon [], some more text [], an empty alt tag [], no alt tag [] and two consecutive images []. " | <br> @@ -18,7 +17,6 @@ Dump of markup 3: | <shadow:root> | <div> -| id="inner-editor" | "Here is an emoticon [:)], some more text [sample text], an empty alt tag [], no alt tag [] and two consecutive images [firstsecond]. " | <br>
diff --git a/third_party/WebKit/LayoutTests/editing/pasteboard/copy-null-characters-expected.txt b/third_party/WebKit/LayoutTests/editing/pasteboard/copy-null-characters-expected.txt index 624f75f..04b3208 100644 --- a/third_party/WebKit/LayoutTests/editing/pasteboard/copy-null-characters-expected.txt +++ b/third_party/WebKit/LayoutTests/editing/pasteboard/copy-null-characters-expected.txt
@@ -40,7 +40,6 @@ green" | <shadow:root> | <div> -| id="inner-editor" | "Copy paste mebold Copy paste me
diff --git a/third_party/WebKit/LayoutTests/editing/pasteboard/paste-when-over-link-expected.txt b/third_party/WebKit/LayoutTests/editing/pasteboard/paste-when-over-link-expected.txt index 5e9a57c..47b1072 100644 --- a/third_party/WebKit/LayoutTests/editing/pasteboard/paste-when-over-link-expected.txt +++ b/third_party/WebKit/LayoutTests/editing/pasteboard/paste-when-over-link-expected.txt
@@ -6,5 +6,4 @@ After middle click on link: | <shadow:root> | <div> -| id="inner-editor" | "Content"
diff --git a/third_party/WebKit/LayoutTests/editing/selection/dump-as-markup-expected.txt b/third_party/WebKit/LayoutTests/editing/selection/dump-as-markup-expected.txt index d4d52cc..a1964d1 100644 --- a/third_party/WebKit/LayoutTests/editing/selection/dump-as-markup-expected.txt +++ b/third_party/WebKit/LayoutTests/editing/selection/dump-as-markup-expected.txt
@@ -21,7 +21,6 @@ | this.value="" | <shadow:root> | <div> -| id="inner-editor" | " " | <div>
diff --git a/third_party/WebKit/LayoutTests/editing/selection/dump-as-markup-form-text-expected.txt b/third_party/WebKit/LayoutTests/editing/selection/dump-as-markup-form-text-expected.txt index 78aa402..3360a18 100644 --- a/third_party/WebKit/LayoutTests/editing/selection/dump-as-markup-form-text-expected.txt +++ b/third_party/WebKit/LayoutTests/editing/selection/dump-as-markup-form-text-expected.txt
@@ -13,7 +13,6 @@ | this.value="replaced" | <shadow:root> | <div> -| id="inner-editor" | "replaced" | " " @@ -22,7 +21,6 @@ | "original" | <shadow:root> | <div> -| id="inner-editor" | "replaced" | " "
diff --git a/third_party/WebKit/LayoutTests/editing/spelling/context_click_select_misspelling.html b/third_party/WebKit/LayoutTests/editing/spelling/context_click_select_misspelling.html index 44924a92..0f9bbdd2 100644 --- a/third_party/WebKit/LayoutTests/editing/spelling/context_click_select_misspelling.html +++ b/third_party/WebKit/LayoutTests/editing/spelling/context_click_select_misspelling.html
@@ -28,7 +28,7 @@ function findTextNode(node) { if (node.nodeName !== 'INPUT' && node.nodeName !== 'TEXTAREA') return node.firstChild; - return internals.shadowRoot(node).getElementById('inner-editor').firstChild; + return internals.innerEditorElement(node).firstChild; } function assertContextClickSelection(
diff --git a/third_party/WebKit/LayoutTests/editing/spelling/spellcheck_test.js b/third_party/WebKit/LayoutTests/editing/spelling/spellcheck_test.js index aaa2442..3a8e79c 100644 --- a/third_party/WebKit/LayoutTests/editing/spelling/spellcheck_test.js +++ b/third_party/WebKit/LayoutTests/editing/spelling/spellcheck_test.js
@@ -176,16 +176,10 @@ * @param {!HTMLElement} element */ handleInnerEditorOf(element) { - /** @type {!ShadowRoot} */ - const shadowRoot = window.internals.shadowRoot(element); - assert_not_equals( - shadowRoot, undefined, - 'Internal error: text form control element not having shadow tree as ' + - 'internal implementation.'); /** @type {!HTMLDivElement} */ - const innerEditor = shadowRoot.getElementById('inner-editor'); + const innerEditor = internals.innerEditorElement(element); assert_equals(innerEditor.tagName, 'DIV', - 'Internal error: DIV#inner-editor not found in shadow tree.'); + 'Internal error: inner editor DIV not found.'); innerEditor.childNodes.forEach(child => { assert_true(isCharacterData(child), 'Internal error: inner editor having child node that is ' +
diff --git a/third_party/WebKit/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-child-frame-scrolled-content.html b/third_party/WebKit/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-child-frame-scrolled-content.html index 489ea34..5d6179a 100644 --- a/third_party/WebKit/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-child-frame-scrolled-content.html +++ b/third_party/WebKit/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-child-frame-scrolled-content.html
@@ -51,11 +51,11 @@ var iframeCenterX = iframeBoundingRect.left + iframeBoundingRect.width / 2; var iframeCenterY = iframeBoundingRect.top + iframeBoundingRect.height / 2; - // Rect is totally within input box. - checkRect(inputCenterX, inputCenterY, 1, 1, "DIV#inner-editor"); + // Rect is totally within input box. Inner editor div is found. + checkRect(inputCenterX, inputCenterY, 1, 1, "DIV"); // Rect covers both input box and iframe. checkRect(inputCenterX, inputCenterY, inputHeight, inputHeight, - "DIV#content, IFRAME#iframe, DIV#inner-editor, INPUT#text-input, BODY#body"); + "DIV#content, IFRAME#iframe, DIV, INPUT#text-input, BODY#body"); // Rect is totally within iframe. checkRect(iframeCenterX, iframeCenterY, 1, 1, "DIV#content");
diff --git a/third_party/WebKit/LayoutTests/fast/dom/shadow/input-date-display-contents-crash-expected.txt b/third_party/WebKit/LayoutTests/fast/dom/shadow/input-date-display-contents-crash-expected.txt new file mode 100644 index 0000000..654ddf7f --- /dev/null +++ b/third_party/WebKit/LayoutTests/fast/dom/shadow/input-date-display-contents-crash-expected.txt
@@ -0,0 +1 @@ +This test passes if it does not crash.
diff --git a/third_party/WebKit/LayoutTests/fast/dom/shadow/input-date-display-contents-crash.html b/third_party/WebKit/LayoutTests/fast/dom/shadow/input-date-display-contents-crash.html new file mode 100644 index 0000000..f0e3e675 --- /dev/null +++ b/third_party/WebKit/LayoutTests/fast/dom/shadow/input-date-display-contents-crash.html
@@ -0,0 +1,9 @@ +<!DOCTYPE HTML> +<p>This test passes if it does not crash.</p> +<input id="date" type="date" value="1986-07-31"> +<script> + document.getElementById('date').focus(); + document.getElementById('date').style.display = "contents"; + if (window.testRunner) + testRunner.dumpAsText(); +</script>
diff --git a/third_party/WebKit/LayoutTests/fast/forms/suggested-value-after-empty-suggested-value-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/suggested-value-after-empty-suggested-value-expected.txt index ec0f189e..2f2b607 100644 --- a/third_party/WebKit/LayoutTests/fast/forms/suggested-value-after-empty-suggested-value-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/forms/suggested-value-after-empty-suggested-value-expected.txt
@@ -8,7 +8,6 @@ | this.value="initial value" | <shadow:root> | <div> -| id="inner-editor" | "initial value" | <br> | " @@ -26,7 +25,6 @@ | shadow:pseudoId="-webkit-input-placeholder" | "initial placeholder" | <div> -| id="inner-editor" | <br> | " " @@ -36,7 +34,6 @@ | "initial value" | <shadow:root> | <div> -| id="inner-editor" | "initial value" | <br> | " @@ -53,7 +50,6 @@ | shadow:pseudoId="-webkit-input-placeholder" | "initial placeholder" | <div> -| id="inner-editor" | <br> | " " @@ -95,7 +91,6 @@ | shadow:pseudoId="-webkit-input-suggested" | "suggested value" | <div> -| id="inner-editor" | <br> | " " @@ -112,7 +107,6 @@ | shadow:pseudoId="-webkit-input-suggested" | "suggested value" | <div> -| id="inner-editor" | <br> | " " @@ -128,7 +122,6 @@ | shadow:pseudoId="-webkit-input-suggested" | "suggested value" | <div> -| id="inner-editor" | <br> | " " @@ -144,7 +137,6 @@ | shadow:pseudoId="-webkit-input-suggested" | "suggested value" | <div> -| id="inner-editor" | <br> | " " @@ -190,7 +182,6 @@ | this.value="initial value" | <shadow:root> | <div> -| id="inner-editor" | "initial value" | <br> | " @@ -208,7 +199,6 @@ | shadow:pseudoId="-webkit-input-placeholder" | "initial placeholder" | <div> -| id="inner-editor" | <br> | " " @@ -218,7 +208,6 @@ | "initial value" | <shadow:root> | <div> -| id="inner-editor" | "initial value" | <br> | " @@ -235,7 +224,6 @@ | shadow:pseudoId="-webkit-input-placeholder" | "initial placeholder" | <div> -| id="inner-editor" | <br> | " "
diff --git a/third_party/WebKit/LayoutTests/fast/forms/suggested-value-after-setvalue-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/suggested-value-after-setvalue-expected.txt index 0040e2420..c1d8668 100644 --- a/third_party/WebKit/LayoutTests/fast/forms/suggested-value-after-setvalue-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/forms/suggested-value-after-setvalue-expected.txt
@@ -14,7 +14,6 @@ | shadow:pseudoId="-webkit-input-suggested" | "suggested value" | <div> -| id="inner-editor" | "input.value: initial value" | "internals.suggestedValue(input): suggested value" | "input.selectionStart: 0" @@ -32,7 +31,6 @@ | this.value="new value" | <shadow:root> | <div> -| id="inner-editor" | "new value" | "input.value: new value" | "internals.suggestedValue(input): "
diff --git a/third_party/WebKit/LayoutTests/fast/forms/suggested-value-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/suggested-value-expected.txt index 013b480..cd3f7c81 100644 --- a/third_party/WebKit/LayoutTests/fast/forms/suggested-value-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/forms/suggested-value-expected.txt
@@ -14,7 +14,6 @@ | shadow:pseudoId="-webkit-input-suggested" | "suggested value" | <div> -| id="inner-editor" | <input> | id="month" | type="month" @@ -76,7 +75,6 @@ | shadow:pseudoId="-webkit-input-suggested" | "suggested value" | <div> -| id="inner-editor" | <select> | id="select" | <option>
diff --git a/third_party/WebKit/LayoutTests/fast/loader/goto-anchor-infinite-layout-expected.txt b/third_party/WebKit/LayoutTests/fast/loader/goto-anchor-infinite-layout-expected.txt index e976daa7..7fe055b 100644 --- a/third_party/WebKit/LayoutTests/fast/loader/goto-anchor-infinite-layout-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/loader/goto-anchor-infinite-layout-expected.txt
@@ -1,4 +1,4 @@ -CONSOLE WARNING: Failed to decode downloaded font: data:text/plain, +CONSOLE WARNING: line 21: Failed to decode downloaded font: data:text/plain, Test for https://bugs.webkit.org/show_bug.cgi?id=27137 REGRESSION (r44311): Reproducible crash due to infinite recursion into FrameLoader::gotoAnchor() -> FrameView::layout(). The test passes if it does not hang or crash.
diff --git a/third_party/WebKit/LayoutTests/fast/loader/goto-anchor-infinite-layout.html b/third_party/WebKit/LayoutTests/fast/loader/goto-anchor-infinite-layout.html index 02a2be5..b48baf0 100644 --- a/third_party/WebKit/LayoutTests/fast/loader/goto-anchor-infinite-layout.html +++ b/third_party/WebKit/LayoutTests/fast/loader/goto-anchor-infinite-layout.html
@@ -15,15 +15,8 @@ This is the anchor. </div> <script> - if (window.testRunner) { + if (window.testRunner) testRunner.dumpAsText(); - testRunner.waitUntilDone(); - } document.write(location.href="#anchor"); - - window.onload = setTimeout(function() { - if (window.testRunner) - testRunner.notifyDone(); - }, 0); </script>
diff --git a/third_party/WebKit/LayoutTests/fast/parser/object-with-textarea-fallback-expected.txt b/third_party/WebKit/LayoutTests/fast/parser/object-with-textarea-fallback-expected.txt index 01b6b58b0..d04bc11 100644 --- a/third_party/WebKit/LayoutTests/fast/parser/object-with-textarea-fallback-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/parser/object-with-textarea-fallback-expected.txt
@@ -15,7 +15,6 @@ | this.value="" | <shadow:root> | <div> -| id="inner-editor" | " " | <shadow:root>
diff --git a/third_party/WebKit/LayoutTests/fast/text/custom-font-data-crash2-expected.txt b/third_party/WebKit/LayoutTests/fast/text/custom-font-data-crash2-expected.txt index 07c1cbc0..1c9ef025 100644 --- a/third_party/WebKit/LayoutTests/fast/text/custom-font-data-crash2-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/text/custom-font-data-crash2-expected.txt
@@ -1,5 +1,5 @@ CONSOLE WARNING: Failed to decode downloaded font: custom-font-data-crash2.html CONSOLE WARNING: OTS parsing error: invalid version tag -CONSOLE WARNING: Failed to decode downloaded font: custom-font-data-crash2.html -CONSOLE WARNING: OTS parsing error: invalid version tag +CONSOLE WARNING: line 15: Failed to decode downloaded font: custom-font-data-crash2.html +CONSOLE WARNING: line 15: OTS parsing error: invalid version tag PASS
diff --git a/third_party/WebKit/LayoutTests/fast/text/custom-font-data-crash2.html b/third_party/WebKit/LayoutTests/fast/text/custom-font-data-crash2.html index 1103bdd1..15122969 100644 --- a/third_party/WebKit/LayoutTests/fast/text/custom-font-data-crash2.html +++ b/third_party/WebKit/LayoutTests/fast/text/custom-font-data-crash2.html
@@ -9,12 +9,10 @@ <div id="y">EFGH</div> </body> <script> -window.onload = function() { +function finish() { document.body.innerHTML = "PASS"; - setTimeout(function() { - if (window.testRunner) - testRunner.notifyDone(); - }, 0); + if (window.testRunner) + testRunner.notifyDone(); } if (window.testRunner) { @@ -24,9 +22,12 @@ document.designMode = 'on'; document.execCommand('selectall'); + +// Let the font load to finish. +setTimeout("finish()", 50); </script> <style> #y:before { content: "ABCD"; } </style> </body> -</html> +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/fragmentation/column-fill-auto-child-expected.png b/third_party/WebKit/LayoutTests/fragmentation/column-fill-auto-child-expected.png new file mode 100644 index 0000000..6cda17ad --- /dev/null +++ b/third_party/WebKit/LayoutTests/fragmentation/column-fill-auto-child-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fragmentation/column-fill-auto-child-expected.txt b/third_party/WebKit/LayoutTests/fragmentation/column-fill-auto-child-expected.txt new file mode 100644 index 0000000..597c9aa --- /dev/null +++ b/third_party/WebKit/LayoutTests/fragmentation/column-fill-auto-child-expected.txt
@@ -0,0 +1,12 @@ +layer at (0,0) size 800x600 + LayoutView at (0,0) size 800x600 +layer at (0,0) size 800x316 + LayoutBlockFlow {HTML} at (0,0) size 800x316 + LayoutBlockFlow {BODY} at (8,8) size 784x300 + LayoutBlockFlow {DIV} at (0,0) size 100x100 [bgcolor=#FF0000] +layer at (8,108) size 784x200 + LayoutBlockFlow {DIV} at (0,100) size 784x200 + LayoutMultiColumnSet (anonymous) at (0,0) size 784x200 +layer at (8,108) size 384x0 + LayoutMultiColumnFlowThread (anonymous) at (0,0) size 384x0 + LayoutBlockFlow {DIV} at (0,-100) size 100x100 [bgcolor=#008000]
diff --git a/third_party/WebKit/LayoutTests/fragmentation/column-fill-auto-child.html b/third_party/WebKit/LayoutTests/fragmentation/column-fill-auto-child.html new file mode 100644 index 0000000..0750b438 --- /dev/null +++ b/third_party/WebKit/LayoutTests/fragmentation/column-fill-auto-child.html
@@ -0,0 +1,10 @@ +<!DOCTYPE html> +<style> + .test { margin-top:-100px; } + .test:hover { margin-top:-95px; } +</style> +<!-- Passes if there is a green square below, and no red. --> +<div id=red style="width:100px; height:100px; background:red;"></div> +<div id=multicol style="columns:2; column-fill:auto; height:200px;"> + <div class="test" style="width:100px; height:100px; background:green;"></div> +</div>
diff --git a/third_party/WebKit/LayoutTests/http/tests/devtools/elements/edit/shadow-dom-modify-chardata-expected.txt b/third_party/WebKit/LayoutTests/http/tests/devtools/elements/edit/shadow-dom-modify-chardata-expected.txt index b88324f..18c4570 100644 --- a/third_party/WebKit/LayoutTests/http/tests/devtools/elements/edit/shadow-dom-modify-chardata-expected.txt +++ b/third_party/WebKit/LayoutTests/http/tests/devtools/elements/edit/shadow-dom-modify-chardata-expected.txt
@@ -7,7 +7,7 @@ - <div id="container"> - <input type="text" id="input1"> - #shadow-root (user-agent) - <div id="inner-editor"></div> + <div></div> </input> </div> @@ -16,7 +16,7 @@ - <div id="container"> - <input type="text" id="input1"> - #shadow-root (user-agent) - <div id="inner-editor">Bar</div> + <div>Bar</div> </input> </div>
diff --git a/third_party/WebKit/LayoutTests/http/tests/devtools/elements/elements-panel-search-expected.txt b/third_party/WebKit/LayoutTests/http/tests/devtools/elements/elements-panel-search-expected.txt index beb329d..75585c0 100644 --- a/third_party/WebKit/LayoutTests/http/tests/devtools/elements/elements-panel-search-expected.txt +++ b/third_party/WebKit/LayoutTests/http/tests/devtools/elements/elements-panel-search-expected.txt
@@ -68,8 +68,7 @@ Searching UA shadow DOM with setting disabled: Nothing found Searching UA shadow DOM with setting enabled: -< d i v i d = " i n n e r - e d i t o r " > I n p u t V a l < / d i v > -< d i v i d = " i n n e r - e d i t o r " > < / d i v > +< d i v i d = " u a - s h a d o w - c o n t e n t " > < / d i v > Running: testSearchShadowHostChildren < d i v i d = " s h a d o w - h o s t - c o n t e n t " > < / d i v >
diff --git a/third_party/WebKit/LayoutTests/http/tests/devtools/elements/elements-panel-search.html b/third_party/WebKit/LayoutTests/http/tests/devtools/elements/elements-panel-search.html index 76b7b360..f127afec 100644 --- a/third_party/WebKit/LayoutTests/http/tests/devtools/elements/elements-panel-search.html +++ b/third_party/WebKit/LayoutTests/http/tests/devtools/elements/elements-panel-search.html
@@ -10,6 +10,12 @@ // Avoid matching this function shadow.appendChild(template.content.cloneNode(true)); + + var uaShadow = internals.createUserAgentShadowRoot( + document.querySelector('#ua-shadow-host')); + var uaShadowContent = document.createElement('div'); + uaShadowContent.id = 'ua-shadow-' + 'content'; + uaShadow.appendChild(uaShadowContent); } function test() { @@ -228,8 +234,8 @@ TestRunner.addResult('Searching UA shadow DOM with setting disabled:'); TestRunner.domModel .performSearch( - 'inne' + - 'r-editor', + 'ua-shadow-' + + 'content', false) .then(searchCallback.bind(this, step2)); @@ -237,8 +243,8 @@ TestRunner.addResult('Searching UA shadow DOM with setting enabled:'); TestRunner.domModel .performSearch( - 'inne' + - 'r-editor', + 'ua-shadow-' + + 'content', true) .then(searchCallback.bind(this, next)); } @@ -280,6 +286,7 @@ </div> </template> <textarea></textarea> +<div id="ua-shadow-host"></div> </body> </html>
diff --git a/third_party/WebKit/LayoutTests/images/style-access-during-imageChanged-crash-expected.txt b/third_party/WebKit/LayoutTests/images/style-access-during-imageChanged-crash-expected.txt index e9d9f0b..65cdd87 100644 --- a/third_party/WebKit/LayoutTests/images/style-access-during-imageChanged-crash-expected.txt +++ b/third_party/WebKit/LayoutTests/images/style-access-during-imageChanged-crash-expected.txt
@@ -1,5 +1,5 @@ -CONSOLE WARNING: Failed to decode downloaded font: data:text/plain,1 -CONSOLE WARNING: OTS parsing error: file less than 4 bytes +CONSOLE WARNING: line 14: Failed to decode downloaded font: data:text/plain,1 +CONSOLE WARNING: line 14: OTS parsing error: file less than 4 bytes This test passes if it does not cause an assertion failure or a crash. A
diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/dom-snapshot/dom-snapshot-getSnapshot-input-value-expected.txt b/third_party/WebKit/LayoutTests/inspector-protocol/dom-snapshot/dom-snapshot-getSnapshot-input-value-expected.txt index 643928e2..bf09d5b 100644 --- a/third_party/WebKit/LayoutTests/inspector-protocol/dom-snapshot/dom-snapshot-getSnapshot-input-value-expected.txt +++ b/third_party/WebKit/LayoutTests/inspector-protocol/dom-snapshot/dom-snapshot-getSnapshot-input-value-expected.txt
@@ -187,12 +187,6 @@ "childNodeIndexes": [ 15 ], - "attributes": [ - { - "name": "id", - "value": "inner-editor" - } - ], "layoutNodeIndex": 7, "isClickable": true }, @@ -404,12 +398,6 @@ "childNodeIndexes": [ 30 ], - "attributes": [ - { - "name": "id", - "value": "inner-editor" - } - ], "layoutNodeIndex": 22, "isClickable": true },
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/textarea-set-disabled-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/textarea-set-disabled-expected.txt index 6c80c1c..f4e3e1d 100644 --- a/third_party/WebKit/LayoutTests/paint/invalidation/textarea-set-disabled-expected.txt +++ b/third_party/WebKit/LayoutTests/paint/invalidation/textarea-set-disabled-expected.txt
@@ -12,7 +12,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 100, 10], "reason": "subtree" } @@ -25,7 +25,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" } ]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt index 535cc5a..44d65dc 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt
@@ -7,12 +7,12 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [399, 11, 1, 16], "reason": "caret" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [396, 11, 1, 16], "reason": "caret" }
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/change-text-content-and-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/change-text-content-and-background-color-expected.txt index fe2c2dc..e80a133 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/change-text-content-and-background-color-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/change-text-content-and-background-color-expected.txt
@@ -12,7 +12,7 @@ "reason": "style change" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [30, 30, 200, 24], "reason": "geometry" }, @@ -30,7 +30,7 @@ "reason": "style change" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/details-open-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/details-open-repaint-expected.txt index 7e9166c..cdccc289 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/details-open-repaint-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/details-open-repaint-expected.txt
@@ -17,7 +17,7 @@ "reason": "appeared" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [10, 75, 150, 16], "reason": "appeared" }, @@ -47,11 +47,11 @@ "reason": "appeared" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "appeared" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt index 4877c9a..df44df1 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
@@ -23,7 +23,7 @@ "reason": "full" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [3, 4, 60, 16], "reason": "subtree" }, @@ -41,7 +41,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt index 4877c9a..df44df1 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt
@@ -23,7 +23,7 @@ "reason": "full" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [3, 4, 60, 16], "reason": "subtree" }, @@ -41,7 +41,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/multi-layout-one-frame-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/multi-layout-one-frame-expected.txt index b6eb602..fbc684b 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/multi-layout-one-frame-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/multi-layout-one-frame-expected.txt
@@ -7,12 +7,12 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [168, 11, 150, 16], "reason": "geometry" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [10, 11, 150, 16], "reason": "geometry" }, @@ -31,7 +31,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, { @@ -47,7 +47,7 @@ "reason": "full" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/search-field-cancel-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/search-field-cancel-expected.txt index 72fba60..79107f293 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/search-field-cancel-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/search-field-cancel-expected.txt
@@ -7,7 +7,7 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 47, 137, 16], "reason": "geometry" }, @@ -21,7 +21,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt index 89e53b0a..61d000c 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt
@@ -12,7 +12,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [10, 11, 60, 16], "reason": "subtree" }, @@ -30,7 +30,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt index 89e53b0a..61d000c 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt
@@ -12,7 +12,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [10, 11, 60, 16], "reason": "subtree" }, @@ -30,7 +30,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/subtree-root-skipped-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/subtree-root-skipped-expected.txt index 5dfa3a2..13986d9 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/subtree-root-skipped-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/subtree-root-skipped-expected.txt
@@ -7,7 +7,7 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [10, 11, 150, 16], "reason": "geometry" }, @@ -26,7 +26,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/textarea-caret-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/textarea-caret-expected.txt index 854f227..914e5d9 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/textarea-caret-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/textarea-caret-expected.txt
@@ -17,7 +17,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 175, 16], "reason": "subtree" }, @@ -48,7 +48,7 @@ "reason": "scroll control" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/change-text-content-and-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/change-text-content-and-background-color-expected.txt index b6d1bc02..11a08082 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/change-text-content-and-background-color-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/change-text-content-and-background-color-expected.txt
@@ -12,7 +12,7 @@ "reason": "style change" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [30, 30, 200, 23], "reason": "geometry" }, @@ -30,7 +30,7 @@ "reason": "style change" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/search-field-cancel-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/search-field-cancel-expected.txt index 9c4a754f..4917a8e5 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/search-field-cancel-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/search-field-cancel-expected.txt
@@ -7,7 +7,7 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [12, 45, 113, 13], "reason": "geometry" }, @@ -21,7 +21,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/subtree-root-skipped-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/subtree-root-skipped-expected.txt index adc04a4..3932305e8 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/subtree-root-skipped-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/subtree-root-skipped-expected.txt
@@ -7,7 +7,7 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 125, 13], "reason": "geometry" }, @@ -26,7 +26,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/search-field-cancel-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/search-field-cancel-expected.txt index 1fe2d4c..45b8107 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/search-field-cancel-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/search-field-cancel-expected.txt
@@ -7,7 +7,7 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [12, 45, 113, 13], "reason": "geometry" }, @@ -21,7 +21,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/subtree-root-skipped-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/subtree-root-skipped-expected.txt index 27ed42a..3266d95c 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/subtree-root-skipped-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/subtree-root-skipped-expected.txt
@@ -7,7 +7,7 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 125, 13], "reason": "geometry" }, @@ -26,7 +26,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt index 6b66c79..7aad026 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt
@@ -12,7 +12,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 42, 13], "reason": "subtree" }, @@ -30,7 +30,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt index 6b66c79..7aad026 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt
@@ -12,7 +12,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 42, 13], "reason": "subtree" }, @@ -30,7 +30,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/search-field-cancel-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/search-field-cancel-expected.txt index 1fe2d4c..45b8107 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/search-field-cancel-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/search-field-cancel-expected.txt
@@ -7,7 +7,7 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [12, 45, 113, 13], "reason": "geometry" }, @@ -21,7 +21,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/subtree-root-skipped-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/subtree-root-skipped-expected.txt index 27ed42a..3266d95c 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/subtree-root-skipped-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/subtree-root-skipped-expected.txt
@@ -7,7 +7,7 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 125, 13], "reason": "geometry" }, @@ -26,7 +26,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt index 8ad563ef..1ea85e0 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt
@@ -7,12 +7,12 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [407, 11, 2, 13], "reason": "caret" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [405, 11, 2, 13], "reason": "caret" }
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/caret-subpixel-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/caret-subpixel-expected.txt index d62b5c8..24ed7ad 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/caret-subpixel-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/caret-subpixel-expected.txt
@@ -12,7 +12,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 201, 13], "reason": "subtree" } @@ -25,7 +25,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/caret-with-composited-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/caret-with-composited-scroll-expected.txt index e55063f0..2f1c958 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/caret-with-composited-scroll-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/caret-with-composited-scroll-expected.txt
@@ -28,7 +28,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [3, 1003, 200, 13], "reason": "subtree" } @@ -70,7 +70,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/change-text-content-and-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/change-text-content-and-background-color-expected.txt index 9d706ca..cf50cab 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/change-text-content-and-background-color-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/change-text-content-and-background-color-expected.txt
@@ -12,7 +12,7 @@ "reason": "style change" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [30, 30, 200, 23], "reason": "geometry" }, @@ -30,7 +30,7 @@ "reason": "style change" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/details-open-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/details-open-repaint-expected.txt index 20a8026..ad131fa 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/details-open-repaint-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/details-open-repaint-expected.txt
@@ -17,7 +17,7 @@ "reason": "appeared" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 71, 125, 13], "reason": "appeared" }, @@ -47,11 +47,11 @@ "reason": "appeared" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "appeared" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt index 522d15c..5f8b918 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
@@ -23,7 +23,7 @@ "reason": "full" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [6, 6, 35, 13], "reason": "subtree" }, @@ -41,7 +41,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt index 522d15c..5f8b918 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt
@@ -23,7 +23,7 @@ "reason": "full" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [6, 6, 35, 13], "reason": "subtree" }, @@ -41,7 +41,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/multi-layout-one-frame-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/multi-layout-one-frame-expected.txt index 92228ac..64a05cd0 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/multi-layout-one-frame-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/multi-layout-one-frame-expected.txt
@@ -7,12 +7,12 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [146, 11, 125, 13], "reason": "geometry" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 125, 13], "reason": "geometry" }, @@ -31,7 +31,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, { @@ -47,7 +47,7 @@ "reason": "full" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/search-field-cancel-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/search-field-cancel-expected.txt index 6182212..ef42a9d6 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/search-field-cancel-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/search-field-cancel-expected.txt
@@ -7,7 +7,7 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [12, 45, 113, 13], "reason": "geometry" }, @@ -21,7 +21,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt index effa5b5f..1d0e964 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt
@@ -12,7 +12,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 35, 13], "reason": "subtree" }, @@ -30,7 +30,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt index effa5b5f..1d0e964 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt
@@ -12,7 +12,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 35, 13], "reason": "subtree" }, @@ -30,7 +30,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/subtree-root-skipped-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/subtree-root-skipped-expected.txt index adc04a4..3932305e8 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/subtree-root-skipped-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/subtree-root-skipped-expected.txt
@@ -7,7 +7,7 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 125, 13], "reason": "geometry" }, @@ -26,7 +26,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/textarea-caret-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/textarea-caret-expected.txt index ca499bd6..886d059 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/textarea-caret-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/textarea-caret-expected.txt
@@ -12,7 +12,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 135, 13], "reason": "subtree" }, @@ -61,7 +61,7 @@ "reason": "scroll control" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt index eeb9925..a3f374b 100644 --- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt
@@ -7,12 +7,12 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [381, 11, 1, 16], "reason": "caret" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [378, 11, 1, 16], "reason": "caret" }
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/caret-subpixel-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/caret-subpixel-expected.txt index 483d75b..b25129b 100644 --- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/caret-subpixel-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/caret-subpixel-expected.txt
@@ -12,7 +12,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [10, 11, 201, 16], "reason": "subtree" } @@ -25,7 +25,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/caret-with-composited-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/caret-with-composited-scroll-expected.txt index a5a1d71e..c54ed73ae 100644 --- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/caret-with-composited-scroll-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/caret-with-composited-scroll-expected.txt
@@ -28,7 +28,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [3, 1003, 200, 16], "reason": "subtree" } @@ -70,7 +70,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/change-text-content-and-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/change-text-content-and-background-color-expected.txt index 9e3b33e..c51aa722 100644 --- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/change-text-content-and-background-color-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/change-text-content-and-background-color-expected.txt
@@ -12,7 +12,7 @@ "reason": "style change" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [30, 30, 200, 24], "reason": "geometry" }, @@ -30,7 +30,7 @@ "reason": "style change" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/details-open-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/details-open-repaint-expected.txt index e396dd7..adeadf8e 100644 --- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/details-open-repaint-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/details-open-repaint-expected.txt
@@ -17,7 +17,7 @@ "reason": "appeared" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [10, 75, 169, 16], "reason": "appeared" }, @@ -47,11 +47,11 @@ "reason": "appeared" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "appeared" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt index c77aa72..5a698ee 100644 --- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
@@ -23,7 +23,7 @@ "reason": "full" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [3, 4, 64, 16], "reason": "subtree" }, @@ -41,7 +41,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt index c77aa72..5a698ee 100644 --- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt
@@ -23,7 +23,7 @@ "reason": "full" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [3, 4, 64, 16], "reason": "subtree" }, @@ -41,7 +41,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/multi-layout-one-frame-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/multi-layout-one-frame-expected.txt index 7e2fa38..3b6c78c2 100644 --- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/multi-layout-one-frame-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/multi-layout-one-frame-expected.txt
@@ -7,12 +7,12 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [187, 11, 169, 16], "reason": "geometry" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [10, 11, 169, 16], "reason": "geometry" }, @@ -31,7 +31,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, { @@ -47,7 +47,7 @@ "reason": "full" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/search-field-cancel-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/search-field-cancel-expected.txt index 7670db5..6a6adf7 100644 --- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/search-field-cancel-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/search-field-cancel-expected.txt
@@ -7,7 +7,7 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 47, 156, 16], "reason": "geometry" }, @@ -21,7 +21,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt index d3d5553..a3d16f8 100644 --- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt
@@ -12,7 +12,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [10, 11, 64, 16], "reason": "subtree" }, @@ -30,7 +30,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt index d3d5553..a3d16f8 100644 --- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt
@@ -12,7 +12,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [10, 11, 64, 16], "reason": "subtree" }, @@ -30,7 +30,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/subtree-root-skipped-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/subtree-root-skipped-expected.txt index d6febf2..cea9c1e 100644 --- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/subtree-root-skipped-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/subtree-root-skipped-expected.txt
@@ -7,7 +7,7 @@ "backgroundColor": "#FFFFFF", "paintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [10, 11, 169, 16], "reason": "geometry" }, @@ -26,7 +26,7 @@ ], "objectPaintInvalidations": [ { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "geometry" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/textarea-caret-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/textarea-caret-expected.txt index 273996d..db5bbde1 100644 --- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/textarea-caret-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/textarea-caret-expected.txt
@@ -17,7 +17,7 @@ "reason": "subtree" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "rect": [11, 11, 175, 16], "reason": "subtree" }, @@ -48,7 +48,7 @@ "reason": "scroll control" }, { - "object": "LayoutBlockFlow DIV id='inner-editor'", + "object": "LayoutBlockFlow DIV", "reason": "subtree" }, {
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/suggested-value-expected.txt b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/suggested-value-expected.txt index c27e12f..9f1eb3c 100644 --- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/suggested-value-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/suggested-value-expected.txt
@@ -14,7 +14,6 @@ | shadow:pseudoId="-webkit-input-suggested" | "suggested value" | <div> -| id="inner-editor" | "suggested value" | <input> | id="month" @@ -75,7 +74,6 @@ | style="display: none !important;" | shadow:pseudoId="-webkit-input-suggested" | <div> -| id="inner-editor" | <select> | id="select" | <option>
diff --git a/third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/OWNERS b/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/OWNERS similarity index 100% rename from third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/OWNERS rename to third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/OWNERS
diff --git a/third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/README.txt b/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/README.txt similarity index 100% rename from third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/README.txt rename to third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/README.txt
diff --git a/third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/animation-worklet-animator-animate-expected.txt b/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-animator-animate-expected.txt similarity index 100% rename from third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/animation-worklet-animator-animate-expected.txt rename to third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-animator-animate-expected.txt
diff --git a/third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/animation-worklet-animator-animate.html b/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-animator-animate.html similarity index 100% rename from third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/animation-worklet-animator-animate.html rename to third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-animator-animate.html
diff --git a/third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/animation-worklet-animator-registration-expected.txt b/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-animator-registration-expected.txt similarity index 100% rename from third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/animation-worklet-animator-registration-expected.txt rename to third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-animator-registration-expected.txt
diff --git a/third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/animation-worklet-animator-registration.html b/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-animator-registration.html similarity index 100% rename from third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/animation-worklet-animator-registration.html rename to third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-animator-registration.html
diff --git a/third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/animation-worklet-visual-update-expected.html b/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-visual-update-expected.html similarity index 100% rename from third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/animation-worklet-visual-update-expected.html rename to third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-visual-update-expected.html
diff --git a/third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/animation-worklet-visual-update.html b/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-visual-update.html similarity index 100% rename from third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/animation-worklet-visual-update.html rename to third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/animation-worklet-visual-update.html
diff --git a/third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/resources/animation-worklet-tests.js b/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/resources/animation-worklet-tests.js similarity index 100% rename from third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/resources/animation-worklet-tests.js rename to third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/resources/animation-worklet-tests.js
diff --git a/third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/resources/visual-update.js b/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/resources/visual-update.js similarity index 100% rename from third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/resources/visual-update.js rename to third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/resources/visual-update.js
diff --git a/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/visual-update-expected.html b/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/visual-update-expected.html new file mode 100644 index 0000000..50c1a0c7 --- /dev/null +++ b/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/visual-update-expected.html
@@ -0,0 +1,46 @@ +<!DOCTYPE html> +<!-- +Tests that a change from the worker produces a visual update. +--> +<style> +#box { + width: 100px; + height: 100px; + /* A composited DIV background is clipped differently from a non-composited + one. This causes the box to be composited in both cases + TODO(majidvp): fix this mismatch between CC and blink rendering + */ + backface-visibility: hidden; +} + +#covered, #green { + width: 85px; + height: 85px; +} + +#box, #covered { + background-color: #ff8080; + overflow: auto; +} + +#green { + position: relative; + left: 100px; + top: 100px; + background-color: #00ff00; +} + +</style> + +<div id="box"> + <div id="green"></div> +</div> +<div id="covered"></div> + +<script> +var box = document.getElementById('box'); +box.style.transform = 'translate(0, 100px)'; +box.style.opacity = 0.5; +box.scrollLeft = 100; +box.scrollTop = 100; +</script>
diff --git a/third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/worklet-animation-creation.html b/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-creation.html similarity index 100% rename from third_party/WebKit/LayoutTests/virtual/threaded/fast/compositorworker/worklet-animation-creation.html rename to third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-creation.html
diff --git a/third_party/WebKit/LayoutTests/vr/latest/getDevicePose_oneframeupdate.html b/third_party/WebKit/LayoutTests/vr/latest/getDevicePose_oneframeupdate.html new file mode 100644 index 0000000..997b77f --- /dev/null +++ b/third_party/WebKit/LayoutTests/vr/latest/getDevicePose_oneframeupdate.html
@@ -0,0 +1,48 @@ +<!DOCTYPE html> +<script src="../../resources/testharness.js"></script> +<script src="../../resources/testharnessreport.js"></script> +<script src="../resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> +<script src="../resources/mock-vr-service.js"></script> +<script src="../resources/test-constants.js"></script> +<script> +let fakeDisplays = fakeVRDisplays(); + +vr_session_test( (t, session, mockService) => { + session.requestFrameOfReference("eyeLevel").then((frameOfRef) => { + let expected_pose = VALID_POSE; + let counter = 0; + + function onFrame(vrFrame) { + session.requestFrame(onFrame); + if (counter == 0) { + t.step( () => { + assert_equals(vrFrame.getDevicePose(frameOfRef), null); + }, "Expecting to not get a pose since none has been supplied"); + mockService.mockVRDisplays_[0].setPose(expected_pose); + t.step( () => { + assert_equals(vrFrame.getDevicePose(frameOfRef), null); + }, "Does not update pose within the same frame"); + } else { + t.step( () => { + let pose = vrFrame.getDevicePose(frameOfRef); + assert_not_equals(pose, null); + + let poseMatrix = pose.poseModelMatrix; + assert_not_equals(poseMatrix, null); + + let expectedMatrix = matrixFrom11Pose(expected_pose); + assert_matrices_approx_equal(poseMatrix, expectedMatrix); + }, "Pose was updated in the next frame"); + t.done(); + } + counter++; + } + + session.requestFrame(onFrame); + }); +}, fakeDisplays["Pixel"], { exclusive: true }, +"VRPresentationFrame getDevicePose updates on the next frame"); + +</script>
diff --git a/third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js b/third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js index 3743f928..64473ae 100644 --- a/third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js +++ b/third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js
@@ -201,3 +201,58 @@ t.done(); }); } + +// Gets the corresponding transform matrix for a WebVR 1.1 pose +function matrixFrom11Pose(pose) { + let x = pose.orientation[0]; + let y = pose.orientation[1]; + let z = pose.orientation[2]; + let w = pose.orientation[3]; + let x2 = x + x; + let y2 = y + y; + let z2 = z + z; + let xx = x * x2; + let xy = x * y2; + let xz = x * z2; + let yy = y * y2; + let yz = y * z2; + let zz = z * z2; + let wx = w * x2; + let wy = w * y2; + let wz = w * z2; + + let out = new Float32Array(16); + out[0] = 1 - (yy + zz); + out[1] = xy + wz; + out[2] = xz - wy; + out[3] = 0; + out[4] = xy - wz; + out[5] = 1 - (xx + zz); + out[6] = yz + wx; + out[7] = 0; + out[8] = xz + wy; + out[9] = yz - wx; + out[10] = 1 - (xx + yy); + out[11] = 0; + out[12] = pose.position[0]; + out[13] = pose.position[1]; + out[14] = pose.position[2]; + out[15] = 1; + + return out; +} + +function assert_matrices_approx_equal(matA, matB, epsilon = FLOAT_EPSILON) { + if (matA == null && matB == null) { + return; + } + + assert_not_equals(matA, null); + assert_not_equals(matB, null); + + assert_equals(matA.length, 16); + assert_equals(matB.length, 16); + for (let i = 0; i < 16; ++i) { + assert_approx_equals(matA[i], matB[i], epsilon); + } +}
diff --git a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt index 5736ca6..143bfa0 100644 --- a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt +++ b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
@@ -7163,6 +7163,10 @@ attribute @@toStringTag getter device method constructor +interface VRDevicePose + attribute @@toStringTag + getter poseModelMatrix + method constructor interface VRDisplay : EventTarget attribute @@toStringTag getter capabilities @@ -7223,6 +7227,11 @@ getter orientation getter position method constructor +interface VRPresentationFrame + attribute @@toStringTag + getter session + method constructor + method getDevicePose interface VRSession : EventTarget attribute @@toStringTag getter depthFar
diff --git a/third_party/WebKit/Source/bindings/core/v8/NativeValueTraits.h b/third_party/WebKit/Source/bindings/core/v8/NativeValueTraits.h index f7b29954..f8bc5a34 100644 --- a/third_party/WebKit/Source/bindings/core/v8/NativeValueTraits.h +++ b/third_party/WebKit/Source/bindings/core/v8/NativeValueTraits.h
@@ -57,7 +57,7 @@ // which T actually represents the final C++ type that a JavaScript value // should be converted to. Introducing new specializations of this kind is // discouraged. -template <typename T> +template <typename T, typename SFINAEHelper = void> struct NativeValueTraits : public NativeValueTraitsBase<T> { // This declaration serves only as a blueprint for specializations: the // return type can change, but all specializations are expected to provide a
diff --git a/third_party/WebKit/Source/bindings/core/v8/NativeValueTraitsImpl.h b/third_party/WebKit/Source/bindings/core/v8/NativeValueTraitsImpl.h index c0f27809e..7aa121c 100644 --- a/third_party/WebKit/Source/bindings/core/v8/NativeValueTraitsImpl.h +++ b/third_party/WebKit/Source/bindings/core/v8/NativeValueTraitsImpl.h
@@ -13,6 +13,8 @@ namespace blink { +class CallbackFunctionBase; + // Boolean template <> struct CORE_EXPORT NativeValueTraits<IDLBoolean> @@ -528,6 +530,27 @@ } }; +// Callback functions +template <typename T> +struct NativeValueTraits< + T, + typename std::enable_if< + std::is_base_of<CallbackFunctionBase, T>::value>::type> + : public NativeValueTraitsBase<T> { + static T* NativeValue(v8::Isolate* isolate, + v8::Local<v8::Value> value, + ExceptionState& exception_state) { + // Not implemented because of no use case so far. + CHECK(false) + // Emit a message so that NativeValueTraitsImplTest.IDLCallbackFunction + // test can confirm that it's hitting this specific failure. i.e. + // the template resolution is working as expected. + << "NativeValueTraits<CallbackFunctionBase>::NativeValue " + << "is not yet implemented."; + return nullptr; + } +}; + } // namespace blink #endif // NativeValueTraitsImpl_h
diff --git a/third_party/WebKit/Source/bindings/core/v8/NativeValueTraitsImplTest.cpp b/third_party/WebKit/Source/bindings/core/v8/NativeValueTraitsImplTest.cpp index 994654d..0bf153f 100644 --- a/third_party/WebKit/Source/bindings/core/v8/NativeValueTraitsImplTest.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/NativeValueTraitsImplTest.cpp
@@ -5,6 +5,7 @@ #include "bindings/core/v8/NativeValueTraitsImpl.h" #include <utility> + #include "bindings/core/v8/ExceptionState.h" #include "bindings/core/v8/IDLTypes.h" #include "bindings/core/v8/ToV8ForCore.h" @@ -12,6 +13,7 @@ #include "bindings/core/v8/V8Internals.h" #include "bindings/core/v8/v8_test_sequence_callback.h" #include "platform/wtf/Vector.h" +#include "testing/gtest/include/gtest/gtest-death-test.h" #include "testing/gtest/include/gtest/gtest.h" namespace blink { @@ -20,27 +22,24 @@ TEST(NativeValueTraitsImplTest, IDLInterface) { V8TestingScope scope; - { - DummyExceptionStateForTesting exception_state; - Internals* internals = NativeValueTraits<Internals>::NativeValue( - scope.GetIsolate(), v8::Number::New(scope.GetIsolate(), 42), - exception_state); - EXPECT_TRUE(exception_state.HadException()); - EXPECT_EQ("Failed to convert value to 'Internals'.", - exception_state.Message()); - EXPECT_EQ(nullptr, internals); - } - { - DummyExceptionStateForTesting exception_state; - V8TestSequenceCallback* callback_function = - NativeValueTraits<V8TestSequenceCallback>::NativeValue( - scope.GetIsolate(), v8::Undefined(scope.GetIsolate()), - exception_state); - EXPECT_TRUE(exception_state.HadException()); - EXPECT_EQ("Failed to convert value to 'TestSequenceCallback'.", - exception_state.Message()); - EXPECT_EQ(nullptr, callback_function); - } + DummyExceptionStateForTesting exception_state; + Internals* internals = NativeValueTraits<Internals>::NativeValue( + scope.GetIsolate(), v8::Number::New(scope.GetIsolate(), 42), + exception_state); + EXPECT_TRUE(exception_state.HadException()); + EXPECT_EQ("Failed to convert value to 'Internals'.", + exception_state.Message()); + EXPECT_EQ(nullptr, internals); +} + +TEST(NativeValueTraitsImplTest, IDLCallbackFunction) { + V8TestingScope scope; + DummyExceptionStateForTesting exception_state; + v8::Local<v8::Function> function = + v8::Function::New(scope.GetContext(), nullptr).ToLocalChecked(); + ASSERT_DEATH(NativeValueTraits<V8TestSequenceCallback>::NativeValue( + scope.GetIsolate(), function, exception_state), + "NativeValueTraits<CallbackFunctionBase>::NativeValue"); } void ThrowException(v8::Local<v8::Name>,
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp b/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp index 2e02df96..baf6ea0 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp
@@ -566,11 +566,11 @@ cacheability_if_no_handler); if (!*TRACE_EVENT_API_GET_CATEGORY_GROUP_ENABLED(kTraceEventCategoryGroup)) - return compile_fn(isolate, code, origin, nullptr); + return std::move(compile_fn).Run(isolate, code, origin, nullptr); InspectorCompileScriptEvent::V8CacheResult cache_result; v8::MaybeLocal<v8::Script> script = - compile_fn(isolate, code, origin, &cache_result); + std::move(compile_fn).Run(isolate, code, origin, &cache_result); TRACE_EVENT_END1( kTraceEventCategoryGroup, "v8.compile", "data", InspectorCompileScriptEvent::Data(file_name, script_start_position,
diff --git a/third_party/WebKit/Source/bindings/modules/v8/serialization/V8ScriptValueSerializerForModulesTest.cpp b/third_party/WebKit/Source/bindings/modules/v8/serialization/V8ScriptValueSerializerForModulesTest.cpp index 571af85..176ef28 100644 --- a/third_party/WebKit/Source/bindings/modules/v8/serialization/V8ScriptValueSerializerForModulesTest.cpp +++ b/third_party/WebKit/Source/bindings/modules/v8/serialization/V8ScriptValueSerializerForModulesTest.cpp
@@ -253,15 +253,15 @@ class WebCryptoResultAdapter : public ScriptFunction { private: WebCryptoResultAdapter(ScriptState* script_state, - WTF::Function<void(T)> function) + WTF::RepeatingFunction<void(T)> function) : ScriptFunction(script_state), function_(std::move(function)) {} ScriptValue Call(ScriptValue value) final { - function_(ConvertCryptoResult<T>(value)); + function_.Run(ConvertCryptoResult<T>(value)); return ScriptValue::From(GetScriptState(), ToV8UndefinedGenerator()); } - WTF::Function<void(T)> function_; + WTF::RepeatingFunction<void(T)> function_; template <typename U> friend WebCryptoResult ToWebCryptoResult(ScriptState*, WTF::Function<void(U)>);
diff --git a/third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl b/third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl index 359d8f1..99d2f278 100644 --- a/third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl +++ b/third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl
@@ -83,15 +83,6 @@ return true; } -{{cpp_class}}* NativeValueTraits<{{cpp_class}}>::NativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) { - {{cpp_class}}* nativeValue = {{cpp_class}}::Create(ScriptState::Current(isolate), value); - if (!nativeValue) { - exceptionState.ThrowTypeError(ExceptionMessages::FailedToConvertJSValue( - "{{callback_function_name}}")); - } - return nativeValue; -} - } // namespace blink {% endfilter %}{# format_blink_cpp_source_code #}
diff --git a/third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl b/third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl index a5b0259..d5be9fc 100644 --- a/third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl +++ b/third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
@@ -27,11 +27,6 @@ {{cpp_class}}(ScriptState*, v8::Local<v8::Function>); }; -template <> -struct NativeValueTraits<{{cpp_class}}> : public NativeValueTraitsBase<{{cpp_class}}> { - {{exported}}static {{cpp_class}}* NativeValue(v8::Isolate*, v8::Local<v8::Value>, ExceptionState&); -}; - } // namespace blink #endif // {{cpp_class}}_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.cc b/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.cc index f7791dc..aff03e1 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.cc +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.cc
@@ -76,13 +76,4 @@ return true; } -V8AnyCallbackFunctionOptionalAnyArg* NativeValueTraits<V8AnyCallbackFunctionOptionalAnyArg>::NativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) { - V8AnyCallbackFunctionOptionalAnyArg* nativeValue = V8AnyCallbackFunctionOptionalAnyArg::Create(ScriptState::Current(isolate), value); - if (!nativeValue) { - exceptionState.ThrowTypeError(ExceptionMessages::FailedToConvertJSValue( - "AnyCallbackFunctionOptionalAnyArg")); - } - return nativeValue; -} - } // namespace blink
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.h b/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.h index c1c1c081..290f642 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.h +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.h
@@ -34,11 +34,6 @@ V8AnyCallbackFunctionOptionalAnyArg(ScriptState*, v8::Local<v8::Function>); }; -template <> -struct NativeValueTraits<V8AnyCallbackFunctionOptionalAnyArg> : public NativeValueTraitsBase<V8AnyCallbackFunctionOptionalAnyArg> { - CORE_EXPORT static V8AnyCallbackFunctionOptionalAnyArg* NativeValue(v8::Isolate*, v8::Local<v8::Value>, ExceptionState&); -}; - } // namespace blink #endif // V8AnyCallbackFunctionOptionalAnyArg_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.cc b/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.cc index 0192299..de61e80 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.cc +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.cc
@@ -79,13 +79,4 @@ return true; } -V8LongCallbackFunction* NativeValueTraits<V8LongCallbackFunction>::NativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) { - V8LongCallbackFunction* nativeValue = V8LongCallbackFunction::Create(ScriptState::Current(isolate), value); - if (!nativeValue) { - exceptionState.ThrowTypeError(ExceptionMessages::FailedToConvertJSValue( - "LongCallbackFunction")); - } - return nativeValue; -} - } // namespace blink
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.h b/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.h index 79159ca..1841633 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.h +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.h
@@ -34,11 +34,6 @@ V8LongCallbackFunction(ScriptState*, v8::Local<v8::Function>); }; -template <> -struct NativeValueTraits<V8LongCallbackFunction> : public NativeValueTraitsBase<V8LongCallbackFunction> { - CORE_EXPORT static V8LongCallbackFunction* NativeValue(v8::Isolate*, v8::Local<v8::Value>, ExceptionState&); -}; - } // namespace blink #endif // V8LongCallbackFunction_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.cc b/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.cc index f893c26a..72e51ed 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.cc +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.cc
@@ -78,13 +78,4 @@ return true; } -V8StringSequenceCallbackFunctionLongSequenceArg* NativeValueTraits<V8StringSequenceCallbackFunctionLongSequenceArg>::NativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) { - V8StringSequenceCallbackFunctionLongSequenceArg* nativeValue = V8StringSequenceCallbackFunctionLongSequenceArg::Create(ScriptState::Current(isolate), value); - if (!nativeValue) { - exceptionState.ThrowTypeError(ExceptionMessages::FailedToConvertJSValue( - "StringSequenceCallbackFunctionLongSequenceArg")); - } - return nativeValue; -} - } // namespace blink
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.h b/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.h index 34f6d1dc..58f21492 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.h +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.h
@@ -34,11 +34,6 @@ V8StringSequenceCallbackFunctionLongSequenceArg(ScriptState*, v8::Local<v8::Function>); }; -template <> -struct NativeValueTraits<V8StringSequenceCallbackFunctionLongSequenceArg> : public NativeValueTraitsBase<V8StringSequenceCallbackFunctionLongSequenceArg> { - CORE_EXPORT static V8StringSequenceCallbackFunctionLongSequenceArg* NativeValue(v8::Isolate*, v8::Local<v8::Value>, ExceptionState&); -}; - } // namespace blink #endif // V8StringSequenceCallbackFunctionLongSequenceArg_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.cc b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.cc index 79ba0072..8183553 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.cc +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.cc
@@ -72,13 +72,4 @@ return true; } -V8VoidCallbackFunction* NativeValueTraits<V8VoidCallbackFunction>::NativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) { - V8VoidCallbackFunction* nativeValue = V8VoidCallbackFunction::Create(ScriptState::Current(isolate), value); - if (!nativeValue) { - exceptionState.ThrowTypeError(ExceptionMessages::FailedToConvertJSValue( - "VoidCallbackFunction")); - } - return nativeValue; -} - } // namespace blink
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.h b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.h index 08ad5fc..7c16372 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.h +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.h
@@ -34,11 +34,6 @@ V8VoidCallbackFunction(ScriptState*, v8::Local<v8::Function>); }; -template <> -struct NativeValueTraits<V8VoidCallbackFunction> : public NativeValueTraitsBase<V8VoidCallbackFunction> { - CORE_EXPORT static V8VoidCallbackFunction* NativeValue(v8::Isolate*, v8::Local<v8::Value>, ExceptionState&); -}; - } // namespace blink #endif // V8VoidCallbackFunction_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc index b692756..9a1e9752 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc
@@ -74,13 +74,4 @@ return true; } -V8VoidCallbackFunctionDictionaryArg* NativeValueTraits<V8VoidCallbackFunctionDictionaryArg>::NativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) { - V8VoidCallbackFunctionDictionaryArg* nativeValue = V8VoidCallbackFunctionDictionaryArg::Create(ScriptState::Current(isolate), value); - if (!nativeValue) { - exceptionState.ThrowTypeError(ExceptionMessages::FailedToConvertJSValue( - "VoidCallbackFunctionDictionaryArg")); - } - return nativeValue; -} - } // namespace blink
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.h b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.h index d8097505..671e119 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.h +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.h
@@ -36,11 +36,6 @@ V8VoidCallbackFunctionDictionaryArg(ScriptState*, v8::Local<v8::Function>); }; -template <> -struct NativeValueTraits<V8VoidCallbackFunctionDictionaryArg> : public NativeValueTraitsBase<V8VoidCallbackFunctionDictionaryArg> { - CORE_EXPORT static V8VoidCallbackFunctionDictionaryArg* NativeValue(v8::Isolate*, v8::Local<v8::Value>, ExceptionState&); -}; - } // namespace blink #endif // V8VoidCallbackFunctionDictionaryArg_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.cc b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.cc index 4121a1cd..ec28670e 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.cc +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.cc
@@ -85,13 +85,4 @@ return true; } -V8VoidCallbackFunctionEnumArg* NativeValueTraits<V8VoidCallbackFunctionEnumArg>::NativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) { - V8VoidCallbackFunctionEnumArg* nativeValue = V8VoidCallbackFunctionEnumArg::Create(ScriptState::Current(isolate), value); - if (!nativeValue) { - exceptionState.ThrowTypeError(ExceptionMessages::FailedToConvertJSValue( - "VoidCallbackFunctionEnumArg")); - } - return nativeValue; -} - } // namespace blink
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.h b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.h index a495dc5..7e78258 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.h +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.h
@@ -34,11 +34,6 @@ V8VoidCallbackFunctionEnumArg(ScriptState*, v8::Local<v8::Function>); }; -template <> -struct NativeValueTraits<V8VoidCallbackFunctionEnumArg> : public NativeValueTraitsBase<V8VoidCallbackFunctionEnumArg> { - CORE_EXPORT static V8VoidCallbackFunctionEnumArg* NativeValue(v8::Isolate*, v8::Local<v8::Value>, ExceptionState&); -}; - } // namespace blink #endif // V8VoidCallbackFunctionEnumArg_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.cc b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.cc index 10e9a16..682391f 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.cc +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.cc
@@ -74,13 +74,4 @@ return true; } -V8VoidCallbackFunctionInterfaceArg* NativeValueTraits<V8VoidCallbackFunctionInterfaceArg>::NativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) { - V8VoidCallbackFunctionInterfaceArg* nativeValue = V8VoidCallbackFunctionInterfaceArg::Create(ScriptState::Current(isolate), value); - if (!nativeValue) { - exceptionState.ThrowTypeError(ExceptionMessages::FailedToConvertJSValue( - "VoidCallbackFunctionInterfaceArg")); - } - return nativeValue; -} - } // namespace blink
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.h b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.h index 3c91da09..5bff44c 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.h +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.h
@@ -36,11 +36,6 @@ V8VoidCallbackFunctionInterfaceArg(ScriptState*, v8::Local<v8::Function>); }; -template <> -struct NativeValueTraits<V8VoidCallbackFunctionInterfaceArg> : public NativeValueTraitsBase<V8VoidCallbackFunctionInterfaceArg> { - CORE_EXPORT static V8VoidCallbackFunctionInterfaceArg* NativeValue(v8::Isolate*, v8::Local<v8::Value>, ExceptionState&); -}; - } // namespace blink #endif // V8VoidCallbackFunctionInterfaceArg_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.cc b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.cc index a2af471..9015c1fc 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.cc +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.cc
@@ -75,13 +75,4 @@ return true; } -V8VoidCallbackFunctionTestInterfaceSequenceArg* NativeValueTraits<V8VoidCallbackFunctionTestInterfaceSequenceArg>::NativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) { - V8VoidCallbackFunctionTestInterfaceSequenceArg* nativeValue = V8VoidCallbackFunctionTestInterfaceSequenceArg::Create(ScriptState::Current(isolate), value); - if (!nativeValue) { - exceptionState.ThrowTypeError(ExceptionMessages::FailedToConvertJSValue( - "VoidCallbackFunctionTestInterfaceSequenceArg")); - } - return nativeValue; -} - } // namespace blink
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.h b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.h index 922cbd9..bb8b5b9e 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.h +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.h
@@ -36,11 +36,6 @@ V8VoidCallbackFunctionTestInterfaceSequenceArg(ScriptState*, v8::Local<v8::Function>); }; -template <> -struct NativeValueTraits<V8VoidCallbackFunctionTestInterfaceSequenceArg> : public NativeValueTraitsBase<V8VoidCallbackFunctionTestInterfaceSequenceArg> { - CORE_EXPORT static V8VoidCallbackFunctionTestInterfaceSequenceArg* NativeValue(v8::Isolate*, v8::Local<v8::Value>, ExceptionState&); -}; - } // namespace blink #endif // V8VoidCallbackFunctionTestInterfaceSequenceArg_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.cc b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.cc index 9096a47..4e50170a 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.cc +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.cc
@@ -74,13 +74,4 @@ return true; } -V8VoidCallbackFunctionTypedef* NativeValueTraits<V8VoidCallbackFunctionTypedef>::NativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) { - V8VoidCallbackFunctionTypedef* nativeValue = V8VoidCallbackFunctionTypedef::Create(ScriptState::Current(isolate), value); - if (!nativeValue) { - exceptionState.ThrowTypeError(ExceptionMessages::FailedToConvertJSValue( - "VoidCallbackFunctionTypedef")); - } - return nativeValue; -} - } // namespace blink
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.h b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.h index c19a728..3e77915 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.h +++ b/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.h
@@ -34,11 +34,6 @@ V8VoidCallbackFunctionTypedef(ScriptState*, v8::Local<v8::Function>); }; -template <> -struct NativeValueTraits<V8VoidCallbackFunctionTypedef> : public NativeValueTraitsBase<V8VoidCallbackFunctionTypedef> { - CORE_EXPORT static V8VoidCallbackFunctionTypedef* NativeValue(v8::Isolate*, v8::Local<v8::Value>, ExceptionState&); -}; - } // namespace blink #endif // V8VoidCallbackFunctionTypedef_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.cc b/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.cc index 7133877..f8197dc 100644 --- a/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.cc +++ b/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.cc
@@ -72,13 +72,4 @@ return true; } -V8VoidCallbackFunctionModules* NativeValueTraits<V8VoidCallbackFunctionModules>::NativeValue(v8::Isolate* isolate, v8::Local<v8::Value> value, ExceptionState& exceptionState) { - V8VoidCallbackFunctionModules* nativeValue = V8VoidCallbackFunctionModules::Create(ScriptState::Current(isolate), value); - if (!nativeValue) { - exceptionState.ThrowTypeError(ExceptionMessages::FailedToConvertJSValue( - "VoidCallbackFunctionModules")); - } - return nativeValue; -} - } // namespace blink
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.h b/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.h index 1b6de8b..0bc0abca 100644 --- a/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.h +++ b/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.h
@@ -34,11 +34,6 @@ V8VoidCallbackFunctionModules(ScriptState*, v8::Local<v8::Function>); }; -template <> -struct NativeValueTraits<V8VoidCallbackFunctionModules> : public NativeValueTraitsBase<V8VoidCallbackFunctionModules> { - MODULES_EXPORT static V8VoidCallbackFunctionModules* NativeValue(v8::Isolate*, v8::Local<v8::Value>, ExceptionState&); -}; - } // namespace blink #endif // V8VoidCallbackFunctionModules_h
diff --git a/third_party/WebKit/Source/core/BUILD.gn b/third_party/WebKit/Source/core/BUILD.gn index 2fa961e..fd72688 100644 --- a/third_party/WebKit/Source/core/BUILD.gn +++ b/third_party/WebKit/Source/core/BUILD.gn
@@ -1603,7 +1603,6 @@ "layout/TextAutosizerTest.cpp", "layout/VisualRectMappingTest.cpp", "layout/api/SelectionStateTest.cpp", - "layout/line/InlineBoxTest.cpp", "layout/line/InlineTextBoxTest.cpp", "layout/ng/NGInlineLayoutTest.cpp", "layout/ng/geometry/ng_box_strut_test.cc",
diff --git a/third_party/WebKit/Source/core/dom/ClassicPendingScript.cpp b/third_party/WebKit/Source/core/dom/ClassicPendingScript.cpp index 3ca5b76..bae029c 100644 --- a/third_party/WebKit/Source/core/dom/ClassicPendingScript.cpp +++ b/third_party/WebKit/Source/core/dom/ClassicPendingScript.cpp
@@ -294,7 +294,7 @@ // start streaming by work done within the callback. (crbug.com/754360) WTF::Closure done = std::move(streamer_done_); if (done) - done(); + std::move(done).Run(); is_currently_streaming_ = false; } }
diff --git a/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.cpp b/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.cpp index b440e78..cd466cf7 100644 --- a/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.cpp +++ b/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.cpp
@@ -54,7 +54,7 @@ const HeapVector<Member<IntersectionObserverEntry>>& entries) { bool is_visible = entries.back()->intersectionRatio() >= intersection_observer_->thresholds()[0]; - callback_(is_visible); + callback_.Run(is_visible); } } // namespace blink
diff --git a/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.h b/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.h index 776f14b..99863ac 100644 --- a/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.h +++ b/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.h
@@ -30,7 +30,7 @@ WTF_MAKE_NONCOPYABLE(ElementVisibilityObserver); public: - using VisibilityCallback = Function<void(bool), WTF::kSameThreadAffinity>; + using VisibilityCallback = WTF::RepeatingFunction<void(bool)>; ElementVisibilityObserver(Element*, VisibilityCallback); virtual ~ElementVisibilityObserver();
diff --git a/third_party/WebKit/Source/core/dom/ScriptRunnerTest.cpp b/third_party/WebKit/Source/core/dom/ScriptRunnerTest.cpp index 96a66454..81c15d7 100644 --- a/third_party/WebKit/Source/core/dom/ScriptRunnerTest.cpp +++ b/third_party/WebKit/Source/core/dom/ScriptRunnerTest.cpp
@@ -538,11 +538,8 @@ // so the mock will fail if it's called anyway. platform_->RunUntilIdle(); - // Finish streaming. Note that 'callback' must be empty when the callback - // is called, since out mock uses it to determine whether we're still - // streaming. - WTF::Closure tmp_callback = std::move(callback); - tmp_callback(); + // Finish streaming. + std::move(callback).Run(); // Now that streaming is finished, expect Execute() to be called. EXPECT_CALL(*script_loader1, Execute()).Times(1);
diff --git a/third_party/WebKit/Source/core/dom/ScriptedAnimationController.cpp b/third_party/WebKit/Source/core/dom/ScriptedAnimationController.cpp index f5679f5a..85a4d6fe 100644 --- a/third_party/WebKit/Source/core/dom/ScriptedAnimationController.cpp +++ b/third_party/WebKit/Source/core/dom/ScriptedAnimationController.cpp
@@ -90,7 +90,7 @@ Vector<WTF::Closure> tasks; tasks.swap(task_queue_); for (auto& task : tasks) - task(); + std::move(task).Run(); } void ScriptedAnimationController::DispatchEvents(
diff --git a/third_party/WebKit/Source/core/dom/ScriptedAnimationControllerTest.cpp b/third_party/WebKit/Source/core/dom/ScriptedAnimationControllerTest.cpp index c5b02eb..2655cba8d 100644 --- a/third_party/WebKit/Source/core/dom/ScriptedAnimationControllerTest.cpp +++ b/third_party/WebKit/Source/core/dom/ScriptedAnimationControllerTest.cpp
@@ -118,15 +118,15 @@ class RunTaskEventListener final : public EventListener { public: - RunTaskEventListener(WTF::Closure task) + RunTaskEventListener(WTF::RepeatingClosure task) : EventListener(kCPPEventListenerType), task_(std::move(task)) {} - void handleEvent(ExecutionContext*, Event*) override { task_(); } + void handleEvent(ExecutionContext*, Event*) override { task_.Run(); } bool operator==(const EventListener& other) const override { return this == &other; } private: - WTF::Closure task_; + WTF::RepeatingClosure task_; }; } // anonymous namespace @@ -155,11 +155,11 @@ class RunTaskCallback final : public FrameRequestCallbackCollection::FrameCallback { public: - RunTaskCallback(WTF::Closure task) : task_(std::move(task)) {} - void Invoke(double) override { task_(); } + RunTaskCallback(WTF::RepeatingClosure task) : task_(std::move(task)) {} + void Invoke(double) override { task_.Run(); } private: - WTF::Closure task_; + WTF::RepeatingClosure task_; }; } // anonymous namespace
diff --git a/third_party/WebKit/Source/core/editing/LayoutSelectionTest.cpp b/third_party/WebKit/Source/core/editing/LayoutSelectionTest.cpp index bc6db7e7..0074e14 100644 --- a/third_party/WebKit/Source/core/editing/LayoutSelectionTest.cpp +++ b/third_party/WebKit/Source/core/editing/LayoutSelectionTest.cpp
@@ -62,7 +62,8 @@ return true; } -using IsTypeOf = Function<bool(const LayoutObject& layout_object)>; +using IsTypeOf = + WTF::RepeatingFunction<bool(const LayoutObject& layout_object)>; using IsTypeOfSimple = bool(const LayoutObject& layout_object); #define USING_LAYOUTOBJECT_FUNC(member_func) \ bool member_func(const LayoutObject& layout_object) { \ @@ -111,7 +112,7 @@ if (!TestLayoutObjectState(object, state, invalidate)) return false; - if (!predicate(*object)) + if (!predicate.Run(*object)) return false; return true; }
diff --git a/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp b/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp index 52ad715..d790a872 100644 --- a/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp +++ b/third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp
@@ -37,7 +37,6 @@ #include "core/css/StylePropertySet.h" #include "core/dom/DocumentFragment.h" #include "core/dom/TagCollection.h" -#include "core/dom/UserGestureIndicator.h" #include "core/dom/events/Event.h" #include "core/editing/EditingStyleUtilities.h" #include "core/editing/EditingTriState.h" @@ -653,7 +652,7 @@ Settings* settings = frame.GetSettings(); bool default_value = (settings && settings->GetJavaScriptCanAccessClipboard()) || - UserGestureIndicator::ProcessingUserGesture(); + Frame::HasTransientUserActivation(&frame); return frame.GetEditor().Client().CanCopyCut(&frame, default_value); }
diff --git a/third_party/WebKit/Source/core/frame/DOMTimer.cpp b/third_party/WebKit/Source/core/frame/DOMTimer.cpp index 9293c39..0008471 100644 --- a/third_party/WebKit/Source/core/frame/DOMTimer.cpp +++ b/third_party/WebKit/Source/core/frame/DOMTimer.cpp
@@ -26,8 +26,10 @@ #include "core/frame/DOMTimer.h" +#include "core/dom/Document.h" #include "core/dom/ExecutionContext.h" #include "core/dom/TaskRunnerHelper.h" +#include "core/frame/Frame.h" #include "core/inspector/InspectorTraceEvents.h" #include "core/probe/CoreProbes.h" #include "platform/instrumentation/tracing/TraceEvent.h" @@ -46,8 +48,12 @@ // the smallest possible interval timer. static const double kMinimumInterval = 0.004; -static inline bool ShouldForwardUserGesture(int interval, int nesting_level) { - return UserGestureIndicator::ProcessingUserGestureThreadSafe() && +static inline bool ShouldForwardUserGesture(int interval, + int nesting_level, + Document* doc) { + Frame* frame = doc ? doc->GetFrame() : nullptr; + return Frame::HasTransientUserActivation(frame, + true /* checkIfMainThread */) && interval <= kMaxIntervalForUserGestureForwarding && nesting_level == 1; // Gestures should not be forwarded to nested timers. @@ -82,7 +88,8 @@ nesting_level_(context->Timers()->TimerNestingLevel() + 1), action_(action) { DCHECK_GT(timeout_id, 0); - if (ShouldForwardUserGesture(interval, nesting_level_)) { + if (ShouldForwardUserGesture(interval, nesting_level_, + ToDocumentOrNull(context))) { // Thread safe because shouldForwardUserGesture will only return true if // execution is on the the main thread. user_gesture_token_ = UserGestureIndicator::CurrentToken();
diff --git a/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp b/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp index d2de485..dea263a 100644 --- a/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp +++ b/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
@@ -1553,7 +1553,7 @@ UseCounter::Count(*active_document, WebFeature::kDOMWindowOpenFeatures); probe::windowOpen(first_frame->GetDocument(), url_string, frame_name, window_features_string, - UserGestureIndicator::ProcessingUserGesture()); + Frame::HasTransientUserActivation(first_frame)); // Get the target frame for the special cases of _top and _parent. // In those cases, we schedule a location change right now and return early.
diff --git a/third_party/WebKit/Source/core/frame/LocalFrame.cpp b/third_party/WebKit/Source/core/frame/LocalFrame.cpp index 30f87208..c24bc7b 100644 --- a/third_party/WebKit/Source/core/frame/LocalFrame.cpp +++ b/third_party/WebKit/Source/core/frame/LocalFrame.cpp
@@ -952,7 +952,7 @@ if (GetSecurityContext()->IsSandboxed(kSandboxTopNavigation) && !GetSecurityContext()->IsSandboxed( kSandboxTopNavigationByUserActivation) && - !UserGestureIndicator::ProcessingUserGesture()) { + !Frame::HasTransientUserActivation(this)) { // With only 'allow-top-navigation-by-user-activation' (but not // 'allow-top-navigation'), top navigation requires a user gesture. reason =
diff --git a/third_party/WebKit/Source/core/frame/RemoteFrame.cpp b/third_party/WebKit/Source/core/frame/RemoteFrame.cpp index 1c1babfd8..c63e2c2 100644 --- a/third_party/WebKit/Source/core/frame/RemoteFrame.cpp +++ b/third_party/WebKit/Source/core/frame/RemoteFrame.cpp
@@ -7,7 +7,6 @@ #include "bindings/core/v8/WindowProxy.h" #include "bindings/core/v8/WindowProxyManager.h" #include "core/dom/RemoteSecurityContext.h" -#include "core/dom/UserGestureIndicator.h" #include "core/frame/LocalFrame.h" #include "core/frame/RemoteDOMWindow.h" #include "core/frame/RemoteFrameClient.h" @@ -70,7 +69,7 @@ FrameLoader::SetReferrerForFrameRequest(frame_request); frame_request.GetResourceRequest().SetHasUserGesture( - UserGestureIndicator::ProcessingUserGesture()); + Frame::HasTransientUserActivation(this)); Client()->Navigate(frame_request.GetResourceRequest(), frame_request.ReplacesCurrentItem()); }
diff --git a/third_party/WebKit/Source/core/fullscreen/Fullscreen.cpp b/third_party/WebKit/Source/core/fullscreen/Fullscreen.cpp index abae6b7..41534d5 100644 --- a/third_party/WebKit/Source/core/fullscreen/Fullscreen.cpp +++ b/third_party/WebKit/Source/core/fullscreen/Fullscreen.cpp
@@ -33,7 +33,6 @@ #include "core/dom/Document.h" #include "core/dom/ElementTraversal.h" #include "core/dom/TaskRunnerHelper.h" -#include "core/dom/UserGestureIndicator.h" #include "core/dom/events/Event.h" #include "core/frame/HostsUsingFeatures.h" #include "core/frame/LocalFrame.h" @@ -93,7 +92,7 @@ // true: // The algorithm is triggered by a user activation. - if (UserGestureIndicator::ProcessingUserGesture()) + if (Frame::HasTransientUserActivation(document.GetFrame())) return true; // The algorithm is triggered by a user generated orientation change.
diff --git a/third_party/WebKit/Source/core/html/custom/CustomElementReactionTestHelpers.h b/third_party/WebKit/Source/core/html/custom/CustomElementReactionTestHelpers.h index 2c5a97a..1457c8d 100644 --- a/third_party/WebKit/Source/core/html/custom/CustomElementReactionTestHelpers.h +++ b/third_party/WebKit/Source/core/html/custom/CustomElementReactionTestHelpers.h
@@ -38,7 +38,7 @@ using Callback = WTF::Function<void(Element*)>; Call(Callback callback) : callback_(std::move(callback)) {} ~Call() override = default; - void Run(Element* element) override { callback_(element); } + void Run(Element* element) override { std::move(callback_).Run(element); } private: Callback callback_;
diff --git a/third_party/WebKit/Source/core/html/forms/ChooserOnlyTemporalInputTypeView.cpp b/third_party/WebKit/Source/core/html/forms/ChooserOnlyTemporalInputTypeView.cpp index c8b5ba7..8dad1cb 100644 --- a/third_party/WebKit/Source/core/html/forms/ChooserOnlyTemporalInputTypeView.cpp +++ b/third_party/WebKit/Source/core/html/forms/ChooserOnlyTemporalInputTypeView.cpp
@@ -28,7 +28,6 @@ #include "bindings/core/v8/ExceptionState.h" #include "core/dom/Document.h" #include "core/dom/ShadowRoot.h" -#include "core/dom/UserGestureIndicator.h" #include "core/html/HTMLDivElement.h" #include "core/html/forms/HTMLInputElement.h" #include "core/page/ChromeClient.h" @@ -60,7 +59,8 @@ void ChooserOnlyTemporalInputTypeView::HandleDOMActivateEvent(Event*) { if (GetElement().IsDisabledOrReadOnly() || !GetElement().GetLayoutObject() || - !UserGestureIndicator::ProcessingUserGesture() || + !Frame::HasTransientUserActivation( + GetElement().GetDocument().GetFrame()) || GetElement().OpenShadowRoot()) return;
diff --git a/third_party/WebKit/Source/core/html/forms/ColorInputType.cpp b/third_party/WebKit/Source/core/html/forms/ColorInputType.cpp index 230771f..78e54ca 100644 --- a/third_party/WebKit/Source/core/html/forms/ColorInputType.cpp +++ b/third_party/WebKit/Source/core/html/forms/ColorInputType.cpp
@@ -34,7 +34,6 @@ #include "bindings/core/v8/ScriptController.h" #include "core/CSSPropertyNames.h" #include "core/dom/ShadowRoot.h" -#include "core/dom/UserGestureIndicator.h" #include "core/dom/events/ScopedEventQueue.h" #include "core/events/MouseEvent.h" #include "core/frame/LocalFrameView.h" @@ -149,7 +148,7 @@ if (GetElement().IsDisabledFormControl()) return; - if (!UserGestureIndicator::ProcessingUserGesture()) + if (!Frame::HasTransientUserActivation(GetElement().GetDocument().GetFrame())) return; ChromeClient* chrome_client = this->GetChromeClient();
diff --git a/third_party/WebKit/Source/core/html/forms/FileInputType.cpp b/third_party/WebKit/Source/core/html/forms/FileInputType.cpp index 0f346b0..0846461 100644 --- a/third_party/WebKit/Source/core/html/forms/FileInputType.cpp +++ b/third_party/WebKit/Source/core/html/forms/FileInputType.cpp
@@ -25,7 +25,6 @@ #include "bindings/core/v8/ExceptionState.h" #include "core/css/StyleChangeReason.h" #include "core/dom/ShadowRoot.h" -#include "core/dom/UserGestureIndicator.h" #include "core/dom/events/Event.h" #include "core/fileapi/File.h" #include "core/fileapi/FileList.h" @@ -147,7 +146,7 @@ if (GetElement().IsDisabledFormControl()) return; - if (!UserGestureIndicator::ProcessingUserGesture()) + if (!Frame::HasTransientUserActivation(GetElement().GetDocument().GetFrame())) return; if (ChromeClient* chrome_client = this->GetChromeClient()) {
diff --git a/third_party/WebKit/Source/core/html/forms/HTMLInputElement.cpp b/third_party/WebKit/Source/core/html/forms/HTMLInputElement.cpp index 278f3d7..0896461 100644 --- a/third_party/WebKit/Source/core/html/forms/HTMLInputElement.cpp +++ b/third_party/WebKit/Source/core/html/forms/HTMLInputElement.cpp
@@ -400,6 +400,7 @@ bool could_be_successful_submit_button = CanBeSuccessfulSubmitButton(); input_type_view_->DestroyShadowSubtree(); + DropInnerEditorElement(); LazyReattachIfAttached(); if (input_type_->SupportsRequired() != new_type->SupportsRequired() &&
diff --git a/third_party/WebKit/Source/core/html/forms/HTMLTextAreaElement.cpp b/third_party/WebKit/Source/core/html/forms/HTMLTextAreaElement.cpp index 3da329a..5d660e9 100644 --- a/third_party/WebKit/Source/core/html/forms/HTMLTextAreaElement.cpp +++ b/third_party/WebKit/Source/core/html/forms/HTMLTextAreaElement.cpp
@@ -84,7 +84,7 @@ } void HTMLTextAreaElement::DidAddUserAgentShadowRoot(ShadowRoot& root) { - root.AppendChild(TextControlInnerEditorElement::Create(GetDocument())); + root.AppendChild(CreateInnerEditorElement()); } const AtomicString& HTMLTextAreaElement::FormControlType() const {
diff --git a/third_party/WebKit/Source/core/html/forms/TextControlElement.cpp b/third_party/WebKit/Source/core/html/forms/TextControlElement.cpp index b1da3e5..a220592 100644 --- a/third_party/WebKit/Source/core/html/forms/TextControlElement.cpp +++ b/third_party/WebKit/Source/core/html/forms/TextControlElement.cpp
@@ -46,6 +46,7 @@ #include "core/frame/UseCounter.h" #include "core/html/HTMLBRElement.h" #include "core/html/HTMLDivElement.h" +#include "core/html/forms/TextControlInnerElements.h" #include "core/html/parser/HTMLParserIdioms.h" #include "core/html/shadow/ShadowElementNames.h" #include "core/html_names.h" @@ -1002,13 +1003,19 @@ : "-webkit-input-suggested")); } +HTMLElement* TextControlElement::CreateInnerEditorElement() { + DCHECK(!inner_editor_); + inner_editor_ = TextControlInnerEditorElement::Create(GetDocument()); + return inner_editor_; +} + const String& TextControlElement::SuggestedValue() const { return suggested_value_; } -HTMLElement* TextControlElement::InnerEditorElement() const { - return ToHTMLElementOrDie( - UserAgentShadowRoot()->getElementById(ShadowElementNames::InnerEditor())); +void TextControlElement::Trace(Visitor* visitor) { + visitor->Trace(inner_editor_); + HTMLFormControlElementWithState::Trace(visitor); } void TextControlElement::CopyNonAttributePropertiesFromElement(
diff --git a/third_party/WebKit/Source/core/html/forms/TextControlElement.h b/third_party/WebKit/Source/core/html/forms/TextControlElement.h index 544579c8..df7f59f8 100644 --- a/third_party/WebKit/Source/core/html/forms/TextControlElement.h +++ b/third_party/WebKit/Source/core/html/forms/TextControlElement.h
@@ -131,7 +131,9 @@ TextControlSetValueSelection = TextControlSetValueSelection::kSetSelectionToEnd) = 0; - HTMLElement* InnerEditorElement() const; + HTMLElement* InnerEditorElement() const { return inner_editor_; } + HTMLElement* CreateInnerEditorElement(); + void DropInnerEditorElement() { inner_editor_ = nullptr; } void SelectionChanged(bool user_triggered); bool LastChangeWasUserEdit() const; @@ -144,6 +146,8 @@ virtual void SetSuggestedValue(const String& value); const String& SuggestedValue() const; + void Trace(Visitor*) override; + protected: TextControlElement(const QualifiedName&, Document&); bool IsPlaceholderEmpty() const; @@ -196,6 +200,11 @@ bool PlaceholderShouldBeVisible() const; + // Held directly instead of looked up by ID for speed. + // Not only is the lookup faster, but for simple text inputs it avoids + // creating a number of TreeScope data structures to track elements by ID. + Member<HTMLElement> inner_editor_; + // In m_valueBeforeFirstUserEdit, we distinguish a null String and zero-length // String. Null String means the field doesn't have any data yet, and // zero-length String is a valid data.
diff --git a/third_party/WebKit/Source/core/html/forms/TextControlInnerElements.cpp b/third_party/WebKit/Source/core/html/forms/TextControlInnerElements.cpp index b962c8f..3634e64 100644 --- a/third_party/WebKit/Source/core/html/forms/TextControlInnerElements.cpp +++ b/third_party/WebKit/Source/core/html/forms/TextControlInnerElements.cpp
@@ -103,10 +103,7 @@ TextControlInnerEditorElement* TextControlInnerEditorElement::Create( Document& document) { - TextControlInnerEditorElement* element = - new TextControlInnerEditorElement(document); - element->setAttribute(idAttr, ShadowElementNames::InnerEditor()); - return element; + return new TextControlInnerEditorElement(document); } void TextControlInnerEditorElement::DefaultEventHandler(Event* event) {
diff --git a/third_party/WebKit/Source/core/html/forms/TextFieldInputType.cpp b/third_party/WebKit/Source/core/html/forms/TextFieldInputType.cpp index f1dd02f..6e2b668 100644 --- a/third_party/WebKit/Source/core/html/forms/TextFieldInputType.cpp +++ b/third_party/WebKit/Source/core/html/forms/TextFieldInputType.cpp
@@ -285,8 +285,7 @@ bool creates_container = should_have_spin_button || should_have_data_list_indicator || NeedsContainer(); - TextControlInnerEditorElement* inner_editor = - TextControlInnerEditorElement::Create(document); + HTMLElement* inner_editor = GetElement().CreateInnerEditorElement(); if (!creates_container) { shadow_root->AppendChild(inner_editor); return;
diff --git a/third_party/WebKit/Source/core/html/media/AutoplayPolicy.cpp b/third_party/WebKit/Source/core/html/media/AutoplayPolicy.cpp index 2ab5e184..da494da 100644 --- a/third_party/WebKit/Source/core/html/media/AutoplayPolicy.cpp +++ b/third_party/WebKit/Source/core/html/media/AutoplayPolicy.cpp
@@ -6,7 +6,6 @@ #include "core/dom/Document.h" #include "core/dom/ElementVisibilityObserver.h" -#include "core/dom/UserGestureIndicator.h" #include "core/frame/ContentSettingsClient.h" #include "core/frame/LocalFrame.h" #include "core/frame/Settings.h" @@ -197,7 +196,7 @@ } Nullable<ExceptionCode> AutoplayPolicy::RequestPlay() { - if (!UserGestureIndicator::ProcessingUserGesture()) { + if (!Frame::HasTransientUserActivation(element_->GetDocument().GetFrame())) { autoplay_uma_helper_->OnAutoplayInitiated(AutoplaySource::kMethod); if (IsGestureNeededForPlayback()) { autoplay_uma_helper_->RecordCrossOriginAutoplayResult( @@ -253,7 +252,7 @@ void AutoplayPolicy::TryUnlockingUserGesture() { if (IsLockedPendingUserGesture() && - UserGestureIndicator::ProcessingUserGesture()) { + Frame::HasTransientUserActivation(element_->GetDocument().GetFrame())) { UnlockUserGesture(); } }
diff --git a/third_party/WebKit/Source/core/html/parser/BackgroundHTMLParser.cpp b/third_party/WebKit/Source/core/html/parser/BackgroundHTMLParser.cpp index c87df01..cc12bfae14 100644 --- a/third_party/WebKit/Source/core/html/parser/BackgroundHTMLParser.cpp +++ b/third_party/WebKit/Source/core/html/parser/BackgroundHTMLParser.cpp
@@ -351,7 +351,7 @@ void BackgroundHTMLParser::RunOnMainThread(FunctionType function, Ps&&... parameters) { if (IsMainThread()) { - WTF::Bind(std::move(function), std::forward<Ps>(parameters)...)(); + WTF::Bind(std::move(function), std::forward<Ps>(parameters)...).Run(); } else { loading_task_runner_->PostTask( BLINK_FROM_HERE,
diff --git a/third_party/WebKit/Source/core/html/shadow/ShadowElementNames.cpp b/third_party/WebKit/Source/core/html/shadow/ShadowElementNames.cpp index ab704be..627c29d22 100644 --- a/third_party/WebKit/Source/core/html/shadow/ShadowElementNames.cpp +++ b/third_party/WebKit/Source/core/html/shadow/ShadowElementNames.cpp
@@ -69,11 +69,6 @@ return name; } -const AtomicString& InnerEditor() { - DEFINE_STATIC_LOCAL(AtomicString, name, ("inner-editor")); - return name; -} - const AtomicString& PickerIndicator() { DEFINE_STATIC_LOCAL(AtomicString, name, ("picker")); return name;
diff --git a/third_party/WebKit/Source/core/html/shadow/ShadowElementNames.h b/third_party/WebKit/Source/core/html/shadow/ShadowElementNames.h index c3291c8e..1db5b517 100644 --- a/third_party/WebKit/Source/core/html/shadow/ShadowElementNames.h +++ b/third_party/WebKit/Source/core/html/shadow/ShadowElementNames.h
@@ -45,7 +45,6 @@ CORE_EXPORT const AtomicString& SpinButton(); const AtomicString& ClearButton(); const AtomicString& EditingViewPort(); -const AtomicString& InnerEditor(); const AtomicString& PickerIndicator(); const AtomicString& Placeholder(); const AtomicString& SearchClearButton();
diff --git a/third_party/WebKit/Source/core/input/EventHandlerTest.cpp b/third_party/WebKit/Source/core/input/EventHandlerTest.cpp index 774fdb35..4a6e8b1 100644 --- a/third_party/WebKit/Source/core/input/EventHandlerTest.cpp +++ b/third_party/WebKit/Source/core/input/EventHandlerTest.cpp
@@ -425,10 +425,8 @@ TEST_F(EventHandlerTest, InputFieldsCanStartSelection) { SetHtmlInnerHTML("<input value='blabla'>"); - Element* const field = ToElement(GetDocument().body()->firstChild()); - ShadowRoot* const shadow_root = field->UserAgentShadowRoot(); - - Element* const text = shadow_root->getElementById("inner-editor"); + auto* const field = ToHTMLInputElement(GetDocument().body()->firstChild()); + Element* const text = field->InnerEditorElement(); LayoutPoint location = text->GetLayoutObject()->FirstFragment().VisualRect().Center(); HitTestResult hit =
diff --git a/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp index cbec6456..554fcc13 100644 --- a/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp +++ b/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
@@ -1736,12 +1736,13 @@ } // static -void InspectorDOMAgent::CollectNodes(Node* node, - int depth, - bool pierce, - const Function<bool(Node*)>& filter, - HeapVector<Member<Node>>* result) { - if (filter && filter(node)) +void InspectorDOMAgent::CollectNodes( + Node* node, + int depth, + bool pierce, + const WTF::RepeatingFunction<bool(Node*)>& filter, + HeapVector<Member<Node>>* result) { + if (filter && filter.Run(node)) result->push_back(node); if (--depth <= 0) return;
diff --git a/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp b/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp index 1e8916ed..70ac5b4 100644 --- a/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp +++ b/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp
@@ -237,9 +237,9 @@ return; HashMap<int, Callbacks> callbacks; callbacks.swap(callbacks_); - for (const auto& key_value : callbacks) { - for (const auto& callback : key_value.value) - callback(); + for (auto& key_value : callbacks) { + for (auto& callback : key_value.value) + std::move(callback).Run(); } }
diff --git a/third_party/WebKit/Source/core/inspector/InspectorTaskRunner.cpp b/third_party/WebKit/Source/core/inspector/InspectorTaskRunner.cpp index fbcdc9fe..f108e792 100644 --- a/third_party/WebKit/Source/core/inspector/InspectorTaskRunner.cpp +++ b/third_party/WebKit/Source/core/inspector/InspectorTaskRunner.cpp
@@ -66,7 +66,7 @@ Task task = TakeNextTask(kDontWaitForTask); if (!task) return; - task(); + std::move(task).Run(); } }
diff --git a/third_party/WebKit/Source/core/intersection_observer/IntersectionObserver.cpp b/third_party/WebKit/Source/core/intersection_observer/IntersectionObserver.cpp index 43b27f6..96a7a19 100644 --- a/third_party/WebKit/Source/core/intersection_observer/IntersectionObserver.cpp +++ b/third_party/WebKit/Source/core/intersection_observer/IntersectionObserver.cpp
@@ -44,7 +44,7 @@ void Deliver(const HeapVector<Member<IntersectionObserverEntry>>& entries, IntersectionObserver&) override { - callback_(entries); + callback_.Run(entries); } ExecutionContext* GetExecutionContext() const override { return context_; }
diff --git a/third_party/WebKit/Source/core/intersection_observer/IntersectionObserver.h b/third_party/WebKit/Source/core/intersection_observer/IntersectionObserver.h index d977491..0757e34 100644 --- a/third_party/WebKit/Source/core/intersection_observer/IntersectionObserver.h +++ b/third_party/WebKit/Source/core/intersection_observer/IntersectionObserver.h
@@ -29,9 +29,8 @@ DEFINE_WRAPPERTYPEINFO(); public: - using EventCallback = - Function<void(const HeapVector<Member<IntersectionObserverEntry>>&), - WTF::kSameThreadAffinity>; + using EventCallback = WTF::RepeatingFunction<void( + const HeapVector<Member<IntersectionObserverEntry>>&)>; static IntersectionObserver* Create(const IntersectionObserverInit&, IntersectionObserverDelegate&,
diff --git a/third_party/WebKit/Source/core/layout/FloatingObjects.cpp b/third_party/WebKit/Source/core/layout/FloatingObjects.cpp index f51a155..42ca348e3 100644 --- a/third_party/WebKit/Source/core/layout/FloatingObjects.cpp +++ b/third_party/WebKit/Source/core/layout/FloatingObjects.cpp
@@ -626,6 +626,28 @@ return std::min(fixed_offset, adapter.Offset()); } +LayoutUnit FloatingObjects::LogicalLeftOffsetForAvoidingFloats( + LayoutUnit fixed_offset, + LayoutUnit logical_top, + LayoutUnit logical_height) { + ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::kFloatLeft> adapter( + layout_object_, logical_top, logical_top + logical_height, fixed_offset); + PlacedFloatsTree().AllOverlapsWithAdapter(adapter); + + return adapter.Offset(); +} + +LayoutUnit FloatingObjects::LogicalRightOffsetForAvoidingFloats( + LayoutUnit fixed_offset, + LayoutUnit logical_top, + LayoutUnit logical_height) { + ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::kFloatRight> adapter( + layout_object_, logical_top, logical_top + logical_height, fixed_offset); + PlacedFloatsTree().AllOverlapsWithAdapter(adapter); + + return std::min(fixed_offset, adapter.Offset()); +} + FloatingObjects::FloatBottomCachedValue::FloatBottomCachedValue() : floating_object(nullptr), dirty(true) {}
diff --git a/third_party/WebKit/Source/core/layout/FloatingObjects.h b/third_party/WebKit/Source/core/layout/FloatingObjects.h index a2bac41..774dd92 100644 --- a/third_party/WebKit/Source/core/layout/FloatingObjects.h +++ b/third_party/WebKit/Source/core/layout/FloatingObjects.h
@@ -228,6 +228,18 @@ LayoutUnit fixed_offset, LayoutUnit logical_top, LayoutUnit* height_remaining); + + // NOTE(ikilpatrick): These methods exist for determining how shape-outside + // affects positioning and sizing of block children avoiding floats. + // If usage is low enough these may be used instead of LogicalLeftOffset, + // LogicalLeftOffset for children avoiding floats. + LayoutUnit LogicalLeftOffsetForAvoidingFloats(LayoutUnit fixed_offset, + LayoutUnit logical_top, + LayoutUnit logical_height); + LayoutUnit LogicalRightOffsetForAvoidingFloats(LayoutUnit fixed_offset, + LayoutUnit logical_top, + LayoutUnit logical_height); + LayoutUnit FindNextFloatLogicalBottomBelow(LayoutUnit logical_height); LayoutUnit FindNextFloatLogicalBottomBelowForBlock(LayoutUnit logical_height);
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp index ad8fae4..751668e 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
@@ -654,6 +654,18 @@ StartOffsetForLine(LogicalTopForChild(child), kDoNotIndentText, LogicalHeightForChild(child)); + // This section of code is just for a use counter. It counts if something + // that avoids floats may have been affected by a float with shape-outside. + if (!ShapeOutsideInfo::IsEmpty()) { + LayoutUnit alternate_position_to_avoid_floats = + StartOffsetForAvoidingFloats(LogicalTopForChild(child), + LogicalHeightForChild(child)); + if (alternate_position_to_avoid_floats != position_to_avoid_floats) { + UseCounter::Count(GetDocument(), + WebFeature::kShapeOutsideMaybeAffectedInlinePosition); + } + } + // If the child has an offset from the content edge to avoid floats then use // that, otherwise let any negative margin pull it back over the content // edge or any positive margin push it out. @@ -4155,6 +4167,30 @@ return fixed_offset; } +LayoutUnit LayoutBlockFlow::LogicalLeftFloatOffsetForAvoidingFloats( + LayoutUnit logical_top, + LayoutUnit fixed_offset, + LayoutUnit logical_height) const { + if (floating_objects_ && floating_objects_->HasLeftObjects()) { + return floating_objects_->LogicalLeftOffsetForAvoidingFloats( + fixed_offset, logical_top, logical_height); + } + + return fixed_offset; +} + +LayoutUnit LayoutBlockFlow::LogicalRightFloatOffsetForAvoidingFloats( + LayoutUnit logical_top, + LayoutUnit fixed_offset, + LayoutUnit logical_height) const { + if (floating_objects_ && floating_objects_->HasRightObjects()) { + return floating_objects_->LogicalRightOffsetForAvoidingFloats( + fixed_offset, logical_top, logical_height); + } + + return fixed_offset; +} + void LayoutBlockFlow::UpdateAncestorShouldPaintFloatingObject( const LayoutBox& float_box) { // Normally, the ShouldPaint flags of FloatingObjects should have been set
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.h b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.h index ec07d64..9cab842 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.h +++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.h
@@ -150,6 +150,42 @@ position, indent_text, logical_height); } + LayoutUnit AvailableLogicalWidthForAvoidingFloats( + LayoutUnit position, + LayoutUnit logical_height = LayoutUnit()) const { + return (LogicalRightOffsetForAvoidingFloats(position, logical_height) - + LogicalLeftOffsetForAvoidingFloats(position, logical_height)) + .ClampNegativeToZero(); + } + LayoutUnit LogicalLeftOffsetForAvoidingFloats( + LayoutUnit position, + LayoutUnit logical_height = LayoutUnit()) const { + return LogicalLeftFloatOffsetForAvoidingFloats( + position, LogicalLeftOffsetForContent(), logical_height); + } + LayoutUnit LogicalRightOffsetForAvoidingFloats( + LayoutUnit position, + LayoutUnit logical_height = LayoutUnit()) const { + return LogicalRightFloatOffsetForAvoidingFloats( + position, LogicalRightOffsetForContent(), logical_height); + } + LayoutUnit StartOffsetForAvoidingFloats( + LayoutUnit position, + LayoutUnit logical_height = LayoutUnit()) const { + return Style()->IsLeftToRightDirection() + ? LogicalLeftOffsetForAvoidingFloats(position, logical_height) + : LogicalWidth() - LogicalRightOffsetForAvoidingFloats( + position, logical_height); + } + LayoutUnit EndOffsetForAvoidingFloats( + LayoutUnit position, + LayoutUnit logical_height = LayoutUnit()) const { + return !Style()->IsLeftToRightDirection() + ? LogicalLeftOffsetForAvoidingFloats(position, logical_height) + : LogicalWidth() - LogicalRightOffsetForAvoidingFloats( + position, logical_height); + } + const LineBoxList& LineBoxes() const { return line_boxes_; } LineBoxList* LineBoxes() { return &line_boxes_; } InlineFlowBox* FirstLineBox() const { return line_boxes_.FirstLineBox(); } @@ -571,6 +607,15 @@ LayoutUnit fixed_offset, LayoutUnit logical_height) const; + LayoutUnit LogicalLeftFloatOffsetForAvoidingFloats( + LayoutUnit logical_top, + LayoutUnit fixed_offset, + LayoutUnit logical_height) const; + LayoutUnit LogicalRightFloatOffsetForAvoidingFloats( + LayoutUnit logical_top, + LayoutUnit fixed_offset, + LayoutUnit logical_height) const; + LayoutUnit LogicalRightOffsetForPositioningFloat( LayoutUnit logical_top, LayoutUnit fixed_offset,
diff --git a/third_party/WebKit/Source/core/layout/LayoutBox.cpp b/third_party/WebKit/Source/core/layout/LayoutBox.cpp index 8abbfbd..4c2d745 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp
@@ -2028,11 +2028,27 @@ kDoNotIndentText, logical_height) - child_margin_start - child_margin_end; - LayoutUnit width = - cb->AvailableLogicalWidthForLine(logical_top_position, kDoNotIndentText, - logical_height) - - std::max(LayoutUnit(), child_margin_start) - - std::max(LayoutUnit(), child_margin_end); + LayoutUnit width = cb->AvailableLogicalWidthForLine( + logical_top_position, kDoNotIndentText, logical_height); + + // This section of code is just for a use counter. It counts if something + // that avoids floats may have been affected by a float with shape-outside. + // NOTE(ikilpatrick): This isn't the only code-path which uses + // AvailableLogicalWidthForLine, if we switch this over we need to inspect + // other usages. + if (!ShapeOutsideInfo::IsEmpty()) { + LayoutUnit alternate_width = cb->AvailableLogicalWidthForAvoidingFloats( + logical_top_position, logical_height); + + if (alternate_width != width) { + UseCounter::Count(GetDocument(), + WebFeature::kShapeOutsideMaybeAffectedInlineSize); + } + } + + width -= std::max(LayoutUnit(), child_margin_start); + width -= std::max(LayoutUnit(), child_margin_end); + // We need to see if margins on either the start side or the end side can // contain the floats in question. If they can, then just using the line width // is inaccurate. In the case where a float completely fits, we don't need to
diff --git a/third_party/WebKit/Source/core/layout/ScrollbarsTest.cpp b/third_party/WebKit/Source/core/layout/ScrollbarsTest.cpp index 87594ed..e9903a20 100644 --- a/third_party/WebKit/Source/core/layout/ScrollbarsTest.cpp +++ b/third_party/WebKit/Source/core/layout/ScrollbarsTest.cpp
@@ -94,7 +94,46 @@ } }; +class ScrollbarsTestWithVirtualTimer : public ScrollbarsTest { + public: + void TearDown() override { + // The SimTest destructor calls runPendingTasks. This is a problem because + // if there are any repeating tasks, advancing virtual time will cause the + // runloop to busy loop. Disabling virtual time here fixes that. + WebView().Scheduler()->DisableVirtualTimeForTesting(); + } + + void TimeAdvance() { + WebView().Scheduler()->SetVirtualTimePolicy( + WebViewScheduler::VirtualTimePolicy::ADVANCE); + } + + void StopVirtualTimeAndExitRunLoop() { + WebView().Scheduler()->SetVirtualTimePolicy( + WebViewScheduler::VirtualTimePolicy::PAUSE); + testing::ExitRunLoop(); + } + + // Some task queues may have repeating v8 tasks that run forever so we impose + // a hard (virtual) time limit. + void RunTasksForPeriod(double delay_ms) { + TimeAdvance(); + Platform::Current() + ->CurrentThread() + ->Scheduler() + ->LoadingTaskRunner() + ->PostDelayedTask( + BLINK_FROM_HERE, + WTF::Bind( + &ScrollbarsTestWithVirtualTimer::StopVirtualTimeAndExitRunLoop, + WTF::Unretained(this)), + TimeDelta::FromMillisecondsD(delay_ms)); + testing::EnterRunLoop(); + } +}; + INSTANTIATE_TEST_CASE_P(All, ScrollbarsTest, ::testing::Bool()); +INSTANTIATE_TEST_CASE_P(All, ScrollbarsTestWithVirtualTimer, ::testing::Bool()); TEST_P(ScrollbarsTest, DocumentStyleRecalcPreservesScrollbars) { v8::HandleScope handle_scope(v8::Isolate::GetCurrent()); @@ -925,29 +964,25 @@ Compositor().BeginFrame(); } -static void DisableCompositing(WebSettings* settings) { - settings->SetAcceleratedCompositingEnabled(false); - settings->SetPreferCompositingToLCDTextEnabled(false); -} - -#if defined(THREAD_SANITIZER) || defined(ADDRESS_SANITIZER) -#define DISABLE_ON_TSAN_AND_ASAN(test_name) DISABLED_##test_name +// http://crbug.com/633321, Disable since VirtualTime not work for Android. +#if defined(OS_ANDROID) +#define DISABLE_ON_ANDROID(test_name) DISABLED_##test_name #else -#define DISABLE_ON_TSAN_AND_ASAN(test_name) test_name -#endif // defined(THREAD_SANITIZER) +#define DISABLE_ON_ANDROID(test_name) test_name +#endif // Make sure overlay scrollbars on non-composited scrollers fade out and set // the hidden bit as needed. -// TODO(crbug.com/776684): Fix and re-enable on TSAN and ASAN. -TEST_P(ScrollbarsTest, - DISABLE_ON_TSAN_AND_ASAN(TestNonCompositedOverlayScrollbarsFade)) { - FrameTestHelpers::WebViewHelper web_view_helper; - WebViewImpl* web_view_impl = web_view_helper.Initialize( - nullptr, nullptr, nullptr, &DisableCompositing); - - constexpr double kMockOverlayFadeOutDelayMs = 5.0; - constexpr TimeDelta kMockOverlayFadeOutDelay = - TimeDelta::FromMillisecondsD(kMockOverlayFadeOutDelayMs); +// To avoid TSAN/ASAN race issue, this test use Virtual Time and give scrollbar +// a huge fadeout delay. +TEST_P(ScrollbarsTestWithVirtualTimer, + DISABLE_ON_ANDROID(TestNonCompositedOverlayScrollbarsFade)) { + // Will crash if move EnableVirtualTime before test body. + WebView().Scheduler()->EnableVirtualTime(); + TimeAdvance(); + constexpr double kMockOverlayFadeOutDelayInSeconds = 5.0; + constexpr double kMockOverlayFadeOutDelayMS = + kMockOverlayFadeOutDelayInSeconds * 1000; ScrollbarTheme& theme = GetScrollbarTheme(); // This test relies on mock overlay scrollbars. @@ -956,64 +991,67 @@ ScrollbarThemeOverlayMock& mock_overlay_theme = (ScrollbarThemeOverlayMock&)theme; mock_overlay_theme.SetOverlayScrollbarFadeOutDelay( - kMockOverlayFadeOutDelayMs / 1000.0); + kMockOverlayFadeOutDelayInSeconds); - web_view_impl->ResizeWithBrowserControls(WebSize(640, 480), 0, 0, false); - - WebURL base_url = URLTestHelpers::ToKURL("http://example.com/"); - FrameTestHelpers::LoadHTMLString(web_view_impl->MainFrameImpl(), - "<!DOCTYPE html>" - "<style>" - " #space {" - " width: 1000px;" - " height: 1000px;" - " }" - " #container {" - " width: 200px;" - " height: 200px;" - " overflow: scroll;" - " }" - " div { height:1000px; width: 200px; }" - "</style>" - "<div id='container'>" - " <div id='space'></div>" - "</div>", - base_url); - web_view_impl->UpdateAllLifecyclePhases(); - + WebView().Resize(WebSize(640, 480)); + SimRequest request("https://example.com/test.html", "text/html"); + LoadURL("https://example.com/test.html"); + RunTasksForPeriod(kMockOverlayFadeOutDelayMS); + request.Complete( + "<!DOCTYPE html>" + "<style>" + " #space {" + " width: 1000px;" + " height: 1000px;" + " }" + " #container {" + " width: 200px;" + " height: 200px;" + " overflow: scroll;" + " /* Ensure the scroller is non-composited. */" + " border: border: 2px solid;" + " border-radius: 25px;" + " }" + " div { height:1000px; width: 200px; }" + "</style>" + "<div id='container'>" + " <div id='space'></div>" + "</div>"); + Compositor().BeginFrame(); // This test is specifically checking the behavior when overlay scrollbars // are enabled. DCHECK(GetScrollbarTheme().UsesOverlayScrollbars()); - WebLocalFrameImpl* frame = web_view_helper.LocalMainFrame(); - Document* document = - ToLocalFrame(web_view_impl->GetPage()->MainFrame())->GetDocument(); - Element* container = document->getElementById("container"); + Document& document = GetDocument(); + Element* container = document.getElementById("container"); ScrollableArea* scrollable_area = ToLayoutBox(container->GetLayoutObject())->GetScrollableArea(); + DCHECK(!scrollable_area->UsesCompositedScrolling()); + EXPECT_FALSE(scrollable_area->ScrollbarsHidden()); - testing::RunDelayedTasks(kMockOverlayFadeOutDelay); + RunTasksForPeriod(kMockOverlayFadeOutDelayMS); EXPECT_TRUE(scrollable_area->ScrollbarsHidden()); scrollable_area->SetScrollOffset(ScrollOffset(10, 10), kProgrammaticScroll, kScrollBehaviorInstant); EXPECT_FALSE(scrollable_area->ScrollbarsHidden()); - testing::RunDelayedTasks(kMockOverlayFadeOutDelay); + RunTasksForPeriod(kMockOverlayFadeOutDelayMS); EXPECT_TRUE(scrollable_area->ScrollbarsHidden()); - frame->ExecuteScript(WebScriptSource( + MainFrame().ExecuteScript(WebScriptSource( "document.getElementById('space').style.height = '500px';")); - frame->View()->UpdateAllLifecyclePhases(); + Compositor().BeginFrame(); + EXPECT_TRUE(scrollable_area->ScrollbarsHidden()); - frame->ExecuteScript(WebScriptSource( + MainFrame().ExecuteScript(WebScriptSource( "document.getElementById('container').style.height = '300px';")); - frame->View()->UpdateAllLifecyclePhases(); + Compositor().BeginFrame(); EXPECT_FALSE(scrollable_area->ScrollbarsHidden()); - testing::RunDelayedTasks(kMockOverlayFadeOutDelay); + RunTasksForPeriod(kMockOverlayFadeOutDelayMS); EXPECT_TRUE(scrollable_area->ScrollbarsHidden()); // Non-composited scrollbars don't fade out while mouse is over. @@ -1022,10 +1060,10 @@ kScrollBehaviorInstant); EXPECT_FALSE(scrollable_area->ScrollbarsHidden()); scrollable_area->MouseEnteredScrollbar(*scrollable_area->VerticalScrollbar()); - testing::RunDelayedTasks(kMockOverlayFadeOutDelay); + RunTasksForPeriod(kMockOverlayFadeOutDelayMS); EXPECT_FALSE(scrollable_area->ScrollbarsHidden()); scrollable_area->MouseExitedScrollbar(*scrollable_area->VerticalScrollbar()); - testing::RunDelayedTasks(kMockOverlayFadeOutDelay); + RunTasksForPeriod(kMockOverlayFadeOutDelayMS); EXPECT_TRUE(scrollable_area->ScrollbarsHidden()); mock_overlay_theme.SetOverlayScrollbarFadeOutDelay(0.0);
diff --git a/third_party/WebKit/Source/core/layout/line/InlineBox.cpp b/third_party/WebKit/Source/core/layout/line/InlineBox.cpp index e0963ae2..0a96beb 100644 --- a/third_party/WebKit/Source/core/layout/line/InlineBox.cpp +++ b/third_party/WebKit/Source/core/layout/line/InlineBox.cpp
@@ -332,12 +332,6 @@ return rect.Location(); } -void InlineBox::LogicalRectToPhysicalRect(LayoutRect& rect) const { - if (!IsHorizontal()) - rect = rect.TransposedRect(); - FlipForWritingMode(rect); -} - void InlineBox::FlipForWritingMode(FloatRect& rect) const { if (!UNLIKELY(GetLineLayoutItem().HasFlippedBlocksWritingMode())) return;
diff --git a/third_party/WebKit/Source/core/layout/line/InlineBox.h b/third_party/WebKit/Source/core/layout/line/InlineBox.h index f8c844a..50266aa 100644 --- a/third_party/WebKit/Source/core/layout/line/InlineBox.h +++ b/third_party/WebKit/Source/core/layout/line/InlineBox.h
@@ -369,11 +369,6 @@ // block. LayoutPoint PhysicalLocation() const; - // Converts from a rect in the logical space of the InlineBox to one in the - // physical space of the containing block. The logical space of an InlineBox - // may be transposed for vertical text and flipped for right-to-left text. - void LogicalRectToPhysicalRect(LayoutRect&) const; - // TODO(szager): The Rect versions should return a rect, not modify the // argument. void FlipForWritingMode(FloatRect&) const;
diff --git a/third_party/WebKit/Source/core/layout/line/InlineBoxTest.cpp b/third_party/WebKit/Source/core/layout/line/InlineBoxTest.cpp deleted file mode 100644 index 099bea9..0000000 --- a/third_party/WebKit/Source/core/layout/line/InlineBoxTest.cpp +++ /dev/null
@@ -1,46 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "core/layout/line/InlineBox.h" - -#include "core/layout/LayoutBlockFlow.h" -#include "core/layout/LayoutTestHelper.h" - -namespace blink { - -using InlineBoxTest = RenderingTest; - -TEST_F(InlineBoxTest, LogicalRectToPhysicalRectNormal) { - SetBodyInnerHTML( - "<div id='div' style='width: 80px; height: 50px'>Test</div>"); - LayoutBlockFlow* div = ToLayoutBlockFlow(GetLayoutObjectByElementId("div")); - InlineBox* inline_box = div->FirstLineBox(); - LayoutRect rect(11, 22, 33, 44); - inline_box->LogicalRectToPhysicalRect(rect); - EXPECT_EQ(LayoutRect(11, 22, 33, 44), rect); -} - -TEST_F(InlineBoxTest, LogicalRectToPhysicalRectVerticalRL) { - SetBodyInnerHTML( - "<div id='div' " - "style='writing-mode:vertical-rl; width: 80px; height: 50px'>Test</div>"); - LayoutBlockFlow* div = ToLayoutBlockFlow(GetLayoutObjectByElementId("div")); - InlineBox* inline_box = div->FirstLineBox(); - LayoutRect rect(11, 22, 33, 44); - inline_box->LogicalRectToPhysicalRect(rect); - EXPECT_EQ(LayoutRect(14, 11, 44, 33), rect); -} - -TEST_F(InlineBoxTest, LogicalRectToPhysicalRectVerticalLR) { - SetBodyInnerHTML( - "<div id='div' " - "style='writing-mode:vertical-lr; width: 80px; height: 50px'>Test</div>"); - LayoutBlockFlow* div = ToLayoutBlockFlow(GetLayoutObjectByElementId("div")); - InlineBox* inline_box = div->FirstLineBox(); - LayoutRect rect(11, 22, 33, 44); - inline_box->LogicalRectToPhysicalRect(rect); - EXPECT_EQ(LayoutRect(22, 11, 44, 33), rect); -} - -} // namespace blink
diff --git a/third_party/WebKit/Source/core/layout/shapes/ShapeOutsideInfo.h b/third_party/WebKit/Source/core/layout/shapes/ShapeOutsideInfo.h index 76e094c..cb12ff17 100644 --- a/third_party/WebKit/Source/core/layout/shapes/ShapeOutsideInfo.h +++ b/third_party/WebKit/Source/core/layout/shapes/ShapeOutsideInfo.h
@@ -143,6 +143,8 @@ return GetInfoMap().at(&key); } + static bool IsEmpty() { return GetInfoMap().IsEmpty(); } + void MarkShapeAsDirty() { shape_.reset(); } bool IsShapeDirty() { return !shape_.get(); } LayoutSize ShapeSize() const { return reference_box_logical_size_; }
diff --git a/third_party/WebKit/Source/core/loader/FrameLoader.cpp b/third_party/WebKit/Source/core/loader/FrameLoader.cpp index 2ec640e0..8e0182a 100644 --- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp +++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp
@@ -42,7 +42,6 @@ #include "core/dom/Document.h" #include "core/dom/Element.h" #include "core/dom/TaskRunnerHelper.h" -#include "core/dom/UserGestureIndicator.h" #include "core/dom/ViewportDescription.h" #include "core/events/GestureEvent.h" #include "core/events/KeyboardEvent.h" @@ -831,7 +830,7 @@ FrameLoadRequest request(passed_request); request.GetResourceRequest().SetHasUserGesture( - UserGestureIndicator::ProcessingUserGesture()); + Frame::HasTransientUserActivation(frame_)); if (!PrepareRequestForThisFrame(request)) return;
diff --git a/third_party/WebKit/Source/core/loader/NavigationScheduler.cpp b/third_party/WebKit/Source/core/loader/NavigationScheduler.cpp index dc7fcb4..761ce62 100644 --- a/third_party/WebKit/Source/core/loader/NavigationScheduler.cpp +++ b/third_party/WebKit/Source/core/loader/NavigationScheduler.cpp
@@ -88,7 +88,7 @@ ("Navigation.Scheduled.MaybeCausedAbort", ScheduledNavigationType::kScheduledLastEntry * 2)); - int value = UserGestureIndicator::ProcessingUserGesture() + int value = Frame::HasTransientUserActivation(frame) ? type + kScheduledLastEntry : type; scheduled_navigation_clobber_histogram.Count(value); @@ -417,7 +417,7 @@ // create a new back/forward item. See https://webkit.org/b/42861 for the // original motivation for this. if (!target_frame->GetDocument()->LoadEventFinished() && - !UserGestureIndicator::ProcessingUserGesture()) + !Frame::HasTransientUserActivation(target_frame)) return true; // Navigation of a subframe during loading of an ancestor frame does not
diff --git a/third_party/WebKit/Source/core/loader/ScheduledNavigation.cpp b/third_party/WebKit/Source/core/loader/ScheduledNavigation.cpp index 89ac00e..0018dd2 100644 --- a/third_party/WebKit/Source/core/loader/ScheduledNavigation.cpp +++ b/third_party/WebKit/Source/core/loader/ScheduledNavigation.cpp
@@ -4,7 +4,8 @@ #include "core/loader/ScheduledNavigation.h" -#include "core/dom/UserGestureIndicator.h" +#include "core/frame/Frame.h" +#include "core/frame/LocalFrame.h" namespace blink { @@ -18,7 +19,8 @@ origin_document_(origin_document), replaces_current_item_(replaces_current_item), is_location_change_(is_location_change) { - if (UserGestureIndicator::ProcessingUserGesture()) + if (Frame::HasTransientUserActivation( + origin_document ? origin_document->GetFrame() : nullptr)) user_gesture_token_ = UserGestureIndicator::CurrentToken(); }
diff --git a/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.cpp b/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.cpp index 550e562c..7f43aca 100644 --- a/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.cpp +++ b/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.cpp
@@ -263,13 +263,13 @@ return; } - for (const auto& task : event_with_tasks->Take()) { + for (auto& task : event_with_tasks->Take()) { // Store the program counter where the task is posted from, and alias // it to ensure it is stored in the crash dump. const void* program_counter = task.location_.program_counter(); WTF::debug::Alias(&program_counter); - task.task_(); + std::move(task.task_).Run(); } }
diff --git a/third_party/WebKit/Source/core/loader/modulescript/DocumentModuleScriptFetcher.cpp b/third_party/WebKit/Source/core/loader/modulescript/DocumentModuleScriptFetcher.cpp index c75ed1bd..d1e76be 100644 --- a/third_party/WebKit/Source/core/loader/modulescript/DocumentModuleScriptFetcher.cpp +++ b/third_party/WebKit/Source/core/loader/modulescript/DocumentModuleScriptFetcher.cpp
@@ -13,11 +13,14 @@ namespace { -bool WasModuleLoadSuccessful(Resource* resource, - ConsoleMessage** error_message) { +bool WasModuleLoadSuccessful( + Resource* resource, + HeapVector<Member<ConsoleMessage>>* error_messages) { // Implements conditions in Step 7 of // https://html.spec.whatwg.org/#fetch-a-single-module-script + DCHECK(error_messages); + // - response's type is "error" if (!resource || resource->ErrorOccurred()) { return false; @@ -38,17 +41,15 @@ // MimeType() may be rewritten by mime sniffer. if (!MIMETypeRegistry::IsSupportedJavaScriptMIMEType( response.HttpContentType())) { - if (error_message) { - String message = - "Failed to load module script: The server responded with a " - "non-JavaScript MIME type of \"" + - response.HttpContentType() + - "\". Strict MIME type checking is enforced for module scripts per " - "HTML spec."; - *error_message = ConsoleMessage::CreateForRequest( - kJSMessageSource, kErrorMessageLevel, message, - response.Url().GetString(), resource->Identifier()); - } + String message = + "Failed to load module script: The server responded with a " + "non-JavaScript MIME type of \"" + + response.HttpContentType() + + "\". Strict MIME type checking is enforced for module scripts per " + "HTML spec."; + error_messages->push_back(ConsoleMessage::CreateForRequest( + kJSMessageSource, kErrorMessageLevel, message, + response.Url().GetString(), resource->Identifier())); return false; } @@ -86,9 +87,10 @@ ClearResource(); ScriptResource* script_resource = ToScriptResource(resource); - ConsoleMessage* error_message = nullptr; - if (!WasModuleLoadSuccessful(script_resource, &error_message)) { - Finalize(WTF::nullopt, error_message); + + HeapVector<Member<ConsoleMessage>> error_messages; + if (!WasModuleLoadSuccessful(script_resource, &error_messages)) { + Finalize(WTF::nullopt, error_messages); return; } @@ -96,14 +98,14 @@ script_resource->GetResponse().Url(), script_resource->SourceText(), script_resource->GetResourceRequest().GetFetchCredentialsMode(), script_resource->CalculateAccessControlStatus()); - Finalize(params, nullptr /* error_message */); + Finalize(params, error_messages); } void DocumentModuleScriptFetcher::Finalize( const WTF::Optional<ModuleScriptCreationParams>& params, - ConsoleMessage* error_message) { + const HeapVector<Member<ConsoleMessage>>& error_messages) { was_fetched_ = true; - NotifyFetchFinished(params, error_message); + NotifyFetchFinished(params, error_messages); } void DocumentModuleScriptFetcher::Trace(blink::Visitor* visitor) {
diff --git a/third_party/WebKit/Source/core/loader/modulescript/DocumentModuleScriptFetcher.h b/third_party/WebKit/Source/core/loader/modulescript/DocumentModuleScriptFetcher.h index 063675f2..55156ea 100644 --- a/third_party/WebKit/Source/core/loader/modulescript/DocumentModuleScriptFetcher.h +++ b/third_party/WebKit/Source/core/loader/modulescript/DocumentModuleScriptFetcher.h
@@ -44,7 +44,7 @@ private: void Finalize(const WTF::Optional<ModuleScriptCreationParams>&, - ConsoleMessage* error_message); + const HeapVector<Member<ConsoleMessage>>& error_messages); Member<ResourceFetcher> fetcher_; bool was_fetched_ = false;
diff --git a/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptFetcher.cpp b/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptFetcher.cpp index 0a81d2b..b1dcd60 100644 --- a/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptFetcher.cpp +++ b/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptFetcher.cpp
@@ -12,8 +12,8 @@ void ModuleScriptFetcher::NotifyFetchFinished( const WTF::Optional<ModuleScriptCreationParams>& params, - ConsoleMessage* error_message) { - client_->NotifyFetchFinished(params, error_message); + const HeapVector<Member<ConsoleMessage>>& error_messages) { + client_->NotifyFetchFinished(params, error_messages); } void ModuleScriptFetcher::SetClient(Client* client) {
diff --git a/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptFetcher.h b/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptFetcher.h index cadc14f9..ca04564 100644 --- a/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptFetcher.h +++ b/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptFetcher.h
@@ -7,6 +7,7 @@ #include "core/CoreExport.h" #include "core/loader/modulescript/ModuleScriptCreationParams.h" +#include "platform/heap/HeapAllocator.h" #include "platform/loader/fetch/FetchParameters.h" #include "platform/wtf/Optional.h" @@ -24,7 +25,7 @@ public: virtual void NotifyFetchFinished( const WTF::Optional<ModuleScriptCreationParams>&, - ConsoleMessage* error_message) = 0; + const HeapVector<Member<ConsoleMessage>>& error_messages) = 0; }; ModuleScriptFetcher() = default; @@ -38,7 +39,7 @@ protected: void NotifyFetchFinished(const WTF::Optional<ModuleScriptCreationParams>&, - ConsoleMessage*); + const HeapVector<Member<ConsoleMessage>>&); void SetClient(Client*);
diff --git a/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.cpp b/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.cpp index fc067606..8ddb6655 100644 --- a/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.cpp +++ b/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.cpp
@@ -171,7 +171,7 @@ void ModuleScriptLoader::NotifyFetchFinished( const WTF::Optional<ModuleScriptCreationParams>& params, - ConsoleMessage* error_message) { + const HeapVector<Member<ConsoleMessage>>& error_messages) { // [nospec] Abort the steps if the browsing context is discarded. if (!modulator_->HasValidContext()) { AdvanceState(State::kFinished); @@ -184,7 +184,7 @@ // null, asynchronously complete this algorithm with null, and abort these // steps." [spec text] if (!params.has_value()) { - if (error_message) { + for (ConsoleMessage* error_message : error_messages) { ExecutionContext::From(modulator_->GetScriptState()) ->AddConsoleMessage(error_message); }
diff --git a/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.h b/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.h index 69fe818e..48e72ab 100644 --- a/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.h +++ b/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.h
@@ -56,8 +56,9 @@ ModuleGraphLevel); // Implements ModuleScriptFetcher::Client. - void NotifyFetchFinished(const WTF::Optional<ModuleScriptCreationParams>&, - ConsoleMessage* error_message) override; + void NotifyFetchFinished( + const WTF::Optional<ModuleScriptCreationParams>&, + const HeapVector<Member<ConsoleMessage>>& error_messages) override; bool IsInitialState() const { return state_ == State::kInitial; } bool HasFinished() const { return state_ == State::kFinished; }
diff --git a/third_party/WebKit/Source/core/loader/modulescript/WorkletModuleScriptFetcher.cpp b/third_party/WebKit/Source/core/loader/modulescript/WorkletModuleScriptFetcher.cpp index e26357236..5cd5f209 100644 --- a/third_party/WebKit/Source/core/loader/modulescript/WorkletModuleScriptFetcher.cpp +++ b/third_party/WebKit/Source/core/loader/modulescript/WorkletModuleScriptFetcher.cpp
@@ -27,17 +27,19 @@ void WorkletModuleScriptFetcher::OnRead( const ModuleScriptCreationParams& params) { - Finalize(params, nullptr /* error_message */); + HeapVector<Member<ConsoleMessage>> error_messages; + Finalize(params, error_messages); } void WorkletModuleScriptFetcher::OnFailed() { - Finalize(WTF::nullopt, nullptr /* error_message */); + HeapVector<Member<ConsoleMessage>> error_messages; + Finalize(WTF::nullopt, error_messages); } void WorkletModuleScriptFetcher::Finalize( const WTF::Optional<ModuleScriptCreationParams>& params, - ConsoleMessage* error_message) { - NotifyFetchFinished(params, error_message); + const HeapVector<Member<ConsoleMessage>>& error_messages) { + NotifyFetchFinished(params, error_messages); } } // namespace blink
diff --git a/third_party/WebKit/Source/core/loader/modulescript/WorkletModuleScriptFetcher.h b/third_party/WebKit/Source/core/loader/modulescript/WorkletModuleScriptFetcher.h index 93fc9c1..4405e1b 100644 --- a/third_party/WebKit/Source/core/loader/modulescript/WorkletModuleScriptFetcher.h +++ b/third_party/WebKit/Source/core/loader/modulescript/WorkletModuleScriptFetcher.h
@@ -39,7 +39,7 @@ private: void Finalize(const WTF::Optional<ModuleScriptCreationParams>&, - ConsoleMessage* error_message); + const HeapVector<Member<ConsoleMessage>>& error_messages); Member<WorkletModuleResponsesMapProxy> module_responses_map_proxy_; };
diff --git a/third_party/WebKit/Source/core/page/ChromeClient.h b/third_party/WebKit/Source/core/page/ChromeClient.h index fcafa5a6..08f47db 100644 --- a/third_party/WebKit/Source/core/page/ChromeClient.h +++ b/third_party/WebKit/Source/core/page/ChromeClient.h
@@ -354,7 +354,7 @@ virtual void RequestDecode(LocalFrame*, const PaintImage& image, WTF::Function<void(bool)> callback) { - callback(false); + std::move(callback).Run(false); } void Trace(blink::Visitor*);
diff --git a/third_party/WebKit/Source/core/page/CreateWindow.cpp b/third_party/WebKit/Source/core/page/CreateWindow.cpp index c4abfa0a..e2e74ea 100644 --- a/third_party/WebKit/Source/core/page/CreateWindow.cpp +++ b/third_party/WebKit/Source/core/page/CreateWindow.cpp
@@ -28,7 +28,6 @@ #include "bindings/core/v8/ExceptionState.h" #include "core/dom/Document.h" -#include "core/dom/UserGestureIndicator.h" #include "core/events/UIEventWithKeyState.h" #include "core/exported/WebViewImpl.h" #include "core/frame/FrameClient.h" @@ -453,7 +452,7 @@ // Records HasUserGesture before the value is invalidated inside // createWindow(LocalFrame& openerFrame, ...). // This value will be set in ResourceRequest loaded in a new LocalFrame. - bool has_user_gesture = UserGestureIndicator::ProcessingUserGesture(); + bool has_user_gesture = Frame::HasTransientUserActivation(&opener_frame); // We pass the opener frame for the lookupFrame in case the active frame is // different from the opener frame, and the name references a frame relative
diff --git a/third_party/WebKit/Source/core/paint/ScrollableAreaPainter.cpp b/third_party/WebKit/Source/core/paint/ScrollableAreaPainter.cpp index 99be17f..1f899c57 100644 --- a/third_party/WebKit/Source/core/paint/ScrollableAreaPainter.cpp +++ b/third_party/WebKit/Source/core/paint/ScrollableAreaPainter.cpp
@@ -279,6 +279,21 @@ context.FillRect(abs_rect, Color::kWhite); } +void ScrollableAreaPainter::PaintScrollbar(const Scrollbar& scrollbar, + GraphicsContext& context, + const IntRect& clip) { + // Frame scrollbars are painted in the space of the containing frame, not the + // local space of the scrollbar. + const IntRect& scrollbar_rect = scrollbar.FrameRect(); + IntRect transformed_clip = clip; + transformed_clip.MoveBy(scrollbar_rect.Location()); + + AffineTransform translation = + AffineTransform::Translation(-scrollbar_rect.X(), -scrollbar_rect.Y()); + TransformRecorder transform_recorder(context, scrollbar, translation); + scrollbar.Paint(context, CullRect(transformed_clip)); +} + PaintLayerScrollableArea& ScrollableAreaPainter::GetScrollableArea() const { return *scrollable_area_; }
diff --git a/third_party/WebKit/Source/core/paint/ScrollableAreaPainter.h b/third_party/WebKit/Source/core/paint/ScrollableAreaPainter.h index 3da17dc..936ad11 100644 --- a/third_party/WebKit/Source/core/paint/ScrollableAreaPainter.h +++ b/third_party/WebKit/Source/core/paint/ScrollableAreaPainter.h
@@ -15,6 +15,7 @@ class IntPoint; class IntRect; class PaintLayerScrollableArea; +class Scrollbar; class ScrollableAreaPainter { STACK_ALLOCATED(); @@ -35,6 +36,9 @@ void PaintScrollCorner(GraphicsContext&, const IntPoint& paint_offset, const CullRect&); + static void PaintScrollbar(const Scrollbar&, + GraphicsContext&, + const IntRect& clip); private: void DrawPlatformResizerImage(GraphicsContext&, IntRect resizer_corner_rect);
diff --git a/third_party/WebKit/Source/core/paint/ThemePainterDefault.cpp b/third_party/WebKit/Source/core/paint/ThemePainterDefault.cpp index f1bcfc3..ec4d541cc 100644 --- a/third_party/WebKit/Source/core/paint/ThemePainterDefault.cpp +++ b/third_party/WebKit/Source/core/paint/ThemePainterDefault.cpp
@@ -442,8 +442,9 @@ if (!cancel_button_object.GetNode()) return false; Node* input = cancel_button_object.GetNode()->OwnerShadowHost(); - const LayoutObject& base_layout_object = - input ? *input->GetLayoutObject() : cancel_button_object; + const LayoutObject& base_layout_object = input && input->GetLayoutObject() + ? *input->GetLayoutObject() + : cancel_button_object; if (!base_layout_object.IsBox()) return false; const LayoutBox& input_layout_box = ToLayoutBox(base_layout_object);
diff --git a/third_party/WebKit/Source/core/paint/ThemePainterMac.mm b/third_party/WebKit/Source/core/paint/ThemePainterMac.mm index 050c70e..3783dc8 100644 --- a/third_party/WebKit/Source/core/paint/ThemePainterMac.mm +++ b/third_party/WebKit/Source/core/paint/ThemePainterMac.mm
@@ -551,21 +551,16 @@ return false; } -bool ThemePainterMac::PaintSearchFieldCancelButton(const LayoutObject& o, - const PaintInfo& paint_info, - const IntRect& r) { - if (!o.GetNode()) - return false; - Element* input = o.GetNode()->OwnerShadowHost(); - if (!input) - input = ToElement(o.GetNode()); - - if (!input->GetLayoutObject()->IsBox()) +bool ThemePainterMac::PaintSearchFieldCancelButton( + const LayoutObject& cancel_button, + const PaintInfo& paint_info, + const IntRect& r) { + if (!cancel_button.GetNode()) return false; GraphicsContextStateSaver state_saver(paint_info.context); - float zoom_level = o.StyleRef().EffectiveZoom(); + float zoom_level = cancel_button.StyleRef().EffectiveZoom(); FloatRect unzoomed_rect(r); if (zoom_level != 1.0f) { unzoomed_rect.SetWidth(unzoomed_rect.Width() / zoom_level); @@ -577,7 +572,7 @@ Color fill_color(200, 200, 200); - if (LayoutTheme::IsPressed(o.GetNode())) { + if (LayoutTheme::IsPressed(cancel_button.GetNode())) { Color tint_color(0, 0, 0, 32); fill_color = fill_color.Blend(tint_color); }
diff --git a/third_party/WebKit/Source/core/paint/compositing/CompositedLayerMapping.cpp b/third_party/WebKit/Source/core/paint/compositing/CompositedLayerMapping.cpp index 1b54c4e2..68586a7b 100644 --- a/third_party/WebKit/Source/core/paint/compositing/CompositedLayerMapping.cpp +++ b/third_party/WebKit/Source/core/paint/compositing/CompositedLayerMapping.cpp
@@ -3204,21 +3204,6 @@ } } -static void PaintScrollbar(const Scrollbar* scrollbar, - GraphicsContext& context, - const IntRect& clip) { - if (!scrollbar) - return; - - const IntRect& scrollbar_rect = scrollbar->FrameRect(); - TransformRecorder transform_recorder( - context, *scrollbar, - AffineTransform::Translation(-scrollbar_rect.X(), -scrollbar_rect.Y())); - IntRect transformed_clip = clip; - transformed_clip.MoveBy(scrollbar_rect.Location()); - scrollbar->Paint(context, CullRect(transformed_clip)); -} - // TODO(eseckler): Make recording distance configurable, e.g. for use in // headless, where we would like to record an exact area. // Note however that the minimum value for this constant is the size of a @@ -3505,14 +3490,13 @@ // frame. For painting frame ScrollableAreas, see // PaintLayerCompositor::paintContents. - FloatRect layer_bounds(FloatPoint(), graphics_layer->Size()); PaintLayerScrollableArea* scrollable_area = owning_layer_.GetScrollableArea(); if (graphics_layer == LayerForHorizontalScrollbar()) { - PaintScrollbar(scrollable_area->HorizontalScrollbar(), context, - interest_rect); + if (const Scrollbar* scrollbar = scrollable_area->HorizontalScrollbar()) + ScrollableAreaPainter::PaintScrollbar(*scrollbar, context, interest_rect); } else if (graphics_layer == LayerForVerticalScrollbar()) { - PaintScrollbar(scrollable_area->VerticalScrollbar(), context, - interest_rect); + if (const Scrollbar* scrollbar = scrollable_area->VerticalScrollbar()) + ScrollableAreaPainter::PaintScrollbar(*scrollbar, context, interest_rect); } else if (graphics_layer == LayerForScrollCorner()) { // Note that scroll corners always paint into local space, whereas // scrollbars paint in the space of their containing frame.
diff --git a/third_party/WebKit/Source/core/paint/compositing/PaintLayerCompositor.cpp b/third_party/WebKit/Source/core/paint/compositing/PaintLayerCompositor.cpp index 38eea8d..29b0a3f 100644 --- a/third_party/WebKit/Source/core/paint/compositing/PaintLayerCompositor.cpp +++ b/third_party/WebKit/Source/core/paint/compositing/PaintLayerCompositor.cpp
@@ -47,6 +47,7 @@ #include "core/page/scrolling/TopDocumentRootScrollerController.h" #include "core/paint/FramePainter.h" #include "core/paint/ObjectPaintInvalidator.h" +#include "core/paint/ScrollableAreaPainter.h" #include "core/paint/TransformRecorder.h" #include "core/paint/compositing/CompositedLayerMapping.h" #include "core/paint/compositing/CompositingInputsUpdater.h" @@ -942,21 +943,6 @@ return layer->StackingNode()->HasNegativeZOrderList(); } -static void PaintScrollbar(const Scrollbar* scrollbar, - GraphicsContext& context, - const IntRect& clip) { - // Frame scrollbars are painted in the space of the containing frame, not the - // local space of the scrollbar. - const IntPoint& paint_offset = scrollbar->FrameRect().Location(); - IntRect transformed_clip = clip; - transformed_clip.MoveBy(paint_offset); - - AffineTransform translation; - translation.Translate(-paint_offset.X(), -paint_offset.Y()); - TransformRecorder transform_recorder(context, *scrollbar, translation); - scrollbar->Paint(context, CullRect(transformed_clip)); -} - IntRect PaintLayerCompositor::ComputeInterestRect( const GraphicsLayer* graphics_layer, const IntRect&) const { @@ -976,7 +962,7 @@ return; if (scrollbar) { - PaintScrollbar(scrollbar, context, interest_rect); + ScrollableAreaPainter::PaintScrollbar(*scrollbar, context, interest_rect); } else { FramePainter(*layout_view_.GetFrameView()) .PaintScrollCorner(context, interest_rect);
diff --git a/third_party/WebKit/Source/core/svg/SVGURIReference.cpp b/third_party/WebKit/Source/core/svg/SVGURIReference.cpp index e135aca9..ecedcc1 100644 --- a/third_party/WebKit/Source/core/svg/SVGURIReference.cpp +++ b/third_party/WebKit/Source/core/svg/SVGURIReference.cpp
@@ -40,8 +40,8 @@ closure_(std::move(closure)) {} private: - void IdTargetChanged() override { closure_(); } - WTF::Closure closure_; + void IdTargetChanged() override { closure_.Run(); } + WTF::RepeatingClosure closure_; }; }
diff --git a/third_party/WebKit/Source/core/testing/Internals.cpp b/third_party/WebKit/Source/core/testing/Internals.cpp index 5ba096f..ddede8d 100644 --- a/third_party/WebKit/Source/core/testing/Internals.cpp +++ b/third_party/WebKit/Source/core/testing/Internals.cpp
@@ -415,6 +415,16 @@ doc->GetLayoutViewItem().ClearHitTestCache(); } +Element* Internals::innerEditorElement(Element* container, + ExceptionState& exception_state) const { + if (IsTextControlElement(container)) + return ToTextControlElement(container)->InnerEditorElement(); + + exception_state.ThrowDOMException(kNotSupportedError, + "Not a text control element."); + return nullptr; +} + bool Internals::isPreloaded(const String& url) { return isPreloadedBy(url, document_); }
diff --git a/third_party/WebKit/Source/core/testing/Internals.h b/third_party/WebKit/Source/core/testing/Internals.h index 21dc985..de9df837 100644 --- a/third_party/WebKit/Source/core/testing/Internals.h +++ b/third_party/WebKit/Source/core/testing/Internals.h
@@ -164,6 +164,8 @@ ExceptionState&) const; void clearHitTestCache(Document*, ExceptionState&) const; + Element* innerEditorElement(Element* container, ExceptionState&) const; + String visiblePlaceholder(Element*); bool isValidationMessageVisible(Element*); void selectColorInColorChooser(Element*, const String& color_value);
diff --git a/third_party/WebKit/Source/core/testing/Internals.idl b/third_party/WebKit/Source/core/testing/Internals.idl index 26f7e5ce..9ed64ed7 100644 --- a/third_party/WebKit/Source/core/testing/Internals.idl +++ b/third_party/WebKit/Source/core/testing/Internals.idl
@@ -72,6 +72,9 @@ [RaisesException] Element? elementFromPoint(Document document, double x, double y, boolean ignoreClipping, boolean allowChildFrameContent); [RaisesException] void clearHitTestCache(Document document); + // Allows inspection of the inner editor node. + [RaisesException] Element? innerEditorElement(Element container); + // Animation testing. [RaisesException] void pauseAnimations(double pauseTime); bool isCompositedAnimation(Animation animation);
diff --git a/third_party/WebKit/Source/core/workers/WorkerScriptLoader.cpp b/third_party/WebKit/Source/core/workers/WorkerScriptLoader.cpp index 8586793..0cae84b 100644 --- a/third_party/WebKit/Source/core/workers/WorkerScriptLoader.cpp +++ b/third_party/WebKit/Source/core/workers/WorkerScriptLoader.cpp
@@ -164,7 +164,7 @@ } if (response_callback_) - response_callback_(); + std::move(response_callback_).Run(); } void WorkerScriptLoader::DidReceiveData(const char* data, unsigned len) { @@ -239,8 +239,7 @@ if (!finished_callback_) return; - WTF::Closure callback = std::move(finished_callback_); - callback(); + std::move(finished_callback_).Run(); } void WorkerScriptLoader::ProcessContentSecurityPolicy(
diff --git a/third_party/WebKit/Source/core/workers/WorkerThread.cpp b/third_party/WebKit/Source/core/workers/WorkerThread.cpp index 3161f0d..a6f70fda 100644 --- a/third_party/WebKit/Source/core/workers/WorkerThread.cpp +++ b/third_party/WebKit/Source/core/workers/WorkerThread.cpp
@@ -244,14 +244,14 @@ worker_inspector_controller_->FlushProtocolNotifications(); paused_in_debugger_ = true; ThreadDebugger::IdleStarted(GetIsolate()); - CrossThreadClosure task; do { - task = + CrossThreadClosure task = inspector_task_runner_->TakeNextTask(InspectorTaskRunner::kWaitForTask); - if (task) - task(); + if (!task) + break; + std::move(task).Run(); // Keep waiting until execution is resumed. - } while (task && paused_in_debugger_); + } while (paused_in_debugger_); ThreadDebugger::IdleFinished(GetIsolate()); } @@ -521,7 +521,7 @@ CustomCountHistogram, scoped_us_counter, ("WorkerThread.DebuggerTask.Time", 0, 10000000, 50)); ScopedUsHistogramTimer timer(scoped_us_counter); - task(); + std::move(task).Run(); } ThreadDebugger::IdleStarted(GetIsolate()); { @@ -535,7 +535,7 @@ CrossThreadClosure task = inspector_task_runner_->TakeNextTask( InspectorTaskRunner::kDontWaitForTask); if (task) - task(); + std::move(task).Run(); } void WorkerThread::SetThreadState(const MutexLocker& lock,
diff --git a/third_party/WebKit/Source/core/workers/WorkletModuleResponsesMap.cpp b/third_party/WebKit/Source/core/workers/WorkletModuleResponsesMap.cpp index 21a08cf..4c2f2229 100644 --- a/third_party/WebKit/Source/core/workers/WorkletModuleResponsesMap.cpp +++ b/third_party/WebKit/Source/core/workers/WorkletModuleResponsesMap.cpp
@@ -50,13 +50,13 @@ // https://drafts.css-houdini.org/worklets/#fetch-a-worklet-script void NotifyFetchFinished( const WTF::Optional<ModuleScriptCreationParams>& params, - ConsoleMessage* error_message) override { + const HeapVector<Member<ConsoleMessage>>& error_messages) override { // The entry can be disposed of during the resource fetch. if (state_ == State::kFailed) return; if (!params) { - // TODO(nhiroki): Add |error_message| to the context's message storage. + // TODO(nhiroki): Add |error_messages| to the context's message storage. NotifyFailure(); return; }
diff --git a/third_party/WebKit/Source/modules/BUILD.gn b/third_party/WebKit/Source/modules/BUILD.gn index 0c75c845..1a295eae 100644 --- a/third_party/WebKit/Source/modules/BUILD.gn +++ b/third_party/WebKit/Source/modules/BUILD.gn
@@ -89,6 +89,7 @@ "//third_party/WebKit/Source/bindings/modules/v8:bindings_modules_impl", "//third_party/WebKit/Source/core", "//third_party/WebKit/Source/modules/accessibility", + "//third_party/WebKit/Source/modules/animationworklet", "//third_party/WebKit/Source/modules/app_banner", "//third_party/WebKit/Source/modules/audio_output_devices", "//third_party/WebKit/Source/modules/background_fetch", @@ -100,7 +101,6 @@ "//third_party/WebKit/Source/modules/budget", "//third_party/WebKit/Source/modules/cachestorage", "//third_party/WebKit/Source/modules/canvas", - "//third_party/WebKit/Source/modules/compositorworker", "//third_party/WebKit/Source/modules/cookie_store", "//third_party/WebKit/Source/modules/credentialmanager", "//third_party/WebKit/Source/modules/crypto", @@ -244,14 +244,14 @@ "accessibility/AccessibilityObjectModelTest.cpp", "accessibility/testing/AccessibilityTest.cpp", "accessibility/testing/AccessibilityTest.h", + "animationworklet/AnimationWorkletGlobalScopeTest.cpp", + "animationworklet/AnimationWorkletThreadTest.cpp", "background_fetch/BackgroundFetchManagerTest.cpp", "cachestorage/CacheTest.cpp", "canvas/canvas2d/CanvasRenderingContext2DAPITest.cpp", "canvas/canvas2d/CanvasRenderingContext2DTest.cpp", "canvas/htmlcanvas/HTMLCanvasElementModuleTest.cpp", "canvas/offscreencanvas/OffscreenCanvasTest.cpp", - "compositorworker/AnimationWorkletGlobalScopeTest.cpp", - "compositorworker/AnimationWorkletThreadTest.cpp", "credentialmanager/CredentialsContainerTest.cpp", "credentialmanager/PasswordCredentialTest.cpp", "csspaint/PaintRenderingContext2DTest.cpp",
diff --git a/third_party/WebKit/Source/modules/ModulesInitializer.cpp b/third_party/WebKit/Source/modules/ModulesInitializer.cpp index aac4c86..d00132c 100644 --- a/third_party/WebKit/Source/modules/ModulesInitializer.cpp +++ b/third_party/WebKit/Source/modules/ModulesInitializer.cpp
@@ -26,6 +26,7 @@ #include "modules/EventModulesFactory.h" #include "modules/accessibility/AXObjectCacheImpl.h" #include "modules/accessibility/InspectorAccessibilityAgent.h" +#include "modules/animationworklet/AnimationWorkletThread.h" #include "modules/app_banner/AppBannerController.h" #include "modules/audio_output_devices/AudioOutputDeviceClient.h" #include "modules/audio_output_devices/AudioOutputDeviceClientImpl.h" @@ -34,7 +35,6 @@ #include "modules/canvas/canvas2d/CanvasRenderingContext2D.h" #include "modules/canvas/imagebitmap/ImageBitmapRenderingContext.h" #include "modules/canvas/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h" -#include "modules/compositorworker/AnimationWorkletThread.h" #include "modules/credentialmanager/CredentialManagerClient.h" #include "modules/csspaint/CSSPaintImageGeneratorImpl.h" #include "modules/device_orientation/DeviceMotionController.h"
diff --git a/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp b/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp index 51ed6f14..c3d3f67 100644 --- a/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp +++ b/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp
@@ -1272,7 +1272,7 @@ CreatePermissionDescriptor( mojom::blink::PermissionName::ACCESSIBILITY_EVENTS), document_->GetExecutionContext()->GetSecurityOrigin(), - UserGestureIndicator::ProcessingUserGesture(), + Frame::HasTransientUserActivation(document_->GetFrame()), ConvertToBaseCallback(WTF::Bind( &AXObjectCacheImpl::OnPermissionStatusChange, WrapPersistent(this)))); }
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorklet.cpp b/third_party/WebKit/Source/modules/animationworklet/AnimationWorklet.cpp similarity index 86% rename from third_party/WebKit/Source/modules/compositorworker/AnimationWorklet.cpp rename to third_party/WebKit/Source/modules/animationworklet/AnimationWorklet.cpp index 0c0a745..8d4a146 100644 --- a/third_party/WebKit/Source/modules/compositorworker/AnimationWorklet.cpp +++ b/third_party/WebKit/Source/modules/animationworklet/AnimationWorklet.cpp
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "modules/compositorworker/AnimationWorklet.h" +#include "modules/animationworklet/AnimationWorklet.h" #include "bindings/core/v8/V8BindingForCore.h" #include "core/dom/AnimationWorkletProxyClient.h" @@ -10,9 +10,9 @@ #include "core/frame/LocalFrame.h" #include "core/page/ChromeClient.h" #include "core/workers/WorkerClients.h" -#include "modules/compositorworker/AnimationWorkletMessagingProxy.h" -#include "modules/compositorworker/AnimationWorkletProxyClientImpl.h" -#include "modules/compositorworker/AnimationWorkletThread.h" +#include "modules/animationworklet/AnimationWorkletMessagingProxy.h" +#include "modules/animationworklet/AnimationWorkletProxyClientImpl.h" +#include "modules/animationworklet/AnimationWorkletThread.h" namespace blink {
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorklet.h b/third_party/WebKit/Source/modules/animationworklet/AnimationWorklet.h similarity index 100% rename from third_party/WebKit/Source/modules/compositorworker/AnimationWorklet.h rename to third_party/WebKit/Source/modules/animationworklet/AnimationWorklet.h
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScope.cpp b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScope.cpp similarity index 98% rename from third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScope.cpp rename to third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScope.cpp index 8034ffa..4869dfcd 100644 --- a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScope.cpp +++ b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScope.cpp
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "modules/compositorworker/AnimationWorkletGlobalScope.h" +#include "modules/animationworklet/AnimationWorkletGlobalScope.h" #include "platform/weborigin/SecurityOrigin.h"
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScope.h b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScope.h similarity index 96% rename from third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScope.h rename to third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScope.h index e95bb0d..a91bc8c 100644 --- a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScope.h +++ b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScope.h
@@ -8,8 +8,8 @@ #include "bindings/core/v8/ScriptValue.h" #include "core/workers/ThreadedWorkletGlobalScope.h" #include "modules/ModulesExport.h" -#include "modules/compositorworker/Animator.h" -#include "modules/compositorworker/AnimatorDefinition.h" +#include "modules/animationworklet/Animator.h" +#include "modules/animationworklet/AnimatorDefinition.h" #include "platform/bindings/ScriptWrappable.h" #include "platform/graphics/CompositorAnimatorsState.h"
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScope.idl b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScope.idl similarity index 100% rename from third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScope.idl rename to third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScope.idl
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScopeTest.cpp b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScopeTest.cpp similarity index 97% rename from third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScopeTest.cpp rename to third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScopeTest.cpp index b32e3512..a0efbff0 100644 --- a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScopeTest.cpp +++ b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScopeTest.cpp
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "modules/compositorworker/AnimationWorkletGlobalScope.h" +#include "modules/animationworklet/AnimationWorkletGlobalScope.h" #include "bindings/core/v8/ExceptionState.h" #include "bindings/core/v8/ScriptModule.h" @@ -13,10 +13,10 @@ #include "core/dom/TaskRunnerHelper.h" #include "core/workers/GlobalScopeCreationParams.h" #include "core/workers/WorkerReportingProxy.h" -#include "modules/compositorworker/AnimationWorklet.h" -#include "modules/compositorworker/AnimationWorkletThread.h" -#include "modules/compositorworker/Animator.h" -#include "modules/compositorworker/AnimatorDefinition.h" +#include "modules/animationworklet/AnimationWorklet.h" +#include "modules/animationworklet/AnimationWorkletThread.h" +#include "modules/animationworklet/Animator.h" +#include "modules/animationworklet/AnimatorDefinition.h" #include "platform/CrossThreadFunctional.h" #include "platform/WaitableEvent.h" #include "platform/loader/fetch/AccessControlStatus.h"
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletMessagingProxy.cpp b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletMessagingProxy.cpp similarity index 88% rename from third_party/WebKit/Source/modules/compositorworker/AnimationWorkletMessagingProxy.cpp rename to third_party/WebKit/Source/modules/animationworklet/AnimationWorkletMessagingProxy.cpp index 95a4453..c82cf55 100644 --- a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletMessagingProxy.cpp +++ b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletMessagingProxy.cpp
@@ -2,11 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "modules/compositorworker/AnimationWorkletMessagingProxy.h" +#include "modules/animationworklet/AnimationWorkletMessagingProxy.h" #include "core/workers/ThreadedWorkletObjectProxy.h" #include "core/workers/WorkerClients.h" -#include "modules/compositorworker/AnimationWorkletThread.h" +#include "modules/animationworklet/AnimationWorkletThread.h" namespace blink {
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletMessagingProxy.h b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletMessagingProxy.h similarity index 100% rename from third_party/WebKit/Source/modules/compositorworker/AnimationWorkletMessagingProxy.h rename to third_party/WebKit/Source/modules/animationworklet/AnimationWorkletMessagingProxy.h
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletProxyClientImpl.cpp b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletProxyClientImpl.cpp similarity index 96% rename from third_party/WebKit/Source/modules/compositorworker/AnimationWorkletProxyClientImpl.cpp rename to third_party/WebKit/Source/modules/animationworklet/AnimationWorkletProxyClientImpl.cpp index 142d93e..dc92813 100644 --- a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletProxyClientImpl.cpp +++ b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletProxyClientImpl.cpp
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "modules/compositorworker/AnimationWorkletProxyClientImpl.h" +#include "modules/animationworklet/AnimationWorkletProxyClientImpl.h" #include "core/animation/CompositorMutatorImpl.h" #include "core/dom/Document.h"
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletProxyClientImpl.h b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletProxyClientImpl.h similarity index 96% rename from third_party/WebKit/Source/modules/compositorworker/AnimationWorkletProxyClientImpl.h rename to third_party/WebKit/Source/modules/animationworklet/AnimationWorkletProxyClientImpl.h index c27b1c64..34281fa 100644 --- a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletProxyClientImpl.h +++ b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletProxyClientImpl.h
@@ -8,7 +8,7 @@ #include "core/animation/CompositorAnimator.h" #include "core/dom/AnimationWorkletProxyClient.h" #include "modules/ModulesExport.h" -#include "modules/compositorworker/AnimationWorkletGlobalScope.h" +#include "modules/animationworklet/AnimationWorkletGlobalScope.h" #include "platform/heap/Handle.h" #include "platform/wtf/Noncopyable.h"
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletThread.cpp b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletThread.cpp similarity index 95% rename from third_party/WebKit/Source/modules/compositorworker/AnimationWorkletThread.cpp rename to third_party/WebKit/Source/modules/animationworklet/AnimationWorkletThread.cpp index a1e78d5f..454b6a5 100644 --- a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletThread.cpp +++ b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletThread.cpp
@@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "modules/compositorworker/AnimationWorkletThread.h" +#include "modules/animationworklet/AnimationWorkletThread.h" #include <memory> #include "core/loader/ThreadableLoadingContext.h" #include "core/workers/GlobalScopeCreationParams.h" #include "core/workers/WorkerBackingThread.h" #include "core/workers/WorkletThreadHolder.h" -#include "modules/compositorworker/AnimationWorkletGlobalScope.h" +#include "modules/animationworklet/AnimationWorkletGlobalScope.h" #include "platform/CrossThreadFunctional.h" #include "platform/WebThreadSupportingGC.h" #include "platform/instrumentation/tracing/TraceEvent.h"
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletThread.h b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletThread.h similarity index 100% rename from third_party/WebKit/Source/modules/compositorworker/AnimationWorkletThread.h rename to third_party/WebKit/Source/modules/animationworklet/AnimationWorkletThread.h
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletThreadTest.cpp b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletThreadTest.cpp similarity index 99% rename from third_party/WebKit/Source/modules/compositorworker/AnimationWorkletThreadTest.cpp rename to third_party/WebKit/Source/modules/animationworklet/AnimationWorkletThreadTest.cpp index b34a8fd..3032d0f 100644 --- a/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletThreadTest.cpp +++ b/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletThreadTest.cpp
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "modules/compositorworker/AnimationWorkletThread.h" +#include "modules/animationworklet/AnimationWorkletThread.h" #include <memory> #include "bindings/core/v8/ScriptModule.h"
diff --git a/third_party/WebKit/Source/modules/compositorworker/Animator.cpp b/third_party/WebKit/Source/modules/animationworklet/Animator.cpp similarity index 95% rename from third_party/WebKit/Source/modules/compositorworker/Animator.cpp rename to third_party/WebKit/Source/modules/animationworklet/Animator.cpp index 31e0d0f..8ba4ba0 100644 --- a/third_party/WebKit/Source/modules/compositorworker/Animator.cpp +++ b/third_party/WebKit/Source/modules/animationworklet/Animator.cpp
@@ -2,11 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "modules/compositorworker/Animator.h" +#include "modules/animationworklet/Animator.h" #include "bindings/core/v8/V8ScriptRunner.h" #include "core/dom/ExecutionContext.h" -#include "modules/compositorworker/AnimatorDefinition.h" +#include "modules/animationworklet/AnimatorDefinition.h" #include "platform/bindings/ScriptState.h" #include "platform/bindings/ToV8.h" #include "platform/bindings/V8Binding.h"
diff --git a/third_party/WebKit/Source/modules/compositorworker/Animator.h b/third_party/WebKit/Source/modules/animationworklet/Animator.h similarity index 97% rename from third_party/WebKit/Source/modules/compositorworker/Animator.h rename to third_party/WebKit/Source/modules/animationworklet/Animator.h index 80a58c8..ff553c1 100644 --- a/third_party/WebKit/Source/modules/compositorworker/Animator.h +++ b/third_party/WebKit/Source/modules/animationworklet/Animator.h
@@ -5,7 +5,7 @@ #ifndef Animator_h #define Animator_h -#include "modules/compositorworker/EffectProxy.h" +#include "modules/animationworklet/EffectProxy.h" #include "platform/bindings/ScriptWrappable.h" #include "platform/bindings/TraceWrapperMember.h" #include "platform/bindings/TraceWrapperV8Reference.h"
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimatorDefinition.cpp b/third_party/WebKit/Source/modules/animationworklet/AnimatorDefinition.cpp similarity index 91% rename from third_party/WebKit/Source/modules/compositorworker/AnimatorDefinition.cpp rename to third_party/WebKit/Source/modules/animationworklet/AnimatorDefinition.cpp index f83aaae..7479c53 100644 --- a/third_party/WebKit/Source/modules/compositorworker/AnimatorDefinition.cpp +++ b/third_party/WebKit/Source/modules/animationworklet/AnimatorDefinition.cpp
@@ -2,10 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "modules/compositorworker/AnimatorDefinition.h" +#include "modules/animationworklet/AnimatorDefinition.h" #include "core/dom/ExecutionContext.h" -#include "modules/compositorworker/Animator.h" +#include "modules/animationworklet/Animator.h" #include "platform/bindings/ScriptState.h" #include "platform/bindings/V8Binding.h" #include "platform/bindings/V8ObjectConstructor.h"
diff --git a/third_party/WebKit/Source/modules/compositorworker/AnimatorDefinition.h b/third_party/WebKit/Source/modules/animationworklet/AnimatorDefinition.h similarity index 100% rename from third_party/WebKit/Source/modules/compositorworker/AnimatorDefinition.h rename to third_party/WebKit/Source/modules/animationworklet/AnimatorDefinition.h
diff --git a/third_party/WebKit/Source/modules/compositorworker/BUILD.gn b/third_party/WebKit/Source/modules/animationworklet/BUILD.gn similarity index 94% rename from third_party/WebKit/Source/modules/compositorworker/BUILD.gn rename to third_party/WebKit/Source/modules/animationworklet/BUILD.gn index eff14ad..3016edc4 100644 --- a/third_party/WebKit/Source/modules/compositorworker/BUILD.gn +++ b/third_party/WebKit/Source/modules/animationworklet/BUILD.gn
@@ -4,7 +4,7 @@ import("//third_party/WebKit/Source/modules/modules.gni") -blink_modules_sources("compositorworker") { +blink_modules_sources("animationworklet") { sources = [ "AnimationWorklet.cpp", "AnimationWorklet.h",
diff --git a/third_party/WebKit/Source/modules/compositorworker/DEPS b/third_party/WebKit/Source/modules/animationworklet/DEPS similarity index 75% rename from third_party/WebKit/Source/modules/compositorworker/DEPS rename to third_party/WebKit/Source/modules/animationworklet/DEPS index 5a1c9df..5e5a0dc 100644 --- a/third_party/WebKit/Source/modules/compositorworker/DEPS +++ b/third_party/WebKit/Source/modules/animationworklet/DEPS
@@ -2,5 +2,5 @@ "-modules", "+modules/EventTargetModules.h", "+modules/ModulesExport.h", - "+modules/compositorworker", + "+modules/animationworklet", ]
diff --git a/third_party/WebKit/Source/modules/compositorworker/EffectProxy.h b/third_party/WebKit/Source/modules/animationworklet/EffectProxy.h similarity index 100% rename from third_party/WebKit/Source/modules/compositorworker/EffectProxy.h rename to third_party/WebKit/Source/modules/animationworklet/EffectProxy.h
diff --git a/third_party/WebKit/Source/modules/compositorworker/EffectProxy.idl b/third_party/WebKit/Source/modules/animationworklet/EffectProxy.idl similarity index 100% rename from third_party/WebKit/Source/modules/compositorworker/EffectProxy.idl rename to third_party/WebKit/Source/modules/animationworklet/EffectProxy.idl
diff --git a/third_party/WebKit/Source/modules/compositorworker/OWNERS b/third_party/WebKit/Source/modules/animationworklet/OWNERS similarity index 100% rename from third_party/WebKit/Source/modules/compositorworker/OWNERS rename to third_party/WebKit/Source/modules/animationworklet/OWNERS
diff --git a/third_party/WebKit/Source/modules/compositorworker/README.md b/third_party/WebKit/Source/modules/animationworklet/README.md similarity index 77% rename from third_party/WebKit/Source/modules/compositorworker/README.md rename to third_party/WebKit/Source/modules/animationworklet/README.md index 2368af0..07d53dc 100644 --- a/third_party/WebKit/Source/modules/compositorworker/README.md +++ b/third_party/WebKit/Source/modules/animationworklet/README.md
@@ -8,6 +8,6 @@ ## Testing Layout tests that cover web-exposed API for Animation Worklet are tested in [`LayoutTests/virtual/th -readed/fast/compositorworker/`](../../../LayoutTests/virtual/threaded/fast/compositorworker/). +readed/fast/animationworklet/`](../../../LayoutTests/virtual/threaded/fast/animationworklet/). -There are unit tests covering animation worklet and global scope in [`modules/compositorworker`](.). \ No newline at end of file +There are unit tests covering animation worklet and global scope in [`modules/animationworklet`](.). \ No newline at end of file
diff --git a/third_party/WebKit/Source/modules/compositorworker/WindowAnimationWorklet.cpp b/third_party/WebKit/Source/modules/animationworklet/WindowAnimationWorklet.cpp similarity index 96% rename from third_party/WebKit/Source/modules/compositorworker/WindowAnimationWorklet.cpp rename to third_party/WebKit/Source/modules/animationworklet/WindowAnimationWorklet.cpp index 03eb7f6..5daf68b 100644 --- a/third_party/WebKit/Source/modules/compositorworker/WindowAnimationWorklet.cpp +++ b/third_party/WebKit/Source/modules/animationworklet/WindowAnimationWorklet.cpp
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "modules/compositorworker/WindowAnimationWorklet.h" +#include "modules/animationworklet/WindowAnimationWorklet.h" #include "core/dom/Document.h" #include "core/frame/LocalDOMWindow.h"
diff --git a/third_party/WebKit/Source/modules/compositorworker/WindowAnimationWorklet.h b/third_party/WebKit/Source/modules/animationworklet/WindowAnimationWorklet.h similarity index 94% rename from third_party/WebKit/Source/modules/compositorworker/WindowAnimationWorklet.h rename to third_party/WebKit/Source/modules/animationworklet/WindowAnimationWorklet.h index e213cc3b..338834b 100644 --- a/third_party/WebKit/Source/modules/compositorworker/WindowAnimationWorklet.h +++ b/third_party/WebKit/Source/modules/animationworklet/WindowAnimationWorklet.h
@@ -7,7 +7,7 @@ #include "core/dom/ContextLifecycleObserver.h" #include "modules/ModulesExport.h" -#include "modules/compositorworker/AnimationWorklet.h" +#include "modules/animationworklet/AnimationWorklet.h" #include "platform/Supplementable.h" #include "platform/heap/Handle.h"
diff --git a/third_party/WebKit/Source/modules/compositorworker/WindowAnimationWorklet.idl b/third_party/WebKit/Source/modules/animationworklet/WindowAnimationWorklet.idl similarity index 100% rename from third_party/WebKit/Source/modules/compositorworker/WindowAnimationWorklet.idl rename to third_party/WebKit/Source/modules/animationworklet/WindowAnimationWorklet.idl
diff --git a/third_party/WebKit/Source/modules/compositorworker/WorkletAnimation.cpp b/third_party/WebKit/Source/modules/animationworklet/WorkletAnimation.cpp similarity index 98% rename from third_party/WebKit/Source/modules/compositorworker/WorkletAnimation.cpp rename to third_party/WebKit/Source/modules/animationworklet/WorkletAnimation.cpp index c230566..a260c42 100644 --- a/third_party/WebKit/Source/modules/compositorworker/WorkletAnimation.cpp +++ b/third_party/WebKit/Source/modules/animationworklet/WorkletAnimation.cpp
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "modules/compositorworker/WorkletAnimation.h" +#include "modules/animationworklet/WorkletAnimation.h" #include "core/animation/ElementAnimations.h" #include "core/animation/KeyframeEffectModel.h"
diff --git a/third_party/WebKit/Source/modules/compositorworker/WorkletAnimation.h b/third_party/WebKit/Source/modules/animationworklet/WorkletAnimation.h similarity index 100% rename from third_party/WebKit/Source/modules/compositorworker/WorkletAnimation.h rename to third_party/WebKit/Source/modules/animationworklet/WorkletAnimation.h
diff --git a/third_party/WebKit/Source/modules/compositorworker/WorkletAnimation.idl b/third_party/WebKit/Source/modules/animationworklet/WorkletAnimation.idl similarity index 100% rename from third_party/WebKit/Source/modules/compositorworker/WorkletAnimation.idl rename to third_party/WebKit/Source/modules/animationworklet/WorkletAnimation.idl
diff --git a/third_party/WebKit/Source/modules/app_banner/BeforeInstallPromptEvent.cpp b/third_party/WebKit/Source/modules/app_banner/BeforeInstallPromptEvent.cpp index 0ae058d1..70bf450 100644 --- a/third_party/WebKit/Source/modules/app_banner/BeforeInstallPromptEvent.cpp +++ b/third_party/WebKit/Source/modules/app_banner/BeforeInstallPromptEvent.cpp
@@ -8,7 +8,6 @@ #include "core/dom/Document.h" #include "core/dom/ExceptionCode.h" #include "core/dom/ExecutionContext.h" -#include "core/dom/UserGestureIndicator.h" #include "core/frame/UseCounter.h" #include "modules/app_banner/BeforeInstallPromptEventInit.h" @@ -80,12 +79,13 @@ "The prompt() method may only be called once.")); } - UseCounter::Count(ExecutionContext::From(script_state), - WebFeature::kBeforeInstallPromptEventPrompt); + ExecutionContext* context = ExecutionContext::From(script_state); + UseCounter::Count(context, WebFeature::kBeforeInstallPromptEventPrompt); + Document* doc = ToDocumentOrNull(context); prompt_called_ = true; banner_service_->DisplayAppBanner( - UserGestureIndicator::ProcessingUserGesture()); + Frame::HasTransientUserActivation(doc ? doc->GetFrame() : nullptr)); return ScriptPromise::CastUndefined(script_state); }
diff --git a/third_party/WebKit/Source/modules/background_fetch/BackgroundFetchBridge.cpp b/third_party/WebKit/Source/modules/background_fetch/BackgroundFetchBridge.cpp index 3e307e4..97d6fe2 100644 --- a/third_party/WebKit/Source/modules/background_fetch/BackgroundFetchBridge.cpp +++ b/third_party/WebKit/Source/modules/background_fetch/BackgroundFetchBridge.cpp
@@ -96,7 +96,7 @@ registration->Initialize(GetSupplementable()); } - callback(error, registration); + std::move(callback).Run(error, registration); } void BackgroundFetchBridge::GetDeveloperIds(GetDeveloperIdsCallback callback) {
diff --git a/third_party/WebKit/Source/modules/bluetooth/Bluetooth.cpp b/third_party/WebKit/Source/modules/bluetooth/Bluetooth.cpp index d18c250d..166c0be 100644 --- a/third_party/WebKit/Source/modules/bluetooth/Bluetooth.cpp +++ b/third_party/WebKit/Source/modules/bluetooth/Bluetooth.cpp
@@ -14,7 +14,7 @@ #include "core/dom/Document.h" #include "core/dom/ExceptionCode.h" #include "core/dom/ExecutionContext.h" -#include "core/dom/UserGestureIndicator.h" +#include "core/frame/Frame.h" #include "core/frame/LocalFrame.h" #include "core/inspector/ConsoleMessage.h" #include "modules/bluetooth/BluetoothDevice.h" @@ -174,7 +174,8 @@ // If the algorithm is not allowed to show a popup, reject promise with a // SecurityError and abort these steps. - if (!UserGestureIndicator::ConsumeUserGesture()) { + Document* doc = ToDocumentOrNull(context); + if (!Frame::ConsumeTransientUserActivation(doc ? doc->GetFrame() : nullptr)) { return ScriptPromise::RejectWithDOMException( script_state, DOMException::Create( @@ -182,8 +183,8 @@ "Must be handling a user gesture to show a permission request.")); } - if (!service_ && context->IsDocument()) { - LocalFrame* frame = ToDocument(context)->GetFrame(); + if (!service_ && doc) { + LocalFrame* frame = doc->GetFrame(); if (frame) { frame->GetInterfaceProvider().GetInterface(mojo::MakeRequest(&service_)); }
diff --git a/third_party/WebKit/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp b/third_party/WebKit/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp index b66ab27..aee56fd 100644 --- a/third_party/WebKit/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp +++ b/third_party/WebKit/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp
@@ -73,25 +73,28 @@ // ContentDecryptionModuleResult implementation. void Complete() override { DVLOG(EME_LOG_LEVEL) << __func__ << ": promise resolved."; - success_callback_(); + std::move(success_callback_).Run(); } void CompleteWithContentDecryptionModule( WebContentDecryptionModule*) override { NOTREACHED(); - failure_callback_(kInvalidStateError, "Unexpected completion."); + std::move(failure_callback_) + .Run(kInvalidStateError, "Unexpected completion."); } void CompleteWithSession( WebContentDecryptionModuleResult::SessionStatus status) override { NOTREACHED(); - failure_callback_(kInvalidStateError, "Unexpected completion."); + std::move(failure_callback_) + .Run(kInvalidStateError, "Unexpected completion."); } void CompleteWithKeyStatus( WebEncryptedMediaKeyInformation::KeyStatus key_status) override { NOTREACHED(); - failure_callback_(kInvalidStateError, "Unexpected completion."); + std::move(failure_callback_) + .Run(kInvalidStateError, "Unexpected completion."); } void CompleteWithError(WebContentDecryptionModuleException code, @@ -112,7 +115,8 @@ DVLOG(EME_LOG_LEVEL) << __func__ << ": promise rejected with code " << code << " and message: " << result.ToString(); - failure_callback_(WebCdmExceptionToExceptionCode(code), result.ToString()); + std::move(failure_callback_) + .Run(WebCdmExceptionToExceptionCode(code), result.ToString()); } private:
diff --git a/third_party/WebKit/Source/modules/filesystem/DOMFileSystem.cpp b/third_party/WebKit/Source/modules/filesystem/DOMFileSystem.cpp index 39d1e125..2258640 100644 --- a/third_party/WebKit/Source/modules/filesystem/DOMFileSystem.cpp +++ b/third_party/WebKit/Source/modules/filesystem/DOMFileSystem.cpp
@@ -63,7 +63,7 @@ return; DCHECK(execution_context->IsContextThread()); probe::AsyncTask async_task(execution_context, identifier.get()); - task(); + std::move(task).Run(); } } // namespace
diff --git a/third_party/WebKit/Source/modules/filesystem/LocalFileSystem.cpp b/third_party/WebKit/Source/modules/filesystem/LocalFileSystem.cpp index 132a015..d52f221 100644 --- a/third_party/WebKit/Source/modules/filesystem/LocalFileSystem.cpp +++ b/third_party/WebKit/Source/modules/filesystem/LocalFileSystem.cpp
@@ -117,10 +117,10 @@ WTF::Closure denied) { if (!context->IsDocument()) { if (!Client().RequestFileSystemAccessSync(context)) { - denied(); + std::move(denied).Run(); return; } - allowed(); + std::move(allowed).Run(); return; } Client().RequestFileSystemAccessAsync(
diff --git a/third_party/WebKit/Source/modules/geolocation/Geolocation.cpp b/third_party/WebKit/Source/modules/geolocation/Geolocation.cpp index a72714c..3c4aafa 100644 --- a/third_party/WebKit/Source/modules/geolocation/Geolocation.cpp +++ b/third_party/WebKit/Source/modules/geolocation/Geolocation.cpp
@@ -29,7 +29,6 @@ #include "bindings/core/v8/SourceLocation.h" #include "core/dom/Document.h" -#include "core/dom/UserGestureIndicator.h" #include "core/frame/Deprecation.h" #include "core/frame/HostsUsingFeatures.h" #include "core/frame/PerformanceMonitor.h" @@ -89,7 +88,8 @@ } static void ReportGeolocationViolation(ExecutionContext* context) { - if (!UserGestureIndicator::ProcessingUserGesture()) { + Document* doc = ToDocumentOrNull(context); + if (!Frame::HasTransientUserActivation(doc ? doc->GetFrame() : nullptr)) { PerformanceMonitor::ReportGenericViolation( context, PerformanceMonitor::kDiscouragedAPIUse, "Only request geolocation information in response to a user gesture.", @@ -479,7 +479,7 @@ mojo::MakeRequest(&geolocation_service_)); geolocation_service_->CreateGeolocation( mojo::MakeRequest(&geolocation_), - UserGestureIndicator::ProcessingUserGesture()); + Frame::HasTransientUserActivation(GetFrame())); geolocation_.set_connection_error_handler(ConvertToBaseCallback(WTF::Bind( &Geolocation::OnGeolocationConnectionError, WrapWeakPersistent(this))));
diff --git a/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp b/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp index bf076f8..6b0fafa 100644 --- a/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp +++ b/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp
@@ -659,7 +659,7 @@ return; } - resolve_function(resolver); + std::move(resolve_function).Run(resolver); service_requests_.erase(resolver); }
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBRequestQueueItem.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBRequestQueueItem.cpp index a6723a81..ffb9d240 100644 --- a/third_party/WebKit/Source/modules/indexeddb/IDBRequestQueueItem.cpp +++ b/third_party/WebKit/Source/modules/indexeddb/IDBRequestQueueItem.cpp
@@ -154,7 +154,7 @@ ready_ = true; DCHECK(on_result_load_complete_); - on_result_load_complete_(); + std::move(on_result_load_complete_).Run(); } void IDBRequestQueueItem::OnResultLoadComplete(DOMException* error) {
diff --git a/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp b/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp index 4566331..90c3b7b 100644 --- a/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp +++ b/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp
@@ -267,9 +267,9 @@ Member<MutationObserver> observer_; }; -// static. +// static bool MediaControlsImpl::IsModern() { - return blink::RuntimeEnabledFeatures::ModernMediaControlsEnabled(); + return RuntimeEnabledFeatures::ModernMediaControlsEnabled(); } MediaControlsImpl::MediaControlsImpl(HTMLMediaElement& media_element)
diff --git a/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.h b/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.h index 5800017..b7b31bd 100644 --- a/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.h +++ b/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.h
@@ -72,7 +72,7 @@ static MediaControlsImpl* Create(HTMLMediaElement&, ShadowRoot&); ~MediaControlsImpl() = default; - // Are the modern media controls enabled? + // Returns whether the ModernMediaControlsEnabled runtime flag is on. static bool IsModern(); // Node override.
diff --git a/third_party/WebKit/Source/modules/media_controls/MediaControlsResourceLoader.cpp b/third_party/WebKit/Source/modules/media_controls/MediaControlsResourceLoader.cpp index 856dd0015..fb94d7397 100644 --- a/third_party/WebKit/Source/modules/media_controls/MediaControlsResourceLoader.cpp +++ b/third_party/WebKit/Source/modules/media_controls/MediaControlsResourceLoader.cpp
@@ -54,7 +54,7 @@ IDR_UASTYLE_LEGACY_MEDIA_CONTROLS_ANDROID_CSS); }; -// static. +// static String MediaControlsResourceLoader::GetShadowTimelineStyleSheet() { return ResourceBundleHelper::UncompressResourceAsString( IDR_SHADOWSTYLE_MODERN_MEDIA_CONTROLS_TIMELINE_CSS);
diff --git a/third_party/WebKit/Source/modules/media_controls/MediaControlsWindowEventListener.cpp b/third_party/WebKit/Source/modules/media_controls/MediaControlsWindowEventListener.cpp index 61aa50f..85af087 100644 --- a/third_party/WebKit/Source/modules/media_controls/MediaControlsWindowEventListener.cpp +++ b/third_party/WebKit/Source/modules/media_controls/MediaControlsWindowEventListener.cpp
@@ -119,7 +119,7 @@ if (!is_active_) return; - callback_(); + callback_.Run(); } void MediaControlsWindowEventListener::Trace(blink::Visitor* visitor) {
diff --git a/third_party/WebKit/Source/modules/media_controls/MediaControlsWindowEventListener.h b/third_party/WebKit/Source/modules/media_controls/MediaControlsWindowEventListener.h index 8d5fc37..963ed98 100644 --- a/third_party/WebKit/Source/modules/media_controls/MediaControlsWindowEventListener.h +++ b/third_party/WebKit/Source/modules/media_controls/MediaControlsWindowEventListener.h
@@ -14,7 +14,7 @@ class MediaControlsWindowEventListener final : public EventListener { public: - using Callback = Function<void(), WTF::kSameThreadAffinity>; + using Callback = WTF::RepeatingFunction<void()>; static MediaControlsWindowEventListener* Create(MediaControlsImpl*, Callback);
diff --git a/third_party/WebKit/Source/modules/modules_idl_files.gni b/third_party/WebKit/Source/modules/modules_idl_files.gni index 62c6eaa..f5919141 100644 --- a/third_party/WebKit/Source/modules/modules_idl_files.gni +++ b/third_party/WebKit/Source/modules/modules_idl_files.gni
@@ -55,6 +55,9 @@ modules_idl_files = get_path_info( [ + "animationworklet/AnimationWorkletGlobalScope.idl", + "animationworklet/EffectProxy.idl", + "animationworklet/WorkletAnimation.idl", "app_banner/BeforeInstallPromptEvent.idl", "background_fetch/BackgroundFetchClickEvent.idl", "background_fetch/BackgroundFetchEvent.idl", @@ -84,9 +87,6 @@ "canvas/canvas2d/CanvasPattern.idl", "canvas/canvas2d/CanvasRenderingContext2D.idl", "canvas/canvas2d/Path2D.idl", - "compositorworker/AnimationWorkletGlobalScope.idl", - "compositorworker/EffectProxy.idl", - "compositorworker/WorkletAnimation.idl", "cookie_store/CookieStore.idl", "credentialmanager/AuthenticatorAssertionResponse.idl", "credentialmanager/AuthenticatorAttestationResponse.idl", @@ -306,8 +306,10 @@ "vr/latest/VR.idl", "vr/latest/VRCoordinateSystem.idl", "vr/latest/VRDevice.idl", + "vr/latest/VRDevicePose.idl", "vr/latest/VRDeviceEvent.idl", "vr/latest/VRFrameOfReference.idl", + "vr/latest/VRPresentationFrame.idl", "vr/latest/VRSession.idl", "vr/latest/VRSessionEvent.idl", "vr/latest/VRStageBounds.idl", @@ -555,6 +557,7 @@ "peerconnection/RTCPeerConnectionIceEventInit.idl", "peerconnection/RTCSessionDescriptionInit.idl", "peerconnection/RTCTrackEventInit.idl", + "permissions/ClipboardPermissionDescriptor.idl", "permissions/MidiPermissionDescriptor.idl", "permissions/PermissionDescriptor.idl", "permissions/PushPermissionDescriptor.idl", @@ -646,7 +649,7 @@ "cachestorage/WorkerCacheStorage.idl", "canvas/htmlcanvas/HTMLCanvasElementModule.idl", "canvas/canvas2d/CanvasPath.idl", - "compositorworker/WindowAnimationWorklet.idl", + "animationworklet/WindowAnimationWorklet.idl", "cookie_store/WindowCookieStore.idl", "credentialmanager/CredentialUserData.idl", "credentialmanager/NavigatorCredentials.idl",
diff --git a/third_party/WebKit/Source/modules/notifications/Notification.cpp b/third_party/WebKit/Source/modules/notifications/Notification.cpp index 983e742..2178967 100644 --- a/third_party/WebKit/Source/modules/notifications/Notification.cpp +++ b/third_party/WebKit/Source/modules/notifications/Notification.cpp
@@ -401,9 +401,10 @@ ScriptState* script_state, NotificationPermissionCallback* deprecated_callback) { ExecutionContext* context = ExecutionContext::From(script_state); + Document* doc = ToDocumentOrNull(context); probe::breakableLocation(context, "Notification.requestPermission"); - if (!UserGestureIndicator::ProcessingUserGesture()) { + if (!Frame::HasTransientUserActivation(doc ? doc->GetFrame() : nullptr)) { PerformanceMonitor::ReportGenericViolation( context, PerformanceMonitor::kDiscouragedAPIUse, "Only request notification permission in response to a user gesture.",
diff --git a/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp b/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp index d4b78cf..14ef621 100644 --- a/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp +++ b/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp
@@ -164,7 +164,7 @@ // The |ImageFrame*| is owned by the decoder. ImageFrame* image_frame = decoder->DecodeFrameBufferAtIndex(0); if (image_frame) { - image_callback_(image_frame->Bitmap()); + std::move(image_callback_).Run(image_frame->Bitmap()); return; } } @@ -190,7 +190,7 @@ if (stopped_) return; - image_callback_(SkBitmap()); + std::move(image_callback_).Run(SkBitmap()); } } // namespace blink
diff --git a/third_party/WebKit/Source/modules/notifications/NotificationManager.cpp b/third_party/WebKit/Source/modules/notifications/NotificationManager.cpp index 2f146bd9..0e5a0af 100644 --- a/third_party/WebKit/Source/modules/notifications/NotificationManager.cpp +++ b/third_party/WebKit/Source/modules/notifications/NotificationManager.cpp
@@ -5,7 +5,8 @@ #include "modules/notifications/NotificationManager.h" #include "bindings/core/v8/ScriptPromiseResolver.h" -#include "core/dom/UserGestureIndicator.h" +#include "core/frame/Frame.h" +#include "core/frame/LocalFrame.h" #include "modules/notifications/Notification.h" #include "modules/notifications/NotificationPermissionCallback.h" #include "modules/permissions/PermissionUtils.h" @@ -79,10 +80,11 @@ ScriptPromiseResolver* resolver = ScriptPromiseResolver::Create(script_state); ScriptPromise promise = resolver->Promise(); + Document* doc = ToDocumentOrNull(context); permission_service_->RequestPermission( CreatePermissionDescriptor(mojom::blink::PermissionName::NOTIFICATIONS), context->GetSecurityOrigin(), - UserGestureIndicator::ProcessingUserGesture(), + Frame::HasTransientUserActivation(doc ? doc->GetFrame() : nullptr), ConvertToBaseCallback( WTF::Bind(&NotificationManager::OnPermissionRequestComplete, WrapPersistent(this), WrapPersistent(resolver),
diff --git a/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.cpp b/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.cpp index 85ef707..66e45847 100644 --- a/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.cpp +++ b/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.cpp
@@ -123,8 +123,7 @@ pending_request_count_--; if (!pending_request_count_) { Stop(); - auto cb = std::move(completion_callback_); - cb(this); + std::move(completion_callback_).Run(this); // The |this| pointer may have been deleted now. } }
diff --git a/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp b/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp index 6a2c69e..41fcb05 100644 --- a/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp +++ b/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp
@@ -420,7 +420,7 @@ bool RTCPeerConnection::EventWrapper::Setup() { if (setup_function_) { - return setup_function_(); + return std::move(setup_function_).Run(); } return true; }
diff --git a/third_party/WebKit/Source/modules/permissions/ClipboardPermissionDescriptor.idl b/third_party/WebKit/Source/modules/permissions/ClipboardPermissionDescriptor.idl new file mode 100644 index 0000000..db0ec40 --- /dev/null +++ b/third_party/WebKit/Source/modules/permissions/ClipboardPermissionDescriptor.idl
@@ -0,0 +1,7 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +dictionary ClipboardPermissionDescriptor : PermissionDescriptor { + required boolean allowWithoutGesture; +};
diff --git a/third_party/WebKit/Source/modules/permissions/PermissionDescriptor.idl b/third_party/WebKit/Source/modules/permissions/PermissionDescriptor.idl index 3ce943f3..a0fd18d 100644 --- a/third_party/WebKit/Source/modules/permissions/PermissionDescriptor.idl +++ b/third_party/WebKit/Source/modules/permissions/PermissionDescriptor.idl
@@ -13,6 +13,8 @@ "gyroscope", "magnetometer", "accessibility-events", + "clipboard-read", + "clipboard-write", }; // The PermissionDescriptor dictionary is a base to describe permissions. Some
diff --git a/third_party/WebKit/Source/modules/permissions/PermissionUtils.cpp b/third_party/WebKit/Source/modules/permissions/PermissionUtils.cpp index c2b0614d..b0c7094 100644 --- a/third_party/WebKit/Source/modules/permissions/PermissionUtils.cpp +++ b/third_party/WebKit/Source/modules/permissions/PermissionUtils.cpp
@@ -4,6 +4,8 @@ #include "modules/permissions/PermissionUtils.h" +#include <utility> + #include "core/dom/Document.h" #include "core/dom/ExecutionContext.h" #include "core/frame/LocalFrame.h" @@ -52,4 +54,15 @@ return descriptor; } +PermissionDescriptorPtr CreateClipboardPermissionDescriptor( + PermissionName name, + bool allow_without_gesture) { + auto descriptor = CreatePermissionDescriptor(name); + auto clipboard_extension = + mojom::blink::ClipboardPermissionDescriptor::New(allow_without_gesture); + descriptor->extension = mojom::blink::PermissionDescriptorExtension::New(); + descriptor->extension->set_clipboard(std::move(clipboard_extension)); + return descriptor; +} + } // namespace blink
diff --git a/third_party/WebKit/Source/modules/permissions/PermissionUtils.h b/third_party/WebKit/Source/modules/permissions/PermissionUtils.h index 6ba9d55..50379cd8 100644 --- a/third_party/WebKit/Source/modules/permissions/PermissionUtils.h +++ b/third_party/WebKit/Source/modules/permissions/PermissionUtils.h
@@ -20,6 +20,10 @@ mojom::blink::PermissionDescriptorPtr CreateMidiPermissionDescriptor( bool sysex); +mojom::blink::PermissionDescriptorPtr CreateClipboardPermissionDescriptor( + mojom::blink::PermissionName, + bool allow_without_gesture); + } // namespace blink #endif // PermissionUtils_h
diff --git a/third_party/WebKit/Source/modules/permissions/Permissions.cpp b/third_party/WebKit/Source/modules/permissions/Permissions.cpp index b006483..558c8dcc 100644 --- a/third_party/WebKit/Source/modules/permissions/Permissions.cpp +++ b/third_party/WebKit/Source/modules/permissions/Permissions.cpp
@@ -5,10 +5,13 @@ #include "modules/permissions/Permissions.h" #include <memory> +#include <utility> + #include "bindings/core/v8/Dictionary.h" #include "bindings/core/v8/Nullable.h" #include "bindings/core/v8/ScriptPromise.h" #include "bindings/core/v8/ScriptPromiseResolver.h" +#include "bindings/modules/v8/V8ClipboardPermissionDescriptor.h" #include "bindings/modules/v8/V8MidiPermissionDescriptor.h" #include "bindings/modules/v8/V8PermissionDescriptor.h" #include "bindings/modules/v8/V8PushPermissionDescriptor.h" @@ -16,7 +19,7 @@ #include "core/dom/Document.h" #include "core/dom/ExceptionCode.h" #include "core/dom/ExecutionContext.h" -#include "core/dom/UserGestureIndicator.h" +#include "core/frame/Frame.h" #include "core/frame/LocalFrame.h" #include "core/origin_trials/origin_trials.h" #include "modules/permissions/PermissionDescriptor.h" @@ -121,6 +124,23 @@ } return CreatePermissionDescriptor(PermissionName::ACCESSIBILITY_EVENTS); } + if (name == "clipboard-read" || name == "clipboard-write") { + if (!RuntimeEnabledFeatures::AsyncClipboardEnabled()) { + exception_state.ThrowTypeError("Async Clipboard flag is not enabled."); + return nullptr; + } + + PermissionName permission_name = PermissionName::CLIPBOARD_READ; + if (name == "clipboard-write") + permission_name = PermissionName::CLIPBOARD_WRITE; + + ClipboardPermissionDescriptor clipboard_permission = + NativeValueTraits<ClipboardPermissionDescriptor>::NativeValue( + script_state->GetIsolate(), raw_permission.V8Value(), + exception_state); + return CreateClipboardPermissionDescriptor( + permission_name, clipboard_permission.allowWithoutGesture()); + } return nullptr; } @@ -174,9 +194,11 @@ if (exception_state.HadException()) return exception_state.Reject(script_state); + ExecutionContext* context = ExecutionContext::From(script_state); + // This must be called after `parsePermission` because the website might // be able to run code. - PermissionService* service = GetService(ExecutionContext::From(script_state)); + PermissionService* service = GetService(context); if (!service) return ScriptPromise::RejectWithDOMException( script_state, DOMException::Create(kInvalidStateError, @@ -187,10 +209,11 @@ ScriptPromise promise = resolver->Promise(); PermissionDescriptorPtr descriptor_copy = descriptor->Clone(); + Document* doc = ToDocumentOrNull(context); + Frame* frame = doc ? doc->GetFrame() : nullptr; service->RequestPermission( - std::move(descriptor), - ExecutionContext::From(script_state)->GetSecurityOrigin(), - UserGestureIndicator::ProcessingUserGestureThreadSafe(), + std::move(descriptor), context->GetSecurityOrigin(), + Frame::HasTransientUserActivation(frame, true /* checkIfMainThread */), ConvertToBaseCallback(WTF::Bind( &Permissions::TaskComplete, WrapPersistent(this), WrapPersistent(resolver), WTF::Passed(std::move(descriptor_copy))))); @@ -261,9 +284,11 @@ caller_index_to_internal_index[i] = internal_index; } + ExecutionContext* context = ExecutionContext::From(script_state); + // This must be called after `parsePermission` because the website might // be able to run code. - PermissionService* service = GetService(ExecutionContext::From(script_state)); + PermissionService* service = GetService(context); if (!service) return ScriptPromise::RejectWithDOMException( script_state, DOMException::Create(kInvalidStateError, @@ -278,10 +303,11 @@ for (const auto& descriptor : internal_permissions) internal_permissions_copy.push_back(descriptor->Clone()); + Document* doc = ToDocumentOrNull(context); + Frame* frame = doc ? doc->GetFrame() : nullptr; service->RequestPermissions( - std::move(internal_permissions), - ExecutionContext::From(script_state)->GetSecurityOrigin(), - UserGestureIndicator::ProcessingUserGestureThreadSafe(), + std::move(internal_permissions), context->GetSecurityOrigin(), + Frame::HasTransientUserActivation(frame, true /* checkIfMainThread */), ConvertToBaseCallback( WTF::Bind(&Permissions::BatchTaskComplete, WrapPersistent(this), WrapPersistent(resolver),
diff --git a/third_party/WebKit/Source/modules/presentation/PresentationRequest.cpp b/third_party/WebKit/Source/modules/presentation/PresentationRequest.cpp index d0b3de5..1a44500a 100644 --- a/third_party/WebKit/Source/modules/presentation/PresentationRequest.cpp +++ b/third_party/WebKit/Source/modules/presentation/PresentationRequest.cpp
@@ -11,7 +11,6 @@ #include "core/dom/DOMException.h" #include "core/dom/Document.h" #include "core/dom/ExecutionContext.h" -#include "core/dom/UserGestureIndicator.h" #include "core/frame/Deprecation.h" #include "core/frame/Settings.h" #include "core/frame/UseCounter.h" @@ -137,12 +136,14 @@ ScriptPromise PresentationRequest::start(ScriptState* script_state) { ExecutionContext* execution_context = GetExecutionContext(); Settings* context_settings = GetSettings(execution_context); + Document* doc = ToDocumentOrNull(execution_context); + bool is_user_gesture_required = !context_settings || context_settings->GetPresentationRequiresUserGesture(); if (is_user_gesture_required && - !UserGestureIndicator::ProcessingUserGesture()) + !Frame::HasTransientUserActivation(doc ? doc->GetFrame() : nullptr)) return ScriptPromise::RejectWithDOMException( script_state, DOMException::Create(
diff --git a/third_party/WebKit/Source/modules/push_messaging/PushManager.cpp b/third_party/WebKit/Source/modules/push_messaging/PushManager.cpp index 330e80c..7059444 100644 --- a/third_party/WebKit/Source/modules/push_messaging/PushManager.cpp +++ b/third_party/WebKit/Source/modules/push_messaging/PushManager.cpp
@@ -12,7 +12,8 @@ #include "core/dom/Document.h" #include "core/dom/ExceptionCode.h" #include "core/dom/ExecutionContext.h" -#include "core/dom/UserGestureIndicator.h" +#include "core/frame/Frame.h" +#include "core/frame/LocalFrame.h" #include "modules/push_messaging/PushController.h" #include "modules/push_messaging/PushError.h" #include "modules/push_messaging/PushPermissionStatusCallbacks.h" @@ -72,20 +73,21 @@ // permission so that later calls in different contexts can succeed. if (ExecutionContext::From(script_state)->IsDocument()) { Document* document = ToDocument(ExecutionContext::From(script_state)); - if (!document->domWindow() || !document->GetFrame()) + LocalFrame* frame = document->GetFrame(); + if (!document->domWindow() || !frame) return ScriptPromise::RejectWithDOMException( script_state, DOMException::Create(kInvalidStateError, "Document is detached from window.")); - PushController::ClientFrom(document->GetFrame()) - .Subscribe(registration_->WebRegistration(), web_options, - UserGestureIndicator::ProcessingUserGestureThreadSafe(), - std::make_unique<PushSubscriptionCallbacks>(resolver, - registration_)); + PushController::ClientFrom(frame).Subscribe( + registration_->WebRegistration(), web_options, + Frame::HasTransientUserActivation(frame, true /* checkIfMainThread */), + std::make_unique<PushSubscriptionCallbacks>(resolver, registration_)); } else { PushProvider()->Subscribe( registration_->WebRegistration(), web_options, - UserGestureIndicator::ProcessingUserGestureThreadSafe(), + Frame::HasTransientUserActivation(nullptr, + true /* checkIfMainThread */), std::make_unique<PushSubscriptionCallbacks>(resolver, registration_)); }
diff --git a/third_party/WebKit/Source/modules/quota/StorageManager.cpp b/third_party/WebKit/Source/modules/quota/StorageManager.cpp index 766f26e..4ac1ab6 100644 --- a/third_party/WebKit/Source/modules/quota/StorageManager.cpp +++ b/third_party/WebKit/Source/modules/quota/StorageManager.cpp
@@ -10,7 +10,8 @@ #include "core/dom/Document.h" #include "core/dom/ExceptionCode.h" #include "core/dom/ExecutionContext.h" -#include "core/dom/UserGestureIndicator.h" +#include "core/frame/Frame.h" +#include "core/frame/LocalFrame.h" #include "modules/permissions/PermissionUtils.h" #include "modules/quota/StorageEstimate.h" #include "platform/StorageQuotaCallbacks.h" @@ -84,10 +85,12 @@ "In its current state, the global scope can't request permissions.")); return promise; } + + Document* doc = ToDocumentOrNull(execution_context); permission_service->RequestPermission( CreatePermissionDescriptor(PermissionName::DURABLE_STORAGE), ExecutionContext::From(script_state)->GetSecurityOrigin(), - UserGestureIndicator::ProcessingUserGesture(), + Frame::HasTransientUserActivation(doc ? doc->GetFrame() : nullptr), ConvertToBaseCallback( WTF::Bind(&StorageManager::PermissionRequestComplete, WrapPersistent(this), WrapPersistent(resolver))));
diff --git a/third_party/WebKit/Source/modules/remoteplayback/AvailabilityCallbackWrapper.cpp b/third_party/WebKit/Source/modules/remoteplayback/AvailabilityCallbackWrapper.cpp index a018d02..6f89e49 100644 --- a/third_party/WebKit/Source/modules/remoteplayback/AvailabilityCallbackWrapper.cpp +++ b/third_party/WebKit/Source/modules/remoteplayback/AvailabilityCallbackWrapper.cpp
@@ -20,7 +20,7 @@ bool new_availability) { if (internal_cb_) { DCHECK(!bindings_cb_); - internal_cb_(); + internal_cb_.Run(); return; }
diff --git a/third_party/WebKit/Source/modules/remoteplayback/AvailabilityCallbackWrapper.h b/third_party/WebKit/Source/modules/remoteplayback/AvailabilityCallbackWrapper.h index 0b49a76..1e50a51f 100644 --- a/third_party/WebKit/Source/modules/remoteplayback/AvailabilityCallbackWrapper.h +++ b/third_party/WebKit/Source/modules/remoteplayback/AvailabilityCallbackWrapper.h
@@ -38,7 +38,7 @@ private: // Only one of these callbacks must be set. TraceWrapperMember<V8RemotePlaybackAvailabilityCallback> bindings_cb_; - WTF::Closure internal_cb_; + WTF::RepeatingClosure internal_cb_; }; } // namespace blink
diff --git a/third_party/WebKit/Source/modules/remoteplayback/RemotePlayback.cpp b/third_party/WebKit/Source/modules/remoteplayback/RemotePlayback.cpp index babe4a3..4258ce3 100644 --- a/third_party/WebKit/Source/modules/remoteplayback/RemotePlayback.cpp +++ b/third_party/WebKit/Source/modules/remoteplayback/RemotePlayback.cpp
@@ -9,7 +9,6 @@ #include "core/dom/DOMException.h" #include "core/dom/Document.h" #include "core/dom/TaskRunnerHelper.h" -#include "core/dom/UserGestureIndicator.h" #include "core/dom/events/Event.h" #include "core/html/media/HTMLMediaElement.h" #include "core/html/media/HTMLVideoElement.h" @@ -51,7 +50,7 @@ WTF::Closure task, std::unique_ptr<int> task_id) { probe::AsyncTask async_task(context, task_id.get()); - task(); + std::move(task).Run(); } WebURL GetAvailabilityUrl(const WebURL& source, bool is_source_supported) { @@ -183,7 +182,7 @@ return promise; } - if (!UserGestureIndicator::ProcessingUserGesture()) { + if (!Frame::HasTransientUserActivation(media_element_->GetFrame())) { resolver->Reject(DOMException::Create( kInvalidAccessError, "RemotePlayback::prompt() requires user gesture."));
diff --git a/third_party/WebKit/Source/modules/serviceworkers/WaitUntilObserver.cpp b/third_party/WebKit/Source/modules/serviceworkers/WaitUntilObserver.cpp index a3c04a0..79b6a09 100644 --- a/third_party/WebKit/Source/modules/serviceworkers/WaitUntilObserver.cpp +++ b/third_party/WebKit/Source/modules/serviceworkers/WaitUntilObserver.cpp
@@ -71,7 +71,7 @@ DCHECK(observer_); DCHECK(resolve_type_ == kFulfilled || resolve_type_ == kRejected); if (callback_) - callback_(value); + callback_.Run(value); // According from step 4 of ExtendableEvent::waitUntil() in spec: // https://w3c.github.io/ServiceWorker/#dom-extendableevent-waituntil // "Upon fulfillment or rejection of f, queue a microtask to run these
diff --git a/third_party/WebKit/Source/modules/serviceworkers/WaitUntilObserver.h b/third_party/WebKit/Source/modules/serviceworkers/WaitUntilObserver.h index b6d3040..b272b4d 100644 --- a/third_party/WebKit/Source/modules/serviceworkers/WaitUntilObserver.h +++ b/third_party/WebKit/Source/modules/serviceworkers/WaitUntilObserver.h
@@ -22,7 +22,8 @@ class MODULES_EXPORT WaitUntilObserver final : public GarbageCollectedFinalized<WaitUntilObserver> { public: - using PromiseSettledCallback = Function<void(const ScriptValue&)>; + using PromiseSettledCallback = + WTF::RepeatingFunction<void(const ScriptValue&)>; enum EventType { kAbortPayment,
diff --git a/third_party/WebKit/Source/modules/vr/BUILD.gn b/third_party/WebKit/Source/modules/vr/BUILD.gn index dc5e5b3..4305778 100644 --- a/third_party/WebKit/Source/modules/vr/BUILD.gn +++ b/third_party/WebKit/Source/modules/vr/BUILD.gn
@@ -34,12 +34,16 @@ "latest/VRDevice.h", "latest/VRDeviceEvent.cpp", "latest/VRDeviceEvent.h", + "latest/VRDevicePose.cpp", + "latest/VRDevicePose.h", "latest/VRFrameOfReference.cpp", "latest/VRFrameOfReference.h", "latest/VRFrameProvider.cpp", "latest/VRFrameProvider.h", "latest/VRFrameRequestCallbackCollection.cpp", "latest/VRFrameRequestCallbackCollection.h", + "latest/VRPresentationFrame.cpp", + "latest/VRPresentationFrame.h", "latest/VRSession.cpp", "latest/VRSession.h", "latest/VRSessionEvent.cpp",
diff --git a/third_party/WebKit/Source/modules/vr/VRDisplay.cpp b/third_party/WebKit/Source/modules/vr/VRDisplay.cpp index 77f992c..905d61635 100644 --- a/third_party/WebKit/Source/modules/vr/VRDisplay.cpp +++ b/third_party/WebKit/Source/modules/vr/VRDisplay.cpp
@@ -10,6 +10,7 @@ #include "core/dom/ScriptedAnimationController.h" #include "core/dom/TaskRunnerHelper.h" #include "core/dom/UserGestureIndicator.h" +#include "core/frame/Frame.h" #include "core/frame/LocalFrame.h" #include "core/frame/LocalFrameView.h" #include "core/frame/UseCounter.h" @@ -321,22 +322,23 @@ } bool first_present = !is_presenting_; + Document* doc = GetDocument(); // Initiating VR presentation is only allowed in response to a user gesture. // If the VRDisplay is already presenting, however, repeated calls are // allowed outside a user gesture so that the presented content may be // updated. - if (first_present && !UserGestureIndicator::ProcessingUserGesture()) { - DOMException* exception = DOMException::Create( - kInvalidStateError, "API can only be initiated by a user gesture."); - resolver->Reject(exception); - ReportPresentationResult(PresentationResult::kNotInitiatedByUserGesture); - return promise; - } + if (first_present) { + if (!Frame::HasTransientUserActivation(doc ? doc->GetFrame() : nullptr)) { + DOMException* exception = DOMException::Create( + kInvalidStateError, "API can only be initiated by a user gesture."); + resolver->Reject(exception); + ReportPresentationResult(PresentationResult::kNotInitiatedByUserGesture); + return promise; + } - // When we are requesting to start presentation with a user action or the - // display has activated, record the user action. - if (first_present && UserGestureIndicator::ProcessingUserGesture()) { + // When we are requesting to start presentation with a user action or the + // display has activated, record the user action. Platform::Current()->RecordAction( UserMetricsAction("VR.WebVR.requestPresent")); }
diff --git a/third_party/WebKit/Source/modules/vr/latest/VRDevice.cpp b/third_party/WebKit/Source/modules/vr/latest/VRDevice.cpp index 8112b76..1a4bf17 100644 --- a/third_party/WebKit/Source/modules/vr/latest/VRDevice.cpp +++ b/third_party/WebKit/Source/modules/vr/latest/VRDevice.cpp
@@ -6,7 +6,8 @@ #include "bindings/core/v8/ScriptPromiseResolver.h" #include "core/dom/DOMException.h" -#include "core/dom/UserGestureIndicator.h" +#include "core/frame/Frame.h" +#include "core/frame/LocalFrame.h" #include "modules/EventTargetModules.h" #include "modules/vr/latest/VR.h" #include "modules/vr/latest/VRFrameProvider.h" @@ -109,7 +110,8 @@ DOMException::Create(kInvalidStateError, kActiveExclusiveSession)); } - if (!UserGestureIndicator::ProcessingUserGesture()) { + Document* doc = ToDocumentOrNull(ExecutionContext::From(script_state)); + if (!Frame::HasTransientUserActivation(doc ? doc->GetFrame() : nullptr)) { return ScriptPromise::RejectWithDOMException( script_state, DOMException::Create(kInvalidStateError, kRequestNotInUserGesture));
diff --git a/third_party/WebKit/Source/modules/vr/latest/VRDevicePose.cpp b/third_party/WebKit/Source/modules/vr/latest/VRDevicePose.cpp new file mode 100644 index 0000000..4e35e7e --- /dev/null +++ b/third_party/WebKit/Source/modules/vr/latest/VRDevicePose.cpp
@@ -0,0 +1,46 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "modules/vr/latest/VRDevicePose.h" + +#include "modules/vr/latest/VRSession.h" + +namespace blink { + +namespace { + +DOMFloat32Array* transformationMatrixToFloat32Array( + const TransformationMatrix& matrix) { + float array[] = { + static_cast<float>(matrix.M11()), static_cast<float>(matrix.M12()), + static_cast<float>(matrix.M13()), static_cast<float>(matrix.M14()), + static_cast<float>(matrix.M21()), static_cast<float>(matrix.M22()), + static_cast<float>(matrix.M23()), static_cast<float>(matrix.M24()), + static_cast<float>(matrix.M31()), static_cast<float>(matrix.M32()), + static_cast<float>(matrix.M33()), static_cast<float>(matrix.M34()), + static_cast<float>(matrix.M41()), static_cast<float>(matrix.M42()), + static_cast<float>(matrix.M43()), static_cast<float>(matrix.M44())}; + + return DOMFloat32Array::Create(array, 16); +} + +} // namespace + +VRDevicePose::VRDevicePose( + VRSession* session, + std::unique_ptr<TransformationMatrix> pose_model_matrix) + : session_(session), pose_model_matrix_(std::move(pose_model_matrix)) {} + +DOMFloat32Array* VRDevicePose::poseModelMatrix() const { + if (!pose_model_matrix_) + return nullptr; + return transformationMatrixToFloat32Array(*pose_model_matrix_); +} + +void VRDevicePose::Trace(blink::Visitor* visitor) { + visitor->Trace(session_); + ScriptWrappable::Trace(visitor); +} + +} // namespace blink
diff --git a/third_party/WebKit/Source/modules/vr/latest/VRDevicePose.h b/third_party/WebKit/Source/modules/vr/latest/VRDevicePose.h new file mode 100644 index 0000000..f7095f75 --- /dev/null +++ b/third_party/WebKit/Source/modules/vr/latest/VRDevicePose.h
@@ -0,0 +1,34 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef VRDevicePose_h +#define VRDevicePose_h + +#include "core/typed_arrays/DOMTypedArray.h" +#include "platform/bindings/ScriptWrappable.h" +#include "platform/heap/Handle.h" +#include "platform/transforms/TransformationMatrix.h" + +namespace blink { + +class VRSession; + +class VRDevicePose final : public ScriptWrappable { + DEFINE_WRAPPERTYPEINFO(); + + public: + VRDevicePose(VRSession*, std::unique_ptr<TransformationMatrix>); + + DOMFloat32Array* poseModelMatrix() const; + + virtual void Trace(blink::Visitor*); + + private: + const Member<VRSession> session_; + std::unique_ptr<TransformationMatrix> pose_model_matrix_; +}; + +} // namespace blink + +#endif // VRWebGLLayer_h
diff --git a/third_party/WebKit/Source/modules/vr/latest/VRDevicePose.idl b/third_party/WebKit/Source/modules/vr/latest/VRDevicePose.idl new file mode 100644 index 0000000..dee76cab --- /dev/null +++ b/third_party/WebKit/Source/modules/vr/latest/VRDevicePose.idl
@@ -0,0 +1,11 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3c.github.io/webvr/spec/latest/#vrdevicepose-interface +[ + SecureContext, + RuntimeEnabled=WebVR2 +] interface VRDevicePose { + readonly attribute Float32Array poseModelMatrix; +};
diff --git a/third_party/WebKit/Source/modules/vr/latest/VRFrameRequestCallback.idl b/third_party/WebKit/Source/modules/vr/latest/VRFrameRequestCallback.idl index 7bc28f8..c5f799f4 100644 --- a/third_party/WebKit/Source/modules/vr/latest/VRFrameRequestCallback.idl +++ b/third_party/WebKit/Source/modules/vr/latest/VRFrameRequestCallback.idl
@@ -3,4 +3,4 @@ // found in the LICENSE file. // https://w3c.github.io/webvr/spec/latest/#vrframerequestcallback -callback VRFrameRequestCallback = void (); +callback VRFrameRequestCallback = void (VRPresentationFrame frame);
diff --git a/third_party/WebKit/Source/modules/vr/latest/VRFrameRequestCallbackCollection.cpp b/third_party/WebKit/Source/modules/vr/latest/VRFrameRequestCallbackCollection.cpp index cbbe76c..81568eb 100644 --- a/third_party/WebKit/Source/modules/vr/latest/VRFrameRequestCallbackCollection.cpp +++ b/third_party/WebKit/Source/modules/vr/latest/VRFrameRequestCallbackCollection.cpp
@@ -7,6 +7,8 @@ #include "bindings/modules/v8/v8_vr_frame_request_callback.h" #include "core/inspector/InspectorTraceEvents.h" #include "core/probe/CoreProbes.h" +#include "modules/vr/latest/VRPresentationFrame.h" +#include "modules/vr/latest/VRSession.h" namespace blink { @@ -31,7 +33,9 @@ } } -void VRFrameRequestCallbackCollection::ExecuteCallbacks() { +void VRFrameRequestCallbackCollection::ExecuteCallbacks( + VRSession* session, + VRPresentationFrame* frame) { // First, generate a list of callbacks to consider. Callbacks registered from // this point on are considered only for the "next" frame, not this one. DCHECK(callbacks_to_invoke_.IsEmpty()); @@ -46,7 +50,7 @@ probe::AsyncTask async_task(context_, callback); probe::UserCallback probe(context_, "VRRequestFrame", AtomicString(), true); - callback->call(nullptr); + callback->call(session, frame); } callbacks_to_invoke_.clear();
diff --git a/third_party/WebKit/Source/modules/vr/latest/VRFrameRequestCallbackCollection.h b/third_party/WebKit/Source/modules/vr/latest/VRFrameRequestCallbackCollection.h index 42cd72f..0b6f5a6 100644 --- a/third_party/WebKit/Source/modules/vr/latest/VRFrameRequestCallbackCollection.h +++ b/third_party/WebKit/Source/modules/vr/latest/VRFrameRequestCallbackCollection.h
@@ -12,6 +12,8 @@ class ExecutionContext; class V8VRFrameRequestCallback; +class VRPresentationFrame; +class VRSession; class VRFrameRequestCallbackCollection final : public TraceWrapperBase { DISALLOW_NEW(); @@ -22,7 +24,7 @@ using CallbackId = int; CallbackId RegisterCallback(V8VRFrameRequestCallback*); void CancelCallback(CallbackId); - void ExecuteCallbacks(); + void ExecuteCallbacks(VRSession*, VRPresentationFrame*); bool IsEmpty() const { return !callbacks_.size(); }
diff --git a/third_party/WebKit/Source/modules/vr/latest/VRPresentationFrame.cpp b/third_party/WebKit/Source/modules/vr/latest/VRPresentationFrame.cpp new file mode 100644 index 0000000..9041a67 --- /dev/null +++ b/third_party/WebKit/Source/modules/vr/latest/VRPresentationFrame.cpp
@@ -0,0 +1,49 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "modules/vr/latest/VRPresentationFrame.h" + +#include "modules/vr/latest/VRCoordinateSystem.h" +#include "modules/vr/latest/VRDevicePose.h" +#include "modules/vr/latest/VRSession.h" + +namespace blink { + +VRPresentationFrame::VRPresentationFrame(VRSession* session) + : session_(session) {} + +VRDevicePose* VRPresentationFrame::getDevicePose( + VRCoordinateSystem* coordinate_system) const { + // If we don't have a valid base pose return null. Most common when tracking + // is lost. + if (!base_pose_matrix_ || !coordinate_system) { + return nullptr; + } + + // Must use a coordinate system created from the same session. + if (coordinate_system->session() != session_) { + return nullptr; + } + + std::unique_ptr<TransformationMatrix> pose = + coordinate_system->TransformBasePose(*base_pose_matrix_); + + if (!pose) { + return nullptr; + } + + return new VRDevicePose(session(), std::move(pose)); +} + +void VRPresentationFrame::UpdateBasePose( + std::unique_ptr<TransformationMatrix> base_pose_matrix) { + base_pose_matrix_ = std::move(base_pose_matrix); +} + +void VRPresentationFrame::Trace(blink::Visitor* visitor) { + visitor->Trace(session_); + ScriptWrappable::Trace(visitor); +} + +} // namespace blink
diff --git a/third_party/WebKit/Source/modules/vr/latest/VRPresentationFrame.h b/third_party/WebKit/Source/modules/vr/latest/VRPresentationFrame.h new file mode 100644 index 0000000..ed2e938 --- /dev/null +++ b/third_party/WebKit/Source/modules/vr/latest/VRPresentationFrame.h
@@ -0,0 +1,42 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef VRPresentationFrame_h +#define VRPresentationFrame_h + +#include "device/vr/vr_service.mojom-blink.h" +#include "platform/bindings/ScriptWrappable.h" +#include "platform/bindings/TraceWrapperMember.h" +#include "platform/heap/Handle.h" +#include "platform/transforms/TransformationMatrix.h" +#include "platform/wtf/Forward.h" + +namespace blink { + +class VRCoordinateSystem; +class VRDevicePose; +class VRSession; + +class VRPresentationFrame final : public ScriptWrappable { + DEFINE_WRAPPERTYPEINFO(); + + public: + explicit VRPresentationFrame(VRSession*); + + VRSession* session() const { return session_; } + + VRDevicePose* getDevicePose(VRCoordinateSystem*) const; + + void UpdateBasePose(std::unique_ptr<TransformationMatrix>); + + virtual void Trace(blink::Visitor*); + + private: + const Member<VRSession> session_; + std::unique_ptr<TransformationMatrix> base_pose_matrix_; +}; + +} // namespace blink + +#endif // VRWebGLLayer_h
diff --git a/third_party/WebKit/Source/modules/vr/latest/VRPresentationFrame.idl b/third_party/WebKit/Source/modules/vr/latest/VRPresentationFrame.idl new file mode 100644 index 0000000..b187780 --- /dev/null +++ b/third_party/WebKit/Source/modules/vr/latest/VRPresentationFrame.idl
@@ -0,0 +1,13 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3c.github.io/webvr/spec/latest/#vrpresentationframe-interface +[ + SecureContext, + RuntimeEnabled=WebVR2 +] interface VRPresentationFrame { + readonly attribute VRSession session; + + VRDevicePose? getDevicePose(VRCoordinateSystem coordinateSystem); +};
diff --git a/third_party/WebKit/Source/modules/vr/latest/VRSession.cpp b/third_party/WebKit/Source/modules/vr/latest/VRSession.cpp index c3af727..c4e6e5e 100644 --- a/third_party/WebKit/Source/modules/vr/latest/VRSession.cpp +++ b/third_party/WebKit/Source/modules/vr/latest/VRSession.cpp
@@ -14,6 +14,7 @@ #include "modules/vr/latest/VRFrameOfReference.h" #include "modules/vr/latest/VRFrameOfReferenceOptions.h" #include "modules/vr/latest/VRFrameProvider.h" +#include "modules/vr/latest/VRPresentationFrame.h" #include "modules/vr/latest/VRSessionEvent.h" #include "platform/wtf/AutoReset.h" @@ -165,7 +166,8 @@ if (detached_) return; - // TODO: Use the base_pose_matrix to produce a VRPresentationFrame + VRPresentationFrame* presentation_frame = new VRPresentationFrame(this); + presentation_frame->UpdateBasePose(std::move(base_pose_matrix)); if (pending_frame_) { pending_frame_ = false; @@ -174,7 +176,7 @@ // within these calls. resolving_frame_ will be true for the duration of the // callbacks. AutoReset<bool> resolving(&resolving_frame_, true); - callback_collection_.ExecuteCallbacks(); + callback_collection_.ExecuteCallbacks(this, presentation_frame); } }
diff --git a/third_party/WebKit/Source/modules/vr/latest/VRSession.h b/third_party/WebKit/Source/modules/vr/latest/VRSession.h index 85274772..b0f64dc 100644 --- a/third_party/WebKit/Source/modules/vr/latest/VRSession.h +++ b/third_party/WebKit/Source/modules/vr/latest/VRSession.h
@@ -15,9 +15,9 @@ namespace blink { +class V8VRFrameRequestCallback; class VRDevice; class VRFrameOfReferenceOptions; -class V8VRFrameRequestCallback; class VRSession final : public EventTargetWithInlineData { DEFINE_WRAPPERTYPEINFO();
diff --git a/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp b/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp index b5d63559..fd065912 100644 --- a/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp +++ b/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
@@ -35,7 +35,6 @@ #include "core/dom/Document.h" #include "core/dom/ExceptionCode.h" #include "core/dom/TaskRunnerHelper.h" -#include "core/dom/UserGestureIndicator.h" #include "core/frame/Settings.h" #include "core/html/media/AutoplayPolicy.h" #include "core/html/media/HTMLMediaElement.h" @@ -735,7 +734,8 @@ return true; case AutoplayPolicy::Type::kUserGestureRequired: case AutoplayPolicy::Type::kUserGestureRequiredForCrossOrigin: - return UserGestureIndicator::ProcessingUserGesture(); + return Frame::HasTransientUserActivation( + GetDocument() ? GetDocument()->GetFrame() : nullptr); case AutoplayPolicy::Type::kDocumentUserActivationRequired: return AutoplayPolicy::IsDocumentAllowedToPlay(*GetDocument()); }
diff --git a/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp b/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp index 0b2bcae..25cadcb7 100644 --- a/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp +++ b/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp
@@ -216,7 +216,7 @@ ExecutionContext* context = database->GetExecutionContext(); DCHECK(context->IsDocument()); if (ToDocument(context)->GetFrame()->GetPage() == page) - callback(database); + callback.Run(database); } } }
diff --git a/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.h b/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.h index 3ac700b..5575591 100644 --- a/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.h +++ b/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.h
@@ -78,7 +78,7 @@ void CloseDatabasesImmediately(SecurityOrigin*, const String& name); - using DatabaseCallback = Function<void(Database*)>; + using DatabaseCallback = WTF::RepeatingFunction<void(Database*)>; void ForEachOpenDatabaseInPage(Page*, DatabaseCallback); void PrepareToOpenDatabase(Database*);
diff --git a/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp b/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp index 744efc4e..669d826 100644 --- a/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp +++ b/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp
@@ -10,7 +10,6 @@ #include "core/dom/Document.h" #include "core/dom/ExceptionCode.h" #include "core/dom/ExecutionContext.h" -#include "core/dom/UserGestureIndicator.h" #include "core/frame/LocalFrame.h" #include "core/frame/Navigator.h" #include "modules/permissions/PermissionUtils.h" @@ -41,10 +40,12 @@ ConnectToPermissionService(GetExecutionContext(), mojo::MakeRequest(&permission_service_)); + + Document* doc = ToDocumentOrNull(GetExecutionContext()); permission_service_->RequestPermission( CreateMidiPermissionDescriptor(options_.hasSysex() && options_.sysex()), GetExecutionContext()->GetSecurityOrigin(), - UserGestureIndicator::ProcessingUserGesture(), + Frame::HasTransientUserActivation(doc ? doc->GetFrame() : nullptr), ConvertToBaseCallback(WTF::Bind( &MIDIAccessInitializer::OnPermissionsUpdated, WrapPersistent(this))));
diff --git a/third_party/WebKit/Source/modules/webshare/NavigatorShare.cpp b/third_party/WebKit/Source/modules/webshare/NavigatorShare.cpp index 82806239..8f67085 100644 --- a/third_party/WebKit/Source/modules/webshare/NavigatorShare.cpp +++ b/third_party/WebKit/Source/modules/webshare/NavigatorShare.cpp
@@ -8,7 +8,6 @@ #include "core/dom/Document.h" #include "core/dom/ExceptionCode.h" #include "core/dom/ExecutionContext.h" -#include "core/dom/UserGestureIndicator.h" #include "core/frame/LocalFrame.h" #include "core/frame/Navigator.h" #include "modules/webshare/ShareData.h" @@ -123,7 +122,7 @@ return ScriptPromise::Reject(script_state, error); } - if (!UserGestureIndicator::ProcessingUserGesture()) { + if (!Frame::HasTransientUserActivation(doc ? doc->GetFrame() : nullptr)) { DOMException* error = DOMException::Create( kNotAllowedError, "Must be handling a user gesture to perform a share request.");
diff --git a/third_party/WebKit/Source/modules/webusb/USB.cpp b/third_party/WebKit/Source/modules/webusb/USB.cpp index 64e7dcd7..50d1151 100644 --- a/third_party/WebKit/Source/modules/webusb/USB.cpp +++ b/third_party/WebKit/Source/modules/webusb/USB.cpp
@@ -9,7 +9,7 @@ #include "core/dom/DOMException.h" #include "core/dom/Document.h" #include "core/dom/ExceptionCode.h" -#include "core/dom/UserGestureIndicator.h" +#include "core/frame/Frame.h" #include "device/usb/public/interfaces/device.mojom-blink.h" #include "modules/EventTargetModules.h" #include "modules/webusb/USBConnectionEvent.h" @@ -130,7 +130,7 @@ WrapWeakPersistent(this)))); } - if (!UserGestureIndicator::ConsumeUserGesture()) { + if (!Frame::ConsumeTransientUserActivation(frame)) { return ScriptPromise::RejectWithDOMException( script_state, DOMException::Create(
diff --git a/third_party/WebKit/Source/platform/ContentSettingCallbacks.h b/third_party/WebKit/Source/platform/ContentSettingCallbacks.h index 1e9cd86..86d168f5 100644 --- a/third_party/WebKit/Source/platform/ContentSettingCallbacks.h +++ b/third_party/WebKit/Source/platform/ContentSettingCallbacks.h
@@ -22,8 +22,8 @@ WTF::Closure denied); virtual ~ContentSettingCallbacks() {} - void OnAllowed() { allowed_(); } - void OnDenied() { denied_(); } + void OnAllowed() { std::move(allowed_).Run(); } + void OnDenied() { std::move(denied_).Run(); } private: ContentSettingCallbacks(WTF::Closure allowed, WTF::Closure denied);
diff --git a/third_party/WebKit/Source/platform/WebScheduler.cpp b/third_party/WebKit/Source/platform/WebScheduler.cpp index ec2b8af..91ec350a 100644 --- a/third_party/WebKit/Source/platform/WebScheduler.cpp +++ b/third_party/WebKit/Source/platform/WebScheduler.cpp
@@ -23,7 +23,9 @@ ~IdleTaskRunner() override {} // WebThread::IdleTask implementation. - void Run(double deadline_seconds) override { task_(deadline_seconds); } + void Run(double deadline_seconds) override { + std::move(task_).Run(deadline_seconds); + } private: WebScheduler::IdleTask task_;
diff --git a/third_party/WebKit/Source/platform/WebTaskRunner.cpp b/third_party/WebKit/Source/platform/WebTaskRunner.cpp index 8362e2a4..7dd8c0b5 100644 --- a/third_party/WebKit/Source/platform/WebTaskRunner.cpp +++ b/third_party/WebKit/Source/platform/WebTaskRunner.cpp
@@ -32,7 +32,7 @@ namespace { void RunCrossThreadClosure(CrossThreadClosure task) { - task(); + std::move(task).Run(); } } // namespace @@ -72,7 +72,7 @@ void Run(const TaskHandle&) { WTF::Closure task = std::move(task_); weak_ptr_factory_.RevokeAll(); - task(); + std::move(task).Run(); } private:
diff --git a/third_party/WebKit/Source/platform/bindings/Microtask.cpp b/third_party/WebKit/Source/platform/bindings/Microtask.cpp index 2ffeabf..fc7cc8b 100644 --- a/third_party/WebKit/Source/platform/bindings/Microtask.cpp +++ b/third_party/WebKit/Source/platform/bindings/Microtask.cpp
@@ -44,7 +44,7 @@ static void MicrotaskFunctionCallback(void* data) { std::unique_ptr<WTF::Closure> task = WTF::WrapUnique(static_cast<WTF::Closure*>(data)); - (*task)(); + std::move(*task).Run(); } void Microtask::EnqueueMicrotask(WTF::Closure callback) {
diff --git a/third_party/WebKit/Source/platform/heap/PersistentTest.cpp b/third_party/WebKit/Source/platform/heap/PersistentTest.cpp index 81d41b7..e487992 100644 --- a/third_party/WebKit/Source/platform/heap/PersistentTest.cpp +++ b/third_party/WebKit/Source/platform/heap/PersistentTest.cpp
@@ -28,16 +28,16 @@ TEST(PersistentTest, BindCancellation) { Receiver* receiver = new Receiver; int counter = 0; - WTF::Closure function = + WTF::RepeatingClosure function = WTF::Bind(&Receiver::Increment, WrapWeakPersistent(receiver), WTF::Unretained(&counter)); - function(); + function.Run(); EXPECT_EQ(1, counter); receiver = nullptr; PreciselyCollectGarbage(); - function(); + function.Run(); EXPECT_EQ(1, counter); } @@ -48,12 +48,12 @@ &Receiver::Increment, WrapCrossThreadWeakPersistent(receiver), WTF::CrossThreadUnretained(&counter)); - function(); + function.Run(); EXPECT_EQ(1, counter); receiver = nullptr; PreciselyCollectGarbage(); - function(); + function.Run(); EXPECT_EQ(1, counter); }
diff --git a/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp b/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp index a933a9ae..93cf2180 100644 --- a/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp +++ b/third_party/WebKit/Source/platform/loader/fetch/Resource.cpp
@@ -645,13 +645,16 @@ static bool TypeNeedsSynchronousCacheHit(Resource::Type type) { // Some resources types default to return data synchronously. For most of // these, it's because there are layout tests that expect data to return - // synchronously in case of cache hit. + // synchronously in case of cache hit. In the case of fonts, there was a + // performance regression. // FIXME: Get to the point where we don't need to special-case sync/async // behavior for different resource types. if (type == Resource::kCSSStyleSheet) return true; if (type == Resource::kScript) return true; + if (type == Resource::kFont) + return true; return false; }
diff --git a/third_party/WebKit/Source/platform/wtf/Functional.h b/third_party/WebKit/Source/platform/wtf/Functional.h index 6a6ce10..92d5faf7 100644 --- a/third_party/WebKit/Source/platform/wtf/Functional.h +++ b/third_party/WebKit/Source/platform/wtf/Functional.h
@@ -245,13 +245,6 @@ return *this; } - // TODO(tzik): Remove operator() once we finished to update all call sites - // to use Run() instead. - R operator()(Args... args) const { - DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); - return callback_.Run(std::forward<Args>(args)...); - } - R Run(Args... args) const & { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); return callback_.Run(std::forward<Args>(args)...); @@ -303,8 +296,14 @@ function, std::forward<BoundParameters>(bound_parameters)...); } -typedef Function<void(), kSameThreadAffinity> Closure; -typedef Function<void(), kCrossThreadAffinity> CrossThreadClosure; +// TODO(tzik): Replace WTF::Function with base::OnceCallback, and +// WTF::RepeatingFunction with base::RepeatingCallback. +template <typename T> +using RepeatingFunction = Function<T>; +using RepeatingClosure = Function<void()>; + +using Closure = Function<void(), kSameThreadAffinity>; +using CrossThreadClosure = Function<void(), kCrossThreadAffinity>; } // namespace WTF
diff --git a/third_party/WebKit/Source/platform/wtf/FunctionalTest.cpp b/third_party/WebKit/Source/platform/wtf/FunctionalTest.cpp index 7c4126d13..cc5c9cd 100644 --- a/third_party/WebKit/Source/platform/wtf/FunctionalTest.cpp +++ b/third_party/WebKit/Source/platform/wtf/FunctionalTest.cpp
@@ -107,128 +107,6 @@ namespace WTF { namespace { -int ReturnFortyTwo() { - return 42; -} - -TEST(FunctionalTest, Basic) { - Function<int()> return_forty_two_function = Bind(&ReturnFortyTwo); - EXPECT_EQ(42, return_forty_two_function()); -} - -int MultiplyByTwo(int n) { - return n * 2; -} - -double MultiplyByOneAndAHalf(double d) { - return d * 1.5; -} - -TEST(FunctionalTest, UnaryBind) { - Function<int()> multiply_four_by_two_function = Bind(MultiplyByTwo, 4); - EXPECT_EQ(8, multiply_four_by_two_function()); - - Function<double()> multiply_by_one_and_a_half_function = - Bind(MultiplyByOneAndAHalf, 3); - EXPECT_EQ(4.5, multiply_by_one_and_a_half_function()); -} - -TEST(FunctionalTest, UnaryPartBind) { - Function<int(int)> multiply_by_two_function = Bind(MultiplyByTwo); - EXPECT_EQ(8, multiply_by_two_function(4)); - - Function<double(double)> multiply_by_one_and_a_half_function = - Bind(MultiplyByOneAndAHalf); - EXPECT_EQ(4.5, multiply_by_one_and_a_half_function(3)); -} - -int Multiply(int x, int y) { - return x * y; -} - -int Subtract(int x, int y) { - return x - y; -} - -TEST(FunctionalTest, BinaryBind) { - Function<int()> multiply_four_by_two_function = Bind(Multiply, 4, 2); - EXPECT_EQ(8, multiply_four_by_two_function()); - - Function<int()> subtract_two_from_four_function = Bind(Subtract, 4, 2); - EXPECT_EQ(2, subtract_two_from_four_function()); -} - -TEST(FunctionalTest, BinaryPartBind) { - Function<int(int)> multiply_four_function = Bind(Multiply, 4); - EXPECT_EQ(8, multiply_four_function(2)); - Function<int(int, int)> multiply_function = Bind(Multiply); - EXPECT_EQ(8, multiply_function(4, 2)); - - Function<int(int)> subtract_from_four_function = Bind(Subtract, 4); - EXPECT_EQ(2, subtract_from_four_function(2)); - Function<int(int, int)> subtract_function = Bind(Subtract); - EXPECT_EQ(2, subtract_function(4, 2)); -} - -void SixArgFunc(int a, double b, char c, int* d, double* e, char* f) { - *d = a; - *e = b; - *f = c; -} - -void AssertArgs(int actual_int, - double actual_double, - char actual_char, - int expected_int, - double expected_double, - char expected_char) { - EXPECT_EQ(expected_int, actual_int); - EXPECT_EQ(expected_double, actual_double); - EXPECT_EQ(expected_char, actual_char); -} - -TEST(FunctionalTest, MultiPartBind) { - int a = 0; - double b = 0.5; - char c = 'a'; - - Function<void(int, double, char, int*, double*, char*)> unbound = - Bind(SixArgFunc); - unbound(1, 1.5, 'b', &a, &b, &c); - AssertArgs(a, b, c, 1, 1.5, 'b'); - - Function<void(double, char, int*, double*, char*)> one_bound = - Bind(SixArgFunc, 2); - one_bound(2.5, 'c', &a, &b, &c); - AssertArgs(a, b, c, 2, 2.5, 'c'); - - Function<void(char, int*, double*, char*)> two_bound = - Bind(SixArgFunc, 3, 3.5); - two_bound('d', &a, &b, &c); - AssertArgs(a, b, c, 3, 3.5, 'd'); - - Function<void(int*, double*, char*)> three_bound = - Bind(SixArgFunc, 4, 4.5, 'e'); - three_bound(&a, &b, &c); - AssertArgs(a, b, c, 4, 4.5, 'e'); - - Function<void(double*, char*)> four_bound = - Bind(SixArgFunc, 5, 5.5, 'f', WTF::Unretained(&a)); - four_bound(&b, &c); - AssertArgs(a, b, c, 5, 5.5, 'f'); - - Function<void(char*)> five_bound = - Bind(SixArgFunc, 6, 6.5, 'g', WTF::Unretained(&a), WTF::Unretained(&b)); - five_bound(&c); - AssertArgs(a, b, c, 6, 6.5, 'g'); - - Function<void()> six_bound = - Bind(SixArgFunc, 7, 7.5, 'h', WTF::Unretained(&a), WTF::Unretained(&b), - WTF::Unretained(&c)); - six_bound(); - AssertArgs(a, b, c, 7, 7.5, 'h'); -} - class A { public: explicit A(int i) : i_(i) {} @@ -251,73 +129,6 @@ int Overridden() override { return 43; } }; -TEST(FunctionalTest, MemberFunctionBind) { - A a(10); - Function<int()> function1 = Bind(&A::F, WTF::Unretained(&a)); - EXPECT_EQ(10, function1()); - - Function<int()> function2 = Bind(&A::AddF, WTF::Unretained(&a), 15); - EXPECT_EQ(25, function2()); - - Function<int()> function3 = Bind(&A::Overridden, WTF::Unretained(&a)); - EXPECT_EQ(42, function3()); -} - -TEST(FunctionalTest, MemberFunctionBindWithSubclassPointer) { - B b(10); - Function<int()> function1 = Bind(&A::F, WTF::Unretained(&b)); - EXPECT_EQ(10, function1()); - - Function<int()> function2 = Bind(&A::AddF, WTF::Unretained(&b), 15); - EXPECT_EQ(25, function2()); - - Function<int()> function3 = Bind(&A::Overridden, WTF::Unretained(&b)); - EXPECT_EQ(43, function3()); - - Function<int()> function4 = Bind(&B::F, WTF::Unretained(&b)); - EXPECT_EQ(11, function4()); - - Function<int()> function5 = Bind(&B::AddF, WTF::Unretained(&b), 15); - EXPECT_EQ(26, function5()); -} - -TEST(FunctionalTest, MemberFunctionBindWithSubclassPointerWithCast) { - B b(10); - Function<int()> function1 = Bind(&A::F, WTF::Unretained(static_cast<A*>(&b))); - EXPECT_EQ(10, function1()); - - Function<int()> function2 = - Bind(&A::AddF, WTF::Unretained(static_cast<A*>(&b)), 15); - EXPECT_EQ(25, function2()); - - Function<int()> function3 = - Bind(&A::Overridden, WTF::Unretained(static_cast<A*>(&b))); - EXPECT_EQ(43, function3()); -} - -TEST(FunctionalTest, MemberFunctionPartBind) { - A a(10); - Function<int(class A*)> function1 = Bind(&A::F); - EXPECT_EQ(10, function1(&a)); - - Function<int(class A*, int)> unbound_function2 = Bind(&A::AddF); - EXPECT_EQ(25, unbound_function2(&a, 15)); - Function<int(int)> object_bound_function2 = - Bind(&A::AddF, WTF::Unretained(&a)); - EXPECT_EQ(25, object_bound_function2(15)); -} - -TEST(FunctionalTest, MemberFunctionBindByUniquePtr) { - Function<int()> function1 = WTF::Bind(&A::F, std::make_unique<A>(10)); - EXPECT_EQ(10, function1()); -} - -TEST(FunctionalTest, MemberFunctionBindByPassedUniquePtr) { - Function<int()> function1 = - WTF::Bind(&A::F, WTF::Passed(std::make_unique<A>(10))); - EXPECT_EQ(10, function1()); -} - class Number { public: REQUIRE_ADOPTION_FOR_REFCOUNTED_TYPE(); @@ -347,138 +158,6 @@ mutable int ref_count_ = 1; }; -int MultiplyNumberByTwo(Number* number) { - return number->Value() * 2; -} - -TEST(FunctionalTest, RefCountedStorage) { - scoped_refptr<Number> five = Number::Create(5); - EXPECT_TRUE(five->HasOneRef()); - Function<int()> multiply_five_by_two_function = - WTF::Bind(MultiplyNumberByTwo, WTF::RetainedRef(five)); - EXPECT_EQ(2, five->RefCount()); - EXPECT_EQ(10, multiply_five_by_two_function()); - EXPECT_EQ(2, five->RefCount()); - - Function<int()> multiply_four_by_two_function = - WTF::Bind(MultiplyNumberByTwo, WTF::RetainedRef(Number::Create(4))); - EXPECT_EQ(8, multiply_four_by_two_function()); - - scoped_refptr<Number> six = Number::Create(6); - Function<int()> multiply_six_by_two_function = - WTF::Bind(MultiplyNumberByTwo, WTF::RetainedRef(std::move(six))); - EXPECT_FALSE(six); - EXPECT_EQ(12, multiply_six_by_two_function()); -} - -TEST(FunctionalTest, UnretainedWithRefCounted) { - scoped_refptr<Number> five = Number::Create(5); - EXPECT_EQ(1, five->RefCount()); - Function<int()> multiply_five_by_two_function = - WTF::Bind(MultiplyNumberByTwo, WTF::Unretained(five.get())); - EXPECT_EQ(1, five->RefCount()); - EXPECT_EQ(10, multiply_five_by_two_function()); - EXPECT_EQ(1, five->RefCount()); -} - -int ProcessUnwrappedClass(const UnwrappedClass& u, int v) { - return u.Value() * v; -} - -// Tests that: -// - ParamStorageTraits's wrap()/unwrap() are called, and -// - bind()'s arguments are passed as references to ParamStorageTraits::wrap() -// with no additional copies. -// This test would fail in compile if something is wrong, -// rather than in runtime. -TEST(FunctionalTest, WrapUnwrap) { - Function<int()> function = - Bind(ProcessUnwrappedClass, ClassToBeWrapped(3), 7); - EXPECT_EQ(21, function()); -} - -TEST(FunctionalTest, WrapUnwrapInPartialBind) { - Function<int(int)> partially_bound_function = - Bind(ProcessUnwrappedClass, ClassToBeWrapped(3)); - EXPECT_EQ(21, partially_bound_function(7)); -} - -bool LotsOfArguments(int first, - int second, - int third, - int fourth, - int fifth, - int sixth, - int seventh, - int eighth, - int ninth, - int tenth) { - return first == 1 && second == 2 && third == 3 && fourth == 4 && fifth == 5 && - sixth == 6 && seventh == 7 && eighth == 8 && ninth == 9 && tenth == 10; -} - -TEST(FunctionalTest, LotsOfBoundVariables) { - Function<bool(int, int)> eight_bound = - Bind(LotsOfArguments, 1, 2, 3, 4, 5, 6, 7, 8); - EXPECT_TRUE(eight_bound(9, 10)); - - Function<bool(int)> nine_bound = - Bind(LotsOfArguments, 1, 2, 3, 4, 5, 6, 7, 8, 9); - EXPECT_TRUE(nine_bound(10)); - - Function<bool()> all_bound = - Bind(LotsOfArguments, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - EXPECT_TRUE(all_bound()); -} - -int SingleMoveOnlyByRvalueReference(MoveOnly&& move_only) { - int value = move_only.Value(); - MoveOnly(std::move(move_only)); - return value; -} - -int TripleMoveOnlysByRvalueReferences(MoveOnly&& first, - MoveOnly&& second, - MoveOnly&& third) { - int value = first.Value() + second.Value() + third.Value(); - MoveOnly(std::move(first)); - MoveOnly(std::move(second)); - MoveOnly(std::move(third)); - return value; -} - -int SingleMoveOnlyByValue(MoveOnly move_only) { - return move_only.Value(); -} - -int TripleMoveOnlysByValues(MoveOnly first, MoveOnly second, MoveOnly third) { - return first.Value() + second.Value() + third.Value(); -} - -TEST(FunctionalTest, BindMoveOnlyObjects) { - MoveOnly one(1); - Function<int()> bound = - Bind(SingleMoveOnlyByRvalueReference, WTF::Passed(std::move(one))); - EXPECT_EQ(0, one.Value()); // Should be moved away. - EXPECT_EQ(1, bound()); - // The stored value must be cleared in the first function call. - EXPECT_EQ(0, bound()); - - bound = Bind(SingleMoveOnlyByValue, WTF::Passed(MoveOnly(1))); - EXPECT_EQ(1, bound()); - EXPECT_EQ(0, bound()); - - bound = Bind(TripleMoveOnlysByRvalueReferences, WTF::Passed(MoveOnly(1)), - WTF::Passed(MoveOnly(2)), WTF::Passed(MoveOnly(3))); - EXPECT_EQ(6, bound()); - EXPECT_EQ(0, bound()); - - bound = Bind(TripleMoveOnlysByValues, WTF::Passed(MoveOnly(1)), - WTF::Passed(MoveOnly(2)), WTF::Passed(MoveOnly(3))); - EXPECT_EQ(6, bound()); - EXPECT_EQ(0, bound()); -} - class CountGeneration { public: CountGeneration() : copies_(0) {} @@ -494,78 +173,20 @@ int copies_; }; -int TakeCountCopyAsConstReference(const CountGeneration& counter) { - return counter.Copies(); -} - -int TakeCountCopyAsValue(CountGeneration counter) { - return counter.Copies(); -} - -TEST(FunctionalTest, CountCopiesOfBoundArguments) { - CountGeneration lvalue; - Function<int()> bound = Bind(TakeCountCopyAsConstReference, lvalue); - EXPECT_EQ(2, bound()); // wrapping and unwrapping. - - bound = Bind(TakeCountCopyAsConstReference, CountGeneration()); // Rvalue. - EXPECT_EQ(2, bound()); - - bound = Bind(TakeCountCopyAsValue, lvalue); - // wrapping, unwrapping and copying in the final function argument. - EXPECT_EQ(3, bound()); - - bound = Bind(TakeCountCopyAsValue, CountGeneration()); - EXPECT_EQ(3, bound()); -} - -TEST(FunctionalTest, MoveUnboundArgumentsByRvalueReference) { - Function<int(MoveOnly &&)> bound_single = - Bind(SingleMoveOnlyByRvalueReference); - EXPECT_EQ(1, bound_single(MoveOnly(1))); - EXPECT_EQ(42, bound_single(MoveOnly(42))); - - Function<int(MoveOnly&&, MoveOnly&&, MoveOnly &&)> bound_triple = - Bind(TripleMoveOnlysByRvalueReferences); - EXPECT_EQ(6, bound_triple(MoveOnly(1), MoveOnly(2), MoveOnly(3))); - EXPECT_EQ(666, bound_triple(MoveOnly(111), MoveOnly(222), MoveOnly(333))); - - Function<int(MoveOnly)> bound_single_by_value = Bind(SingleMoveOnlyByValue); - EXPECT_EQ(1, bound_single_by_value(MoveOnly(1))); - - Function<int(MoveOnly, MoveOnly, MoveOnly)> bound_triple_by_value = - Bind(TripleMoveOnlysByValues); - EXPECT_EQ(6, bound_triple_by_value(MoveOnly(1), MoveOnly(2), MoveOnly(3))); -} - -TEST(FunctionalTest, CountCopiesOfUnboundArguments) { - CountGeneration lvalue; - Function<int(const CountGeneration&)> bound1 = - Bind(TakeCountCopyAsConstReference); - EXPECT_EQ(0, bound1(lvalue)); // No copies! - EXPECT_EQ(0, bound1(CountGeneration())); - - Function<int(CountGeneration)> bound2 = Bind(TakeCountCopyAsValue); - // At Function::operator(), at Callback::Run() and at the destination - // function. - EXPECT_EQ(3, bound2(lvalue)); - // Compiler is allowed to optimize one copy away if the argument is rvalue. - EXPECT_LE(bound2(CountGeneration()), 2); -} - TEST(FunctionalTest, WeakPtr) { HasWeakPtrSupport obj; int counter = 0; - WTF::Closure bound = + WTF::RepeatingClosure bound = WTF::Bind(&HasWeakPtrSupport::Increment, obj.CreateWeakPtr(), WTF::Unretained(&counter)); - bound(); + bound.Run(); EXPECT_FALSE(bound.IsCancelled()); EXPECT_EQ(1, counter); obj.RevokeAll(); EXPECT_TRUE(bound.IsCancelled()); - bound(); + bound.Run(); EXPECT_EQ(1, counter); }
diff --git a/third_party/WebKit/public/platform/InterfaceRegistry.h b/third_party/WebKit/public/platform/InterfaceRegistry.h index de6553c..6f31ddd 100644 --- a/third_party/WebKit/public/platform/InterfaceRegistry.h +++ b/third_party/WebKit/public/platform/InterfaceRegistry.h
@@ -27,7 +27,7 @@ template <typename Interface> void AddInterface( - WTF::Function<void(mojo::InterfaceRequest<Interface>)> factory) { + WTF::RepeatingFunction<void(mojo::InterfaceRequest<Interface>)> factory) { AddInterface(Interface::Name_, ConvertToBaseCallback(WTF::Bind( &InterfaceRegistry::ForwardToInterfaceFactory<Interface>, @@ -37,9 +37,10 @@ private: template <typename Interface> static void ForwardToInterfaceFactory( - const WTF::Function<void(mojo::InterfaceRequest<Interface>)>& factory, + const WTF::RepeatingFunction<void(mojo::InterfaceRequest<Interface>)>& + factory, mojo::ScopedMessagePipeHandle handle) { - factory(mojo::InterfaceRequest<Interface>(std::move(handle))); + factory.Run(mojo::InterfaceRequest<Interface>(std::move(handle))); } #endif // INSIDE_BLINK };
diff --git a/third_party/WebKit/public/platform/modules/permissions/permission.mojom b/third_party/WebKit/public/platform/modules/permissions/permission.mojom index 37dc9ea..605b14b5 100644 --- a/third_party/WebKit/public/platform/modules/permissions/permission.mojom +++ b/third_party/WebKit/public/platform/modules/permissions/permission.mojom
@@ -19,15 +19,22 @@ BACKGROUND_SYNC, SENSORS, ACCESSIBILITY_EVENTS, + CLIPBOARD_READ, + CLIPBOARD_WRITE, }; struct MidiPermissionDescriptor { bool sysex; }; +struct ClipboardPermissionDescriptor { + bool allowWithoutGesture; +}; + // Union of possible extensions to the base PermissionDescriptor type. union PermissionDescriptorExtension { MidiPermissionDescriptor midi; + ClipboardPermissionDescriptor clipboard; }; // This struct roughly corresponds to the PermissionDescriptor dictionary as
diff --git a/third_party/WebKit/public/platform/web_feature.mojom b/third_party/WebKit/public/platform/web_feature.mojom index 03fa73b..2ae3978 100644 --- a/third_party/WebKit/public/platform/web_feature.mojom +++ b/third_party/WebKit/public/platform/web_feature.mojom
@@ -1734,6 +1734,8 @@ kWebAudioValueSetterIsSetValue = 2202, kHasIDClassTagAttribute = 2203, kHasBeforeOrAfterPseudoElement = 2204, + kShapeOutsideMaybeAffectedInlineSize = 2205, + kShapeOutsideMaybeAffectedInlinePosition = 2206, // Add new features immediately above this line. Don't change assigned // numbers of any item, and don't reuse removed slots. // Also, run update_use_counter_feature_enum.py in
diff --git a/third_party/crashpad/crashpad/test/gmock_main.cc b/third_party/crashpad/crashpad/test/gmock_main.cc index 05492817..7f7bc93 100644 --- a/third_party/crashpad/crashpad/test/gmock_main.cc +++ b/third_party/crashpad/crashpad/test/gmock_main.cc
@@ -16,8 +16,23 @@ #include "gtest/gtest.h" #include "test/main_arguments.h" +#if defined(CRASHPAD_IN_CHROMIUM) +#include "base/bind.h" +#include "base/test/launcher/unit_test_launcher.h" +#include "base/test/test_suite.h" +#endif + int main(int argc, char* argv[]) { crashpad::test::InitializeMainArguments(argc, argv); +#if defined(CRASHPAD_IN_CHROMIUM) + // Writes a json file with test details which is needed by swarming. + base::TestSuite test_suite(argc, argv); + return base::LaunchUnitTests( + argc, + argv, + base::Bind(&base::TestSuite::Run, base::Unretained(&test_suite))); +#else testing::InitGoogleMock(&argc, argv); return RUN_ALL_TESTS(); +#endif }
diff --git a/third_party/crashpad/crashpad/test/gtest_main.cc b/third_party/crashpad/crashpad/test/gtest_main.cc index 5608d2c..c3f6899c 100644 --- a/third_party/crashpad/crashpad/test/gtest_main.cc +++ b/third_party/crashpad/crashpad/test/gtest_main.cc
@@ -15,8 +15,23 @@ #include "gtest/gtest.h" #include "test/main_arguments.h" +#if defined(CRASHPAD_IN_CHROMIUM) +#include "base/bind.h" +#include "base/test/launcher/unit_test_launcher.h" +#include "base/test/test_suite.h" +#endif + int main(int argc, char* argv[]) { crashpad::test::InitializeMainArguments(argc, argv); +#if defined(CRASHPAD_IN_CHROMIUM) + // Writes a json file with test details which is needed by swarming. + base::TestSuite test_suite(argc, argv); + return base::LaunchUnitTests( + argc, + argv, + base::Bind(&base::TestSuite::Run, base::Unretained(&test_suite))); +#else testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); +#endif }
diff --git a/third_party/crashpad/crashpad/util/win/exception_handler_server_test.cc b/third_party/crashpad/crashpad/util/win/exception_handler_server_test.cc index 6f880516..6f9ffc3 100644 --- a/third_party/crashpad/crashpad/util/win/exception_handler_server_test.cc +++ b/third_party/crashpad/crashpad/util/win/exception_handler_server_test.cc
@@ -180,7 +180,13 @@ DISALLOW_COPY_AND_ASSIGN(TestClient); }; -TEST_F(ExceptionHandlerServerTest, MultipleConnections) { +// https://crashpad.chromium.org/bug/205 +#if defined(CRASHPAD_IN_CHROMIUM) +#define MAYBE_MultipleConnections DISABLED_MultipleConnections +#else +#define MAYBE_MultipleConnections MultipleConnections +#endif +TEST_F(ExceptionHandlerServerTest, MAYBE_MultipleConnections) { WinChildProcess::EntryPoint<TestClient>(); std::unique_ptr<WinChildProcess::Handles> handles_1 =
diff --git a/third_party/crashpad/crashpad/util/win/process_info_test.cc b/third_party/crashpad/crashpad/util/win/process_info_test.cc index fc3bb4c..590ef15 100644 --- a/third_party/crashpad/crashpad/util/win/process_info_test.cc +++ b/third_party/crashpad/crashpad/util/win/process_info_test.cc
@@ -189,12 +189,14 @@ VerifyAddressInInCodePage(process_info, code_address); } -TEST(ProcessInfo, OtherProcess) { +// https://crashpad.chromium.org/bug/204 +TEST(ProcessInfo, DISABLED_OtherProcess) { TestOtherProcess(FILE_PATH_LITERAL(".")); } #if defined(ARCH_CPU_64_BITS) -TEST(ProcessInfo, OtherProcessWOW64) { +// https://crashpad.chromium.org/bug/203 +TEST(ProcessInfo, DISABLED_OtherProcessWOW64) { #ifndef NDEBUG TestOtherProcess(FILE_PATH_LITERAL("..\\..\\out\\Debug")); #else
diff --git a/third_party/crashpad/crashpad/util/win/scoped_process_suspend_test.cc b/third_party/crashpad/crashpad/util/win/scoped_process_suspend_test.cc index 2d0f5a0b..7dfcdf29 100644 --- a/third_party/crashpad/crashpad/util/win/scoped_process_suspend_test.cc +++ b/third_party/crashpad/crashpad/util/win/scoped_process_suspend_test.cc
@@ -89,7 +89,13 @@ DISALLOW_COPY_AND_ASSIGN(ScopedProcessSuspendTest); }; -TEST(ScopedProcessSuspend, ScopedProcessSuspend) { +// https://crashpad.chromium.org/bug/205 +#if defined(CRASHPAD_IN_CHROMIUM) +#define MAYBE_ScopedProcessSuspend DISABLED_ScopedProcessSuspend +#else +#define MAYBE_ScopedProcessSuspend ScopedProcessSuspend +#endif +TEST(ScopedProcessSuspend, MAYBE_ScopedProcessSuspend) { WinChildProcess::EntryPoint<ScopedProcessSuspendTest>(); std::unique_ptr<WinChildProcess::Handles> handles = WinChildProcess::Launch();
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml index 645259ad..477d8ee 100644 --- a/tools/metrics/histograms/enums.xml +++ b/tools/metrics/histograms/enums.xml
@@ -2572,6 +2572,7 @@ <int value="9" label="Download cleanup task"/> <int value="10" label="WebView variations task"/> <int value="11" label="Offline content notification task"/> + <int value="12" label="WebAPK update task"/> </enum> <enum name="BackgroundTracingState"> @@ -16787,6 +16788,8 @@ <int value="2202" label="WebAudioValueSetterIsSetValue"/> <int value="2203" label="HasIDClassTagAttribute"/> <int value="2204" label="HasBeforeOrAfterPseudoElement"/> + <int value="2205" label="ShapeOutsideMaybeAffectedInlineSize"/> + <int value="2206" label="ShapeOutsideMaybeAffectedInlinePosition"/> </enum> <enum name="FeedbackSource"> @@ -17668,6 +17671,7 @@ <int value="10" label="File was older than maximum allowed age."/> <int value="11" label="File made for too many files in the directory."/> <int value="12" label="File made for too many bytes in the directory."/> + <int value="13" label="File was skipped because it belongs to this process."/> </enum> <enum name="FileMetricsProviderEmbeddedProfileResult"> @@ -31663,6 +31667,7 @@ <int value="3" label="Mapped-File Failure"/> <int value="5" label="Mapped-File Already Exists"/> <int value="6" label="No Spare File"/> + <int value="7" label="Could Not Create Upload Directory"/> </enum> <enum name="PhotoEditorFileType"> @@ -41497,9 +41502,10 @@ </enum> <enum name="WebApkUpdateRequestSent"> - <int value="0" label="Sent immediately after an update check"/> - <int value="1" label="Sent when WebAPK is moved to background"/> - <int value="2" label="Sent by forcing an update"/> + <int value="0" label="Sent immediately after an update check (deprecated)"/> + <int value="1" label="Sent when WebAPK is moved to background (deprecated)"/> + <int value="2" label="Sent by forcing an update (deprecated)"/> + <int value="3" label="Sent when WebAPK is closed"/> </enum> <enum name="WebApkUserAction">
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index 35c2a979..3b213578 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml
@@ -91203,32 +91203,77 @@ <summary> Records the available space that can be used when installing a WebAPK from Google Play fails. The space recorded is the available space beyond the - system's minimum free space threshold, with a range between -1000 and 500 + system's minimum free space threshold, with a range between -1000 and 1000 MB. Negative values mean that there is less free space available than the system's minimum, by the given amount. </summary> </histogram> <histogram name="WebApk.Install.AvailableSpace.Success" units="MB"> + <obsolete> + Deprecated 2017-09. As of M64, this is no longer recorded. + </obsolete> <owner>hanxi@chromium.org</owner> <owner>ranj@chromium.org</owner> <owner>yfriedman@chromium.org</owner> <summary> Records the available space that can be used when installing a WebAPK from Google Play succeeds. The space recorded is the available space beyond the - system's minimum free space threshold, with a range between -1000 and 500 + system's minimum free space threshold, with a range between -1000 and 1000 MB. Negative values mean that there is less free space available than the system's minimum, by the given amount. </summary> </histogram> +<histogram name="WebApk.Install.AvailableSpaceAfterFreeUpAll.Fail" units="MB"> + <owner>hanxi@chromium.org</owner> + <owner>ranj@chromium.org</owner> + <owner>yfriedman@chromium.org</owner> + <summary> + Records the available space that can be used when installing a WebAPK from + Google Play fails after freeing up cache and unimportant storage. The space + recorded is the available space beyond the system's minimum free space + threshold, with a range between -1000 and 1000 MB. Negative values mean that + there is less free space available than the system's minimum, by the given + amount. + </summary> +</histogram> + +<histogram name="WebApk.Install.AvailableSpaceAfterFreeUpCache.Fail" units="MB"> + <owner>hanxi@chromium.org</owner> + <owner>ranj@chromium.org</owner> + <owner>yfriedman@chromium.org</owner> + <summary> + Records the available space that can be used when installing a WebAPK from + Google Play fails after freeing up cache. The space recorded is the + available space beyond the system's minimum free space threshold, with a + range between -1000 and 1000 MB. Negative values mean that there is less + free space available than the system's minimum, by the given amount. + </summary> +</histogram> + +<histogram + name="WebApk.Install.AvailableSpaceAfterFreeUpUnimportantStorage.Fail" + units="MB"> + <owner>hanxi@chromium.org</owner> + <owner>ranj@chromium.org</owner> + <owner>yfriedman@chromium.org</owner> + <summary> + Records the available space that can be used when installing a WebAPK from + Google Play fails after freeing up unimportant storage. The space recorded + is the available space beyond the system's minimum free space threshold, + with a range between -1000 and 1000 MB. Negative values mean that there is + less free space available than the system's minimum, by the given amount. + </summary> +</histogram> + <histogram name="WebApk.Install.ChromeCacheSize.Fail" units="MB"> <owner>hanxi@chromium.org</owner> <owner>ranj@chromium.org</owner> <owner>yfriedman@chromium.org</owner> <summary> Records the Chrome cache size when installing a WebAPK from Google Play - fails, with a range between 0 and 2000, rounded to the nearest 10MB. + fails, with a range between 0 and 1000, rounded to the nearest 10MB. </summary> </histogram>
diff --git a/tools/perf/benchmark.csv b/tools/perf/benchmark.csv index 4485b8f..38d37d0 100644 --- a/tools/perf/benchmark.csv +++ b/tools/perf/benchmark.csv
@@ -30,12 +30,10 @@ load_library_perf_tests,, loading.desktop,"kouhei@chormium.org, ksakamoto@chromium.org", loading.mobile,"kouhei@chromium.org, ksakamoto@chromium.org", -media.android.tough_video_cases,"crouleau@chromium.org, videostack-eng@google.com",Internals>Media media.desktop,"johnchen@chromium.org, crouleau@chromium.org",Internals>Media media.media_cns_cases,"crouleau@chromium.org, videostack-eng@google.com",Internals>Media media.mobile,"johnchen@chromium.org, crouleau@chromium.org",Internals>Media media.mse_cases,"crouleau@chromium.org, videostack-eng@google.com",Internals>Media>Source -media.tough_video_cases,crouleau@chromium.org,Internals>Media media_perftests,crouleau@chromium.org, memory.desktop,erikchen@chromium.org, memory.long_running_idle_gmail_background_tbmv2,ulan@chromium.org,
diff --git a/tools/perf/benchmarks/media.py b/tools/perf/benchmarks/media.py index cac035b..2d144a4 100644 --- a/tools/perf/benchmarks/media.py +++ b/tools/perf/benchmarks/media.py
@@ -50,48 +50,6 @@ value=float(metrics[m]), important=True)) -# android: See media.android.tough_video_cases below -@benchmark.Owner(emails=['crouleau@chromium.org'], - component='Internals>Media') -class MediaToughVideoCases(perf_benchmark.PerfBenchmark): - """Obtains media metrics for key user scenarios.""" - test = media.Media - page_set = page_sets.ToughVideoCasesPageSet - SUPPORTED_PLATFORMS = [story.expectations.ALL_DESKTOP] - - @classmethod - def Name(cls): - return 'media.tough_video_cases' - - def GetExpectations(self): - class StoryExpectations(story.expectations.StoryExpectations): - def SetExpectations(self): - pass - return StoryExpectations() - - -# If any story is failing on svelte, please only disable on svelte. -@benchmark.Owner(emails=['crouleau@chromium.org', 'videostack-eng@google.com'], - component='Internals>Media') -class MediaAndroidToughVideoCases(perf_benchmark.PerfBenchmark): - """Obtains media metrics for key user scenarios on Android.""" - test = media.Media - tag = 'android' - page_set = page_sets.ToughVideoCasesPageSet - options = {'story_tag_filter_exclude': 'is_4k,is_50fps'} - SUPPORTED_PLATFORMS = [story.expectations.ANDROID_NOT_WEBVIEW] - - @classmethod - def Name(cls): - return 'media.android.tough_video_cases' - - def GetExpectations(self): - class StoryExpectations(story.expectations.StoryExpectations): - def SetExpectations(self): - pass - return StoryExpectations() - - class _MediaBenchmark(perf_benchmark.PerfBenchmark): """ Base class for TBMv2-based media benchmarks (MediaDesktop and MediaMobile).""" @@ -132,8 +90,7 @@ @benchmark.Owner(emails=['johnchen@chromium.org', 'crouleau@chromium.org'], component='Internals>Media') class MediaDesktop(_MediaBenchmark): - """Obtains media metrics using TBMv2. - Will eventually replace MediaToughVideoCases class.""" + """Obtains media performance for key user scenarios on desktop.""" SUPPORTED_PLATFORMS = [story.expectations.ALL_DESKTOP] @classmethod @@ -158,8 +115,7 @@ @benchmark.Owner(emails=['johnchen@chromium.org', 'crouleau@chromium.org'], component='Internals>Media') class MediaMobile(_MediaBenchmark): - """Obtains media metrics for key user scenarios on Android using TBMv2. - Will eventually replace MediaAndroidToughVideoCases class.""" + """Obtains media performance for key user scenarios on mobile devices.""" tag = 'android' options = {'story_tag_filter_exclude': 'is_4k,is_50fps'}
diff --git a/tools/perf/fetch_benchmark_deps_unittest.py b/tools/perf/fetch_benchmark_deps_unittest.py index 605885c..9c2485e 100644 --- a/tools/perf/fetch_benchmark_deps_unittest.py +++ b/tools/perf/fetch_benchmark_deps_unittest.py
@@ -57,7 +57,7 @@ self._RunFetchBenchmarkDepsTest('smoothness.top_25_smooth') def testFetchServingDirs(self): - self._RunFetchBenchmarkDepsTest('media.tough_video_cases') + self._RunFetchBenchmarkDepsTest('media.desktop') def testFetchOctane(self): octane_wpr_path = os.path.join(
diff --git a/tools/perf/page_sets/system_health/expectations.py b/tools/perf/page_sets/system_health/expectations.py index ae130d5..4931117 100644 --- a/tools/perf/page_sets/system_health/expectations.py +++ b/tools/perf/page_sets/system_health/expectations.py
@@ -68,10 +68,6 @@ 'crbug.com/657433') self.DisableStory('browse:news:toi', [expectations.ALL_ANDROID], 'crbug.com/728081') - self.DisableStory('browse:shopping:lazada', [expectations.ANDROID_NEXUS5], - 'crbug.com/778108') - self.DisableStory('load:tools:weather', [expectations.ANDROID_NEXUS5], - 'crbug.com/778108') self.DisableStory( 'load:tools:drive', [expectations.ANDROID_NEXUS5X, expectations.ANDROID_WEBVIEW], @@ -106,6 +102,10 @@ 'load:tools:drive', [expectations.ANDROID_NEXUS5X, expectations.ANDROID_WEBVIEW], 'crbug.com/738854') + self.DisableStory('browse:shopping:lazada', [expectations.ANDROID_NEXUS5], + 'crbug.com/778108') + self.DisableStory('load:tools:weather', [expectations.ANDROID_NEXUS5], + 'crbug.com/778108') self.DisableStory('long_running:tools:gmail-background', [expectations.ANDROID_SVELTE], 'crbug.com/777355') # TODO(rnephew): This disabling should move to CanRunOnBrowser.
diff --git a/ui/display/manager/chromeos/touch_device_manager.cc b/ui/display/manager/chromeos/touch_device_manager.cc index e61407db..76fba8f 100644 --- a/ui/display/manager/chromeos/touch_device_manager.cc +++ b/ui/display/manager/chromeos/touch_device_manager.cc
@@ -101,6 +101,61 @@ } // namespace //////////////////////////////////////////////////////////////////////////////// +// TouchDeviceIdentifier + +// static +const TouchDeviceIdentifier& +TouchDeviceIdentifier::GetFallbackTouchDeviceIdentifier() { + static const TouchDeviceIdentifier kFallTouchDeviceIdentifier( + GenerateIdentifier(kFallbackTouchDeviceName, 0, 0)); + return kFallTouchDeviceIdentifier; +} + +// static +uint32_t TouchDeviceIdentifier::GenerateIdentifier(std::string name, + uint16_t vendor_id, + uint16_t product_id) { + std::string hash_str = name + "-" + base::UintToString(vendor_id) + "-" + + base::UintToString(product_id); + return base::PersistentHash(hash_str); +} + +// static +TouchDeviceIdentifier TouchDeviceIdentifier::FromDevice( + const ui::TouchscreenDevice& touch_device) { + return TouchDeviceIdentifier(GenerateIdentifier( + touch_device.name, touch_device.vendor_id, touch_device.product_id)); +} + +TouchDeviceIdentifier::TouchDeviceIdentifier(uint32_t identifier) + : id_(identifier) {} + +TouchDeviceIdentifier::TouchDeviceIdentifier(const TouchDeviceIdentifier& other) + : id_(other.id_) {} + +TouchDeviceIdentifier& TouchDeviceIdentifier::operator=( + TouchDeviceIdentifier other) { + id_ = other.id_; + return *this; +} + +bool TouchDeviceIdentifier::operator<(const TouchDeviceIdentifier& rhs) const { + return id_ < rhs.id_; +} + +bool TouchDeviceIdentifier::operator==(const TouchDeviceIdentifier& rhs) const { + return id_ == rhs.id_; +} + +bool TouchDeviceIdentifier::operator!=(const TouchDeviceIdentifier& rhs) const { + return !(*this == rhs); +} + +std::string TouchDeviceIdentifier::ToString() const { + return base::UintToString(id_); +} + +//////////////////////////////////////////////////////////////////////////////// // TouchCalibrationData // static @@ -112,25 +167,6 @@ : pair_1.first.x() < pair_2.first.x(); } -// static -uint32_t TouchCalibrationData::GenerateTouchDeviceIdentifier( - const ui::TouchscreenDevice& device) { - std::string hash_str = device.name + "-" + - base::UintToString(device.vendor_id) + "-" + - base::UintToString(device.product_id); - return base::PersistentHash(hash_str); -} - -// static -uint32_t TouchCalibrationData::GetFallbackTouchDeviceIdentifier() { - ui::TouchscreenDevice device; - device.name = kFallbackTouchDeviceName; - device.vendor_id = device.product_id = 0; - static const uint32_t kFallbackTouchDeviceIdentifier = - GenerateTouchDeviceIdentifier(device); - return kFallbackTouchDeviceIdentifier; -} - TouchCalibrationData::TouchCalibrationData() {} TouchCalibrationData::TouchCalibrationData( @@ -380,9 +416,12 @@ void TouchDeviceManager::Associate(ManagedDisplayInfo* display, const ui::TouchscreenDevice& device) { - uint32_t touch_device_identifier = - TouchCalibrationData::GenerateTouchDeviceIdentifier(device); - display->AddTouchDevice(touch_device_identifier); + display->AddTouchDevice(TouchDeviceIdentifier::FromDevice(device)); +} + +std::ostream& operator<<(std::ostream& os, + const TouchDeviceIdentifier& identifier) { + return os << identifier.ToString(); } } // namespace display
diff --git a/ui/display/manager/chromeos/touch_device_manager.h b/ui/display/manager/chromeos/touch_device_manager.h index df28b85..e494a4e 100644 --- a/ui/display/manager/chromeos/touch_device_manager.h +++ b/ui/display/manager/chromeos/touch_device_manager.h
@@ -21,6 +21,35 @@ class ManagedDisplayInfo; +// A unique identifier to identify |ui::TouchscreenDevices|. These identifiers +// are persistent across system restarts. +class DISPLAY_MANAGER_EXPORT TouchDeviceIdentifier { + public: + // Returns a touch device identifier used as a default or a fallback option. + static const TouchDeviceIdentifier& GetFallbackTouchDeviceIdentifier(); + + static TouchDeviceIdentifier FromDevice( + const ui::TouchscreenDevice& touch_device); + + explicit TouchDeviceIdentifier(uint32_t identifier); + TouchDeviceIdentifier(const TouchDeviceIdentifier& other); + ~TouchDeviceIdentifier() = default; + + TouchDeviceIdentifier& operator=(TouchDeviceIdentifier other); + + bool operator<(const TouchDeviceIdentifier& other) const; + bool operator==(const TouchDeviceIdentifier& other) const; + bool operator!=(const TouchDeviceIdentifier& other) const; + + std::string ToString() const; + + private: + static uint32_t GenerateIdentifier(std::string name, + uint16_t vendor_id, + uint16_t product_id); + uint32_t id_; +}; + // A struct that represents all the data required for touch calibration for the // display. struct DISPLAY_MANAGER_EXPORT TouchCalibrationData { @@ -33,14 +62,6 @@ static bool CalibrationPointPairCompare(const CalibrationPointPair& pair_1, const CalibrationPointPair& pair_2); - // Returns a hash that can be used as a key for storing display preferences - // for a display associated with a touch device. - static uint32_t GenerateTouchDeviceIdentifier( - const ui::TouchscreenDevice& device); - - // Returns a touch device identifier used as a default or a fallback option. - static uint32_t GetFallbackTouchDeviceIdentifier(); - TouchCalibrationData(); TouchCalibrationData(const CalibrationPointPairQuad& point_pairs, const gfx::Size& bounds); @@ -96,6 +117,10 @@ DISALLOW_COPY_AND_ASSIGN(TouchDeviceManager); }; +DISPLAY_MANAGER_EXPORT std::ostream& operator<<( + std::ostream& os, + const TouchDeviceIdentifier& identifier); + } // namespace display #endif // UI_DISPLAY_MANAGER_CHROMEOS_TOUCH_DEVICE_MANAGER_H_
diff --git a/ui/display/manager/chromeos/touch_device_manager_unittest.cc b/ui/display/manager/chromeos/touch_device_manager_unittest.cc index d8b1ce9..47485c7 100644 --- a/ui/display/manager/chromeos/touch_device_manager_unittest.cc +++ b/ui/display/manager/chromeos/touch_device_manager_unittest.cc
@@ -21,8 +21,8 @@ namespace display { namespace { -uint32_t ToIdentifier(const ui::TouchscreenDevice& device) { - return TouchCalibrationData::GenerateTouchDeviceIdentifier(device); +TouchDeviceIdentifier ToIdentifier(const ui::TouchscreenDevice& device) { + return TouchDeviceIdentifier::FromDevice(device); } ui::TouchscreenDevice CreateTouchscreenDevice(int id,
diff --git a/ui/display/manager/chromeos/touch_transform_controller.cc b/ui/display/manager/chromeos/touch_transform_controller.cc index a8b113f..71c07d7 100644 --- a/ui/display/manager/chromeos/touch_transform_controller.cc +++ b/ui/display/manager/chromeos/touch_transform_controller.cc
@@ -10,6 +10,7 @@ #include "third_party/skia/include/core/SkMatrix44.h" #include "ui/display/display_layout.h" #include "ui/display/manager/chromeos/display_configurator.h" +#include "ui/display/manager/chromeos/touch_device_manager.h" #include "ui/display/manager/chromeos/touch_transform_setter.h" #include "ui/display/manager/display_manager.h" #include "ui/display/manager/managed_display_info.h" @@ -23,13 +24,12 @@ namespace { -ui::TouchscreenDevice FindTouchscreenByIdentifier(uint32_t identifier) { +ui::TouchscreenDevice FindTouchscreenByIdentifier( + const TouchDeviceIdentifier& identifier) { const std::vector<ui::TouchscreenDevice>& touchscreens = ui::InputDeviceManager::GetInstance()->GetTouchscreenDevices(); for (const auto& touchscreen : touchscreens) { - uint32_t touch_device_identifier = - TouchCalibrationData::GenerateTouchDeviceIdentifier(touchscreen); - if (touch_device_identifier == identifier) + if (TouchDeviceIdentifier::FromDevice(touchscreen) == identifier) return touchscreen; } @@ -221,8 +221,9 @@ // transform as we want to use the raw native touch input data for calibration if (is_calibrating_) return ctm; - uint32_t touch_device_identifier = - TouchCalibrationData::GenerateTouchDeviceIdentifier(touchscreen); + TouchDeviceIdentifier touch_device_identifier = + TouchDeviceIdentifier::FromDevice(touchscreen); + // If touch calibration data is unavailable, use naive approach. if (!touch_display.HasTouchCalibrationData(touch_device_identifier)) { return GetUncalibratedTransform(ctm, display, touch_display, touch_area,
diff --git a/ui/display/manager/chromeos/touch_transform_controller.h b/ui/display/manager/chromeos/touch_transform_controller.h index 5a04a46..9750a5e2 100644 --- a/ui/display/manager/chromeos/touch_transform_controller.h +++ b/ui/display/manager/chromeos/touch_transform_controller.h
@@ -26,6 +26,7 @@ class DisplayManager; class ManagedDisplayInfo; class TouchTransformSetter; +class TouchDeviceIdentifier; namespace test { class TouchTransformControllerTest; @@ -57,7 +58,7 @@ UpdateData(); ~UpdateData(); - std::map<uint32_t, double> device_to_scale; + std::map<display::TouchDeviceIdentifier, double> device_to_scale; std::vector<ui::TouchDeviceTransform> touch_device_transforms; };
diff --git a/ui/display/manager/chromeos/touch_transform_controller_unittest.cc b/ui/display/manager/chromeos/touch_transform_controller_unittest.cc index 0a60e88d..1b60f43 100644 --- a/ui/display/manager/chromeos/touch_transform_controller_unittest.cc +++ b/ui/display/manager/chromeos/touch_transform_controller_unittest.cc
@@ -30,8 +30,7 @@ const gfx::Rect& bounds) { ManagedDisplayInfo info(id, std::string(), false); info.SetBounds(bounds); - info.AddTouchDevice( - TouchCalibrationData::GenerateTouchDeviceIdentifier(device)); + info.AddTouchDevice(TouchDeviceIdentifier::FromDevice(device)); // Create a default mode. ManagedDisplayInfo::ManagedDisplayModeList default_modes( @@ -550,8 +549,8 @@ const std::string msg = GetTouchPointString(user_input); - uint32_t touch_device_identifier = - TouchCalibrationData::GenerateTouchDeviceIdentifier(touchscreen); + display::TouchDeviceIdentifier touch_device_identifier = + display::TouchDeviceIdentifier::FromDevice(touchscreen); display.SetTouchCalibrationData(touch_device_identifier, touch_data); EXPECT_TRUE(display.HasTouchCalibrationData(touch_device_identifier)); @@ -598,8 +597,8 @@ const std::string msg = GetTouchPointString(user_input); - uint32_t touch_device_identifier = - TouchCalibrationData::GenerateTouchDeviceIdentifier(touchscreen); + display::TouchDeviceIdentifier touch_device_identifier = + display::TouchDeviceIdentifier::FromDevice(touchscreen); display.SetTouchCalibrationData(touch_device_identifier, touch_data); EXPECT_TRUE(display.HasTouchCalibrationData(touch_device_identifier)); @@ -648,8 +647,8 @@ const std::string msg = GetTouchPointString(user_input); - uint32_t touch_device_identifier = - TouchCalibrationData::GenerateTouchDeviceIdentifier(touchscreen); + display::TouchDeviceIdentifier touch_device_identifier = + display::TouchDeviceIdentifier::FromDevice(touchscreen); display.SetTouchCalibrationData(touch_device_identifier, touch_data); EXPECT_TRUE(display.HasTouchCalibrationData(touch_device_identifier)); @@ -693,8 +692,8 @@ const std::string msg = GetTouchPointString(user_input); - uint32_t touch_device_identifier = - TouchCalibrationData::GenerateTouchDeviceIdentifier(touchscreen); + display::TouchDeviceIdentifier touch_device_identifier = + display::TouchDeviceIdentifier::FromDevice(touchscreen); display.SetTouchCalibrationData(touch_device_identifier, touch_data); EXPECT_TRUE(display.HasTouchCalibrationData(touch_device_identifier)); @@ -740,8 +739,8 @@ 60, false, false)); internal_display_info.SetManagedDisplayModes(internal_modes); - uint32_t touch_device_identifier = - TouchCalibrationData::GenerateTouchDeviceIdentifier(internal_touchscreen); + display::TouchDeviceIdentifier touch_device_identifier = + display::TouchDeviceIdentifier::FromDevice(internal_touchscreen); ui::DeviceDataManager* device_manager = ui::DeviceDataManager::GetInstance(); @@ -818,8 +817,8 @@ 60, false, false)); internal_display_info.SetManagedDisplayModes(internal_modes); - uint32_t touch_device_identifier = - TouchCalibrationData::GenerateTouchDeviceIdentifier(internal_touchscreen); + display::TouchDeviceIdentifier touch_device_identifier = + display::TouchDeviceIdentifier::FromDevice(internal_touchscreen); ui::DeviceDataManager* device_manager = ui::DeviceDataManager::GetInstance();
diff --git a/ui/display/manager/display_manager.cc b/ui/display/manager/display_manager.cc index b4b1349..89732c2 100644 --- a/ui/display/manager/display_manager.cc +++ b/ui/display/manager/display_manager.cc
@@ -510,7 +510,8 @@ float device_scale_factor #if defined(OS_CHROMEOS) , - std::map<uint32_t, TouchCalibrationData>* touch_calibration_data_map + std::map<TouchDeviceIdentifier, TouchCalibrationData>* + touch_calibration_data_map #endif ) { if (display_info_.find(display_id) == display_info_.end()) @@ -1114,7 +1115,7 @@ int64_t display_id, const TouchCalibrationData::CalibrationPointPairQuad& point_pair_quad, const gfx::Size& display_bounds, - uint32_t touch_device_identifier) { + const TouchDeviceIdentifier& touch_device_identifier) { // If the touch device identifier is associated with a touch device for the // then do not perform any calibration. We do not want to modify any // calibration information related to the internal display. @@ -1147,7 +1148,7 @@ void DisplayManager::ClearTouchCalibrationData( int64_t display_id, - base::Optional<uint32_t> touch_device_identifier) { + base::Optional<TouchDeviceIdentifier> touch_device_identifier) { bool update = false; DisplayInfoList display_info_list; for (const auto& display : active_display_list_) {
diff --git a/ui/display/manager/display_manager.h b/ui/display/manager/display_manager.h index e95adf7..f5d6835 100644 --- a/ui/display/manager/display_manager.h +++ b/ui/display/manager/display_manager.h
@@ -202,7 +202,8 @@ float device_scale_factor #if defined(OS_CHROMEOS) , - std::map<uint32_t, TouchCalibrationData>* touch_calibration_data_map + std::map<TouchDeviceIdentifier, TouchCalibrationData>* + touch_calibration_data_map #endif ); @@ -334,10 +335,10 @@ int64_t display_id, const TouchCalibrationData::CalibrationPointPairQuad& point_pair_quad, const gfx::Size& display_bounds, - uint32_t touch_device_identifier); + const TouchDeviceIdentifier& touch_device_identifier); void ClearTouchCalibrationData( int64_t display_id, - base::Optional<uint32_t> touch_device_identifier); + base::Optional<TouchDeviceIdentifier> touch_device_identifier); #endif // Sets/gets default multi display mode.
diff --git a/ui/display/manager/managed_display_info.cc b/ui/display/manager/managed_display_info.cc index cfe0c88e..68a272de 100644 --- a/ui/display/manager/managed_display_info.cc +++ b/ui/display/manager/managed_display_info.cc
@@ -318,7 +318,9 @@ active_rotation_source_ = native_info.active_rotation_source_; touch_support_ = native_info.touch_support_; +#if defined(OS_CHROMEOS) touch_device_identifiers_ = native_info.touch_device_identifiers_; +#endif device_scale_factor_ = native_info.device_scale_factor_; DCHECK(!native_info.bounds_in_native_.IsEmpty()); bounds_in_native_ = native_info.bounds_in_native_; @@ -420,13 +422,10 @@ std::string ManagedDisplayInfo::ToString() const { int rotation_degree = static_cast<int>(GetActiveRotation()) * 90; - std::string touch_device_count_str = - base::UintToString(touch_device_identifiers_.size()); std::string result = base::StringPrintf( "ManagedDisplayInfo[%lld] native bounds=%s, size=%s, device-scale=%g, " - "overscan=%s, rotation=%d, ui-scale=%g, touchscreen=%s, " - "touch device count=[%" PRIuS "]", + "overscan=%s, rotation=%d, ui-scale=%g, touchscreen=%s, ", static_cast<long long int>(id_), bounds_in_native_.ToString().c_str(), size_in_pixel_.ToString().c_str(), device_scale_factor_, overscan_insets_in_dip_.ToString().c_str(), rotation_degree, @@ -434,8 +433,7 @@ touch_support_ == Display::TOUCH_SUPPORT_AVAILABLE ? "yes" : touch_support_ == Display::TOUCH_SUPPORT_UNAVAILABLE ? "no" - : "unknown", - touch_device_identifiers_.size()); + : "unknown"); return result; } @@ -453,8 +451,10 @@ return ToString() + ", display_modes==" + display_modes_str; } -void ManagedDisplayInfo::AddTouchDevice(uint32_t touch_device_identifier) { - touch_device_identifiers_.insert(touch_device_identifier); +#if defined(OS_CHROMEOS) +void ManagedDisplayInfo::AddTouchDevice( + const TouchDeviceIdentifier& identifier) { + touch_device_identifiers_.insert(identifier); set_touch_support(Display::TOUCH_SUPPORT_AVAILABLE); } @@ -464,19 +464,19 @@ } bool ManagedDisplayInfo::HasTouchDevice( - uint32_t touch_device_identifier) const { - return touch_device_identifiers_.count(touch_device_identifier); + const TouchDeviceIdentifier& identifier) const { + return touch_device_identifiers_.count(identifier); } -#if defined(OS_CHROMEOS) + void ManagedDisplayInfo::SetTouchCalibrationData( - uint32_t touch_device_identifier, + const TouchDeviceIdentifier& identifier, const TouchCalibrationData& touch_calibration_data) { - touch_calibration_data_map_[touch_device_identifier] = touch_calibration_data; + touch_calibration_data_map_[identifier] = touch_calibration_data; } const TouchCalibrationData& ManagedDisplayInfo::GetTouchCalibrationData( - uint32_t touch_device_identifier) const { - DCHECK(HasTouchCalibrationData(touch_device_identifier)); + const TouchDeviceIdentifier& identifier) const { + DCHECK(HasTouchCalibrationData(identifier)); // If the system does not have the calibration information for the touch // device identified with |touch_device_identifier|, use the fallback @@ -484,30 +484,30 @@ // touch calibration data which is stored in association with the fallback // device identifier. if (touch_calibration_data_map_.count( - TouchCalibrationData::GetFallbackTouchDeviceIdentifier()) && + TouchDeviceIdentifier::GetFallbackTouchDeviceIdentifier()) && touch_calibration_data_map_.size() == 1) { return touch_calibration_data_map_.at( - TouchCalibrationData::GetFallbackTouchDeviceIdentifier()); + TouchDeviceIdentifier::GetFallbackTouchDeviceIdentifier()); } - return touch_calibration_data_map_.at(touch_device_identifier); + return touch_calibration_data_map_.at(identifier); } void ManagedDisplayInfo::SetTouchCalibrationDataMap( - const std::map<uint32_t, TouchCalibrationData>& data_map) { + const std::map<TouchDeviceIdentifier, TouchCalibrationData>& data_map) { touch_calibration_data_map_ = data_map; } bool ManagedDisplayInfo::HasTouchCalibrationData( - uint32_t touch_device_identifier) const { - return touch_calibration_data_map_.count(touch_device_identifier) || + const TouchDeviceIdentifier& identifier) const { + return touch_calibration_data_map_.count(identifier) || touch_calibration_data_map_.count( - TouchCalibrationData::GetFallbackTouchDeviceIdentifier()); + TouchDeviceIdentifier::GetFallbackTouchDeviceIdentifier()); } void ManagedDisplayInfo::ClearTouchCalibrationData( - uint32_t touch_device_identifier) { - touch_calibration_data_map_.erase(touch_device_identifier); + const TouchDeviceIdentifier& identifier) { + touch_calibration_data_map_.erase(identifier); } void ManagedDisplayInfo::ClearAllTouchCalibrationData() {
diff --git a/ui/display/manager/managed_display_info.h b/ui/display/manager/managed_display_info.h index 53bfc579..f7d69e4c 100644 --- a/ui/display/manager/managed_display_info.h +++ b/ui/display/manager/managed_display_info.h
@@ -149,22 +149,23 @@ touch_support_ = support; } Display::TouchSupport touch_support() const { return touch_support_; } - +#if defined(OS_CHROMEOS) // Associate the touch device with identifier |touch_device_identifier| to // this display. - void AddTouchDevice(uint32_t touch_device_identifier); + void AddTouchDevice(const TouchDeviceIdentifier& identifier); // Clear the list of touch devices associated with this display. void ClearTouchDevices(); // Returns true if the touch device with identifer |touch_device_identifier| // is associated with this display. - bool HasTouchDevice(uint32_t touch_device_identifier) const; + bool HasTouchDevice(const TouchDeviceIdentifier& identifier) const; // The identifiers of touch devices that are associated with this display. - std::set<uint32_t> touch_device_identifiers() const { + std::set<TouchDeviceIdentifier> touch_device_identifiers() const { return touch_device_identifiers_; } +#endif // Gets/Sets the device scale factor of the display. float device_scale_factor() const { return device_scale_factor_; } @@ -254,18 +255,18 @@ void SetManagedDisplayModes(const ManagedDisplayModeList& display_modes); #if defined(OS_CHROMEOS) - void SetTouchCalibrationData(uint32_t touch_device_identifier, + void SetTouchCalibrationData(const TouchDeviceIdentifier& identifier, const TouchCalibrationData& calibration_data); const TouchCalibrationData& GetTouchCalibrationData( - uint32_t touch_device_identifier) const; - const std::map<uint32_t, TouchCalibrationData>& touch_calibration_data_map() - const { + const TouchDeviceIdentifier& touch_device_identifier) const; + const std::map<TouchDeviceIdentifier, TouchCalibrationData>& + touch_calibration_data_map() const { return touch_calibration_data_map_; } void SetTouchCalibrationDataMap( - const std::map<uint32_t, TouchCalibrationData>& data_map); - bool HasTouchCalibrationData(uint32_t touch_device_identifier) const; - void ClearTouchCalibrationData(uint32_t touch_device_identifier); + const std::map<TouchDeviceIdentifier, TouchCalibrationData>& data_map); + bool HasTouchCalibrationData(const TouchDeviceIdentifier& identifier) const; + void ClearTouchCalibrationData(const TouchDeviceIdentifier& identifier); void ClearAllTouchCalibrationData(); #endif @@ -309,8 +310,10 @@ Display::RotationSource active_rotation_source_; Display::TouchSupport touch_support_; +#if defined(OS_CHROMEOS) // Identifiers for touch devices that are associated with this display. - std::set<uint32_t> touch_device_identifiers_; + std::set<TouchDeviceIdentifier> touch_device_identifiers_; +#endif // This specifies the device's pixel density. (For example, a display whose // DPI is higher than the threshold is considered to have device_scale_factor @@ -356,7 +359,8 @@ // Information associated to touch calibration for the display. Stores a // mapping of each touch device, identified by its unique touch device // identifier, with the touch calibration data associated with the display. - std::map<uint32_t, TouchCalibrationData> touch_calibration_data_map_; + std::map<TouchDeviceIdentifier, TouchCalibrationData> + touch_calibration_data_map_; #endif // Colorimetry information of the Display (if IsValid()), including e.g.
diff --git a/ui/display/manager/managed_display_info_unittest.cc b/ui/display/manager/managed_display_info_unittest.cc index 1efdc0b..5c1f077 100644 --- a/ui/display/manager/managed_display_info_unittest.cc +++ b/ui/display/manager/managed_display_info_unittest.cc
@@ -10,6 +10,10 @@ #include "ui/display/manager/chromeos/touch_device_manager.h" #endif +#if defined(OS_CHROMEOS) +#include "ui/display/manager/chromeos/touch_device_manager.h" +#endif + namespace display { namespace { @@ -128,19 +132,23 @@ EXPECT_EQ("3840x2160", GetModeSizeInDIP(size, 1.0f, 1.0f, false)); } +#if defined(OS_CHROMEOS) TEST_F(DisplayInfoTest, TouchDevicesTest) { ManagedDisplayInfo info = ManagedDisplayInfo::CreateFromSpecWithID("200x100", 10); EXPECT_EQ(0u, info.touch_device_identifiers().size()); - info.AddTouchDevice(10u); + TouchDeviceIdentifier identifier_1(10u); + TouchDeviceIdentifier identifier_2(11u); + + info.AddTouchDevice(identifier_1); EXPECT_EQ(1u, info.touch_device_identifiers().size()); - EXPECT_TRUE(info.HasTouchDevice(10u)); - info.AddTouchDevice(11u); + EXPECT_TRUE(info.HasTouchDevice(identifier_1)); + info.AddTouchDevice(identifier_2); EXPECT_EQ(2u, info.touch_device_identifiers().size()); - EXPECT_TRUE(info.HasTouchDevice(10u)); - EXPECT_TRUE(info.HasTouchDevice(11u)); + EXPECT_TRUE(info.HasTouchDevice(identifier_1)); + EXPECT_TRUE(info.HasTouchDevice(identifier_2)); ManagedDisplayInfo copy_info = ManagedDisplayInfo::CreateFromSpecWithID("200x100", 10); @@ -150,7 +158,6 @@ EXPECT_EQ(0u, copy_info.touch_device_identifiers().size()); } -#if defined(OS_CHROMEOS) TEST_F(DisplayInfoTest, TouchCalibrationTest) { ManagedDisplayInfo info = ManagedDisplayInfo::CreateFromSpecWithID("200x100", 10); @@ -166,25 +173,25 @@ gfx::Size size(200, 100); TouchCalibrationData expected_data(points, size); - uint32_t touch_device_identifier = 1234; + TouchDeviceIdentifier identifier_1(1234); + TouchDeviceIdentifier identifier_2(1235); // Add touch data for the display. - info.SetTouchCalibrationData(touch_device_identifier, expected_data); + info.SetTouchCalibrationData(identifier_1, expected_data); EXPECT_TRUE(info.touch_calibration_data_map().size()); - EXPECT_EQ(expected_data, - info.GetTouchCalibrationData(touch_device_identifier)); + EXPECT_EQ(expected_data, info.GetTouchCalibrationData(identifier_1)); - info.SetTouchCalibrationData(touch_device_identifier + 1, expected_data); + info.SetTouchCalibrationData(identifier_2, expected_data); EXPECT_EQ(info.touch_calibration_data_map().size(), 2UL); // Clear touch calibration data for touch device associated with the given // touch identifier. - info.ClearTouchCalibrationData(touch_device_identifier); + info.ClearTouchCalibrationData(identifier_1); EXPECT_TRUE(info.touch_calibration_data_map().size()); // Add another touch device calibration data. - info.SetTouchCalibrationData(touch_device_identifier, expected_data); + info.SetTouchCalibrationData(identifier_1, expected_data); info.ClearAllTouchCalibrationData(); // There should be no touch device data associated with this display.
diff --git a/ui/events/event.cc b/ui/events/event.cc index 4baf146..a3af061 100644 --- a/ui/events/event.cc +++ b/ui/events/event.cc
@@ -4,10 +4,6 @@ #include "ui/events/event.h" -#include <utility> - -#include "base/memory/ptr_util.h" - #if defined(USE_X11) #include <X11/extensions/XInput2.h> #include <X11/keysym.h> @@ -16,6 +12,7 @@ #include <cmath> #include <cstring> +#include <utility> #include "base/memory/ptr_util.h" #include "base/metrics/histogram.h"
diff --git a/ui/events/event.h b/ui/events/event.h index d5f63a8..a0f76fc 100644 --- a/ui/events/event.h +++ b/ui/events/event.h
@@ -488,6 +488,8 @@ // of kWheelDelta. // Note: offset_.x() > 0/offset_.y() > 0 means scroll left/up. gfx::Vector2d offset; + + // If you add fields please update ui/events/mojo/event.mojom. }; class EVENTS_EXPORT MouseEvent : public LocatedEvent {
diff --git a/ui/events/mojo/event.mojom b/ui/events/mojo/event.mojom index 48e714dd..6670751 100644 --- a/ui/events/mojo/event.mojom +++ b/ui/events/mojo/event.mojom
@@ -106,6 +106,14 @@ // for more information. float tilt_x; float tilt_y; + // The normalized tangential pressure (or barrel pressure), typically set by + // an additional control of the stylus, which has a range of [-1,1], where 0 + // is the neutral position of the control. Always 0 if the device does not + // support it. + float tangential_pressure; + // The clockwise rotation of a pen stylus around its own major axis, in + // degrees in the range [0,359]. Always 0 if the device does not support it. + int32 twist; }; // Data to support gesture events.
diff --git a/ui/events/mojo/event_struct_traits.cc b/ui/events/mojo/event_struct_traits.cc index ba0e6ffe..bfeb82b 100644 --- a/ui/events/mojo/event_struct_traits.cc +++ b/ui/events/mojo/event_struct_traits.cc
@@ -86,6 +86,57 @@ return location_data; } +ui::EventPointerType PointerTypeFromPointerKind(ui::mojom::PointerKind kind) { + switch (kind) { + case ui::mojom::PointerKind::MOUSE: + return ui::EventPointerType::POINTER_TYPE_MOUSE; + case ui::mojom::PointerKind::TOUCH: + return ui::EventPointerType::POINTER_TYPE_TOUCH; + case ui::mojom::PointerKind::PEN: + return ui::EventPointerType::POINTER_TYPE_PEN; + case ui::mojom::PointerKind::ERASER: + return ui::EventPointerType::POINTER_TYPE_ERASER; + } + NOTREACHED(); + return ui::EventPointerType::POINTER_TYPE_UNKNOWN; +} + +bool ReadPointerDetails(ui::mojom::EventType event_type, + const ui::mojom::PointerData& pointer_data, + ui::PointerDetails* out) { + switch (pointer_data.kind) { + case ui::mojom::PointerKind::MOUSE: { + if (event_type == ui::mojom::EventType::POINTER_WHEEL_CHANGED) { + *out = ui::PointerDetails( + ui::EventPointerType::POINTER_TYPE_MOUSE, + gfx::Vector2d(static_cast<int>(pointer_data.wheel_data->delta_x), + static_cast<int>(pointer_data.wheel_data->delta_y)), + ui::MouseEvent::kMousePointerId); + } else { + *out = ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE, + ui::MouseEvent::kMousePointerId); + } + return true; + } + case ui::mojom::PointerKind::TOUCH: + case ui::mojom::PointerKind::PEN: { + const ui::mojom::BrushData& brush_data = *pointer_data.brush_data; + *out = ui::PointerDetails( + PointerTypeFromPointerKind(pointer_data.kind), + pointer_data.pointer_id, brush_data.width, brush_data.height, + brush_data.pressure, brush_data.tilt_x, brush_data.tilt_y, + brush_data.tangential_pressure, brush_data.twist); + return true; + } + case ui::mojom::PointerKind::ERASER: + // TODO(jamescook): Eraser support. + NOTIMPLEMENTED(); + return false; + } + NOTREACHED(); + return false; +} + } // namespace static_assert(ui::mojom::kEventFlagNone == static_cast<int32_t>(ui::EF_NONE), @@ -193,8 +244,9 @@ pointer_data->pointer_id = pointer_event->pointer_details().id; pointer_data->changed_button_flags = pointer_event->changed_button_flags(); const ui::PointerDetails* pointer_details = &pointer_event->pointer_details(); + ui::EventPointerType pointer_type = pointer_details->pointer_type; - switch (pointer_details->pointer_type) { + switch (pointer_type) { case ui::EventPointerType::POINTER_TYPE_MOUSE: pointer_data->kind = ui::mojom::PointerKind::MOUSE; break; @@ -217,9 +269,13 @@ brush_data->height = pointer_details->radius_y; // TODO(rjk): update for touch_event->rotation_angle(); brush_data->pressure = pointer_details->force; + // In theory only pen events should have tilt, tangential_pressure and twist. + // In practive a JavaScript PointerEvent could have type touch and still have + // data in those fields. brush_data->tilt_x = pointer_details->tilt_x; brush_data->tilt_y = pointer_details->tilt_y; - // TODO(jamescook): Pen tangential_pressure and twist. + brush_data->tangential_pressure = pointer_details->tangential_pressure; + brush_data->twist = pointer_details->twist; pointer_data->brush_data = std::move(brush_data); // TODO(rjkroege): Plumb raw pointer events on windows. @@ -307,64 +363,18 @@ if (!event.ReadPointerData<ui::mojom::PointerDataPtr>(&pointer_data)) return false; + ui::PointerDetails pointer_details; + if (!ReadPointerDetails(event.action(), *pointer_data, &pointer_details)) + return false; + const gfx::Point location(pointer_data->location->x, pointer_data->location->y); const gfx::Point screen_location(pointer_data->location->screen_x, pointer_data->location->screen_y); - - switch (pointer_data->kind) { - case ui::mojom::PointerKind::MOUSE: { - *out = std::make_unique<ui::PointerEvent>( - MojoPointerEventTypeToUIEvent(event.action()), location, - screen_location, event.flags(), - pointer_data->changed_button_flags, - event.action() == ui::mojom::EventType::POINTER_WHEEL_CHANGED - ? ui::PointerDetails( - ui::EventPointerType::POINTER_TYPE_MOUSE, - gfx::Vector2d( - static_cast<int>(pointer_data->wheel_data->delta_x), - static_cast<int>( - pointer_data->wheel_data->delta_y)), - ui::MouseEvent::kMousePointerId) - : ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE, - ui::MouseEvent::kMousePointerId), - time_stamp); - break; - } - case ui::mojom::PointerKind::TOUCH: { - *out = std::make_unique<ui::PointerEvent>( - MojoPointerEventTypeToUIEvent(event.action()), location, - screen_location, event.flags(), - pointer_data->changed_button_flags, - ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH, - pointer_data->pointer_id, - pointer_data->brush_data->width, - pointer_data->brush_data->height, - pointer_data->brush_data->pressure, - pointer_data->brush_data->tilt_x, - pointer_data->brush_data->tilt_y), - time_stamp); - break; - } - case ui::mojom::PointerKind::PEN: - *out = std::make_unique<ui::PointerEvent>( - MojoPointerEventTypeToUIEvent(event.action()), location, - screen_location, event.flags(), - pointer_data->changed_button_flags, - ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_PEN, - pointer_data->pointer_id, - pointer_data->brush_data->width, - pointer_data->brush_data->height, - pointer_data->brush_data->pressure, - pointer_data->brush_data->tilt_x, - pointer_data->brush_data->tilt_y), - time_stamp); - break; - case ui::mojom::PointerKind::ERASER: - // TODO(jamescook): Eraser support. - NOTIMPLEMENTED(); - return false; - } + *out = std::make_unique<ui::PointerEvent>( + MojoPointerEventTypeToUIEvent(event.action()), location, + screen_location, event.flags(), pointer_data->changed_button_flags, + pointer_details, time_stamp); break; } case ui::mojom::EventType::GESTURE_TAP: {
diff --git a/ui/events/mojo/struct_traits_unittest.cc b/ui/events/mojo/struct_traits_unittest.cc index aae642d..6c0a160 100644 --- a/ui/events/mojo/struct_traits_unittest.cc +++ b/ui/events/mojo/struct_traits_unittest.cc
@@ -136,7 +136,9 @@ /* radius_y */ 2.0f, /* force */ 3.0f, /* tilt_x */ 4.0f, - /* tilt_y */ 5.0f), + /* tilt_y */ 5.0f, + /* tangential_pressure */ -1.f, + /* twist */ 90), base::TimeTicks() + base::TimeDelta::FromMicroseconds(207)}, {ET_POINTER_UP, gfx::Point(5, 6), gfx::Point(7, 8), EF_NONE, 0, PointerDetails(EventPointerType::POINTER_TYPE_PEN, @@ -145,7 +147,9 @@ /* radius_y */ 2.0f, /* force */ 3.0f, /* tilt_x */ 4.0f, - /* tilt_y */ 5.0f), + /* tilt_y */ 5.0f, + /* tangential_pressure */ 1.f, + /* twist */ 180), base::TimeTicks() + base::TimeDelta::FromMicroseconds(208)}, };