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

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: Fixed a typo Created 4 years, 3 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 15 matching lines...) Expand all
26 #include "base/compiler_specific.h" 26 #include "base/compiler_specific.h"
27 #include "base/macros.h" 27 #include "base/macros.h"
28 #include "base/memory/linked_ptr.h" 28 #include "base/memory/linked_ptr.h"
29 #include "base/memory/weak_ptr.h" 29 #include "base/memory/weak_ptr.h"
30 #include "base/values.h" 30 #include "base/values.h"
31 #include "build/build_config.h" 31 #include "build/build_config.h"
32 #include "content/common/edit_command.h" 32 #include "content/common/edit_command.h"
33 #include "content/common/input/input_event_ack_state.h" 33 #include "content/common/input/input_event_ack_state.h"
34 #include "content/public/browser/browser_plugin_guest_delegate.h" 34 #include "content/public/browser/browser_plugin_guest_delegate.h"
35 #include "content/public/browser/guest_host.h" 35 #include "content/public/browser/guest_host.h"
36 #include "content/public/browser/guest_mode.h"
36 #include "content/public/browser/readback_types.h" 37 #include "content/public/browser/readback_types.h"
37 #include "content/public/browser/web_contents_observer.h" 38 #include "content/public/browser/web_contents_observer.h"
38 #include "third_party/WebKit/public/platform/WebDragOperation.h" 39 #include "third_party/WebKit/public/platform/WebDragOperation.h"
39 #include "third_party/WebKit/public/platform/WebFocusType.h" 40 #include "third_party/WebKit/public/platform/WebFocusType.h"
40 #include "third_party/WebKit/public/web/WebCompositionUnderline.h" 41 #include "third_party/WebKit/public/web/WebCompositionUnderline.h"
41 #include "third_party/WebKit/public/web/WebDragStatus.h" 42 #include "third_party/WebKit/public/web/WebDragStatus.h"
42 #include "third_party/WebKit/public/web/WebInputEvent.h" 43 #include "third_party/WebKit/public/web/WebInputEvent.h"
43 #include "ui/base/ime/text_input_mode.h" 44 #include "ui/base/ime/text_input_mode.h"
44 #include "ui/base/ime/text_input_type.h" 45 #include "ui/base/ime/text_input_type.h"
45 #include "ui/gfx/geometry/rect.h" 46 #include "ui/gfx/geometry/rect.h"
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 150
150 bool OnMessageReceivedFromEmbedder(const IPC::Message& message); 151 bool OnMessageReceivedFromEmbedder(const IPC::Message& message);
151 152
152 WebContentsImpl* embedder_web_contents() const { 153 WebContentsImpl* embedder_web_contents() const {
153 return attached_ ? owner_web_contents_ : nullptr; 154 return attached_ ? owner_web_contents_ : nullptr;
154 } 155 }
155 156
156 // Returns the embedder's RenderWidgetHostView if it is available. 157 // Returns the embedder's RenderWidgetHostView if it is available.
157 // Returns nullptr otherwise. 158 // Returns nullptr otherwise.
158 RenderWidgetHostView* GetOwnerRenderWidgetHostView(); 159 RenderWidgetHostView* GetOwnerRenderWidgetHostView();
160 RenderWidgetHostView* GetTopLevelRenderWidgetHostView();
lfg 2016/09/02 18:29:40 I think we aren't using this anymore, right?
EhsanK 2016/09/02 21:01:06 Acknowledged.
159 161
160 bool focused() const { return focused_; } 162 bool focused() const { return focused_; }
161 bool visible() const { return guest_visible_; } 163 bool visible() const { return guest_visible_; }
162 bool is_in_destruction() { return is_in_destruction_; } 164 bool is_in_destruction() { return is_in_destruction_; }
163 165
164 void UpdateVisibility(); 166 void UpdateVisibility();
165 167
166 BrowserPluginGuestManager* GetBrowserPluginGuestManager() const; 168 BrowserPluginGuestManager* GetBrowserPluginGuestManager() const;
167 169
168 // WebContentsObserver implementation. 170 // WebContentsObserver implementation.
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 248
247 // Find the given |search_text| in the page. Returns true if the find request 249 // Find the given |search_text| in the page. Returns true if the find request
248 // is handled by this browser plugin guest. 250 // is handled by this browser plugin guest.
249 bool HandleFindForEmbedder(int request_id, 251 bool HandleFindForEmbedder(int request_id,
250 const base::string16& search_text, 252 const base::string16& search_text,
251 const blink::WebFindOptions& options); 253 const blink::WebFindOptions& options);
252 bool HandleStopFindingForEmbedder(StopFindAction action); 254 bool HandleStopFindingForEmbedder(StopFindAction action);
253 255
254 void ResendEventToEmbedder(const blink::WebInputEvent& event); 256 void ResendEventToEmbedder(const blink::WebInputEvent& event);
255 257
258 // TODO(ekaramad): Remove this once https://crbug.com/642826 is resovled.
259 bool is_mime_handler_view_guest() const {
260 return is_mime_handler_view_guest_;
261 }
262
256 protected: 263 protected:
257 264
258 // BrowserPluginGuest is a WebContentsObserver of |web_contents| and 265 // BrowserPluginGuest is a WebContentsObserver of |web_contents| and
259 // |web_contents| has to stay valid for the lifetime of BrowserPluginGuest. 266 // |web_contents| has to stay valid for the lifetime of BrowserPluginGuest.
260 // Constructor protected for testing. 267 // Constructor protected for testing.
261 BrowserPluginGuest(bool has_render_view, 268 BrowserPluginGuest(bool has_render_view,
262 WebContentsImpl* web_contents, 269 WebContentsImpl* web_contents,
263 BrowserPluginGuestDelegate* delegate); 270 BrowserPluginGuestDelegate* delegate);
264 271
265 // Protected for testing. 272 // Protected for testing.
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 446
440 // Ignore the URL dragged into guest that is coming from guest. 447 // Ignore the URL dragged into guest that is coming from guest.
441 bool ignore_dragged_url_; 448 bool ignore_dragged_url_;
442 449
443 // This is a queue of messages that are destined to be sent to the embedder 450 // This is a queue of messages that are destined to be sent to the embedder
444 // once the guest is attached to a particular embedder. 451 // once the guest is attached to a particular embedder.
445 std::deque<linked_ptr<IPC::Message> > pending_messages_; 452 std::deque<linked_ptr<IPC::Message> > pending_messages_;
446 453
447 BrowserPluginGuestDelegate* const delegate_; 454 BrowserPluginGuestDelegate* const delegate_;
448 455
456 // Whether or not this BrowserPluginGuest corresponds to a guest of tyoe
457 // MimeHandlerView.
458 bool is_mime_handler_view_guest_;
459
449 // Weak pointer used to ask GeolocationPermissionContext about geolocation 460 // Weak pointer used to ask GeolocationPermissionContext about geolocation
450 // permission. 461 // permission.
451 base::WeakPtrFactory<BrowserPluginGuest> weak_ptr_factory_; 462 base::WeakPtrFactory<BrowserPluginGuest> weak_ptr_factory_;
452 463
453 DISALLOW_COPY_AND_ASSIGN(BrowserPluginGuest); 464 DISALLOW_COPY_AND_ASSIGN(BrowserPluginGuest);
454 }; 465 };
455 466
456 } // namespace content 467 } // namespace content
457 468
458 #endif // CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_ 469 #endif // CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698