Index: content/renderer/external_popup_menu.cc |
diff --git a/content/renderer/external_popup_menu.cc b/content/renderer/external_popup_menu.cc |
index 08d71e982616a0488783dce268689cd64d0b6780..070ccd3b29ac433742585364b37f48ffee1f338f 100644 |
--- a/content/renderer/external_popup_menu.cc |
+++ b/content/renderer/external_popup_menu.cc |
@@ -18,12 +18,23 @@ ExternalPopupMenu::ExternalPopupMenu( |
WebKit::WebExternalPopupMenuClient* popup_menu_client) |
: render_view_(render_view), |
popup_menu_info_(popup_menu_info), |
- popup_menu_client_(popup_menu_client) { |
+ popup_menu_client_(popup_menu_client), |
+ origin_scale_for_emulation_(0) { |
+} |
+ |
+void ExternalPopupMenu::SetOriginScaleForEmulation(float scale) { |
+ origin_scale_for_emulation_ = scale; |
} |
void ExternalPopupMenu::show(const WebKit::WebRect& bounds) { |
+ WebKit::WebRect rect = bounds; |
+ if (origin_scale_for_emulation_) { |
+ rect.x *= origin_scale_for_emulation_; |
+ rect.y *= origin_scale_for_emulation_; |
+ } |
+ |
ViewHostMsg_ShowPopup_Params popup_params; |
- popup_params.bounds = bounds; |
+ popup_params.bounds = rect; |
popup_params.item_height = popup_menu_info_.itemHeight; |
popup_params.item_font_size = popup_menu_info_.itemFontSize; |
popup_params.selected_item = popup_menu_info_.selectedIndex; |