From 11c77f622ebe4a27669300d6908ef0e03ed5ace1 Mon Sep 17 00:00:00 2001 From: Mark Pilgrim Date: Fri, 26 Oct 2018 09:25:51 -0400 Subject: [PATCH 1/4] Disable reset report uploader and hide UI Fixes https://github.com/brave/brave-browser/issues/1844 --- ...-profile_resetter-reset_report_uploader.cc | 12 ++++++++++ ...reset_page-reset_profile_dialog.html.patch | 15 ++++++++++++ ...s-reset_page-reset_profile_dialog.js.patch | 23 +++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 patches/chrome-browser-profile_resetter-reset_report_uploader.cc create mode 100644 patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.html.patch create mode 100644 patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.js.patch diff --git a/patches/chrome-browser-profile_resetter-reset_report_uploader.cc b/patches/chrome-browser-profile_resetter-reset_report_uploader.cc new file mode 100644 index 000000000000..ef31989224b8 --- /dev/null +++ b/patches/chrome-browser-profile_resetter-reset_report_uploader.cc @@ -0,0 +1,12 @@ +diff --git a/chrome/browser/profile_resetter/reset_report_uploader.cc b/chrome/browser/profile_resetter/reset_report_uploader.cc +index 696cd4a6127f..24e6ce8873ed 100644 +--- a/chrome/browser/profile_resetter/reset_report_uploader.cc ++++ b/chrome/browser/profile_resetter/reset_report_uploader.cc +@@ -48,6 +48,7 @@ void ResetReportUploader::DispatchReport( + + void ResetReportUploader::DispatchReportInternal( + const std::string& request_data) { ++ return; // feature disabled in Brave + // Create traffic annotation tag. + net::NetworkTrafficAnnotationTag traffic_annotation = + net::DefineNetworkTrafficAnnotation("profile_resetter_upload", R"( diff --git a/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.html.patch b/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.html.patch new file mode 100644 index 000000000000..4f4d9ecbfed3 --- /dev/null +++ b/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.html.patch @@ -0,0 +1,15 @@ +diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html +index 64a6823036ba..714324e2a13f 100644 +--- a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html ++++ b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html +@@ -44,10 +44,6 @@ + $i18n{resetDialogCommit} + + +-
+- +- $i18nRaw{resetPageFeedback} +-
+ + + diff --git a/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.js.patch b/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.js.patch new file mode 100644 index 000000000000..604bfc036073 --- /dev/null +++ b/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.js.patch @@ -0,0 +1,23 @@ +diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.js b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.js +index 0291bfffdcd5..12ff081941f1 100644 +--- a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.js ++++ b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.js +@@ -75,9 +75,6 @@ Polymer({ + this.addEventListener('cancel', () => { + this.browserProxy_.onHideResetProfileDialog(); + }); +- +- this.$$('cr-checkbox a') +- .addEventListener('click', this.onShowReportedSettingsTap_.bind(this)); + }, + + /** @private */ +@@ -123,7 +120,7 @@ Polymer({ + this.clearingInProgress_ = true; + this.browserProxy_ + .performResetProfileSettings( +- this.$.sendSettings.checked, this.resetRequestOrigin_) ++ false, this.resetRequestOrigin_) + .then(() => { + this.clearingInProgress_ = false; + if (this.$.dialog.open) From 8f2cc07fa59c074b3eb32ef7cc08c3c4b30f8c53 Mon Sep 17 00:00:00 2001 From: Mark Pilgrim Date: Fri, 26 Oct 2018 09:37:30 -0400 Subject: [PATCH 2/4] add unit test --- .../reset_report_uploader_unittest.cc | 40 +++++++++++++++++++ test/BUILD.gn | 1 + 2 files changed, 41 insertions(+) create mode 100644 browser/resources/settings/reset_report_uploader_unittest.cc diff --git a/browser/resources/settings/reset_report_uploader_unittest.cc b/browser/resources/settings/reset_report_uploader_unittest.cc new file mode 100644 index 000000000000..95e1c1309bff --- /dev/null +++ b/browser/resources/settings/reset_report_uploader_unittest.cc @@ -0,0 +1,40 @@ +#include "chrome/browser/profile_resetter/reset_report_uploader.h" + +#include "base/test/bind_test_util.h" +#include "base/test/scoped_task_environment.h" +#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h" +#include "services/network/test/test_url_loader_factory.h" +#include "testing/gtest/include/gtest/gtest.h" + +class ResetReportUploaderTest : public testing::Test { + public: + ResetReportUploaderTest() + : test_shared_loader_factory_( + base::MakeRefCounted( + &test_url_loader_factory_)) {} + + protected: + scoped_refptr shared_url_loader_factory() { + return test_shared_loader_factory_; + } + network::TestURLLoaderFactory* test_url_loader_factory() { + return &test_url_loader_factory_; + } + + private: + base::test::ScopedTaskEnvironment scoped_task_environment_; + network::TestURLLoaderFactory test_url_loader_factory_; + scoped_refptr test_shared_loader_factory_; +}; + +TEST_F(ResetReportUploaderTest, NoFetch) { + bool network_access_occurred = false; + test_url_loader_factory()->SetInterceptor( + base::BindLambdaForTesting([&](const network::ResourceRequest& request) { + network_access_occurred = true; + })); + ResetReportUploader* uploader = + new ResetReportUploader(shared_url_loader_factory()); + uploader->DispatchReportInternal(""); + EXPECT_FALSE(network_access_occurred); +} diff --git a/test/BUILD.gn b/test/BUILD.gn index e88e13d312c1..61df3ec308bc 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -46,6 +46,7 @@ test("brave_unit_tests") { "//brave/browser/profiles/tor_unittest_profile_manager.cc", "//brave/browser/profiles/tor_unittest_profile_manager.h", "//brave/browser/profiles/brave_profile_manager_unittest.cc", + "//brave/browser/resources/settings/reset_report_uploader_unittest.cc", "//brave/chromium_src/chrome/browser/signin/account_consistency_disabled_unittest.cc", "//brave\chromium_src/chrome/browser/ui/bookmarks/brave_bookmark_context_menu_controller_unittest.cc", "//brave/chromium_src/components/search_engines/brave_template_url_prepopulate_data_unittest.cc", From 2a13fba0aca858fa28fd0ed08c61b4bbbc632686 Mon Sep 17 00:00:00 2001 From: Mark Pilgrim Date: Tue, 30 Oct 2018 11:36:31 -0400 Subject: [PATCH 3/4] use expressions in reset_page patches --- ...reset_page-reset_profile_dialog.html.patch | 14 ++++++----- ...s-reset_page-reset_profile_dialog.js.patch | 23 ++++++++++++------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.html.patch b/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.html.patch index 4f4d9ecbfed3..be691016c654 100644 --- a/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.html.patch +++ b/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.html.patch @@ -1,15 +1,17 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html -index 64a6823036ba..714324e2a13f 100644 +index 64a6823036ba..e29c828edc69 100644 --- a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html +++ b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html -@@ -44,10 +44,6 @@ +@@ -44,10 +44,12 @@ $i18n{resetDialogCommit} --
-- -- $i18nRaw{resetPageFeedback} --
++ diff --git a/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.js.patch b/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.js.patch index 604bfc036073..48a04e1dff77 100644 --- a/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.js.patch +++ b/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.js.patch @@ -1,23 +1,30 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.js b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.js -index 0291bfffdcd5..12ff081941f1 100644 +index 0291bfffdcd5..ee783f93ddd9 100644 --- a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.js +++ b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.js -@@ -75,9 +75,6 @@ Polymer({ - this.addEventListener('cancel', () => { +@@ -76,8 +76,10 @@ Polymer({ this.browserProxy_.onHideResetProfileDialog(); }); -- -- this.$$('cr-checkbox a') -- .addEventListener('click', this.onShowReportedSettingsTap_.bind(this)); + ++ // + this.$$('cr-checkbox a') + .addEventListener('click', this.onShowReportedSettingsTap_.bind(this)); ++ // }, /** @private */ -@@ -123,7 +120,7 @@ Polymer({ +@@ -123,7 +125,13 @@ Polymer({ this.clearingInProgress_ = true; this.browserProxy_ .performResetProfileSettings( - this.$.sendSettings.checked, this.resetRequestOrigin_) -+ false, this.resetRequestOrigin_) ++ // ++ this.$.sendSettings.checked, ++ // ++ false, ++ // ++ this.resetRequestOrigin_); ++ .then(() => { this.clearingInProgress_ = false; if (this.$.dialog.open) From 27606af283d583f92dd55c1d940b69722434c61f Mon Sep 17 00:00:00 2001 From: Mark Pilgrim Date: Tue, 30 Oct 2018 13:05:05 -0400 Subject: [PATCH 4/4] don't use expressions in js --- ...s-reset_page-reset_profile_dialog.js.patch | 30 +++++++------------ 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.js.patch b/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.js.patch index 48a04e1dff77..8c96a585ffc5 100644 --- a/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.js.patch +++ b/patches/chrome-browser-resources-settings-reset_page-reset_profile_dialog.js.patch @@ -1,30 +1,22 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.js b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.js -index 0291bfffdcd5..ee783f93ddd9 100644 +index 0291bfffdcd5..62b9f8bc662b 100644 --- a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.js +++ b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.js -@@ -76,8 +76,10 @@ Polymer({ +@@ -75,9 +75,6 @@ Polymer({ + this.addEventListener('cancel', () => { this.browserProxy_.onHideResetProfileDialog(); }); - -+ // - this.$$('cr-checkbox a') - .addEventListener('click', this.onShowReportedSettingsTap_.bind(this)); -+ // +- +- this.$$('cr-checkbox a') +- .addEventListener('click', this.onShowReportedSettingsTap_.bind(this)); }, /** @private */ -@@ -123,7 +125,13 @@ Polymer({ +@@ -121,6 +118,7 @@ Polymer({ + /** @private */ + onResetTap_: function() { this.clearingInProgress_ = true; ++ this.$.sendSettings.checked = { checked: false }; this.browserProxy_ .performResetProfileSettings( -- this.$.sendSettings.checked, this.resetRequestOrigin_) -+ // -+ this.$.sendSettings.checked, -+ // -+ false, -+ // -+ this.resetRequestOrigin_); -+ - .then(() => { - this.clearingInProgress_ = false; - if (this.$.dialog.open) + this.$.sendSettings.checked, this.resetRequestOrigin_)