From 90f81d4052192f57813fb5e4cae02a359deeac1e Mon Sep 17 00:00:00 2001 From: ryanml Date: Tue, 19 Nov 2019 17:38:31 -0700 Subject: [PATCH 1/2] Fixing brave://wallet opening in private windows Fixes brave/brave-browser#6637 --- browser/brave_scheme_load_browsertest.cc | 5 +++++ chromium_src/chrome/browser/ui/browser_navigator.cc | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/browser/brave_scheme_load_browsertest.cc b/browser/brave_scheme_load_browsertest.cc index e1de0f61b15e..9f52a81bc812 100644 --- a/browser/brave_scheme_load_browsertest.cc +++ b/browser/brave_scheme_load_browsertest.cc @@ -253,3 +253,8 @@ IN_PROC_BROWSER_TEST_F(BraveSchemeLoadBrowserTest, RewardsPageIsNotAllowedInPrivateWindow) { TestURLIsNotLoadedInPrivateWindow("brave://rewards"); } + +IN_PROC_BROWSER_TEST_F(BraveSchemeLoadBrowserTest, + WalletPageIsNotAllowedInPrivateWindow) { + TestURLIsNotLoadedInPrivateWindow("brave://wallet"); +} diff --git a/chromium_src/chrome/browser/ui/browser_navigator.cc b/chromium_src/chrome/browser/ui/browser_navigator.cc index f2c4e700fed3..eb73964aafe0 100644 --- a/chromium_src/chrome/browser/ui/browser_navigator.cc +++ b/chromium_src/chrome/browser/ui/browser_navigator.cc @@ -53,7 +53,8 @@ void MaybeHandleInParent(NavigateParams* params, bool allow_in_incognito) { } bool IsHostAllowedInIncognitoBraveImpl(const base::StringPiece& host) { - if (host == kRewardsPageHost || + if (host == kWalletHost || + host == kRewardsPageHost || host == kBraveUISyncHost || host == chrome::kChromeUISyncInternalsHost) { return false; From 3b7f88fdcff4d59f583c23b6a0a642f1a5278642 Mon Sep 17 00:00:00 2001 From: Simon Hong Date: Wed, 20 Nov 2019 16:37:43 +0900 Subject: [PATCH 2/2] Improve SettingsPageIsNotAllowedInPrivateWindow() When we want to check whether some webui loading is redirected to normal window, we can simply check it by whether new tab is added or not after loading to private window. --- browser/brave_scheme_load_browsertest.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/browser/brave_scheme_load_browsertest.cc b/browser/brave_scheme_load_browsertest.cc index 9f52a81bc812..47c67b40df90 100644 --- a/browser/brave_scheme_load_browsertest.cc +++ b/browser/brave_scheme_load_browsertest.cc @@ -39,7 +39,7 @@ class BraveSchemeLoadBrowserTest : public InProcessBrowserTest, const TabStripModelChange& change, const TabStripSelectionChange& selection) override { if (change.type() == TabStripModelChange::kInserted) { - WaitForLoadStop(active_contents()); + quit_closure_.Run(); } } @@ -69,23 +69,29 @@ class BraveSchemeLoadBrowserTest : public InProcessBrowserTest, browser()->tab_strip_model()->AddObserver(this); + base::RunLoop run_loop; + quit_closure_ = run_loop.QuitClosure(); + // Load url to private window. NavigateParams params( private_browser, GURL(url), ui::PAGE_TRANSITION_TYPED); Navigate(¶ms); + run_loop.Run(); + browser()->tab_strip_model()->RemoveObserver(this); EXPECT_STREQ(url.c_str(), base::UTF16ToUTF8(browser()->location_bar_model() ->GetFormattedFullURL()).c_str()); - // EXPECT_EQ(url, active_contents()->GetVisibleURL()); EXPECT_EQ(2, browser()->tab_strip_model()->count()); // Private window stays as initial state. EXPECT_EQ("about:blank", private_model->GetActiveWebContents()->GetVisibleURL().spec()); EXPECT_EQ(1, private_browser->tab_strip_model()->count()); } + + base::RepeatingClosure quit_closure_; }; // Test whether brave page is not loaded from different host by window.open().