Commit graph

1094 commits

Author SHA1 Message Date
Xidorn Quan
90c5357c7f Bug 1160847 part 2 - Add glue to nsBidiPresUtils to use support for bidi isolate in nsBidi. r=jfkthame
This patch is mainly based on smontagu's wip patch. Some non-trivial differences:

* BidiParagraphData.mIsolateCount and related code are not added in this patch.
  I investigated uses of this field in the wip patch, and it seems to me none of
  them makes sense:
  1. in the fast path of nsBidiPresUtils::ResolveParagraph, if there would be
     any isolate character in the surrounding text, there must exist more than
     one runs, which indicates the isolate count condition is redundant.
  2. in handle of br frame in nsBidiPresUtils::TraverseFrames, based on my
     understanding of "CSS Writing Modes Level 3" section "2.4.4. Paragraph
     Breaks Within Embeddings and Isolates", the resolving should happen
     unconditionally.

* {control,override}Char in nsBidiPresUtils::TraverseFrames are assigned
  unconditionally when in a bidi inline container, so that we can properly
  handle it when there are continuations. I suspect this was the reason of
  regressions in dynamic reftests from the wip patch mentioned in comment 1.

MozReview-Commit-ID: LUdBAapA48e

--HG--
extra : source : 28fa56b841de689691375e8e2d5e56014921b48e
2016-06-29 17:47:00 +10:00
Brad Werth
bb6b3396a0 Bug 1243559 - Removes static casts from calls to FrameProperties::Get, ::Set, and ::Remove, and forces callers to use the type associated with the property. r=dbaron 2016-06-21 13:17:11 -07:00
Makoto Kato
fb90c3584f Bug 1203871 - Part 1. Add nsIFrame::GetCharacterRectsInRange. r=jfkthame
Masayuki suggests GetCharcterRectsInRange instead of first idea's API by part 2 implementation.

IME wants to need the width per character.  Now nsTextFrame/nsIFrmae has only API to get point of string.  So I want to add this method to calculate simply by comment #3.

