diff --git a/.gitignore b/.gitignore index bc6b5134..c01e2ae9 100644 --- a/.gitignore +++ b/.gitignore
@@ -186,6 +186,7 @@ /ios/third_party/material_roboto_font_loader_ios/src /ios/third_party/material_sprited_animation_view_ios/src /ios/third_party/material_text_accessibility_ios/src +/ios/third_party/motion_interchange_objc/src /ios/third_party/ochamcrest/src /ios_internal /libassistant
diff --git a/DEPS b/DEPS index d2eb95be..f4c3312e 100644 --- a/DEPS +++ b/DEPS
@@ -90,7 +90,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling build tools # and whatever else without interference from each other. - 'buildtools_revision': '505de88083136eefd056e5ee4ca0f01fe9b33de8', + 'buildtools_revision': '282996b8c3cf7f05bbb5209432e9fe8162c6e7ac', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling SwiftShader # and whatever else without interference from each other. @@ -222,6 +222,11 @@ 'condition': 'checkout_ios', }, + 'src/ios/third_party/motion_interchange_objc/src': { + 'url': Var('chromium_git') + '/external/github.com/material-motion/motion-interchange-objc.git' + '@' + '26d91bf724adec6880cbc83a95d4cb4fb94847b6', + 'condition': 'checkout_ios', + }, + 'src/ios/third_party/ochamcrest/src': { 'url': Var('chromium_git') + '/external/github.com/hamcrest/OCHamcrest.git' + '@' + '92d9c14d13bb864255e65c09383564653896916b', 'condition': 'checkout_ios',
diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc index 7e9ef80..b97ab4c4 100644 --- a/cc/trees/layer_tree_host_unittest.cc +++ b/cc/trees/layer_tree_host_unittest.cc
@@ -8242,14 +8242,15 @@ auto* recorder = static_cast<ukm::TestUkmRecorder*>( impl->ukm_manager()->recorder_for_testing()); - auto* source = recorder->GetSourceForUrl(url_); - ASSERT_TRUE(source); - EXPECT_EQ(recorder->entries_count(), 1u); - recorder->ExpectMetric(*source, kUserInteraction, kCheckerboardArea, 0); - recorder->ExpectMetric(*source, kUserInteraction, kMissingTiles, 0); - recorder->ExpectMetric(*source, kUserInteraction, kCheckerboardAreaRatio, - 0); + const auto& entries = recorder->GetEntriesByName(kUserInteraction); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + recorder->ExpectEntrySourceHasUrl(entry, url_); + recorder->ExpectEntryMetric(entry, kCheckerboardArea, 0); + recorder->ExpectEntryMetric(entry, kMissingTiles, 0); + recorder->ExpectEntryMetric(entry, kCheckerboardAreaRatio, 0); + } EndTest(); }
diff --git a/cc/trees/ukm_manager_unittest.cc b/cc/trees/ukm_manager_unittest.cc index d59604d..b934159 100644 --- a/cc/trees/ukm_manager_unittest.cc +++ b/cc/trees/ukm_manager_unittest.cc
@@ -9,85 +9,73 @@ namespace cc { namespace { + +const char kTestUrl1[] = "chrome://test"; +const char kTestUrl2[] = "chrome://test2"; + const char kUserInteraction[] = "Compositor.UserInteraction"; const char kCheckerboardArea[] = "CheckerboardedContentArea"; const char kCheckerboardAreaRatio[] = "CheckerboardedContentAreaRatio"; const char kMissingTiles[] = "NumMissingTiles"; -class UkmRecorderForTest : public ukm::TestUkmRecorder { - public: - UkmRecorderForTest() = default; - ~UkmRecorderForTest() override { - ExpectMetrics(*source_, kUserInteraction, kCheckerboardArea, - expected_final_checkerboard_); - ExpectMetrics(*source_, kUserInteraction, kMissingTiles, - expected_final_missing_tiles_); - ExpectMetrics(*source_, kUserInteraction, kCheckerboardAreaRatio, - expected_final_checkerboard_ratio_); - } - - std::vector<int64_t> expected_final_checkerboard_; - std::vector<int64_t> expected_final_missing_tiles_; - std::vector<int64_t> expected_final_checkerboard_ratio_; - ukm::UkmSource* source_ = nullptr; -}; - class UkmManagerTest : public testing::Test { public: - UkmManagerTest() : manager_(std::make_unique<UkmRecorderForTest>()) { - UpdateURL(GURL("chrome://test")); - } - - void TearDown() override { ukm_source_ = nullptr; } - - UkmRecorderForTest* recorder() { - return static_cast<UkmRecorderForTest*>(manager_.recorder_for_testing()); + UkmManagerTest() { + auto recorder = std::make_unique<ukm::TestUkmRecorder>(); + test_ukm_recorder_ = recorder.get(); + manager_ = std::make_unique<UkmManager>(std::move(recorder)); + manager_->SetSourceURL(GURL(kTestUrl1)); } protected: - void UpdateURL(const GURL& url) { - manager_.SetSourceURL(url); - ukm_source_ = const_cast<ukm::UkmSource*>(recorder()->GetSourceForUrl(url)); - } - - UkmManager manager_; - ukm::UkmSource* ukm_source_ = nullptr; + ukm::TestUkmRecorder* test_ukm_recorder_; + std::unique_ptr<UkmManager> manager_; }; TEST_F(UkmManagerTest, Basic) { - manager_.SetUserInteractionInProgress(true); - manager_.AddCheckerboardStatsForFrame(5, 1, 10); - manager_.AddCheckerboardStatsForFrame(15, 3, 30); - manager_.SetUserInteractionInProgress(false); + manager_->SetUserInteractionInProgress(true); + manager_->AddCheckerboardStatsForFrame(5, 1, 10); + manager_->AddCheckerboardStatsForFrame(15, 3, 30); + manager_->SetUserInteractionInProgress(false); // We should see a single entry for the interaction above. - EXPECT_EQ(recorder()->entries_count(), 1u); - EXPECT_TRUE(recorder()->HasEntry(*ukm_source_, kUserInteraction)); - recorder()->ExpectMetric(*ukm_source_, kUserInteraction, kCheckerboardArea, - 10); - recorder()->ExpectMetric(*ukm_source_, kUserInteraction, kMissingTiles, 2); - recorder()->ExpectMetric(*ukm_source_, kUserInteraction, - kCheckerboardAreaRatio, 50); + const auto& entries = test_ukm_recorder_->GetEntriesByName(kUserInteraction); + ukm::SourceId original_id = ukm::kInvalidSourceId; + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + original_id = entry->source_id; + EXPECT_NE(ukm::kInvalidSourceId, entry->source_id); + test_ukm_recorder_->ExpectEntrySourceHasUrl(entry, GURL(kTestUrl1)); + test_ukm_recorder_->ExpectEntryMetric(entry, kCheckerboardArea, 10); + test_ukm_recorder_->ExpectEntryMetric(entry, kMissingTiles, 2); + test_ukm_recorder_->ExpectEntryMetric(entry, kCheckerboardAreaRatio, 50); + } + test_ukm_recorder_->Purge(); // Try pushing some stats while no user interaction is happening. No entries // should be pushed. - manager_.AddCheckerboardStatsForFrame(6, 1, 10); - manager_.AddCheckerboardStatsForFrame(99, 3, 100); - EXPECT_EQ(recorder()->entries_count(), 1u); - manager_.SetUserInteractionInProgress(true); - EXPECT_EQ(recorder()->entries_count(), 1u); + manager_->AddCheckerboardStatsForFrame(6, 1, 10); + manager_->AddCheckerboardStatsForFrame(99, 3, 100); + EXPECT_EQ(0u, test_ukm_recorder_->entries_count()); + manager_->SetUserInteractionInProgress(true); + EXPECT_EQ(0u, test_ukm_recorder_->entries_count()); // Record a few entries and change the source before the interaction ends. The // stats collected up till this point should be recorded before the source is // swapped. - manager_.AddCheckerboardStatsForFrame(10, 1, 100); - manager_.AddCheckerboardStatsForFrame(30, 5, 100); - recorder()->expected_final_checkerboard_ = {10, 20}; - recorder()->expected_final_missing_tiles_ = {2, 3}; - recorder()->expected_final_checkerboard_ratio_ = {50, 20}; - recorder()->source_ = ukm_source_; + manager_->AddCheckerboardStatsForFrame(10, 1, 100); + manager_->AddCheckerboardStatsForFrame(30, 5, 100); - UpdateURL(GURL("chrome://test2")); + manager_->SetSourceURL(GURL(kTestUrl2)); + + const auto& entries2 = test_ukm_recorder_->GetEntriesByName(kUserInteraction); + EXPECT_EQ(1u, entries2.size()); + for (const auto* entry : entries2) { + EXPECT_EQ(original_id, entry->source_id); + test_ukm_recorder_->ExpectEntryMetric(entry, kCheckerboardArea, 20); + test_ukm_recorder_->ExpectEntryMetric(entry, kMissingTiles, 3); + test_ukm_recorder_->ExpectEntryMetric(entry, kCheckerboardAreaRatio, 20); + } } } // namespace
diff --git a/chrome/browser/autofill/autofill_metrics_browsertest.cc b/chrome/browser/autofill/autofill_metrics_browsertest.cc index 294daaa4..eb715d0 100644 --- a/chrome/browser/autofill/autofill_metrics_browsertest.cc +++ b/chrome/browser/autofill/autofill_metrics_browsertest.cc
@@ -86,11 +86,9 @@ // Make sure the UKM were logged for the main frame url and none for the // iframe url. - std::vector<const ukm::UkmSource*> sources = - test_ukm_recorder_->GetSourcesForUrl(iframe_url.spec().c_str()); - EXPECT_TRUE(sources.empty()); - sources = test_ukm_recorder_->GetSourcesForUrl(main_frame_url.spec().c_str()); - EXPECT_FALSE(sources.empty()); + for (const auto& kv : test_ukm_recorder_->GetSources()) { + EXPECT_NE(iframe_url, kv.second->url()); + } } IN_PROC_BROWSER_TEST_F(AutofillMetricsMetricsBrowserTest, @@ -111,11 +109,9 @@ // Make sure the UKM were logged for the main frame url and none for the // iframe url. - std::vector<const ukm::UkmSource*> sources = - test_ukm_recorder_->GetSourcesForUrl(iframe_url.spec().c_str()); - EXPECT_TRUE(sources.empty()); - sources = test_ukm_recorder_->GetSourcesForUrl(main_frame_url.spec().c_str()); - EXPECT_FALSE(sources.empty()); + for (const auto& kv : test_ukm_recorder_->GetSources()) { + EXPECT_NE(iframe_url, kv.second->url()); + } } class SitePerProcessAutofillMetricsMetricsBrowserTest @@ -156,11 +152,9 @@ // Make sure the UKM were logged for the main frame url and none for the // iframe url. - std::vector<const ukm::UkmSource*> sources = - test_ukm_recorder_->GetSourcesForUrl(iframe_url.spec().c_str()); - EXPECT_TRUE(sources.empty()); - sources = test_ukm_recorder_->GetSourcesForUrl(main_frame_url.spec().c_str()); - EXPECT_FALSE(sources.empty()); + for (const auto& kv : test_ukm_recorder_->GetSources()) { + EXPECT_NE(iframe_url, kv.second->url()); + } } IN_PROC_BROWSER_TEST_F(SitePerProcessAutofillMetricsMetricsBrowserTest, @@ -182,9 +176,7 @@ // Make sure the UKM were logged for the main frame url and none for the // iframe url. - std::vector<const ukm::UkmSource*> sources = - test_ukm_recorder_->GetSourcesForUrl(iframe_url.spec().c_str()); - EXPECT_TRUE(sources.empty()); - sources = test_ukm_recorder_->GetSourcesForUrl(main_frame_url.spec().c_str()); - EXPECT_FALSE(sources.empty()); + for (const auto& kv : test_ukm_recorder_->GetSources()) { + EXPECT_NE(iframe_url, kv.second->url()); + } }
diff --git a/chrome/browser/chromeos/power/ml/user_activity_logger.cc b/chrome/browser/chromeos/power/ml/user_activity_logger.cc index a475caf6..26ea908 100644 --- a/chrome/browser/chromeos/power/ml/user_activity_logger.cc +++ b/chrome/browser/chromeos/power/ml/user_activity_logger.cc
@@ -29,6 +29,7 @@ session_manager_(session_manager), binding_(this, std::move(request)), idle_delay_(base::TimeDelta::FromSeconds(kIdleDelaySeconds)) { + DCHECK(logger_delegate_); DCHECK(idle_event_notifier); idle_event_observer_.Add(idle_event_notifier); @@ -118,7 +119,6 @@ const IdleEventNotifier::ActivityData& activity_data) { idle_event_observed_ = true; ExtractFeatures(activity_data); - // TODO(renjieliu): call get open tab url function here. } void UserActivityLogger::OnSessionStateChanged() { @@ -196,6 +196,7 @@ features_.set_on_battery( *external_power_ == power_manager::PowerSupplyProperties::DISCONNECTED); } + logger_delegate_->UpdateOpenTabsURLs(); } void UserActivityLogger::MaybeLogEvent(
diff --git a/chrome/browser/chromeos/power/ml/user_activity_logger_unittest.cc b/chrome/browser/chromeos/power/ml/user_activity_logger_unittest.cc index 92f168d..7a5de4e6 100644 --- a/chrome/browser/chromeos/power/ml/user_activity_logger_unittest.cc +++ b/chrome/browser/chromeos/power/ml/user_activity_logger_unittest.cc
@@ -38,14 +38,19 @@ const std::vector<UserActivityEvent>& events() const { return events_; } + int num_update_open_tabs_urls_calls() const { + return num_update_open_tabs_urls_calls_; + } + // UserActivityLoggerDelegate overrides: void LogActivity(const UserActivityEvent& event) override { events_.push_back(event); } - void UpdateOpenTabsURLs() override {} + void UpdateOpenTabsURLs() override { ++num_update_open_tabs_urls_calls_; } private: std::vector<UserActivityEvent> events_; + int num_update_open_tabs_urls_calls_ = 0; DISALLOW_COPY_AND_ASSIGN(TestingUserActivityLoggerDelegate); }; @@ -111,20 +116,17 @@ void ReportIdleSleep() { fake_power_manager_client_.SendSuspendDone(); } - const std::vector<UserActivityEvent>& GetEvents() { - return delegate_.events(); - } - const scoped_refptr<base::TestMockTimeTaskRunner>& GetTaskRunner() { return task_runner_; } + TestingUserActivityLoggerDelegate delegate_; + private: scoped_refptr<base::TestMockTimeTaskRunner> task_runner_; const base::TestMockTimeTaskRunner::ScopedContext scoped_context_; ui::UserActivityDetector user_activity_detector_; - TestingUserActivityLoggerDelegate delegate_; std::unique_ptr<IdleEventNotifier> idle_event_notifier_; chromeos::FakePowerManagerClient fake_power_manager_client_; session_manager::SessionManager session_manager_; @@ -139,7 +141,7 @@ ReportIdleEvent({now, now}); ReportUserActivity(nullptr); - const std::vector<UserActivityEvent>& events = GetEvents(); + const std::vector<UserActivityEvent>& events = delegate_.events(); ASSERT_EQ(1U, events.size()); UserActivityEvent::Event expected_event; @@ -155,7 +157,7 @@ base::Time now = base::Time::UnixEpoch(); ReportIdleEvent({now, now}); - EXPECT_EQ(0U, GetEvents().size()); + EXPECT_EQ(0U, delegate_.events().size()); } // Get a user event, then an idle event, then another user event, @@ -168,7 +170,7 @@ // Another user event. ReportUserActivity(nullptr); - const std::vector<UserActivityEvent>& events = GetEvents(); + const std::vector<UserActivityEvent>& events = delegate_.events(); ASSERT_EQ(1U, events.size()); UserActivityEvent::Event expected_event; @@ -191,7 +193,7 @@ // Second user event. ReportUserActivity(nullptr); - const std::vector<UserActivityEvent>& events = GetEvents(); + const std::vector<UserActivityEvent>& events = delegate_.events(); ASSERT_EQ(2U, events.size()); UserActivityEvent::Event expected_event; @@ -208,7 +210,7 @@ ReportIdleEvent({now, now}); ReportLidEvent(chromeos::PowerManagerClient::LidState::CLOSED); - const auto& events = GetEvents(); + const auto& events = delegate_.events(); ASSERT_EQ(1U, events.size()); UserActivityEvent::Event expected_event; @@ -227,7 +229,7 @@ ReportPowerChangeEvent(power_manager::PowerSupplyProperties::AC, 25.0f); ReportPowerChangeEvent(power_manager::PowerSupplyProperties::DISCONNECTED, 28.0f); - const auto& events = GetEvents(); + const auto& events = delegate_.events(); ASSERT_EQ(1U, events.size()); UserActivityEvent::Event expected_event; @@ -242,7 +244,7 @@ ReportIdleEvent({now, now}); ReportVideoStart(); - const auto& events = GetEvents(); + const auto& events = delegate_.events(); ASSERT_EQ(1U, events.size()); UserActivityEvent::Event expected_event; @@ -259,7 +261,7 @@ ReportScreenIdle(); GetTaskRunner()->FastForwardUntilNoTasksRemain(); - const auto& events = GetEvents(); + const auto& events = delegate_.events(); ASSERT_EQ(1U, events.size()); UserActivityEvent::Event expected_event; @@ -281,7 +283,7 @@ ReportUserActivity(nullptr); GetTaskRunner()->FastForwardUntilNoTasksRemain(); - const auto& events = GetEvents(); + const auto& events = delegate_.events(); ASSERT_EQ(1U, events.size()); UserActivityEvent::Event expected_event; @@ -296,7 +298,7 @@ ReportIdleEvent({now, now}); ReportScreenLocked(); - const auto& events = GetEvents(); + const auto& events = delegate_.events(); ASSERT_EQ(1U, events.size()); UserActivityEvent::Event expected_event; @@ -311,7 +313,7 @@ ReportIdleEvent({now, now}); ReportIdleSleep(); - const auto& events = GetEvents(); + const auto& events = delegate_.events(); ASSERT_EQ(1U, events.size()); UserActivityEvent::Event expected_event; @@ -329,7 +331,7 @@ ReportIdleEvent({}); ReportUserActivity(nullptr); - const auto& events = GetEvents(); + const auto& events = delegate_.events(); ASSERT_EQ(1U, events.size()); const UserActivityEvent::Features& features = events[0].features(); @@ -338,6 +340,16 @@ EXPECT_DOUBLE_EQ(false, features.on_battery()); } +TEST_F(UserActivityLoggerTest, UpdateOpenTabsURLsCalledTimes) { + ReportIdleEvent({}); + ReportUserActivity(nullptr); + EXPECT_EQ(1, delegate_.num_update_open_tabs_urls_calls()); + + ReportIdleEvent({}); + ReportUserActivity(nullptr); + EXPECT_EQ(2, delegate_.num_update_open_tabs_urls_calls()); +} + } // namespace ml } // namespace power } // namespace chromeos
diff --git a/chrome/browser/content_settings/sound_content_setting_observer_unittest.cc b/chrome/browser/content_settings/sound_content_setting_observer_unittest.cc index 3f890e1..0154c54 100644 --- a/chrome/browser/content_settings/sound_content_setting_observer_unittest.cc +++ b/chrome/browser/content_settings/sound_content_setting_observer_unittest.cc
@@ -69,17 +69,17 @@ } bool RecordedSiteMuted() { - const ukm::UkmSource* source = test_ukm_recorder_->GetSourceForUrl(kURL1); - if (!source) - return false; - return test_ukm_recorder_->HasEntry(*source, kSiteMutedEvent); + auto entries = test_ukm_recorder_->GetEntriesByName(kSiteMutedEvent); + return !entries.empty(); } void ExpectRecordedForReason(SoundContentSettingObserver::MuteReason reason) { - const ukm::UkmSource* source = test_ukm_recorder_->GetSourceForUrl(kURL1); - EXPECT_NE(nullptr, source); - test_ukm_recorder_->ExpectMetric(*source, kSiteMutedEvent, kSiteMutedReason, - reason); + auto entries = test_ukm_recorder_->GetEntriesByName(kSiteMutedEvent); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder_->ExpectEntrySourceHasUrl(entry, GURL(kURL1)); + test_ukm_recorder_->ExpectEntryMetric(entry, kSiteMutedReason, reason); + } } // TabMutedReason does not exist on Android.
diff --git a/chrome/browser/media/media_engagement_contents_observer_unittest.cc b/chrome/browser/media/media_engagement_contents_observer_unittest.cc index 2c886db3..0c2481c0 100644 --- a/chrome/browser/media/media_engagement_contents_observer_unittest.cc +++ b/chrome/browser/media/media_engagement_contents_observer_unittest.cc
@@ -233,11 +233,15 @@ {Entry::kPlaybacks_SecondsSinceLastName, seconds_since_playback}, }; - const ukm::UkmSource* source = - test_ukm_recorder_.GetSourceForUrl(url.spec().c_str()); - EXPECT_EQ(url, source->url()); - EXPECT_EQ(1, test_ukm_recorder_.CountEntries(*source, Entry::kEntryName)); - test_ukm_recorder_.ExpectEntry(*source, Entry::kEntryName, metrics); + auto entries = test_ukm_recorder_.GetEntriesByName(Entry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder_.ExpectEntrySourceHasUrl(entry, url); + for (const auto& metric : metrics) { + test_ukm_recorder_.ExpectEntryMetric(entry, metric.first, + metric.second); + } + } } void ExpectUkmIgnoredEntries(GURL url, std::vector<int64_t> entries) {
diff --git a/chrome/browser/metrics/oom/out_of_memory_reporter_unittest.cc b/chrome/browser/metrics/oom/out_of_memory_reporter_unittest.cc index 5b22a7a..170a900 100644 --- a/chrome/browser/metrics/oom/out_of_memory_reporter_unittest.cc +++ b/chrome/browser/metrics/oom/out_of_memory_reporter_unittest.cc
@@ -152,13 +152,15 @@ } void CheckUkmMetricRecorded(const GURL& url, int64_t time_delta) { - const ukm::UkmSource* source = - *test_ukm_recorder_->GetSourcesForUrl(url.spec().c_str()).begin(); - std::vector<int64_t> metrics = test_ukm_recorder_->GetMetricValues( - source->id(), ukm::builders::Tab_RendererOOM::kEntryName, - ukm::builders::Tab_RendererOOM::kTimeSinceLastNavigationName); - EXPECT_EQ(1u, metrics.size()); - EXPECT_EQ(time_delta, metrics.at(0)); + const auto& entries = test_ukm_recorder_->GetEntriesByName( + ukm::builders::Tab_RendererOOM::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_ukm_recorder_->ExpectEntrySourceHasUrl(entry, url); + test_ukm_recorder_->ExpectEntryMetric( + entry, ukm::builders::Tab_RendererOOM::kTimeSinceLastNavigationName, + time_delta); + } } protected: @@ -191,9 +193,9 @@ base::Unretained(process()), base::TERMINATION_STATUS_ABNORMAL_TERMINATION, 0)); EXPECT_FALSE(last_oom_url_.has_value()); - EXPECT_FALSE( - test_ukm_recorder_->HasEntry(*test_ukm_recorder_->GetSourceForUrl(url), - ukm::builders::Tab_RendererOOM::kEntryName)); + const auto& entries = test_ukm_recorder_->GetEntriesByName( + ukm::builders::Tab_RendererOOM::kEntryName); + EXPECT_EQ(0u, entries.size()); } TEST_F(OutOfMemoryReporterTest, SubframeNavigation_IsNotLogged) { @@ -237,6 +239,5 @@ SimulateOOMAndWait(); EXPECT_FALSE(last_oom_url_.has_value()); // Only the first OOM is recorded. - EXPECT_EQ(1u, test_ukm_recorder_->entries_count()); CheckUkmMetricRecorded(url2, 3000); }
diff --git a/chrome/browser/metrics/process_memory_metrics_emitter_unittest.cc b/chrome/browser/metrics/process_memory_metrics_emitter_unittest.cc index e9c0f8a..06d925c7 100644 --- a/chrome/browser/metrics/process_memory_metrics_emitter_unittest.cc +++ b/chrome/browser/metrics/process_memory_metrics_emitter_unittest.cc
@@ -11,6 +11,7 @@ #include "build/build_config.h" #include "chrome/browser/metrics/renderer_uptime_tracker.h" #include "components/ukm/test_ukm_recorder.h" +#include "services/metrics/public/cpp/ukm_builders.h" #include "services/metrics/public/cpp/ukm_recorder.h" #include "testing/gtest/include/gtest/gtest.h" @@ -25,6 +26,8 @@ namespace { +using UkmEntry = ukm::builders::Memory_Experimental; + // Provide fake to surface ReceivedMemoryDump and ReceivedProcessInfos to public // visibility. class ProcessMemoryMetricsEmitterFake : public ProcessMemoryMetricsEmitter { @@ -321,17 +324,29 @@ protected: void CheckMemoryUkmEntryMetrics( - size_t entry_num, - base::flat_map<const char*, int64_t> expected) { - const ukm::mojom::UkmEntry* entry = test_ukm_recorder_.GetEntry(entry_num); - CHECK(entry != nullptr); - EXPECT_EQ(expected.size(), entry->metrics.size()); - for (auto it = expected.begin(); it != expected.end(); ++it) { - const ukm::mojom::UkmMetric* actual = - test_ukm_recorder_.FindMetric(entry, it->first); - CHECK(actual != nullptr) << "Metric '" << it->first << "' is missing."; - EXPECT_EQ(it->second, actual->value); + const std::vector<base::flat_map<const char*, int64_t>>& expected, + size_t expected_total_memory_entries = 1u) { + const auto& entries = + test_ukm_recorder_.GetEntriesByName(UkmEntry::kEntryName); + size_t i = 0; + size_t total_memory_entries = 0; + for (const auto* entry : entries) { + if (test_ukm_recorder_.EntryHasMetric( + entry, UkmEntry::kTotal2_PrivateMemoryFootprintName)) { + total_memory_entries++; + continue; + } + if (i >= expected.size()) { + FAIL() << "Unexpected non-total entry."; + continue; + } + for (const auto& kv : expected[i]) { + test_ukm_recorder_.ExpectEntryMetric(entry, kv.first, kv.second); + } + i++; } + EXPECT_EQ(expected_total_memory_entries, total_memory_entries); + EXPECT_EQ(expected.size() + expected_total_memory_entries, entries.size()); } base::test::ScopedTaskEnvironment scoped_task_environment_; @@ -354,8 +369,9 @@ emitter->ReceivedProcessInfos(ProcessInfoVector()); emitter->ReceivedMemoryDump(true, std::move(global_dump)); - EXPECT_EQ(2u, test_ukm_recorder_.entries_count()); - CheckMemoryUkmEntryMetrics(0, expected_metrics); + std::vector<base::flat_map<const char*, int64_t>> expected_entries; + expected_entries.push_back(expected_metrics); + CheckMemoryUkmEntryMetrics(expected_entries); } INSTANTIATE_TEST_CASE_P(SinglePtype, @@ -379,8 +395,9 @@ emitter->ReceivedProcessInfos(ProcessInfoVector()); emitter->ReceivedMemoryDump(true, std::move(global_dump)); - EXPECT_EQ(2u, test_ukm_recorder_.entries_count()); - CheckMemoryUkmEntryMetrics(0, expected_metrics); + std::vector<base::flat_map<const char*, int64_t>> expected_entries; + expected_entries.push_back(expected_metrics); + CheckMemoryUkmEntryMetrics(expected_entries); } TEST_F(ProcessMemoryMetricsEmitterTest, CollectsManyProcessUKMsSingleDump) { @@ -403,10 +420,7 @@ emitter->ReceivedProcessInfos(ProcessInfoVector()); emitter->ReceivedMemoryDump(true, std::move(global_dump)); - EXPECT_EQ(7u, test_ukm_recorder_.entries_count()); - for (size_t i = 0; i < entries_ptypes.size(); ++i) { - CheckMemoryUkmEntryMetrics(i, entries_metrics[i]); - } + CheckMemoryUkmEntryMetrics(entries_metrics); } TEST_F(ProcessMemoryMetricsEmitterTest, CollectsManyProcessUKMsManyDumps) { @@ -431,10 +445,7 @@ emitter->ReceivedMemoryDump(true, std::move(global_dump)); } - EXPECT_EQ(8u, test_ukm_recorder_.entries_count()); - for (size_t i = 0; i < entries_ptypes.size(); ++i) { - CheckMemoryUkmEntryMetrics(i, entries_metrics[i]); - } + CheckMemoryUkmEntryMetrics(entries_metrics, 2u); } TEST_F(ProcessMemoryMetricsEmitterTest, ReceiveProcessInfoFirst) { @@ -450,25 +461,23 @@ emitter->ReceivedProcessInfos(GetProcessInfo(test_ukm_recorder_)); emitter->ReceivedMemoryDump(true, std::move(global_dump)); - EXPECT_EQ(1, - test_ukm_recorder_.CountEntries( - *test_ukm_recorder_.GetSourceForUrl("http://www.url201.com/"), - "Memory.Experimental")); + auto entries = test_ukm_recorder_.GetEntriesByName(UkmEntry::kEntryName); + ASSERT_EQ(entries.size(), 2u); + int total_memory_entries = 0; + for (const auto* const entry : entries) { + if (test_ukm_recorder_.EntryHasMetric( + entry, UkmEntry::kTotal2_PrivateMemoryFootprintName)) { + total_memory_entries++; + } else { + test_ukm_recorder_.ExpectEntrySourceHasUrl( + entry, GURL("http://www.url201.com/")); + } + } + EXPECT_EQ(1, total_memory_entries); - EXPECT_EQ(0, - test_ukm_recorder_.CountEntries( - *test_ukm_recorder_.GetSourceForUrl("http://www.url2021.com/"), - "Memory.Experimental")); - - EXPECT_EQ(0, - test_ukm_recorder_.CountEntries( - *test_ukm_recorder_.GetSourceForUrl("http://www.url2022.com/"), - "Memory.Experimental")); - - // The second entry is for total memory, which we don't care about in this - // test. - EXPECT_EQ(2u, test_ukm_recorder_.entries_count()); - CheckMemoryUkmEntryMetrics(0, expected_metrics); + std::vector<base::flat_map<const char*, int64_t>> expected_entries; + expected_entries.push_back(expected_metrics); + CheckMemoryUkmEntryMetrics(expected_entries); } TEST_F(ProcessMemoryMetricsEmitterTest, ReceiveProcessInfoSecond) { @@ -484,25 +493,23 @@ emitter->ReceivedMemoryDump(true, std::move(global_dump)); emitter->ReceivedProcessInfos(GetProcessInfo(test_ukm_recorder_)); - EXPECT_EQ(1, - test_ukm_recorder_.CountEntries( - *test_ukm_recorder_.GetSourceForUrl("http://www.url201.com/"), - "Memory.Experimental")); + auto entries = test_ukm_recorder_.GetEntriesByName(UkmEntry::kEntryName); + ASSERT_EQ(entries.size(), 2u); + int total_memory_entries = 0; + for (const auto* const entry : entries) { + if (test_ukm_recorder_.EntryHasMetric( + entry, UkmEntry::kTotal2_PrivateMemoryFootprintName)) { + total_memory_entries++; + } else { + test_ukm_recorder_.ExpectEntrySourceHasUrl( + entry, GURL("http://www.url201.com/")); + } + } + EXPECT_EQ(1, total_memory_entries); - EXPECT_EQ(0, - test_ukm_recorder_.CountEntries( - *test_ukm_recorder_.GetSourceForUrl("http://www.url2021.com/"), - "Memory.Experimental")); - - EXPECT_EQ(0, - test_ukm_recorder_.CountEntries( - *test_ukm_recorder_.GetSourceForUrl("http://www.url2022.com/"), - "Memory.Experimental")); - - // The second entry is for total memory, which we don't care about in this - // test. - EXPECT_EQ(2u, test_ukm_recorder_.entries_count()); - CheckMemoryUkmEntryMetrics(0, expected_metrics); + std::vector<base::flat_map<const char*, int64_t>> expected_entries; + expected_entries.push_back(expected_metrics); + CheckMemoryUkmEntryMetrics(expected_entries); } TEST_F(ProcessMemoryMetricsEmitterTest, ProcessInfoHasTwoURLs) { @@ -520,18 +527,22 @@ emitter->ReceivedProcessInfos(GetProcessInfo(test_ukm_recorder_)); // Check that if there are two URLs, neither is emitted. - EXPECT_EQ(1, - test_ukm_recorder_.CountEntries( - *test_ukm_recorder_.GetSourceForUrl("http://www.url201.com/"), - "Memory.Experimental")); - - EXPECT_EQ(0, - test_ukm_recorder_.CountEntries( - *test_ukm_recorder_.GetSourceForUrl("http://www.url2021.com/"), - "Memory.Experimental")); - - EXPECT_EQ(0, - test_ukm_recorder_.CountEntries( - *test_ukm_recorder_.GetSourceForUrl("http://www.url2022.com/"), - "Memory.Experimental")); + auto entries = test_ukm_recorder_.GetEntriesByName(UkmEntry::kEntryName); + int total_memory_entries = 0; + int entries_with_urls = 0; + for (const auto* const entry : entries) { + if (test_ukm_recorder_.EntryHasMetric( + entry, UkmEntry::kTotal2_PrivateMemoryFootprintName)) { + total_memory_entries++; + } else { + if (test_ukm_recorder_.GetSourceForSourceId(entry->source_id)) { + entries_with_urls++; + test_ukm_recorder_.ExpectEntrySourceHasUrl( + entry, GURL("http://www.url201.com/")); + } + } + } + EXPECT_EQ(4u, entries.size()); + EXPECT_EQ(1, total_memory_entries); + EXPECT_EQ(1, entries_with_urls); }
diff --git a/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer_unittest.cc index 16a8af8..e355954 100644 --- a/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer_unittest.cc +++ b/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer_unittest.cc
@@ -64,16 +64,20 @@ internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, contentful_paint.InMilliseconds(), 1); - const ukm::UkmSource* source = - test_ukm_recorder().GetSourceForUrl("https://www.google.com/"); - EXPECT_TRUE( - test_ukm_recorder().HasEntry(*source, internal::kUkmDocWriteBlockName)); - test_ukm_recorder().ExpectMetric( - *source, internal::kUkmDocWriteBlockName, - internal::kUkmParseBlockedOnScriptLoadDocumentWrite, 5); - test_ukm_recorder().ExpectMetric( - *source, internal::kUkmDocWriteBlockName, - internal::kUkmParseBlockedOnScriptExecutionDocumentWrite, 3); + std::map<ukm::SourceId, ukm::mojom::UkmEntryPtr> entries = + test_ukm_recorder().GetMergedEntriesByName( + internal::kUkmDocWriteBlockName); + EXPECT_EQ(1u, entries.size()); + for (const auto& kv : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl( + kv.second.get(), GURL("https://www.google.com/")); + test_ukm_recorder().ExpectEntryMetric( + kv.second.get(), internal::kUkmParseBlockedOnScriptLoadDocumentWrite, + 5); + test_ukm_recorder().ExpectEntryMetric( + kv.second.get(), + internal::kUkmParseBlockedOnScriptExecutionDocumentWrite, 3); + } NavigateAndCommit(GURL("https://www.example.com/")); @@ -102,9 +106,17 @@ histogram_tester().ExpectTotalCount( internal::kHistogramDocWriteBlockReloadCount, 1); - test_ukm_recorder().ExpectMetric( - *test_ukm_recorder().GetSourceForUrl("https://www.google.com/"), - internal::kUkmDocWriteBlockName, internal::kUkmDocWriteBlockReload, true); + auto entries = + test_ukm_recorder().GetEntriesByName(internal::kUkmDocWriteBlockName); + EXPECT_EQ(1u, entries.size()); + const ukm::mojom::UkmEntry* entry1 = nullptr; + for (const auto* const entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl( + entry, GURL("https://www.google.com/")); + test_ukm_recorder().ExpectEntryMetric( + entry, internal::kUkmDocWriteBlockReload, true); + entry1 = entry; + } // Another reload. NavigateAndCommit(GURL("https://www.example.com/")); @@ -113,9 +125,16 @@ histogram_tester().ExpectTotalCount( internal::kHistogramDocWriteBlockReloadCount, 2); - test_ukm_recorder().ExpectMetric( - *test_ukm_recorder().GetSourceForUrl("https://www.example.com/"), - internal::kUkmDocWriteBlockName, internal::kUkmDocWriteBlockReload, true); + auto entries2 = + test_ukm_recorder().GetEntriesByName(internal::kUkmDocWriteBlockName); + EXPECT_EQ(2u, entries2.size()); + for (const auto* const entry : entries2) { + if (entry != entry1) + test_ukm_recorder().ExpectEntrySourceHasUrl( + entry, GURL("https://www.example.com/")); + test_ukm_recorder().ExpectEntryMetric( + entry, internal::kUkmDocWriteBlockReload, true); + } // Another metadata update should not increase reload count. metadata.behavior_flags |= @@ -126,8 +145,6 @@ histogram_tester().ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 0); - - EXPECT_EQ(2ul, test_ukm_recorder().entries_count()); } TEST_F(DocumentWritePageLoadMetricsObserverTest, NoPossibleBlock) {
diff --git a/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc index 59f276c4..3920065 100644 --- a/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc +++ b/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc
@@ -223,11 +223,12 @@ internal::kHistogramFromGWSLoad, timing.document_timing->load_event_start.value().InMilliseconds(), 1); - EXPECT_EQ(1ul, test_ukm_recorder().entries_count()); - const ukm::UkmSource* source = - test_ukm_recorder().GetSourceForUrl(kExampleUrl); - EXPECT_TRUE(test_ukm_recorder().HasEntry(*source, - internal::kUkmFromGoogleSearchName)); + auto entries = + test_ukm_recorder().GetEntriesByName(internal::kUkmFromGoogleSearchName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(kExampleUrl)); + } } TEST_F(FromGWSPageLoadMetricsObserverTest, SearchPreviousCommittedUrl2) { @@ -249,11 +250,12 @@ internal::kHistogramFromGWSFirstTextPaint, timing.paint_timing->first_text_paint.value().InMilliseconds(), 1); - EXPECT_EQ(1ul, test_ukm_recorder().entries_count()); - const ukm::UkmSource* source = - test_ukm_recorder().GetSourceForUrl(kExampleUrl); - EXPECT_TRUE(test_ukm_recorder().HasEntry(*source, - internal::kUkmFromGoogleSearchName)); + auto entries = + test_ukm_recorder().GetEntriesByName(internal::kUkmFromGoogleSearchName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(kExampleUrl)); + } } TEST_F(FromGWSPageLoadMetricsObserverTest, SearchPreviousCommittedUrl3) { @@ -275,11 +277,12 @@ internal::kHistogramFromGWSFirstTextPaint, timing.paint_timing->first_text_paint.value().InMilliseconds(), 1); - EXPECT_EQ(1ul, test_ukm_recorder().entries_count()); - const ukm::UkmSource* source = - test_ukm_recorder().GetSourceForUrl(kExampleUrl); - EXPECT_TRUE(test_ukm_recorder().HasEntry(*source, - internal::kUkmFromGoogleSearchName)); + auto entries = + test_ukm_recorder().GetEntriesByName(internal::kUkmFromGoogleSearchName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(kExampleUrl)); + } } TEST_F(FromGWSPageLoadMetricsObserverTest, SearchPreviousCommittedUrl4) { @@ -301,11 +304,12 @@ internal::kHistogramFromGWSFirstTextPaint, timing.paint_timing->first_text_paint.value().InMilliseconds(), 1); - EXPECT_EQ(1ul, test_ukm_recorder().entries_count()); - const ukm::UkmSource* source = - test_ukm_recorder().GetSourceForUrl(kExampleUrl); - EXPECT_TRUE(test_ukm_recorder().HasEntry(*source, - internal::kUkmFromGoogleSearchName)); + auto entries = + test_ukm_recorder().GetEntriesByName(internal::kUkmFromGoogleSearchName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(kExampleUrl)); + } } TEST_F(FromGWSPageLoadMetricsObserverTest, SearchToNonSearchToOtherPage) { @@ -335,11 +339,12 @@ internal::kHistogramFromGWSFirstTextPaint, timing.paint_timing->first_text_paint.value().InMilliseconds(), 1); - EXPECT_EQ(1ul, test_ukm_recorder().entries_count()); - const ukm::UkmSource* source = - test_ukm_recorder().GetSourceForUrl(kExampleUrl); - EXPECT_TRUE(test_ukm_recorder().HasEntry(*source, - internal::kUkmFromGoogleSearchName)); + auto entries = + test_ukm_recorder().GetEntriesByName(internal::kUkmFromGoogleSearchName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(kExampleUrl)); + } } TEST_F(FromGWSPageLoadMetricsObserverTest, SearchToNonSearchToSearch) { @@ -369,11 +374,12 @@ internal::kHistogramFromGWSFirstTextPaint, timing.paint_timing->first_text_paint.value().InMilliseconds(), 1); - EXPECT_EQ(1ul, test_ukm_recorder().entries_count()); - const ukm::UkmSource* source = - test_ukm_recorder().GetSourceForUrl(kExampleUrl); - EXPECT_TRUE(test_ukm_recorder().HasEntry(*source, - internal::kUkmFromGoogleSearchName)); + auto entries = + test_ukm_recorder().GetEntriesByName(internal::kUkmFromGoogleSearchName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(kExampleUrl)); + } } TEST_F(FromGWSPageLoadMetricsObserverTest, @@ -415,13 +421,12 @@ internal::kHistogramFromGWSFirstTextPaint, timing3.paint_timing->first_text_paint.value().InMilliseconds(), 1); - std::vector<const ukm::UkmSource*> sources = - test_ukm_recorder().GetSourcesForUrl(kExampleUrl); - EXPECT_EQ(2ul, sources.size()); - EXPECT_TRUE(test_ukm_recorder().HasEntry(*sources.at(0), - internal::kUkmFromGoogleSearchName)); - EXPECT_TRUE(test_ukm_recorder().HasEntry(*sources.at(1), - internal::kUkmFromGoogleSearchName)); + auto entries = + test_ukm_recorder().GetEntriesByName(internal::kUkmFromGoogleSearchName); + EXPECT_EQ(2u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(kExampleUrl)); + } } TEST_F(FromGWSPageLoadMetricsObserverTest, @@ -461,13 +466,12 @@ internal::kHistogramFromGWSFirstTextPaint, timing.paint_timing->first_text_paint.value().InMilliseconds(), 1); - std::vector<const ukm::UkmSource*> sources = - test_ukm_recorder().GetSourcesForUrl(kExampleUrl); - EXPECT_EQ(2ul, sources.size()); - EXPECT_TRUE(test_ukm_recorder().HasEntry(*sources.at(0), - internal::kUkmFromGoogleSearchName)); - EXPECT_TRUE(test_ukm_recorder().HasEntry(*sources.at(1), - internal::kUkmFromGoogleSearchName)); + auto entries = + test_ukm_recorder().GetEntriesByName(internal::kUkmFromGoogleSearchName); + EXPECT_EQ(2u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(kExampleUrl)); + } } TEST_F(FromGWSPageLoadMetricsObserverTest, @@ -491,11 +495,12 @@ internal::kHistogramFromGWSFirstTextPaint, timing.paint_timing->first_text_paint.value().InMilliseconds(), 1); - EXPECT_EQ(1ul, test_ukm_recorder().entries_count()); - const ukm::UkmSource* source = - test_ukm_recorder().GetSourceForUrl(kExampleUrl); - EXPECT_TRUE(test_ukm_recorder().HasEntry(*source, - internal::kUkmFromGoogleSearchName)); + auto entries = + test_ukm_recorder().GetEntriesByName(internal::kUkmFromGoogleSearchName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(kExampleUrl)); + } } TEST_F(FromGWSPageLoadMetricsObserverTest,
diff --git a/chrome/browser/page_load_metrics/observers/local_network_requests_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/local_network_requests_page_load_metrics_observer_unittest.cc index b23fec00..0a7928c 100644 --- a/chrome/browser/page_load_metrics/observers/local_network_requests_page_load_metrics_observer_unittest.cc +++ b/chrome/browser/page_load_metrics/observers/local_network_requests_page_load_metrics_observer_unittest.cc
@@ -178,39 +178,40 @@ void ExpectUkmPageDomainMetric(const internal::PageAddressInfo& page, const internal::DomainType domain_type) { - EXPECT_EQ(1ul, test_ukm_recorder().sources_count()); - const ukm::UkmSource* source = - test_ukm_recorder().GetSourceForUrl(page.url); - EXPECT_EQ(GURL(page.url), source->url()); - - test_ukm_recorder().ExpectEntry( - *source, internal::kUkmPageDomainEventName, - {{internal::kUkmDomainTypeName, static_cast<int>(domain_type)}}); + auto entries = + test_ukm_recorder().GetEntriesByName(internal::kUkmPageDomainEventName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(page.url)); + test_ukm_recorder().ExpectEntryMetric(entry, internal::kUkmDomainTypeName, + static_cast<int>(domain_type)); + } } void ExpectMetricsAndHistograms( const internal::PageAddressInfo& page, const std::vector<internal::UkmMetricInfo>& expected_metrics, const std::map<std::string, int>& expected_histograms) { - // The page domain info UKM entry will always be created, so we expect that - // there should be one more UKM entry than the expected number of metrics - // entries. - EXPECT_EQ(expected_metrics.size() + 1, test_ukm_recorder().entries_count()); - - const ukm::UkmSource* source = - test_ukm_recorder().GetSourceForUrl(page.url); - for (auto entry : expected_metrics) { - std::vector<std::pair<const char*, int64_t>> metric_values = { - {internal::kUkmResourceTypeName, entry.resource_type}, - {internal::kUkmSuccessfulCountName, entry.success_count}, - {internal::kUkmFailedCountName, entry.failed_count}}; - if (entry.resource_type == internal::RESOURCE_TYPE_LOCALHOST) { - // Localhost page load - metric_values.push_back( - {internal::kUkmPortTypeName, static_cast<int>(entry.port_type)}); + auto entries = test_ukm_recorder().GetEntriesByName( + internal::kUkmLocalNetworkRequestsEventName); + ASSERT_EQ(entries.size(), expected_metrics.size()); + for (size_t i = 0; i < entries.size() && i < expected_metrics.size(); i++) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entries[i], GURL(page.url)); + test_ukm_recorder().ExpectEntryMetric(entries[i], + internal::kUkmResourceTypeName, + expected_metrics[i].resource_type); + test_ukm_recorder().ExpectEntryMetric(entries[i], + internal::kUkmSuccessfulCountName, + expected_metrics[i].success_count); + test_ukm_recorder().ExpectEntryMetric(entries[i], + internal::kUkmFailedCountName, + expected_metrics[i].failed_count); + if (expected_metrics[i].resource_type == + internal::RESOURCE_TYPE_LOCALHOST) { + test_ukm_recorder().ExpectEntryMetric( + entries[i], internal::kUkmPortTypeName, + static_cast<int>(expected_metrics[i].port_type)); } - test_ukm_recorder().ExpectEntry( - *source, internal::kUkmLocalNetworkRequestsEventName, metric_values); } // Should have generated UMA histograms for all requests made.
diff --git a/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc index 7dbb88c..b664ac3 100644 --- a/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc +++ b/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc
@@ -18,6 +18,7 @@ #include "components/ukm/test_ukm_recorder.h" #include "components/ukm/ukm_source.h" #include "content/public/test/web_contents_tester.h" +#include "services/metrics/public/cpp/ukm_builders.h" namespace previews { @@ -85,22 +86,25 @@ bool client_lofi_expected, bool lite_page_expected, bool opt_out_expected) { - const ukm::UkmSource* source = - test_ukm_recorder().GetSourceForUrl(kDefaultTestUrl); + using UkmEntry = ukm::builders::Previews; + auto entries = test_ukm_recorder().GetEntriesByName(UkmEntry::kEntryName); if (!server_lofi_expected && !client_lofi_expected && !lite_page_expected && !opt_out_expected) { - EXPECT_EQ(0u, test_ukm_recorder().entries_count()); + EXPECT_EQ(0u, entries.size()); return; } - - EXPECT_EQ(server_lofi_expected, test_ukm_recorder().HasMetric( - *source, "Previews", "server_lofi")); - EXPECT_EQ(client_lofi_expected, test_ukm_recorder().HasMetric( - *source, "Previews", "client_lofi")); - EXPECT_EQ(lite_page_expected, - test_ukm_recorder().HasMetric(*source, "Previews", "lite_page")); - EXPECT_EQ(opt_out_expected, - test_ukm_recorder().HasMetric(*source, "Previews", "opt_out")); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(kDefaultTestUrl)); + EXPECT_EQ(server_lofi_expected, test_ukm_recorder().EntryHasMetric( + entry, UkmEntry::kserver_lofiName)); + EXPECT_EQ(client_lofi_expected, test_ukm_recorder().EntryHasMetric( + entry, UkmEntry::kclient_lofiName)); + EXPECT_EQ(lite_page_expected, test_ukm_recorder().EntryHasMetric( + entry, UkmEntry::klite_pageName)); + EXPECT_EQ(opt_out_expected, test_ukm_recorder().EntryHasMetric( + entry, UkmEntry::kopt_outName)); + } } protected:
diff --git a/chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer_unittest.cc index c930859..50b5a0d 100644 --- a/chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer_unittest.cc +++ b/chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer_unittest.cc
@@ -206,11 +206,12 @@ histogram_tester().ExpectTotalCount( internal::kHistogramServiceWorkerParseStartForwardBackNoStore, 0); - EXPECT_EQ(1ul, test_ukm_recorder().entries_count()); - const ukm::UkmSource* source = - test_ukm_recorder().GetSourceForUrl(kDefaultTestUrl); - EXPECT_TRUE( - test_ukm_recorder().HasEntry(*source, internal::kUkmServiceWorkerName)); + const auto& entries = + test_ukm_recorder().GetEntriesByName(internal::kUkmServiceWorkerName); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(kDefaultTestUrl)); + } AssertNoInboxHistogramsLogged(); AssertNoSearchHistogramsLogged(); @@ -257,11 +258,12 @@ // histogram_tester().ExpectTotalCount( // internal::kBackgroundHistogramServiceWorkerParseStart, 1); - EXPECT_EQ(1ul, test_ukm_recorder().entries_count()); - const ukm::UkmSource* source = - test_ukm_recorder().GetSourceForUrl(kDefaultTestUrl); - EXPECT_TRUE( - test_ukm_recorder().HasEntry(*source, internal::kUkmServiceWorkerName)); + const auto& entries = + test_ukm_recorder().GetEntriesByName(internal::kUkmServiceWorkerName); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(kDefaultTestUrl)); + } AssertNoInboxHistogramsLogged(); AssertNoSearchHistogramsLogged();
diff --git a/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer_unittest.cc index 7f7c642..0191f0b 100644 --- a/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer_unittest.cc +++ b/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer_unittest.cc
@@ -104,18 +104,18 @@ internal::kHistogramSubresourceFilterActivationDecision, static_cast<int>(decision), 1); - ASSERT_EQ(1ul, test_ukm_recorder().entries_count()); - const ukm::UkmSource* source = test_ukm_recorder().GetSourceForUrl(url); - EXPECT_TRUE(test_ukm_recorder().HasEntry( - *source, internal::kUkmSubresourceFilterName)); - test_ukm_recorder().ExpectMetric( - *source, internal::kUkmSubresourceFilterName, - internal::kUkmSubresourceFilterActivationDecision, - static_cast<int64_t>(decision)); - if (level == subresource_filter::ActivationLevel::DRYRUN) { - test_ukm_recorder().ExpectMetric( - *source, internal::kUkmSubresourceFilterName, - internal::kUkmSubresourceFilterDryRun, true); + const auto& entries = test_ukm_recorder().GetEntriesByName( + internal::kUkmSubresourceFilterName); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(entry, GURL(url)); + test_ukm_recorder().ExpectEntryMetric( + entry, internal::kUkmSubresourceFilterActivationDecision, + static_cast<int64_t>(decision)); + if (level == subresource_filter::ActivationLevel::DRYRUN) { + test_ukm_recorder().ExpectEntryMetric( + entry, internal::kUkmSubresourceFilterDryRun, true); + } } }
diff --git a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc index 6d24a43..0c80189 100644 --- a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc +++ b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc
@@ -103,30 +103,32 @@ // Simulate closing the tab. DeleteContents(); - EXPECT_EQ(1ul, test_ukm_recorder().sources_count()); - const ukm::UkmSource* source = test_ukm_recorder().GetSourceForUrl(kTestUrl1); - EXPECT_EQ(GURL(kTestUrl1), source->url()); + std::map<ukm::SourceId, ukm::mojom::UkmEntryPtr> merged_entries = + test_ukm_recorder().GetMergedEntriesByName( + internal::kUkmPageLoadEventName); + EXPECT_EQ(1ul, merged_entries.size()); - EXPECT_GE(test_ukm_recorder().entries_count(), 1ul); - test_ukm_recorder().ExpectMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmPageTransition, - ui::PAGE_TRANSITION_LINK); - test_ukm_recorder().ExpectMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmParseStartName, 100); - test_ukm_recorder().ExpectMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmDomContentLoadedName, 200); - test_ukm_recorder().ExpectMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmFirstPaintName, 250); - test_ukm_recorder().ExpectMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmFirstContentfulPaintName, 300); - test_ukm_recorder().ExpectMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmLoadEventName, 500); - EXPECT_FALSE( - test_ukm_recorder().HasMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmFirstMeaningfulPaintName)); - EXPECT_TRUE( - test_ukm_recorder().HasMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmForegroundDurationName)); + for (const auto& kv : merged_entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(kv.second.get(), + GURL(kTestUrl1)); + test_ukm_recorder().ExpectEntryMetric(kv.second.get(), + internal::kUkmPageTransition, + ui::PAGE_TRANSITION_LINK); + test_ukm_recorder().ExpectEntryMetric(kv.second.get(), + internal::kUkmParseStartName, 100); + test_ukm_recorder().ExpectEntryMetric( + kv.second.get(), internal::kUkmDomContentLoadedName, 200); + test_ukm_recorder().ExpectEntryMetric(kv.second.get(), + internal::kUkmFirstPaintName, 250); + test_ukm_recorder().ExpectEntryMetric( + kv.second.get(), internal::kUkmFirstContentfulPaintName, 300); + test_ukm_recorder().ExpectEntryMetric(kv.second.get(), + internal::kUkmLoadEventName, 500); + EXPECT_FALSE(test_ukm_recorder().EntryHasMetric( + kv.second.get(), internal::kUkmFirstMeaningfulPaintName)); + EXPECT_TRUE(test_ukm_recorder().EntryHasMetric( + kv.second.get(), internal::kUkmForegroundDurationName)); + } } TEST_F(UkmPageLoadMetricsObserverTest, FailedProvisionalLoad) { @@ -144,33 +146,31 @@ // Simulate closing the tab. DeleteContents(); - EXPECT_EQ(1ul, test_ukm_recorder().sources_count()); - const ukm::UkmSource* source = test_ukm_recorder().GetSourceForUrl(kTestUrl1); - EXPECT_EQ(GURL(kTestUrl1), source->url()); - - EXPECT_GE(test_ukm_recorder().entries_count(), 1ul); + std::map<ukm::SourceId, ukm::mojom::UkmEntryPtr> merged_entries = + test_ukm_recorder().GetMergedEntriesByName( + internal::kUkmPageLoadEventName); + EXPECT_EQ(1ul, merged_entries.size()); // Make sure that only the following metrics are logged. In particular, no // paint/document/etc timing metrics should be logged for failed provisional // loads. - EXPECT_EQ(5, test_ukm_recorder().CountMetricsForEventName( - *source, internal::kUkmPageLoadEventName)); - test_ukm_recorder().ExpectMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmPageTransition, - ui::PAGE_TRANSITION_LINK); - test_ukm_recorder().ExpectMetric( - *source, internal::kUkmPageLoadEventName, - internal::kUkmEffectiveConnectionType, - metrics::SystemProfileProto::Network::EFFECTIVE_CONNECTION_TYPE_2G); - test_ukm_recorder().ExpectMetric( - *source, internal::kUkmPageLoadEventName, internal::kUkmNetErrorCode, - static_cast<int64_t>(net::ERR_TIMED_OUT) * -1); - EXPECT_TRUE( - test_ukm_recorder().HasMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmForegroundDurationName)); - EXPECT_TRUE( - test_ukm_recorder().HasMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmFailedProvisionaLoadName)); + for (const auto& kv : merged_entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(kv.second.get(), + GURL(kTestUrl1)); + test_ukm_recorder().ExpectEntryMetric(kv.second.get(), + internal::kUkmPageTransition, + ui::PAGE_TRANSITION_LINK); + test_ukm_recorder().ExpectEntryMetric( + kv.second.get(), internal::kUkmEffectiveConnectionType, + metrics::SystemProfileProto::Network::EFFECTIVE_CONNECTION_TYPE_2G); + test_ukm_recorder().ExpectEntryMetric( + kv.second.get(), internal::kUkmNetErrorCode, + static_cast<int64_t>(net::ERR_TIMED_OUT) * -1); + EXPECT_TRUE(test_ukm_recorder().EntryHasMetric( + kv.second.get(), internal::kUkmForegroundDurationName)); + EXPECT_TRUE(test_ukm_recorder().EntryHasMetric( + kv.second.get(), internal::kUkmFailedProvisionaLoadName)); + } } TEST_F(UkmPageLoadMetricsObserverTest, FirstMeaningfulPaint) { @@ -187,16 +187,19 @@ // Simulate closing the tab. DeleteContents(); - EXPECT_EQ(1ul, test_ukm_recorder().sources_count()); - const ukm::UkmSource* source = test_ukm_recorder().GetSourceForUrl(kTestUrl1); - EXPECT_EQ(GURL(kTestUrl1), source->url()); + std::map<ukm::SourceId, ukm::mojom::UkmEntryPtr> merged_entries = + test_ukm_recorder().GetMergedEntriesByName( + internal::kUkmPageLoadEventName); + EXPECT_EQ(1ul, merged_entries.size()); - EXPECT_GE(test_ukm_recorder().entries_count(), 1ul); - test_ukm_recorder().ExpectMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmFirstMeaningfulPaintName, 600); - EXPECT_TRUE( - test_ukm_recorder().HasMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmForegroundDurationName)); + for (const auto& kv : merged_entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(kv.second.get(), + GURL(kTestUrl1)); + test_ukm_recorder().ExpectEntryMetric( + kv.second.get(), internal::kUkmFirstMeaningfulPaintName, 600); + EXPECT_TRUE(test_ukm_recorder().EntryHasMetric( + kv.second.get(), internal::kUkmForegroundDurationName)); + } } TEST_F(UkmPageLoadMetricsObserverTest, MultiplePageLoads) { @@ -222,37 +225,40 @@ // Simulate closing the tab. DeleteContents(); - EXPECT_EQ(2ul, test_ukm_recorder().sources_count()); - const ukm::UkmSource* source1 = - test_ukm_recorder().GetSourceForUrl(kTestUrl1); - const ukm::UkmSource* source2 = - test_ukm_recorder().GetSourceForUrl(kTestUrl2); - EXPECT_EQ(GURL(kTestUrl1), source1->url()); - EXPECT_EQ(GURL(kTestUrl2), source2->url()); - EXPECT_NE(source1->id(), source2->id()); + std::map<ukm::SourceId, ukm::mojom::UkmEntryPtr> merged_entries = + test_ukm_recorder().GetMergedEntriesByName( + internal::kUkmPageLoadEventName); + EXPECT_EQ(2ul, merged_entries.size()); + const ukm::mojom::UkmEntry* entry1 = nullptr; + const ukm::mojom::UkmEntry* entry2 = nullptr; + for (const auto& kv : merged_entries) { + if (test_ukm_recorder().EntryHasMetric( + kv.second.get(), internal::kUkmFirstContentfulPaintName)) { + entry1 = kv.second.get(); + } else { + entry2 = kv.second.get(); + } + } + ASSERT_NE(entry1, nullptr); + ASSERT_NE(entry2, nullptr); - EXPECT_GE(test_ukm_recorder().entries_count(), 2ul); + test_ukm_recorder().ExpectEntrySourceHasUrl(entry1, GURL(kTestUrl1)); + test_ukm_recorder().ExpectEntryMetric( + entry1, internal::kUkmFirstContentfulPaintName, 200); + EXPECT_FALSE(test_ukm_recorder().EntryHasMetric( + entry1, internal::kUkmFirstMeaningfulPaintName)); + EXPECT_TRUE(test_ukm_recorder().EntryHasMetric( + entry1, internal::kUkmForegroundDurationName)); - test_ukm_recorder().ExpectMetric(*source1, internal::kUkmPageLoadEventName, - internal::kUkmFirstContentfulPaintName, 200); + test_ukm_recorder().ExpectEntrySourceHasUrl(entry2, GURL(kTestUrl2)); EXPECT_FALSE( - test_ukm_recorder().HasMetric(*source2, internal::kUkmPageLoadEventName, - internal::kUkmFirstMeaningfulPaintName)); - EXPECT_TRUE( - test_ukm_recorder().HasMetric(*source1, internal::kUkmPageLoadEventName, - internal::kUkmForegroundDurationName)); - - EXPECT_FALSE(test_ukm_recorder().HasMetric( - *source2, internal::kUkmPageLoadEventName, internal::kUkmParseStartName)); - EXPECT_FALSE( - test_ukm_recorder().HasMetric(*source2, internal::kUkmPageLoadEventName, - internal::kUkmFirstContentfulPaintName)); - EXPECT_FALSE( - test_ukm_recorder().HasMetric(*source2, internal::kUkmPageLoadEventName, - internal::kUkmFirstMeaningfulPaintName)); - EXPECT_TRUE( - test_ukm_recorder().HasMetric(*source2, internal::kUkmPageLoadEventName, - internal::kUkmForegroundDurationName)); + test_ukm_recorder().EntryHasMetric(entry2, internal::kUkmParseStartName)); + EXPECT_FALSE(test_ukm_recorder().EntryHasMetric( + entry2, internal::kUkmFirstContentfulPaintName)); + EXPECT_FALSE(test_ukm_recorder().EntryHasMetric( + entry2, internal::kUkmFirstMeaningfulPaintName)); + EXPECT_TRUE(test_ukm_recorder().EntryHasMetric( + entry2, internal::kUkmForegroundDurationName)); } TEST_F(UkmPageLoadMetricsObserverTest, NetworkQualityEstimates) { @@ -270,21 +276,24 @@ // Simulate closing the tab. DeleteContents(); - EXPECT_EQ(1ul, test_ukm_recorder().sources_count()); - const ukm::UkmSource* source = test_ukm_recorder().GetSourceForUrl(kTestUrl1); - EXPECT_EQ(GURL(kTestUrl1), source->url()); + std::map<ukm::SourceId, ukm::mojom::UkmEntryPtr> merged_entries = + test_ukm_recorder().GetMergedEntriesByName( + internal::kUkmPageLoadEventName); + EXPECT_EQ(1ul, merged_entries.size()); - EXPECT_GE(test_ukm_recorder().entries_count(), 1ul); - test_ukm_recorder().ExpectMetric( - *source, internal::kUkmPageLoadEventName, - internal::kUkmEffectiveConnectionType, - metrics::SystemProfileProto::Network::EFFECTIVE_CONNECTION_TYPE_3G); - test_ukm_recorder().ExpectMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmHttpRttEstimate, 100); - test_ukm_recorder().ExpectMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmTransportRttEstimate, 200); - test_ukm_recorder().ExpectMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmDownstreamKbpsEstimate, 300); + for (const auto& kv : merged_entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(kv.second.get(), + GURL(kTestUrl1)); + test_ukm_recorder().ExpectEntryMetric( + kv.second.get(), internal::kUkmEffectiveConnectionType, + metrics::SystemProfileProto::Network::EFFECTIVE_CONNECTION_TYPE_3G); + test_ukm_recorder().ExpectEntryMetric(kv.second.get(), + internal::kUkmHttpRttEstimate, 100); + test_ukm_recorder().ExpectEntryMetric( + kv.second.get(), internal::kUkmTransportRttEstimate, 200); + test_ukm_recorder().ExpectEntryMetric( + kv.second.get(), internal::kUkmDownstreamKbpsEstimate, 300); + } } TEST_F(UkmPageLoadMetricsObserverTest, PageTransitionReload) { @@ -295,12 +304,16 @@ // Simulate closing the tab. DeleteContents(); - EXPECT_EQ(1ul, test_ukm_recorder().sources_count()); - const ukm::UkmSource* source = test_ukm_recorder().GetSourceForUrl(kTestUrl1); - EXPECT_EQ(GURL(kTestUrl1), source->url()); + std::map<ukm::SourceId, ukm::mojom::UkmEntryPtr> merged_entries = + test_ukm_recorder().GetMergedEntriesByName( + internal::kUkmPageLoadEventName); + EXPECT_EQ(1ul, merged_entries.size()); - EXPECT_GE(test_ukm_recorder().entries_count(), 1ul); - test_ukm_recorder().ExpectMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmPageTransition, - ui::PAGE_TRANSITION_RELOAD); + for (const auto& kv : merged_entries) { + test_ukm_recorder().ExpectEntrySourceHasUrl(kv.second.get(), + GURL(kTestUrl1)); + test_ukm_recorder().ExpectEntryMetric(kv.second.get(), + internal::kUkmPageTransition, + ui::PAGE_TRANSITION_RELOAD); + } }
diff --git a/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc b/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc index e5c192b..d0b58bf 100644 --- a/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc +++ b/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc
@@ -415,18 +415,20 @@ histogram_tester_.ExpectTotalCount( internal::kHistogramPageTimingForegroundDuration, 1); - const ukm::UkmSource* source = test_ukm_recorder_->GetSourceForUrl(url); - EXPECT_NE(nullptr, source); - EXPECT_TRUE( - test_ukm_recorder_->HasMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmDomContentLoadedName)); - EXPECT_TRUE(test_ukm_recorder_->HasMetric( - *source, internal::kUkmPageLoadEventName, internal::kUkmLoadEventName)); - EXPECT_TRUE(test_ukm_recorder_->HasMetric( - *source, internal::kUkmPageLoadEventName, internal::kUkmFirstPaintName)); - EXPECT_TRUE( - test_ukm_recorder_->HasMetric(*source, internal::kUkmPageLoadEventName, - internal::kUkmFirstContentfulPaintName)); + const auto& entries = test_ukm_recorder_->GetMergedEntriesByName( + internal::kUkmPageLoadEventName); + EXPECT_EQ(1u, entries.size()); + for (const auto& kv : entries) { + test_ukm_recorder_->ExpectEntrySourceHasUrl(kv.second.get(), url); + EXPECT_TRUE(test_ukm_recorder_->EntryHasMetric( + kv.second.get(), internal::kUkmDomContentLoadedName)); + EXPECT_TRUE(test_ukm_recorder_->EntryHasMetric( + kv.second.get(), internal::kUkmLoadEventName)); + EXPECT_TRUE(test_ukm_recorder_->EntryHasMetric( + kv.second.get(), internal::kUkmFirstPaintName)); + EXPECT_TRUE(test_ukm_recorder_->EntryHasMetric( + kv.second.get(), internal::kUkmFirstContentfulPaintName)); + } // Verify that NoPageLoadMetricsRecorded returns false when PageLoad metrics // have been recorded.
diff --git a/chrome/browser/password_manager/save_password_infobar_delegate_android_unittest.cc b/chrome/browser/password_manager/save_password_infobar_delegate_android_unittest.cc index e9f27172..da37ef6 100644 --- a/chrome/browser/password_manager/save_password_infobar_delegate_android_unittest.cc +++ b/chrome/browser/password_manager/save_password_infobar_delegate_android_unittest.cc
@@ -214,17 +214,22 @@ } // Verify metrics. - const ukm::UkmSource* source = - test_ukm_recorder.GetSourceForUrl("https://www.example.com/"); - ASSERT_TRUE(source); - test_ukm_recorder.ExpectMetric(*source, UkmEntry::kEntryName, - UkmEntry::kSaving_Prompt_ShownName, 1); - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, UkmEntry::kSaving_Prompt_TriggerName, - static_cast<int64_t>(BubbleTrigger::kPasswordManagerSuggestionAutomatic)); - test_ukm_recorder.ExpectMetric(*source, UkmEntry::kEntryName, - UkmEntry::kSaving_Prompt_InteractionName, - static_cast<int64_t>(dismissal_reason)); + const auto& entries = + test_ukm_recorder.GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl(entry, + GURL("https://www.example.com/")); + test_ukm_recorder.ExpectEntryMetric(entry, + UkmEntry::kSaving_Prompt_ShownName, 1); + test_ukm_recorder.ExpectEntryMetric( + entry, UkmEntry::kSaving_Prompt_TriggerName, + static_cast<int64_t>( + BubbleTrigger::kPasswordManagerSuggestionAutomatic)); + test_ukm_recorder.ExpectEntryMetric( + entry, UkmEntry::kSaving_Prompt_InteractionName, + static_cast<int64_t>(dismissal_reason)); + } } INSTANTIATE_TEST_CASE_P(
diff --git a/chrome/browser/resources/chromeos/login/encryption_migration.css b/chrome/browser/resources/chromeos/login/encryption_migration.css index 7b948b0d..4d2c5fe 100644 --- a/chrome/browser/resources/chromeos/login/encryption_migration.css +++ b/chrome/browser/resources/chromeos/login/encryption_migration.css
@@ -3,7 +3,12 @@ * found in the LICENSE file. */ oobe-dialog { - max-width: 768px; + height: 640px; + max-height: calc(100vh - 47px); /* Subtracting #login-header-bar's height. */ + max-width: 100vw; + min-height: 0 !important; /* Making <oobe-dialog> shrinkable. */ + min-width: 0 !important; /* Making <oobe-dialog> shrinkable. */ + width: 768px; } oobe-dialog div { @@ -38,6 +43,10 @@ background: url(chrome://oobe/product-logo.png) center/100% no-repeat; } +.footer { + overflow: hidden; +} + .footer div { color: rgb(51, 51, 51); font-size: 13px;
diff --git a/chrome/browser/resources/md_extensions/toolbar.js b/chrome/browser/resources/md_extensions/toolbar.js index c75dec6..f435a52 100644 --- a/chrome/browser/resources/md_extensions/toolbar.js +++ b/chrome/browser/resources/md_extensions/toolbar.js
@@ -65,8 +65,8 @@ /** @private */ onDevModeToggleChange_: function() { const drawer = this.$.devDrawer; - if (drawer.hasAttribute('hidden')) { - drawer.removeAttribute('hidden'); + if (drawer.hidden) { + drawer.hidden = false; // Requesting the offsetTop will cause a reflow (to account for hidden). /** @suppress {suspiciousCode} */ drawer.offsetTop; } @@ -77,11 +77,7 @@ onInDevModeChanged_: function() { // Set the initial state. this.expanded_ = this.inDevMode; - if (this.inDevMode) { - this.$.devDrawer.removeAttribute('hidden'); - } else { - this.$.devDrawer.setAttribute('hidden', ''); - } + this.$.devDrawer.hidden = !this.inDevMode; }, /** @private */
diff --git a/chrome/browser/ui/blocked_content/popup_opener_tab_helper_unittest.cc b/chrome/browser/ui/blocked_content/popup_opener_tab_helper_unittest.cc index 1d4627b..c9d5cc8 100644 --- a/chrome/browser/ui/blocked_content/popup_opener_tab_helper_unittest.cc +++ b/chrome/browser/ui/blocked_content/popup_opener_tab_helper_unittest.cc
@@ -576,21 +576,23 @@ EXPECT_EQ(first_url.host(), sample); EXPECT_EQ(rappor::UMA_RAPPOR_TYPE, type); - const ukm::UkmSource* opener_source = - test_ukm_recorder.GetSourceForUrl(first_url); - ASSERT_TRUE(opener_source); - EXPECT_EQ(first_url, opener_source->url()); - EXPECT_GE(test_ukm_recorder.entries_count(), 1ul); - test_ukm_recorder.ExpectMetric(*opener_source, UkmEntry::kEntryName, - UkmEntry::kDidTabUnderName, true); + auto entries = test_ukm_recorder.GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl(entry, first_url); + test_ukm_recorder.ExpectEntryMetric(entry, UkmEntry::kDidTabUnderName, + true); + } const GURL final_url("https://final.test/"); content::NavigationSimulator::NavigateAndCommitFromDocument(final_url, main_rfh()); - const ukm::UkmSource* final_source = - test_ukm_recorder.GetSourceForUrl(final_url); - ASSERT_TRUE(final_source); - EXPECT_FALSE(test_ukm_recorder.HasEntry(*final_source, UkmEntry::kEntryName)); + + auto entries2 = test_ukm_recorder.GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries2.size()); + for (const auto* const entry : entries2) { + test_ukm_recorder.ExpectEntrySourceHasUrl(entry, first_url); + } } TEST_F(BlockTabUnderTest, LogsToConsole) {
diff --git a/chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc b/chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc index ed9f350..72cd17a 100644 --- a/chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc +++ b/chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc
@@ -597,27 +597,31 @@ ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(GetStore())); // Verify metrics. - const ukm::UkmSource* source = - test_ukm_recorder.GetSourceForUrl("https://www.example.com/"); - ASSERT_TRUE(source); - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, - update ? UkmEntry::kUpdating_Prompt_ShownName - : UkmEntry::kSaving_Prompt_ShownName, - 1); - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, - update ? UkmEntry::kUpdating_Prompt_TriggerName - : UkmEntry::kSaving_Prompt_TriggerName, - static_cast<int64_t>( - credential_management_api - ? BubbleTrigger::kCredentialManagementAPIAutomatic - : BubbleTrigger::kPasswordManagerSuggestionAutomatic)); - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, - update ? UkmEntry::kUpdating_Prompt_InteractionName - : UkmEntry::kSaving_Prompt_InteractionName, - static_cast<int64_t>(interaction)); + const auto& entries = + test_ukm_recorder.GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl( + entry, GURL("https://www.example.com/")); + test_ukm_recorder.ExpectEntryMetric( + entry, + update ? UkmEntry::kUpdating_Prompt_ShownName + : UkmEntry::kSaving_Prompt_ShownName, + 1); + test_ukm_recorder.ExpectEntryMetric( + entry, + update ? UkmEntry::kUpdating_Prompt_TriggerName + : UkmEntry::kSaving_Prompt_TriggerName, + static_cast<int64_t>( + credential_management_api + ? BubbleTrigger::kCredentialManagementAPIAutomatic + : BubbleTrigger::kPasswordManagerSuggestionAutomatic)); + test_ukm_recorder.ExpectEntryMetric( + entry, + update ? UkmEntry::kUpdating_Prompt_InteractionName + : UkmEntry::kSaving_Prompt_InteractionName, + static_cast<int64_t>(interaction)); + } } } }
diff --git a/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc b/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc index e74681a..72a7fe5 100644 --- a/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc +++ b/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
@@ -492,28 +492,30 @@ ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(controller())); // Verify metrics. - const ukm::UkmSource* source = - test_ukm_recorder.GetSourceForUrl("http://www.example.com/"); - ASSERT_TRUE(source); + const auto& entries = + test_ukm_recorder.GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl( + entry, GURL("http://www.example.com/")); - if (test.edit_username) { - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, - UkmEntry::kUser_Action_EditedUsernameInBubbleName, 1u); - } else { - EXPECT_FALSE(test_ukm_recorder.HasMetric( - *source, UkmEntry::kEntryName, - UkmEntry::kUser_Action_EditedUsernameInBubbleName)); - } + if (test.edit_username) { + test_ukm_recorder.ExpectEntryMetric( + entry, UkmEntry::kUser_Action_EditedUsernameInBubbleName, 1u); + } else { + EXPECT_FALSE(test_ukm_recorder.EntryHasMetric( + entry, UkmEntry::kUser_Action_EditedUsernameInBubbleName)); + } - if (test.change_password) { - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, - UkmEntry::kUser_Action_SelectedDifferentPasswordInBubbleName, 1u); - } else { - EXPECT_FALSE(test_ukm_recorder.HasMetric( - *source, UkmEntry::kEntryName, - UkmEntry::kUser_Action_SelectedDifferentPasswordInBubbleName)); + if (test.change_password) { + test_ukm_recorder.ExpectEntryMetric( + entry, UkmEntry::kUser_Action_SelectedDifferentPasswordInBubbleName, + 1u); + } else { + EXPECT_FALSE(test_ukm_recorder.EntryHasMetric( + entry, + UkmEntry::kUser_Action_SelectedDifferentPasswordInBubbleName)); + } } histogram_tester.ExpectUniqueSample("PasswordManager.EditsInSaveBubble",
diff --git a/chrome/browser/ui/tabs/tab_activity_watcher_unittest.cc b/chrome/browser/ui/tabs/tab_activity_watcher_unittest.cc index bf4445c..a85017e 100644 --- a/chrome/browser/ui/tabs/tab_activity_watcher_unittest.cc +++ b/chrome/browser/ui/tabs/tab_activity_watcher_unittest.cc
@@ -56,6 +56,7 @@ {TabManager_TabMetrics::kMouseEventCountName, 0}, {TabManager_TabMetrics::kSiteEngagementScoreName, 0}, {TabManager_TabMetrics::kTouchEventCountName, 0}, + {TabManager_TabMetrics::kWasRecentlyAudibleName, 0}, }); // Helper class to respond to WebContents lifecycle events we can't @@ -247,9 +248,7 @@ tab_strip_model->SetTabPinned(0, true); EXPECT_FALSE(WasNewEntryRecorded()); - LOG(ERROR) << "this is 247"; // Pinning and unpinning the background tab triggers logging. - LOG(ERROR) << "this is 249"; tab_strip_model->SetTabPinned(1, true); UkmMetricMap expected_metrics(kBasicMetricValues); expected_metrics[TabManager_TabMetrics::kIsPinnedName] = 1; @@ -303,6 +302,9 @@ SiteEngagementService::Get(profile())->ResetBaseScoreForURL(kTestUrls[1], 45); expected_metrics[TabManager_TabMetrics::kSiteEngagementScoreName] = 40; + WebContentsTester::For(test_contents_2)->SetWasRecentlyAudible(true); + expected_metrics[TabManager_TabMetrics::kWasRecentlyAudibleName] = 1; + // Pin the background tab to log an event. (This moves it to index 0.) tab_strip_model->SetTabPinned(1, true); expected_metrics[TabManager_TabMetrics::kIsPinnedName] = 1; @@ -311,11 +313,14 @@ ExpectNewEntry(kTestUrls[1], expected_metrics); } - // Navigate the background tab to a new domain. + // Unset WasRecentlyAudible and navigate the background tab to a new domain. // Site engagement score for the new domain is 0. + WebContentsTester::For(test_contents_2)->SetWasRecentlyAudible(false); + expected_metrics[TabManager_TabMetrics::kWasRecentlyAudibleName] = 0; WebContentsTester::For(test_contents_2)->NavigateAndCommit(kTestUrls[2]); - WebContentsTester::For(test_contents_2)->TestSetIsLoading(false); expected_metrics[TabManager_TabMetrics::kSiteEngagementScoreName] = 0; + + WebContentsTester::For(test_contents_2)->TestSetIsLoading(false); { SCOPED_TRACE(""); ExpectNewEntry(kTestUrls[2], expected_metrics);
diff --git a/chrome/browser/ui/tabs/tab_metrics_logger_impl.cc b/chrome/browser/ui/tabs/tab_metrics_logger_impl.cc index 70ff38d..d395ea7 100644 --- a/chrome/browser/ui/tabs/tab_metrics_logger_impl.cc +++ b/chrome/browser/ui/tabs/tab_metrics_logger_impl.cc
@@ -100,6 +100,10 @@ // TODO(michaelpg): Add PluginType field if mime type matches "application/*" // using PluginUMAReporter. + // This checks if the tab was audible within the past two seconds, same as the + // audio indicator in the tab strip. + entry.SetWasRecentlyAudible(web_contents->WasRecentlyAudible()); + entry.SetIsPinned(tab_strip_model->IsTabPinned(index)) .SetHasFormEntry( web_contents->GetPageImportanceSignals().had_form_interaction)
diff --git a/chrome/browser/ui/views/payments/payment_request_journey_logger_browsertest.cc b/chrome/browser/ui/views/payments/payment_request_journey_logger_browsertest.cc index 3fc9112..61b7f51 100644 --- a/chrome/browser/ui/views/payments/payment_request_journey_logger_browsertest.cc +++ b/chrome/browser/ui/views/payments/payment_request_journey_logger_browsertest.cc
@@ -16,6 +16,7 @@ #include "components/autofill/core/browser/credit_card.h" #include "components/payments/core/journey_logger.h" #include "components/ukm/test_ukm_recorder.h" +#include "components/ukm/ukm_source.h" #include "content/public/common/content_features.h" #include "content/public/test/browser_test_utils.h" #include "services/metrics/public/cpp/ukm_builders.h" @@ -1064,12 +1065,9 @@ // Important: Even though the Payment Request is in the iframe, no UKM was // logged for the iframe URL, only for the main frame. - std::vector<const ukm::UkmSource*> sources = - test_ukm_recorder_->GetSourcesForUrl(iframe_url.spec().c_str()); - EXPECT_TRUE(sources.empty()); - - sources = test_ukm_recorder_->GetSourcesForUrl(main_frame_url.spec().c_str()); - EXPECT_FALSE(sources.empty()); + for (const auto& kv : test_ukm_recorder_->GetSources()) { + EXPECT_NE(iframe_url, kv.second->url()); + } // Make sure the UKM was logged correctly. auto entries = test_ukm_recorder_->GetEntriesByName(
diff --git a/chrome/browser/vr/ui_scene_creator.cc b/chrome/browser/vr/ui_scene_creator.cc index e2df48c3..7855cb0 100644 --- a/chrome/browser/vr/ui_scene_creator.cc +++ b/chrome/browser/vr/ui_scene_creator.cc
@@ -748,7 +748,6 @@ speech_result->set_hit_testable(false); speech_result->SetSize(kVoiceSearchRecognitionResultTextWidth, 0); speech_result->SetTextAlignment(UiTexture::kTextAlignmentCenter); - speech_result->SetSize(kSuggestionTextFieldWidth, 0); BindColor(model_, speech_result.get(), &ColorScheme::prompt_foreground, &Text::SetColor); speech_result->AddBinding(VR_BIND_FUNC(base::string16, Model, model_,
diff --git a/chromeos/dbus/proto/media_perception.proto b/chromeos/dbus/proto/media_perception.proto index c3f8474..84ea834 100644 --- a/chromeos/dbus/proto/media_perception.proto +++ b/chromeos/dbus/proto/media_perception.proto
@@ -28,6 +28,20 @@ repeated PerceptionSample perception_sample = 1; } +message VideoStreamParam { + // Identifies the video stream described by these parameters. + optional string id = 1; + + // Frame width in pixels. + optional int32 width = 2; + + // Frame height in pixels. + optional int32 height = 3; + + // The frame rate at which this video stream would be processed. + optional float frame_rate = 4; +} + message State { enum Status { STATUS_UNSPECIFIED = 0; // Unused required default value for Proto enums. @@ -46,6 +60,9 @@ // Device context so that the media analytics process can better select the // right video device to open. optional string device_context = 2; + + // A list of video streams processed by the analytics process. + repeated VideoStreamParam video_stream_param = 3; } // This is the output of the MediaPerceptionSinkCalculator.
diff --git a/components/autofill/core/browser/autofill_metrics_unittest.cc b/components/autofill/core/browser/autofill_metrics_unittest.cc index 180e74f0..b9ef7914 100644 --- a/components/autofill/core/browser/autofill_metrics_unittest.cc +++ b/components/autofill/core/browser/autofill_metrics_unittest.cc
@@ -354,35 +354,25 @@ DISALLOW_COPY_AND_ASSIGN(TestAutofillManager); }; -MATCHER(CompareMetrics, "") { - const ukm::mojom::UkmMetric* lhs = ::testing::get<0>(arg).get(); - const std::pair<const char*, int64_t>& rhs = ::testing::get<1>(arg); - return lhs->metric_hash == base::HashMetricName(rhs.first) && - lhs->value == rhs.second; -} - void VerifyDeveloperEngagementUkm( const ukm::TestAutoSetUkmRecorder& ukm_recorder, const FormData& form, const std::vector<int64_t>& expected_metric_values) { - const ukm::mojom::UkmEntry* entry = - ukm_recorder.GetEntryForEntryName(UkmDeveloperEngagementType::kEntryName); - ASSERT_NE(nullptr, entry); - const ukm::UkmSource* source = - ukm_recorder.GetSourceForSourceId(entry->source_id); - ASSERT_NE(nullptr, source); - EXPECT_EQ(form.main_frame_origin.GetURL(), source->url()); - int expected_metric_value = 0; for (const auto it : expected_metric_values) expected_metric_value |= 1 << it; - const std::vector<std::pair<const char*, int64_t>> expected_metrics{ - {UkmDeveloperEngagementType::kDeveloperEngagementName, - expected_metric_value}}; - - EXPECT_THAT(entry->metrics, - UnorderedPointwise(CompareMetrics(), expected_metrics)); + auto entries = + ukm_recorder.GetEntriesByName(UkmDeveloperEngagementType::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + ukm_recorder.ExpectEntrySourceHasUrl(entry, + GURL(form.main_frame_origin.GetURL())); + EXPECT_EQ(1u, entry->metrics.size()); + ukm_recorder.ExpectEntryMetric( + entry, UkmDeveloperEngagementType::kDeveloperEngagementName, + expected_metric_value); + } } MATCHER(CompareMetricsIgnoringMillisecondsSinceFormParsed, "") { @@ -399,22 +389,16 @@ const FormData& form, const char* event_name, const ExpectedUkmMetrics& expected_metrics) { - size_t expected_metrics_index = 0; - for (size_t i = 0; i < ukm_recorder.entries_count(); ++i) { - const ukm::mojom::UkmEntry* entry = ukm_recorder.GetEntry(i); - if (entry->event_hash != base::HashMetricName(event_name)) - continue; + auto entries = ukm_recorder.GetEntriesByName(event_name); - const ukm::UkmSource* source = - ukm_recorder.GetSourceForSourceId(entry->source_id); - ASSERT_NE(nullptr, source); - EXPECT_EQ(form.main_frame_origin.GetURL(), source->url()); - - ASSERT_LT(expected_metrics_index, expected_metrics.size()); + EXPECT_LE(entries.size(), expected_metrics.size()); + for (size_t i = 0; i < expected_metrics.size() && i < entries.size(); i++) { + ukm_recorder.ExpectEntrySourceHasUrl(entries[i], + GURL(form.main_frame_origin.GetURL())); EXPECT_THAT( - entry->metrics, + entries[i]->metrics, UnorderedPointwise(CompareMetricsIgnoringMillisecondsSinceFormParsed(), - expected_metrics[expected_metrics_index++])); + expected_metrics[i])); } } @@ -1927,8 +1911,8 @@ autofill_manager_->OnFormsSeen(forms, TimeTicks::Now()); autofill_manager_->Reset(); - EXPECT_EQ(0U, test_ukm_recorder_.sources_count()); - EXPECT_EQ(0U, test_ukm_recorder_.entries_count()); + EXPECT_EQ(0ul, test_ukm_recorder_.sources_count()); + EXPECT_EQ(0ul, test_ukm_recorder_.entries_count()); } // Add another field to the form, so that it becomes fillable. @@ -1941,8 +1925,6 @@ autofill_manager_->OnFormsSeen(forms, TimeTicks::Now()); autofill_manager_->Reset(); - ASSERT_EQ(1U, test_ukm_recorder_.entries_count()); - ASSERT_EQ(1U, test_ukm_recorder_.sources_count()); VerifyDeveloperEngagementUkm( test_ukm_recorder_, form, {AutofillMetrics::FILLABLE_FORM_PARSED_WITHOUT_TYPE_HINTS}); @@ -1993,8 +1975,6 @@ autofill_manager_->OnFormsSeen(forms, TimeTicks::Now()); autofill_manager_->Reset(); - ASSERT_EQ(1U, test_ukm_recorder_.entries_count()); - ASSERT_EQ(1U, test_ukm_recorder_.sources_count()); VerifyDeveloperEngagementUkm( test_ukm_recorder_, form, {AutofillMetrics::FILLABLE_FORM_PARSED_WITH_TYPE_HINTS}); @@ -2037,8 +2017,6 @@ autofill_manager_->OnFormsSeen(forms, TimeTicks::Now()); autofill_manager_->Reset(); - ASSERT_EQ(1U, test_ukm_recorder_.entries_count()); - ASSERT_EQ(1U, test_ukm_recorder_.sources_count()); VerifyDeveloperEngagementUkm(test_ukm_recorder_, form, {AutofillMetrics::FORM_CONTAINS_UPI_VPA_HINT}); test_ukm_recorder_.Purge(); @@ -4984,9 +4962,6 @@ autofill_manager_->OnFormsSeen(forms, TimeTicks::Now()); histogram_tester.ExpectTotalCount("Autofill.FormSubmittedState", 0); - EXPECT_EQ(1U, test_ukm_recorder_.entries_count()); - EXPECT_EQ(1U, test_ukm_recorder_.sources_count()); - VerifyDeveloperEngagementUkm( test_ukm_recorder_, form, {AutofillMetrics::FILLABLE_FORM_PARSED_WITHOUT_TYPE_HINTS}); @@ -5242,8 +5217,6 @@ base::HistogramTester histogram_tester; base::UserActionTester user_action_tester; autofill_manager_->OnFormsSeen(forms, TimeTicks::Now()); - EXPECT_EQ(1U, test_ukm_recorder_.entries_count()); - EXPECT_EQ(1U, test_ukm_recorder_.sources_count()); VerifyDeveloperEngagementUkm( test_ukm_recorder_, form, {AutofillMetrics::FILLABLE_FORM_PARSED_WITHOUT_TYPE_HINTS}); @@ -6514,26 +6487,15 @@ AutofillMetrics::LogCardUploadDecisionsUkm(&test_ukm_recorder_, url, upload_decision); - - ASSERT_EQ(1U, test_ukm_recorder_.sources_count()); - const ukm::UkmSource* source = - test_ukm_recorder_.GetSourceForUrl(url.spec().c_str()); - EXPECT_EQ(url.spec(), source->url().spec()); - - ASSERT_EQ(1U, test_ukm_recorder_.entries_count()); - const ukm::mojom::UkmEntry* entry = test_ukm_recorder_.GetEntry(0); - - // Make sure that a card upload decision entry was logged. - EXPECT_EQ(source->id(), entry->source_id); - EXPECT_EQ(base::HashMetricName(UkmCardUploadDecisionType::kEntryName), - entry->event_hash); - EXPECT_EQ(1U, entry->metrics.size()); - - // Make sure that the correct upload decision was logged. - const ukm::mojom::UkmMetric* metric = ukm::TestUkmRecorder::FindMetric( - entry, UkmCardUploadDecisionType::kUploadDecisionName); - ASSERT_NE(nullptr, metric); - EXPECT_EQ(upload_decision, metric->value); + auto entries = test_ukm_recorder_.GetEntriesByName( + UkmCardUploadDecisionType::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder_.ExpectEntrySourceHasUrl(entry, url); + EXPECT_EQ(1u, entry->metrics.size()); + test_ukm_recorder_.ExpectEntryMetric( + entry, UkmCardUploadDecisionType::kUploadDecisionName, upload_decision); + } } // Tests that logging DeveloperEngagement UKM works as expected. @@ -6543,40 +6505,32 @@ AutofillMetrics::LogDeveloperEngagementUkm(&test_ukm_recorder_, url, form_structure_metric); - - ASSERT_EQ(1U, test_ukm_recorder_.sources_count()); - const ukm::UkmSource* source = - test_ukm_recorder_.GetSourceForUrl(url.spec().c_str()); - EXPECT_EQ(url.spec(), source->url().spec()); - - ASSERT_EQ(1U, test_ukm_recorder_.entries_count()); - const ukm::mojom::UkmEntry* entry = test_ukm_recorder_.GetEntry(0); - - // Make sure that a developer engagement entry was logged. - EXPECT_EQ(source->id(), entry->source_id); - EXPECT_EQ(base::HashMetricName(UkmDeveloperEngagementType::kEntryName), - entry->event_hash); - EXPECT_EQ(1U, entry->metrics.size()); - - // Make sure that the correct developer engagement metric was logged. - const ukm::mojom::UkmMetric* metric = ukm::TestUkmRecorder::FindMetric( - entry, UkmDeveloperEngagementType::kDeveloperEngagementName); - ASSERT_NE(nullptr, metric); - EXPECT_EQ(form_structure_metric, metric->value); + auto entries = test_ukm_recorder_.GetEntriesByName( + UkmDeveloperEngagementType::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder_.ExpectEntrySourceHasUrl(entry, url); + EXPECT_EQ(1u, entry->metrics.size()); + test_ukm_recorder_.ExpectEntryMetric( + entry, UkmDeveloperEngagementType::kDeveloperEngagementName, + form_structure_metric); + } } // Tests that no UKM is logged when the URL is not valid. TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric_InvalidUrl) { GURL url(""); AutofillMetrics::LogCardUploadDecisionsUkm(&test_ukm_recorder_, url, 1); - EXPECT_EQ(0U, test_ukm_recorder_.sources_count()); + EXPECT_EQ(0ul, test_ukm_recorder_.sources_count()); + EXPECT_EQ(0ul, test_ukm_recorder_.entries_count()); } // Tests that no UKM is logged when the ukm service is null. TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric_NoUkmService) { GURL url("https://www.google.com"); AutofillMetrics::LogCardUploadDecisionsUkm(nullptr, url, 1); - ASSERT_EQ(0U, test_ukm_recorder_.sources_count()); + EXPECT_EQ(0ul, test_ukm_recorder_.sources_count()); + EXPECT_EQ(0ul, test_ukm_recorder_.entries_count()); } } // namespace autofill
diff --git a/components/autofill/core/browser/credit_card_save_manager_unittest.cc b/components/autofill/core/browser/credit_card_save_manager_unittest.cc index f3a49d6..307627944 100644 --- a/components/autofill/core/browser/credit_card_save_manager_unittest.cc +++ b/components/autofill/core/browser/credit_card_save_manager_unittest.cc
@@ -504,16 +504,6 @@ DISALLOW_COPY_AND_ASSIGN(TestAutofillManager); }; -// Get Ukm sources from the Ukm service. -std::vector<const ukm::UkmSource*> GetUkmSources( - ukm::TestUkmRecorder* service) { - std::vector<const ukm::UkmSource*> sources; - for (const auto& kv : service->GetSources()) - sources.push_back(kv.second.get()); - - return sources; -} - } // anonymous namespace class TestCreditCardSaveManager : public CreditCardSaveManager { @@ -722,28 +712,14 @@ } void ExpectUniqueFillableFormParsedUkm() { - // Check that one source is logged. - ASSERT_EQ(1U, test_ukm_recorder_.sources_count()); - const ukm::UkmSource* source = GetUkmSources(&test_ukm_recorder_)[0]; - - // Check that one entry is logged. - EXPECT_EQ(1U, test_ukm_recorder_.entries_count()); - const ukm::mojom::UkmEntry* entry = test_ukm_recorder_.GetEntry(0); - EXPECT_EQ(source->id(), entry->source_id); - - EXPECT_EQ(source->id(), entry->source_id); - - // Check if there is an entry for developer engagement decision. - EXPECT_EQ(base::HashMetricName(UkmDeveloperEngagementType::kEntryName), - entry->event_hash); - EXPECT_EQ(1U, entry->metrics.size()); - - // Check that the expected developer engagement metric is logged. - const ukm::mojom::UkmMetric* metric = ukm::TestUkmRecorder::FindMetric( - entry, UkmDeveloperEngagementType::kDeveloperEngagementName); - ASSERT_NE(nullptr, metric); - EXPECT_EQ(1 << AutofillMetrics::FILLABLE_FORM_PARSED_WITHOUT_TYPE_HINTS, - metric->value); + auto entries = test_ukm_recorder_.GetEntriesByName( + UkmDeveloperEngagementType::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder_.ExpectEntryMetric( + entry, UkmDeveloperEngagementType::kDeveloperEngagementName, + 1 << AutofillMetrics::FILLABLE_FORM_PARSED_WITHOUT_TYPE_HINTS); + } } void ExpectUniqueCardUploadDecision( @@ -778,23 +754,13 @@ void ExpectMetric(const char* metric_name, const char* entry_name, int expected_metric_value, - int expected_num_matching_entries) { - int num_matching_entries = 0; - for (size_t i = 0; i < test_ukm_recorder_.entries_count(); ++i) { - const ukm::mojom::UkmEntry* entry = test_ukm_recorder_.GetEntry(i); - // Check if there is an entry for |entry_name|. - if (entry->event_hash == base::HashMetricName(entry_name)) { - EXPECT_EQ(1UL, entry->metrics.size()); - - // Check that the expected |metric_value| is logged. - const ukm::mojom::UkmMetric* metric = - ukm::TestUkmRecorder::FindMetric(entry, metric_name); - ASSERT_NE(nullptr, metric); - EXPECT_EQ(expected_metric_value, metric->value); - ++num_matching_entries; - } + size_t expected_num_matching_entries) { + auto entries = test_ukm_recorder_.GetEntriesByName(entry_name); + EXPECT_EQ(expected_num_matching_entries, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder_.ExpectEntryMetric(entry, metric_name, + expected_metric_value); } - EXPECT_EQ(expected_num_matching_entries, num_matching_entries); } protected:
diff --git a/components/offline_pages/core/offline_pages_ukm_reporter_unittest.cc b/components/offline_pages/core/offline_pages_ukm_reporter_unittest.cc index b2778d24..76834bd 100644 --- a/components/offline_pages/core/offline_pages_ukm_reporter_unittest.cc +++ b/components/offline_pages/core/offline_pages_ukm_reporter_unittest.cc
@@ -29,16 +29,17 @@ reporter.ReportUrlOfflineRequest(gurl, false); - EXPECT_EQ(1U, test_recorder()->sources_count()); - const ukm::UkmSource* found_source = - test_recorder()->GetSourceForUrl(kVisitedUrl); - EXPECT_NE(nullptr, found_source); - - test_recorder()->ExpectMetric( - *found_source, ukm::builders::OfflinePages_SavePageRequested::kEntryName, - ukm::builders::OfflinePages_SavePageRequested:: - kRequestedFromForegroundName, - 0); + const auto& entries = test_recorder()->GetEntriesByName( + ukm::builders::OfflinePages_SavePageRequested::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_recorder()->ExpectEntrySourceHasUrl(entry, gurl); + test_recorder()->ExpectEntryMetric( + entry, + ukm::builders::OfflinePages_SavePageRequested:: + kRequestedFromForegroundName, + 0); + } } } // namespace offline_pages
diff --git a/components/omnibox/browser/fake_autocomplete_provider_client.cc b/components/omnibox/browser/fake_autocomplete_provider_client.cc index 999a1bc..1787801 100644 --- a/components/omnibox/browser/fake_autocomplete_provider_client.cc +++ b/components/omnibox/browser/fake_autocomplete_provider_client.cc
@@ -4,6 +4,7 @@ #include "components/omnibox/browser/fake_autocomplete_provider_client.h" +#include "base/files/file_path.h" #include "base/memory/ptr_util.h" #include "base/run_loop.h" #include "components/bookmarks/browser/bookmark_model.h" @@ -12,19 +13,29 @@ #include "components/history/core/test/history_service_test_util.h" #include "components/omnibox/browser/in_memory_url_index.h" #include "components/omnibox/browser/in_memory_url_index_test_util.h" +#include "components/omnibox/browser/shortcuts_backend.h" +#include "components/search_engines/template_url_service.h" -FakeAutocompleteProviderClient::FakeAutocompleteProviderClient() +FakeAutocompleteProviderClient::FakeAutocompleteProviderClient( + bool create_history_db) : is_tab_open_with_url_(false) { + set_template_url_service(std::make_unique<TemplateURLService>(nullptr, 0)); + bookmark_model_ = bookmarks::TestBookmarkClient::CreateModel(); CHECK(history_dir_.CreateUniqueTempDir()); history_service_ = - history::CreateHistoryService(history_dir_.GetPath(), true); + history::CreateHistoryService(history_dir_.GetPath(), create_history_db); in_memory_url_index_.reset( new InMemoryURLIndex(bookmark_model_.get(), history_service_.get(), nullptr, history_dir_.GetPath(), SchemeSet())); in_memory_url_index_->Init(); + + shortcuts_backend_ = base::MakeRefCounted<ShortcutsBackend>( + GetTemplateURLService(), std::make_unique<SearchTermsData>(), + GetHistoryService(), base::FilePath(), true); + shortcuts_backend_->Init(); } FakeAutocompleteProviderClient::~FakeAutocompleteProviderClient() { @@ -32,10 +43,9 @@ // its destructor. GetInMemoryURLIndex()->Shutdown(); set_in_memory_url_index(nullptr); - // History index rebuild task is created from main thread during SetUp, - // performed on DB thread and must be deleted on main thread. - // Run main loop to process delete task, to prevent leaks. - base::RunLoop().RunUntilIdle(); + // Note that RunUntilIdle() must still be called after this, from + // whichever task model is being used, probably ScopedTaskEnvironment, + // or there will be memory leaks. } const AutocompleteSchemeClassifier& @@ -43,11 +53,6 @@ return scheme_classifier_; } -const SearchTermsData& FakeAutocompleteProviderClient::GetSearchTermsData() - const { - return search_terms_data_; -} - history::HistoryService* FakeAutocompleteProviderClient::GetHistoryService() { return history_service_.get(); } @@ -60,6 +65,21 @@ return in_memory_url_index_.get(); } +const SearchTermsData& FakeAutocompleteProviderClient::GetSearchTermsData() + const { + return search_terms_data_; +} + +scoped_refptr<ShortcutsBackend> +FakeAutocompleteProviderClient::GetShortcutsBackend() { + return shortcuts_backend_; +} + +scoped_refptr<ShortcutsBackend> +FakeAutocompleteProviderClient::GetShortcutsBackendIfExists() { + return shortcuts_backend_; +} + bool FakeAutocompleteProviderClient::IsTabOpenWithURL(const GURL& url) { return is_tab_open_with_url_; }
diff --git a/components/omnibox/browser/fake_autocomplete_provider_client.h b/components/omnibox/browser/fake_autocomplete_provider_client.h index a9aa057..b0f30be 100644 --- a/components/omnibox/browser/fake_autocomplete_provider_client.h +++ b/components/omnibox/browser/fake_autocomplete_provider_client.h
@@ -12,6 +12,7 @@ #include "components/omnibox/browser/in_memory_url_index.h" #include "components/omnibox/browser/mock_autocomplete_provider_client.h" #include "components/omnibox/browser/test_scheme_classifier.h" +#include "components/search_engines/search_terms_data.h" namespace bookmarks { class BookmarkModel; @@ -22,18 +23,27 @@ } // namespace history class InMemoryURLIndex; +class ShortcutsBackend; // Fully operational AutocompleteProviderClient for usage in tests. +// Note: The history index rebuild task is created from main thread, usually +// during SetUp(), performed on DB thread and must be deleted on main thread. +// Run main loop to process delete task, to prevent leaks. +// Note that these tests have switched to using a ScopedTaskEnvironment, +// so clearing that task queue is done through +// scoped_task_environment_.RunUntilIdle(). class FakeAutocompleteProviderClient : public MockAutocompleteProviderClient { public: - FakeAutocompleteProviderClient(); + explicit FakeAutocompleteProviderClient(bool create_history_db = true); ~FakeAutocompleteProviderClient() override; const AutocompleteSchemeClassifier& GetSchemeClassifier() const override; - const SearchTermsData& GetSearchTermsData() const override; history::HistoryService* GetHistoryService() override; bookmarks::BookmarkModel* GetBookmarkModel() override; InMemoryURLIndex* GetInMemoryURLIndex() override; + const SearchTermsData& GetSearchTermsData() const override; + scoped_refptr<ShortcutsBackend> GetShortcutsBackend() override; + scoped_refptr<ShortcutsBackend> GetShortcutsBackendIfExists() override; void set_in_memory_url_index(std::unique_ptr<InMemoryURLIndex> index) { in_memory_url_index_ = std::move(index); @@ -52,6 +62,7 @@ std::unique_ptr<InMemoryURLIndex> in_memory_url_index_; std::unique_ptr<history::HistoryService> history_service_; bool is_tab_open_with_url_; + scoped_refptr<ShortcutsBackend> shortcuts_backend_; DISALLOW_COPY_AND_ASSIGN(FakeAutocompleteProviderClient); };
diff --git a/components/omnibox/browser/history_provider_unittest.cc b/components/omnibox/browser/history_provider_unittest.cc index f542a0a..bfed8fcc 100644 --- a/components/omnibox/browser/history_provider_unittest.cc +++ b/components/omnibox/browser/history_provider_unittest.cc
@@ -57,6 +57,7 @@ void HistoryProviderTest::TearDown() { provider_ = nullptr; client_.reset(); + scoped_task_environment_.RunUntilIdle(); } } // namespace
diff --git a/components/omnibox/browser/history_quick_provider_performance_unittest.cc b/components/omnibox/browser/history_quick_provider_performance_unittest.cc index 7e2ff77..0bef4305 100644 --- a/components/omnibox/browser/history_quick_provider_performance_unittest.cc +++ b/components/omnibox/browser/history_quick_provider_performance_unittest.cc
@@ -117,6 +117,7 @@ void HQPPerfTestOnePopularURL::TearDown() { provider_ = nullptr; client_.reset(); + scoped_task_environment_.RunUntilIdle(); } void HQPPerfTestOnePopularURL::PrepareData() {
diff --git a/components/omnibox/browser/history_quick_provider_unittest.cc b/components/omnibox/browser/history_quick_provider_unittest.cc index 4b605827..5811e04 100644 --- a/components/omnibox/browser/history_quick_provider_unittest.cc +++ b/components/omnibox/browser/history_quick_provider_unittest.cc
@@ -219,6 +219,7 @@ void HistoryQuickProviderTest::TearDown() { provider_ = nullptr; client_.reset(); + scoped_task_environment_.RunUntilIdle(); } std::vector<HistoryQuickProviderTest::TestURLInfo>
diff --git a/components/omnibox/browser/history_url_provider_unittest.cc b/components/omnibox/browser/history_url_provider_unittest.cc index ae109a6..2d876490 100644 --- a/components/omnibox/browser/history_url_provider_unittest.cc +++ b/components/omnibox/browser/history_url_provider_unittest.cc
@@ -10,7 +10,6 @@ #include <memory> #include <utility> -#include "base/files/scoped_temp_dir.h" #include "base/macros.h" #include "base/memory/ptr_util.h" #include "base/run_loop.h" @@ -26,12 +25,10 @@ #include "components/omnibox/browser/autocomplete_provider.h" #include "components/omnibox/browser/autocomplete_provider_listener.h" #include "components/omnibox/browser/autocomplete_result.h" +#include "components/omnibox/browser/fake_autocomplete_provider_client.h" #include "components/omnibox/browser/history_quick_provider.h" -#include "components/omnibox/browser/mock_autocomplete_provider_client.h" -#include "components/omnibox/browser/test_scheme_classifier.h" #include "components/prefs/pref_service.h" #include "components/search_engines/default_search_manager.h" -#include "components/search_engines/search_terms_data.h" #include "components/search_engines/template_url.h" #include "components/search_engines/template_url_service.h" #include "components/url_formatter/url_fixer.h" @@ -171,38 +168,6 @@ {"https://www.wytih/file", "What you typed in history www file", 7, 7, 80}, }; -class AnonFakeAutocompleteProviderClient - : public MockAutocompleteProviderClient { - public: - explicit AnonFakeAutocompleteProviderClient(bool create_history_db) { - set_template_url_service(base::MakeUnique<TemplateURLService>(nullptr, 0)); - if (history_dir_.CreateUniqueTempDir()) { - history_service_ = history::CreateHistoryService(history_dir_.GetPath(), - create_history_db); - } - } - - const AutocompleteSchemeClassifier& GetSchemeClassifier() const override { - return scheme_classifier_; - } - - const SearchTermsData& GetSearchTermsData() const override { - return search_terms_data_; - } - - history::HistoryService* GetHistoryService() override { - return history_service_.get(); - } - - private: - TestSchemeClassifier scheme_classifier_; - SearchTermsData search_terms_data_; - base::ScopedTempDir history_dir_; - std::unique_ptr<history::HistoryService> history_service_; - - DISALLOW_COPY_AND_ASSIGN(AnonFakeAutocompleteProviderClient); -}; - } // namespace class HistoryURLProviderTest : public testing::Test, @@ -267,7 +232,7 @@ base::test::ScopedTaskEnvironment scoped_task_environment_; ACMatches matches_; - std::unique_ptr<AnonFakeAutocompleteProviderClient> client_; + std::unique_ptr<FakeAutocompleteProviderClient> client_; scoped_refptr<HistoryURLProvider> autocomplete_; // Should the matches be sorted and duplicates removed? bool sort_matches_; @@ -300,17 +265,18 @@ } bool HistoryURLProviderTest::SetUpImpl(bool create_history_db) { - client_ = - std::make_unique<AnonFakeAutocompleteProviderClient>(create_history_db); + client_ = std::make_unique<FakeAutocompleteProviderClient>(create_history_db); if (!client_->GetHistoryService()) return false; - autocomplete_ = new HistoryURLProvider(client_.get(), this); + autocomplete_ = base::MakeRefCounted<HistoryURLProvider>(client_.get(), this); FillData(); return true; } void HistoryURLProviderTest::TearDown() { autocomplete_ = nullptr; + client_.reset(); + scoped_task_environment_.RunUntilIdle(); } void HistoryURLProviderTest::FillData() { @@ -366,7 +332,7 @@ std::sort(matches_.begin(), matches_.end(), &AutocompleteMatch::MoreRelevant); } - SCOPED_TRACE(base::ASCIIToUTF16("input = ") + text); + SCOPED_TRACE(ASCIIToUTF16("input = ") + text); ASSERT_EQ(num_results, matches_.size()) << "Input text: " << text << "\nTLD: \"" << desired_tld << "\""; for (size_t i = 0; i < num_results; ++i) { @@ -386,7 +352,7 @@ ASSERT_FALSE(expected_match_contents_string.empty()); SCOPED_TRACE("input = " + input_text); - SCOPED_TRACE(base::ASCIIToUTF16("expected_match_contents = ") + + SCOPED_TRACE(ASCIIToUTF16("expected_match_contents = ") + expected_match_contents_string); AutocompleteInput input(ASCIIToUTF16(input_text), @@ -586,8 +552,8 @@ redirects_to_a.push_back(GURL(test_cases[2].url)); redirects_to_a.push_back(GURL(test_cases[0].url)); client_->GetHistoryService()->AddPage( - GURL(test_cases[0].url), base::Time::Now(), nullptr, 0, GURL(), - redirects_to_a, ui::PAGE_TRANSITION_TYPED, history::SOURCE_BROWSED, true); + GURL(test_cases[0].url), Time::Now(), nullptr, 0, GURL(), redirects_to_a, + ui::PAGE_TRANSITION_TYPED, history::SOURCE_BROWSED, true); // Because all the results are part of a redirect chain with other results, // all but the first one (A) should be culled. We should get the default
diff --git a/components/omnibox/browser/mock_autocomplete_provider_client.h b/components/omnibox/browser/mock_autocomplete_provider_client.h index 78c85bc6..7960e14 100644 --- a/components/omnibox/browser/mock_autocomplete_provider_client.h +++ b/components/omnibox/browser/mock_autocomplete_provider_client.h
@@ -50,13 +50,6 @@ bool create_if_necessary) const override { return contextual_suggestions_service_.get(); } - std::unique_ptr<KeywordExtensionsDelegate> GetKeywordExtensionsDelegate( - KeywordProvider* keyword_provider) override { - return nullptr; - } - physical_web::PhysicalWebDataSource* GetPhysicalWebDataSource() override { - return nullptr; - } MOCK_CONST_METHOD0(GetSearchTermsData, const SearchTermsData&()); @@ -67,6 +60,13 @@ scoped_refptr<ShortcutsBackend> GetShortcutsBackendIfExists() override { return nullptr; } + std::unique_ptr<KeywordExtensionsDelegate> GetKeywordExtensionsDelegate( + KeywordProvider* keyword_provider) override { + return nullptr; + } + physical_web::PhysicalWebDataSource* GetPhysicalWebDataSource() override { + return nullptr; + } MOCK_CONST_METHOD0(GetAcceptLanguages, std::string()); MOCK_METHOD0(GetEmbedderRepresentationOfAboutScheme, std::string()); @@ -88,12 +88,12 @@ void(history::KeywordID keyword_id, const base::string16& term)); MOCK_METHOD1(PrefetchImage, void(const GURL& url)); + bool IsTabOpenWithURL(const GURL& url) override { return false; } + void set_template_url_service(std::unique_ptr<TemplateURLService> service) { template_url_service_ = std::move(service); } - bool IsTabOpenWithURL(const GURL& url) override { return false; } - private: std::unique_ptr<ContextualSuggestionsService> contextual_suggestions_service_; std::unique_ptr<TemplateURLService> template_url_service_;
diff --git a/components/omnibox/browser/shortcuts_provider_unittest.cc b/components/omnibox/browser/shortcuts_provider_unittest.cc index 43cfbbc..ad94806 100644 --- a/components/omnibox/browser/shortcuts_provider_unittest.cc +++ b/components/omnibox/browser/shortcuts_provider_unittest.cc
@@ -23,18 +23,15 @@ #include "base/strings/utf_string_conversions.h" #include "base/test/scoped_task_environment.h" #include "base/test/sequenced_worker_pool_owner.h" -#include "components/history/core/browser/history_service.h" #include "components/history/core/browser/url_database.h" -#include "components/history/core/test/history_service_test_util.h" #include "components/omnibox/browser/autocomplete_input.h" #include "components/omnibox/browser/autocomplete_match.h" #include "components/omnibox/browser/autocomplete_provider.h" #include "components/omnibox/browser/autocomplete_result.h" +#include "components/omnibox/browser/fake_autocomplete_provider_client.h" #include "components/omnibox/browser/in_memory_url_index.h" -#include "components/omnibox/browser/mock_autocomplete_provider_client.h" #include "components/omnibox/browser/shortcuts_backend.h" #include "components/omnibox/browser/shortcuts_provider_test_util.h" -#include "components/omnibox/browser/test_scheme_classifier.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/metrics_proto/omnibox_event.pb.h" @@ -179,43 +176,6 @@ AutocompleteMatchType::HISTORY_URL, "", 1, 100 }, }; -class AnonFakeAutocompleteProviderClient - : public testing::NiceMock<MockAutocompleteProviderClient> { - public: - AnonFakeAutocompleteProviderClient() : pool_owner_(3, "Background Pool") { - set_template_url_service(base::MakeUnique<TemplateURLService>(nullptr, 0)); - if (history_dir_.CreateUniqueTempDir()) { - history_service_ = - history::CreateHistoryService(history_dir_.GetPath(), true); - } - - shortcuts_backend_ = new ShortcutsBackend( - GetTemplateURLService(), base::MakeUnique<SearchTermsData>(), - history_service_.get(), base::FilePath(), true); - shortcuts_backend_->Init(); - } - - history::HistoryService* GetHistoryService() override { - return history_service_.get(); - } - - scoped_refptr<ShortcutsBackend> GetShortcutsBackend() override { - return shortcuts_backend_; - } - - scoped_refptr<ShortcutsBackend> GetShortcutsBackendIfExists() override { - return shortcuts_backend_; - } - - private: - base::SequencedWorkerPoolOwner pool_owner_; - base::ScopedTempDir history_dir_; - std::unique_ptr<history::HistoryService> history_service_; - scoped_refptr<ShortcutsBackend> shortcuts_backend_; - - DISALLOW_COPY_AND_ASSIGN(AnonFakeAutocompleteProviderClient); -}; - } // namespace // ClassifyTest --------------------------------------------------------------- @@ -266,17 +226,17 @@ int max_relevance); base::test::ScopedTaskEnvironment scoped_task_environment_; - std::unique_ptr<AnonFakeAutocompleteProviderClient> client_; + std::unique_ptr<FakeAutocompleteProviderClient> client_; scoped_refptr<ShortcutsProvider> provider_; }; ShortcutsProviderTest::ShortcutsProviderTest() {} void ShortcutsProviderTest::SetUp() { - client_ = std::make_unique<AnonFakeAutocompleteProviderClient>(); + client_ = std::make_unique<FakeAutocompleteProviderClient>(); ASSERT_TRUE(client_->GetShortcutsBackend()); - provider_ = new ShortcutsProvider(client_.get()); + provider_ = base::MakeRefCounted<ShortcutsProvider>(client_.get()); PopulateShortcutsBackendWithTestData(client_->GetShortcutsBackend(), shortcut_test_db, arraysize(shortcut_test_db)); @@ -284,6 +244,8 @@ void ShortcutsProviderTest::TearDown() { provider_ = nullptr; + client_.reset(); + scoped_task_environment_.RunUntilIdle(); } int ShortcutsProviderTest::CalculateScore(
diff --git a/components/password_manager/core/browser/password_autofill_manager_unittest.cc b/components/password_manager/core/browser/password_autofill_manager_unittest.cc index b9f32f5..1fa952a 100644 --- a/components/password_manager/core/browser/password_autofill_manager_unittest.cc +++ b/components/password_manager/core/browser/password_autofill_manager_unittest.cc
@@ -1181,16 +1181,18 @@ manager.reset(); autofill_client.reset(); client.reset(); - const ukm::UkmSource* source = - test_ukm_recorder.GetSourceForUrl(kMainFrameUrl); - ASSERT_TRUE(source); - test_ukm_recorder.ExpectMetric( - *source, "PageWithPassword", password_manager::kUkmPageLevelUserAction, - static_cast<int64_t>( - password_manager::PasswordManagerMetricsRecorder:: - PageLevelUserAction::kShowAllPasswordsWhileSomeAreSuggested)); - + const auto& entries = + test_ukm_recorder.GetEntriesByName("PageWithPassword"); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl(entry, GURL(kMainFrameUrl)); + test_ukm_recorder.ExpectEntryMetric( + entry, password_manager::kUkmPageLevelUserAction, + static_cast<int64_t>( + password_manager::PasswordManagerMetricsRecorder:: + PageLevelUserAction::kShowAllPasswordsWhileSomeAreSuggested)); + } } else { EXPECT_THAT(histograms.GetAllSamples(kShownContextHistogram), testing::IsEmpty()); @@ -1268,15 +1270,18 @@ manager.reset(); autofill_client.reset(); client.reset(); - const ukm::UkmSource* source = - test_ukm_recorder.GetSourceForUrl(kMainFrameUrl); - ASSERT_TRUE(source); - test_ukm_recorder.ExpectMetric( - *source, "PageWithPassword", password_manager::kUkmPageLevelUserAction, - static_cast<int64_t>( - password_manager::PasswordManagerMetricsRecorder:: - PageLevelUserAction::kShowAllPasswordsWhileNoneAreSuggested)); + const auto& entries = + test_ukm_recorder.GetEntriesByName("PageWithPassword"); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl(entry, GURL(kMainFrameUrl)); + test_ukm_recorder.ExpectEntryMetric( + entry, password_manager::kUkmPageLevelUserAction, + static_cast<int64_t>( + password_manager::PasswordManagerMetricsRecorder:: + PageLevelUserAction::kShowAllPasswordsWhileNoneAreSuggested)); + } } else { EXPECT_THAT(histograms.GetAllSamples(kShownContextHistogram), testing::IsEmpty());
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 8a93eb9..7625fe3 100644 --- a/components/password_manager/core/browser/password_form_manager_unittest.cc +++ b/components/password_manager/core/browser/password_form_manager_unittest.cc
@@ -759,30 +759,6 @@ client()->mock_driver()->mock_autofill_download_manager()); } - // Returns the sample values of |metric_value| in events named |event_name|. - std::vector<int64_t> GetAllUkmSamples( - const ukm::TestAutoSetUkmRecorder& test_ukm_recorder, - base::StringPiece event_name, - base::StringPiece metric_name) { - std::vector<int64_t> values; - const ukm::UkmSource* source = - test_ukm_recorder.GetSourceForSourceId(client()->GetUkmSourceId()); - if (!source) - return values; - - for (size_t i = 0; i < test_ukm_recorder.entries_count(); ++i) { - const ukm::mojom::UkmEntry* entry = test_ukm_recorder.GetEntry(i); - if (entry->event_hash != base::HashMetricName(event_name)) - continue; - - for (const ukm::mojom::UkmMetricPtr& metric : entry->metrics) { - if (metric->metric_hash == base::HashMetricName(metric_name)) - values.push_back(metric->value); - } - } - return values; - } - PasswordForm* observed_form() { return &observed_form_; } PasswordForm* saved_match() { return &saved_match_; } PasswordForm* psl_saved_match() { return &psl_saved_match_; } @@ -3888,27 +3864,29 @@ ::testing::ElementsAre( base::Bucket(test_case.expected_histogram_sample_generated, 1))); EXPECT_THAT( - GetAllUkmSamples( - test_ukm_recorder, "PasswordForm", - "SuppressedAccount.Generated." + - std::string(suppression_params.expected_histogram_suffix)), - ::testing::ElementsAre( - test_case.expected_histogram_sample_generated / - PasswordFormMetricsRecorder::kMaxNumActionsTakenNew)); - EXPECT_THAT( histogram_tester.GetAllSamples( "PasswordManager.SuppressedAccount.Manual." + std::string(suppression_params.expected_histogram_suffix)), ::testing::ElementsAre( base::Bucket(test_case.expected_histogram_sample_manual, 1))); - EXPECT_THAT( - GetAllUkmSamples( - test_ukm_recorder, "PasswordForm", - "SuppressedAccount.Manual." + - std::string(suppression_params.expected_histogram_suffix)), - ::testing::ElementsAre( - test_case.expected_histogram_sample_manual / - PasswordFormMetricsRecorder::kMaxNumActionsTakenNew)); + + auto entries = test_ukm_recorder.GetEntriesByName( + ukm::builders::PasswordForm::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder.ExpectEntryMetric( + entry, + "SuppressedAccount.Generated." + + std::string(suppression_params.expected_histogram_suffix), + test_case.expected_histogram_sample_generated / + PasswordFormMetricsRecorder::kMaxNumActionsTakenNew); + test_ukm_recorder.ExpectEntryMetric( + entry, + "SuppressedAccount.Manual." + + std::string(suppression_params.expected_histogram_suffix), + test_case.expected_histogram_sample_manual / + PasswordFormMetricsRecorder::kMaxNumActionsTakenNew); + } } } } @@ -4086,13 +4064,15 @@ fetcher.SetNonFederated(fetched_forms, 0u); } - const auto* source = - test_ukm_recorder.GetSourceForUrl(form_to_fill.origin.spec().c_str()); - ASSERT_TRUE(source); - test_ukm_recorder.ExpectMetric( - *source, ukm::builders::PasswordForm::kEntryName, - ukm::builders::PasswordForm::kManagerFill_ActionName, - test.expected_event); + auto entries = test_ukm_recorder.GetEntriesByName( + ukm::builders::PasswordForm::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl(entry, form_to_fill.origin); + test_ukm_recorder.ExpectEntryMetric( + entry, ukm::builders::PasswordForm::kManagerFill_ActionName, + test.expected_event); + } } } TEST_F(PasswordFormManagerTest,
diff --git a/components/password_manager/core/browser/password_form_metrics_recorder_unittest.cc b/components/password_manager/core/browser/password_form_metrics_recorder_unittest.cc index fc39e30..b928e2a6 100644 --- a/components/password_manager/core/browser/password_form_metrics_recorder_unittest.cc +++ b/components/password_manager/core/browser/password_form_metrics_recorder_unittest.cc
@@ -41,19 +41,18 @@ const char* metric_name, int64_t value, int64_t expected_count) { - const ukm::UkmSource* source = test_ukm_recorder->GetSourceForUrl(kTestUrl); - ASSERT_TRUE(source); - - ASSERT_EQ(1U, test_ukm_recorder->entries_count()); - const ukm::mojom::UkmEntry* entry = test_ukm_recorder->GetEntry(0); - - int64_t occurrences = 0; - for (const ukm::mojom::UkmMetricPtr& metric : entry->metrics) { - if (metric->metric_hash == base::HashMetricName(metric_name) && - metric->value == value) - ++occurrences; + auto entries = test_ukm_recorder->GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder->ExpectEntrySourceHasUrl(entry, GURL(kTestUrl)); + if (expected_count) { + test_ukm_recorder->ExpectEntryMetric(entry, metric_name, value); + } else { + const int64_t* value = + test_ukm_recorder->GetEntryMetric(entry, metric_name); + EXPECT_TRUE(value == nullptr || *value != expected_count); + } } - EXPECT_EQ(expected_count, occurrences) << metric_name << ": " << value; } } // namespace @@ -302,11 +301,9 @@ break; } - const ukm::UkmSource* source = test_ukm_recorder.GetSourceForUrl(kTestUrl); - ASSERT_TRUE(source); - test_ukm_recorder.ExpectMetric(*source, UkmEntry::kEntryName, - UkmEntry::kUser_ActionSimplifiedName, - static_cast<int64_t>(test.user_action)); + ExpectUkmValueCount(&test_ukm_recorder, + UkmEntry::kUser_ActionSimplifiedName, + static_cast<int64_t>(test.user_action), 1); } } @@ -467,26 +464,29 @@ test.display_disposition); } // Verify data - const ukm::UkmSource* source = test_ukm_recorder.GetSourceForUrl(kTestUrl); - ASSERT_TRUE(source); - if (test.credential_source_type != - metrics_util::CredentialSourceType::kUnknown) { - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, test.expected_trigger_metric, - static_cast<int64_t>(test.expected_trigger_value)); - } else { - EXPECT_FALSE(test_ukm_recorder.HasMetric( - *source, UkmEntry::kEntryName, UkmEntry::kSaving_Prompt_TriggerName)); - EXPECT_FALSE( - test_ukm_recorder.HasMetric(*source, UkmEntry::kEntryName, - UkmEntry::kUpdating_Prompt_TriggerName)); + auto entries = test_ukm_recorder.GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl(entry, GURL(kTestUrl)); + + if (test.credential_source_type != + metrics_util::CredentialSourceType::kUnknown) { + test_ukm_recorder.ExpectEntryMetric( + entry, test.expected_trigger_metric, + static_cast<int64_t>(test.expected_trigger_value)); + } else { + EXPECT_FALSE(test_ukm_recorder.EntryHasMetric( + entry, UkmEntry::kSaving_Prompt_TriggerName)); + EXPECT_FALSE(test_ukm_recorder.EntryHasMetric( + entry, UkmEntry::kUpdating_Prompt_TriggerName)); + } + test_ukm_recorder.ExpectEntryMetric(entry, + UkmEntry::kSaving_Prompt_ShownName, + test.expected_save_prompt_shown); + test_ukm_recorder.ExpectEntryMetric(entry, + UkmEntry::kUpdating_Prompt_ShownName, + test.expected_update_prompt_shown); } - test_ukm_recorder.ExpectMetric(*source, UkmEntry::kEntryName, - UkmEntry::kSaving_Prompt_ShownName, - test.expected_save_prompt_shown); - test_ukm_recorder.ExpectMetric(*source, UkmEntry::kEntryName, - UkmEntry::kUpdating_Prompt_ShownName, - test.expected_update_prompt_shown); } } @@ -529,11 +529,14 @@ recorder->RecordUIDismissalReason(test.dismissal_reason); } // Verify data - const ukm::UkmSource* source = test_ukm_recorder.GetSourceForUrl(kTestUrl); - ASSERT_TRUE(source); - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, test.expected_trigger_metric, - static_cast<int64_t>(test.expected_metric_value)); + auto entries = test_ukm_recorder.GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl(entry, GURL(kTestUrl)); + test_ukm_recorder.ExpectEntryMetric( + entry, test.expected_trigger_metric, + static_cast<int64_t>(test.expected_metric_value)); + } } } @@ -560,24 +563,28 @@ recorder->RecordUIDismissalReason(metrics_util::CLICKED_SAVE); } // Verify recorded UKM data. - const ukm::UkmSource* source = test_ukm_recorder.GetSourceForUrl(kTestUrl); - ASSERT_TRUE(source); - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, UkmEntry::kSaving_Prompt_InteractionName, - static_cast<int64_t>(BubbleDismissalReason::kAccepted)); - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, UkmEntry::kUpdating_Prompt_InteractionName, - static_cast<int64_t>(BubbleDismissalReason::kAccepted)); - test_ukm_recorder.ExpectMetric(*source, UkmEntry::kEntryName, - UkmEntry::kUpdating_Prompt_ShownName, 1); - test_ukm_recorder.ExpectMetric(*source, UkmEntry::kEntryName, - UkmEntry::kSaving_Prompt_ShownName, 1); - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, UkmEntry::kSaving_Prompt_TriggerName, - static_cast<int64_t>(BubbleTrigger::kPasswordManagerSuggestionAutomatic)); - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, UkmEntry::kUpdating_Prompt_TriggerName, - static_cast<int64_t>(BubbleTrigger::kPasswordManagerSuggestionManual)); + auto entries = test_ukm_recorder.GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl(entry, GURL(kTestUrl)); + test_ukm_recorder.ExpectEntryMetric( + entry, UkmEntry::kSaving_Prompt_InteractionName, + static_cast<int64_t>(BubbleDismissalReason::kAccepted)); + test_ukm_recorder.ExpectEntryMetric( + entry, UkmEntry::kUpdating_Prompt_InteractionName, + static_cast<int64_t>(BubbleDismissalReason::kAccepted)); + test_ukm_recorder.ExpectEntryMetric( + entry, UkmEntry::kUpdating_Prompt_ShownName, 1); + test_ukm_recorder.ExpectEntryMetric(entry, + UkmEntry::kSaving_Prompt_ShownName, 1); + test_ukm_recorder.ExpectEntryMetric( + entry, UkmEntry::kSaving_Prompt_TriggerName, + static_cast<int64_t>( + BubbleTrigger::kPasswordManagerSuggestionAutomatic)); + test_ukm_recorder.ExpectEntryMetric( + entry, UkmEntry::kUpdating_Prompt_TriggerName, + static_cast<int64_t>(BubbleTrigger::kPasswordManagerSuggestionManual)); + } } // Verify that one-time actions are only recorded once per life-cycle of a @@ -593,18 +600,17 @@ recorder->RecordDetailedUserAction(Action::kCorrectedUsernameInForm); recorder->RecordDetailedUserAction(Action::kEditedUsernameInBubble); } - const ukm::UkmSource* source = test_ukm_recorder.GetSourceForUrl(kTestUrl); - ASSERT_TRUE(source); - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, - UkmEntry::kUser_Action_CorrectedUsernameInFormName, 2u); - test_ukm_recorder.ExpectMetric( - *source, UkmEntry::kEntryName, - UkmEntry::kUser_Action_EditedUsernameInBubbleName, 1u); - EXPECT_EQ(0, - test_ukm_recorder.CountMetrics( - *source, UkmEntry::kEntryName, - UkmEntry::kUser_Action_SelectedDifferentPasswordInBubbleName)); + auto entries = test_ukm_recorder.GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl(entry, GURL(kTestUrl)); + test_ukm_recorder.ExpectEntryMetric( + entry, UkmEntry::kUser_Action_CorrectedUsernameInFormName, 2u); + test_ukm_recorder.ExpectEntryMetric( + entry, UkmEntry::kUser_Action_EditedUsernameInBubbleName, 1u); + EXPECT_FALSE(test_ukm_recorder.EntryHasMetric( + entry, UkmEntry::kUser_Action_SelectedDifferentPasswordInBubbleName)); + } } } // namespace password_manager
diff --git a/components/password_manager/core/browser/password_manager_metrics_recorder_unittest.cc b/components/password_manager/core/browser/password_manager_metrics_recorder_unittest.cc index 956d362f..c0be3964 100644 --- a/components/password_manager/core/browser/password_manager_metrics_recorder_unittest.cc +++ b/components/password_manager/core/browser/password_manager_metrics_recorder_unittest.cc
@@ -40,10 +40,14 @@ CreateMetricsRecorder(&test_ukm_recorder)); recorder.RecordUserModifiedPasswordField(); } - const ukm::UkmSource* source = test_ukm_recorder.GetSourceForUrl(kTestUrl); - ASSERT_TRUE(source); - test_ukm_recorder.ExpectMetric(*source, "PageWithPassword", - kUkmUserModifiedPasswordField, 1); + + const auto& entries = test_ukm_recorder.GetEntriesByName("PageWithPassword"); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl(entry, GURL(kTestUrl)); + test_ukm_recorder.ExpectEntryMetric(entry, kUkmUserModifiedPasswordField, + 1); + } } TEST(PasswordManagerMetricsRecorder, UserModifiedPasswordFieldMultipleTimes) { @@ -56,10 +60,13 @@ recorder.RecordUserModifiedPasswordField(); recorder.RecordUserModifiedPasswordField(); } - const ukm::UkmSource* source = test_ukm_recorder.GetSourceForUrl(kTestUrl); - ASSERT_TRUE(source); - test_ukm_recorder.ExpectMetric(*source, "PageWithPassword", - kUkmUserModifiedPasswordField, 1); + const auto& entries = test_ukm_recorder.GetEntriesByName("PageWithPassword"); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl(entry, GURL(kTestUrl)); + test_ukm_recorder.ExpectEntryMetric(entry, kUkmUserModifiedPasswordField, + 1); + } } TEST(PasswordManagerMetricsRecorder, UserModifiedPasswordFieldNotCalled) { @@ -69,11 +76,13 @@ PasswordManagerMetricsRecorder recorder( CreateMetricsRecorder(&test_ukm_recorder)); } - const ukm::UkmSource* source = test_ukm_recorder.GetSourceForUrl(kTestUrl); - ASSERT_TRUE(source); - EXPECT_THAT(test_ukm_recorder.GetMetrics(*source, "PageWithPassword", - kUkmUserModifiedPasswordField), - Not(Contains(1))); + const auto& entries = test_ukm_recorder.GetEntriesByName("PageWithPassword"); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_ukm_recorder.ExpectEntrySourceHasUrl(entry, GURL(kTestUrl)); + EXPECT_FALSE( + test_ukm_recorder.EntryHasMetric(entry, kUkmUserModifiedPasswordField)); + } } } // namespace password_manager
diff --git a/components/payments/core/journey_logger_unittest.cc b/components/payments/core/journey_logger_unittest.cc index 0fadf05..b9b3f43 100644 --- a/components/payments/core/journey_logger_unittest.cc +++ b/components/payments/core/journey_logger_unittest.cc
@@ -950,33 +950,27 @@ logger.SetEventOccurred(JourneyLogger::EVENT_PAY_CLICKED); logger.SetAborted(JourneyLogger::ABORT_REASON_ABORTED_BY_USER); + int64_t expected_step_metric = + JourneyLogger::EVENT_SHOWN | JourneyLogger::EVENT_PAY_CLICKED | + JourneyLogger::EVENT_REQUEST_SHIPPING | + JourneyLogger::EVENT_REQUEST_PAYER_EMAIL | + JourneyLogger::EVENT_REQUEST_METHOD_BASIC_CARD | + JourneyLogger::EVENT_USER_ABORTED | + JourneyLogger::EVENT_HAD_INITIAL_FORM_OF_PAYMENT | + JourneyLogger::EVENT_HAD_NECESSARY_COMPLETE_SUGGESTIONS; + // Make sure the UKM was logged correctly. - ASSERT_EQ(1U, ukm_recorder.sources_count()); - const ukm::UkmSource* source = ukm_recorder.GetSourceForUrl(test_url); - ASSERT_NE(nullptr, source); - - ASSERT_EQ(1U, ukm_recorder.entries_count()); - const ukm::mojom::UkmEntry* entry = ukm_recorder.GetEntry(0); - EXPECT_EQ(source->id(), entry->source_id); - EXPECT_EQ(base::HashMetricName(UkmEntry::kEntryName), entry->event_hash); - - const ukm::mojom::UkmMetric* status_metric = - ukm::TestUkmRecorder::FindMetric(entry, UkmEntry::kCompletionStatusName); - ASSERT_NE(nullptr, status_metric); - EXPECT_EQ(JourneyLogger::COMPLETION_STATUS_USER_ABORTED, - status_metric->value); - - const ukm::mojom::UkmMetric* step_metric = - ukm::TestUkmRecorder::FindMetric(entry, UkmEntry::kEventsName); - ASSERT_NE(nullptr, step_metric); - EXPECT_EQ(JourneyLogger::EVENT_SHOWN | JourneyLogger::EVENT_PAY_CLICKED | - JourneyLogger::EVENT_REQUEST_SHIPPING | - JourneyLogger::EVENT_REQUEST_PAYER_EMAIL | - JourneyLogger::EVENT_REQUEST_METHOD_BASIC_CARD | - JourneyLogger::EVENT_USER_ABORTED | - JourneyLogger::EVENT_HAD_INITIAL_FORM_OF_PAYMENT | - JourneyLogger::EVENT_HAD_NECESSARY_COMPLETE_SUGGESTIONS, - step_metric->value); + auto entries = ukm_recorder.GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + ukm_recorder.ExpectEntrySourceHasUrl(entry, GURL(test_url)); + EXPECT_EQ(2U, entry->metrics.size()); + ukm_recorder.ExpectEntryMetric( + entry, UkmEntry::kCompletionStatusName, + JourneyLogger::COMPLETION_STATUS_USER_ABORTED); + ukm_recorder.ExpectEntryMetric(entry, UkmEntry::kEventsName, + expected_step_metric); + } } // Tests that the Payment Request UKMs are logged correctly when the user @@ -1004,31 +998,25 @@ logger.SetEventOccurred(JourneyLogger::EVENT_SHOWN); logger.SetCompleted(); + int64_t expected_step_metric = + JourneyLogger::EVENT_SHOWN | JourneyLogger::EVENT_REQUEST_SHIPPING | + JourneyLogger::EVENT_REQUEST_PAYER_EMAIL | + JourneyLogger::EVENT_REQUEST_METHOD_BASIC_CARD | + JourneyLogger::EVENT_COMPLETED | + JourneyLogger::EVENT_HAD_INITIAL_FORM_OF_PAYMENT | + JourneyLogger::EVENT_HAD_NECESSARY_COMPLETE_SUGGESTIONS; + // Make sure the UKM was logged correctly. - ASSERT_EQ(1U, ukm_recorder.sources_count()); - const ukm::UkmSource* source = ukm_recorder.GetSourceForUrl(test_url); - ASSERT_NE(nullptr, source); - - ASSERT_EQ(1U, ukm_recorder.entries_count()); - const ukm::mojom::UkmEntry* entry = ukm_recorder.GetEntry(0); - EXPECT_EQ(source->id(), entry->source_id); - EXPECT_EQ(base::HashMetricName(UkmEntry::kEntryName), entry->event_hash); - - const ukm::mojom::UkmMetric* status_metric = - ukm::TestUkmRecorder::FindMetric(entry, UkmEntry::kCompletionStatusName); - ASSERT_NE(nullptr, status_metric); - EXPECT_EQ(JourneyLogger::COMPLETION_STATUS_COMPLETED, status_metric->value); - - const ukm::mojom::UkmMetric* step_metric = - ukm::TestUkmRecorder::FindMetric(entry, UkmEntry::kEventsName); - ASSERT_NE(nullptr, step_metric); - EXPECT_EQ(JourneyLogger::EVENT_SHOWN | JourneyLogger::EVENT_REQUEST_SHIPPING | - JourneyLogger::EVENT_REQUEST_PAYER_EMAIL | - JourneyLogger::EVENT_REQUEST_METHOD_BASIC_CARD | - JourneyLogger::EVENT_COMPLETED | - JourneyLogger::EVENT_HAD_INITIAL_FORM_OF_PAYMENT | - JourneyLogger::EVENT_HAD_NECESSARY_COMPLETE_SUGGESTIONS, - step_metric->value); + auto entries = ukm_recorder.GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* const entry : entries) { + ukm_recorder.ExpectEntrySourceHasUrl(entry, GURL(test_url)); + EXPECT_EQ(2U, entry->metrics.size()); + ukm_recorder.ExpectEntryMetric(entry, UkmEntry::kCompletionStatusName, + JourneyLogger::COMPLETION_STATUS_COMPLETED); + ukm_recorder.ExpectEntryMetric(entry, UkmEntry::kEventsName, + expected_step_metric); + } } } // namespace payments
diff --git a/components/translate/core/browser/BUILD.gn b/components/translate/core/browser/BUILD.gn index 67dcb77..e1b185f 100644 --- a/components/translate/core/browser/BUILD.gn +++ b/components/translate/core/browser/BUILD.gn
@@ -120,6 +120,7 @@ "//components/ukm:test_support", "//components/variations", "//net:test_support", + "//services/metrics/public/cpp:ukm_builders", "//testing/gtest", "//third_party/metrics_proto", "//ui/base",
diff --git a/components/translate/core/browser/translate_ranker_impl_unittest.cc b/components/translate/core/browser/translate_ranker_impl_unittest.cc index 7227435..41b87a4f 100644 --- a/components/translate/core/browser/translate_ranker_impl_unittest.cc +++ b/components/translate/core/browser/translate_ranker_impl_unittest.cc
@@ -21,6 +21,7 @@ #include "components/ukm/ukm_source.h" #include "net/url_request/test_url_fetcher_factory.h" #include "net/url_request/url_request_test_util.h" +#include "services/metrics/public/cpp/ukm_builders.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/metrics_proto/translate_event.pb.h" #include "third_party/metrics_proto/ukm/source.pb.h" @@ -368,13 +369,21 @@ ranker->FlushTranslateEvents(&flushed_events); EXPECT_EQ(0U, flushed_events.size()); - ASSERT_EQ(2U, GetTestUkmRecorder()->sources_count()); - EXPECT_EQ( - url0.spec(), - GetTestUkmRecorder()->GetSourceForUrl(url0.spec().c_str())->url().spec()); - EXPECT_EQ( - url1.spec(), - GetTestUkmRecorder()->GetSourceForUrl(url1.spec().c_str())->url().spec()); + const auto& entries = GetTestUkmRecorder()->GetEntriesByName( + ukm::builders::Translate::kEntryName); + EXPECT_EQ(2u, entries.size()); + bool has_url0 = false; + bool has_url1 = false; + for (const auto* entry : entries) { + const ukm::UkmSource* source = + GetTestUkmRecorder()->GetSourceForSourceId(entry->source_id); + if (source && source->url() == url0) + has_url0 = true; + else if (source && source->url() == url1) + has_url1 = true; + } + EXPECT_TRUE(has_url0); + EXPECT_TRUE(has_url1); } TEST_F(TranslateRankerImplTest, EnableLogging) {
diff --git a/components/ukm/content/source_url_recorder_test.cc b/components/ukm/content/source_url_recorder_test.cc index 6fd8386..dc5d392 100644 --- a/components/ukm/content/source_url_recorder_test.cc +++ b/components/ukm/content/source_url_recorder_test.cc
@@ -29,11 +29,13 @@ TEST_F(SourceUrlRecorderWebContentsObserverTest, Basic) { GURL url("https://www.example.com/"); NavigationSimulator::NavigateAndCommitFromBrowser(web_contents(), url); - EXPECT_EQ(1ul, test_ukm_recorder_.sources_count()); - const ukm::UkmSource* ukm_source = test_ukm_recorder_.GetSourceForUrl(url); - ASSERT_NE(nullptr, ukm_source); - EXPECT_EQ(url, ukm_source->url()); - EXPECT_TRUE(ukm_source->initial_url().is_empty()); + + const auto& sources = test_ukm_recorder_.GetSources(); + EXPECT_EQ(1ul, sources.size()); + for (const auto& kv : sources) { + EXPECT_EQ(url, kv.second->url()); + EXPECT_TRUE(kv.second->initial_url().is_empty()); + } } TEST_F(SourceUrlRecorderWebContentsObserverTest, InitialUrl) { @@ -44,12 +46,12 @@ simulator->Start(); simulator->Redirect(final_url); simulator->Commit(); - EXPECT_EQ(1ul, test_ukm_recorder_.sources_count()); - const ukm::UkmSource* ukm_source = - test_ukm_recorder_.GetSourceForUrl(final_url); - ASSERT_NE(nullptr, ukm_source); - EXPECT_EQ(final_url, ukm_source->url()); - EXPECT_EQ(initial_url, ukm_source->initial_url()); + const auto& sources = test_ukm_recorder_.GetSources(); + EXPECT_EQ(1ul, sources.size()); + for (const auto& kv : sources) { + EXPECT_EQ(final_url, kv.second->url()); + EXPECT_EQ(initial_url, kv.second->initial_url()); + } } TEST_F(SourceUrlRecorderWebContentsObserverTest, IgnoreUnsupportedScheme) { @@ -66,9 +68,13 @@ NavigationSimulator::NavigateAndCommitFromDocument( sub_frame_url, content::RenderFrameHostTester::For(main_rfh())->AppendChild("subframe")); - EXPECT_EQ(1ul, test_ukm_recorder_.sources_count()); - EXPECT_NE(nullptr, test_ukm_recorder_.GetSourceForUrl(main_frame_url)); - EXPECT_EQ(nullptr, test_ukm_recorder_.GetSourceForUrl(sub_frame_url)); + + const auto& sources = test_ukm_recorder_.GetSources(); + EXPECT_EQ(1ul, sources.size()); + for (const auto& kv : sources) { + EXPECT_EQ(main_frame_url, kv.second->url()); + EXPECT_TRUE(kv.second->initial_url().is_empty()); + } } TEST_F(SourceUrlRecorderWebContentsObserverTest, IgnoreSameDocumentNavigation) { @@ -77,11 +83,13 @@ NavigationSimulator::NavigateAndCommitFromBrowser(web_contents(), url); NavigationSimulator::CreateRendererInitiated(same_document_url, main_rfh()) ->CommitSameDocument(); + EXPECT_EQ(same_document_url, web_contents()->GetLastCommittedURL()); - EXPECT_EQ(1ul, test_ukm_recorder_.sources_count()); - EXPECT_EQ(nullptr, test_ukm_recorder_.GetSourceForUrl(same_document_url)); - const ukm::UkmSource* ukm_source = test_ukm_recorder_.GetSourceForUrl(url); - ASSERT_NE(nullptr, ukm_source); - EXPECT_EQ(url, ukm_source->url()); - EXPECT_TRUE(ukm_source->initial_url().is_empty()); + + const auto& sources = test_ukm_recorder_.GetSources(); + EXPECT_EQ(1ul, sources.size()); + for (const auto& kv : sources) { + EXPECT_EQ(url, kv.second->url()); + EXPECT_TRUE(kv.second->initial_url().is_empty()); + } }
diff --git a/components/viz/service/frame_sinks/direct_layer_tree_frame_sink.cc b/components/viz/service/frame_sinks/direct_layer_tree_frame_sink.cc index 241197b1..366a41d0 100644 --- a/components/viz/service/frame_sinks/direct_layer_tree_frame_sink.cc +++ b/components/viz/service/frame_sinks/direct_layer_tree_frame_sink.cc
@@ -143,12 +143,12 @@ base::TimeTicks time, base::TimeDelta refresh, uint32_t flags) { - NOTIMPLEMENTED(); + client_->DidPresentCompositorFrame(presentation_token, time, refresh, flags); } void DirectLayerTreeFrameSink::DidDiscardCompositorFrame( uint32_t presentation_token) { - NOTIMPLEMENTED(); + client_->DidDiscardCompositorFrame(presentation_token); } void DirectLayerTreeFrameSink::OnBeginFrame(const BeginFrameArgs& args) {
diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc index 1d8b40f..eb0ea60 100644 --- a/content/browser/accessibility/browser_accessibility.cc +++ b/content/browser/accessibility/browser_accessibility.cc
@@ -49,10 +49,7 @@ // implementation details, but we want to expose them as leaves to platform // accessibility APIs because screen readers might be confused if they find // any children. - // Note that if a combo box, search box or text field are not native, they - // might present a menu of choices using aria-owns which should not be hidden - // from tree. - if (IsNativeTextControl() || IsTextOnlyObject()) + if (IsPlainTextField() || IsTextOnlyObject()) return true; // Roles whose children are only presentational according to the ARIA and @@ -140,6 +137,7 @@ bool BrowserAccessibility::PlatformIsChildOfLeaf() const { BrowserAccessibility* ancestor = InternalGetParent(); + while (ancestor) { if (ancestor->PlatformIsLeaf()) return true; @@ -348,7 +346,7 @@ // Standard text fields such as textarea have an embedded div inside them that // holds all the text. // TODO(nektar): This is fragile! Replace with code that flattens tree. - if (IsSimpleTextControl() && InternalChildCount() == 1) + if (IsPlainTextField() && InternalChildCount() == 1) return InternalGetChild(0)->GetPageBoundsForRange(start, len); if (GetRole() != ui::AX_ROLE_STATIC_TEXT) { @@ -482,13 +480,11 @@ base::string16 BrowserAccessibility::GetValue() const { base::string16 value = GetString16Attribute(ui::AX_ATTR_VALUE); - // Some screen readers like Jaws and older versions of VoiceOver require a - // value to be set in text fields with rich content, even though the same - // information is available on the children. - if (value.empty() && - (IsSimpleTextControl() || IsRichTextControl()) && - !IsNativeTextControl()) - value = GetInnerText(); + // Some screen readers like Jaws and VoiceOver require a value to be set in + // text fields with rich content, even though the same information is + // available on the children. + if (value.empty() && IsRichTextField()) + return GetInnerText(); return value; } @@ -723,7 +719,7 @@ } bool BrowserAccessibility::HasCaret() const { - if (IsSimpleTextControl() && HasIntAttribute(ui::AX_ATTR_TEXT_SEL_START) && + if (IsPlainTextField() && HasIntAttribute(ui::AX_ATTR_TEXT_SEL_START) && HasIntAttribute(ui::AX_ATTR_TEXT_SEL_END)) { return true; } @@ -754,29 +750,20 @@ return ui::IsRoleClickable(GetRole()); } -bool BrowserAccessibility::IsNativeTextControl() const { - const std::string& html_tag = GetStringAttribute(ui::AX_ATTR_HTML_TAG); - if (html_tag == "input") { - std::string input_type; - if (!GetHtmlAttribute("type", &input_type)) - return true; - return input_type.empty() || input_type == "email" || - input_type == "password" || input_type == "search" || - input_type == "tel" || input_type == "text" || input_type == "url" || - input_type == "number"; - } - return html_tag == "textarea"; +bool BrowserAccessibility::IsPlainTextField() const { + // We need to check both the role and editable state, because some ARIA text + // fields may in fact not be editable, whilst some editable fields might not + // have the role. + return !HasState(ui::AX_STATE_RICHLY_EDITABLE) && + (GetRole() == ui::AX_ROLE_TEXT_FIELD || + GetRole() == ui::AX_ROLE_TEXT_FIELD_WITH_COMBO_BOX || + GetRole() == ui::AX_ROLE_SEARCH_BOX || + GetBoolAttribute(ui::AX_ATTR_EDITABLE_ROOT)); } -bool BrowserAccessibility::IsSimpleTextControl() const { - return ui::IsEditField(GetRole()) && !HasState(ui::AX_STATE_RICHLY_EDITABLE); -} - -// Indicates if this object is at the root of a rich edit text control. -bool BrowserAccessibility::IsRichTextControl() const { - return HasState(ui::AX_STATE_RICHLY_EDITABLE) && - (!PlatformGetParent() || - !PlatformGetParent()->HasState(ui::AX_STATE_RICHLY_EDITABLE)); +bool BrowserAccessibility::IsRichTextField() const { + return GetBoolAttribute(ui::AX_ATTR_EDITABLE_ROOT) && + HasState(ui::AX_STATE_RICHLY_EDITABLE); } bool BrowserAccessibility::HasExplicitlyEmptyName() const {
diff --git a/content/browser/accessibility/browser_accessibility.h b/content/browser/accessibility/browser_accessibility.h index 720c7593..ac32ed4 100644 --- a/content/browser/accessibility/browser_accessibility.h +++ b/content/browser/accessibility/browser_accessibility.h
@@ -311,10 +311,8 @@ bool IsWebAreaForPresentationalIframe() const; virtual bool IsClickable() const; - bool IsNativeTextControl() const; - bool IsSimpleTextControl() const; - // Indicates if this object is at the root of a rich edit text control. - bool IsRichTextControl() const; + bool IsPlainTextField() const; + bool IsRichTextField() const; // Return true if the accessible name was explicitly set to "" by the author bool HasExplicitlyEmptyName() const;
diff --git a/content/browser/accessibility/browser_accessibility_android.cc b/content/browser/accessibility/browser_accessibility_android.cc index f9a4679c..38bbf3a 100644 --- a/content/browser/accessibility/browser_accessibility_android.cc +++ b/content/browser/accessibility/browser_accessibility_android.cc
@@ -217,7 +217,7 @@ } bool BrowserAccessibilityAndroid::IsEditableText() const { - return ui::IsEditField(GetRole()); + return IsPlainTextField() || IsRichTextField(); } bool BrowserAccessibilityAndroid::IsEnabled() const {
diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm index 817f6b6..a49c9b7 100644 --- a/content/browser/accessibility/browser_accessibility_cocoa.mm +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm
@@ -301,7 +301,7 @@ std::swap(start_offset, end_offset); int trim_length = 0; - if ((end_object->IsSimpleTextControl() || end_object->IsTextOnlyObject()) && + if ((end_object->IsPlainTextField() || end_object->IsTextOnlyObject()) && end_offset < static_cast<int>(end_object->GetText().length())) { trim_length = static_cast<int>(end_object->GetText().length()) - end_offset; } @@ -1520,9 +1520,9 @@ return NSAccessibilityGroupRole; } - if ((browserAccessibility_->IsSimpleTextControl() && + if ((browserAccessibility_->IsPlainTextField() && browserAccessibility_->HasState(ui::AX_STATE_MULTILINE)) || - browserAccessibility_->IsRichTextControl()) { + browserAccessibility_->IsRichTextField()) { return NSAccessibilityTextAreaRole; } @@ -1955,19 +1955,19 @@ - (NSString*) subrole { if (![self instanceActive]) return nil; - ui::AXRole browserAccessibilityRole = [self internalRole]; - if (ui::IsEditField(browserAccessibilityRole) && + + if (browserAccessibility_->IsPlainTextField() && GetState(browserAccessibility_, ui::AX_STATE_PROTECTED)) { return NSAccessibilitySecureTextFieldSubrole; } - if (browserAccessibilityRole == ui::AX_ROLE_DESCRIPTION_LIST) + if ([self internalRole] == ui::AX_ROLE_DESCRIPTION_LIST) return NSAccessibilityDefinitionListSubrole; - if (browserAccessibilityRole == ui::AX_ROLE_LIST) + if ([self internalRole] == ui::AX_ROLE_LIST) return NSAccessibilityContentListSubrole; - return [AXPlatformNodeCocoa nativeSubroleFromAXRole:browserAccessibilityRole]; + return [AXPlatformNodeCocoa nativeSubroleFromAXRole:[self internalRole]]; } // Returns all tabs in this subtree.
diff --git a/content/browser/accessibility/browser_accessibility_com_win.cc b/content/browser/accessibility/browser_accessibility_com_win.cc index a6455fd..7e7c12977 100644 --- a/content/browser/accessibility/browser_accessibility_com_win.cc +++ b/content/browser/accessibility/browser_accessibility_com_win.cc
@@ -1713,7 +1713,7 @@ return; std::map<int, std::vector<base::string16>> attributes_map; - if (owner()->PlatformIsLeaf() || owner()->IsSimpleTextControl()) { + if (owner()->PlatformIsLeaf() || owner()->IsPlainTextField()) { attributes_map[0] = ComputeTextAttributes(); const std::map<int, std::vector<base::string16>> spelling_attributes = GetSpellingAttributes(); @@ -2134,7 +2134,7 @@ spelling_attributes[end_offset] = end_attributes; } } - if (owner()->IsSimpleTextControl()) { + if (owner()->IsPlainTextField()) { int start_offset = 0; for (BrowserAccessibility* static_text = BrowserAccessibilityManager::NextTextOnlyObject(
diff --git a/content/browser/accessibility/browser_accessibility_manager.cc b/content/browser/accessibility/browser_accessibility_manager.cc index 250d94e..fe1875f 100644 --- a/content/browser/accessibility/browser_accessibility_manager.cc +++ b/content/browser/accessibility/browser_accessibility_manager.cc
@@ -865,7 +865,7 @@ const BrowserAccessibility* start_text_object = nullptr; const BrowserAccessibility* end_text_object = nullptr; - if (&start_object == &end_object && start_object.IsSimpleTextControl()) { + if (&start_object == &end_object && start_object.IsPlainTextField()) { // We need to get to the shadow DOM that is inside the text control in order // to find the text-only objects. if (!start_object.InternalChildCount()) @@ -922,7 +922,7 @@ DCHECK_GE(start_offset, 0); DCHECK_GE(end_offset, 0); - if (&start_object == &end_object && start_object.IsSimpleTextControl()) { + if (&start_object == &end_object && start_object.IsPlainTextField()) { if (start_offset > end_offset) std::swap(start_offset, end_offset); @@ -992,7 +992,7 @@ DCHECK_GE(start_offset, 0); DCHECK_GE(end_offset, 0); - if (&start_object == &end_object && start_object.IsSimpleTextControl()) { + if (&start_object == &end_object && start_object.IsPlainTextField()) { if (start_offset > end_offset) std::swap(start_offset, end_offset);
diff --git a/content/browser/accessibility/browser_accessibility_manager_android.cc b/content/browser/accessibility/browser_accessibility_manager_android.cc index 9819c82..aff0ed4 100644 --- a/content/browser/accessibility/browser_accessibility_manager_android.cc +++ b/content/browser/accessibility/browser_accessibility_manager_android.cc
@@ -66,7 +66,7 @@ BrowserAccessibility* BrowserAccessibilityManagerAndroid::GetFocus() { BrowserAccessibility* focus = BrowserAccessibilityManager::GetFocus(); - if (!ui::IsEditField(focus->GetRole())) + if (!focus->IsPlainTextField()) return GetActiveDescendant(focus); return focus; }
diff --git a/content/browser/accessibility/browser_accessibility_win_unittest.cc b/content/browser/accessibility/browser_accessibility_win_unittest.cc index 375fd4b..ab7238f 100644 --- a/content/browser/accessibility/browser_accessibility_win_unittest.cc +++ b/content/browser/accessibility/browser_accessibility_win_unittest.cc
@@ -500,6 +500,7 @@ ui::AXNodeData combo_box; combo_box.id = 12; combo_box.role = ui::AX_ROLE_TEXT_FIELD_WITH_COMBO_BOX; + combo_box.AddState(ui::AX_STATE_EDITABLE); combo_box.SetName(base::UTF16ToUTF8(combo_box_name)); combo_box.SetValue(base::UTF16ToUTF8(combo_box_value)); @@ -813,9 +814,12 @@ combo_box_text.SetName("Combo box text"); combo_box.role = ui::AX_ROLE_TEXT_FIELD_WITH_COMBO_BOX; combo_box_text.role = ui::AX_ROLE_STATIC_TEXT; + combo_box.AddBoolAttribute(ui::AX_ATTR_EDITABLE_ROOT, true); combo_box.AddState(ui::AX_STATE_EDITABLE); + combo_box.AddState(ui::AX_STATE_RICHLY_EDITABLE); combo_box.AddState(ui::AX_STATE_FOCUSABLE); combo_box_text.AddState(ui::AX_STATE_EDITABLE); + combo_box_text.AddState(ui::AX_STATE_RICHLY_EDITABLE); combo_box.child_ids.push_back(combo_box_text.id); ui::AXNodeData search_box, search_box_text, new_line; @@ -828,16 +832,21 @@ search_box.role = ui::AX_ROLE_SEARCH_BOX; search_box_text.role = ui::AX_ROLE_STATIC_TEXT; new_line.role = ui::AX_ROLE_LINE_BREAK; + search_box.AddBoolAttribute(ui::AX_ATTR_EDITABLE_ROOT, true); search_box.AddState(ui::AX_STATE_EDITABLE); + search_box.AddState(ui::AX_STATE_RICHLY_EDITABLE); search_box.AddState(ui::AX_STATE_FOCUSABLE); search_box_text.AddState(ui::AX_STATE_EDITABLE); + search_box_text.AddState(ui::AX_STATE_RICHLY_EDITABLE); new_line.AddState(ui::AX_STATE_EDITABLE); + new_line.AddState(ui::AX_STATE_RICHLY_EDITABLE); search_box.child_ids.push_back(search_box_text.id); search_box.child_ids.push_back(new_line.id); ui::AXNodeData text_field; text_field.id = 7; text_field.role = ui::AX_ROLE_TEXT_FIELD; + text_field.AddBoolAttribute(ui::AX_ATTR_EDITABLE_ROOT, true); text_field.AddState(ui::AX_STATE_EDITABLE); text_field.AddState(ui::AX_STATE_FOCUSABLE); text_field.SetValue("Text field text"); @@ -1933,7 +1942,6 @@ BrowserAccessibilityWin* ax_combo_box = ToBrowserAccessibilityWin(ax_root->PlatformGetChild(0)); ASSERT_NE(nullptr, ax_combo_box); - ASSERT_EQ(1U, ax_combo_box->PlatformChildCount()); HRESULT hr; LONG start_offset, end_offset; @@ -2037,7 +2045,6 @@ BrowserAccessibilityWin* ax_combo_box = ToBrowserAccessibilityWin(ax_root->PlatformGetChild(0)); ASSERT_NE(nullptr, ax_combo_box); - ASSERT_EQ(1U, ax_combo_box->PlatformChildCount()); HRESULT hr; LONG start_offset, end_offset;
diff --git a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc index 737c5c4..51e955b 100644 --- a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc +++ b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
@@ -765,7 +765,7 @@ } IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, - AccessibilityAriaSearchboxWithSelection) { + DISABLED_AccessibilityAriaSearchboxWithSelection) { RunAriaTest(FILE_PATH_LITERAL("aria-searchbox-with-selection.html")); } @@ -838,7 +838,7 @@ } IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, - AccessibilityAriaTextboxWithSelection) { + DISABLED_AccessibilityAriaTextboxWithSelection) { RunAriaTest(FILE_PATH_LITERAL("aria-textbox-with-selection.html")); }
diff --git a/content/browser/accessibility/one_shot_accessibility_tree_search.cc b/content/browser/accessibility/one_shot_accessibility_tree_search.cc index ed106ac..97ebec83 100644 --- a/content/browser/accessibility/one_shot_accessibility_tree_search.cc +++ b/content/browser/accessibility/one_shot_accessibility_tree_search.cc
@@ -421,7 +421,7 @@ bool AccessibilityTextfieldPredicate( BrowserAccessibility* start, BrowserAccessibility* node) { - return (node->IsSimpleTextControl() || node->IsRichTextControl()); + return (node->IsPlainTextField() || node->IsRichTextField()); } bool AccessibilityTextStyleBoldPredicate( @@ -444,7 +444,7 @@ bool AccessibilityTreePredicate( BrowserAccessibility* start, BrowserAccessibility* node) { - return (node->IsSimpleTextControl() || node->IsRichTextControl()); + return (node->IsPlainTextField() || node->IsRichTextField()); } bool AccessibilityUnvisitedLinkPredicate(
diff --git a/content/browser/plugin_service_impl_unittest.cc b/content/browser/plugin_service_impl_unittest.cc index ee4549f..56564822 100644 --- a/content/browser/plugin_service_impl_unittest.cc +++ b/content/browser/plugin_service_impl_unittest.cc
@@ -6,6 +6,7 @@ #include "build/build_config.h" #include "components/ukm/test_ukm_recorder.h" +#include "components/ukm/ukm_source.h" #include "content/browser/ppapi_plugin_process_host.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/render_frame_host.h" @@ -49,10 +50,14 @@ bool RecordedBrokerEvent(const GURL& url) { RunAllPendingInMessageLoop(BrowserThread::UI); - const ukm::UkmSource* source = test_ukm_recorder_->GetSourceForUrl(url); - if (!source) - return false; - return test_ukm_recorder_->HasEntry(*source, kPepperBrokerEvent); + auto entries = test_ukm_recorder_->GetEntriesByName(kPepperBrokerEvent); + for (const auto* const entry : entries) { + const ukm::UkmSource* source = + test_ukm_recorder_->GetSourceForSourceId(entry->source_id); + if (source && source->url() == url) + return true; + } + return false; } void ResetUKM() { @@ -100,4 +105,4 @@ EXPECT_FALSE(RecordedBrokerEvent(GURL(kURL2))); } -} // namespace content \ No newline at end of file +} // namespace content
diff --git a/content/browser/renderer_host/delegated_frame_host.cc b/content/browser/renderer_host/delegated_frame_host.cc index 8ad3743e..e29dac1 100644 --- a/content/browser/renderer_host/delegated_frame_host.cc +++ b/content/browser/renderer_host/delegated_frame_host.cc
@@ -536,12 +536,14 @@ base::TimeTicks time, base::TimeDelta refresh, uint32_t flags) { - NOTIMPLEMENTED(); + renderer_compositor_frame_sink_->DidPresentCompositorFrame( + presentation_token, time, refresh, flags); } void DelegatedFrameHost::DidDiscardCompositorFrame( uint32_t presentation_token) { - NOTIMPLEMENTED(); + renderer_compositor_frame_sink_->DidDiscardCompositorFrame( + presentation_token); } void DelegatedFrameHost::ReclaimResources(
diff --git a/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc b/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc index 81fa388..5bf751e4 100644 --- a/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc +++ b/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc
@@ -143,43 +143,18 @@ } } - ::testing::AssertionResult AssertUkmReported(const char* event_name, - const char* metric_name) { + void ExpectUkmReported(const char* event_name, + const char* metric_name, + size_t expected_count) { const ukm::TestUkmRecorder* ukm_recoder = test_browser_client_.GetTestUkmRecorder(); - size_t actual_event_count = 0; - for (size_t i = 0; i < ukm_recoder->entries_count(); ++i) { - const ukm::mojom::UkmEntry* entry = ukm_recoder->GetEntry(i); - if (entry->event_hash != base::HashMetricName(event_name)) - continue; - - const ukm::UkmSource* source = - ukm_recoder->GetSourceForSourceId(entry->source_id); - if (!source) - return ::testing::AssertionFailure() << "Source should not be null"; - - if (actual_event_count >= 1) - break; - - if (GURL(kUrl) != source->url()) - return ::testing::AssertionFailure() << "Incorrect URL is reported."; - - actual_event_count++; - if (entry->metrics.size() != 1) - return ::testing::AssertionFailure() - << event_name << " entry expected only 1 metric but got " - << entry->metrics.size(); - - if (entry->metrics[0]->metric_hash != base::HashMetricName(metric_name)) - return ::testing::AssertionFailure() - << "Expected a metric named " << metric_name; + auto entries = ukm_recoder->GetEntriesByName(event_name); + EXPECT_EQ(expected_count, entries.size()); + for (const auto* const entry : entries) { + ukm_recoder->ExpectEntrySourceHasUrl(entry, GURL(kUrl)); + EXPECT_TRUE(ukm_recoder->EntryHasMetric(entry, metric_name)); } - if (actual_event_count != 1) - return ::testing::AssertionFailure() - << event_name << " expected " << 1 << " entry but got " - << actual_event_count; - return ::testing::AssertionSuccess(); } ::testing::AssertionResult HistogramSizeEq(const char* histogram_name, @@ -314,8 +289,8 @@ // UKM metrics. total_ukm_entry_count++; - EXPECT_TRUE(AssertUkmReported("Event.ScrollBegin.Wheel", - "TimeToScrollUpdateSwapBegin")); + ExpectUkmReported("Event.ScrollBegin.Wheel", + "TimeToScrollUpdateSwapBegin", total_ukm_entry_count); // Rappor metrics. EXPECT_TRUE( RapporSampleAssert("Event.Latency.ScrollUpdate.Touch." @@ -397,11 +372,6 @@ 0)); EXPECT_TRUE( HistogramSizeEq("Event.Latency.ScrollUpdate.Wheel.GpuSwap2", 0)); - - ukm::TestUkmRecorder* test_ukm_recorder = - test_browser_client_.GetTestUkmRecorder(); - EXPECT_EQ(1U, test_ukm_recorder->sources_count()); - EXPECT_EQ(total_ukm_entry_count, test_ukm_recorder->entries_count()); } } } @@ -435,8 +405,8 @@ // UKM metrics. total_ukm_entry_count++; - EXPECT_TRUE(AssertUkmReported("Event.ScrollUpdate.Wheel", - "TimeToScrollUpdateSwapBegin")); + ExpectUkmReported("Event.ScrollUpdate.Wheel", + "TimeToScrollUpdateSwapBegin", total_ukm_entry_count); // Rappor metrics. EXPECT_TRUE( RapporSampleAssert("Event.Latency.ScrollUpdate.Touch." @@ -574,8 +544,8 @@ // UKM metrics. total_ukm_entry_count++; - EXPECT_TRUE(AssertUkmReported("Event.ScrollBegin.Touch", - "TimeToScrollUpdateSwapBegin")); + ExpectUkmReported("Event.ScrollBegin.Touch", "TimeToScrollUpdateSwapBegin", + total_ukm_entry_count); // Rappor metrics. EXPECT_TRUE( RapporSampleAssert("Event.Latency.ScrollUpdate.Touch." @@ -641,11 +611,6 @@ "Event.Latency.ScrollUpdate.Touch.BrowserNotifiedToBeforeGpuSwap2", 0)); EXPECT_TRUE( HistogramSizeEq("Event.Latency.ScrollUpdate.Touch.GpuSwap2", 0)); - - ukm::TestUkmRecorder* test_ukm_recorder = - test_browser_client_.GetTestUkmRecorder(); - EXPECT_EQ(1U, test_ukm_recorder->sources_count()); - EXPECT_EQ(total_ukm_entry_count, test_ukm_recorder->entries_count()); } } @@ -702,8 +667,8 @@ // UKM metrics. total_ukm_entry_count++; - EXPECT_TRUE(AssertUkmReported("Event.ScrollUpdate.Touch", - "TimeToScrollUpdateSwapBegin")); + ExpectUkmReported("Event.ScrollUpdate.Touch", "TimeToScrollUpdateSwapBegin", + total_ukm_entry_count); // Rappor metrics. EXPECT_TRUE( @@ -767,11 +732,6 @@ "Event.Latency.ScrollUpdate.Touch.BrowserNotifiedToBeforeGpuSwap2", 1)); EXPECT_TRUE( HistogramSizeEq("Event.Latency.ScrollUpdate.Touch.GpuSwap2", 1)); - - ukm::TestUkmRecorder* test_ukm_recorder = - test_browser_client_.GetTestUkmRecorder(); - EXPECT_EQ(1U, test_ukm_recorder->sources_count()); - EXPECT_EQ(total_ukm_entry_count, test_ukm_recorder->entries_count()); } }
diff --git a/content/browser/service_worker/service_worker_browsertest.cc b/content/browser/service_worker/service_worker_browsertest.cc index b7c15c1..7a4f1be8 100644 --- a/content/browser/service_worker/service_worker_browsertest.cc +++ b/content/browser/service_worker/service_worker_browsertest.cc
@@ -101,7 +101,7 @@ struct FetchResult { ServiceWorkerStatusCode status; - ServiceWorkerFetchEventResult result; + ServiceWorkerFetchDispatcher::FetchEventResult result; ServiceWorkerResponse response; std::unique_ptr<storage::BlobDataHandle> blob_data_handle; }; @@ -626,7 +626,7 @@ } void FetchOnRegisteredWorker( - ServiceWorkerFetchEventResult* result, + ServiceWorkerFetchDispatcher::FetchEventResult* result, ServiceWorkerResponse* response, std::unique_ptr<storage::BlobDataHandle>* blob_data_handle) { blob_context_ = ChromeBlobStorageContext::GetFor( @@ -904,7 +904,7 @@ ChromeBlobStorageContext* blob_context, FetchResult* out_result, ServiceWorkerStatusCode actual_status, - ServiceWorkerFetchEventResult actual_result, + ServiceWorkerFetchDispatcher::FetchEventResult actual_result, const ServiceWorkerResponse& actual_response, blink::mojom::ServiceWorkerStreamHandlePtr /* stream */, blink::mojom::BlobPtr /* blob */, @@ -1242,14 +1242,15 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchEvent_Response) { StartServerAndNavigateToSetup(); - ServiceWorkerFetchEventResult result; + ServiceWorkerFetchDispatcher::FetchEventResult result; ServiceWorkerResponse response; std::unique_ptr<storage::BlobDataHandle> blob_data_handle; InstallTestHelper("/service_worker/fetch_event.js", SERVICE_WORKER_OK); ActivateTestHelper("/service_worker/fetch_event.js", SERVICE_WORKER_OK); FetchOnRegisteredWorker(&result, &response, &blob_data_handle); - ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result); + ASSERT_EQ(ServiceWorkerFetchDispatcher::FetchEventResult::kGotResponse, + result); EXPECT_EQ(301, response.status_code); EXPECT_EQ("Moved Permanently", response.status_text); ServiceWorkerHeaderMap expected_headers; @@ -1267,7 +1268,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchEvent_ResponseViaCache) { StartServerAndNavigateToSetup(); - ServiceWorkerFetchEventResult result; + ServiceWorkerFetchDispatcher::FetchEventResult result; ServiceWorkerResponse response1; ServiceWorkerResponse response2; std::unique_ptr<storage::BlobDataHandle> blob_data_handle; @@ -1278,7 +1279,8 @@ SERVICE_WORKER_OK); FetchOnRegisteredWorker(&result, &response1, &blob_data_handle); - ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result); + ASSERT_EQ(ServiceWorkerFetchDispatcher::FetchEventResult::kGotResponse, + result); EXPECT_EQ(200, response1.status_code); EXPECT_EQ("OK", response1.status_text); EXPECT_TRUE(response1.response_time >= start_time); @@ -1286,7 +1288,8 @@ EXPECT_EQ(std::string(), response2.cache_storage_cache_name); FetchOnRegisteredWorker(&result, &response2, &blob_data_handle); - ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result); + ASSERT_EQ(ServiceWorkerFetchDispatcher::FetchEventResult::kGotResponse, + result); EXPECT_EQ(200, response2.status_code); EXPECT_EQ("OK", response2.status_text); EXPECT_EQ(response1.response_time, response2.response_time); @@ -1297,7 +1300,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchEvent_respondWithRejection) { StartServerAndNavigateToSetup(); - ServiceWorkerFetchEventResult result; + ServiceWorkerFetchDispatcher::FetchEventResult result; ServiceWorkerResponse response; std::unique_ptr<storage::BlobDataHandle> blob_data_handle; InstallTestHelper("/service_worker/fetch_event_rejected.js", @@ -1323,7 +1326,8 @@ base::Unretained(version_->embedded_worker()), &console_listener)); - ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result); + ASSERT_EQ(ServiceWorkerFetchDispatcher::FetchEventResult::kGotResponse, + result); EXPECT_EQ(0, response.status_code); ASSERT_FALSE(blob_data_handle);
diff --git a/content/browser/service_worker/service_worker_fetch_dispatcher.cc b/content/browser/service_worker/service_worker_fetch_dispatcher.cc index 2d0a618..1f8f966 100644 --- a/content/browser/service_worker/service_worker_fetch_dispatcher.cc +++ b/content/browser/service_worker/service_worker_fetch_dispatcher.cc
@@ -273,12 +273,13 @@ std::unique_ptr<base::Value> NetLogFetchEventCallback( ServiceWorkerStatusCode status, - ServiceWorkerFetchEventResult result, + ServiceWorkerFetchDispatcher::FetchEventResult result, net::NetLogCaptureMode) { std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue); dict->SetString("status", ServiceWorkerStatusToString(status)); - dict->SetBoolean("has_response", - result == SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE); + dict->SetBoolean( + "has_response", + result == ServiceWorkerFetchDispatcher::FetchEventResult::kGotResponse); return std::move(dict); } @@ -360,24 +361,21 @@ base::Time dispatch_event_time) override { HandleResponse(fetch_dispatcher_, version_, fetch_event_id_, response, nullptr /* body_as_stream */, nullptr /* body_as_blob */, - SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, - dispatch_event_time); + FetchEventResult::kGotResponse, dispatch_event_time); } void OnResponseBlob(const ServiceWorkerResponse& response, blink::mojom::BlobPtr body_as_blob, base::Time dispatch_event_time) override { HandleResponse(fetch_dispatcher_, version_, fetch_event_id_, response, nullptr /* body_as_stream */, std::move(body_as_blob), - SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, - dispatch_event_time); + FetchEventResult::kGotResponse, dispatch_event_time); } void OnResponseLegacyBlob(const ServiceWorkerResponse& response, base::Time dispatch_event_time, OnResponseLegacyBlobCallback callback) override { HandleResponse(fetch_dispatcher_, version_, fetch_event_id_, response, nullptr /* body_as_stream */, nullptr /* body_as_blob */, - SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, - dispatch_event_time); + FetchEventResult::kGotResponse, dispatch_event_time); std::move(callback).Run(); } void OnResponseStream( @@ -386,14 +384,13 @@ base::Time dispatch_event_time) override { HandleResponse(fetch_dispatcher_, version_, fetch_event_id_, response, std::move(body_as_stream), nullptr /* body_as_blob */, - SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, - dispatch_event_time); + FetchEventResult::kGotResponse, dispatch_event_time); } void OnFallback(base::Time dispatch_event_time) override { - HandleResponse( - fetch_dispatcher_, version_, fetch_event_id_, ServiceWorkerResponse(), - nullptr /* body_as_stream */, nullptr /* body_as_blob */, - SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK, dispatch_event_time); + HandleResponse(fetch_dispatcher_, version_, fetch_event_id_, + ServiceWorkerResponse(), nullptr /* body_as_stream */, + nullptr /* body_as_blob */, + FetchEventResult::kShouldFallback, dispatch_event_time); } private: @@ -406,12 +403,11 @@ const ServiceWorkerResponse& response, blink::mojom::ServiceWorkerStreamHandlePtr body_as_stream, blink::mojom::BlobPtr body_as_blob, - ServiceWorkerFetchEventResult fetch_result, + FetchEventResult fetch_result, base::Time dispatch_event_time) { - if (!version->FinishRequest( - fetch_event_id.value(), - fetch_result == SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, - dispatch_event_time)) + if (!version->FinishRequest(fetch_event_id.value(), + fetch_result == FetchEventResult::kGotResponse, + dispatch_event_time)) NOTREACHED() << "Should only receive one reply per event"; // |fetch_dispatcher| is null if the URLRequest was killed. if (!fetch_dispatcher) @@ -656,14 +652,13 @@ void ServiceWorkerFetchDispatcher::DidFail(ServiceWorkerStatusCode status) { DCHECK_NE(SERVICE_WORKER_OK, status); - Complete(status, SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK, - ServiceWorkerResponse(), nullptr /* body_as_stream */, - nullptr /* body_as_blob */); + Complete(status, FetchEventResult::kShouldFallback, ServiceWorkerResponse(), + nullptr /* body_as_stream */, nullptr /* body_as_blob */); } void ServiceWorkerFetchDispatcher::DidFinish( int request_id, - ServiceWorkerFetchEventResult fetch_result, + FetchEventResult fetch_result, const ServiceWorkerResponse& response, blink::mojom::ServiceWorkerStreamHandlePtr body_as_stream, blink::mojom::BlobPtr body_as_blob) { @@ -674,7 +669,7 @@ void ServiceWorkerFetchDispatcher::Complete( ServiceWorkerStatusCode status, - ServiceWorkerFetchEventResult fetch_result, + FetchEventResult fetch_result, const ServiceWorkerResponse& response, blink::mojom::ServiceWorkerStreamHandlePtr body_as_stream, blink::mojom::BlobPtr body_as_blob) {
diff --git a/content/browser/service_worker/service_worker_fetch_dispatcher.h b/content/browser/service_worker/service_worker_fetch_dispatcher.h index 79a1a16..0cd984b 100644 --- a/content/browser/service_worker/service_worker_fetch_dispatcher.h +++ b/content/browser/service_worker/service_worker_fetch_dispatcher.h
@@ -38,9 +38,17 @@ // A helper class to dispatch fetch event to a service worker. class CONTENT_EXPORT ServiceWorkerFetchDispatcher { public: + // Indicates how the service worker handled a fetch event. + enum class FetchEventResult { + // Browser should fallback to native fetch. + kShouldFallback, + // Service worker provided a ServiceWorkerResponse. + kGotResponse + }; + using FetchCallback = base::OnceCallback<void(ServiceWorkerStatusCode, - ServiceWorkerFetchEventResult, + FetchEventResult, const ServiceWorkerResponse&, blink::mojom::ServiceWorkerStreamHandlePtr, blink::mojom::BlobPtr, @@ -95,12 +103,12 @@ ServiceWorkerStatusCode status); void DidFail(ServiceWorkerStatusCode status); void DidFinish(int request_id, - ServiceWorkerFetchEventResult fetch_result, + FetchEventResult fetch_result, const ServiceWorkerResponse& response, blink::mojom::ServiceWorkerStreamHandlePtr body_as_stream, blink::mojom::BlobPtr body_as_blob); void Complete(ServiceWorkerStatusCode status, - ServiceWorkerFetchEventResult fetch_result, + FetchEventResult fetch_result, const ServiceWorkerResponse& response, blink::mojom::ServiceWorkerStreamHandlePtr body_as_stream, blink::mojom::BlobPtr body_as_blob);
diff --git a/content/browser/service_worker/service_worker_url_loader_job.cc b/content/browser/service_worker/service_worker_url_loader_job.cc index f485c5f..5c35919 100644 --- a/content/browser/service_worker/service_worker_url_loader_job.cc +++ b/content/browser/service_worker/service_worker_url_loader_job.cc
@@ -8,7 +8,6 @@ #include "base/optional.h" #include "content/browser/blob_storage/blob_url_loader_factory.h" -#include "content/browser/service_worker/service_worker_fetch_dispatcher.h" #include "content/browser/service_worker/service_worker_version.h" #include "content/browser/url_loader_factory_getter.h" #include "content/common/service_worker/service_worker_loader_helpers.h" @@ -214,7 +213,7 @@ void ServiceWorkerURLLoaderJob::DidDispatchFetchEvent( ServiceWorkerStatusCode status, - ServiceWorkerFetchEventResult fetch_result, + ServiceWorkerFetchDispatcher::FetchEventResult fetch_result, const ServiceWorkerResponse& response, blink::mojom::ServiceWorkerStreamHandlePtr body_as_stream, blink::mojom::BlobPtr body_as_blob, @@ -232,13 +231,15 @@ return; } - if (fetch_result == SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK) { + if (fetch_result == + ServiceWorkerFetchDispatcher::FetchEventResult::kShouldFallback) { // TODO(kinuko): Check if this needs to fallback to the renderer. FallbackToNetwork(); return; } - DCHECK_EQ(fetch_result, SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE); + DCHECK_EQ(fetch_result, + ServiceWorkerFetchDispatcher::FetchEventResult::kGotResponse); // A response with status code 0 is Blink telling us to respond with // network error.
diff --git a/content/browser/service_worker/service_worker_url_loader_job.h b/content/browser/service_worker/service_worker_url_loader_job.h index 2502e16..84553df 100644 --- a/content/browser/service_worker/service_worker_url_loader_job.h +++ b/content/browser/service_worker/service_worker_url_loader_job.h
@@ -11,6 +11,7 @@ #include "base/macros.h" #include "base/memory/weak_ptr.h" #include "content/browser/loader/url_loader_request_handler.h" +#include "content/browser/service_worker/service_worker_fetch_dispatcher.h" #include "content/browser/service_worker/service_worker_metrics.h" #include "content/browser/service_worker/service_worker_response_type.h" #include "content/browser/service_worker/service_worker_url_job_wrapper.h" @@ -32,7 +33,6 @@ namespace content { -class ServiceWorkerFetchDispatcher; struct ServiceWorkerResponse; class ServiceWorkerVersion; @@ -101,7 +101,7 @@ void DidPrepareFetchEvent(scoped_refptr<ServiceWorkerVersion> version); void DidDispatchFetchEvent( ServiceWorkerStatusCode status, - ServiceWorkerFetchEventResult fetch_result, + ServiceWorkerFetchDispatcher::FetchEventResult fetch_result, const ServiceWorkerResponse& response, blink::mojom::ServiceWorkerStreamHandlePtr body_as_stream, blink::mojom::BlobPtr body_as_blob,
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 79a7984c..90bb2dacd 100644 --- a/content/browser/service_worker/service_worker_url_request_job.cc +++ b/content/browser/service_worker/service_worker_url_request_job.cc
@@ -27,7 +27,6 @@ #include "content/browser/service_worker/embedded_worker_instance.h" #include "content/browser/service_worker/service_worker_blob_reader.h" #include "content/browser/service_worker/service_worker_data_pipe_reader.h" -#include "content/browser/service_worker/service_worker_fetch_dispatcher.h" #include "content/browser/service_worker/service_worker_provider_host.h" #include "content/browser/service_worker/service_worker_response_info.h" #include "content/common/service_worker/service_worker_types.h" @@ -681,7 +680,7 @@ void ServiceWorkerURLRequestJob::DidDispatchFetchEvent( ServiceWorkerStatusCode status, - ServiceWorkerFetchEventResult fetch_result, + ServiceWorkerFetchDispatcher::FetchEventResult fetch_result, const ServiceWorkerResponse& response, blink::mojom::ServiceWorkerStreamHandlePtr body_as_stream, blink::mojom::BlobPtr body_as_blob, @@ -715,7 +714,8 @@ return; } - if (fetch_result == SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK) { + if (fetch_result == + ServiceWorkerFetchDispatcher::FetchEventResult::kShouldFallback) { ServiceWorkerMetrics::RecordFallbackedRequestMode(request_mode_); if (IsFallbackToRendererNeeded()) { FinalizeFallbackToRenderer(); @@ -726,7 +726,8 @@ } // We should have a response now. - DCHECK_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, fetch_result); + DCHECK_EQ(ServiceWorkerFetchDispatcher::FetchEventResult::kGotResponse, + fetch_result); // A response with status code 0 is Blink telling us to respond with network // error.
diff --git a/content/browser/service_worker/service_worker_url_request_job.h b/content/browser/service_worker/service_worker_url_request_job.h index 232d5dd..93cc1bf 100644 --- a/content/browser/service_worker/service_worker_url_request_job.h +++ b/content/browser/service_worker/service_worker_url_request_job.h
@@ -18,6 +18,7 @@ #include "base/optional.h" #include "base/time/time.h" #include "content/browser/service_worker/embedded_worker_status.h" +#include "content/browser/service_worker/service_worker_fetch_dispatcher.h" #include "content/browser/service_worker/service_worker_metrics.h" #include "content/browser/service_worker/service_worker_response_type.h" #include "content/browser/service_worker/service_worker_url_job_wrapper.h" @@ -53,7 +54,6 @@ class ResourceRequestBody; class ServiceWorkerBlobReader; class ServiceWorkerDataPipeReader; -class ServiceWorkerFetchDispatcher; class ServiceWorkerVersion; class CONTENT_EXPORT ServiceWorkerURLRequestJob : public net::URLRequestJob { @@ -175,7 +175,7 @@ void DidPrepareFetchEvent(scoped_refptr<ServiceWorkerVersion> version); void DidDispatchFetchEvent( ServiceWorkerStatusCode status, - ServiceWorkerFetchEventResult fetch_result, + ServiceWorkerFetchDispatcher::FetchEventResult fetch_result, const ServiceWorkerResponse& response, blink::mojom::ServiceWorkerStreamHandlePtr body_as_stream, blink::mojom::BlobPtr body_as_blob,
diff --git a/content/common/service_worker/service_worker_messages.h b/content/common/service_worker/service_worker_messages.h index 724fea4..75f74401 100644 --- a/content/common/service_worker/service_worker_messages.h +++ b/content/common/service_worker/service_worker_messages.h
@@ -74,9 +74,6 @@ IPC_STRUCT_TRAITS_MEMBER(fetch_type) IPC_STRUCT_TRAITS_END() -IPC_ENUM_TRAITS_MAX_VALUE(content::ServiceWorkerFetchEventResult, - content::SERVICE_WORKER_FETCH_EVENT_LAST) - IPC_STRUCT_TRAITS_BEGIN(content::ServiceWorkerResponse) IPC_STRUCT_TRAITS_MEMBER(url_list) IPC_STRUCT_TRAITS_MEMBER(status_code)
diff --git a/content/common/service_worker/service_worker_types.h b/content/common/service_worker/service_worker_types.h index 4a17b86..5a36703 100644 --- a/content/common/service_worker/service_worker_types.h +++ b/content/common/service_worker/service_worker_types.h
@@ -59,15 +59,6 @@ static constexpr base::TimeDelta kServiceWorkerScriptMaxCacheAge = base::TimeDelta::FromHours(24); -// Indicates how the service worker handled a fetch event. -enum ServiceWorkerFetchEventResult { - // Browser should fallback to native fetch. - SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK, - // Service worker provided a ServiceWorkerResponse. - SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, - SERVICE_WORKER_FETCH_EVENT_LAST = SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE -}; - struct ServiceWorkerCaseInsensitiveCompare { bool operator()(const std::string& lhs, const std::string& rhs) const { return base::CompareCaseInsensitiveASCII(lhs, rhs) < 0;
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc index 8734a077..10b32b1 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc
@@ -443,18 +443,22 @@ // thread. class UkmRecorderFactoryImpl : public cc::UkmRecorderFactory { public: - UkmRecorderFactoryImpl(std::unique_ptr<service_manager::Connector> connector) - : connector_(std::move(connector)) { - DCHECK(connector_); + UkmRecorderFactoryImpl(ukm::mojom::UkmRecorderInterfacePtrInfo info) + : info_(std::move(info)) { + DCHECK(info_.is_valid()); } ~UkmRecorderFactoryImpl() override = default; std::unique_ptr<ukm::UkmRecorder> CreateRecorder() override { - return ukm::MojoUkmRecorder::Create(connector_.get()); + DCHECK(info_.is_valid()); + + ukm::mojom::UkmRecorderInterfacePtr recorder; + recorder.Bind(std::move(info_)); + return std::make_unique<ukm::MojoUkmRecorder>(std::move(recorder)); } private: - std::unique_ptr<service_manager::Connector> connector_; + ukm::mojom::UkmRecorderInterfacePtrInfo info_; }; } // namespace @@ -1703,7 +1707,9 @@ std::unique_ptr<cc::UkmRecorderFactory> RenderThreadImpl::CreateUkmRecorderFactory() { - return std::make_unique<UkmRecorderFactoryImpl>(GetConnector()->Clone()); + ukm::mojom::UkmRecorderInterfacePtrInfo info; + mojo::MakeRequest(&info); + return std::make_unique<UkmRecorderFactoryImpl>(std::move(info)); } void RenderThreadImpl::OnRAILModeChanged(v8::RAILMode rail_mode) {
diff --git a/content/test/data/accessibility/aria/aria-readonly-expected-android.txt b/content/test/data/accessibility/aria/aria-readonly-expected-android.txt index 039e04d..495afec 100644 --- a/content/test/data/accessibility/aria/aria-readonly-expected-android.txt +++ b/content/test/data/accessibility/aria/aria-readonly-expected-android.txt
@@ -5,8 +5,8 @@ ++++android.widget.EditText clickable editable_text focusable has_non_empty_value name='Readonly-true input' input_type=1 text_change_added_count=19 ++android.view.View clickable focusable name='Readonly-false plain div' ++android.view.View clickable focusable name='Readonly-true plain div' -++android.view.View clickable focusable multiline name='Readonly-false contenteditable div' -++android.view.View clickable focusable multiline name='Readonly-true contenteditable div' +++android.view.View clickable editable_text focusable multiline name='Readonly-false contenteditable div' +++android.view.View clickable editable_text focusable multiline name='Readonly-true contenteditable div' ++android.widget.EditText clickable editable_text focusable name='Readonly-false role unimplemented textbox' ++android.widget.EditText clickable editable_text focusable name='Readonly-true role unimplemented textbox' ++android.widget.EditText clickable editable_text focusable name='Readonly-false contenteditable textbox' @@ -20,4 +20,4 @@ ++android.view.MenuItem role_description='checkbox' checkable clickable name='Readonly menuitemcheckbox' ++android.view.MenuItem role_description='radio button' checkable clickable name='Readonly menuitemradio' ++android.widget.EditText role_description='search text field' clickable editable_text name='Readonly searchbox' -++android.widget.CheckBox role_description='switch' checkable clickable name='Readonly switch' \ No newline at end of file +++android.widget.CheckBox role_description='switch' checkable clickable name='Readonly switch'
diff --git a/content/test/data/accessibility/aria/aria-searchbox-expected-mac.txt b/content/test/data/accessibility/aria/aria-searchbox-expected-mac.txt index ad6b005..fe4bf976 100644 --- a/content/test/data/accessibility/aria/aria-searchbox-expected-mac.txt +++ b/content/test/data/accessibility/aria/aria-searchbox-expected-mac.txt
@@ -1,3 +1,2 @@ AXWebArea AXRoleDescription='HTML content' ++AXTextField AXSubrole=AXSearchField AXRoleDescription='search text field' AXValue='ARIA role searchbox.' -++++AXStaticText AXRoleDescription='text' AXValue='ARIA role searchbox.'
diff --git a/content/test/data/accessibility/aria/aria-searchbox-expected-win.txt b/content/test/data/accessibility/aria/aria-searchbox-expected-win.txt index 2e47801..a97b81d 100644 --- a/content/test/data/accessibility/aria/aria-searchbox-expected-win.txt +++ b/content/test/data/accessibility/aria/aria-searchbox-expected-win.txt
@@ -1,3 +1,2 @@ ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ia2_hypertext='<obj0>' n_selections=0 ++ROLE_SYSTEM_TEXT value='ARIA role searchbox.' FOCUSABLE xml-roles:searchbox ia2_hypertext='ARIA role searchbox.' n_selections=0 -++++ROLE_SYSTEM_STATICTEXT name='ARIA role searchbox.' ia2_hypertext='ARIA role searchbox.' n_selections=0
diff --git a/content/test/data/accessibility/aria/aria-searchbox-with-rich-text-expected-android.txt b/content/test/data/accessibility/aria/aria-searchbox-with-rich-text-expected-android.txt new file mode 100644 index 0000000..928de295 --- /dev/null +++ b/content/test/data/accessibility/aria/aria-searchbox-with-rich-text-expected-android.txt
@@ -0,0 +1,2 @@ +android.webkit.WebView focusable scrollable +++android.widget.EditText role_description='search text field' clickable editable_text focusable focused has_non_empty_value name='ARIA role searchbox.' text_change_added_count=20 \ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-searchbox-with-rich-text-expected-blink.txt b/content/test/data/accessibility/aria/aria-searchbox-with-rich-text-expected-blink.txt new file mode 100644 index 0000000..6df29ce --- /dev/null +++ b/content/test/data/accessibility/aria/aria-searchbox-with-rich-text-expected-blink.txt
@@ -0,0 +1,4 @@ +rootWebArea +++searchBox +++++staticText name='ARIA role searchbox.' +++++++inlineTextBox name='ARIA role searchbox.' \ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-searchbox-with-rich-text-expected-mac.txt b/content/test/data/accessibility/aria/aria-searchbox-with-rich-text-expected-mac.txt new file mode 100644 index 0000000..ad6b005 --- /dev/null +++ b/content/test/data/accessibility/aria/aria-searchbox-with-rich-text-expected-mac.txt
@@ -0,0 +1,3 @@ +AXWebArea AXRoleDescription='HTML content' +++AXTextField AXSubrole=AXSearchField AXRoleDescription='search text field' AXValue='ARIA role searchbox.' +++++AXStaticText AXRoleDescription='text' AXValue='ARIA role searchbox.'
diff --git a/content/test/data/accessibility/aria/aria-searchbox-with-rich-text-expected-win.txt b/content/test/data/accessibility/aria/aria-searchbox-with-rich-text-expected-win.txt new file mode 100644 index 0000000..2e47801 --- /dev/null +++ b/content/test/data/accessibility/aria/aria-searchbox-with-rich-text-expected-win.txt
@@ -0,0 +1,3 @@ +ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ia2_hypertext='<obj0>' n_selections=0 +++ROLE_SYSTEM_TEXT value='ARIA role searchbox.' FOCUSABLE xml-roles:searchbox ia2_hypertext='ARIA role searchbox.' n_selections=0 +++++ROLE_SYSTEM_STATICTEXT name='ARIA role searchbox.' ia2_hypertext='ARIA role searchbox.' n_selections=0
diff --git a/content/test/data/accessibility/aria/aria-searchbox-with-rich-text.html b/content/test/data/accessibility/aria/aria-searchbox-with-rich-text.html new file mode 100644 index 0000000..dedcd413 --- /dev/null +++ b/content/test/data/accessibility/aria/aria-searchbox-with-rich-text.html
@@ -0,0 +1,25 @@ +<!-- +@MAC-ALLOW:AXRole* +@MAC-ALLOW:AXSubrole* +@WIN-DENY:description* +@WIN-ALLOW:caret_offset* +@WIN-ALLOW:ia2_hypertext=* +@WIN-ALLOW:n_selections* +@WIN-ALLOW:selection_start* +@WIN-ALLOW:selection_end* +@WIN-ALLOW:value* +@WIN-DENY:value='http://*' +@WIN-ALLOW:xml-roles* +--> +<!DOCTYPE html> +<html> +<body> + <div id="searchbox" contenteditable role="searchbox" tabindex="0"> + <p>ARIA role searchbox.</p> +</div> + <script> + var searchbox = document.getElementById('searchbox'); + searchbox.focus(); + </script> +</body> +</html>
diff --git a/content/test/data/accessibility/aria/aria-searchbox-with-selection-expected-mac.txt b/content/test/data/accessibility/aria/aria-searchbox-with-selection-expected-mac.txt index ad6b005..fe4bf976 100644 --- a/content/test/data/accessibility/aria/aria-searchbox-with-selection-expected-mac.txt +++ b/content/test/data/accessibility/aria/aria-searchbox-with-selection-expected-mac.txt
@@ -1,3 +1,2 @@ AXWebArea AXRoleDescription='HTML content' ++AXTextField AXSubrole=AXSearchField AXRoleDescription='search text field' AXValue='ARIA role searchbox.' -++++AXStaticText AXRoleDescription='text' AXValue='ARIA role searchbox.'
diff --git a/content/test/data/accessibility/aria/aria-searchbox-with-selection-expected-win.txt b/content/test/data/accessibility/aria/aria-searchbox-with-selection-expected-win.txt index 6d9618b..57ea7b64 100644 --- a/content/test/data/accessibility/aria/aria-searchbox-with-selection-expected-win.txt +++ b/content/test/data/accessibility/aria/aria-searchbox-with-selection-expected-win.txt
@@ -1,3 +1,2 @@ ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ia2_hypertext='<obj0>' caret_offset=1 n_selections=1 selection_start=0 selection_end=1 ++ROLE_SYSTEM_TEXT FOCUSABLE xml-roles:searchbox ia2_hypertext='ARIA role searchbox.' caret_offset=20 n_selections=1 selection_start=0 selection_end=20 -++++ROLE_SYSTEM_STATICTEXT name='ARIA role searchbox.' ia2_hypertext='ARIA role searchbox.' caret_offset=20 n_selections=1 selection_start=0 selection_end=20
diff --git a/content/test/data/accessibility/aria/aria-textbox-expected-mac.txt b/content/test/data/accessibility/aria/aria-textbox-expected-mac.txt index e945e879..0b404ce 100644 --- a/content/test/data/accessibility/aria/aria-textbox-expected-mac.txt +++ b/content/test/data/accessibility/aria/aria-textbox-expected-mac.txt
@@ -1,5 +1,3 @@ AXWebArea AXRoleDescription='HTML content' ++AXTextField AXRoleDescription='text field' AXValue='TextBox1' -++++AXStaticText AXRoleDescription='text' AXValue='TextBox1' ++AXTextArea AXRoleDescription='text entry area' AXValue='TextBox2' -++++AXStaticText AXRoleDescription='text' AXValue='TextBox2'
diff --git a/content/test/data/accessibility/aria/aria-textbox-expected-win.txt b/content/test/data/accessibility/aria/aria-textbox-expected-win.txt index b3f994c..59931875 100644 --- a/content/test/data/accessibility/aria/aria-textbox-expected-win.txt +++ b/content/test/data/accessibility/aria/aria-textbox-expected-win.txt
@@ -1,5 +1,3 @@ ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ia2_hypertext='<obj0><obj1>' n_selections=0 ++ROLE_SYSTEM_TEXT value='TextBox1' IA2_STATE_SINGLE_LINE xml-roles:textbox ia2_hypertext='TextBox1' n_selections=0 -++++ROLE_SYSTEM_STATICTEXT name='TextBox1' ia2_hypertext='TextBox1' n_selections=0 ++ROLE_SYSTEM_TEXT value='TextBox2' IA2_STATE_MULTI_LINE xml-roles:textbox ia2_hypertext='TextBox2' n_selections=0 -++++ROLE_SYSTEM_STATICTEXT name='TextBox2' ia2_hypertext='TextBox2' n_selections=0
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-selection-expected-mac.txt b/content/test/data/accessibility/aria/aria-textbox-with-selection-expected-mac.txt index 44814ad..80efb1ce 100644 --- a/content/test/data/accessibility/aria/aria-textbox-with-selection-expected-mac.txt +++ b/content/test/data/accessibility/aria/aria-textbox-with-selection-expected-mac.txt
@@ -1,7 +1,3 @@ AXWebArea AXRoleDescription='HTML content' ++AXTextField AXRoleDescription='text field' AXValue='Single line.' -++++AXStaticText AXRoleDescription='text' AXValue='Single line.' ++AXTextArea AXRoleDescription='text entry area' AXValue='Multiple<newline>lines.' -++++AXStaticText AXRoleDescription='text' AXValue='Multiple' -++++AXGroup AXRoleDescription='group' AXTitle='<newline>' -++++AXStaticText AXRoleDescription='text' AXValue='lines.' \ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-selection-expected-win.txt b/content/test/data/accessibility/aria/aria-textbox-with-selection-expected-win.txt new file mode 100644 index 0000000..eccb69c --- /dev/null +++ b/content/test/data/accessibility/aria/aria-textbox-with-selection-expected-win.txt
@@ -0,0 +1,9 @@ +ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ia2_hypertext='<obj0><obj1>' n_characters=2 caret_offset=0 n_selections=0 +++ROLE_SYSTEM_TEXT value='TextBox1<newline>' FOCUSABLE IA2_STATE_SINGLE_LINE xml-roles:textbox ia2_hypertext='<obj0>' n_characters=1 caret_offset=0 n_selections=0 +++++IA2_ROLE_HEADING name='TextBox1' xml-roles:heading ia2_hypertext='TextBox1' n_characters=8 caret_offset=0 n_selections=0 +++++++ROLE_SYSTEM_STATICTEXT name='TextBox1' ia2_hypertext='TextBox1' n_characters=8 caret_offset=0 n_selections=0 +++ROLE_SYSTEM_TEXT value='TextBox2<newline>Some text.' FOCUSABLE IA2_STATE_MULTI_LINE xml-roles:textbox ia2_hypertext='<obj0><obj1>' n_characters=2 n_selections=0 +++++IA2_ROLE_HEADING name='TextBox2' xml-roles:heading ia2_hypertext='TextBox2' n_characters=8 n_selections=0 +++++++ROLE_SYSTEM_STATICTEXT name='TextBox2' ia2_hypertext='TextBox2' n_characters=8 n_selections=0 +++++IA2_ROLE_PARAGRAPH ia2_hypertext='Some text.' n_characters=10 n_selections=0 +++++++ROLE_SYSTEM_STATICTEXT name='Some text.' ia2_hypertext='Some text.' n_characters=10 n_selections=0 \ No newline at end of file
diff --git a/content/test/data/accessibility/event/aria-combo-box-collapse-expected-win.txt b/content/test/data/accessibility/event/aria-combo-box-collapse-expected-win.txt index bdc4f7e..360d4405 100644 --- a/content/test/data/accessibility/event/aria-combo-box-collapse-expected-win.txt +++ b/content/test/data/accessibility/event/aria-combo-box-collapse-expected-win.txt
@@ -1,3 +1,3 @@ -EVENT_OBJECT_STATECHANGE on role=ROLE_SYSTEM_COMBOBOX FOCUSED,COLLAPSED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION -EVENT_OBJECT_FOCUS on role=ROLE_SYSTEM_COMBOBOX FOCUSED,COLLAPSED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION -IA2_EVENT_ACTIVE_DESCENDANT_CHANGED on role=ROLE_SYSTEM_COMBOBOX FOCUSED,COLLAPSED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION +EVENT_OBJECT_STATECHANGE on role=ROLE_SYSTEM_COMBOBOX FOCUSED,COLLAPSED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION +EVENT_OBJECT_FOCUS on role=ROLE_SYSTEM_COMBOBOX FOCUSED,COLLAPSED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION +IA2_EVENT_ACTIVE_DESCENDANT_CHANGED on role=ROLE_SYSTEM_COMBOBOX FOCUSED,COLLAPSED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION
diff --git a/content/test/data/accessibility/event/aria-combo-box-expand-expected-win.txt b/content/test/data/accessibility/event/aria-combo-box-expand-expected-win.txt index 8d924ad..76a2a7a 100644 --- a/content/test/data/accessibility/event/aria-combo-box-expand-expected-win.txt +++ b/content/test/data/accessibility/event/aria-combo-box-expand-expected-win.txt
@@ -1,3 +1,3 @@ -EVENT_OBJECT_STATECHANGE on role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION +EVENT_OBJECT_STATECHANGE on role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION EVENT_OBJECT_FOCUS on role=ROLE_SYSTEM_LISTITEM name="Apple" FOCUSED,FOCUSABLE,SELECTABLE -IA2_EVENT_ACTIVE_DESCENDANT_CHANGED on role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION +IA2_EVENT_ACTIVE_DESCENDANT_CHANGED on role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION
diff --git a/content/test/data/accessibility/event/aria-combo-box-focus-expected-win.txt b/content/test/data/accessibility/event/aria-combo-box-focus-expected-win.txt index 665349a..de6c823 100644 --- a/content/test/data/accessibility/event/aria-combo-box-focus-expected-win.txt +++ b/content/test/data/accessibility/event/aria-combo-box-focus-expected-win.txt
@@ -1,2 +1,2 @@ EVENT_OBJECT_FOCUS on role=ROLE_SYSTEM_LISTITEM name="Apple" FOCUSED,FOCUSABLE,SELECTABLE -IA2_EVENT_TEXT_CARET_MOVED on role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION +IA2_EVENT_TEXT_CARET_MOVED on role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION
diff --git a/content/test/data/accessibility/event/aria-combo-box-next-expected-win.txt b/content/test/data/accessibility/event/aria-combo-box-next-expected-win.txt index 5ea2942f..aa42715 100644 --- a/content/test/data/accessibility/event/aria-combo-box-next-expected-win.txt +++ b/content/test/data/accessibility/event/aria-combo-box-next-expected-win.txt
@@ -1,2 +1,2 @@ EVENT_OBJECT_FOCUS on role=ROLE_SYSTEM_LISTITEM name="Banana" FOCUSED,FOCUSABLE,SELECTABLE -IA2_EVENT_ACTIVE_DESCENDANT_CHANGED on role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION +IA2_EVENT_ACTIVE_DESCENDANT_CHANGED on role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION
diff --git a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-mac.txt b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-mac.txt index e8f0ab47..0acdb3c6 100644 --- a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-mac.txt +++ b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-mac.txt
@@ -4,7 +4,7 @@ ++++++AXStaticText AXValue='This is editable.' ++++AXStaticText AXValue='This is not editable.' ++++AXGroup AXTitle='<newline>' -++++AXGroup AXValue='But this one is.' +++++AXTextArea AXValue='But this one is.' ++++++AXStaticText AXValue='But this one is.' ++++AXGroup AXValue='So is this one.' -++++++AXStaticText AXValue='So is this one.' \ No newline at end of file +++++++AXStaticText AXValue='So is this one.'
diff --git a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-win.txt b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-win.txt index f6bf3ab..233f5d6 100644 --- a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-win.txt +++ b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-win.txt
@@ -4,7 +4,7 @@ ++++++ROLE_SYSTEM_STATICTEXT name='This is editable.' IA2_STATE_EDITABLE ia2_hypertext='This is editable.' n_selections=0 ++++ROLE_SYSTEM_STATICTEXT name='This is not editable.' ia2_hypertext='This is not editable.' n_selections=0 ++++ROLE_SYSTEM_WHITESPACE name='<newline>' ia2_hypertext='<newline>' n_selections=0 -++++IA2_ROLE_PARAGRAPH FOCUSABLE IA2_STATE_EDITABLE ia2_hypertext='But this one is.' n_selections=0 +++++IA2_ROLE_PARAGRAPH FOCUSABLE IA2_STATE_EDITABLE IA2_STATE_MULTI_LINE ia2_hypertext='But this one is.' n_selections=0 ++++++ROLE_SYSTEM_STATICTEXT name='But this one is.' IA2_STATE_EDITABLE ia2_hypertext='But this one is.' n_selections=0 ++++IA2_ROLE_PARAGRAPH IA2_STATE_EDITABLE ia2_hypertext='So is this one.' n_selections=0 -++++++ROLE_SYSTEM_STATICTEXT name='So is this one.' IA2_STATE_EDITABLE ia2_hypertext='So is this one.' n_selections=0 \ No newline at end of file +++++++ROLE_SYSTEM_STATICTEXT name='So is this one.' IA2_STATE_EDITABLE ia2_hypertext='So is this one.' n_selections=0
diff --git a/content/test/data/accessibility/html/contenteditable-with-no-descendants-expected-android.txt b/content/test/data/accessibility/html/contenteditable-with-no-descendants-expected-android.txt index 672d9f3..beec129 100644 --- a/content/test/data/accessibility/html/contenteditable-with-no-descendants-expected-android.txt +++ b/content/test/data/accessibility/html/contenteditable-with-no-descendants-expected-android.txt
@@ -1,5 +1,5 @@ android.webkit.WebView focusable focused scrollable -++android.view.View clickable focusable multiline name='label' -++android.view.View clickable focusable multiline hint='description' -++android.view.View clickable focusable multiline name='title' -++android.view.View name='description' \ No newline at end of file +++android.view.View clickable editable_text focusable multiline name='label' +++android.view.View clickable editable_text focusable multiline hint='description' +++android.view.View clickable editable_text focusable multiline name='title' +++android.view.View name='description'
diff --git a/content/test/data/accessibility/html/input-datetime-expected-mac.txt b/content/test/data/accessibility/html/input-datetime-expected-mac.txt index fafee5e..aaa4951 100644 --- a/content/test/data/accessibility/html/input-datetime-expected-mac.txt +++ b/content/test/data/accessibility/html/input-datetime-expected-mac.txt
@@ -1,5 +1,3 @@ AXWebArea AXRoleDescription='HTML content' ++AXGroup AXRoleDescription='group' ++++AXTextField AXRoleDescription='text field' AXValue='1/1/2015 1:00AM' -++++++AXGroup AXRoleDescription='group' -++++++++AXStaticText AXRoleDescription='text' AXValue='1/1/2015 1:00AM'
diff --git a/content/test/data/accessibility/html/input-datetime-expected-win.txt b/content/test/data/accessibility/html/input-datetime-expected-win.txt index 167c04d..2a6c4d6e 100644 --- a/content/test/data/accessibility/html/input-datetime-expected-win.txt +++ b/content/test/data/accessibility/html/input-datetime-expected-win.txt
@@ -1,5 +1,3 @@ ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ia2_hypertext='<obj0>' ++IA2_ROLE_SECTION ia2_hypertext='<obj0>' ++++ROLE_SYSTEM_TEXT FOCUSABLE ia2_hypertext='1/1/2015 1:00AM' -++++++IA2_ROLE_SECTION ia2_hypertext='1/1/2015 1:00AM' -++++++++ROLE_SYSTEM_STATICTEXT name='1/1/2015 1:00AM' ia2_hypertext='1/1/2015 1:00AM'
diff --git a/extensions/browser/api/media_perception_private/conversion_utils.cc b/extensions/browser/api/media_perception_private/conversion_utils.cc index e222a4da..ad41f53 100644 --- a/extensions/browser/api/media_perception_private/conversion_utils.cc +++ b/extensions/browser/api/media_perception_private/conversion_utils.cc
@@ -257,6 +257,24 @@ return mri::State::STATUS_UNSPECIFIED; } +void VideoStreamParamIdlToProto(mri::VideoStreamParam* param_result, + const VideoStreamParam& param) { + if (param_result == nullptr) + return; + + if (param.id) + param_result->set_id(*param.id); + + if (param.width) + param_result->set_width(*param.width); + + if (param.height) + param_result->set_height(*param.height); + + if (param.frame_rate) + param_result->set_frame_rate(*param.frame_rate); +} + } // namespace State StateProtoToIdl(const mri::State& state) { @@ -277,6 +295,15 @@ if (state.device_context) state_result.set_device_context(*state.device_context); + if (state.video_stream_param && state.video_stream_param.get() != nullptr) { + for (size_t i = 0; i < state.video_stream_param.get()->size(); ++i) { + mri::VideoStreamParam* video_stream_param_result = + state_result.add_video_stream_param(); + VideoStreamParamIdlToProto(video_stream_param_result, + state.video_stream_param.get()->at(i)); + } + } + return state_result; }
diff --git a/extensions/browser/api/media_perception_private/conversion_utils_unittest.cc b/extensions/browser/api/media_perception_private/conversion_utils_unittest.cc index 4b7f4ec..21de6c9 100644 --- a/extensions/browser/api/media_perception_private/conversion_utils_unittest.cc +++ b/extensions/browser/api/media_perception_private/conversion_utils_unittest.cc
@@ -18,6 +18,26 @@ const char kFakePacketLabel1[] = "Packet1"; const char kFakePacketLabel3[] = "Packet3"; const char kFakeEntityLabel3[] = "Region3"; +const char kVideoStreamIdForFaceDetection[] = "FaceDetection"; +const char kVideoStreamIdForVideoCapture[] = "VideoCapture"; + +const int kVideoStreamWidthForFaceDetection = 1280; +const int kVideoStreamHeightForFaceDetection = 720; +const int kVideoStreamFrameRateForFaceDetection = 30; +const int kVideoStreamWidthForVideoCapture = 640; +const int kVideoStreamHeightForVideoCapture = 360; +const int kVideoStreamFrameRateForVideoCapture = 5; + +void InitializeVideoStreamParam(media_perception::VideoStreamParam& param, + const std::string& id, + int width, + int height, + int frame_rate) { + param.id = std::make_unique<std::string>(id); + param.width = std::make_unique<int>(width); + param.height = std::make_unique<int>(height); + param.frame_rate = std::make_unique<int>(frame_rate); +} void InitializeFakeFramePerception(const int index, mri::FramePerception* frame_perception) { @@ -280,4 +300,41 @@ EXPECT_EQ(mri::State::STOPPED, state_proto.status()); } +TEST(MediaPerceptionConversionUtilsTest, StateIdlToProtoWithVideoStreamParam) { + media_perception::State state; + state.status = media_perception::STATUS_RUNNING; + state.video_stream_param.reset( + new std::vector<media_perception::VideoStreamParam>(2)); + InitializeVideoStreamParam( + state.video_stream_param.get()->at(0), kVideoStreamIdForFaceDetection, + kVideoStreamWidthForFaceDetection, kVideoStreamHeightForFaceDetection, + kVideoStreamFrameRateForFaceDetection); + + InitializeVideoStreamParam( + state.video_stream_param.get()->at(1), kVideoStreamIdForVideoCapture, + kVideoStreamWidthForVideoCapture, kVideoStreamHeightForVideoCapture, + kVideoStreamFrameRateForVideoCapture); + + mri::State state_proto = StateIdlToProto(state); + EXPECT_EQ(state_proto.status(), mri::State::RUNNING); + + EXPECT_EQ(kVideoStreamIdForFaceDetection, + state_proto.video_stream_param(0).id()); + EXPECT_EQ(kVideoStreamWidthForFaceDetection, + state_proto.video_stream_param(0).width()); + EXPECT_EQ(kVideoStreamHeightForFaceDetection, + state_proto.video_stream_param(0).height()); + EXPECT_EQ(kVideoStreamFrameRateForFaceDetection, + state_proto.video_stream_param(0).frame_rate()); + + EXPECT_EQ(kVideoStreamIdForVideoCapture, + state_proto.video_stream_param(1).id()); + EXPECT_EQ(kVideoStreamWidthForVideoCapture, + state_proto.video_stream_param(1).width()); + EXPECT_EQ(kVideoStreamHeightForVideoCapture, + state_proto.video_stream_param(1).height()); + EXPECT_EQ(kVideoStreamFrameRateForVideoCapture, + state_proto.video_stream_param(1).frame_rate()); +} + } // namespace extensions
diff --git a/extensions/browser/api/media_perception_private/media_perception_private_api.cc b/extensions/browser/api/media_perception_private/media_perception_private_api.cc index 160e911..f0b6fc2 100644 --- a/extensions/browser/api/media_perception_private/media_perception_private_api.cc +++ b/extensions/browser/api/media_perception_private/media_perception_private_api.cc
@@ -54,6 +54,14 @@ return RespondNow( Error("Only provide deviceContext with SetState RUNNING.")); } + + // Check that video stream parameters are only provided with SetState RUNNING. + if (params->state.status != media_perception::STATUS_RUNNING && + params->state.video_stream_param.get() != nullptr) { + return RespondNow( + Error("SetState: status must be RUNNING to set videoStreamParam.")); + } + MediaPerceptionAPIManager* manager = MediaPerceptionAPIManager::Get(browser_context()); manager->SetState(
diff --git a/extensions/common/api/media_perception_private.idl b/extensions/common/api/media_perception_private.idl index bce5da9..599485b3 100644 --- a/extensions/common/api/media_perception_private.idl +++ b/extensions/common/api/media_perception_private.idl
@@ -84,6 +84,21 @@ ComponentStatus status; }; + // The parameters for processing a particular video stream. + dictionary VideoStreamParam { + // Identifies the video stream described by these parameters. + DOMString? id; + + // Frame width in pixels. + long? width; + + // Frame height in pixels. + long? height; + + // The frame rate at which this video stream would be processed. + long? frameRate; + }; + // The system and configuration state of the analytics process. dictionary State { Status status; @@ -96,6 +111,10 @@ // Return parameter for $(ref:setState) or $(ref:getState) that // specifies the error type for failure cases. ServiceError? serviceError; + + // A list of video streams processed by the analytics process. To set this + // parameter, status has to be <code>RUNNING</code>. + VideoStreamParam[]? videoStreamParam; }; dictionary Point {
diff --git a/extensions/test/data/media_perception_private/state/runtest.js b/extensions/test/data/media_perception_private/state/runtest.js index 3a228155..a61590c9 100644 --- a/extensions/test/data/media_perception_private/state/runtest.js +++ b/extensions/test/data/media_perception_private/state/runtest.js
@@ -12,7 +12,15 @@ function setStateRunning() { chrome.mediaPerceptionPrivate.setState({ status: 'RUNNING', - deviceContext: 'device_context' + deviceContext: 'device_context', + videoStreamParam: [ + { + id: 'FaceDetection', + width: 1280, + height: 1920, + frameRate: 30, + }, + ], }, chrome.test.callbackPass(function(state) { chrome.test.assertEq('RUNNING', state.status); })); @@ -44,6 +52,21 @@ }, chrome.test.callbackFail(error)); } +function setStateSuspendedButWithVideoStreamParamFail() { + const error = 'SetState: status must be RUNNING to set videoStreamParam.'; + chrome.mediaPerceptionPrivate.setState({ + status: 'SUSPENDED', + videoStreamParam: [ + { + id: 'FaceDetection', + width: 1280, + height: 1920, + frameRate: 30, + }, + ], + }, chrome.test.callbackFail(error)); +} + function setStateRestarted() { chrome.mediaPerceptionPrivate.setState({ status: 'RESTARTING', @@ -68,6 +91,7 @@ getStateRunning, setStateUnsettable, setStateSuspendedButWithDeviceContextFail, + setStateSuspendedButWithVideoStreamParamFail, setStateRestarted, setStateStopped]);
diff --git a/gin/arguments.cc b/gin/arguments.cc index 4d01c0e4..b492fae6 100644 --- a/gin/arguments.cc +++ b/gin/arguments.cc
@@ -23,8 +23,7 @@ insufficient_arguments_(false) { } -Arguments::~Arguments() { -} +Arguments::~Arguments() = default; v8::Local<v8::Value> Arguments::PeekNext() const { if (next_ >= info_->Length())
diff --git a/gin/array_buffer.cc b/gin/array_buffer.cc index 4524052..34e83db 100644 --- a/gin/array_buffer.cc +++ b/gin/array_buffer.cc
@@ -231,15 +231,9 @@ num_bytes_ = private_->length(); } -ArrayBuffer::~ArrayBuffer() { -} +ArrayBuffer::~ArrayBuffer() = default; -ArrayBuffer& ArrayBuffer::operator=(const ArrayBuffer& other) { - private_ = other.private_; - bytes_ = other.bytes_; - num_bytes_ = other.num_bytes_; - return *this; -} +ArrayBuffer& ArrayBuffer::operator=(const ArrayBuffer& other) = default; // Converter<ArrayBuffer> ----------------------------------------------------- @@ -266,16 +260,10 @@ num_bytes_(view->ByteLength()) { } -ArrayBufferView::~ArrayBufferView() { -} +ArrayBufferView::~ArrayBufferView() = default; -ArrayBufferView& ArrayBufferView::operator=(const ArrayBufferView& other) { - array_buffer_ = other.array_buffer_; - offset_ = other.offset_; - num_bytes_ = other.num_bytes_; - return *this; -} - +ArrayBufferView& ArrayBufferView::operator=(const ArrayBufferView& other) = + default; // Converter<ArrayBufferView> -------------------------------------------------
diff --git a/gin/dictionary.cc b/gin/dictionary.cc index 54f1a4a5..95e0007 100644 --- a/gin/dictionary.cc +++ b/gin/dictionary.cc
@@ -18,8 +18,7 @@ Dictionary::Dictionary(const Dictionary& other) = default; -Dictionary::~Dictionary() { -} +Dictionary::~Dictionary() = default; Dictionary Dictionary::CreateEmpty(v8::Isolate* isolate) { Dictionary dictionary(isolate);
diff --git a/gin/interceptor_unittest.cc b/gin/interceptor_unittest.cc index 5c11bc2..0899200 100644 --- a/gin/interceptor_unittest.cc +++ b/gin/interceptor_unittest.cc
@@ -91,7 +91,7 @@ IndexedPropertyInterceptor(isolate, this), value_(0), template_cache_(isolate) {} - ~MyInterceptor() override {} + ~MyInterceptor() override = default; // gin::Wrappable ObjectTemplateBuilder GetObjectTemplateBuilder(
diff --git a/gin/modules/file_module_provider.cc b/gin/modules/file_module_provider.cc index 46939b12..2edb6088 100644 --- a/gin/modules/file_module_provider.cc +++ b/gin/modules/file_module_provider.cc
@@ -54,8 +54,7 @@ : search_paths_(search_paths) { } -FileModuleProvider::~FileModuleProvider() { -} +FileModuleProvider::~FileModuleProvider() = default; void FileModuleProvider::AttempToLoadModules( Runner* runner, const std::set<std::string>& ids) {
diff --git a/gin/modules/module_registry.cc b/gin/modules/module_registry.cc index 9681a0e..cf61f7d 100644 --- a/gin/modules/module_registry.cc +++ b/gin/modules/module_registry.cc
@@ -44,8 +44,7 @@ Persistent<Value> factory; }; -PendingModule::PendingModule() { -} +PendingModule::PendingModule() = default; PendingModule::~PendingModule() { factory.Reset();
diff --git a/gin/modules/module_runner_delegate.cc b/gin/modules/module_runner_delegate.cc index ce969a09..0634fff3 100644 --- a/gin/modules/module_runner_delegate.cc +++ b/gin/modules/module_runner_delegate.cc
@@ -17,8 +17,7 @@ : module_provider_(search_paths) { } -ModuleRunnerDelegate::~ModuleRunnerDelegate() { -} +ModuleRunnerDelegate::~ModuleRunnerDelegate() = default; void ModuleRunnerDelegate::AddBuiltinModule(const std::string& id, ModuleGetter getter) {
diff --git a/gin/modules/timer.cc b/gin/modules/timer.cc index e1deeaad..1f60900 100644 --- a/gin/modules/timer.cc +++ b/gin/modules/timer.cc
@@ -54,8 +54,7 @@ base::Bind(&Timer::OnTimerFired, weak_factory_.GetWeakPtr())); } -Timer::~Timer() { -} +Timer::~Timer() = default; void Timer::OnTimerFired() { // This can happen in spite of the weak callback because it is possible for @@ -97,11 +96,9 @@ return Create(isolate)->GetWrapper(isolate).ToLocalChecked(); } -TimerModule::TimerModule() { -} +TimerModule::TimerModule() = default; -TimerModule::~TimerModule() { -} +TimerModule::~TimerModule() = default; ObjectTemplateBuilder TimerModule::GetObjectTemplateBuilder( v8::Isolate* isolate) {
diff --git a/gin/modules/timer_unittest.cc b/gin/modules/timer_unittest.cc index 0a1a2b9..2490d23 100644 --- a/gin/modules/timer_unittest.cc +++ b/gin/modules/timer_unittest.cc
@@ -37,7 +37,7 @@ Result() : count_(0) { } - ~Result() override {} + ~Result() override = default; ObjectTemplateBuilder GetObjectTemplateBuilder( v8::Isolate* isolate) override {
diff --git a/gin/object_template_builder.cc b/gin/object_template_builder.cc index a40df60..c905efee 100644 --- a/gin/object_template_builder.cc +++ b/gin/object_template_builder.cc
@@ -148,8 +148,7 @@ ObjectTemplateBuilder::ObjectTemplateBuilder( const ObjectTemplateBuilder& other) = default; -ObjectTemplateBuilder::~ObjectTemplateBuilder() { -} +ObjectTemplateBuilder::~ObjectTemplateBuilder() = default; ObjectTemplateBuilder& ObjectTemplateBuilder::AddNamedPropertyInterceptor() { template_->SetNamedPropertyHandler(&NamedPropertyGetter,
diff --git a/gin/runner.cc b/gin/runner.cc index 6f018b1..dd04c15 100644 --- a/gin/runner.cc +++ b/gin/runner.cc
@@ -9,8 +9,7 @@ Runner::Runner() : weak_factory_(this) { } -Runner::~Runner() { -} +Runner::~Runner() = default; Runner::Scope::Scope(Runner* runner) : isolate_scope_(runner->GetContextHolder()->isolate()), @@ -18,7 +17,6 @@ scope_(runner->GetContextHolder()->context()) { } -Runner::Scope::~Scope() { -} +Runner::Scope::~Scope() = default; } // namespace gin
diff --git a/gin/shell_runner.cc b/gin/shell_runner.cc index 0e534e4..b98240a1 100644 --- a/gin/shell_runner.cc +++ b/gin/shell_runner.cc
@@ -19,11 +19,9 @@ namespace gin { -ShellRunnerDelegate::ShellRunnerDelegate() { -} +ShellRunnerDelegate::ShellRunnerDelegate() = default; -ShellRunnerDelegate::~ShellRunnerDelegate() { -} +ShellRunnerDelegate::~ShellRunnerDelegate() = default; v8::Local<ObjectTemplate> ShellRunnerDelegate::GetGlobalTemplate( ShellRunner* runner, @@ -60,8 +58,7 @@ delegate_->DidCreateContext(this); } -ShellRunner::~ShellRunner() { -} +ShellRunner::~ShellRunner() = default; void ShellRunner::Run(const std::string& source, const std::string& resource_name) {
diff --git a/gin/test/file_runner.cc b/gin/test/file_runner.cc index a9c77fb..853a695 100644 --- a/gin/test/file_runner.cc +++ b/gin/test/file_runner.cc
@@ -44,8 +44,7 @@ AddBuiltinModule(File::kModuleName, File::GetModule); } -FileRunnerDelegate::~FileRunnerDelegate() { -} +FileRunnerDelegate::~FileRunnerDelegate() = default; void FileRunnerDelegate::UnhandledException(ShellRunner* runner, TryCatch& try_catch) {
diff --git a/gin/test/v8_test.cc b/gin/test/v8_test.cc index 590266f..88009dd 100644 --- a/gin/test/v8_test.cc +++ b/gin/test/v8_test.cc
@@ -15,11 +15,9 @@ namespace gin { -V8Test::V8Test() { -} +V8Test::V8Test() = default; -V8Test::~V8Test() { -} +V8Test::~V8Test() = default; void V8Test::SetUp() { #ifdef V8_USE_EXTERNAL_STARTUP_DATA
diff --git a/gin/try_catch.cc b/gin/try_catch.cc index df27b9c..24512bc 100644 --- a/gin/try_catch.cc +++ b/gin/try_catch.cc
@@ -25,8 +25,7 @@ : isolate_(isolate), try_catch_(isolate) { } -TryCatch::~TryCatch() { -} +TryCatch::~TryCatch() = default; bool TryCatch::HasCaught() { return try_catch_.HasCaught();
diff --git a/gin/v8_foreground_task_runner.cc b/gin/v8_foreground_task_runner.cc index afc2824..9adb503 100644 --- a/gin/v8_foreground_task_runner.cc +++ b/gin/v8_foreground_task_runner.cc
@@ -17,7 +17,7 @@ DCHECK(task_runner_); } -V8ForegroundTaskRunner::~V8ForegroundTaskRunner() {} +V8ForegroundTaskRunner::~V8ForegroundTaskRunner() = default; void V8ForegroundTaskRunner::PostTask(std::unique_ptr<v8::Task> task) { task_runner_->PostTask(FROM_HERE,
diff --git a/gin/v8_foreground_task_runner_base.cc b/gin/v8_foreground_task_runner_base.cc index 53f6104..7c21af8 100644 --- a/gin/v8_foreground_task_runner_base.cc +++ b/gin/v8_foreground_task_runner_base.cc
@@ -6,9 +6,9 @@ namespace gin { -V8ForegroundTaskRunnerBase::V8ForegroundTaskRunnerBase() {} +V8ForegroundTaskRunnerBase::V8ForegroundTaskRunnerBase() = default; -V8ForegroundTaskRunnerBase::~V8ForegroundTaskRunnerBase() {} +V8ForegroundTaskRunnerBase::~V8ForegroundTaskRunnerBase() = default; void V8ForegroundTaskRunnerBase::EnableIdleTasks( std::unique_ptr<V8IdleTaskRunner> idle_task_runner) {
diff --git a/gin/v8_foreground_task_runner_with_locker.cc b/gin/v8_foreground_task_runner_with_locker.cc index 4a60141..13aead5 100644 --- a/gin/v8_foreground_task_runner_with_locker.cc +++ b/gin/v8_foreground_task_runner_with_locker.cc
@@ -19,7 +19,7 @@ DCHECK(task_runner_); } -V8ForegroundTaskRunnerWithLocker::~V8ForegroundTaskRunnerWithLocker() {} +V8ForegroundTaskRunnerWithLocker::~V8ForegroundTaskRunnerWithLocker() = default; namespace {
diff --git a/gin/v8_platform.cc b/gin/v8_platform.cc index 8b071b8..784a49a 100644 --- a/gin/v8_platform.cc +++ b/gin/v8_platform.cc
@@ -168,7 +168,7 @@ V8Platform::V8Platform() : tracing_controller_(new TracingControllerImpl) {} -V8Platform::~V8Platform() {} +V8Platform::~V8Platform() = default; void V8Platform::OnCriticalMemoryPressure() { #if defined(OS_WIN)
diff --git a/gin/wrappable.cc b/gin/wrappable.cc index 5717c97..22033bea 100644 --- a/gin/wrappable.cc +++ b/gin/wrappable.cc
@@ -10,8 +10,7 @@ namespace gin { -WrappableBase::WrappableBase() { -} +WrappableBase::WrappableBase() = default; WrappableBase::~WrappableBase() { wrapper_.Reset();
diff --git a/gin/wrappable_unittest.cc b/gin/wrappable_unittest.cc index f4f35c0..e20850f 100644 --- a/gin/wrappable_unittest.cc +++ b/gin/wrappable_unittest.cc
@@ -22,7 +22,7 @@ class BaseClass { public: BaseClass() : value_(23) {} - virtual ~BaseClass() {} + virtual ~BaseClass() = default; // So the compiler doesn't complain that |value_| is unused. int value() const { return value_; } @@ -51,7 +51,7 @@ return Wrappable<MyObject>::GetObjectTemplateBuilder(isolate) .SetProperty("value", &MyObject::value, &MyObject::set_value); } - ~MyObject() override {} + ~MyObject() override = default; private: int value_; @@ -76,7 +76,7 @@ MyCallableObject() : result_(0) { } - ~MyCallableObject() override {} + ~MyCallableObject() override = default; void Call(int val1, int val2, int val3, const gin::Arguments& arguments) { if (arguments.IsConstructCall())
diff --git a/ios/third_party/motion_interchange_objc/BUILD.gn b/ios/third_party/motion_interchange_objc/BUILD.gn new file mode 100644 index 0000000..1520955d6 --- /dev/null +++ b/ios/third_party/motion_interchange_objc/BUILD.gn
@@ -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. + +config("config") { + include_dirs = [ "src/src" ] + visibility = [ ":motion_interchange_objc" ] +} + +source_set("motion_interchange_objc") { + sources = [ + "src/src/MDMMotionCurve.h", + "src/src/MDMMotionCurve.m", + "src/src/MDMMotionRepetition.h", + "src/src/MDMMotionTiming.h", + "src/src/MotionInterchange.h", + ] + public = [ + "src/src/MDMMotionCurve.h", + "src/src/MDMMotionRepetition.h", + "src/src/MDMMotionTiming.h", + "src/src/MotionInterchange.h", + ] + + libs = [ + "CoreGraphics.framework", + "Foundation.framework", + "QuartzCore.framework", + ] + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ + ":config", + "//build/config/compiler:enable_arc", + "//build/config/compiler:no_chromium_code", + ] + public_configs = [ ":config" ] +}
diff --git a/ios/third_party/motion_interchange_objc/LICENSE b/ios/third_party/motion_interchange_objc/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/ios/third_party/motion_interchange_objc/LICENSE
@@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License.
diff --git a/ios/third_party/motion_interchange_objc/OWNERS b/ios/third_party/motion_interchange_objc/OWNERS new file mode 100644 index 0000000..e9a3f8b3 --- /dev/null +++ b/ios/third_party/motion_interchange_objc/OWNERS
@@ -0,0 +1,9 @@ +sdefresne@chromium.org +rohitrao@chromium.org + +# These are for the common case of adding or renaming files. If you're doing +# structural changes, please get a review from an OWNER. +per-file BUILD.gn=* + +# TEAM: ios-directory-owners@chromium.org +# OS: iOS
diff --git a/ios/third_party/motion_interchange_objc/README.chromium b/ios/third_party/motion_interchange_objc/README.chromium new file mode 100644 index 0000000..05fff511 --- /dev/null +++ b/ios/third_party/motion_interchange_objc/README.chromium
@@ -0,0 +1,15 @@ +Name: Motion Interchange for Objective-C +URL: https://github.com/material-motion/motion-interchange-objc +Version: 0 +Revision: 02e2308e1c68cd966a91807b17bcdf57f92af401 +License: Apache 2.0 +License File: LICENSE +Security Critical: yes + +Description: +This library defines a format for representing motion in Objective-C and +Swift applications. The primary data type, MotionTiming, allows you to +describe the duration, delay, timing curve, and repetition for an animation. + +Local Modifications: +None
diff --git a/media/audio/alsa/alsa_input.cc b/media/audio/alsa/alsa_input.cc index 3b910ed..41324d8 100644 --- a/media/audio/alsa/alsa_input.cc +++ b/media/audio/alsa/alsa_input.cc
@@ -50,7 +50,7 @@ weak_factory_(this) { } -AlsaPcmInputStream::~AlsaPcmInputStream() {} +AlsaPcmInputStream::~AlsaPcmInputStream() = default; bool AlsaPcmInputStream::Open() { if (device_handle_)
diff --git a/media/audio/alsa/alsa_wrapper.cc b/media/audio/alsa/alsa_wrapper.cc index 5719ebe..a11a4a4 100644 --- a/media/audio/alsa/alsa_wrapper.cc +++ b/media/audio/alsa/alsa_wrapper.cc
@@ -6,11 +6,9 @@ namespace media { -AlsaWrapper::AlsaWrapper() { -} +AlsaWrapper::AlsaWrapper() = default; -AlsaWrapper::~AlsaWrapper() { -} +AlsaWrapper::~AlsaWrapper() = default; int AlsaWrapper::PcmOpen(snd_pcm_t** handle, const char* name, snd_pcm_stream_t stream, int mode) {
diff --git a/media/audio/audio_debug_file_writer_unittest.cc b/media/audio/audio_debug_file_writer_unittest.cc index cba61b9..aa47ae2 100644 --- a/media/audio/audio_debug_file_writer_unittest.cc +++ b/media/audio/audio_debug_file_writer_unittest.cc
@@ -62,7 +62,7 @@ } protected: - virtual ~AudioDebugFileWriterTest() {} + virtual ~AudioDebugFileWriterTest() = default; static void InitSourceInterleaved(int16_t* source_interleaved, int source_samples) {
diff --git a/media/audio/audio_debug_recording_helper_unittest.cc b/media/audio/audio_debug_recording_helper_unittest.cc index 3e3eaf900..2976f6e 100644 --- a/media/audio/audio_debug_recording_helper_unittest.cc +++ b/media/audio/audio_debug_recording_helper_unittest.cc
@@ -44,7 +44,7 @@ public: MockAudioDebugFileWriter(const AudioParameters& params) : AudioDebugFileWriter(params), reference_data_(nullptr) {} - ~MockAudioDebugFileWriter() override {} + ~MockAudioDebugFileWriter() override = default; MOCK_METHOD1(Start, void(const base::FilePath&)); MOCK_METHOD0(Stop, void()); @@ -93,7 +93,7 @@ : AudioDebugRecordingHelper(params, std::move(task_runner), std::move(on_destruction_closure)) {} - ~AudioDebugRecordingHelperUnderTest() override {} + ~AudioDebugRecordingHelperUnderTest() override = default; private: // Creates the mock writer. After the mock writer is returned, we always @@ -117,7 +117,7 @@ public: AudioDebugRecordingHelperTest() : file_path_(kBaseFilePath) {} - ~AudioDebugRecordingHelperTest() override {} + ~AudioDebugRecordingHelperTest() override = default; // Helper function that creates a recording helper. std::unique_ptr<AudioDebugRecordingHelper> CreateRecordingHelper(
diff --git a/media/audio/audio_debug_recording_manager.cc b/media/audio/audio_debug_recording_manager.cc index aaecb078..0bca5cdc 100644 --- a/media/audio/audio_debug_recording_manager.cc +++ b/media/audio/audio_debug_recording_manager.cc
@@ -39,7 +39,7 @@ scoped_refptr<base::SingleThreadTaskRunner> task_runner) : task_runner_(std::move(task_runner)), weak_factory_(this) {} -AudioDebugRecordingManager::~AudioDebugRecordingManager() {} +AudioDebugRecordingManager::~AudioDebugRecordingManager() = default; void AudioDebugRecordingManager::EnableDebugRecording( const base::FilePath& base_file_name) {
diff --git a/media/audio/audio_debug_recording_manager_unittest.cc b/media/audio/audio_debug_recording_manager_unittest.cc index 9e3d088..9fea85d 100644 --- a/media/audio/audio_debug_recording_manager_unittest.cc +++ b/media/audio/audio_debug_recording_manager_unittest.cc
@@ -90,7 +90,7 @@ AudioDebugRecordingManagerUnderTest( scoped_refptr<base::SingleThreadTaskRunner> task_runner) : AudioDebugRecordingManager(std::move(task_runner)) {} - ~AudioDebugRecordingManagerUnderTest() override {} + ~AudioDebugRecordingManagerUnderTest() override = default; private: std::unique_ptr<AudioDebugRecordingHelper> CreateAudioDebugRecordingHelper( @@ -111,7 +111,7 @@ : manager_(message_loop_.task_runner()), base_file_path_(base::FilePath::FromUTF8Unsafe("base_path")) {} - ~AudioDebugRecordingManagerTest() override {} + ~AudioDebugRecordingManagerTest() override = default; // Registers a source and increases counter for the expected next source id. std::unique_ptr<AudioDebugRecorder> RegisterDebugRecordingSource(
diff --git a/media/audio/audio_device_name.cc b/media/audio/audio_device_name.cc index cb14a08..a0d8e73 100644 --- a/media/audio/audio_device_name.cc +++ b/media/audio/audio_device_name.cc
@@ -7,7 +7,7 @@ namespace media { -AudioDeviceName::AudioDeviceName() {} +AudioDeviceName::AudioDeviceName() = default; AudioDeviceName::AudioDeviceName(const std::string& device_name, const std::string& unique_id)
diff --git a/media/audio/audio_device_thread.cc b/media/audio/audio_device_thread.cc index cbbdffb..7232151 100644 --- a/media/audio/audio_device_thread.cc +++ b/media/audio/audio_device_thread.cc
@@ -46,7 +46,7 @@ thread_checker_.DetachFromThread(); } -AudioDeviceThread::Callback::~Callback() {} +AudioDeviceThread::Callback::~Callback() = default; void AudioDeviceThread::Callback::InitializeOnAudioThread() { // Normally this function is called before the thread checker is used
diff --git a/media/audio/audio_input_controller.cc b/media/audio/audio_input_controller.cc index 5173c79..21aba31 100644 --- a/media/audio/audio_input_controller.cc +++ b/media/audio/audio_input_controller.cc
@@ -112,7 +112,7 @@ explicit AudioCallback(AudioInputController* controller) : controller_(controller), weak_controller_(controller->weak_ptr_factory_.GetWeakPtr()) {} - ~AudioCallback() override {} + ~AudioCallback() override = default; bool received_callback() const { return received_callback_; } bool error_during_callback() const { return error_during_callback_; }
diff --git a/media/audio/audio_input_controller_unittest.cc b/media/audio/audio_input_controller_unittest.cc index 392bf78..9e68797 100644 --- a/media/audio/audio_input_controller_unittest.cc +++ b/media/audio/audio_input_controller_unittest.cc
@@ -61,7 +61,7 @@ class MockAudioInputControllerEventHandler : public AudioInputController::EventHandler { public: - MockAudioInputControllerEventHandler() {} + MockAudioInputControllerEventHandler() = default; MOCK_METHOD1(OnCreated, void(bool initially_muted)); MOCK_METHOD1(OnError, void(AudioInputController::ErrorCode error_code)); @@ -74,7 +74,7 @@ class MockSyncWriter : public AudioInputController::SyncWriter { public: - MockSyncWriter() {} + MockSyncWriter() = default; MOCK_METHOD4(Write, void(const AudioBus* data, @@ -86,7 +86,7 @@ class MockUserInputMonitor : public UserInputMonitor { public: - MockUserInputMonitor() {} + MockUserInputMonitor() = default; size_t GetKeyPressCount() const { return 0; }
diff --git a/media/audio/audio_input_delegate.cc b/media/audio/audio_input_delegate.cc index dc611a20..1310c00 100644 --- a/media/audio/audio_input_delegate.cc +++ b/media/audio/audio_input_delegate.cc
@@ -4,6 +4,6 @@ #include "media/audio/audio_input_delegate.h" -media::AudioInputDelegate::EventHandler::~EventHandler() {} +media::AudioInputDelegate::EventHandler::~EventHandler() = default; -media::AudioInputDelegate::~AudioInputDelegate() {} +media::AudioInputDelegate::~AudioInputDelegate() = default;
diff --git a/media/audio/audio_input_device.cc b/media/audio/audio_input_device.cc index 9b8ccfa6..afe0bf9 100644 --- a/media/audio/audio_input_device.cc +++ b/media/audio/audio_input_device.cc
@@ -381,8 +381,7 @@ frames_since_last_got_data_callback_(0), got_data_callback_(std::move(got_data_callback_)) {} -AudioInputDevice::AudioThreadCallback::~AudioThreadCallback() { -} +AudioInputDevice::AudioThreadCallback::~AudioThreadCallback() = default; void AudioInputDevice::AudioThreadCallback::MapSharedMemory() { shared_memory_.Map(memory_length_);
diff --git a/media/audio/audio_input_device_unittest.cc b/media/audio/audio_input_device_unittest.cc index 16ff0fc6..7861aa3 100644 --- a/media/audio/audio_input_device_unittest.cc +++ b/media/audio/audio_input_device_unittest.cc
@@ -29,8 +29,8 @@ class MockAudioInputIPC : public AudioInputIPC { public: - MockAudioInputIPC() {} - ~MockAudioInputIPC() override {} + MockAudioInputIPC() = default; + ~MockAudioInputIPC() override = default; MOCK_METHOD5(CreateStream, void(AudioInputIPCDelegate* delegate, @@ -45,8 +45,8 @@ class MockCaptureCallback : public AudioCapturerSource::CaptureCallback { public: - MockCaptureCallback() {} - ~MockCaptureCallback() override {} + MockCaptureCallback() = default; + ~MockCaptureCallback() override = default; MOCK_METHOD0(OnCaptureStarted, void()); MOCK_METHOD4(Capture,
diff --git a/media/audio/audio_input_ipc.cc b/media/audio/audio_input_ipc.cc index 69253b05..cb7557d 100644 --- a/media/audio/audio_input_ipc.cc +++ b/media/audio/audio_input_ipc.cc
@@ -6,8 +6,8 @@ namespace media { -AudioInputIPCDelegate::~AudioInputIPCDelegate() {} +AudioInputIPCDelegate::~AudioInputIPCDelegate() = default; -AudioInputIPC::~AudioInputIPC() {} +AudioInputIPC::~AudioInputIPC() = default; } // namespace media
diff --git a/media/audio/audio_input_stream_data_interceptor_unittest.cc b/media/audio/audio_input_stream_data_interceptor_unittest.cc index 6a35658..05b8357 100644 --- a/media/audio/audio_input_stream_data_interceptor_unittest.cc +++ b/media/audio/audio_input_stream_data_interceptor_unittest.cc
@@ -27,8 +27,8 @@ class MockStream : public AudioInputStream { public: - MockStream() {} - ~MockStream() {} + MockStream() = default; + ~MockStream() = default; MOCK_METHOD0(Open, bool()); MOCK_METHOD1(Start, void(AudioInputStream::AudioInputCallback*)); MOCK_METHOD0(Stop, void()); @@ -43,15 +43,15 @@ class MockDebugRecorder : public AudioDebugRecorder { public: - MockDebugRecorder() {} - ~MockDebugRecorder() {} + MockDebugRecorder() = default; + ~MockDebugRecorder() = default; MOCK_METHOD1(OnData, void(const AudioBus* source)); }; class MockCallback : public AudioInputStream::AudioInputCallback { public: - MockCallback() {} - ~MockCallback() {} + MockCallback() = default; + ~MockCallback() = default; MOCK_METHOD3(OnData, void(const AudioBus*, base::TimeTicks, double)); MOCK_METHOD0(OnError, void()); @@ -59,7 +59,7 @@ class MockDebugRecorderFactory { public: - MockDebugRecorderFactory() {} + MockDebugRecorderFactory() = default; ~MockDebugRecorderFactory() { DCHECK(!prepared_recorder_); } std::unique_ptr<AudioDebugRecorder> CreateDebugRecorder() {
diff --git a/media/audio/audio_low_latency_input_output_unittest.cc b/media/audio/audio_low_latency_input_output_unittest.cc index e8754da9..f888015 100644 --- a/media/audio/audio_low_latency_input_output_unittest.cc +++ b/media/audio/audio_low_latency_input_output_unittest.cc
@@ -298,7 +298,7 @@ samples_per_packet_ = params.frames_per_buffer(); } - virtual ~StreamWrapper() {} + virtual ~StreamWrapper() = default; // Creates an Audio[Input|Output]Stream stream object using default // parameters.
diff --git a/media/audio/audio_manager.cc b/media/audio/audio_manager.cc index 77e509a6..edeff13 100644 --- a/media/audio/audio_manager.cc +++ b/media/audio/audio_manager.cc
@@ -55,8 +55,8 @@ THREAD_MAX = THREAD_RECOVERED }; - AudioManagerHelper() {} - ~AudioManagerHelper() override {} + AudioManagerHelper() = default; + ~AudioManagerHelper() override = default; void StartHangTimer( scoped_refptr<base::SingleThreadTaskRunner> monitor_task_runner) {
diff --git a/media/audio/audio_manager_base.cc b/media/audio/audio_manager_base.cc index 0d3bc4d..c00f901 100644 --- a/media/audio/audio_manager_base.cc +++ b/media/audio/audio_manager_base.cc
@@ -72,7 +72,7 @@ : input_params(input), output_params(output), output_device_id(output_device_id) {} - ~DispatcherParams() {} + ~DispatcherParams() = default; const AudioParameters input_params; const AudioParameters output_params;
diff --git a/media/audio/audio_manager_unittest.cc b/media/audio/audio_manager_unittest.cc index 94aa3fb..4cbd427 100644 --- a/media/audio/audio_manager_unittest.cc +++ b/media/audio/audio_manager_unittest.cc
@@ -581,7 +581,7 @@ scoped_refptr<base::SingleThreadTaskRunner> task_runner) : AudioDebugRecordingManager(std::move(task_runner)) {} - ~MockAudioDebugRecordingManager() override {} + ~MockAudioDebugRecordingManager() override = default; MOCK_METHOD1(EnableDebugRecording, void(const base::FilePath&)); MOCK_METHOD0(DisableDebugRecording, void());
diff --git a/media/audio/audio_output_controller_unittest.cc b/media/audio/audio_output_controller_unittest.cc index 0c7c15eb..f1e1c106 100644 --- a/media/audio/audio_output_controller_unittest.cc +++ b/media/audio/audio_output_controller_unittest.cc
@@ -48,7 +48,7 @@ class MockAudioOutputControllerEventHandler : public AudioOutputController::EventHandler { public: - MockAudioOutputControllerEventHandler() {} + MockAudioOutputControllerEventHandler() = default; MOCK_METHOD0(OnControllerCreated, void()); MOCK_METHOD0(OnControllerPlaying, void()); @@ -63,7 +63,7 @@ class MockAudioOutputControllerSyncReader : public AudioOutputController::SyncReader { public: - MockAudioOutputControllerSyncReader() {} + MockAudioOutputControllerSyncReader() = default; MOCK_METHOD3(RequestMoreData, void(base::TimeDelta delay,
diff --git a/media/audio/audio_output_delegate.cc b/media/audio/audio_output_delegate.cc index 4d211fd..98e11e96 100644 --- a/media/audio/audio_output_delegate.cc +++ b/media/audio/audio_output_delegate.cc
@@ -4,6 +4,6 @@ #include "media/audio/audio_output_delegate.h" -media::AudioOutputDelegate::EventHandler::~EventHandler() {} +media::AudioOutputDelegate::EventHandler::~EventHandler() = default; -media::AudioOutputDelegate::~AudioOutputDelegate() {} +media::AudioOutputDelegate::~AudioOutputDelegate() = default;
diff --git a/media/audio/audio_output_device.cc b/media/audio/audio_output_device.cc index 16b60da..02d5431 100644 --- a/media/audio/audio_output_device.cc +++ b/media/audio/audio_output_device.cc
@@ -466,8 +466,7 @@ render_callback_(render_callback), callback_num_(0) {} -AudioOutputDevice::AudioThreadCallback::~AudioThreadCallback() { -} +AudioOutputDevice::AudioThreadCallback::~AudioThreadCallback() = default; void AudioOutputDevice::AudioThreadCallback::MapSharedMemory() { CHECK_EQ(total_segments_, 1u);
diff --git a/media/audio/audio_output_device_unittest.cc b/media/audio/audio_output_device_unittest.cc index b6a866c5..b85ce9b 100644 --- a/media/audio/audio_output_device_unittest.cc +++ b/media/audio/audio_output_device_unittest.cc
@@ -53,8 +53,8 @@ class MockRenderCallback : public AudioRendererSink::RenderCallback { public: - MockRenderCallback() {} - virtual ~MockRenderCallback() {} + MockRenderCallback() = default; + virtual ~MockRenderCallback() = default; MOCK_METHOD4(Render, int(base::TimeDelta delay, @@ -76,8 +76,8 @@ class MockAudioOutputIPC : public AudioOutputIPC { public: - MockAudioOutputIPC() {} - virtual ~MockAudioOutputIPC() {} + MockAudioOutputIPC() = default; + virtual ~MockAudioOutputIPC() = default; MOCK_METHOD4(RequestDeviceAuthorization, void(AudioOutputIPCDelegate* delegate,
diff --git a/media/audio/audio_output_ipc.cc b/media/audio/audio_output_ipc.cc index 233a3b8..eb07d30 100644 --- a/media/audio/audio_output_ipc.cc +++ b/media/audio/audio_output_ipc.cc
@@ -6,8 +6,8 @@ namespace media { -AudioOutputIPCDelegate::~AudioOutputIPCDelegate() {} +AudioOutputIPCDelegate::~AudioOutputIPCDelegate() = default; -AudioOutputIPC::~AudioOutputIPC() {} +AudioOutputIPC::~AudioOutputIPC() = default; } // namespace media
diff --git a/media/audio/audio_output_proxy_unittest.cc b/media/audio/audio_output_proxy_unittest.cc index 3341f20..295a98c6 100644 --- a/media/audio/audio_output_proxy_unittest.cc +++ b/media/audio/audio_output_proxy_unittest.cc
@@ -81,7 +81,7 @@ fake_output_stream_->Stop(); } - ~MockAudioOutputStream() {} + ~MockAudioOutputStream() = default; bool start_called() { return start_called_; } bool stop_called() { return stop_called_; }
diff --git a/media/audio/audio_output_stream_sink.cc b/media/audio/audio_output_stream_sink.cc index 3ed3967..b6d8edd 100644 --- a/media/audio/audio_output_stream_sink.cc +++ b/media/audio/audio_output_stream_sink.cc
@@ -23,8 +23,7 @@ audio_task_runner_(AudioManager::Get()->GetTaskRunner()), stream_(NULL) {} -AudioOutputStreamSink::~AudioOutputStreamSink() { -} +AudioOutputStreamSink::~AudioOutputStreamSink() = default; void AudioOutputStreamSink::Initialize(const AudioParameters& params, RenderCallback* callback) {
diff --git a/media/audio/audio_power_monitor.cc b/media/audio/audio_power_monitor.cc index efbad6c..f5d753d 100644 --- a/media/audio/audio_power_monitor.cc +++ b/media/audio/audio_power_monitor.cc
@@ -21,8 +21,7 @@ Reset(); } -AudioPowerMonitor::~AudioPowerMonitor() { -} +AudioPowerMonitor::~AudioPowerMonitor() = default; void AudioPowerMonitor::Reset() { // These are only read/written by Scan(), but Scan() should not be running
diff --git a/media/audio/audio_system.cc b/media/audio/audio_system.cc index dfcd7bdc..c45c38a 100644 --- a/media/audio/audio_system.cc +++ b/media/audio/audio_system.cc
@@ -10,7 +10,7 @@ namespace media { -AudioSystem::~AudioSystem() {} +AudioSystem::~AudioSystem() = default; // static std::unique_ptr<AudioSystem> AudioSystem::CreateInstance() {
diff --git a/media/audio/audio_system_helper.cc b/media/audio/audio_system_helper.cc index 511a7ce..771fc36 100644 --- a/media/audio/audio_system_helper.cc +++ b/media/audio/audio_system_helper.cc
@@ -36,7 +36,7 @@ DCHECK(audio_manager_); } -AudioSystemHelper::~AudioSystemHelper() {} +AudioSystemHelper::~AudioSystemHelper() = default; void AudioSystemHelper::GetInputStreamParameters( const std::string& device_id,
diff --git a/media/audio/audio_system_impl_unittest.cc b/media/audio/audio_system_impl_unittest.cc index b712b24..f1ab06b 100644 --- a/media/audio/audio_system_impl_unittest.cc +++ b/media/audio/audio_system_impl_unittest.cc
@@ -20,9 +20,9 @@ template <bool use_audio_thread> class AudioSystemImplTestBase : public testing::Test { public: - AudioSystemImplTestBase() {} + AudioSystemImplTestBase() = default; - ~AudioSystemImplTestBase() override {} + ~AudioSystemImplTestBase() override = default; void SetUp() override { audio_manager_ = std::make_unique<MockAudioManager>(
diff --git a/media/audio/clockless_audio_sink.cc b/media/audio/clockless_audio_sink.cc index d95f40e..4f15d24 100644 --- a/media/audio/clockless_audio_sink.cc +++ b/media/audio/clockless_audio_sink.cc
@@ -87,7 +87,7 @@ hashing_(false), is_optimized_for_hw_params_(true) {} -ClocklessAudioSink::~ClocklessAudioSink() {} +ClocklessAudioSink::~ClocklessAudioSink() = default; void ClocklessAudioSink::Initialize(const AudioParameters& params, RenderCallback* callback) {
diff --git a/media/audio/fake_audio_log_factory.cc b/media/audio/fake_audio_log_factory.cc index a7c08329..562540b 100644 --- a/media/audio/fake_audio_log_factory.cc +++ b/media/audio/fake_audio_log_factory.cc
@@ -12,8 +12,8 @@ class FakeAudioLogImpl : public AudioLog { public: - FakeAudioLogImpl() {} - ~FakeAudioLogImpl() override {} + FakeAudioLogImpl() = default; + ~FakeAudioLogImpl() override = default; void OnCreated(int component_id, const media::AudioParameters& params, const std::string& device_id) override {} @@ -27,8 +27,8 @@ void OnLogMessage(int component_id, const std::string& message) override {} }; -FakeAudioLogFactory::FakeAudioLogFactory() {} -FakeAudioLogFactory::~FakeAudioLogFactory() {} +FakeAudioLogFactory::FakeAudioLogFactory() = default; +FakeAudioLogFactory::~FakeAudioLogFactory() = default; std::unique_ptr<AudioLog> FakeAudioLogFactory::CreateAudioLog( AudioComponent component) {
diff --git a/media/audio/mock_audio_manager.cc b/media/audio/mock_audio_manager.cc index 96f1667..562d9ae 100644 --- a/media/audio/mock_audio_manager.cc +++ b/media/audio/mock_audio_manager.cc
@@ -15,8 +15,7 @@ MockAudioManager::MockAudioManager(std::unique_ptr<AudioThread> audio_thread) : AudioManager(std::move(audio_thread)) {} -MockAudioManager::~MockAudioManager() { -} +MockAudioManager::~MockAudioManager() = default; void MockAudioManager::ShutdownOnAudioThread() {}
diff --git a/media/audio/mock_audio_source_callback.cc b/media/audio/mock_audio_source_callback.cc index da2be1c..106b755 100644 --- a/media/audio/mock_audio_source_callback.cc +++ b/media/audio/mock_audio_source_callback.cc
@@ -6,7 +6,7 @@ namespace media { -MockAudioSourceCallback::MockAudioSourceCallback() {} -MockAudioSourceCallback::~MockAudioSourceCallback() {} +MockAudioSourceCallback::MockAudioSourceCallback() = default; +MockAudioSourceCallback::~MockAudioSourceCallback() = default; } // namespace media
diff --git a/media/audio/null_audio_sink.cc b/media/audio/null_audio_sink.cc index 36bc8d18..58f120e 100644 --- a/media/audio/null_audio_sink.cc +++ b/media/audio/null_audio_sink.cc
@@ -20,7 +20,7 @@ callback_(NULL), task_runner_(task_runner) {} -NullAudioSink::~NullAudioSink() {} +NullAudioSink::~NullAudioSink() = default; void NullAudioSink::Initialize(const AudioParameters& params, RenderCallback* callback) {
diff --git a/media/audio/simple_sources.cc b/media/audio/simple_sources.cc index a2f181ca..ca9bf98b 100644 --- a/media/audio/simple_sources.cc +++ b/media/audio/simple_sources.cc
@@ -111,8 +111,7 @@ errors_(0) { } -SineWaveAudioSource::~SineWaveAudioSource() { -} +SineWaveAudioSource::~SineWaveAudioSource() = default; // The implementation could be more efficient if a lookup table is constructed // but it is efficient enough for our simple needs. @@ -162,8 +161,7 @@ load_failed_(false), looping_(loop) {} -FileSource::~FileSource() { -} +FileSource::~FileSource() = default; void FileSource::LoadWavFile(const base::FilePath& path_to_wav_file) { // Don't try again if we already failed. @@ -257,8 +255,7 @@ beep_generated_in_buffers_(0), beep_period_in_frames_(params.sample_rate() / kBeepFrequency) {} -BeepingSource::~BeepingSource() { -} +BeepingSource::~BeepingSource() = default; int BeepingSource::OnMoreData(base::TimeDelta /* delay */, base::TimeTicks /* delay_timestamp */,
diff --git a/media/audio/sounds/audio_stream_handler_unittest.cc b/media/audio/sounds/audio_stream_handler_unittest.cc index 47e40fef..52bfde3 100644 --- a/media/audio/sounds/audio_stream_handler_unittest.cc +++ b/media/audio/sounds/audio_stream_handler_unittest.cc
@@ -27,8 +27,8 @@ class AudioStreamHandlerTest : public testing::Test { public: - AudioStreamHandlerTest() {} - ~AudioStreamHandlerTest() override {} + AudioStreamHandlerTest() = default; + ~AudioStreamHandlerTest() override = default; void SetUp() override { audio_manager_ =
diff --git a/media/audio/sounds/sounds_manager.cc b/media/audio/sounds/sounds_manager.cc index 46ba140..cb610b2 100644 --- a/media/audio/sounds/sounds_manager.cc +++ b/media/audio/sounds/sounds_manager.cc
@@ -22,7 +22,7 @@ class SoundsManagerImpl : public SoundsManager { public: - SoundsManagerImpl() {} + SoundsManagerImpl() = default; ~SoundsManagerImpl() override { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); } @@ -94,7 +94,7 @@ } // namespace -SoundsManager::SoundsManager() {} +SoundsManager::SoundsManager() = default; SoundsManager::~SoundsManager() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
diff --git a/media/audio/sounds/sounds_manager_unittest.cc b/media/audio/sounds/sounds_manager_unittest.cc index f4b4a369..0fad2d0 100644 --- a/media/audio/sounds/sounds_manager_unittest.cc +++ b/media/audio/sounds/sounds_manager_unittest.cc
@@ -23,8 +23,8 @@ class SoundsManagerTest : public testing::Test { public: - SoundsManagerTest() {} - ~SoundsManagerTest() override {} + SoundsManagerTest() = default; + ~SoundsManagerTest() override = default; void SetUp() override { audio_manager_ =
diff --git a/media/audio/sounds/test_data.cc b/media/audio/sounds/test_data.cc index a0a0dfa..120a735 100644 --- a/media/audio/sounds/test_data.cc +++ b/media/audio/sounds/test_data.cc
@@ -16,8 +16,7 @@ num_stop_requests_(0), cursor_(0) {} -TestObserver::~TestObserver() { -} +TestObserver::~TestObserver() = default; void TestObserver::OnPlay() { ++num_play_requests_;
diff --git a/media/audio/sounds/wav_audio_handler.cc b/media/audio/sounds/wav_audio_handler.cc index 8f934cc..df3674b 100644 --- a/media/audio/sounds/wav_audio_handler.cc +++ b/media/audio/sounds/wav_audio_handler.cc
@@ -172,7 +172,7 @@ total_frames_ = data_.size() * 8 / num_channels_ / bits_per_sample_; } -WavAudioHandler::~WavAudioHandler() {} +WavAudioHandler::~WavAudioHandler() = default; // static std::unique_ptr<WavAudioHandler> WavAudioHandler::Create(
diff --git a/media/audio/virtual_audio_input_stream_unittest.cc b/media/audio/virtual_audio_input_stream_unittest.cc index 0ee9168..e5bae4a 100644 --- a/media/audio/virtual_audio_input_stream_unittest.cc +++ b/media/audio/virtual_audio_input_stream_unittest.cc
@@ -42,7 +42,7 @@ InvokeWithoutArgs(&data_pushed_, &base::WaitableEvent::Signal)); } - virtual ~MockInputCallback() {} + virtual ~MockInputCallback() = default; MOCK_METHOD3(OnData, void(const AudioBus* source, @@ -71,7 +71,7 @@ data_pulled_(base::WaitableEvent::ResetPolicy::AUTOMATIC, base::WaitableEvent::InitialState::NOT_SIGNALED) {} - ~TestAudioSource() override {} + ~TestAudioSource() override = default; int OnMoreData(base::TimeDelta delay, base::TimeTicks delay_timestamp,
diff --git a/media/audio/virtual_audio_output_stream_unittest.cc b/media/audio/virtual_audio_output_stream_unittest.cc index 64fc8c6..8998d01 100644 --- a/media/audio/virtual_audio_output_stream_unittest.cc +++ b/media/audio/virtual_audio_output_stream_unittest.cc
@@ -33,7 +33,7 @@ kParams, worker_task_runner, base::Bind(&base::DeletePointer<VirtualAudioInputStream>)) {} - ~MockVirtualAudioInputStream() {} + ~MockVirtualAudioInputStream() = default; MOCK_METHOD2(AddInputProvider, void(AudioConverter::InputCallback* input,
diff --git a/media/audio/virtual_audio_sink.cc b/media/audio/virtual_audio_sink.cc index f5e29e13..41b3066 100644 --- a/media/audio/virtual_audio_sink.cc +++ b/media/audio/virtual_audio_sink.cc
@@ -40,7 +40,7 @@ target_->AddInputProvider(this, params_); } -VirtualAudioSink::~VirtualAudioSink() {} +VirtualAudioSink::~VirtualAudioSink() = default; void VirtualAudioSink::Close() { target_->RemoveInputProvider(this, params_);
diff --git a/media/base/audio_block_fifo.cc b/media/base/audio_block_fifo.cc index 16fb03e..fe33ce5 100644 --- a/media/base/audio_block_fifo.cc +++ b/media/base/audio_block_fifo.cc
@@ -23,7 +23,7 @@ IncreaseCapacity(blocks); } -AudioBlockFifo::~AudioBlockFifo() {} +AudioBlockFifo::~AudioBlockFifo() = default; void AudioBlockFifo::Push(const void* source, int frames,
diff --git a/media/base/audio_block_fifo_unittest.cc b/media/base/audio_block_fifo_unittest.cc index 3f3ca443..cf0bb66 100644 --- a/media/base/audio_block_fifo_unittest.cc +++ b/media/base/audio_block_fifo_unittest.cc
@@ -14,8 +14,8 @@ class AudioBlockFifoTest : public testing::Test { public: - AudioBlockFifoTest() {} - ~AudioBlockFifoTest() override {} + AudioBlockFifoTest() = default; + ~AudioBlockFifoTest() override = default; void PushAndVerify(AudioBlockFifo* fifo, int frames_to_push,
diff --git a/media/base/audio_buffer.cc b/media/base/audio_buffer.cc index e07aaf2..4c8a4380 100644 --- a/media/base/audio_buffer.cc +++ b/media/base/audio_buffer.cc
@@ -19,8 +19,8 @@ frames * base::Time::kMicrosecondsPerSecond / sample_rate); } -AudioBufferMemoryPool::AudioBufferMemoryPool() {} -AudioBufferMemoryPool::~AudioBufferMemoryPool() {} +AudioBufferMemoryPool::AudioBufferMemoryPool() = default; +AudioBufferMemoryPool::~AudioBufferMemoryPool() = default; AudioBufferMemoryPool::AudioMemory AudioBufferMemoryPool::CreateBuffer( size_t size) {
diff --git a/media/base/audio_buffer_converter.cc b/media/base/audio_buffer_converter.cc index e13df1d7..d5cee38 100644 --- a/media/base/audio_buffer_converter.cc +++ b/media/base/audio_buffer_converter.cc
@@ -36,7 +36,7 @@ is_flushing_(false), pool_(new AudioBufferMemoryPool()) {} -AudioBufferConverter::~AudioBufferConverter() {} +AudioBufferConverter::~AudioBufferConverter() = default; void AudioBufferConverter::AddInput(const scoped_refptr<AudioBuffer>& buffer) { // On EOS flush any remaining buffered data.
diff --git a/media/base/audio_buffer_queue.cc b/media/base/audio_buffer_queue.cc index e7e48713..a436b1e4 100644 --- a/media/base/audio_buffer_queue.cc +++ b/media/base/audio_buffer_queue.cc
@@ -12,7 +12,7 @@ namespace media { AudioBufferQueue::AudioBufferQueue() { Clear(); } -AudioBufferQueue::~AudioBufferQueue() {} +AudioBufferQueue::~AudioBufferQueue() = default; void AudioBufferQueue::Clear() { buffers_.clear();
diff --git a/media/base/audio_bus.cc b/media/base/audio_bus.cc index 4dd71027..a3e1cb7 100644 --- a/media/base/audio_bus.cc +++ b/media/base/audio_bus.cc
@@ -109,7 +109,7 @@ channel_data_[i] = NULL; } -AudioBus::~AudioBus() {} +AudioBus::~AudioBus() = default; std::unique_ptr<AudioBus> AudioBus::Create(int channels, int frames) { return base::WrapUnique(new AudioBus(channels, frames));
diff --git a/media/base/audio_bus_unittest.cc b/media/base/audio_bus_unittest.cc index 16b45f8..a7e12f3 100644 --- a/media/base/audio_bus_unittest.cc +++ b/media/base/audio_bus_unittest.cc
@@ -30,7 +30,7 @@ class AudioBusTest : public testing::Test { public: - AudioBusTest() {} + AudioBusTest() = default; ~AudioBusTest() override { for (size_t i = 0; i < data_.size(); ++i) base::AlignedFree(data_[i]);
diff --git a/media/base/audio_converter.cc b/media/base/audio_converter.cc index 2677494..041043e 100644 --- a/media/base/audio_converter.cc +++ b/media/base/audio_converter.cc
@@ -80,7 +80,7 @@ } } -AudioConverter::~AudioConverter() {} +AudioConverter::~AudioConverter() = default; void AudioConverter::AddInput(InputCallback* input) { DCHECK(std::find(transform_inputs_.begin(), transform_inputs_.end(), input) ==
diff --git a/media/base/audio_converter_perftest.cc b/media/base/audio_converter_perftest.cc index 1862beee..34ec050 100644 --- a/media/base/audio_converter_perftest.cc +++ b/media/base/audio_converter_perftest.cc
@@ -17,8 +17,8 @@ // InputCallback that zero's out the provided AudioBus. class NullInputProvider : public AudioConverter::InputCallback { public: - NullInputProvider() {} - ~NullInputProvider() override {} + NullInputProvider() = default; + ~NullInputProvider() override = default; double ProvideInput(AudioBus* audio_bus, uint32_t frames_delayed) override { audio_bus->Zero();
diff --git a/media/base/audio_converter_unittest.cc b/media/base/audio_converter_unittest.cc index b25bb65..d1cd44f 100644 --- a/media/base/audio_converter_unittest.cc +++ b/media/base/audio_converter_unittest.cc
@@ -168,7 +168,7 @@ } protected: - virtual ~AudioConverterTest() {} + virtual ~AudioConverterTest() = default; // Converter under test. std::unique_ptr<AudioConverter> converter_;
diff --git a/media/base/audio_decoder.cc b/media/base/audio_decoder.cc index 6e92458..4ff425e9 100644 --- a/media/base/audio_decoder.cc +++ b/media/base/audio_decoder.cc
@@ -8,9 +8,9 @@ namespace media { -AudioDecoder::AudioDecoder() {} +AudioDecoder::AudioDecoder() = default; -AudioDecoder::~AudioDecoder() {} +AudioDecoder::~AudioDecoder() = default; bool AudioDecoder::NeedsBitstreamConversion() const { return false;
diff --git a/media/base/audio_decoder_config.cc b/media/base/audio_decoder_config.cc index 27bf7ad..c81697b 100644 --- a/media/base/audio_decoder_config.cc +++ b/media/base/audio_decoder_config.cc
@@ -60,7 +60,7 @@ should_discard_decoder_delay_ = true; } -AudioDecoderConfig::~AudioDecoderConfig() {} +AudioDecoderConfig::~AudioDecoderConfig() = default; bool AudioDecoderConfig::IsValidConfig() const { return codec_ != kUnknownAudioCodec &&
diff --git a/media/base/audio_discard_helper.cc b/media/base/audio_discard_helper.cc index b0342899..c02801b 100644 --- a/media/base/audio_discard_helper.cc +++ b/media/base/audio_discard_helper.cc
@@ -35,8 +35,7 @@ DCHECK_GT(sample_rate_, 0); } -AudioDiscardHelper::~AudioDiscardHelper() { -} +AudioDiscardHelper::~AudioDiscardHelper() = default; size_t AudioDiscardHelper::TimeDeltaToFrames(base::TimeDelta duration) const { DCHECK(duration >= base::TimeDelta());
diff --git a/media/base/audio_fifo.cc b/media/base/audio_fifo.cc index bdc7ddf7..507edd1 100644 --- a/media/base/audio_fifo.cc +++ b/media/base/audio_fifo.cc
@@ -45,7 +45,7 @@ read_pos_(0), write_pos_(0) {} -AudioFifo::~AudioFifo() {} +AudioFifo::~AudioFifo() = default; int AudioFifo::frames() const { int delta = frames_pushed_ - frames_consumed_;
diff --git a/media/base/audio_fifo_unittest.cc b/media/base/audio_fifo_unittest.cc index 7dd354d..2f69e36 100644 --- a/media/base/audio_fifo_unittest.cc +++ b/media/base/audio_fifo_unittest.cc
@@ -14,8 +14,8 @@ class AudioFifoTest : public testing::Test { public: - AudioFifoTest() {} - ~AudioFifoTest() override {} + AudioFifoTest() = default; + ~AudioFifoTest() override = default; void VerifyValue(const float data[], int size, float value) { for (int i = 0; i < size; ++i)
diff --git a/media/base/audio_hash.cc b/media/base/audio_hash.cc index 6d8eee8..404e6f4 100644 --- a/media/base/audio_hash.cc +++ b/media/base/audio_hash.cc
@@ -19,7 +19,7 @@ sample_count_(0) { } -AudioHash::~AudioHash() {} +AudioHash::~AudioHash() = default; void AudioHash::Update(const AudioBus* audio_bus, int frames) { // Use uint32_t to ensure overflow is a defined operation.
diff --git a/media/base/audio_hash_unittest.cc b/media/base/audio_hash_unittest.cc index 9f7ab22..8e04bf0 100644 --- a/media/base/audio_hash_unittest.cc +++ b/media/base/audio_hash_unittest.cc
@@ -42,7 +42,7 @@ } } - ~AudioHashTest() override {} + ~AudioHashTest() override = default; protected: std::unique_ptr<AudioBus> bus_one_;
diff --git a/media/base/audio_parameters.cc b/media/base/audio_parameters.cc index a1ae7696..b8dcb49 100644 --- a/media/base/audio_parameters.cc +++ b/media/base/audio_parameters.cc
@@ -68,7 +68,7 @@ frames_per_buffer); } -AudioParameters::~AudioParameters() {} +AudioParameters::~AudioParameters() = default; AudioParameters::AudioParameters(const AudioParameters&) = default; AudioParameters& AudioParameters::operator=(const AudioParameters&) = default;
diff --git a/media/base/audio_pull_fifo.cc b/media/base/audio_pull_fifo.cc index 03aa001a..549addd 100644 --- a/media/base/audio_pull_fifo.cc +++ b/media/base/audio_pull_fifo.cc
@@ -16,7 +16,7 @@ fifo_(AudioBus::Create(channels, frames)), fifo_index_(frames) {} -AudioPullFifo::~AudioPullFifo() {} +AudioPullFifo::~AudioPullFifo() = default; void AudioPullFifo::Consume(AudioBus* destination, int frames_to_consume) { DCHECK_LE(frames_to_consume, destination->frames());
diff --git a/media/base/audio_pull_fifo_unittest.cc b/media/base/audio_pull_fifo_unittest.cc index b664802..77d44d1 100644 --- a/media/base/audio_pull_fifo_unittest.cc +++ b/media/base/audio_pull_fifo_unittest.cc
@@ -39,7 +39,7 @@ last_frame_delay_(-1) { EXPECT_EQ(kMaxFramesInFifo, pull_fifo_.SizeInFrames()); } - virtual ~AudioPullFifoTest() {} + virtual ~AudioPullFifoTest() = default; void VerifyValue(const float data[], int size, float start_value) { float value = start_value;
diff --git a/media/base/audio_push_fifo.cc b/media/base/audio_push_fifo.cc index 5e75967..5922b8a5 100644 --- a/media/base/audio_push_fifo.cc +++ b/media/base/audio_push_fifo.cc
@@ -15,7 +15,7 @@ DCHECK(!callback_.is_null()); } -AudioPushFifo::~AudioPushFifo() {} +AudioPushFifo::~AudioPushFifo() = default; void AudioPushFifo::Reset(int frames_per_buffer) { DCHECK_GT(frames_per_buffer, 0);
diff --git a/media/base/audio_push_fifo_unittest.cc b/media/base/audio_push_fifo_unittest.cc index d3d5f89..bcf85c5 100644 --- a/media/base/audio_push_fifo_unittest.cc +++ b/media/base/audio_push_fifo_unittest.cc
@@ -19,8 +19,8 @@ class AudioPushFifoTest : public testing::TestWithParam<int> { public: - AudioPushFifoTest() {} - ~AudioPushFifoTest() override {} + AudioPushFifoTest() = default; + ~AudioPushFifoTest() override = default; int output_chunk_size() const { return GetParam(); }
diff --git a/media/base/audio_renderer.cc b/media/base/audio_renderer.cc index e7b737e..e3f63ac28 100644 --- a/media/base/audio_renderer.cc +++ b/media/base/audio_renderer.cc
@@ -6,7 +6,7 @@ namespace media { -AudioRenderer::AudioRenderer() {} -AudioRenderer::~AudioRenderer() {} +AudioRenderer::AudioRenderer() = default; +AudioRenderer::~AudioRenderer() = default; } // namespace media
diff --git a/media/base/audio_renderer_mixer.cc b/media/base/audio_renderer_mixer.cc index 80d32b02..2c22946f 100644 --- a/media/base/audio_renderer_mixer.cc +++ b/media/base/audio_renderer_mixer.cc
@@ -26,7 +26,7 @@ UMAMaxValueTracker(const UmaLogCallback& log_callback) : log_callback_(log_callback), count_(0), max_count_(0) {} - ~UMAMaxValueTracker() {} + ~UMAMaxValueTracker() = default; // Increments the counter, updates the maximum. void Increment() {
diff --git a/media/base/audio_renderer_mixer_input_unittest.cc b/media/base/audio_renderer_mixer_input_unittest.cc index 8f6a239..309956c9 100644 --- a/media/base/audio_renderer_mixer_input_unittest.cc +++ b/media/base/audio_renderer_mixer_input_unittest.cc
@@ -123,7 +123,7 @@ AudioRendererMixer* GetInputMixer() { return mixer_input_->mixer_; } protected: - virtual ~AudioRendererMixerInputTest() {} + virtual ~AudioRendererMixerInputTest() = default; base::test::ScopedTaskEnvironment scoped_task_environment_; AudioParameters audio_parameters_;
diff --git a/media/base/audio_renderer_mixer_unittest.cc b/media/base/audio_renderer_mixer_unittest.cc index a6d54e8..9dbfb77 100644 --- a/media/base/audio_renderer_mixer_unittest.cc +++ b/media/base/audio_renderer_mixer_unittest.cc
@@ -341,7 +341,7 @@ } protected: - virtual ~AudioRendererMixerTest() {} + virtual ~AudioRendererMixerTest() = default; scoped_refptr<MockAudioRendererSink> sink_; std::unique_ptr<AudioRendererMixer> mixer_;
diff --git a/media/base/audio_shifter.cc b/media/base/audio_shifter.cc index 455b5e6..10d6928f 100644 --- a/media/base/audio_shifter.cc +++ b/media/base/audio_shifter.cc
@@ -85,7 +85,7 @@ AudioShifter::AudioQueueEntry::AudioQueueEntry(const AudioQueueEntry& other) = default; -AudioShifter::AudioQueueEntry::~AudioQueueEntry() {} +AudioShifter::AudioQueueEntry::~AudioQueueEntry() = default; AudioShifter::AudioShifter(base::TimeDelta max_buffer_size, base::TimeDelta clock_accuracy, @@ -109,7 +109,7 @@ base::Bind(&AudioShifter::ResamplerCallback, base::Unretained(this))), current_ratio_(1.0) {} -AudioShifter::~AudioShifter() {} +AudioShifter::~AudioShifter() = default; void AudioShifter::Push(std::unique_ptr<AudioBus> input, base::TimeTicks playout_time) {
diff --git a/media/base/bit_reader.cc b/media/base/bit_reader.cc index 7f19855..a956e976 100644 --- a/media/base/bit_reader.cc +++ b/media/base/bit_reader.cc
@@ -15,7 +15,7 @@ DCHECK_GE(size, 0); } -BitReader::~BitReader() {} +BitReader::~BitReader() = default; bool BitReader::ReadString(int num_bits, std::string* str) { DCHECK_EQ(num_bits % 8, 0);
diff --git a/media/base/bit_reader_core.cc b/media/base/bit_reader_core.cc index 237470c..32c872b 100644 --- a/media/base/bit_reader_core.cc +++ b/media/base/bit_reader_core.cc
@@ -14,11 +14,9 @@ namespace media { -BitReaderCore::ByteStreamProvider::ByteStreamProvider() { -} +BitReaderCore::ByteStreamProvider::ByteStreamProvider() = default; -BitReaderCore::ByteStreamProvider::~ByteStreamProvider() { -} +BitReaderCore::ByteStreamProvider::~ByteStreamProvider() = default; BitReaderCore::BitReaderCore(ByteStreamProvider* byte_stream_provider) : byte_stream_provider_(byte_stream_provider), @@ -29,8 +27,7 @@ reg_next_(0) { } -BitReaderCore::~BitReaderCore() { -} +BitReaderCore::~BitReaderCore() = default; bool BitReaderCore::ReadFlag(bool* flag) { if (nbits_ == 0 && !Refill(1))
diff --git a/media/base/bitstream_buffer.cc b/media/base/bitstream_buffer.cc index 5a1907db..944200a 100644 --- a/media/base/bitstream_buffer.cc +++ b/media/base/bitstream_buffer.cc
@@ -22,7 +22,7 @@ BitstreamBuffer::BitstreamBuffer(const BitstreamBuffer& other) = default; -BitstreamBuffer::~BitstreamBuffer() {} +BitstreamBuffer::~BitstreamBuffer() = default; void BitstreamBuffer::SetDecryptConfig(const DecryptConfig& decrypt_config) { key_id_ = decrypt_config.key_id();
diff --git a/media/base/byte_queue.cc b/media/base/byte_queue.cc index 94000fac..08ac9a2 100644 --- a/media/base/byte_queue.cc +++ b/media/base/byte_queue.cc
@@ -17,7 +17,7 @@ offset_(0), used_(0) {} -ByteQueue::~ByteQueue() {} +ByteQueue::~ByteQueue() = default; void ByteQueue::Reset() { offset_ = 0;
diff --git a/media/base/cdm_context.cc b/media/base/cdm_context.cc index 248fc22..1eff10e4 100644 --- a/media/base/cdm_context.cc +++ b/media/base/cdm_context.cc
@@ -6,9 +6,9 @@ namespace media { -CdmContext::CdmContext() {} +CdmContext::CdmContext() = default; -CdmContext::~CdmContext() {} +CdmContext::~CdmContext() = default; void IgnoreCdmAttached(bool /* success */) {}
diff --git a/media/base/cdm_factory.cc b/media/base/cdm_factory.cc index 2714da7..7de8570 100644 --- a/media/base/cdm_factory.cc +++ b/media/base/cdm_factory.cc
@@ -6,10 +6,8 @@ namespace media { -CdmFactory::CdmFactory() { -} +CdmFactory::CdmFactory() = default; -CdmFactory::~CdmFactory() { -} +CdmFactory::~CdmFactory() = default; } // namespace media
diff --git a/media/base/cdm_initialized_promise.cc b/media/base/cdm_initialized_promise.cc index afd0ed72..8c36e0b 100644 --- a/media/base/cdm_initialized_promise.cc +++ b/media/base/cdm_initialized_promise.cc
@@ -11,8 +11,7 @@ scoped_refptr<ContentDecryptionModule> cdm) : cdm_created_cb_(std::move(cdm_created_cb)), cdm_(std::move(cdm)) {} -CdmInitializedPromise::~CdmInitializedPromise() { -} +CdmInitializedPromise::~CdmInitializedPromise() = default; void CdmInitializedPromise::resolve() { MarkPromiseSettled();
diff --git a/media/base/cdm_key_information.cc b/media/base/cdm_key_information.cc index e29df54..4bded48 100644 --- a/media/base/cdm_key_information.cc +++ b/media/base/cdm_key_information.cc
@@ -35,8 +35,7 @@ CdmKeyInformation::CdmKeyInformation(const CdmKeyInformation& other) = default; -CdmKeyInformation::~CdmKeyInformation() { -} +CdmKeyInformation::~CdmKeyInformation() = default; // static std::string CdmKeyInformation::KeyStatusToString(KeyStatus key_status) {
diff --git a/media/base/cdm_session_tracker.cc b/media/base/cdm_session_tracker.cc index b5b89908f2..da6f7b3 100644 --- a/media/base/cdm_session_tracker.cc +++ b/media/base/cdm_session_tracker.cc
@@ -6,7 +6,7 @@ namespace media { -CdmSessionTracker::CdmSessionTracker() {} +CdmSessionTracker::CdmSessionTracker() = default; CdmSessionTracker::~CdmSessionTracker() { DCHECK(!HasRemainingSessions());
diff --git a/media/base/channel_mixer.cc b/media/base/channel_mixer.cc index 4f271d38..a73a0b1 100644 --- a/media/base/channel_mixer.cc +++ b/media/base/channel_mixer.cc
@@ -39,7 +39,7 @@ remapping_ = matrix_builder.CreateTransformationMatrix(&matrix_); } -ChannelMixer::~ChannelMixer() {} +ChannelMixer::~ChannelMixer() = default; void ChannelMixer::Transform(const AudioBus* input, AudioBus* output) { CHECK_EQ(matrix_.size(), static_cast<size_t>(output->channels()));
diff --git a/media/base/channel_mixing_matrix.cc b/media/base/channel_mixing_matrix.cc index db0c029e..51a556a 100644 --- a/media/base/channel_mixing_matrix.cc +++ b/media/base/channel_mixing_matrix.cc
@@ -72,8 +72,7 @@ } } -ChannelMixingMatrix::~ChannelMixingMatrix() { -} +ChannelMixingMatrix::~ChannelMixingMatrix() = default; bool ChannelMixingMatrix::CreateTransformationMatrix( std::vector<std::vector<float>>* matrix) {
diff --git a/media/base/content_decryption_module.cc b/media/base/content_decryption_module.cc index 0b13a30..aaa6e62 100644 --- a/media/base/content_decryption_module.cc +++ b/media/base/content_decryption_module.cc
@@ -8,9 +8,9 @@ namespace media { -ContentDecryptionModule::ContentDecryptionModule() {} +ContentDecryptionModule::ContentDecryptionModule() = default; -ContentDecryptionModule::~ContentDecryptionModule() {} +ContentDecryptionModule::~ContentDecryptionModule() = default; // By default a CDM does not support this method. void ContentDecryptionModule::GetStatusForPolicy(
diff --git a/media/base/data_buffer.cc b/media/base/data_buffer.cc index 7417197..5cd1bfb 100644 --- a/media/base/data_buffer.cc +++ b/media/base/data_buffer.cc
@@ -35,7 +35,7 @@ memcpy(data_.get(), data, data_size_); } -DataBuffer::~DataBuffer() {} +DataBuffer::~DataBuffer() = default; // static scoped_refptr<DataBuffer> DataBuffer::CopyFrom(const uint8_t* data, int size) {
diff --git a/media/base/data_source.cc b/media/base/data_source.cc index b6999c2..474d65e8 100644 --- a/media/base/data_source.cc +++ b/media/base/data_source.cc
@@ -8,8 +8,8 @@ namespace media { -DataSource::DataSource() {} +DataSource::DataSource() = default; -DataSource::~DataSource() {} +DataSource::~DataSource() = default; } // namespace media
diff --git a/media/base/decoder_buffer.cc b/media/base/decoder_buffer.cc index 05e721c..63dad33 100644 --- a/media/base/decoder_buffer.cc +++ b/media/base/decoder_buffer.cc
@@ -44,7 +44,7 @@ memcpy(side_data_.get(), side_data, side_data_size_); } -DecoderBuffer::~DecoderBuffer() {} +DecoderBuffer::~DecoderBuffer() = default; void DecoderBuffer::Initialize() { data_.reset(AllocateFFmpegSafeBlock(size_));
diff --git a/media/base/decoder_buffer_queue.cc b/media/base/decoder_buffer_queue.cc index cd4a684..214ff94 100644 --- a/media/base/decoder_buffer_queue.cc +++ b/media/base/decoder_buffer_queue.cc
@@ -13,7 +13,7 @@ DecoderBufferQueue::DecoderBufferQueue() : earliest_valid_timestamp_(kNoTimestamp), data_size_(0) {} -DecoderBufferQueue::~DecoderBufferQueue() {} +DecoderBufferQueue::~DecoderBufferQueue() = default; void DecoderBufferQueue::Push(const scoped_refptr<DecoderBuffer>& buffer) { CHECK(!buffer->end_of_stream());
diff --git a/media/base/decoder_factory.cc b/media/base/decoder_factory.cc index 4dc8f03..b8ff285 100644 --- a/media/base/decoder_factory.cc +++ b/media/base/decoder_factory.cc
@@ -8,9 +8,9 @@ namespace media { -DecoderFactory::DecoderFactory() {} +DecoderFactory::DecoderFactory() = default; -DecoderFactory::~DecoderFactory() {} +DecoderFactory::~DecoderFactory() = default; void DecoderFactory::CreateAudioDecoders( scoped_refptr<base::SingleThreadTaskRunner> task_runner,
diff --git a/media/base/decrypt_config.cc b/media/base/decrypt_config.cc index 2c5935a..c48ddad 100644 --- a/media/base/decrypt_config.cc +++ b/media/base/decrypt_config.cc
@@ -22,7 +22,7 @@ iv.empty()); } -DecryptConfig::~DecryptConfig() {} +DecryptConfig::~DecryptConfig() = default; bool DecryptConfig::Matches(const DecryptConfig& config) const { if (key_id() != config.key_id() || iv() != config.iv() ||
diff --git a/media/base/decryptor.cc b/media/base/decryptor.cc index e9b232d..2b078cc 100644 --- a/media/base/decryptor.cc +++ b/media/base/decryptor.cc
@@ -6,8 +6,8 @@ namespace media { -Decryptor::Decryptor() {} +Decryptor::Decryptor() = default; -Decryptor::~Decryptor() {} +Decryptor::~Decryptor() = default; } // namespace media
diff --git a/media/base/demuxer.cc b/media/base/demuxer.cc index 36e64eba..46d2e70 100644 --- a/media/base/demuxer.cc +++ b/media/base/demuxer.cc
@@ -6,10 +6,10 @@ namespace media { -DemuxerHost::~DemuxerHost() {} +DemuxerHost::~DemuxerHost() = default; -Demuxer::Demuxer() {} +Demuxer::Demuxer() = default; -Demuxer::~Demuxer() {} +Demuxer::~Demuxer() = default; } // namespace media
diff --git a/media/base/demuxer_stream.cc b/media/base/demuxer_stream.cc index fff5ddf2..020d3db 100644 --- a/media/base/demuxer_stream.cc +++ b/media/base/demuxer_stream.cc
@@ -6,7 +6,7 @@ namespace media { -DemuxerStream::~DemuxerStream() {} +DemuxerStream::~DemuxerStream() = default; // Most DemuxerStream implementations don't specify liveness. Returns unknown // liveness by default.
diff --git a/media/base/encryption_scheme.cc b/media/base/encryption_scheme.cc index dea08ed..69bcdc3 100644 --- a/media/base/encryption_scheme.cc +++ b/media/base/encryption_scheme.cc
@@ -6,13 +6,13 @@ namespace media { -EncryptionScheme::Pattern::Pattern() {} +EncryptionScheme::Pattern::Pattern() = default; EncryptionScheme::Pattern::Pattern(uint32_t encrypt_blocks, uint32_t skip_blocks) : encrypt_blocks_(encrypt_blocks), skip_blocks_(skip_blocks) {} -EncryptionScheme::Pattern::~Pattern() {} +EncryptionScheme::Pattern::~Pattern() = default; uint32_t EncryptionScheme::Pattern::encrypt_blocks() const { return encrypt_blocks_; @@ -31,12 +31,12 @@ return encrypt_blocks_ != 0 && skip_blocks_ != 0; } -EncryptionScheme::EncryptionScheme() {} +EncryptionScheme::EncryptionScheme() = default; EncryptionScheme::EncryptionScheme(CipherMode mode, const Pattern& pattern) : mode_(mode), pattern_(pattern) {} -EncryptionScheme::~EncryptionScheme() {} +EncryptionScheme::~EncryptionScheme() = default; bool EncryptionScheme::is_encrypted() const { return mode_ != CIPHER_MODE_UNENCRYPTED;
diff --git a/media/base/fake_audio_render_callback.cc b/media/base/fake_audio_render_callback.cc index 6163bd8..d31303a3 100644 --- a/media/base/fake_audio_render_callback.cc +++ b/media/base/fake_audio_render_callback.cc
@@ -19,7 +19,7 @@ reset(); } -FakeAudioRenderCallback::~FakeAudioRenderCallback() {} +FakeAudioRenderCallback::~FakeAudioRenderCallback() = default; int FakeAudioRenderCallback::Render(base::TimeDelta delay, base::TimeTicks delay_timestamp,
diff --git a/media/base/fake_audio_worker_unittest.cc b/media/base/fake_audio_worker_unittest.cc index 6b112a8d9..dee4453e 100644 --- a/media/base/fake_audio_worker_unittest.cc +++ b/media/base/fake_audio_worker_unittest.cc
@@ -31,7 +31,7 @@ static_cast<float>(params_.sample_rate())); } - ~FakeAudioWorkerTest() override {} + ~FakeAudioWorkerTest() override = default; void CalledByFakeWorker() { seen_callbacks_++; }
diff --git a/media/base/fake_demuxer_stream.cc b/media/base/fake_demuxer_stream.cc index 6fd6f5b7..9008e96 100644 --- a/media/base/fake_demuxer_stream.cc +++ b/media/base/fake_demuxer_stream.cc
@@ -52,7 +52,7 @@ UpdateVideoDecoderConfig(); } -FakeDemuxerStream::~FakeDemuxerStream() {} +FakeDemuxerStream::~FakeDemuxerStream() = default; void FakeDemuxerStream::Initialize() { DCHECK_EQ(-1, read_to_hold_); @@ -212,7 +212,7 @@ num_video_buffers_in_one_config, is_video_encrypted) {} -FakeMediaResource::~FakeMediaResource() {} +FakeMediaResource::~FakeMediaResource() = default; std::vector<DemuxerStream*> FakeMediaResource::GetAllStreams() { std::vector<DemuxerStream*> result;
diff --git a/media/base/fake_demuxer_stream_unittest.cc b/media/base/fake_demuxer_stream_unittest.cc index 85d09f9..a31c0acd 100644 --- a/media/base/fake_demuxer_stream_unittest.cc +++ b/media/base/fake_demuxer_stream_unittest.cc
@@ -30,7 +30,7 @@ : status_(DemuxerStream::kAborted), read_pending_(false), num_buffers_received_(0) {} - ~FakeDemuxerStreamTest() override {} + ~FakeDemuxerStreamTest() override = default; void BufferReady(DemuxerStream::Status status, const scoped_refptr<DecoderBuffer>& buffer) {
diff --git a/media/base/fake_single_thread_task_runner.cc b/media/base/fake_single_thread_task_runner.cc index 91171491..f2dcd5f 100644 --- a/media/base/fake_single_thread_task_runner.cc +++ b/media/base/fake_single_thread_task_runner.cc
@@ -16,7 +16,7 @@ base::SimpleTestTickClock* clock) : clock_(clock), fail_on_next_task_(false) {} -FakeSingleThreadTaskRunner::~FakeSingleThreadTaskRunner() {} +FakeSingleThreadTaskRunner::~FakeSingleThreadTaskRunner() = default; bool FakeSingleThreadTaskRunner::PostDelayedTask( const base::Location& from_here,
diff --git a/media/base/hdr_metadata.cc b/media/base/hdr_metadata.cc index e4e8d87c..4bc5400c 100644 --- a/media/base/hdr_metadata.cc +++ b/media/base/hdr_metadata.cc
@@ -6,10 +6,10 @@ namespace media { -MasteringMetadata::MasteringMetadata() {} +MasteringMetadata::MasteringMetadata() = default; MasteringMetadata::MasteringMetadata(const MasteringMetadata& rhs) = default; -HDRMetadata::HDRMetadata() {} +HDRMetadata::HDRMetadata() = default; HDRMetadata::HDRMetadata(const HDRMetadata& rhs) = default; } // namespace media
diff --git a/media/base/key_systems.cc b/media/base/key_systems.cc index 7eaa77cd..27b632c 100644 --- a/media/base/key_systems.cc +++ b/media/base/key_systems.cc
@@ -297,8 +297,7 @@ UpdateSupportedKeySystems(); } -KeySystemsImpl::~KeySystemsImpl() { -} +KeySystemsImpl::~KeySystemsImpl() = default; SupportedCodecs KeySystemsImpl::GetCodecMaskForMimeType( const std::string& container_mime_type) const {
diff --git a/media/base/key_systems_unittest.cc b/media/base/key_systems_unittest.cc index e563df0f..c02b1c9c 100644 --- a/media/base/key_systems_unittest.cc +++ b/media/base/key_systems_unittest.cc
@@ -247,8 +247,7 @@ : is_update_needed_(true), supports_external_key_system_(true) { } -TestMediaClient::~TestMediaClient() { -} +TestMediaClient::~TestMediaClient() = default; bool TestMediaClient::IsKeySystemsUpdateNeeded() { return is_update_needed_;
diff --git a/media/base/keyboard_event_counter.cc b/media/base/keyboard_event_counter.cc index c9947c7..bddddbd 100644 --- a/media/base/keyboard_event_counter.cc +++ b/media/base/keyboard_event_counter.cc
@@ -11,7 +11,7 @@ KeyboardEventCounter::KeyboardEventCounter() : total_key_presses_(0) {} -KeyboardEventCounter::~KeyboardEventCounter() {} +KeyboardEventCounter::~KeyboardEventCounter() = default; void KeyboardEventCounter::OnKeyboardEvent(ui::EventType event, ui::KeyboardCode key_code) {
diff --git a/media/base/loopback_audio_converter.cc b/media/base/loopback_audio_converter.cc index 3b16b96..715675d 100644 --- a/media/base/loopback_audio_converter.cc +++ b/media/base/loopback_audio_converter.cc
@@ -12,7 +12,7 @@ bool disable_fifo) : audio_converter_(input_params, output_params, disable_fifo) {} -LoopbackAudioConverter::~LoopbackAudioConverter() {} +LoopbackAudioConverter::~LoopbackAudioConverter() = default; double LoopbackAudioConverter::ProvideInput(AudioBus* audio_bus, uint32_t frames_delayed) {
diff --git a/media/base/media_client.cc b/media/base/media_client.cc index 752dd5e0..584ccc18 100644 --- a/media/base/media_client.cc +++ b/media/base/media_client.cc
@@ -18,10 +18,8 @@ return g_media_client; } -MediaClient::MediaClient() { -} +MediaClient::MediaClient() = default; -MediaClient::~MediaClient() { -} +MediaClient::~MediaClient() = default; } // namespace media
diff --git a/media/base/media_log.cc b/media/base/media_log.cc index e5b3bfc..9370072 100644 --- a/media/base/media_log.cc +++ b/media/base/media_log.cc
@@ -164,7 +164,7 @@ MediaLog::MediaLog() : id_(g_media_log_count.GetNext()) {} -MediaLog::~MediaLog() {} +MediaLog::~MediaLog() = default; void MediaLog::AddEvent(std::unique_ptr<MediaLogEvent> event) {}
diff --git a/media/base/media_observer.cc b/media/base/media_observer.cc index 7bedcbf3..de70f9f 100644 --- a/media/base/media_observer.cc +++ b/media/base/media_observer.cc
@@ -6,8 +6,8 @@ namespace media { -MediaObserver::MediaObserver() {} +MediaObserver::MediaObserver() = default; -MediaObserver::~MediaObserver() {} +MediaObserver::~MediaObserver() = default; } // namespace media
diff --git a/media/base/media_permission.cc b/media/base/media_permission.cc index 739e445..307ccb9 100644 --- a/media/base/media_permission.cc +++ b/media/base/media_permission.cc
@@ -6,10 +6,8 @@ namespace media { -MediaPermission::MediaPermission() { -} +MediaPermission::MediaPermission() = default; -MediaPermission::~MediaPermission() { -} +MediaPermission::~MediaPermission() = default; } // namespace media
diff --git a/media/base/media_resource.cc b/media/base/media_resource.cc index 8068a190..f27e159 100644 --- a/media/base/media_resource.cc +++ b/media/base/media_resource.cc
@@ -6,9 +6,9 @@ namespace media { -MediaResource::MediaResource() {} +MediaResource::MediaResource() = default; -MediaResource::~MediaResource() {} +MediaResource::~MediaResource() = default; MediaUrlParams MediaResource::GetMediaUrlParams() const { NOTREACHED();
diff --git a/media/base/media_track.cc b/media/base/media_track.cc index 2b60034..bbffffa5 100644 --- a/media/base/media_track.cc +++ b/media/base/media_track.cc
@@ -17,7 +17,7 @@ label_(label), language_(lang) {} -MediaTrack::~MediaTrack() {} +MediaTrack::~MediaTrack() = default; const char* TrackTypeToStr(MediaTrack::Type type) { switch (type) {
diff --git a/media/base/media_tracks.cc b/media/base/media_tracks.cc index ebc93df..859ca42 100644 --- a/media/base/media_tracks.cc +++ b/media/base/media_tracks.cc
@@ -11,9 +11,9 @@ namespace media { -MediaTracks::MediaTracks() {} +MediaTracks::MediaTracks() = default; -MediaTracks::~MediaTracks() {} +MediaTracks::~MediaTracks() = default; MediaTrack* MediaTracks::AddAudioTrack( const AudioDecoderConfig& config,
diff --git a/media/base/media_url_demuxer.cc b/media/base/media_url_demuxer.cc index c6a1b4a..afdd25c 100644 --- a/media/base/media_url_demuxer.cc +++ b/media/base/media_url_demuxer.cc
@@ -15,7 +15,7 @@ const GURL& site_for_cookies) : params_{media_url, site_for_cookies}, task_runner_(task_runner) {} -MediaUrlDemuxer::~MediaUrlDemuxer() {} +MediaUrlDemuxer::~MediaUrlDemuxer() = default; // Should never be called since MediaResource::Type is URL. std::vector<DemuxerStream*> MediaUrlDemuxer::GetAllStreams() {
diff --git a/media/base/mime_util_internal.cc b/media/base/mime_util_internal.cc index 5b9cefb..850b909d5 100644 --- a/media/base/mime_util_internal.cc +++ b/media/base/mime_util_internal.cc
@@ -132,7 +132,7 @@ InitializeMimeTypeMaps(); } -MimeUtil::~MimeUtil() {} +MimeUtil::~MimeUtil() = default; AudioCodec MimeUtilToAudioCodec(MimeUtil::Codec codec) { switch (codec) {
diff --git a/media/base/mock_audio_renderer_sink.cc b/media/base/mock_audio_renderer_sink.cc index 3bc7fe2..b0d239a 100644 --- a/media/base/mock_audio_renderer_sink.cc +++ b/media/base/mock_audio_renderer_sink.cc
@@ -28,7 +28,7 @@ const AudioParameters& device_output_params) : output_device_info_(device_id, device_status, device_output_params) {} -MockAudioRendererSink::~MockAudioRendererSink() {} +MockAudioRendererSink::~MockAudioRendererSink() = default; void MockAudioRendererSink::SwitchOutputDevice( const std::string& device_id,
diff --git a/media/base/mock_demuxer_host.cc b/media/base/mock_demuxer_host.cc index 100787f..5a33a0d 100644 --- a/media/base/mock_demuxer_host.cc +++ b/media/base/mock_demuxer_host.cc
@@ -6,8 +6,8 @@ namespace media { -MockDemuxerHost::MockDemuxerHost() {} +MockDemuxerHost::MockDemuxerHost() = default; -MockDemuxerHost::~MockDemuxerHost() {} +MockDemuxerHost::~MockDemuxerHost() = default; } // namespace media
diff --git a/media/base/mock_filters.cc b/media/base/mock_filters.cc index 93b528e..324ecb3 100644 --- a/media/base/mock_filters.cc +++ b/media/base/mock_filters.cc
@@ -17,11 +17,11 @@ namespace media { -MockPipelineClient::MockPipelineClient() {} -MockPipelineClient::~MockPipelineClient() {} +MockPipelineClient::MockPipelineClient() = default; +MockPipelineClient::~MockPipelineClient() = default; -MockPipeline::MockPipeline() {} -MockPipeline::~MockPipeline() {} +MockPipeline::MockPipeline() = default; +MockPipeline::~MockPipeline() = default; void MockPipeline::Start(Demuxer* demuxer, std::unique_ptr<Renderer> renderer, @@ -36,9 +36,9 @@ Resume(&renderer, timestamp, seek_cb); } -MockDemuxer::MockDemuxer() {} +MockDemuxer::MockDemuxer() = default; -MockDemuxer::~MockDemuxer() {} +MockDemuxer::~MockDemuxer() = default; std::string MockDemuxer::GetDisplayName() const { return "MockDemuxer"; @@ -48,7 +48,7 @@ : type_(type), liveness_(LIVENESS_UNKNOWN) { } -MockDemuxerStream::~MockDemuxerStream() {} +MockDemuxerStream::~MockDemuxerStream() = default; DemuxerStream::Type MockDemuxerStream::type() const { return type_; @@ -89,7 +89,7 @@ ON_CALL(*this, CanReadWithoutStalling()).WillByDefault(Return(true)); } -MockVideoDecoder::~MockVideoDecoder() {} +MockVideoDecoder::~MockVideoDecoder() = default; std::string MockVideoDecoder::GetDisplayName() const { return decoder_name_; @@ -98,47 +98,47 @@ MockAudioDecoder::MockAudioDecoder(const std::string& decoder_name) : decoder_name_(decoder_name) {} -MockAudioDecoder::~MockAudioDecoder() {} +MockAudioDecoder::~MockAudioDecoder() = default; std::string MockAudioDecoder::GetDisplayName() const { return decoder_name_; } -MockRendererClient::MockRendererClient() {} +MockRendererClient::MockRendererClient() = default; -MockRendererClient::~MockRendererClient() {} +MockRendererClient::~MockRendererClient() = default; -MockVideoRenderer::MockVideoRenderer() {} +MockVideoRenderer::MockVideoRenderer() = default; -MockVideoRenderer::~MockVideoRenderer() {} +MockVideoRenderer::~MockVideoRenderer() = default; -MockAudioRenderer::MockAudioRenderer() {} +MockAudioRenderer::MockAudioRenderer() = default; -MockAudioRenderer::~MockAudioRenderer() {} +MockAudioRenderer::~MockAudioRenderer() = default; -MockRenderer::MockRenderer() {} +MockRenderer::MockRenderer() = default; -MockRenderer::~MockRenderer() {} +MockRenderer::~MockRenderer() = default; -MockTimeSource::MockTimeSource() {} +MockTimeSource::MockTimeSource() = default; -MockTimeSource::~MockTimeSource() {} +MockTimeSource::~MockTimeSource() = default; -MockTextTrack::MockTextTrack() {} +MockTextTrack::MockTextTrack() = default; -MockTextTrack::~MockTextTrack() {} +MockTextTrack::~MockTextTrack() = default; -MockCdmClient::MockCdmClient() {} +MockCdmClient::MockCdmClient() = default; -MockCdmClient::~MockCdmClient() {} +MockCdmClient::~MockCdmClient() = default; -MockDecryptor::MockDecryptor() {} +MockDecryptor::MockDecryptor() = default; -MockDecryptor::~MockDecryptor() {} +MockDecryptor::~MockDecryptor() = default; -MockCdmContext::MockCdmContext() {} +MockCdmContext::MockCdmContext() = default; -MockCdmContext::~MockCdmContext() {} +MockCdmContext::~MockCdmContext() = default; int MockCdmContext::GetCdmId() const { return cdm_id_; @@ -192,7 +192,7 @@ session_keys_change_cb_(session_keys_change_cb), session_expiration_update_cb_(session_expiration_update_cb) {} -MockCdm::~MockCdm() {} +MockCdm::~MockCdm() = default; void MockCdm::SetServerCertificate(const std::vector<uint8_t>& certificate, std::unique_ptr<SimpleCdmPromise> promise) { @@ -252,9 +252,9 @@ session_expiration_update_cb_.Run(session_id, new_expiry_time); } -MockCdmFactory::MockCdmFactory() {} +MockCdmFactory::MockCdmFactory() = default; -MockCdmFactory::~MockCdmFactory() {} +MockCdmFactory::~MockCdmFactory() = default; void MockCdmFactory::Create( const std::string& key_system, @@ -294,8 +294,8 @@ before_creation_cb_ = before_creation_cb; } -MockStreamParser::MockStreamParser() {} +MockStreamParser::MockStreamParser() = default; -MockStreamParser::~MockStreamParser() {} +MockStreamParser::~MockStreamParser() = default; } // namespace media
diff --git a/media/base/mock_media_log.cc b/media/base/mock_media_log.cc index 66bc8e20..fa9c974 100644 --- a/media/base/mock_media_log.cc +++ b/media/base/mock_media_log.cc
@@ -6,8 +6,8 @@ namespace media { -MockMediaLog::MockMediaLog() {} +MockMediaLog::MockMediaLog() = default; -MockMediaLog::~MockMediaLog() {} +MockMediaLog::~MockMediaLog() = default; } // namespace media
diff --git a/media/base/moving_average.cc b/media/base/moving_average.cc index e06f744c..0f188e2 100644 --- a/media/base/moving_average.cc +++ b/media/base/moving_average.cc
@@ -10,7 +10,7 @@ MovingAverage::MovingAverage(size_t depth) : depth_(depth), samples_(depth_) {} -MovingAverage::~MovingAverage() {} +MovingAverage::~MovingAverage() = default; void MovingAverage::AddSample(base::TimeDelta sample) { // |samples_| is zero-initialized, so |oldest| is also zero before |count_|
diff --git a/media/base/multi_channel_resampler.cc b/media/base/multi_channel_resampler.cc index 77ca8c5d..f816aaf1 100644 --- a/media/base/multi_channel_resampler.cc +++ b/media/base/multi_channel_resampler.cc
@@ -44,7 +44,7 @@ } } -MultiChannelResampler::~MultiChannelResampler() {} +MultiChannelResampler::~MultiChannelResampler() = default; void MultiChannelResampler::Resample(int frames, AudioBus* audio_bus) { DCHECK_EQ(static_cast<size_t>(audio_bus->channels()), resamplers_.size());
diff --git a/media/base/multi_channel_resampler_unittest.cc b/media/base/multi_channel_resampler_unittest.cc index 9b35515..0972b5a 100644 --- a/media/base/multi_channel_resampler_unittest.cc +++ b/media/base/multi_channel_resampler_unittest.cc
@@ -42,7 +42,7 @@ MultiChannelResamplerTest() : last_frame_delay_(-1) { } - virtual ~MultiChannelResamplerTest() {} + virtual ~MultiChannelResamplerTest() = default; void InitializeAudioData(int channels, int frames) { frames_ = frames;
diff --git a/media/base/null_video_sink_unittest.cc b/media/base/null_video_sink_unittest.cc index a402ec9..c21e930 100644 --- a/media/base/null_video_sink_unittest.cc +++ b/media/base/null_video_sink_unittest.cc
@@ -28,7 +28,7 @@ // Never use null TimeTicks since they have special connotations. tick_clock_.Advance(base::TimeDelta::FromMicroseconds(12345)); } - ~NullVideoSinkTest() override {} + ~NullVideoSinkTest() override = default; std::unique_ptr<NullVideoSink> ConstructSink(bool clockless, base::TimeDelta interval) {
diff --git a/media/base/output_device_info.cc b/media/base/output_device_info.cc index d1ffa43..3bc4eaa1 100644 --- a/media/base/output_device_info.cc +++ b/media/base/output_device_info.cc
@@ -28,7 +28,7 @@ OutputDeviceInfo& OutputDeviceInfo::operator=(const OutputDeviceInfo&) = default; -OutputDeviceInfo::~OutputDeviceInfo() {} +OutputDeviceInfo::~OutputDeviceInfo() = default; std::string OutputDeviceInfo::AsHumanReadableString() const { std::ostringstream s;
diff --git a/media/base/pipeline_impl_unittest.cc b/media/base/pipeline_impl_unittest.cc index 89bbd4b..6fd6bd9 100644 --- a/media/base/pipeline_impl_unittest.cc +++ b/media/base/pipeline_impl_unittest.cc
@@ -88,8 +88,8 @@ // also lets us test for missing callbacks. class CallbackHelper : public MockPipelineClient { public: - CallbackHelper() {} - virtual ~CallbackHelper() {} + CallbackHelper() = default; + virtual ~CallbackHelper() = default; MOCK_METHOD1(OnStart, void(PipelineStatus)); MOCK_METHOD1(OnSeek, void(PipelineStatus)); @@ -888,8 +888,8 @@ kErrorAndStop, }; - PipelineTeardownTest() {} - ~PipelineTeardownTest() override {} + PipelineTeardownTest() = default; + ~PipelineTeardownTest() override = default; void RunTest(TeardownState state, StopOrError stop_or_error) { switch (state) {
diff --git a/media/base/pipeline_metadata.cc b/media/base/pipeline_metadata.cc index 976bdcd..f8cc6ca9 100644 --- a/media/base/pipeline_metadata.cc +++ b/media/base/pipeline_metadata.cc
@@ -8,7 +8,7 @@ PipelineMetadata::PipelineMetadata() : has_audio(false), has_video(false) {} -PipelineMetadata::~PipelineMetadata() {} +PipelineMetadata::~PipelineMetadata() = default; PipelineMetadata::PipelineMetadata(const PipelineMetadata&) = default;
diff --git a/media/base/player_tracker.cc b/media/base/player_tracker.cc index 909aaec..cc4cc26 100644 --- a/media/base/player_tracker.cc +++ b/media/base/player_tracker.cc
@@ -6,10 +6,8 @@ namespace media { -PlayerTracker::PlayerTracker() { -} +PlayerTracker::PlayerTracker() = default; -PlayerTracker::~PlayerTracker() { -} +PlayerTracker::~PlayerTracker() = default; } // namespace media
diff --git a/media/base/renderer.cc b/media/base/renderer.cc index a4cf82c..f348d75 100644 --- a/media/base/renderer.cc +++ b/media/base/renderer.cc
@@ -6,8 +6,8 @@ namespace media { -Renderer::Renderer() {} +Renderer::Renderer() = default; -Renderer::~Renderer() {} +Renderer::~Renderer() = default; } // namespace media
diff --git a/media/base/renderer_factory.cc b/media/base/renderer_factory.cc index 693520b..00998b88 100644 --- a/media/base/renderer_factory.cc +++ b/media/base/renderer_factory.cc
@@ -6,9 +6,9 @@ namespace media { -RendererFactory::RendererFactory() {} +RendererFactory::RendererFactory() = default; -RendererFactory::~RendererFactory() {} +RendererFactory::~RendererFactory() = default; MediaResource::Type RendererFactory::GetRequiredMediaResourceType() { return MediaResource::Type::STREAM;
diff --git a/media/base/renderer_factory_selector.cc b/media/base/renderer_factory_selector.cc index 3650832..4e50612 100644 --- a/media/base/renderer_factory_selector.cc +++ b/media/base/renderer_factory_selector.cc
@@ -8,9 +8,9 @@ namespace media { -RendererFactorySelector::RendererFactorySelector() {} +RendererFactorySelector::RendererFactorySelector() = default; -RendererFactorySelector::~RendererFactorySelector() {} +RendererFactorySelector::~RendererFactorySelector() = default; void RendererFactorySelector::AddFactory( FactoryType type,
diff --git a/media/base/renderer_factory_selector_unittest.cc b/media/base/renderer_factory_selector_unittest.cc index 845b98a..105121a 100644 --- a/media/base/renderer_factory_selector_unittest.cc +++ b/media/base/renderer_factory_selector_unittest.cc
@@ -37,7 +37,8 @@ FactoryType type_; }; - RendererFactorySelectorTest(){}; + RendererFactorySelectorTest() = default; + ; void AddFactory(FactoryType type) { selector_.AddFactory(type, base::MakeUnique<FakeFactory>(type));
diff --git a/media/base/run_all_perftests.cc b/media/base/run_all_perftests.cc index 54ce21b4..af5f1e7 100644 --- a/media/base/run_all_perftests.cc +++ b/media/base/run_all_perftests.cc
@@ -11,7 +11,7 @@ class TestSuiteNoAtExit : public base::TestSuite { public: TestSuiteNoAtExit(int argc, char** argv) : TestSuite(argc, argv) {} - ~TestSuiteNoAtExit() override {} + ~TestSuiteNoAtExit() override = default; protected: void Initialize() override;
diff --git a/media/base/seekable_buffer.cc b/media/base/seekable_buffer.cc index bb2776dd..fb3f4d2 100644 --- a/media/base/seekable_buffer.cc +++ b/media/base/seekable_buffer.cc
@@ -22,8 +22,7 @@ current_buffer_ = buffers_.begin(); } -SeekableBuffer::~SeekableBuffer() { -} +SeekableBuffer::~SeekableBuffer() = default; void SeekableBuffer::Clear() { buffers_.clear();
diff --git a/media/base/serial_runner.cc b/media/base/serial_runner.cc index 2564188..1c7e84f 100644 --- a/media/base/serial_runner.cc +++ b/media/base/serial_runner.cc
@@ -39,9 +39,9 @@ task_runner->PostTask(FROM_HERE, base::Bind(status_cb, last_status)); } -SerialRunner::Queue::Queue() {} +SerialRunner::Queue::Queue() = default; SerialRunner::Queue::Queue(const Queue& other) = default; -SerialRunner::Queue::~Queue() {} +SerialRunner::Queue::~Queue() = default; void SerialRunner::Queue::Push(const base::Closure& closure) { bound_fns_.push(base::Bind(&RunClosure, closure)); @@ -86,7 +86,7 @@ RunNextInSeries(PIPELINE_OK); } -SerialRunner::~SerialRunner() {} +SerialRunner::~SerialRunner() = default; std::unique_ptr<SerialRunner> SerialRunner::Run( const Queue& bound_fns,
diff --git a/media/base/serial_runner_unittest.cc b/media/base/serial_runner_unittest.cc index 5d71e89f..96e9497b 100644 --- a/media/base/serial_runner_unittest.cc +++ b/media/base/serial_runner_unittest.cc
@@ -21,7 +21,7 @@ public: SerialRunnerTest() : inside_start_(false), done_called_(false), done_status_(PIPELINE_OK) {} - ~SerialRunnerTest() override {} + ~SerialRunnerTest() override = default; void RunSerialRunner() { message_loop_.task_runner()->PostTask(
diff --git a/media/base/silent_sink_suspender_unittest.cc b/media/base/silent_sink_suspender_unittest.cc index 81770d23..50a7c13 100644 --- a/media/base/silent_sink_suspender_unittest.cc +++ b/media/base/silent_sink_suspender_unittest.cc
@@ -33,7 +33,7 @@ params_, mock_sink_, test_loop_.task_runner()) {} - ~SilentSinkSuspenderTest() override {} + ~SilentSinkSuspenderTest() override = default; protected: base::TestMessageLoop test_loop_;
diff --git a/media/base/sinc_resampler.cc b/media/base/sinc_resampler.cc index 4c8de80..4f47fc60 100644 --- a/media/base/sinc_resampler.cc +++ b/media/base/sinc_resampler.cc
@@ -146,7 +146,7 @@ InitializeKernel(); } -SincResampler::~SincResampler() {} +SincResampler::~SincResampler() = default; void SincResampler::UpdateRegions(bool second_load) { // Setup various region pointers in the buffer (see diagram above). If we're
diff --git a/media/base/sinc_resampler_unittest.cc b/media/base/sinc_resampler_unittest.cc index 5ff5415..93bdce6 100644 --- a/media/base/sinc_resampler_unittest.cc +++ b/media/base/sinc_resampler_unittest.cc
@@ -211,7 +211,7 @@ k_ = (max_frequency_ - kMinFrequency) / duration; } - virtual ~SinusoidalLinearChirpSource() {} + virtual ~SinusoidalLinearChirpSource() = default; void ProvideInput(int frames, float* destination) { for (int i = 0; i < frames; ++i, ++current_index_) { @@ -259,7 +259,7 @@ low_freq_error_(std::tr1::get<3>(GetParam())) { } - virtual ~SincResamplerTest() {} + virtual ~SincResamplerTest() = default; protected: int input_rate_;
diff --git a/media/base/stream_parser.cc b/media/base/stream_parser.cc index 78fff1a..8df7592 100644 --- a/media/base/stream_parser.cc +++ b/media/base/stream_parser.cc
@@ -16,9 +16,9 @@ detected_video_track_count(0), detected_text_track_count(0) {} -StreamParser::StreamParser() {} +StreamParser::StreamParser() = default; -StreamParser::~StreamParser() {} +StreamParser::~StreamParser() = default; static bool MergeBufferQueuesInternal( const std::vector<const StreamParser::BufferQueue*>& buffer_queues,
diff --git a/media/base/stream_parser_buffer.cc b/media/base/stream_parser_buffer.cc index 7193fe8..6ccdd480 100644 --- a/media/base/stream_parser_buffer.cc +++ b/media/base/stream_parser_buffer.cc
@@ -76,7 +76,7 @@ set_is_key_frame(true); } -StreamParserBuffer::~StreamParserBuffer() {} +StreamParserBuffer::~StreamParserBuffer() = default; int StreamParserBuffer::GetConfigId() const { return config_id_;
diff --git a/media/base/stream_parser_unittest.cc b/media/base/stream_parser_unittest.cc index 407f872..6329f5c 100644 --- a/media/base/stream_parser_unittest.cc +++ b/media/base/stream_parser_unittest.cc
@@ -63,7 +63,7 @@ class StreamParserTest : public testing::Test { protected: - StreamParserTest() {} + StreamParserTest() = default; // Returns the number of buffers in |merged_buffers_| for which |predicate| // returns true.
diff --git a/media/base/test_helpers.cc b/media/base/test_helpers.cc index 2d321ac9..351bcc6 100644 --- a/media/base/test_helpers.cc +++ b/media/base/test_helpers.cc
@@ -41,8 +41,8 @@ DISALLOW_COPY_AND_ASSIGN(MockCallback); }; -MockCallback::MockCallback() {} -MockCallback::~MockCallback() {} +MockCallback::MockCallback() = default; +MockCallback::~MockCallback() = default; base::Closure NewExpectedClosure() { StrictMock<MockCallback>* callback = new StrictMock<MockCallback>();
diff --git a/media/base/text_cue.cc b/media/base/text_cue.cc index 3d8a892..98d77574 100644 --- a/media/base/text_cue.cc +++ b/media/base/text_cue.cc
@@ -18,6 +18,6 @@ text_(text) { } -TextCue::~TextCue() {} +TextCue::~TextCue() = default; } // namespace media
diff --git a/media/base/text_ranges.cc b/media/base/text_ranges.cc index 41bc7d0..a88cc90 100644 --- a/media/base/text_ranges.cc +++ b/media/base/text_ranges.cc
@@ -12,8 +12,7 @@ Reset(); } -TextRanges::~TextRanges() { -} +TextRanges::~TextRanges() = default; void TextRanges::Reset() { curr_range_itr_ = range_map_.end();
diff --git a/media/base/text_renderer.cc b/media/base/text_renderer.cc index 46c5a42..01660ae 100644 --- a/media/base/text_renderer.cc +++ b/media/base/text_renderer.cc
@@ -320,7 +320,6 @@ TextRenderer::TextTrackState::TextTrackState(std::unique_ptr<TextTrack> tt) : read_state(kReadIdle), text_track(std::move(tt)) {} -TextRenderer::TextTrackState::~TextTrackState() { -} +TextRenderer::TextTrackState::~TextTrackState() = default; } // namespace media
diff --git a/media/base/text_renderer_unittest.cc b/media/base/text_renderer_unittest.cc index 07b1758..edfbd76 100644 --- a/media/base/text_renderer_unittest.cc +++ b/media/base/text_renderer_unittest.cc
@@ -54,7 +54,7 @@ class TextRendererTest : public testing::Test { public: - TextRendererTest() {} + TextRendererTest() = default; void CreateTextRenderer() { DCHECK(!text_renderer_);
diff --git a/media/base/time_delta_interpolator.cc b/media/base/time_delta_interpolator.cc index 33e7467..2385e50 100644 --- a/media/base/time_delta_interpolator.cc +++ b/media/base/time_delta_interpolator.cc
@@ -22,8 +22,7 @@ DCHECK(tick_clock_); } -TimeDeltaInterpolator::~TimeDeltaInterpolator() { -} +TimeDeltaInterpolator::~TimeDeltaInterpolator() = default; base::TimeDelta TimeDeltaInterpolator::StartInterpolating() { DCHECK(!interpolating_);
diff --git a/media/base/video_color_space.cc b/media/base/video_color_space.cc index 30b62c5c..5489d91 100644 --- a/media/base/video_color_space.cc +++ b/media/base/video_color_space.cc
@@ -26,7 +26,7 @@ return static_cast<MatrixID>(matrix); } -VideoColorSpace::VideoColorSpace() {} +VideoColorSpace::VideoColorSpace() = default; VideoColorSpace::VideoColorSpace(PrimaryID primaries, TransferID transfer,
diff --git a/media/base/video_decoder.cc b/media/base/video_decoder.cc index 34490bd1..59929f5 100644 --- a/media/base/video_decoder.cc +++ b/media/base/video_decoder.cc
@@ -8,13 +8,13 @@ namespace media { -VideoDecoder::VideoDecoder() {} +VideoDecoder::VideoDecoder() = default; void VideoDecoder::Destroy() { delete this; } -VideoDecoder::~VideoDecoder() {} +VideoDecoder::~VideoDecoder() = default; bool VideoDecoder::NeedsBitstreamConversion() const { return false;
diff --git a/media/base/video_decoder_config.cc b/media/base/video_decoder_config.cc index 80990b3..e763506 100644 --- a/media/base/video_decoder_config.cc +++ b/media/base/video_decoder_config.cc
@@ -79,7 +79,7 @@ VideoDecoderConfig::VideoDecoderConfig(const VideoDecoderConfig& other) = default; -VideoDecoderConfig::~VideoDecoderConfig() {} +VideoDecoderConfig::~VideoDecoderConfig() = default; void VideoDecoderConfig::set_color_space_info( const VideoColorSpace& color_space_info) {
diff --git a/media/base/video_frame_metadata.cc b/media/base/video_frame_metadata.cc index f063623..d4b35c0f 100644 --- a/media/base/video_frame_metadata.cc +++ b/media/base/video_frame_metadata.cc
@@ -22,9 +22,9 @@ } // namespace -VideoFrameMetadata::VideoFrameMetadata() {} +VideoFrameMetadata::VideoFrameMetadata() = default; -VideoFrameMetadata::~VideoFrameMetadata() {} +VideoFrameMetadata::~VideoFrameMetadata() = default; bool VideoFrameMetadata::HasKey(Key key) const { return dictionary_.HasKey(ToInternalKey(key));
diff --git a/media/base/video_frame_unittest.cc b/media/base/video_frame_unittest.cc index 9946397..0ce3a44 100644 --- a/media/base/video_frame_unittest.cc +++ b/media/base/video_frame_unittest.cc
@@ -328,7 +328,7 @@ public: explicit SyncTokenClientImpl(const gpu::SyncToken& sync_token) : sync_token_(sync_token) {} - ~SyncTokenClientImpl() override {} + ~SyncTokenClientImpl() override = default; void GenerateSyncToken(gpu::SyncToken* sync_token) override { *sync_token = sync_token_; }
diff --git a/media/base/video_renderer.cc b/media/base/video_renderer.cc index 00a8f21..006f04b 100644 --- a/media/base/video_renderer.cc +++ b/media/base/video_renderer.cc
@@ -6,7 +6,7 @@ namespace media { -VideoRenderer::VideoRenderer() {} -VideoRenderer::~VideoRenderer() {} +VideoRenderer::VideoRenderer() = default; +VideoRenderer::~VideoRenderer() = default; } // namespace media
diff --git a/media/base/video_util_unittest.cc b/media/base/video_util_unittest.cc index 5cedbeb..ba45c77d 100644 --- a/media/base/video_util_unittest.cc +++ b/media/base/video_util_unittest.cc
@@ -151,7 +151,7 @@ v_stride_(0) { } - ~VideoUtilTest() override {} + ~VideoUtilTest() override = default; void CreateSourceFrame(int width, int height, int y_stride, int u_stride, int v_stride) { @@ -359,7 +359,7 @@ dest_.reset(new uint8_t[GetParam().width * GetParam().height]); } - virtual ~VideoUtilRotationTest() {} + virtual ~VideoUtilRotationTest() = default; uint8_t* dest_plane() { return dest_.get(); }
diff --git a/media/base/wall_clock_time_source.cc b/media/base/wall_clock_time_source.cc index 911bf7c..40d1fb8 100644 --- a/media/base/wall_clock_time_source.cc +++ b/media/base/wall_clock_time_source.cc
@@ -12,8 +12,7 @@ : tick_clock_(&default_tick_clock_), ticking_(false), playback_rate_(1.0) { } -WallClockTimeSource::~WallClockTimeSource() { -} +WallClockTimeSource::~WallClockTimeSource() = default; void WallClockTimeSource::StartTicking() { DVLOG(1) << __func__;
diff --git a/media/base/wall_clock_time_source_unittest.cc b/media/base/wall_clock_time_source_unittest.cc index cf67ac59..9468eb4d 100644 --- a/media/base/wall_clock_time_source_unittest.cc +++ b/media/base/wall_clock_time_source_unittest.cc
@@ -17,7 +17,7 @@ time_source_.set_tick_clock_for_testing(tick_clock_.get()); AdvanceTimeInSeconds(1); } - ~WallClockTimeSourceTest() override {} + ~WallClockTimeSourceTest() override = default; void AdvanceTimeInSeconds(int seconds) { tick_clock_->Advance(base::TimeDelta::FromSeconds(seconds));
diff --git a/media/blink/buffered_data_source_host_impl.cc b/media/blink/buffered_data_source_host_impl.cc index 8569558..15fa194e 100644 --- a/media/blink/buffered_data_source_host_impl.cc +++ b/media/blink/buffered_data_source_host_impl.cc
@@ -31,7 +31,7 @@ progress_cb_(std::move(progress_cb)), tick_clock_(tick_clock) {} -BufferedDataSourceHostImpl::~BufferedDataSourceHostImpl() { } +BufferedDataSourceHostImpl::~BufferedDataSourceHostImpl() = default; void BufferedDataSourceHostImpl::SetTotalBytes(int64_t total_bytes) { total_bytes_ = total_bytes;
diff --git a/media/blink/cdm_session_adapter.cc b/media/blink/cdm_session_adapter.cc index 74dadb9..0d8b779e 100644 --- a/media/blink/cdm_session_adapter.cc +++ b/media/blink/cdm_session_adapter.cc
@@ -34,7 +34,7 @@ CdmSessionAdapter::CdmSessionAdapter() : trace_id_(0), weak_ptr_factory_(this) {} -CdmSessionAdapter::~CdmSessionAdapter() {} +CdmSessionAdapter::~CdmSessionAdapter() = default; void CdmSessionAdapter::CreateCdm( CdmFactory* cdm_factory,
diff --git a/media/blink/key_system_config_selector.cc b/media/blink/key_system_config_selector.cc index 4a70d4db..49beb05e 100644 --- a/media/blink/key_system_config_selector.cc +++ b/media/blink/key_system_config_selector.cc
@@ -293,8 +293,7 @@ DCHECK(media_permission_); } -KeySystemConfigSelector::~KeySystemConfigSelector() { -} +KeySystemConfigSelector::~KeySystemConfigSelector() = default; bool IsSupportedMediaFormat(const std::string& container_mime_type, const std::string& codecs,
diff --git a/media/blink/key_system_config_selector_unittest.cc b/media/blink/key_system_config_selector_unittest.cc index e572cd3..3548ebc 100644 --- a/media/blink/key_system_config_selector_unittest.cc +++ b/media/blink/key_system_config_selector_unittest.cc
@@ -81,8 +81,7 @@ class FakeKeySystems : public KeySystems { public: - ~FakeKeySystems() override { - } + ~FakeKeySystems() override = default; bool IsSupportedKeySystem(const std::string& key_system) const override { // Based on EME spec, Clear Key key system is always supported.
diff --git a/media/blink/mock_resource_fetch_context.cc b/media/blink/mock_resource_fetch_context.cc index f31500b27..2a96d42c 100644 --- a/media/blink/mock_resource_fetch_context.cc +++ b/media/blink/mock_resource_fetch_context.cc
@@ -6,8 +6,8 @@ namespace media { -MockResourceFetchContext::MockResourceFetchContext() {} +MockResourceFetchContext::MockResourceFetchContext() = default; -MockResourceFetchContext::~MockResourceFetchContext() {} +MockResourceFetchContext::~MockResourceFetchContext() = default; } // namespace media
diff --git a/media/blink/mock_webassociatedurlloader.cc b/media/blink/mock_webassociatedurlloader.cc index 09019ca..78f47c5 100644 --- a/media/blink/mock_webassociatedurlloader.cc +++ b/media/blink/mock_webassociatedurlloader.cc
@@ -11,8 +11,8 @@ namespace media { -MockWebAssociatedURLLoader::MockWebAssociatedURLLoader() {} +MockWebAssociatedURLLoader::MockWebAssociatedURLLoader() = default; -MockWebAssociatedURLLoader::~MockWebAssociatedURLLoader() {} +MockWebAssociatedURLLoader::~MockWebAssociatedURLLoader() = default; } // namespace media
diff --git a/media/blink/multibuffer_data_source_unittest.cc b/media/blink/multibuffer_data_source_unittest.cc index 4fb3ff5..62bb9b12 100644 --- a/media/blink/multibuffer_data_source_unittest.cc +++ b/media/blink/multibuffer_data_source_unittest.cc
@@ -130,7 +130,7 @@ } protected: - ~TestUrlData() override {} + ~TestUrlData() override = default; const int block_shift_; std::unique_ptr<TestResourceMultiBuffer> test_multibuffer_; @@ -158,8 +158,8 @@ class MockBufferedDataSourceHost : public BufferedDataSourceHost { public: - MockBufferedDataSourceHost() {} - virtual ~MockBufferedDataSourceHost() {} + MockBufferedDataSourceHost() = default; + virtual ~MockBufferedDataSourceHost() = default; MOCK_METHOD1(SetTotalBytes, void(int64_t total_bytes)); MOCK_METHOD2(AddBufferedByteRange, void(int64_t start, int64_t end));
diff --git a/media/blink/resource_multibuffer_data_provider.cc b/media/blink/resource_multibuffer_data_provider.cc index 0c4d6660..8c1c591 100644 --- a/media/blink/resource_multibuffer_data_provider.cc +++ b/media/blink/resource_multibuffer_data_provider.cc
@@ -65,7 +65,7 @@ DCHECK_GE(pos, 0); } -ResourceMultiBufferDataProvider::~ResourceMultiBufferDataProvider() {} +ResourceMultiBufferDataProvider::~ResourceMultiBufferDataProvider() = default; void ResourceMultiBufferDataProvider::Start() { DVLOG(1) << __func__ << " @ " << byte_pos();
diff --git a/media/blink/run_all_unittests.cc b/media/blink/run_all_unittests.cc index 8abfcf5..3a7aeb95 100644 --- a/media/blink/run_all_unittests.cc +++ b/media/blink/run_all_unittests.cc
@@ -68,7 +68,7 @@ blink_platform_support_(new TestBlinkPlatformSupport()) { } -BlinkMediaTestSuite::~BlinkMediaTestSuite() {} +BlinkMediaTestSuite::~BlinkMediaTestSuite() = default; void BlinkMediaTestSuite::Initialize() { // Run TestSuite::Initialize first so that logging is initialized.
diff --git a/media/blink/url_index.cc b/media/blink/url_index.cc index 4264b95..b2c7f44c 100644 --- a/media/blink/url_index.cc +++ b/media/blink/url_index.cc
@@ -24,7 +24,7 @@ : MultiBuffer(block_shift, url_data->url_index_->lru_), url_data_(url_data) {} -ResourceMultiBuffer::~ResourceMultiBuffer() {} +ResourceMultiBuffer::~ResourceMultiBuffer() = default; std::unique_ptr<MultiBuffer::DataProvider> ResourceMultiBuffer::CreateWriter( const MultiBufferBlockId& pos) {
diff --git a/media/blink/video_decode_stats_reporter.cc b/media/blink/video_decode_stats_reporter.cc index 51ede1b5..d99409b5 100644 --- a/media/blink/video_decode_stats_reporter.cc +++ b/media/blink/video_decode_stats_reporter.cc
@@ -36,7 +36,7 @@ &VideoDecodeStatsReporter::OnIpcConnectionError, base::Unretained(this))); } -VideoDecodeStatsReporter::~VideoDecodeStatsReporter() {} +VideoDecodeStatsReporter::~VideoDecodeStatsReporter() = default; void VideoDecodeStatsReporter::OnPlaying() { DVLOG(2) << __func__;
diff --git a/media/blink/video_decode_stats_reporter_unittest.cc b/media/blink/video_decode_stats_reporter_unittest.cc index d86729d..1527b79 100644 --- a/media/blink/video_decode_stats_reporter_unittest.cc +++ b/media/blink/video_decode_stats_reporter_unittest.cc
@@ -64,8 +64,8 @@ // Mock VideoDecodeStatsRecorder to verify reporter/recorder interactions. class RecordInterceptor : public mojom::VideoDecodeStatsRecorder { public: - RecordInterceptor() {} - ~RecordInterceptor() override {} + RecordInterceptor() = default; + ~RecordInterceptor() override = default; MOCK_METHOD2(SetPageInfo, void(const url::Origin& top_frame_origin, bool is_top_frame)); @@ -86,7 +86,7 @@ public: VideoDecodeStatsReporterTest() : kDefaultSize_(kDefaultWidth, kDefaultHeight) {} - ~VideoDecodeStatsReporterTest() override {} + ~VideoDecodeStatsReporterTest() override = default; void SetUp() override { // Do this first. Lots of pieces depend on the task runner.
diff --git a/media/blink/watch_time_reporter_unittest.cc b/media/blink/watch_time_reporter_unittest.cc index 62e749d..558bd74 100644 --- a/media/blink/watch_time_reporter_unittest.cc +++ b/media/blink/watch_time_reporter_unittest.cc
@@ -73,14 +73,14 @@ public mojom::WatchTimeRecorderProvider { public: WatchTimeReporterTest() : has_video_(GetParam()) {} - ~WatchTimeReporterTest() override {} + ~WatchTimeReporterTest() override = default; protected: class WatchTimeInterceptor : public mojom::WatchTimeRecorder { public: WatchTimeInterceptor(WatchTimeReporterTest* parent) : parent_(parent) {} - ~WatchTimeInterceptor() override {} + ~WatchTimeInterceptor() override = default; // mojom::WatchTimeRecorder implementation: void RecordWatchTime(WatchTimeKey key, base::TimeDelta value) override {
diff --git a/media/blink/webaudiosourceprovider_impl.cc b/media/blink/webaudiosourceprovider_impl.cc index d96e78f..348808d 100644 --- a/media/blink/webaudiosourceprovider_impl.cc +++ b/media/blink/webaudiosourceprovider_impl.cc
@@ -61,7 +61,7 @@ : public AudioRendererSink::RenderCallback { public: TeeFilter() : renderer_(nullptr), channels_(0), sample_rate_(0) {} - ~TeeFilter() override {} + ~TeeFilter() override = default; void Initialize(AudioRendererSink::RenderCallback* renderer, int channels, @@ -109,8 +109,7 @@ media_log_(media_log), weak_factory_(this) {} -WebAudioSourceProviderImpl::~WebAudioSourceProviderImpl() { -} +WebAudioSourceProviderImpl::~WebAudioSourceProviderImpl() = default; void WebAudioSourceProviderImpl::SetClient( blink::WebAudioSourceProviderClient* client) {
diff --git a/media/blink/webaudiosourceprovider_impl_unittest.cc b/media/blink/webaudiosourceprovider_impl_unittest.cc index fbee299a..f9045cc6 100644 --- a/media/blink/webaudiosourceprovider_impl_unittest.cc +++ b/media/blink/webaudiosourceprovider_impl_unittest.cc
@@ -76,7 +76,7 @@ ? mock_sink_.get() : wasp_impl_->fallback_sink()) {} - virtual ~WebAudioSourceProviderImplTest() {} + virtual ~WebAudioSourceProviderImplTest() = default; void CallAllSinkMethodsAndVerify(bool verify) { testing::InSequence s;
diff --git a/media/blink/webcontentdecryptionmodule_impl.cc b/media/blink/webcontentdecryptionmodule_impl.cc index ed7a1ca..4a14bcc 100644 --- a/media/blink/webcontentdecryptionmodule_impl.cc +++ b/media/blink/webcontentdecryptionmodule_impl.cc
@@ -114,8 +114,7 @@ : adapter_(adapter) { } -WebContentDecryptionModuleImpl::~WebContentDecryptionModuleImpl() { -} +WebContentDecryptionModuleImpl::~WebContentDecryptionModuleImpl() = default; std::unique_ptr<blink::WebContentDecryptionModuleSession> WebContentDecryptionModuleImpl::CreateSession() {
diff --git a/media/blink/webcontentdecryptionmoduleaccess_impl.cc b/media/blink/webcontentdecryptionmoduleaccess_impl.cc index 5ee0ac3..f452983 100644 --- a/media/blink/webcontentdecryptionmoduleaccess_impl.cc +++ b/media/blink/webcontentdecryptionmoduleaccess_impl.cc
@@ -58,8 +58,8 @@ client_(client) { } -WebContentDecryptionModuleAccessImpl::~WebContentDecryptionModuleAccessImpl() { -} +WebContentDecryptionModuleAccessImpl::~WebContentDecryptionModuleAccessImpl() = + default; blink::WebMediaKeySystemConfiguration WebContentDecryptionModuleAccessImpl::GetConfiguration() {
diff --git a/media/blink/webcontentdecryptionmodulesession_impl.cc b/media/blink/webcontentdecryptionmodulesession_impl.cc index 2e85f54b..c8f15ad6 100644 --- a/media/blink/webcontentdecryptionmodulesession_impl.cc +++ b/media/blink/webcontentdecryptionmodulesession_impl.cc
@@ -211,8 +211,8 @@ // something back to blink). class IgnoreResponsePromise : public SimpleCdmPromise { public: - IgnoreResponsePromise() {} - ~IgnoreResponsePromise() override {} + IgnoreResponsePromise() = default; + ~IgnoreResponsePromise() override = default; // SimpleCdmPromise implementation. void resolve() final { MarkPromiseSettled(); }
diff --git a/media/blink/webencryptedmediaclient_impl.cc b/media/blink/webencryptedmediaclient_impl.cc index ffefea61..c907360 100644 --- a/media/blink/webencryptedmediaclient_impl.cc +++ b/media/blink/webencryptedmediaclient_impl.cc
@@ -53,7 +53,7 @@ : uma_name_(kKeySystemSupportUMAPrefix + key_system_for_uma), is_request_reported_(false), is_support_reported_(false) {} - ~Reporter() {} + ~Reporter() = default; void ReportRequested() { if (is_request_reported_) @@ -96,8 +96,7 @@ DCHECK(cdm_factory_); } -WebEncryptedMediaClientImpl::~WebEncryptedMediaClientImpl() { -} +WebEncryptedMediaClientImpl::~WebEncryptedMediaClientImpl() = default; void WebEncryptedMediaClientImpl::RequestMediaKeySystemAccess( blink::WebEncryptedMediaRequest request) {
diff --git a/media/blink/webmediaplayer_impl_unittest.cc b/media/blink/webmediaplayer_impl_unittest.cc index 320923f4..6eb909a 100644 --- a/media/blink/webmediaplayer_impl_unittest.cc +++ b/media/blink/webmediaplayer_impl_unittest.cc
@@ -97,7 +97,7 @@ class DummyWebMediaPlayerClient : public blink::WebMediaPlayerClient { public: - DummyWebMediaPlayerClient() {} + DummyWebMediaPlayerClient() = default; // blink::WebMediaPlayerClient implementation. void NetworkStateChanged() override {}
diff --git a/media/blink/webmediaplayer_params.cc b/media/blink/webmediaplayer_params.cc index e1d5c41..427b3b2 100644 --- a/media/blink/webmediaplayer_params.cc +++ b/media/blink/webmediaplayer_params.cc
@@ -57,6 +57,6 @@ create_bridge_callback_(create_bridge_callback), context_provider_(std::move(context_provider)) {} -WebMediaPlayerParams::~WebMediaPlayerParams() {} +WebMediaPlayerParams::~WebMediaPlayerParams() = default; } // namespace media
diff --git a/media/blink/webmediaplayer_util.cc b/media/blink/webmediaplayer_util.cc index 51f74505..b4c3d0c 100644 --- a/media/blink/webmediaplayer_util.cc +++ b/media/blink/webmediaplayer_util.cc
@@ -200,7 +200,7 @@ : web_callback_(web_callback) {} SetSinkIdCallback(const SetSinkIdCallback& other) : web_callback_(std::move(other.web_callback_)) {} - ~SetSinkIdCallback() {} + ~SetSinkIdCallback() = default; friend void RunSetSinkIdCallback(const SetSinkIdCallback& callback, OutputDeviceStatus result);
diff --git a/media/blink/webmediasource_impl.cc b/media/blink/webmediasource_impl.cc index 812b9cc..f79db7d 100644 --- a/media/blink/webmediasource_impl.cc +++ b/media/blink/webmediasource_impl.cc
@@ -29,7 +29,7 @@ DCHECK(demuxer_); } -WebMediaSourceImpl::~WebMediaSourceImpl() {} +WebMediaSourceImpl::~WebMediaSourceImpl() = default; WebMediaSource::AddStatus WebMediaSourceImpl::AddSourceBuffer( const blink::WebString& type,
diff --git a/media/capture/content/animated_content_sampler.cc b/media/capture/content/animated_content_sampler.cc index d53fad8..ea184a59 100644 --- a/media/capture/content/animated_content_sampler.cc +++ b/media/capture/content/animated_content_sampler.cc
@@ -48,8 +48,7 @@ DCHECK_GT(min_capture_period_, base::TimeDelta()); } -AnimatedContentSampler::~AnimatedContentSampler() { -} +AnimatedContentSampler::~AnimatedContentSampler() = default; void AnimatedContentSampler::SetMinCapturePeriod(base::TimeDelta period) { DCHECK_GT(period, base::TimeDelta());
diff --git a/media/capture/content/animated_content_sampler_unittest.cc b/media/capture/content/animated_content_sampler_unittest.cc index 1a8766cd..10f5dc8 100644 --- a/media/capture/content/animated_content_sampler_unittest.cc +++ b/media/capture/content/animated_content_sampler_unittest.cc
@@ -33,8 +33,8 @@ class AnimatedContentSamplerTest : public ::testing::Test { public: - AnimatedContentSamplerTest() {} - ~AnimatedContentSamplerTest() override {} + AnimatedContentSamplerTest() = default; + ~AnimatedContentSamplerTest() override = default; void SetUp() override { rand_seed_ = static_cast<int>( @@ -256,7 +256,7 @@ public: AnimatedContentSamplerParameterizedTest() : count_dropped_frames_(0), count_sampled_frames_(0) {} - virtual ~AnimatedContentSamplerParameterizedTest() {} + virtual ~AnimatedContentSamplerParameterizedTest() = default; void SetUp() override { AnimatedContentSamplerTest::SetUp();
diff --git a/media/capture/content/capture_resolution_chooser.cc b/media/capture/content/capture_resolution_chooser.cc index 2841635..f665bf3 100644 --- a/media/capture/content/capture_resolution_chooser.cc +++ b/media/capture/content/capture_resolution_chooser.cc
@@ -64,8 +64,7 @@ capture_size_(kDefaultCaptureSize), snapped_sizes_({kDefaultCaptureSize}) {} -CaptureResolutionChooser::~CaptureResolutionChooser() { -} +CaptureResolutionChooser::~CaptureResolutionChooser() = default; void CaptureResolutionChooser::SetConstraints(const gfx::Size& min_frame_size, const gfx::Size& max_frame_size,
diff --git a/media/capture/content/screen_capture_device_core.cc b/media/capture/content/screen_capture_device_core.cc index 8fa0601..be901d10 100644 --- a/media/capture/content/screen_capture_device_core.cc +++ b/media/capture/content/screen_capture_device_core.cc
@@ -26,11 +26,9 @@ } // namespace -VideoCaptureMachine::VideoCaptureMachine() { -} +VideoCaptureMachine::VideoCaptureMachine() = default; -VideoCaptureMachine::~VideoCaptureMachine() { -} +VideoCaptureMachine::~VideoCaptureMachine() = default; bool VideoCaptureMachine::IsAutoThrottlingEnabled() const { return false;
diff --git a/media/capture/content/thread_safe_capture_oracle.cc b/media/capture/content/thread_safe_capture_oracle.cc index 386186ae..9283a384 100644 --- a/media/capture/content/thread_safe_capture_oracle.cc +++ b/media/capture/content/thread_safe_capture_oracle.cc
@@ -59,8 +59,7 @@ constraints.fixed_aspect_ratio); } -ThreadSafeCaptureOracle::~ThreadSafeCaptureOracle() { -} +ThreadSafeCaptureOracle::~ThreadSafeCaptureOracle() = default; bool ThreadSafeCaptureOracle::ObserveEventAndDecideCapture( VideoCaptureOracle::Event event,
diff --git a/media/capture/content/video_capture_oracle.cc b/media/capture/content/video_capture_oracle.cc index 358b7ae..b0ffd8b0 100644 --- a/media/capture/content/video_capture_oracle.cc +++ b/media/capture/content/video_capture_oracle.cc
@@ -114,8 +114,7 @@ << (auto_throttling_enabled_ ? "enabled." : "disabled."); } -VideoCaptureOracle::~VideoCaptureOracle() { -} +VideoCaptureOracle::~VideoCaptureOracle() = default; void VideoCaptureOracle::SetMinCapturePeriod(base::TimeDelta period) { DCHECK_GT(period, base::TimeDelta());
diff --git a/media/capture/video/chromeos/camera_buffer_factory.cc b/media/capture/video/chromeos/camera_buffer_factory.cc index fe37983..2816194 100644 --- a/media/capture/video/chromeos/camera_buffer_factory.cc +++ b/media/capture/video/chromeos/camera_buffer_factory.cc
@@ -8,9 +8,9 @@ namespace media { -CameraBufferFactory::CameraBufferFactory() {} +CameraBufferFactory::CameraBufferFactory() = default; -CameraBufferFactory::~CameraBufferFactory() {} +CameraBufferFactory::~CameraBufferFactory() = default; std::unique_ptr<gfx::GpuMemoryBuffer> CameraBufferFactory::CreateGpuMemoryBuffer(const gfx::Size& size,
diff --git a/media/capture/video/chromeos/camera_device_context.cc b/media/capture/video/chromeos/camera_device_context.cc index 06ee5bf0..15cb775 100644 --- a/media/capture/video/chromeos/camera_device_context.cc +++ b/media/capture/video/chromeos/camera_device_context.cc
@@ -13,7 +13,7 @@ DETACH_FROM_SEQUENCE(sequence_checker_); } -CameraDeviceContext::~CameraDeviceContext() {} +CameraDeviceContext::~CameraDeviceContext() = default; void CameraDeviceContext::SetState(State state) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
diff --git a/media/capture/video/chromeos/camera_device_delegate.cc b/media/capture/video/chromeos/camera_device_delegate.cc index c50567f..68550c9 100644 --- a/media/capture/video/chromeos/camera_device_delegate.cc +++ b/media/capture/video/chromeos/camera_device_delegate.cc
@@ -20,9 +20,9 @@ namespace media { -StreamCaptureInterface::Plane::Plane() {} +StreamCaptureInterface::Plane::Plane() = default; -StreamCaptureInterface::Plane::~Plane() {} +StreamCaptureInterface::Plane::~Plane() = default; class CameraDeviceDelegate::StreamCaptureInterfaceImpl final : public StreamCaptureInterface { @@ -68,7 +68,7 @@ ipc_task_runner_(std::move(ipc_task_runner)), weak_ptr_factory_(this) {} -CameraDeviceDelegate::~CameraDeviceDelegate() {} +CameraDeviceDelegate::~CameraDeviceDelegate() = default; void CameraDeviceDelegate::AllocateAndStart( const VideoCaptureParams& params,
diff --git a/media/capture/video/chromeos/camera_device_delegate_unittest.cc b/media/capture/video/chromeos/camera_device_delegate_unittest.cc index c1a4785..2a9a1c4 100644 --- a/media/capture/video/chromeos/camera_device_delegate_unittest.cc +++ b/media/capture/video/chromeos/camera_device_delegate_unittest.cc
@@ -37,9 +37,9 @@ class MockCameraDevice : public arc::mojom::Camera3DeviceOps { public: - MockCameraDevice() {} + MockCameraDevice() = default; - ~MockCameraDevice() {} + ~MockCameraDevice() = default; void Initialize(arc::mojom::Camera3CallbackOpsPtr callback_ops, InitializeCallback callback) override {
diff --git a/media/capture/video/chromeos/camera_hal_delegate.cc b/media/capture/video/chromeos/camera_hal_delegate.cc index b31e0bfc..fcb63be 100644 --- a/media/capture/video/chromeos/camera_hal_delegate.cc +++ b/media/capture/video/chromeos/camera_hal_delegate.cc
@@ -57,7 +57,7 @@ DETACH_FROM_SEQUENCE(sequence_checker_); } -CameraHalDelegate::~CameraHalDelegate() {} +CameraHalDelegate::~CameraHalDelegate() = default; void CameraHalDelegate::RegisterCameraClient() { CameraHalDispatcherImpl::GetInstance()->AddClientObserver(
diff --git a/media/capture/video/chromeos/camera_hal_dispatcher_impl.cc b/media/capture/video/chromeos/camera_hal_dispatcher_impl.cc index aaa0311..4c5f17d 100644 --- a/media/capture/video/chromeos/camera_hal_dispatcher_impl.cc +++ b/media/capture/video/chromeos/camera_hal_dispatcher_impl.cc
@@ -88,7 +88,7 @@ } // namespace -CameraClientObserver::~CameraClientObserver() {} +CameraClientObserver::~CameraClientObserver() = default; // static CameraHalDispatcherImpl* CameraHalDispatcherImpl::GetInstance() {
diff --git a/media/capture/video/chromeos/camera_hal_dispatcher_impl_unittest.cc b/media/capture/video/chromeos/camera_hal_dispatcher_impl_unittest.cc index 8af8fc2..d14966c 100644 --- a/media/capture/video/chromeos/camera_hal_dispatcher_impl_unittest.cc +++ b/media/capture/video/chromeos/camera_hal_dispatcher_impl_unittest.cc
@@ -25,7 +25,7 @@ public: MockCameraHalServer() : binding_(this) {} - ~MockCameraHalServer() {} + ~MockCameraHalServer() = default; void CreateChannel( arc::mojom::CameraModuleRequest camera_module_request) override { @@ -51,7 +51,7 @@ public: MockCameraHalClient() : binding_(this) {} - ~MockCameraHalClient() {} + ~MockCameraHalClient() = default; void SetUpChannel(arc::mojom::CameraModulePtr camera_module_ptr) override { DoSetUpChannel(camera_module_ptr); @@ -76,9 +76,9 @@ class CameraHalDispatcherImplTest : public ::testing::Test { public: - CameraHalDispatcherImplTest() {} + CameraHalDispatcherImplTest() = default; - ~CameraHalDispatcherImplTest() override {} + ~CameraHalDispatcherImplTest() override = default; void SetUp() override { dispatcher_ = new CameraHalDispatcherImpl();
diff --git a/media/capture/video/chromeos/mock_gpu_memory_buffer_manager.cc b/media/capture/video/chromeos/mock_gpu_memory_buffer_manager.cc index 06f9d80..3fea2cc 100644 --- a/media/capture/video/chromeos/mock_gpu_memory_buffer_manager.cc +++ b/media/capture/video/chromeos/mock_gpu_memory_buffer_manager.cc
@@ -11,13 +11,13 @@ namespace media { namespace unittest_internal { -MockGpuMemoryBuffer::MockGpuMemoryBuffer() {} +MockGpuMemoryBuffer::MockGpuMemoryBuffer() = default; -MockGpuMemoryBuffer::~MockGpuMemoryBuffer() {} +MockGpuMemoryBuffer::~MockGpuMemoryBuffer() = default; -MockGpuMemoryBufferManager::MockGpuMemoryBufferManager() {} +MockGpuMemoryBufferManager::MockGpuMemoryBufferManager() = default; -MockGpuMemoryBufferManager::~MockGpuMemoryBufferManager() {} +MockGpuMemoryBufferManager::~MockGpuMemoryBufferManager() = default; std::unique_ptr<gfx::GpuMemoryBuffer> MockGpuMemoryBufferManager::ReturnValidBuffer(
diff --git a/media/capture/video/chromeos/stream_buffer_manager.cc b/media/capture/video/chromeos/stream_buffer_manager.cc index eaa5592..8bba363f8 100644 --- a/media/capture/video/chromeos/stream_buffer_manager.cc +++ b/media/capture/video/chromeos/stream_buffer_manager.cc
@@ -498,13 +498,13 @@ RegisterBuffer(); } -StreamBufferManager::StreamContext::StreamContext() {} +StreamBufferManager::StreamContext::StreamContext() = default; -StreamBufferManager::StreamContext::~StreamContext() {} +StreamBufferManager::StreamContext::~StreamContext() = default; StreamBufferManager::CaptureResult::CaptureResult() : metadata(arc::mojom::CameraMetadata::New()) {} -StreamBufferManager::CaptureResult::~CaptureResult() {} +StreamBufferManager::CaptureResult::~CaptureResult() = default; } // namespace media
diff --git a/media/capture/video/fake_video_capture_device.cc b/media/capture/video/fake_video_capture_device.cc index 800cdd03..6662752 100644 --- a/media/capture/video/fake_video_capture_device.cc +++ b/media/capture/video/fake_video_capture_device.cc
@@ -106,7 +106,7 @@ public: FrameDeliverer(std::unique_ptr<PacmanFramePainter> frame_painter) : frame_painter_(std::move(frame_painter)) {} - virtual ~FrameDeliverer() {} + virtual ~FrameDeliverer() = default; virtual void Initialize(VideoPixelFormat pixel_format, std::unique_ptr<VideoCaptureDevice::Client> client, const FakeDeviceState* device_state) {
diff --git a/media/capture/video/fake_video_capture_device_unittest.cc b/media/capture/video/fake_video_capture_device_unittest.cc index dee4cab8..3abc9a1 100644 --- a/media/capture/video/fake_video_capture_device_unittest.cc +++ b/media/capture/video/fake_video_capture_device_unittest.cc
@@ -55,7 +55,7 @@ StubBufferHandleProvider(size_t mapped_size, uint8_t* data) : mapped_size_(mapped_size), data_(data) {} - ~StubBufferHandleProvider() override {} + ~StubBufferHandleProvider() override = default; mojo::ScopedSharedBufferHandle GetHandleForInterProcessTransit( bool read_only) override { @@ -185,7 +185,7 @@ private: friend class base::RefCounted<ImageCaptureClient>; - virtual ~ImageCaptureClient() {} + virtual ~ImageCaptureClient() = default; mojom::PhotoStatePtr state_; };
diff --git a/media/capture/video/file_video_capture_device.cc b/media/capture/video/file_video_capture_device.cc index bd5f0799..cacd868 100644 --- a/media/capture/video/file_video_capture_device.cc +++ b/media/capture/video/file_video_capture_device.cc
@@ -164,12 +164,12 @@ current_byte_index_(0), first_frame_byte_index_(0) {} -VideoFileParser::~VideoFileParser() {} +VideoFileParser::~VideoFileParser() = default; Y4mFileParser::Y4mFileParser(const base::FilePath& file_path) : VideoFileParser(file_path) {} -Y4mFileParser::~Y4mFileParser() {} +Y4mFileParser::~Y4mFileParser() = default; bool Y4mFileParser::Initialize(media::VideoCaptureFormat* capture_format) { file_.reset(new base::File(file_path_, @@ -218,7 +218,7 @@ MjpegFileParser::MjpegFileParser(const base::FilePath& file_path) : VideoFileParser(file_path) {} -MjpegFileParser::~MjpegFileParser() {} +MjpegFileParser::~MjpegFileParser() = default; bool MjpegFileParser::Initialize(media::VideoCaptureFormat* capture_format) { mapped_file_.reset(new base::MemoryMappedFile());
diff --git a/media/capture/video/linux/camera_config_chromeos.cc b/media/capture/video/linux/camera_config_chromeos.cc index a840c91f..500c0e7 100644 --- a/media/capture/video/linux/camera_config_chromeos.cc +++ b/media/capture/video/linux/camera_config_chromeos.cc
@@ -48,7 +48,7 @@ InitializeDeviceInfo(config_file_path); } -CameraConfigChromeOS::~CameraConfigChromeOS() {} +CameraConfigChromeOS::~CameraConfigChromeOS() = default; VideoFacingMode CameraConfigChromeOS::GetCameraFacing( const std::string& device_id,
diff --git a/media/capture/video/linux/v4l2_capture_delegate.cc b/media/capture/video/linux/v4l2_capture_delegate.cc index f973788..7cb3b857 100644 --- a/media/capture/video/linux/v4l2_capture_delegate.cc +++ b/media/capture/video/linux/v4l2_capture_delegate.cc
@@ -753,7 +753,7 @@ return weak_factory_.GetWeakPtr(); } -V4L2CaptureDelegate::~V4L2CaptureDelegate() {} +V4L2CaptureDelegate::~V4L2CaptureDelegate() = default; bool V4L2CaptureDelegate::MapAndQueueBuffer(int index) { v4l2_buffer buffer; @@ -874,7 +874,7 @@ client_->OnError(from_here, reason); } -V4L2CaptureDelegate::BufferTracker::BufferTracker() {} +V4L2CaptureDelegate::BufferTracker::BufferTracker() = default; V4L2CaptureDelegate::BufferTracker::~BufferTracker() { if (start_ == nullptr)
diff --git a/media/capture/video/linux/video_capture_device_factory_linux.cc b/media/capture/video/linux/video_capture_device_factory_linux.cc index 1601250..d3636599 100644 --- a/media/capture/video/linux/video_capture_device_factory_linux.cc +++ b/media/capture/video/linux/video_capture_device_factory_linux.cc
@@ -194,8 +194,7 @@ : ui_task_runner_(ui_task_runner) { } -VideoCaptureDeviceFactoryLinux::~VideoCaptureDeviceFactoryLinux() { -} +VideoCaptureDeviceFactoryLinux::~VideoCaptureDeviceFactoryLinux() = default; std::unique_ptr<VideoCaptureDevice> VideoCaptureDeviceFactoryLinux::CreateDevice(
diff --git a/media/capture/video/video_capture_buffer_pool_impl.cc b/media/capture/video/video_capture_buffer_pool_impl.cc index 9ef965da..e983383 100644 --- a/media/capture/video/video_capture_buffer_pool_impl.cc +++ b/media/capture/video/video_capture_buffer_pool_impl.cc
@@ -25,7 +25,7 @@ DCHECK_GT(count, 0); } -VideoCaptureBufferPoolImpl::~VideoCaptureBufferPoolImpl() {} +VideoCaptureBufferPoolImpl::~VideoCaptureBufferPoolImpl() = default; mojo::ScopedSharedBufferHandle VideoCaptureBufferPoolImpl::GetHandleForInterProcessTransit(int buffer_id,
diff --git a/media/capture/video/video_capture_device.cc b/media/capture/video/video_capture_device.cc index df3997c..f39cdba 100644 --- a/media/capture/video/video_capture_device.cc +++ b/media/capture/video/video_capture_device.cc
@@ -33,7 +33,7 @@ VideoCaptureDevice::Client::Buffer& VideoCaptureDevice::Client::Buffer:: operator=(VideoCaptureDevice::Client::Buffer&& other) = default; -VideoCaptureDevice::~VideoCaptureDevice() {} +VideoCaptureDevice::~VideoCaptureDevice() = default; void VideoCaptureDevice::GetPhotoState(GetPhotoStateCallback callback) {}
diff --git a/media/capture/video/video_capture_device_client_unittest.cc b/media/capture/video/video_capture_device_client_unittest.cc index a071f61..b1287313 100644 --- a/media/capture/video/video_capture_device_client_unittest.cc +++ b/media/capture/video/video_capture_device_client_unittest.cc
@@ -55,7 +55,7 @@ std::move(controller), buffer_pool, base::Bind(&ReturnNullPtrAsJpecDecoder)); } - ~VideoCaptureDeviceClientTest() override {} + ~VideoCaptureDeviceClientTest() override = default; protected: MockVideoFrameReceiver* receiver_;
diff --git a/media/capture/video/video_capture_device_descriptor.cc b/media/capture/video/video_capture_device_descriptor.cc index 7011608..b5a34f3 100644 --- a/media/capture/video/video_capture_device_descriptor.cc +++ b/media/capture/video/video_capture_device_descriptor.cc
@@ -38,7 +38,7 @@ capture_api(capture_api), transport_type(transport_type) {} -VideoCaptureDeviceDescriptor::~VideoCaptureDeviceDescriptor() {} +VideoCaptureDeviceDescriptor::~VideoCaptureDeviceDescriptor() = default; VideoCaptureDeviceDescriptor::VideoCaptureDeviceDescriptor( const VideoCaptureDeviceDescriptor& other) = default;
diff --git a/media/capture/video/video_capture_device_factory.cc b/media/capture/video/video_capture_device_factory.cc index f482659..cefeb5c0 100644 --- a/media/capture/video/video_capture_device_factory.cc +++ b/media/capture/video/video_capture_device_factory.cc
@@ -49,7 +49,7 @@ thread_checker_.DetachFromThread(); } -VideoCaptureDeviceFactory::~VideoCaptureDeviceFactory() {} +VideoCaptureDeviceFactory::~VideoCaptureDeviceFactory() = default; #if !defined(OS_MACOSX) && !defined(OS_LINUX) && !defined(OS_ANDROID) && \ !defined(OS_WIN)
diff --git a/media/capture/video/video_capture_device_unittest.cc b/media/capture/video/video_capture_device_unittest.cc index e71f3e33..5160067 100644 --- a/media/capture/video/video_capture_device_unittest.cc +++ b/media/capture/video/video_capture_device_unittest.cc
@@ -221,7 +221,7 @@ private: friend class base::RefCountedThreadSafe<MockImageCaptureClient>; - virtual ~MockImageCaptureClient() {} + virtual ~MockImageCaptureClient() = default; mojom::PhotoStatePtr state_; }; @@ -232,7 +232,7 @@ public: MojoEnabledTestEnvironment() : mojo_ipc_thread_("MojoIpcThread") {} - ~MojoEnabledTestEnvironment() final {} + ~MojoEnabledTestEnvironment() final = default; void SetUp() final { mojo::edk::Init();
diff --git a/media/capture/video_capturer_source.cc b/media/capture/video_capturer_source.cc index bafdf42..8adf4b1 100644 --- a/media/capture/video_capturer_source.cc +++ b/media/capture/video_capturer_source.cc
@@ -11,6 +11,6 @@ // object files for this destructor if it's defined in the header file and that // breaks linking. Consider removing this file when the compiler+linker is able // to generate symbols across linking units. -VideoCapturerSource::~VideoCapturerSource() {} +VideoCapturerSource::~VideoCapturerSource() = default; } // namespace media
diff --git a/media/cast/cast_config.cc b/media/cast/cast_config.cc index 0683925..3a27dc0 100644 --- a/media/cast/cast_config.cc +++ b/media/cast/cast_config.cc
@@ -16,7 +16,7 @@ VideoCodecParams::VideoCodecParams(const VideoCodecParams& other) = default; -VideoCodecParams::~VideoCodecParams() {} +VideoCodecParams::~VideoCodecParams() = default; // TODO(miu): Provide IsValidConfig() functions? @@ -40,7 +40,7 @@ FrameSenderConfig::FrameSenderConfig(const FrameSenderConfig& other) = default; -FrameSenderConfig::~FrameSenderConfig() {} +FrameSenderConfig::~FrameSenderConfig() = default; FrameReceiverConfig::FrameReceiverConfig() : receiver_ssrc(0), @@ -55,7 +55,7 @@ FrameReceiverConfig::FrameReceiverConfig(const FrameReceiverConfig& other) = default; -FrameReceiverConfig::~FrameReceiverConfig() {} +FrameReceiverConfig::~FrameReceiverConfig() = default; } // namespace cast } // namespace media
diff --git a/media/cast/cast_environment.cc b/media/cast/cast_environment.cc index 6f697f13..6f28a6bc 100644 --- a/media/cast/cast_environment.cc +++ b/media/cast/cast_environment.cc
@@ -26,7 +26,7 @@ clock_(std::move(clock)), logger_(this) {} -CastEnvironment::~CastEnvironment() {} +CastEnvironment::~CastEnvironment() = default; bool CastEnvironment::PostTask(ThreadId identifier, const base::Location& from_here,
diff --git a/media/cast/cast_sender_impl.cc b/media/cast/cast_sender_impl.cc index 07a4cc1..5f7d547 100644 --- a/media/cast/cast_sender_impl.cc +++ b/media/cast/cast_sender_impl.cc
@@ -49,7 +49,7 @@ } protected: - ~LocalVideoFrameInput() final {} + ~LocalVideoFrameInput() final = default; private: friend class base::RefCountedThreadSafe<LocalVideoFrameInput>; @@ -80,7 +80,7 @@ } protected: - ~LocalAudioFrameInput() final {} + ~LocalAudioFrameInput() final = default; private: friend class base::RefCountedThreadSafe<LocalAudioFrameInput>;
diff --git a/media/cast/common/clock_drift_smoother.cc b/media/cast/common/clock_drift_smoother.cc index d2abc90..79a6021 100644 --- a/media/cast/common/clock_drift_smoother.cc +++ b/media/cast/common/clock_drift_smoother.cc
@@ -17,7 +17,7 @@ DCHECK(time_constant_ > base::TimeDelta()); } -ClockDriftSmoother::~ClockDriftSmoother() {} +ClockDriftSmoother::~ClockDriftSmoother() = default; base::TimeDelta ClockDriftSmoother::Current() const { DCHECK(!last_update_time_.is_null());
diff --git a/media/cast/common/transport_encryption_handler.cc b/media/cast/common/transport_encryption_handler.cc index f032a08..3ee8cab 100644 --- a/media/cast/common/transport_encryption_handler.cc +++ b/media/cast/common/transport_encryption_handler.cc
@@ -43,7 +43,7 @@ TransportEncryptionHandler::TransportEncryptionHandler() : key_(), encryptor_(), iv_mask_(), is_activated_(false) {} -TransportEncryptionHandler::~TransportEncryptionHandler() {} +TransportEncryptionHandler::~TransportEncryptionHandler() = default; bool TransportEncryptionHandler::Initialize(const std::string& aes_key, const std::string& aes_iv_mask) {
diff --git a/media/cast/logging/log_deserializer.cc b/media/cast/logging/log_deserializer.cc index d5a336b..3bd1ee6 100644 --- a/media/cast/logging/log_deserializer.cc +++ b/media/cast/logging/log_deserializer.cc
@@ -247,8 +247,8 @@ } } -DeserializedLog::DeserializedLog() {} -DeserializedLog::~DeserializedLog() {} +DeserializedLog::DeserializedLog() = default; +DeserializedLog::~DeserializedLog() = default; } // namespace cast } // namespace media
diff --git a/media/cast/logging/log_event_dispatcher.cc b/media/cast/logging/log_event_dispatcher.cc index 21814c8..b14511c 100644 --- a/media/cast/logging/log_event_dispatcher.cc +++ b/media/cast/logging/log_event_dispatcher.cc
@@ -21,7 +21,7 @@ DCHECK(env_); } -LogEventDispatcher::~LogEventDispatcher() {} +LogEventDispatcher::~LogEventDispatcher() = default; void LogEventDispatcher::DispatchFrameEvent( std::unique_ptr<FrameEvent> event) const { @@ -94,7 +94,7 @@ } } -LogEventDispatcher::Impl::Impl() {} +LogEventDispatcher::Impl::Impl() = default; LogEventDispatcher::Impl::~Impl() { DCHECK(subscribers_.empty());
diff --git a/media/cast/logging/logging_defines.cc b/media/cast/logging/logging_defines.cc index d8443066..a7e4c714 100644 --- a/media/cast/logging/logging_defines.cc +++ b/media/cast/logging/logging_defines.cc
@@ -43,7 +43,7 @@ encoder_cpu_utilization(-1.0), idealized_bitrate_utilization(-1.0) {} FrameEvent::FrameEvent(const FrameEvent& other) = default; -FrameEvent::~FrameEvent() {} +FrameEvent::~FrameEvent() = default; PacketEvent::PacketEvent() : max_packet_id(0), @@ -51,7 +51,7 @@ size(0), type(UNKNOWN), media_type(UNKNOWN_EVENT) {} -PacketEvent::~PacketEvent() {} +PacketEvent::~PacketEvent() = default; } // namespace cast } // namespace media
diff --git a/media/cast/logging/receiver_time_offset_estimator_impl.cc b/media/cast/logging/receiver_time_offset_estimator_impl.cc index 4a84597..437bd10 100644 --- a/media/cast/logging/receiver_time_offset_estimator_impl.cc +++ b/media/cast/logging/receiver_time_offset_estimator_impl.cc
@@ -26,7 +26,7 @@ ReceiverTimeOffsetEstimatorImpl::BoundCalculator::BoundCalculator() : has_bound_(false) {} -ReceiverTimeOffsetEstimatorImpl::BoundCalculator::~BoundCalculator() {} +ReceiverTimeOffsetEstimatorImpl::BoundCalculator::~BoundCalculator() = default; void ReceiverTimeOffsetEstimatorImpl::BoundCalculator::SetSent( RtpTimeTicks rtp, @@ -80,8 +80,7 @@ } } -ReceiverTimeOffsetEstimatorImpl::ReceiverTimeOffsetEstimatorImpl() { -} +ReceiverTimeOffsetEstimatorImpl::ReceiverTimeOffsetEstimatorImpl() = default; ReceiverTimeOffsetEstimatorImpl::~ReceiverTimeOffsetEstimatorImpl() { DCHECK(thread_checker_.CalledOnValidThread());
diff --git a/media/cast/logging/serialize_deserialize_test.cc b/media/cast/logging/serialize_deserialize_test.cc index 68e6e67..d8155a0 100644 --- a/media/cast/logging/serialize_deserialize_test.cc +++ b/media/cast/logging/serialize_deserialize_test.cc
@@ -51,7 +51,7 @@ SerializeDeserializeTest() : serialized_(new char[kMaxSerializedBytes]), output_bytes_(0) {} - ~SerializeDeserializeTest() override {} + ~SerializeDeserializeTest() override = default; void Init() { metadata_.set_first_rtp_timestamp(12345678 * 90);
diff --git a/media/cast/logging/simple_event_subscriber.cc b/media/cast/logging/simple_event_subscriber.cc index 7146f64f..d0f0df56 100644 --- a/media/cast/logging/simple_event_subscriber.cc +++ b/media/cast/logging/simple_event_subscriber.cc
@@ -9,7 +9,7 @@ namespace media { namespace cast { -SimpleEventSubscriber::SimpleEventSubscriber() {} +SimpleEventSubscriber::SimpleEventSubscriber() = default; SimpleEventSubscriber::~SimpleEventSubscriber() { DCHECK(thread_checker_.CalledOnValidThread());
diff --git a/media/cast/logging/stats_event_subscriber.cc b/media/cast/logging/stats_event_subscriber.cc index f3e25f6f..4f6594c8 100644 --- a/media/cast/logging/stats_event_subscriber.cc +++ b/media/cast/logging/stats_event_subscriber.cc
@@ -45,8 +45,7 @@ CHECK_EQ(0, (max_ - min_) % width_); } -StatsEventSubscriber::SimpleHistogram::~SimpleHistogram() { -} +StatsEventSubscriber::SimpleHistogram::~SimpleHistogram() = default; void StatsEventSubscriber::SimpleHistogram::Add(int64_t sample) { if (sample < min_) { @@ -742,16 +741,15 @@ StatsEventSubscriber::FrameLogStats::FrameLogStats() : event_counter(0), sum_size(0) {} -StatsEventSubscriber::FrameLogStats::~FrameLogStats() {} +StatsEventSubscriber::FrameLogStats::~FrameLogStats() = default; StatsEventSubscriber::PacketLogStats::PacketLogStats() : event_counter(0), sum_size(0) {} -StatsEventSubscriber::PacketLogStats::~PacketLogStats() {} +StatsEventSubscriber::PacketLogStats::~PacketLogStats() = default; StatsEventSubscriber::FrameInfo::FrameInfo() : encoded(false) { } -StatsEventSubscriber::FrameInfo::~FrameInfo() { -} +StatsEventSubscriber::FrameInfo::~FrameInfo() = default; } // namespace cast } // namespace media
diff --git a/media/cast/net/cast_transport_config.cc b/media/cast/net/cast_transport_config.cc index e3ee10b..c9602d0 100644 --- a/media/cast/net/cast_transport_config.cc +++ b/media/cast/net/cast_transport_config.cc
@@ -13,13 +13,13 @@ feedback_ssrc(0), rtp_payload_type(RtpPayloadType::UNKNOWN) {} -CastTransportRtpConfig::~CastTransportRtpConfig() {} +CastTransportRtpConfig::~CastTransportRtpConfig() = default; EncodedFrame::EncodedFrame() : dependency(UNKNOWN_DEPENDENCY), new_playout_delay_ms(0) {} -EncodedFrame::~EncodedFrame() {} +EncodedFrame::~EncodedFrame() = default; void EncodedFrame::CopyMetadataTo(EncodedFrame* dest) const { DCHECK(dest); @@ -36,7 +36,7 @@ ntp_fraction(0), send_packet_count(0), send_octet_count(0) {} -RtcpSenderInfo::~RtcpSenderInfo() {} +RtcpSenderInfo::~RtcpSenderInfo() = default; RtcpReportBlock::RtcpReportBlock() : remote_ssrc(0), @@ -47,11 +47,11 @@ jitter(0), last_sr(0), delay_since_last_sr(0) {} -RtcpReportBlock::~RtcpReportBlock() {} +RtcpReportBlock::~RtcpReportBlock() = default; RtcpDlrrReportBlock::RtcpDlrrReportBlock() : last_rr(0), delay_since_last_rr(0) {} -RtcpDlrrReportBlock::~RtcpDlrrReportBlock() {} +RtcpDlrrReportBlock::~RtcpDlrrReportBlock() = default; } // namespace cast } // namespace media
diff --git a/media/cast/net/cast_transport_impl_unittest.cc b/media/cast/net/cast_transport_impl_unittest.cc index 1c101b2..123453cc 100644 --- a/media/cast/net/cast_transport_impl_unittest.cc +++ b/media/cast/net/cast_transport_impl_unittest.cc
@@ -32,7 +32,7 @@ class StubRtcpObserver : public RtcpObserver { public: - StubRtcpObserver() {} + StubRtcpObserver() = default; void OnReceivedCastMessage(const RtcpCastMessage& cast_message) final {} void OnReceivedRtt(base::TimeDelta round_trip_time) final {} @@ -96,7 +96,7 @@ task_runner_ = new FakeSingleThreadTaskRunner(&testing_clock_); } - ~CastTransportImplTest() override {} + ~CastTransportImplTest() override = default; void InitWithoutLogging(); void InitWithOptions();
diff --git a/media/cast/net/mock_cast_transport.cc b/media/cast/net/mock_cast_transport.cc index 70314c3..01d789f6 100644 --- a/media/cast/net/mock_cast_transport.cc +++ b/media/cast/net/mock_cast_transport.cc
@@ -7,9 +7,9 @@ namespace media { namespace cast { -MockCastTransport::MockCastTransport() {} +MockCastTransport::MockCastTransport() = default; -MockCastTransport::~MockCastTransport() {} +MockCastTransport::~MockCastTransport() = default; } // namespace cast } // namespace media
diff --git a/media/cast/net/pacing/mock_paced_packet_sender.cc b/media/cast/net/pacing/mock_paced_packet_sender.cc index 3219ba2..16e396fd 100644 --- a/media/cast/net/pacing/mock_paced_packet_sender.cc +++ b/media/cast/net/pacing/mock_paced_packet_sender.cc
@@ -7,9 +7,9 @@ namespace media { namespace cast { -MockPacedPacketSender::MockPacedPacketSender() {} +MockPacedPacketSender::MockPacedPacketSender() = default; -MockPacedPacketSender::~MockPacedPacketSender() {} +MockPacedPacketSender::~MockPacedPacketSender() = default; } // namespace cast } // namespace media
diff --git a/media/cast/net/pacing/paced_sender.cc b/media/cast/net/pacing/paced_sender.cc index 34ab762..d673cad 100644 --- a/media/cast/net/pacing/paced_sender.cc +++ b/media/cast/net/pacing/paced_sender.cc
@@ -37,7 +37,7 @@ PacketKey::PacketKey(const PacketKey& other) = default; -PacketKey::~PacketKey() {} +PacketKey::~PacketKey() = default; struct PacedSender::PacketSendRecord { PacketSendRecord() @@ -54,7 +54,7 @@ struct PacedSender::RtpSession { explicit RtpSession(bool is_audio_stream) : last_byte_sent(0), is_audio(is_audio_stream) {} - RtpSession() {} + RtpSession() = default; // Tracks recently-logged RTP timestamps so that it can expand the truncated // values found in packets. @@ -84,7 +84,7 @@ state_(State_Unblocked), weak_factory_(this) {} -PacedSender::~PacedSender() {} +PacedSender::~PacedSender() = default; void PacedSender::RegisterSsrc(uint32_t ssrc, bool is_audio) { if (sessions_.find(ssrc) != sessions_.end())
diff --git a/media/cast/net/rtcp/receiver_rtcp_event_subscriber_unittest.cc b/media/cast/net/rtcp/receiver_rtcp_event_subscriber_unittest.cc index 8662622..b600035 100644 --- a/media/cast/net/rtcp/receiver_rtcp_event_subscriber_unittest.cc +++ b/media/cast/net/rtcp/receiver_rtcp_event_subscriber_unittest.cc
@@ -39,7 +39,7 @@ task_runner_, task_runner_)) {} - ~ReceiverRtcpEventSubscriberTest() override {} + ~ReceiverRtcpEventSubscriberTest() override = default; void TearDown() final { if (event_subscriber_) {
diff --git a/media/cast/net/rtcp/receiver_rtcp_session.cc b/media/cast/net/rtcp/receiver_rtcp_session.cc index 547906d4..71c0988 100644 --- a/media/cast/net/rtcp/receiver_rtcp_session.cc +++ b/media/cast/net/rtcp/receiver_rtcp_session.cc
@@ -23,7 +23,7 @@ lip_sync_ntp_timestamp_(0), parser_(local_ssrc, remote_ssrc) {} -ReceiverRtcpSession::~ReceiverRtcpSession() {} +ReceiverRtcpSession::~ReceiverRtcpSession() = default; bool ReceiverRtcpSession::IncomingRtcpPacket(const uint8_t* data, size_t length) {
diff --git a/media/cast/net/rtcp/rtcp_builder.cc b/media/cast/net/rtcp/rtcp_builder.cc index 49eca97..3d386b46 100644 --- a/media/cast/net/rtcp/rtcp_builder.cc +++ b/media/cast/net/rtcp/rtcp_builder.cc
@@ -55,7 +55,7 @@ packet_count_(0), last_packet_id_(-1), contiguous_sequence_(false) {} - ~NackStringBuilder() {} + ~NackStringBuilder() = default; bool Empty() const { return frame_count_ == 0; } @@ -116,7 +116,7 @@ RtcpBuilder::RtcpBuilder(uint32_t sending_ssrc) : writer_(NULL, 0), local_ssrc_(sending_ssrc), ptr_of_length_(NULL) {} -RtcpBuilder::~RtcpBuilder() {} +RtcpBuilder::~RtcpBuilder() = default; void RtcpBuilder::PatchLengthField() { if (ptr_of_length_) {
diff --git a/media/cast/net/rtcp/rtcp_defines.cc b/media/cast/net/rtcp/rtcp_defines.cc index cbe76ec..6554f0d 100644 --- a/media/cast/net/rtcp/rtcp_defines.cc +++ b/media/cast/net/rtcp/rtcp_defines.cc
@@ -12,27 +12,27 @@ RtcpCastMessage::RtcpCastMessage(uint32_t ssrc) : remote_ssrc(ssrc), target_delay_ms(0) {} RtcpCastMessage::RtcpCastMessage() : RtcpCastMessage(0) {} -RtcpCastMessage::~RtcpCastMessage() {} +RtcpCastMessage::~RtcpCastMessage() = default; RtcpPliMessage::RtcpPliMessage(uint32_t ssrc) : remote_ssrc(ssrc) {} RtcpPliMessage::RtcpPliMessage() : remote_ssrc(0) {} RtcpReceiverEventLogMessage::RtcpReceiverEventLogMessage() : type(UNKNOWN), packet_id(0u) {} -RtcpReceiverEventLogMessage::~RtcpReceiverEventLogMessage() {} +RtcpReceiverEventLogMessage::~RtcpReceiverEventLogMessage() = default; RtcpReceiverFrameLogMessage::RtcpReceiverFrameLogMessage(RtpTimeTicks timestamp) : rtp_timestamp_(timestamp) {} RtcpReceiverFrameLogMessage::RtcpReceiverFrameLogMessage( const RtcpReceiverFrameLogMessage& other) = default; -RtcpReceiverFrameLogMessage::~RtcpReceiverFrameLogMessage() {} +RtcpReceiverFrameLogMessage::~RtcpReceiverFrameLogMessage() = default; RtcpReceiverReferenceTimeReport::RtcpReceiverReferenceTimeReport() : remote_ssrc(0u), ntp_seconds(0u), ntp_fraction(0u) {} -RtcpReceiverReferenceTimeReport::~RtcpReceiverReferenceTimeReport() {} +RtcpReceiverReferenceTimeReport::~RtcpReceiverReferenceTimeReport() = default; RtcpEvent::RtcpEvent() : type(UNKNOWN), packet_id(0u) {} -RtcpEvent::~RtcpEvent() {} +RtcpEvent::~RtcpEvent() = default; RtpReceiverStatistics::RtpReceiverStatistics() : fraction_lost(0), @@ -44,7 +44,7 @@ : ssrc(0), sender_ssrc(0) {} -SendRtcpFromRtpReceiver_Params::~SendRtcpFromRtpReceiver_Params() {} +SendRtcpFromRtpReceiver_Params::~SendRtcpFromRtpReceiver_Params() = default; } // namespace cast } // namespace media
diff --git a/media/cast/net/rtcp/rtcp_unittest.cc b/media/cast/net/rtcp/rtcp_unittest.cc index 779c789..ed2fab8 100644 --- a/media/cast/net/rtcp/rtcp_unittest.cc +++ b/media/cast/net/rtcp/rtcp_unittest.cc
@@ -100,7 +100,7 @@ rtp_receiver_pacer_.set_rtcp_destination(&rtcp_at_rtp_sender_); } - ~RtcpTest() override {} + ~RtcpTest() override = default; // RtcpObserver implementation. void OnReceivedCastMessage(const RtcpCastMessage& cast_message) override {
diff --git a/media/cast/net/rtcp/rtcp_utility.cc b/media/cast/net/rtcp/rtcp_utility.cc index 169b478..2cc8ca5 100644 --- a/media/cast/net/rtcp/rtcp_utility.cc +++ b/media/cast/net/rtcp/rtcp_utility.cc
@@ -37,7 +37,7 @@ has_receiver_reference_time_report_(false), has_picture_loss_indicator_(false) {} -RtcpParser::~RtcpParser() {} +RtcpParser::~RtcpParser() = default; void RtcpParser::SetMaxValidFrameId(FrameId frame_id) { max_valid_frame_id_ = frame_id;
diff --git a/media/cast/net/rtcp/sender_rtcp_session.cc b/media/cast/net/rtcp/sender_rtcp_session.cc index 15c568c..091cf96b 100644 --- a/media/cast/net/rtcp/sender_rtcp_session.cc +++ b/media/cast/net/rtcp/sender_rtcp_session.cc
@@ -82,7 +82,7 @@ std::numeric_limits<int64_t>::min())), parser_(local_ssrc, remote_ssrc) {} -SenderRtcpSession::~SenderRtcpSession() {} +SenderRtcpSession::~SenderRtcpSession() = default; void SenderRtcpSession::WillSendFrame(FrameId frame_id) { if (parser_.max_valid_frame_id().is_null() ||
diff --git a/media/cast/net/rtp/cast_message_builder.cc b/media/cast/net/rtp/cast_message_builder.cc index 3b11c2bd..9f3720a 100644 --- a/media/cast/net/rtp/cast_message_builder.cc +++ b/media/cast/net/rtp/cast_message_builder.cc
@@ -45,7 +45,7 @@ cast_msg_.ack_frame_id = FrameId::first() - 1; } -CastMessageBuilder::~CastMessageBuilder() {} +CastMessageBuilder::~CastMessageBuilder() = default; void CastMessageBuilder::CompleteFrameReceived(FrameId frame_id) { DCHECK_GE(frame_id, last_acked_frame_id());
diff --git a/media/cast/net/rtp/cast_message_builder_unittest.cc b/media/cast/net/rtp/cast_message_builder_unittest.cc index 404d13c..a801967 100644 --- a/media/cast/net/rtp/cast_message_builder_unittest.cc +++ b/media/cast/net/rtp/cast_message_builder_unittest.cc
@@ -103,7 +103,7 @@ base::TimeDelta::FromMilliseconds(kStartMillisecond)); } - ~CastMessageBuilderTest() override {} + ~CastMessageBuilderTest() override = default; void SetFrameIds(FrameId frame_id, FrameId reference_frame_id) { rtp_header_.frame_id = frame_id;
diff --git a/media/cast/net/rtp/frame_buffer.cc b/media/cast/net/rtp/frame_buffer.cc index cf31790..1013a944 100644 --- a/media/cast/net/rtp/frame_buffer.cc +++ b/media/cast/net/rtp/frame_buffer.cc
@@ -18,7 +18,7 @@ total_data_size_(0), packets_() {} -FrameBuffer::~FrameBuffer() {} +FrameBuffer::~FrameBuffer() = default; bool FrameBuffer::InsertPacket(const uint8_t* payload_data, size_t payload_size,
diff --git a/media/cast/net/rtp/frame_buffer_unittest.cc b/media/cast/net/rtp/frame_buffer_unittest.cc index 0938a821..60f35378 100644 --- a/media/cast/net/rtp/frame_buffer_unittest.cc +++ b/media/cast/net/rtp/frame_buffer_unittest.cc
@@ -20,7 +20,7 @@ rtp_header_.reference_frame_id = FrameId::first(); } - ~FrameBufferTest() override {} + ~FrameBufferTest() override = default; FrameBuffer buffer_; std::vector<uint8_t> payload_;
diff --git a/media/cast/net/rtp/framer.cc b/media/cast/net/rtp/framer.cc index 8b61cae2..c59f677 100644 --- a/media/cast/net/rtp/framer.cc +++ b/media/cast/net/rtp/framer.cc
@@ -28,7 +28,7 @@ DCHECK(incoming_payload_feedback) << "Invalid argument"; } -Framer::~Framer() {} +Framer::~Framer() = default; bool Framer::InsertPacket(const uint8_t* payload_data, size_t payload_size,
diff --git a/media/cast/net/rtp/framer_unittest.cc b/media/cast/net/rtp/framer_unittest.cc index 11f45af1..cc6a05d 100644 --- a/media/cast/net/rtp/framer_unittest.cc +++ b/media/cast/net/rtp/framer_unittest.cc
@@ -25,7 +25,7 @@ .WillRepeatedly(testing::Return()); } - ~FramerTest() override {} + ~FramerTest() override = default; std::vector<uint8_t> payload_; RtpCastHeader rtp_header_;
diff --git a/media/cast/net/rtp/mock_rtp_payload_feedback.cc b/media/cast/net/rtp/mock_rtp_payload_feedback.cc index cde8e388..fc87b1cf 100644 --- a/media/cast/net/rtp/mock_rtp_payload_feedback.cc +++ b/media/cast/net/rtp/mock_rtp_payload_feedback.cc
@@ -7,9 +7,9 @@ namespace media { namespace cast { -MockRtpPayloadFeedback::MockRtpPayloadFeedback() {} +MockRtpPayloadFeedback::MockRtpPayloadFeedback() = default; -MockRtpPayloadFeedback::~MockRtpPayloadFeedback() {} +MockRtpPayloadFeedback::~MockRtpPayloadFeedback() = default; } // namespace cast } // namespace media
diff --git a/media/cast/net/rtp/packet_storage.cc b/media/cast/net/rtp/packet_storage.cc index 5155a95..53c0d35 100644 --- a/media/cast/net/rtp/packet_storage.cc +++ b/media/cast/net/rtp/packet_storage.cc
@@ -12,8 +12,7 @@ PacketStorage::PacketStorage() : zombie_count_(0) {} -PacketStorage::~PacketStorage() { -} +PacketStorage::~PacketStorage() = default; size_t PacketStorage::GetNumberOfStoredFrames() const { return frames_.size() - zombie_count_;
diff --git a/media/cast/net/rtp/receiver_stats_unittest.cc b/media/cast/net/rtp/receiver_stats_unittest.cc index 0727990..ec132e4 100644 --- a/media/cast/net/rtp/receiver_stats_unittest.cc +++ b/media/cast/net/rtp/receiver_stats_unittest.cc
@@ -28,7 +28,7 @@ start_time_ = testing_clock_.NowTicks(); delta_increments_ = base::TimeDelta::FromMilliseconds(kStdTimeIncrementMs); } - ~ReceiverStatsTest() override {} + ~ReceiverStatsTest() override = default; uint32_t ExpectedJitter(uint32_t const_interval, int num_packets) { float jitter = 0;
diff --git a/media/cast/net/rtp/rtp_defines.cc b/media/cast/net/rtp/rtp_defines.cc index 4f0c4075..16144042 100644 --- a/media/cast/net/rtp/rtp_defines.cc +++ b/media/cast/net/rtp/rtp_defines.cc
@@ -17,7 +17,7 @@ max_packet_id(0), new_playout_delay_ms(0) {} -RtpPayloadFeedback::~RtpPayloadFeedback() {} +RtpPayloadFeedback::~RtpPayloadFeedback() = default; } // namespace cast } // namespace media
diff --git a/media/cast/net/rtp/rtp_packetizer.cc b/media/cast/net/rtp/rtp_packetizer.cc index 39640f5..403de59 100644 --- a/media/cast/net/rtp/rtp_packetizer.cc +++ b/media/cast/net/rtp/rtp_packetizer.cc
@@ -20,7 +20,7 @@ sequence_number(0), ssrc(0) {} -RtpPacketizerConfig::~RtpPacketizerConfig() {} +RtpPacketizerConfig::~RtpPacketizerConfig() = default; RtpPacketizer::RtpPacketizer(PacedSender* const transport, PacketStorage* packet_storage, @@ -34,7 +34,7 @@ DCHECK(transport) << "Invalid argument"; } -RtpPacketizer::~RtpPacketizer() {} +RtpPacketizer::~RtpPacketizer() = default; uint16_t RtpPacketizer::NextSequenceNumber() { ++sequence_number_;
diff --git a/media/cast/net/rtp/rtp_parser.cc b/media/cast/net/rtp/rtp_parser.cc index c2e63f8c..4d85bae8 100644 --- a/media/cast/net/rtp/rtp_parser.cc +++ b/media/cast/net/rtp/rtp_parser.cc
@@ -27,7 +27,7 @@ expected_payload_type_(expected_payload_type), last_parsed_frame_id_(FrameId::first() - 1) {} -RtpParser::~RtpParser() {} +RtpParser::~RtpParser() = default; bool RtpParser::ParsePacket(const uint8_t* packet, size_t length,
diff --git a/media/cast/net/rtp/rtp_parser_unittest.cc b/media/cast/net/rtp/rtp_parser_unittest.cc index f259c67..a832e0c 100644 --- a/media/cast/net/rtp/rtp_parser_unittest.cc +++ b/media/cast/net/rtp/rtp_parser_unittest.cc
@@ -39,7 +39,7 @@ cast_header_.marker = true; } - ~RtpParserTest() override {} + ~RtpParserTest() override = default; void ExpectParsesPacket() { RtpCastHeader parsed_header;
diff --git a/media/cast/net/rtp/rtp_sender.cc b/media/cast/net/rtp/rtp_sender.cc index 4389997..62286e0 100644 --- a/media/cast/net/rtp/rtp_sender.cc +++ b/media/cast/net/rtp/rtp_sender.cc
@@ -35,7 +35,7 @@ config_.sequence_number = base::RandInt(0, 65535); } -RtpSender::~RtpSender() {} +RtpSender::~RtpSender() = default; bool RtpSender::Initialize(const CastTransportRtpConfig& config) { config_.ssrc = config.ssrc;
diff --git a/media/cast/net/udp_transport.cc b/media/cast/net/udp_transport.cc index b444d10..57e3b67 100644 --- a/media/cast/net/udp_transport.cc +++ b/media/cast/net/udp_transport.cc
@@ -84,7 +84,7 @@ DCHECK(!IsEmpty(local_end_point) || !IsEmpty(remote_end_point)); } -UdpTransport::~UdpTransport() {} +UdpTransport::~UdpTransport() = default; void UdpTransport::StartReceiving( const PacketReceiverCallbackWithStatus& packet_receiver) {
diff --git a/media/cast/receiver/audio_decoder.cc b/media/cast/receiver/audio_decoder.cc index 033fc50..9792777 100644 --- a/media/cast/receiver/audio_decoder.cc +++ b/media/cast/receiver/audio_decoder.cc
@@ -85,7 +85,7 @@ protected: friend class base::RefCountedThreadSafe<ImplBase>; - virtual ~ImplBase() {} + virtual ~ImplBase() = default; virtual void RecoverBecauseFramesWereDropped() {} @@ -130,7 +130,7 @@ } private: - ~OpusImpl() final {} + ~OpusImpl() final = default; void RecoverBecauseFramesWereDropped() final { // Passing NULL for the input data notifies the decoder of frame loss. @@ -189,7 +189,7 @@ } private: - ~Pcm16Impl() final {} + ~Pcm16Impl() final = default; std::unique_ptr<AudioBus> Decode(uint8_t* data, int len) final { std::unique_ptr<AudioBus> audio_bus; @@ -231,7 +231,7 @@ } } -AudioDecoder::~AudioDecoder() {} +AudioDecoder::~AudioDecoder() = default; OperationalStatus AudioDecoder::InitializationResult() const { if (impl_.get())
diff --git a/media/cast/receiver/cast_receiver_impl.cc b/media/cast/receiver/cast_receiver_impl.cc index 31c1f1dd..ac2d3f9 100644 --- a/media/cast/receiver/cast_receiver_impl.cc +++ b/media/cast/receiver/cast_receiver_impl.cc
@@ -46,7 +46,7 @@ audio_codec_(audio_config.codec), video_codec_(video_config.codec) {} -CastReceiverImpl::~CastReceiverImpl() {} +CastReceiverImpl::~CastReceiverImpl() = default; void CastReceiverImpl::ReceivePacket(std::unique_ptr<Packet> packet) { const uint8_t* const data = &packet->front();
diff --git a/media/cast/receiver/frame_receiver_unittest.cc b/media/cast/receiver/frame_receiver_unittest.cc index 623d27d..70ddd84c 100644 --- a/media/cast/receiver/frame_receiver_unittest.cc +++ b/media/cast/receiver/frame_receiver_unittest.cc
@@ -42,7 +42,7 @@ class FakeFrameClient { public: FakeFrameClient() : num_called_(0) {} - virtual ~FakeFrameClient() {} + virtual ~FakeFrameClient() = default; void AddExpectedResult(FrameId expected_frame_id, const base::TimeTicks& expected_playout_time) { @@ -84,7 +84,7 @@ task_runner_, task_runner_, task_runner_); } - ~FrameReceiverTest() override {} + ~FrameReceiverTest() override = default; void SetUp() final { payload_.assign(kPacketSize, 0);
diff --git a/media/cast/receiver/video_decoder.cc b/media/cast/receiver/video_decoder.cc index 2498d1e..8976c11 100644 --- a/media/cast/receiver/video_decoder.cc +++ b/media/cast/receiver/video_decoder.cc
@@ -85,7 +85,7 @@ protected: friend class base::RefCountedThreadSafe<ImplBase>; - virtual ~ImplBase() {} + virtual ~ImplBase() = default; virtual void RecoverBecauseFramesWereDropped() {} @@ -196,7 +196,7 @@ } private: - ~FakeImpl() final {} + ~FakeImpl() final = default; scoped_refptr<VideoFrame> Decode(uint8_t* data, int len) final { // Make sure this is a JSON string. @@ -250,7 +250,7 @@ } } -VideoDecoder::~VideoDecoder() {} +VideoDecoder::~VideoDecoder() = default; OperationalStatus VideoDecoder::InitializationResult() const { if (impl_.get())
diff --git a/media/cast/sender/audio_encoder.cc b/media/cast/sender/audio_encoder.cc index aa1aa942..05e368a0 100644 --- a/media/cast/sender/audio_encoder.cc +++ b/media/cast/sender/audio_encoder.cc
@@ -183,7 +183,7 @@ protected: friend class base::RefCountedThreadSafe<ImplBase>; - virtual ~ImplBase() {} + virtual ~ImplBase() = default; virtual void TransferSamplesIntoBuffer(const AudioBus* audio_bus, int source_offset, @@ -276,7 +276,7 @@ } private: - ~OpusImpl() final {} + ~OpusImpl() final = default; void TransferSamplesIntoBuffer(const AudioBus* audio_bus, int source_offset, @@ -727,7 +727,7 @@ } private: - ~Pcm16Impl() final {} + ~Pcm16Impl() final = default; void TransferSamplesIntoBuffer(const AudioBus* audio_bus, int source_offset, @@ -797,7 +797,7 @@ } } -AudioEncoder::~AudioEncoder() {} +AudioEncoder::~AudioEncoder() = default; OperationalStatus AudioEncoder::InitializationResult() const { DCHECK(insert_thread_checker_.CalledOnValidThread());
diff --git a/media/cast/sender/audio_encoder_unittest.cc b/media/cast/sender/audio_encoder_unittest.cc index 584e913..15329740 100644 --- a/media/cast/sender/audio_encoder_unittest.cc +++ b/media/cast/sender/audio_encoder_unittest.cc
@@ -34,7 +34,7 @@ class TestEncodedAudioFrameReceiver { public: TestEncodedAudioFrameReceiver() : frames_received_(0) {} - virtual ~TestEncodedAudioFrameReceiver() {} + virtual ~TestEncodedAudioFrameReceiver() = default; int frames_received() const { return frames_received_; } @@ -116,7 +116,7 @@ task_runner_, task_runner_, task_runner_); } - virtual ~AudioEncoderTest() {} + virtual ~AudioEncoderTest() = default; void RunTestForCodec(Codec codec) { const TestScenario& scenario = GetParam();
diff --git a/media/cast/sender/audio_sender.cc b/media/cast/sender/audio_sender.cc index 13db100..bc0a577d 100644 --- a/media/cast/sender/audio_sender.cc +++ b/media/cast/sender/audio_sender.cc
@@ -51,7 +51,7 @@ audio_config.rtp_timebase / audio_encoder_->GetSamplesPerFrame(); } -AudioSender::~AudioSender() {} +AudioSender::~AudioSender() = default; void AudioSender::InsertAudio(std::unique_ptr<AudioBus> audio_bus, const base::TimeTicks& recorded_time) {
diff --git a/media/cast/sender/audio_sender_unittest.cc b/media/cast/sender/audio_sender_unittest.cc index f882a43e..fa3224e0 100644 --- a/media/cast/sender/audio_sender_unittest.cc +++ b/media/cast/sender/audio_sender_unittest.cc
@@ -39,7 +39,7 @@ class TransportClient : public CastTransport::Client { public: - TransportClient() {} + TransportClient() = default; void OnStatusChanged(CastTransportStatus status) final { EXPECT_EQ(TRANSPORT_STREAM_INITIALIZED, status); @@ -122,7 +122,7 @@ CHECK_EQ(STATUS_INITIALIZED, operational_status); } - ~AudioSenderTest() override {} + ~AudioSenderTest() override = default; base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment. TestPacketSender* transport_; // Owned by CastTransport.
diff --git a/media/cast/sender/congestion_control.cc b/media/cast/sender/congestion_control.cc index 58983fe..34894fb 100644 --- a/media/cast/sender/congestion_control.cc +++ b/media/cast/sender/congestion_control.cc
@@ -105,7 +105,7 @@ class FixedCongestionControl : public CongestionControl { public: explicit FixedCongestionControl(int bitrate) : bitrate_(bitrate) {} - ~FixedCongestionControl() final {} + ~FixedCongestionControl() final = default; // CongestionControl implementation. void UpdateRtt(base::TimeDelta rtt) final {} @@ -181,8 +181,8 @@ DCHECK(!frame_stats_[0].ack_time.is_null()); } -CongestionControl::~CongestionControl() {} -AdaptiveCongestionControl::~AdaptiveCongestionControl() {} +CongestionControl::~CongestionControl() = default; +AdaptiveCongestionControl::~AdaptiveCongestionControl() = default; void AdaptiveCongestionControl::UpdateRtt(base::TimeDelta rtt) { rtt_ = (7 * rtt_ + rtt) / 8;
diff --git a/media/cast/sender/external_video_encoder.cc b/media/cast/sender/external_video_encoder.cc index 14cb1b9..b0c46de 100644 --- a/media/cast/sender/external_video_encoder.cc +++ b/media/cast/sender/external_video_encoder.cc
@@ -619,8 +619,7 @@ status_change_cb)); } -ExternalVideoEncoder::~ExternalVideoEncoder() { -} +ExternalVideoEncoder::~ExternalVideoEncoder() = default; bool ExternalVideoEncoder::EncodeVideoFrame( const scoped_refptr<media::VideoFrame>& video_frame, @@ -722,7 +721,8 @@ create_vea_cb_(create_vea_cb), create_video_encode_memory_cb_(create_video_encode_memory_cb) {} -SizeAdaptableExternalVideoEncoder::~SizeAdaptableExternalVideoEncoder() {} +SizeAdaptableExternalVideoEncoder::~SizeAdaptableExternalVideoEncoder() = + default; std::unique_ptr<VideoEncoder> SizeAdaptableExternalVideoEncoder::CreateEncoder() { @@ -732,9 +732,9 @@ create_video_encode_memory_cb_)); } -QuantizerEstimator::QuantizerEstimator() {} +QuantizerEstimator::QuantizerEstimator() = default; -QuantizerEstimator::~QuantizerEstimator() {} +QuantizerEstimator::~QuantizerEstimator() = default; void QuantizerEstimator::Reset() { last_frame_pixel_buffer_.reset();
diff --git a/media/cast/sender/fake_software_video_encoder.cc b/media/cast/sender/fake_software_video_encoder.cc index 7a24750..214929b 100644 --- a/media/cast/sender/fake_software_video_encoder.cc +++ b/media/cast/sender/fake_software_video_encoder.cc
@@ -26,7 +26,7 @@ DCHECK_GT(video_config_.max_frame_rate, 0); } -FakeSoftwareVideoEncoder::~FakeSoftwareVideoEncoder() {} +FakeSoftwareVideoEncoder::~FakeSoftwareVideoEncoder() = default; void FakeSoftwareVideoEncoder::Initialize() {}
diff --git a/media/cast/sender/fake_video_encode_accelerator_factory.cc b/media/cast/sender/fake_video_encode_accelerator_factory.cc index b06eb56..9428c3c6 100644 --- a/media/cast/sender/fake_video_encode_accelerator_factory.cc +++ b/media/cast/sender/fake_video_encode_accelerator_factory.cc
@@ -21,7 +21,8 @@ last_response_vea_(nullptr), last_response_shm_(nullptr) {} -FakeVideoEncodeAcceleratorFactory::~FakeVideoEncodeAcceleratorFactory() {} +FakeVideoEncodeAcceleratorFactory::~FakeVideoEncodeAcceleratorFactory() = + default; void FakeVideoEncodeAcceleratorFactory::SetInitializationWillSucceed( bool will_init_succeed) {
diff --git a/media/cast/sender/frame_sender.cc b/media/cast/sender/frame_sender.cc index 2320b7a..2d48010 100644 --- a/media/cast/sender/frame_sender.cc +++ b/media/cast/sender/frame_sender.cc
@@ -35,7 +35,7 @@ FrameSender::RtcpClient::RtcpClient(base::WeakPtr<FrameSender> frame_sender) : frame_sender_(frame_sender) {} -FrameSender::RtcpClient::~RtcpClient() {} +FrameSender::RtcpClient::~RtcpClient() = default; void FrameSender::RtcpClient::OnReceivedCastMessage( const RtcpCastMessage& cast_message) { @@ -99,8 +99,7 @@ base::MakeUnique<FrameSender::RtcpClient>(weak_factory_.GetWeakPtr())); } -FrameSender::~FrameSender() { -} +FrameSender::~FrameSender() = default; void FrameSender::ScheduleNextRtcpReport() { DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
diff --git a/media/cast/sender/sender_encoded_frame.cc b/media/cast/sender/sender_encoded_frame.cc index 611a745..4463ebd 100644 --- a/media/cast/sender/sender_encoded_frame.cc +++ b/media/cast/sender/sender_encoded_frame.cc
@@ -10,7 +10,7 @@ SenderEncodedFrame::SenderEncodedFrame() : EncodedFrame(), encoder_utilization(-1.0), lossy_utilization(-1.0) {} -SenderEncodedFrame::~SenderEncodedFrame() {} +SenderEncodedFrame::~SenderEncodedFrame() = default; } // namespace cast } // namespace media
diff --git a/media/cast/sender/video_encoder_unittest.cc b/media/cast/sender/video_encoder_unittest.cc index 0c71b63..8ebd7135 100644 --- a/media/cast/sender/video_encoder_unittest.cc +++ b/media/cast/sender/video_encoder_unittest.cc
@@ -49,7 +49,7 @@ first_frame_time_ = testing_clock_->NowTicks(); } - ~VideoEncoderTest() override {} + ~VideoEncoderTest() override = default; void SetUp() final { video_config_.codec = GetParam().first;
diff --git a/media/cast/sender/video_sender.cc b/media/cast/sender/video_sender.cc index 6be7d80..196e111 100644 --- a/media/cast/sender/video_sender.cc +++ b/media/cast/sender/video_sender.cc
@@ -126,8 +126,7 @@ } } -VideoSender::~VideoSender() { -} +VideoSender::~VideoSender() = default; void VideoSender::InsertRawVideoFrame( const scoped_refptr<media::VideoFrame>& video_frame,
diff --git a/media/cast/sender/video_sender_unittest.cc b/media/cast/sender/video_sender_unittest.cc index 69c00f2..27cf37a 100644 --- a/media/cast/sender/video_sender_unittest.cc +++ b/media/cast/sender/video_sender_unittest.cc
@@ -131,7 +131,7 @@ class TransportClient : public CastTransport::Client { public: - TransportClient() {} + TransportClient() = default; void OnStatusChanged(CastTransportStatus status) final { EXPECT_EQ(TRANSPORT_STREAM_INITIALIZED, status); @@ -167,7 +167,7 @@ base::WrapUnique(transport_), task_runner_)); } - ~VideoSenderTest() override {} + ~VideoSenderTest() override = default; void TearDown() final { video_sender_.reset();
diff --git a/media/cast/sender/vp8_quantizer_parser.cc b/media/cast/sender/vp8_quantizer_parser.cc index b24d310..0cb8a172 100644 --- a/media/cast/sender/vp8_quantizer_parser.cc +++ b/media/cast/sender/vp8_quantizer_parser.cc
@@ -24,7 +24,7 @@ : encoded_data_(data), encoded_data_end_(data + size) { Vp8DecoderReadBytes(); } - ~Vp8BitReader() {} + ~Vp8BitReader() = default; // Decode one bit. The output is 0 or 1. unsigned int DecodeBit();
diff --git a/media/cast/test/end2end_unittest.cc b/media/cast/test/end2end_unittest.cc index 7d9994b..9b80af7c 100644 --- a/media/cast/test/end2end_unittest.cc +++ b/media/cast/test/end2end_unittest.cc
@@ -150,7 +150,7 @@ explicit LoopBackPacketPipe(const PacketReceiverCallback& packet_receiver) : packet_receiver_(packet_receiver) {} - ~LoopBackPacketPipe() final {} + ~LoopBackPacketPipe() final = default; // PacketPipe implementations. void Send(std::unique_ptr<Packet> packet) final { @@ -303,8 +303,7 @@ int number_times_called() const { return num_called_; } protected: - virtual ~TestReceiverAudioCallback() { - } + virtual ~TestReceiverAudioCallback() = default; private: friend class base::RefCountedThreadSafe<TestReceiverAudioCallback>; @@ -382,7 +381,7 @@ int number_times_called() const { return num_called_; } protected: - virtual ~TestReceiverVideoCallback() {} + virtual ~TestReceiverVideoCallback() = default; private: friend class base::RefCountedThreadSafe<TestReceiverVideoCallback>;
diff --git a/media/cast/test/fake_media_source.cc b/media/cast/test/fake_media_source.cc index e1cde67..83553bc 100644 --- a/media/cast/test/fake_media_source.cc +++ b/media/cast/test/fake_media_source.cc
@@ -103,8 +103,7 @@ kSoundFrequency, kSoundVolume)); } -FakeMediaSource::~FakeMediaSource() { -} +FakeMediaSource::~FakeMediaSource() = default; void FakeMediaSource::SetSourceFile(const base::FilePath& video_file, int final_fps) {
diff --git a/media/cast/test/fake_receiver_time_offset_estimator.cc b/media/cast/test/fake_receiver_time_offset_estimator.cc index 3cc5f721..d48aa88 100644 --- a/media/cast/test/fake_receiver_time_offset_estimator.cc +++ b/media/cast/test/fake_receiver_time_offset_estimator.cc
@@ -12,7 +12,7 @@ base::TimeDelta offset) : offset_(offset) {} -FakeReceiverTimeOffsetEstimator::~FakeReceiverTimeOffsetEstimator() {} +FakeReceiverTimeOffsetEstimator::~FakeReceiverTimeOffsetEstimator() = default; void FakeReceiverTimeOffsetEstimator::OnReceiveFrameEvent( const FrameEvent& frame_event) {
diff --git a/media/cast/test/loopback_transport.cc b/media/cast/test/loopback_transport.cc index 3500f62..84603d6 100644 --- a/media/cast/test/loopback_transport.cc +++ b/media/cast/test/loopback_transport.cc
@@ -23,7 +23,7 @@ const PacketReceiverCallback& packet_receiver) : packet_receiver_(packet_receiver) {} - ~LoopBackPacketPipe() final {} + ~LoopBackPacketPipe() final = default; // PacketPipe implementations. void Send(std::unique_ptr<Packet> packet) final { @@ -44,8 +44,7 @@ bytes_sent_(0) { } -LoopBackTransport::~LoopBackTransport() { -} +LoopBackTransport::~LoopBackTransport() = default; bool LoopBackTransport::SendPacket(PacketRef packet, const base::Closure& cb) {
diff --git a/media/cast/test/skewed_single_thread_task_runner.cc b/media/cast/test/skewed_single_thread_task_runner.cc index b7b6db7..d7daef0e 100644 --- a/media/cast/test/skewed_single_thread_task_runner.cc +++ b/media/cast/test/skewed_single_thread_task_runner.cc
@@ -20,7 +20,7 @@ task_runner_(task_runner) { } -SkewedSingleThreadTaskRunner::~SkewedSingleThreadTaskRunner() {} +SkewedSingleThreadTaskRunner::~SkewedSingleThreadTaskRunner() = default; void SkewedSingleThreadTaskRunner::SetSkew(double skew) { skew_ = skew;
diff --git a/media/cast/test/utility/audio_utility.cc b/media/cast/test/utility/audio_utility.cc index 436400a6..d5d499f 100644 --- a/media/cast/test/utility/audio_utility.cc +++ b/media/cast/test/utility/audio_utility.cc
@@ -29,7 +29,7 @@ CHECK_LE(volume_, 1.0f); } -TestAudioBusFactory::~TestAudioBusFactory() {} +TestAudioBusFactory::~TestAudioBusFactory() = default; std::unique_ptr<AudioBus> TestAudioBusFactory::NextAudioBus( const base::TimeDelta& duration) {
diff --git a/media/cast/test/utility/input_builder.cc b/media/cast/test/utility/input_builder.cc index d3a84fdf..442bb1e3 100644 --- a/media/cast/test/utility/input_builder.cc +++ b/media/cast/test/utility/input_builder.cc
@@ -27,7 +27,7 @@ low_range_(low_range), high_range_(high_range) {} -InputBuilder::~InputBuilder() {} +InputBuilder::~InputBuilder() = default; std::string InputBuilder::GetStringInput() const { if (!base::CommandLine::ForCurrentProcess()->HasSwitch(kEnablePromptsSwitch))
diff --git a/media/cast/test/utility/udp_proxy.cc b/media/cast/test/utility/udp_proxy.cc index b576f38..d4ecd5ef 100644 --- a/media/cast/test/utility/udp_proxy.cc +++ b/media/cast/test/utility/udp_proxy.cc
@@ -29,8 +29,8 @@ const size_t kMaxPacketSize = 65536; -PacketPipe::PacketPipe() {} -PacketPipe::~PacketPipe() {} +PacketPipe::PacketPipe() = default; +PacketPipe::~PacketPipe() = default; void PacketPipe::InitOnIOThread( const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, base::TickClock* clock) { @@ -139,7 +139,7 @@ class SimpleDelayBase : public PacketPipe { public: SimpleDelayBase() : weak_factory_(this) {} - ~SimpleDelayBase() override {} + ~SimpleDelayBase() override = default; void Send(std::unique_ptr<Packet> packet) override { double seconds = GetDelay(); @@ -428,8 +428,7 @@ ComputeRates(); } -InterruptedPoissonProcess::~InterruptedPoissonProcess() { -} +InterruptedPoissonProcess::~InterruptedPoissonProcess() = default; void InterruptedPoissonProcess::InitOnIOThread( const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
diff --git a/media/cdm/aes_decryptor.cc b/media/cdm/aes_decryptor.cc index 2729729..067563c1 100644 --- a/media/cdm/aes_decryptor.cc +++ b/media/cdm/aes_decryptor.cc
@@ -81,8 +81,8 @@ std::list<std::pair<std::string, std::unique_ptr<DecryptionKey>>>; public: - SessionIdDecryptionKeyMap() {} - ~SessionIdDecryptionKeyMap() {} + SessionIdDecryptionKeyMap() = default; + ~SessionIdDecryptionKeyMap() = default; // Replaces value if |session_id| is already present, or adds it if not. // This |decryption_key| becomes the latest until another insertion or @@ -771,7 +771,7 @@ : secret_(secret) { } -AesDecryptor::DecryptionKey::~DecryptionKey() {} +AesDecryptor::DecryptionKey::~DecryptionKey() = default; bool AesDecryptor::DecryptionKey::Init() { CHECK(!secret_.empty());
diff --git a/media/cdm/cdm_adapter_factory.cc b/media/cdm/cdm_adapter_factory.cc index baaa811..77c7227c 100644 --- a/media/cdm/cdm_adapter_factory.cc +++ b/media/cdm/cdm_adapter_factory.cc
@@ -17,7 +17,7 @@ DCHECK(helper_creation_cb_); } -CdmAdapterFactory::~CdmAdapterFactory() {} +CdmAdapterFactory::~CdmAdapterFactory() = default; void CdmAdapterFactory::Create( const std::string& key_system,
diff --git a/media/cdm/cdm_allocator.cc b/media/cdm/cdm_allocator.cc index 52e722c..5417266 100644 --- a/media/cdm/cdm_allocator.cc +++ b/media/cdm/cdm_allocator.cc
@@ -6,8 +6,8 @@ namespace media { -CdmAllocator::CdmAllocator() {} +CdmAllocator::CdmAllocator() = default; -CdmAllocator::~CdmAllocator() {} +CdmAllocator::~CdmAllocator() = default; } // namespace media
diff --git a/media/cdm/cdm_auxiliary_helper.cc b/media/cdm/cdm_auxiliary_helper.cc index b78b511..7950eac7 100644 --- a/media/cdm/cdm_auxiliary_helper.cc +++ b/media/cdm/cdm_auxiliary_helper.cc
@@ -8,8 +8,8 @@ namespace media { -CdmAuxiliaryHelper::CdmAuxiliaryHelper() {} -CdmAuxiliaryHelper::~CdmAuxiliaryHelper() {} +CdmAuxiliaryHelper::CdmAuxiliaryHelper() = default; +CdmAuxiliaryHelper::~CdmAuxiliaryHelper() = default; void CdmAuxiliaryHelper::SetFileReadCB(FileReadCB file_read_cb) {}
diff --git a/media/cdm/cdm_manager.cc b/media/cdm/cdm_manager.cc index 8fd7e76..277333ca 100644 --- a/media/cdm/cdm_manager.cc +++ b/media/cdm/cdm_manager.cc
@@ -11,9 +11,9 @@ namespace media { -CdmManager::CdmManager() {} +CdmManager::CdmManager() = default; -CdmManager::~CdmManager() {} +CdmManager::~CdmManager() = default; // static CdmManager* CdmManager::GetInstance() {
diff --git a/media/cdm/cdm_module.cc b/media/cdm/cdm_module.cc index 2bf399f7..9c85192 100644 --- a/media/cdm/cdm_module.cc +++ b/media/cdm/cdm_module.cc
@@ -95,7 +95,7 @@ g_cdm_module = nullptr; } -CdmModule::CdmModule() {} +CdmModule::CdmModule() = default; CdmModule::~CdmModule() { if (deinitialize_cdm_module_func_)
diff --git a/media/cdm/default_cdm_factory.cc b/media/cdm/default_cdm_factory.cc index e586a3ad..118b4e5 100644 --- a/media/cdm/default_cdm_factory.cc +++ b/media/cdm/default_cdm_factory.cc
@@ -18,11 +18,9 @@ namespace media { -DefaultCdmFactory::DefaultCdmFactory() { -} +DefaultCdmFactory::DefaultCdmFactory() = default; -DefaultCdmFactory::~DefaultCdmFactory() { -} +DefaultCdmFactory::~DefaultCdmFactory() = default; static bool ShouldCreateAesDecryptor(const std::string& key_system) { if (CanUseAesDecryptor(key_system))
diff --git a/media/cdm/json_web_key_unittest.cc b/media/cdm/json_web_key_unittest.cc index d0ba9711..689d781 100644 --- a/media/cdm/json_web_key_unittest.cc +++ b/media/cdm/json_web_key_unittest.cc
@@ -17,7 +17,7 @@ class JSONWebKeyTest : public testing::Test { public: - JSONWebKeyTest() {} + JSONWebKeyTest() = default; protected: void ExtractJWKKeysAndExpect(const std::string& jwk,
diff --git a/media/cdm/mock_helpers.cc b/media/cdm/mock_helpers.cc index 160cb4c7..fcd85efe 100644 --- a/media/cdm/mock_helpers.cc +++ b/media/cdm/mock_helpers.cc
@@ -10,7 +10,7 @@ std::unique_ptr<CdmAllocator> allocator) : allocator_(std::move(allocator)) {} -MockCdmAuxiliaryHelper::~MockCdmAuxiliaryHelper() {} +MockCdmAuxiliaryHelper::~MockCdmAuxiliaryHelper() = default; void MockCdmAuxiliaryHelper::SetFileReadCB(FileReadCB file_read_cb) {}
diff --git a/media/cdm/player_tracker_impl.cc b/media/cdm/player_tracker_impl.cc index e0caf7b..3bfae54 100644 --- a/media/cdm/player_tracker_impl.cc +++ b/media/cdm/player_tracker_impl.cc
@@ -18,13 +18,12 @@ PlayerTrackerImpl::PlayerCallbacks::PlayerCallbacks( const PlayerCallbacks& other) = default; -PlayerTrackerImpl::PlayerCallbacks::~PlayerCallbacks() { -} +PlayerTrackerImpl::PlayerCallbacks::~PlayerCallbacks() = default; PlayerTrackerImpl::PlayerTrackerImpl() : next_registration_id_(1) { } -PlayerTrackerImpl::~PlayerTrackerImpl() {} +PlayerTrackerImpl::~PlayerTrackerImpl() = default; int PlayerTrackerImpl::RegisterPlayer(const base::Closure& new_key_cb, const base::Closure& cdm_unset_cb) {
diff --git a/media/cdm/ppapi/cdm_file_io_test.cc b/media/cdm/ppapi/cdm_file_io_test.cc index fcfe894b..05540c1e 100644 --- a/media/cdm/ppapi/cdm_file_io_test.cc +++ b/media/cdm/ppapi/cdm_file_io_test.cc
@@ -523,7 +523,7 @@ : create_file_io_cb_(create_file_io_cb), test_name_(test_name) {} -FileIOTest::~FileIOTest() {} +FileIOTest::~FileIOTest() = default; void FileIOTest::AddTestStep(StepType type, Status status,
diff --git a/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc b/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc index 995509a..f981279 100644 --- a/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc +++ b/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
@@ -364,7 +364,7 @@ #endif // CLEAR_KEY_CDM_USE_FAKE_AUDIO_DECODER } -ClearKeyCdm::~ClearKeyCdm() {} +ClearKeyCdm::~ClearKeyCdm() = default; void ClearKeyCdm::Initialize(bool allow_distinctive_identifier, bool allow_persistent_state) {
diff --git a/media/cdm/ppapi/external_clear_key/clear_key_persistent_session_cdm.cc b/media/cdm/ppapi/external_clear_key/clear_key_persistent_session_cdm.cc index 92095468..65cdc95 100644 --- a/media/cdm/ppapi/external_clear_key/clear_key_persistent_session_cdm.cc +++ b/media/cdm/ppapi/external_clear_key/clear_key_persistent_session_cdm.cc
@@ -28,7 +28,7 @@ std::unique_ptr<NewSessionCdmPromise> promise) : session_created_cb_(std::move(session_created_cb)), promise_(std::move(promise)) {} - ~NewPersistentSessionCdmPromise() override {} + ~NewPersistentSessionCdmPromise() override = default; // NewSessionCdmPromise implementation. void resolve(const std::string& session_id) override { @@ -61,7 +61,7 @@ FinishLoadCdmPromise(const std::string& session_id, std::unique_ptr<NewSessionCdmPromise> promise) : session_id_(session_id), promise_(std::move(promise)) {} - ~FinishLoadCdmPromise() override {} + ~FinishLoadCdmPromise() override = default; // CdmSimplePromise implementation. void resolve() override {
diff --git a/media/cdm/ppapi/ppapi_cdm_adapter.cc b/media/cdm/ppapi/ppapi_cdm_adapter.cc index 58be708..afeb97c 100644 --- a/media/cdm/ppapi/ppapi_cdm_adapter.cc +++ b/media/cdm/ppapi/ppapi_cdm_adapter.cc
@@ -389,7 +389,7 @@ callback_factory_.Initialize(this); } -PpapiCdmAdapter::~PpapiCdmAdapter() {} +PpapiCdmAdapter::~PpapiCdmAdapter() = default; CdmWrapper* PpapiCdmAdapter::CreateCdmInstance(const std::string& key_system) { // The Pepper plugin will be staticly linked to the CDM, so pass the plugin's
diff --git a/media/cdm/simple_cdm_allocator.cc b/media/cdm/simple_cdm_allocator.cc index 5741a90..8a566ded 100644 --- a/media/cdm/simple_cdm_allocator.cc +++ b/media/cdm/simple_cdm_allocator.cc
@@ -18,8 +18,8 @@ class SimpleCdmVideoFrame : public VideoFrameImpl { public: - SimpleCdmVideoFrame() {} - ~SimpleCdmVideoFrame() final {} + SimpleCdmVideoFrame() = default; + ~SimpleCdmVideoFrame() final = default; // VideoFrameImpl implementation. scoped_refptr<media::VideoFrame> TransformToVideoFrame( @@ -53,9 +53,9 @@ } // namespace -SimpleCdmAllocator::SimpleCdmAllocator() {} +SimpleCdmAllocator::SimpleCdmAllocator() = default; -SimpleCdmAllocator::~SimpleCdmAllocator() {} +SimpleCdmAllocator::~SimpleCdmAllocator() = default; // Creates a new SimpleCdmBuffer on every request. It does not keep track of // the memory allocated, so the caller is responsible for calling Destroy()
diff --git a/media/cdm/simple_cdm_allocator_unittest.cc b/media/cdm/simple_cdm_allocator_unittest.cc index 6e95c53..a1520e9f 100644 --- a/media/cdm/simple_cdm_allocator_unittest.cc +++ b/media/cdm/simple_cdm_allocator_unittest.cc
@@ -36,7 +36,7 @@ // Verify that Destroy() is called on this object. EXPECT_CALL(*this, DestroyCalled()); } - ~TestCdmBuffer() final {} + ~TestCdmBuffer() final = default; MOCK_METHOD0(DestroyCalled, void()); @@ -48,8 +48,8 @@ class SimpleCdmAllocatorTest : public testing::Test { public: - SimpleCdmAllocatorTest() {} - ~SimpleCdmAllocatorTest() override {} + SimpleCdmAllocatorTest() = default; + ~SimpleCdmAllocatorTest() override = default; protected: SimpleCdmAllocator allocator_;
diff --git a/media/cdm/simple_cdm_buffer.cc b/media/cdm/simple_cdm_buffer.cc index 712c8b7..76d0e1e9 100644 --- a/media/cdm/simple_cdm_buffer.cc +++ b/media/cdm/simple_cdm_buffer.cc
@@ -23,7 +23,7 @@ SimpleCdmBuffer::SimpleCdmBuffer(uint32_t capacity) : buffer_(capacity), size_(0) {} -SimpleCdmBuffer::~SimpleCdmBuffer() {} +SimpleCdmBuffer::~SimpleCdmBuffer() = default; void SimpleCdmBuffer::Destroy() { delete this;
diff --git a/media/device_monitors/device_monitor_udev.cc b/media/device_monitors/device_monitor_udev.cc index 1c2cea7..d0e8bb8f 100644 --- a/media/device_monitors/device_monitor_udev.cc +++ b/media/device_monitors/device_monitor_udev.cc
@@ -44,7 +44,7 @@ base::Bind(&DeviceMonitorLinux::Initialize, base::Unretained(this))); } -DeviceMonitorLinux::~DeviceMonitorLinux() {} +DeviceMonitorLinux::~DeviceMonitorLinux() = default; void DeviceMonitorLinux::Initialize() { DCHECK(io_task_runner_->BelongsToCurrentThread());
diff --git a/media/ffmpeg/ffmpeg_common_unittest.cc b/media/ffmpeg/ffmpeg_common_unittest.cc index 21b8726..c221685 100644 --- a/media/ffmpeg/ffmpeg_common_unittest.cc +++ b/media/ffmpeg/ffmpeg_common_unittest.cc
@@ -28,7 +28,7 @@ FFmpegCommonTest() { FFmpegGlue::InitializeFFmpeg(); } - ~FFmpegCommonTest() override {} + ~FFmpegCommonTest() override = default; }; uint8_t kExtraData[5] = {0x00, 0x01, 0x02, 0x03, 0x04};
diff --git a/media/ffmpeg/ffmpeg_decoding_loop.cc b/media/ffmpeg/ffmpeg_decoding_loop.cc index 8a3f4e48..5cc9782f 100644 --- a/media/ffmpeg/ffmpeg_decoding_loop.cc +++ b/media/ffmpeg/ffmpeg_decoding_loop.cc
@@ -15,7 +15,7 @@ context_(context), frame_(av_frame_alloc()) {} -FFmpegDecodingLoop::~FFmpegDecodingLoop() {} +FFmpegDecodingLoop::~FFmpegDecodingLoop() = default; FFmpegDecodingLoop::DecodeStatus FFmpegDecodingLoop::DecodePacket( const AVPacket* packet,
diff --git a/media/filters/audio_clock.cc b/media/filters/audio_clock.cc index 819ad19..9affd9c0 100644 --- a/media/filters/audio_clock.cc +++ b/media/filters/audio_clock.cc
@@ -23,8 +23,7 @@ front_timestamp_micros_(start_timestamp.InMicroseconds()), back_timestamp_micros_(start_timestamp.InMicroseconds()) {} -AudioClock::~AudioClock() { -} +AudioClock::~AudioClock() = default; void AudioClock::WroteAudio(int frames_written, int frames_requested,
diff --git a/media/filters/audio_clock_unittest.cc b/media/filters/audio_clock_unittest.cc index 7a94055..92016c5d 100644 --- a/media/filters/audio_clock_unittest.cc +++ b/media/filters/audio_clock_unittest.cc
@@ -16,7 +16,7 @@ public: AudioClockTest() { SetupClock(base::TimeDelta(), 10); } - ~AudioClockTest() override {} + ~AudioClockTest() override = default; void WroteAudio(int frames_written, int frames_requested,
diff --git a/media/filters/audio_file_reader_unittest.cc b/media/filters/audio_file_reader_unittest.cc index e26d805..3ea4146 100644 --- a/media/filters/audio_file_reader_unittest.cc +++ b/media/filters/audio_file_reader_unittest.cc
@@ -24,7 +24,7 @@ class AudioFileReaderTest : public testing::Test { public: AudioFileReaderTest() : packet_verification_disabled_(false) {} - ~AudioFileReaderTest() override {} + ~AudioFileReaderTest() override = default; void Initialize(const char* filename) { data_ = ReadTestDataFile(filename);
diff --git a/media/filters/audio_renderer_algorithm.cc b/media/filters/audio_renderer_algorithm.cc index d990ff7..771c27e 100644 --- a/media/filters/audio_renderer_algorithm.cc +++ b/media/filters/audio_renderer_algorithm.cc
@@ -84,7 +84,7 @@ initial_capacity_(0), max_capacity_(0) {} -AudioRendererAlgorithm::~AudioRendererAlgorithm() {} +AudioRendererAlgorithm::~AudioRendererAlgorithm() = default; void AudioRendererAlgorithm::Initialize(const AudioParameters& params, bool is_encrypted) {
diff --git a/media/filters/audio_renderer_algorithm_unittest.cc b/media/filters/audio_renderer_algorithm_unittest.cc index 34cc54a..c7c50156 100644 --- a/media/filters/audio_renderer_algorithm_unittest.cc +++ b/media/filters/audio_renderer_algorithm_unittest.cc
@@ -80,7 +80,7 @@ bytes_per_sample_(0) { } - ~AudioRendererAlgorithmTest() override {} + ~AudioRendererAlgorithmTest() override = default; void Initialize() { Initialize(CHANNEL_LAYOUT_STEREO, kSampleFormatS16, kSamplesPerSecond,
diff --git a/media/filters/audio_timestamp_validator.cc b/media/filters/audio_timestamp_validator.cc index 0bc40bc..11b3983 100644 --- a/media/filters/audio_timestamp_validator.cc +++ b/media/filters/audio_timestamp_validator.cc
@@ -36,7 +36,7 @@ DCHECK(decoder_config.IsValidConfig()); } -AudioTimestampValidator::~AudioTimestampValidator() {} +AudioTimestampValidator::~AudioTimestampValidator() = default; void AudioTimestampValidator::CheckForTimestampGap( const scoped_refptr<DecoderBuffer>& buffer) {
diff --git a/media/filters/audio_timestamp_validator_unittest.cc b/media/filters/audio_timestamp_validator_unittest.cc index 7724b04..aed67e1 100644 --- a/media/filters/audio_timestamp_validator_unittest.cc +++ b/media/filters/audio_timestamp_validator_unittest.cc
@@ -41,7 +41,7 @@ : public testing::Test, public ::testing::WithParamInterface<ValidatorTestParams> { public: - AudioTimestampValidatorTest() {} + AudioTimestampValidatorTest() = default; protected: void SetUp() override {
diff --git a/media/filters/audio_video_metadata_extractor.cc b/media/filters/audio_video_metadata_extractor.cc index bb67967..77b3bfcf 100644 --- a/media/filters/audio_video_metadata_extractor.cc +++ b/media/filters/audio_video_metadata_extractor.cc
@@ -54,12 +54,12 @@ } // namespace -AudioVideoMetadataExtractor::StreamInfo::StreamInfo() {} +AudioVideoMetadataExtractor::StreamInfo::StreamInfo() = default; AudioVideoMetadataExtractor::StreamInfo::StreamInfo(const StreamInfo& other) = default; -AudioVideoMetadataExtractor::StreamInfo::~StreamInfo() {} +AudioVideoMetadataExtractor::StreamInfo::~StreamInfo() = default; AudioVideoMetadataExtractor::AudioVideoMetadataExtractor() : extracted_(false), @@ -71,7 +71,7 @@ rotation_(-1), track_(-1) {} -AudioVideoMetadataExtractor::~AudioVideoMetadataExtractor() {} +AudioVideoMetadataExtractor::~AudioVideoMetadataExtractor() = default; bool AudioVideoMetadataExtractor::Extract(DataSource* source, bool extract_attached_images) {
diff --git a/media/filters/blocking_url_protocol.cc b/media/filters/blocking_url_protocol.cc index c21a7c98..62b6673 100644 --- a/media/filters/blocking_url_protocol.cc +++ b/media/filters/blocking_url_protocol.cc
@@ -29,7 +29,7 @@ last_read_bytes_(0), read_position_(0) {} -BlockingUrlProtocol::~BlockingUrlProtocol() {} +BlockingUrlProtocol::~BlockingUrlProtocol() = default; void BlockingUrlProtocol::Abort() { aborted_.Signal();
diff --git a/media/filters/chunk_demuxer.cc b/media/filters/chunk_demuxer.cc index 7e812fc..7d8e94b 100644 --- a/media/filters/chunk_demuxer.cc +++ b/media/filters/chunk_demuxer.cc
@@ -384,7 +384,7 @@ state_ = state; } -ChunkDemuxerStream::~ChunkDemuxerStream() {} +ChunkDemuxerStream::~ChunkDemuxerStream() = default; void ChunkDemuxerStream::CompletePendingReadIfPossible_Locked() { lock_.AssertAcquired();
diff --git a/media/filters/demuxer_perftest.cc b/media/filters/demuxer_perftest.cc index 768e945..d48a2e4 100644 --- a/media/filters/demuxer_perftest.cc +++ b/media/filters/demuxer_perftest.cc
@@ -32,8 +32,8 @@ class DemuxerHostImpl : public media::DemuxerHost { public: - DemuxerHostImpl() {} - ~DemuxerHostImpl() override {} + DemuxerHostImpl() = default; + ~DemuxerHostImpl() override = default; // DemuxerHost implementation. void OnBufferedTimeRangesChanged( @@ -112,7 +112,7 @@ } } -StreamReader::~StreamReader() {} +StreamReader::~StreamReader() = default; void StreamReader::Read() { int index = GetNextStreamIndexToRead();
diff --git a/media/filters/ffmpeg_aac_bitstream_converter.cc b/media/filters/ffmpeg_aac_bitstream_converter.cc index e8cc90fb..6f231c8 100644 --- a/media/filters/ffmpeg_aac_bitstream_converter.cc +++ b/media/filters/ffmpeg_aac_bitstream_converter.cc
@@ -168,8 +168,7 @@ CHECK(stream_codec_parameters_); } -FFmpegAACBitstreamConverter::~FFmpegAACBitstreamConverter() { -} +FFmpegAACBitstreamConverter::~FFmpegAACBitstreamConverter() = default; bool FFmpegAACBitstreamConverter::ConvertPacket(AVPacket* packet) { if (packet == NULL || !packet->data) {
diff --git a/media/filters/ffmpeg_demuxer_unittest.cc b/media/filters/ffmpeg_demuxer_unittest.cc index 455b8e8d..8b78482 100644 --- a/media/filters/ffmpeg_demuxer_unittest.cc +++ b/media/filters/ffmpeg_demuxer_unittest.cc
@@ -140,7 +140,7 @@ // FFmpeg, pipeline and filter host mocks. class FFmpegDemuxerTest : public testing::Test { protected: - FFmpegDemuxerTest() {} + FFmpegDemuxerTest() = default; virtual ~FFmpegDemuxerTest() { Shutdown(); }
diff --git a/media/filters/ffmpeg_glue_unittest.cc b/media/filters/ffmpeg_glue_unittest.cc index 11f56f1..20c670dd 100644 --- a/media/filters/ffmpeg_glue_unittest.cc +++ b/media/filters/ffmpeg_glue_unittest.cc
@@ -30,7 +30,7 @@ class MockProtocol : public FFmpegURLProtocol { public: - MockProtocol() {} + MockProtocol() = default; MOCK_METHOD2(Read, int(int size, uint8_t* data)); MOCK_METHOD1(GetPosition, bool(int64_t* position_out)); @@ -81,7 +81,7 @@ class FFmpegGlueDestructionTest : public ::testing::Test { public: - FFmpegGlueDestructionTest() {} + FFmpegGlueDestructionTest() = default; void Initialize(const char* filename) { data_ = ReadTestDataFile(filename); @@ -119,8 +119,8 @@ // for supported containers. class FFmpegGlueContainerTest : public FFmpegGlueDestructionTest { public: - FFmpegGlueContainerTest() {} - ~FFmpegGlueContainerTest() override {} + FFmpegGlueContainerTest() = default; + ~FFmpegGlueContainerTest() override = default; protected: void InitializeAndOpen(const char* filename) {
diff --git a/media/filters/ffmpeg_h264_to_annex_b_bitstream_converter.cc b/media/filters/ffmpeg_h264_to_annex_b_bitstream_converter.cc index a3eb5bcc..a8d56d2 100644 --- a/media/filters/ffmpeg_h264_to_annex_b_bitstream_converter.cc +++ b/media/filters/ffmpeg_h264_to_annex_b_bitstream_converter.cc
@@ -19,7 +19,8 @@ CHECK(stream_codec_parameters_); } -FFmpegH264ToAnnexBBitstreamConverter::~FFmpegH264ToAnnexBBitstreamConverter() {} +FFmpegH264ToAnnexBBitstreamConverter::~FFmpegH264ToAnnexBBitstreamConverter() = + default; bool FFmpegH264ToAnnexBBitstreamConverter::ConvertPacket(AVPacket* packet) { std::unique_ptr<mp4::AVCDecoderConfigurationRecord> avc_config;
diff --git a/media/filters/file_data_source.cc b/media/filters/file_data_source.cc index c90082d..6249bde 100644 --- a/media/filters/file_data_source.cc +++ b/media/filters/file_data_source.cc
@@ -69,6 +69,6 @@ void FileDataSource::SetBitrate(int bitrate) {} -FileDataSource::~FileDataSource() {} +FileDataSource::~FileDataSource() = default; } // namespace media
diff --git a/media/filters/file_data_source_unittest.cc b/media/filters/file_data_source_unittest.cc index 08ff943d..ee107a1 100644 --- a/media/filters/file_data_source_unittest.cc +++ b/media/filters/file_data_source_unittest.cc
@@ -22,7 +22,7 @@ class ReadCBHandler { public: - ReadCBHandler() {} + ReadCBHandler() = default; MOCK_METHOD1(ReadCB, void(int size));
diff --git a/media/filters/frame_processor_unittest.cc b/media/filters/frame_processor_unittest.cc index 98eab02..cce81136 100644 --- a/media/filters/frame_processor_unittest.cc +++ b/media/filters/frame_processor_unittest.cc
@@ -65,8 +65,8 @@ // test for missing or extra callbacks. class FrameProcessorTestCallbackHelper { public: - FrameProcessorTestCallbackHelper() {} - virtual ~FrameProcessorTestCallbackHelper() {} + FrameProcessorTestCallbackHelper() = default; + virtual ~FrameProcessorTestCallbackHelper() = default; MOCK_METHOD1(OnParseWarning, void(const SourceBufferParseWarning)); MOCK_METHOD1(PossibleDurationIncrease, void(base::TimeDelta new_duration));
diff --git a/media/filters/gpu_video_decoder.cc b/media/filters/gpu_video_decoder.cc index 8b1d8cf..53bc1bf 100644 --- a/media/filters/gpu_video_decoder.cc +++ b/media/filters/gpu_video_decoder.cc
@@ -68,7 +68,7 @@ visible_rect(vr), natural_size(ns) {} -GpuVideoDecoder::BufferData::~BufferData() {} +GpuVideoDecoder::BufferData::~BufferData() = default; GpuVideoDecoder::GpuVideoDecoder( GpuVideoAcceleratorFactories* factories,
diff --git a/media/filters/h264_to_annex_b_bitstream_converter.cc b/media/filters/h264_to_annex_b_bitstream_converter.cc index 35de6945..1397c3bf 100644 --- a/media/filters/h264_to_annex_b_bitstream_converter.cc +++ b/media/filters/h264_to_annex_b_bitstream_converter.cc
@@ -36,7 +36,7 @@ nal_unit_length_field_width_(0) { } -H264ToAnnexBBitstreamConverter::~H264ToAnnexBBitstreamConverter() {} +H264ToAnnexBBitstreamConverter::~H264ToAnnexBBitstreamConverter() = default; bool H264ToAnnexBBitstreamConverter::ParseConfiguration( const uint8_t* configuration_record,
diff --git a/media/filters/h264_to_annex_b_bitstream_converter_unittest.cc b/media/filters/h264_to_annex_b_bitstream_converter_unittest.cc index 044cc85..654d5b3 100644 --- a/media/filters/h264_to_annex_b_bitstream_converter_unittest.cc +++ b/media/filters/h264_to_annex_b_bitstream_converter_unittest.cc
@@ -16,9 +16,9 @@ class H264ToAnnexBBitstreamConverterTest : public testing::Test { protected: - H264ToAnnexBBitstreamConverterTest() {} + H264ToAnnexBBitstreamConverterTest() = default; - ~H264ToAnnexBBitstreamConverterTest() override {} + ~H264ToAnnexBBitstreamConverterTest() override = default; protected: mp4::AVCDecoderConfigurationRecord avc_config_;
diff --git a/media/filters/in_memory_url_protocol.cc b/media/filters/in_memory_url_protocol.cc index 8c1883a..4a484f1b 100644 --- a/media/filters/in_memory_url_protocol.cc +++ b/media/filters/in_memory_url_protocol.cc
@@ -16,7 +16,7 @@ position_(0), streaming_(streaming) {} -InMemoryUrlProtocol::~InMemoryUrlProtocol() {} +InMemoryUrlProtocol::~InMemoryUrlProtocol() = default; int InMemoryUrlProtocol::Read(int size, uint8_t* data) { if (size < 0)
diff --git a/media/filters/media_file_checker.cc b/media/filters/media_file_checker.cc index 1919c53..588987d 100644 --- a/media/filters/media_file_checker.cc +++ b/media/filters/media_file_checker.cc
@@ -38,7 +38,7 @@ MediaFileChecker::MediaFileChecker(base::File file) : file_(std::move(file)) {} -MediaFileChecker::~MediaFileChecker() {} +MediaFileChecker::~MediaFileChecker() = default; bool MediaFileChecker::Start(base::TimeDelta check_time) { media::FileDataSource source(std::move(file_));
diff --git a/media/filters/memory_data_source.cc b/media/filters/memory_data_source.cc index 7031e42d..b1b96f9 100644 --- a/media/filters/memory_data_source.cc +++ b/media/filters/memory_data_source.cc
@@ -13,7 +13,7 @@ MemoryDataSource::MemoryDataSource(const uint8_t* data, size_t size) : data_(data), size_(size) {} -MemoryDataSource::~MemoryDataSource() {} +MemoryDataSource::~MemoryDataSource() = default; void MemoryDataSource::Read(int64_t position, int size,
diff --git a/media/filters/memory_data_source_unittest.cc b/media/filters/memory_data_source_unittest.cc index f5494eeb..b95118c 100644 --- a/media/filters/memory_data_source_unittest.cc +++ b/media/filters/memory_data_source_unittest.cc
@@ -16,7 +16,7 @@ class MemoryDataSourceTest : public ::testing::Test { public: - MemoryDataSourceTest() {} + MemoryDataSourceTest() = default; protected: void Initialize(size_t size) {
diff --git a/media/filters/pipeline_controller_unittest.cc b/media/filters/pipeline_controller_unittest.cc index 4f1c3204..90ef4a03 100644 --- a/media/filters/pipeline_controller_unittest.cc +++ b/media/filters/pipeline_controller_unittest.cc
@@ -47,7 +47,7 @@ base::Bind(&PipelineControllerTest::OnError, base::Unretained(this))) {} - ~PipelineControllerTest() override {} + ~PipelineControllerTest() override = default; PipelineStatusCB StartPipeline(bool is_streaming, bool is_static) { EXPECT_FALSE(pipeline_controller_.IsStable());
diff --git a/media/filters/source_buffer_range.cc b/media/filters/source_buffer_range.cc index 925d48b6..6890259 100644 --- a/media/filters/source_buffer_range.cc +++ b/media/filters/source_buffer_range.cc
@@ -25,7 +25,7 @@ DCHECK(!interbuffer_distance_cb.is_null()); } -SourceBufferRange::~SourceBufferRange() {} +SourceBufferRange::~SourceBufferRange() = default; void SourceBufferRange::SeekToStart() { CHECK(!buffers_.empty());
diff --git a/media/filters/source_buffer_range_by_dts.cc b/media/filters/source_buffer_range_by_dts.cc index a043b29..95e81f4 100644 --- a/media/filters/source_buffer_range_by_dts.cc +++ b/media/filters/source_buffer_range_by_dts.cc
@@ -37,7 +37,7 @@ AppendBuffersToEnd(new_buffers, range_start_decode_time_); } -SourceBufferRangeByDts::~SourceBufferRangeByDts() {} +SourceBufferRangeByDts::~SourceBufferRangeByDts() = default; void SourceBufferRangeByDts::AppendRangeToEnd( const SourceBufferRangeByDts& range,
diff --git a/media/filters/source_buffer_range_by_pts.cc b/media/filters/source_buffer_range_by_pts.cc index 61b410f..ab854d9 100644 --- a/media/filters/source_buffer_range_by_pts.cc +++ b/media/filters/source_buffer_range_by_pts.cc
@@ -28,7 +28,7 @@ AppendBuffersToEnd(new_buffers, range_start_pts_); } -SourceBufferRangeByPts::~SourceBufferRangeByPts() {} +SourceBufferRangeByPts::~SourceBufferRangeByPts() = default; void SourceBufferRangeByPts::DeleteAll(BufferQueue* deleted_buffers) { DVLOG(1) << __func__;
diff --git a/media/filters/source_buffer_stream.cc b/media/filters/source_buffer_stream.cc index 9e99312..5d50b25 100644 --- a/media/filters/source_buffer_stream.cc +++ b/media/filters/source_buffer_stream.cc
@@ -231,7 +231,7 @@ memory_limit_(kDemuxerStreamAudioMemoryLimit) {} template <typename RangeClass> -SourceBufferStream<RangeClass>::~SourceBufferStream() {} +SourceBufferStream<RangeClass>::~SourceBufferStream() = default; template <> void SourceBufferStream<SourceBufferRangeByDts>::OnStartOfCodedFrameGroup(
diff --git a/media/filters/video_cadence_estimator.cc b/media/filters/video_cadence_estimator.cc index ee8916e..550db73 100644 --- a/media/filters/video_cadence_estimator.cc +++ b/media/filters/video_cadence_estimator.cc
@@ -80,8 +80,7 @@ Reset(); } -VideoCadenceEstimator::~VideoCadenceEstimator() { -} +VideoCadenceEstimator::~VideoCadenceEstimator() = default; void VideoCadenceEstimator::Reset() { cadence_.clear();
diff --git a/media/filters/video_renderer_algorithm.cc b/media/filters/video_renderer_algorithm.cc index 976151f..635292f 100644 --- a/media/filters/video_renderer_algorithm.cc +++ b/media/filters/video_renderer_algorithm.cc
@@ -25,8 +25,7 @@ VideoRendererAlgorithm::ReadyFrame::ReadyFrame(const ReadyFrame& other) = default; -VideoRendererAlgorithm::ReadyFrame::~ReadyFrame() { -} +VideoRendererAlgorithm::ReadyFrame::~ReadyFrame() = default; bool VideoRendererAlgorithm::ReadyFrame::operator<( const ReadyFrame& other) const { @@ -46,7 +45,7 @@ Reset(); } -VideoRendererAlgorithm::~VideoRendererAlgorithm() {} +VideoRendererAlgorithm::~VideoRendererAlgorithm() = default; scoped_refptr<VideoFrame> VideoRendererAlgorithm::Render( base::TimeTicks deadline_min,
diff --git a/media/filters/video_renderer_algorithm_unittest.cc b/media/filters/video_renderer_algorithm_unittest.cc index de025f7..ea84d52 100644 --- a/media/filters/video_renderer_algorithm_unittest.cc +++ b/media/filters/video_renderer_algorithm_unittest.cc
@@ -80,7 +80,7 @@ tick_clock_->Advance(base::TimeDelta::FromMicroseconds(10000)); time_source_.set_tick_clock_for_testing(tick_clock_.get()); } - ~VideoRendererAlgorithmTest() override {} + ~VideoRendererAlgorithmTest() override = default; scoped_refptr<VideoFrame> CreateFrame(base::TimeDelta timestamp) { const gfx::Size natural_size(8, 8);
diff --git a/media/filters/vp8_bool_decoder_unittest.cc b/media/filters/vp8_bool_decoder_unittest.cc index cb8d711..f1f020b0 100644 --- a/media/filters/vp8_bool_decoder_unittest.cc +++ b/media/filters/vp8_bool_decoder_unittest.cc
@@ -37,7 +37,7 @@ class Vp8BoolDecoderTest : public ::testing::Test { public: - Vp8BoolDecoderTest() {} + Vp8BoolDecoderTest() = default; protected: // Fixture member, the bool decoder to be tested.
diff --git a/media/filters/vp8_parser.cc b/media/filters/vp8_parser.cc index 54b0c429..ea355bb 100644 --- a/media/filters/vp8_parser.cc +++ b/media/filters/vp8_parser.cc
@@ -51,8 +51,7 @@ Vp8Parser::Vp8Parser() : stream_(nullptr), bytes_left_(0) { } -Vp8Parser::~Vp8Parser() { -} +Vp8Parser::~Vp8Parser() = default; bool Vp8Parser::ParseFrame(const uint8_t* ptr, size_t frame_size,
diff --git a/media/filters/vp9_bool_decoder.cc b/media/filters/vp9_bool_decoder.cc index e8d50b1..7700b98 100644 --- a/media/filters/vp9_bool_decoder.cc +++ b/media/filters/vp9_bool_decoder.cc
@@ -35,9 +35,9 @@ }; } // namespace -Vp9BoolDecoder::Vp9BoolDecoder() {} +Vp9BoolDecoder::Vp9BoolDecoder() = default; -Vp9BoolDecoder::~Vp9BoolDecoder() {} +Vp9BoolDecoder::~Vp9BoolDecoder() = default; // 9.2.1 Initialization process for Boolean decoder bool Vp9BoolDecoder::Initialize(const uint8_t* data, size_t size) {
diff --git a/media/filters/vp9_compressed_header_parser.cc b/media/filters/vp9_compressed_header_parser.cc index 6178108..3fc72fd 100644 --- a/media/filters/vp9_compressed_header_parser.cc +++ b/media/filters/vp9_compressed_header_parser.cc
@@ -59,7 +59,7 @@ } // namespace -Vp9CompressedHeaderParser::Vp9CompressedHeaderParser() {} +Vp9CompressedHeaderParser::Vp9CompressedHeaderParser() = default; // 6.3.1 Tx mode syntax void Vp9CompressedHeaderParser::ReadTxMode(Vp9FrameHeader* fhdr) {
diff --git a/media/filters/vp9_parser.cc b/media/filters/vp9_parser.cc index 3bf7548..07f3041 100644 --- a/media/filters/vp9_parser.cc +++ b/media/filters/vp9_parser.cc
@@ -235,7 +235,7 @@ Vp9Parser::Context::Vp9FrameContextManager::Vp9FrameContextManager() : weak_ptr_factory_(this) {} -Vp9Parser::Context::Vp9FrameContextManager::~Vp9FrameContextManager() {} +Vp9Parser::Context::Vp9FrameContextManager::~Vp9FrameContextManager() = default; const Vp9FrameContext& Vp9Parser::Context::Vp9FrameContextManager::frame_context() const { @@ -333,7 +333,7 @@ Reset(); } -Vp9Parser::~Vp9Parser() {} +Vp9Parser::~Vp9Parser() = default; void Vp9Parser::SetStream(const uint8_t* stream, off_t stream_size) { DCHECK(stream);
diff --git a/media/filters/vp9_raw_bits_reader.cc b/media/filters/vp9_raw_bits_reader.cc index da9e5be4..1fc8f77 100644 --- a/media/filters/vp9_raw_bits_reader.cc +++ b/media/filters/vp9_raw_bits_reader.cc
@@ -13,7 +13,7 @@ Vp9RawBitsReader::Vp9RawBitsReader() : valid_(true) {} -Vp9RawBitsReader::~Vp9RawBitsReader() {} +Vp9RawBitsReader::~Vp9RawBitsReader() = default; void Vp9RawBitsReader::Initialize(const uint8_t* data, size_t size) { DCHECK(data);
diff --git a/media/formats/common/offset_byte_queue.cc b/media/formats/common/offset_byte_queue.cc index 032ac1f2..b355e1a 100644 --- a/media/formats/common/offset_byte_queue.cc +++ b/media/formats/common/offset_byte_queue.cc
@@ -9,7 +9,7 @@ namespace media { OffsetByteQueue::OffsetByteQueue() : buf_(NULL), size_(0), head_(0) {} -OffsetByteQueue::~OffsetByteQueue() {} +OffsetByteQueue::~OffsetByteQueue() = default; void OffsetByteQueue::Reset() { queue_.Reset();
diff --git a/media/formats/common/stream_parser_test_base.cc b/media/formats/common/stream_parser_test_base.cc index 026c6b9..4266592 100644 --- a/media/formats/common/stream_parser_test_base.cc +++ b/media/formats/common/stream_parser_test_base.cc
@@ -47,7 +47,7 @@ &media_log_); } -StreamParserTestBase::~StreamParserTestBase() {} +StreamParserTestBase::~StreamParserTestBase() = default; std::string StreamParserTestBase::ParseFile(const std::string& filename, int append_bytes) {
diff --git a/media/formats/mp4/aac.cc b/media/formats/mp4/aac.cc index 9ab7cbb..6590e48 100644 --- a/media/formats/mp4/aac.cc +++ b/media/formats/mp4/aac.cc
@@ -24,8 +24,7 @@ AAC::AAC(const AAC& other) = default; -AAC::~AAC() { -} +AAC::~AAC() = default; bool AAC::Parse(const std::vector<uint8_t>& data, MediaLog* media_log) { #if defined(OS_ANDROID)
diff --git a/media/formats/mp4/aac_unittest.cc b/media/formats/mp4/aac_unittest.cc index dcf1e42..e328dc0 100644 --- a/media/formats/mp4/aac_unittest.cc +++ b/media/formats/mp4/aac_unittest.cc
@@ -49,7 +49,7 @@ class AACTest : public testing::Test { public: - AACTest() {} + AACTest() = default; bool Parse(const std::vector<uint8_t>& data) { return aac_.Parse(data, &media_log_);
diff --git a/media/formats/mp4/avc.cc b/media/formats/mp4/avc.cc index 1e18a5e..e9cb86c6 100644 --- a/media/formats/mp4/avc.cc +++ b/media/formats/mp4/avc.cc
@@ -319,8 +319,7 @@ #endif // BUILDFLAG(ENABLE_DOLBY_VISION_DEMUXING) } -AVCBitstreamConverter::~AVCBitstreamConverter() { -} +AVCBitstreamConverter::~AVCBitstreamConverter() = default; bool AVCBitstreamConverter::ConvertFrame( std::vector<uint8_t>* frame_buf,
diff --git a/media/formats/mp4/bitstream_converter.cc b/media/formats/mp4/bitstream_converter.cc index fc972cb..e6cd01a 100644 --- a/media/formats/mp4/bitstream_converter.cc +++ b/media/formats/mp4/bitstream_converter.cc
@@ -7,8 +7,7 @@ namespace media { namespace mp4 { -BitstreamConverter::~BitstreamConverter() { -} +BitstreamConverter::~BitstreamConverter() = default; } // namespace mp4 } // namespace media
diff --git a/media/formats/mp4/box_definitions.cc b/media/formats/mp4/box_definitions.cc index fab76e4..ea6926ca 100644 --- a/media/formats/mp4/box_definitions.cc +++ b/media/formats/mp4/box_definitions.cc
@@ -39,9 +39,9 @@ } // namespace -FileType::FileType() {} +FileType::FileType() = default; FileType::FileType(const FileType& other) = default; -FileType::~FileType() {} +FileType::~FileType() = default; FourCC FileType::BoxType() const { return FOURCC_FTYP; } bool FileType::Parse(BoxReader* reader) { @@ -50,10 +50,10 @@ return reader->SkipBytes(sizeof(FourCC) * num_brands); // compatible_brands } -ProtectionSystemSpecificHeader::ProtectionSystemSpecificHeader() {} +ProtectionSystemSpecificHeader::ProtectionSystemSpecificHeader() = default; ProtectionSystemSpecificHeader::ProtectionSystemSpecificHeader( const ProtectionSystemSpecificHeader& other) = default; -ProtectionSystemSpecificHeader::~ProtectionSystemSpecificHeader() {} +ProtectionSystemSpecificHeader::~ProtectionSystemSpecificHeader() = default; FourCC ProtectionSystemSpecificHeader::BoxType() const { return FOURCC_PSSH; } bool ProtectionSystemSpecificHeader::Parse(BoxReader* reader) { @@ -64,10 +64,12 @@ return true; } -FullProtectionSystemSpecificHeader::FullProtectionSystemSpecificHeader() {} +FullProtectionSystemSpecificHeader::FullProtectionSystemSpecificHeader() = + default; FullProtectionSystemSpecificHeader::FullProtectionSystemSpecificHeader( const FullProtectionSystemSpecificHeader& other) = default; -FullProtectionSystemSpecificHeader::~FullProtectionSystemSpecificHeader() {} +FullProtectionSystemSpecificHeader::~FullProtectionSystemSpecificHeader() = + default; FourCC FullProtectionSystemSpecificHeader::BoxType() const { return FOURCC_PSSH; } @@ -118,10 +120,10 @@ return true; } -SampleAuxiliaryInformationOffset::SampleAuxiliaryInformationOffset() {} +SampleAuxiliaryInformationOffset::SampleAuxiliaryInformationOffset() = default; SampleAuxiliaryInformationOffset::SampleAuxiliaryInformationOffset( const SampleAuxiliaryInformationOffset& other) = default; -SampleAuxiliaryInformationOffset::~SampleAuxiliaryInformationOffset() {} +SampleAuxiliaryInformationOffset::~SampleAuxiliaryInformationOffset() = default; FourCC SampleAuxiliaryInformationOffset::BoxType() const { return FOURCC_SAIO; } bool SampleAuxiliaryInformationOffset::Parse(BoxReader* reader) { @@ -158,7 +160,7 @@ } SampleAuxiliaryInformationSize::SampleAuxiliaryInformationSize( const SampleAuxiliaryInformationSize& other) = default; -SampleAuxiliaryInformationSize::~SampleAuxiliaryInformationSize() {} +SampleAuxiliaryInformationSize::~SampleAuxiliaryInformationSize() = default; FourCC SampleAuxiliaryInformationSize::BoxType() const { return FOURCC_SAIZ; } bool SampleAuxiliaryInformationSize::Parse(BoxReader* reader) { @@ -173,10 +175,10 @@ return true; } -SampleEncryptionEntry::SampleEncryptionEntry() {} +SampleEncryptionEntry::SampleEncryptionEntry() = default; SampleEncryptionEntry::SampleEncryptionEntry( const SampleEncryptionEntry& other) = default; -SampleEncryptionEntry::~SampleEncryptionEntry() {} +SampleEncryptionEntry::~SampleEncryptionEntry() = default; bool SampleEncryptionEntry::Parse(BufferReader* reader, uint8_t iv_size, @@ -225,7 +227,7 @@ SampleEncryption::SampleEncryption() : use_subsample_encryption(false) {} SampleEncryption::SampleEncryption(const SampleEncryption& other) = default; -SampleEncryption::~SampleEncryption() {} +SampleEncryption::~SampleEncryption() = default; FourCC SampleEncryption::BoxType() const { return FOURCC_SENC; } @@ -240,7 +242,7 @@ OriginalFormat::OriginalFormat() : format(FOURCC_NULL) {} OriginalFormat::OriginalFormat(const OriginalFormat& other) = default; -OriginalFormat::~OriginalFormat() {} +OriginalFormat::~OriginalFormat() = default; FourCC OriginalFormat::BoxType() const { return FOURCC_FRMA; } bool OriginalFormat::Parse(BoxReader* reader) { @@ -249,7 +251,7 @@ SchemeType::SchemeType() : type(FOURCC_NULL), version(0) {} SchemeType::SchemeType(const SchemeType& other) = default; -SchemeType::~SchemeType() {} +SchemeType::~SchemeType() = default; FourCC SchemeType::BoxType() const { return FOURCC_SCHM; } bool SchemeType::Parse(BoxReader* reader) { @@ -271,7 +273,7 @@ { } TrackEncryption::TrackEncryption(const TrackEncryption& other) = default; -TrackEncryption::~TrackEncryption() {} +TrackEncryption::~TrackEncryption() = default; FourCC TrackEncryption::BoxType() const { return FOURCC_TENC; } bool TrackEncryption::Parse(BoxReader* reader) { @@ -307,19 +309,19 @@ return true; } -SchemeInfo::SchemeInfo() {} +SchemeInfo::SchemeInfo() = default; SchemeInfo::SchemeInfo(const SchemeInfo& other) = default; -SchemeInfo::~SchemeInfo() {} +SchemeInfo::~SchemeInfo() = default; FourCC SchemeInfo::BoxType() const { return FOURCC_SCHI; } bool SchemeInfo::Parse(BoxReader* reader) { return reader->ScanChildren() && reader->ReadChild(&track_encryption); } -ProtectionSchemeInfo::ProtectionSchemeInfo() {} +ProtectionSchemeInfo::ProtectionSchemeInfo() = default; ProtectionSchemeInfo::ProtectionSchemeInfo(const ProtectionSchemeInfo& other) = default; -ProtectionSchemeInfo::~ProtectionSchemeInfo() {} +ProtectionSchemeInfo::~ProtectionSchemeInfo() = default; FourCC ProtectionSchemeInfo::BoxType() const { return FOURCC_SINF; } bool ProtectionSchemeInfo::Parse(BoxReader* reader) { @@ -356,7 +358,7 @@ volume(-1), next_track_id(0) {} MovieHeader::MovieHeader(const MovieHeader& other) = default; -MovieHeader::~MovieHeader() {} +MovieHeader::~MovieHeader() = default; FourCC MovieHeader::BoxType() const { return FOURCC_MVHD; } bool MovieHeader::Parse(BoxReader* reader) { @@ -398,7 +400,7 @@ width(0), height(0) {} TrackHeader::TrackHeader(const TrackHeader& other) = default; -TrackHeader::~TrackHeader() {} +TrackHeader::~TrackHeader() = default; FourCC TrackHeader::BoxType() const { return FOURCC_TKHD; } bool TrackHeader::Parse(BoxReader* reader) { @@ -441,7 +443,7 @@ SampleDescription::SampleDescription() : type(kInvalid) {} SampleDescription::SampleDescription(const SampleDescription& other) = default; -SampleDescription::~SampleDescription() {} +SampleDescription::~SampleDescription() = default; FourCC SampleDescription::BoxType() const { return FOURCC_STSD; } bool SampleDescription::Parse(BoxReader* reader) { @@ -461,10 +463,10 @@ return true; } -SampleTable::SampleTable() {} +SampleTable::SampleTable() = default; SampleTable::SampleTable(const SampleTable& other) = default; -SampleTable::~SampleTable() {} +SampleTable::~SampleTable() = default; FourCC SampleTable::BoxType() const { return FOURCC_STBL; } bool SampleTable::Parse(BoxReader* reader) { @@ -483,9 +485,9 @@ return true; } -EditList::EditList() {} +EditList::EditList() = default; EditList::EditList(const EditList& other) = default; -EditList::~EditList() {} +EditList::~EditList() = default; FourCC EditList::BoxType() const { return FOURCC_ELST; } bool EditList::Parse(BoxReader* reader) { @@ -519,9 +521,9 @@ return true; } -Edit::Edit() {} +Edit::Edit() = default; Edit::Edit(const Edit& other) = default; -Edit::~Edit() {} +Edit::~Edit() = default; FourCC Edit::BoxType() const { return FOURCC_EDTS; } bool Edit::Parse(BoxReader* reader) { @@ -530,7 +532,7 @@ HandlerReference::HandlerReference() : type(kInvalid) {} HandlerReference::HandlerReference(const HandlerReference& other) = default; -HandlerReference::~HandlerReference() {} +HandlerReference::~HandlerReference() = default; FourCC HandlerReference::BoxType() const { return FOURCC_HDLR; } bool HandlerReference::Parse(BoxReader* reader) { @@ -583,7 +585,7 @@ length_size(0) {} AVCDecoderConfigurationRecord::AVCDecoderConfigurationRecord( const AVCDecoderConfigurationRecord& other) = default; -AVCDecoderConfigurationRecord::~AVCDecoderConfigurationRecord() {} +AVCDecoderConfigurationRecord::~AVCDecoderConfigurationRecord() = default; FourCC AVCDecoderConfigurationRecord::BoxType() const { return FOURCC_AVCC; } bool AVCDecoderConfigurationRecord::Parse(BoxReader* reader) { @@ -641,7 +643,7 @@ VPCodecConfigurationRecord::VPCodecConfigurationRecord( const VPCodecConfigurationRecord& other) = default; -VPCodecConfigurationRecord::~VPCodecConfigurationRecord() {} +VPCodecConfigurationRecord::~VPCodecConfigurationRecord() = default; FourCC VPCodecConfigurationRecord::BoxType() const { return FOURCC_VPCC; @@ -677,7 +679,7 @@ PixelAspectRatioBox::PixelAspectRatioBox() : h_spacing(1), v_spacing(1) {} PixelAspectRatioBox::PixelAspectRatioBox(const PixelAspectRatioBox& other) = default; -PixelAspectRatioBox::~PixelAspectRatioBox() {} +PixelAspectRatioBox::~PixelAspectRatioBox() = default; FourCC PixelAspectRatioBox::BoxType() const { return FOURCC_PASP; } bool PixelAspectRatioBox::Parse(BoxReader* reader) { @@ -696,7 +698,7 @@ VideoSampleEntry::VideoSampleEntry(const VideoSampleEntry& other) = default; -VideoSampleEntry::~VideoSampleEntry() {} +VideoSampleEntry::~VideoSampleEntry() = default; FourCC VideoSampleEntry::BoxType() const { DCHECK(false) << "VideoSampleEntry should be parsed according to the " << "handler type recovered in its Media ancestor."; @@ -884,7 +886,7 @@ ElementaryStreamDescriptor::ElementaryStreamDescriptor( const ElementaryStreamDescriptor& other) = default; -ElementaryStreamDescriptor::~ElementaryStreamDescriptor() {} +ElementaryStreamDescriptor::~ElementaryStreamDescriptor() = default; FourCC ElementaryStreamDescriptor::BoxType() const { return FOURCC_ESDS; @@ -911,7 +913,7 @@ FlacSpecificBox::FlacSpecificBox(const FlacSpecificBox& other) = default; -FlacSpecificBox::~FlacSpecificBox() {} +FlacSpecificBox::~FlacSpecificBox() = default; FourCC FlacSpecificBox::BoxType() const { return FOURCC_DFLA; @@ -982,7 +984,7 @@ AudioSampleEntry::AudioSampleEntry(const AudioSampleEntry& other) = default; -AudioSampleEntry::~AudioSampleEntry() {} +AudioSampleEntry::~AudioSampleEntry() = default; FourCC AudioSampleEntry::BoxType() const { DCHECK(false) << "AudioSampleEntry should be parsed according to the " @@ -1059,7 +1061,7 @@ duration(0), language_code(0) {} MediaHeader::MediaHeader(const MediaHeader& other) = default; -MediaHeader::~MediaHeader() {} +MediaHeader::~MediaHeader() = default; FourCC MediaHeader::BoxType() const { return FOURCC_MDHD; } bool MediaHeader::Parse(BoxReader* reader) { @@ -1109,9 +1111,9 @@ return lang_chars; } -MediaInformation::MediaInformation() {} +MediaInformation::MediaInformation() = default; MediaInformation::MediaInformation(const MediaInformation& other) = default; -MediaInformation::~MediaInformation() {} +MediaInformation::~MediaInformation() = default; FourCC MediaInformation::BoxType() const { return FOURCC_MINF; } bool MediaInformation::Parse(BoxReader* reader) { @@ -1119,9 +1121,9 @@ reader->ReadChild(&sample_table); } -Media::Media() {} +Media::Media() = default; Media::Media(const Media& other) = default; -Media::~Media() {} +Media::~Media() = default; FourCC Media::BoxType() const { return FOURCC_MDIA; } bool Media::Parse(BoxReader* reader) { @@ -1140,9 +1142,9 @@ return true; } -Track::Track() {} +Track::Track() = default; Track::Track(const Track& other) = default; -Track::~Track() {} +Track::~Track() = default; FourCC Track::BoxType() const { return FOURCC_TRAK; } bool Track::Parse(BoxReader* reader) { @@ -1156,7 +1158,7 @@ MovieExtendsHeader::MovieExtendsHeader() : fragment_duration(0) {} MovieExtendsHeader::MovieExtendsHeader(const MovieExtendsHeader& other) = default; -MovieExtendsHeader::~MovieExtendsHeader() {} +MovieExtendsHeader::~MovieExtendsHeader() = default; FourCC MovieExtendsHeader::BoxType() const { return FOURCC_MEHD; } bool MovieExtendsHeader::Parse(BoxReader* reader) { @@ -1176,7 +1178,7 @@ default_sample_size(0), default_sample_flags(0) {} TrackExtends::TrackExtends(const TrackExtends& other) = default; -TrackExtends::~TrackExtends() {} +TrackExtends::~TrackExtends() = default; FourCC TrackExtends::BoxType() const { return FOURCC_TREX; } bool TrackExtends::Parse(BoxReader* reader) { @@ -1189,9 +1191,9 @@ return true; } -MovieExtends::MovieExtends() {} +MovieExtends::MovieExtends() = default; MovieExtends::MovieExtends(const MovieExtends& other) = default; -MovieExtends::~MovieExtends() {} +MovieExtends::~MovieExtends() = default; FourCC MovieExtends::BoxType() const { return FOURCC_MVEX; } bool MovieExtends::Parse(BoxReader* reader) { @@ -1203,7 +1205,7 @@ Movie::Movie() : fragmented(false) {} Movie::Movie(const Movie& other) = default; -Movie::~Movie() {} +Movie::~Movie() = default; FourCC Movie::BoxType() const { return FOURCC_MOOV; } bool Movie::Parse(BoxReader* reader) { @@ -1221,7 +1223,7 @@ TrackFragmentDecodeTime::TrackFragmentDecodeTime() : decode_time(0) {} TrackFragmentDecodeTime::TrackFragmentDecodeTime( const TrackFragmentDecodeTime& other) = default; -TrackFragmentDecodeTime::~TrackFragmentDecodeTime() {} +TrackFragmentDecodeTime::~TrackFragmentDecodeTime() = default; FourCC TrackFragmentDecodeTime::BoxType() const { return FOURCC_TFDT; } bool TrackFragmentDecodeTime::Parse(BoxReader* reader) { @@ -1235,7 +1237,7 @@ MovieFragmentHeader::MovieFragmentHeader() : sequence_number(0) {} MovieFragmentHeader::MovieFragmentHeader(const MovieFragmentHeader& other) = default; -MovieFragmentHeader::~MovieFragmentHeader() {} +MovieFragmentHeader::~MovieFragmentHeader() = default; FourCC MovieFragmentHeader::BoxType() const { return FOURCC_MFHD; } bool MovieFragmentHeader::Parse(BoxReader* reader) { @@ -1252,7 +1254,7 @@ TrackFragmentHeader::TrackFragmentHeader(const TrackFragmentHeader& other) = default; -TrackFragmentHeader::~TrackFragmentHeader() {} +TrackFragmentHeader::~TrackFragmentHeader() = default; FourCC TrackFragmentHeader::BoxType() const { return FOURCC_TFHD; } bool TrackFragmentHeader::Parse(BoxReader* reader) { @@ -1300,7 +1302,7 @@ TrackFragmentRun::TrackFragmentRun() : sample_count(0), data_offset(0) {} TrackFragmentRun::TrackFragmentRun(const TrackFragmentRun& other) = default; -TrackFragmentRun::~TrackFragmentRun() {} +TrackFragmentRun::~TrackFragmentRun() = default; FourCC TrackFragmentRun::BoxType() const { return FOURCC_TRUN; } bool TrackFragmentRun::Parse(BoxReader* reader) { @@ -1378,7 +1380,7 @@ SampleToGroup::SampleToGroup() : grouping_type(0), grouping_type_parameter(0) {} SampleToGroup::SampleToGroup(const SampleToGroup& other) = default; -SampleToGroup::~SampleToGroup() {} +SampleToGroup::~SampleToGroup() = default; FourCC SampleToGroup::BoxType() const { return FOURCC_SBGP; } bool SampleToGroup::Parse(BoxReader* reader) { @@ -1427,7 +1429,7 @@ } CencSampleEncryptionInfoEntry::CencSampleEncryptionInfoEntry( const CencSampleEncryptionInfoEntry& other) = default; -CencSampleEncryptionInfoEntry::~CencSampleEncryptionInfoEntry() {} +CencSampleEncryptionInfoEntry::~CencSampleEncryptionInfoEntry() = default; bool CencSampleEncryptionInfoEntry::Parse(BoxReader* reader) { uint8_t flag; @@ -1462,7 +1464,7 @@ SampleGroupDescription::SampleGroupDescription() : grouping_type(0) {} SampleGroupDescription::SampleGroupDescription( const SampleGroupDescription& other) = default; -SampleGroupDescription::~SampleGroupDescription() {} +SampleGroupDescription::~SampleGroupDescription() = default; FourCC SampleGroupDescription::BoxType() const { return FOURCC_SGPD; } bool SampleGroupDescription::Parse(BoxReader* reader) { @@ -1513,9 +1515,9 @@ return true; } -TrackFragment::TrackFragment() {} +TrackFragment::TrackFragment() = default; TrackFragment::TrackFragment(const TrackFragment& other) = default; -TrackFragment::~TrackFragment() {} +TrackFragment::~TrackFragment() = default; FourCC TrackFragment::BoxType() const { return FOURCC_TRAF; } bool TrackFragment::Parse(BoxReader* reader) { @@ -1546,9 +1548,9 @@ return true; } -MovieFragment::MovieFragment() {} +MovieFragment::MovieFragment() = default; MovieFragment::MovieFragment(const MovieFragment& other) = default; -MovieFragment::~MovieFragment() {} +MovieFragment::~MovieFragment() = default; FourCC MovieFragment::BoxType() const { return FOURCC_MOOF; } bool MovieFragment::Parse(BoxReader* reader) { @@ -1559,10 +1561,10 @@ return true; } -IndependentAndDisposableSamples::IndependentAndDisposableSamples() {} +IndependentAndDisposableSamples::IndependentAndDisposableSamples() = default; IndependentAndDisposableSamples::IndependentAndDisposableSamples( const IndependentAndDisposableSamples& other) = default; -IndependentAndDisposableSamples::~IndependentAndDisposableSamples() {} +IndependentAndDisposableSamples::~IndependentAndDisposableSamples() = default; FourCC IndependentAndDisposableSamples::BoxType() const { return FOURCC_SDTP; } bool IndependentAndDisposableSamples::Parse(BoxReader* reader) {
diff --git a/media/formats/mp4/box_reader.cc b/media/formats/mp4/box_reader.cc index e281daf..bf7e265 100644 --- a/media/formats/mp4/box_reader.cc +++ b/media/formats/mp4/box_reader.cc
@@ -15,7 +15,7 @@ namespace media { namespace mp4 { -Box::~Box() {} +Box::~Box() = default; bool BufferReader::Read1(uint8_t* v) { RCHECK(HasBytes(1));
diff --git a/media/formats/mp4/box_reader_unittest.cc b/media/formats/mp4/box_reader_unittest.cc index 018f430..948845f 100644 --- a/media/formats/mp4/box_reader_unittest.cc +++ b/media/formats/mp4/box_reader_unittest.cc
@@ -79,12 +79,12 @@ ~SkipBox() override; }; -SkipBox::SkipBox() {} -SkipBox::~SkipBox() {} +SkipBox::SkipBox() = default; +SkipBox::~SkipBox() = default; class BoxReaderTest : public testing::Test { public: - BoxReaderTest() {} + BoxReaderTest() = default; protected: std::vector<uint8_t> GetBuf() {
diff --git a/media/formats/mp4/es_descriptor.cc b/media/formats/mp4/es_descriptor.cc index 9fde9c2..08223d0 100644 --- a/media/formats/mp4/es_descriptor.cc +++ b/media/formats/mp4/es_descriptor.cc
@@ -42,7 +42,7 @@ : object_type_(kForbidden) { } -ESDescriptor::~ESDescriptor() {} +ESDescriptor::~ESDescriptor() = default; bool ESDescriptor::Parse(const std::vector<uint8_t>& data) { BitReader reader(&data[0], data.size());
diff --git a/media/formats/mp4/mp4_box_reader_fuzzer.cc b/media/formats/mp4/mp4_box_reader_fuzzer.cc index 7cafff5d..f8c71b5 100644 --- a/media/formats/mp4/mp4_box_reader_fuzzer.cc +++ b/media/formats/mp4/mp4_box_reader_fuzzer.cc
@@ -14,8 +14,8 @@ class NullMediaLog : public media::MediaLog { public: - NullMediaLog() {} - ~NullMediaLog() override {} + NullMediaLog() = default; + ~NullMediaLog() override = default; void AddEvent(std::unique_ptr<media::MediaLogEvent> event) override {}
diff --git a/media/formats/mp4/mp4_stream_parser.cc b/media/formats/mp4/mp4_stream_parser.cc index 5d8e0ae..d93cebc 100644 --- a/media/formats/mp4/mp4_stream_parser.cc +++ b/media/formats/mp4/mp4_stream_parser.cc
@@ -92,7 +92,7 @@ DCHECK(!has_flac || base::FeatureList::IsEnabled(kMseFlacInIsobmff)); } -MP4StreamParser::~MP4StreamParser() {} +MP4StreamParser::~MP4StreamParser() = default; void MP4StreamParser::Init( const InitCB& init_cb,
diff --git a/media/formats/mp4/sample_to_group_iterator.cc b/media/formats/mp4/sample_to_group_iterator.cc index 01c70729..f5ce394 100644 --- a/media/formats/mp4/sample_to_group_iterator.cc +++ b/media/formats/mp4/sample_to_group_iterator.cc
@@ -23,7 +23,7 @@ } } -SampleToGroupIterator::~SampleToGroupIterator() {} +SampleToGroupIterator::~SampleToGroupIterator() = default; bool SampleToGroupIterator::Advance() { DCHECK(IsValid());
diff --git a/media/formats/mp4/track_run_iterator.cc b/media/formats/mp4/track_run_iterator.cc index 88e59b3..3472487 100644 --- a/media/formats/mp4/track_run_iterator.cc +++ b/media/formats/mp4/track_run_iterator.cc
@@ -68,7 +68,7 @@ aux_info_default_size(-1), aux_info_total_size(-1) { } -TrackRunInfo::~TrackRunInfo() {} +TrackRunInfo::~TrackRunInfo() = default; base::TimeDelta TimeDeltaFromRational(int64_t numer, int64_t denom) { // TODO(sandersd): Change all callers to pass a |denom| as a uint32_t. This is @@ -118,7 +118,7 @@ CHECK(moov); } -TrackRunIterator::~TrackRunIterator() {} +TrackRunIterator::~TrackRunIterator() = default; static std::string HexFlags(uint32_t flags) { std::stringstream stream;
diff --git a/media/formats/mpeg/adts_stream_parser.cc b/media/formats/mpeg/adts_stream_parser.cc index d80a1843..c629ab6 100644 --- a/media/formats/mpeg/adts_stream_parser.cc +++ b/media/formats/mpeg/adts_stream_parser.cc
@@ -18,7 +18,7 @@ ADTSStreamParser::ADTSStreamParser() : MPEGAudioStreamParserBase(kADTSStartCodeMask, kCodecAAC, 0) {} -ADTSStreamParser::~ADTSStreamParser() {} +ADTSStreamParser::~ADTSStreamParser() = default; int ADTSStreamParser::ParseFrameHeader(const uint8_t* data, int size,
diff --git a/media/formats/mpeg/mpeg1_audio_stream_parser.cc b/media/formats/mpeg/mpeg1_audio_stream_parser.cc index 843b3ad..6b83096 100644 --- a/media/formats/mpeg/mpeg1_audio_stream_parser.cc +++ b/media/formats/mpeg/mpeg1_audio_stream_parser.cc
@@ -220,7 +220,7 @@ MPEG1AudioStreamParser::MPEG1AudioStreamParser() : MPEGAudioStreamParserBase(kMPEG1StartCodeMask, kCodecMP3, kCodecDelay) {} -MPEG1AudioStreamParser::~MPEG1AudioStreamParser() {} +MPEG1AudioStreamParser::~MPEG1AudioStreamParser() = default; int MPEG1AudioStreamParser::ParseFrameHeader( const uint8_t* data,
diff --git a/media/formats/mpeg/mpeg_audio_stream_parser_base.cc b/media/formats/mpeg/mpeg_audio_stream_parser_base.cc index 20eacf26..80be6da 100644 --- a/media/formats/mpeg/mpeg_audio_stream_parser_base.cc +++ b/media/formats/mpeg/mpeg_audio_stream_parser_base.cc
@@ -60,7 +60,7 @@ audio_codec_(audio_codec), codec_delay_(codec_delay) {} -MPEGAudioStreamParserBase::~MPEGAudioStreamParserBase() {} +MPEGAudioStreamParserBase::~MPEGAudioStreamParserBase() = default; void MPEGAudioStreamParserBase::Init( const InitCB& init_cb,
diff --git a/media/formats/webm/cluster_builder.cc b/media/formats/webm/cluster_builder.cc index 5ec7a3a..b80be28 100644 --- a/media/formats/webm/cluster_builder.cc +++ b/media/formats/webm/cluster_builder.cc
@@ -64,10 +64,10 @@ Cluster::Cluster(std::unique_ptr<uint8_t[]> data, int size) : data_(std::move(data)), size_(size) {} -Cluster::~Cluster() {} +Cluster::~Cluster() = default; ClusterBuilder::ClusterBuilder() { Reset(); } -ClusterBuilder::~ClusterBuilder() {} +ClusterBuilder::~ClusterBuilder() = default; void ClusterBuilder::SetClusterTimecode(int64_t cluster_timecode) { DCHECK_EQ(cluster_timecode_, -1);
diff --git a/media/formats/webm/opus_packet_builder.cc b/media/formats/webm/opus_packet_builder.cc index aa5fa7ad..90b9f2d 100644 --- a/media/formats/webm/opus_packet_builder.cc +++ b/media/formats/webm/opus_packet_builder.cc
@@ -49,8 +49,7 @@ data_.push_back(static_cast<uint8_t>(0)); } -OpusPacket::~OpusPacket() { -} +OpusPacket::~OpusPacket() = default; const uint8_t* OpusPacket::data() const { return &(data_[0]);
diff --git a/media/formats/webm/tracks_builder.cc b/media/formats/webm/tracks_builder.cc index 458f522..7549e12 100644 --- a/media/formats/webm/tracks_builder.cc +++ b/media/formats/webm/tracks_builder.cc
@@ -152,7 +152,7 @@ : allow_invalid_values_(allow_invalid_values) {} TracksBuilder::TracksBuilder() : allow_invalid_values_(false) {} -TracksBuilder::~TracksBuilder() {} +TracksBuilder::~TracksBuilder() = default; void TracksBuilder::AddVideoTrack(int track_num, uint64_t track_uid,
diff --git a/media/formats/webm/webm_audio_client.cc b/media/formats/webm/webm_audio_client.cc index caec868c..6eff0dd 100644 --- a/media/formats/webm/webm_audio_client.cc +++ b/media/formats/webm/webm_audio_client.cc
@@ -14,8 +14,7 @@ Reset(); } -WebMAudioClient::~WebMAudioClient() { -} +WebMAudioClient::~WebMAudioClient() = default; void WebMAudioClient::Reset() { channels_ = -1;
diff --git a/media/formats/webm/webm_cluster_parser.cc b/media/formats/webm/webm_cluster_parser.cc index b9b3412..583f188 100644 --- a/media/formats/webm/webm_cluster_parser.cc +++ b/media/formats/webm/webm_cluster_parser.cc
@@ -66,7 +66,7 @@ } } -WebMClusterParser::~WebMClusterParser() {} +WebMClusterParser::~WebMClusterParser() = default; void WebMClusterParser::Reset() { last_block_timecode_ = -1; @@ -630,7 +630,7 @@ WebMClusterParser::Track::Track(const Track& other) = default; -WebMClusterParser::Track::~Track() {} +WebMClusterParser::Track::~Track() = default; DecodeTimestamp WebMClusterParser::Track::GetReadyUpperBound() { DCHECK(ready_buffers_.empty());
diff --git a/media/formats/webm/webm_colour_parser.cc b/media/formats/webm/webm_colour_parser.cc index e2f108c..908d31a 100644 --- a/media/formats/webm/webm_colour_parser.cc +++ b/media/formats/webm/webm_colour_parser.cc
@@ -254,11 +254,11 @@ // ---- End copy/paste from libwebm/webm_parser/include/webm/dom_types.h ---- -WebMColorMetadata::WebMColorMetadata() {} +WebMColorMetadata::WebMColorMetadata() = default; WebMColorMetadata::WebMColorMetadata(const WebMColorMetadata& rhs) = default; -WebMMasteringMetadataParser::WebMMasteringMetadataParser() {} -WebMMasteringMetadataParser::~WebMMasteringMetadataParser() {} +WebMMasteringMetadataParser::WebMMasteringMetadataParser() = default; +WebMMasteringMetadataParser::~WebMMasteringMetadataParser() = default; bool WebMMasteringMetadataParser::OnFloat(int id, double val) { switch (id) { @@ -303,7 +303,7 @@ Reset(); } -WebMColourParser::~WebMColourParser() {} +WebMColourParser::~WebMColourParser() = default; void WebMColourParser::Reset() { matrix_coefficients_ = -1;
diff --git a/media/formats/webm/webm_content_encodings.cc b/media/formats/webm/webm_content_encodings.cc index 440dcce..9a03ea1 100644 --- a/media/formats/webm/webm_content_encodings.cc +++ b/media/formats/webm/webm_content_encodings.cc
@@ -15,7 +15,7 @@ cipher_mode_(kCipherModeInvalid) { } -ContentEncoding::~ContentEncoding() {} +ContentEncoding::~ContentEncoding() = default; void ContentEncoding::SetEncryptionKeyId(const uint8_t* encryption_key_id, int size) {
diff --git a/media/formats/webm/webm_content_encodings_client.cc b/media/formats/webm/webm_content_encodings_client.cc index 105a4918..35749ebb4 100644 --- a/media/formats/webm/webm_content_encodings_client.cc +++ b/media/formats/webm/webm_content_encodings_client.cc
@@ -14,8 +14,7 @@ content_encryption_encountered_(false), content_encodings_ready_(false) {} -WebMContentEncodingsClient::~WebMContentEncodingsClient() { -} +WebMContentEncodingsClient::~WebMContentEncodingsClient() = default; const ContentEncodings& WebMContentEncodingsClient::content_encodings() const { DCHECK(content_encodings_ready_);
diff --git a/media/formats/webm/webm_info_parser.cc b/media/formats/webm/webm_info_parser.cc index 1e13ef7..c8d6b7a8b 100644 --- a/media/formats/webm/webm_info_parser.cc +++ b/media/formats/webm/webm_info_parser.cc
@@ -18,7 +18,7 @@ duration_(-1) { } -WebMInfoParser::~WebMInfoParser() {} +WebMInfoParser::~WebMInfoParser() = default; int WebMInfoParser::Parse(const uint8_t* buf, int size) { timecode_scale_ = -1;
diff --git a/media/formats/webm/webm_parser.cc b/media/formats/webm/webm_parser.cc index 8ee800cc..fe6b72f 100644 --- a/media/formats/webm/webm_parser.cc +++ b/media/formats/webm/webm_parser.cc
@@ -697,8 +697,8 @@ return result; } -WebMParserClient::WebMParserClient() {} -WebMParserClient::~WebMParserClient() {} +WebMParserClient::WebMParserClient() = default; +WebMParserClient::~WebMParserClient() = default; WebMParserClient* WebMParserClient::OnListStart(int id) { DVLOG(1) << "Unexpected list element start with ID " << std::hex << id; @@ -739,7 +739,7 @@ DCHECK(client); } -WebMListParser::~WebMListParser() {} +WebMListParser::~WebMListParser() = default; void WebMListParser::Reset() { ChangeState(NEED_LIST_HEADER);
diff --git a/media/formats/webm/webm_parser_unittest.cc b/media/formats/webm/webm_parser_unittest.cc index 6440aee7..b24fb48 100644 --- a/media/formats/webm/webm_parser_unittest.cc +++ b/media/formats/webm/webm_parser_unittest.cc
@@ -27,7 +27,7 @@ class MockWebMParserClient : public WebMParserClient { public: - virtual ~MockWebMParserClient() {} + virtual ~MockWebMParserClient() = default; // WebMParserClient methods. MOCK_METHOD1(OnListStart, WebMParserClient*(int));
diff --git a/media/formats/webm/webm_stream_parser.cc b/media/formats/webm/webm_stream_parser.cc index 99b5321..e398713 100644 --- a/media/formats/webm/webm_stream_parser.cc +++ b/media/formats/webm/webm_stream_parser.cc
@@ -27,8 +27,7 @@ unknown_segment_size_(false) { } -WebMStreamParser::~WebMStreamParser() { -} +WebMStreamParser::~WebMStreamParser() = default; void WebMStreamParser::Init( const InitCB& init_cb,
diff --git a/media/formats/webm/webm_stream_parser_unittest.cc b/media/formats/webm/webm_stream_parser_unittest.cc index b1d3eaa..c009bb08 100644 --- a/media/formats/webm/webm_stream_parser_unittest.cc +++ b/media/formats/webm/webm_stream_parser_unittest.cc
@@ -23,7 +23,7 @@ class WebMStreamParserTest : public testing::Test { public: - WebMStreamParserTest() {} + WebMStreamParserTest() = default; protected: void ParseWebMFile(const std::string& filename,
diff --git a/media/formats/webm/webm_tracks_parser.cc b/media/formats/webm/webm_tracks_parser.cc index d93809aa..2379ac5 100644 --- a/media/formats/webm/webm_tracks_parser.cc +++ b/media/formats/webm/webm_tracks_parser.cc
@@ -53,7 +53,7 @@ Reset(); } -WebMTracksParser::~WebMTracksParser() {} +WebMTracksParser::~WebMTracksParser() = default; void WebMTracksParser::Reset() { ResetTrackEntry();
diff --git a/media/formats/webm/webm_tracks_parser_unittest.cc b/media/formats/webm/webm_tracks_parser_unittest.cc index 9f7ab7fb..2d5c63e7 100644 --- a/media/formats/webm/webm_tracks_parser_unittest.cc +++ b/media/formats/webm/webm_tracks_parser_unittest.cc
@@ -30,7 +30,7 @@ class WebMTracksParserTest : public testing::Test { public: - WebMTracksParserTest() {} + WebMTracksParserTest() = default; protected: void VerifyTextTrackInfo(const uint8_t* buffer,
diff --git a/media/formats/webm/webm_video_client.cc b/media/formats/webm/webm_video_client.cc index 5950f95..bcd420a 100644 --- a/media/formats/webm/webm_video_client.cc +++ b/media/formats/webm/webm_video_client.cc
@@ -33,7 +33,7 @@ Reset(); } -WebMVideoClient::~WebMVideoClient() {} +WebMVideoClient::~WebMVideoClient() = default; void WebMVideoClient::Reset() { pixel_width_ = -1;
diff --git a/media/formats/webm/webm_webvtt_parser_unittest.cc b/media/formats/webm/webm_webvtt_parser_unittest.cc index 5ce3e180..6d1fef7 100644 --- a/media/formats/webm/webm_webvtt_parser_unittest.cc +++ b/media/formats/webm/webm_webvtt_parser_unittest.cc
@@ -32,7 +32,7 @@ class WebMWebVTTParserTest : public testing::Test { public: - WebMWebVTTParserTest() {} + WebMWebVTTParserTest() = default; }; TEST_F(WebMWebVTTParserTest, Blank) {
diff --git a/media/gpu/fake_video_decode_accelerator.cc b/media/gpu/fake_video_decode_accelerator.cc index f4386c6a..39973f7 100644 --- a/media/gpu/fake_video_decode_accelerator.cc +++ b/media/gpu/fake_video_decode_accelerator.cc
@@ -40,7 +40,7 @@ flushing_(false), weak_this_factory_(this) {} -FakeVideoDecodeAccelerator::~FakeVideoDecodeAccelerator() {} +FakeVideoDecodeAccelerator::~FakeVideoDecodeAccelerator() = default; bool FakeVideoDecodeAccelerator::Initialize(const Config& config, Client* client) {
diff --git a/media/gpu/gpu_video_decode_accelerator_factory.cc b/media/gpu/gpu_video_decode_accelerator_factory.cc index 2cee490..378cd052 100644 --- a/media/gpu/gpu_video_decode_accelerator_factory.cc +++ b/media/gpu/gpu_video_decode_accelerator_factory.cc
@@ -277,6 +277,6 @@ get_gles2_decoder_cb_(get_gles2_decoder_cb), overlay_factory_cb_(overlay_factory_cb) {} -GpuVideoDecodeAcceleratorFactory::~GpuVideoDecodeAcceleratorFactory() {} +GpuVideoDecodeAcceleratorFactory::~GpuVideoDecodeAcceleratorFactory() = default; } // namespace media
diff --git a/media/gpu/h264_decoder.cc b/media/gpu/h264_decoder.cc index 9d94e5f..9bd6a688 100644 --- a/media/gpu/h264_decoder.cc +++ b/media/gpu/h264_decoder.cc
@@ -16,9 +16,9 @@ namespace media { -H264Decoder::H264Accelerator::H264Accelerator() {} +H264Decoder::H264Accelerator::H264Accelerator() = default; -H264Decoder::H264Accelerator::~H264Accelerator() {} +H264Decoder::H264Accelerator::~H264Accelerator() = default; H264Decoder::H264Decoder(H264Accelerator* accelerator) : state_(kNeedStreamMetadata), @@ -31,7 +31,7 @@ Reset(); } -H264Decoder::~H264Decoder() {} +H264Decoder::~H264Decoder() = default; void H264Decoder::Reset() { curr_pic_ = nullptr;
diff --git a/media/gpu/h264_decoder_unittest.cc b/media/gpu/h264_decoder_unittest.cc index 3286c757..1d1e31d 100644 --- a/media/gpu/h264_decoder_unittest.cc +++ b/media/gpu/h264_decoder_unittest.cc
@@ -42,7 +42,7 @@ class MockH264Accelerator : public H264Decoder::H264Accelerator { public: - MockH264Accelerator() {} + MockH264Accelerator() = default; MOCK_METHOD0(CreateH264Picture, scoped_refptr<H264Picture>()); MOCK_METHOD1(SubmitDecode, bool(const scoped_refptr<H264Picture>& pic));
diff --git a/media/gpu/h264_dpb.cc b/media/gpu/h264_dpb.cc index 3cc32a62..92c7c1d 100644 --- a/media/gpu/h264_dpb.cc +++ b/media/gpu/h264_dpb.cc
@@ -44,7 +44,7 @@ memset(&ref_pic_marking, 0, sizeof(ref_pic_marking)); } -H264Picture::~H264Picture() {} +H264Picture::~H264Picture() = default; V4L2H264Picture* H264Picture::AsV4L2H264Picture() { return nullptr; @@ -55,7 +55,7 @@ } H264DPB::H264DPB() : max_num_pics_(0) {} -H264DPB::~H264DPB() {} +H264DPB::~H264DPB() = default; void H264DPB::Clear() { pics_.clear();
diff --git a/media/gpu/ipc/common/create_video_encoder_params.cc b/media/gpu/ipc/common/create_video_encoder_params.cc index 11fe006..4de82bf 100644 --- a/media/gpu/ipc/common/create_video_encoder_params.cc +++ b/media/gpu/ipc/common/create_video_encoder_params.cc
@@ -14,6 +14,6 @@ initial_bitrate(0), encoder_route_id(MSG_ROUTING_NONE) {} -CreateVideoEncoderParams::~CreateVideoEncoderParams() {} +CreateVideoEncoderParams::~CreateVideoEncoderParams() = default; } // namespace media
diff --git a/media/gpu/ipc/service/gpu_video_decode_accelerator.cc b/media/gpu/ipc/service/gpu_video_decode_accelerator.cc index 6b65188..515e4c6 100644 --- a/media/gpu/ipc/service/gpu_video_decode_accelerator.cc +++ b/media/gpu/ipc/service/gpu_video_decode_accelerator.cc
@@ -134,7 +134,7 @@ } protected: - ~MessageFilter() override {} + ~MessageFilter() override = default; private: GpuVideoDecodeAccelerator* const owner_;
diff --git a/media/gpu/ipc/service/gpu_video_encode_accelerator.cc b/media/gpu/ipc/service/gpu_video_encode_accelerator.cc index 998d663f..8108649 100644 --- a/media/gpu/ipc/service/gpu_video_encode_accelerator.cc +++ b/media/gpu/ipc/service/gpu_video_encode_accelerator.cc
@@ -78,7 +78,7 @@ } protected: - ~MessageFilter() override {} + ~MessageFilter() override = default; private: GpuVideoEncodeAccelerator* const owner_;
diff --git a/media/gpu/ipc/service/media_gpu_channel.cc b/media/gpu/ipc/service/media_gpu_channel.cc index 7cbbee8..f6023c3 100644 --- a/media/gpu/ipc/service/media_gpu_channel.cc +++ b/media/gpu/ipc/service/media_gpu_channel.cc
@@ -88,7 +88,7 @@ channel_->AddFilter(filter_.get()); } -MediaGpuChannel::~MediaGpuChannel() {} +MediaGpuChannel::~MediaGpuChannel() = default; bool MediaGpuChannel::Send(IPC::Message* msg) { return channel_->Send(msg);
diff --git a/media/gpu/ipc/service/media_gpu_channel_manager.cc b/media/gpu/ipc/service/media_gpu_channel_manager.cc index 0a66567..ee0d616 100644 --- a/media/gpu/ipc/service/media_gpu_channel_manager.cc +++ b/media/gpu/ipc/service/media_gpu_channel_manager.cc
@@ -21,7 +21,7 @@ gpu::GpuChannelManager* channel_manager) : channel_manager_(channel_manager) {} -MediaGpuChannelManager::~MediaGpuChannelManager() {} +MediaGpuChannelManager::~MediaGpuChannelManager() = default; void MediaGpuChannelManager::AddChannel(int32_t client_id) { gpu::GpuChannel* gpu_channel = channel_manager_->LookupChannel(client_id);
diff --git a/media/midi/midi_manager_unittest.cc b/media/midi/midi_manager_unittest.cc index 6280a6f..ee01bcf 100644 --- a/media/midi/midi_manager_unittest.cc +++ b/media/midi/midi_manager_unittest.cc
@@ -33,7 +33,7 @@ : MidiManager(service), start_initialization_is_called_(false), finalize_is_called_(false) {} - ~FakeMidiManager() override {} + ~FakeMidiManager() override = default; // MidiManager implementation. void StartInitialization() override { @@ -94,7 +94,7 @@ public: FakeMidiManagerClient() : result_(Result::NOT_SUPPORTED), wait_for_result_(true) {} - ~FakeMidiManagerClient() override {} + ~FakeMidiManagerClient() override = default; // MidiManagerClient implementation. void AddInputPort(const MidiPortInfo& info) override {}
diff --git a/media/midi/midi_manager_usb_unittest.cc b/media/midi/midi_manager_usb_unittest.cc index ce3dfda..d23434e 100644 --- a/media/midi/midi_manager_usb_unittest.cc +++ b/media/midi/midi_manager_usb_unittest.cc
@@ -33,8 +33,8 @@ class Logger { public: - Logger() {} - ~Logger() {} + Logger() = default; + ~Logger() = default; void AddLog(const std::string& message) { log_ += message; } std::string TakeLog() { @@ -52,7 +52,7 @@ class FakeUsbMidiDevice : public UsbMidiDevice { public: explicit FakeUsbMidiDevice(Logger* logger) : logger_(logger) {} - ~FakeUsbMidiDevice() override {} + ~FakeUsbMidiDevice() override = default; std::vector<uint8_t> GetDescriptors() override { logger_->AddLog("UsbMidiDevice::GetDescriptors\n"); @@ -101,7 +101,7 @@ : complete_start_session_(false), result_(Result::NOT_SUPPORTED), logger_(logger) {} - ~FakeMidiManagerClient() override {} + ~FakeMidiManagerClient() override = default; void AddInputPort(const MidiPortInfo& info) override { input_ports_.push_back(info); @@ -154,8 +154,8 @@ class TestUsbMidiDeviceFactory : public UsbMidiDevice::Factory { public: - TestUsbMidiDeviceFactory() {} - ~TestUsbMidiDeviceFactory() override {} + TestUsbMidiDeviceFactory() = default; + ~TestUsbMidiDeviceFactory() override = default; void EnumerateDevices(UsbMidiDeviceDelegate* device, Callback callback) override { callback_ = std::move(callback); @@ -173,7 +173,7 @@ std::unique_ptr<UsbMidiDevice::Factory> device_factory, MidiService* service) : MidiManagerUsb(service, std::move(device_factory)) {} - ~MidiManagerUsbForTesting() override {} + ~MidiManagerUsbForTesting() override = default; void CallCompleteInitialization(Result result) { CompleteInitialization(result);
diff --git a/media/midi/midi_message_queue.cc b/media/midi/midi_message_queue.cc index 77ea641..08501ec7 100644 --- a/media/midi/midi_message_queue.cc +++ b/media/midi/midi_message_queue.cc
@@ -14,7 +14,7 @@ MidiMessageQueue::MidiMessageQueue(bool allow_running_status) : allow_running_status_(allow_running_status) {} -MidiMessageQueue::~MidiMessageQueue() {} +MidiMessageQueue::~MidiMessageQueue() = default; void MidiMessageQueue::Add(const std::vector<uint8_t>& data) { queue_.insert(queue_.end(), data.begin(), data.end());
diff --git a/media/midi/midi_port_info.cc b/media/midi/midi_port_info.cc index 90cbebf..7188346 100644 --- a/media/midi/midi_port_info.cc +++ b/media/midi/midi_port_info.cc
@@ -8,7 +8,7 @@ using mojom::PortState; -MidiPortInfo::MidiPortInfo() {} +MidiPortInfo::MidiPortInfo() = default; MidiPortInfo::MidiPortInfo(const std::string& in_id, const std::string& in_manufacturer, @@ -21,13 +21,8 @@ version(in_version), state(in_state) {} -MidiPortInfo::~MidiPortInfo() {} +MidiPortInfo::~MidiPortInfo() = default; -MidiPortInfo::MidiPortInfo(const MidiPortInfo& info) - : id(info.id), - manufacturer(info.manufacturer), - name(info.name), - version(info.version), - state(info.state) {} +MidiPortInfo::MidiPortInfo(const MidiPortInfo& info) = default; } // namespace midi
diff --git a/media/midi/task_service_unittest.cc b/media/midi/task_service_unittest.cc index 894e736f..2c60323 100644 --- a/media/midi/task_service_unittest.cc +++ b/media/midi/task_service_unittest.cc
@@ -124,7 +124,7 @@ class MidiTaskServiceTest : public ::testing::Test { public: - MidiTaskServiceTest() {} + MidiTaskServiceTest() = default; protected: TaskService* task_service() { return &task_service_; }
diff --git a/media/midi/usb_midi_descriptor_parser.cc b/media/midi/usb_midi_descriptor_parser.cc index f473153..fad5e41e 100644 --- a/media/midi/usb_midi_descriptor_parser.cc +++ b/media/midi/usb_midi_descriptor_parser.cc
@@ -78,7 +78,7 @@ current_endpoint_address_(0), current_cable_number_(0) {} -UsbMidiDescriptorParser::~UsbMidiDescriptorParser() {} +UsbMidiDescriptorParser::~UsbMidiDescriptorParser() = default; bool UsbMidiDescriptorParser::Parse(UsbMidiDevice* device, const uint8_t* data,
diff --git a/media/midi/usb_midi_input_stream.cc b/media/midi/usb_midi_input_stream.cc index 9eb24078..9042097 100644 --- a/media/midi/usb_midi_input_stream.cc +++ b/media/midi/usb_midi_input_stream.cc
@@ -37,7 +37,7 @@ UsbMidiInputStream::UsbMidiInputStream(Delegate* delegate) : delegate_(delegate) {} -UsbMidiInputStream::~UsbMidiInputStream() {} +UsbMidiInputStream::~UsbMidiInputStream() = default; void UsbMidiInputStream::Add(const UsbMidiJack& jack) { JackUniqueKey key(jack.device,
diff --git a/media/midi/usb_midi_input_stream_unittest.cc b/media/midi/usb_midi_input_stream_unittest.cc index 3ebd99ab..a88489ba 100644 --- a/media/midi/usb_midi_input_stream_unittest.cc +++ b/media/midi/usb_midi_input_stream_unittest.cc
@@ -25,8 +25,8 @@ class TestUsbMidiDevice : public UsbMidiDevice { public: - TestUsbMidiDevice() {} - ~TestUsbMidiDevice() override {} + TestUsbMidiDevice() = default; + ~TestUsbMidiDevice() override = default; std::vector<uint8_t> GetDescriptors() override { return std::vector<uint8_t>(); } @@ -41,8 +41,8 @@ class MockDelegate : public UsbMidiInputStream::Delegate { public: - MockDelegate() {} - ~MockDelegate() override {} + MockDelegate() = default; + ~MockDelegate() override = default; void OnReceivedData(size_t jack_index, const uint8_t* data, size_t size,
diff --git a/media/midi/usb_midi_output_stream_unittest.cc b/media/midi/usb_midi_output_stream_unittest.cc index 0f1e2e8..9e4bfb78 100644 --- a/media/midi/usb_midi_output_stream_unittest.cc +++ b/media/midi/usb_midi_output_stream_unittest.cc
@@ -27,8 +27,8 @@ class MockUsbMidiDevice : public UsbMidiDevice { public: - MockUsbMidiDevice() {} - ~MockUsbMidiDevice() override {} + MockUsbMidiDevice() = default; + ~MockUsbMidiDevice() override = default; std::vector<uint8_t> GetDescriptors() override { return std::vector<uint8_t>();
diff --git a/media/mojo/clients/mojo_cdm_factory.cc b/media/mojo/clients/mojo_cdm_factory.cc index c0e2284..58144f70 100644 --- a/media/mojo/clients/mojo_cdm_factory.cc +++ b/media/mojo/clients/mojo_cdm_factory.cc
@@ -25,7 +25,7 @@ DCHECK(interface_factory_); } -MojoCdmFactory::~MojoCdmFactory() {} +MojoCdmFactory::~MojoCdmFactory() = default; void MojoCdmFactory::Create( const std::string& key_system,
diff --git a/media/mojo/clients/mojo_cdm_unittest.cc b/media/mojo/clients/mojo_cdm_unittest.cc index 220a3b1..63c055a 100644 --- a/media/mojo/clients/mojo_cdm_unittest.cc +++ b/media/mojo/clients/mojo_cdm_unittest.cc
@@ -81,7 +81,7 @@ &cdm_factory_)), cdm_binding_(mojo_cdm_service_.get()) {} - virtual ~MojoCdmTest() {} + virtual ~MojoCdmTest() = default; void Initialize(ExpectedResult expected_result) { // TODO(xhwang): Add pending init support.
diff --git a/media/mojo/clients/mojo_decoder_factory.cc b/media/mojo/clients/mojo_decoder_factory.cc index 02657b5f..0ae03b7 100644 --- a/media/mojo/clients/mojo_decoder_factory.cc +++ b/media/mojo/clients/mojo_decoder_factory.cc
@@ -21,7 +21,7 @@ DCHECK(interface_factory_); } -MojoDecoderFactory::~MojoDecoderFactory() {} +MojoDecoderFactory::~MojoDecoderFactory() = default; void MojoDecoderFactory::CreateAudioDecoders( scoped_refptr<base::SingleThreadTaskRunner> task_runner,
diff --git a/media/mojo/clients/mojo_decryptor_unittest.cc b/media/mojo/clients/mojo_decryptor_unittest.cc index e257548..382633f 100644 --- a/media/mojo/clients/mojo_decryptor_unittest.cc +++ b/media/mojo/clients/mojo_decryptor_unittest.cc
@@ -45,7 +45,7 @@ mojo_decryptor_.reset(new MojoDecryptor(std::move(remote_decryptor))); } - ~MojoDecryptorTest() override {} + ~MojoDecryptorTest() override = default; void DestroyClient() { EXPECT_CALL(*this, OnConnectionClosed());
diff --git a/media/mojo/clients/mojo_demuxer_stream_impl.cc b/media/mojo/clients/mojo_demuxer_stream_impl.cc index 89d4772..e2043fa 100644 --- a/media/mojo/clients/mojo_demuxer_stream_impl.cc +++ b/media/mojo/clients/mojo_demuxer_stream_impl.cc
@@ -24,7 +24,7 @@ stream_(stream), weak_factory_(this) {} -MojoDemuxerStreamImpl::~MojoDemuxerStreamImpl() {} +MojoDemuxerStreamImpl::~MojoDemuxerStreamImpl() = default; // This is called when our DemuxerStreamClient has connected itself and is // ready to receive messages. Send an initial config and notify it that
diff --git a/media/mojo/clients/mojo_renderer_factory.cc b/media/mojo/clients/mojo_renderer_factory.cc index 321459c..bd4b097 100644 --- a/media/mojo/clients/mojo_renderer_factory.cc +++ b/media/mojo/clients/mojo_renderer_factory.cc
@@ -33,7 +33,7 @@ DCHECK(!interface_factory_); } -MojoRendererFactory::~MojoRendererFactory() {} +MojoRendererFactory::~MojoRendererFactory() = default; std::unique_ptr<Renderer> MojoRendererFactory::CreateRenderer( const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
diff --git a/media/mojo/clients/mojo_renderer_unittest.cc b/media/mojo/clients/mojo_renderer_unittest.cc index 4a604874..533f2ed0 100644 --- a/media/mojo/clients/mojo_renderer_unittest.cc +++ b/media/mojo/clients/mojo_renderer_unittest.cc
@@ -86,7 +86,7 @@ .WillRepeatedly(Return(base::TimeDelta())); } - virtual ~MojoRendererTest() {} + virtual ~MojoRendererTest() = default; void Destroy() { mojo_renderer_.reset();
diff --git a/media/mojo/services/gpu_mojo_media_client.cc b/media/mojo/services/gpu_mojo_media_client.cc index c39e5ab..a8c97917 100644 --- a/media/mojo/services/gpu_mojo_media_client.cc +++ b/media/mojo/services/gpu_mojo_media_client.cc
@@ -90,7 +90,7 @@ media_gpu_channel_manager_(std::move(media_gpu_channel_manager)), android_overlay_factory_cb_(std::move(android_overlay_factory_cb)) {} -GpuMojoMediaClient::~GpuMojoMediaClient() {} +GpuMojoMediaClient::~GpuMojoMediaClient() = default; void GpuMojoMediaClient::Initialize( service_manager::Connector* connector,
diff --git a/media/mojo/services/media_resource_shim.cc b/media/mojo/services/media_resource_shim.cc index aec5040..4f863d68 100644 --- a/media/mojo/services/media_resource_shim.cc +++ b/media/mojo/services/media_resource_shim.cc
@@ -29,7 +29,7 @@ } } -MediaResourceShim::~MediaResourceShim() {} +MediaResourceShim::~MediaResourceShim() = default; std::vector<DemuxerStream*> MediaResourceShim::GetAllStreams() { DCHECK(demuxer_ready_cb_.is_null());
diff --git a/media/mojo/services/media_service.cc b/media/mojo/services/media_service.cc index 0de4bae..686e95d 100644 --- a/media/mojo/services/media_service.cc +++ b/media/mojo/services/media_service.cc
@@ -30,7 +30,7 @@ base::Bind(&MediaService::Create, base::Unretained(this))); } -MediaService::~MediaService() {} +MediaService::~MediaService() = default; void MediaService::OnStart() { DVLOG(1) << __func__; @@ -38,6 +38,9 @@ ref_factory_.reset(new service_manager::ServiceContextRefFactory( base::Bind(&service_manager::ServiceContext::RequestQuit, base::Unretained(context())))); + + // TODO(liberato): Remove plumbing for the ref factory once + // MediaCodecVideoDecoder no longer takes a ref. (crbug.com/783973) mojo_media_client_->Initialize(context()->connector(), ref_factory_.get()); }
diff --git a/media/mojo/services/media_service.h b/media/mojo/services/media_service.h index 2b02202..41a3a0dc 100644 --- a/media/mojo/services/media_service.h +++ b/media/mojo/services/media_service.h
@@ -62,16 +62,21 @@ mojom::InterfaceFactoryRequest request, service_manager::mojom::InterfaceProviderPtr host_interfaces) final; + MediaLog media_log_; + std::unique_ptr<service_manager::ServiceContextRefFactory> ref_factory_; + // Note: Since each instance runs on a different thread, do not share a common // MojoMediaClient with other instances to avoid threading issues. Hence using // a unique_ptr here. + // + // Note: Since |*ref_factory_| is passed to |mojo_media_client_|, + // |mojo_media_client_| must be destructed before |ref_factory_|. std::unique_ptr<MojoMediaClient> mojo_media_client_; + // Note: Since |&media_log_| is passed to bindings, the bindings must be + // destructed first. mojo::StrongBindingSet<mojom::InterfaceFactory> interface_factory_bindings_; - MediaLog media_log_; - std::unique_ptr<service_manager::ServiceContextRefFactory> ref_factory_; - service_manager::BinderRegistry registry_; mojo::BindingSet<mojom::MediaService> bindings_; };
diff --git a/media/mojo/services/media_service_unittest.cc b/media/mojo/services/media_service_unittest.cc index d7d82cc..14f35e4 100644 --- a/media/mojo/services/media_service_unittest.cc +++ b/media/mojo/services/media_service_unittest.cc
@@ -54,8 +54,8 @@ class MockRendererClient : public mojom::RendererClient { public: - MockRendererClient() {} - ~MockRendererClient() override {} + MockRendererClient() = default; + ~MockRendererClient() override = default; // mojom::RendererClient implementation. MOCK_METHOD3(OnTimeUpdate, @@ -84,7 +84,7 @@ : ServiceTest("media_service_unittests"), renderer_client_binding_(&renderer_client_), video_stream_(DemuxerStream::VIDEO) {} - ~MediaServiceTest() override {} + ~MediaServiceTest() override = default; void SetUp() override { ServiceTest::SetUp();
diff --git a/media/mojo/services/mojo_audio_decoder_service.cc b/media/mojo/services/mojo_audio_decoder_service.cc index ea94fdb..b563711 100644 --- a/media/mojo/services/mojo_audio_decoder_service.cc +++ b/media/mojo/services/mojo_audio_decoder_service.cc
@@ -25,7 +25,7 @@ weak_this_ = weak_factory_.GetWeakPtr(); } -MojoAudioDecoderService::~MojoAudioDecoderService() {} +MojoAudioDecoderService::~MojoAudioDecoderService() = default; void MojoAudioDecoderService::Construct( mojom::AudioDecoderClientAssociatedPtrInfo client) {
diff --git a/media/mojo/services/mojo_audio_input_stream_unittest.cc b/media/mojo/services/mojo_audio_input_stream_unittest.cc index 8389bdb..a1f3eba 100644 --- a/media/mojo/services/mojo_audio_input_stream_unittest.cc +++ b/media/mojo/services/mojo_audio_input_stream_unittest.cc
@@ -38,7 +38,7 @@ class TestCancelableSyncSocket : public base::CancelableSyncSocket { public: - TestCancelableSyncSocket() {} + TestCancelableSyncSocket() = default; void ExpectOwnershipTransfer() { expect_ownership_transfer_ = true; } @@ -58,8 +58,8 @@ class MockDelegate : public AudioInputDelegate { public: - MockDelegate() {} - ~MockDelegate() {} + MockDelegate() = default; + ~MockDelegate() = default; MOCK_METHOD0(GetStreamId, int()); MOCK_METHOD0(OnRecordStream, void()); @@ -94,7 +94,7 @@ class MockClient : public mojom::AudioInputStreamClient { public: - MockClient() {} + MockClient() = default; void Initialized(mojo::ScopedSharedBufferHandle shared_buffer, mojo::ScopedHandle socket_handle,
diff --git a/media/mojo/services/mojo_audio_output_stream_unittest.cc b/media/mojo/services/mojo_audio_output_stream_unittest.cc index e5982a8..cc69e472 100644 --- a/media/mojo/services/mojo_audio_output_stream_unittest.cc +++ b/media/mojo/services/mojo_audio_output_stream_unittest.cc
@@ -36,7 +36,7 @@ class TestCancelableSyncSocket : public base::CancelableSyncSocket { public: - TestCancelableSyncSocket() {} + TestCancelableSyncSocket() = default; void ExpectOwnershipTransfer() { expect_ownership_transfer_ = true; } @@ -56,8 +56,8 @@ class MockDelegate : public AudioOutputDelegate { public: - MockDelegate() {} - ~MockDelegate() {} + MockDelegate() = default; + ~MockDelegate() = default; MOCK_METHOD0(GetStreamId, int()); MOCK_METHOD0(OnPlayStream, void()); @@ -93,7 +93,7 @@ class MockClient : public mojom::AudioOutputStreamClient { public: - MockClient() {} + MockClient() = default; void Initialized(mojo::ScopedSharedBufferHandle shared_buffer, mojo::ScopedHandle socket_handle) {
diff --git a/media/mojo/services/mojo_cdm_allocator.cc b/media/mojo/services/mojo_cdm_allocator.cc index f67696da..f302368 100644 --- a/media/mojo/services/mojo_cdm_allocator.cc +++ b/media/mojo/services/mojo_cdm_allocator.cc
@@ -119,7 +119,7 @@ explicit MojoCdmVideoFrame( const MojoSharedBufferDoneCB& mojo_shared_buffer_done_cb) : mojo_shared_buffer_done_cb_(mojo_shared_buffer_done_cb) {} - ~MojoCdmVideoFrame() final {} + ~MojoCdmVideoFrame() final = default; // VideoFrameImpl implementation. scoped_refptr<media::VideoFrame> TransformToVideoFrame( @@ -162,7 +162,7 @@ MojoCdmAllocator::MojoCdmAllocator() : weak_ptr_factory_(this) {} -MojoCdmAllocator::~MojoCdmAllocator() {} +MojoCdmAllocator::~MojoCdmAllocator() = default; // Creates a cdm::Buffer, reusing an existing buffer if one is available. // If not, a new buffer is created using AllocateNewBuffer(). The caller is
diff --git a/media/mojo/services/mojo_cdm_allocator_unittest.cc b/media/mojo/services/mojo_cdm_allocator_unittest.cc index 96e8f9b..333a0f9 100644 --- a/media/mojo/services/mojo_cdm_allocator_unittest.cc +++ b/media/mojo/services/mojo_cdm_allocator_unittest.cc
@@ -19,8 +19,8 @@ class MojoCdmAllocatorTest : public testing::Test { public: - MojoCdmAllocatorTest() {} - ~MojoCdmAllocatorTest() override {} + MojoCdmAllocatorTest() = default; + ~MojoCdmAllocatorTest() override = default; protected: cdm::Buffer* CreateCdmBuffer(size_t capacity) {
diff --git a/media/mojo/services/mojo_cdm_file_io_unittest.cc b/media/mojo/services/mojo_cdm_file_io_unittest.cc index 5dd56dd..82dbbe1 100644 --- a/media/mojo/services/mojo_cdm_file_io_unittest.cc +++ b/media/mojo/services/mojo_cdm_file_io_unittest.cc
@@ -22,8 +22,8 @@ class MockFileIOClient : public cdm::FileIOClient { public: - MockFileIOClient() {} - ~MockFileIOClient() override {} + MockFileIOClient() = default; + ~MockFileIOClient() override = default; MOCK_METHOD1(OnOpenComplete, void(Status)); MOCK_METHOD3(OnReadComplete, void(Status, const uint8_t*, uint32_t)); @@ -32,8 +32,8 @@ class MockCdmStorage : public mojom::CdmStorage { public: - MockCdmStorage() {} - ~MockCdmStorage() override {} + MockCdmStorage() = default; + ~MockCdmStorage() override = default; bool SetUp() { return temp_directory_.CreateUniqueTempDir(); } @@ -68,8 +68,8 @@ class MojoCdmFileIOTest : public testing::Test, public MojoCdmFileIO::Delegate { protected: - MojoCdmFileIOTest() {} - ~MojoCdmFileIOTest() override {} + MojoCdmFileIOTest() = default; + ~MojoCdmFileIOTest() override = default; // testing::Test implementation. void SetUp() override {
diff --git a/media/mojo/services/mojo_cdm_helper.cc b/media/mojo/services/mojo_cdm_helper.cc index 6fb6e13a..ef254d70 100644 --- a/media/mojo/services/mojo_cdm_helper.cc +++ b/media/mojo/services/mojo_cdm_helper.cc
@@ -17,7 +17,7 @@ service_manager::mojom::InterfaceProvider* interface_provider) : interface_provider_(interface_provider), weak_factory_(this) {} -MojoCdmHelper::~MojoCdmHelper() {} +MojoCdmHelper::~MojoCdmHelper() = default; void MojoCdmHelper::SetFileReadCB(FileReadCB file_read_cb) { file_read_cb_ = std::move(file_read_cb);
diff --git a/media/mojo/services/mojo_cdm_helper_unittest.cc b/media/mojo/services/mojo_cdm_helper_unittest.cc index 16bd9910..33abd094 100644 --- a/media/mojo/services/mojo_cdm_helper_unittest.cc +++ b/media/mojo/services/mojo_cdm_helper_unittest.cc
@@ -26,8 +26,8 @@ class MockFileIOClient : public cdm::FileIOClient { public: - MockFileIOClient() {} - ~MockFileIOClient() override {} + MockFileIOClient() = default; + ~MockFileIOClient() override = default; MOCK_METHOD1(OnOpenComplete, void(Status)); MOCK_METHOD3(OnReadComplete, void(Status, const uint8_t*, uint32_t)); @@ -37,7 +37,7 @@ class MockCdmStorage : public mojom::CdmStorage { public: MockCdmStorage() { CHECK(temp_directory_.CreateUniqueTempDir()); } - ~MockCdmStorage() override {} + ~MockCdmStorage() override = default; // MojoCdmFileIO calls CdmStorage::Open() to actually open the file. // Simulate this by creating a file in the temp directory and returning it. @@ -65,7 +65,7 @@ TestInterfaceProvider() { registry_.AddInterface(base::Bind(&CreateCdmStorage)); } - ~TestInterfaceProvider() override {} + ~TestInterfaceProvider() override = default; void GetInterface(const std::string& interface_name, mojo::ScopedMessagePipeHandle handle) override { @@ -81,7 +81,7 @@ class MojoCdmHelperTest : public testing::Test { protected: MojoCdmHelperTest() : helper_(&test_interface_provider_) {} - ~MojoCdmHelperTest() override {} + ~MojoCdmHelperTest() override = default; base::test::ScopedTaskEnvironment scoped_task_environment_; TestInterfaceProvider test_interface_provider_;
diff --git a/media/mojo/services/mojo_cdm_service_context.cc b/media/mojo/services/mojo_cdm_service_context.cc index 3b19674..3d50f301 100644 --- a/media/mojo/services/mojo_cdm_service_context.cc +++ b/media/mojo/services/mojo_cdm_service_context.cc
@@ -11,10 +11,9 @@ namespace media { -MojoCdmServiceContext::MojoCdmServiceContext() {} +MojoCdmServiceContext::MojoCdmServiceContext() = default; -MojoCdmServiceContext::~MojoCdmServiceContext() { -} +MojoCdmServiceContext::~MojoCdmServiceContext() = default; void MojoCdmServiceContext::RegisterCdm(int cdm_id, MojoCdmService* cdm_service) {
diff --git a/media/mojo/services/mojo_decryptor_service.cc b/media/mojo/services/mojo_decryptor_service.cc index d675bb9..7d3c8d4 100644 --- a/media/mojo/services/mojo_decryptor_service.cc +++ b/media/mojo/services/mojo_decryptor_service.cc
@@ -58,7 +58,7 @@ binding_.set_connection_error_handler(error_handler); } -MojoDecryptorService::~MojoDecryptorService() {} +MojoDecryptorService::~MojoDecryptorService() = default; void MojoDecryptorService::Initialize( mojo::ScopedDataPipeConsumerHandle receive_pipe,
diff --git a/media/mojo/services/mojo_jpeg_decode_accelerator_service_unittest.cc b/media/mojo/services/mojo_jpeg_decode_accelerator_service_unittest.cc index e18ede2..4e7fc0d3 100644 --- a/media/mojo/services/mojo_jpeg_decode_accelerator_service_unittest.cc +++ b/media/mojo/services/mojo_jpeg_decode_accelerator_service_unittest.cc
@@ -22,8 +22,8 @@ // simulate the actual decoding without the need for special hardware. class MojoJpegDecodeAcceleratorServiceTest : public ::testing::Test { public: - MojoJpegDecodeAcceleratorServiceTest() {} - ~MojoJpegDecodeAcceleratorServiceTest() override {} + MojoJpegDecodeAcceleratorServiceTest() = default; + ~MojoJpegDecodeAcceleratorServiceTest() override = default; void SetUp() override { base::CommandLine::ForCurrentProcess()->AppendSwitch(
diff --git a/media/mojo/services/mojo_media_client.cc b/media/mojo/services/mojo_media_client.cc index fbece3a..7992107 100644 --- a/media/mojo/services/mojo_media_client.cc +++ b/media/mojo/services/mojo_media_client.cc
@@ -15,9 +15,9 @@ namespace media { -MojoMediaClient::MojoMediaClient() {} +MojoMediaClient::MojoMediaClient() = default; -MojoMediaClient::~MojoMediaClient() {} +MojoMediaClient::~MojoMediaClient() = default; void MojoMediaClient::Initialize( service_manager::Connector* connector,
diff --git a/media/mojo/services/mojo_provision_fetcher.cc b/media/mojo/services/mojo_provision_fetcher.cc index 06460e6..79bb5d9d 100644 --- a/media/mojo/services/mojo_provision_fetcher.cc +++ b/media/mojo/services/mojo_provision_fetcher.cc
@@ -15,7 +15,7 @@ DVLOG(1) << __func__; } -MojoProvisionFetcher::~MojoProvisionFetcher() {} +MojoProvisionFetcher::~MojoProvisionFetcher() = default; // ProvisionFetcher implementation: void MojoProvisionFetcher::Retrieve(const std::string& default_url,
diff --git a/media/mojo/services/mojo_renderer_service.cc b/media/mojo/services/mojo_renderer_service.cc index 787ef4f6..cb0c2c5 100644 --- a/media/mojo/services/mojo_renderer_service.cc +++ b/media/mojo/services/mojo_renderer_service.cc
@@ -74,7 +74,7 @@ weak_this_ = weak_factory_.GetWeakPtr(); } -MojoRendererService::~MojoRendererService() {} +MojoRendererService::~MojoRendererService() = default; void MojoRendererService::Initialize( mojom::RendererClientAssociatedPtrInfo client,
diff --git a/media/mojo/services/mojo_video_decoder_service.cc b/media/mojo/services/mojo_video_decoder_service.cc index 9f026d7..4523a461 100644 --- a/media/mojo/services/mojo_video_decoder_service.cc +++ b/media/mojo/services/mojo_video_decoder_service.cc
@@ -35,7 +35,7 @@ weak_this_ = weak_factory_.GetWeakPtr(); } -MojoVideoDecoderService::~MojoVideoDecoderService() {} +MojoVideoDecoderService::~MojoVideoDecoderService() = default; void MojoVideoDecoderService::Construct( mojom::VideoDecoderClientAssociatedPtrInfo client,
diff --git a/media/mojo/services/mojo_video_encode_accelerator_provider.cc b/media/mojo/services/mojo_video_encode_accelerator_provider.cc index 87b4e76..3d23adc32 100644 --- a/media/mojo/services/mojo_video_encode_accelerator_provider.cc +++ b/media/mojo/services/mojo_video_encode_accelerator_provider.cc
@@ -33,7 +33,8 @@ : create_vea_callback_(create_vea_callback), gpu_preferences_(gpu_preferences) {} -MojoVideoEncodeAcceleratorProvider::~MojoVideoEncodeAcceleratorProvider() {} +MojoVideoEncodeAcceleratorProvider::~MojoVideoEncodeAcceleratorProvider() = + default; void MojoVideoEncodeAcceleratorProvider::CreateVideoEncodeAccelerator( mojom::VideoEncodeAcceleratorRequest request) {
diff --git a/media/mojo/services/test_mojo_media_client.cc b/media/mojo/services/test_mojo_media_client.cc index ff0ab3b..427d9ff 100644 --- a/media/mojo/services/test_mojo_media_client.cc +++ b/media/mojo/services/test_mojo_media_client.cc
@@ -23,7 +23,7 @@ namespace media { -TestMojoMediaClient::TestMojoMediaClient() {} +TestMojoMediaClient::TestMojoMediaClient() = default; TestMojoMediaClient::~TestMojoMediaClient() { DVLOG(1) << __func__;
diff --git a/media/mojo/services/video_decode_perf_history_unittest.cc b/media/mojo/services/video_decode_perf_history_unittest.cc index 59467cc..c979e44 100644 --- a/media/mojo/services/video_decode_perf_history_unittest.cc +++ b/media/mojo/services/video_decode_perf_history_unittest.cc
@@ -34,7 +34,7 @@ class FakeVideoDecodeStatsDB : public VideoDecodeStatsDB { public: FakeVideoDecodeStatsDB() = default; - ~FakeVideoDecodeStatsDB() override {} + ~FakeVideoDecodeStatsDB() override = default; // Call CompleteInitialize(...) to run |init_cb| callback. void Initialize(base::OnceCallback<void(bool)> init_cb) override {
diff --git a/media/mojo/services/watch_time_recorder.cc b/media/mojo/services/watch_time_recorder.cc index e857627..b3d7a91c 100644 --- a/media/mojo/services/watch_time_recorder.cc +++ b/media/mojo/services/watch_time_recorder.cc
@@ -38,8 +38,8 @@ class WatchTimeRecorderProvider : public mojom::WatchTimeRecorderProvider { public: - WatchTimeRecorderProvider() {} - ~WatchTimeRecorderProvider() override {} + WatchTimeRecorderProvider() = default; + ~WatchTimeRecorderProvider() override = default; private: // mojom::WatchTimeRecorderProvider implementation:
diff --git a/media/mojo/services/watch_time_recorder_unittest.cc b/media/mojo/services/watch_time_recorder_unittest.cc index 16f3e7d..666b224 100644 --- a/media/mojo/services/watch_time_recorder_unittest.cc +++ b/media/mojo/services/watch_time_recorder_unittest.cc
@@ -111,14 +111,15 @@ return; } - ASSERT_EQ(1u, test_recorder_->sources_count()); - - const auto* source = test_recorder_->GetSourceForUrl(kTestOrigin); - ASSERT_TRUE(source); - - for (auto key : keys) { - test_recorder_->ExpectMetric(*source, UkmEntry::kEntryName, key.data(), - value.InMilliseconds()); + const auto& entries = + test_recorder_->GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_recorder_->ExpectEntrySourceHasUrl(entry, GURL(kTestOrigin)); + for (auto key : keys) { + test_recorder_->ExpectEntryMetric(entry, key.data(), + value.InMilliseconds()); + } } } @@ -239,9 +240,9 @@ } #define EXPECT_UKM(name, value) \ - test_recorder_->ExpectMetric(*source, UkmEntry::kEntryName, name, value) + test_recorder_->ExpectEntryMetric(entry, name, value) #define EXPECT_NO_UKM(name) \ - EXPECT_FALSE(test_recorder_->HasMetric(*source, UkmEntry::kEntryName, name)) + EXPECT_FALSE(test_recorder_->EntryHasMetric(entry, name)) TEST_F(WatchTimeRecorderTest, BasicUkmAudioVideo) { mojom::PlaybackPropertiesPtr properties = mojom::PlaybackProperties::New( @@ -255,33 +256,35 @@ wtr_.reset(); base::RunLoop().RunUntilIdle(); - ASSERT_EQ(1u, test_recorder_->sources_count()); - auto* source = test_recorder_->GetSourceForUrl(kTestOrigin); - ASSERT_TRUE(source); + const auto& entries = test_recorder_->GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_recorder_->ExpectEntrySourceHasUrl(entry, GURL(kTestOrigin)); - EXPECT_UKM(UkmEntry::kWatchTimeName, kWatchTime.InMilliseconds()); - EXPECT_UKM(UkmEntry::kIsBackgroundName, false); - EXPECT_UKM(UkmEntry::kAudioCodecName, properties->audio_codec); - EXPECT_UKM(UkmEntry::kVideoCodecName, properties->video_codec); - EXPECT_UKM(UkmEntry::kHasAudioName, properties->has_audio); - EXPECT_UKM(UkmEntry::kHasVideoName, properties->has_video); - EXPECT_UKM(UkmEntry::kIsEMEName, properties->is_eme); - EXPECT_UKM(UkmEntry::kIsMSEName, properties->is_mse); - EXPECT_UKM(UkmEntry::kLastPipelineStatusName, PIPELINE_OK); - EXPECT_UKM(UkmEntry::kRebuffersCountName, 0); - EXPECT_UKM(UkmEntry::kVideoNaturalWidthName, - properties->natural_size.width()); - EXPECT_UKM(UkmEntry::kVideoNaturalHeightName, - properties->natural_size.height()); + EXPECT_UKM(UkmEntry::kWatchTimeName, kWatchTime.InMilliseconds()); + EXPECT_UKM(UkmEntry::kIsBackgroundName, false); + EXPECT_UKM(UkmEntry::kAudioCodecName, properties->audio_codec); + EXPECT_UKM(UkmEntry::kVideoCodecName, properties->video_codec); + EXPECT_UKM(UkmEntry::kHasAudioName, properties->has_audio); + EXPECT_UKM(UkmEntry::kHasVideoName, properties->has_video); + EXPECT_UKM(UkmEntry::kIsEMEName, properties->is_eme); + EXPECT_UKM(UkmEntry::kIsMSEName, properties->is_mse); + EXPECT_UKM(UkmEntry::kLastPipelineStatusName, PIPELINE_OK); + EXPECT_UKM(UkmEntry::kRebuffersCountName, 0); + EXPECT_UKM(UkmEntry::kVideoNaturalWidthName, + properties->natural_size.width()); + EXPECT_UKM(UkmEntry::kVideoNaturalHeightName, + properties->natural_size.height()); - EXPECT_NO_UKM(UkmEntry::kMeanTimeBetweenRebuffersName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_ACName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_BatteryName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_NativeControlsOnName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_NativeControlsOffName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_DisplayFullscreenName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_DisplayInlineName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_DisplayPictureInPictureName); + EXPECT_NO_UKM(UkmEntry::kMeanTimeBetweenRebuffersName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_ACName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_BatteryName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_NativeControlsOnName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_NativeControlsOffName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_DisplayFullscreenName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_DisplayInlineName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_DisplayPictureInPictureName); + } } TEST_F(WatchTimeRecorderTest, BasicUkmAudioVideoWithExtras) { @@ -316,39 +319,40 @@ wtr_.reset(); base::RunLoop().RunUntilIdle(); - ASSERT_EQ(1u, test_recorder_->sources_count()); - auto* source = test_recorder_->GetSourceForUrl(kTestOrigin); - ASSERT_TRUE(source); + const auto& entries = test_recorder_->GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_recorder_->ExpectEntrySourceHasUrl(entry, GURL(kTestOrigin)); + EXPECT_UKM(UkmEntry::kWatchTimeName, kWatchTime2.InMilliseconds()); + EXPECT_UKM(UkmEntry::kWatchTime_ACName, kWatchTime.InMilliseconds()); + EXPECT_UKM(UkmEntry::kWatchTime_BatteryName, kWatchTime.InMilliseconds()); + EXPECT_UKM(UkmEntry::kWatchTime_NativeControlsOnName, + kWatchTime.InMilliseconds()); + EXPECT_UKM(UkmEntry::kWatchTime_NativeControlsOffName, + kWatchTime.InMilliseconds()); + EXPECT_UKM(UkmEntry::kWatchTime_DisplayFullscreenName, + kWatchTime3.InMilliseconds()); + EXPECT_UKM(UkmEntry::kWatchTime_DisplayInlineName, + kWatchTime3.InMilliseconds()); + EXPECT_UKM(UkmEntry::kWatchTime_DisplayPictureInPictureName, + kWatchTime3.InMilliseconds()); + EXPECT_UKM(UkmEntry::kMeanTimeBetweenRebuffersName, + kWatchTime2.InMilliseconds() / 3); - EXPECT_UKM(UkmEntry::kWatchTimeName, kWatchTime2.InMilliseconds()); - EXPECT_UKM(UkmEntry::kWatchTime_ACName, kWatchTime.InMilliseconds()); - EXPECT_UKM(UkmEntry::kWatchTime_BatteryName, kWatchTime.InMilliseconds()); - EXPECT_UKM(UkmEntry::kWatchTime_NativeControlsOnName, - kWatchTime.InMilliseconds()); - EXPECT_UKM(UkmEntry::kWatchTime_NativeControlsOffName, - kWatchTime.InMilliseconds()); - EXPECT_UKM(UkmEntry::kWatchTime_DisplayFullscreenName, - kWatchTime3.InMilliseconds()); - EXPECT_UKM(UkmEntry::kWatchTime_DisplayInlineName, - kWatchTime3.InMilliseconds()); - EXPECT_UKM(UkmEntry::kWatchTime_DisplayPictureInPictureName, - kWatchTime3.InMilliseconds()); - EXPECT_UKM(UkmEntry::kMeanTimeBetweenRebuffersName, - kWatchTime2.InMilliseconds() / 3); - - EXPECT_UKM(UkmEntry::kIsBackgroundName, false); - EXPECT_UKM(UkmEntry::kAudioCodecName, properties->audio_codec); - EXPECT_UKM(UkmEntry::kVideoCodecName, properties->video_codec); - EXPECT_UKM(UkmEntry::kHasAudioName, properties->has_audio); - EXPECT_UKM(UkmEntry::kHasVideoName, properties->has_video); - EXPECT_UKM(UkmEntry::kIsEMEName, properties->is_eme); - EXPECT_UKM(UkmEntry::kIsMSEName, properties->is_mse); - EXPECT_UKM(UkmEntry::kLastPipelineStatusName, PIPELINE_ERROR_DECODE); - EXPECT_UKM(UkmEntry::kRebuffersCountName, 3); - EXPECT_UKM(UkmEntry::kVideoNaturalWidthName, - properties->natural_size.width()); - EXPECT_UKM(UkmEntry::kVideoNaturalHeightName, - properties->natural_size.height()); + EXPECT_UKM(UkmEntry::kIsBackgroundName, false); + EXPECT_UKM(UkmEntry::kAudioCodecName, properties->audio_codec); + EXPECT_UKM(UkmEntry::kVideoCodecName, properties->video_codec); + EXPECT_UKM(UkmEntry::kHasAudioName, properties->has_audio); + EXPECT_UKM(UkmEntry::kHasVideoName, properties->has_video); + EXPECT_UKM(UkmEntry::kIsEMEName, properties->is_eme); + EXPECT_UKM(UkmEntry::kIsMSEName, properties->is_mse); + EXPECT_UKM(UkmEntry::kLastPipelineStatusName, PIPELINE_ERROR_DECODE); + EXPECT_UKM(UkmEntry::kRebuffersCountName, 3); + EXPECT_UKM(UkmEntry::kVideoNaturalWidthName, + properties->natural_size.width()); + EXPECT_UKM(UkmEntry::kVideoNaturalHeightName, + properties->natural_size.height()); + } } TEST_F(WatchTimeRecorderTest, BasicUkmAudioVideoBackground) { @@ -363,33 +367,35 @@ wtr_.reset(); base::RunLoop().RunUntilIdle(); - ASSERT_EQ(1u, test_recorder_->sources_count()); - auto* source = test_recorder_->GetSourceForUrl(kTestOrigin); - ASSERT_TRUE(source); + const auto& entries = test_recorder_->GetEntriesByName(UkmEntry::kEntryName); + EXPECT_EQ(1u, entries.size()); + for (const auto* entry : entries) { + test_recorder_->ExpectEntrySourceHasUrl(entry, GURL(kTestOrigin)); - EXPECT_UKM(UkmEntry::kWatchTimeName, kWatchTime.InMilliseconds()); - EXPECT_UKM(UkmEntry::kIsBackgroundName, true); - EXPECT_UKM(UkmEntry::kAudioCodecName, properties->audio_codec); - EXPECT_UKM(UkmEntry::kVideoCodecName, properties->video_codec); - EXPECT_UKM(UkmEntry::kHasAudioName, properties->has_audio); - EXPECT_UKM(UkmEntry::kHasVideoName, properties->has_video); - EXPECT_UKM(UkmEntry::kIsEMEName, properties->is_eme); - EXPECT_UKM(UkmEntry::kIsMSEName, properties->is_mse); - EXPECT_UKM(UkmEntry::kLastPipelineStatusName, PIPELINE_OK); - EXPECT_UKM(UkmEntry::kRebuffersCountName, 0); - EXPECT_UKM(UkmEntry::kVideoNaturalWidthName, - properties->natural_size.width()); - EXPECT_UKM(UkmEntry::kVideoNaturalHeightName, - properties->natural_size.height()); + EXPECT_UKM(UkmEntry::kWatchTimeName, kWatchTime.InMilliseconds()); + EXPECT_UKM(UkmEntry::kIsBackgroundName, true); + EXPECT_UKM(UkmEntry::kAudioCodecName, properties->audio_codec); + EXPECT_UKM(UkmEntry::kVideoCodecName, properties->video_codec); + EXPECT_UKM(UkmEntry::kHasAudioName, properties->has_audio); + EXPECT_UKM(UkmEntry::kHasVideoName, properties->has_video); + EXPECT_UKM(UkmEntry::kIsEMEName, properties->is_eme); + EXPECT_UKM(UkmEntry::kIsMSEName, properties->is_mse); + EXPECT_UKM(UkmEntry::kLastPipelineStatusName, PIPELINE_OK); + EXPECT_UKM(UkmEntry::kRebuffersCountName, 0); + EXPECT_UKM(UkmEntry::kVideoNaturalWidthName, + properties->natural_size.width()); + EXPECT_UKM(UkmEntry::kVideoNaturalHeightName, + properties->natural_size.height()); - EXPECT_NO_UKM(UkmEntry::kMeanTimeBetweenRebuffersName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_ACName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_BatteryName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_NativeControlsOnName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_NativeControlsOffName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_DisplayFullscreenName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_DisplayInlineName); - EXPECT_NO_UKM(UkmEntry::kWatchTime_DisplayPictureInPictureName); + EXPECT_NO_UKM(UkmEntry::kMeanTimeBetweenRebuffersName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_ACName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_BatteryName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_NativeControlsOnName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_NativeControlsOffName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_DisplayFullscreenName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_DisplayInlineName); + EXPECT_NO_UKM(UkmEntry::kWatchTime_DisplayPictureInPictureName); + } } #undef EXPECT_UKM #undef EXPECT_NO_UKM
diff --git a/media/muxers/webm_muxer.cc b/media/muxers/webm_muxer.cc index e0ee4e5..59e68a0 100644 --- a/media/muxers/webm_muxer.cc +++ b/media/muxers/webm_muxer.cc
@@ -95,7 +95,7 @@ &frame_rate)); } -WebmMuxer::VideoParameters::~VideoParameters() {} +WebmMuxer::VideoParameters::~VideoParameters() = default; WebmMuxer::WebmMuxer(VideoCodec video_codec, AudioCodec audio_codec, @@ -392,6 +392,6 @@ timestamp(timestamp), is_keyframe(is_keyframe) {} -WebmMuxer::EncodedVideoFrame::~EncodedVideoFrame() {} +WebmMuxer::EncodedVideoFrame::~EncodedVideoFrame() = default; } // namespace media
diff --git a/media/remoting/courier_renderer_factory.cc b/media/remoting/courier_renderer_factory.cc index c87b568..459338b 100644 --- a/media/remoting/courier_renderer_factory.cc +++ b/media/remoting/courier_renderer_factory.cc
@@ -21,7 +21,7 @@ std::unique_ptr<RendererController> controller) : controller_(std::move(controller)) {} -CourierRendererFactory::~CourierRendererFactory() {} +CourierRendererFactory::~CourierRendererFactory() = default; std::unique_ptr<Renderer> CourierRendererFactory::CreateRenderer( const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
diff --git a/media/remoting/courier_renderer_unittest.cc b/media/remoting/courier_renderer_unittest.cc index 33e1d711..74374b2 100644 --- a/media/remoting/courier_renderer_unittest.cc +++ b/media/remoting/courier_renderer_unittest.cc
@@ -78,7 +78,7 @@ .WillByDefault( Invoke(this, &RendererClientImpl::DelegateOnDurationChange)); } - ~RendererClientImpl() {} + ~RendererClientImpl() = default; // RendererClient implementation. void OnError(PipelineStatus status) override {}
diff --git a/media/remoting/demuxer_stream_adapter_unittest.cc b/media/remoting/demuxer_stream_adapter_unittest.cc index be006ac..f9c66758 100644 --- a/media/remoting/demuxer_stream_adapter_unittest.cc +++ b/media/remoting/demuxer_stream_adapter_unittest.cc
@@ -110,7 +110,7 @@ class DemuxerStreamAdapterTest : public ::testing::Test { public: - DemuxerStreamAdapterTest() {} + DemuxerStreamAdapterTest() = default; ~DemuxerStreamAdapterTest() override = default; void SetUpDataPipe() {
diff --git a/media/remoting/end2end_test_renderer.cc b/media/remoting/end2end_test_renderer.cc index 9459da8..6c6cb8ee 100644 --- a/media/remoting/end2end_test_renderer.cc +++ b/media/remoting/end2end_test_renderer.cc
@@ -34,7 +34,7 @@ type_(type), send_frame_to_sink_cb_(callback) {} - ~TestStreamSender() override {} + ~TestStreamSender() override = default; // mojom::RemotingDataStreamSender implementation. @@ -78,7 +78,7 @@ send_message_to_sink_cb_(send_message_to_sink_cb), send_frame_to_sink_cb_(send_frame_to_sink_cb) {} - ~TestRemoter() override {} + ~TestRemoter() override = default; // mojom::Remoter implementation. @@ -161,7 +161,7 @@ base::ThreadTaskRunnerHandle::Get(), controller_->GetWeakPtr(), nullptr)); } -End2EndTestRenderer::~End2EndTestRenderer() {} +End2EndTestRenderer::~End2EndTestRenderer() = default; void End2EndTestRenderer::Initialize(MediaResource* media_resource, RendererClient* client,
diff --git a/media/remoting/fake_media_resource.cc b/media/remoting/fake_media_resource.cc index c8b2efb..14e21e1 100644 --- a/media/remoting/fake_media_resource.cc +++ b/media/remoting/fake_media_resource.cc
@@ -97,7 +97,7 @@ FakeMediaResource::FakeMediaResource() : demuxer_stream_(new FakeDemuxerStream(true)) {} -FakeMediaResource::~FakeMediaResource() {} +FakeMediaResource::~FakeMediaResource() = default; std::vector<DemuxerStream*> FakeMediaResource::GetAllStreams() { std::vector<DemuxerStream*> streams;
diff --git a/media/remoting/fake_remoter.cc b/media/remoting/fake_remoter.cc index 85101f7..10c6257e 100644 --- a/media/remoting/fake_remoter.cc +++ b/media/remoting/fake_remoter.cc
@@ -120,7 +120,7 @@ start_will_fail_(start_will_fail), weak_factory_(this) {} -FakeRemoter::~FakeRemoter() {} +FakeRemoter::~FakeRemoter() = default; void FakeRemoter::Start() { if (start_will_fail_) { @@ -180,7 +180,7 @@ FakeRemoterFactory::FakeRemoterFactory(bool start_will_fail) : start_will_fail_(start_will_fail) {} -FakeRemoterFactory::~FakeRemoterFactory() {} +FakeRemoterFactory::~FakeRemoterFactory() = default; void FakeRemoterFactory::Create(mojom::RemotingSourcePtr source, mojom::RemoterRequest request) {
diff --git a/media/remoting/integration_test.cc b/media/remoting/integration_test.cc index eedd256b..68ed1d8 100644 --- a/media/remoting/integration_test.cc +++ b/media/remoting/integration_test.cc
@@ -21,7 +21,7 @@ explicit TestRendererFactory( std::unique_ptr<PipelineTestRendererFactory> renderer_factory) : default_renderer_factory_(std::move(renderer_factory)) {} - ~TestRendererFactory() override {} + ~TestRendererFactory() override = default; // PipelineTestRendererFactory implementation. std::unique_ptr<Renderer> CreateRenderer(
diff --git a/media/remoting/remoting_cdm.cc b/media/remoting/remoting_cdm.cc index d94d762d..20d18cd 100644 --- a/media/remoting/remoting_cdm.cc +++ b/media/remoting/remoting_cdm.cc
@@ -27,7 +27,7 @@ // TODO(xjz): Not implemented. Need to merge with erickung's implementation. } -RemotingCdm::~RemotingCdm() {} +RemotingCdm::~RemotingCdm() = default; void RemotingCdm::SetServerCertificate( const std::vector<uint8_t>& certificate,
diff --git a/media/remoting/remoting_cdm_context.cc b/media/remoting/remoting_cdm_context.cc index 5842faa..a58d47f 100644 --- a/media/remoting/remoting_cdm_context.cc +++ b/media/remoting/remoting_cdm_context.cc
@@ -19,7 +19,7 @@ RemotingCdmContext::RemotingCdmContext(RemotingCdm* remoting_cdm) : remoting_cdm_(remoting_cdm) {} -RemotingCdmContext::~RemotingCdmContext() {} +RemotingCdmContext::~RemotingCdmContext() = default; RemotingCdmContext* RemotingCdmContext::From(CdmContext* cdm_context) { if (cdm_context && cdm_context->GetClassIdentifier() == kClassIdentifier)
diff --git a/media/remoting/remoting_cdm_factory.cc b/media/remoting/remoting_cdm_factory.cc index 7f37539..8476d89 100644 --- a/media/remoting/remoting_cdm_factory.cc +++ b/media/remoting/remoting_cdm_factory.cc
@@ -27,7 +27,7 @@ DCHECK(sink_observer_); } -RemotingCdmFactory::~RemotingCdmFactory() {} +RemotingCdmFactory::~RemotingCdmFactory() = default; std::unique_ptr<RemotingCdmController> RemotingCdmFactory::CreateRemotingCdmController() {
diff --git a/media/remoting/renderer_controller_unittest.cc b/media/remoting/renderer_controller_unittest.cc index ec411cd..c1a8391 100644 --- a/media/remoting/renderer_controller_unittest.cc +++ b/media/remoting/renderer_controller_unittest.cc
@@ -70,8 +70,8 @@ class RendererControllerTest : public ::testing::Test, public MediaObserverClient { public: - RendererControllerTest() {} - ~RendererControllerTest() override {} + RendererControllerTest() = default; + ~RendererControllerTest() override = default; void TearDown() final { RunUntilIdle(); }
diff --git a/media/remoting/rpc_broker_unittest.cc b/media/remoting/rpc_broker_unittest.cc index fb25210..5267b0a9 100644 --- a/media/remoting/rpc_broker_unittest.cc +++ b/media/remoting/rpc_broker_unittest.cc
@@ -33,7 +33,7 @@ has_sent_message_(false), send_count_(0), weak_factory_(this) {} - ~FakeMessageSender() {} + ~FakeMessageSender() = default; void OnSendMessageAndQuit(std::unique_ptr<std::vector<uint8_t>> message) { EXPECT_TRUE( @@ -63,7 +63,7 @@ class FakeMessageReceiver { public: FakeMessageReceiver() : has_received_message_(false), weak_factory_(this) {} - ~FakeMessageReceiver() {} + ~FakeMessageReceiver() = default; // RpcBroker::MessageReceiver implementation. void OnReceivedRpc(std::unique_ptr<pb::RpcMessage> message) {
diff --git a/media/remoting/sink_availability_observer.cc b/media/remoting/sink_availability_observer.cc index 2020c63..94eadea 100644 --- a/media/remoting/sink_availability_observer.cc +++ b/media/remoting/sink_availability_observer.cc
@@ -12,7 +12,7 @@ mojom::RemoterPtr remoter) : binding_(this, std::move(source_request)), remoter_(std::move(remoter)) {} -SinkAvailabilityObserver::~SinkAvailabilityObserver() {} +SinkAvailabilityObserver::~SinkAvailabilityObserver() = default; bool SinkAvailabilityObserver::IsRemoteDecryptionAvailable() const { return std::find(std::begin(sink_metadata_.features),
diff --git a/media/remoting/stream_provider.cc b/media/remoting/stream_provider.cc index 9308989..4f28082 100644 --- a/media/remoting/stream_provider.cc +++ b/media/remoting/stream_provider.cc
@@ -392,7 +392,7 @@ error_callback_(error_callback), weak_factory_(this) {} -StreamProvider::~StreamProvider() {} +StreamProvider::~StreamProvider() = default; void StreamProvider::Initialize(int remote_audio_handle, int remote_video_handle,
diff --git a/media/renderers/audio_renderer_impl_unittest.cc b/media/renderers/audio_renderer_impl_unittest.cc index 2ed20a2a..944c2aa 100644 --- a/media/renderers/audio_renderer_impl_unittest.cc +++ b/media/renderers/audio_renderer_impl_unittest.cc
@@ -50,8 +50,8 @@ class MockMediaClient : public MediaClient { public: - MockMediaClient() {} - ~MockMediaClient() override {} + MockMediaClient() = default; + ~MockMediaClient() override = default; void AddSupportedKeySystems( std::vector<std::unique_ptr<KeySystemProperties>>* key_systems) override {
diff --git a/media/renderers/default_renderer_factory.cc b/media/renderers/default_renderer_factory.cc index 0796d919..7b05a41 100644 --- a/media/renderers/default_renderer_factory.cc +++ b/media/renderers/default_renderer_factory.cc
@@ -48,7 +48,7 @@ decoder_factory_(decoder_factory), get_gpu_factories_cb_(get_gpu_factories_cb) {} -DefaultRendererFactory::~DefaultRendererFactory() {} +DefaultRendererFactory::~DefaultRendererFactory() = default; std::vector<std::unique_ptr<AudioDecoder>> DefaultRendererFactory::CreateAudioDecoders(
diff --git a/media/renderers/paint_canvas_video_renderer.cc b/media/renderers/paint_canvas_video_renderer.cc index 148a4b0b..1f71196 100644 --- a/media/renderers/paint_canvas_video_renderer.cc +++ b/media/renderers/paint_canvas_video_renderer.cc
@@ -69,7 +69,7 @@ class SyncTokenClientImpl : public VideoFrame::SyncTokenClient { public: explicit SyncTokenClientImpl(gpu::gles2::GLES2Interface* gl) : gl_(gl) {} - ~SyncTokenClientImpl() override {} + ~SyncTokenClientImpl() override = default; void GenerateSyncToken(gpu::SyncToken* sync_token) override { const uint64_t fence_sync = gl_->InsertFenceSyncCHROMIUM(); gl_->ShallowFlushCHROMIUM(); @@ -232,7 +232,7 @@ frame_(frame) { DCHECK(!frame_->HasTextures()); } - ~VideoImageGenerator() override {} + ~VideoImageGenerator() override = default; sk_sp<SkData> GetEncodedData() const override { return nullptr; }
diff --git a/media/renderers/paint_canvas_video_renderer_unittest.cc b/media/renderers/paint_canvas_video_renderer_unittest.cc index 48032ee4..a64c756 100644 --- a/media/renderers/paint_canvas_video_renderer_unittest.cc +++ b/media/renderers/paint_canvas_video_renderer_unittest.cc
@@ -219,7 +219,7 @@ cropped_frame()->stride(VideoFrame::kVPlane), 16, 16); } -PaintCanvasVideoRendererTest::~PaintCanvasVideoRendererTest() {} +PaintCanvasVideoRendererTest::~PaintCanvasVideoRendererTest() = default; void PaintCanvasVideoRendererTest::PaintWithoutFrame(cc::PaintCanvas* canvas) { cc::PaintFlags flags;
diff --git a/media/renderers/renderer_impl_unittest.cc b/media/renderers/renderer_impl_unittest.cc index 21529d3..0295ef7 100644 --- a/media/renderers/renderer_impl_unittest.cc +++ b/media/renderers/renderer_impl_unittest.cc
@@ -59,8 +59,8 @@ // also lets us test for missing callbacks. class CallbackHelper : public MockRendererClient { public: - CallbackHelper() {} - virtual ~CallbackHelper() {} + CallbackHelper() = default; + virtual ~CallbackHelper() = default; // Completion callbacks. MOCK_METHOD1(OnInitialize, void(PipelineStatus));
diff --git a/media/renderers/video_overlay_factory.cc b/media/renderers/video_overlay_factory.cc index c594172..6f5ff3b 100644 --- a/media/renderers/video_overlay_factory.cc +++ b/media/renderers/video_overlay_factory.cc
@@ -81,7 +81,7 @@ GpuVideoAcceleratorFactories* gpu_factories) : gpu_factories_(gpu_factories) {} -VideoOverlayFactory::~VideoOverlayFactory() {} +VideoOverlayFactory::~VideoOverlayFactory() = default; scoped_refptr<VideoFrame> VideoOverlayFactory::CreateFrame( const gfx::Size& size) {
diff --git a/media/renderers/video_renderer_impl_unittest.cc b/media/renderers/video_renderer_impl_unittest.cc index 2653a8b..a2dd42c 100644 --- a/media/renderers/video_renderer_impl_unittest.cc +++ b/media/renderers/video_renderer_impl_unittest.cc
@@ -111,7 +111,7 @@ scoped_refptr<DecoderBuffer>(new DecoderBuffer(0)))); } - virtual ~VideoRendererImplTest() {} + virtual ~VideoRendererImplTest() = default; void Initialize() { InitializeWithLowDelay(false); @@ -795,8 +795,8 @@ class TestMemoryPressureMonitor : public base::MemoryPressureMonitor { public: - TestMemoryPressureMonitor() {} - ~TestMemoryPressureMonitor() override {} + TestMemoryPressureMonitor() = default; + ~TestMemoryPressureMonitor() override = default; MemoryPressureLevel GetCurrentPressureLevel() override { return base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE;
diff --git a/media/test/fake_encrypted_media.cc b/media/test/fake_encrypted_media.cc index 0445c3a..70cc7a9 100644 --- a/media/test/fake_encrypted_media.cc +++ b/media/test/fake_encrypted_media.cc
@@ -34,7 +34,7 @@ cdm_context_(decryptor_.get()), app_(app) {} -FakeEncryptedMedia::~FakeEncryptedMedia() {} +FakeEncryptedMedia::~FakeEncryptedMedia() = default; CdmContext* FakeEncryptedMedia::GetCdmContext() { return &cdm_context_;
diff --git a/media/test/mock_media_source.cc b/media/test/mock_media_source.cc index 4d41792c..d983983c 100644 --- a/media/test/mock_media_source.cc +++ b/media/test/mock_media_source.cc
@@ -57,7 +57,7 @@ CHECK_LE(initial_append_size_, file_data_->data_size()); } -MockMediaSource::~MockMediaSource() {} +MockMediaSource::~MockMediaSource() = default; std::unique_ptr<Demuxer> MockMediaSource::GetDemuxer() { return std::move(owned_chunk_demuxer_);
diff --git a/media/test/pipeline_integration_fuzzertest.cc b/media/test/pipeline_integration_fuzzertest.cc index 05d3923..4550616 100644 --- a/media/test/pipeline_integration_fuzzertest.cc +++ b/media/test/pipeline_integration_fuzzertest.cc
@@ -133,7 +133,8 @@ BindToCurrentLoop(base::BindRepeating(&OnAudioPlayDelay, this))); } - ~ProgressivePipelineIntegrationFuzzerTest() override{}; + ~ProgressivePipelineIntegrationFuzzerTest() override = default; + ; void RunTest(const uint8_t* data, size_t size) { if (PIPELINE_OK != Start(data, size, kUnreliableDuration)) @@ -157,7 +158,8 @@ BindToCurrentLoop(base::BindRepeating(&OnAudioPlayDelay, this))); } - ~MediaSourcePipelineIntegrationFuzzerTest() override{}; + ~MediaSourcePipelineIntegrationFuzzerTest() override = default; + ; void RunTest(const uint8_t* data, size_t size, const std::string& mimetype) { if (size == 0)
diff --git a/media/test/pipeline_integration_test.cc b/media/test/pipeline_integration_test.cc index c4122a8..eb4ecda 100644 --- a/media/test/pipeline_integration_test.cc +++ b/media/test/pipeline_integration_test.cc
@@ -214,7 +214,7 @@ // Provides the test key in response to the encrypted event. class KeyProvidingApp : public FakeEncryptedMedia::AppBase { public: - KeyProvidingApp() {} + KeyProvidingApp() = default; void OnResolveWithSession(PromiseResult expected, const std::string& session_id) {
diff --git a/media/test/pipeline_integration_test_base.cc b/media/test/pipeline_integration_test_base.cc index eb82c6a..9343866 100644 --- a/media/test/pipeline_integration_test_base.cc +++ b/media/test/pipeline_integration_test_base.cc
@@ -103,7 +103,7 @@ public: explicit RendererFactoryImpl(PipelineIntegrationTestBase* integration_test) : integration_test_(integration_test) {} - ~RendererFactoryImpl() override {} + ~RendererFactoryImpl() override = default; // PipelineTestRendererFactory implementation. std::unique_ptr<Renderer> CreateRenderer(
diff --git a/media/test/run_all_unittests.cc b/media/test/run_all_unittests.cc index 6c5bdda..ac2abc6 100644 --- a/media/test/run_all_unittests.cc +++ b/media/test/run_all_unittests.cc
@@ -21,7 +21,7 @@ class TestSuiteNoAtExit : public base::TestSuite { public: TestSuiteNoAtExit(int argc, char** argv) : TestSuite(argc, argv) {} - ~TestSuiteNoAtExit() override {} + ~TestSuiteNoAtExit() override = default; protected: void Initialize() override;
diff --git a/media/video/gpu_memory_buffer_video_frame_pool.cc b/media/video/gpu_memory_buffer_video_frame_pool.cc index 8497c2be..10e7b458 100644 --- a/media/video/gpu_memory_buffer_video_frame_pool.cc +++ b/media/video/gpu_memory_buffer_video_frame_pool.cc
@@ -880,7 +880,7 @@ } } -GpuMemoryBufferVideoFramePool::GpuMemoryBufferVideoFramePool() {} +GpuMemoryBufferVideoFramePool::GpuMemoryBufferVideoFramePool() = default; GpuMemoryBufferVideoFramePool::GpuMemoryBufferVideoFramePool( const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
diff --git a/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc b/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc index e1f03ec..0bef038 100644 --- a/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc +++ b/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc
@@ -79,7 +79,7 @@ class GpuMemoryBufferVideoFramePoolTest : public ::testing::Test { public: - GpuMemoryBufferVideoFramePoolTest() {} + GpuMemoryBufferVideoFramePoolTest() = default; void SetUp() override { // Seed test clock with some dummy non-zero value to avoid confusion with // empty base::TimeTicks values.
diff --git a/media/video/h264_bit_reader.cc b/media/video/h264_bit_reader.cc index 4b7a569e..b3a13719 100644 --- a/media/video/h264_bit_reader.cc +++ b/media/video/h264_bit_reader.cc
@@ -15,7 +15,7 @@ prev_two_bytes_(0), emulation_prevention_bytes_(0) {} -H264BitReader::~H264BitReader() {} +H264BitReader::~H264BitReader() = default; bool H264BitReader::Initialize(const uint8_t* data, off_t size) { DCHECK(data);
diff --git a/media/video/h264_parser.cc b/media/video/h264_parser.cc index 41b518eb..bc84257 100644 --- a/media/video/h264_parser.cc +++ b/media/video/h264_parser.cc
@@ -215,7 +215,7 @@ Reset(); } -H264Parser::~H264Parser() {} +H264Parser::~H264Parser() = default; void H264Parser::Reset() { stream_ = NULL;
diff --git a/media/video/h264_poc.cc b/media/video/h264_poc.cc index a363526..8f6c619 100644 --- a/media/video/h264_poc.cc +++ b/media/video/h264_poc.cc
@@ -45,7 +45,7 @@ Reset(); } -H264POC::~H264POC() {} +H264POC::~H264POC() = default; void H264POC::Reset() { // It shouldn't be necessary to reset these values, but doing so will improve
diff --git a/media/video/half_float_maker.cc b/media/video/half_float_maker.cc index ee8061f..b200dd0 100644 --- a/media/video/half_float_maker.cc +++ b/media/video/half_float_maker.cc
@@ -7,7 +7,7 @@ namespace media { -HalfFloatMaker::~HalfFloatMaker() {} +HalfFloatMaker::~HalfFloatMaker() = default; // By OR-ing with 0x3800, 10-bit numbers become half-floats in the // range [0.5..1) and 9-bit numbers get the range [0.5..0.75).
diff --git a/media/video/jpeg_decode_accelerator.cc b/media/video/jpeg_decode_accelerator.cc index 035c3216..c8629c5 100644 --- a/media/video/jpeg_decode_accelerator.cc +++ b/media/video/jpeg_decode_accelerator.cc
@@ -6,7 +6,6 @@ namespace media { -JpegDecodeAccelerator::~JpegDecodeAccelerator() { -} +JpegDecodeAccelerator::~JpegDecodeAccelerator() = default; } // namespace media
diff --git a/media/video/mock_gpu_video_accelerator_factories.cc b/media/video/mock_gpu_video_accelerator_factories.cc index 56d8f88b..96ce3353 100644 --- a/media/video/mock_gpu_video_accelerator_factories.cc +++ b/media/video/mock_gpu_video_accelerator_factories.cc
@@ -82,7 +82,7 @@ gpu::gles2::GLES2Interface* gles2) : gles2_(gles2) {} -MockGpuVideoAcceleratorFactories::~MockGpuVideoAcceleratorFactories() {} +MockGpuVideoAcceleratorFactories::~MockGpuVideoAcceleratorFactories() = default; bool MockGpuVideoAcceleratorFactories::IsGpuVideoAcceleratorEnabled() { return true;
diff --git a/media/video/mock_video_decode_accelerator.cc b/media/video/mock_video_decode_accelerator.cc index a1a9a2b..0f2f1bb 100644 --- a/media/video/mock_video_decode_accelerator.cc +++ b/media/video/mock_video_decode_accelerator.cc
@@ -14,7 +14,7 @@ .WillByDefault(Invoke(this, &MockVideoDecodeAccelerator::DeleteThis)); } -MockVideoDecodeAccelerator::~MockVideoDecodeAccelerator() {} +MockVideoDecodeAccelerator::~MockVideoDecodeAccelerator() = default; void MockVideoDecodeAccelerator::DeleteThis() { delete this; }
diff --git a/media/video/mock_video_encode_accelerator.cc b/media/video/mock_video_encode_accelerator.cc index 8011303..8470833 100644 --- a/media/video/mock_video_encode_accelerator.cc +++ b/media/video/mock_video_encode_accelerator.cc
@@ -14,7 +14,7 @@ .WillByDefault(Invoke(this, &MockVideoEncodeAccelerator::DeleteThis)); } -MockVideoEncodeAccelerator::~MockVideoEncodeAccelerator() {} +MockVideoEncodeAccelerator::~MockVideoEncodeAccelerator() = default; void MockVideoEncodeAccelerator::DeleteThis() { delete this;
diff --git a/media/video/picture.cc b/media/video/picture.cc index f207090..dc1d48e 100644 --- a/media/video/picture.cc +++ b/media/video/picture.cc
@@ -53,7 +53,7 @@ PictureBuffer::PictureBuffer(const PictureBuffer& other) = default; -PictureBuffer::~PictureBuffer() {} +PictureBuffer::~PictureBuffer() = default; gpu::Mailbox PictureBuffer::texture_mailbox(size_t plane) const { if (plane >= texture_mailboxes_.size()) {
diff --git a/media/video/video_decode_accelerator.cc b/media/video/video_decode_accelerator.cc index 873e847..55520f8d 100644 --- a/media/video/video_decode_accelerator.cc +++ b/media/video/video_decode_accelerator.cc
@@ -29,7 +29,7 @@ NOTREACHED() << "By default deferred initialization is not supported."; } -VideoDecodeAccelerator::~VideoDecodeAccelerator() {} +VideoDecodeAccelerator::~VideoDecodeAccelerator() = default; bool VideoDecodeAccelerator::TryToSetupDecodeOnSeparateThread( const base::WeakPtr<Client>& decode_client, @@ -56,14 +56,14 @@ VideoDecodeAccelerator::SupportedProfile::SupportedProfile() : profile(media::VIDEO_CODEC_PROFILE_UNKNOWN), encrypted_only(false) {} -VideoDecodeAccelerator::SupportedProfile::~SupportedProfile() {} +VideoDecodeAccelerator::SupportedProfile::~SupportedProfile() = default; VideoDecodeAccelerator::Capabilities::Capabilities() : flags(NO_FLAGS) {} VideoDecodeAccelerator::Capabilities::Capabilities(const Capabilities& other) = default; -VideoDecodeAccelerator::Capabilities::~Capabilities() {} +VideoDecodeAccelerator::Capabilities::~Capabilities() = default; std::string VideoDecodeAccelerator::Capabilities::AsHumanReadableString() const {
diff --git a/media/video/video_encode_accelerator.cc b/media/video/video_encode_accelerator.cc index 186645c..1285078 100644 --- a/media/video/video_encode_accelerator.cc +++ b/media/video/video_encode_accelerator.cc
@@ -8,7 +8,7 @@ namespace media { -VideoEncodeAccelerator::~VideoEncodeAccelerator() {} +VideoEncodeAccelerator::~VideoEncodeAccelerator() = default; VideoEncodeAccelerator::SupportedProfile::SupportedProfile() : profile(media::VIDEO_CODEC_PROFILE_UNKNOWN), @@ -16,8 +16,7 @@ max_framerate_denominator(0) { } -VideoEncodeAccelerator::SupportedProfile::~SupportedProfile() { -} +VideoEncodeAccelerator::SupportedProfile::~SupportedProfile() = default; bool VideoEncodeAccelerator::TryToSetupEncodeOnSeparateThread( const base::WeakPtr<Client>& encode_client,
diff --git a/mojo/public/tools/bindings/pylib/mojom/generate/pack.py b/mojo/public/tools/bindings/pylib/mojom/generate/pack.py index 37dc8f3..e4204a0 100644 --- a/mojo/public/tools/bindings/pylib/mojom/generate/pack.py +++ b/mojo/public/tools/bindings/pylib/mojom/generate/pack.py
@@ -56,7 +56,8 @@ # TODO(mpcomplete): what about big enums? return cls.kind_to_size[mojom.INT32] if not kind in cls.kind_to_size: - raise Exception("Invalid kind: %s" % kind.spec) + raise Exception("Undefined type: %s. Did you forget to import the file " + "containing the definition?" % kind.spec) return cls.kind_to_size[kind] @classmethod
diff --git a/net/base/address_list.cc b/net/base/address_list.cc index 13a79660..6a69714 100644 --- a/net/base/address_list.cc +++ b/net/base/address_list.cc
@@ -33,11 +33,11 @@ } // namespace -AddressList::AddressList() {} +AddressList::AddressList() = default; AddressList::AddressList(const AddressList&) = default; -AddressList::~AddressList() {} +AddressList::~AddressList() = default; AddressList::AddressList(const IPEndPoint& endpoint) { push_back(endpoint);
diff --git a/net/base/address_tracker_linux_unittest.cc b/net/base/address_tracker_linux_unittest.cc index 88031c7..cad81e53 100644 --- a/net/base/address_tracker_linux_unittest.cc +++ b/net/base/address_tracker_linux_unittest.cc
@@ -51,7 +51,7 @@ class AddressTrackerLinuxTest : public testing::Test { protected: - AddressTrackerLinuxTest() {} + AddressTrackerLinuxTest() = default; void InitializeAddressTracker(bool tracking) { if (tracking) { @@ -696,7 +696,7 @@ done_(base::WaitableEvent::ResetPolicy::MANUAL, base::WaitableEvent::InitialState::NOT_SIGNALED), thread_(this, thread_name) {} - ~GetCurrentConnectionTypeRunner() override {} + ~GetCurrentConnectionTypeRunner() override = default; void Run() override { tracker_->GetCurrentConnectionType();
diff --git a/net/base/arena.cc b/net/base/arena.cc index 3bf29a7..4632fe5 100644 --- a/net/base/arena.cc +++ b/net/base/arena.cc
@@ -14,7 +14,7 @@ UnsafeArena::UnsafeArena(size_t block_size) : block_size_(block_size) {} -UnsafeArena::~UnsafeArena() {} +UnsafeArena::~UnsafeArena() = default; UnsafeArena::UnsafeArena(UnsafeArena&& other) = default; UnsafeArena& UnsafeArena::operator=(UnsafeArena&& other) = default; @@ -89,7 +89,7 @@ UnsafeArena::Block::Block(size_t s) : data(new char[s]), size(s), used(0) {} -UnsafeArena::Block::~Block() {} +UnsafeArena::Block::~Block() = default; UnsafeArena::Block::Block(UnsafeArena::Block&& other) : size(other.size), used(other.used) {
diff --git a/net/base/auth.cc b/net/base/auth.cc index 9815ed59..343d0b5 100644 --- a/net/base/auth.cc +++ b/net/base/auth.cc
@@ -15,11 +15,9 @@ this->realm == that.realm); } -AuthChallengeInfo::~AuthChallengeInfo() { -} +AuthChallengeInfo::~AuthChallengeInfo() = default; -AuthCredentials::AuthCredentials() { -} +AuthCredentials::AuthCredentials() = default; AuthCredentials::AuthCredentials(const base::string16& username, const base::string16& password) @@ -27,8 +25,7 @@ password_(password) { } -AuthCredentials::~AuthCredentials() { -} +AuthCredentials::~AuthCredentials() = default; void AuthCredentials::Set(const base::string16& username, const base::string16& password) {
diff --git a/net/base/backoff_entry_serializer_unittest.cc b/net/base/backoff_entry_serializer_unittest.cc index 3fbd636..e5d22cf 100644 --- a/net/base/backoff_entry_serializer_unittest.cc +++ b/net/base/backoff_entry_serializer_unittest.cc
@@ -31,8 +31,8 @@ class TestTickClock : public base::TickClock { public: - TestTickClock() {} - ~TestTickClock() override {} + TestTickClock() = default; + ~TestTickClock() override = default; TimeTicks NowTicks() override { return now_ticks_; } void set_now(TimeTicks now) { now_ticks_ = now; }
diff --git a/net/base/backoff_entry_unittest.cc b/net/base/backoff_entry_unittest.cc index 29a4281..0bed782e 100644 --- a/net/base/backoff_entry_unittest.cc +++ b/net/base/backoff_entry_unittest.cc
@@ -19,8 +19,8 @@ class TestTickClock : public base::TickClock { public: - TestTickClock() {} - ~TestTickClock() override {} + TestTickClock() = default; + ~TestTickClock() override = default; TimeTicks NowTicks() override { return now_ticks_; } void set_now(TimeTicks now) { now_ticks_ = now; }
diff --git a/net/base/chunked_upload_data_stream.cc b/net/base/chunked_upload_data_stream.cc index 494e495..2bae390 100644 --- a/net/base/chunked_upload_data_stream.cc +++ b/net/base/chunked_upload_data_stream.cc
@@ -11,7 +11,7 @@ namespace net { -ChunkedUploadDataStream::Writer::~Writer() {} +ChunkedUploadDataStream::Writer::~Writer() = default; bool ChunkedUploadDataStream::Writer::AppendData(const char* data, int data_len, @@ -34,8 +34,7 @@ read_buffer_len_(0), weak_factory_(this) {} -ChunkedUploadDataStream::~ChunkedUploadDataStream() { -} +ChunkedUploadDataStream::~ChunkedUploadDataStream() = default; std::unique_ptr<ChunkedUploadDataStream::Writer> ChunkedUploadDataStream::CreateWriter() {
diff --git a/net/base/directory_lister.cc b/net/base/directory_lister.cc index e776c15..98a90e67 100644 --- a/net/base/directory_lister.cc +++ b/net/base/directory_lister.cc
@@ -101,7 +101,7 @@ DCHECK(lister_); } -DirectoryLister::Core::~Core() {} +DirectoryLister::Core::~Core() = default; void DirectoryLister::Core::CancelOnOriginSequence() { DCHECK(origin_task_runner_->RunsTasksInCurrentSequence());
diff --git a/net/base/elements_upload_data_stream.cc b/net/base/elements_upload_data_stream.cc index 78d5637..b9fef7e 100644 --- a/net/base/elements_upload_data_stream.cc +++ b/net/base/elements_upload_data_stream.cc
@@ -23,8 +23,7 @@ read_error_(OK), weak_ptr_factory_(this) {} -ElementsUploadDataStream::~ElementsUploadDataStream() { -} +ElementsUploadDataStream::~ElementsUploadDataStream() = default; std::unique_ptr<UploadDataStream> ElementsUploadDataStream::CreateWithReader( std::unique_ptr<UploadElementReader> reader,
diff --git a/net/base/elements_upload_data_stream_unittest.cc b/net/base/elements_upload_data_stream_unittest.cc index ea2a8d57..4cf5bf9 100644 --- a/net/base/elements_upload_data_stream_unittest.cc +++ b/net/base/elements_upload_data_stream_unittest.cc
@@ -72,7 +72,7 @@ init_result_(OK), read_result_(OK) {} - ~MockUploadElementReader() override {} + ~MockUploadElementReader() override = default; // UploadElementReader overrides. MOCK_METHOD1(Init, int(const CompletionCallback& callback));
diff --git a/net/base/file_stream_context.cc b/net/base/file_stream_context.cc index 651c8be..9745e291 100644 --- a/net/base/file_stream_context.cc +++ b/net/base/file_stream_context.cc
@@ -47,8 +47,7 @@ // --------------------------------------------------------------------- -FileStream::Context::OpenResult::OpenResult() { -} +FileStream::Context::OpenResult::OpenResult() = default; FileStream::Context::OpenResult::OpenResult(base::File file, IOResult error_code)
diff --git a/net/base/file_stream_context_posix.cc b/net/base/file_stream_context_posix.cc index 80fdf80..20dc04d 100644 --- a/net/base/file_stream_context_posix.cc +++ b/net/base/file_stream_context_posix.cc
@@ -35,8 +35,7 @@ orphaned_(false), task_runner_(task_runner) {} -FileStream::Context::~Context() { -} +FileStream::Context::~Context() = default; int FileStream::Context::Read(IOBuffer* in_buf, int buf_len,
diff --git a/net/base/host_mapping_rules.cc b/net/base/host_mapping_rules.cc index b8fef17..8915f3a6 100644 --- a/net/base/host_mapping_rules.cc +++ b/net/base/host_mapping_rules.cc
@@ -26,12 +26,12 @@ std::string hostname_pattern; }; -HostMappingRules::HostMappingRules() {} +HostMappingRules::HostMappingRules() = default; HostMappingRules::HostMappingRules(const HostMappingRules& host_mapping_rules) = default; -HostMappingRules::~HostMappingRules() {} +HostMappingRules::~HostMappingRules() = default; HostMappingRules& HostMappingRules::operator=( const HostMappingRules& host_mapping_rules) = default;
diff --git a/net/base/io_buffer.cc b/net/base/io_buffer.cc index 02c0d8e2..6337be54 100644 --- a/net/base/io_buffer.cc +++ b/net/base/io_buffer.cc
@@ -70,8 +70,7 @@ AssertValidBufferSize(size); } -IOBufferWithSize::~IOBufferWithSize() { -} +IOBufferWithSize::~IOBufferWithSize() = default; StringIOBuffer::StringIOBuffer(const std::string& s) : IOBuffer(static_cast<char*>(NULL)),
diff --git a/net/base/ip_address.cc b/net/base/ip_address.cc index 2345645..5443206 100644 --- a/net/base/ip_address.cc +++ b/net/base/ip_address.cc
@@ -139,7 +139,7 @@ Assign(data, data_len); } -IPAddressBytes::~IPAddressBytes() {} +IPAddressBytes::~IPAddressBytes() = default; IPAddressBytes::IPAddressBytes(IPAddressBytes const& other) = default; void IPAddressBytes::Assign(const uint8_t* data, size_t data_len) { @@ -163,7 +163,7 @@ return !(*this == other); } -IPAddress::IPAddress() {} +IPAddress::IPAddress() = default; IPAddress::IPAddress(const IPAddress& other) = default; @@ -213,7 +213,7 @@ ip_address_.push_back(b15); } -IPAddress::~IPAddress() {} +IPAddress::~IPAddress() = default; bool IPAddress::IsIPv4() const { return ip_address_.size() == kIPv4AddressSize;
diff --git a/net/base/ip_endpoint.cc b/net/base/ip_endpoint.cc index e24a5d6f..b3866b9 100644 --- a/net/base/ip_endpoint.cc +++ b/net/base/ip_endpoint.cc
@@ -82,7 +82,7 @@ IPEndPoint::IPEndPoint() : port_(0) {} -IPEndPoint::~IPEndPoint() {} +IPEndPoint::~IPEndPoint() = default; IPEndPoint::IPEndPoint(const IPAddress& address, uint16_t port) : address_(address), port_(port) {}
diff --git a/net/base/ip_pattern.cc b/net/base/ip_pattern.cc index bba6b241..67c21503 100644 --- a/net/base/ip_pattern.cc +++ b/net/base/ip_pattern.cc
@@ -37,7 +37,7 @@ DISALLOW_COPY_AND_ASSIGN(ComponentPattern); }; -IPPattern::ComponentPattern::ComponentPattern() {} +IPPattern::ComponentPattern::ComponentPattern() = default; void IPPattern::ComponentPattern::AppendRange(uint32_t min, uint32_t max) { ranges_.push_back(Range(min, max)); @@ -56,7 +56,7 @@ IPPattern::IPPattern() : is_ipv4_(true) {} -IPPattern::~IPPattern() {} +IPPattern::~IPPattern() = default; bool IPPattern::Match(const IPAddress& address) const { if (ip_mask_.empty())
diff --git a/net/base/layered_network_delegate.cc b/net/base/layered_network_delegate.cc index 2831dca8..46bd4b2 100644 --- a/net/base/layered_network_delegate.cc +++ b/net/base/layered_network_delegate.cc
@@ -12,8 +12,7 @@ std::unique_ptr<NetworkDelegate> nested_network_delegate) : nested_network_delegate_(std::move(nested_network_delegate)) {} -LayeredNetworkDelegate::~LayeredNetworkDelegate() { -} +LayeredNetworkDelegate::~LayeredNetworkDelegate() = default; int LayeredNetworkDelegate::OnBeforeURLRequest( URLRequest* request,
diff --git a/net/base/layered_network_delegate_unittest.cc b/net/base/layered_network_delegate_unittest.cc index ebf1b41..e4859b1d 100644 --- a/net/base/layered_network_delegate_unittest.cc +++ b/net/base/layered_network_delegate_unittest.cc
@@ -37,7 +37,7 @@ TestNetworkDelegateImpl(CountersMap* layered_network_delegate_counters) : layered_network_delegate_counters_(layered_network_delegate_counters) {} - ~TestNetworkDelegateImpl() override {} + ~TestNetworkDelegateImpl() override = default; // NetworkDelegateImpl implementation: int OnBeforeURLRequest(URLRequest* request, @@ -172,7 +172,7 @@ context_.Init(); } - ~TestLayeredNetworkDelegate() override {} + ~TestLayeredNetworkDelegate() override = default; void CallAndVerify() { scoped_refptr<AuthChallengeInfo> auth_challenge(new AuthChallengeInfo());
diff --git a/net/base/load_timing_info.cc b/net/base/load_timing_info.cc index 875acdd..5ce74ca 100644 --- a/net/base/load_timing_info.cc +++ b/net/base/load_timing_info.cc
@@ -8,15 +8,15 @@ namespace net { -LoadTimingInfo::ConnectTiming::ConnectTiming() {} +LoadTimingInfo::ConnectTiming::ConnectTiming() = default; -LoadTimingInfo::ConnectTiming::~ConnectTiming() {} +LoadTimingInfo::ConnectTiming::~ConnectTiming() = default; LoadTimingInfo::LoadTimingInfo() : socket_reused(false), socket_log_id(NetLogSource::kInvalidId) {} LoadTimingInfo::LoadTimingInfo(const LoadTimingInfo& other) = default; -LoadTimingInfo::~LoadTimingInfo() {} +LoadTimingInfo::~LoadTimingInfo() = default; } // namespace net
diff --git a/net/base/lookup_string_in_fixed_set.cc b/net/base/lookup_string_in_fixed_set.cc index 5c145f8..889c2d3 100644 --- a/net/base/lookup_string_in_fixed_set.cc +++ b/net/base/lookup_string_in_fixed_set.cc
@@ -79,7 +79,7 @@ FixedSetIncrementalLookup& FixedSetIncrementalLookup::operator=( const FixedSetIncrementalLookup& other) = default; -FixedSetIncrementalLookup::~FixedSetIncrementalLookup() {} +FixedSetIncrementalLookup::~FixedSetIncrementalLookup() = default; bool FixedSetIncrementalLookup::Advance(char input) { if (!pos_) {
diff --git a/net/base/mime_util.cc b/net/base/mime_util.cc index 6d403784..f1c08b8 100644 --- a/net/base/mime_util.cc +++ b/net/base/mime_util.cc
@@ -264,7 +264,7 @@ return false; } -MimeUtil::MimeUtil() {} +MimeUtil::MimeUtil() = default; // Tests for MIME parameter equality. Each parameter in the |mime_type_pattern| // must be matched by a parameter in the |mime_type|. If there are no
diff --git a/net/base/mock_file_stream.cc b/net/base/mock_file_stream.cc index 5947c79..67b8eff 100644 --- a/net/base/mock_file_stream.cc +++ b/net/base/mock_file_stream.cc
@@ -33,8 +33,7 @@ throttled_(false), weak_factory_(this) {} -MockFileStream::~MockFileStream() { -} +MockFileStream::~MockFileStream() = default; int MockFileStream::Seek(int64_t offset, const Int64CompletionCallback& callback) {
diff --git a/net/base/mock_network_change_notifier.cc b/net/base/mock_network_change_notifier.cc index b01fda9..65e3f96 100644 --- a/net/base/mock_network_change_notifier.cc +++ b/net/base/mock_network_change_notifier.cc
@@ -12,7 +12,7 @@ MockNetworkChangeNotifier::MockNetworkChangeNotifier() : force_network_handles_supported_(false), connection_type_(CONNECTION_UNKNOWN) {} -MockNetworkChangeNotifier::~MockNetworkChangeNotifier() {} +MockNetworkChangeNotifier::~MockNetworkChangeNotifier() = default; MockNetworkChangeNotifier::ConnectionType MockNetworkChangeNotifier::GetCurrentConnectionType() const { @@ -77,7 +77,7 @@ new NetworkChangeNotifier::DisableForTest()), mock_network_change_notifier_(new MockNetworkChangeNotifier()) {} -ScopedMockNetworkChangeNotifier::~ScopedMockNetworkChangeNotifier() {} +ScopedMockNetworkChangeNotifier::~ScopedMockNetworkChangeNotifier() = default; MockNetworkChangeNotifier* ScopedMockNetworkChangeNotifier::mock_network_change_notifier() {
diff --git a/net/base/network_activity_monitor.cc b/net/base/network_activity_monitor.cc index 78da8c8d..4a37d91 100644 --- a/net/base/network_activity_monitor.cc +++ b/net/base/network_activity_monitor.cc
@@ -17,8 +17,7 @@ : bytes_received_(0), bytes_sent_(0) { } -NetworkActivityMonitor::~NetworkActivityMonitor() { -} +NetworkActivityMonitor::~NetworkActivityMonitor() = default; // static NetworkActivityMonitor* NetworkActivityMonitor::GetInstance() {
diff --git a/net/base/network_change_notifier.cc b/net/base/network_change_notifier.cc index 4843dd5..190b420 100644 --- a/net/base/network_change_notifier.cc +++ b/net/base/network_change_notifier.cc
@@ -392,8 +392,8 @@ // NetworkState is thread safe. class NetworkChangeNotifier::NetworkState { public: - NetworkState() {} - ~NetworkState() {} + NetworkState() = default; + ~NetworkState() = default; void GetDnsConfig(DnsConfig* config) const { base::AutoLock lock(lock_); @@ -411,8 +411,7 @@ }; NetworkChangeNotifier::NetworkChangeCalculatorParams:: - NetworkChangeCalculatorParams() { -} + NetworkChangeCalculatorParams() = default; // Calculates NetworkChange signal from IPAddress and ConnectionType signals. class NetworkChangeNotifier::NetworkChangeCalculator
diff --git a/net/base/network_interfaces.cc b/net/base/network_interfaces.cc index ccbd66a..8ba3df11 100644 --- a/net/base/network_interfaces.cc +++ b/net/base/network_interfaces.cc
@@ -38,11 +38,9 @@ NetworkInterface::NetworkInterface(const NetworkInterface& other) = default; -NetworkInterface::~NetworkInterface() { -} +NetworkInterface::~NetworkInterface() = default; -ScopedWifiOptions::~ScopedWifiOptions() { -} +ScopedWifiOptions::~ScopedWifiOptions() = default; std::string GetHostName() { #if defined(OS_NACL)
diff --git a/net/base/network_throttle_manager_impl.cc b/net/base/network_throttle_manager_impl.cc index 7eb7257d..4c96573b0 100644 --- a/net/base/network_throttle_manager_impl.cc +++ b/net/base/network_throttle_manager_impl.cc
@@ -159,7 +159,7 @@ tick_clock_(new base::DefaultTickClock()), weak_ptr_factory_(this) {} -NetworkThrottleManagerImpl::~NetworkThrottleManagerImpl() {} +NetworkThrottleManagerImpl::~NetworkThrottleManagerImpl() = default; std::unique_ptr<NetworkThrottleManager::Throttle> NetworkThrottleManagerImpl::CreateThrottle(
diff --git a/net/base/percentile_estimator.cc b/net/base/percentile_estimator.cc index 7b3d9cf..216d6e6 100644 --- a/net/base/percentile_estimator.cc +++ b/net/base/percentile_estimator.cc
@@ -55,7 +55,7 @@ current_step_(1), generator_callback_(base::Bind(&GenerateRand0To99)) {} -PercentileEstimator::~PercentileEstimator() {} +PercentileEstimator::~PercentileEstimator() = default; void PercentileEstimator::AddSample(int sample) { int rand100 = generator_callback_.Run();
diff --git a/net/base/prioritized_dispatcher.cc b/net/base/prioritized_dispatcher.cc index a6125a0..747a454 100644 --- a/net/base/prioritized_dispatcher.cc +++ b/net/base/prioritized_dispatcher.cc
@@ -14,7 +14,7 @@ PrioritizedDispatcher::Limits::Limits(const Limits& other) = default; -PrioritizedDispatcher::Limits::~Limits() {} +PrioritizedDispatcher::Limits::~Limits() = default; PrioritizedDispatcher::PrioritizedDispatcher(const Limits& limits) : queue_(limits.reserved_slots.size()), @@ -23,7 +23,7 @@ SetLimits(limits); } -PrioritizedDispatcher::~PrioritizedDispatcher() {} +PrioritizedDispatcher::~PrioritizedDispatcher() = default; PrioritizedDispatcher::Handle PrioritizedDispatcher::Add( Job* job, Priority priority) {
diff --git a/net/base/test_completion_callback.cc b/net/base/test_completion_callback.cc index c50ba8c..ad56508 100644 --- a/net/base/test_completion_callback.cc +++ b/net/base/test_completion_callback.cc
@@ -35,8 +35,8 @@ : have_result_(false) { } -TestCompletionCallbackBaseInternal::~TestCompletionCallbackBaseInternal() { -} +TestCompletionCallbackBaseInternal::~TestCompletionCallbackBaseInternal() = + default; } // namespace internal @@ -44,31 +44,27 @@ : closure_(base::Bind(&TestClosure::DidSetResult, base::Unretained(this))) { } -TestClosure::~TestClosure() { -} +TestClosure::~TestClosure() = default; TestCompletionCallback::TestCompletionCallback() : callback_(base::Bind(&TestCompletionCallback::SetResult, base::Unretained(this))) { } -TestCompletionCallback::~TestCompletionCallback() { -} +TestCompletionCallback::~TestCompletionCallback() = default; TestInt64CompletionCallback::TestInt64CompletionCallback() : callback_(base::Bind(&TestInt64CompletionCallback::SetResult, base::Unretained(this))) { } -TestInt64CompletionCallback::~TestInt64CompletionCallback() { -} +TestInt64CompletionCallback::~TestInt64CompletionCallback() = default; ReleaseBufferCompletionCallback::ReleaseBufferCompletionCallback( IOBuffer* buffer) : buffer_(buffer) { } -ReleaseBufferCompletionCallback::~ReleaseBufferCompletionCallback() { -} +ReleaseBufferCompletionCallback::~ReleaseBufferCompletionCallback() = default; void ReleaseBufferCompletionCallback::SetResult(int result) { if (!buffer_->HasOneRef())
diff --git a/net/base/test_completion_callback_unittest.cc b/net/base/test_completion_callback_unittest.cc index db62f7e..a0ac0b5 100644 --- a/net/base/test_completion_callback_unittest.cc +++ b/net/base/test_completion_callback_unittest.cc
@@ -59,7 +59,7 @@ private: friend class base::RefCountedThreadSafe<ExampleWorker>; - ~ExampleWorker() {} + ~ExampleWorker() = default; // Only used on the origin thread (where DoSomething was called). ExampleEmployer* employer_; @@ -87,11 +87,9 @@ callback_.Run(kMagicResult); } -ExampleEmployer::ExampleEmployer() { -} +ExampleEmployer::ExampleEmployer() = default; -ExampleEmployer::~ExampleEmployer() { -} +ExampleEmployer::~ExampleEmployer() = default; bool ExampleEmployer::DoSomething(const CompletionCallback& callback) { DCHECK(!request_.get()) << "already in use";
diff --git a/net/base/test_proxy_delegate.cc b/net/base/test_proxy_delegate.cc index ffde618b..35d7f643 100644 --- a/net/base/test_proxy_delegate.cc +++ b/net/base/test_proxy_delegate.cc
@@ -16,7 +16,7 @@ on_tunnel_headers_received_called_(false), get_alternative_proxy_invocations_(0) {} -TestProxyDelegate::~TestProxyDelegate() {} +TestProxyDelegate::~TestProxyDelegate() = default; void TestProxyDelegate::VerifyOnTunnelRequestCompleted( const std::string& endpoint,
diff --git a/net/base/upload_bytes_element_reader.cc b/net/base/upload_bytes_element_reader.cc index b8b0f010..29d3bd3 100644 --- a/net/base/upload_bytes_element_reader.cc +++ b/net/base/upload_bytes_element_reader.cc
@@ -15,8 +15,7 @@ : bytes_(bytes), length_(length), offset_(0) { } -UploadBytesElementReader::~UploadBytesElementReader() { -} +UploadBytesElementReader::~UploadBytesElementReader() = default; const UploadBytesElementReader* UploadBytesElementReader::AsBytesReader() const { @@ -64,7 +63,7 @@ data_.swap(*data); } -UploadOwnedBytesElementReader::~UploadOwnedBytesElementReader() {} +UploadOwnedBytesElementReader::~UploadOwnedBytesElementReader() = default; UploadOwnedBytesElementReader* UploadOwnedBytesElementReader::CreateWithString(const std::string& string) {
diff --git a/net/base/upload_data_stream.cc b/net/base/upload_data_stream.cc index 8b5a989..e6ecb73d 100644 --- a/net/base/upload_data_stream.cc +++ b/net/base/upload_data_stream.cc
@@ -48,8 +48,7 @@ is_eof_(false) { } -UploadDataStream::~UploadDataStream() { -} +UploadDataStream::~UploadDataStream() = default; int UploadDataStream::Init(const CompletionCallback& callback, const NetLogWithSource& net_log) {
diff --git a/net/base/upload_file_element_reader.cc b/net/base/upload_file_element_reader.cc index 0b94663..26d08dba 100644 --- a/net/base/upload_file_element_reader.cc +++ b/net/base/upload_file_element_reader.cc
@@ -64,8 +64,7 @@ DCHECK(task_runner_.get()); } -UploadFileElementReader::~UploadFileElementReader() { -} +UploadFileElementReader::~UploadFileElementReader() = default; const UploadFileElementReader* UploadFileElementReader::AsFileReader() const { return this;
diff --git a/net/base/url_util.cc b/net/base/url_util.cc index ac19306c..565788b 100644 --- a/net/base/url_util.cc +++ b/net/base/url_util.cc
@@ -102,8 +102,7 @@ } } -QueryIterator::~QueryIterator() { -} +QueryIterator::~QueryIterator() = default; std::string QueryIterator::GetKey() const { DCHECK(!at_end_);
diff --git a/net/base/url_util_unittest.cc b/net/base/url_util_unittest.cc index 3a7a1b4..cee4bb22 100644 --- a/net/base/url_util_unittest.cc +++ b/net/base/url_util_unittest.cc
@@ -367,7 +367,7 @@ class UrlUtilNonUniqueNameTest : public testing::TestWithParam<NonUniqueNameTestData> { public: - virtual ~UrlUtilNonUniqueNameTest() {} + virtual ~UrlUtilNonUniqueNameTest() = default; protected: bool IsUnique(const std::string& hostname) {
diff --git a/net/cert/caching_cert_verifier.cc b/net/cert/caching_cert_verifier.cc index 15a48ae..f08d5f91 100644 --- a/net/cert/caching_cert_verifier.cc +++ b/net/cert/caching_cert_verifier.cc
@@ -88,7 +88,7 @@ CachingCertVerifier::CachedResult::CachedResult() : error(ERR_FAILED) {} -CachingCertVerifier::CachedResult::~CachedResult() {} +CachingCertVerifier::CachedResult::~CachedResult() = default; CachingCertVerifier::CacheValidityPeriod::CacheValidityPeriod(base::Time now) : verification_time(now), expiration_time(now) {}
diff --git a/net/cert/caching_cert_verifier_unittest.cc b/net/cert/caching_cert_verifier_unittest.cc index 1347659..354059f 100644 --- a/net/cert/caching_cert_verifier_unittest.cc +++ b/net/cert/caching_cert_verifier_unittest.cc
@@ -33,8 +33,8 @@ class MockCacheVisitor : public CachingCertVerifier::CacheVisitor { public: - MockCacheVisitor() {} - ~MockCacheVisitor() override {} + MockCacheVisitor() = default; + ~MockCacheVisitor() override = default; MOCK_METHOD5(VisitEntry, bool(const CachingCertVerifier::RequestParams& params, @@ -49,7 +49,7 @@ class CachingCertVerifierTest : public ::testing::Test { public: CachingCertVerifierTest() : verifier_(std::make_unique<MockCertVerifier>()) {} - ~CachingCertVerifierTest() override {} + ~CachingCertVerifierTest() override = default; protected: CachingCertVerifier verifier_;
diff --git a/net/cert/cert_database_nss.cc b/net/cert/cert_database_nss.cc index cd71820..403ffbe 100644 --- a/net/cert/cert_database_nss.cc +++ b/net/cert/cert_database_nss.cc
@@ -14,6 +14,6 @@ crypto::EnsureNSSInit(); } -CertDatabase::~CertDatabase() {} +CertDatabase::~CertDatabase() = default; } // namespace net
diff --git a/net/cert/cert_verifier.cc b/net/cert/cert_verifier.cc index 24bb009..5742ee1 100644 --- a/net/cert/cert_verifier.cc +++ b/net/cert/cert_verifier.cc
@@ -58,7 +58,7 @@ CertVerifier::RequestParams::RequestParams(const RequestParams& other) = default; -CertVerifier::RequestParams::~RequestParams() {} +CertVerifier::RequestParams::~RequestParams() = default; bool CertVerifier::RequestParams::operator==( const CertVerifier::RequestParams& other) const {
diff --git a/net/cert/cert_verify_proc.cc b/net/cert/cert_verify_proc.cc index cb97efb4..47562afd 100644 --- a/net/cert/cert_verify_proc.cc +++ b/net/cert/cert_verify_proc.cc
@@ -465,7 +465,7 @@ CertVerifyProc::CertVerifyProc() : sha1_legacy_mode_enabled(base::FeatureList::IsEnabled(kSHA1LegacyMode)) {} -CertVerifyProc::~CertVerifyProc() {} +CertVerifyProc::~CertVerifyProc() = default; int CertVerifyProc::Verify(X509Certificate* cert, const std::string& hostname,
diff --git a/net/cert/cert_verify_proc_builtin.cc b/net/cert/cert_verify_proc_builtin.cc index 9091d24..a822027 100644 --- a/net/cert/cert_verify_proc_builtin.cc +++ b/net/cert/cert_verify_proc_builtin.cc
@@ -281,9 +281,9 @@ CertVerifyResult* verify_result) override; }; -CertVerifyProcBuiltin::CertVerifyProcBuiltin() {} +CertVerifyProcBuiltin::CertVerifyProcBuiltin() = default; -CertVerifyProcBuiltin::~CertVerifyProcBuiltin() {} +CertVerifyProcBuiltin::~CertVerifyProcBuiltin() = default; bool CertVerifyProcBuiltin::SupportsAdditionalTrustAnchors() const { return true;
diff --git a/net/cert/cert_verify_proc_nss.cc b/net/cert/cert_verify_proc_nss.cc index 20339e0..dc9a449 100644 --- a/net/cert/cert_verify_proc_nss.cc +++ b/net/cert/cert_verify_proc_nss.cc
@@ -761,7 +761,7 @@ { } -CertVerifyProcNSS::~CertVerifyProcNSS() {} +CertVerifyProcNSS::~CertVerifyProcNSS() = default; bool CertVerifyProcNSS::SupportsAdditionalTrustAnchors() const { return true;
diff --git a/net/cert/cert_verify_proc_unittest.cc b/net/cert/cert_verify_proc_unittest.cc index c5a93bd..e7a8a9cc 100644 --- a/net/cert/cert_verify_proc_unittest.cc +++ b/net/cert/cert_verify_proc_unittest.cc
@@ -80,7 +80,7 @@ bool SupportsOCSPStapling() const override { return false; } protected: - ~MockCertVerifyProc() override {} + ~MockCertVerifyProc() override = default; private: int VerifyInternal(X509Certificate* cert, @@ -2102,8 +2102,8 @@ class CertVerifyProcWeakDigestTest : public testing::TestWithParam<WeakDigestTestData> { public: - CertVerifyProcWeakDigestTest() {} - virtual ~CertVerifyProcWeakDigestTest() {} + CertVerifyProcWeakDigestTest() = default; + virtual ~CertVerifyProcWeakDigestTest() = default; }; // Tests that the CertVerifyProc::Verify() properly surfaces the (weak) hash
diff --git a/net/cert/cert_verify_result.cc b/net/cert/cert_verify_result.cc index 4b60516..22ba649 100644 --- a/net/cert/cert_verify_result.cc +++ b/net/cert/cert_verify_result.cc
@@ -16,8 +16,7 @@ CertVerifyResult::CertVerifyResult(const CertVerifyResult& other) = default; -CertVerifyResult::~CertVerifyResult() { -} +CertVerifyResult::~CertVerifyResult() = default; void CertVerifyResult::Reset() { verified_cert = NULL;
diff --git a/net/cert/crl_set.cc b/net/cert/crl_set.cc index f20e2ec..a6f3e0e 100644 --- a/net/cert/crl_set.cc +++ b/net/cert/crl_set.cc
@@ -14,8 +14,7 @@ not_after_(0) { } -CRLSet::~CRLSet() { -} +CRLSet::~CRLSet() = default; CRLSet::Result CRLSet::CheckSPKI(const base::StringPiece& spki_hash) const { for (std::vector<std::string>::const_iterator i = blocked_spkis_.begin();
diff --git a/net/cert/ct_verify_result.cc b/net/cert/ct_verify_result.cc index b376241f..9da8828d 100644 --- a/net/cert/ct_verify_result.cc +++ b/net/cert/ct_verify_result.cc
@@ -17,7 +17,7 @@ CTVerifyResult::CTVerifyResult(const CTVerifyResult& other) = default; -CTVerifyResult::~CTVerifyResult() {} +CTVerifyResult::~CTVerifyResult() = default; SCTList SCTsMatchingStatus( const SignedCertificateTimestampAndStatusList& sct_and_status_list,
diff --git a/net/cert/ev_root_ca_metadata.cc b/net/cert/ev_root_ca_metadata.cc index c4fba64..85c84e1a 100644 --- a/net/cert/ev_root_ca_metadata.cc +++ b/net/cert/ev_root_ca_metadata.cc
@@ -1096,6 +1096,6 @@ #endif } -EVRootCAMetadata::~EVRootCAMetadata() { } +EVRootCAMetadata::~EVRootCAMetadata() = default; } // namespace net
diff --git a/net/cert/internal/cert_issuer_source_aia.cc b/net/cert/internal/cert_issuer_source_aia.cc index 34c8fde9..2e22bfe7 100644 --- a/net/cert/internal/cert_issuer_source_aia.cc +++ b/net/cert/internal/cert_issuer_source_aia.cc
@@ -20,7 +20,7 @@ class AiaRequest : public CertIssuerSource::Request { public: - AiaRequest() {} + AiaRequest() = default; ~AiaRequest() override; // CertIssuerSource::Request implementation.
diff --git a/net/cert/internal/cert_issuer_source_aia_unittest.cc b/net/cert/internal/cert_issuer_source_aia_unittest.cc index 4240f75..63774b2 100644 --- a/net/cert/internal/cert_issuer_source_aia_unittest.cc +++ b/net/cert/internal/cert_issuer_source_aia_unittest.cc
@@ -65,7 +65,7 @@ // MockCertNetFetcher is an implementation of CertNetFetcher for testing. class MockCertNetFetcher : public CertNetFetcher { public: - MockCertNetFetcher() {} + MockCertNetFetcher() = default; MOCK_METHOD0(Shutdown, void()); MOCK_METHOD3(FetchCaIssuers, std::unique_ptr<Request>(const GURL& url, @@ -82,7 +82,7 @@ int max_response_bytes)); protected: - ~MockCertNetFetcher() override {} + ~MockCertNetFetcher() override = default; }; // MockCertNetFetcherRequest gives back the indicated error and bytes.
diff --git a/net/cert/internal/general_names.cc b/net/cert/internal/general_names.cc index 73c34801b..7e13236 100644 --- a/net/cert/internal/general_names.cc +++ b/net/cert/internal/general_names.cc
@@ -53,9 +53,9 @@ } // namespace -GeneralNames::GeneralNames() {} +GeneralNames::GeneralNames() = default; -GeneralNames::~GeneralNames() {} +GeneralNames::~GeneralNames() = default; // static std::unique_ptr<GeneralNames> GeneralNames::Create(
diff --git a/net/cert/internal/name_constraints.cc b/net/cert/internal/name_constraints.cc index 586425e..49ab35a 100644 --- a/net/cert/internal/name_constraints.cc +++ b/net/cert/internal/name_constraints.cc
@@ -163,7 +163,7 @@ } // namespace -NameConstraints::~NameConstraints() {} +NameConstraints::~NameConstraints() = default; // static std::unique_ptr<NameConstraints> NameConstraints::Create(
diff --git a/net/cert/internal/ocsp.cc b/net/cert/internal/ocsp.cc index 49c34ddd..b8e99f1 100644 --- a/net/cert/internal/ocsp.cc +++ b/net/cert/internal/ocsp.cc
@@ -25,17 +25,17 @@ namespace net { -OCSPCertID::OCSPCertID() {} -OCSPCertID::~OCSPCertID() {} +OCSPCertID::OCSPCertID() = default; +OCSPCertID::~OCSPCertID() = default; -OCSPSingleResponse::OCSPSingleResponse() {} -OCSPSingleResponse::~OCSPSingleResponse() {} +OCSPSingleResponse::OCSPSingleResponse() = default; +OCSPSingleResponse::~OCSPSingleResponse() = default; -OCSPResponseData::OCSPResponseData() {} -OCSPResponseData::~OCSPResponseData() {} +OCSPResponseData::OCSPResponseData() = default; +OCSPResponseData::~OCSPResponseData() = default; -OCSPResponse::OCSPResponse() {} -OCSPResponse::~OCSPResponse() {} +OCSPResponse::OCSPResponse() = default; +OCSPResponse::~OCSPResponse() = default; der::Input BasicOCSPResponseOid() { // From RFC 6960:
diff --git a/net/cert/internal/parse_certificate.cc b/net/cert/internal/parse_certificate.cc index 504193ad..c9f9f98 100644 --- a/net/cert/internal/parse_certificate.cc +++ b/net/cert/internal/parse_certificate.cc
@@ -311,9 +311,9 @@ } // namespace -ParsedTbsCertificate::ParsedTbsCertificate() {} +ParsedTbsCertificate::ParsedTbsCertificate() = default; -ParsedTbsCertificate::~ParsedTbsCertificate() {} +ParsedTbsCertificate::~ParsedTbsCertificate() = default; bool VerifySerialNumber(const der::Input& value, bool warnings_only,
diff --git a/net/cert/internal/parsed_certificate.cc b/net/cert/internal/parsed_certificate.cc index 9b2f89e..1d84f30 100644 --- a/net/cert/internal/parsed_certificate.cc +++ b/net/cert/internal/parsed_certificate.cc
@@ -70,8 +70,8 @@ return true; } -ParsedCertificate::ParsedCertificate() {} -ParsedCertificate::~ParsedCertificate() {} +ParsedCertificate::ParsedCertificate() = default; +ParsedCertificate::~ParsedCertificate() = default; // static scoped_refptr<ParsedCertificate> ParsedCertificate::Create(
diff --git a/net/cert/internal/path_builder.cc b/net/cert/internal/path_builder.cc index 58509e9..15c8874 100644 --- a/net/cert/internal/path_builder.cc +++ b/net/cert/internal/path_builder.cc
@@ -505,7 +505,7 @@ AddCertIssuerSource(trust_store); } -CertPathBuilder::~CertPathBuilder() {} +CertPathBuilder::~CertPathBuilder() = default; void CertPathBuilder::AddCertIssuerSource( CertIssuerSource* cert_issuer_source) {
diff --git a/net/cert/internal/path_builder_unittest.cc b/net/cert/internal/path_builder_unittest.cc index be9e3f79..f384d9a 100644 --- a/net/cert/internal/path_builder_unittest.cc +++ b/net/cert/internal/path_builder_unittest.cc
@@ -46,7 +46,7 @@ issuers_.swap(issuers); issuers_iter_ = issuers_.begin(); } - ~StaticAsyncRequest() override {} + ~StaticAsyncRequest() override = default; void GetNext(ParsedCertificateList* out_certs) override { if (issuers_iter_ != issuers_.end()) @@ -59,7 +59,7 @@ DISALLOW_COPY_AND_ASSIGN(StaticAsyncRequest); }; - ~AsyncCertIssuerSourceStatic() override {} + ~AsyncCertIssuerSourceStatic() override = default; void AddCert(scoped_refptr<ParsedCertificate> cert) { static_cert_issuer_source_.AddCert(std::move(cert)); @@ -1158,7 +1158,7 @@ class PathBuilderSimpleChainTest : public ::testing::Test { public: - PathBuilderSimpleChainTest() {} + PathBuilderSimpleChainTest() = default; protected: void SetUp() override { @@ -1217,7 +1217,7 @@ // the trustedness of certain certificates. class PathBuilderDistrustTest : public PathBuilderSimpleChainTest { public: - PathBuilderDistrustTest() {} + PathBuilderDistrustTest() = default; protected: // Runs the path builder for the target certificate while |distrusted_cert| is
diff --git a/net/cert/internal/signature_algorithm.cc b/net/cert/internal/signature_algorithm.cc index e2841a41..ec15765 100644 --- a/net/cert/internal/signature_algorithm.cc +++ b/net/cert/internal/signature_algorithm.cc
@@ -543,8 +543,7 @@ : mgf1_hash_(mgf1_hash), salt_length_(salt_length) { } -SignatureAlgorithm::~SignatureAlgorithm() { -} +SignatureAlgorithm::~SignatureAlgorithm() = default; std::unique_ptr<SignatureAlgorithm> SignatureAlgorithm::Create( const der::Input& algorithm_identifier,
diff --git a/net/cert/internal/verify_certificate_chain.cc b/net/cert/internal/verify_certificate_chain.cc index c0de3588..d01770eb 100644 --- a/net/cert/internal/verify_certificate_chain.cc +++ b/net/cert/internal/verify_certificate_chain.cc
@@ -228,7 +228,7 @@ // the full tree of nodes. class ValidPolicyTree { public: - ValidPolicyTree() {} + ValidPolicyTree() = default; struct Node { // |root_policy| is equivalent to |valid_policy|, but in the domain of the
diff --git a/net/cert/merkle_audit_proof.cc b/net/cert/merkle_audit_proof.cc index 92ead5a..95fd197 100644 --- a/net/cert/merkle_audit_proof.cc +++ b/net/cert/merkle_audit_proof.cc
@@ -28,7 +28,7 @@ return length; } -MerkleAuditProof::MerkleAuditProof() {} +MerkleAuditProof::MerkleAuditProof() = default; MerkleAuditProof::MerkleAuditProof(const MerkleAuditProof& other) = default;
diff --git a/net/cert/merkle_consistency_proof.cc b/net/cert/merkle_consistency_proof.cc index 02f2b18..12ec936 100644 --- a/net/cert/merkle_consistency_proof.cc +++ b/net/cert/merkle_consistency_proof.cc
@@ -8,7 +8,7 @@ namespace ct { -MerkleConsistencyProof::MerkleConsistencyProof() {} +MerkleConsistencyProof::MerkleConsistencyProof() = default; MerkleConsistencyProof::MerkleConsistencyProof( const std::string& log_id, @@ -20,7 +20,7 @@ first_tree_size(old_size), second_tree_size(new_size) {} -MerkleConsistencyProof::~MerkleConsistencyProof() {} +MerkleConsistencyProof::~MerkleConsistencyProof() = default; } // namespace ct
diff --git a/net/cert/merkle_tree_leaf.cc b/net/cert/merkle_tree_leaf.cc index 5fb2eba..07cd469 100644 --- a/net/cert/merkle_tree_leaf.cc +++ b/net/cert/merkle_tree_leaf.cc
@@ -13,7 +13,7 @@ namespace ct { -MerkleTreeLeaf::MerkleTreeLeaf() {} +MerkleTreeLeaf::MerkleTreeLeaf() = default; MerkleTreeLeaf::MerkleTreeLeaf(const MerkleTreeLeaf& other) = default;
diff --git a/net/cert/mock_cert_verifier.cc b/net/cert/mock_cert_verifier.cc index 9cbbafd..e7f9862 100644 --- a/net/cert/mock_cert_verifier.cc +++ b/net/cert/mock_cert_verifier.cc
@@ -38,7 +38,7 @@ MockCertVerifier::MockCertVerifier() : default_result_(ERR_CERT_INVALID) {} -MockCertVerifier::~MockCertVerifier() {} +MockCertVerifier::~MockCertVerifier() = default; int MockCertVerifier::Verify(const RequestParams& params, CRLSet* crl_set,
diff --git a/net/cert/mock_client_cert_verifier.cc b/net/cert/mock_client_cert_verifier.cc index 1196e2c7..21c9a5da 100644 --- a/net/cert/mock_client_cert_verifier.cc +++ b/net/cert/mock_client_cert_verifier.cc
@@ -21,7 +21,7 @@ MockClientCertVerifier::MockClientCertVerifier() : default_result_(ERR_CERT_INVALID) {} -MockClientCertVerifier::~MockClientCertVerifier() {} +MockClientCertVerifier::~MockClientCertVerifier() = default; int MockClientCertVerifier::Verify(X509Certificate* cert, const CompletionCallback& callback,
diff --git a/net/cert/multi_log_ct_verifier.cc b/net/cert/multi_log_ct_verifier.cc index e6b6c85..784924a 100644 --- a/net/cert/multi_log_ct_verifier.cc +++ b/net/cert/multi_log_ct_verifier.cc
@@ -67,7 +67,7 @@ MultiLogCTVerifier::MultiLogCTVerifier() : observer_(nullptr) { } -MultiLogCTVerifier::~MultiLogCTVerifier() { } +MultiLogCTVerifier::~MultiLogCTVerifier() = default; void MultiLogCTVerifier::AddLogs( const std::vector<scoped_refptr<const CTLogVerifier>>& log_verifiers) {
diff --git a/net/cert/multi_threaded_cert_verifier_unittest.cc b/net/cert/multi_threaded_cert_verifier_unittest.cc index aecbb51..cf85142 100644 --- a/net/cert/multi_threaded_cert_verifier_unittest.cc +++ b/net/cert/multi_threaded_cert_verifier_unittest.cc
@@ -35,10 +35,10 @@ class MockCertVerifyProc : public CertVerifyProc { public: - MockCertVerifyProc() {} + MockCertVerifyProc() = default; private: - ~MockCertVerifyProc() override {} + ~MockCertVerifyProc() override = default; // CertVerifyProc implementation bool SupportsAdditionalTrustAnchors() const override { return false; } @@ -63,7 +63,7 @@ class MultiThreadedCertVerifierTest : public ::testing::Test { public: MultiThreadedCertVerifierTest() : verifier_(new MockCertVerifyProc()) {} - ~MultiThreadedCertVerifierTest() override {} + ~MultiThreadedCertVerifierTest() override = default; protected: MultiThreadedCertVerifier verifier_;
diff --git a/net/cert/nss_cert_database.cc b/net/cert/nss_cert_database.cc index 4c96f53..a36d647 100644 --- a/net/cert/nss_cert_database.cc +++ b/net/cert/nss_cert_database.cc
@@ -44,7 +44,7 @@ explicit CertNotificationForwarder(CertDatabase* cert_db) : cert_db_(cert_db) {} - ~CertNotificationForwarder() override {} + ~CertNotificationForwarder() override = default; void OnCertDBChanged() override { cert_db_->NotifyObserversCertDBChanged(); } @@ -82,7 +82,7 @@ psm::EnsurePKCS12Init(); } -NSSCertDatabase::~NSSCertDatabase() {} +NSSCertDatabase::~NSSCertDatabase() = default; ScopedCERTCertificateList NSSCertDatabase::ListCertsSync() { return ListCertsImpl(crypto::ScopedPK11Slot());
diff --git a/net/cert/nss_cert_database_chromeos.cc b/net/cert/nss_cert_database_chromeos.cc index 936c15d..8b4ec76 100644 --- a/net/cert/nss_cert_database_chromeos.cc +++ b/net/cert/nss_cert_database_chromeos.cc
@@ -31,7 +31,7 @@ crypto::ScopedPK11Slot() /* no system slot */); } -NSSCertDatabaseChromeOS::~NSSCertDatabaseChromeOS() {} +NSSCertDatabaseChromeOS::~NSSCertDatabaseChromeOS() = default; void NSSCertDatabaseChromeOS::SetSystemSlot( crypto::ScopedPK11Slot system_slot) {
diff --git a/net/cert/nss_profile_filter_chromeos.cc b/net/cert/nss_profile_filter_chromeos.cc index a119fed..6160256 100644 --- a/net/cert/nss_profile_filter_chromeos.cc +++ b/net/cert/nss_profile_filter_chromeos.cc
@@ -36,7 +36,7 @@ } // namespace -NSSProfileFilterChromeOS::NSSProfileFilterChromeOS() {} +NSSProfileFilterChromeOS::NSSProfileFilterChromeOS() = default; NSSProfileFilterChromeOS::NSSProfileFilterChromeOS( const NSSProfileFilterChromeOS& other) { @@ -50,7 +50,7 @@ other.system_slot_ ? PK11_ReferenceSlot(other.system_slot_.get()) : NULL); } -NSSProfileFilterChromeOS::~NSSProfileFilterChromeOS() {} +NSSProfileFilterChromeOS::~NSSProfileFilterChromeOS() = default; NSSProfileFilterChromeOS& NSSProfileFilterChromeOS::operator=( const NSSProfileFilterChromeOS& other) {
diff --git a/net/cert/pem_tokenizer.cc b/net/cert/pem_tokenizer.cc index 6721462e..fe2f780c 100644 --- a/net/cert/pem_tokenizer.cc +++ b/net/cert/pem_tokenizer.cc
@@ -32,8 +32,7 @@ Init(str, allowed_block_types); } -PEMTokenizer::~PEMTokenizer() { -} +PEMTokenizer::~PEMTokenizer() = default; bool PEMTokenizer::GetNext() { while (pos_ != StringPiece::npos) {
diff --git a/net/cert/signed_certificate_timestamp.cc b/net/cert/signed_certificate_timestamp.cc index a2ec06e..3fff518 100644 --- a/net/cert/signed_certificate_timestamp.cc +++ b/net/cert/signed_certificate_timestamp.cc
@@ -31,7 +31,7 @@ SignedCertificateTimestamp::SignedCertificateTimestamp() : version(V1), origin(SCT_EMBEDDED) {} -SignedCertificateTimestamp::~SignedCertificateTimestamp() {} +SignedCertificateTimestamp::~SignedCertificateTimestamp() = default; void SignedCertificateTimestamp::Persist(base::Pickle* pickle) { pickle->WriteInt(version); @@ -80,7 +80,7 @@ SignedEntryData::SignedEntryData() : type(LOG_ENTRY_TYPE_X509) {} -SignedEntryData::~SignedEntryData() {} +SignedEntryData::~SignedEntryData() = default; void SignedEntryData::Reset() { type = SignedEntryData::LOG_ENTRY_TYPE_X509; @@ -91,7 +91,7 @@ DigitallySigned::DigitallySigned() : hash_algorithm(HASH_ALGO_NONE), signature_algorithm(SIG_ALGO_ANONYMOUS) {} -DigitallySigned::~DigitallySigned() {} +DigitallySigned::~DigitallySigned() = default; bool DigitallySigned::SignatureParametersMatch( HashAlgorithm other_hash_algorithm,
diff --git a/net/cert/signed_certificate_timestamp_and_status.cc b/net/cert/signed_certificate_timestamp_and_status.cc index 364bb2c1..a1ac7ac 100644 --- a/net/cert/signed_certificate_timestamp_and_status.cc +++ b/net/cert/signed_certificate_timestamp_and_status.cc
@@ -8,7 +8,8 @@ namespace net { -SignedCertificateTimestampAndStatus::SignedCertificateTimestampAndStatus() {} +SignedCertificateTimestampAndStatus::SignedCertificateTimestampAndStatus() = + default; SignedCertificateTimestampAndStatus::SignedCertificateTimestampAndStatus( const scoped_refptr<ct::SignedCertificateTimestamp>& sct, @@ -18,6 +19,7 @@ SignedCertificateTimestampAndStatus::SignedCertificateTimestampAndStatus( const SignedCertificateTimestampAndStatus& other) = default; -SignedCertificateTimestampAndStatus::~SignedCertificateTimestampAndStatus() {} +SignedCertificateTimestampAndStatus::~SignedCertificateTimestampAndStatus() = + default; } // namespace net
diff --git a/net/cert/signed_tree_head.cc b/net/cert/signed_tree_head.cc index 1816446..a2dc9efb 100644 --- a/net/cert/signed_tree_head.cc +++ b/net/cert/signed_tree_head.cc
@@ -13,7 +13,7 @@ namespace net { namespace ct { -SignedTreeHead::SignedTreeHead() {} +SignedTreeHead::SignedTreeHead() = default; SignedTreeHead::SignedTreeHead(Version version, const base::Time& timestamp, @@ -31,7 +31,7 @@ SignedTreeHead::SignedTreeHead(const SignedTreeHead& other) = default; -SignedTreeHead::~SignedTreeHead() {} +SignedTreeHead::~SignedTreeHead() = default; void PrintTo(const SignedTreeHead& sth, std::ostream* os) { (*os) << "{\n"
diff --git a/net/cert/sth_distributor.cc b/net/cert/sth_distributor.cc index eb4de35c..3de77d90 100644 --- a/net/cert/sth_distributor.cc +++ b/net/cert/sth_distributor.cc
@@ -22,7 +22,7 @@ STHDistributor::STHDistributor() : observer_list_(base::ObserverListPolicy::EXISTING_ONLY) {} -STHDistributor::~STHDistributor() {} +STHDistributor::~STHDistributor() = default; void STHDistributor::NewSTHObserved(const SignedTreeHead& sth) { auto it = std::find_if(observed_sths_.begin(), observed_sths_.end(),
diff --git a/net/cert/sth_distributor_unittest.cc b/net/cert/sth_distributor_unittest.cc index b4edd23..c57b61d7 100644 --- a/net/cert/sth_distributor_unittest.cc +++ b/net/cert/sth_distributor_unittest.cc
@@ -33,7 +33,7 @@ class STHDistributorTest : public ::testing::Test { public: - STHDistributorTest() {} + STHDistributorTest() = default; void SetUp() override { ASSERT_TRUE(GetSampleSignedTreeHead(&sample_sth_));
diff --git a/net/cert/test_root_certs.cc b/net/cert/test_root_certs.cc index c5f777e..cd07674c 100644 --- a/net/cert/test_root_certs.cc +++ b/net/cert/test_root_certs.cc
@@ -57,7 +57,7 @@ g_has_instance = true; } -ScopedTestRoot::ScopedTestRoot() {} +ScopedTestRoot::ScopedTestRoot() = default; ScopedTestRoot::ScopedTestRoot(X509Certificate* cert) { Reset(cert);
diff --git a/net/cert/x509_cert_types.cc b/net/cert/x509_cert_types.cc index 4c31915..783f409 100644 --- a/net/cert/x509_cert_types.cc +++ b/net/cert/x509_cert_types.cc
@@ -33,13 +33,11 @@ } // anonymous namespace -CertPrincipal::CertPrincipal() { -} +CertPrincipal::CertPrincipal() = default; CertPrincipal::CertPrincipal(const std::string& name) : common_name(name) {} -CertPrincipal::~CertPrincipal() { -} +CertPrincipal::~CertPrincipal() = default; bool CertPrincipal::ParseDistinguishedName( const void* ber_name_data,
diff --git a/net/cert/x509_cert_types_unittest.cc b/net/cert/x509_cert_types_unittest.cc index 43db271..d269cbe 100644 --- a/net/cert/x509_cert_types_unittest.cc +++ b/net/cert/x509_cert_types_unittest.cc
@@ -161,8 +161,8 @@ class X509CertTypesDateTest : public testing::TestWithParam<CertDateTestData> { public: - virtual ~X509CertTypesDateTest() {} - void SetUp() override { test_data_ = GetParam(); } + virtual ~X509CertTypesDateTest() = default; + void SetUp() override { test_data_ = GetParam(); } protected: CertDateTestData test_data_;
diff --git a/net/cert/x509_certificate_unittest.cc b/net/cert/x509_certificate_unittest.cc index 1a1c4a8c..a9cee29 100644 --- a/net/cert/x509_certificate_unittest.cc +++ b/net/cert/x509_certificate_unittest.cc
@@ -971,7 +971,7 @@ class X509CertificateParseTest : public testing::TestWithParam<CertificateFormatTestData> { public: - virtual ~X509CertificateParseTest() {} + virtual ~X509CertificateParseTest() = default; void SetUp() override { test_data_ = GetParam(); } void TearDown() override {}
diff --git a/net/cert_net/nss_ocsp.cc b/net/cert_net/nss_ocsp.cc index e485462..1926cf6 100644 --- a/net/cert_net/nss_ocsp.cc +++ b/net/cert_net/nss_ocsp.cc
@@ -478,7 +478,7 @@ public: OCSPServerSession(const char* host, PRUint16 port) : host_and_port_(host, port) {} - ~OCSPServerSession() {} + ~OCSPServerSession() = default; OCSPRequestSession* CreateRequest(const char* http_protocol_variant, const char* path_and_query_string,
diff --git a/net/cert_net/nss_ocsp_unittest.cc b/net/cert_net/nss_ocsp_unittest.cc index d86e6a2..45004f5 100644 --- a/net/cert_net/nss_ocsp_unittest.cc +++ b/net/cert_net/nss_ocsp_unittest.cc
@@ -52,7 +52,7 @@ public: AiaResponseHandler(const std::string& headers, const std::string& cert_data) : headers_(headers), cert_data_(cert_data), request_count_(0) {} - ~AiaResponseHandler() override {} + ~AiaResponseHandler() override = default; // URLRequestInterceptor implementation: URLRequestJob* MaybeInterceptRequest( @@ -83,7 +83,7 @@ handler_(NULL), verify_proc_(new CertVerifyProcNSS), verifier_(new MultiThreadedCertVerifier(verify_proc_.get())) {} - ~NssHttpTest() override {} + ~NssHttpTest() override = default; void SetUp() override { std::string file_contents;
diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc index fa6b40dd..0939cdd 100644 --- a/net/cookies/canonical_cookie.cc +++ b/net/cookies/canonical_cookie.cc
@@ -123,7 +123,7 @@ same_site_(same_site), priority_(priority) {} -CanonicalCookie::~CanonicalCookie() {} +CanonicalCookie::~CanonicalCookie() = default; // static std::string CanonicalCookie::CanonPathWithString(
diff --git a/net/cookies/cookie_monster.cc b/net/cookies/cookie_monster.cc index ead56f9..748612eb 100644 --- a/net/cookies/cookie_monster.cc +++ b/net/cookies/cookie_monster.cc
@@ -156,7 +156,7 @@ CookieMonsterCookieChangedSubscription( const CookieStore::CookieChangedCallback& callback) : callback_(callback), weak_ptr_factory_(this) {} - ~CookieMonsterCookieChangedSubscription() override {} + ~CookieMonsterCookieChangedSubscription() override = default; void SetCallbackSubscription( std::unique_ptr<CookieStore::CookieChangedCallbackList::Subscription>
diff --git a/net/cookies/cookie_monster_store_test.cc b/net/cookies/cookie_monster_store_test.cc index 067688fd..66f1812e 100644 --- a/net/cookies/cookie_monster_store_test.cc +++ b/net/cookies/cookie_monster_store_test.cc
@@ -30,7 +30,7 @@ CookieStoreCommand::CookieStoreCommand(const CookieStoreCommand& other) = default; -CookieStoreCommand::~CookieStoreCommand() {} +CookieStoreCommand::~CookieStoreCommand() = default; MockPersistentCookieStore::MockPersistentCookieStore() : store_load_commands_(false), load_return_value_(true), loaded_(false) {} @@ -98,8 +98,7 @@ void MockPersistentCookieStore::SetForceKeepSessionState() { } -MockPersistentCookieStore::~MockPersistentCookieStore() { -} +MockPersistentCookieStore::~MockPersistentCookieStore() = default; std::unique_ptr<CanonicalCookie> BuildCanonicalCookie( const GURL& url, @@ -242,7 +241,6 @@ return std::make_unique<CookieMonster>(store.get()); } -MockSimplePersistentCookieStore::~MockSimplePersistentCookieStore() { -} +MockSimplePersistentCookieStore::~MockSimplePersistentCookieStore() = default; } // namespace net
diff --git a/net/cookies/cookie_monster_unittest.cc b/net/cookies/cookie_monster_unittest.cc index d5be5c2..da851feb 100644 --- a/net/cookies/cookie_monster_unittest.cc +++ b/net/cookies/cookie_monster_unittest.cc
@@ -69,7 +69,7 @@ MOCK_METHOD0(SetForceKeepSessionState, void()); private: - virtual ~NewMockPersistentCookieStore() {} + virtual ~NewMockPersistentCookieStore() = default; }; // False means 'less than or equal', so we test both ways for full equal. @@ -2414,7 +2414,7 @@ int flush_count() { return flush_count_; } private: - ~FlushablePersistentStore() override {} + ~FlushablePersistentStore() override = default; volatile int flush_count_; }; @@ -2430,7 +2430,7 @@ private: friend class base::RefCountedThreadSafe<CallbackCounter>; - ~CallbackCounter() {} + ~CallbackCounter() = default; volatile int callback_count_; }; @@ -3105,7 +3105,7 @@ store_(new MockPersistentCookieStore), monster_(new CookieMonster(store_.get())) {} - ~CookieMonsterNotificationTest() override {} + ~CookieMonsterNotificationTest() override = default; CookieMonster* monster() { return monster_.get(); }
diff --git a/net/cookies/cookie_store.cc b/net/cookies/cookie_store.cc index a423a6a..9190dfa 100644 --- a/net/cookies/cookie_store.cc +++ b/net/cookies/cookie_store.cc
@@ -10,7 +10,7 @@ namespace net { -CookieStore::~CookieStore() {} +CookieStore::~CookieStore() = default; bool CookieStore::ChangeCauseIsDeletion(CookieStore::ChangeCause cause) { return cause != CookieStore::ChangeCause::INSERTED;
diff --git a/net/cookies/cookie_store_test_callbacks.cc b/net/cookies/cookie_store_test_callbacks.cc index 9e36e70..d37225a0 100644 --- a/net/cookies/cookie_store_test_callbacks.cc +++ b/net/cookies/cookie_store_test_callbacks.cc
@@ -18,7 +18,7 @@ CookieCallback::CookieCallback() : run_in_thread_(NULL), run_in_loop_(base::MessageLoop::current()) {} -CookieCallback::~CookieCallback() {} +CookieCallback::~CookieCallback() = default; void CookieCallback::CallbackEpilogue() { base::MessageLoop* expected_loop = NULL; @@ -38,20 +38,20 @@ loop_to_quit_.Run(); } -StringResultCookieCallback::StringResultCookieCallback() {} +StringResultCookieCallback::StringResultCookieCallback() = default; StringResultCookieCallback::StringResultCookieCallback( base::Thread* run_in_thread) : CookieCallback(run_in_thread) {} -NoResultCookieCallback::NoResultCookieCallback() {} +NoResultCookieCallback::NoResultCookieCallback() = default; NoResultCookieCallback::NoResultCookieCallback(base::Thread* run_in_thread) : CookieCallback(run_in_thread) {} -GetCookieListCallback::GetCookieListCallback() {} +GetCookieListCallback::GetCookieListCallback() = default; GetCookieListCallback::GetCookieListCallback(base::Thread* run_in_thread) : CookieCallback(run_in_thread) {} -GetCookieListCallback::~GetCookieListCallback() {} +GetCookieListCallback::~GetCookieListCallback() = default; void GetCookieListCallback::Run(const CookieList& cookies) { cookies_ = cookies;
diff --git a/net/cookies/cookie_store_test_helpers.cc b/net/cookies/cookie_store_test_helpers.cc index e144e89..0f408fd 100644 --- a/net/cookies/cookie_store_test_helpers.cc +++ b/net/cookies/cookie_store_test_helpers.cc
@@ -38,8 +38,7 @@ did_run_(false), result_(false) {} -DelayedCookieMonster::~DelayedCookieMonster() { -} +DelayedCookieMonster::~DelayedCookieMonster() = default; void DelayedCookieMonster::SetCookiesInternalCallback(bool result) { result_ = result;
diff --git a/net/cookies/parsed_cookie.cc b/net/cookies/parsed_cookie.cc index 8c09060..1be10ee 100644 --- a/net/cookies/parsed_cookie.cc +++ b/net/cookies/parsed_cookie.cc
@@ -147,8 +147,7 @@ SetupAttributes(); } -ParsedCookie::~ParsedCookie() { -} +ParsedCookie::~ParsedCookie() = default; bool ParsedCookie::IsValid() const { return !pairs_.empty() && IsSameSiteAttributeValid();
diff --git a/net/disk_cache/backend_cleanup_tracker_unittest.cc b/net/disk_cache/backend_cleanup_tracker_unittest.cc index 9f9a92352..1e1aec6d 100644 --- a/net/disk_cache/backend_cleanup_tracker_unittest.cc +++ b/net/disk_cache/backend_cleanup_tracker_unittest.cc
@@ -21,7 +21,7 @@ class BackendCleanupTrackerTest : public testing::Test { protected: - BackendCleanupTrackerTest() {} + BackendCleanupTrackerTest() = default; void SetUp() override { testing::Test::SetUp();
diff --git a/net/disk_cache/blockfile/block_files.cc b/net/disk_cache/blockfile/block_files.cc index 78d75960..eac68fb 100644 --- a/net/disk_cache/blockfile/block_files.cc +++ b/net/disk_cache/blockfile/block_files.cc
@@ -49,11 +49,9 @@ : header_(reinterpret_cast<BlockFileHeader*>(file->buffer())) { } -BlockHeader::BlockHeader(const BlockHeader& other) : header_(other.header_) { -} +BlockHeader::BlockHeader(const BlockHeader& other) = default; -BlockHeader::~BlockHeader() { -} +BlockHeader::~BlockHeader() = default; bool BlockHeader::CreateMapBlock(int size, int* index) { DCHECK(size > 0 && size <= kMaxNumBlocks);
diff --git a/net/disk_cache/blockfile/entry_impl.cc b/net/disk_cache/blockfile/entry_impl.cc index 5cd75f00..16e49b97 100644 --- a/net/disk_cache/blockfile/entry_impl.cc +++ b/net/disk_cache/blockfile/entry_impl.cc
@@ -52,7 +52,7 @@ end_event_type_(end_event_type) { entry_->IncrementIoCount(); } - ~SyncCallback() override {} + ~SyncCallback() override = default; void OnFileIOComplete(int bytes_copied) override; void Discard();
diff --git a/net/disk_cache/blockfile/eviction.cc b/net/disk_cache/blockfile/eviction.cc index 821be2d..7ff205e2 100644 --- a/net/disk_cache/blockfile/eviction.cc +++ b/net/disk_cache/blockfile/eviction.cc
@@ -85,8 +85,7 @@ ptr_factory_(this) { } -Eviction::~Eviction() { -} +Eviction::~Eviction() = default; void Eviction::Init(BackendImpl* backend) { // We grab a bunch of info from the backend to make the code a little cleaner
diff --git a/net/disk_cache/blockfile/file_posix.cc b/net/disk_cache/blockfile/file_posix.cc index 1297cf0..69058f1 100644 --- a/net/disk_cache/blockfile/file_posix.cc +++ b/net/disk_cache/blockfile/file_posix.cc
@@ -31,7 +31,7 @@ base::TaskPriority::USER_BLOCKING) {} protected: - ~FileWorkerPool() override {} + ~FileWorkerPool() override = default; }; base::LazyInstance<FileWorkerPool>::Leaky s_worker_pool = @@ -162,9 +162,7 @@ void File::DropPendingIO() { } - -File::~File() { -} +File::~File() = default; base::PlatformFile File::platform_file() const { return base_file_.GetPlatformFile();
diff --git a/net/disk_cache/blockfile/in_flight_backend_io.cc b/net/disk_cache/blockfile/in_flight_backend_io.cc index 2e7f7c6..2ea9b81 100644 --- a/net/disk_cache/blockfile/in_flight_backend_io.cc +++ b/net/disk_cache/blockfile/in_flight_backend_io.cc
@@ -229,7 +229,7 @@ entry_ = entry; } -BackendIO::~BackendIO() {} +BackendIO::~BackendIO() = default; bool BackendIO::ReturnsEntry() { return operation_ == OP_OPEN || operation_ == OP_CREATE || @@ -364,8 +364,7 @@ ptr_factory_(this) { } -InFlightBackendIO::~InFlightBackendIO() { -} +InFlightBackendIO::~InFlightBackendIO() = default; void InFlightBackendIO::Init(const net::CompletionCallback& callback) { scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback));
diff --git a/net/disk_cache/blockfile/in_flight_io.cc b/net/disk_cache/blockfile/in_flight_io.cc index 7fdd56b..b8fee8c4 100644 --- a/net/disk_cache/blockfile/in_flight_io.cc +++ b/net/disk_cache/blockfile/in_flight_io.cc
@@ -32,8 +32,7 @@ controller_ = NULL; } -BackgroundIO::~BackgroundIO() { -} +BackgroundIO::~BackgroundIO() = default; // --------------------------------------------------------------------------- @@ -41,8 +40,7 @@ : callback_task_runner_(base::ThreadTaskRunnerHandle::Get()), running_(false) {} -InFlightIO::~InFlightIO() { -} +InFlightIO::~InFlightIO() = default; // Runs on the background thread. void BackgroundIO::NotifyController() {
diff --git a/net/disk_cache/blockfile/mapped_file_unittest.cc b/net/disk_cache/blockfile/mapped_file_unittest.cc index 1c864513..f5fd0f5 100644 --- a/net/disk_cache/blockfile/mapped_file_unittest.cc +++ b/net/disk_cache/blockfile/mapped_file_unittest.cc
@@ -19,7 +19,7 @@ helper_(helper), max_id_(max_id) { } - ~FileCallbackTest() override {} + ~FileCallbackTest() override = default; void OnFileIOComplete(int bytes_copied) override;
diff --git a/net/disk_cache/blockfile/rankings.cc b/net/disk_cache/blockfile/rankings.cc index c0d023c7..68d2c3b 100644 --- a/net/disk_cache/blockfile/rankings.cc +++ b/net/disk_cache/blockfile/rankings.cc
@@ -221,7 +221,7 @@ Rankings::Rankings() : init_(false) {} -Rankings::~Rankings() {} +Rankings::~Rankings() = default; bool Rankings::Init(BackendImpl* backend, bool count_lists) { DCHECK(!init_);
diff --git a/net/disk_cache/blockfile/sparse_control.cc b/net/disk_cache/blockfile/sparse_control.cc index d24e664..3391533 100644 --- a/net/disk_cache/blockfile/sparse_control.cc +++ b/net/disk_cache/blockfile/sparse_control.cc
@@ -74,7 +74,7 @@ private: friend class base::RefCounted<ChildrenDeleter>; - ~ChildrenDeleter() override {} + ~ChildrenDeleter() override = default; void DeleteChildren();
diff --git a/net/disk_cache/blockfile/stats.cc b/net/disk_cache/blockfile/stats.cc index a371d28..72e15e7 100644 --- a/net/disk_cache/blockfile/stats.cc +++ b/net/disk_cache/blockfile/stats.cc
@@ -92,11 +92,9 @@ return true; } -Stats::Stats() { -} +Stats::Stats() = default; -Stats::~Stats() { -} +Stats::~Stats() = default; bool Stats::Init(void* data, int num_bytes, Addr address) { OnDiskStats local_stats;
diff --git a/net/disk_cache/disk_cache.cc b/net/disk_cache/disk_cache.cc index fe7a2fa..94551a40 100644 --- a/net/disk_cache/disk_cache.cc +++ b/net/disk_cache/disk_cache.cc
@@ -94,7 +94,7 @@ net_log_(net_log) { } -CacheCreator::~CacheCreator() {} +CacheCreator::~CacheCreator() = default; int CacheCreator::Run() { #if defined(OS_ANDROID)
diff --git a/net/disk_cache/disk_cache_test_base.cc b/net/disk_cache/disk_cache_test_base.cc index 17ffec7d..727dbb8f 100644 --- a/net/disk_cache/disk_cache_test_base.cc +++ b/net/disk_cache/disk_cache_test_base.cc
@@ -38,8 +38,7 @@ cache_path_ = temp_dir_.GetPath(); } -DiskCacheTest::~DiskCacheTest() { -} +DiskCacheTest::~DiskCacheTest() = default; bool DiskCacheTest::CopyTestCache(const std::string& name) { base::FilePath path; @@ -66,7 +65,7 @@ std::unique_ptr<disk_cache::Backend::Iterator> iterator) : iterator_(std::move(iterator)) {} -DiskCacheTestWithCache::TestIterator::~TestIterator() {} +DiskCacheTestWithCache::TestIterator::~TestIterator() = default; int DiskCacheTestWithCache::TestIterator::OpenNextEntry( disk_cache::Entry** next_entry) { @@ -96,7 +95,7 @@ use_current_thread_(false), scoped_task_env_(scoped_task_env) {} -DiskCacheTestWithCache::~DiskCacheTestWithCache() {} +DiskCacheTestWithCache::~DiskCacheTestWithCache() = default; void DiskCacheTestWithCache::InitCache() { if (memory_only_)
diff --git a/net/disk_cache/disk_cache_test_util.cc b/net/disk_cache/disk_cache_test_util.cc index 426aeab..69314c5 100644 --- a/net/disk_cache/disk_cache_test_util.cc +++ b/net/disk_cache/disk_cache_test_util.cc
@@ -84,7 +84,7 @@ callback_reused_error_(false), callbacks_called_(0) {} -MessageLoopHelper::~MessageLoopHelper() {} +MessageLoopHelper::~MessageLoopHelper() = default; bool MessageLoopHelper::WaitUntilCacheIoFinished(int num_callbacks) { if (num_callbacks == callbacks_called_) @@ -128,8 +128,7 @@ reuse_(reuse ? 0 : 1) { } -CallbackTest::~CallbackTest() { -} +CallbackTest::~CallbackTest() = default; // On the actual callback, increase the number of tests received and check for // errors (an unexpected test received)
diff --git a/net/disk_cache/simple/simple_entry_impl.cc b/net/disk_cache/simple/simple_entry_impl.cc index 23ea000..7123aac 100644 --- a/net/disk_cache/simple/simple_entry_impl.cc +++ b/net/disk_cache/simple/simple_entry_impl.cc
@@ -176,7 +176,7 @@ SimpleEntryImpl* const entry_; }; -SimpleEntryImpl::ActiveEntryProxy::~ActiveEntryProxy() {} +SimpleEntryImpl::ActiveEntryProxy::~ActiveEntryProxy() = default; SimpleEntryImpl::SimpleEntryImpl( net::CacheType cache_type,
diff --git a/net/disk_cache/simple/simple_entry_operation.cc b/net/disk_cache/simple/simple_entry_operation.cc index 7e2f789..36ebde6 100644 --- a/net/disk_cache/simple/simple_entry_operation.cc +++ b/net/disk_cache/simple/simple_entry_operation.cc
@@ -51,7 +51,7 @@ alone_in_queue_(other.alone_in_queue_) { } -SimpleEntryOperation::~SimpleEntryOperation() {} +SimpleEntryOperation::~SimpleEntryOperation() = default; // static SimpleEntryOperation SimpleEntryOperation::OpenOperation(
diff --git a/net/disk_cache/simple/simple_file_tracker.cc b/net/disk_cache/simple/simple_file_tracker.cc index 535b507..77b650b5 100644 --- a/net/disk_cache/simple/simple_file_tracker.cc +++ b/net/disk_cache/simple/simple_file_tracker.cc
@@ -13,7 +13,7 @@ namespace disk_cache { -SimpleFileTracker::SimpleFileTracker() {} +SimpleFileTracker::SimpleFileTracker() = default; SimpleFileTracker::~SimpleFileTracker() { DCHECK(tracked_files_.empty());
diff --git a/net/disk_cache/simple/simple_index_file.cc b/net/disk_cache/simple/simple_index_file.cc index 073a45dd..d5aa642 100644 --- a/net/disk_cache/simple/simple_index_file.cc +++ b/net/disk_cache/simple/simple_index_file.cc
@@ -210,8 +210,7 @@ index_write_reason(SimpleIndex::INDEX_WRITE_REASON_MAX), flush_required(false) {} -SimpleIndexLoadResult::~SimpleIndexLoadResult() { -} +SimpleIndexLoadResult::~SimpleIndexLoadResult() = default; void SimpleIndexLoadResult::Reset() { did_load = false; @@ -353,7 +352,7 @@ temp_index_file_(cache_directory_.AppendASCII(kIndexDirectory) .AppendASCII(kTempIndexFileName)) {} -SimpleIndexFile::~SimpleIndexFile() {} +SimpleIndexFile::~SimpleIndexFile() = default; void SimpleIndexFile::LoadIndexEntries(base::Time cache_last_modified, const base::Closure& callback,
diff --git a/net/disk_cache/simple/simple_index_file_unittest.cc b/net/disk_cache/simple/simple_index_file_unittest.cc index d3d6cbf..1e0254d4 100644 --- a/net/disk_cache/simple/simple_index_file_unittest.cc +++ b/net/disk_cache/simple/simple_index_file_unittest.cc
@@ -155,7 +155,7 @@ base::ThreadTaskRunnerHandle::Get(), net::DISK_CACHE, index_file_directory) {} - ~WrappedSimpleIndexFile() override {} + ~WrappedSimpleIndexFile() override = default; const base::FilePath& GetIndexFilePath() const { return index_file_;
diff --git a/net/disk_cache/simple/simple_synchronous_entry.cc b/net/disk_cache/simple/simple_synchronous_entry.cc index 2048281c..74b07f63 100644 --- a/net/disk_cache/simple/simple_synchronous_entry.cc +++ b/net/disk_cache/simple/simple_synchronous_entry.cc
@@ -187,14 +187,13 @@ SimpleStreamPrefetchData::SimpleStreamPrefetchData() : stream_crc32(crc32(0, Z_NULL, 0)) {} -SimpleStreamPrefetchData::~SimpleStreamPrefetchData() {} +SimpleStreamPrefetchData::~SimpleStreamPrefetchData() = default; SimpleEntryCreationResults::SimpleEntryCreationResults( SimpleEntryStat entry_stat) : sync_entry(NULL), entry_stat(entry_stat), result(net::OK) {} -SimpleEntryCreationResults::~SimpleEntryCreationResults() { -} +SimpleEntryCreationResults::~SimpleEntryCreationResults() = default; SimpleSynchronousEntry::CRCRecord::CRCRecord() : index(-1), has_crc32(false),
diff --git a/net/dns/address_sorter_posix_unittest.cc b/net/dns/address_sorter_posix_unittest.cc index 102cc62..3871e7e 100644 --- a/net/dns/address_sorter_posix_unittest.cc +++ b/net/dns/address_sorter_posix_unittest.cc
@@ -36,7 +36,7 @@ explicit TestUDPClientSocket(const AddressMapping* mapping) : mapping_(mapping), connected_(false) {} - ~TestUDPClientSocket() override {} + ~TestUDPClientSocket() override = default; int Read(IOBuffer*, int, const CompletionCallback&) override { NOTIMPLEMENTED(); @@ -100,8 +100,8 @@ // Creates TestUDPClientSockets and maintains an AddressMapping. class TestSocketFactory : public ClientSocketFactory { public: - TestSocketFactory() {} - ~TestSocketFactory() override {} + TestSocketFactory() = default; + ~TestSocketFactory() override = default; std::unique_ptr<DatagramClientSocket> CreateDatagramClientSocket( DatagramSocket::BindType,
diff --git a/net/dns/dns_config_service.cc b/net/dns/dns_config_service.cc index f314bd06..1f19a7b 100644 --- a/net/dns/dns_config_service.cc +++ b/net/dns/dns_config_service.cc
@@ -29,7 +29,7 @@ DnsConfig::DnsConfig(const DnsConfig& other) = default; -DnsConfig::~DnsConfig() {} +DnsConfig::~DnsConfig() = default; bool DnsConfig::Equals(const DnsConfig& d) const { return EqualsIgnoreHosts(d) && (hosts == d.hosts);
diff --git a/net/dns/dns_config_service_posix.cc b/net/dns/dns_config_service_posix.cc index 339f0f1b..60d6abe 100644 --- a/net/dns/dns_config_service_posix.cc +++ b/net/dns/dns_config_service_posix.cc
@@ -224,7 +224,7 @@ public: explicit Watcher(DnsConfigServicePosix* service) : service_(service), weak_factory_(this) {} - ~Watcher() {} + ~Watcher() = default; bool Watch() { bool success = true; @@ -343,7 +343,7 @@ } private: - ~ConfigReader() override {} + ~ConfigReader() override = default; // Raw pointer to owning DnsConfigService. This must never be accessed inside // DoWork(), since service may be destroyed while SerialWorker is running
diff --git a/net/dns/dns_query.cc b/net/dns/dns_query.cc index 2ee2a32..e3e9a4d9 100644 --- a/net/dns/dns_query.cc +++ b/net/dns/dns_query.cc
@@ -75,8 +75,7 @@ } } -DnsQuery::~DnsQuery() { -} +DnsQuery::~DnsQuery() = default; std::unique_ptr<DnsQuery> DnsQuery::CloneWithNewId(uint16_t id) const { return base::WrapUnique(new DnsQuery(*this, id));
diff --git a/net/dns/dns_response.cc b/net/dns/dns_response.cc index 63d549b2..167bb01 100644 --- a/net/dns/dns_response.cc +++ b/net/dns/dns_response.cc
@@ -27,11 +27,9 @@ } // namespace -DnsResourceRecord::DnsResourceRecord() { -} +DnsResourceRecord::DnsResourceRecord() = default; -DnsResourceRecord::~DnsResourceRecord() { -} +DnsResourceRecord::~DnsResourceRecord() = default; DnsRecordParser::DnsRecordParser() : packet_(NULL), length_(0), cur_(0) { } @@ -169,8 +167,7 @@ memcpy(io_buffer_->data(), data, length); } -DnsResponse::~DnsResponse() { -} +DnsResponse::~DnsResponse() = default; bool DnsResponse::InitParse(int nbytes, const DnsQuery& query) { DCHECK_GE(nbytes, 0);
diff --git a/net/dns/dns_session_unittest.cc b/net/dns/dns_session_unittest.cc index 8c44440..a9afe2b 100644 --- a/net/dns/dns_session_unittest.cc +++ b/net/dns/dns_session_unittest.cc
@@ -91,7 +91,7 @@ MockDnsSocketPool(ClientSocketFactory* factory, DnsSessionTest* test) : DnsSocketPool(factory, base::Bind(&base::RandInt)), test_(test) {} - ~MockDnsSocketPool() override {} + ~MockDnsSocketPool() override = default; void Initialize(const std::vector<IPEndPoint>* nameservers, NetLog* net_log) override { @@ -193,8 +193,7 @@ return std::move(socket); } -TestClientSocketFactory::~TestClientSocketFactory() { -} +TestClientSocketFactory::~TestClientSocketFactory() = default; TEST_F(DnsSessionTest, AllocateFree) { std::unique_ptr<DnsSession::SocketLease> lease1, lease2;
diff --git a/net/dns/dns_socket_pool.cc b/net/dns/dns_socket_pool.cc index f5844b40..e77a03a 100644 --- a/net/dns/dns_socket_pool.cc +++ b/net/dns/dns_socket_pool.cc
@@ -152,7 +152,7 @@ DISALLOW_COPY_AND_ASSIGN(DefaultDnsSocketPool); }; -DnsSocketPool::~DnsSocketPool() {} +DnsSocketPool::~DnsSocketPool() = default; // static std::unique_ptr<DnsSocketPool> DnsSocketPool::CreateDefault( @@ -174,8 +174,7 @@ FillPool(server_index, kInitialPoolSize); } -DefaultDnsSocketPool::~DefaultDnsSocketPool() { -} +DefaultDnsSocketPool::~DefaultDnsSocketPool() = default; std::unique_ptr<DatagramClientSocket> DefaultDnsSocketPool::AllocateSocket( unsigned server_index) {
diff --git a/net/dns/dns_socket_pool_unittest.cc b/net/dns/dns_socket_pool_unittest.cc index a77697f..eba9749 100644 --- a/net/dns/dns_socket_pool_unittest.cc +++ b/net/dns/dns_socket_pool_unittest.cc
@@ -30,7 +30,7 @@ class DummyRandIntCallback { public: - DummyRandIntCallback() {} + DummyRandIntCallback() = default; RandIntCallback MakeCallback() { return base::Bind(&DummyRandIntCallback::GetRandInt, dummy_.GetWeakPtr());
diff --git a/net/dns/dns_test_util.cc b/net/dns/dns_test_util.cc index 3ef643a..4ebb589 100644 --- a/net/dns/dns_test_util.cc +++ b/net/dns/dns_test_util.cc
@@ -27,7 +27,7 @@ class MockAddressSorter : public AddressSorter { public: - ~MockAddressSorter() override {} + ~MockAddressSorter() override = default; void Sort(const AddressList& list, const CallbackType& callback) const override { // Do nothing. @@ -175,7 +175,7 @@ explicit MockTransactionFactory(const MockDnsClientRuleList& rules) : rules_(rules) {} - ~MockTransactionFactory() override {} + ~MockTransactionFactory() override = default; std::unique_ptr<DnsTransaction> CreateTransaction( const std::string& hostname, @@ -217,7 +217,7 @@ address_sorter_(new MockAddressSorter()) { } -MockDnsClient::~MockDnsClient() {} +MockDnsClient::~MockDnsClient() = default; void MockDnsClient::SetConfig(const DnsConfig& config) { config_ = config;
diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc index 77d5f6dc..1cf17a3 100644 --- a/net/dns/dns_transaction.cc +++ b/net/dns/dns_transaction.cc
@@ -81,7 +81,7 @@ explicit DnsAttempt(unsigned server_index) : result_(ERR_FAILED), server_index_(server_index) {} - virtual ~DnsAttempt() {} + virtual ~DnsAttempt() = default; // Starts the attempt. Returns ERR_IO_PENDING if cannot complete synchronously // and calls |callback| upon completion. virtual int Start(const CompletionCallback& callback) = 0;
diff --git a/net/dns/dns_transaction_unittest.cc b/net/dns/dns_transaction_unittest.cc index 53328d7..99fe1500 100644 --- a/net/dns/dns_transaction_unittest.cc +++ b/net/dns/dns_transaction_unittest.cc
@@ -68,7 +68,7 @@ query_->io_buffer()->size(), num_reads_and_writes())); } - ~DnsSocketData() {} + ~DnsSocketData() = default; // All responses must be added before GetProvider. @@ -162,7 +162,7 @@ net::NetLog* net_log) : MockUDPClientSocket(data, net_log) { } - ~FailingUDPClientSocket() override {} + ~FailingUDPClientSocket() override = default; int Connect(const IPEndPoint& endpoint) override { return ERR_CONNECTION_REFUSED; } @@ -179,7 +179,7 @@ net::NetLog* net_log) : MockUDPClientSocket(data, net_log), factory_(factory) { } - ~TestUDPClientSocket() override {} + ~TestUDPClientSocket() override = default; int Connect(const IPEndPoint& endpoint) override; private: @@ -192,7 +192,7 @@ class TestSocketFactory : public MockClientSocketFactory { public: TestSocketFactory() : fail_next_socket_(false) {} - ~TestSocketFactory() override {} + ~TestSocketFactory() override = default; std::unique_ptr<DatagramClientSocket> CreateDatagramClientSocket( DatagramSocket::BindType bind_type, @@ -335,7 +335,7 @@ class DnsTransactionTest : public testing::Test { public: - DnsTransactionTest() {} + DnsTransactionTest() = default; // Generates |nameservers| for DnsConfig. void ConfigureNumServers(unsigned num_servers) {
diff --git a/net/dns/fuzzed_host_resolver.cc b/net/dns/fuzzed_host_resolver.cc index 9bf8cd5..94f3c87 100644 --- a/net/dns/fuzzed_host_resolver.cc +++ b/net/dns/fuzzed_host_resolver.cc
@@ -125,7 +125,7 @@ } private: - ~FuzzedHostResolverProc() override {} + ~FuzzedHostResolverProc() override = default; base::WeakPtr<base::FuzzedDataProvider> data_provider_; @@ -155,7 +155,7 @@ SetTaskRunnerForTesting(base::SequencedTaskRunnerHandle::Get()); } -FuzzedHostResolver::~FuzzedHostResolver() {} +FuzzedHostResolver::~FuzzedHostResolver() = default; void FuzzedHostResolver::SetDnsClientEnabled(bool enabled) { if (!enabled) {
diff --git a/net/dns/host_cache.cc b/net/dns/host_cache.cc index 091304f2..70e66a7f 100644 --- a/net/dns/host_cache.cc +++ b/net/dns/host_cache.cc
@@ -96,7 +96,7 @@ source_(source), ttl_(base::TimeDelta::FromSeconds(-1)) {} -HostCache::Entry::~Entry() {} +HostCache::Entry::~Entry() = default; HostCache::Entry::Entry(HostCache::Entry&& entry) = default;
diff --git a/net/dns/host_resolver.cc b/net/dns/host_resolver.cc index c384983..165fb00 100644 --- a/net/dns/host_resolver.cc +++ b/net/dns/host_resolver.cc
@@ -95,15 +95,10 @@ host_port_pair_ = host_port_pair; } -HostResolver::RequestInfo::RequestInfo(const RequestInfo& request_info) - : host_port_pair_(request_info.host_port_pair_), - address_family_(request_info.address_family_), - host_resolver_flags_(request_info.host_resolver_flags_), - allow_cached_response_(request_info.allow_cached_response_), - is_speculative_(request_info.is_speculative_), - is_my_ip_address_(request_info.is_my_ip_address_) {} +HostResolver::RequestInfo::RequestInfo(const RequestInfo& request_info) = + default; -HostResolver::RequestInfo::~RequestInfo() {} +HostResolver::RequestInfo::~RequestInfo() = default; HostResolver::RequestInfo::RequestInfo() : address_family_(ADDRESS_FAMILY_UNSPECIFIED), @@ -112,8 +107,7 @@ is_speculative_(false), is_my_ip_address_(false) {} -HostResolver::~HostResolver() { -} +HostResolver::~HostResolver() = default; void HostResolver::SetDnsClientEnabled(bool enabled) { } @@ -165,6 +159,6 @@ return CreateSystemResolverImpl(Options(), net_log); } -HostResolver::HostResolver() {} +HostResolver::HostResolver() = default; } // namespace net
diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc index 6869b5d2..a4185d5 100644 --- a/net/dns/host_resolver_impl.cc +++ b/net/dns/host_resolver_impl.cc
@@ -734,7 +734,7 @@ private: friend class base::RefCountedThreadSafe<ProcTask>; - ~ProcTask() {} + ~ProcTask() = default; void StartLookupAttempt() { DCHECK(network_task_runner_->BelongsToCurrentThread()); @@ -983,8 +983,8 @@ virtual void OnFirstDnsTransactionComplete() = 0; protected: - Delegate() {} - virtual ~Delegate() {} + Delegate() = default; + virtual ~Delegate() = default; }; DnsTask(DnsClient* client, @@ -1890,7 +1890,7 @@ HostResolverImpl::ProcTaskParams::ProcTaskParams(const ProcTaskParams& other) = default; -HostResolverImpl::ProcTaskParams::~ProcTaskParams() {} +HostResolverImpl::ProcTaskParams::~ProcTaskParams() = default; HostResolverImpl::~HostResolverImpl() { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
diff --git a/net/dns/host_resolver_impl_fuzzer.cc b/net/dns/host_resolver_impl_fuzzer.cc index 62613ce..06c87e7 100644 --- a/net/dns/host_resolver_impl_fuzzer.cc +++ b/net/dns/host_resolver_impl_fuzzer.cc
@@ -42,7 +42,7 @@ dns_requests_(dns_requests), is_running_(false) {} - ~DnsRequest() {} + ~DnsRequest() = default; // Creates and starts a DNS request using fuzzed parameters. If the request // doesn't complete synchronously, adds it to |dns_requests|.
diff --git a/net/dns/host_resolver_impl_unittest.cc b/net/dns/host_resolver_impl_unittest.cc index fde7965..591bd88 100644 --- a/net/dns/host_resolver_impl_unittest.cc +++ b/net/dns/host_resolver_impl_unittest.cc
@@ -187,7 +187,7 @@ } protected: - ~MockHostResolverProc() override {} + ~MockHostResolverProc() override = default; private: mutable base::Lock lock_; @@ -215,7 +215,7 @@ public: // Base class of handlers to be executed on completion of requests. struct Handler { - virtual ~Handler() {} + virtual ~Handler() = default; virtual void Handle(Request* request) = 0; }; @@ -434,7 +434,7 @@ } protected: - ~LookupAttemptHostResolverProc() override {} + ~LookupAttemptHostResolverProc() override = default; private: int attempt_number_to_resolve_; @@ -462,7 +462,7 @@ bool ipv6_reachable) : HostResolverImpl(options, net_log), ipv6_reachable_(ipv6_reachable) {} - ~TestHostResolverImpl() override {} + ~TestHostResolverImpl() override = default; private: const bool ipv6_reachable_; @@ -527,7 +527,7 @@ protected: // A Request::Handler which is a proxy to the HostResolverImplTest fixture. struct Handler : public Request::Handler { - ~Handler() override {} + ~Handler() override = default; // Proxy functions so that classes derived from Handler can access them. Request* CreateRequest(const HostResolver::RequestInfo& info,
diff --git a/net/dns/host_resolver_mojo.cc b/net/dns/host_resolver_mojo.cc index 574cbb0..4015d0af 100644 --- a/net/dns/host_resolver_mojo.cc +++ b/net/dns/host_resolver_mojo.cc
@@ -54,7 +54,7 @@ public: explicit RequestImpl(std::unique_ptr<Job> job) : job_(std::move(job)) {} - ~RequestImpl() override {} + ~RequestImpl() override = default; void ChangeRequestPriority(RequestPriority priority) override {}
diff --git a/net/dns/host_resolver_proc.cc b/net/dns/host_resolver_proc.cc index 8b26955a..4ced225 100644 --- a/net/dns/host_resolver_proc.cc +++ b/net/dns/host_resolver_proc.cc
@@ -68,8 +68,7 @@ SetPreviousProc(default_proc_); } -HostResolverProc::~HostResolverProc() { -} +HostResolverProc::~HostResolverProc() = default; int HostResolverProc::ResolveUsingPrevious( const std::string& host, @@ -273,6 +272,6 @@ os_error); } -SystemHostResolverProc::~SystemHostResolverProc() {} +SystemHostResolverProc::~SystemHostResolverProc() = default; } // namespace net
diff --git a/net/dns/mapped_host_resolver.cc b/net/dns/mapped_host_resolver.cc index dc14b650..4508df2 100644 --- a/net/dns/mapped_host_resolver.cc +++ b/net/dns/mapped_host_resolver.cc
@@ -16,8 +16,7 @@ MappedHostResolver::MappedHostResolver(std::unique_ptr<HostResolver> impl) : impl_(std::move(impl)) {} -MappedHostResolver::~MappedHostResolver() { -} +MappedHostResolver::~MappedHostResolver() = default; int MappedHostResolver::Resolve(const RequestInfo& original_info, RequestPriority priority,
diff --git a/net/dns/mdns_cache.cc b/net/dns/mdns_cache.cc index 308027a..5fe78914 100644 --- a/net/dns/mdns_cache.cc +++ b/net/dns/mdns_cache.cc
@@ -27,22 +27,12 @@ : type_(type), name_(name), optional_(optional) { } -MDnsCache::Key::Key( - const MDnsCache::Key& other) - : type_(other.type_), name_(other.name_), optional_(other.optional_) { -} +MDnsCache::Key::Key(const MDnsCache::Key& other) = default; +MDnsCache::Key& MDnsCache::Key::operator=(const MDnsCache::Key& other) = + default; -MDnsCache::Key& MDnsCache::Key::operator=( - const MDnsCache::Key& other) { - type_ = other.type_; - name_ = other.name_; - optional_ = other.optional_; - return *this; -} - -MDnsCache::Key::~Key() { -} +MDnsCache::Key::~Key() = default; bool MDnsCache::Key::operator<(const MDnsCache::Key& other) const { return std::tie(name_, type_, optional_) < @@ -60,12 +50,9 @@ GetOptionalFieldForRecord(record)); } +MDnsCache::MDnsCache() = default; -MDnsCache::MDnsCache() { -} - -MDnsCache::~MDnsCache() { -} +MDnsCache::~MDnsCache() = default; const RecordParsed* MDnsCache::LookupKey(const Key& key) { RecordMap::iterator found = mdns_cache_.find(key);
diff --git a/net/dns/mdns_cache_unittest.cc b/net/dns/mdns_cache_unittest.cc index 1d8ceef..9c6abf9a 100644 --- a/net/dns/mdns_cache_unittest.cc +++ b/net/dns/mdns_cache_unittest.cc
@@ -108,7 +108,7 @@ public: MDnsCacheTest() : default_time_(base::Time::FromDoubleT(1234.0)) {} - virtual ~MDnsCacheTest() {} + virtual ~MDnsCacheTest() = default; protected: base::Time default_time_;
diff --git a/net/dns/mdns_client_impl.cc b/net/dns/mdns_client_impl.cc index f61d881..a4902c4 100644 --- a/net/dns/mdns_client_impl.cc +++ b/net/dns/mdns_client_impl.cc
@@ -62,8 +62,7 @@ response_(dns_protocol::kMaxMulticastSize), send_in_progress_(false) {} -MDnsConnection::SocketHandler::~SocketHandler() { -} +MDnsConnection::SocketHandler::~SocketHandler() = default; int MDnsConnection::SocketHandler::Start() { IPEndPoint end_point; @@ -135,8 +134,7 @@ : delegate_(delegate), weak_ptr_factory_(this) { } -MDnsConnection::~MDnsConnection() { -} +MDnsConnection::~MDnsConnection() = default; bool MDnsConnection::Init(MDnsSocketFactory* socket_factory) { std::vector<std::unique_ptr<DatagramServerSocket>> sockets; @@ -204,8 +202,7 @@ connection_(new MDnsConnection(this)) { } -MDnsClientImpl::Core::~Core() { -} +MDnsClientImpl::Core::~Core() = default; bool MDnsClientImpl::Core::Init(MDnsSocketFactory* socket_factory) { return connection_->Init(socket_factory); @@ -428,8 +425,7 @@ std::unique_ptr<base::Timer> timer) : clock_(std::move(clock)), cleanup_timer_(std::move(timer)) {} -MDnsClientImpl::~MDnsClientImpl() { -} +MDnsClientImpl::~MDnsClientImpl() = default; bool MDnsClientImpl::StartListening(MDnsSocketFactory* socket_factory) { DCHECK(!core_.get());
diff --git a/net/dns/mdns_client_unittest.cc b/net/dns/mdns_client_unittest.cc index 15e85a00..76eb106 100644 --- a/net/dns/mdns_client_unittest.cc +++ b/net/dns/mdns_client_unittest.cc
@@ -330,8 +330,8 @@ class PtrRecordCopyContainer { public: - PtrRecordCopyContainer() {} - ~PtrRecordCopyContainer() {} + PtrRecordCopyContainer() = default; + ~PtrRecordCopyContainer() = default; bool is_set() const { return set_; } @@ -364,7 +364,7 @@ class MockClock : public base::DefaultClock { public: MockClock() : base::DefaultClock() {} - virtual ~MockClock() {} + virtual ~MockClock() = default; MOCK_METHOD0(Now, base::Time()); @@ -375,7 +375,7 @@ class MockTimer : public base::MockTimer { public: MockTimer() : base::MockTimer(false, false) {} - ~MockTimer() {} + ~MockTimer() = default; void Start(const base::Location& posted_from, base::TimeDelta delay,
diff --git a/net/dns/mock_host_resolver.cc b/net/dns/mock_host_resolver.cc index 2226e4b..2bb2441 100644 --- a/net/dns/mock_host_resolver.cc +++ b/net/dns/mock_host_resolver.cc
@@ -449,8 +449,7 @@ host_resolver_flags, addrlist, os_error); } -RuleBasedHostResolverProc::~RuleBasedHostResolverProc() { -} +RuleBasedHostResolverProc::~RuleBasedHostResolverProc() = default; void RuleBasedHostResolverProc::AddRuleInternal(const Rule& rule) { Rule fixed_rule = rule; @@ -504,7 +503,7 @@ //----------------------------------------------------------------------------- -ScopedDefaultHostResolverProc::ScopedDefaultHostResolverProc() {} +ScopedDefaultHostResolverProc::ScopedDefaultHostResolverProc() = default; ScopedDefaultHostResolverProc::ScopedDefaultHostResolverProc( HostResolverProc* proc) {
diff --git a/net/dns/mock_mdns_socket_factory.cc b/net/dns/mock_mdns_socket_factory.cc index f2745069..f8a26a6 100644 --- a/net/dns/mock_mdns_socket_factory.cc +++ b/net/dns/mock_mdns_socket_factory.cc
@@ -22,8 +22,7 @@ local_address_ = GetMDnsIPEndPoint(address_family); } -MockMDnsDatagramServerSocket::~MockMDnsDatagramServerSocket() { -} +MockMDnsDatagramServerSocket::~MockMDnsDatagramServerSocket() = default; int MockMDnsDatagramServerSocket::SendTo(IOBuffer* buf, int buf_len, const IPEndPoint& address, @@ -60,11 +59,9 @@ return ERR_IO_PENDING; } -MockMDnsSocketFactory::MockMDnsSocketFactory() { -} +MockMDnsSocketFactory::MockMDnsSocketFactory() = default; -MockMDnsSocketFactory::~MockMDnsSocketFactory() { -} +MockMDnsSocketFactory::~MockMDnsSocketFactory() = default; void MockMDnsSocketFactory::CreateSockets( std::vector<std::unique_ptr<DatagramServerSocket>>* sockets) {
diff --git a/net/dns/mojo_host_resolver_impl.cc b/net/dns/mojo_host_resolver_impl.cc index e61387ab..d6c0a3c 100644 --- a/net/dns/mojo_host_resolver_impl.cc +++ b/net/dns/mojo_host_resolver_impl.cc
@@ -110,8 +110,7 @@ OnResolveDone(result); } -MojoHostResolverImpl::Job::~Job() { -} +MojoHostResolverImpl::Job::~Job() = default; void MojoHostResolverImpl::Job::OnResolveDone(int result) { DCHECK(thread_checker_.CalledOnValidThread());
diff --git a/net/dns/mojo_host_resolver_impl_unittest.cc b/net/dns/mojo_host_resolver_impl_unittest.cc index 55c5f7d..7fe5fb8 100644 --- a/net/dns/mojo_host_resolver_impl_unittest.cc +++ b/net/dns/mojo_host_resolver_impl_unittest.cc
@@ -88,8 +88,8 @@ class CallbackMockHostResolver : public MockHostResolver { public: - CallbackMockHostResolver() {} - ~CallbackMockHostResolver() override {} + CallbackMockHostResolver() = default; + ~CallbackMockHostResolver() override = default; // Set a callback to run whenever Resolve is called. Callback is cleared after // every run.
diff --git a/net/dns/record_parsed.cc b/net/dns/record_parsed.cc index a7c7db68..d5492e6 100644 --- a/net/dns/record_parsed.cc +++ b/net/dns/record_parsed.cc
@@ -25,8 +25,7 @@ rdata_(std::move(rdata)), time_created_(time_created) {} -RecordParsed::~RecordParsed() { -} +RecordParsed::~RecordParsed() = default; // static std::unique_ptr<const RecordParsed> RecordParsed::CreateFrom(
diff --git a/net/dns/record_rdata.cc b/net/dns/record_rdata.cc index 9282b0ed..c8f86048 100644 --- a/net/dns/record_rdata.cc +++ b/net/dns/record_rdata.cc
@@ -14,13 +14,12 @@ static const size_t kSrvRecordMinimumSize = 6; -RecordRdata::RecordRdata() { -} +RecordRdata::RecordRdata() = default; SrvRecordRdata::SrvRecordRdata() : priority_(0), weight_(0), port_(0) { } -SrvRecordRdata::~SrvRecordRdata() {} +SrvRecordRdata::~SrvRecordRdata() = default; // static std::unique_ptr<SrvRecordRdata> SrvRecordRdata::Create( @@ -57,11 +56,9 @@ target_ == srv_other->target_; } -ARecordRdata::ARecordRdata() { -} +ARecordRdata::ARecordRdata() = default; -ARecordRdata::~ARecordRdata() { -} +ARecordRdata::~ARecordRdata() = default; // static std::unique_ptr<ARecordRdata> ARecordRdata::Create( @@ -86,11 +83,9 @@ return address_ == a_other->address_; } -AAAARecordRdata::AAAARecordRdata() { -} +AAAARecordRdata::AAAARecordRdata() = default; -AAAARecordRdata::~AAAARecordRdata() { -} +AAAARecordRdata::~AAAARecordRdata() = default; // static std::unique_ptr<AAAARecordRdata> AAAARecordRdata::Create( @@ -115,11 +110,9 @@ return address_ == a_other->address_; } -CnameRecordRdata::CnameRecordRdata() { -} +CnameRecordRdata::CnameRecordRdata() = default; -CnameRecordRdata::~CnameRecordRdata() { -} +CnameRecordRdata::~CnameRecordRdata() = default; // static std::unique_ptr<CnameRecordRdata> CnameRecordRdata::Create( @@ -144,11 +137,9 @@ return cname_ == cname_other->cname_; } -PtrRecordRdata::PtrRecordRdata() { -} +PtrRecordRdata::PtrRecordRdata() = default; -PtrRecordRdata::~PtrRecordRdata() { -} +PtrRecordRdata::~PtrRecordRdata() = default; // static std::unique_ptr<PtrRecordRdata> PtrRecordRdata::Create( @@ -172,11 +163,9 @@ return ptrdomain_ == ptr_other->ptrdomain_; } -TxtRecordRdata::TxtRecordRdata() { -} +TxtRecordRdata::TxtRecordRdata() = default; -TxtRecordRdata::~TxtRecordRdata() { -} +TxtRecordRdata::~TxtRecordRdata() = default; // static std::unique_ptr<TxtRecordRdata> TxtRecordRdata::Create( @@ -209,11 +198,9 @@ return texts_ == txt_other->texts_; } -NsecRecordRdata::NsecRecordRdata() { -} +NsecRecordRdata::NsecRecordRdata() = default; -NsecRecordRdata::~NsecRecordRdata() { -} +NsecRecordRdata::~NsecRecordRdata() = default; // static std::unique_ptr<NsecRecordRdata> NsecRecordRdata::Create( @@ -278,9 +265,9 @@ return (bitmap_[byte_num] & (1 << bit_num)) != 0; } -OptRecordRdata::OptRecordRdata() {} +OptRecordRdata::OptRecordRdata() = default; -OptRecordRdata::~OptRecordRdata() {} +OptRecordRdata::~OptRecordRdata() = default; // static std::unique_ptr<OptRecordRdata> OptRecordRdata::Create(
diff --git a/net/dns/serial_worker.cc b/net/dns/serial_worker.cc index 595c0b9..7d9f264 100644 --- a/net/dns/serial_worker.cc +++ b/net/dns/serial_worker.cc
@@ -13,7 +13,7 @@ SerialWorker::SerialWorker() : state_(IDLE) {} -SerialWorker::~SerialWorker() {} +SerialWorker::~SerialWorker() = default; void SerialWorker::WorkNow() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
diff --git a/net/dns/serial_worker_unittest.cc b/net/dns/serial_worker_unittest.cc index de16228..d52c0fd 100644 --- a/net/dns/serial_worker_unittest.cc +++ b/net/dns/serial_worker_unittest.cc
@@ -33,7 +33,7 @@ test_->OnWorkFinished(); } private: - ~TestSerialWorker() override {} + ~TestSerialWorker() override = default; SerialWorkerTest* test_; };
diff --git a/net/ssl/channel_id_store.cc b/net/ssl/channel_id_store.cc index 9acd57d..7fee5eaa 100644 --- a/net/ssl/channel_id_store.cc +++ b/net/ssl/channel_id_store.cc
@@ -10,8 +10,7 @@ namespace net { -ChannelIDStore::ChannelID::ChannelID() { -} +ChannelIDStore::ChannelID::ChannelID() = default; ChannelIDStore::ChannelID::ChannelID(const std::string& server_identifier, base::Time creation_time, @@ -37,7 +36,7 @@ return *this; } -ChannelIDStore::ChannelID::~ChannelID() {} +ChannelIDStore::ChannelID::~ChannelID() = default; ChannelIDStore::~ChannelIDStore() { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
diff --git a/net/ssl/client_cert_store_nss.cc b/net/ssl/client_cert_store_nss.cc index 959f497..512b38e 100644 --- a/net/ssl/client_cert_store_nss.cc +++ b/net/ssl/client_cert_store_nss.cc
@@ -69,7 +69,7 @@ const PasswordDelegateFactory& password_delegate_factory) : password_delegate_factory_(password_delegate_factory) {} -ClientCertStoreNSS::~ClientCertStoreNSS() {} +ClientCertStoreNSS::~ClientCertStoreNSS() = default; void ClientCertStoreNSS::GetClientCerts( const SSLCertRequestInfo& request,
diff --git a/net/ssl/client_cert_store_nss_unittest.cc b/net/ssl/client_cert_store_nss_unittest.cc index cf8ed3a..5b9b323 100644 --- a/net/ssl/client_cert_store_nss_unittest.cc +++ b/net/ssl/client_cert_store_nss_unittest.cc
@@ -50,7 +50,7 @@ class ClientCertStoreNSSTestDelegate { public: - ClientCertStoreNSSTestDelegate() {} + ClientCertStoreNSSTestDelegate() = default; bool SelectClientCerts(const CertificateList& input_certs, const SSLCertRequestInfo& cert_request_info,
diff --git a/net/ssl/default_channel_id_store.cc b/net/ssl/default_channel_id_store.cc index 678ff6a..34f656a 100644 --- a/net/ssl/default_channel_id_store.cc +++ b/net/ssl/default_channel_id_store.cc
@@ -36,8 +36,7 @@ void InvokeCallback(base::Closure callback) const; }; -DefaultChannelIDStore::Task::~Task() { -} +DefaultChannelIDStore::Task::~Task() = default; void DefaultChannelIDStore::Task::InvokeCallback( base::Closure callback) const { @@ -67,8 +66,7 @@ callback_(callback) { } -DefaultChannelIDStore::GetChannelIDTask::~GetChannelIDTask() { -} +DefaultChannelIDStore::GetChannelIDTask::~GetChannelIDTask() = default; void DefaultChannelIDStore::GetChannelIDTask::Run( DefaultChannelIDStore* store) { @@ -98,8 +96,7 @@ std::unique_ptr<ChannelID> channel_id) : channel_id_(std::move(channel_id)) {} -DefaultChannelIDStore::SetChannelIDTask::~SetChannelIDTask() { -} +DefaultChannelIDStore::SetChannelIDTask::~SetChannelIDTask() = default; void DefaultChannelIDStore::SetChannelIDTask::Run( DefaultChannelIDStore* store) { @@ -129,9 +126,7 @@ callback_(callback) { } -DefaultChannelIDStore::DeleteChannelIDTask:: - ~DeleteChannelIDTask() { -} +DefaultChannelIDStore::DeleteChannelIDTask::~DeleteChannelIDTask() = default; void DefaultChannelIDStore::DeleteChannelIDTask::Run( DefaultChannelIDStore* store) { @@ -172,7 +167,7 @@ callback_(callback) {} DefaultChannelIDStore::DeleteForDomainsCreatedBetweenTask:: - ~DeleteForDomainsCreatedBetweenTask() {} + ~DeleteForDomainsCreatedBetweenTask() = default; void DefaultChannelIDStore::DeleteForDomainsCreatedBetweenTask::Run( DefaultChannelIDStore* store) { @@ -201,9 +196,7 @@ : callback_(callback) { } -DefaultChannelIDStore::GetAllChannelIDsTask:: - ~GetAllChannelIDsTask() { -} +DefaultChannelIDStore::GetAllChannelIDsTask::~GetAllChannelIDsTask() = default; void DefaultChannelIDStore::GetAllChannelIDsTask::Run( DefaultChannelIDStore* store) { @@ -439,8 +432,8 @@ return !store_; } -DefaultChannelIDStore::PersistentStore::PersistentStore() {} +DefaultChannelIDStore::PersistentStore::PersistentStore() = default; -DefaultChannelIDStore::PersistentStore::~PersistentStore() {} +DefaultChannelIDStore::PersistentStore::~PersistentStore() = default; } // namespace net
diff --git a/net/ssl/default_channel_id_store_unittest.cc b/net/ssl/default_channel_id_store_unittest.cc index e7dcbc49..c4f9c07 100644 --- a/net/ssl/default_channel_id_store_unittest.cc +++ b/net/ssl/default_channel_id_store_unittest.cc
@@ -90,7 +90,7 @@ ChannelIDMap channel_ids_; }; -MockPersistentStore::MockPersistentStore() {} +MockPersistentStore::MockPersistentStore() = default; void MockPersistentStore::Load(const LoadedCallback& loaded_callback) { std::unique_ptr< @@ -122,7 +122,7 @@ void MockPersistentStore::Flush() {} -MockPersistentStore::~MockPersistentStore() {} +MockPersistentStore::~MockPersistentStore() = default; bool DomainEquals(const std::string& domain1, const std::string& domain2) { return domain1 == domain2;
diff --git a/net/ssl/ssl_cert_request_info.cc b/net/ssl/ssl_cert_request_info.cc index 245dfdc6..2ad30cdc 100644 --- a/net/ssl/ssl_cert_request_info.cc +++ b/net/ssl/ssl_cert_request_info.cc
@@ -18,7 +18,6 @@ cert_key_types.clear(); } -SSLCertRequestInfo::~SSLCertRequestInfo() { -} +SSLCertRequestInfo::~SSLCertRequestInfo() = default; } // namespace net
diff --git a/net/ssl/ssl_client_auth_cache_unittest.cc b/net/ssl/ssl_client_auth_cache_unittest.cc index 84d0e2e..04bc3d6 100644 --- a/net/ssl/ssl_client_auth_cache_unittest.cc +++ b/net/ssl/ssl_client_auth_cache_unittest.cc
@@ -16,7 +16,7 @@ class MockSSLPrivateKey : public SSLPrivateKey { public: - MockSSLPrivateKey() {} + MockSSLPrivateKey() = default; std::vector<uint16_t> GetAlgorithmPreferences() override { NOTIMPLEMENTED(); @@ -30,7 +30,7 @@ } private: - ~MockSSLPrivateKey() override {} + ~MockSSLPrivateKey() override = default; DISALLOW_COPY_AND_ASSIGN(MockSSLPrivateKey); };
diff --git a/net/ssl/ssl_client_session_cache.cc b/net/ssl/ssl_client_session_cache.cc index 2ea5fa0..eebca7640 100644 --- a/net/ssl/ssl_client_session_cache.cc +++ b/net/ssl/ssl_client_session_cache.cc
@@ -158,7 +158,7 @@ undeduped_cert_count); } -SSLClientSessionCache::Entry::Entry() {} +SSLClientSessionCache::Entry::Entry() = default; SSLClientSessionCache::Entry::Entry(Entry&&) = default; SSLClientSessionCache::Entry::~Entry() = default;
diff --git a/net/ssl/ssl_config.cc b/net/ssl/ssl_config.cc index 89f8133..a460ebe 100644 --- a/net/ssl/ssl_config.cc +++ b/net/ssl/ssl_config.cc
@@ -18,8 +18,7 @@ SSLConfig::CertAndStatus::CertAndStatus(scoped_refptr<X509Certificate> cert_arg, CertStatus status) : cert(std::move(cert_arg)), cert_status(status) {} -SSLConfig::CertAndStatus::CertAndStatus(const CertAndStatus& other) - : cert(other.cert), cert_status(other.cert_status) {} +SSLConfig::CertAndStatus::CertAndStatus(const CertAndStatus& other) = default; SSLConfig::CertAndStatus::~CertAndStatus() = default; SSLConfig::SSLConfig() @@ -42,7 +41,7 @@ SSLConfig::SSLConfig(const SSLConfig& other) = default; -SSLConfig::~SSLConfig() {} +SSLConfig::~SSLConfig() = default; bool SSLConfig::IsAllowedBadCert(X509Certificate* cert, CertStatus* cert_status) const {
diff --git a/net/ssl/ssl_config_service.cc b/net/ssl/ssl_config_service.cc index 31dfdcf..f6e341b 100644 --- a/net/ssl/ssl_config_service.cc +++ b/net/ssl/ssl_config_service.cc
@@ -72,8 +72,7 @@ observer.OnSSLConfigChanged(); } -SSLConfigService::~SSLConfigService() { -} +SSLConfigService::~SSLConfigService() = default; void SSLConfigService::ProcessConfigUpdate(const SSLConfig& old_config, const SSLConfig& new_config) {
diff --git a/net/ssl/ssl_config_service_defaults.cc b/net/ssl/ssl_config_service_defaults.cc index c512ed8..acbaa733 100644 --- a/net/ssl/ssl_config_service_defaults.cc +++ b/net/ssl/ssl_config_service_defaults.cc
@@ -6,14 +6,12 @@ namespace net { -SSLConfigServiceDefaults::SSLConfigServiceDefaults() { -} +SSLConfigServiceDefaults::SSLConfigServiceDefaults() = default; void SSLConfigServiceDefaults::GetSSLConfig(SSLConfig* config) { *config = default_config_; } -SSLConfigServiceDefaults::~SSLConfigServiceDefaults() { -} +SSLConfigServiceDefaults::~SSLConfigServiceDefaults() = default; } // namespace net
diff --git a/net/ssl/ssl_config_service_unittest.cc b/net/ssl/ssl_config_service_unittest.cc index a4d4f9f6a..6dac67b 100644 --- a/net/ssl/ssl_config_service_unittest.cc +++ b/net/ssl/ssl_config_service_unittest.cc
@@ -29,15 +29,15 @@ } private: - ~MockSSLConfigService() override {} + ~MockSSLConfigService() override = default; SSLConfig config_; }; class MockSSLConfigServiceObserver : public SSLConfigService::Observer { public: - MockSSLConfigServiceObserver() {} - virtual ~MockSSLConfigServiceObserver() {} + MockSSLConfigServiceObserver() = default; + virtual ~MockSSLConfigServiceObserver() = default; MOCK_METHOD0(OnSSLConfigChanged, void()); };
diff --git a/net/ssl/ssl_info.cc b/net/ssl/ssl_info.cc index 9d9c2f4..28fcc14 100644 --- a/net/ssl/ssl_info.cc +++ b/net/ssl/ssl_info.cc
@@ -23,31 +23,9 @@ *this = info; } -SSLInfo::~SSLInfo() { -} +SSLInfo::~SSLInfo() = default; -SSLInfo& SSLInfo::operator=(const SSLInfo& info) { - cert = info.cert; - unverified_cert = info.unverified_cert; - cert_status = info.cert_status; - security_bits = info.security_bits; - key_exchange_group = info.key_exchange_group; - connection_status = info.connection_status; - is_issued_by_known_root = info.is_issued_by_known_root; - pkp_bypassed = info.pkp_bypassed; - client_cert_sent = info.client_cert_sent; - channel_id_sent = info.channel_id_sent; - token_binding_negotiated = info.token_binding_negotiated; - token_binding_key_param = info.token_binding_key_param; - handshake_type = info.handshake_type; - public_key_hashes = info.public_key_hashes; - pinning_failure_log = info.pinning_failure_log; - signed_certificate_timestamps = info.signed_certificate_timestamps; - ct_policy_compliance = info.ct_policy_compliance; - ct_policy_compliance_required = info.ct_policy_compliance_required; - ocsp_result = info.ocsp_result; - return *this; -} +SSLInfo& SSLInfo::operator=(const SSLInfo& info) = default; void SSLInfo::Reset() { cert = NULL;
diff --git a/net/ssl/ssl_platform_key_nss.cc b/net/ssl/ssl_platform_key_nss.cc index 55dd9d6..be8588c 100644 --- a/net/ssl/ssl_platform_key_nss.cc +++ b/net/ssl/ssl_platform_key_nss.cc
@@ -53,7 +53,7 @@ : type_(type), password_delegate_(std::move(password_delegate)), key_(std::move(key)) {} - ~SSLPlatformKeyNSS() override {} + ~SSLPlatformKeyNSS() override = default; std::vector<uint16_t> GetAlgorithmPreferences() override { return SSLPrivateKey::DefaultAlgorithmPreferences(type_,
diff --git a/net/ssl/ssl_platform_key_util.cc b/net/ssl/ssl_platform_key_util.cc index edee7db..46ba59f 100644 --- a/net/ssl/ssl_platform_key_util.cc +++ b/net/ssl/ssl_platform_key_util.cc
@@ -28,7 +28,7 @@ worker_thread_.StartWithOptions(options); } - ~SSLPlatformKeyTaskRunner() {} + ~SSLPlatformKeyTaskRunner() = default; scoped_refptr<base::SingleThreadTaskRunner> task_runner() { return worker_thread_.task_runner();
diff --git a/net/ssl/ssl_server_config.cc b/net/ssl/ssl_server_config.cc index 0cdb9a1..266a4c8 100644 --- a/net/ssl/ssl_server_config.cc +++ b/net/ssl/ssl_server_config.cc
@@ -18,6 +18,6 @@ SSLServerConfig::SSLServerConfig(const SSLServerConfig& other) = default; -SSLServerConfig::~SSLServerConfig() {} +SSLServerConfig::~SSLServerConfig() = default; } // namespace net
diff --git a/net/ssl/test_ssl_private_key.cc b/net/ssl/test_ssl_private_key.cc index e7d0486..84602fe 100644 --- a/net/ssl/test_ssl_private_key.cc +++ b/net/ssl/test_ssl_private_key.cc
@@ -29,7 +29,7 @@ explicit TestSSLPlatformKey(bssl::UniquePtr<EVP_PKEY> key) : key_(std::move(key)) {} - ~TestSSLPlatformKey() override {} + ~TestSSLPlatformKey() override = default; std::vector<uint16_t> GetAlgorithmPreferences() override { return SSLPrivateKey::DefaultAlgorithmPreferences(EVP_PKEY_id(key_.get()),
diff --git a/net/ssl/threaded_ssl_private_key.cc b/net/ssl/threaded_ssl_private_key.cc index d07942d..4158d40 100644 --- a/net/ssl/threaded_ssl_private_key.cc +++ b/net/ssl/threaded_ssl_private_key.cc
@@ -44,7 +44,7 @@ private: friend class base::RefCountedThreadSafe<Core>; - ~Core() {} + ~Core() = default; std::unique_ptr<ThreadedSSLPrivateKey::Delegate> delegate_; }; @@ -73,6 +73,6 @@ base::Owned(signature))); } -ThreadedSSLPrivateKey::~ThreadedSSLPrivateKey() {} +ThreadedSSLPrivateKey::~ThreadedSSLPrivateKey() = default; } // namespace net
diff --git a/net/ssl/token_binding.cc b/net/ssl/token_binding.cc index fc4ef6ca..d7f0ae7 100644 --- a/net/ssl/token_binding.cc +++ b/net/ssl/token_binding.cc
@@ -147,7 +147,7 @@ return OK; } -TokenBinding::TokenBinding() {} +TokenBinding::TokenBinding() = default; bool ParseTokenBindingMessage(base::StringPiece token_binding_message, std::vector<TokenBinding>* token_bindings) {
diff --git a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json index eb5a6cd..5dab347 100644 --- a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json +++ b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json
@@ -255503,7 +255503,7 @@ "support" ], "css/css-fonts/font-variant-01.html": [ - "0d0a249db6c2ddaad1e4de702834020aa4ab45fa", + "6803a83b4ab93a9ad442a0e339d536edd85ab5df", "reftest" ], "css/css-fonts/font-variant-02-ref.html": [ @@ -255511,7 +255511,7 @@ "support" ], "css/css-fonts/font-variant-02.html": [ - "4fd6a59d04fde5e82ec12fa4c89bf07c611ddd21", + "74980d099860a038f1e42ad62cb7f2eb8cbca02c", "reftest" ], "css/css-fonts/font-variant-03-ref.html": [ @@ -255519,7 +255519,7 @@ "support" ], "css/css-fonts/font-variant-03.html": [ - "78e21fc51d91d4ee0ec8e0838dab863a08aa1f83", + "c42d2410101bf0be8832a0f84ce6ee4b75e96a66", "reftest" ], "css/css-fonts/font-variant-04-ref.html": [ @@ -255527,7 +255527,7 @@ "support" ], "css/css-fonts/font-variant-04.html": [ - "0431694dc7064c9af5c1881484796b750b15b63c", + "b5417f15f571c21e754df033a597193384cf8610", "reftest" ], "css/css-fonts/font-variant-alternates-01-ref.html": [
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-01.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-01.html index e73b1d5..ed69967 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-01.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-01.html
@@ -23,9 +23,9 @@ } .outer { font-variant-ligatures: common-ligatures discretionary-ligatures historical-ligatures contextual; - font-variant-position: sub; + font-variant-numeric: oldstyle-nums; font-variant-caps: small-caps; - font-variant-east-asian: jis04; + font-variant-east-asian: jis90; } .child { color: green; @@ -36,6 +36,6 @@ <p>Test passes if the two lines below are identical, with (in purple) eight check marks (✓), and then (in green) three check marks (✓) followed by five crosses (✗). </p> <section class="test"> - <p class="outer">CDGFEJHa<span class="inner child">CDGFEJHa</span></p> + <p class="outer">CDGFEJQa<span class="inner child">CDGFEJQa</span></p> <p class="ref">AAAAAAAA<span class="child">AAABBBBB</span></p> </section> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-02.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-02.html index 6e1aecc..acda863 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-02.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-02.html
@@ -23,9 +23,9 @@ } .outer { font-variant-ligatures: common-ligatures discretionary-ligatures historical-ligatures contextual; - font-variant-position: sub; + font-variant-numeric: oldstyle-nums; font-variant-caps: small-caps; - font-variant-east-asian: jis04; + font-variant-east-asian: jis90; } .child { color: green; @@ -36,6 +36,6 @@ <p>Test passes if the two lines below are identical, with (in purple) eight check marks (✓), and then (in green) eight crosses (✗). </p> <section class="test"> - <p class="outer">CDGFEJHa<span class="inner child">CDGFEJHa</span></p> + <p class="outer">CDGFEJQa<span class="inner child">CDGFEJQa</span></p> <p class="ref">AAAAAAAA<span class="child">BBBBBBBB</span></p> </section> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-03.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-03.html index 3da212a5..7e130cc 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-03.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-03.html
@@ -22,7 +22,7 @@ font-variant: normal; } .outer { - font-feature-settings: "liga" on, "clig" on, "calt" on, "hlig" on, "dlig" on, "subs" on, "smcp" on, "jp04" on; + font-feature-settings: "liga" on, "clig" on, "calt" on, "hlig" on, "dlig" on, "onum" on, "smcp" on, "jp90" on; } .child { color: green; @@ -33,6 +33,6 @@ <p>Test passes if the two lines below are identical, with (in purple) eight check marks (✓), and then (in green) eight check marks (✓). </p> <section class="test"> - <p class="outer">CDGFEJHa<span class="inner child">CDGFEJHa</span></p> + <p class="outer">CDGFEJQa<span class="inner child">CDGFEJQa</span></p> <p class="ref">AAAAAAAA<span class="child">AAAAAAAA</span></p> </section> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-04.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-04.html index 12aeaf5..be42639 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-04.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-fonts/font-variant-04.html
@@ -22,7 +22,7 @@ font-variant: none; } .outer { - font-feature-settings: "liga" on, "clig" on, "calt" on, "hlig" on, "dlig" on, "subs" on, "smcp" on, "jp04" on; + font-feature-settings: "liga" on, "clig" on, "calt" on, "hlig" on, "dlig" on, "onum" on, "smcp" on, "jp90" on; } .child { color: green; @@ -33,6 +33,6 @@ <p>Test passes if the two lines below are identical, with (in purple) eight check marks (✓), and then (in green) eight check marks (✓). </p> <section class="test"> - <p class="outer">CDGFEJHa<span class="inner child">CDGFEJHa</span></p> + <p class="outer">CDGFEJQa<span class="inner child">CDGFEJQa</span></p> <p class="ref">AAAAAAAA<span class="child">AAAAAAAA</span></p> </section> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.html index a9ceee5a..d090aad 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.html +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.html
@@ -58,12 +58,12 @@ }, 'an empty url argument should throw SYNTAX_ERR'); test(function () { - assert_throws('SYNTAX_ERR', function () { navigator.registerProtocolHandler('mailto', 'http://%s.com', 'foo') } ); -}, '%s instead of domain name should throw SYNTAX_ERR'); + assert_throws('SECURITY_ERR', function () { navigator.registerProtocolHandler('mailto', 'http://%s.com', 'foo') } ); +}, '%s instead of domain name should throw SECURITY_ERR'); test(function () { - assert_throws('SYNTAX_ERR', function () { navigator.registerProtocolHandler('mailto', 'http://%s.example.com', 'foo') } ); -}, '%s instead of subdomain name should throw SYNTAX_ERR'); + assert_throws('SECURITY_ERR', function () { navigator.registerProtocolHandler('mailto', 'http://%s.example.com', 'foo') } ); +}, '%s instead of subdomain name should throw SECURITY_ERR'); test(function () { assert_throws('SYNTAX_ERR', function () { navigator.registerProtocolHandler('mailto', location.href + '', 'foo') } );
diff --git a/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/register-protocol-handler-expected.txt b/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/register-protocol-handler-expected.txt index 5bfa015a..0578523 100644 --- a/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/register-protocol-handler-expected.txt +++ b/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/register-protocol-handler-expected.txt
@@ -37,6 +37,7 @@ PASS Invalid scheme "tel:sip" falied. PASS Invalid url "" threw SyntaxError exception: "Failed to execute 'registerProtocolHandler' on 'Navigator': The url provided ('') does not contain '%s'.". PASS Invalid url "%S" threw SyntaxError exception: "Failed to execute 'registerProtocolHandler' on 'Navigator': The url provided ('%S') does not contain '%s'.". +PASS Invalid url "http://[v8.:::]//url=%s" threw SyntaxError exception: "Failed to execute 'registerProtocolHandler' on 'Navigator': The custom handler URL created by removing '%s' and prepending 'http://127.0.0.1:8000/navigatorcontentutils/register-protocol-handler.html' is invalid.". PASS The registeration of URL that has the same origin with the document origin is allowed. PASS URL with origin different than document origin threw SecurityError exception: "Failed to execute 'registerProtocolHandler' on 'Navigator': Can only register custom handler in the document's origin.". PASS Valid call succeeded.
diff --git a/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/register-protocol-handler.html b/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/register-protocol-handler.html index ec1432b..92c094f4a 100644 --- a/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/register-protocol-handler.html +++ b/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/register-protocol-handler.html
@@ -63,7 +63,7 @@ debug('Fail: Invalid scheme "' + scheme + '" allowed. Threw exception: "' + errorMessage + '".'); }); -var invalid_urls = ["", "%S"]; +var invalid_urls = ["", "%S", "http://[v8.:::]//url=%s"]; invalid_urls.forEach(function (url) { var succeeded = false; try {
diff --git a/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/unregister-protocol-handler-expected.txt b/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/unregister-protocol-handler-expected.txt index b8fa7e5..fb88ce0 100644 --- a/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/unregister-protocol-handler-expected.txt +++ b/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/unregister-protocol-handler-expected.txt
@@ -37,6 +37,7 @@ PASS Invalid scheme "tel:sip" falied. PASS Invalid url "" threw SyntaxError exception.Failed to execute 'unregisterProtocolHandler' on 'Navigator': The url provided ('') does not contain '%s'.". PASS Invalid url "%S" threw SyntaxError exception.Failed to execute 'unregisterProtocolHandler' on 'Navigator': The url provided ('%S') does not contain '%s'.". +PASS Invalid url "http://[v8.:::]//url=%s" threw SyntaxError exception.Failed to execute 'unregisterProtocolHandler' on 'Navigator': The custom handler URL created by removing '%s' and prepending 'http://127.0.0.1:8000/navigatorcontentutils/unregister-protocol-handler.html' is invalid.". PASS URL with origin different than document origin threw SecurityError exception: "Failed to execute 'unregisterProtocolHandler' on 'Navigator': Can only register custom handler in the document's origin.". PASS Valid call succeeded.
diff --git a/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/unregister-protocol-handler.html b/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/unregister-protocol-handler.html index f3161fd..0adc9bcd 100644 --- a/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/unregister-protocol-handler.html +++ b/third_party/WebKit/LayoutTests/http/tests/navigatorcontentutils/unregister-protocol-handler.html
@@ -62,7 +62,7 @@ debug('Fail: Invalid scheme "' + scheme + '" allowed. Threw exception: "' + errorMessage + '".'); }); -var invalid_urls = ["", "%S"]; +var invalid_urls = ["", "%S", "http://[v8.:::]//url=%s"]; invalid_urls.forEach(function (url) { var succeeded = false; try {
diff --git a/third_party/WebKit/Source/core/html/forms/FormController.cpp b/third_party/WebKit/Source/core/html/forms/FormController.cpp index 535b3ce..3157e8d7 100644 --- a/third_party/WebKit/Source/core/html/forms/FormController.cpp +++ b/third_party/WebKit/Source/core/html/forms/FormController.cpp
@@ -410,14 +410,14 @@ } void DocumentState::AddControl(HTMLFormControlElementWithState* control) { - DCHECK(!control->Next() && !control->Prev()); - form_controls_.Append(control); + auto result = form_controls_.insert(control); + DCHECK(result.is_new_entry); } void DocumentState::RemoveControl(HTMLFormControlElementWithState* control) { - form_controls_.Remove(control); - control->SetPrev(nullptr); - control->SetNext(nullptr); + auto it = form_controls_.find(control); + CHECK(it != form_controls_.end()); + form_controls_.erase(it); } static String FormStateSignature() { @@ -433,8 +433,8 @@ FormKeyGenerator* key_generator = FormKeyGenerator::Create(); std::unique_ptr<SavedFormStateMap> state_map = WTF::WrapUnique(new SavedFormStateMap); - for (HTMLFormControlElementWithState* control = form_controls_.Head(); - control; control = control->Next()) { + for (const auto& form_control : form_controls_) { + HTMLFormControlElementWithState* control = form_control.Get(); DCHECK(control->isConnected()); if (!control->ShouldSaveAndRestoreFormControlState()) continue;
diff --git a/third_party/WebKit/Source/core/html/forms/FormController.h b/third_party/WebKit/Source/core/html/forms/FormController.h index c21565d5..7ec8019 100644 --- a/third_party/WebKit/Source/core/html/forms/FormController.h +++ b/third_party/WebKit/Source/core/html/forms/FormController.h
@@ -25,7 +25,6 @@ #include <memory> #include "platform/heap/Handle.h" -#include "platform/heap/HeapAllocator.h" #include "platform/wtf/Allocator.h" #include "platform/wtf/Forward.h" #include "platform/wtf/ListHashSet.h" @@ -92,8 +91,9 @@ Vector<String> ToStateVector(); private: - using FormElementList = HeapDoublyLinkedList<HTMLFormControlElementWithState>; - FormElementList form_controls_; + using FormElementListHashSet = + HeapListHashSet<Member<HTMLFormControlElementWithState>, 64>; + FormElementListHashSet form_controls_; }; class FormController final : public GarbageCollectedFinalized<FormController> {
diff --git a/third_party/WebKit/Source/core/html/forms/HTMLFormControlElementWithState.cpp b/third_party/WebKit/Source/core/html/forms/HTMLFormControlElementWithState.cpp index 740ae5a..b8dd24f 100644 --- a/third_party/WebKit/Source/core/html/forms/HTMLFormControlElementWithState.cpp +++ b/third_party/WebKit/Source/core/html/forms/HTMLFormControlElementWithState.cpp
@@ -87,10 +87,4 @@ return true; } -void HTMLFormControlElementWithState::Trace(Visitor* visitor) { - visitor->Trace(prev_); - visitor->Trace(next_); - HTMLFormControlElement::Trace(visitor); -} - } // namespace blink
diff --git a/third_party/WebKit/Source/core/html/forms/HTMLFormControlElementWithState.h b/third_party/WebKit/Source/core/html/forms/HTMLFormControlElementWithState.h index 0a4db72c..31320d6 100644 --- a/third_party/WebKit/Source/core/html/forms/HTMLFormControlElementWithState.h +++ b/third_party/WebKit/Source/core/html/forms/HTMLFormControlElementWithState.h
@@ -27,15 +27,13 @@ #include "core/CoreExport.h" #include "core/html/forms/HTMLFormControlElement.h" -#include "platform/wtf/DoublyLinkedList.h" namespace blink { class FormControlState; class CORE_EXPORT HTMLFormControlElementWithState - : public HTMLFormControlElement, - public DoublyLinkedListNode<HTMLFormControlElementWithState> { + : public HTMLFormControlElement { public: ~HTMLFormControlElementWithState() override; @@ -48,8 +46,6 @@ virtual void RestoreFormControlState(const FormControlState&) {} void NotifyFormStateChanged(); - void Trace(Visitor*) override; - protected: HTMLFormControlElementWithState(const QualifiedName& tag_name, Document&); @@ -57,15 +53,6 @@ InsertionNotificationRequest InsertedInto(ContainerNode*) override; void RemovedFrom(ContainerNode*) override; bool IsFormControlElementWithState() const final; - - private: - // Pointers for DoublyLinkedListNode<HTMLFormControlElementWithState>. This - // is used for adding an instance to a list of form controls stored in - // DocumentState. Each instance is only added to its containing document's - // DocumentState list. - friend class WTF::DoublyLinkedListNode<HTMLFormControlElementWithState>; - Member<HTMLFormControlElementWithState> prev_; - Member<HTMLFormControlElementWithState> next_; }; DEFINE_TYPE_CASTS(HTMLFormControlElementWithState,
diff --git a/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp index 0241c5d4..a99c5b3 100644 --- a/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp +++ b/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp
@@ -33,6 +33,7 @@ #include "core/dom/FlatTreeTraversal.h" #include "core/dom/NodeTraversal.h" #include "core/dom/QualifiedName.h" +#include "core/dom/ShadowRoot.h" #include "core/dom/Text.h" #include "core/dom/UserGestureIndicator.h" #include "core/editing/EditingUtilities.h" @@ -767,6 +768,21 @@ MediaControlElementsHelper::ToParentMediaElement(node)); } +bool AXNodeObject::ComputeIsEditableRoot() const { + Node* node = GetNode(); + if (!node) + return false; + if (IsNativeTextControl()) + return true; + if (IsRootEditableElement(*node)) { + // Editable roots created by the user agent are handled by + // |IsNativeTextControl| above. + ShadowRoot* root = node->ContainingShadowRoot(); + return !root || root->GetType() != ShadowRootType::kUserAgent; + } + return false; +} + bool AXNodeObject::IsEmbeddedObject() const { return IsHTMLPlugInElement(GetNode()); }
diff --git a/third_party/WebKit/Source/modules/accessibility/AXNodeObject.h b/third_party/WebKit/Source/modules/accessibility/AXNodeObject.h index c14d84c..dff108b 100644 --- a/third_party/WebKit/Source/modules/accessibility/AXNodeObject.h +++ b/third_party/WebKit/Source/modules/accessibility/AXNodeObject.h
@@ -97,6 +97,7 @@ bool IsControllingVideoElement() const; bool IsMultiline() const override; bool IsEditable() const override { return IsNativeTextControl(); } + bool ComputeIsEditableRoot() const override; bool IsEmbeddedObject() const final; bool IsFieldset() const final; bool IsHeading() const final;
diff --git a/third_party/WebKit/Source/modules/accessibility/AXObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXObject.cpp index 0a2d78f..7be775cd 100644 --- a/third_party/WebKit/Source/modules/accessibility/AXObject.cpp +++ b/third_party/WebKit/Source/modules/accessibility/AXObject.cpp
@@ -730,9 +730,7 @@ cached_has_inherited_presentational_role_ = !!InheritsPresentationalRoleFrom(); cached_is_ignored_ = ComputeAccessibilityIsIgnored(); - cached_is_editable_root_ = - GetNode() ? IsNativeTextControl() || IsRootEditableElement(*GetNode()) - : false; + cached_is_editable_root_ = ComputeIsEditableRoot(); cached_live_region_root_ = IsLiveRegion() ? const_cast<AXObject*>(this)
diff --git a/third_party/WebKit/Source/modules/accessibility/AXObject.h b/third_party/WebKit/Source/modules/accessibility/AXObject.h index 491eeaf..d0a0a5a 100644 --- a/third_party/WebKit/Source/modules/accessibility/AXObject.h +++ b/third_party/WebKit/Source/modules/accessibility/AXObject.h
@@ -617,6 +617,7 @@ virtual bool AriaHasPopup() const { return false; } virtual bool IsEditable() const { return false; } bool IsEditableRoot() const; + virtual bool ComputeIsEditableRoot() const { return false; } virtual bool IsMultiline() const { return false; } virtual bool IsRichlyEditable() const { return false; } bool AriaCheckedIsPresent() const;
diff --git a/third_party/WebKit/Source/modules/navigatorcontentutils/NavigatorContentUtils.cpp b/third_party/WebKit/Source/modules/navigatorcontentutils/NavigatorContentUtils.cpp index af04f6d..903bbad 100644 --- a/third_party/WebKit/Source/modules/navigatorcontentutils/NavigatorContentUtils.cpp +++ b/third_party/WebKit/Source/modules/navigatorcontentutils/NavigatorContentUtils.cpp
@@ -64,8 +64,7 @@ // the "%s" token and prepending the base url, does not resolve. String new_url = url; new_url.Remove(index, WTF_ARRAY_LENGTH(kToken) - 1); - - KURL kurl = document.CompleteURL(url); + KURL kurl = document.CompleteURL(new_url); if (kurl.IsEmpty() || !kurl.IsValid()) { exception_state.ThrowDOMException(
diff --git a/third_party/WebKit/Source/platform/heap/HeapAllocator.h b/third_party/WebKit/Source/platform/heap/HeapAllocator.h index 60af8f95..490e6b6 100644 --- a/third_party/WebKit/Source/platform/heap/HeapAllocator.h +++ b/third_party/WebKit/Source/platform/heap/HeapAllocator.h
@@ -12,7 +12,6 @@ #include "platform/wtf/Allocator.h" #include "platform/wtf/Assertions.h" #include "platform/wtf/Deque.h" -#include "platform/wtf/DoublyLinkedList.h" #include "platform/wtf/HashCountedSet.h" #include "platform/wtf/HashMap.h" #include "platform/wtf/HashSet.h" @@ -480,23 +479,6 @@ : Deque<T, inlineCapacity, HeapAllocator>(other) {} }; -template <typename T> -class HeapDoublyLinkedList : public DoublyLinkedList<T, Member<T>> { - IS_GARBAGE_COLLECTED_TYPE(); - DISALLOW_NEW(); - - public: - HeapDoublyLinkedList() { - static_assert(WTF::IsGarbageCollectedType<T>::value, - "This should only be used for garbage collected types."); - } - - void Trace(Visitor* visitor) { - visitor->Trace(this->head_); - visitor->Trace(this->tail_); - } -}; - } // namespace blink namespace WTF {
diff --git a/third_party/WebKit/Source/platform/heap/HeapTerminatedArray.h b/third_party/WebKit/Source/platform/heap/HeapTerminatedArray.h index c422d31..5cd2ec8 100644 --- a/third_party/WebKit/Source/platform/heap/HeapTerminatedArray.h +++ b/third_party/WebKit/Source/platform/heap/HeapTerminatedArray.h
@@ -59,6 +59,12 @@ friend class WTF::TerminatedArrayBuilder; }; +template <typename T> +class TraceEagerlyTrait<HeapTerminatedArray<T>> { + public: + static const bool value = TraceEagerlyTrait<T>::value; +}; + } // namespace blink #endif // HeapTerminatedArray_h
diff --git a/third_party/WebKit/Source/platform/heap/HeapTest.cpp b/third_party/WebKit/Source/platform/heap/HeapTest.cpp index d772ab8..99bf5dd8 100644 --- a/third_party/WebKit/Source/platform/heap/HeapTest.cpp +++ b/third_party/WebKit/Source/platform/heap/HeapTest.cpp
@@ -6709,62 +6709,4 @@ EXPECT_TRUE(string.Impl()->HasOneRef()); } -class DoublyLinkedListNodeImpl - : public GarbageCollectedFinalized<DoublyLinkedListNodeImpl>, - public DoublyLinkedListNode<DoublyLinkedListNodeImpl> { - public: - DoublyLinkedListNodeImpl() {} - static DoublyLinkedListNodeImpl* Create() { - return new DoublyLinkedListNodeImpl(); - } - - static int destructor_calls_; - ~DoublyLinkedListNodeImpl() { ++destructor_calls_; } - - void Trace(Visitor* visitor) { - visitor->Trace(prev_); - visitor->Trace(next_); - } - - private: - friend class WTF::DoublyLinkedListNode<DoublyLinkedListNodeImpl>; - Member<DoublyLinkedListNodeImpl> prev_; - Member<DoublyLinkedListNodeImpl> next_; -}; - -int DoublyLinkedListNodeImpl::destructor_calls_ = 0; - -template <typename T> -class HeapDoublyLinkedListContainer - : public GarbageCollected<HeapDoublyLinkedListContainer<T>> { - public: - static HeapDoublyLinkedListContainer<T>* Create() { - return new HeapDoublyLinkedListContainer<T>(); - } - HeapDoublyLinkedListContainer<T>() {} - HeapDoublyLinkedList<T> list_; - void Trace(Visitor* visitor) { visitor->Trace(list_); } -}; - -TEST(HeapTest, HeapDoublyLinkedList) { - Persistent<HeapDoublyLinkedListContainer<DoublyLinkedListNodeImpl>> - container = - HeapDoublyLinkedListContainer<DoublyLinkedListNodeImpl>::Create(); - DoublyLinkedListNodeImpl::destructor_calls_ = 0; - - container->list_.Append(DoublyLinkedListNodeImpl::Create()); - container->list_.Append(DoublyLinkedListNodeImpl::Create()); - - PreciselyCollectGarbage(); - EXPECT_EQ(DoublyLinkedListNodeImpl::destructor_calls_, 0); - - container->list_.RemoveHead(); - PreciselyCollectGarbage(); - EXPECT_EQ(DoublyLinkedListNodeImpl::destructor_calls_, 1); - - container->list_.RemoveHead(); - PreciselyCollectGarbage(); - EXPECT_EQ(DoublyLinkedListNodeImpl::destructor_calls_, 2); -} - } // namespace blink
diff --git a/third_party/WebKit/Source/platform/heap/TraceTraits.h b/third_party/WebKit/Source/platform/heap/TraceTraits.h index f2464fe..899966d 100644 --- a/third_party/WebKit/Source/platform/heap/TraceTraits.h +++ b/third_party/WebKit/Source/platform/heap/TraceTraits.h
@@ -27,10 +27,6 @@ template <typename T> class CrossThreadWeakPersistent; template <typename T> -class HeapDoublyLinkedList; -template <typename T> -class HeapTerminatedArray; -template <typename T> class Member; template <typename T> class TraceEagerlyTrait; @@ -438,20 +434,6 @@ static const bool value = TraceEagerlyTrait<T>::value; }; -template <typename T> -class TraceEagerlyTrait<HeapTerminatedArray<T>> { - public: - static const bool value = TraceEagerlyTrait<T>::value; -}; - -template <typename T> -class TraceEagerlyTrait<HeapDoublyLinkedList<T>> { - STATIC_ONLY(TraceEagerlyTrait); - - public: - static const bool value = TraceEagerlyTrait<T>::value; -}; - template <typename ValueArg, size_t inlineCapacity> class HeapListHashSetAllocator; template <typename T, size_t inlineCapacity>
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp index f7b2eda..e6588e7 100644 --- a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp +++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp
@@ -243,16 +243,25 @@ bool ResourceLoadScheduler::IsThrottablePriority( ResourceLoadPriority priority) const { - if (Platform::Current()->IsRendererSideResourceSchedulerEnabled()) { - if (priority >= ResourceLoadPriority::kMedium) - return false; + if (!Platform::Current()->IsRendererSideResourceSchedulerEnabled()) + return true; + + if (RuntimeEnabledFeatures::ResourceLoadSchedulerEnabled()) { + // If this scheduler is throttled by the associated WebFrameScheduler, + // consider every prioritiy as throttable. + const auto state = frame_scheduler_throttling_state_; + if (state == WebFrameScheduler::ThrottlingState::kThrottled || + state == WebFrameScheduler::ThrottlingState::kStopped) { + return true; + } } - return true; + return priority < ResourceLoadPriority::kMedium; } void ResourceLoadScheduler::OnThrottlingStateChanged( WebFrameScheduler::ThrottlingState state) { + frame_scheduler_throttling_state_ = state; switch (state) { case WebFrameScheduler::ThrottlingState::kThrottled: if (throttling_history_ == ThrottlingHistory::kInitial)
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.h b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.h index c05b04af..6bddb0e 100644 --- a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.h +++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.h
@@ -187,6 +187,8 @@ kStopped, }; ThrottlingHistory throttling_history_ = ThrottlingHistory::kInitial; + WebFrameScheduler::ThrottlingState frame_scheduler_throttling_state_ = + WebFrameScheduler::ThrottlingState::kNotThrottled; // Holds clients that haven't been granted, and are waiting for a grant. HeapHashMap<ClientId, Member<ClientWithPriority>> pending_request_map_;
diff --git a/third_party/WebKit/Source/platform/wtf/DoublyLinkedList.h b/third_party/WebKit/Source/platform/wtf/DoublyLinkedList.h index 4c2e9a0..5280f77 100644 --- a/third_party/WebKit/Source/platform/wtf/DoublyLinkedList.h +++ b/third_party/WebKit/Source/platform/wtf/DoublyLinkedList.h
@@ -70,7 +70,7 @@ return static_cast<const T*>(this)->next_; } -template <typename T, typename PointerType = T*> +template <typename T> class DoublyLinkedList { USING_FAST_MALLOC(DoublyLinkedList); @@ -90,90 +90,83 @@ void Append(T*); void Remove(T*); - protected: - PointerType head_; - PointerType tail_; + private: + T* head_; + T* tail_; DISALLOW_COPY_AND_ASSIGN(DoublyLinkedList); }; -template <typename T, typename PointerType> -inline DoublyLinkedList<T, PointerType>::DoublyLinkedList() - : head_(nullptr), tail_(nullptr) { - static_assert( - !IsGarbageCollectedType<T>::value || - !std::is_same<PointerType, T*>::value, - "Cannot use DoublyLinkedList<> with garbage collected types, use " - "HeapDoublyLinkedList<> instead."); -} +template <typename T> +inline DoublyLinkedList<T>::DoublyLinkedList() : head_(0), tail_(0) {} -template <typename T, typename PointerType> -inline bool DoublyLinkedList<T, PointerType>::IsEmpty() const { +template <typename T> +inline bool DoublyLinkedList<T>::IsEmpty() const { return !head_; } -template <typename T, typename PointerType> -inline size_t DoublyLinkedList<T, PointerType>::size() const { +template <typename T> +inline size_t DoublyLinkedList<T>::size() const { size_t size = 0; for (T* node = head_; node; node = node->Next()) ++size; return size; } -template <typename T, typename PointerType> -inline void DoublyLinkedList<T, PointerType>::Clear() { - head_ = nullptr; - tail_ = nullptr; +template <typename T> +inline void DoublyLinkedList<T>::Clear() { + head_ = 0; + tail_ = 0; } -template <typename T, typename PointerType> -inline T* DoublyLinkedList<T, PointerType>::Head() const { +template <typename T> +inline T* DoublyLinkedList<T>::Head() const { return head_; } -template <typename T, typename PointerType> -inline T* DoublyLinkedList<T, PointerType>::Tail() const { +template <typename T> +inline T* DoublyLinkedList<T>::Tail() const { return tail_; } -template <typename T, typename PointerType> -inline void DoublyLinkedList<T, PointerType>::Push(T* node) { +template <typename T> +inline void DoublyLinkedList<T>::Push(T* node) { if (!head_) { DCHECK(!tail_); head_ = node; tail_ = node; - node->SetPrev(nullptr); - node->SetNext(nullptr); + node->SetPrev(0); + node->SetNext(0); return; } DCHECK(tail_); head_->SetPrev(node); node->SetNext(head_); - node->SetPrev(nullptr); + node->SetPrev(0); head_ = node; } -template <typename T, typename PointerType> -inline void DoublyLinkedList<T, PointerType>::Append(T* node) { +template <typename T> +inline void DoublyLinkedList<T>::Append(T* node) { if (!tail_) { DCHECK(!head_); head_ = node; tail_ = node; - node->SetPrev(nullptr); - node->SetNext(nullptr); + node->SetPrev(0); + node->SetNext(0); return; } DCHECK(head_); tail_->SetNext(node); node->SetPrev(tail_); - node->SetNext(nullptr); + node->SetNext(0); tail_ = node; } -template <typename T, typename PointerType> -inline void DoublyLinkedList<T, PointerType>::Remove(T* node) { +template <typename T> +inline void DoublyLinkedList<T>::Remove(T* node) { if (node->Prev()) { DCHECK_NE(node, head_); node->Prev()->SetNext(node->Next()); @@ -191,8 +184,8 @@ } } -template <typename T, typename PointerType> -inline T* DoublyLinkedList<T, PointerType>::RemoveHead() { +template <typename T> +inline T* DoublyLinkedList<T>::RemoveHead() { T* node = Head(); if (node) Remove(node);
diff --git a/tools/metrics/ukm/ukm.xml b/tools/metrics/ukm/ukm.xml index 88cc5d7..7c71528 100644 --- a/tools/metrics/ukm/ukm.xml +++ b/tools/metrics/ukm/ukm.xml
@@ -2093,6 +2093,12 @@ Number of touch events that were sent to the page. </summary> </metric> + <metric name="WasRecentlyAudible"> + <summary> + Boolean value indicating whether the tab has played audio within the last + two seconds. + </summary> + </metric> </event> </ukm-configuration>
diff --git a/tools/perf/contrib/cluster_telemetry/smoothness_ct.py b/tools/perf/contrib/cluster_telemetry/smoothness_ct.py new file mode 100644 index 0000000..6efd3c4c --- /dev/null +++ b/tools/perf/contrib/cluster_telemetry/smoothness_ct.py
@@ -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. + +from contrib.cluster_telemetry import ct_benchmarks_util +from contrib.cluster_telemetry import page_set + +from core import perf_benchmark +from measurements import smoothness + +def ScrollToEndOfPage(action_runner): + action_runner.Wait(1) + with action_runner.CreateGestureInteraction('ScrollAction'): + action_runner.ScrollPage() + + +class SmoothnessCT(perf_benchmark.PerfBenchmark): + """Measures smoothness performance for Cluster Telemetry.""" + + test = smoothness.Smoothness + + @classmethod + def Name(cls): + return 'smoothness_ct' + + @classmethod + def AddBenchmarkCommandLineArgs(cls, parser): + ct_benchmarks_util.AddBenchmarkCommandLineArgs(parser) + + @classmethod + def ProcessCommandLineArgs(cls, parser, args): + ct_benchmarks_util.ValidateCommandLineArgs(parser, args) + + def CreateStorySet(self, options): + return page_set.CTPageSet( + options.urls_list, options.user_agent, options.archive_data_file, + run_page_interaction_callback=ScrollToEndOfPage)
diff --git a/tools/perf/validate_wpr_archives b/tools/perf/validate_wpr_archives index 563a3a1..8281827 100755 --- a/tools/perf/validate_wpr_archives +++ b/tools/perf/validate_wpr_archives
@@ -21,6 +21,7 @@ benchmarks_to_skip = [ 'skpicture_printer_ct', 'screenshot_ct', + 'smoothness_ct', 'repaint_ct', 'rasterize_and_record_micro_ct', 'multipage_skpicture_printer_ct',
diff --git a/ui/accessibility/ax_role_properties.cc b/ui/accessibility/ax_role_properties.cc index 371058f..7540c67 100644 --- a/ui/accessibility/ax_role_properties.cc +++ b/ui/accessibility/ax_role_properties.cc
@@ -144,9 +144,4 @@ } } -bool IsEditField(ui::AXRole role) { - return role == ui::AX_ROLE_TEXT_FIELD || role == ui::AX_ROLE_SEARCH_BOX || - role == ui::AX_ROLE_TEXT_FIELD_WITH_COMBO_BOX; -} - } // namespace ui
diff --git a/ui/accessibility/ax_role_properties.h b/ui/accessibility/ax_role_properties.h index 5d910357..81893bc 100644 --- a/ui/accessibility/ax_role_properties.h +++ b/ui/accessibility/ax_role_properties.h
@@ -35,9 +35,6 @@ // Returns true if this node is a menu or related role. AX_EXPORT bool IsMenuRelated(ui::AXRole role); -// Returns true if this node is a edit field. -AX_EXPORT bool IsEditField(ui::AXRole role); - } // namespace ui #endif // UI_ACCESSIBILITY_AX_ROLE_PROPERTIES_H_
diff --git a/ui/accessibility/platform/ax_platform_node_base.cc b/ui/accessibility/platform/ax_platform_node_base.cc index c37e285..97afb682 100644 --- a/ui/accessibility/platform/ax_platform_node_base.cc +++ b/ui/accessibility/platform/ax_platform_node_base.cc
@@ -262,43 +262,20 @@ GetData().role == AX_ROLE_INLINE_TEXT_BOX; } -bool AXPlatformNodeBase::IsNativeTextControl() const { - const std::string& html_tag = GetStringAttribute(AX_ATTR_HTML_TAG); - if (html_tag == "input") { - std::string input_type; - if (!GetData().GetHtmlAttribute("type", &input_type)) - return true; - return input_type.empty() || input_type == "email" || - input_type == "password" || input_type == "search" || - input_type == "tel" || input_type == "text" || input_type == "url" || - input_type == "number"; - } - return html_tag == "textarea"; +bool AXPlatformNodeBase::IsPlainTextField() const { + // We need to check both the role and editable state, because some ARIA text + // fields may in fact not be editable, whilst some editable fields might not + // have the role. + return !GetData().HasState(AX_STATE_RICHLY_EDITABLE) && + (GetData().role == AX_ROLE_TEXT_FIELD || + GetData().role == AX_ROLE_TEXT_FIELD_WITH_COMBO_BOX || + GetData().role == AX_ROLE_SEARCH_BOX || + GetBoolAttribute(AX_ATTR_EDITABLE_ROOT)); } -bool AXPlatformNodeBase::IsSimpleTextControl() const { - // Time fields, color wells and spinner buttons might also use text fields as - // constituent parts, but they are not considered text fields as a whole. - switch (GetData().role) { - case AX_ROLE_TEXT_FIELD_WITH_COMBO_BOX: - case AX_ROLE_SEARCH_BOX: - return true; - case AX_ROLE_TEXT_FIELD: - return !GetData().HasState(AX_STATE_RICHLY_EDITABLE); - default: - return false; - } -} - -// Indicates if this object is at the root of a rich edit text control. -bool AXPlatformNodeBase::IsRichTextControl() { - gfx::NativeViewAccessible parent_accessible = GetParent(); - AXPlatformNodeBase* parent = FromNativeViewAccessible(parent_accessible); - if (!parent) - return false; - - return GetData().HasState(AX_STATE_RICHLY_EDITABLE) && - (!parent || !parent->GetData().HasState(AX_STATE_RICHLY_EDITABLE)); +bool AXPlatformNodeBase::IsRichTextField() const { + return GetBoolAttribute(AX_ATTR_EDITABLE_ROOT) && + GetData().HasState(AX_STATE_RICHLY_EDITABLE); } base::string16 AXPlatformNodeBase::GetInnerText() { @@ -466,7 +443,7 @@ } bool AXPlatformNodeBase::HasCaret() { - if (IsSimpleTextControl() && HasIntAttribute(ui::AX_ATTR_TEXT_SEL_START) && + if (IsPlainTextField() && HasIntAttribute(ui::AX_ATTR_TEXT_SEL_START) && HasIntAttribute(ui::AX_ATTR_TEXT_SEL_END)) { return true; } @@ -504,10 +481,7 @@ // implementation details, but we want to expose them as leaves to platform // accessibility APIs because screen readers might be confused if they find // any children. - // Note that if a combo box, search box or text field are not native, they - // might present a menu of choices using aria-owns which should not be hidden - // from tree. - if (IsNativeTextControl() || IsTextOnlyObject()) + if (IsPlainTextField() || IsTextOnlyObject()) return true; // Roles whose children are only presentational according to the ARIA and @@ -556,8 +530,7 @@ // Some screen readers like Jaws and VoiceOver require a // value to be set in text fields with rich content, even though the same // information is available on the children. - if (value.empty() && (IsSimpleTextControl() || IsRichTextControl()) && - !IsNativeTextControl()) + if (value.empty() && IsRichTextField()) return GetInnerText(); return value;
diff --git a/ui/accessibility/platform/ax_platform_node_base.h b/ui/accessibility/platform/ax_platform_node_base.h index 32eeb4a..1099e64 100644 --- a/ui/accessibility/platform/ax_platform_node_base.h +++ b/ui/accessibility/platform/ax_platform_node_base.h
@@ -147,9 +147,8 @@ ~AXPlatformNodeBase() override; bool IsTextOnlyObject() const; - bool IsNativeTextControl() const; - bool IsSimpleTextControl() const; - bool IsRichTextControl(); + bool IsPlainTextField() const; + bool IsRichTextField() const; bool IsRangeValueSupported() const; // Get the range value text, which might come from aria-valuetext or
diff --git a/ui/accessibility/platform/ax_platform_node_win.cc b/ui/accessibility/platform/ax_platform_node_win.cc index b58229d..083abf2 100644 --- a/ui/accessibility/platform/ax_platform_node_win.cc +++ b/ui/accessibility/platform/ax_platform_node_win.cc
@@ -1070,11 +1070,8 @@ } // Last resort (Use innerText) - if (result.empty() && - (target->IsSimpleTextControl() || target->IsRichTextControl()) && - !target->IsNativeTextControl()) { + if (result.empty() && target->IsRichTextField()) result = target->GetInnerText(); - } *value = SysAllocString(result.c_str()); DCHECK(*value); @@ -3021,7 +3018,6 @@ int32_t AXPlatformNodeWin::ComputeIA2State() { const AXNodeData& data = GetData(); - int32_t ia2_state = IA2_STATE_OPAQUE; const auto checked_state = @@ -3040,20 +3036,16 @@ if (data.HasState(AX_STATE_HORIZONTAL)) ia2_state |= IA2_STATE_HORIZONTAL; - const bool is_editable = data.HasState(AX_STATE_EDITABLE); - if (is_editable) + if (data.HasState(AX_STATE_EDITABLE)) ia2_state |= IA2_STATE_EDITABLE; - if (IsRichTextControl() || IsEditField(data.role)) { - // Support multi/single line states if root editable or appropriate role. - // We support the edit box roles even if the area is not actually editable, - // because it is technically feasible for JS to implement the edit box - // by controlling selection. + if (IsPlainTextField() || IsRichTextField()) { if (data.HasState(AX_STATE_MULTILINE)) { ia2_state |= IA2_STATE_MULTI_LINE; } else { ia2_state |= IA2_STATE_SINGLE_LINE; } + ia2_state |= IA2_STATE_SELECTABLE_TEXT; } if (!GetStringAttribute(AX_ATTR_AUTO_COMPLETE).empty()) @@ -3064,20 +3056,9 @@ switch (data.role) { case AX_ROLE_MENU_LIST_POPUP: - ia2_state &= ~(IA2_STATE_EDITABLE); - break; case AX_ROLE_MENU_LIST_OPTION: ia2_state &= ~(IA2_STATE_EDITABLE); break; - case AX_ROLE_TEXT_FIELD: - case AX_ROLE_SEARCH_BOX: - if (data.HasState(AX_STATE_MULTILINE)) { - ia2_state |= IA2_STATE_MULTI_LINE; - } else { - ia2_state |= IA2_STATE_SINGLE_LINE; - } - ia2_state |= IA2_STATE_SELECTABLE_TEXT; - break; default: break; } @@ -3421,14 +3402,13 @@ // object (as opposed to treating it like a native Windows text box). // The text-model:a1 attribute is documented here: // http://www.linuxfoundation.org/collaborate/workgroups/accessibility/ia2/ia2_implementation_guide - if (IsEditField(GetData().role)) { + if (IsPlainTextField() || IsRichTextField()) result.push_back(L"text-model:a1;"); - } // Expose input-text type attribute. base::string16 type; base::string16 html_tag = GetString16Attribute(AX_ATTR_HTML_TAG); - if (IsSimpleTextControl() && html_tag == L"input" && + if (IsPlainTextField() && html_tag == L"input" && GetData().GetHtmlAttribute("type", &type)) { SanitizeStringAttributeForIA2(type, &type); result.push_back(L"text-input-type:" + type); @@ -3454,7 +3434,7 @@ AXHypertext AXPlatformNodeWin::ComputeHypertext() { AXHypertext result; - if (IsSimpleTextControl()) { + if (IsPlainTextField()) { result.hypertext = GetValue(); return result; } @@ -3462,7 +3442,7 @@ int child_count = delegate_->GetChildCount(); if (!child_count) { - if (IsRichTextControl()) { + if (IsRichTextField()) { // We don't want to expose any associated label in IA2 Hypertext. return result; } @@ -3748,7 +3728,7 @@ base::string16 AXPlatformNodeWin::TextForIAccessibleText() { // Special case allows us to get text even in non-HTML case, e.g. browser UI. - if (IsSimpleTextControl()) + if (IsPlainTextField()) return GetString16Attribute(AX_ATTR_VALUE); return GetText(); } @@ -3930,10 +3910,10 @@ AXPlatformNodeWin* child) { // TODO(dougt) DCHECK(child.owner()->PlatformGetParent() == owner()); - // Handle the case when we are dealing with a direct text-only child. - // (Note that this object might be a platform leaf, e.g. an ARIA searchbox, - // Also, direct text-only children should not be present at tree roots and so - // no cross-tree traversal is necessary. + // Handle the case when we are dealing with a text-only child. + // Note that this object might be a platform leaf, e.g. an ARIA searchbox. + // Also, text-only children should not be present at tree roots and so no + // cross-tree traversal is necessary. if (child->IsTextOnlyObject()) { int32_t hypertext_offset = 0; int32_t index_in_parent = child->delegate_->GetIndexInParent(); @@ -4140,7 +4120,7 @@ int* selection_end) { DCHECK(selection_start && selection_end); - if (IsSimpleTextControl() && + if (IsPlainTextField() && GetIntAttribute(ui::AX_ATTR_TEXT_SEL_START, selection_start) && GetIntAttribute(ui::AX_ATTR_TEXT_SEL_END, selection_end)) { return;
diff --git a/ui/accessibility/platform/ax_snapshot_node_android_platform.cc b/ui/accessibility/platform/ax_snapshot_node_android_platform.cc index c76504d..83e08390 100644 --- a/ui/accessibility/platform/ax_snapshot_node_android_platform.cc +++ b/ui/accessibility/platform/ax_snapshot_node_android_platform.cc
@@ -42,7 +42,10 @@ // TODO(muyuanli): share with BrowserAccessibility. bool IsSimpleTextControl(const AXNode* node, uint32_t state) { - return IsEditField(node->data().role) && + return (node->data().role == AX_ROLE_TEXT_FIELD || + node->data().role == AX_ROLE_TEXT_FIELD_WITH_COMBO_BOX || + node->data().role == AX_ROLE_SEARCH_BOX || + node->data().HasBoolAttribute(AX_ATTR_EDITABLE_ROOT)) && !node->data().HasState(AX_STATE_RICHLY_EDITABLE); }
diff --git a/ui/message_center/views/notification_view_md.h b/ui/message_center/views/notification_view_md.h index 3c85150..cf2ff5d 100644 --- a/ui/message_center/views/notification_view_md.h +++ b/ui/message_center/views/notification_view_md.h
@@ -210,6 +210,8 @@ FRIEND_TEST_ALL_PREFIXES(NotificationViewMDTest, TestIconSizing); FRIEND_TEST_ALL_PREFIXES(NotificationViewMDTest, UpdateButtonsStateTest); FRIEND_TEST_ALL_PREFIXES(NotificationViewMDTest, UpdateButtonCountTest); + FRIEND_TEST_ALL_PREFIXES(NotificationViewMDTest, TestActionButtonClick); + FRIEND_TEST_ALL_PREFIXES(NotificationViewMDTest, TestInlineReply); FRIEND_TEST_ALL_PREFIXES(NotificationViewMDTest, ExpandLongMessage); FRIEND_TEST_ALL_PREFIXES(NotificationViewMDTest, TestAccentColor); FRIEND_TEST_ALL_PREFIXES(NotificationViewMDTest, UseImageAsIcon);
diff --git a/ui/message_center/views/notification_view_md_unittest.cc b/ui/message_center/views/notification_view_md_unittest.cc index dfafa21..6ebc869 100644 --- a/ui/message_center/views/notification_view_md_unittest.cc +++ b/ui/message_center/views/notification_view_md_unittest.cc
@@ -81,6 +81,11 @@ void ScrollBy(int dx); views::View* GetCloseButton(); + bool expecting_button_click_ = false; + bool expecting_reply_submission_ = false; + int clicked_button_index_ = -1; + base::string16 submitted_reply_string_; + private: std::set<std::string> removed_ids_; @@ -123,6 +128,13 @@ widget_->SetContentsView(notification_view_.get()); widget_->SetSize(notification_view_->GetPreferredSize()); widget_->Show(); + widget_->widget_delegate()->set_can_activate(true); + widget_->Activate(); + + expecting_button_click_ = false; + expecting_reply_submission_ = false; + clicked_button_index_ = -1; + submitted_reply_string_.clear(); } void NotificationViewMDTest::TearDown() { @@ -146,16 +158,22 @@ void NotificationViewMDTest::ClickOnNotificationButton( const std::string& notification_id, int button_index) { - // For this test, this method should not be invoked. - NOTREACHED(); + if (!expecting_button_click_) { + ADD_FAILURE() << "ClickOnNotificationButton should not be invoked."; + } + clicked_button_index_ = button_index; } void NotificationViewMDTest::ClickOnNotificationButtonWithReply( const std::string& notification_id, int button_index, const base::string16& reply) { - // For this test, this method should not be invoked. - NOTREACHED(); + if (!expecting_reply_submission_) { + ADD_FAILURE() + << "ClickOnNotificationButtonWithReply should not be invoked."; + } + clicked_button_index_ = button_index; + submitted_reply_string_ = reply; } void NotificationViewMDTest::ClickOnSettingsButton( @@ -420,6 +438,83 @@ notification_view()->action_buttons_[0]->state()); } +TEST_F(NotificationViewMDTest, TestActionButtonClick) { + expecting_button_click_ = true; + + notification()->set_buttons(CreateButtons(2)); + notification_view()->UpdateWithNotification(*notification()); + widget()->Show(); + + ui::test::EventGenerator generator(widget()->GetNativeWindow()); + + // Action buttons are hidden by collapsed state. + if (!notification_view()->expanded_) + notification_view()->ToggleExpanded(); + EXPECT_TRUE(notification_view()->actions_row_->visible()); + + // Now construct a mouse click event 1 pixel inside the boundary of the action + // button. + gfx::Point cursor_location(1, 1); + views::View::ConvertPointToScreen(notification_view()->action_buttons_[1], + &cursor_location); + generator.MoveMouseTo(cursor_location); + generator.ClickLeftButton(); + + EXPECT_EQ(1, clicked_button_index_); +} + +TEST_F(NotificationViewMDTest, TestInlineReply) { + expecting_reply_submission_ = true; + + std::vector<ButtonInfo> buttons = CreateButtons(2); + buttons[1].type = ButtonType::TEXT; + notification()->set_buttons(buttons); + notification_view()->UpdateWithNotification(*notification()); + widget()->Show(); + + ui::test::EventGenerator generator(widget()->GetNativeWindow()); + + // Action buttons are hidden by collapsed state. + if (!notification_view()->expanded_) + notification_view()->ToggleExpanded(); + EXPECT_TRUE(notification_view()->actions_row_->visible()); + + // Now construct a mouse click event 1 pixel inside the boundary of the action + // button. + gfx::Point cursor_location(1, 1); + views::View::ConvertPointToScreen(notification_view()->action_buttons_[1], + &cursor_location); + generator.MoveMouseTo(cursor_location); + generator.ClickLeftButton(); + + // Nothing should be submitted at this point. + EXPECT_EQ(-1, clicked_button_index_); + + // Toggling should hide the inline textfield. + EXPECT_TRUE(notification_view()->inline_reply_->visible()); + notification_view()->ToggleExpanded(); + notification_view()->ToggleExpanded(); + EXPECT_FALSE(notification_view()->inline_reply_->visible()); + + // Click the button again and focus on the inline textfield. + generator.ClickLeftButton(); + generator.ClickLeftButton(); + EXPECT_TRUE(notification_view()->inline_reply_->visible()); + EXPECT_TRUE(notification_view()->inline_reply_->HasFocus()); + + // Type the text and submit. + ui::KeyboardCode keycodes[] = {ui::VKEY_T, ui::VKEY_E, ui::VKEY_S, ui::VKEY_T, + ui::VKEY_RETURN}; + + for (ui::KeyboardCode keycode : keycodes) { + generator.PressKey(keycode, ui::EF_NONE); + generator.ReleaseKey(keycode, ui::EF_NONE); + } + + EXPECT_EQ(1, clicked_button_index_); + EXPECT_EQ(base::ASCIIToUTF16("test"), submitted_reply_string_); +} + TEST_F(NotificationViewMDTest, SlideOut) { ui::ScopedAnimationDurationScaleMode zero_duration_scope( ui::ScopedAnimationDurationScaleMode::ZERO_DURATION);