Commit c0438224 authored by sashab's avatar sashab Committed by Commit bot

Change VisualViewport to store a Page instead of a FrameHost

This is part of the work to remove FrameHost.

BUG=691794

Review-Url: https://codereview.chromium.org/2727563004
Cr-Commit-Position: refs/heads/master@{#455987}
parent 01c043f5
......@@ -47,7 +47,7 @@ FrameHost* FrameHost::create(Page& page) {
FrameHost::FrameHost(Page& page)
: m_page(&page),
m_visualViewport(VisualViewport::create(*this)),
m_visualViewport(VisualViewport::create(page)),
m_overscrollController(
OverscrollController::create(*m_visualViewport,
m_page->chromeClient())),
......
......@@ -60,8 +60,8 @@
namespace blink {
VisualViewport::VisualViewport(FrameHost& owner)
: m_frameHost(&owner),
VisualViewport::VisualViewport(Page& owner)
: m_page(&owner),
m_scale(1),
m_browserControlsAdjustment(0),
m_maxPageScale(-1),
......@@ -74,7 +74,7 @@ VisualViewport::~VisualViewport() {
}
DEFINE_TRACE(VisualViewport) {
visitor->trace(m_frameHost);
visitor->trace(m_page);
ScrollableArea::trace(visitor);
}
......
......@@ -34,7 +34,6 @@
#include <memory>
#include "core/CoreExport.h"
#include "core/events/Event.h"
#include "core/frame/FrameHost.h"
#include "platform/geometry/FloatRect.h"
#include "platform/geometry/FloatSize.h"
#include "platform/geometry/IntSize.h"
......@@ -89,9 +88,7 @@ class CORE_EXPORT VisualViewport final
USING_GARBAGE_COLLECTED_MIXIN(VisualViewport);
public:
static VisualViewport* create(FrameHost& host) {
return new VisualViewport(host);
}
static VisualViewport* create(Page& host) { return new VisualViewport(host); }
~VisualViewport() override;
DECLARE_VIRTUAL_TRACE();
......@@ -236,7 +233,7 @@ class CORE_EXPORT VisualViewport final
bool shouldDisableDesktopWorkarounds() const;
private:
explicit VisualViewport(FrameHost&);
explicit VisualViewport(Page&);
bool didSetScaleOrLocation(float scale, const FloatPoint& location);
......@@ -266,11 +263,11 @@ class CORE_EXPORT VisualViewport final
LocalFrame* mainFrame() const;
Page& page() const {
DCHECK(m_frameHost);
return m_frameHost->page();
DCHECK(m_page);
return *m_page;
}
Member<FrameHost> m_frameHost;
Member<Page> m_page;
std::unique_ptr<GraphicsLayer> m_rootTransformLayer;
std::unique_ptr<GraphicsLayer> m_innerViewportContainerLayer;
std::unique_ptr<GraphicsLayer> m_overscrollElasticityLayer;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment