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

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

Issue 929213004: Plumb selection bounds as a single unit (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Refactor WebSelection to align with Frame/VisibleSelection Created 5 years, 9 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
« no previous file with comments | « no previous file | Source/core/frame/FrameView.cpp » ('j') | Source/core/frame/FrameView.cpp » ('J')
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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 class LocalFrame; 54 class LocalFrame;
55 class KURL; 55 class KURL;
56 class Node; 56 class Node;
57 class Page; 57 class Page;
58 class LayoutBox; 58 class LayoutBox;
59 class LayoutEmbeddedObject; 59 class LayoutEmbeddedObject;
60 class LayoutObject; 60 class LayoutObject;
61 class LayoutScrollbarPart; 61 class LayoutScrollbarPart;
62 class LayoutView; 62 class LayoutView;
63 class ScrollingCoordinator; 63 class ScrollingCoordinator;
64 struct CompositedSelectionBound; 64 struct CompositedSelection;
65 65
66 typedef unsigned long long DOMTimeStamp; 66 typedef unsigned long long DOMTimeStamp;
67 67
68 class FrameView final : public Widget, public ScrollableArea { 68 class FrameView final : public Widget, public ScrollableArea {
69 public: 69 public:
70 friend class LayoutView; 70 friend class LayoutView;
71 friend class Internals; 71 friend class Internals;
72 72
73 static PassRefPtrWillBeRawPtr<FrameView> create(LocalFrame*); 73 static PassRefPtrWillBeRawPtr<FrameView> create(LocalFrame*);
74 static PassRefPtrWillBeRawPtr<FrameView> create(LocalFrame*, const IntSize& initialSize); 74 static PassRefPtrWillBeRawPtr<FrameView> create(LocalFrame*, const IntSize& initialSize);
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after
663 void scheduleUpdateWidgetsIfNecessary(); 663 void scheduleUpdateWidgetsIfNecessary();
664 void updateWidgetsTimerFired(Timer<FrameView>*); 664 void updateWidgetsTimerFired(Timer<FrameView>*);
665 bool updateWidgets(); 665 bool updateWidgets();
666 666
667 void scrollToAnchor(); 667 void scrollToAnchor();
668 void scrollPositionChanged(); 668 void scrollPositionChanged();
669 void didScrollTimerFired(Timer<FrameView>*); 669 void didScrollTimerFired(Timer<FrameView>*);
670 670
671 void updateLayersAndCompositingAfterScrollIfNeeded(); 671 void updateLayersAndCompositingAfterScrollIfNeeded();
672 672
673 static bool computeCompositedSelectionBounds(LocalFrame&, CompositedSelectio nBound& start, CompositedSelectionBound& end); 673 static bool computeCompositedSelection(LocalFrame&, CompositedSelection&);
674 void updateCompositedSelectionBoundsIfNeeded(); 674 void updateCompositedSelectionIfNeeded();
675 675
676 // Returns true if the FrameView's own scrollbars overlay its content when v isible. 676 // Returns true if the FrameView's own scrollbars overlay its content when v isible.
677 bool hasOverlayScrollbars() const; 677 bool hasOverlayScrollbars() const;
678 678
679 // Returns true if the frame should use custom scrollbars. If true, one of 679 // Returns true if the frame should use custom scrollbars. If true, one of
680 // either |customScrollbarElement| or |customScrollbarFrame| will be set to 680 // either |customScrollbarElement| or |customScrollbarFrame| will be set to
681 // the element or frame which owns the scrollbar with the other set to null. 681 // the element or frame which owns the scrollbar with the other set to null.
682 bool shouldUseCustomScrollbars(Element*& customScrollbarElement, LocalFrame* & customScrollbarFrame) const; 682 bool shouldUseCustomScrollbars(Element*& customScrollbarElement, LocalFrame* & customScrollbarFrame) const;
683 683
684 // Returns true if a scrollbar needs to go from native -> custom or vice ver sa. 684 // Returns true if a scrollbar needs to go from native -> custom or vice ver sa.
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
861 static const unsigned visualPixelThreshold = 32 * 32; 861 static const unsigned visualPixelThreshold = 32 * 32;
862 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold) 862 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold)
863 setIsVisuallyNonEmpty(); 863 setIsVisuallyNonEmpty();
864 } 864 }
865 865
866 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView()); 866 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView());
867 867
868 } // namespace blink 868 } // namespace blink
869 869
870 #endif // FrameView_h 870 #endif // FrameView_h
OLDNEW
« no previous file with comments | « no previous file | Source/core/frame/FrameView.cpp » ('j') | Source/core/frame/FrameView.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698