Граф коммитов

73369 Коммитов

Автор SHA1 Сообщение Дата
longsonr cc4f307539 Bug 1651404 - Move nsSVGDisplayableFrame and nsISVGSVGFrame to the mozilla namespace r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D82945
2020-07-09 18:34:54 +00:00
Daniel Holbert ca4338e8bb Bug 1651785: Move IsAnyAtomEqual template functions into SVGOuterSVGFrame.cpp (at the top), since that's the only file where they're used. r=krourke
Differential Revision: https://phabricator.services.mozilla.com/D82980
2020-07-09 20:10:12 +00:00
Emilio Cobos Álvarez 8be683efd5 Bug 1648839 - Evaluate changes in all media queries, then fire change events. r=jwatt
This ensures that you can't observe an inconsistent state while we go
through the list.

It should also be marginally better as we don't build an array with all
the media queries unconditionally.

Differential Revision: https://phabricator.services.mozilla.com/D82260
2020-07-10 01:21:53 +00:00
Emilio Cobos Álvarez 9ec63950e7 Bug 1648839 - Fix two issues with notifications for media feature value changes. r=nordzilla
We need to notify unconditionally because even if we didn't have
stylesheets, we could have responsive content which needs to change
source.

We need to notify the document even if the pres shell is not
initialized, as it might be our last chance to notify the responsive
content. This happens for printing, and makes my srcset test fail.

MANUAL PUSH: Somehow phabricator still thinks it needs review, even
though it was accepted.

Differential Revision: https://phabricator.services.mozilla.com/D81778
2020-07-10 03:18:50 +02:00
sefeng de3bbd2feb Bug 1651089 - Use transform instead of translate to position dialog r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D82538
2020-07-09 19:46:44 +00:00
Kris Maglione 6a39211860 Bug 1464542: Part 3b - Add existing Services.jsm registrations to the new services cache. r=mccr8,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D81419
2020-07-09 21:42:25 +00:00
Csoregi Natalia b355fcc4bf Backed out 6 changesets (bug 1464542) for xpcshell failures on test_Services.js. CLOSED TREE
Backed out changeset b50af9005851 (bug 1464542)
Backed out changeset 9d3a0ea2cf65 (bug 1464542)
Backed out changeset 71c3475fcbc2 (bug 1464542)
Backed out changeset 51ff93220a95 (bug 1464542)
Backed out changeset e84de1547c09 (bug 1464542)
Backed out changeset bbecc16d08eb (bug 1464542)
2020-07-09 23:19:26 +03:00
Ting-Yu Lin ffcfb6dcec Bug 1651171 - Convert NS_SUBTREE_DIRTY to an inline method of nsIFrame. r=jfkthame
This is a straightforward conversion except that
`NS_SUBTREE_DIRTY(this)` can be written terser as `IsSubtreeDirty()`.

Differential Revision: https://phabricator.services.mozilla.com/D82811
2020-07-09 18:29:15 +00:00
Kris Maglione d09458dc51 Bug 1464542: Part 3b - Add existing Services.jsm registrations to the new services cache. r=mccr8,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D81419
2020-07-09 17:59:16 +00:00
Kartikaya Gupta 0cf65adf2b Bug 1651050 - Add a logging module for code that sets displayports. r=tnikkel
This is useful for debugging purposes.

Depends on D82778

