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

Unified Diff: content/renderer/render_view_impl.cc

Issue 23364004: Implementation of device metrics emulation in render view. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Producing image of view size Created 7 years, 3 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_view_impl.cc
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index 6827468ee7e9f251932b47b4b3dd4591ccf714e8..426d18d60fd492f4ac61670687bcafcc261bdd3a 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -2343,6 +2343,10 @@ WebView* RenderViewImpl::createView(
WebWidget* RenderViewImpl::createPopupMenu(WebKit::WebPopupType popup_type) {
RenderWidget* widget =
RenderWidget::Create(routing_id_, popup_type, screen_info_);
+ if (screen_metrics_emulator_) {
+ widget->SetPopupOriginAdjustmentsForEmulation(
+ screen_metrics_emulator_.get());
+ }
return widget->webwidget();
}
@@ -2359,6 +2363,10 @@ WebExternalPopupMenu* RenderViewImpl::createExternalPopupMenu(
return NULL;
external_popup_menu_.reset(
new ExternalPopupMenu(this, popup_menu_info, popup_menu_client));
+ if (screen_metrics_emulator_) {
+ SetExternalPopupOriginAdjustmentsForEmulation(
+ external_popup_menu_.get(), screen_metrics_emulator_.get());
+ }
return external_popup_menu_.get();
}
@@ -2637,6 +2645,7 @@ void RenderViewImpl::showContextMenu(
params.x = touch_editing_context_menu_location_.x();
params.y = touch_editing_context_menu_location_.y();
}
+ OnShowHostContextMenu(&params);
// Plugins, e.g. PDF, don't currently update the render view when their
// selected text changes, but the context menu params do contain the updated
@@ -6079,6 +6088,14 @@ bool RenderViewImpl::AllowPartialSwap() const {
return allow_partial_swap_;
}
+void RenderViewImpl::SetScreenMetricsEmulationParameters(
+ bool enabled, float device_scale_factor, float root_layer_scale) {
+ if (webview()) {
+ webview()->setDeviceEmulationParameters(
+ enabled, device_scale_factor, root_layer_scale);
+ }
+}
+
bool RenderViewImpl::ScheduleFileChooser(
const FileChooserParams& params,
WebFileChooserCompletion* completion) {

Powered by Google App Engine
This is Rietveld 408576698