summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorraymes@chromium.org <raymes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-17 23:51:21 +0000
committerraymes@chromium.org <raymes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-17 23:51:21 +0000
commitc9246538b8cde698bb7e31c851388521709f2a2a (patch)
treeccd484b141cc5bf0c1f12b6893326ab8934ad0e4 /content
parentabeaebc46b5cdfa8a4fcea6a2e55b207dffd8e7e (diff)
downloadchromium_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')
-rw-r--r--content/browser/renderer_host/pepper/pepper_flash_browser_host.cc15
-rw-r--r--content/browser/renderer_host/pepper/pepper_flash_browser_host.h7
-rw-r--r--content/browser/renderer_host/pepper/pepper_message_filter.cc24
-rw-r--r--content/browser/renderer_host/pepper/pepper_message_filter.h2
-rw-r--r--content/renderer/pepper/pepper_plugin_delegate_impl.cc7
-rw-r--r--content/renderer/pepper/pepper_plugin_delegate_impl.h1
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;