Граф коммитов

377159 Коммитов

Автор SHA1 Сообщение Дата
Robert O'Callahan 39217b370a Bug 1048752. Part 22: Factor out SelectionLanguageChange call to run early in nsCaret::GetPaintGeometry. r=tn
This code is somewhat tricky. nsCaret::ComputeCaretRects was checking to see
if we have a bidi keyboard, and if so, what direction it's set to.
If the direction changed from the last direction seen for *this caret*,
we fired a SelectionLanguageChange notification on the caret's current
Selection. This looked bogus because the caret can be switched between
selections so it would seem some selections won't get a notification when
they should, but that's how it was. Also, when the SelectionLanguageChange
notification fired we then didn't draw the caret in that iteration, which
seems even more bogus.

This patch fixes all that by moving the logic to fire SelectionLanguageChange
out to GetPaintGeometry and firing the notification every single time without
trying to detect whether the state has changed or not. I carefully examined
the implementation of SelectionLanguageChange and I'm pretty sure it's
idempotent so this should be correct. That doesn't look like an
expensive function, and runs at most once per window paint, so I'm not
worried about perf. Because we now fire SelectionLanguageChange before
reading selection or frame state, it should be fine to carry on after
calling SelectionLanguageChange and drawing the caret based on whatever
changes SelectionLanguageChange has performed.

This also lets us remove mKeyboardRTL, which as noted above seems inherently
bogus.

--HG--
extra : rebase_source : 3ddfd10f6f30033e090e72b4bb43f2695218752e
2014-08-06 17:19:28 +12:00
Robert O'Callahan 1702d93ebd Bug 1048752. Part 21: Instead of storing mCaretRect/mHookRect, recompute them whenever they're needed. r=tn
Also, moves the "If the offset falls outside of the frame" check from
PaintCaret to GetPaintGeometry so we do less work in that case.

UpdateCaretRects is no longer needed.

--HG--
extra : rebase_source : 4b2925952a34d0388ae44c642129ce9015c367ea
2014-08-06 17:19:28 +12:00
Robert O'Callahan 235282831d Bug 1048752. Part 20: Inline GetCaretFrame into its callers. r=tn
This duplicates some code, but later patches will modify the callers and then
eventually we'll re-share common code.

--HG--
extra : rebase_source : 53f4756e87aadf22046972ef9102c190fbb35132
2014-08-06 17:19:28 +12:00
Robert O'Callahan a1480fca87 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.

--HG--
extra : rebase_source : c98d3a5994478b482d19cc2e2ac83ab51bd17e00
2014-08-06 17:19:28 +12:00
Robert O'Callahan 3c5e54cdcc Bug 1048752. Part 18: Add nsCaret::SchedulePaint. r=tn
We'll use this later.

--HG--
extra : rebase_source : e2d81ec006718d1c91b47978c16df0bffd42ff5b
2014-08-06 17:19:27 +12:00
Robert O'Callahan 0a6d04586e 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.

--HG--
extra : rebase_source : d1b749adac983c04d3365bb6bfb76a50101beeb5
2014-08-06 17:19:27 +12:00
Robert O'Callahan 2489dc1f01 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.

--HG--
extra : rebase_source : cc618ef60e707e1360644340a2648de389383da0
2014-08-06 17:19:27 +12:00
Robert O'Callahan f500f71adb Bug 1048752. Part 15: Fix some comments. r=tn
--HG--
extra : rebase_source : c21e494622615b306e796afedf6c0a424d6f1046
2014-08-06 17:19:26 +12:00
Robert O'Callahan b4ed20d441 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.

--HG--
extra : rebase_source : b7730dac56b308a82b79b175749234c9a92b6f59
2014-08-06 17:19:26 +12:00
Robert O'Callahan bdbb11f64d Bug 1048752. Part 13: Remove GetGeometry's aBidiIndicatorSize. r=tn
Callers always pass null.

--HG--
extra : rebase_source : 169f9fe4f4236cffe2c0f760305ebf8093300c69
2014-08-06 17:19:26 +12:00
Robert O'Callahan 224aa3096d 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.

--HG--
extra : rebase_source : 4f36825a8e22edd3a2e37edb1fae5675c85adadd
2014-08-06 17:19:26 +12:00
Robert O'Callahan 075f97aa37 Bug 1048752. Part 11: Remove nsLayoutUtils.h from nsDisplayList.h. r=tn
--HG--
extra : rebase_source : 02251076442a5c4251e8d9484cb428a4c07f3a13
2014-08-06 17:19:25 +12:00
Robert O'Callahan 0de1b9e514 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.

