Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(272)

Side by Side Diff: Source/core/frame/FrameView.h

Issue 132913002: Harden the machinery around updateWidgetPositions() (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Add FIXME Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | Source/core/frame/FrameView.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 Copyright (C) 1997 Martin Jones (mjones@kde.org) 2 Copyright (C) 1997 Martin Jones (mjones@kde.org)
3 (C) 1998 Waldo Bastian (bastian@kde.org) 3 (C) 1998 Waldo Bastian (bastian@kde.org)
4 (C) 1998, 1999 Torben Weis (weis@kde.org) 4 (C) 1998, 1999 Torben Weis (weis@kde.org)
5 (C) 1999 Lars Knoll (knoll@kde.org) 5 (C) 1999 Lars Knoll (knoll@kde.org)
6 (C) 1999 Antti Koivisto (koivisto@kde.org) 6 (C) 1999 Antti Koivisto (koivisto@kde.org)
7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. 7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed.
8 8
9 This library is free software; you can redistribute it and/or 9 This library is free software; you can redistribute it and/or
10 modify it under the terms of the GNU Library General Public 10 modify it under the terms of the GNU Library General Public
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 class FloatSize; 43 class FloatSize;
44 class Frame; 44 class Frame;
45 class KURL; 45 class KURL;
46 class Node; 46 class Node;
47 class Page; 47 class Page;
48 class RenderBox; 48 class RenderBox;
49 class RenderEmbeddedObject; 49 class RenderEmbeddedObject;
50 class RenderObject; 50 class RenderObject;
51 class RenderScrollbarPart; 51 class RenderScrollbarPart;
52 class RenderStyle; 52 class RenderStyle;
53 class RenderWidget;
53 54
54 Pagination::Mode paginationModeForRenderStyle(RenderStyle*); 55 Pagination::Mode paginationModeForRenderStyle(RenderStyle*);
55 56
56 typedef unsigned long long DOMTimeStamp; 57 typedef unsigned long long DOMTimeStamp;
57 58
58 class FrameView FINAL : public ScrollView { 59 class FrameView FINAL : public ScrollView {
59 public: 60 public:
60 friend class RenderView; 61 friend class RenderView;
61 friend class Internals; 62 friend class Internals;
62 63
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 void restoreScrollbar(); 205 void restoreScrollbar();
205 206
206 void postLayoutTimerFired(Timer<FrameView>*); 207 void postLayoutTimerFired(Timer<FrameView>*);
207 208
208 bool wasScrolledByUser() const; 209 bool wasScrolledByUser() const;
209 void setWasScrolledByUser(bool); 210 void setWasScrolledByUser(bool);
210 211
211 bool safeToPropagateScrollToParent() const { return m_safeToPropagateScrollT oParent; } 212 bool safeToPropagateScrollToParent() const { return m_safeToPropagateScrollT oParent; }
212 void setSafeToPropagateScrollToParent(bool isSafe) { m_safeToPropagateScroll ToParent = isSafe; } 213 void setSafeToPropagateScrollToParent(bool isSafe) { m_safeToPropagateScroll ToParent = isSafe; }
213 214
215 void addWidget(RenderWidget*);
216 void removeWidget(RenderWidget*);
217 void updateWidgetPositions();
218
214 void addWidgetToUpdate(RenderEmbeddedObject&); 219 void addWidgetToUpdate(RenderEmbeddedObject&);
215 220
216 virtual void paintContents(GraphicsContext*, const IntRect& damageRect) OVER RIDE; 221 virtual void paintContents(GraphicsContext*, const IntRect& damageRect) OVER RIDE;
217 void setPaintBehavior(PaintBehavior); 222 void setPaintBehavior(PaintBehavior);
218 PaintBehavior paintBehavior() const; 223 PaintBehavior paintBehavior() const;
219 bool isPainting() const; 224 bool isPainting() const;
220 bool hasEverPainted() const { return m_lastPaintTime; } 225 bool hasEverPainted() const { return m_lastPaintTime; }
221 void setLastPaintTime(double lastPaintTime) { m_lastPaintTime = lastPaintTim e; } 226 void setLastPaintTime(double lastPaintTime) { m_lastPaintTime = lastPaintTim e; }
222 void setNodeToDraw(Node*); 227 void setNodeToDraw(Node*);
223 228
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 456
452 static double s_currentFrameTimeStamp; // used for detecting decoded resourc e thrash in the cache 457 static double s_currentFrameTimeStamp; // used for detecting decoded resourc e thrash in the cache
453 static bool s_inPaintContents; 458 static bool s_inPaintContents;
454 459
455 LayoutSize m_size; 460 LayoutSize m_size;
456 LayoutSize m_margins; 461 LayoutSize m_margins;
457 462
458 typedef HashSet<RefPtr<RenderEmbeddedObject> > EmbeddedObjectSet; 463 typedef HashSet<RefPtr<RenderEmbeddedObject> > EmbeddedObjectSet;
459 EmbeddedObjectSet m_widgetUpdateSet; 464 EmbeddedObjectSet m_widgetUpdateSet;
460 465
466 // FIXME: These are just "children" of the FrameView and should be RefPtr<Wi dget> instead.
467 HashSet<RefPtr<RenderWidget> > m_widgets;
468
461 RefPtr<Frame> m_frame; 469 RefPtr<Frame> m_frame;
462 470
463 bool m_doFullRepaint; 471 bool m_doFullRepaint;
464 472
465 bool m_canHaveScrollbars; 473 bool m_canHaveScrollbars;
466 bool m_cannotBlitToWindow; 474 bool m_cannotBlitToWindow;
467 bool m_isOverlapped; 475 bool m_isOverlapped;
468 bool m_contentIsOpaque; 476 bool m_contentIsOpaque;
469 unsigned m_slowRepaintObjectCount; 477 unsigned m_slowRepaintObjectCount;
470 int m_borderX; 478 int m_borderX;
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 static const unsigned visualPixelThreshold = 32 * 32; 589 static const unsigned visualPixelThreshold = 32 * 32;
582 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold) 590 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold)
583 setIsVisuallyNonEmpty(); 591 setIsVisuallyNonEmpty();
584 } 592 }
585 593
586 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView()); 594 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView());
587 595
588 } // namespace WebCore 596 } // namespace WebCore
589 597
590 #endif // FrameView_h 598 #endif // FrameView_h
OLDNEW
« no previous file with comments | « no previous file | Source/core/frame/FrameView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698