#include "core/events/Event.h"
#include "core/fetch/ResourceFetcher.h"
#include "core/frame/DOMTimer.h"
-#include "core/frame/LocalDOMWindow.h"
+#include "core/frame/FrameConsole.h"
#include "core/frame/FrameHost.h"
#include "core/frame/FrameView.h"
+#include "core/frame/LocalDOMWindow.h"
#include "core/frame/LocalFrame.h"
#include "core/frame/RemoteFrame.h"
#include "core/frame/RemoteFrameView.h"
void Page::networkStateChanged(bool online)
{
- Vector<RefPtr<LocalFrame> > frames;
+ WillBeHeapVector<RefPtrWillBeMember<LocalFrame> > frames;
// Get all the frames of all the pages in all the page groups
HashSet<Page*>::iterator end = allPages().end();
Page::Page(PageClients& pageClients)
: SettingsDelegate(Settings::create())
- , m_animator(this)
+ , m_animator(PageAnimator::create(*this))
, m_autoscrollController(AutoscrollController::create(*this))
, m_chrome(Chrome::create(this, pageClients.chromeClient))
, m_dragCaretController(DragCaretController::create())
, m_inspectorController(InspectorController::create(this, pageClients.inspectorClient))
, m_pointerLockController(PointerLockController::create(this))
, m_undoStack(UndoStack::create())
- , m_mainFrame(0)
+ , m_mainFrame(nullptr)
, m_backForwardClient(pageClients.backForwardClient)
, m_editorClient(pageClients.editorClient)
, m_spellCheckerClient(pageClients.spellCheckerClient)
PluginData::refresh();
- Vector<RefPtr<LocalFrame> > framesNeedingReload;
+ WillBeHeapVector<RefPtrWillBeMember<LocalFrame> > framesNeedingReload;
HashSet<Page*>::iterator end = allPages().end();
for (HashSet<Page*>::iterator it = allPages().begin(); it != end; ++it) {
}
}
+void Page::setDeviceColorProfile(const Vector<char>& profile)
+{
+ // FIXME: implement.
+}
+
+void Page::resetDeviceColorProfile()
+{
+ // FIXME: implement.
+}
+
void Page::allVisitedStateChanged()
{
HashSet<Page*>::iterator pagesEnd = ordinaryPages().end();
case SettingsDelegate::AcceleratedCompositingChange:
updateAcceleratedCompositingSettings();
break;
+ case SettingsDelegate::MediaQueryChange:
+ for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext()) {
+ if (frame->isLocalFrame())
+ toLocalFrame(frame)->document()->mediaQueryAffectingValueChanged();
+ }
+ setNeedsRecalcStyleInAllFrames();
+ break;
}
}
{
lifecycleNotifier().notifyDidCommitLoad(frame);
if (m_mainFrame == frame) {
+ frame->console().clearMessages();
useCounter().didCommitLoad();
m_inspectorController->didCommitLoadForMainFrame();
+ UserGestureIndicator::clearProcessedUserGestureSinceLoad();
}
}
void Page::acceptLanguagesChanged()
{
- Vector< RefPtr<LocalFrame> > frames;
+ WillBeHeapVector<RefPtrWillBeMember<LocalFrame> > frames;
// Even though we don't fire an event from here, the LocalDOMWindow's will fire
// an event so we keep the frames alive until we are done.
void Page::trace(Visitor* visitor)
{
#if ENABLE(OILPAN)
+ visitor->trace(m_animator);
visitor->trace(m_dragCaretController);
visitor->trace(m_dragController);
+ visitor->trace(m_focusController);
visitor->trace(m_contextMenuController);
visitor->trace(m_inspectorController);
visitor->trace(m_pointerLockController);
visitor->trace(m_undoStack);
+ visitor->trace(m_mainFrame);
visitor->trace(m_validationMessageClient);
visitor->trace(m_multisamplingChangedObservers);
visitor->trace(m_frameHost);
+ HeapSupplementable<Page>::trace(visitor);
#endif
- WillBeHeapSupplementable<Page>::trace(visitor);
LifecycleContext<Page>::trace(visitor);
}
void Page::willBeDestroyed()
{
- RefPtr<Frame> mainFrame = m_mainFrame;
+ // Destroy inspector first, since it uses frame and view during destruction.
+ m_inspectorController->willBeDestroyed();
- mainFrame->detach();
+ RefPtrWillBeRawPtr<Frame> mainFrame = m_mainFrame;
- // Disable all agents prior to resetting the frame view.
- m_inspectorController->willBeDestroyed();
+ mainFrame->detach();
if (mainFrame->isLocalFrame()) {
toLocalFrame(mainFrame.get())->setView(nullptr);
#endif
m_chrome->willBeDestroyed();
- m_mainFrame = 0;
if (m_validationMessageClient)
m_validationMessageClient->willBeDestroyed();
- WillBeHeapSupplementable<Page>::willBeDestroyed();
+ m_mainFrame = nullptr;
}
Page::PageClients::PageClients()