Commit graph

1135 commits

Author SHA1 Message Date
Jeremy Chen
2e09040e6e Bug 1056516 - use HyphenType to store different types of hyphenations. r=jfkthame
MozReview-Commit-ID: AX3NNDS4hxP
2017-03-13 12:54:05 +08:00
Jeremy Chen
17dca35346 Bug 1056516 - use AutoTArray for hyphenBuffer in BreakAndMeasureText. r=jfkthame
MozReview-Commit-ID: 2sFqlGdoCcm
2017-03-13 12:54:04 +08:00
Ryan VanderMeulen
b035220d0f Backed out 5 changesets (bug 1056516) for suspicion of causing Linux/OSX topcrashes.
Backed out changeset 70586dbb509c (bug 1056516)
Backed out changeset 753067cc11f7 (bug 1056516)
Backed out changeset 0bcf5f91b014 (bug 1056516)
Backed out changeset 41d39e1e440b (bug 1056516)
Backed out changeset aaec04f76481 (bug 1056516)
2017-03-10 11:56:50 -05:00
jeremychen@mozilla.com
2cb71eafe4 Bug 1056516 - let auto hyphen honor manual hyphen when hyphens:auto is set. r=jfkthame
MozReview-Commit-ID: BWzg3pb2lDH

--HG--
extra : rebase_source : 069dc3091bf7600d4675fe9ea5d0b41bc70744ba
2017-03-10 00:30:11 +08:00
jeremychen@mozilla.com
f4ac16bb05 Bug 1056516 - use HyphenType to store different types of hyphenations. r=jfkthame
MozReview-Commit-ID: 22ICYSaY1I2

--HG--
extra : rebase_source : 05e0a442dec8a8ac7f1b663808fc016ee3385aa2
2017-03-10 00:30:11 +08:00
jeremychen@mozilla.com
68ca87317f Bug 1056516 - use AutoTArray for hyphenBuffer in BreakAndMeasureText. r=jfkthame
MozReview-Commit-ID: 1fQGiosLYG

--HG--
extra : rebase_source : cdca8fa9f308d3676a09b2735a98c13bd2a2e2ef
2017-03-10 00:30:10 +08:00
jeremychen@mozilla.com
ec96d9f267 Bug 276079 - add layout support for CSS text-justify property. r=xidorn
MozReview-Commit-ID: Kiwu8UNfbSj

--HG--
extra : rebase_source : 7673c42f8d401832437b0bb891f87aa22acabe15
2017-03-01 20:58:25 +08:00
jeremychen@mozilla.com
33b63777fa Bug 276079 - fix couple coding style in IsJustifiableCharacter. r=xidorn
MozReview-Commit-ID: Hf13sGzwdDl

--HG--
extra : rebase_source : b2ef71e347c235c8973fd5d74e845a2d3f523027
2017-03-01 20:58:25 +08:00
Ting-Yu Lin
8f840dc923 Bug 775624 Part 22 - Remove NS_FRAME_COMPLETE. r=dholbert
This patch is written by the following script with some manual adjustment to
the comment in nsRubyTextContainerFrame.cpp and nsRubyFrame.cpp, and
nsColumnSetFrame's constructor.

