Commit Graph

3014 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
d494e06a40 Bug 1396018: Remove the hacky removeflags check we do for display: contents and XBL. r=bz
It's not needed afaict.

MozReview-Commit-ID: LeLguGEEdNy
2017-09-06 20:30:26 +02:00
Neerja Pancholi
bb48ee0cd8 Bug 1389029 - Create custom change hint and post restyle event for rowspan, colspan attribute changes. r=dbaron
MozReview-Commit-ID: IwUlgDa3DAj
2017-09-05 13:30:40 -07:00
Louis Chang
67c38c1934 Bug 1352238 Part 1 - Make box construction and layout for radio/checkbox elements work the same on Android as on other platforms. r=mats
MozReview-Commit-ID: NmWepjKDVj
2017-09-05 22:44:24 +08:00
Sebastian Hengst
150f2fb7bc merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: Gsw48p934sI
2017-09-02 10:54:44 +02:00
Wes Kocher
9d60a71a71 Merge m-c to autoland, a=merge
MozReview-Commit-ID: GcHZLNPPNnI
2017-09-01 16:34:14 -07:00
Wes Kocher
465d44242e Merge inbound to central, a=merge
MozReview-Commit-ID: 3JxUEFuinHY
2017-09-01 16:29:10 -07:00
Boris Zbarsky
33016a31e3 Bug 1395715. When recovering letter frames, only do first-line fixup when we have a first-line parent. r=emilio
It turns out, this is the only case in which we need to do the fixup at all.
And this way we don't have to guess based on first-line styles, which may not
match the frame tree (for example if we have a pending style change that we
haven't processed yet).
2017-09-01 11:09:02 -04:00
Emilio Cobos Álvarez
f5e5f14adc Bug 1374235: style: Remove the for reconstruction traversals. r=bholley
One less hack, a few more to go.

MozReview-Commit-ID: 6katL1EGn2U
2017-09-01 18:46:23 +02:00
Emilio Cobos Álvarez
49eacc0e67 Bug 1395351: Don't clobber restyle root flags from frame construction. r=bholley
MozReview-Commit-ID: EsXKiLbYQsY
2017-08-31 21:37:50 +02:00
Boris Zbarsky
c62dc63d66 Bug 1395650. Make anonymous column groups into non-inheriting anon boxes, to better match the behavior of other browsers. r=heycam 2017-09-01 00:53:33 -04:00
Emilio Cobos Álvarez
1da5d1a767 Bug 1389645: Don't incorrectly set lazy frame construction bits in ContentAppended and ContentRangeInserted. r=bholley
Before this patch, we may get into that piece of code reentrantly from lazy
frame construction itself leaving stale dirty bits around that we really don't
want.

MozReview-Commit-ID: 2wtKeF3o0Gr
2017-08-27 00:08:43 +02:00
Sebastian Hengst
298dd9aea9 Backed out changeset 35afffcb4182 (bug 1374235) for build bustage because it landed before its servo commit. r=backout 2017-09-01 14:07:47 +02:00
Emilio Cobos Álvarez
292a358f1c Bug 1374235: style: Remove the for reconstruction traversals. r=bholley
One less hack, a few more to go.

MozReview-Commit-ID: 6katL1EGn2U
2017-09-01 13:16:09 +02:00
Wes Kocher
9ab5e3b89f Merge m-c to inbound, a=merge
MozReview-Commit-ID: FusyUW1CQ4s
2017-09-01 16:33:28 -07:00
Catalin Badea
f8860e73dc Bug 1395945 - Remove child array getter. r=ehsan 2017-09-01 22:13:49 +01:00
Emilio Cobos Álvarez
2a4ade9d7f Bug 1392964: Remove aDidReconstruct outparam from ContentRemoved. r=mats
MozReview-Commit-ID: 4fSAQQAnPWF
2017-08-23 11:03:30 +02:00
Makoto Kato
8419dd93f9 Bug 1348073 - Part 2. Enable lazy frame construction for editable regions. r=Ehsan
MozReview-Commit-ID: C92SY2lv8n8
2017-08-21 15:30:07 +09:00
Emilio Cobos Álvarez
a941a37eb4 Bug 1389743: Remove various Stylo hacks to deal with XBL edge cases. r=heycam
MozReview-Commit-ID: HN7PfsNrh9e
2017-08-13 20:44:58 +02:00
Emilio Cobos Álvarez
c4f39df3cf Bug 1389743: Only reconstruct frames synchronously from ContentRemoved when called from frame construction. r=mats
There's only one case of sync frame construction from ContentRemoved now, and
it's not on the element being removed, but on the whitespace siblings if needed,
and _only_ when they don't support lazy frame construction.

Basically, this switches all the RecreateFramesForContent calls to use
`aAsyncInsert` (which I changed to an enum class for readability), except when
we're already reframing.

Also, it switches ReframeTextIfNeeded to opt-in into lazy frame construction,
since it's used only when aFlags == CONTENT_REMOVED.

This allows to simplify the DestroyFramesFor API (which I'm happy to rename to
something more meaningful, since now it's something like
DestroyFramesForAndRecreateThemAsync), and do some other consistency cleanups.

A bunch of the ContentRemoved callsites were pretty random at passing
aAsyncInsert, and that was some kind of a mess. This patch ensures consistency,
and makes it impossible to do O(n^2) work when removing DOM nodes, which is
nice.

The underlying reason for this is explained in the description of bug 1377848,
and basically allows us to remove a bunch of Servo hacks on the longer term (a
few of them are going away already, yay!).

MozReview-Commit-ID: 2DrUTxGV8RX
2017-08-23 09:58:57 +02:00
Bobby Holley
cb7ab9b1ae Bug 1383332 - Track the restyle root and use it to do less work during the traversal. r=emilio
MozReview-Commit-ID: A8O3JOpsv4E
2017-08-22 21:19:24 -07:00
Bobby Holley
2605a3860b Bug 1389681 - Move NoteDirty* to Element. r=emilio
MozReview-Commit-ID: KvKAEuYkssx
2017-08-12 10:12:28 -07:00
Hiroyuki Ikezoe
67fbc6ef1e Bug 1388031 - Cleanup code that was used for verifying styling results for throttled animation flush in post traversal. r=bholley
Now that we do process normal traversal even in the case of throttled animation
flush so that we don't need to do special handling for the case.

Note about the comment in has_current_styles():
the remaining animation hints is not caused by either this patch or the
previous patch in this patch series, it's been there in the first place, but
it should be fixed somehow later. See bug 1389675.

MozReview-Commit-ID: JojHufxNCiS
2017-08-11 20:34:08 -07:00
Bobby Holley
10dcbf2a9d Bug 1389385 - Rearrange dirty noting to operate on the element rather than the parent. r=emilio
This will allow us to scope restyle roots more tightly.

MozReview-Commit-ID: 2t2lp5sKBHH
2017-08-11 18:18:22 -07:00
Boris Zbarsky
e2ae165a46 Bug 1388877. Fix insertions under a ::first-line in stylo. r=heycam
MozReview-Commit-ID: CDolJpTtGki
2017-08-11 09:11:23 -04:00
Hiroyuki Ikezoe
93c16b980c Bug 1389440 - Replace pseudo style with the one having animations before generating elements corresponding to content propery. r=emilio
This needs for content property animations.

MozReview-Commit-ID: C7ViMQTczJx
2017-08-11 19:49:56 +09:00
Sebastian Hengst
e8816d55c4 Backed out changeset 6c2389558858 (bug 1388877) for asserting at ServoRestyleManager.cpp:1450 in stylo reftests and crashtests. r=backout 2017-08-11 12:24:37 +02:00
Boris Zbarsky
b94218e3ac Bug 1388877. Fix insertions under a ::first-line in stylo. r=heycam
MozReview-Commit-ID: CDolJpTtGki
2017-08-11 03:12:44 -04:00
Boris Zbarsky
747e3a20f4 Bug 1385656. Fix the interaction of RecoverLetterFrames and ::first-line. r=heycam
MozReview-Commit-ID: BUt5FDI0IV1
2017-08-10 18:59:06 -04:00
Boris Zbarsky
c21d17b349 Bug 1388625 part 6. Flag the in-flow frames of kids of various wrapper frames during frame construction, so we know to restyle the wrapper frames. r=heycam
MozReview-Commit-ID: 8KNug88sGp
2017-08-11 00:10:27 -04:00
Boris Zbarsky
0a363d6a21 Bug 1388626. Restyle ::-moz-xul-anonymous-block as needed with stylo. r=heycam
MozReview-Commit-ID: KZ0s1x60VBx
2017-08-09 16:43:47 -04:00
Jonathan Watt
0fb0cfac2a Bug 1388939, part 7 - Give clear names to the nsFrameManager methods for unregistering undisplayed style contexts. r=dholbert
MozReview-Commit-ID: EFtKqKBOPQH
2017-08-01 17:12:44 +01:00
Jonathan Watt
c7c290489b Bug 1388939, part 5 - Rename nsFrameManager::GetUndisplayedContent to GetDisplayNoneStyleFor. r=dholbert
MozReview-Commit-ID: Kpe6DcBP8yX
2017-08-01 15:27:59 +01:00
Jonathan Watt
29d2a62fff Bug 1388939, part 4 - Give clear names to the nsFrameManager methods for updating the registered undisplayed style contexts. r=dholbert
MozReview-Commit-ID: LZuleDSt6LR
2017-08-01 15:11:02 +01:00
Jonathan Watt
6c3978e020 Bug 1388939, part 3 - Give clear names to the nsFrameManager methods for registering undisplayed style contexts. r=dholbert
MozReview-Commit-ID: 1i2ilfWXcvo
2017-08-01 15:04:36 +01:00
Hiroyuki Ikezoe
cb5fe8a6ab Bug 1384120 - Replace old pseudo style context with a new style context including animations. r=emilio
When a reframe happens on the parent of a pseudo element which has animations,
we need to grab style for the pseudo element that includes the animations'
style and also *replace* old style context (that does not include animations'
style) with it. Otherwise, we will use the old style context that has *no*
animations style, as a result, we will see a flicker right after the reframe.

Two reftests in this patch fail without this fix.  One is for CSS transitions,
the other one is for CSS animations.

MozReview-Commit-ID: 6pCdnQ1DGUY
2017-08-08 11:35:23 +09:00
Nicholas Nethercote
723f585d9c Bug 1386600 - Change nsIStringBundle methods to return |AString| instead of |wstring|. r=emk,sr=dbaron.
This removes about 2/3 of the occurrences of nsXPIDLString in the tree. The
places where nsXPIDLStrings are null-checked are replaced with |rv| checks.

The patch also removes a couple of unused declarations from
nsIStringBundle.idl.

Note that nsStringBundle::GetStringFromNameHelper() was merged into
GetStringFromName(), because they both would have had the same signature.
2017-08-04 14:40:52 +10:00
Emilio Cobos Álvarez
54f1c009a9 Bug 1384542: Move GetParent and IsLinkContext to GeckoStyleContext. r=heycam
MozReview-Commit-ID: C19yGcphixX
2017-07-31 14:32:59 +02:00
Emilio Cobos Álvarez
7477ae9039 Bug 1384542: Remove usage of GetParentAllowServo in the frame constructor. r=bz
MozReview-Commit-ID: HPMzM8p3GSO
2017-07-31 14:29:18 +02:00
Kyle Machulis
ecd34ff2a2 Bug 1279218 - Remove Applet tag; r=bz
Removes applet tag interfaces, and changes HTML5 parser to output
HTMLUnknownElement when tag is found. Removes tag process from various
places in the browser.

MozReview-Commit-ID: 2zHhK2U2esX
2017-07-10 16:00:30 -07:00
Sebastian Hengst
8bbc2381f5 merge mozilla-central to autoland. r=merge a=merge 2017-07-29 11:48:40 +02:00
Sebastian Hengst
a1115605ac Backed out changeset 9a7b90cf8a63 (bug 1361618) for frequently failing accessible/tests/browser/states/browser_test_link.js (bug 1385498). r=backout a=backout
MozReview-Commit-ID: DK2CuaYBPbj
2017-07-29 11:42:39 +02:00
Boris Zbarsky
eeb76a5458 Bug 1324619 part 1. Skip reparenting style contexts in the frame constructor when it's not needed. r=emilio
We don't need to reparent when moving things in/out of anonymous boxes and using the stylo backend.

MozReview-Commit-ID: 8C6ScqTuR9z
2017-07-28 21:11:18 -04:00
J. Ryan Stinnett
d36571b5e6 Bug 1361618 - Remove unnecessary calls to FlushPendingLinkUpdates. r=dbaron
This removes the two calls to `FlushPendingLinkUpdates` in nsCSSFrameConstructor
and GeckoRestyleManager, which appear to have no effect.

Looking through what the pending link code is attempting to do:

* When a new anchor is bound in `BindToTree` we do:
  1. Link::ResetLinkState(false, Link::ElementHasHref());
    * Set link's mLinkState to default (either unvisited or not link)
    * Set element's link mState bits to default (either unvisited or not link)
  2. doc->RegisterPendingLinkUpdate(this);
    * Schedules idle dispatch to run `FlushPendingLinkUpdates` within 1 sec
* In `FlushPendingLinkUpdates`:
  * For each pending link, call element->UpdateLinkState(link->LinkState());
    1. Register link for async history update to get potential future visited
       state
    2. mLinkState is still unvisited / not link until we hear from history, so
       element state is unchanged

Thus, there seems to be no need to call `FlushPendingLinkUpdates` outside of
`BindToTree`, since visited state is always applied async anyway (so it doesn't
work as an optimization to avoid restyling if visited, since that will trigger
later).

MozReview-Commit-ID: KbFuKve1KUi
2017-06-29 11:31:52 -07:00
Bobby Holley
9b25ccada2 Bug 1384769 - Pass TraversalFlags from C++ into Rust. r=emilio
MozReview-Commit-ID: EVUzgnL5coN
2017-07-27 17:49:38 -07:00
Emilio Cobos Álvarez
4b6d7fc287 Bug 1381844: Be more explicit about the kind of style context we handle all the time. r=bholley
MozReview-Commit-ID: E0mdkhU3XBz
2017-07-22 18:02:57 +02:00
Manish Goregaokar
836931eee3 Bug 1382017 part 2 Gecko piece - Remove usage of ServoComputedValues from binding functions; r=xidorn
MozReview-Commit-ID: 3KygTIIMVvF
2017-07-18 23:17:34 -07:00
Wes Kocher
cf25042a64 Backed out changeset 14868b3c13e3 (bug 1373767) for android reftest failures in font-inflation-1.html a=backout CLOSED TREE
MozReview-Commit-ID: 5cpCdxuXNin
2017-07-18 22:40:00 -07:00
Wes Kocher
12432754ec Merge m-c to autoland, a=merge CLOSED TREE
MozReview-Commit-ID: 1XYfqTZv3GF
2017-07-18 18:24:49 -07:00
Manish Goregaokar
25a79e6eaa Bug 1382019 - stylo: Don't crash on null parent contexts in nsCSSFrameConstructor::AddFrameConstructionItemsInternal ; r=emilio a=crashfix CLOSED TREE
MozReview-Commit-ID: 93fXjEnLVLI
2017-07-18 15:14:21 -07:00
Manish Goregaokar
86e90da5c3 Bug 1367904 - Part 10: stylo: Switch Gecko over to ServoStyleContext; r=bholley
MozReview-Commit-ID: EmopKVjEzlz
2017-07-17 21:00:46 -07:00