Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3038)

Unified Diff: chrome/browser/ui/webui/constrained_web_dialog_ui_browsertest.cc

Issue 2798583002: WebUI: prevent WebContent to hold invalid pointer. (Closed)
Patch Set: Fix compilation on mac Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/constrained_web_dialog_ui_browsertest.cc
diff --git a/chrome/browser/ui/webui/constrained_web_dialog_ui_browsertest.cc b/chrome/browser/ui/webui/constrained_web_dialog_ui_browsertest.cc
index d24da343196d36d7db8b7f84b3c244a14b088f91..187ea14f4a57c1b5dc2a02b86dc74ca641386c12 100644
--- a/chrome/browser/ui/webui/constrained_web_dialog_ui_browsertest.cc
+++ b/chrome/browser/ui/webui/constrained_web_dialog_ui_browsertest.cc
@@ -120,9 +120,8 @@ IN_PROC_BROWSER_TEST_F(ConstrainedWebDialogBrowserTest, BasicTest) {
EXPECT_TRUE(IsShowingWebContentsModalDialog(web_contents));
}
-// Tests that ReleaseWebContentsOnDialogClose() works.
-IN_PROC_BROWSER_TEST_F(ConstrainedWebDialogBrowserTest,
- ReleaseWebContentsOnDialogClose) {
+// Tests that ReleaseWebContents() works.
+IN_PROC_BROWSER_TEST_F(ConstrainedWebDialogBrowserTest, ReleaseWebContents) {
// The delegate deletes itself.
WebDialogDelegate* delegate = new ui::test::TestWebDialogDelegate(
GURL(chrome::kChromeUIConstrainedHTMLTestURL));
@@ -133,17 +132,18 @@ IN_PROC_BROWSER_TEST_F(ConstrainedWebDialogBrowserTest,
ConstrainedWebDialogDelegate* dialog_delegate =
ShowConstrainedWebDialog(browser()->profile(), delegate, web_contents);
ASSERT_TRUE(dialog_delegate);
- std::unique_ptr<WebContents> new_tab(dialog_delegate->GetWebContents());
- ASSERT_TRUE(new_tab.get());
+ WebContents* dialog_contents = dialog_delegate->GetWebContents();
+ ASSERT_TRUE(dialog_contents);
ASSERT_TRUE(IsShowingWebContentsModalDialog(web_contents));
- ConstrainedWebDialogBrowserTestObserver observer(new_tab.get());
- dialog_delegate->ReleaseWebContentsOnDialogClose();
+ ConstrainedWebDialogBrowserTestObserver observer(dialog_contents);
+ std::unique_ptr<WebContents> dialog_contents_holder =
+ dialog_delegate->ReleaseWebContents();
dialog_delegate->OnDialogCloseFromWebUI();
ASSERT_FALSE(observer.contents_destroyed());
EXPECT_FALSE(IsShowingWebContentsModalDialog(web_contents));
- new_tab.reset();
+ dialog_contents_holder.reset();
EXPECT_TRUE(observer.contents_destroyed());
}

Powered by Google App Engine
This is Rietveld 408576698