summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
Diffstat (limited to 'webkit')
-rw-r--r--webkit/glue/webkit_glue.gypi2
-rw-r--r--webkit/plugins/ppapi/mock_plugin_delegate.cc7
-rw-r--r--webkit/plugins/ppapi/mock_plugin_delegate.h5
-rw-r--r--webkit/plugins/ppapi/plugin_delegate.h8
-rw-r--r--webkit/plugins/ppapi/plugin_module.cc1
-rw-r--r--webkit/plugins/ppapi/ppb_flash_menu_impl.cc183
-rw-r--r--webkit/plugins/ppapi/ppb_flash_menu_impl.h72
-rw-r--r--webkit/plugins/ppapi/resource_creation_impl.cc3
8 files changed, 1 insertions, 280 deletions
diff --git a/webkit/glue/webkit_glue.gypi b/webkit/glue/webkit_glue.gypi
index d4a12f3..215fe40 100644
--- a/webkit/glue/webkit_glue.gypi
+++ b/webkit/glue/webkit_glue.gypi
@@ -211,8 +211,6 @@
'../plugins/ppapi/ppb_file_system_impl.h',
'../plugins/ppapi/ppb_flash_impl.cc',
'../plugins/ppapi/ppb_flash_impl.h',
- '../plugins/ppapi/ppb_flash_menu_impl.cc',
- '../plugins/ppapi/ppb_flash_menu_impl.h',
'../plugins/ppapi/ppb_flash_message_loop_impl.cc',
'../plugins/ppapi/ppb_flash_message_loop_impl.h',
'../plugins/ppapi/ppb_gpu_blacklist_private_impl.cc',
diff --git a/webkit/plugins/ppapi/mock_plugin_delegate.cc b/webkit/plugins/ppapi/mock_plugin_delegate.cc
index 7de9f91..756770f 100644
--- a/webkit/plugins/ppapi/mock_plugin_delegate.cc
+++ b/webkit/plugins/ppapi/mock_plugin_delegate.cc
@@ -376,13 +376,6 @@ bool MockPluginDelegate::X509CertificateParseDER(
return false;
}
-int32_t MockPluginDelegate::ShowContextMenu(
- PluginInstance* instance,
- webkit::ppapi::PPB_Flash_Menu_Impl* menu,
- const gfx::Point& position) {
- return PP_ERROR_FAILED;
-}
-
FullscreenContainer* MockPluginDelegate::CreateFullscreenContainer(
PluginInstance* instance) {
return NULL;
diff --git a/webkit/plugins/ppapi/mock_plugin_delegate.h b/webkit/plugins/ppapi/mock_plugin_delegate.h
index 39e072a..886823f 100644
--- a/webkit/plugins/ppapi/mock_plugin_delegate.h
+++ b/webkit/plugins/ppapi/mock_plugin_delegate.h
@@ -178,11 +178,6 @@ class MockPluginDelegate : public PluginDelegate {
virtual bool X509CertificateParseDER(
const std::vector<char>& der,
::ppapi::PPB_X509Certificate_Fields* fields);
-
- virtual int32_t ShowContextMenu(
- PluginInstance* instance,
- webkit::ppapi::PPB_Flash_Menu_Impl* menu,
- const gfx::Point& position);
virtual FullscreenContainer* CreateFullscreenContainer(
PluginInstance* instance);
virtual gfx::Size GetScreenSize();
diff --git a/webkit/plugins/ppapi/plugin_delegate.h b/webkit/plugins/ppapi/plugin_delegate.h
index e721f72..5995feb 100644
--- a/webkit/plugins/ppapi/plugin_delegate.h
+++ b/webkit/plugins/ppapi/plugin_delegate.h
@@ -92,7 +92,6 @@ class FullscreenContainer;
class PluginInstance;
class PluginModule;
class PPB_Broker_Impl;
-class PPB_Flash_Menu_Impl;
class PPB_TCPSocket_Private_Impl;
class PPB_UDPSocket_Private_Impl;
@@ -571,13 +570,6 @@ class PluginDelegate {
const std::vector<char>& der,
::ppapi::PPB_X509Certificate_Fields* fields) = 0;
- // Show the given context menu at the given position (in the plugin's
- // coordinates).
- virtual int32_t ShowContextMenu(
- PluginInstance* instance,
- webkit::ppapi::PPB_Flash_Menu_Impl* menu,
- const gfx::Point& position) = 0;
-
// Create a fullscreen container for a plugin instance. This effectively
// switches the plugin to fullscreen.
virtual FullscreenContainer* CreateFullscreenContainer(
diff --git a/webkit/plugins/ppapi/plugin_module.cc b/webkit/plugins/ppapi/plugin_module.cc
index 79e833f..41248c8 100644
--- a/webkit/plugins/ppapi/plugin_module.cc
+++ b/webkit/plugins/ppapi/plugin_module.cc
@@ -110,7 +110,6 @@
#include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
#include "webkit/plugins/ppapi/ppb_directory_reader_impl.h"
#include "webkit/plugins/ppapi/ppb_flash_impl.h"
-#include "webkit/plugins/ppapi/ppb_flash_menu_impl.h"
#include "webkit/plugins/ppapi/ppb_gpu_blacklist_private_impl.h"
#include "webkit/plugins/ppapi/ppb_graphics_2d_impl.h"
#include "webkit/plugins/ppapi/ppb_image_data_impl.h"
diff --git a/webkit/plugins/ppapi/ppb_flash_menu_impl.cc b/webkit/plugins/ppapi/ppb_flash_menu_impl.cc
deleted file mode 100644
index 7452061..0000000
--- a/webkit/plugins/ppapi/ppb_flash_menu_impl.cc
+++ /dev/null
@@ -1,183 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "webkit/plugins/ppapi/ppb_flash_menu_impl.h"
-
-#include "base/utf_string_conversions.h"
-#include "ppapi/c/pp_completion_callback.h"
-#include "ui/gfx/point.h"
-#include "webkit/glue/webmenuitem.h"
-#include "webkit/plugins/ppapi/common.h"
-#include "webkit/plugins/ppapi/plugin_delegate.h"
-#include "webkit/plugins/ppapi/plugin_module.h"
-#include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
-#include "webkit/plugins/ppapi/resource_helper.h"
-
-using ppapi::thunk::PPB_Flash_Menu_API;
-using ppapi::TrackedCallback;
-
-namespace webkit {
-namespace ppapi {
-
-namespace {
-
-// Maximum depth of submenus allowed (e.g., 1 indicates that submenus are
-// allowed, but not sub-submenus).
-const size_t kMaxMenuDepth = 2;
-
-// Maximum number of entries in any single menu (including separators).
-const size_t kMaxMenuEntries = 50;
-
-// Maximum total number of entries in the |menu_id_map| (see below).
-// (Limit to 500 real entries; reserve the 0 action as an invalid entry.)
-const size_t kMaxMenuIdMapEntries = 501;
-
-// Converts menu data from one form to another.
-// - |depth| is the current nested depth (call it starting with 0).
-// - |menu_id_map| is such that |menu_id_map[output_item.action] ==
-// input_item.id| (where |action| is what a |WebMenuItem| has, |id| is what a
-// |PP_Flash_MenuItem| has).
-bool ConvertMenuData(const PP_Flash_Menu* in_menu,
- size_t depth,
- PPB_Flash_Menu_Impl::MenuData* out_menu,
- std::vector<int32_t>* menu_id_map) {
- if (depth > kMaxMenuDepth || !in_menu)
- return false;
-
- // Clear the output, just in case.
- out_menu->clear();
-
- if (!in_menu->count)
- return true; // Nothing else to do.
-
- if (!in_menu->items || in_menu->count > kMaxMenuEntries)
- return false;
- for (uint32_t i = 0; i < in_menu->count; i++) {
- WebMenuItem item;
-
- PP_Flash_MenuItem_Type type = in_menu->items[i].type;
- switch (type) {
- case PP_FLASH_MENUITEM_TYPE_NORMAL:
- item.type = WebMenuItem::OPTION;
- break;
- case PP_FLASH_MENUITEM_TYPE_CHECKBOX:
- item.type = WebMenuItem::CHECKABLE_OPTION;
- break;
- case PP_FLASH_MENUITEM_TYPE_SEPARATOR:
- item.type = WebMenuItem::SEPARATOR;
- break;
- case PP_FLASH_MENUITEM_TYPE_SUBMENU:
- item.type = WebMenuItem::SUBMENU;
- break;
- default:
- return false;
- }
- if (in_menu->items[i].name)
- item.label = UTF8ToUTF16(in_menu->items[i].name);
- if (menu_id_map->size() >= kMaxMenuIdMapEntries)
- return false;
- item.action = static_cast<unsigned>(menu_id_map->size());
- // This sets |(*menu_id_map)[item.action] = in_menu->items[i].id|.
- menu_id_map->push_back(in_menu->items[i].id);
- item.enabled = PPBoolToBool(in_menu->items[i].enabled);
- item.checked = PPBoolToBool(in_menu->items[i].checked);
- if (type == PP_FLASH_MENUITEM_TYPE_SUBMENU) {
- if (!ConvertMenuData(in_menu->items[i].submenu, depth + 1, &item.submenu,
- menu_id_map))
- return false;
- }
-
- out_menu->push_back(item);
- }
-
- return true;
-}
-
-} // namespace
-
-PPB_Flash_Menu_Impl::PPB_Flash_Menu_Impl(PP_Instance instance)
- : Resource(::ppapi::OBJECT_IS_IMPL, instance),
- selected_id_out_(NULL) {
-}
-
-PPB_Flash_Menu_Impl::~PPB_Flash_Menu_Impl() {
-}
-
-// static
-PP_Resource PPB_Flash_Menu_Impl::Create(PP_Instance instance,
- const PP_Flash_Menu* menu_data) {
- scoped_refptr<PPB_Flash_Menu_Impl> menu(new PPB_Flash_Menu_Impl(instance));
- if (!menu->Init(menu_data))
- return 0;
- return menu->GetReference();
-}
-
-bool PPB_Flash_Menu_Impl::Init(const PP_Flash_Menu* menu_data) {
- menu_id_map_.clear();
- menu_id_map_.push_back(0); // Reserve |menu_id_map_[0]|.
- if (!ConvertMenuData(menu_data, 0, &menu_data_, &menu_id_map_)) {
- menu_id_map_.clear();
- return false;
- }
-
- return true;
-}
-
-PPB_Flash_Menu_API* PPB_Flash_Menu_Impl::AsPPB_Flash_Menu_API() {
- return this;
-}
-
-int32_t PPB_Flash_Menu_Impl::Show(const PP_Point* location,
- int32_t* selected_id_out,
- scoped_refptr<TrackedCallback> callback) {
- // |location| is not (currently) optional.
- // TODO(viettrungluu): Make it optional and default to the current mouse pos?
- if (!location)
- return PP_ERROR_BADARGUMENT;
-
- if (TrackedCallback::IsPending(callback_))
- return PP_ERROR_INPROGRESS;
-
- PluginInstance* plugin_instance = ResourceHelper::GetPluginInstance(this);
- if (!plugin_instance)
- return false;
-
- int32_t rv = plugin_instance->delegate()->ShowContextMenu(
- plugin_instance, this, gfx::Point(location->x, location->y));
- if (rv == PP_OK_COMPLETIONPENDING) {
- // Record callback and output buffers.
- callback_ = callback;
- selected_id_out_ = selected_id_out;
- } else {
- // This should never be completed synchronously successfully.
- DCHECK_NE(rv, PP_OK);
- }
- return rv;
-}
-
-void PPB_Flash_Menu_Impl::CompleteShow(int32_t result,
- unsigned action) {
- int32_t rv = PP_ERROR_ABORTED;
- if (!callback_->aborted()) {
- CHECK(!callback_->completed());
- rv = result;
-
- // Write output data.
- if (selected_id_out_ && result == PP_OK) {
- // We reserved action 0 to be invalid.
- if (action == 0 || action >= menu_id_map_.size()) {
- NOTREACHED() << "Invalid action received.";
- rv = PP_ERROR_FAILED;
- } else {
- *selected_id_out_ = menu_id_map_[action];
- }
- }
- }
-
- selected_id_out_ = NULL;
- callback_->Run(rv);
-}
-
-} // namespace ppapi
-} // namespace webkit
diff --git a/webkit/plugins/ppapi/ppb_flash_menu_impl.h b/webkit/plugins/ppapi/ppb_flash_menu_impl.h
deleted file mode 100644
index 33ce588..0000000
--- a/webkit/plugins/ppapi/ppb_flash_menu_impl.h
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef WEBKIT_PLUGINS_PPAPI_PPB_FLASH_MENU_IMPL_H_
-#define WEBKIT_PLUGINS_PPAPI_PPB_FLASH_MENU_IMPL_H_
-
-#include <vector>
-
-#include "base/basictypes.h"
-#include "base/compiler_specific.h"
-#include "base/memory/ref_counted.h"
-#include "ppapi/c/pp_point.h"
-#include "ppapi/c/private/ppb_flash_menu.h"
-#include "ppapi/shared_impl/tracked_callback.h"
-#include "ppapi/shared_impl/resource.h"
-#include "ppapi/thunk/ppb_flash_menu_api.h"
-#include "webkit/plugins/webkit_plugins_export.h"
-
-struct WebMenuItem;
-
-namespace webkit {
-namespace ppapi {
-
-class PPB_Flash_Menu_Impl : public ::ppapi::Resource,
- public ::ppapi::thunk::PPB_Flash_Menu_API {
- public:
- virtual ~PPB_Flash_Menu_Impl();
-
- static PP_Resource Create(PP_Instance instance,
- const PP_Flash_Menu* menu_data);
-
- // Resource.
- virtual ::ppapi::thunk::PPB_Flash_Menu_API* AsPPB_Flash_Menu_API() OVERRIDE;
-
- // PPB_Flash_Menu implementation.
- virtual int32_t Show(
- const PP_Point* location,
- int32_t* selected_id_out,
- scoped_refptr< ::ppapi::TrackedCallback> callback) OVERRIDE;
-
- // Called to complete |Show()|.
- WEBKIT_PLUGINS_EXPORT void CompleteShow(int32_t result, unsigned action);
-
- typedef std::vector<WebMenuItem> MenuData;
- const MenuData& menu_data() const { return menu_data_; }
-
- private:
- explicit PPB_Flash_Menu_Impl(PP_Instance instance);
-
- bool Init(const PP_Flash_Menu* menu_data);
-
- MenuData menu_data_;
-
- // We send |WebMenuItem|s, which have an |unsigned| "action" field instead of
- // an |int32_t| ID. (Chrome also limits the range of valid values for
- // actions.) This maps actions to IDs.
- std::vector<int32_t> menu_id_map_;
-
- // Any pending callback (for |Show()|).
- scoped_refptr< ::ppapi::TrackedCallback> callback_;
-
- // Output buffers to be filled in when the callback is completed successfully.
- int32_t* selected_id_out_;
-
- DISALLOW_COPY_AND_ASSIGN(PPB_Flash_Menu_Impl);
-};
-
-} // namespace ppapi
-} // namespace webkit
-
-#endif // WEBKIT_PLUGINS_PPAPI_PPB_FLASH_MENU_IMPL_H_
diff --git a/webkit/plugins/ppapi/resource_creation_impl.cc b/webkit/plugins/ppapi/resource_creation_impl.cc
index 159e27f..0a85d9f 100644
--- a/webkit/plugins/ppapi/resource_creation_impl.cc
+++ b/webkit/plugins/ppapi/resource_creation_impl.cc
@@ -18,7 +18,6 @@
#include "webkit/plugins/ppapi/ppb_file_io_impl.h"
#include "webkit/plugins/ppapi/ppb_file_ref_impl.h"
#include "webkit/plugins/ppapi/ppb_file_system_impl.h"
-#include "webkit/plugins/ppapi/ppb_flash_menu_impl.h"
#include "webkit/plugins/ppapi/ppb_flash_message_loop_impl.h"
#include "webkit/plugins/ppapi/ppb_graphics_2d_impl.h"
#include "webkit/plugins/ppapi/ppb_graphics_3d_impl.h"
@@ -131,7 +130,7 @@ PP_Resource ResourceCreationImpl::CreateFlashFontFile(
PP_Resource ResourceCreationImpl::CreateFlashMenu(
PP_Instance instance,
const PP_Flash_Menu* menu_data) {
- return PPB_Flash_Menu_Impl::Create(instance, menu_data);
+ return 0; // Not supported in-process.
}
PP_Resource ResourceCreationImpl::CreateFlashMessageLoop(PP_Instance instance) {