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

Side by Side Diff: content/browser/browser_plugin/browser_plugin_guest.h

Issue 2165523004: Force MimeHandlerView to always use BrowserPlugin (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Return Top-Level WebContents View's NativeView rather than Owners 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 (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 // A BrowserPluginGuest is the browser side of a browser <--> embedder 5 // A BrowserPluginGuest is the browser side of a browser <--> embedder
6 // renderer channel. A BrowserPlugin (a WebPlugin) is on the embedder 6 // renderer channel. A BrowserPlugin (a WebPlugin) is on the embedder
7 // renderer side of browser <--> embedder renderer communication. 7 // renderer side of browser <--> embedder renderer communication.
8 // 8 //
9 // BrowserPluginGuest lives on the UI thread of the browser process. Any 9 // BrowserPluginGuest lives on the UI thread of the browser process. Any
10 // messages about the guest render process that the embedder might be interested 10 // messages about the guest render process that the embedder might be interested
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 149
150 bool OnMessageReceivedFromEmbedder(const IPC::Message& message); 150 bool OnMessageReceivedFromEmbedder(const IPC::Message& message);
151 151
152 WebContentsImpl* embedder_web_contents() const { 152 WebContentsImpl* embedder_web_contents() const {
153 return attached_ ? owner_web_contents_ : nullptr; 153 return attached_ ? owner_web_contents_ : nullptr;
154 } 154 }
155 155
156 // Returns the embedder's RenderWidgetHostView if it is available. 156 // Returns the embedder's RenderWidgetHostView if it is available.
157 // Returns nullptr otherwise. 157 // Returns nullptr otherwise.
158 RenderWidgetHostView* GetOwnerRenderWidgetHostView(); 158 RenderWidgetHostView* GetOwnerRenderWidgetHostView();
159 RenderWidgetHostView* GetTopLevelRenderWidgetHostView();
159 160
160 bool focused() const { return focused_; } 161 bool focused() const { return focused_; }
161 bool visible() const { return guest_visible_; } 162 bool visible() const { return guest_visible_; }
162 bool is_in_destruction() { return is_in_destruction_; } 163 bool is_in_destruction() { return is_in_destruction_; }
163 164
164 void UpdateVisibility(); 165 void UpdateVisibility();
165 166
166 BrowserPluginGuestManager* GetBrowserPluginGuestManager() const; 167 BrowserPluginGuestManager* GetBrowserPluginGuestManager() const;
167 168
168 // WebContentsObserver implementation. 169 // WebContentsObserver implementation.
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 247
247 // Find the given |search_text| in the page. Returns true if the find request 248 // Find the given |search_text| in the page. Returns true if the find request
248 // is handled by this browser plugin guest. 249 // is handled by this browser plugin guest.
249 bool HandleFindForEmbedder(int request_id, 250 bool HandleFindForEmbedder(int request_id,
250 const base::string16& search_text, 251 const base::string16& search_text,
251 const blink::WebFindOptions& options); 252 const blink::WebFindOptions& options);
252 bool HandleStopFindingForEmbedder(StopFindAction action); 253 bool HandleStopFindingForEmbedder(StopFindAction action);
253 254
254 void ResendEventToEmbedder(const blink::WebInputEvent& event); 255 void ResendEventToEmbedder(const blink::WebInputEvent& event);
255 256
257 // TODO(ekaramad): This is used in forcing MimeHandlerView use BrowserPlugin
258 // even when --use-cross-process-frames-for-guests is used. Remove this once
259 // MimeHandlerView uses OOPIF (https://crbug.com/563285).
260 bool IsMimeHandlerViewGuest() const;
261
256 protected: 262 protected:
257 263
258 // BrowserPluginGuest is a WebContentsObserver of |web_contents| and 264 // BrowserPluginGuest is a WebContentsObserver of |web_contents| and
259 // |web_contents| has to stay valid for the lifetime of BrowserPluginGuest. 265 // |web_contents| has to stay valid for the lifetime of BrowserPluginGuest.
260 // Constructor protected for testing. 266 // Constructor protected for testing.
261 BrowserPluginGuest(bool has_render_view, 267 BrowserPluginGuest(bool has_render_view,
262 WebContentsImpl* web_contents, 268 WebContentsImpl* web_contents,
263 BrowserPluginGuestDelegate* delegate); 269 BrowserPluginGuestDelegate* delegate);
264 270
265 // Protected for testing. 271 // Protected for testing.
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 // Weak pointer used to ask GeolocationPermissionContext about geolocation 455 // Weak pointer used to ask GeolocationPermissionContext about geolocation
450 // permission. 456 // permission.
451 base::WeakPtrFactory<BrowserPluginGuest> weak_ptr_factory_; 457 base::WeakPtrFactory<BrowserPluginGuest> weak_ptr_factory_;
452 458
453 DISALLOW_COPY_AND_ASSIGN(BrowserPluginGuest); 459 DISALLOW_COPY_AND_ASSIGN(BrowserPluginGuest);
454 }; 460 };
455 461
456 } // namespace content 462 } // namespace content
457 463
458 #endif // CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_ 464 #endif // CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698