function rename() {
find layout\
     -type f\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "nsReflowStatus *([a-zA-Z0-9]*) = NS_FRAME_COMPLETE" "nsReflowStatus \1"
rename "([a-zA-Z0-9.*]*) *= NS_FRAME_COMPLETE;" "\1.Reset();"
rename "([a-zA-Z0-9.*]*) == NS_FRAME_COMPLETE" "\1.IsEmpty()"

MozReview-Commit-ID: 9tqQAHvdQex

--HG--
extra : rebase_source : 3119776946dc2c8350098b7bf9f3ceff29bdffb5
2017-02-14 17:55:48 +08:00
Ting-Yu Lin
f19bfc4b93 Bug 775624 Part 21 - Remove NS_FRAME_NOT_COMPLETE. r=dholbert
To preserve the semantics, Reset() is called to clear other bits in the
status prior to set the incomplete bit. Though some of them might not be
necessary.

MozReview-Commit-ID: InNDwcpp28A

--HG--
extra : rebase_source : 833e44a5dbb447d82c67f715cd5b0b2e97a5c62d
2017-02-14 17:30:56 +08:00
Ting-Yu Lin
37d27159af Bug 775624 Part 19 - Convert NS_INLINE_BREAK_FIRST_LETTER_COMPLETE to use bit-field and methods. r=dholbert
MozReview-Commit-ID: k1CSWJNMns

--HG--
extra : rebase_source : 1aa775a1e835f3d001f8b2093d0c4fb9f6651630
2017-02-14 17:09:37 +08:00
Ting-Yu Lin
d1e11eca37 Bug 775624 Part 13 - Convert NS_INLINE_LINE_BREAK_AFTER to a method. r=dholbert
NS_INLINE_MAKE_BREAK_TYPE is used only in BRFrame. Delete it, too.

MozReview-Commit-ID: GC4vF0GFsAD

--HG--
extra : rebase_source : d7727fe41410a8998142d9ded8dcd8ae9c2a780f
2017-02-14 11:52:53 +08:00
Ting-Yu Lin
56ebb62910 Bug 775624 Part 12 - Add bit-fields for inline break status, and convert NS_INLINE_LINE_BREAK_BEFORE. r=dholbert
NS_INLINE_LINE_BREAK_BEFORE() was replaced by the help of the following script.

function rename() {
find layout\
     -type f\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename " = NS_INLINE_LINE_BREAK_BEFORE\(\);" ".SetInlineLineBreakBeforeAndReset();"

MozReview-Commit-ID: mz6L8zay7q

--HG--
extra : rebase_source : fddffa1288c7a52c7245aec0839a65f8d1d3f008
2017-02-14 11:52:53 +08:00
Carsten "Tomcat" Book
ed3d8d8286 merge mozilla-inbound to mozilla-central a=merge 2017-02-15 12:21:44 +01:00
Jeff Walden
cdee578059 Bug 1287006 - Don't pass Maybe (or any class containing a Maybe member) by value, only by reference or pointer, in layout/-related code. r=bz
--HG--
extra : rebase_source : 94377970d6ec591044a10dab1aa5568e4a051837
2017-02-13 09:07:40 -08:00
Daniel Holbert
452a3b8454 Bug 1339609: Add #include for gfxPrefs.h to all source code that calls gfxPrefs APIs. r=jgilbert
MozReview-Commit-ID: GxWehmDYB3t

--HG--
extra : rebase_source : cd994e5c6abf777f77c5a708cbfb2f6afc49a44c
2017-02-14 14:01:59 -08:00
Kartikaya Gupta
96c394d70c Merge m-c to graphics
MozReview-Commit-ID: AXRXwXgkOTv
2017-02-10 13:57:53 -05:00
Kartikaya Gupta
6580d884b2 Merge m-c to graphics
MozReview-Commit-ID: uU8MPphFqj
2017-02-02 13:38:51 -05:00
Ryan Hunt
3fe2c02ee1 Merge m-c to graphics 2017-01-27 10:07:37 -06:00
Kartikaya Gupta
ca041b7c5a Merge m-c to graphics
MozReview-Commit-ID: FOyS87VawTT
2017-01-25 08:52:04 -05:00
Jonathan Kew
36f52391d9 Bug 1331683 - Don't attempt to use any Core Text and Core Graphics variation-font APIs on pre-Sierra systems. r=jrmuizel,lsalzman 2017-02-09 21:37:24 +00:00
Kartikaya Gupta
5e2e8f8f8e Merge m-c to graphics
MozReview-Commit-ID: 5ovnMmSOiZX
2017-01-09 10:18:37 -05:00
Mason Chang
5e1c34af71 Bug 1329314 - Add support for nsDisplayText webrender display item. r=jrmuizel? 2017-01-06 11:50:53 -08:00
Emilio Cobos Álvarez
1c87f99407 Bug 1334075: Part 2, mark some methods in nsTextFrame as final to avoid virtual calls. r=xidorn
MozReview-Commit-ID: FBhjFSNviBL
2017-01-26 15:43:12 +01:00
Xidorn Quan
97d13f46a3 Bug 1303241 part 2 - Make GetVisitedDependentColor use style structs directly. r=dbaron
I think there are three advantages of this change:
1. removes some dependencies from layout / painting code to pre-computed
   value stuff in the style system;
2. makes it easier to audit usage of specific fields in style structs
   (which is probably a side effect of the first one);
3. potentially improves performance since it doesn't go through the
   unnecessary general logic in ExtractComputedValue.

Also, combined with the part before, we get a unified list for visited-
dependent properties so that we can ensure the assertion here and the
style difference calc code are consistent.

MozReview-Commit-ID: 5B9aN7CfRgI

--HG--
extra : rebase_source : ac80eaea2474b9ec4b47b1cc9a5bdd2e61f6ec4d
2016-12-31 00:57:37 +11:00
Jeremy Chen
213197e5e1 Bug 1328540 - trim trailing whitespaces. r=jeremychen
Trim trailing whitespaces for files that are touched in this bug:

  gfxTextRun.h
  gfxTextRun.cpp
  nsTextFrame.cpp
  nsCSSProps.cpp

MozReview-Commit-ID: FmiW2QiCoFv

--HG--
extra : rebase_source : cbc9ae8c3c4410d1fe79c027d4ccf11b45c8bd19
2017-01-04 23:55:16 +08:00
Jeremy Chen
f735dd2d2c Bug 1328540 - convert NS_STYLE_HYPHENS_* to an enum class. r=xidorn
MozReview-Commit-ID: BwTzbA29Y3H

--HG--
extra : rebase_source : fc07d2c881a8ccc618fd1776d1e977c051b0032f
2017-01-04 23:55:16 +08:00
Nathan Froyd
f6a73ed989 Bug 1315274 - rename mozilla::MakeRange to mozilla::IntegerRange; r=Waldo
MakeRange is just way too generic for this sort of thing.
2017-01-06 09:22:53 -05:00
cku
286c728e90 Bug 1311270 - Part 3. Replace {bg|mask}-origin/{bg|mask}-clip constants by StyleGeometryBox.
MozReview-Commit-ID: DYokhDa9fFQ

--HG--
extra : rebase_source : a187c3f9519efb8b031913ce0dbf643c05232fa2
2016-11-22 15:30:01 +08:00
Markus Stange
6efd7c73b1 Bug 1298218 - Use DisplayItemClipChain for tracking clips on display items. r=mattwoodrow,tnikkel
This is the bulk of the changes.
 - DisplayItemScrollClip is removed. Instead, we will have 1) ActiveScrolledRoot
   and 2) DisplayItemClipChain.
 - ActiveScrolledRoot points to a scroll frame and allows traversing up the
   scroll frame chain.
 - DisplayItemClipChain is a linked list of clips, each clip being associated
   with the ActiveScrolledRoot that moves this clip.
 - Each display item has an ActiveScrolledRoot and a clip chain.
 - nsDisplayItem::GetClip returns the item of the clip chain that scrolls with
   the item's ASR. The separation between "regular clip" and "scroll clips"
   mostly goes away.
 - Tracking clips in the display list builder's clip state happens very
   similarly to how regular clips used to be tracked - there's a clip chain for
   content descendants and a clip chain for containing block descendants. These
   clip chains are intersected to create the combined clip chain.
 - There are strict rules for the ASR of a container item: A container item's
   ASR should be the innermost ASR which the item has finite clipped bounds with
   respect to.
 - At some point in the future, ASRs and AGRs should be reunified, but I haven't
   done that yet, because I needed to limit the scope of the change.