Differential Revision: https://phabricator.services.mozilla.com/D82779
2020-07-09 10:10:28 +00:00
Kartikaya Gupta aa7d787c6e Bug 1651050 - Change how the zoomable flag is used in scrollframes. r=tnikkel
If the root scrollframe has the zoomable flag set, it automatically returns
true from WantAsyncScroll which makes it the "primary" scrollframe, and
automatically gets a displayport. However, this can be undesirable in cases
where the root scrollframe is not actually scrollable (i.e. document content
doesn't overflow) because we don't actually need that displayport on the root
scrollframe and instead want it on a scrollframe that is actually scrollable.

This patch removes the behaviour of WantAsyncScroll returning true for such
scrollframes, but maintains the layerization changes needed to support zooming.
This reduces the set of differences between running with apz.allow_zooming on
and off, which in turn eliminates a bunch of test failures when that pref is
enabled.

Depends on D82777

Differential Revision: https://phabricator.services.mozilla.com/D82778
2020-07-09 10:39:59 +00:00
Daisuke Akatsuka 7ad61c2671 Bug 1625930: Fire StyleSheetApplicableStateChanged event explicitly if the stylesheet is getten from the cache. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81305
2020-07-08 15:13:03 +00:00
Hiroyuki Ikezoe 2e4ceac41e Bug 1525561 - Rename nsPresContext::GetToplevelContentDocumentPresContext to GetInProcessRootContentDocumentPresContext. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D82812
2020-07-09 01:58:59 +00:00
longsonr 6f5803e27f Bug 1651289 - Move remaining SVG concrete frame classes to the mozilla namespace r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D82650
2020-07-09 01:33:33 +00:00
Cameron McCormack c7b8a0ec83 Bug 1650715 - Make image-orientation apply to all CSS images associated with an element. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D82471
2020-07-08 23:51:15 +00:00
Miko Mynttinen f51fb1062d Bug 1641769 - Compute visibility of nsDisplayPerspective children r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D82720
2020-07-08 21:30:30 +00:00
Emilio Cobos Álvarez c3f3931f8c Bug 1645773 - Make sure to reflow when author specified borders / backgrounds are changed if we're themed. r=jfkthame
As author-specified-background/border changes can change the effective
border and padding of form controls.

Differential Revision: https://phabricator.services.mozilla.com/D82689
2020-07-08 15:13:27 +00:00
Bogdan Tara 75881e8400 Backed out 6 changesets (bug 1625930) for test_eventemitter_basic.js failures CLOSED TREE
Backed out changeset 30a3da9f613c (bug 1625930)
Backed out changeset d4e4c3ddcc43 (bug 1625930)
Backed out changeset 0133d9c58323 (bug 1625930)
Backed out changeset 1c9cf53f2a89 (bug 1625930)
Backed out changeset f63839eff636 (bug 1625930)
Backed out changeset a6bef105a2c2 (bug 1625930)
2020-07-08 18:08:27 +03:00
Daisuke Akatsuka 2e741db198 Bug 1625930: Fire StyleSheetApplicableStateChanged event explicitly if the stylesheet is getten from the cache. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81305
2020-07-08 14:05:42 +00:00
Ting-Yu Lin 1ae545bdca Bug 1651202 Part 5 - Remove mState field from frame tree output. r=heycam
Per discussion on matrix, printing mState in hex format is
indecipherable. Remove it to reduce the rate of wrapping of a long line.

Differential Revision: https://phabricator.services.mozilla.com/D82606
2020-07-08 01:03:56 +00:00
Ting-Yu Lin 16b7f80e1e Bug 1651202 Part 4 - Remove DebugListFrameTree in nsIFrame.cpp. r=heycam
This is equivalent to `aFrame->DumpFrameTreeLimited()` or `ftl` gdb /
lldb command. It appears only in nsIFrame.cpp, I doubt it's actually
used by developers.

Differential Revision: https://phabricator.services.mozilla.com/D82605
2020-07-08 01:03:33 +00:00
Ting-Yu Lin 8dd11ff135 Bug 1651202 Part 3 - Rewrite container frame's frame tree output. r=heycam
This affects the output of flex, grid, fieldset, etc.

Given a snippet like the following.

```
<fieldset style="position: relative; display: flex">
  <div style="position: absolute">
```

Currently, the frame tree output looks as if the AbsoluteList is under
the FieldSet, but it's actually under the FlexContainer.

```
FieldSet(fieldset)(8)@7f4ae9e73508 ... <
  FlexContainer(fieldset)(8)@7f4ae9e735c0 ... <
    Placeholder(div)(1)@7f4ae9e73738
  >
  AbsoluteList 7f4ae9dcb8c0 <
    Block(div)(1)@7f4ae9e73670 ... <
    >
  >
>
```

After this patch, the frame tree looks like:

```
FieldSet(fieldset)(8)@7f4ae9e73508 ... <
  FlexContainer(fieldset)(8)@7f4ae9e735c0 ... <
    Placeholder(div)(1)@7f4ae9e73738
    AbsoluteList 7f4ae9dcb8c0 <
      Block(div)(1)@7f4ae9e73670 ... <
      >
    >
  >
>
```

Another minor difference is that for a empty container, the end angle
bracket is now on its own line, which is consistent with an empty block
frame's output.

This old output

```
FlexContainer(div)(4)@7f4ae9e73390<>
```

becomes

```
FlexContainer(div)(4)@7f4ae9e73390<
>
```

Differential Revision: https://phabricator.services.mozilla.com/D82604
2020-07-08 05:39:57 +00:00
Ting-Yu Lin 4ecda7f556 Bug 1651202 Part 2 - Minor format tweaks for block frame's frame tree output. r=heycam
Make the following tweak so that they are consistent with others.

* Add a space before the open angle bracket. This is at the end of
`Block(div)(1)@7f10e25de5d0 ... <`

* Tweak nsLineBox format.
`line 7f10e25de808: count=1` becomes `line@7f10e25de808 count=1`.

* Tweak child list format.
`AbsoluteList 0x7f10e3c7e560` becomes `AbsoluteList@7f10e3c7e560`

Differential Revision: https://phabricator.services.mozilla.com/D82603
2020-07-08 05:37:39 +00:00
Ting-Yu Lin 358c2f9ef1 Bug 1651202 Part 1 - Extract nsBlockFrame's printing child lists logic to a helper methods. r=heycam
`ListChildLists` lives in nsContainerFrame because I'm going to use it
to improve nsContainerFrame::List() in a later patch.

Differential Revision: https://phabricator.services.mozilla.com/D82602
2020-07-08 00:59:02 +00:00
Daniel Holbert 9542b75d5b Bug 1492538 part 2: Cache flex items' content-box sizes after reflowing them, & skip subsequent reflow if the size matches and the item's subtree isn't dirty. r=TYLin
Note: This optimization saves us from doing an extra unnecessary reflow in the
mochitest test_bug1505254.html, so I'm adjusting that test to remove its
magical "+1" fudge-factor in its expectations (and the corresponding
explanatory comment).  Similarly, I'm dropping the assertion-count for
crashtest 1488762-1.html because we now do a little bit less reflow work (and
hence assert a little bit less) in that test.

Depends on D78821

Differential Revision: https://phabricator.services.mozilla.com/D78822
2020-07-08 04:12:55 +00:00
Daniel Holbert 1f4f582846 Bug 1492538 part 1: Remove unnecessary special-casing on constrained-BSize check in FlexItem::NeedsFinalReflow. r=TYLin
Note: this patch doesn't change behavior of current mozilla-central - it's just reordering some logic, basically.

Background/explanation: in current mozilla-central, we intentionally force a
"final reflow" for flex items (i.e. we return true from NeedsFinalReflow) if we
see that there's a constrained AvailableBSize (i.e. if we're fragmenting).  However, the
logic to do that is buried within a basically-unrelated "if
(HadMeasuringReflow())" special case.

