diff options
author | yzshen@chromium.org <yzshen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-11 21:01:54 +0000 |
---|---|---|
committer | yzshen@chromium.org <yzshen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-11 21:01:54 +0000 |
commit | 5c69d0840291641a73bbe040a6e6cebe0c3114d4 (patch) | |
tree | df80996df716d4188d55071e228a51805dccb085 /content/ppapi_plugin | |
parent | 0d02104a4c82b4989e830e140cb6129f320c2191 (diff) | |
download | chromium_src-5c69d0840291641a73bbe040a6e6cebe0c3114d4.zip chromium_src-5c69d0840291641a73bbe040a6e6cebe0c3114d4.tar.gz chromium_src-5c69d0840291641a73bbe040a6e6cebe0c3114d4.tar.bz2 |
Revert 141482 - Pepper Flash settings integration - camera and microphone.
BUG=112190
TEST=None
Review URL: https://chromiumcodereview.appspot.com/10479015
TBR=yzshen@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10536103
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141492 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/ppapi_plugin')
-rw-r--r-- | content/ppapi_plugin/broker_process_dispatcher.cc | 192 | ||||
-rw-r--r-- | content/ppapi_plugin/broker_process_dispatcher.h | 38 |
2 files changed, 29 insertions, 201 deletions
diff --git a/content/ppapi_plugin/broker_process_dispatcher.cc b/content/ppapi_plugin/broker_process_dispatcher.cc index 5e717e4..e4b4cb3 100644 --- a/content/ppapi_plugin/broker_process_dispatcher.cc +++ b/content/ppapi_plugin/broker_process_dispatcher.cc @@ -6,15 +6,11 @@ #include "base/bind.h" #include "base/bind_helpers.h" -#include "base/memory/scoped_ptr.h" #include "base/utf_string_conversions.h" #include "content/common/child_process.h" #include "ppapi/c/pp_bool.h" #include "ppapi/c/private/ppp_flash_browser_operations.h" #include "ppapi/proxy/ppapi_messages.h" -#include "ppapi/shared_impl/ppapi_globals.h" -#include "ppapi/shared_impl/var.h" -#include "ppapi/shared_impl/var_tracker.h" namespace { @@ -30,70 +26,14 @@ std::string ConvertPluginDataPath(const FilePath& plugin_data_path) { #endif } -struct GetPermissionSettingsContext { - GetPermissionSettingsContext( - const base::WeakPtr<BrokerProcessDispatcher> in_dispatcher, - uint32 in_request_id) - : dispatcher(in_dispatcher), - request_id(in_request_id) { - } - - base::WeakPtr<BrokerProcessDispatcher> dispatcher; - uint32 request_id; -}; - -void GetPermissionSettingsCallback( - void* user_data, - PP_Bool success, - PP_Flash_BrowserOperations_Permission default_permission, - uint32_t site_count, - const PP_Flash_BrowserOperations_SiteSetting sites[]) { - scoped_ptr<GetPermissionSettingsContext> context( - reinterpret_cast<GetPermissionSettingsContext*>(user_data)); - - if (!context->dispatcher) - return; - - ppapi::FlashSiteSettings site_vector; - if (success) { - site_vector.reserve(site_count); - for (uint32_t i = 0; i < site_count; ++i) { - ppapi::StringVar* string_var = ppapi::StringVar::FromPPVar(sites[i].site); - if (!string_var) { - success = PP_FALSE; - break; - } - site_vector.push_back( - ppapi::FlashSiteSetting(string_var->value(), sites[i].permission)); - } - - if (!success) - site_vector.clear(); - } - context->dispatcher->OnGetPermissionSettingsCompleted( - context->request_id, PP_ToBool(success), default_permission, site_vector); -} - } // namespace BrokerProcessDispatcher::BrokerProcessDispatcher( PP_GetInterface_Func get_plugin_interface, PP_ConnectInstance_Func connect_instance) : ppapi::proxy::BrokerSideDispatcher(connect_instance), - get_plugin_interface_(get_plugin_interface), - flash_browser_operations_1_1_(NULL), - flash_browser_operations_1_0_(NULL) { + get_plugin_interface_(get_plugin_interface) { ChildProcess::current()->AddRefProcess(); - - if (get_plugin_interface) { - flash_browser_operations_1_0_ = - static_cast<const PPP_Flash_BrowserOperations_1_0*>( - get_plugin_interface_(PPP_FLASH_BROWSEROPERATIONS_INTERFACE_1_0)); - - flash_browser_operations_1_1_ = - static_cast<const PPP_Flash_BrowserOperations_1_1*>( - get_plugin_interface_(PPP_FLASH_BROWSEROPERATIONS_INTERFACE_1_1)); - } } BrokerProcessDispatcher::~BrokerProcessDispatcher() { @@ -115,25 +55,11 @@ bool BrokerProcessDispatcher::OnMessageReceived(const IPC::Message& msg) { IPC_MESSAGE_HANDLER(PpapiMsg_ClearSiteData, OnMsgClearSiteData) IPC_MESSAGE_HANDLER(PpapiMsg_DeauthorizeContentLicenses, OnMsgDeauthorizeContentLicenses) - IPC_MESSAGE_HANDLER(PpapiMsg_GetPermissionSettings, - OnMsgGetPermissionSettings) - IPC_MESSAGE_HANDLER(PpapiMsg_SetDefaultPermission, - OnMsgSetDefaultPermission) - IPC_MESSAGE_HANDLER(PpapiMsg_SetSitePermission, OnMsgSetSitePermission) IPC_MESSAGE_UNHANDLED(return BrokerSideDispatcher::OnMessageReceived(msg)) IPC_END_MESSAGE_MAP() return true; } -void BrokerProcessDispatcher::OnGetPermissionSettingsCompleted( - uint32 request_id, - bool success, - PP_Flash_BrowserOperations_Permission default_permission, - const ppapi::FlashSiteSettings& sites) { - Send(new PpapiHostMsg_GetPermissionSettingsResult( - request_id, success, default_permission, sites)); -} - void BrokerProcessDispatcher::OnMsgClearSiteData( const FilePath& plugin_data_path, const std::string& site, @@ -150,62 +76,34 @@ void BrokerProcessDispatcher::OnMsgDeauthorizeContentLicenses( request_id, DeauthorizeContentLicenses(plugin_data_path))); } -void BrokerProcessDispatcher::OnMsgGetPermissionSettings( - uint32 request_id, - const FilePath& plugin_data_path, - PP_Flash_BrowserOperations_SettingType setting_type) { - if (!flash_browser_operations_1_1_) { - OnGetPermissionSettingsCompleted( - request_id, false, PP_FLASH_BROWSEROPERATIONS_PERMISSION_DEFAULT, - ppapi::FlashSiteSettings()); - return; - } - - std::string data_str = ConvertPluginDataPath(plugin_data_path); - // The GetPermissionSettingsContext object will be deleted in - // GetPermissionSettingsCallback(). - flash_browser_operations_1_1_->GetPermissionSettings( - data_str.c_str(), setting_type, &GetPermissionSettingsCallback, - new GetPermissionSettingsContext(AsWeakPtr(), request_id)); -} - -void BrokerProcessDispatcher::OnMsgSetDefaultPermission( - uint32 request_id, - const FilePath& plugin_data_path, - PP_Flash_BrowserOperations_SettingType setting_type, - PP_Flash_BrowserOperations_Permission permission, - bool clear_site_specific) { - Send(new PpapiHostMsg_SetDefaultPermissionResult( - request_id, - SetDefaultPermission(plugin_data_path, setting_type, permission, - clear_site_specific))); -} - -void BrokerProcessDispatcher::OnMsgSetSitePermission( - uint32 request_id, - const FilePath& plugin_data_path, - PP_Flash_BrowserOperations_SettingType setting_type, - const ppapi::FlashSiteSettings& sites) { - Send(new PpapiHostMsg_SetSitePermissionResult( - request_id, SetSitePermission(plugin_data_path, setting_type, sites))); -} - bool BrokerProcessDispatcher::ClearSiteData(const FilePath& plugin_data_path, const std::string& site, uint64 flags, uint64 max_age) { - std::string data_str = ConvertPluginDataPath(plugin_data_path); - if (flash_browser_operations_1_1_) { - flash_browser_operations_1_1_->ClearSiteData( - data_str.c_str(), site.empty() ? NULL : site.c_str(), flags, max_age); + if (!get_plugin_interface_) + return false; + + const PPP_Flash_BrowserOperations_1_1* browser_interface = + static_cast<const PPP_Flash_BrowserOperations_1_1*>( + get_plugin_interface_(PPP_FLASH_BROWSEROPERATIONS_INTERFACE_1_1)); + if (browser_interface) { + std::string data_str = ConvertPluginDataPath(plugin_data_path); + browser_interface->ClearSiteData(data_str.c_str(), + site.empty() ? NULL : site.c_str(), + flags, max_age); return true; } // TODO(viettrungluu): Remove this (and the 1.0 interface) sometime after M21 // goes to Stable. - if (flash_browser_operations_1_0_) { - flash_browser_operations_1_0_->ClearSiteData( - data_str.c_str(), site.empty() ? NULL : site.c_str(), flags, max_age); + const PPP_Flash_BrowserOperations_1_0* browser_interface_1_0 = + static_cast<const PPP_Flash_BrowserOperations_1_0*>( + get_plugin_interface_(PPP_FLASH_BROWSEROPERATIONS_INTERFACE_1_0)); + if (browser_interface_1_0) { + std::string data_str = ConvertPluginDataPath(plugin_data_path); + browser_interface_1_0->ClearSiteData(data_str.c_str(), + site.empty() ? NULL : site.c_str(), + flags, max_age); return true; } @@ -214,52 +112,16 @@ bool BrokerProcessDispatcher::ClearSiteData(const FilePath& plugin_data_path, bool BrokerProcessDispatcher::DeauthorizeContentLicenses( const FilePath& plugin_data_path) { - if (!flash_browser_operations_1_1_) + if (!get_plugin_interface_) return false; - - std::string data_str = ConvertPluginDataPath(plugin_data_path); - return PP_ToBool(flash_browser_operations_1_1_->DeauthorizeContentLicenses( - data_str.c_str())); -} - -bool BrokerProcessDispatcher::SetDefaultPermission( - const FilePath& plugin_data_path, - PP_Flash_BrowserOperations_SettingType setting_type, - PP_Flash_BrowserOperations_Permission permission, - bool clear_site_specific) { - if (!flash_browser_operations_1_1_) + const PPP_Flash_BrowserOperations_1_1* browser_interface = + static_cast<const PPP_Flash_BrowserOperations_1_1*>( + get_plugin_interface_(PPP_FLASH_BROWSEROPERATIONS_INTERFACE_1_1)); + if (!browser_interface) return false; std::string data_str = ConvertPluginDataPath(plugin_data_path); - return PP_ToBool(flash_browser_operations_1_1_->SetDefaultPermission( - data_str.c_str(), setting_type, permission, - PP_FromBool(clear_site_specific))); + return PP_ToBool(browser_interface->DeauthorizeContentLicenses( + data_str.c_str())); } -bool BrokerProcessDispatcher::SetSitePermission( - const FilePath& plugin_data_path, - PP_Flash_BrowserOperations_SettingType setting_type, - const ppapi::FlashSiteSettings& sites) { - if (!flash_browser_operations_1_1_) - return false; - - if (sites.empty()) - return true; - - std::string data_str = ConvertPluginDataPath(plugin_data_path); - scoped_array<PP_Flash_BrowserOperations_SiteSetting> site_array( - new PP_Flash_BrowserOperations_SiteSetting[sites.size()]); - - for (size_t i = 0; i < sites.size(); ++i) { - site_array[i].site = ppapi::StringVar::StringToPPVar(sites[i].site); - site_array[i].permission = sites[i].permission; - } - - PP_Bool result = flash_browser_operations_1_1_->SetSitePermission( - data_str.c_str(), setting_type, sites.size(), site_array.get()); - - for (size_t i = 0; i < sites.size(); ++i) - ppapi::PpapiGlobals::Get()->GetVarTracker()->ReleaseVar(site_array[i].site); - - return PP_ToBool(result); -} diff --git a/content/ppapi_plugin/broker_process_dispatcher.h b/content/ppapi_plugin/broker_process_dispatcher.h index 7da07bf..b33a4e8 100644 --- a/content/ppapi_plugin/broker_process_dispatcher.h +++ b/content/ppapi_plugin/broker_process_dispatcher.h @@ -6,17 +6,13 @@ #define CONTENT_PPAPI_PLUGIN_BROKER_PROCESS_DISPATCHER_H_ #include "base/basictypes.h" -#include "base/memory/weak_ptr.h" #include "ppapi/c/ppp.h" #include "ppapi/proxy/broker_dispatcher.h" -#include "ppapi/shared_impl/ppp_flash_browser_operations_shared.h" // Wrapper around a BrokerDispatcher that provides the necessary integration // for plugin process management. This class is to avoid direct dependencies // from the PPAPI proxy on the Chrome multiprocess infrastructure. -class BrokerProcessDispatcher - : public ppapi::proxy::BrokerSideDispatcher, - public base::SupportsWeakPtr<BrokerProcessDispatcher> { +class BrokerProcessDispatcher : public ppapi::proxy::BrokerSideDispatcher { public: BrokerProcessDispatcher(PP_GetInterface_Func get_plugin_interface, PP_ConnectInstance_Func connect_instance); @@ -25,34 +21,14 @@ class BrokerProcessDispatcher // IPC::Channel::Listener overrides. virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; - void OnGetPermissionSettingsCompleted( - uint32 request_id, - bool success, - PP_Flash_BrowserOperations_Permission default_permission, - const ppapi::FlashSiteSettings& sites); - private: void OnMsgClearSiteData(const FilePath& plugin_data_path, const std::string& site, uint64 flags, uint64 max_age); + void OnMsgDeauthorizeContentLicenses(uint32 request_id, const FilePath& plugin_data_path); - void OnMsgGetPermissionSettings( - uint32 request_id, - const FilePath& plugin_data_path, - PP_Flash_BrowserOperations_SettingType setting_type); - void OnMsgSetDefaultPermission( - uint32 request_id, - const FilePath& plugin_data_path, - PP_Flash_BrowserOperations_SettingType setting_type, - PP_Flash_BrowserOperations_Permission permission, - bool clear_site_specific); - void OnMsgSetSitePermission( - uint32 request_id, - const FilePath& plugin_data_path, - PP_Flash_BrowserOperations_SettingType setting_type, - const ppapi::FlashSiteSettings& sites); // Requests that the plugin clear data, returning true on success. bool ClearSiteData(const FilePath& plugin_data_path, @@ -60,19 +36,9 @@ class BrokerProcessDispatcher uint64 flags, uint64 max_age); bool DeauthorizeContentLicenses(const FilePath& plugin_data_path); - bool SetDefaultPermission(const FilePath& plugin_data_path, - PP_Flash_BrowserOperations_SettingType setting_type, - PP_Flash_BrowserOperations_Permission permission, - bool clear_site_specific); - bool SetSitePermission(const FilePath& plugin_data_path, - PP_Flash_BrowserOperations_SettingType setting_type, - const ppapi::FlashSiteSettings& sites); PP_GetInterface_Func get_plugin_interface_; - const PPP_Flash_BrowserOperations_1_1* flash_browser_operations_1_1_; - const PPP_Flash_BrowserOperations_1_0* flash_browser_operations_1_0_; - DISALLOW_COPY_AND_ASSIGN(BrokerProcessDispatcher); }; |