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

Side by Side Diff: content/renderer/render_view_browsertest.cc

Issue 1546603003: Ensure zoom level is not updated if main frame is WebRemoteFrame. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move check into Blink. Created 4 years, 12 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
« no previous file with comments | « content/public/test/render_view_test.cc ('k') | content/renderer/render_view_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/bind.h" 6 #include "base/bind.h"
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
(...skipping 939 matching lines...) Expand 10 before | Expand all | Expand 10 after
950 new_main_frame->SwapOut(kProxyRoutingId, true, 950 new_main_frame->SwapOut(kProxyRoutingId, true,
951 content::FrameReplicationState()); 951 content::FrameReplicationState());
952 952
953 // Simulate getting painted after swapping out. 953 // Simulate getting painted after swapping out.
954 new_view->DidFlushPaint(); 954 new_view->DidFlushPaint();
955 955
956 new_view->Close(); 956 new_view->Close();
957 new_view->Release(); 957 new_view->Release();
958 } 958 }
959 959
960 // Verify that the renderer process doesn't crash when device scale factor
961 // changes after a cross-process navigation has commited.
962 // See https://crbug.com/571603.
963 TEST_F(RenderViewImplTest, SetZoomLevelAfterCrossProcessNavigation) {
964 // This test should only run with out-of-process iframes enabled.
965 if (!SiteIsolationPolicy::AreCrossProcessFramesPossible())
966 return;
967
968 // The bug reproduces if zoom is used for devices scale factor.
969 base::CommandLine::ForCurrentProcess()->AppendSwitch(
970 switches::kEnableUseZoomForDSF);
971
972 LoadHTML("Hello world!");
973
974 // Swap the main frame out after which it should become a WebRemoteFrame.
975 TestRenderFrame* main_frame =
976 static_cast<TestRenderFrame*>(view()->GetMainRenderFrame());
977 main_frame->SwapOut(kProxyRoutingId, true, content::FrameReplicationState());
978 EXPECT_TRUE(view()->webview()->mainFrame()->isWebRemoteFrame());
979
980 // This should not cause a crash.
981 view()->OnDeviceScaleFactorChanged();
982 }
983
960 // Test that we get the correct UpdateState message when we go back twice 984 // Test that we get the correct UpdateState message when we go back twice
961 // quickly without committing. Regression test for http://crbug.com/58082. 985 // quickly without committing. Regression test for http://crbug.com/58082.
962 // Disabled: http://crbug.com/157357 . 986 // Disabled: http://crbug.com/157357 .
963 TEST_F(RenderViewImplTest, DISABLED_LastCommittedUpdateState) { 987 TEST_F(RenderViewImplTest, DISABLED_LastCommittedUpdateState) {
964 // Load page A. 988 // Load page A.
965 LoadHTML("<div>Page A</div>"); 989 LoadHTML("<div>Page A</div>");
966 990
967 // Load page B, which will trigger an UpdateState message for page A. 991 // Load page B, which will trigger an UpdateState message for page A.
968 LoadHTML("<div>Page B</div>"); 992 LoadHTML("<div>Page B</div>");
969 993
(...skipping 1736 matching lines...) Expand 10 before | Expand all | Expand 10 after
2706 FROM_HERE, 2730 FROM_HERE,
2707 base::Bind(&DevToolsAgentTest::CloseWhilePaused, base::Unretained(this))); 2731 base::Bind(&DevToolsAgentTest::CloseWhilePaused, base::Unretained(this)));
2708 ExecuteJavaScriptForTests("debugger;"); 2732 ExecuteJavaScriptForTests("debugger;");
2709 2733
2710 // CloseWhilePaused should resume execution and continue here. 2734 // CloseWhilePaused should resume execution and continue here.
2711 EXPECT_FALSE(IsPaused()); 2735 EXPECT_FALSE(IsPaused());
2712 Detach(); 2736 Detach();
2713 } 2737 }
2714 2738
2715 } // namespace content 2739 } // namespace content
OLDNEW
« no previous file with comments | « content/public/test/render_view_test.cc ('k') | content/renderer/render_view_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698