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(¶ms); |
// 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) { |