This patch pulls that check out of this unrelated special-case, so that we
detect the constrained AvailableBSize earlier and return earlier (indicating
more eagerly/up-front that we need a final reflow).

This patch is necessary because a later patch in this queue will add additional
special cases to FlexItem::NeedsFinalReflow, which will aim to make us *skip*
the final reflow in more cases.  But for now, we want this
contrained-AvailableBSize check to "dominate" and eagerly force a reflow,
regardless of that soon-to-be-added logic.

Differential Revision: https://phabricator.services.mozilla.com/D78821
2020-07-07 21:58:44 +00:00
Hiroyuki Ikezoe 8a563af888 Bug 1649663 - Migrate reftest-paged reftests in layout/reftests/backgrounds/ into wpt. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D81807
2020-07-02 04:01:33 +00:00
longsonr 058049a793 Bug 1649739 - Move SVG paint server and clipPath classes to the mozilla namespace r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D81858
2020-07-07 13:49:30 +00:00
Csoregi Natalia fe1354b164 Backed out changeset 4ed5a0e27c05 (bug 1647732) for font related wpt failures. CLOSED TREE 2020-07-07 12:31:27 +03:00
Liang-Heng Chen e69b3bc58b Bug 1647732 - isolate font cache; r=baku,jfkthame,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D82034
2020-07-07 07:49:38 +00:00
Kagami Sascha Rosylight f6d17b63b5 Bug 1630704 - Part 28: Remove nsFrame r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81865
2020-07-06 22:38:11 +00:00
Kagami Sascha Rosylight 1afcf4d621 Bug 1630704 - Part 27: Remove nsFrame from inheritance chain r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81864
2020-07-06 22:29:42 +00:00
Kagami Sascha Rosylight 49e9528422 Bug 1630704 - Part 26: Move ReflowInput import to nsIFrame.h r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81845
2020-07-06 20:31:51 +00:00
Kagami Sascha Rosylight 9bfce76b8d Bug 1630704 - Part 25: Construct nsIFrame from NS_NewEmptyFrame r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81844
2020-07-06 20:13:05 +00:00
Kartikaya Gupta 14464b938b Bug 1650488 - Don't build an async zoom container if a document is in fullscreen. r=botond
When a document has a fullscreen element, zooming is disabled, so we don't need
to build the async zoom container. But also, fullscreen is implemented via
hoisting the fullscreen element out of the normal layout flow, and making it
position:fixed. If the nsDisplayAsyncZoom display item is still in the display
list, it has a clip that doesn't account for fullscreen-ness, but still wraps
the nsDisplayPositionFixed items that are rendering the fullscreen elements.
This can result in hit-testing failing on those fullscreen items, because the
nsDisplayAsyncZoom item incorrectly clips away hit-test points. Instead, a
simple solution here is to just skip building the nsDisplayAsyncZoom item
entirely when in a fullscreen state.

