diff options
author | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-29 17:42:02 +0000 |
---|---|---|
committer | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-29 17:42:02 +0000 |
commit | dead21caa8e88e85efcd90f033a92629b0df08b3 (patch) | |
tree | cf899e2b6cd445ffc4343a03422d6fc7dda19e25 /chrome/test/base/web_ui_browser_test.cc | |
parent | 02a63db901e14b550815e592016c27fa395cb7b6 (diff) | |
download | chromium_src-dead21caa8e88e85efcd90f033a92629b0df08b3.zip chromium_src-dead21caa8e88e85efcd90f033a92629b0df08b3.tar.gz chromium_src-dead21caa8e88e85efcd90f033a92629b0df08b3.tar.bz2 |
mojo: Port chrome://identity-internals to mojo Web UI.
BUG=391095
NOPRESUBMIT=true
R=fgorski@chromium.org, jam@chromium.org, jschuh@chromium.org, sky@chromium.org
Review URL: https://codereview.chromium.org/365513002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286247 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/base/web_ui_browser_test.cc')
-rw-r--r-- | chrome/test/base/web_ui_browser_test.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/chrome/test/base/web_ui_browser_test.cc b/chrome/test/base/web_ui_browser_test.cc index cf9a2aa..c82c1d0 100644 --- a/chrome/test/base/web_ui_browser_test.cc +++ b/chrome/test/base/web_ui_browser_test.cc @@ -9,6 +9,7 @@ #include "base/lazy_instance.h" #include "base/memory/ref_counted_memory.h" +#include "base/message_loop/message_loop.h" #include "base/path_service.h" #include "base/strings/string_util.h" #include "base/values.h" @@ -82,6 +83,35 @@ class WebUIJsInjectionReadyObserver : public content::WebContentsObserver { std::string preload_test_name_; }; +class WebUIMainObserver : public content::WebContentsObserver { + public: + explicit WebUIMainObserver(content::WebContents* web_contents) + : content::WebContentsObserver(web_contents), + message_loop_runner_(new content::MessageLoopRunner), + has_fired_(false) { + } + + void Wait() { + if (has_fired_) + return; + + message_loop_runner_->Run(); + } + + virtual void DidRunWebUIMojoMain() OVERRIDE { + has_fired_ = true; + message_loop_runner_->Quit(); + } + + private: + // The MessageLoopRunner used to spin the message loop. + scoped_refptr<content::MessageLoopRunner> message_loop_runner_; + + bool has_fired_; + + DISALLOW_COPY_AND_ASSIGN(WebUIMainObserver); +}; + } // namespace WebUIBrowserTest::~WebUIBrowserTest() { @@ -220,6 +250,14 @@ void WebUIBrowserTest::BrowsePreload(const GURL& browse_to) { navigation_observer.Wait(); } +void WebUIBrowserTest::BrowsePreloadAndWaitForMain(const GURL& browse_to) { + content::WebContents* web_contents = + browser()->tab_strip_model()->GetActiveWebContents(); + WebUIMainObserver webui_main_observer(web_contents); + BrowsePreload(browse_to); + webui_main_observer.Wait(); +} + #if defined(ENABLE_FULL_PRINTING) // This custom ContentBrowserClient is used to get notified when a WebContents |