Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / frame / LocalFrame.h
index 90815a5..3ffe2be 100644 (file)
@@ -43,10 +43,10 @@ namespace blink {
     class Document;
     class DragImage;
     class Editor;
+    class Element;
     class EventHandler;
     class FetchContext;
     class FloatSize;
-    class FloatRect;
     class FrameConsole;
     class FrameDestructionObserver;
     class FrameSelection;
@@ -63,9 +63,9 @@ namespace blink {
     class TreeScope;
     class VisiblePosition;
 
-    class LocalFrame : public Frame, public WillBePersistentHeapSupplementable<LocalFrame>  {
+    class LocalFrame : public Frame, public WillBeHeapSupplementable<LocalFrame>  {
     public:
-        static PassRefPtr<LocalFrame> create(FrameLoaderClient*, FrameHost*, FrameOwner*);
+        static PassRefPtrWillBeRawPtr<LocalFrame> create(FrameLoaderClient*, FrameHost*, FrameOwner*);
 
         virtual bool isLocalFrame() const OVERRIDE { return true; }
 
@@ -76,6 +76,7 @@ namespace blink {
             ScrollbarMode = ScrollbarAuto, bool verticalLock = false);
 
         virtual ~LocalFrame();
+        virtual void trace(Visitor*) OVERRIDE;
 
         virtual void detach() OVERRIDE;
 
@@ -90,6 +91,8 @@ namespace blink {
         virtual void setDOMWindow(PassRefPtrWillBeRawPtr<LocalDOMWindow>) OVERRIDE;
         FrameView* view() const;
         Document* document() const;
+        void setPagePopupOwner(Element&);
+        Element* pagePopupOwner() const { return m_pagePopupOwner.get(); }
 
         RenderView* contentRenderer() const; // Root of the render tree for the document contained in this frame.
 
@@ -149,6 +152,8 @@ namespace blink {
         PassRefPtrWillBeRawPtr<Range> rangeForPoint(const IntPoint& framePoint);
 
         bool isURLAllowed(const KURL&) const;
+        bool shouldReuseDefaultView(const KURL&) const;
+        void removeSpellingMarkersUnderWords(const Vector<String>& words);
 
     // ========
 
@@ -157,19 +162,23 @@ namespace blink {
 
         String localLayerTreeAsText(unsigned flags) const;
 
-        HashSet<FrameDestructionObserver*> m_destructionObservers;
+        void detachView();
+
+        WillBeHeapHashSet<RawPtrWillBeWeakMember<FrameDestructionObserver> > m_destructionObservers;
         mutable FrameLoader m_loader;
         mutable NavigationScheduler m_navigationScheduler;
 
         RefPtr<FrameView> m_view;
+        // Usually 0. Non-null if this is the top frame of PagePopup.
+        RefPtrWillBeMember<Element> m_pagePopupOwner;
 
         OwnPtr<ScriptController> m_script;
-        const OwnPtrWillBePersistent<Editor> m_editor;
-        const OwnPtr<SpellChecker> m_spellChecker;
-        const OwnPtrWillBePersistent<FrameSelection> m_selection;
-        const OwnPtrWillBePersistent<EventHandler> m_eventHandler;
-        const OwnPtr<FrameConsole> m_console;
-        OwnPtr<InputMethodController> m_inputMethodController;
+        const OwnPtrWillBeMember<Editor> m_editor;
+        const OwnPtrWillBeMember<SpellChecker> m_spellChecker;
+        const OwnPtrWillBeMember<FrameSelection> m_selection;
+        const OwnPtrWillBeMember<EventHandler> m_eventHandler;
+        const OwnPtrWillBeMember<FrameConsole> m_console;
+        OwnPtrWillBeMember<InputMethodController> m_inputMethodController;
 
         float m_pageZoomFactor;
         float m_textZoomFactor;