Differential Revision: https://phabricator.services.mozilla.com/D82422
2020-07-06 20:31:00 +00:00
Ting-Yu Lin 089db3ebdb Bug 1650245 Part 3 - Remove CLANG_CRASH_BUG define in CSSOrderAwareFrameIterator.h. r=dholbert
Our minimum version requirements for clang is 5.0 per
https://groups.google.com/forum/#!msg/mozilla.dev.platform/ygj-1MDVB4M/CLxE_7OcBAAJ

Differential Revision: https://phabricator.services.mozilla.com/D82119
2020-07-03 16:57:00 +00:00
Ting-Yu Lin bd9d7f8048 Bug 1650245 Part 2 - Use nsTArray::StableSort() in CSSOrderAwareFrameIteratorT. r=dholbert,sg
nsTArray::StableSort() requires the Comparator to be a class/struct with
Equals() and LessThan() members, or a tri-state function like strcmp.
This patch adapts the original comparators to tri-state functions to
fulfill this contract.

Using StableSort() can also avoid the array bound checking in the array
iterator as described in bug 1147091 comment 8.

Change the include to <limits> because std::stable_sort is removed but
we still use std::numeric_limits.

Differential Revision: https://phabricator.services.mozilla.com/D82118
2020-07-06 17:11:24 +00:00
Ting-Yu Lin b88227c0a6 Bug 1650245 Part 1 - Move begin() and end() into private section in CSSOrderAwareFrameIterator. r=dholbert
Both methods are implementation details specific to this iterator, not
public interfaces that can be cooperated with C++ standard library, so
move them into private section.

Differential Revision: https://phabricator.services.mozilla.com/D82117
2020-07-03 16:55:04 +00:00
longsonr 357287af64 Bug 588684 - Mark objectBoundingBox-and-fePointLight reftests passing on linux r=dholbert
We can mark this fuzzy if necessary but it does seem OK now

Differential Revision: https://phabricator.services.mozilla.com/D82376
2020-07-06 18:33:24 +00:00
Geoff Brown 734bc97c35 Bug 1650410 - Tolerate psutil import failure in android reftests; r=bc
Differential Revision: https://phabricator.services.mozilla.com/D82242
2020-07-06 14:05:50 +00:00
Hiroyuki Ikezoe d32459e2c0 Bug 1650686 - Drop layout.viewport_contains_no_contents_area. r=botond
I suppose it's been well tested on Fenix.

