| Index: components/web_view/web_view_apptest.cc
|
| diff --git a/components/web_view/web_view_apptest.cc b/components/web_view/web_view_apptest.cc
|
| index 0c48804f4dc9627186398500423f2cb8f0c31e1c..130ef0a22e1baa079be89cd19a3fa43e1875af47 100644
|
| --- a/components/web_view/web_view_apptest.cc
|
| +++ b/components/web_view/web_view_apptest.cc
|
| @@ -26,6 +26,16 @@ const char kTestTwoFile[] = "test_two.html";
|
| const char kTestTwoTitle[] = "Test Title Two";
|
| const char kTestThreeFile[] = "test_three.html";
|
| const char kTestThreeTitle[] = "Test Title Three";
|
| +
|
| +GURL GetTestFileURL(const std::string& file) {
|
| + base::FilePath data_file;
|
| + CHECK(PathService::Get(base::DIR_SOURCE_ROOT, &data_file));
|
| + data_file = data_file.AppendASCII("components/test/data/web_view")
|
| + .AppendASCII(file)
|
| + .NormalizePathSeparators();
|
| + CHECK(base::PathExists(data_file));
|
| + return mojo::util::FilePathToFileURL(data_file);
|
| +}
|
| }
|
|
|
| class WebViewTest : public mus::ViewManagerTestBase,
|
| @@ -36,7 +46,8 @@ class WebViewTest : public mus::ViewManagerTestBase,
|
|
|
| mojom::WebView* web_view() { return web_view_.web_view(); }
|
|
|
| - const std::string& last_title() { return last_title_; }
|
| + const std::string& navigation_url() const { return navigation_url_; }
|
| + const std::string& last_title() const { return last_title_; }
|
| mojom::ButtonState last_back_button_state() {
|
| return last_back_button_state_;
|
| }
|
| @@ -50,13 +61,8 @@ class WebViewTest : public mus::ViewManagerTestBase,
|
| }
|
|
|
| void NavigateTo(const std::string& file) {
|
| - base::FilePath data_file;
|
| - ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &data_file));
|
| - data_file = data_file.AppendASCII("components/test/data/web_view")
|
| - .AppendASCII(file).NormalizePathSeparators();
|
| - ASSERT_TRUE(base::PathExists(data_file));
|
| mojo::URLRequestPtr request(mojo::URLRequest::New());
|
| - request->url = mojo::util::FilePathToFileURL(data_file).spec();
|
| + request->url = GetTestFileURL(file).spec();
|
| web_view()->LoadRequest(request.Pass());
|
| StartNestedRunLoopUntilLoadingDone();
|
| }
|
| @@ -91,7 +97,10 @@ class WebViewTest : public mus::ViewManagerTestBase,
|
| }
|
|
|
| // Overridden from web_view::mojom::WebViewClient:
|
| - void TopLevelNavigate(mojo::URLRequestPtr request) override {}
|
| + void TopLevelNavigateRequest(mojo::URLRequestPtr request) override {}
|
| + void TopLevelNavigationStarted(const mojo::String& url) override {
|
| + navigation_url_ = url.get();
|
| + }
|
| void LoadingStateChanged(bool is_loading, double progress) override {
|
| if (is_loading == false)
|
| QuitNestedRunLoop();
|
| @@ -113,6 +122,7 @@ class WebViewTest : public mus::ViewManagerTestBase,
|
|
|
| scoped_ptr<base::RunLoop> run_loop_;
|
|
|
| + std::string navigation_url_;
|
| std::string last_title_;
|
| mojom::ButtonState last_back_button_state_;
|
| mojom::ButtonState last_forward_button_state_;
|
| @@ -132,6 +142,7 @@ TEST_F(WebViewTest, CanGoBackAndForward) {
|
|
|
| // We can't go back on first navigation since there's nothing previously on
|
| // the stack.
|
| + EXPECT_EQ(GetTestFileURL(kTestOneFile).spec(), navigation_url());
|
| EXPECT_EQ(kTestOneTitle, last_title());
|
| EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_DISABLED,
|
| last_back_button_state());
|
| @@ -148,6 +159,7 @@ TEST_F(WebViewTest, CanGoBackAndForward) {
|
| web_view()->GoBack();
|
| StartNestedRunLoopUntilLoadingDone();
|
|
|
| + EXPECT_EQ(GetTestFileURL(kTestOneFile).spec(), navigation_url());
|
| EXPECT_EQ(kTestOneTitle, last_title());
|
| EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_DISABLED,
|
| last_back_button_state());
|
| @@ -156,6 +168,7 @@ TEST_F(WebViewTest, CanGoBackAndForward) {
|
|
|
| web_view()->GoForward();
|
| StartNestedRunLoopUntilLoadingDone();
|
| + EXPECT_EQ(GetTestFileURL(kTestTwoFile).spec(), navigation_url());
|
| EXPECT_EQ(kTestTwoTitle, last_title());
|
| EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_ENABLED, last_back_button_state());
|
| EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_DISABLED,
|
| @@ -171,6 +184,7 @@ TEST_F(WebViewTest, NavigationClearsForward) {
|
| web_view()->GoBack();
|
| StartNestedRunLoopUntilLoadingDone();
|
|
|
| + EXPECT_EQ(GetTestFileURL(kTestOneFile).spec(), navigation_url());
|
| EXPECT_EQ(kTestOneTitle, last_title());
|
| EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_DISABLED,
|
| last_back_button_state());
|
| @@ -180,6 +194,7 @@ TEST_F(WebViewTest, NavigationClearsForward) {
|
| // Now navigate to a third file. This should clear the forward stack.
|
| ASSERT_NO_FATAL_FAILURE(NavigateTo(kTestThreeFile));
|
|
|
| + EXPECT_EQ(GetTestFileURL(kTestThreeFile).spec(), navigation_url());
|
| EXPECT_EQ(kTestThreeTitle, last_title());
|
| EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_ENABLED, last_back_button_state());
|
| EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_DISABLED,
|
|
|