MozReview-Commit-ID: KYEpWY7qgf2

--HG--
extra : rebase_source : c727f6300a35463750639e165bfa37374c06b851
2017-01-31 17:07:35 -05:00
Ting-Yu Lin
f1d19f16fb Bug 1332105 Part 1 - Convert SelectionDetails and related functions to use UniquePtr. r=dholbert
For the non-owning pointer usage like iterating SelectionDetails's linked
list, it's sufficient to use SelectionDetails*.

MozReview-Commit-ID: 7PCFhD6Iz8j

--HG--
extra : rebase_source : 2d26edd513a402384e26719b3c0b5362d7a4ebb8
2017-01-20 17:39:57 +08:00
Michael Layzell
c6fccac579 Bug 1299489 - Change nsTArray to use a custom iterator based on index instead of pointers to improve iterator invalidation safety of ranged for loops, r=froydnj
MozReview-Commit-ID: CahPOcRYvES
2016-12-08 15:54:45 -10:00
Xidorn Quan
c3010f1b3e Bug 1319424 - Ensure to setup line breaker before using it. r=jfkthame
MozReview-Commit-ID: EOuPLXTIBcZ

--HG--
extra : rebase_source : 166719397abf9ba8ca4e5bf9d187f2c7783981b3
2016-11-25 16:19:32 +11:00
Jeremy Chen
7e8439ba23 Bug 1320239 - use nscoord instead of nsStyleCoord for -webkit-text-stroke-width. r=heycam
MozReview-Commit-ID: 94fL7YgZqCl

