Index: chrome/browser/ui/webui/web_ui_browsertest.cc |
diff --git a/chrome/browser/ui/webui/web_ui_browsertest.cc b/chrome/browser/ui/webui/web_ui_browsertest.cc |
index 89d7e0ab57705851817954a1f013ef395363d351..bca4e658f9acfaa773aafc85bef304c8be76b2b5 100644 |
--- a/chrome/browser/ui/webui/web_ui_browsertest.cc |
+++ b/chrome/browser/ui/webui/web_ui_browsertest.cc |
@@ -11,9 +11,11 @@ |
#include "base/utf_string_conversions.h" |
#include "base/values.h" |
#include "chrome/browser/ui/browser.h" |
+#include "chrome/browser/ui/browser_navigator.h" |
#include "chrome/browser/ui/webui/test_chrome_web_ui_factory.h" |
#include "chrome/common/chrome_paths.h" |
#include "chrome/common/url_constants.h" |
+#include "chrome/test/test_navigation_observer.h" |
#include "chrome/test/ui_test_utils.h" |
#include "content/browser/tab_contents/tab_contents.h" |
#include "content/browser/webui/web_ui.h" |
@@ -105,10 +107,23 @@ void WebUIBrowserTest::PreLoadJavascriptLibraries(bool override_chrome_send) { |
} |
WebUIBrowserTest::WebUIBrowserTest() |
- : test_handler_(new WebUITestHandler()), |
+ : override_chrome_send_(false), |
+ test_handler_(new WebUITestHandler()), |
libraries_preloaded_(false), |
skip_test_(false) {} |
+void WebUIBrowserTest::BrowsePreload(const GURL& browse_to, |
+ bool override_chrome_send) { |
+ override_chrome_send_ = override_chrome_send; |
+ TestNavigationObserver navigation_observer( |
+ browser()->GetSelectedTabContentsWrapper(), this); |
+ browser::NavigateParams params( |
+ browser(), GURL(browse_to), PageTransition::TYPED); |
+ params.disposition = CURRENT_TAB; |
+ browser::Navigate(¶ms); |
+ navigation_observer.WaitForObservation(); |
+} |
+ |
void WebUIBrowserTest::SetUpInProcessBrowserTestFixture() { |
ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_directory_)); |
test_data_directory_ = test_data_directory_.Append(kWebUITestFolder); |
@@ -140,9 +155,27 @@ GURL WebUIBrowserTest::WebUITestDataPathToURL( |
return net::FilePathToFileURL(test_path); |
} |
+// TestTabStripModelObserver::LoadStartObserver: |
+void WebUIBrowserTest::OnLoadStart() OVERRIDE { |
+ PreLoadJavascriptLibraries(override_chrome_send_); |
+} |
+ |
void WebUIBrowserTest::BuildJavascriptLibraries(std::string* content) { |
ASSERT_TRUE(content != NULL); |
- std::string library_content, src_content; |
+ std::string library_content; |
+ |
+#if defined(OS_MACOSX) |
+ content->append("var OS_MACOSX = 1;"); |
+#endif |
+#if defined(OS_CHROMEOS) |
+ content->append("var OS_CHROMEOS = 1;"); |
+#endif |
+#if defined(OS_WIN) |
+ content->append("var OS_WIN = 1;"); |
+#endif |
+#if defined(TOUCH_UI) |
+ content->append("var TOUCH_UI = 1;"); |
+#endif |
std::vector<FilePath>::iterator user_libraries_iterator; |
for (user_libraries_iterator = user_libraries_.begin(); |