| Index: content/renderer/render_view_browsertest.cc
|
| diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc
|
| index 5706252d2ac8b1f492cbdad9b2e0a515f29f1356..7d8eb88bdc5b0559e968cc9a92f788694b486af8 100644
|
| --- a/content/renderer/render_view_browsertest.cc
|
| +++ b/content/renderer/render_view_browsertest.cc
|
| @@ -1650,6 +1650,32 @@ TEST_F(RenderViewImplTest, GetCompositionCharacterBoundsTest) {
|
| }
|
| #endif
|
|
|
| +TEST_F(RenderViewImplTest, ZoomLimit) {
|
| + const double kMinZoomLevel = ZoomFactorToZoomLevel(kMinimumZoomFactor);
|
| + const double kMaxZoomLevel = ZoomFactorToZoomLevel(kMaximumZoomFactor);
|
| +
|
| + // Verifies navigation to a URL with preset zoom level indeed sets the level.
|
| + // Regression test for http://crbug.com/139559, where the level was not
|
| + // properly set when it is out of the default zoom limits of WebView.
|
| + CommonNavigationParams common_params;
|
| + common_params.url = GURL("data:text/html,min_zoomlimit_test");
|
| + view()->OnSetZoomLevelForLoadingURL(common_params.url, kMinZoomLevel);
|
| + frame()->Navigate(common_params, StartNavigationParams(),
|
| + RequestNavigationParams());
|
| + ProcessPendingMessages();
|
| + EXPECT_DOUBLE_EQ(kMinZoomLevel, view()->GetWebView()->zoomLevel());
|
| +
|
| + // It should work even when the zoom limit is temporarily changed in the page.
|
| + view()->GetWebView()->zoomLimitsChanged(ZoomFactorToZoomLevel(1.0),
|
| + ZoomFactorToZoomLevel(1.0));
|
| + common_params.url = GURL("data:text/html,max_zoomlimit_test");
|
| + view()->OnSetZoomLevelForLoadingURL(common_params.url, kMaxZoomLevel);
|
| + frame()->Navigate(common_params, StartNavigationParams(),
|
| + RequestNavigationParams());
|
| + ProcessPendingMessages();
|
| + EXPECT_DOUBLE_EQ(kMaxZoomLevel, view()->GetWebView()->zoomLevel());
|
| +}
|
| +
|
| TEST_F(RenderViewImplTest, SetEditableSelectionAndComposition) {
|
| // Load an HTML page consisting of an input field.
|
| LoadHTML("<html>"
|
|
|