Commit graph

1074 commits

Author SHA1 Message Date
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