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

Side by Side Diff: components/plugins/renderer/webview_plugin.h

Issue 2164753003: WebViewPlugin: Post geometry-update actions to a task to run async. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: reformat Created 4 years, 5 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 COMPONENTS_PLUGINS_RENDERER_WEBVIEW_PLUGIN_H_ 5 #ifndef COMPONENTS_PLUGINS_RENDERER_WEBVIEW_PLUGIN_H_
6 #define COMPONENTS_PLUGINS_RENDERER_WEBVIEW_PLUGIN_H_ 6 #define COMPONENTS_PLUGINS_RENDERER_WEBVIEW_PLUGIN_H_
7 7
8 #include <list> 8 #include <list>
9 #include <memory> 9 #include <memory>
10 10
11 #include "base/memory/weak_ptr.h"
11 #include "base/sequenced_task_runner_helpers.h" 12 #include "base/sequenced_task_runner_helpers.h"
12 #include "content/public/renderer/render_view_observer.h" 13 #include "content/public/renderer/render_view_observer.h"
13 #include "third_party/WebKit/public/platform/WebCursorInfo.h" 14 #include "third_party/WebKit/public/platform/WebCursorInfo.h"
14 #include "third_party/WebKit/public/platform/WebString.h" 15 #include "third_party/WebKit/public/platform/WebString.h"
15 #include "third_party/WebKit/public/platform/WebURLResponse.h" 16 #include "third_party/WebKit/public/platform/WebURLResponse.h"
16 #include "third_party/WebKit/public/web/WebFrameClient.h" 17 #include "third_party/WebKit/public/web/WebFrameClient.h"
17 #include "third_party/WebKit/public/web/WebKit.h" 18 #include "third_party/WebKit/public/web/WebKit.h"
18 #include "third_party/WebKit/public/web/WebPlugin.h" 19 #include "third_party/WebKit/public/web/WebPlugin.h"
19 #include "third_party/WebKit/public/web/WebViewClient.h" 20 #include "third_party/WebKit/public/web/WebViewClient.h"
20 21
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 friend class base::DeleteHelper<WebViewPlugin>; 148 friend class base::DeleteHelper<WebViewPlugin>;
148 WebViewPlugin(content::RenderView* render_view, 149 WebViewPlugin(content::RenderView* render_view,
149 Delegate* delegate, 150 Delegate* delegate,
150 const content::WebPreferences& preferences); 151 const content::WebPreferences& preferences);
151 ~WebViewPlugin() override; 152 ~WebViewPlugin() override;
152 153
153 // content::RenderViewObserver methods: 154 // content::RenderViewObserver methods:
154 void OnDestruct() override; 155 void OnDestruct() override;
155 void OnZoomLevelChanged() override; 156 void OnZoomLevelChanged() override;
156 157
158 void UpdatePluginForNewGeometry(const blink::WebRect& window_rect,
159 const blink::WebRect& unobscured_rect);
160
157 // Manages its own lifetime. 161 // Manages its own lifetime.
158 Delegate* delegate_; 162 Delegate* delegate_;
159 163
160 blink::WebCursorInfo current_cursor_; 164 blink::WebCursorInfo current_cursor_;
161 165
162 // Owns us. 166 // Owns us.
163 blink::WebPluginContainer* container_; 167 blink::WebPluginContainer* container_;
164 168
165 // Owned by us, deleted via |close()|. 169 // Owned by us, deleted via |close()|.
166 blink::WebView* web_view_; 170 blink::WebView* web_view_;
167 171
168 // Owned by us, deleted via |close()|. 172 // Owned by us, deleted via |close()|.
169 blink::WebFrameWidget* web_frame_widget_; 173 blink::WebFrameWidget* web_frame_widget_;
170 174
171 // Owned by us, deleted via |close()|. 175 // Owned by us, deleted via |close()|.
172 blink::WebFrame* web_frame_; 176 blink::WebFrame* web_frame_;
173 gfx::Rect rect_; 177 gfx::Rect rect_;
174 178
175 blink::WebURLResponse response_; 179 blink::WebURLResponse response_;
176 std::list<std::string> data_; 180 std::list<std::string> data_;
177 std::unique_ptr<blink::WebURLError> error_; 181 std::unique_ptr<blink::WebURLError> error_;
178 blink::WebString old_title_; 182 blink::WebString old_title_;
179 bool finished_loading_; 183 bool finished_loading_;
180 bool focused_; 184 bool focused_;
181 bool is_painting_; 185 bool is_painting_;
182 bool is_resizing_; 186 bool is_resizing_;
187
188 // Should be invalidated when destroy() is called.
189 base::WeakPtrFactory<WebViewPlugin> weak_factory_;
183 }; 190 };
184 191
185 #endif // COMPONENTS_PLUGINS_RENDERER_WEBVIEW_PLUGIN_H_ 192 #endif // COMPONENTS_PLUGINS_RENDERER_WEBVIEW_PLUGIN_H_
OLDNEW
« no previous file with comments | « no previous file | components/plugins/renderer/webview_plugin.cc » ('j') | components/plugins/renderer/webview_plugin.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698