--HG--
extra : rebase_source : ad651ab9270a9e19a21401b81745808cc7a8a74b
2016-11-29 20:08:08 +08:00
Carsten "Tomcat" Book
68202ee27c merge mozilla-inbound to mozilla-central a=merge 2016-11-29 16:47:18 +01:00
Thomas Wisniewski
bbec31e079 Bug 943918 - Part 2: layout for tab-size:<length> and tab-size:<number>. r=heycam 2016-11-25 00:18:11 -05:00
Sebastian Hengst
8a78fcdecc Backed out changeset 0c5eb3fd9fb5 (bug 943918) 2016-11-28 00:39:27 +01:00
Thomas Wisniewski
813450469e Bug 943918 - Part 2: layout for tab-size:<length> and tab-size:<number>. r=heycam 2016-11-25 00:18:11 -05:00
L. David Baron
03d6962a30 Bug 1320815 - DeCOMtaminate nsIFrame::IsSelectable by returning boolean instead of nsresult. r=xidorn
MozReview-Commit-ID: EBxBcEgIvp7

--HG--
extra : rebase_source : 49e5a370df86baec014e99be56b05d451d5ee78c
2016-11-28 15:31:29 -08:00
Xidorn Quan
ae670d64ee Bug 389283 - Choose cursor value based on selectability. r=dbaron
MozReview-Commit-ID: 2c4RcXgwz1U

--HG--
extra : rebase_source : c3525339d5d64f24c6f0667244885b8b33042072
2016-11-25 01:00:34 +11:00
Matt Woodrow
c49650f909 Bug 1317862 - Part 4: Remove unnecessary clip. r=mstange 2016-11-24 18:11:29 +13:00
Matt Woodrow
3de8001441 Bug 1317862 - Part 3: Build TextLayers if enabled. r=mstange 2016-11-24 18:11:29 +13:00
Xidorn Quan
a4a78e1951 Bug 1267515 part 2 - Place ruby annotations outside annotations from ruby descendants. r=dholbert
MozReview-Commit-ID: Gbo43pC5jqr

--HG--
extra : rebase_source : 893fe9d419be59679febe2de07bbd495ce23e609
2016-10-26 17:40:58 +11:00
Xidorn Quan
b725f733a2 Bug 1267515 part 1 - Refactor ruby leadings into a helper RubyBlockLeadings struct. r=dholbert
MozReview-Commit-ID: IJAA9fHbCZd

--HG--
extra : rebase_source : 4166ebe1be89595f96da12e1e247cf1f0d536ddd
2016-11-10 11:10:42 +11:00
Jeremy Chen
aee90be343 Bug 1286468 followup - Fix naming issues.
MozReview-Commit-ID: C2PDA4R5k5F
2016-10-24 15:01:25 +08:00
Jeremy Chen
349eabf2f7 Bug 1286468 - Rename line related functions in nsBlockFrame. r=TYLin
1. Rename these functions to agree with Mozilla coding style.
2. Use singular naming instead of plural naming since each of these functions
returns an iterator pointing to a singular line.
3. Rename line() and rline() to BeginLineFrom() and RBeginLineFrom(), which
shall improve the readability.

MozReview-Commit-ID: txZjVnv9Yb

--HG--
extra : rebase_source : b4dae99ab7bf751bd9974616f8f8e6dfe6248fc2
2016-10-22 19:41:05 +08:00
Jeremy Chen
a670e3349a Bug 1286468 - Rename line related typedefs in nsBlockFrame. r=TYLin
MozReview-Commit-ID: Cz9R3D4NzMc