Differential Revision: https://phabricator.services.mozilla.com/D82305
2020-07-06 09:53:34 +00:00
Hiroyuki Ikezoe 43877bd8b5 Bug 1647186 - Apply the cumulative resolution smaller than 1.0 to the root frame size for the partial pre-render. r=botond
So that we can reasonably expand the pre-render region on mobile environments.

Differential Revision: https://phabricator.services.mozilla.com/D81961
2020-07-05 23:17:02 +00:00
Hiroyuki Ikezoe 6daee7f230 Bug 1324591 - Disable partial pre-render for frames in position:sticky subtree. r=botond
Depends on D75732

Differential Revision: https://phabricator.services.mozilla.com/D77774
2020-07-05 11:45:59 +00:00
Hiroyuki Ikezoe 4205879729 Bug 1324591 - Report janked animations to the main-thread and update them on the main-thread. r=botond,boris
The machinery to report janked animations is;

1) Store the partial pre-rendered animation id and the Animation object in a
   hashtable in LayerManager
2) Store the animation id in the Animation object as well
3) When we detect jank, we send the animation id to the main-thread via an IPC
   call
4) Find the Animation object with the id in the hashtable and update the
   Animaiton
5) Whenever the partial pre-rendered Animation stop running on the compositor
   i.e. the Animation finished normally, the Animation's target element is
   changed, etc. etc., remove the Animation from the hashtable

Depends on D75731

Differential Revision: https://phabricator.services.mozilla.com/D75732
2020-07-05 11:45:01 +00:00
Hiroyuki Ikezoe 85030f4af6 Bug 1324591 - Jank if we are trying to composite area which is outside of the the partial prerender rect on non WebRender. r=botond,jrmuizel
Depends on D81481

Differential Revision: https://phabricator.services.mozilla.com/D75731
2020-07-05 11:44:18 +00:00
Hiroyuki Ikezoe ec49c6a9a8 Bug 1324591 - Inform the partial prerender rect, the overflowed SideBits, the scroll id of the nearest scrollable frame and its rectable to the compositor. r=botond
nsDisplayTransform doesn't have enough room to store the partial prerender rect
and the overflowed SideBits unfortunately (it will exceed 512 bytes limit [1]).
So we get the partial prerender rect and calculate the overflowed SideBits just
before we send transform animation information to the compositor.

[1] https://searchfox.org/mozilla-central/rev/fa52bedc4b401c12251513fa1c9df1753a29abb2/layout/painting/nsDisplayList.cpp#7318

Depends on D81480

Differential Revision: https://phabricator.services.mozilla.com/D75730
2020-07-05 11:43:33 +00:00
Hiroyuki Ikezoe 7115e973a0 Bug 1324591 - Add nsLayoutUtils::IsInPositionFixedSubtree. r=TYLin
Depends on D75729

Differential Revision: https://phabricator.services.mozilla.com/D81480
2020-07-05 11:43:20 +00:00
Hiroyuki Ikezoe cb8a5d8210 Bug 1324591 - Store PrerenderDecision in nsDisplayTransform. r=botond
Depends on D75728

Differential Revision: https://phabricator.services.mozilla.com/D75729
2020-07-05 11:43:07 +00:00
Narcis Beleuzu a1826f59a6 Backed out changeset 290c0c7b9864 (bug 1647186) for reftest failure on partial-prerender-expansion-with-resolution-2.html 2020-07-05 14:38:53 +03:00
Brindusan Cristian 7f75410fd7 Backed out 9 changesets (bug 1324591) for linux build bustages on central on nsDisplayList.h.
Backed out changeset 75966ee1fe65 (bug 1324591)
Backed out changeset d6a01c6bc40e (bug 1324591)
Backed out changeset fef36ff2ea3d (bug 1324591)
Backed out changeset 4a4ae4bd95d1 (bug 1324591)
Backed out changeset 732804c83add (bug 1324591)
Backed out changeset 84657a3522fb (bug 1324591)
Backed out changeset e6c74ba41007 (bug 1324591)
Backed out changeset 8e6d4e9f5aa0 (bug 1324591)
Backed out changeset 6bc284863aff (bug 1324591)
2020-07-05 13:45:35 +03:00