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

Side by Side Diff: components/guest_view/browser/guest_view_base.h

Issue 2700613003: Enable find-in-page across GuestViews. (Closed)
Patch Set: Created 3 years, 9 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 COMPONENTS_GUEST_VIEW_BROWSER_GUEST_VIEW_BASE_H_ 5 #ifndef COMPONENTS_GUEST_VIEW_BROWSER_GUEST_VIEW_BASE_H_
6 #define COMPONENTS_GUEST_VIEW_BROWSER_GUEST_VIEW_BASE_H_ 6 #define COMPONENTS_GUEST_VIEW_BROWSER_GUEST_VIEW_BASE_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <queue> 9 #include <queue>
10 10
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 // that the clean-up on the browser side is done appropriately. Remove this 215 // that the clean-up on the browser side is done appropriately. Remove this
216 // method when BrowserPlugin is removed (https://crbug.com/535197). 216 // method when BrowserPlugin is removed (https://crbug.com/535197).
217 virtual void OnRenderFrameHostDeleted(int process_id, int routing_id); 217 virtual void OnRenderFrameHostDeleted(int process_id, int routing_id);
218 218
219 // WebContentsDelegate implementation. 219 // WebContentsDelegate implementation.
220 void HandleKeyboardEvent( 220 void HandleKeyboardEvent(
221 content::WebContents* source, 221 content::WebContents* source,
222 const content::NativeWebKeyboardEvent& event) override; 222 const content::NativeWebKeyboardEvent& event) override;
223 bool PreHandleGestureEvent(content::WebContents* source, 223 bool PreHandleGestureEvent(content::WebContents* source,
224 const blink::WebGestureEvent& event) override; 224 const blink::WebGestureEvent& event) override;
225 void FindReply(content::WebContents* source,
226 int request_id,
227 int number_of_matches,
228 const gfx::Rect& selection_rect,
229 int active_match_ordinal,
230 bool final_update) override;
231 225
232 // WebContentsObserver implementation. 226 // WebContentsObserver implementation.
233 void DidFinishNavigation( 227 void DidFinishNavigation(
234 content::NavigationHandle* navigation_handle) override; 228 content::NavigationHandle* navigation_handle) override;
235 229
236 // Given a set of initialization parameters, a concrete subclass of 230 // Given a set of initialization parameters, a concrete subclass of
237 // GuestViewBase can create a specialized WebContents that it returns back to 231 // GuestViewBase can create a specialized WebContents that it returns back to
238 // GuestViewBase. 232 // GuestViewBase.
239 virtual void CreateWebContents( 233 virtual void CreateWebContents(
240 const base::DictionaryValue& create_params, 234 const base::DictionaryValue& create_params,
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 283
290 // This method is invoked when the contents preferred size changes. This will 284 // This method is invoked when the contents preferred size changes. This will
291 // only ever fire if IsPreferredSizeSupported returns true. 285 // only ever fire if IsPreferredSizeSupported returns true.
292 virtual void OnPreferredSizeChanged(const gfx::Size& pref_size) {} 286 virtual void OnPreferredSizeChanged(const gfx::Size& pref_size) {}
293 287
294 // Signals that the guest view is ready. The default implementation signals 288 // Signals that the guest view is ready. The default implementation signals
295 // immediately, but derived class can override this if they need to do 289 // immediately, but derived class can override this if they need to do
296 // asynchronous setup. 290 // asynchronous setup.
297 virtual void SignalWhenReady(const base::Closure& callback); 291 virtual void SignalWhenReady(const base::Closure& callback);
298 292
299 // Returns true if this guest should handle find requests for its
300 // embedder. This should generally be true for guests that make up the
301 // entirety of the embedder's content.
302 virtual bool ShouldHandleFindRequestsForEmbedder() const;
303
304 // This method is called immediately before suspended resource loads have been 293 // This method is called immediately before suspended resource loads have been
305 // resumed on attachment to an embedder. 294 // resumed on attachment to an embedder.
306 // 295 //
307 // This method can be overriden by subclasses. This gives the derived class 296 // This method can be overriden by subclasses. This gives the derived class
308 // an opportunity to perform setup actions before attachment. 297 // an opportunity to perform setup actions before attachment.
309 virtual void WillAttachToEmbedder() {} 298 virtual void WillAttachToEmbedder() {}
310 299
311 // This method is called when the guest WebContents is about to be destroyed. 300 // This method is called when the guest WebContents is about to be destroyed.
312 // 301 //
313 // This gives the derived class an opportunity to perform some cleanup prior 302 // This gives the derived class an opportunity to perform some cleanup prior
(...skipping 24 matching lines...) Expand all
338 327
339 class OwnerContentsObserver; 328 class OwnerContentsObserver;
340 class OpenerLifetimeObserver; 329 class OpenerLifetimeObserver;
341 330
342 // BrowserPluginGuestDelegate implementation. 331 // BrowserPluginGuestDelegate implementation.
343 content::WebContents* CreateNewGuestWindow( 332 content::WebContents* CreateNewGuestWindow(
344 const content::WebContents::CreateParams& create_params) final; 333 const content::WebContents::CreateParams& create_params) final;
345 void DidAttach(int guest_proxy_routing_id) final; 334 void DidAttach(int guest_proxy_routing_id) final;
346 void DidDetach() final; 335 void DidDetach() final;
347 content::WebContents* GetOwnerWebContents() const final; 336 content::WebContents* GetOwnerWebContents() const final;
348 bool HandleFindForEmbedder(int request_id,
349 const base::string16& search_text,
350 const blink::WebFindOptions& options) final;
351 bool HandleStopFindingForEmbedder(content::StopFindAction action) final;
352 void GuestSizeChanged(const gfx::Size& new_size) final; 337 void GuestSizeChanged(const gfx::Size& new_size) final;
353 void SetGuestHost(content::GuestHost* guest_host) final; 338 void SetGuestHost(content::GuestHost* guest_host) final;
354 void WillAttach(content::WebContents* embedder_web_contents, 339 void WillAttach(content::WebContents* embedder_web_contents,
355 int browser_plugin_instance_id, 340 int browser_plugin_instance_id,
356 bool is_full_page_plugin, 341 bool is_full_page_plugin,
357 const base::Closure& callback) final; 342 const base::Closure& callback) final;
358 343
359 // WebContentsDelegate implementation. 344 // WebContentsDelegate implementation.
360 void ActivateContents(content::WebContents* contents) final; 345 void ActivateContents(content::WebContents* contents) final;
361 void ContentsMouseEvent(content::WebContents* source, 346 void ContentsMouseEvent(content::WebContents* source,
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 // This is used to ensure pending tasks will not fire after this object is 472 // This is used to ensure pending tasks will not fire after this object is
488 // destroyed. 473 // destroyed.
489 base::WeakPtrFactory<GuestViewBase> weak_ptr_factory_; 474 base::WeakPtrFactory<GuestViewBase> weak_ptr_factory_;
490 475
491 DISALLOW_COPY_AND_ASSIGN(GuestViewBase); 476 DISALLOW_COPY_AND_ASSIGN(GuestViewBase);
492 }; 477 };
493 478
494 } // namespace guest_view 479 } // namespace guest_view
495 480
496 #endif // COMPONENTS_GUEST_VIEW_BROWSER_GUEST_VIEW_BASE_H_ 481 #endif // COMPONENTS_GUEST_VIEW_BROWSER_GUEST_VIEW_BASE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698