| Index: content/renderer/render_frame_impl_browsertest.cc
|
| diff --git a/content/renderer/render_frame_impl_browsertest.cc b/content/renderer/render_frame_impl_browsertest.cc
|
| index 519f7f2d7f968bbaf1072e9c17871c3f5267c2d5..67b179d21e59778323831f3249dbfed4bb362b5e 100644
|
| --- a/content/renderer/render_frame_impl_browsertest.cc
|
| +++ b/content/renderer/render_frame_impl_browsertest.cc
|
| @@ -23,6 +23,7 @@
|
| #include "third_party/WebKit/public/web/WebFrameOwnerProperties.h"
|
| #include "third_party/WebKit/public/web/WebHistoryItem.h"
|
| #include "third_party/WebKit/public/web/WebLocalFrame.h"
|
| +#include "third_party/WebKit/public/web/WebView.h"
|
|
|
| namespace {
|
| const int32_t kSubframeRouteId = 20;
|
| @@ -290,4 +291,30 @@ TEST_F(RenderFrameImplTest, EffectiveConnectionType) {
|
| }
|
| }
|
|
|
| +TEST_F(RenderFrameImplTest, 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");
|
| + GetMainRenderFrame()->OnGotZoomLevel(common_params.url, kMinZoomLevel);
|
| + GetMainRenderFrame()->OnNavigate(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");
|
| + GetMainRenderFrame()->OnGotZoomLevel(common_params.url, kMaxZoomLevel);
|
| + GetMainRenderFrame()->OnNavigate(common_params, StartNavigationParams(),
|
| + RequestNavigationParams());
|
| + ProcessPendingMessages();
|
| + EXPECT_DOUBLE_EQ(kMaxZoomLevel, view_->GetWebView()->zoomLevel());
|
| +}
|
| +
|
| } // namespace
|
|
|