Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1118)

Unified Diff: content/renderer/render_thread.h

Issue 8171015: Rename RenderThread to RenderThreadImpl (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/render_process_impl.cc ('k') | content/renderer/render_thread.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_thread.h
===================================================================
--- content/renderer/render_thread.h (revision 104358)
+++ content/renderer/render_thread.h (working copy)
@@ -1,243 +0,0 @@
-// Copyright (c) 2011 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 CONTENT_RENDERER_RENDER_THREAD_H_
-#define CONTENT_RENDERER_RENDER_THREAD_H_
-#pragma once
-
-#include <set>
-#include <string>
-#include <vector>
-
-#include "base/observer_list.h"
-#include "base/shared_memory.h"
-#include "base/time.h"
-#include "base/timer.h"
-#include "build/build_config.h"
-#include "content/common/child_thread.h"
-#include "content/common/content_export.h"
-#include "content/common/css_colors.h"
-#include "content/common/gpu/gpu_process_launch_causes.h"
-#include "content/public/renderer/render_thread.h"
-#include "ipc/ipc_channel_proxy.h"
-#include "ui/gfx/native_widget_types.h"
-
-class AppCacheDispatcher;
-class AudioInputMessageFilter;
-class AudioMessageFilter;
-class CompositorThread;
-class DBMessageFilter;
-class DevToolsAgentFilter;
-class FilePath;
-class GpuChannelHost;
-class IndexedDBDispatcher;
-class RendererHistogram;
-class RendererHistogramSnapshots;
-class RendererNetPredictor;
-class RendererWebKitPlatformSupportImpl;
-class SkBitmap;
-class VideoCaptureImplManager;
-class WebDatabaseObserverImpl;
-
-struct RendererPreferences;
-struct DOMStorageMsg_Event_Params;
-struct GPUInfo;
-struct ViewMsg_New_Params;
-struct WebPreferences;
-
-namespace IPC {
-struct ChannelHandle;
-}
-
-namespace WebKit {
-class WebStorageEventDispatcher;
-}
-
-namespace base {
-class MessageLoopProxy;
-class Thread;
-}
-
-namespace content {
-class RenderProcessObserver;
-}
-
-namespace v8 {
-class Extension;
-}
-
-// The RenderThread class represents a background thread where RenderView
-// instances live. The RenderThread supports an API that is used by its
-// consumer to talk indirectly to the RenderViews and supporting objects.
-// Likewise, it provides an API for the RenderViews to talk back to the main
-// process (i.e., their corresponding TabContents).
-//
-// Most of the communication occurs in the form of IPC messages. They are
-// routed to the RenderThread according to the routing IDs of the messages.
-// The routing IDs correspond to RenderView instances.
-class CONTENT_EXPORT RenderThread : public content::RenderThread,
- public ChildThread {
- public:
- static RenderThread* current();
-
- RenderThread();
- // Constructor that's used when running in single process mode.
- explicit RenderThread(const std::string& channel_name);
- virtual ~RenderThread();
-
- // Returns the routing ID of the RenderWidget containing the current script
- // execution context (corresponding to WebFrame::frameForCurrentContext).
- static int32 RoutingIDForCurrentContext();
-
- // content::RenderThread implementation:
- virtual bool Send(IPC::Message* msg) OVERRIDE;
- virtual MessageLoop* GetMessageLoop() OVERRIDE;
- virtual IPC::SyncChannel* GetChannel() OVERRIDE;
- virtual ResourceDispatcher* GetResourceDispatcher() OVERRIDE;
- virtual std::string GetLocale() OVERRIDE;
- virtual void AddRoute(int32 routing_id,
- IPC::Channel::Listener* listener) OVERRIDE;
- virtual void RemoveRoute(int32 routing_id) OVERRIDE;
- virtual void AddFilter(IPC::ChannelProxy::MessageFilter* filter) OVERRIDE;
- virtual void RemoveFilter(IPC::ChannelProxy::MessageFilter* filter) OVERRIDE;
- virtual void SetOutgoingMessageFilter(
- IPC::ChannelProxy::OutgoingMessageFilter* filter) OVERRIDE;
- virtual void AddObserver(content::RenderProcessObserver* observer) OVERRIDE;
- virtual void RemoveObserver(
- content::RenderProcessObserver* observer) OVERRIDE;
- virtual void WidgetHidden() OVERRIDE;
- virtual void WidgetRestored() OVERRIDE;
- virtual void EnsureWebKitInitialized() OVERRIDE;
- virtual void RecordUserMetrics(const std::string& action) OVERRIDE;
- virtual void RegisterExtension(v8::Extension* extension) OVERRIDE;
- virtual bool IsRegisteredExtension(
- const std::string& v8_extension_name) const OVERRIDE;
- virtual void ScheduleIdleHandler(double initial_delay_s) OVERRIDE;
- virtual void IdleHandler() OVERRIDE;
- virtual double GetIdleNotificationDelayInS() const OVERRIDE;
- virtual void SetIdleNotificationDelayInS(
- double idle_notification_delay_in_s) OVERRIDE;
-#if defined(OS_WIN)
- virtual void PreCacheFont(const LOGFONT& log_font) OVERRIDE;
- virtual void ReleaseCachedFonts() OVERRIDE;
-#endif
-
- // These methods modify how the next message is sent. Normally, when sending
- // a synchronous message that runs a nested message loop, we need to suspend
- // callbacks into WebKit. This involves disabling timers and deferring
- // resource loads. However, there are exceptions when we need to customize
- // the behavior.
- void DoNotSuspendWebKitSharedTimer();
- void DoNotNotifyWebKitOfModalLoop();
-
- CompositorThread* compositor_thread() const {
- return compositor_thread_.get();
- }
-
- AppCacheDispatcher* appcache_dispatcher() const {
- return appcache_dispatcher_.get();
- }
-
- IndexedDBDispatcher* indexed_db_dispatcher() const {
- return indexed_db_dispatcher_.get();
- }
-
- AudioInputMessageFilter* audio_input_message_filter() {
- return audio_input_message_filter_.get();
- }
-
- AudioMessageFilter* audio_message_filter() {
- return audio_message_filter_.get();
- }
-
- VideoCaptureImplManager* video_capture_impl_manager() const {
- return vc_manager_.get();
- }
-
- bool plugin_refresh_allowed() const { return plugin_refresh_allowed_; }
-
- // Synchronously establish a channel to the GPU plugin if not previously
- // established or if it has been lost (for example if the GPU plugin crashed).
- // If there is a pending asynchronous request, it will be completed by the
- // time this routine returns.
- GpuChannelHost* EstablishGpuChannelSync(content::CauseForGpuLaunch);
-
- // Get the GPU channel. Returns NULL if the channel is not established or
- // has been lost.
- GpuChannelHost* GetGpuChannel();
-
- // Returns a MessageLoopProxy instance corresponding to the message loop
- // of the thread on which file operations should be run. Must be called
- // on the renderer's main thread.
- scoped_refptr<base::MessageLoopProxy> GetFileThreadMessageLoopProxy();
-
- private:
- virtual bool OnControlMessageReceived(const IPC::Message& msg);
-
- void Init();
-
- void OnSetZoomLevelForCurrentURL(const GURL& url, double zoom_level);
- void OnDOMStorageEvent(const DOMStorageMsg_Event_Params& params);
- void OnSetNextPageID(int32 next_page_id);
- void OnSetCSSColors(const std::vector<CSSColors::CSSColorMapping>& colors);
- void OnCreateNewView(const ViewMsg_New_Params& params);
- void OnTransferBitmap(const SkBitmap& bitmap, int resource_id);
- void OnPurgePluginListCache(bool reload_pages);
- void OnNetworkStateChanged(bool online);
- void OnGetAccessibilityTree();
-
- // These objects live solely on the render thread.
- scoped_ptr<ScopedRunnableMethodFactory<RenderThread> > task_factory_;
- scoped_ptr<AppCacheDispatcher> appcache_dispatcher_;
- scoped_ptr<IndexedDBDispatcher> indexed_db_dispatcher_;
- scoped_ptr<RendererWebKitPlatformSupportImpl> webkit_platform_support_;
- scoped_ptr<WebKit::WebStorageEventDispatcher> dom_storage_event_dispatcher_;
-
- // Used on the renderer and IPC threads.
- scoped_refptr<DBMessageFilter> db_message_filter_;
- scoped_refptr<AudioInputMessageFilter> audio_input_message_filter_;
- scoped_refptr<AudioMessageFilter> audio_message_filter_;
- scoped_refptr<DevToolsAgentFilter> devtools_agent_message_filter_;
-
- // Used on multiple threads.
- scoped_refptr<VideoCaptureImplManager> vc_manager_;
-
- // Used on multiple script execution context threads.
- scoped_ptr<WebDatabaseObserverImpl> web_database_observer_impl_;
-
- // If true, then a GetPlugins call is allowed to rescan the disk.
- bool plugin_refresh_allowed_;
-
- // The count of RenderWidgets running through this thread.
- int widget_count_;
-
- // The count of hidden RenderWidgets running through this thread.
- int hidden_widget_count_;
-
- // The current value of the idle notification timer delay.
- double idle_notification_delay_in_s_;
-
- bool suspend_webkit_shared_timer_;
- bool notify_webkit_of_modal_loop_;
-
- // Timer that periodically calls IdleHandler.
- base::RepeatingTimer<RenderThread> idle_timer_;
-
- // The channel from the renderer process to the GPU process.
- scoped_refptr<GpuChannelHost> gpu_channel_;
-
- // A lazily initiated thread on which file operations are run.
- scoped_ptr<base::Thread> file_thread_;
-
- // Map of registered v8 extensions. The key is the extension name.
- std::set<std::string> v8_extensions_;
-
- scoped_ptr<CompositorThread> compositor_thread_;
-
- ObserverList<content::RenderProcessObserver> observers_;
-
- DISALLOW_COPY_AND_ASSIGN(RenderThread);
-};
-
-#endif // CONTENT_RENDERER_RENDER_THREAD_H_
« no previous file with comments | « content/renderer/render_process_impl.cc ('k') | content/renderer/render_thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698