summaryrefslogtreecommitdiff
path: root/chromium/components/renderer_context_menu
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-07-14 17:41:05 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2016-08-04 12:37:36 +0000
commit399c965b6064c440ddcf4015f5f8e9d131c7a0a6 (patch)
tree6b06b60ff365abef0e13b3503d593a0df48d20e8 /chromium/components/renderer_context_menu
parent7366110654eec46f21b6824f302356426f48cd74 (diff)
downloadqtwebengine-chromium-399c965b6064c440ddcf4015f5f8e9d131c7a0a6.tar.gz
BASELINE: Update Chromium to 52.0.2743.76 and Ninja to 1.7.1
Change-Id: I382f51b959689505a60f8b707255ecb344f7d8b4 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/components/renderer_context_menu')
-rw-r--r--chromium/components/renderer_context_menu/context_menu_delegate.h7
-rw-r--r--chromium/components/renderer_context_menu/render_view_context_menu_base.cc10
-rw-r--r--chromium/components/renderer_context_menu/render_view_context_menu_base.h13
-rw-r--r--chromium/components/renderer_context_menu/render_view_context_menu_observer.h5
-rw-r--r--chromium/components/renderer_context_menu/render_view_context_menu_proxy.h7
-rw-r--r--chromium/components/renderer_context_menu/views/toolkit_delegate_views.cc17
-rw-r--r--chromium/components/renderer_context_menu/views/toolkit_delegate_views.h15
7 files changed, 59 insertions, 15 deletions
diff --git a/chromium/components/renderer_context_menu/context_menu_delegate.h b/chromium/components/renderer_context_menu/context_menu_delegate.h
index 9ce0495b367..bbb5c2579af 100644
--- a/chromium/components/renderer_context_menu/context_menu_delegate.h
+++ b/chromium/components/renderer_context_menu/context_menu_delegate.h
@@ -5,8 +5,9 @@
#ifndef COMPONENTS_RENDERER_CONTEXT_MENU_CONTEXT_MENU_DELEGATE_H_
#define COMPONENTS_RENDERER_CONTEXT_MENU_CONTEXT_MENU_DELEGATE_H_
+#include <memory>
+
#include "base/macros.h"
-#include "base/memory/scoped_ptr.h"
class RenderViewContextMenuBase;
@@ -26,12 +27,12 @@ class ContextMenuDelegate {
// Builds and returns a context menu for a context specified by |params|.
// The returned value can be used to display the context menu.
- virtual scoped_ptr<RenderViewContextMenuBase> BuildMenu(
+ virtual std::unique_ptr<RenderViewContextMenuBase> BuildMenu(
content::WebContents* web_contents,
const content::ContextMenuParams& params) = 0;
// Displays the context menu.
- virtual void ShowMenu(scoped_ptr<RenderViewContextMenuBase> menu) = 0;
+ virtual void ShowMenu(std::unique_ptr<RenderViewContextMenuBase> menu) = 0;
private:
DISALLOW_COPY_AND_ASSIGN(ContextMenuDelegate);
diff --git a/chromium/components/renderer_context_menu/render_view_context_menu_base.cc b/chromium/components/renderer_context_menu/render_view_context_menu_base.cc
index 39d94380bae..9965772e416 100644
--- a/chromium/components/renderer_context_menu/render_view_context_menu_base.cc
+++ b/chromium/components/renderer_context_menu/render_view_context_menu_base.cc
@@ -6,6 +6,7 @@
#include <algorithm>
#include <utility>
+#include <vector>
#include "base/command_line.h"
#include "base/logging.h"
@@ -229,6 +230,14 @@ void RenderViewContextMenuBase::UpdateMenuItem(int command_id,
}
}
+void RenderViewContextMenuBase::UpdateMenuIcon(int command_id,
+ const gfx::Image& image) {
+#if defined(OS_CHROMEOS)
+ if (toolkit_delegate_)
+ toolkit_delegate_->UpdateMenuIcon(command_id, image);
+#endif
+}
+
RenderViewHost* RenderViewContextMenuBase::GetRenderViewHost() const {
return source_web_contents_->GetRenderViewHost();
}
@@ -403,4 +412,3 @@ bool RenderViewContextMenuBase::IsCustomItemChecked(int id) const {
bool RenderViewContextMenuBase::IsCustomItemEnabled(int id) const {
return IsCustomItemEnabledInternal(params_.custom_items, id);
}
-
diff --git a/chromium/components/renderer_context_menu/render_view_context_menu_base.h b/chromium/components/renderer_context_menu/render_view_context_menu_base.h
index 1b0d83921fc..1249f7a854d 100644
--- a/chromium/components/renderer_context_menu/render_view_context_menu_base.h
+++ b/chromium/components/renderer_context_menu/render_view_context_menu_base.h
@@ -6,12 +6,13 @@
#define COMPONENTS_RENDERER_CONTEXT_MENU_RENDER_VIEW_CONTEXT_MENU_BASE_H_
#include <stddef.h>
+
#include <map>
+#include <memory>
#include <string>
#include <utility>
#include "base/macros.h"
-#include "base/memory/scoped_ptr.h"
#include "base/memory/scoped_vector.h"
#include "base/observer_list.h"
#include "base/strings/string16.h"
@@ -55,6 +56,9 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate,
bool enabled,
bool hidden,
const base::string16& title) = 0;
+#if defined(OS_CHROMEOS)
+ virtual void UpdateMenuIcon(int command_id, const gfx::Image& image) = 0;
+#endif
};
static const size_t kMaxSelectionTextLength;
@@ -108,6 +112,7 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate,
bool enabled,
bool hidden,
const base::string16& title) override;
+ void UpdateMenuIcon(int command_id, const gfx::Image& image) override;
content::RenderViewHost* GetRenderViewHost() const override;
content::WebContents* GetWebContents() const override;
content::BrowserContext* GetBrowserContext() const override;
@@ -120,7 +125,7 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate,
content_type_.reset(content_type);
}
- void set_toolkit_delegate(scoped_ptr<ToolkitDelegate> delegate) {
+ void set_toolkit_delegate(std::unique_ptr<ToolkitDelegate> delegate) {
toolkit_delegate_ = std::move(delegate);
}
@@ -188,7 +193,7 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate,
// should be notified of menu closing without execution.
bool command_executed_;
- scoped_ptr<ContextMenuContentType> content_type_;
+ std::unique_ptr<ContextMenuContentType> content_type_;
private:
bool AppendCustomItems();
@@ -196,7 +201,7 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate,
// The RenderFrameHost's IDs.
const int render_process_id_;
- scoped_ptr<ToolkitDelegate> toolkit_delegate_;
+ std::unique_ptr<ToolkitDelegate> toolkit_delegate_;
ScopedVector<ui::SimpleMenuModel> custom_submenus_;
diff --git a/chromium/components/renderer_context_menu/render_view_context_menu_observer.h b/chromium/components/renderer_context_menu/render_view_context_menu_observer.h
index 586f978663a..ccd052bf58c 100644
--- a/chromium/components/renderer_context_menu/render_view_context_menu_observer.h
+++ b/chromium/components/renderer_context_menu/render_view_context_menu_observer.h
@@ -59,12 +59,13 @@ struct ContextMenuParams;
// }
//
// 4. Add this observer class to the RenderViewContextMenu class. (It is good
-// to use scoped_ptr<> so Chrome can create its instances only when it needs.)
+// to use std::unique_ptr<> so Chrome can create its instances only when it
+// needs.)
//
// class RenderViewContextMenu {
// ...
// private:
-// scoped_ptr<MyMenuObserver> my_menu_observer_;
+// std::unique_ptr<MyMenuObserver> my_menu_observer_;
// };
//
// 5. Create its instance in InitMenu() and add it to the observer list of the
diff --git a/chromium/components/renderer_context_menu/render_view_context_menu_proxy.h b/chromium/components/renderer_context_menu/render_view_context_menu_proxy.h
index 38d08e5adef..0ec293f6e38 100644
--- a/chromium/components/renderer_context_menu/render_view_context_menu_proxy.h
+++ b/chromium/components/renderer_context_menu/render_view_context_menu_proxy.h
@@ -13,6 +13,10 @@ class RenderViewHost;
class WebContents;
}
+namespace gfx {
+class Image;
+}
+
namespace ui {
class MenuModel;
}
@@ -90,6 +94,9 @@ class RenderViewContextMenuProxy {
bool hidden,
const base::string16& title) = 0;
+ // Update the icon of the specified context-menu item.
+ virtual void UpdateMenuIcon(int command_id, const gfx::Image& image) = 0;
+
// Add spell check service item to the context menu.
virtual void AddSpellCheckServiceItem(bool is_checked) = 0;
diff --git a/chromium/components/renderer_context_menu/views/toolkit_delegate_views.cc b/chromium/components/renderer_context_menu/views/toolkit_delegate_views.cc
index 8dcaaf9267f..6cb0f189917 100644
--- a/chromium/components/renderer_context_menu/views/toolkit_delegate_views.cc
+++ b/chromium/components/renderer_context_menu/views/toolkit_delegate_views.cc
@@ -5,6 +5,7 @@
#include "components/renderer_context_menu/views/toolkit_delegate_views.h"
#include "ui/gfx/geometry/rect.h"
+#include "ui/gfx/image/image.h"
#include "ui/views/controls/menu/menu_item_view.h"
#include "ui/views/controls/menu/menu_model_adapter.h"
#include "ui/views/controls/menu/menu_runner.h"
@@ -57,3 +58,19 @@ void ToolkitDelegateViews::UpdateMenuItem(int command_id,
parent->ChildrenChanged();
}
+#if defined(OS_CHROMEOS)
+void ToolkitDelegateViews::UpdateMenuIcon(int command_id,
+ const gfx::Image& image) {
+ views::MenuItemView* item = menu_view_->GetMenuItemByID(command_id);
+ if (!item)
+ return;
+
+ item->SetIcon(*image.ToImageSkia());
+
+ views::MenuItemView* parent = item->GetParentMenuItem();
+ if (!parent)
+ return;
+
+ parent->ChildrenChanged();
+}
+#endif
diff --git a/chromium/components/renderer_context_menu/views/toolkit_delegate_views.h b/chromium/components/renderer_context_menu/views/toolkit_delegate_views.h
index b570958ff49..9ee4d0f86cd 100644
--- a/chromium/components/renderer_context_menu/views/toolkit_delegate_views.h
+++ b/chromium/components/renderer_context_menu/views/toolkit_delegate_views.h
@@ -2,8 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef COMPONENTS_RENDERER_CONTEXT_MENU_RENDER_TOOLKIT_DELEGATE_VIEWS_H_
-#define COMPONENTS_RENDERER_CONTEXT_MENU_RENDER_TOOLKIT_DELEGATE_VIEWS_H_
+#ifndef COMPONENTS_RENDERER_CONTEXT_MENU_VIEWS_TOOLKIT_DELEGATE_VIEWS_H_
+#define COMPONENTS_RENDERER_CONTEXT_MENU_VIEWS_TOOLKIT_DELEGATE_VIEWS_H_
+
+#include <memory>
#include "base/macros.h"
#include "components/renderer_context_menu/render_view_context_menu_base.h"
@@ -41,9 +43,12 @@ class ToolkitDelegateViews : public RenderViewContextMenuBase::ToolkitDelegate {
bool enabled,
bool hidden,
const base::string16& title) override;
+#if defined(OS_CHROMEOS)
+ void UpdateMenuIcon(int command_id, const gfx::Image& image) override;
+#endif
- scoped_ptr<views::MenuModelAdapter> menu_adapter_;
- scoped_ptr<views::MenuRunner> menu_runner_;
+ std::unique_ptr<views::MenuModelAdapter> menu_adapter_;
+ std::unique_ptr<views::MenuRunner> menu_runner_;
// Weak. Owned by menu_runner_;
views::MenuItemView* menu_view_;
@@ -51,4 +56,4 @@ class ToolkitDelegateViews : public RenderViewContextMenuBase::ToolkitDelegate {
DISALLOW_COPY_AND_ASSIGN(ToolkitDelegateViews);
};
-#endif // COMPONENTS_RENDERER_CONTEXT_MENU_RENDER_TOOLKIT_DELEGATE_VIEWS_H_
+#endif // COMPONENTS_RENDERER_CONTEXT_MENU_VIEWS_TOOLKIT_DELEGATE_VIEWS_H_