--HG--
extra : rebase_source : b34a01bea5865da4737817e2396b98d54cc6d1bf
2014-08-06 17:19:25 +12:00
Robert O'Callahan b8bd1730f3 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.

--HG--
extra : rebase_source : 0c4598c4881ab8de0a636b08c70fb801bb912247
2014-08-06 17:19:25 +12:00
Robert O'Callahan 84b6888d62 Bug 1048752. Part 8: Remove mCaretAspectRatio. r=tn
mCaretAspectRatio doesn't need to be stored. We can recompute it
whenever we need it.

--HG--
extra : rebase_source : 065a6996e920800edf5cbcc7f072f0439ef84553
2014-08-06 17:19:25 +12:00
Robert O'Callahan fb59918a6c Bug 1048752. Part 7: Remove mCaretWidthCSSPx. r=tn
mCaretWidthCSSPx doesn't need to be stored. We can just recompute it
whenever we need it.

--HG--
extra : rebase_source : 850b556651afade0da543e281e5fa54235969ab4
2014-08-06 17:19:25 +12:00
Robert O'Callahan 3b04ddd57d 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.

--HG--
extra : rebase_source : 034f69b647bd64d4353e51a15e166094b7b2e638
2014-08-06 17:19:24 +12:00
Robert O'Callahan d967df6e74 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.

--HG--
extra : rebase_source : fddf0ea4b9269b2d431d0b75c40f99a9140138a1
2014-08-06 17:19:24 +12:00
Robert O'Callahan 8249256663 Bug 1048752. Part 4: Make EViewCoordinates (unused). r=tn
--HG--
extra : rebase_source : 571ba155fb5741fdd26d0391ef4a029a7383b34a
2014-08-06 17:19:24 +12:00
Robert O'Callahan 787f2f51a5 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.

--HG--
extra : rebase_source : cdd59f6e20cd1060bc5d2325cb3adb5e5c4a1d2c
2014-08-06 17:19:24 +12:00
Robert O'Callahan d085b972a2 Bug 1048752. Part 2: Remove InvalidateOutsideCaret and MaybeInvalidateCaretPosition. r=tn
I'm quite sure DLBI means we don't need these anymore.

