summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/page/Page.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/page/Page.cpp')
-rw-r--r--Source/WebCore/page/Page.cpp34
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
{