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

Side by Side Diff: chrome/browser/profiles/host_zoom_map_browsertest.cc

Issue 2630583002: Add setting to isolate zoom changes by default. (Closed)
Patch Set: Add more tests. Created 3 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 19 matching lines...) Expand all
30 #include "chrome/common/url_constants.h" 30 #include "chrome/common/url_constants.h"
31 #include "chrome/test/base/in_process_browser_test.h" 31 #include "chrome/test/base/in_process_browser_test.h"
32 #include "chrome/test/base/testing_profile.h" 32 #include "chrome/test/base/testing_profile.h"
33 #include "chrome/test/base/ui_test_utils.h" 33 #include "chrome/test/base/ui_test_utils.h"
34 #include "components/prefs/pref_service.h" 34 #include "components/prefs/pref_service.h"
35 #include "components/signin/core/common/profile_management_switches.h" 35 #include "components/signin/core/common/profile_management_switches.h"
36 #include "components/signin/core/common/signin_switches.h" 36 #include "components/signin/core/common/signin_switches.h"
37 #include "components/zoom/page_zoom.h" 37 #include "components/zoom/page_zoom.h"
38 #include "components/zoom/zoom_event_manager.h" 38 #include "components/zoom/zoom_event_manager.h"
39 #include "content/public/browser/host_zoom_map.h" 39 #include "content/public/browser/host_zoom_map.h"
40 #include "content/public/browser/render_frame_host.h"
41 #include "content/public/browser/render_process_host.h"
42 #include "content/public/browser/render_view_host.h"
40 #include "content/public/test/test_utils.h" 43 #include "content/public/test/test_utils.h"
41 #include "net/dns/mock_host_resolver.h" 44 #include "net/dns/mock_host_resolver.h"
42 #include "net/test/embedded_test_server/embedded_test_server.h" 45 #include "net/test/embedded_test_server/embedded_test_server.h"
43 #include "net/test/embedded_test_server/http_response.h" 46 #include "net/test/embedded_test_server/http_response.h"
44 #include "testing/gmock/include/gmock/gmock.h" 47 #include "testing/gmock/include/gmock/gmock.h"
45 #include "url/gurl.h" 48 #include "url/gurl.h"
46 49
47 using content::HostZoomMap; 50 using content::HostZoomMap;
48 51
49 namespace { 52 namespace {
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 ZoomLevelChangeObserver observer(browser()->profile()); 412 ZoomLevelChangeObserver observer(browser()->profile());
410 413
411 web_contents->SetPageScale(1.5); 414 web_contents->SetPageScale(1.5);
412 observer.BlockUntilZoomLevelForHostHasChanged(test_host); 415 observer.BlockUntilZoomLevelForHostHasChanged(test_host);
413 EXPECT_FALSE(content::HostZoomMap::PageScaleFactorIsOne(web_contents)); 416 EXPECT_FALSE(content::HostZoomMap::PageScaleFactorIsOne(web_contents));
414 417
415 web_contents->SetPageScale(1.f); 418 web_contents->SetPageScale(1.f);
416 observer.BlockUntilZoomLevelForHostHasChanged(test_host); 419 observer.BlockUntilZoomLevelForHostHasChanged(test_host);
417 EXPECT_TRUE(content::HostZoomMap::PageScaleFactorIsOne(web_contents)); 420 EXPECT_TRUE(content::HostZoomMap::PageScaleFactorIsOne(web_contents));
418 } 421 }
422
423 // Test to make sure that temporary zoom levels can be copied to
424 // new views.
425 IN_PROC_BROWSER_TEST_F(HostZoomMapBrowserTest,
426 PreserveTemporaryZoomLevelFrom) {
427 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL));
428 content::WebContents* old_web_contents =
429 browser()->tab_strip_model()->GetActiveWebContents();
430 HostZoomMap* old_host_zoom_map =
431 HostZoomMap::GetForWebContents(old_web_contents);
432 content::RenderViewHost* old_view_host =
433 old_web_contents->GetMainFrame()->GetRenderViewHost();
434
435 double temp_zoom_level = old_host_zoom_map->GetDefaultZoomLevel() + 1.0;
436
437 old_host_zoom_map->SetTemporaryZoomLevel(
438 old_view_host->GetProcess()->GetID(), old_view_host->GetRoutingID(),
439 temp_zoom_level);
440
441 ui_test_utils::NavigateToURLWithDisposition(
442 browser(), GURL(url::kAboutBlankURL),
443 WindowOpenDisposition::NEW_FOREGROUND_TAB,
444 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
445 content::WebContents* new_web_contents =
446 browser()->tab_strip_model()->GetActiveWebContents();
447 ASSERT_NE(old_web_contents, new_web_contents);
448 HostZoomMap* new_host_zoom_map =
449 HostZoomMap::GetForWebContents(new_web_contents);
450
451 ASSERT_FALSE(content::ZoomValuesEqual(
452 temp_zoom_level, HostZoomMap::GetZoomLevel(new_web_contents)));
453 new_host_zoom_map->PreserveTemporaryZoomLevelFrom(
454 old_host_zoom_map, old_web_contents->GetMainFrame(),
455 new_web_contents->GetMainFrame());
456 EXPECT_TRUE(content::ZoomValuesEqual(
457 temp_zoom_level, HostZoomMap::GetZoomLevel(new_web_contents)));
458 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698