#include "wtf/OwnPtr.h"
#include "wtf/text/WTFString.h"
-namespace WebCore {
+namespace blink {
class AXObjectCache;
class DocumentLifecycle;
void recalcOverflowAfterStyleChange();
- bool hasCompositedContent() const;
bool isEnclosedInCompositingLayer() const;
void resetScrollbars();
virtual IntSize inputEventsOffsetForEmulation() const OVERRIDE;
void setInputEventsTransformForEmulation(const IntSize&, float);
- virtual void setScrollPosition(const IntPoint&) OVERRIDE;
+ virtual void setScrollPosition(const IntPoint&, ScrollBehavior = ScrollBehaviorInstant) OVERRIDE;
virtual bool isRubberBandInProgress() const OVERRIDE;
void setScrollPositionNonProgrammatically(const IntPoint&);
void setMediaType(const AtomicString&);
void adjustMediaTypeForPrinting(bool printing);
- void setCannotBlitToWindow();
- void setIsOverlapped(bool);
- bool isOverlapped() const { return m_isOverlapped; }
- void setContentIsOpaque(bool);
-
void addSlowRepaintObject();
void removeSlowRepaintObject();
bool hasSlowRepaintObjects() const { return m_slowRepaintObjectCount; }
- // Includes fixed- and sticky-position objects.
+ // Fixed-position objects.
typedef HashSet<RenderObject*> ViewportConstrainedObjectSet;
void addViewportConstrainedObject(RenderObject*);
void removeViewportConstrainedObject(RenderObject*);
void handleLoadCompleted();
void updateAnnotatedRegions();
- void updateControlTints();
void restoreScrollbar();
void updateLayoutAndStyleForPainting();
void updateLayoutAndStyleIfNeededRecursive();
+ void invalidateTreeIfNeededRecursive();
+
void incrementVisuallyNonEmptyCharacterCount(unsigned);
void incrementVisuallyNonEmptyPixelCount(const IntSize&);
void setIsVisuallyNonEmpty() { m_isVisuallyNonEmpty = true; }
void setTracksPaintInvalidations(bool);
bool isTrackingPaintInvalidations() const { return m_isTrackingPaintInvalidations; }
void resetTrackedPaintInvalidations();
+
String trackedPaintInvalidationRectsAsText() const;
typedef HashSet<ScrollableArea*> ScrollableAreaSet;
void removeResizerArea(RenderBox&);
const ResizerAreaSet* resizerAreas() const { return m_resizerAreas.get(); }
+ virtual void setParent(Widget*) OVERRIDE;
virtual void removeChild(Widget*) OVERRIDE;
// This function exists for ports that need to handle wheel events manually.
virtual void didAddScrollbar(Scrollbar*, ScrollbarOrientation) OVERRIDE;
virtual void willRemoveScrollbar(Scrollbar*, ScrollbarOrientation) OVERRIDE;
- virtual bool shouldAttemptToScrollUsingFastPath() const OVERRIDE;
// FIXME: This should probably be renamed as the 'inSubtreeLayout' parameter
// passed around the FrameView layout methods can be true while this returns
// false.
protected:
virtual void scrollContentsIfNeeded();
- virtual bool scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect) OVERRIDE;
+ virtual bool scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll) OVERRIDE;
virtual void scrollContentsSlowPath(const IntRect& updateRect) OVERRIDE;
virtual bool isVerticalDocument() const OVERRIDE;
virtual bool isFrameView() const OVERRIDE { return true; }
friend class RenderWidget;
- bool useSlowRepaints(bool considerOverlap = true) const;
- bool useSlowRepaintsIfNotOverlapped() const;
bool contentsInCompositedLayer() const;
void scheduleOrPerformPostLayoutTasks();
void performPostLayoutTasks();
- void invalidateTree(RenderObject* root);
+ void invalidateTreeIfNeeded();
void gatherDebugLayoutRects(RenderObject* layoutRoot);
void updateLayersAndCompositingAfterScrollIfNeeded();
void updateFixedElementPaintInvalidationRectsAfterScroll();
+ void updateCompositedSelectionBoundsIfNeeded();
bool hasCustomScrollbars() const;
bool shouldUseCustomScrollbars(Element*& customScrollbarElement, LocalFrame*& customScrollbarFrame);
bool paintInvalidationIsAllowed() const
{
- if (!RuntimeEnabledFeatures::repaintAfterLayoutEnabled())
- return true;
-
return !isInPerformLayout() || canInvalidatePaintDuringPerformLayout();
}
LayoutSize m_size;
- typedef HashSet<RefPtr<RenderEmbeddedObject> > EmbeddedObjectSet;
- EmbeddedObjectSet m_widgetUpdateSet;
+ typedef WillBeHeapHashSet<RefPtrWillBeMember<RenderEmbeddedObject> > EmbeddedObjectSet;
+ WillBePersistentHeapHashSet<RefPtrWillBeMember<RenderEmbeddedObject> > m_widgetUpdateSet;
// FIXME: These are just "children" of the FrameView and should be RefPtr<Widget> instead.
- HashSet<RefPtr<RenderWidget> > m_widgets;
+ WillBePersistentHeapHashSet<RefPtrWillBeMember<RenderWidget> > m_widgets;
RefPtr<LocalFrame> m_frame;
bool m_doFullPaintInvalidation;
bool m_canHaveScrollbars;
- bool m_cannotBlitToWindow;
- bool m_isOverlapped;
- bool m_contentIsOpaque;
unsigned m_slowRepaintObjectCount;
bool m_hasPendingLayout;
RefPtrWillBePersistent<Node> m_maintainScrollPositionAnchor;
// Renderer to hold our custom scroll corner.
- RenderScrollbarPart* m_scrollCorner;
+ RawPtrWillBePersistent<RenderScrollbarPart> m_scrollCorner;
// If true, automatically resize the frame view around its content.
bool m_shouldAutoSize;
bool m_originalValue;
};
-} // namespace WebCore
+} // namespace blink
#endif // FrameView_h