OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ |
6 #define CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ | 6 #define CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 // The RenderThreadImpl class represents a background thread where RenderView | 121 // The RenderThreadImpl class represents a background thread where RenderView |
122 // instances live. The RenderThread supports an API that is used by its | 122 // instances live. The RenderThread supports an API that is used by its |
123 // consumer to talk indirectly to the RenderViews and supporting objects. | 123 // consumer to talk indirectly to the RenderViews and supporting objects. |
124 // Likewise, it provides an API for the RenderViews to talk back to the main | 124 // Likewise, it provides an API for the RenderViews to talk back to the main |
125 // process (i.e., their corresponding WebContentsImpl). | 125 // process (i.e., their corresponding WebContentsImpl). |
126 // | 126 // |
127 // Most of the communication occurs in the form of IPC messages. They are | 127 // Most of the communication occurs in the form of IPC messages. They are |
128 // routed to the RenderThread according to the routing IDs of the messages. | 128 // routed to the RenderThread according to the routing IDs of the messages. |
129 // The routing IDs correspond to RenderView instances. | 129 // The routing IDs correspond to RenderView instances. |
130 class CONTENT_EXPORT RenderThreadImpl | 130 class CONTENT_EXPORT RenderThreadImpl |
131 : public RenderThread, | 131 : virtual public RenderThread, |
132 public ChildThreadImpl, | 132 virtual public ChildThreadImpl, |
133 public GpuChannelHostFactory, | 133 public GpuChannelHostFactory, |
134 NON_EXPORTED_BASE(public CompositorDependencies) { | 134 NON_EXPORTED_BASE(public CompositorDependencies) { |
135 public: | 135 public: |
136 static RenderThreadImpl* current(); | 136 static RenderThreadImpl* current(); |
137 | 137 |
138 explicit RenderThreadImpl(const InProcessChildThreadParams& params); | 138 explicit RenderThreadImpl(const InProcessChildThreadParams& params); |
139 explicit RenderThreadImpl(scoped_ptr<base::MessageLoop> main_message_loop); | 139 explicit RenderThreadImpl(scoped_ptr<base::MessageLoop> main_message_loop); |
140 ~RenderThreadImpl() override; | 140 ~RenderThreadImpl() override; |
141 void Shutdown() override; | 141 void Shutdown() override; |
142 | 142 |
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
645 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); | 645 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); |
646 }; | 646 }; |
647 | 647 |
648 #if defined(COMPILER_MSVC) | 648 #if defined(COMPILER_MSVC) |
649 #pragma warning(pop) | 649 #pragma warning(pop) |
650 #endif | 650 #endif |
651 | 651 |
652 } // namespace content | 652 } // namespace content |
653 | 653 |
654 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ | 654 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ |
OLD | NEW |