diff options
author | raymes@chromium.org <raymes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-17 23:51:21 +0000 |
---|---|---|
committer | raymes@chromium.org <raymes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-17 23:51:21 +0000 |
commit | c9246538b8cde698bb7e31c851388521709f2a2a (patch) | |
tree | ccd484b141cc5bf0c1f12b6893326ab8934ad0e4 /content | |
parent | abeaebc46b5cdfa8a4fcea6a2e55b207dffd8e7e (diff) | |
download | chromium_src-c9246538b8cde698bb7e31c851388521709f2a2a.zip chromium_src-c9246538b8cde698bb7e31c851388521709f2a2a.tar.gz chromium_src-c9246538b8cde698bb7e31c851388521709f2a2a.tar.bz2 |
This refactors PPB_Flash GetLocalTimeZoneOffset to the new PPAPI resource model. The in process implementation is removed. Associated plugin delegate code is also removed.
BUG=
Review URL: https://chromiumcodereview.appspot.com/11516020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173578 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
6 files changed, 22 insertions, 34 deletions
diff --git a/content/browser/renderer_host/pepper/pepper_flash_browser_host.cc b/content/browser/renderer_host/pepper/pepper_flash_browser_host.cc index ba4f75f..c27dfb0 100644 --- a/content/browser/renderer_host/pepper/pepper_flash_browser_host.cc +++ b/content/browser/renderer_host/pepper/pepper_flash_browser_host.cc @@ -4,12 +4,14 @@ #include "content/browser/renderer_host/pepper/pepper_flash_browser_host.h" +#include "base/time.h" #include "content/public/browser/browser_ppapi_host.h" #include "ipc/ipc_message_macros.h" #include "ppapi/c/pp_errors.h" #include "ppapi/host/dispatch_host_message.h" #include "ppapi/proxy/ppapi_messages.h" #include "ppapi/proxy/resource_message_params.h" +#include "ppapi/shared_impl/time_conversion.h" #ifdef OS_WIN #include <windows.h> @@ -35,6 +37,8 @@ int32_t PepperFlashBrowserHost::OnResourceMessageReceived( IPC_BEGIN_MESSAGE_MAP(PepperFlashBrowserHost, msg) PPAPI_DISPATCH_HOST_RESOURCE_CALL_0(PpapiHostMsg_Flash_UpdateActivity, OnMsgUpdateActivity); + PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_Flash_GetLocalTimeZoneOffset, + OnMsgGetLocalTimeZoneOffset); IPC_END_MESSAGE_MAP() return PP_ERROR_FAILED; } @@ -57,4 +61,15 @@ int32_t PepperFlashBrowserHost::OnMsgUpdateActivity( return PP_OK; } +int32_t PepperFlashBrowserHost::OnMsgGetLocalTimeZoneOffset( + ppapi::host::HostMessageContext* host_context, + const base::Time& t) { + // The reason for this processing being in the browser process is that on + // Linux, the localtime calls require filesystem access prohibited by the + // sandbox. + host_context->reply_msg = PpapiPluginMsg_Flash_GetLocalTimeZoneOffsetReply( + ppapi::PPGetLocalTimeZoneOffset(t)); + return PP_OK; +} + } // namespace content diff --git a/content/browser/renderer_host/pepper/pepper_flash_browser_host.h b/content/browser/renderer_host/pepper/pepper_flash_browser_host.h index 307fe94..8306012 100644 --- a/content/browser/renderer_host/pepper/pepper_flash_browser_host.h +++ b/content/browser/renderer_host/pepper/pepper_flash_browser_host.h @@ -9,6 +9,10 @@ #include "ppapi/host/host_message_context.h" #include "ppapi/host/resource_host.h" +namespace base { +class Time; +} + namespace content { class BrowserPpapiHost; @@ -27,6 +31,9 @@ class PepperFlashBrowserHost : public ppapi::host::ResourceHost { private: int32_t OnMsgUpdateActivity(ppapi::host::HostMessageContext* host_context); + int32_t OnMsgGetLocalTimeZoneOffset( + ppapi::host::HostMessageContext* host_context, + const base::Time& t); DISALLOW_COPY_AND_ASSIGN(PepperFlashBrowserHost); }; diff --git a/content/browser/renderer_host/pepper/pepper_message_filter.cc b/content/browser/renderer_host/pepper/pepper_message_filter.cc index 3383bba..c9bda2d 100644 --- a/content/browser/renderer_host/pepper/pepper_message_filter.cc +++ b/content/browser/renderer_host/pepper/pepper_message_filter.cc @@ -138,8 +138,6 @@ bool PepperMessageFilter::OnMessageReceived(const IPC::Message& msg, bool* message_was_ok) { bool handled = true; IPC_BEGIN_MESSAGE_MAP_EX(PepperMessageFilter, msg, *message_was_ok) - IPC_MESSAGE_HANDLER(PepperMsg_GetLocalTimeZoneOffset, - OnGetLocalTimeZoneOffset) IPC_MESSAGE_HANDLER_DELAY_REPLY(PpapiHostMsg_PPBInstance_GetFontFamilies, OnGetFontFamilies) // TCP messages. @@ -245,28 +243,6 @@ PepperMessageFilter::~PepperMessageFilter() { net::NetworkChangeNotifier::RemoveIPAddressObserver(this); } -void PepperMessageFilter::OnGetLocalTimeZoneOffset(base::Time t, - double* result) { - // Explode it to local time and then unexplode it as if it were UTC. Also - // explode it to UTC and unexplode it (this avoids mismatching rounding or - // lack thereof). The time zone offset is their difference. - // - // The reason for this processing being in the browser process is that on - // Linux, the localtime calls require filesystem access prohibited by the - // sandbox. - base::Time::Exploded exploded = { 0 }; - base::Time::Exploded utc_exploded = { 0 }; - t.LocalExplode(&exploded); - t.UTCExplode(&utc_exploded); - if (exploded.HasValidValues() && utc_exploded.HasValidValues()) { - base::Time adj_time = base::Time::FromUTCExploded(exploded); - base::Time cur = base::Time::FromUTCExploded(utc_exploded); - *result = (adj_time - cur).InSecondsF(); - } else { - *result = 0.0; - } -} - void PepperMessageFilter::OnGetFontFamilies(IPC::Message* reply_msg) { GetFontListAsync( base::Bind(&PepperMessageFilter::GetFontFamiliesComplete, diff --git a/content/browser/renderer_host/pepper/pepper_message_filter.h b/content/browser/renderer_host/pepper/pepper_message_filter.h index 04f88ad..977ca3b 100644 --- a/content/browser/renderer_host/pepper/pepper_message_filter.h +++ b/content/browser/renderer_host/pepper/pepper_message_filter.h @@ -14,7 +14,6 @@ #include "base/memory/linked_ptr.h" #include "base/memory/scoped_ptr.h" #include "base/process.h" -#include "base/time.h" #include "content/public/browser/browser_message_filter.h" #include "content/public/browser/content_browser_client.h" #include "net/base/net_util.h" @@ -136,7 +135,6 @@ class PepperMessageFilter // notifications. typedef std::set<uint32> NetworkMonitorIdSet; - void OnGetLocalTimeZoneOffset(base::Time t, double* result); void OnGetFontFamilies(IPC::Message* reply); void OnTCPCreate(int32 routing_id, diff --git a/content/renderer/pepper/pepper_plugin_delegate_impl.cc b/content/renderer/pepper/pepper_plugin_delegate_impl.cc index 3f6249d..d16fbfb 100644 --- a/content/renderer/pepper/pepper_plugin_delegate_impl.cc +++ b/content/renderer/pepper/pepper_plugin_delegate_impl.cc @@ -1364,13 +1364,6 @@ void PepperPluginDelegateImpl::SaveURLAs(const GURL& url) { render_view_->routing_id(), url, referrer)); } -double PepperPluginDelegateImpl::GetLocalTimeZoneOffset(base::Time t) { - double result = 0.0; - render_view_->Send(new PepperMsg_GetLocalTimeZoneOffset( - t, &result)); - return result; -} - PP_FlashLSORestrictions PepperPluginDelegateImpl::GetLocalDataRestrictions( const GURL& document_url, const GURL& plugin_url) { diff --git a/content/renderer/pepper/pepper_plugin_delegate_impl.h b/content/renderer/pepper/pepper_plugin_delegate_impl.h index 700bbef..1b6bafd 100644 --- a/content/renderer/pepper/pepper_plugin_delegate_impl.h +++ b/content/renderer/pepper/pepper_plugin_delegate_impl.h @@ -318,7 +318,6 @@ class PepperPluginDelegateImpl virtual void DidStopLoading() OVERRIDE; virtual void SetContentRestriction(int restrictions) OVERRIDE; virtual void SaveURLAs(const GURL& url) OVERRIDE; - virtual double GetLocalTimeZoneOffset(base::Time t) OVERRIDE; virtual base::SharedMemory* CreateAnonymousSharedMemory(uint32_t size) OVERRIDE; virtual ::ppapi::Preferences GetPreferences() OVERRIDE; |