Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Перейти к файлу
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
accessible Bug 1048752. Part 16: Move nsFrameSelection::HINT to CaretAssociationHint.h. r=tn 2014-08-06 17:19:27 +12:00
addon-sdk Merge inbound to m-c. a=merge 2014-08-09 11:19:46 -04:00
b2g Merge b2g-inbound to m-c. a=merge 2014-08-15 17:03:00 -04:00
browser Merge fx-team to m-c. a=merge 2014-08-15 16:22:55 -04:00
build Bug 1023585 - Remove suppression for AllocateArrayBufferContents now that the leak is fixed. r=khuey 2014-08-15 14:00:53 -07:00
caps Backed out changesets 5b1a3161f614, 17a9673ed782, and a9b8c346d295 (bug 1052052) for B2G non-unified bustage. 2014-08-14 17:23:10 -04:00
chrome Bug 1051102 - Make mPackagesHash be a more modern hashtable. r=bsmedberg 2014-08-11 11:13:36 -07:00
config Bug 1029155 - Store peer certificate chain from failed connections on TransportSecurityInfo r=keeler 2014-08-15 11:27:22 -07:00
content Bug 1048752. Part 16: Move nsFrameSelection::HINT to CaretAssociationHint.h. r=tn 2014-08-06 17:19:27 +12:00
db/sqlite3 Bug 1047267 - Move remaining OS_LIBS and EXTRA_LIBS to moz.build. r=gps 2014-08-07 14:21:03 +09:00
docshell Bug 625012 - Handle multipart responses in ImageDocument::OnStartRequest correctly. r=bz 2014-07-29 15:23:22 -07:00
dom Bug 1048752. Part 17: Rename Get/SetCaretDOMSelection to Get/SetSelection. r=tn 2014-08-06 17:19:27 +12:00
editor Bug 1048752. Part 17: Rename Get/SetCaretDOMSelection to Get/SetSelection. r=tn 2014-08-06 17:19:27 +12:00
embedding Bug 1050009 - Initialize pldhash tables with a length, not a capacity. r=roc. 2014-08-06 06:31:21 -07:00
extensions Backed out changesets 5b1a3161f614, 17a9673ed782, and a9b8c346d295 (bug 1052052) for B2G non-unified bustage. 2014-08-14 17:23:10 -04:00
gfx Bug 1049957 - Fixes from reviews. - r=kamidphish 2014-08-15 17:38:09 -07:00
hal Backed out changeset 07c91b928cd7 (bug 932698) for causing bug 1047618. a=me 2014-08-01 16:46:21 -04:00
image Bug 625012 - Handle multipart responses in ImageDocument::OnStartRequest correctly. r=bz 2014-07-29 15:23:22 -07:00
intl Bug 1053611 - Remove some unnecessary moz.build files under intl/uconv; r=gps 2014-08-14 17:38:16 -04:00
ipc Backed out changesets 5b1a3161f614, 17a9673ed782, and a9b8c346d295 (bug 1052052) for B2G non-unified bustage. 2014-08-14 17:23:10 -04:00
js Bug 950745 - Back out assertions that are triggering too often 2014-08-15 16:16:42 -07:00
layout Bug 1048752. Part 22: Factor out SelectionLanguageChange call to run early in nsCaret::GetPaintGeometry. r=tn 2014-08-06 17:19:28 +12:00
media Bug 1053792 - Fix some bad implicit constructors in the mtransport code; r=jesup 2014-08-15 17:41:29 -04:00
memory Bug 1033442 - Remove non-pod malloc from MallocProvider and AllocPolicy; r=jonco 2014-08-08 13:22:39 -07:00
mfbt Bug 1049957 - Increase MakeUnique max params to 8. - r=waldo 2014-08-15 17:38:06 -07:00
mobile Merge m-c to inbound. a=merge 2014-08-15 17:04:03 -04:00
modules Follow-up for bug 944938 to fix typo. r=me and DONTBUILD 2014-08-14 17:46:47 -04:00
mozglue Bug 1045847 - Initialize sProcessType really, really early (r=khuey) 2014-08-08 17:52:12 -07:00
netwerk Merge m-c to inbound. a=merge 2014-08-15 17:04:03 -04:00
nsprpub Bug 1049006 - Update Mozilla 33 to use NSS 3.17 final and NSPR 4.10.7 final, r=wtc 2014-08-13 21:47:00 +02:00
other-licenses [PATCH 01/15] Bug 1043745 - Use SkColorType and SkImageInfo instead of SkBitmap::Config r=mattwoodrow 2014-07-27 20:47:43 -04:00
parser Bug 1051858: Update UUIDs that should have been revved in bug 741295. r=smaug 2014-08-14 10:38:29 +12:00
probes Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
profile Bug 1047878 - Flatten profile/public/ directory. r=bsmedberg 2014-08-07 21:52:04 -07:00
python bug 1050922 - Add an update method to FlagsFactory.Flags. r=gps 2014-08-14 12:12:04 -04:00
rdf Bug 1047267 - Move remaining OS_LIBS and EXTRA_LIBS to moz.build. r=gps 2014-08-07 14:21:03 +09:00
security No bug - Add trailing newlines for non-Android Linux sandbox logging. r=kang 2014-08-14 15:39:14 -07:00
services Bug 1053315 - Catch more errors during upload; r=bsmedberg 2014-08-13 11:18:22 -07:00
startupcache Bug 1047267 - Move remaining OS_LIBS and EXTRA_LIBS to moz.build. r=gps 2014-08-07 14:21:03 +09:00
storage Bug 1049068 - Part 5: Remove unused CallStack params. r=froydnj 2014-08-08 11:43:58 -07:00
testing Bug 1023371 - Refactor mozcrash to seperate out the IO from the stack inspection, r=ted.mielczarek 2014-08-15 23:19:34 +01:00
toolkit Backed out changeset 3ad9f60f1972 (bug 1032055) for B2G ICS bustage. 2014-08-15 23:14:30 -04:00
tools Bug 1053140 part 3 - Separate out sandbox infrastructure from moz.build variables storage. r=gps 2014-08-15 13:52:18 +09:00
uriloader Bug 1044215: extended nsIWebProgressListener with tracking protection events (r=smaug) 2014-08-07 13:31:22 -07:00
view Bug 1048246 - Fix more bad implicit constructors in layout; r=roc 2014-08-07 19:48:38 -04:00
webapprt Bug 1045783 - Move most OS_LIBS to moz.build and do some related cleanup. r=mshal 2014-08-06 07:25:33 +09:00
widget Bug 1053576: Fix VS2013 build regression from bug in nsTextStore.cpp, r=masayuki 2014-08-13 17:35:15 -07:00
xpcom Backed out changesets 5b1a3161f614, 17a9673ed782, and a9b8c346d295 (bug 1052052) for B2G non-unified bustage. 2014-08-14 17:23:10 -04:00
xpfe Bug 1047873 - Flatten xpfe/appshell/{public,src}/ directories. r=Neil 2014-08-02 13:44:23 -07:00
xulrunner Bug 1047267 - Move remaining OS_LIBS and EXTRA_LIBS to moz.build. r=gps 2014-08-07 14:21:03 +09:00
.clang-format Bug 965120 - Use .clang-format to set tree default format; r=gps 2014-01-30 14:27:44 +13:00
.clang-format-ignore Bug 967361 - Fix .clang-format-ignore on Windows. r=gps 2014-02-04 17:25:04 +13:00
.gdbinit Bug 848796 part 1. Rename nsXULDocument to mozilla::dom::XULDocument. r=ms2ger 2013-03-26 11:31:53 -04:00
.gitignore Bug 1007486 - Ignore tag files generated by GNU Global. r=ted 2014-05-07 20:32:00 -04:00
.hgignore Bug 1031025 - Add generated/downloaded Loop unit test files r=jorendorff 2014-06-27 15:25:03 -05:00
.hgtags No bug - Tagging mozilla-central dc23164ba2a2 with FIREFOX_AURORA_33_BASE a=release DONTBUILD CLOSED TREE 2014-07-21 14:15:06 -07:00
.lldbinit Bug 960300 - Put a .lldbinit in the objdir and in dist/bin/, which load the .lldbinit in topsrcdir. r=glandium 2014-01-21 14:47:05 +11:00
.lock Bug 1041845 - Apply image-rendering: -moz-crisp-edges style to favicons throughout the UI when resolution is 2dppx. r=MattN 2014-08-11 14:03:00 -04:00
.reviewboardrc Bug 943747 - Add a .reviewboardrc file; r=mconley 2013-11-27 14:13:18 +08:00
AUTHORS
Android.mk Bug 794297: Block the android build system from looking in mozilla-central. r=mwu 2012-09-25 17:04:01 -07:00
CLOBBER [PATCH 08/15] Bug 1017113 - Update Skia to 2014-07-28 r=upstream 2014-07-28 15:06:12 -04:00
LEGAL
LICENSE
Makefile.in Bug 1035599: Merge the mozilla-central and comm-central objdir, r=gps 2014-08-07 19:27:58 -05:00
README.txt No bug: the OVERRIDE HOOK is stupid. 2014-01-21 08:23:43 -08:00
aclocal.m4 Bug 975011 - Allow js/src/configure to invoke the in-tree NSPR configure. r=glandium 2014-02-25 14:15:16 -08:00
client.mk Bug 1042432 - Change how UPLOAD_EXTRA_FILES is passed down from mozconfig.cache to the build system. r=mshal 2014-08-14 07:15:35 +09:00
client.py Bug 988724: Remove webidl updating bits from client.py that are long dead. r=glandium 2014-04-01 11:33:27 +08:00
configure.in bug 1030963 - remove non-standard window.crypto functions/properties r=jst r=briansmith r=glandium 2014-08-14 09:38:42 -07:00
mach Bug 1043144 - Don't write machc bytecode file; r=mshal 2014-08-05 10:39:24 -07:00
moz.build Bug 1047267 - Move remaining OS_LIBS and EXTRA_LIBS to moz.build. r=gps 2014-08-07 14:21:03 +09:00
mozilla-config.h.in Bug 976898 - Move the sdkdecls.h force-include out of the build system; r=bbondy,glandium 2014-02-28 08:17:22 -05:00

README.txt

An explanation of the Mozilla Source Code Directory Structure and links to
project pages with documentation can be found at:

    https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure

For information on how to build Mozilla from the source code, see:

    http://developer.mozilla.org/en/docs/Build_Documentation

To have your bug fix / feature added to Mozilla, you should create a patch and
submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at:

    http://developer.mozilla.org/en/docs/Creating_a_patch
    http://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree

If you have a question about developing Mozilla, and can't find the solution
on http://developer.mozilla.org, you can try asking your question in a
mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups
are accessible on Google Groups, or news.mozilla.org with a NNTP reader.]

You can download nightly development builds from the Mozilla FTP server.
Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy. Firefox nightlies, for example, can be found at:

    ftp://ftp.mozilla.org/pub/firefox/nightly/latest-trunk/
            - or -
    http://nightly.mozilla.org/