2826371a64dff46111a6d51e3701700a131a2edf: Bug 1048752. Part 19: Create nsCaret::GetPaintGeometry to call during painting. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:28 +1200 - rev 199956
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 19: Create nsCaret::GetPaintGeometry to call during painting. r=tn This is the start of the changes to caret-drawing proper. The idea is to combine GetCaretFrame and GetCaretRect into a method GetPaintGeometry which looks like GetGeometry but returns values needed for painting (i.e. including bidi decorations, and returning a null frame if we're not supposed to paint due to specific caret state, e.g. in the "off" phase of the blink cycle). Mostly a straightforward refactoring but there are a few interesting changes: -- nsDisplayCaret stores its bounds instead of getting them from nsCaret on demand. Eventually those bounds will not be stored in nsCaret at all. -- nsDisplayCaret::GetBounds returns true for aSnap. nsCaret draws snapped rects, so why not. -- I removed "if (caretRect.Intersects(aDirtyRect))" in EnterPresShell. As far as I can tell, this check is incorrect because it doesn't take transforms into account. Since there's at most one drawn caret per window, hence we do this at most once per paint, I don't think there's any real performance advantage to having this check.
8d8e4df32ffc6a207824515df719e36d9247ea01: Bug 1048752. Part 18: Add nsCaret::SchedulePaint. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:27 +1200 - rev 199955
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 18: Add nsCaret::SchedulePaint. r=tn We'll use this later.
e96157e3af4d776649f96d8e9bfa25d10daf4c80: Bug 1048752. Part 17: Rename Get/SetCaretDOMSelection to Get/SetSelection. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:27 +1200 - rev 199954
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 17: Rename Get/SetCaretDOMSelection to Get/SetSelection. r=tn The forward declaration of Selection in nsCaret.h will be used in later patches.
a48a0eb4946f3da4cd498a91c98f8efa23eb9d1f: Bug 1048752. Part 16: Move nsFrameSelection::HINT to CaretAssociationHint.h. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:27 +1200 - rev 199953
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 16: Move nsFrameSelection::HINT to CaretAssociationHint.h. r=tn This patch started an attempt to remove nsFrameSelection.h from nsCaret.h and metastasized into a rather large refactoring patch that removed it from some other header files as well, and changed nsFrameSelection::HINT into a global-scope enum with better names. I also converted bools into CaretAssociationHint in a few places where that was appropriate, but there are still some more places (GetChildFrameContainingOffset) where bools need to be converted. I figured this patch was big enough already.
77b56aabc8235f936eb45665081d20147baa2957: Bug 1048752. Part 15: Fix some comments. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:26 +1200 - rev 199952
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 15: Fix some comments. r=tn
ca077bb6fbc3de241d982c39fbf8b942c44c0392: Bug 1048752. Part 14: Split GetGeometry into a static and a non-static version. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:26 +1200 - rev 199951
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 14: Split GetGeometry into a static and a non-static version. r=tn GetGeometry is used in two different ways. Sometimes it's used to get information about a particular caret. Sometimes it's used to get information about a particular selection that's not associated with a caret. Splitting GetGeometry into a non-static version for the former and a static version for the latter makes this more clear. Also it saves code since for the latter version we don't have to get an nsCaret first.
744443e8760a693dd58e9b4ba932b16bb8e23d1e: Bug 1048752. Part 13: Remove GetGeometry's aBidiIndicatorSize. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:26 +1200 - rev 199950
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 13: Remove GetGeometry's aBidiIndicatorSize. r=tn Callers always pass null.
5761be456996aaa8708918539e236546ae619520: Bug 1048752. Part 12: Replace mBlinkRate with mIsBlinking. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:26 +1200 - rev 199949
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 12: Replace mBlinkRate with mIsBlinking. r=tn We don't need to store the blink rate. Instead we can just fetch it whenever we need it. However we do need a flag to handle the case where nsCaret::DrawAtPosition disables blinking.
7b885c741dc9d772c8258172b5499495e0408484: Bug 1048752. Part 11: Remove nsLayoutUtils.h from nsDisplayList.h. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:25 +1200 - rev 199948
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 11: Remove nsLayoutUtils.h from nsDisplayList.h. r=tn
1ca58eced657191ea6ed8722d62267f79ba636ab: Bug 1048752. Part 10: Remove FrameLayerBuilder.h from nsDisplayList.h. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:25 +1200 - rev 199947
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 10: Remove FrameLayerBuilder.h from nsDisplayList.h. r=tn I was inspired by the previous patch to remove FrameLayerBuilder.h from nsDisplayList.h too.
3f4a52e44188f59700a95fd16eedfe5840dc2654: Bug 1048752. Part 9: Remove nsCaret.h from nsDisplayList.h. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:25 +1200 - rev 199946
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 9: Remove nsCaret.h from nsDisplayList.h. r=tn I got tired of slow build turnarounds every time I modified nsCaret.h.
86f8c936d763fc847f04e54d7cc5c74e304eb324: Bug 1048752. Part 8: Remove mCaretAspectRatio. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:25 +1200 - rev 199945
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 8: Remove mCaretAspectRatio. r=tn mCaretAspectRatio doesn't need to be stored. We can recompute it whenever we need it.
d7f6fe7ec8fe2f83ac4f0bec3c296bb51656367d: Bug 1048752. Part 7: Remove mCaretWidthCSSPx. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:25 +1200 - rev 199944
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 7: Remove mCaretWidthCSSPx. r=tn mCaretWidthCSSPx doesn't need to be stored. We can just recompute it whenever we need it.
49bf30b051038a6e6fe2184d3bd369d34df036a2: Bug 1048752. Part 6: Remove 'virtual' declarations. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:24 +1200 - rev 199943
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 6: Remove 'virtual' declarations. r=tn These used to be needed for linking with non-libxul builds, but are no longer needed. The obsolete comment is fixed in a later patch.
e94c0c00ffeddb562dec85a9824de13bf13b1e7e: Bug 1048752. Part 5: Reorder API declarations. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:24 +1200 - rev 199942
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 5: Reorder API declarations. r=tn To make it more clear what's going on, make CaretBlinkCallback protected and reorder the public methods to put the state-changing "API" methods first.
52109d5178c9a06fc4bff02d2bf03e86bb607d2f: Bug 1048752. Part 4: Make EViewCoordinates (unused). r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:24 +1200 - rev 199941
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 4: Make EViewCoordinates (unused). r=tn
a8e3daef2400e1cf6f7c0b32e28d6ecdf1a845d8: Bug 1048752. Part 3: Make GetCaretFrameForNodeOffset static. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:24 +1200 - rev 199940
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 3: Make GetCaretFrameForNodeOffset static. r=tn GetCaretFrameForNodeOffset only uses the nsFrameSelection and mBidiUI from its nsCaret. For mBidiUI we can just get the pref directly whenever we need it. By modifying GetCaretFrameForNodeOffset to take nsFrameSelection as a parameter, we can make it static to make it clear it isn't really related to the state of the nsCaret. This may also fix a bug in Selection::GetPrimaryFrameForFocusNode where things would go unexpectedly wrong if mCaret is temporarily observing a different selection to the Selection.
f2ed6f49d40454dcabc1c2eae3a36d9f799c3c97: Bug 1048752. Part 2: Remove InvalidateOutsideCaret and MaybeInvalidateCaretPosition. r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:23 +1200 - rev 199939
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 2: Remove InvalidateOutsideCaret and MaybeInvalidateCaretPosition. r=tn I'm quite sure DLBI means we don't need these anymore.
030449cb7fed0a6797f9fed904fec7201d0ae2c3: Bug 1048752. Part 1: Remove GetCaretReadOnly (unused). r=tn
Robert O'Callahan <robert@ocallahan.org> - Wed, 06 Aug 2014 17:19:23 +1200 - rev 199938
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1048752. Part 1: Remove GetCaretReadOnly (unused). r=tn
b8041e7ee52543c6dea29fbaa51836c94833b67d: Bug 1054563: Remove unnecessary nsresult return value from BuildScrollFrame, and de-indent it. r=tn
Daniel Holbert <dholbert@cs.stanford.edu> - Fri, 15 Aug 2014 20:22:09 -0700 - rev 199937
Push 9784 by ryanvm@gmail.com at Sat, 16 Aug 2014 21:45:40 +0000
Bug 1054563: Remove unnecessary nsresult return value from BuildScrollFrame, and de-indent it. r=tn
(0) -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip