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

Unified Diff: content/renderer/render_frame_impl_browsertest.cc

Issue 2374863002: Remove usage of HostZoomMap from c/b/loader via ReadyToCommitNavigation (Closed)
Patch Set: fix rebase for filtered tests Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
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 4b532aa26211cacf4f5ac518d04844148f28da5a..8828ebe6ef2db87546d9378ca36c007bd841d424 100644
--- a/content/renderer/render_frame_impl_browsertest.cc
+++ b/content/renderer/render_frame_impl_browsertest.cc
@@ -7,6 +7,7 @@
#include "base/command_line.h"
#include "base/debug/leak_annotations.h"
#include "build/build_config.h"
+#include "content/child/web_url_loader_impl.h"
#include "content/common/frame_messages.h"
#include "content/common/frame_owner_properties.h"
#include "content/common/renderer.mojom.h"
@@ -25,6 +26,7 @@
#include "third_party/WebKit/public/platform/WebURLRequest.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"
using blink::WebString;
@@ -343,4 +345,32 @@ TEST_F(RenderFrameImplTest, SaveImageFromDataURL) {
EXPECT_FALSE(msg4);
}
+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()->SetHostZoomLevel(common_params.url, kMinZoomLevel);
+ GetMainRenderFrame()->NavigateInternal(
+ common_params, StartNavigationParams(), RequestNavigationParams(),
+ std::unique_ptr<StreamOverrideParameters>());
+ 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()->SetHostZoomLevel(common_params.url, kMaxZoomLevel);
+ GetMainRenderFrame()->NavigateInternal(
+ common_params, StartNavigationParams(), RequestNavigationParams(),
+ std::unique_ptr<StreamOverrideParameters>());
+ ProcessPendingMessages();
+ EXPECT_DOUBLE_EQ(kMaxZoomLevel, view_->GetWebView()->zoomLevel());
+}
+
} // namespace

Powered by Google App Engine
This is Rietveld 408576698