--HG--
extra : rebase_source : 19da1e2a58abedf61fddd9c8e314830cf81a4602
2016-10-22 19:41:04 +08:00
Xidorn Quan
c04bd7aa0e Bug 1304556 part 2 - Use AutoLineCursorSetup to optimize pre-render innerText query. r=dbaron
MozReview-Commit-ID: G0I4MPSeV38

--HG--
extra : rebase_source : 98cfe28ac10d4ba6b38a00ae1b1d0f8ccff16452
2016-10-21 11:53:12 +11:00
Cameron McCormack
a9271aac63 Bug 1298774 - Part 5: Make nsStyleSVGPaint use css::URLValue for url() storage instead of FragmentOrURL. r=cjku
MozReview-Commit-ID: CkNcSxVToTL

--HG--
extra : rebase_source : 956149a0d12e7633aca15eb460704926a7db7371
2016-10-11 14:56:11 +08:00
Carsten "Tomcat" Book
7333917288 Merge mozilla-central to mozilla-inbound 2016-10-06 12:28:03 +02:00
Sumit Tiwari
04a6a74e56 Remove mMappedFlows from TextRunData - bug 1290312 r=emilio,xidorn
MozReview-Commit-ID: EQafEoyu43a

--HG--
extra : rebase_source : 395655606f9491bda7daf61f370a2370bac2b7e7
2016-10-03 20:30:50 -04:00
Jonathan Kew
3cc319fde5 Bug 924851 - patch 1 - Move definition of nsBidiLevel/nsBidiDirection and frame bidi properties from nsBidi.h to nsIFrame.h, in preparation for removal of nsBidi. r=xidorn 2016-10-06 09:49:14 +01:00
Jeremy Chen
23d3ede6fc Bug 1307402 - use a more precise bounding box for initial letter texts. r=jfkthame
MozReview-Commit-ID: 5OIXp0uQisn

--HG--
extra : rebase_source : 00f6a72742c763bb3ec572a08d3cdaf12402d7f6
2016-10-04 22:22:52 +08:00
Xidorn Quan
cc1649886e Bug 1266621 part 1 - Convert text-decoration-color to store complex color. r=heycam
MozReview-Commit-ID: LEGICgvgQDY

--HG--
extra : rebase_source : 6c68c6e26648354d4d5515e199fdf07711eca726
2016-09-27 20:19:48 +10:00
Daniel Holbert
c31ad35f39 Bug 1304540 part 2: Use nsCOMPtr/RefPtr (and their forget() API) instead of manual NS_ADDREF macros, in a few files within layout. r=mats
MozReview-Commit-ID: SrJNtbwc1B

--HG--
extra : rebase_source : 2fd086157bf4d8d16effe18037258a3bf12623fc
2016-09-21 15:41:26 -07:00
Daniel Holbert
2a6754c4c7 Bug 1304540 part 1: minor code-cleanup in the neighborhood of some NS_ADDREF usages. r=mats
DETAILS ON THE CLEANUP:

* In nsFrameTraversal.cpp:
 - Whitespace fix.
 - Remove a useless nullptr assignment.
 - Use "=" to initialize a nsCOMPtr, per coding style guideline ("initialize variables with nsFoo aFoo = bFoo and not nsFoo aFoo(bFoo)").

