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

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

Issue 1560553002: Framelet Prototype 2016 Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased + Applied Brett's Windows + Fixed security issue Created 4 years, 11 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 <queue> 8 #include <queue>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/memory/weak_ptr.h" 11 #include "base/memory/weak_ptr.h"
12 #include "base/values.h" 12 #include "base/values.h"
13 #include "components/guest_view/common/guest_view_constants.h" 13 #include "components/guest_view/common/guest_view_constants.h"
14 #include "components/ui/zoom/zoom_observer.h" 14 #include "components/ui/zoom/zoom_observer.h"
15 #include "content/public/browser/browser_plugin_guest_delegate.h" 15 #include "content/public/browser/browser_plugin_guest_delegate.h"
16 #include "content/public/browser/guest_host.h" 16 #include "content/public/browser/guest_host.h"
17 #include "content/public/browser/render_process_host_observer.h" 17 #include "content/public/browser/render_process_host_observer.h"
18 #include "content/public/browser/web_contents.h" 18 #include "content/public/browser/web_contents.h"
19 #include "content/public/browser/web_contents_delegate.h" 19 #include "content/public/browser/web_contents_delegate.h"
20 #include "content/public/browser/web_contents_observer.h" 20 #include "content/public/browser/web_contents_observer.h"
21 21
22 struct RendererContentSettingRules; 22 struct RendererContentSettingRules;
23 23
24 namespace chrome {
25 class ChromeGuestViewMessageFilter;
26 }
27
24 namespace guest_view { 28 namespace guest_view {
25 29
26 class GuestViewEvent; 30 class GuestViewEvent;
27 31
28 // A struct of parameters for SetSize(). The parameters are all declared as 32 // A struct of parameters for SetSize(). The parameters are all declared as
29 // scoped pointers since they are all optional. Null pointers indicate that the 33 // scoped pointers since they are all optional. Null pointers indicate that the
30 // parameter has not been provided, and the last used value should be used. Note 34 // parameter has not been provided, and the last used value should be used. Note
31 // that when |enable_auto_size| is true, providing |normal_size| is not 35 // that when |enable_auto_size| is true, providing |normal_size| is not
32 // meaningful. This is because the normal size of the guestview is overridden 36 // meaningful. This is because the normal size of the guestview is overridden
33 // whenever autosizing occurs. 37 // whenever autosizing occurs.
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 // |web_contents| does not belong to a GuestView, it will be returned 83 // |web_contents| does not belong to a GuestView, it will be returned
80 // unchanged. 84 // unchanged.
81 static content::WebContents* GetTopLevelWebContents( 85 static content::WebContents* GetTopLevelWebContents(
82 content::WebContents* web_contents); 86 content::WebContents* web_contents);
83 87
84 static bool IsGuest(content::WebContents* web_contents); 88 static bool IsGuest(content::WebContents* web_contents);
85 89
86 // Returns the name of the derived type of this GuestView. 90 // Returns the name of the derived type of this GuestView.
87 virtual const char* GetViewType() const = 0; 91 virtual const char* GetViewType() const = 0;
88 92
93 // Invoked if an IPC message is coming from a container attached to this
94 // guest.
95 virtual bool OnMessageReceivedFromEmbedder(const IPC::Message& message);
96
89 // This method queries whether autosize is supported for this particular view. 97 // This method queries whether autosize is supported for this particular view.
90 // By default, autosize is not supported. Derived classes can override this 98 // By default, autosize is not supported. Derived classes can override this
91 // behavior to support autosize. 99 // behavior to support autosize.
92 virtual bool IsAutoSizeSupported() const; 100 virtual bool IsAutoSizeSupported() const;
93 101
94 // This method queries whether preferred size events are enabled for this 102 // This method queries whether preferred size events are enabled for this
95 // view. By default, preferred size events are disabled, since they add a 103 // view. By default, preferred size events are disabled, since they add a
96 // small amount of overhead. 104 // small amount of overhead.
97 virtual bool IsPreferredSizeModeEnabled() const; 105 virtual bool IsPreferredSizeModeEnabled() const;
98 106
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 326
319 // Convert sizes in pixels from physical to logical numbers of pixels. 327 // Convert sizes in pixels from physical to logical numbers of pixels.
320 // Note that a size can consist of a fractional number of logical pixels 328 // Note that a size can consist of a fractional number of logical pixels
321 // (hence the return value is represented as a double), but will always 329 // (hence the return value is represented as a double), but will always
322 // consist of an integral number of physical pixels (hence |physical_pixels| 330 // consist of an integral number of physical pixels (hence |physical_pixels|
323 // is represented as an int). 331 // is represented as an int).
324 double PhysicalPixelsToLogicalPixels(int physical_pixels) const; 332 double PhysicalPixelsToLogicalPixels(int physical_pixels) const;
325 333
326 void SetGuestZoomLevelToMatchEmbedder(); 334 void SetGuestZoomLevelToMatchEmbedder();
327 335
328 private: 336 protected:
329 friend class GuestViewMessageFilter; 337 friend class GuestViewMessageFilter;
338 // TODO(fsamuel): This is a bit of a hack. Don't make things outside this
339 // component a friend.
340 friend class chrome::ChromeGuestViewMessageFilter;
330 341
331 class OwnerContentsObserver; 342 class OwnerContentsObserver;
332 class OpenerLifetimeObserver; 343 class OpenerLifetimeObserver;
333 344
334 // BrowserPluginGuestDelegate implementation. 345 // BrowserPluginGuestDelegate implementation.
335 content::WebContents* CreateNewGuestWindow( 346 content::WebContents* CreateNewGuestWindow(
336 const content::WebContents::CreateParams& create_params) final; 347 const content::WebContents::CreateParams& create_params) final;
337 void DidAttach(int guest_proxy_routing_id) final; 348 void DidAttach(int guest_proxy_routing_id) final;
338 void DidDetach() final; 349 void DidDetach() final;
339 content::WebContents* GetOwnerWebContents() const final; 350 content::WebContents* GetOwnerWebContents() const final;
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 // This is used to ensure pending tasks will not fire after this object is 489 // This is used to ensure pending tasks will not fire after this object is
479 // destroyed. 490 // destroyed.
480 base::WeakPtrFactory<GuestViewBase> weak_ptr_factory_; 491 base::WeakPtrFactory<GuestViewBase> weak_ptr_factory_;
481 492
482 DISALLOW_COPY_AND_ASSIGN(GuestViewBase); 493 DISALLOW_COPY_AND_ASSIGN(GuestViewBase);
483 }; 494 };
484 495
485 } // namespace guest_view 496 } // namespace guest_view
486 497
487 #endif // COMPONENTS_GUEST_VIEW_BROWSER_GUEST_VIEW_BASE_H_ 498 #endif // COMPONENTS_GUEST_VIEW_BROWSER_GUEST_VIEW_BASE_H_
OLDNEW
« no previous file with comments | « components/framelet/renderer/framelet_container.cc ('k') | components/guest_view/browser/guest_view_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698