Index: chrome/browser/renderer_context_menu/render_view_context_menu.cc |
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
index 5574ba030d2f9ec91b3ebc43bcfd7fc0e6a52392..cb4a981c14cb60aa210b6fae391b620228436e7f 100644 |
--- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
@@ -477,7 +477,7 @@ void RenderViewContextMenu::AppendCurrentExtensionItems() { |
void RenderViewContextMenu::InitMenu() { |
RenderViewContextMenuBase::InitMenu(); |
- |
+ bool rotation_item_appended = false; |
if (content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_PAGE)) |
AppendPageItems(); |
@@ -521,7 +521,7 @@ void RenderViewContextMenu::InitMenu() { |
if (content_type_->SupportsGroup( |
ContextMenuContentType::ITEM_GROUP_MEDIA_PLUGIN)) { |
- AppendPluginItems(); |
+ rotation_item_appended = AppendPluginItems(); |
} |
// ITEM_GROUP_MEDIA_FILE has no specific items. |
@@ -543,6 +543,9 @@ void RenderViewContextMenu::InitMenu() { |
if (content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_PRINT)) |
AppendPrintItem(); |
+ if (rotation_item_appended) |
+ AppendRotationItems(); |
+ |
if (content_type_->SupportsGroup( |
ContextMenuContentType::ITEM_GROUP_ALL_EXTENSION)) { |
DCHECK(!content_type_->SupportsGroup( |
@@ -761,7 +764,10 @@ void RenderViewContextMenu::AppendMediaItems() { |
IDS_CONTENT_CONTEXT_CONTROLS); |
} |
-void RenderViewContextMenu::AppendPluginItems() { |
+// This function will returns true if we need to add the rotation items else |
+// returns false. As rotation items should be added after copy, search, print |
+// context menu items. |
Avi (use Gerrit)
2014/10/08 12:42:48
:\ When you return bool from a function it means s
Deepak
2014/10/08 13:38:26
Done.
|
+bool RenderViewContextMenu::AppendPluginItems() { |
if (params_.page_url == params_.src_url) { |
// Full page plugin, so show page menu items. |
if (params_.link_url.is_empty() && params_.selection_text.empty()) |
@@ -769,16 +775,17 @@ void RenderViewContextMenu::AppendPluginItems() { |
} else { |
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_SAVEAVAS, |
IDS_CONTENT_CONTEXT_SAVEPAGEAS); |
- menu_model_.AddItemWithStringId(IDC_PRINT, IDS_CONTENT_CONTEXT_PRINT); |
+ // |IDC_PRINT| should be added here as we want print menu item when pdf |
+ // launched with out of process flags then |content_type_->SupportsGroup| |
+ // does not have |ContextMenuContentType::ITEM_GROUP_PRINT|. |
+ if (!content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_PRINT)) |
+ menu_model_.AddItemWithStringId(IDC_PRINT, IDS_CONTENT_CONTEXT_PRINT); |
} |
- if (params_.media_flags & WebContextMenuData::MediaCanRotate) { |
- menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_ROTATECW, |
- IDS_CONTENT_CONTEXT_ROTATECW); |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_ROTATECCW, |
- IDS_CONTENT_CONTEXT_ROTATECCW); |
- } |
+ if (params_.media_flags & WebContextMenuData::MediaCanRotate) |
+ return true; |
Avi (use Gerrit)
2014/10/08 12:42:48
Is there a reason why we need the boolean at all?
Deepak
2014/10/08 13:38:26
Done.
|
+ |
+ return false; |
} |
void RenderViewContextMenu::AppendPageItems() { |
@@ -837,6 +844,14 @@ void RenderViewContextMenu::AppendPrintItem() { |
} |
} |
+void RenderViewContextMenu::AppendRotationItems() { |
+ menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
+ menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_ROTATECW, |
+ IDS_CONTENT_CONTEXT_ROTATECW); |
+ menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_ROTATECCW, |
+ IDS_CONTENT_CONTEXT_ROTATECCW); |
+} |
+ |
void RenderViewContextMenu::AppendSearchProvider() { |
DCHECK(browser_context_); |