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

Side by Side Diff: android_webview/browser/shared_renderer_state.h

Issue 914103004: (NOT FOR COMMIT) Remove BVR cruft (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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 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 ANDROID_WEBVIEW_BROWSER_SHARED_RENDERER_STATE_H_ 5 #ifndef ANDROID_WEBVIEW_BROWSER_SHARED_RENDERER_STATE_H_
6 #define ANDROID_WEBVIEW_BROWSER_SHARED_RENDERER_STATE_H_ 6 #define ANDROID_WEBVIEW_BROWSER_SHARED_RENDERER_STATE_H_
7 7
8 #include "android_webview/browser/gl_view_renderer_manager.h" 8 #include "android_webview/browser/gl_view_renderer_manager.h"
9 #include "android_webview/browser/parent_compositor_draw_constraints.h" 9 #include "android_webview/browser/parent_compositor_draw_constraints.h"
10 #include "base/cancelable_callback.h" 10 #include "base/cancelable_callback.h"
(...skipping 23 matching lines...) Expand all
34 SharedRendererState( 34 SharedRendererState(
35 const scoped_refptr<base::SingleThreadTaskRunner>& ui_loop, 35 const scoped_refptr<base::SingleThreadTaskRunner>& ui_loop,
36 BrowserViewRenderer* browser_view_renderer); 36 BrowserViewRenderer* browser_view_renderer);
37 ~SharedRendererState(); 37 ~SharedRendererState();
38 38
39 // This function can be called from any thread. 39 // This function can be called from any thread.
40 void ClientRequestDrawGL(); 40 void ClientRequestDrawGL();
41 41
42 // UI thread methods. 42 // UI thread methods.
43 void SetScrollOffsetOnUI(gfx::Vector2d scroll_offset); 43 void SetScrollOffsetOnUI(gfx::Vector2d scroll_offset);
44 bool HasCompositorFrameOnUI() const; 44 void SetCompositorFrameOnUI(scoped_ptr<cc::CompositorFrame> frame);
45 void SetCompositorFrameOnUI(scoped_ptr<cc::CompositorFrame> frame,
46 bool force_commit);
47 void InitializeHardwareDrawIfNeededOnUI(); 45 void InitializeHardwareDrawIfNeededOnUI();
48 void ReleaseHardwareDrawIfNeededOnUI(); 46 void ReleaseHardwareDrawIfNeededOnUI();
49 ParentCompositorDrawConstraints GetParentDrawConstraintsOnUI() const; 47 ParentCompositorDrawConstraints GetParentDrawConstraintsOnUI() const;
50 void SetForceInvalidateOnNextDrawGLOnUI(
51 bool needs_force_invalidate_on_next_draw_gl);
52 bool NeedsForceInvalidateOnNextDrawGLOnUI() const;
53 void SwapReturnedResourcesOnUI(cc::ReturnedResourceArray* resources); 48 void SwapReturnedResourcesOnUI(cc::ReturnedResourceArray* resources);
54 bool ReturnedResourcesEmptyOnUI() const; 49 bool ReturnedResourcesEmptyOnUI() const;
55 scoped_ptr<cc::CompositorFrame> PassUncommittedFrameOnUI(); 50 scoped_ptr<cc::CompositorFrame> PassUncommittedFrameOnUI();
56 51
57 // RT thread methods. 52 // RT thread methods.
58 gfx::Vector2d GetScrollOffsetOnRT(); 53 gfx::Vector2d GetScrollOffsetOnRT();
59 scoped_ptr<cc::CompositorFrame> PassCompositorFrameOnRT(); 54 scoped_ptr<cc::CompositorFrame> PassCompositorFrameOnRT();
60 bool ForceCommitOnRT() const;
61 void DrawGL(AwDrawGLInfo* draw_info); 55 void DrawGL(AwDrawGLInfo* draw_info);
62 // Returns true if the draw constraints are updated. 56 // Returns true if the draw constraints are updated.
63 bool UpdateDrawConstraintsOnRT( 57 bool UpdateDrawConstraintsOnRT(
64 const ParentCompositorDrawConstraints& parent_draw_constraints); 58 const ParentCompositorDrawConstraints& parent_draw_constraints);
65 void PostExternalDrawConstraintsToChildCompositorOnRT( 59 void PostExternalDrawConstraintsToChildCompositorOnRT(
66 const ParentCompositorDrawConstraints& parent_draw_constraints); 60 const ParentCompositorDrawConstraints& parent_draw_constraints);
67 void DidSkipCommitFrameOnRT();
68 void InsertReturnedResourcesOnRT(const cc::ReturnedResourceArray& resources); 61 void InsertReturnedResourcesOnRT(const cc::ReturnedResourceArray& resources);
69 62
70 private: 63 private:
71 friend class internal::RequestDrawGLTracker; 64 friend class internal::RequestDrawGLTracker;
72 class InsideHardwareReleaseReset { 65 class InsideHardwareReleaseReset {
73 public: 66 public:
74 explicit InsideHardwareReleaseReset( 67 explicit InsideHardwareReleaseReset(
75 SharedRendererState* shared_renderer_state); 68 SharedRendererState* shared_renderer_state);
76 ~InsideHardwareReleaseReset(); 69 ~InsideHardwareReleaseReset();
77 70
78 private: 71 private:
79 SharedRendererState* shared_renderer_state_; 72 SharedRendererState* shared_renderer_state_;
80 }; 73 };
81 74
82 // RT thread method. 75 // RT thread method.
83 void DidDrawGLProcess(); 76 void DidDrawGLProcess();
84 77
85 // UI thread methods. 78 // UI thread methods.
86 void ResetRequestDrawGLCallback(); 79 void ResetRequestDrawGLCallback();
87 void ClientRequestDrawGLOnUI(); 80 void ClientRequestDrawGLOnUI();
88 void UpdateParentDrawConstraintsOnUI(); 81 void UpdateParentDrawConstraintsOnUI();
89 void DidSkipCommitFrameOnUI();
90 bool IsInsideHardwareRelease() const; 82 bool IsInsideHardwareRelease() const;
91 void SetInsideHardwareRelease(bool inside); 83 void SetInsideHardwareRelease(bool inside);
92 84
93 // Accessed by UI thread. 85 // Accessed by UI thread.
94 scoped_refptr<base::SingleThreadTaskRunner> ui_loop_; 86 scoped_refptr<base::SingleThreadTaskRunner> ui_loop_;
95 BrowserViewRenderer* browser_view_renderer_; 87 BrowserViewRenderer* browser_view_renderer_;
96 base::WeakPtr<SharedRendererState> ui_thread_weak_ptr_; 88 base::WeakPtr<SharedRendererState> ui_thread_weak_ptr_;
97 base::CancelableClosure request_draw_gl_cancelable_closure_; 89 base::CancelableClosure request_draw_gl_cancelable_closure_;
98 90
99 // Accessed by RT thread. 91 // Accessed by RT thread.
100 scoped_ptr<HardwareRenderer> hardware_renderer_; 92 scoped_ptr<HardwareRenderer> hardware_renderer_;
101 93
102 // This is accessed by both UI and RT now. TODO(hush): move to RT only. 94 // This is accessed by both UI and RT now. TODO(hush): move to RT only.
103 GLViewRendererManager::Key renderer_manager_key_; 95 GLViewRendererManager::Key renderer_manager_key_;
104 96
105 // Accessed by both UI and RT thread. 97 // Accessed by both UI and RT thread.
106 mutable base::Lock lock_; 98 mutable base::Lock lock_;
107 gfx::Vector2d scroll_offset_; 99 gfx::Vector2d scroll_offset_;
108 scoped_ptr<cc::CompositorFrame> compositor_frame_; 100 scoped_ptr<cc::CompositorFrame> compositor_frame_;
109 bool force_commit_;
110 bool inside_hardware_release_; 101 bool inside_hardware_release_;
111 bool needs_force_invalidate_on_next_draw_gl_;
112 ParentCompositorDrawConstraints parent_draw_constraints_; 102 ParentCompositorDrawConstraints parent_draw_constraints_;
113 cc::ReturnedResourceArray returned_resources_; 103 cc::ReturnedResourceArray returned_resources_;
114 base::Closure request_draw_gl_closure_; 104 base::Closure request_draw_gl_closure_;
115 105
116 base::WeakPtrFactory<SharedRendererState> weak_factory_on_ui_thread_; 106 base::WeakPtrFactory<SharedRendererState> weak_factory_on_ui_thread_;
117 107
118 DISALLOW_COPY_AND_ASSIGN(SharedRendererState); 108 DISALLOW_COPY_AND_ASSIGN(SharedRendererState);
119 }; 109 };
120 110
121 } // namespace android_webview 111 } // namespace android_webview
122 112
123 #endif // ANDROID_WEBVIEW_BROWSER_SHARED_RENDERER_STATE_H_ 113 #endif // ANDROID_WEBVIEW_BROWSER_SHARED_RENDERER_STATE_H_
OLDNEW
« no previous file with comments | « android_webview/browser/hardware_renderer.cc ('k') | android_webview/browser/shared_renderer_state.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698