| Index: chrome/browser/guest_view/guest_view_base.h
|
| diff --git a/chrome/browser/guest_view/guest_view_base.h b/chrome/browser/guest_view/guest_view_base.h
|
| index 1ca4dde4d98c3fde10917aca07227872bbc5f5c2..e42b47ce4a5beaa21fb1cf5657ebbbccb4069665 100644
|
| --- a/chrome/browser/guest_view/guest_view_base.h
|
| +++ b/chrome/browser/guest_view/guest_view_base.h
|
| @@ -103,6 +103,26 @@ class GuestViewBase : public content::BrowserPluginGuestDelegate,
|
| // This gives the derived class an opportunity to perform some cleanup.
|
| virtual void GuestDestroyed() {}
|
|
|
| + // This method is invoked when the guest RenderView is ready, e.g. because we
|
| + // recreated it after a crash.
|
| + //
|
| + // This gives the derived class an opportunity to perform some initialization
|
| + // work.
|
| + virtual void GuestReady() {}
|
| +
|
| + // This method is invoked when the contents auto-resized to give the container
|
| + // an opportunity to match it if it wishes.
|
| + //
|
| + // This gives the derived class an opportunity to inform its container element
|
| + // or perform other actions.
|
| + virtual void GuestSizeChangedDueToAutoSize(const gfx::Size& old_size,
|
| + const gfx::Size& new_size) {}
|
| +
|
| + // This method queries whether autosize is supported for this particular view.
|
| + // By default, autosize is not supported. Derived classes can override this
|
| + // behavior to support autosize.
|
| + virtual bool IsAutoSizeSupported() const;
|
| +
|
| // This method queries whether drag-and-drop is enabled for this particular
|
| // view. By default, drag-and-drop is disabled. Derived classes can override
|
| // this behavior to enable drag-and-drop.
|
| @@ -154,6 +174,11 @@ class GuestViewBase : public content::BrowserPluginGuestDelegate,
|
| return !strcmp(GetViewType(), view_type);
|
| }
|
|
|
| + // Toggles autosize mode for this GuestView.
|
| + void SetAutoSize(bool enabled,
|
| + const gfx::Size& min_size,
|
| + const gfx::Size& max_size);
|
| +
|
| base::WeakPtr<GuestViewBase> AsWeakPtr();
|
|
|
| bool initialized() const { return initialized_; }
|
| @@ -208,7 +233,11 @@ class GuestViewBase : public content::BrowserPluginGuestDelegate,
|
| // BrowserPluginGuestDelegate implementation.
|
| virtual void Destroy() OVERRIDE FINAL;
|
| virtual void DidAttach() OVERRIDE FINAL;
|
| + virtual void ElementSizeChanged(const gfx::Size& old_size,
|
| + const gfx::Size& new_size) OVERRIDE FINAL;
|
| virtual int GetGuestInstanceID() const OVERRIDE;
|
| + virtual void GuestSizeChanged(const gfx::Size& old_size,
|
| + const gfx::Size& new_size) OVERRIDE FINAL;
|
| virtual void RegisterDestructionCallback(
|
| const DestructionCallback& callback) OVERRIDE FINAL;
|
| virtual void WillAttach(
|
| @@ -239,6 +268,7 @@ class GuestViewBase : public content::BrowserPluginGuestDelegate,
|
| // WebContentsObserver implementation.
|
| virtual void DidStopLoading(
|
| content::RenderViewHost* render_view_host) OVERRIDE FINAL;
|
| + virtual void RenderViewReady() OVERRIDE FINAL;
|
| virtual void WebContentsDestroyed() OVERRIDE FINAL;
|
|
|
| // WebContentsDelegate implementation.
|
| @@ -277,6 +307,22 @@ class GuestViewBase : public content::BrowserPluginGuestDelegate,
|
|
|
| scoped_ptr<EmbedderWebContentsObserver> embedder_web_contents_observer_;
|
|
|
| + // The size of the container element.
|
| + gfx::Size element_size_;
|
| +
|
| + // The size of the guest content. Note: In autosize mode, the container
|
| + // element may not match the size of the guest.
|
| + gfx::Size guest_size_;
|
| +
|
| + // Indicates whether autosize mode is enabled or not.
|
| + bool auto_size_enabled_;
|
| +
|
| + // The maximum size constraints of the container element in autosize mode.
|
| + gfx::Size max_auto_size_;
|
| +
|
| + // The minimum size constraints of the container element in autosize mode.
|
| + gfx::Size min_auto_size_;
|
| +
|
| // This is used to ensure pending tasks will not fire after this object is
|
| // destroyed.
|
| base::WeakPtrFactory<GuestViewBase> weak_ptr_factory_;
|
|
|