* In nsPresShell.cpp:
 - Wrap a longish assignment to 2 lines (since next patch will make the first line longer, which would push the whole thing over 80 characters if it weren't wrapped).
 - Add braces around "if" body.

* In nsTextFrame.cpp:
 - Remove a useless nullptr assignment.
 - Move the "metrics->GetThebesFontGroup()" call slightly earlier, so it happens *before* we've implicitly transferred ownership the object pointed to by "metrics".
 - Add a code-comment.

MozReview-Commit-ID: LG6vgOmM9MK

--HG--
extra : rebase_source : 7754d4edefb09ae7992275b9dcb7e84371955d9c
2016-09-21 15:39:48 -07:00
Xidorn Quan
6b6e2ad7b2 Bug 1299741 part 11 - Change text-{emphasis,fill,stroke}-color to using StyleComplexColor. r=dbaron
MozReview-Commit-ID: 1MlgGAkdPn8

--HG--
extra : rebase_source : 293aa61adaa091bb3d4350a4b86ec9cfbb40eb02
2016-09-16 14:40:45 +10:00
Jason Woofenden
77865e4a08 Bug 1008019 - Allow whitespace to "hang" at soft-wrap boundaries when white-space:pre-wrap is in effect. r=jfkthame 2016-03-20 17:54:00 -04:00
Xidorn Quan
4e5bd79656 Bug 1260031 - Not force break before a block when calculating intrinsic width if the current line is empty and the block cannot intersect floats. r=dbaron
MozReview-Commit-ID: 9rNUDK5t5jg

--HG--
extra : rebase_source : 2a852efe3f9801884e558f22ae7d9550fae87836
2016-08-23 09:29:45 +10:00
Nicholas Nethercote
b71747b2ac Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.

--HG--
extra : rebase_source : 886e57a9e433e0cb6ed635cc075b34b7ebf81853
2016-09-01 15:01:16 +10:00
Emilio Cobos Álvarez
619cb14d87 Bug 1299066: Make NS_STYLE_DISPLAY_* an enum class. Prefer indexing instead of linear search in the frame constructor r=heycam,bz
The main renaming was generated with the following python script:

```

import sys
import re

CAMEL_CASE_REGEX = re.compile(r"(^|_|-)([A-Z])([A-Z]+)")
DISPLAY_REGEX = re.compile(r"\bNS_STYLE_DISPLAY_([^M][A-Z_]+)\b")

def to_camel_case(ident):
  return re.sub(CAMEL_CASE_REGEX,
                lambda m: m.group(2) + m.group(3).lower(), ident)

def constant_to_enum(constant):
  return "StyleDisplay::" + to_camel_case(constant) + ("_" if constant == "NONE" else "")

def process_line(line):
  return re.sub(DISPLAY_REGEX,
                lambda m: constant_to_enum(m.group(1)), line)

lines = []
with open(sys.argv[1], "r") as f:
  for line in f:
    lines.append(process_line(line))

with open(sys.argv[1], "w") as f:
  for line in lines:
    f.write(line)
```

And the following shell commands:

```
find . -name '*.cpp' -exec python display.py {} \;
find . -name '*.h' -exec python display.py {} \;
```

MozReview-Commit-ID: 91xYCbLC2Vf
2016-09-01 20:41:17 -07:00
Sebastian Hengst
dd9d82e540 Backed out changeset 932c269da17b (bug 1008019) 2016-08-26 11:30:45 +02:00
Jason Woofenden
9a198c4a58 Bug 1008019 - Allow whitespace to "hang" at soft-wrap boundaries when white-space:pre-wrap is in effect. r=jfkthame 2016-03-20 17:54:00 -04:00
Jonathan Kew
8998b2ba96 Backed out changesets 4a7bb508cadf, e8917efd53e3, 2d87636d76b0 (bug 1008019) due to Android reftest orange. 2016-08-26 00:56:10 +01:00
Jason Woofenden
7dddb003fd Bug 1008019 - Allow whitespace to "hang" at soft-wrap boundaries when white-space:pre-wrap is in effect. r=jfkthame 2016-03-20 17:54:00 -04:00
Jinank Jain
f2776091ea Bug 712936 - Convert users of PR_STATIC_ASSERT to C++11 static_assert(). r=Ms2ger
--HG--
extra : rebase_source : b3e4c3e7c81799f2b1f3ec62ba3ff3b5d3adba27
2016-08-23 11:24:54 -04:00
Kan-Ru Chen
b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Jonathan Kew
477e0a395a Bug 1288975 - Make innerText use nsCaseTransformTextRunFactory::TransformString to implement text-transform, so that it benefits from language-specific behaviors. r=mats 2016-08-20 00:08:24 +01:00
Jonathan Kew
0cb66c8d3a Bug 1280887 - patch 3 - Get rid of the mTextRunsToDelete array now that the frame's textruns are refcounted and will know when to die by themselves. r=mats 2016-08-19 13:14:37 +01:00
Jonathan Kew
95a82f84cc Bug 1280887 - patch 2 - Make gfxTextRun refcounted, replace usage of UniquePtr<> with RefPtr<> for textruns, and make nsTextFrame hold a strong reference to its run(s). r=mats 2016-08-19 13:14:22 +01:00
Jonathan Kew
76f40e7bdc Bug 1280887 - patch 1 - Declare a bunch of gfxTextRun* variables as const pointers, for clarity. r=mats 2016-07-07 13:51:24 +01:00
Jonathan Chan
9c62a2c11c Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA

--HG--
rename : layout/style/nsCSSProperty.h => layout/style/nsCSSPropertyID.h
2016-08-09 16:28:19 -07:00
Masayuki Nakano
925390facb Bug 1286464 part.11 nsTextFrame::GetCharacterRectsInRange() shouldn't compute character rect at the first character in next nsTextFrame r=jfkthame
nsTextFrame::GetCharacterRectsInRange() handles a character at the end offset of its content as in it. However, it causes odd result when the caller wants first text rect in the next nsTextFrame. E.g., if end of query range is at the next nsTextFrame's first character, currently, it returns the last character as in same line.

So, it should stop handling next frame's first character as in it.

MozReview-Commit-ID: 7WteerisrZp

--HG--
extra : rebase_source : 97653f1ed04a6a03373cd53613d92aba45fbe38b
2016-07-21 16:24:37 +09:00
Masayuki Nakano
e2ec5e1e8a Bug 1257446 part.3 nsTextFrame::GetCharacterRectsInRange() shouldn't call gfxSkipCharsIterator::AdvanceOriginal() before checking if the current offset has already been reached to the end for avoiding assertions r=jfkthame
New eQueryTextRectArray causes a lot of assertions in various automated tests. The cause is that nsTextFrame::GetCharacterRectsInRange() calls gfxSkipCharsIterator::AdvanceOriginal(1) at the end of the |for| loop *without* checking if the iterator has already reached to the end.

MozReview-Commit-ID: 3KFxA11uOUc

--HG--
extra : rebase_source : 407c47897cad8c2e4929ed1226073302faaecee2
2016-07-14 22:02:15 +09:00
Ravi Shankar
61b118d165 Bug 1291667 - Change NS_STYLE_USER_SELECT_* constants to enum classes; r=heycam,manishearth
MozReview-Commit-ID: IcDt3XYvdlj

--HG--
extra : rebase_source : ea426ac572b6adfc09fd9440e45a0c26adde4373
2016-08-10 21:42:21 +05:30
Emilio Cobos Álvarez
ff065c3a99 Bug 1288938: Allow passing different reasons to dirty a non display SVG text frame. r=heycam
Otherwise, when a glyph changes, we might end up doing too much work, destroying
the text-run and the observer that dirtied the frame, causing an assertion when
trying to delete it from the observer set.

MozReview-Commit-ID: LMQVr6pYFVM
2016-08-03 10:53:37 -07:00
Emilio Cobos Álvarez
e1e6b574d9 Bug 1288938: layout: Move the GlyphObserver to the text run instead of the frame. r=jfkthame
MozReview-Commit-ID: KphTCkcZeid
2016-08-03 10:53:37 -07:00
Ting-Yu Lin
d77152fcd0 Bug 1277129 Part 7c - Rename various RS variables to RI. r=dbaron
This patch is generated by the following script:

function rename() {
find layout\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename aChildRS aChildRI
rename aContainingBlockRS aContainingBlockRI
rename aFrameRS aFrameRI
rename aLastRS aLastRI
rename aOuterRS aOuterRI
rename aRS aRI
rename blockHtmlRS blockHtmlRI
rename captionRS captionRI
rename cellRS cellRI
rename childRS childRI
rename firstAncestorRS firstAncestorRI
rename flexContainerRS flexContainerRI
rename gridRS gridRI
rename innerRS innerRI
rename lastButOneRS lastButOneRI
rename LineContainerRS LineContainerRI
rename mBlockRS mBlockRI
rename parentRS parentRI
rename secondAncestorRS secondAncestorRI
rename lastRSSize lastRISize
rename lastRSPadding lastRIPadding

MozReview-Commit-ID: YEgZs3WMow

--HG--
extra : rebase_source : c26050c71a3a5b13ef46e6d3582e581702d49ee8
2016-07-21 18:36:39 +08:00
Ting-Yu Lin
40fcd21b9a Bug 1277129 Part 7b - Rename various ReflowState variables to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "([[:alpha:]]*)([rR])eflowState(s?)" "\1\2eflowInput\3"

MozReview-Commit-ID: ITFO7uMTkSb

--HG--
extra : rebase_source : c91a2e174a0baec60c1b0111ac7636295004ab35
2016-07-21 18:36:39 +08:00
Ting-Yu Lin
55cde36029 Bug 1277129 Part 6b - Rename rendContext to mRenderingContext in SizeComputationInput. r=dbaron
MozReview-Commit-ID: LczLJDtDncy

--HG--
extra : rebase_source : c32e928ae25f94305fb907db89278dce7304a903
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
cd13f0ea71 Bug 1277129 Part 6a - Rename frame to mFrame in SizeComputationInput. r=dbaron
MozReview-Commit-ID: 3SXZ4qEZJc

--HG--
extra : rebase_source : 577d48f047af163585acea95dda311358f5e8c25
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
4053c4c028 Bug 1277129 Part 5c - Rename nsHTMLReflowMetrics to ReflowOutput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "nsHTMLReflowMetrics" "ReflowOutput"

MozReview-Commit-ID: 2HBb7DkooH5

--HG--
extra : rebase_source : acfa442a6483772fcb5748dc6f5e7072e599032a
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
820f88de49 Bug 1277129 Part 1c - Rename nsHTMLReflowState to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename nsHTMLReflowState ReflowInput

MozReview-Commit-ID: 9r9vdVv1pXc

--HG--
extra : rebase_source : 623ec822996ba0ea0058dd137acf5a658cdea04a
2016-07-21 18:36:35 +08:00
Chris Peterson
b175c9fdd5 Bug 1277106 - Part 2: Expand MOZ_UTF16() strings to u"" string literals. r=Waldo 2016-07-20 22:03:25 -07:00
cku
77db71816d Bug 1287705 - Part 2. Add more comments and construct PaintState in PaintTextParams. r=jfkthame
MozReview-Commit-ID: EzfOzRUU6PQ

--HG--
extra : rebase_source : 1a7b96239b0d90f4e58be358629a7e3987b674ba
2016-07-19 20:48:19 +08:00
cku
7128f1272f Bug 1287705 - Part 1. Do not paint text shadow while generating text mask. r=jfkthame
MozReview-Commit-ID: C3auIlugrFY

--HG--
extra : rebase_source : a423bbab21d4675e6b3970336b7763f1edfea5b0
2016-07-19 20:41:18 +08:00
Kevin Chen
cac9daeb79 Bug 1275693 - Refactor <canvas> strokeText drawing to re-use gfxTextRun::Draw. r=jfkthame 2016-07-14 02:00:00 +02:00
Daosheng Mu
59c534ddde Bug 1135329 - Reflow requests for nondisplay SVGTextFrame while its glyph is updated; r=heycam
MozReview-Commit-ID: 6QiRwx0FYKT

--HG--
extra : transplant_source : U%96%3D%AD%80-%E8%86X%1C%17%A3%F9%29%88H%DB%7Ds%A0
2016-06-24 16:02:44 +08:00
Michael Li
7fc51f7d9e Bug 1283273 - Change nsAutoPtr to UniquePtr in classes within layout/generic. r=dholbert 2016-07-08 08:08:00 +02:00
Xidorn Quan
f01d901ec8 Bug 1283106 - Put empty skip chars in gfxPlatform singleton rather than static local variable. r=jfkthame
MozReview-Commit-ID: 5SU6ewm5wbd

--HG--
extra : rebase_source : f522172d3ca191ba33c222c497e91bb718fda23e
2016-07-05 11:02:24 +10:00
Xidorn Quan
c353935ab6 Bug 1160847 part 3 - Restore virtual bidi control characters for reordering. r=jfkthame
This patch mainly consists of two parts, one for resolving and the other
for reordering.

In the resolving part, the added code stores the lowest embedding level
of all bidi formatting characters precede a frame to the bidi data of
that frame when necessary.

In the reordering part, virtual frame is restored from the information
stored above before asking the bidi engine to reorder frames

Collapsing a run of continuous virtual formatting characters into one
virtual character with the lowest embedding level among them should work
because a character with a higher embedding level than either of its
neighbors should not affect the reordering result of any other part of
the sequence. (No formal proof of this theorem, though)

MozReview-Commit-ID: LQjRu0mWsZP

--HG--
extra : source : 5d0cf1cbd270e9963d848a23b37528ed503ed6a0
2016-06-29 17:47:18 +10:00
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