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

Side by Side Diff: content/browser/web_contents/web_contents_view_aura_browsertest.cc

Issue 11776010: overscroll: Take a screenshot at more appropriate times. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/web_contents/web_contents_view_aura.h" 5 #include "content/browser/web_contents/web_contents_view_aura.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "base/test/test_timeouts.h" 9 #include "base/test/test_timeouts.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 DISABLED_OverscrollScreenshot 271 DISABLED_OverscrollScreenshot
272 #else 272 #else
273 #define MAYBE_OverscrollScreenshot \ 273 #define MAYBE_OverscrollScreenshot \
274 OverscrollScreenshot 274 OverscrollScreenshot
275 #endif 275 #endif
276 // Tests that the page has has a screenshot when navigation happens: 276 // Tests that the page has has a screenshot when navigation happens:
277 // - from within the page (from a JS function) 277 // - from within the page (from a JS function)
278 // - interactively, when user does an overscroll gesture 278 // - interactively, when user does an overscroll gesture
279 // - interactively, when user navigates in history without the overscroll 279 // - interactively, when user navigates in history without the overscroll
280 // gesture. 280 // gesture.
281 // - interactively, by the user navigating to a new page from the UI (e.g.
282 // entering a URL in the omnibox, or navigating to a bookmark)
281 IN_PROC_BROWSER_TEST_F(WebContentsViewAuraTest, 283 IN_PROC_BROWSER_TEST_F(WebContentsViewAuraTest,
282 OverscrollScreenshot) { 284 OverscrollScreenshot) {
283 ASSERT_NO_FATAL_FAILURE( 285 ASSERT_NO_FATAL_FAILURE(
284 StartTestWithPage("files/overscroll_navigation.html")); 286 StartTestWithPage("files/overscroll_navigation.html"));
285 WebContentsImpl* web_contents = 287 WebContentsImpl* web_contents =
286 static_cast<WebContentsImpl*>(shell()->web_contents()); 288 static_cast<WebContentsImpl*>(shell()->web_contents());
287 RenderViewHostImpl* view_host = static_cast<RenderViewHostImpl*>( 289 RenderViewHostImpl* view_host = static_cast<RenderViewHostImpl*>(
288 web_contents->GetRenderViewHost()); 290 web_contents->GetRenderViewHost());
289 291
290 // Do a few navigations initiated by the page. 292 // Do a few navigations initiated by the page.
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 string16 expected_title = ASCIIToUTF16("Title: #3"); 356 string16 expected_title = ASCIIToUTF16("Title: #3");
355 content::TitleWatcher title_watcher(web_contents, expected_title); 357 content::TitleWatcher title_watcher(web_contents, expected_title);
356 web_contents->GetController().GoBack(); 358 web_contents->GetController().GoBack();
357 string16 actual_title = title_watcher.WaitAndGetTitle(); 359 string16 actual_title = title_watcher.WaitAndGetTitle();
358 EXPECT_EQ(expected_title, actual_title); 360 EXPECT_EQ(expected_title, actual_title);
359 EXPECT_EQ(3, GetCurrentIndex()); 361 EXPECT_EQ(3, GetCurrentIndex());
360 entry = NavigationEntryImpl::FromNavigationEntry( 362 entry = NavigationEntryImpl::FromNavigationEntry(
361 web_contents->GetController().GetEntryAtIndex(4)); 363 web_contents->GetController().GetEntryAtIndex(4));
362 EXPECT_TRUE(entry->screenshot().get()); 364 EXPECT_TRUE(entry->screenshot().get());
363 } 365 }
366
367 for (int index = 6; index <= 7; ++index) {
368 // Navigate via the user initiating a navigation from the UI.
369 string16 expected_title =
370 ASCIIToUTF16(base::StringPrintf("Title: #%d", index));
371 content::TitleWatcher title_watcher(web_contents, expected_title);
372
373 GURL url(test_server()->GetURL(
374 base::StringPrintf("files/overscroll_navigation.html#%d", index)));
Charlie Reis 2013/01/09 00:49:23 Just curious-- these tests don't appear to be doin
sadrul 2013/01/09 17:44:19 Great catch! You are right. These do not fail with
375 NavigationController::LoadURLParams params(url);
376 params.transition_type = PageTransitionFromInt(
377 PAGE_TRANSITION_TYPED | PAGE_TRANSITION_FROM_ADDRESS_BAR);
378 web_contents->GetController().LoadURLWithParams(params);
379 string16 actual_title = title_watcher.WaitAndGetTitle();
380 EXPECT_EQ(expected_title, actual_title);
381 EXPECT_EQ(index, GetCurrentIndex());
382 entry = NavigationEntryImpl::FromNavigationEntry(
383 web_contents->GetController().GetEntryAtOffset(-1));
384 EXPECT_TRUE(entry->screenshot().get());
385
386 entry = NavigationEntryImpl::FromNavigationEntry(
387 web_contents->GetController().GetActiveEntry());
388 EXPECT_FALSE(entry->screenshot().get());
389 }
390
391 for (int index = 8; index <= 9; ++index) {
392 // Navigate to a bookmark from the UI.
393 string16 expected_title =
394 ASCIIToUTF16(base::StringPrintf("Title: #%d", index));
395 content::TitleWatcher title_watcher(web_contents, expected_title);
396
397 GURL url(test_server()->GetURL(
398 base::StringPrintf("files/overscroll_navigation.html#%d", index)));
399 NavigationController::LoadURLParams params(url);
400 params.transition_type = PageTransitionFromInt(
401 PAGE_TRANSITION_AUTO_BOOKMARK);
402 web_contents->GetController().LoadURLWithParams(params);
403 string16 actual_title = title_watcher.WaitAndGetTitle();
404 EXPECT_EQ(expected_title, actual_title);
405 EXPECT_EQ(index, GetCurrentIndex());
406 entry = NavigationEntryImpl::FromNavigationEntry(
407 web_contents->GetController().GetEntryAtOffset(-1));
408 EXPECT_TRUE(entry->screenshot().get());
409
410 entry = NavigationEntryImpl::FromNavigationEntry(
411 web_contents->GetController().GetActiveEntry());
412 EXPECT_FALSE(entry->screenshot().get());
413 }
364 } 414 }
365 415
366 } // namespace content 416 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698