| Index: content/browser/web_contents/web_contents_view_aura.h
|
| diff --git a/content/browser/web_contents/web_contents_view_aura.h b/content/browser/web_contents/web_contents_view_aura.h
|
| index 7d377b05594345d30268104aeb0c7d543fd51bf9..7aa1c7e705d5e8d464231b5dbb0af38e9160c494 100644
|
| --- a/content/browser/web_contents/web_contents_view_aura.h
|
| +++ b/content/browser/web_contents/web_contents_view_aura.h
|
| @@ -10,6 +10,8 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "content/browser/renderer_host/overscroll_controller_delegate.h"
|
| +#include "content/browser/web_contents/aura/constrained_windows_observer.h"
|
| +#include "content/browser/web_contents/aura/native_view_screen_bounds_observer.h"
|
| #include "content/common/content_export.h"
|
| #include "content/port/browser/render_view_host_delegate_view.h"
|
| #include "content/port/browser/web_contents_view_port.h"
|
| @@ -39,7 +41,8 @@ class CONTENT_EXPORT WebContentsViewAura
|
| NON_EXPORTED_BASE(public OverscrollControllerDelegate),
|
| public ui::ImplicitAnimationObserver,
|
| public aura::WindowDelegate,
|
| - public aura::client::DragDropDelegate {
|
| + public aura::client::DragDropDelegate,
|
| + public NativeViewScreenBoundsObserverDelegate {
|
| public:
|
| WebContentsViewAura(WebContentsImpl* web_contents,
|
| WebContentsViewDelegate* delegate);
|
| @@ -49,8 +52,9 @@ class CONTENT_EXPORT WebContentsViewAura
|
| void SetTouchEditableForTest(TouchEditableImplAura* touch_editable);
|
|
|
| private:
|
| - class WindowObserver;
|
| -
|
| +#if defined(OS_WIN)
|
| + friend ConstrainedWindowsObserver;
|
| +#endif
|
| virtual ~WebContentsViewAura();
|
|
|
| void SizeChangedCommon(const gfx::Size& size);
|
| @@ -183,13 +187,26 @@ class CONTENT_EXPORT WebContentsViewAura
|
| virtual void OnDragExited() OVERRIDE;
|
| virtual int OnPerformDrop(const ui::DropTargetEvent& event) OVERRIDE;
|
|
|
| + // Overriden from NativeViewScreenBoundsObserverDelegate
|
| + virtual void OnScreenPositionChanged() OVERRIDE;
|
| + virtual void OnScreenBoundsChanged() OVERRIDE;
|
| +
|
| scoped_ptr<aura::Window> window_;
|
|
|
| // The window that shows the screenshot of the history page during an
|
| // overscroll navigation gesture.
|
| scoped_ptr<aura::Window> overscroll_window_;
|
|
|
| - scoped_ptr<WindowObserver> window_observer_;
|
| + // Observes the window associated with the view and its ancestors to track if
|
| + // the visible bounds of the window have changed. If so it sends an update of
|
| + // the associated screen rect to the renderer.
|
| + scoped_ptr<NativeViewScreenBoundsObserver> bounds_observer_;
|
| +
|
| +#if defined(OS_WIN)
|
| + // Tracks the set of constrained windows for NPAPI plugins and sends bounds
|
| + // updates when appropriate.
|
| + scoped_ptr<ConstrainedWindowsObserver> constrained_observer_;
|
| +#endif
|
|
|
| // The WebContentsImpl whose contents we display.
|
| WebContentsImpl* web_contents_;
|
|
|