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

Side by Side Diff: content/renderer/gpu/compositor_external_begin_frame_source.h

Issue 801973002: Introduce CompositorDependencies for RenderWidgetCompositor. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: compdep: . Created 6 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_GPU_COMPOSITOR_EXTERNAL_BEGIN_FRAME_SOURCE_H_ 5 #ifndef CONTENT_RENDERER_GPU_COMPOSITOR_EXTERNAL_BEGIN_FRAME_SOURCE_H_
6 #define CONTENT_RENDERER_GPU_COMPOSITOR_EXTERNAL_BEGIN_FRAME_SOURCE_H_ 6 #define CONTENT_RENDERER_GPU_COMPOSITOR_EXTERNAL_BEGIN_FRAME_SOURCE_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
11 #include "cc/scheduler/begin_frame_source.h" 11 #include "cc/scheduler/begin_frame_source.h"
12 #include "content/renderer/gpu/compositor_forwarding_message_filter.h" 12 #include "content/renderer/gpu/compositor_forwarding_message_filter.h"
13 13
14 namespace IPC { 14 namespace IPC {
15 class Message; 15 class Message;
16 class SyncMessageFilter; 16 class SyncMessageFilter;
17 } 17 }
18 18
19 namespace content { 19 namespace content {
20 20
21 // This class can be created only on the main thread, but then becomes pinned 21 // This class can be created only on the main thread, but then becomes pinned
22 // to a fixed thread where cc::Scheduler is running. 22 // to a fixed thread where cc::Scheduler is running.
23 class CompositorExternalBeginFrameSource 23 class CompositorExternalBeginFrameSource
24 : public cc::BeginFrameSourceMixIn, 24 : public cc::BeginFrameSourceMixIn,
25 public NON_EXPORTED_BASE(base::NonThreadSafe) { 25 public NON_EXPORTED_BASE(base::NonThreadSafe) {
26 public: 26 public:
27 explicit CompositorExternalBeginFrameSource(int routing_id); 27 explicit CompositorExternalBeginFrameSource(
28 CompositorForwardingMessageFilter* filter,
29 IPC::SyncMessageFilter* sync_message_filter,
30 int routing_id);
28 virtual ~CompositorExternalBeginFrameSource(); 31 virtual ~CompositorExternalBeginFrameSource();
29 32
30 // cc::BeginFrameSourceMixIn implementation. 33 // cc::BeginFrameSourceMixIn implementation.
31 virtual void OnNeedsBeginFramesChange(bool needs_begin_frames) override; 34 virtual void OnNeedsBeginFramesChange(bool needs_begin_frames) override;
32 virtual void SetClientReady() override; 35 virtual void SetClientReady() override;
33 36
34 private: 37 private:
35 class CompositorExternalBeginFrameSourceProxy 38 class CompositorExternalBeginFrameSourceProxy
36 : public base::RefCountedThreadSafe< 39 : public base::RefCountedThreadSafe<
37 CompositorExternalBeginFrameSourceProxy> { 40 CompositorExternalBeginFrameSourceProxy> {
(...skipping 28 matching lines...) Expand all
66 scoped_refptr<IPC::SyncMessageFilter> message_sender_; 69 scoped_refptr<IPC::SyncMessageFilter> message_sender_;
67 int routing_id_; 70 int routing_id_;
68 CompositorForwardingMessageFilter::Handler begin_frame_source_filter_handler_; 71 CompositorForwardingMessageFilter::Handler begin_frame_source_filter_handler_;
69 72
70 DISALLOW_COPY_AND_ASSIGN(CompositorExternalBeginFrameSource); 73 DISALLOW_COPY_AND_ASSIGN(CompositorExternalBeginFrameSource);
71 }; 74 };
72 75
73 } // namespace content 76 } // namespace content
74 77
75 #endif // CONTENT_RENDERER_GPU_COMPOSITOR_EXTERNAL_BEGIN_FRAME_SOURCE_H_ 78 #endif // CONTENT_RENDERER_GPU_COMPOSITOR_EXTERNAL_BEGIN_FRAME_SOURCE_H_
OLDNEW
« no previous file with comments | « content/renderer/gpu/compositor_dependencies.h ('k') | content/renderer/gpu/compositor_external_begin_frame_source.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698