If no text frame,  I would like to return error due to no character.  (Caller shouldn't call this API on non-text frame.)

MozReview-Commit-ID: LQHUTzhnGn

--HG--
extra : rebase_source : bc495493c7be73afb05489ad2169e8dcdd6e6da4
extra : histedit_source : e54a7c3bfb100765317a0c8a83b432d5f706ffe1
2016-06-23 12:02:14 +01:00
Xidorn Quan
5c09ece8ab Bug 1281457 - Compute justification spacing eagerly in SetupJustificationSpacing. r=jfkthame
Before this change, SetupJustificationSpacing calls ComputeJustification
to compute how justification gaps are assigned to characters, and store
them in the PropertyProvider instance. When GetSpacing is called, those
information would be used to compute actual spacings from justification
before/after each character.

The bug is that, GetSpacing did not take gaps before the given range
into account when computing the spacing, which leads to unstable results
when range varies because of ignorance of accumulated error.

This patch changes it to eagerly computing the actual spacings inside
SetupJustificationSpacing, so that GetSpacing just queries the result
from mJustificationSpacings.

MozReview-Commit-ID: HoWqeOhD85w

--HG--
extra : source : 3838277a3883b6958293cb043bd14d8462bf4e8e
2016-06-28 10:26:47 +10:00
Phil Ringnalda
28ae5ce216 Back out changeset 0bb00282a4c2 (bug 1243559) for widespread SVG assertion failures
CLOSED TREE
2016-06-22 18:45:08 -07:00
Brad Werth
179aa18d0d Bug 1243559 - Removes static casts from calls to FrameProperties::Get, ::Set, and ::Remove, and forces callers to use the type associated with the property. r=dbaron
--HG--
extra : rebase_source : fd19554f1611f8028a364ce93e833d8939688bfb
2016-06-21 13:17:11 -07:00
Xidorn Quan
05dcd227c5 Bug 1281099 part 2 - Merge three bidi frame properties into one. r=jfkthame
MozReview-Commit-ID: CEJhM3c21KO

--HG--
extra : rebase_source : 9e21c098692429ad3b35b2230887faf85c967ce8
2016-06-21 17:53:10 +10:00
Xidorn Quan
c81ed5494f Bug 1281099 part 1 - Convert some macros to functions to help later change. r=jfkthame
MozReview-Commit-ID: 2OS5eIsNAYN

--HG--
extra : rebase_source : 345e33f986aa950eb122c1cc7451c7a59a8f84cb
2016-06-21 17:21:09 +10:00
Xidorn Quan
c9fe7c3435 Bug 1186892 - Handle url strikeout separately from IME selection types. r=jfkthame
MozReview-Commit-ID: CVwoKiMOHj9

--HG--
extra : source : d3aa2bc573dd575f12a1e585792cfaf37a7f5659
2016-06-21 08:19:21 +10:00
Masayuki Nakano
9fdc31aea3 Bug 1278014 part.14 Rename SelectionType::SELECTION_URLSTRIKEOUT to SelectionType::eURLStrikeout r=smaug
MozReview-Commit-ID: 7AqeDbHxGE2

--HG--
extra : rebase_source : 2dada2c98e1186aa7f5699b8d11033eae50ba2c6
2016-06-09 20:58:56 +09:00
Masayuki Nakano
a0eb51f54d Bug 1278014 part.13 Rename SelectionType::SELECTION_URLSECONDARY to SelectionType::eURLSecondary r=smaug
MozReview-Commit-ID: C2IW7nqjEkD

--HG--
extra : rebase_source : a64cd80650fe51dbc5586511ad8c3287a0ec3225
2016-06-09 20:47:48 +09:00
Masayuki Nakano
ebf3bc1862 Bug 1278014 part.12 Rename SelectionType::SELECTION_FIND to SelectionType::eFind r=smaug
MozReview-Commit-ID: BZxBnCDBghi

--HG--
extra : rebase_source : 099d1043c7e69f3c49a2d4e34190cbd7c4532107
2016-06-09 20:35:20 +09:00
Masayuki Nakano
10f047dba5 Bug 1278014 part.10 Rename SelectionType::SELECTION_IME_SELECTEDCONVERTEDTEXT to SelectionType::eIMESelectedClause r=smaug
MozReview-Commit-ID: 8v3mqcYorOI

--HG--
extra : rebase_source : a6823273c161eabbfa9e49e689154e547c14a106
2016-06-09 19:29:29 +09:00
Masayuki Nakano
aa3d2a6ce9 Bug 1278014 part.9 Rename SelectionType::SELECTION_IME_CONVERTEDTEXT to SelectionType::eIMEConvertedClause r=smaug
MozReview-Commit-ID: 5UNqhB2ZEcZ

--HG--
extra : rebase_source : 74d41ddf5496bdc50306bf916251df4f8d65a65b
2016-06-09 19:14:17 +09:00
Masayuki Nakano
ff86f10a4c Bug 1278014 part.8 Rename SelectionType::SELECTION_IME_SELECTEDRAWTEXT to SelectionType::eIMESelectedRawClause r=smaug
MozReview-Commit-ID: DgprOxg87K6

--HG--
extra : rebase_source : 2f655353845292c4e8028f6e43f0dbbbfea11b68
2016-06-09 19:03:40 +09:00
Masayuki Nakano
569677d2f1 Bug 1278014 part.7 Rename SelectionType::SELECTION_IME_RAWINPUT to SelectionType::eIMERawClause r=smaug
MozReview-Commit-ID: BRe10Lyx5mt

--HG--
extra : rebase_source : e57239239fe8029040ce49faff9e37c5ad0b8305
2016-06-09 18:51:49 +09:00
Masayuki Nakano
a1636168ba Bug 1278014 part.6 Rename SelectionType::SELECTION_SPELLCHECK to SelectionType::eSpellCheck r=smaug
MozReview-Commit-ID: 4n2jEVax37O

--HG--
extra : rebase_source : eb8c0dbedfeac83de330ccef874525dea355b52c
2016-06-09 18:37:36 +09:00
Masayuki Nakano
d960ef26d5 Bug 1278014 part.5 Rename SelectionType::SELECTION_NORMAL to SelectionType::eNormal r=smaug
MozReview-Commit-ID: AAdxTTKEvrk

--HG--
extra : rebase_source : 82e10db6b8b17d4f571625e34bb3c8f1905ef58a
2016-06-09 18:35:22 +09:00
Masayuki Nakano
b58c08cb8f Bug 1278014 part.4 Rename SelectionType::SELECTION_NONE to SelectionType::eNone r=smaug
MozReview-Commit-ID: BRfzs8sColP

--HG--
extra : rebase_source : a5190cb20c263b01205e1ff75c76b2970c229b4e
2016-06-09 18:07:18 +09:00
Masayuki Nakano
581b9986bb Bug 1278014 part.3 Define 2 constants for number of SelectionType and number of SelectionType except "none" r=smaug
This patch defines two constants kSelectionTypeCount and kPresentSelectionTypeCount.  The former is same as nsISelectionController::NUM_SELECTIONTYPES.  The latter is kSelectionTypeCount - 1 for excluding SELECTION_NONE.  The latter is useful in some loops which handle all selection types except SELECTION_NONE.

Note that this patch fixes a bug of nsFrameSelection.  That doesn't treat SELECTION_NONE as a selection (see the definition of index), however, it defines redundant item and doesn't use it actually.  Additionally, it computes invalid selection type in each loop.  Therefore, without this patch, debug build hits MOZ_ASSERT() in ToSelectionType(RawSelectionType).

Note that these constants are defined as anonymous enum because we cannot define as const (or static) even with extern.  If we'd try to do it, it caused link error or not available in nsFrameSelection.cpp as constant value since they were not initialized if they were initialized in nsSelection.cpp.  Therefore, these constants are defined as enum items but using "k" prefix.

MozReview-Commit-ID: H6sH7NBEXlE

--HG--
extra : rebase_source : fd517d5fc2e2d5dc2f96313e2802fd1719817af7
2016-06-11 11:12:26 +09:00
Masayuki Nakano
00591135a4 Bug 1278014 part.2 Define mozilla::SelectionType as an enum class and use it instead of RawSelectionType as far as possible r=smaug
This patch defines mozilla::SelectionType as an enum class.  This is safer than nsISelectionController::SELECTION_* since setting illegal value to its variable is checked at build time.  So, as far as possible, this should be used everywhere (but of course, this isn't available in scriptable interfaces).

And also this implements some useful methods for managing SelectionType and RawSelectionType which are implemented in layout/nsSelection.cpp because nsISelectionController is implemented by both PresShell and nsTextEditorState.  Therefore, implementing one of them may make hard to find them.  On the other hand, nsSelection.cpp is a better file name to look for them.

Note that this patch creates mozilla::Selection::RawType() for binding.  Native code should keep using Selection::Type() but the binding code needs to use RawType() due to impossible to convert from SelectionType to RawSelectionType without explicit cast.

MozReview-Commit-ID: 81vX7A0hHQN

--HG--
extra : rebase_source : d9f88e217c713c60d1c2578ce6421c73ccba8650
2016-06-11 11:06:37 +09:00
Masayuki Nakano
17f667a2e2 Bug 1278014 part.1 Rename SelectionType in nsISelectionController.idl to mozilla::RawSelectionType r=smaug
mozilla::SelectionType will be an enum class. Therefore, we need to rename SelectionType with a word "raw" since it's a type for raw nsISelectionController::SELECTION_*.

MozReview-Commit-ID: K8SO0bbpv0Y

--HG--
extra : rebase_source : 56e3ac852657ef4795d718d2da09b16903c2e66c
2016-06-07 22:42:06 +09:00
Carsten "Tomcat" Book
6439e7004c merge mozilla-inbound to mozilla-central a=merge 2016-06-08 11:57:53 +02:00
Nicholas Nethercote
65989a693d Bug 1278452 - Remove an unnecessary null check in layout/generic/. r=heycam.
mLineContainer is dereferenced shortly before and after the check, so it's
obviously not useful.

--HG--
extra : rebase_source : c8639197a10116e1251945f15edec6601a46265c
2016-06-07 14:45:38 +10:00
Xidorn Quan
2ee773aede Bug 1277937 - Fix SELECTION_URLSTRIKEOUT. r=jfkthame
MozReview-Commit-ID: LumW94mTX4X
2016-06-07 16:12:15 -07:00
Xidorn Quan
1f74381c1c Bug 1268342 part 3 - Treat orthogonal text frame as non-text frame when applying justification gap. r=jfkthame
Also correct the comment in ComputeJustification.

MozReview-Commit-ID: AWGGuupFLze

--HG--
extra : source : d0c6c36ab0770015a19134a9e2ec9652c171e46e
2016-05-30 09:24:18 +10:00
Xidorn Quan
3b26ebeeef Bug 1275059 - Simple fix for this bug. r=jfkthame
MozReview-Commit-ID: IVScO6eV6RP

--HG--
extra : source : d60cc6ea7a92f144f4efdea382a84250f7dd2576
2016-05-25 09:54:37 +10:00
CJKu
3e44bcb79b Bug 1269971 - Part 7. Clean out unused things created in bug 759568; r=jfkthame
MozReview-Commit-ID: 4spLj1fgthI

--HG--
extra : rebase_source : 02261090faab2c37cf5e9c35b223832ec3af59cf
2016-05-13 00:09:39 +08:00
CJKu
39f4a65281 Bug 1269971 - Part 4. Add text stroke into text mask; r=jfkthame
MozReview-Commit-ID: IkaLMEX5q0T

--HG--
extra : rebase_source : 14ef2f4e033121873cbb51e437c3e7690c963fdb
2016-05-13 00:09:05 +08:00
CJKu
31d52bc0c4 Bug 1269971 - Part 3. Handle selection text color and selection backgrond painting; r=jfkthame
MozReview-Commit-ID: CQmqiCmvygr

--HG--
extra : rebase_source : 271b8d2aae82c02678637bcbbb3a77bc7c5b43f8
2016-05-13 00:08:53 +08:00
CJKu
b901424670 Bug 1269971 - Part 2. From ClipBackgroundByText to GenerateAndPushTextMask; r=jfkthame,mtseng
MozReview-Commit-ID: 1PK2Huytq3i

--HG--
extra : rebase_source : 71f3e70694d874d5d575b12f882980544b1931e2
2016-05-13 00:08:41 +08:00
CJKu
ea85bf6191 Bug 1269971 - Part 1. Rename IsForGenerateGlyphPath to IsForGenerateGlyphMask; r=jfkthame
MozReview-Commit-ID: 80DZsEAvXxB

--HG--
extra : rebase_source : 2b6205ad119265679b28d06056c3b433aab445c8
2016-05-13 00:08:30 +08:00
Matt Woodrow
47cde44daf Bug 1243610 - Refactor UpdateOverflow to separate out local overflow from that contributed by descendants. r=dbaron 2016-05-04 12:27:43 +12:00
Aryeh Gregor
f7bc47d59b Bug 1193762 part 7 - Use .get() when assigning to variables; r=froydnj
Unlike when returning an nsCOMPtr in a ternary operator or passing to a
function, I used .get() here, since the operation is actually unsafe and
deserves to be marked explicitly.
2016-05-01 21:29:23 +03:00
CJKu
3acf2e463b Bug 1266948 - text-decoration-color: currentcolor should not use value from -webkit-text-fill-color; r=jfkthame
MozReview-Commit-ID: 2SfENZieSzQ

--HG--
extra : rebase_source : 3880f8fd6ae18e9f4b1cbf0a2f5eff48c060548b
2016-04-26 23:56:44 +08:00
Jeremy Chen
f7a19af3e7 Bug 1248708 - Part2.2: render -webkit-text-stroke property. r=jfkthame 2016-04-23 01:40:39 +08:00
Xidorn Quan
f819b73b7b Bug 1097499 part 14 - Draw emphasis marks properly for text-combine-upright. r=jfkthame
MozReview-Commit-ID: 2bHWXxZDVGk

--HG--
extra : source : 492cd1cb7e3bc5e776042fddc2a656ec9160a2a9
2016-04-22 09:18:41 +10:00
Xidorn Quan
e775e87790 Bug 1097499 part 13 - Draw decoration line properly for text-combine-upright. r=jfkthame
MozReview-Commit-ID: AymG09nvxh1

--HG--
extra : source : 579ca910016a1af95bb36b66d2ceb309d40288d3
2016-04-22 09:18:41 +10:00
Xidorn Quan
5f02c3cba1 Bug 1097499 part 12 - Handle spacing sensibly for text-combine-upright. r=jfkthame
MozReview-Commit-ID: DSBMUcccfNi

--HG--
extra : source : f03b556d12d5c28f7d8e3af3d7977470784eea76
2016-04-22 09:18:41 +10:00
Xidorn Quan
d8f6beea61 Bug 1097499 part 9 - Transform full-width characters to non-full-width correspondents for combined text. r=jfkthame
MozReview-Commit-ID: CXntBz9HPJu

--HG--
extra : source : 950029490bd0f6d5900140693e8ab193a9efe543
2016-04-22 09:18:41 +10:00
Xidorn Quan
79d3a9f880 Bug 1097499 part 5 - Layout text combine upright. r=jfkthame
MozReview-Commit-ID: 2HnXJ8bEvJH

--HG--
extra : source : bb721afad795a27f30e5a25479a1fd5c346970a4
2016-04-22 09:18:41 +10:00
Jonathan Kew
c60f6a1ae4 Bug 1266391 - Introduce an enum class mozilla::unicode::Script, and use this instead of bare integers to specify script codes for better type checking. r=masayuki 2016-04-21 18:58:59 +01:00
Jonathan Kew
74a35a7eee Bug 1265648 followup - Use an array of UniquePtr<> for mTextRunsToDelete. r=mats 2016-04-20 10:55:15 +01:00
Jonathan Kew
97936698fe Bug 1265648 - Remove the global nsTextFrameTextRunCache, as it no longer serves any useful purpose. r=mats 2016-04-20 10:54:43 +01:00
Jonathan Kew
cb1c20b3c3 Bug 1265459 - Replace uses of nsAutoPtr<gfxTextRun> with UniquePtr, and let MakeTextRun and similar methods return a UniquePtr. r=jrmuizel 2016-04-19 17:13:28 +01:00
Markus Stange
0466d2c67d Bug 1265568 - Don't require component alpha layers for text with -moz-osx-font-smoothing:grayscale. r=jfkthame,mattwoodrow
MozReview-Commit-ID: KujmkbgadPo

--HG--
extra : rebase_source : df1db96206175e846652f3d5b247978fb5005bd2
2016-04-18 19:41:50 -04:00
CJKu
f530904493 Bug 1261578 - Part 2. Correct text decoration color; r=jfkthame
MozReview-Commit-ID: LfZnmTnL5KY

--HG--
extra : rebase_source : 1bb95f3a8b59c2897f55e1f17ee8168366ca1cf5
2016-04-19 17:09:54 +08:00
CJKu
ecc0333324 Bug 1261578 - Part 1. Correct text color in selection range; r=jfkthame
MozReview-Commit-ID: 9gBWQ00MtNC

--HG--
extra : rebase_source : a0ad39cd6e887926ce6d633b49d1fd936d91a797
2016-04-19 17:09:42 +08:00
CJKu
45fda349c6 Bug 759568 - Part 3. Render text-selection beneath background image; r=jfkthame
MozReview-Commit-ID: 3VUGqyJOX8Q
2016-04-14 16:28:07 +08:00
CJKu
2afb6ec588 Bug 759568 - Part 2. Render background-clip:text; r=jfkthame
MozReview-Commit-ID: HQHBe7OioWs
2016-04-14 16:28:07 +08:00
Carsten "Tomcat" Book
48bbe10c12 Backed out changeset 6a2e62e8c861 (bug 759568) 2016-04-14 08:57:41 +02:00
Carsten "Tomcat" Book
9447faf13b Backed out changeset e9fc67d8b0fa (bug 759568) 2016-04-14 08:57:39 +02:00
CJKu
61564fb540 Bug 759568 - Part 3. Render text-selection beneath background image; r=jfkthame
MozReview-Commit-ID: 3VUGqyJOX8Q
2016-04-14 12:45:38 +08:00
CJKu
3edbcce808 Bug 759568 - Part 2. Render background-clip:text; r=jfkthame
MozReview-Commit-ID: HQHBe7OioWs
2016-04-14 12:45:38 +08:00
Mats Palmgren
d4dfb9f81d Bug 645647 part 4 - Add an 'm' prefix to some members to follow our naming conventions. r=dholbert 2016-04-14 01:32:12 +02:00
Xidorn Quan
0a46b60739 Bug 1229743 part 2 - Fix up decoration rect computation for vertical-rl and sideways-lr. r=jfkthame
MozReview-Commit-ID: BjJ9jhmBy1X

--HG--
extra : rebase_source : 0e3ad2bf7269c2cbb3f4537444fa49a3c8d72bbe
2016-04-11 17:14:34 +10:00
Xidorn Quan
510f88e73a Bug 1229743 part 1 - Simplify text decoration handling code with lambda function and range-based for loop. r=jfkthame
MozReview-Commit-ID: 4q2tetC74Ab

--HG--
extra : rebase_source : 475cae7237caa5bf5f807aba9be365d87400a1cc
2016-04-11 12:00:43 +10:00
Sebastian Hengst
c9828de0c3 Backed out changeset e64951d74d2a (bug 759568) 2016-04-12 17:55:44 +02:00
Sebastian Hengst
1942339f7b Backed out changeset 21551ed8f1e1 (bug 759568) 2016-04-12 17:55:36 +02:00
CJKu
7c3766dbb4 Bug 759568 - Part 3. Render text-selection beneath background image; r=jfkthame
MozReview-Commit-ID: 3VUGqyJOX8Q
2016-04-12 21:58:22 +08:00
CJKu
70f4e828d2 Bug 759568 - Part 2. Render background-clip:text; r=jfkthame
MozReview-Commit-ID: HQHBe7OioWs
2016-04-12 21:58:22 +08:00
Xidorn Quan
7fc0c87369 Bug 1220438 - Correct baseline offset computation of text decoration for vertical-rl. r=jfkthame
MozReview-Commit-ID: 5VHapeQ6mBU

--HG--
extra : rebase_source : 9814a77550a0d2125f6d3ba7e55594929b65fd8b
2016-04-01 16:29:31 +11:00
Jeremy Chen
49cb886e74 Bug 1261568 - part1: take -webkit-text-fill-color into consideration while
building displaylist for text frame. r=jfkthame

--HG--
extra : commitid : 6qd1b5QuedD
extra : rebase_source : 4a445ebb92610944ad1b131fb4ba262d4b3cfc8b
2016-04-05 12:35:44 +08:00
Mats Palmgren
1977ca7749 Bug 1216001 - Fix a typo that eliminated a possible paint optimization. r=xidorn 2016-04-01 02:08:15 +02:00
Jeremy Chen
ac81ba2c95 Bug 1247777 - Part2: implement -webkit-text-fill-color rendering. r=jfkthame
--HG--
extra : commitid : 3L1KflCYhR3
2016-03-25 15:54:50 +08:00
Xidorn Quan
d0fc466aa2 Bug 1258636 part 2 - Use struct to pass params for nsTextFrame::PaintDecorationLine. r=jfkthame
MozReview-Commit-ID: CICgNSPRrLM

--HG--
extra : rebase_source : 2901710ea2806a98b3520dc729c4f4d4ba2d56b2
2016-03-22 17:42:18 +08:00
Xidorn Quan
c1a6d087c3 Bug 1258636 part 1 - Use structs to pass params for decoration-related functions in nsCSSRendering. r=jfkthame
MozReview-Commit-ID: 5EJJVmM1pyK

--HG--
extra : rebase_source : 290efcbe41f85fef3a577ff26b4553f195a7fde9
2016-03-22 16:51:15 +08:00
Xidorn Quan
60bcaa5c0b Bug 1257121 part 4 - Use return value rather than out param to return font metrics. r=jfkthame
MozReview-Commit-ID: 6xrHYbgHGVd

--HG--
extra : rebase_source : 4d0cea24689588d8a1daa1869502e31ac7c3dc56
2016-03-17 13:55:48 +08:00
Ting-Yu Lin
02389a3aba Bug 1251519 Part 1 - Remove nsTextFrameBase as an nsFrame alias. r=mats
Bug 655877 Part 20 made this deliberately to let nsTextFrame
QueryFrame-able. https://hg.mozilla.org/mozilla-central/rev/d8c6025c0881

But other types like nsPlaceholderFrame or nsBulletFrame are also
implemented QureyFrame, which do not have this inheritance indirection.
I guess it was for historical reason, and can be removed safely.

MozReview-Commit-ID: CPeQvpKzEKh

--HG--
extra : rebase_source : 86e784648cab3982ff16b3d45a312b98cd963841
2016-03-10 17:38:31 +08:00
Xidorn Quan
b022cd37f8 Bug 1251995 part 7 - Use struct to pass params for nsTextFrame::Paint*Shadow functions. r=jfkthame
MozReview-Commit-ID: 5Wa9U0Ile4L

--HG--
extra : source : 95464b236e0e5c52495445a94301791a25668094
2016-03-08 15:56:18 +08:00
Xidorn Quan
40f8859cc1 Bug 1251995 part 6 - Use struct to pass params for nsTextFrame::PaintText* functions. r=jfkthame
MozReview-Commit-ID: NTEUm8TY8N

--HG--
extra : source : d1f1d14ddf9df26f07a28a36e54216b8ad6ff5fb
2016-03-08 15:56:18 +08:00
Xidorn Quan
e1002ffcb3 Bug 1251995 part 5 - Unify units of dirty rect used for painting text frame. r=jfkthame
MozReview-Commit-ID: BK7j6y7lBV3

--HG--
extra : source : 4403438493793ddfa7356cab2438d050f8a66da1
2016-03-08 15:56:18 +08:00
Xidorn Quan
8ade98d572 Bug 1251995 part 4 - Use struct to pass params for nsTextFrame::DrawText* functions. r=jfkthame
MozReview-Commit-ID: LYshkPDrqYl

--HG--
extra : source : 5de24f7944a12e0d20ca83b4b2eceeaf56fc5efd
2016-03-08 15:56:18 +08:00
Xidorn Quan
1a5d64446b Bug 1251995 part 3 - Use struct to pass params for gfxTextRun::Draw. r=jfkthame
MozReview-Commit-ID: HAqtS3VXPHH

--HG--
extra : source : e6a45ca0a21666b4e01c217e0bb42772e4dd918f
2016-03-08 15:56:18 +08:00
Xidorn Quan
b3ea3fa801 Bug 1251995 part 2 - Add gfxTextRun::Range to replace parameter pairs like (offset, length) and (start, end). r=jfkthame
Although this makes some places more complicated, code should generally
be simpler and clearer. It could slightly improve performance on x64 for
functions with more than four parameters, since it makes more data be
passed via registers rather than the stack.

MozReview-Commit-ID: D0GM2Jyrr6W

--HG--
extra : source : bd88a2e478e23edf1845f724a32fef908c8cc007
2016-03-08 15:56:18 +08:00
Xidorn Quan
ab357753a9 Bug 1251995 part 1 - Add helper functions to simplify code. r=jfkthame
MozReview-Commit-ID: 6UBvmEpo12f

--HG--
extra : source : d14cafc0e378ab7356c32a0b469ed783244aa48b
2016-03-08 15:56:18 +08:00
Carsten "Tomcat" Book
41a0c1ddb8 Backed out changeset d88221aad093 (bug 1251995) for reftest failures 2016-03-07 12:18:40 +01:00
Carsten "Tomcat" Book
b9f86983b1 Backed out changeset bf004c055beb (bug 1251995) 2016-03-07 12:18:19 +01:00
Carsten "Tomcat" Book
1d0a6281ac Backed out changeset 3f9fbbef0294 (bug 1251995) 2016-03-07 12:18:17 +01:00
Carsten "Tomcat" Book
f30e50acc7 Backed out changeset 9b31d6fb1fcb (bug 1251995) 2016-03-07 12:18:16 +01:00
Carsten "Tomcat" Book
26ad32ef03 Backed out changeset ac1d42c669be (bug 1251995) 2016-03-07 12:18:14 +01:00
Carsten "Tomcat" Book
cf20e3d145 Backed out changeset c36e12ded845 (bug 1251995) 2016-03-07 12:18:13 +01:00
Carsten "Tomcat" Book
128137c7a9 Backed out changeset 734559c25cb1 (bug 1251995) 2016-03-07 12:18:11 +01:00
Xidorn Quan
e64f114346 Bug 1251995 part 7 - Use struct to pass params for nsTextFrame::Paint*Shadow functions. r=jfkthame
MozReview-Commit-ID: 5Wa9U0Ile4L

--HG--
extra : rebase_source : a568bb94fd7d51ed5308e2a1e13c308b67b143f2
2016-03-02 09:41:43 +08:00
Xidorn Quan
a6408cb861 Bug 1251995 part 6 - Use struct to pass params for nsTextFrame::PaintText* functions. r=jfkthame
MozReview-Commit-ID: NTEUm8TY8N

--HG--
extra : rebase_source : 134dd6abcb3cbc61f61b9466be5675b1a0436684
2016-03-01 17:43:06 +08:00
Xidorn Quan
0a4c762195 Bug 1251995 part 5 - Unify units of dirty rect used for painting text frame. r=jfkthame
MozReview-Commit-ID: BK7j6y7lBV3

--HG--
extra : rebase_source : 38b5544d3e572927b64d8066a61bfa9711400199
2016-03-01 16:28:27 +08:00
Xidorn Quan
0f327ddc56 Bug 1251995 part 4 - Use struct to pass params for nsTextFrame::DrawText* functions. r=jfkthame
MozReview-Commit-ID: LYshkPDrqYl

--HG--
extra : rebase_source : 9047819828a41df693fe9e8c663bd2113644ae7a
2016-03-02 13:27:17 +08:00
Xidorn Quan
11bea4b5a2 Bug 1251995 part 3 - Use struct to pass params for gfxTextRun::Draw. r=jfkthame
MozReview-Commit-ID: HAqtS3VXPHH

--HG--
extra : rebase_source : de01c02d3baf3e8c648d6301bd6ff283d76ae212
2016-02-29 19:06:05 +08:00
Xidorn Quan
8e3206382b Bug 1251995 part 2 - Add gfxTextRun::Range to replace parameter pairs like (offset, length) and (start, end). r=jfkthame
Although this makes some places more complicated, code should generally
be simpler and clearer. It could slightly improve performance on x64 for
functions with more than four parameters, since it makes more data be
passed via registers rather than the stack.

MozReview-Commit-ID: D0GM2Jyrr6W

--HG--
extra : rebase_source : 29961e56b5fe14b244046b3dc52b1f922c206218
2016-02-29 16:50:17 +08:00
Xidorn Quan
5b1f34e2f6 Bug 1251995 part 1 - Add helper functions to simplify code. r=jfkthame
MozReview-Commit-ID: 6UBvmEpo12f

--HG--
extra : rebase_source : e967015366b727f199fe3febedc70f1f43f19725
2016-03-04 19:20:43 +08:00
Cameron McCormack
7c95c39734 Bug 1244068 - Part 4: Use StyleSetHandle instead of concrete style set class in most places. r=dholbert 2016-02-24 18:01:11 +11:00
Boris Chiou
185a769719 Bug 1244049 - Part 1: Define scoped enum for CSSPseudoElement type. r=dbaron
--HG--
extra : rebase_source : e53dd269e47fa97eb259ebd9295d012eacbdb612
2016-02-16 23:07:00 +01:00
Mats Palmgren
fad51b17d9 Bug 1216001 part 3 - Cache the result of IsSelected() for the duration of painting. r=bz 2016-02-13 18:40:23 +01:00
Phil Ringnalda
9d0e08b626 Back out 3 changesets (bug 1216001) for Win8 reftest failures in 1193519-sideways-lr-3.html and 1193519-sideways-lr-4.html and intermittent OS X failures in font-display-2.html
CLOSED TREE

Backed out changeset dbadb8fe5803 (bug 1216001)
Backed out changeset a30593ebd58e (bug 1216001)
Backed out changeset c1646ffa71b4 (bug 1216001)
2016-02-11 20:43:41 -08:00
Mats Palmgren
109f95dbe7 Bug 1216001 part 3 - Cache the result of IsSelected() for the duration of painting. r=bz 2016-02-12 02:13:57 +01:00
Birunthan Mohanathas
690e6fe38b Bug 1235261 - Part 3: Switch remaining uses of AutoFallibleTArray to AutoTArray. r=froydnj
This is effectively a no-op because the affected array operations already use
`mozilla::fallible`.
2016-02-02 17:36:30 +02:00
Birunthan Mohanathas
d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Alexander Surkov
08db3d66c1 Bug 1220502 - ignore not visible text nodes for tree update, r=tbsaunde, roc 2016-02-01 17:05:45 -05:00
Phil Ringnalda
d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
720fce4f80 Bug 1235261 - Part 3: Switch remaining uses of AutoFallibleTArray to AutoTArray. r=froydnj
This is effectively a no-op because the affected array operations already use
`mozilla::fallible`.
2016-01-31 17:12:12 +02:00
Birunthan Mohanathas
373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Ting-Yu Lin
1889f6bc41 Bug 1227927 Part 2 - Remove nsIFrame::GetFirstPrincipalChild(). r=mats
--HG--
extra : commitid : 5qtaK1nS8RC
extra : rebase_source : dcc98f423b2446269beb6fa6a9d092ae8213f38e
2016-01-29 22:42:14 +08:00
Xidorn Quan
00b4af1798 Bug 1230034 part 10 - Convert remaining frame properties to by typed and remove the unsafe declaring macro. r=dbaron
--HG--
extra : source : 19140dd4f1640c4600a0f9e0ff790b44f0cd83ca
2016-01-28 14:23:59 +11:00
Xidorn Quan
072dccd81f Bug 1230034 part 6 - Convert all frame properties which do not hold pointer to be typed. r=dbaron
--HG--
extra : source : f95f143e0e521ad2f8726097a484de402c834620
2016-01-28 14:23:59 +11:00
Xidorn Quan
e397870be2 Bug 1230034 part 5 - Convert all frame properties which use DeleteValue and ReleaseValue as destructor to be typesafe. r=dbaron
By changing signature of those two functions, we make compiler complain about
all their existing uses, so we can find all of them and convert them.

Some of the callsites of Get() with those properties are also converted, but not
all of them. It is fine because if there is any incorrect conversion, compilers
is able to find out now. So they are completely typesafe.

--HG--
extra : source : 808415985d3d446f18941eb007a9be9d69d180ce
2016-01-28 14:23:59 +11:00
Xidorn Quan
0b71314608 Bug 1230034 part 3 - Move some frame property declaration around. r=dbaron
--HG--
extra : source : d67dd26db9f0349d2e8ef71f8def9fad7856fe1e
2016-01-28 14:23:59 +11:00
Bogdan Postelnicu
83ca10cf0a Bug 1239251 - Initialize mCommonAncestorWithLastFrame with nullptr in constructor BuildTextRunsScanner. r=roc 2016-01-14 10:49:15 +02:00
Nicholas Nethercote
06e901cb9f Bug 1231550 - Use DrawTarget instead of gfxContext and/or nsRenderingContext in many places in font/text code. r=jfkthame.
AutoTextRun now only needs a DrawTarget instead of an nsRenderingContext, and
similar nsRenderingContext/gfxContext-to-DrawTarget replacements can be
propagated a long way up the call graph. This patch replaces 93 occurrences of
nsRenderingContext and 135 occurrences of gfxContext with DrawTarget; that's
13% of them.

The patch is mostly plumbing changes. A couple of not-entirely-plumbing
changes:

- It adds a comment about the null check in
  gfxGlyphExtents::GetTightGlyphExtentsAppUnits().

- A couple of functions simply had an unused gfxContext or nsRenderingContext
  parameter removed, e.g. SetLineBreaks().

--HG--
extra : rebase_source : 8f56994bb4d254a86788b17ab2864ebc758a7e6b
2015-12-15 13:56:41 -08:00
Nicholas Nethercote
8dba3aa24f Bug 1232822 (part 4) - Remove unused argument from SetPotentialLineBreaks(). r=jfkthame. 2015-12-15 13:56:40 -08:00
Jonathan Kew
a790163053 Bug 1224669 - Clamp width to be non-negative during intrinsic width calculation. r=dholbert 2016-01-01 10:29:27 +00:00
Xidorn Quan
83d158dae8 Bug 1235489 - Remove assertion which is breakable when reflow is interrupted. r=jfkthame
--HG--
extra : source : 34c7ffa581012f771b1324df3f7a7ab95be40c29
2015-12-31 10:50:32 +11:00
Xidorn Quan
5e810b6b20 Bug 1225018 part 2 - Move GetFontMetricsOfEmphasisMarks to nsLayoutUtils. r=jfkthame
--HG--
extra : source : e075456775a4c65a021e084a8fdc1d331343db88
2015-12-08 12:55:01 -05:00
Nicholas Nethercote
ac18a09064 Bug 1230413 (part 4) - Remove unused nsRenderingContext argument from ForceBreak() and OptionallyBreak(). r=mattwoodrow.
--HG--
extra : rebase_source : 750496661635e7db65b26c625834f2d14a1b3e59
2015-12-06 14:13:57 -08:00
Xidorn Quan
ba1aea5e03 Bug 1229739 - Use the color of shadow if available for drawing emphasis marks in shadow. r=jfkthame
--HG--
extra : source : 2e07c6f0480005fea6ea2c0343726baef39d1bc6
2015-12-04 16:28:34 +11:00
Xidorn Quan
8e300673ba Bug 1224013 part 2 - Render text-emphasis outside ruby. r=jfkthame
--HG--
extra : source : e725814ae1bb0ccdaf8852eccd3442a9103f7e3a
2015-12-04 15:16:54 +11:00
Xidorn Quan
1ed71b2fe7 Backed out 8 changesets (bug 1225018, bug 1229278, bug 1224013) for reftest failures on CLOSED TREE
--HG--
extra : amend_source : ee1d38ab6715e193cb1462614b3395c96ca06a0c
extra : histedit_source : 65b6dcb58b89c3cbcfe9a47834baf3181a2990c8%2Cc19e313c6800de1a1906c0db2f2bd4680fe67b78
2015-12-04 13:08:17 +11:00
Xidorn Quan
abc8fa2f7d Bug 1224013 part 3 - Render text-emphasis outside ruby. r=jfkthame
--HG--
extra : source : 48dcb7fee1a27fe8d925fe59534261635a67928d
2015-12-04 12:02:41 +11:00
Nicholas Nethercote
757eb4ec8c Bug 1229202 (part 3) - Make gfxContextAutoDisableSubpixelAntialiasing take a DrawTarget instead of a gfxContext. r=mattwoodrow.
--HG--
extra : rebase_source : 63851ac1725451c7607c00b345ce3334ff749246
2015-12-02 15:32:16 -08:00
Robert O'Callahan
3568d59638 Bug 1221043. Revert to including trailing whitespace for accessibility APIs. r=marcoz,mats
--HG--
extra : commitid : DBGsn68FsG4
extra : rebase_source : 7b8f6211c2719dd017fef7e47d4dcdb3aeadfde4
2015-12-01 02:21:25 +13:00
L. David Baron
f194309cac Bug 1228501 patch 3 - Remove nsFont::BaseEquals. r=jdaggett
BaseEquals and Equals were made the same by patch 2, so BaseEquals can
be removed.

(operator== is also defined as an inlined call to Equals.)

--HG--
extra : commitid : JVYtDCoxqyH
2015-11-30 14:02:25 -08:00
Carsten "Tomcat" Book
d76b6dfebd Backed out changeset 6c478d7a9467 (bug 1228501) 2015-11-30 12:10:37 +01:00
L. David Baron
6f20c9e01e Bug 1228501 patch 3 - Remove nsFont::BaseEquals. r=jdaggett
BaseEquals and Equals were made the same by patch 2, so BaseEquals can
be removed.

(operator== is also defined as an inlined call to Equals.)

--HG--
extra : commitid : ALr3bEC0aNJ
2015-11-29 23:15:02 -08:00
Xidorn Quan
b96f561251 Bug 1040668 part 14 - Add helper function nsStyleUtil::MatchesLanguagePrefix for doing simple language matching. r=dbaron
--HG--
extra : source : b9249b9e2e95cca73c7b3637a58cb1ba3a39596a
2015-11-28 11:56:33 +11:00
Xidorn Quan
6fdb9fbeaa Bug 1040668 part 10 - Implement emphasis mark rendering. r=jfkthame
--HG--
extra : source : 1c53ccbaece3931ffe1da5610977e92fcce5f3f6
2015-11-28 11:56:33 +11:00
Xidorn Quan
72495f58ae Bug 1040668 part 9 - Compute overflow from text-shadow after text decorations. r=dbaron
--HG--
extra : source : 6827c7ef262e47cd42fea6b1a90e09883a7d24dc
2015-11-28 11:56:33 +11:00
Xidorn Quan
376cdf821b Bug 1040668 part 8 - Setup text emphasis for text run. r=jfkthame
--HG--
extra : source : 4f5398b5953c0cf4d57ed0fce5788f1430a5b05d
2015-11-28 11:56:33 +11:00
Ting-Yu Lin
79afc81f6e Bug 1226875 - Remove nsIFrame::GetFirstChild(). r=mats
--HG--
extra : commitid : J8NTL74JosY
extra : rebase_source : 50a196905ac06d09fea17bb1aa17efe821cc7cbb
2015-11-26 17:12:39 +08:00
Xidorn Quan
b0bfc6460a Bug 1227001 part 3 - Remove no longer used mChangedBreaks from BreakSink. r=jfkthame
--HG--
extra : source : d279e229470cab165e28274b5e6045e2ea62f1b7
2015-11-24 10:23:05 +11:00
Xidorn Quan
a6caf098a4 Bug 1227001 part 2 - Remove no longer used mExistingTextRun from BreakSink. r=jfkthame
--HG--
extra : source : a1d68557e1c90b62a3318a81d814c21c75f45ec0
2015-11-24 10:23:05 +11:00
Xidorn Quan
03bc38abaf Bug 1227001 part 1 - Remove SetupBreakSinksFlags from BuildTextRunsScanner. r=jfkthame
--HG--
extra : source : 2ef65b73284b28557846d737f704552a2a474389
2015-11-24 10:23:05 +11:00
Jonathan Kew
022c161e17 Bug 1224230 - Explicitly store the lineContainer's writing mode in InlineIntrinsicISizeData. r=dbaron 2015-11-14 08:46:11 +00:00
Nicholas Nethercote
4f45d5edc0 Bug 1223215 (part 1) - Convert some gfx{Point,Size} to gfx::{Point,Size}. r=roc.
This lets us remove some Thebes{Point,Size}() and To{Point,Size}() calls.

--HG--
extra : rebase_source : dc7a06e70e4a63401144dc4aa67eafeb7eb37320
2015-11-08 20:19:00 -08:00
Simon Montagu
3457b582d2 Bug 1216096: restore previous RTL caret behaviour by backout of bug 1164963, bug 1177505, and bug 1180417. r=jfkthame 2015-11-10 04:42:23 -08:00
Nicholas Nethercote
8198d15f1e Bug 1038663 (part 6, attempt 2) - Allow percentage values for 'word-spacing'. r=heycam. 2015-11-08 16:40:37 -08:00
Nicholas Nethercote
3cde644d8c Bug 1038663 (part 5, attempt 2) - Change GetSpacingFlags(). r=heycam. 2015-11-08 14:49:02 -08:00
Nicholas Nethercote
9ba99963c2 Bug 1038663 (part 4, attempt 2) - Inline StyleToCoord(). r=heycam. 2015-11-08 14:49:02 -08:00
Nicholas Nethercote
163196360e Bug 1038663 (part 3, attempt 2) - Factor out space width computation. r=heycam. 2015-11-08 14:48:58 -08:00
Nicholas Nethercote
a34dc73523 Bug 1038663 (part 2, attempt 2) - Move GetFirstFontMetrics() up. r=heycam. 2015-11-08 13:52:58 -08:00
Nigel Babu
52d7459eca Backed out 6 changesets (bug 1038663) for Android opt R2 bustage
Backed out changeset 97e3492d6080 (bug 1038663)
Backed out changeset d176322f2d36 (bug 1038663)
Backed out changeset f69af9161252 (bug 1038663)
Backed out changeset 8bb77e5fad8c (bug 1038663)
Backed out changeset 954e57438f51 (bug 1038663)
Backed out changeset 16c0919101cd (bug 1038663)
2015-11-06 12:49:36 +05:30
Nicholas Nethercote
b7bd8564c0 Bug 1038663 (part 6) - Allow percentage values for 'word-spacing'. r=heycam.
--HG--
extra : rebase_source : b7220e3c156dfef451e79b2911fbba7dec93850d
2015-11-05 17:25:46 -08:00
Nicholas Nethercote
90b8e844aa Bug 1038663 (part 5) - Change GetSpacingFlags(). r=heycam.
Again, this doesn't make sense in isolation, but it will make it easier to
allow for percentage word-spacing in a subsequent patch.

--HG--
extra : rebase_source : 5a120273b4191ae3ac9ae0532e56eb870558d4d6
2015-11-05 16:33:37 -08:00
Nicholas Nethercote
12d49e11b3 Bug 1038663 (part 4) - Inline StyleToCoord(). r=heycam.
This doesn't make much sense by itself, but one of the call sites will be
changed in a subsequent patch.

--HG--
extra : rebase_source : 7b3bb92e6e08137434f4abd56a3b423ca82e4b0e
2015-11-04 21:10:36 -08:00
Nicholas Nethercote
a6e88b52f4 Bug 1038663 (part 3) - Factor out space width computation. r=heycam.
This will be reused in a subsequent patch.

--HG--
extra : rebase_source : 67d14767298841dbe3f38d2f7a1c89dfcec122dd
2015-11-04 18:02:40 -08:00
Nicholas Nethercote
0edc52ad5a Bug 1038663 (part 2) - Move GetFirstFontMetrics() up. r=heycam.
This is necessary for a subsequent patch.

--HG--
extra : rebase_source : 4d80215e1ee75105344db5d101cfa5d5d47ea33a
2015-11-04 18:02:20 -08:00
Jim Chen
498b10c3cb Bug 1219833 - Respect composition underline color; r=masayuki
nsTextFrame didn't use the composition underline color if the
composition didn't have a foreground color defined. This patch makes it
use the underline color if foreground color is not defined.
2015-11-03 11:53:58 -05:00
Robert O'Callahan
00af2dcc78 Bug 264412. Optimize GetRenderedText. r=mats
With these changes we're slightly faster than Chrome on the non-reflowing part of
Olli's testcase.

--HG--
extra : commitid : 75liwqsBeJY
extra : rebase_source : 34ee5d1fdfbb3b9d2ef8945f78ded935debb9106
2015-10-30 19:22:33 +13:00
Robert O'Callahan
2d8cd33dc4 Bug 264412. Refactor nsIFrame::GetRenderedText API to be more sane. r=mats,marcoz
The test changes here are to adjust for the fact that
nsTextFrame::GetRenderedText can now trim whitespace from the end of lines
that end in a hard line break.

--HG--
extra : commitid : 42YjYQUaiwY
extra : rebase_source : 69d3a9c5086c116365a0488d1b4fc52fc6524196
2015-10-30 19:23:10 +13:00
Matt Woodrow
5ff40cc89c Bug 1216851 - Allow flattening of opacity when it contains text. r=roc
--HG--
extra : rebase_source : 3861829d42298838eaa87912fa849b60b6f698e6
2015-10-23 11:22:45 +13:00
Carsten "Tomcat" Book
513d05c444 Backed out changeset 0e8e25c04938 (bug 1216851) for reftest failures 2015-10-29 13:52:29 +01:00
Matt Woodrow
bab116d797 Bug 1216851 - Allow flattening of opacity when it contains text. r=roc
--HG--
extra : rebase_source : 48b64c9ba86e89ae8d15ae05f7379fd518ca01b5
2015-10-23 11:22:45 +13:00