OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights |
3 * reserved. | 3 * reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 | 44 |
45 public: | 45 public: |
46 static DragCaret* Create(); | 46 static DragCaret* Create(); |
47 | 47 |
48 virtual ~DragCaret(); | 48 virtual ~DragCaret(); |
49 | 49 |
50 // Paint invalidation methods delegating to CaretDisplayItemClient. | 50 // Paint invalidation methods delegating to CaretDisplayItemClient. |
51 void ClearPreviousVisualRect(const LayoutBlock&); | 51 void ClearPreviousVisualRect(const LayoutBlock&); |
52 void LayoutBlockWillBeDestroyed(const LayoutBlock&); | 52 void LayoutBlockWillBeDestroyed(const LayoutBlock&); |
53 void UpdateStyleAndLayoutIfNeeded(); | 53 void UpdateStyleAndLayoutIfNeeded(); |
54 void InvalidatePaintIfNeeded(const LayoutBlock&, | 54 void InvalidatePaint(const LayoutBlock&, const PaintInvalidatorContext&); |
55 const PaintInvalidatorContext&); | |
56 | 55 |
57 bool ShouldPaintCaret(const LayoutBlock&) const; | 56 bool ShouldPaintCaret(const LayoutBlock&) const; |
58 void PaintDragCaret(const LocalFrame*, | 57 void PaintDragCaret(const LocalFrame*, |
59 GraphicsContext&, | 58 GraphicsContext&, |
60 const LayoutPoint&) const; | 59 const LayoutPoint&) const; |
61 | 60 |
62 bool IsContentRichlyEditable() const; | 61 bool IsContentRichlyEditable() const; |
63 | 62 |
64 bool HasCaret() const { return position_.IsNotNull(); } | 63 bool HasCaret() const { return position_.IsNotNull(); } |
65 const PositionWithAffinity& CaretPosition() { return position_; } | 64 const PositionWithAffinity& CaretPosition() { return position_; } |
66 void SetCaretPosition(const PositionWithAffinity&); | 65 void SetCaretPosition(const PositionWithAffinity&); |
67 void Clear() { SetCaretPosition(PositionWithAffinity()); } | 66 void Clear() { SetCaretPosition(PositionWithAffinity()); } |
68 | 67 |
69 DECLARE_TRACE(); | 68 DECLARE_TRACE(); |
70 | 69 |
71 private: | 70 private: |
72 DragCaret(); | 71 DragCaret(); |
73 | 72 |
74 // Implementations of |SynchronousMutationObserver| | 73 // Implementations of |SynchronousMutationObserver| |
75 void NodeChildrenWillBeRemoved(ContainerNode&) final; | 74 void NodeChildrenWillBeRemoved(ContainerNode&) final; |
76 void NodeWillBeRemoved(Node&) final; | 75 void NodeWillBeRemoved(Node&) final; |
77 | 76 |
78 PositionWithAffinity position_; | 77 PositionWithAffinity position_; |
79 const std::unique_ptr<CaretDisplayItemClient> display_item_client_; | 78 const std::unique_ptr<CaretDisplayItemClient> display_item_client_; |
80 }; | 79 }; |
81 | 80 |
82 } // namespace blink | 81 } // namespace blink |
83 | 82 |
84 #endif // DragCaret_h | 83 #endif // DragCaret_h |
OLD | NEW |