diff options
Diffstat (limited to 'Source/WebCore/page/Page.cpp')
-rw-r--r-- | Source/WebCore/page/Page.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Source/WebCore/page/Page.cpp b/Source/WebCore/page/Page.cpp index f8d6168..63227e4 100644 --- a/Source/WebCore/page/Page.cpp +++ b/Source/WebCore/page/Page.cpp @@ -177,6 +177,7 @@ Page::Page(const PageClients& pageClients) , m_canStartMedia(true) , m_viewMode(ViewModeWindowed) , m_minimumTimerInterval(Settings::defaultMinDOMTimerInterval()) + , m_isEditable(false) { if (!allPages) { allPages = new HashSet<Page*>; @@ -209,6 +210,12 @@ Page::~Page() for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext()) frame->pageDestroyed(); + if (m_scrollableAreaSet) { + ScrollableAreaSet::const_iterator end = m_scrollableAreaSet->end(); + for (ScrollableAreaSet::const_iterator it = m_scrollableAreaSet->begin(); it != end; ++it) + (*it)->disconnectFromPage(); + } + m_editorClient->pageDestroyed(); InspectorInstrumentation::inspectedPageDestroyed(this); @@ -402,6 +409,12 @@ void Page::scheduleForcedStyleRecalcForAllPages() frame->document()->scheduleForcedStyleRecalc(); } +void Page::setNeedsRecalcStyleInAllFrames() +{ + for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext()) + frame->document()->styleSelectorChanged(DeferRecalcStyle); +} + void Page::updateViewportArguments() { if (!mainFrame() || !mainFrame()->document() || mainFrame()->document()->viewportArguments() == m_viewportArguments) @@ -910,6 +923,27 @@ void Page::didStopPlugin(HaltablePlugin* obj) m_pluginHalter->didStopPlugin(obj); } +void Page::addScrollableArea(ScrollableArea* scrollableArea) +{ + if (!m_scrollableAreaSet) + m_scrollableAreaSet = adoptPtr(new ScrollableAreaSet); + m_scrollableAreaSet->add(scrollableArea); +} + +void Page::removeScrollableArea(ScrollableArea* scrollableArea) +{ + if (!m_scrollableAreaSet) + return; + m_scrollableAreaSet->remove(scrollableArea); +} + +bool Page::containsScrollableArea(ScrollableArea* scrollableArea) const +{ + if (!m_scrollableAreaSet) + return false; + return m_scrollableAreaSet->contains(scrollableArea); +} + #if !ASSERT_DISABLED void Page::checkFrameCountConsistency() const { |