diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-06 02:53:28 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-06 02:53:28 +0000 |
commit | 00c39612a3ec84f8d1f26975f3936bffc183591a (patch) | |
tree | 92474ab446150f025becaefd3868e02f72bea1fc /chrome/renderer/render_thread.cc | |
parent | 23dd7db09af6da5643e10d839b23d484a5b41eab (diff) | |
download | chromium_src-00c39612a3ec84f8d1f26975f3936bffc183591a.zip chromium_src-00c39612a3ec84f8d1f26975f3936bffc183591a.tar.gz chromium_src-00c39612a3ec84f8d1f26975f3936bffc183591a.tar.bz2 |
Make the pepper 2D flush callback actually function as advertised. It will now
get called asynchronously when the bits are actually copied to the screen,
rather than synchronously from inside the paint function. This makes it useful
for plugins to use the callback for rate limiting. This also adds a lot of
infrastructure for running tests on pepper devices, and includes a unit test
for the new flush behavior. I made the existing RenderProcess object an
abstract interface and made the existing MockProcess (renamed to be more clear)
implement that. This avoids a static cast that would actually crash during a
unit test because some code was hardcoded to expect a RenderProcess object.
This fixes base's IDMap iterator which has apparently never been used for an
IDMap with ownership semantics.
TEST=Unit test included
BUG=none
Original review URL: http://codereview.chromium.org/661124
Review URL: http://codereview.chromium.org/664001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40813 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_thread.cc')
-rw-r--r-- | chrome/renderer/render_thread.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc index 56b1348..05f4c7b 100644 --- a/chrome/renderer/render_thread.cc +++ b/chrome/renderer/render_thread.cc @@ -53,7 +53,7 @@ #include "chrome/renderer/loadtimes_extension_bindings.h" #include "chrome/renderer/net/render_dns_master.h" #include "chrome/renderer/plugin_channel_host.h" -#include "chrome/renderer/render_process.h" +#include "chrome/renderer/render_process_impl.h" #include "chrome/renderer/render_view.h" #include "chrome/renderer/render_view_visitor.h" #include "chrome/renderer/renderer_webkitclient_impl.h" @@ -203,7 +203,7 @@ void RenderThread::Init() { #if defined(OS_WIN) // If you are running plugins in this thread you need COM active but in // the normal case you don't. - if (RenderProcess::InProcessPlugins()) + if (RenderProcessImpl::InProcessPlugins()) CoInitialize(0); #endif @@ -263,7 +263,7 @@ RenderThread::~RenderThread() { // Clean up plugin channels before this thread goes away. PluginChannelBase::CleanupChannels(); // Don't call COM if the renderer is in the sandbox. - if (RenderProcess::InProcessPlugins()) + if (RenderProcessImpl::InProcessPlugins()) CoUninitialize(); #endif } @@ -755,7 +755,7 @@ void RenderThread::EnsureWebKitInitialized() { } WebRuntimeFeatures::enableMediaPlayer( - RenderProcess::current()->initialized_media_library()); + RenderProcess::current()->HasInitializedMediaLibrary()); WebRuntimeFeatures::enableSockets( !command_line.HasSwitch(switches::kDisableWebSockets)); |