--HG--
extra : rebase_source : 6cb6cd7c160a46688793c6ab1cdded333aecdd61
2014-08-06 17:19:23 +12:00
Robert O'Callahan c39cb67ced Bug 1048752. Part 1: Remove GetCaretReadOnly (unused). r=tn
--HG--
extra : rebase_source : 86c27ad506440199fe623a083a2b4cb7eca98e47
2014-08-06 17:19:23 +12:00
Daniel Holbert 171665617d Bug 1054563: Remove unnecessary nsresult return value from BuildScrollFrame, and de-indent it. r=tn 2014-08-15 20:22:09 -07:00
Ryan VanderMeulen c33a664a92 Backed out changeset 3ad9f60f1972 (bug 1032055) for B2G ICS bustage. 2014-08-15 23:14:30 -04:00
Trevor Saunders bdc41d899e bug 1032055 - fix ordering of static xul component constants with LTO r=glandium 2014-08-15 21:55:24 -04:00
Jeff Gilbert fb6a858464 Bug 1049957 - Fixes from reviews. - r=kamidphish 2014-08-15 17:38:09 -07:00
Jeff Gilbert 00cbda0f58 Bug 1049957 - Use custom std::queue wrapper instead of std::queue<UniquePtr<T>>. - r=kamidphish 2014-08-15 17:38:08 -07:00
Jeff Gilbert 462da9f9df Bug 1049957 - Fix compilation errors. - r=kamidphish 2014-08-15 17:38:08 -07:00
Jeff Gilbert ebe1200d76 Bug 1049957 - Use UniquePtr for SharedSurface, SurfaceFactory. - r=kamidphish 2014-08-15 17:38:08 -07:00
Jeff Gilbert d10b4934b4 Bug 1049957 - Use RefPtr for SurfaceStream. - r=kamidphish 2014-08-15 17:38:07 -07:00
Jeff Gilbert 2879380ef6 Bug 1049957 - Use UniquePtr for GLScreenBuffer. - r=kamidphish 2014-08-15 17:38:07 -07:00
Jeff Gilbert f872500ed5 Bug 1049957 - Increase MakeUnique max params to 8. - r=waldo 2014-08-15 17:38:06 -07:00
Bill McCloskey 55952e99b7 Bug 950745 - Back out assertions that are triggering too often 2014-08-15 16:16:42 -07:00
Bill McCloskey 5ea1c8dfad Bug 1046964 - Remove some dead code (r=Waldo) 2014-08-15 16:14:50 -07:00
James Graham 48af23d3d1 Bug 1023371 - Refactor mozcrash to seperate out the IO from the stack inspection, r=ted.mielczarek
This makes it compatible with structured logging.
2014-08-15 23:19:34 +01:00
Ehsan Akhgari 9647357b1f Bug 1053792 - Fix some bad implicit constructors in the mtransport code; r=jesup 2014-08-15 17:41:29 -04:00
Catalin Badea 53911e168c Bug 853995 - Move plugin parameters array from nsPluginInstanceOwner to content. r=johns,jst 2014-08-15 14:24:40 -07:00
Ryan VanderMeulen 6cf995b770 Backed out changeset 926c83cd24f0 (bug 1052751) for B2G reftest failures. 2014-08-15 17:15:26 -04:00
Terrence Cole b057565fa0 Bug 1033442 - Remove non-pod malloc from MallocProvider and AllocPolicy; r=jonco 2014-08-08 13:22:39 -07:00
Ryan VanderMeulen 8d1b525259 Merge m-c to inbound. a=merge 2014-08-15 17:04:03 -04:00
Ryan VanderMeulen 7c6c3f9580 Merge b2g-inbound to m-c. a=merge 2014-08-15 17:03:00 -04:00
Andrew McCreight 57a41c12a7 Bug 1023585 - Remove suppression for AllocateArrayBufferContents now that the leak is fixed. r=khuey 2014-08-15 14:00:53 -07:00
Alexander Surkov 91cf777f5f Bug 1053765 - Putting role=log on a table tag breaks row and cell accessibles, r=tbsaunde 2014-08-15 16:49:02 -04:00
Ryan VanderMeulen 9c4e668647 Merge fx-team to m-c. a=merge 2014-08-15 16:22:55 -04:00
Ryan VanderMeulen c01ab4a7c8 Merge inbound to m-c. a=merge 2014-08-15 16:10:19 -04:00
Ryan VanderMeulen 10a75ac158 Backed out 11 changesets (bug 1010740, bug 1054264, bug 1010739, bug 1042804, bug 1019035, bug 1010741, bug 1053884, bug 1054268) for frequent robocop failures.
Backed out changeset 31d4832196f6 (bug 1054268)
Backed out changeset 9e0e63359e77 (bug 1054264)
Backed out changeset 5083e681191a (bug 1054264)
Backed out changeset 7844cf23c521 (bug 1053884)
Backed out changeset dd1a8ebbfae3 (bug 1042804)
Backed out changeset e56bbc8b5bd0 (bug 1019035)
Backed out changeset 6908f8780c29 (bug 1010740)
Backed out changeset aaa50f34df6d (bug 1010740)
Backed out changeset 8474627f88d5 (bug 1010739)
Backed out changeset cbb72f0aa532 (bug 1010741)
Backed out changeset 54179c9a121a (bug 1010741)
2014-08-15 15:12:45 -04:00
Andrei Oprea 0f09159ecf Bug 990678 - Add ability to make audio only calls in Loop standalone and desktop. r=Standard8 2014-08-15 19:45:31 +01:00
B2G Bumper Bot 6908aac15f Bumping manifests a=b2g-bump 2014-08-15 11:41:18 -07:00
B2G Bumper Bot 1a6e7fd4b7 Bumping gaia.json for 4 gaia revision(s) a=gaia-bump
========

https://hg.mozilla.org/integration/gaia-central/rev/0cf972fdd11e
Author: Fernando Jiménez Moreno <ferjmoreno@gmail.com>
Desc: Merge pull request #22881 from ferjm/bug1049340.mobileiderroroverlay

Bug 1049340 - [Loop] Mobile Identity windows in background. r=alive

========

https://hg.mozilla.org/integration/gaia-central/rev/0fdda7e05d2a
Author: Fernando Jiménez <ferjmoreno@gmail.com>
Desc: Bug 1049340 - [Loop] Mobile Identity windows in background. r=alive

========

https://hg.mozilla.org/integration/gaia-central/rev/e64db1140d6f
Author: James Burke <jrburke@gmail.com>
Desc: Merge pull request #22908 from jrburke/bug1001629-email-notification-close-blank

Bug 1001629: email notification clear triggers failure in startup r=asuth

========

https://hg.mozilla.org/integration/gaia-central/rev/d45cc778051b
Author: jrburke <jrburke@gmail.com>
Desc: Bug 1001629: email notification clear triggers failure in startup
2014-08-15 11:35:31 -07:00
Ryan VanderMeulen aca2e09af9 Bug 1026805 - Disable frequently-hanging mozapps tests on OSX. a=me 2014-08-15 14:32:11 -04:00