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

69284 Коммитов

Автор SHA1 Сообщение Дата
Ryan Hunt 116f9c9f98 Bug 1559518 - Use LayoutDevicePixel for BrowserChild visible rect and composition size. r=kats
App units of a remote browser element in the parent process are
different from app units inside the remote content in the child
process. We should apply the appropriate conversions by exposing
the relevant data as LayoutDevicePixel.

Differential Revision: https://phabricator.services.mozilla.com/D35334

--HG--
extra : moz-landing-system : lando
2019-06-19 18:20:52 +00:00
Ting-Yu Lin 6c93720bad Bug 1523595 Part 3 - Apply ColumnSetWrapper's block size constraint to the available size when creating BlockReflowInput for ColumnSet. r=dbaron
We used to apply the column container's block size constraint on top of
the available block size in nsColumnSetFrame::ChooseColumnStrategy().
After column-span is enabled, ColumnSet is no longer the outermost
column container frame. We need to apply ColumnSetWrapper's block size
constraint to the available size when creating the ReflowInput for
ColumnSet so that ColumnSet can use it to compute the max column block
size in ChooseColumnStrategy().

This is calculated in nsBlockFrame::ReflowBlockFrame() instead of
nsColumnSetFrame::ChooseColumnStrategy() because we need
BlockReflowInput::mBCoord to determine the remaining block size.

multicol-breaking-004.html is copied and modified from
multicol-breaking-001.html with border-bottom added to test
"box-decoration-break: clone".

Differential Revision: https://phabricator.services.mozilla.com/D31676

--HG--
extra : moz-landing-system : lando
2019-06-19 17:05:22 +00:00
Ting-Yu Lin 4547c3eb7d Bug 1523595 Part 2 - Add missing NS_FRAME_HAS_MULTI_COLUMN_ANCESTOR for nested ColumnSetWrapper. r=dbaron
Bug 1507244 changes how NS_FRAME_HAS_MULTI_COLUMN_ANCESTOR is propagated
to the child, but I forget to add the bit for nested ColumnSetWrapper.

Currently, no other code depends on this bit being set on nested
ColumnSetWrapper, but Part 3 will. Without this patch,
testing/web-platform/tests/css/css-multicol/multicol-nested-margin-002.xht
will fail with Part 3.

Differential Revision: https://phabricator.services.mozilla.com/D31675

--HG--
extra : moz-landing-system : lando
2019-06-19 17:05:18 +00:00
Ting-Yu Lin 3ae14a4f88 Bug 1523595 Part 1 - Remove margin-bottom from column-balancing-nested-000.html and its reference. r=dbaron
This patch does the same thing as bug 1548118 Part 3, but for
column-balancing-nested-000.html.

Differential Revision: https://phabricator.services.mozilla.com/D31674

--HG--
extra : moz-landing-system : lando
2019-06-19 17:03:53 +00:00
Emilio Cobos Álvarez b7cf474626 Bug 1559546 - Introduce nsAtom::IsEmpty. r=njn
Both for symmetry with other string APIs, and also to prevent footguns (since I
debugged for a while a typo where I wrote nsGkAtoms::empty rather than
nsGkAtoms::_empty).

We could use null here, but that will not be possible in the future when I use
the rust representation of more grid data structures (at least without
increasing memory usage).

So I think I'll keep using ::_empty as a signaling value for "no grid
identifier".

Differential Revision: https://phabricator.services.mozilla.com/D35120

--HG--
extra : moz-landing-system : lando
2019-06-19 05:58:15 +00:00
Emilio Cobos Álvarez 6ed8680108 Bug 1559546 - Use atoms for grid line names. r=mats
The style system already atomizes all CustomIdent values, which means that we're
just wasting memory and CPU by doing string copies all over the place.

This patch fixes it. This also simplifies further changes to use as much of the
rust data structures as possible.

I had to switch from nsTHashtable to mozilla::HashTable because the former
doesn't handle well non-default-constructible structs (like NamedLine, which
now has a StyleAtom, which is not default-constructible).

Differential Revision: https://phabricator.services.mozilla.com/D35119

--HG--
extra : moz-landing-system : lando
2019-06-19 05:58:11 +00:00
Emilio Cobos Álvarez 5a2717a028 Bug 1559546 - Allow to construct StyleAtom objects from C++. r=heycam
I'm going to need it in an upcoming patch.

Differential Revision: https://phabricator.services.mozilla.com/D35118

--HG--
extra : moz-landing-system : lando
2019-06-19 05:58:01 +00:00
Daniel Holbert 5ec19daf90 Bug 1558849: Use sans-serif font in reftest ruby-inlinize-blocks-002.html to reduce likelihood of fuzziness. r=jfkthame
We're seeing occasional fuzzy-mismatch failures with a single pixel differing,
where an antialiased "a" serif overlaps an adjacent table border.  Hopefully a
sans-serif font will reduce the likelihood of this fuzziness.

Differential Revision: https://phabricator.services.mozilla.com/D35266

--HG--
extra : moz-landing-system : lando
2019-06-18 22:03:01 +00:00
Emilio Cobos Álvarez 841d3eea32 Bug 1559545 - Use servo for the representation of grid template areas. r=mats
Right now we do a lot of useless string copying. In order to avoid transcoding
to utf-16 during layout, make sure to use nsCString at a few related places.

I may revisit this since we're storing other line names as atoms in some places.
So it may be better to just use atoms everywhere.

But that'd be a different patch either way.

Depends on D35116

Differential Revision: https://phabricator.services.mozilla.com/D35117

--HG--
extra : moz-landing-system : lando
2019-06-18 22:29:58 +00:00
Doug Thayer 5a066b03f1 Bug 1548247 - Correct and limit scroll update renderroot usage r=kats
There's two things going on here. 1) nsGfxScrollFrame is getting the
wrong renderroot, because it's not correctly recursing up the frame
tree. 2) Hiding behind that problem is that if we do correctly assign
the renderroot, we end up blocking on both render roots updating if
we don't, say, have a horizontal scroll option, because that leaves
us with a wr::RenderRoot::Default. 2.1) We then still end up blocking
on the default renderroot because we initialize the selector with
WebRenderBridgeParent's mRenderRoot.

Differential Revision: https://phabricator.services.mozilla.com/D31858

--HG--
extra : moz-landing-system : lando
2019-06-18 22:02:57 +00:00
Ting-Yu Lin 73b1eb5bc6 Bug 1550869 - Stop undraggable images from being selected by a single-clicking. r=emilio
This is a rework for the issue in bug 1516963.

The condition `aFrame->IsFrameOfType(nsIFrame::eReplaced)` was added to
avoid breaking
editor/libeditor/tests/test_abs_positioner_positioning_elements.html
because it contains blockified (position:absolute) images in
contenteditable, and we don't want these images to use frame edge. But
for non-editable undraggable images, which have display:inline, we want
them to use frame edge to avoid being selected by a single-clicking.
Note that non-editable draggable images use a different code patch to
handle their operations.

I think it easier to understand by checking the frame types directly. As
for images, we want non-editable images to use frame edge, but not those
editable ones because editor has its own logic to handle all the
dragging operations, etc. Using frame edge for editable images makes
them undraggable, and fails
test_abs_positioner_positioning_elements.html.

Add more tests for empty inline-grid, inline-flex, inline-table, video,
to ensure the behavior is not changed. We don't want them to be selected
by a single-clicking, either.

Note I only test video's selection is collapsed when single-clicking
because I failed to turn off picture-in-picture on <video> in
test_reftests_with_caret.html.

Differential Revision: https://phabricator.services.mozilla.com/D34909

--HG--
extra : moz-landing-system : lando
2019-06-18 05:30:35 +00:00
violet f8f8760a7f Bug 1559796 - Should not serialize default radius of circle r=emilio
Should not serialize default shape-outside circle() function radius.

The ToCss impl of Circle and Ellipse turn out to be identical in specified and computed value, thus move them to generics.

Differential Revision: https://phabricator.services.mozilla.com/D35183

--HG--
extra : moz-landing-system : lando
2019-06-18 11:54:41 +00:00
Noemi Erli f555fa472a Backed out changeset a2a92e2fd645 (bug 1559796) for failing in shape-outside-circle-004.html 2019-06-18 08:44:42 +03:00
violet a213db9419 Bug 1559796 - Should not serialize default radius of circle r=emilio
Should not serialize default shape-outside circle() function radius.

The ToCss impl of Circle and Ellipse turn out to be identical in specified and computed value, thus move them to generics.

Differential Revision: https://phabricator.services.mozilla.com/D35183

--HG--
extra : moz-landing-system : lando
2019-06-18 03:48:27 +00:00
Logan Smyth a1de03c27b Bug 1529345 - Part 2: Add Gecko infrastructure for receiving notifications about debugger-related events. r=jimb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D30565

--HG--
extra : moz-landing-system : lando
2019-06-17 04:36:29 +00:00
longsonr 35dbd5da16 Bug 1559626 - Convert getCharNumAtPosition to take a DOMPointInit r=violet r=bzbarsky 2019-06-16 10:12:40 +01:00
violet 682af614dd Bug 1470695 - Implement overflow-block and overflow-inline properties r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D34738

--HG--
extra : moz-landing-system : lando
2019-06-15 13:09:16 +00:00
Andreea Pavel 8c09b0389f Merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : mobile/android/base/java/org/mozilla/gecko/util/OnboardingStringUtil.java => mobile/android/base/java/org/mozilla/gecko/util/OnboardingResources.java
rename : toolkit/components/normandy/test/browser/addons/normandydriver-1.0/manifest.json => toolkit/components/normandy/test/browser/addons/normandydriver-a-1.0/manifest.json
rename : toolkit/components/normandy/test/browser/addons/normandydriver-2.0/manifest.json => toolkit/components/normandy/test/browser/addons/normandydriver-a-2.0/manifest.json
rename : toolkit/components/normandy/test/browser/addons/normandydriver-1.0/manifest.json => toolkit/components/normandy/test/browser/addons/normandydriver-b-1.0/manifest.json
2019-06-15 12:54:47 +03:00
Emilio Cobos Álvarez 421936227c Bug 1558442 - Use a weaker change hint for auto -> non-auto offset changes. r=dbaron
See the review comments in bug 1558442 to see why these should be correct.
Quoting:

> I think it would be good to avoid passing ClearDescendantIntrinsics and
> NeedDirtyReflow here, since those are the most expensive ones, and I think
> they're pretty clearly not needed. I think ClearAncestorIntrinsics is also
> clearly not needed, since I'm reasonably confident that absolutely positioned
> kids don't contribute to their parent's intrinsic size.

I think the same thing applies to "slow" offset changes (when autoness changes),
since relative movement doesn't affect intrinsic sizes either.

Differential Revision: https://phabricator.services.mozilla.com/D34497

--HG--
extra : moz-landing-system : lando
2019-06-14 23:29:34 +00:00
Emilio Cobos Álvarez 24f7725864 No bug - Fix StyleAtom::AsAtom (used only for debugging purposes atm). 2019-06-15 03:36:15 +02:00
Matt Woodrow 0d50f63b8f Bug 1348503 - Retrieve the FrameLayerBuilder pointer from the LayerManager when we need it. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D34772

--HG--
extra : moz-landing-system : lando
2019-06-13 17:02:54 +00:00
Dorel Luca e12ad70ab7 Backed out 2 changesets (bug 1529345) for Windows 2012 build bustages
Backed out changeset 87aa4894b4a1 (bug 1529345)
Backed out changeset cf6f6281cb44 (bug 1529345)

--HG--
extra : rebase_source : b19274a3d20d3a1ea92f0fe1224ef30910e10916
2019-06-14 23:34:36 +03:00
Cameron McCormack 81848f2228 Bug 1559093 - Handle font load cancellation better. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D34971

--HG--
extra : moz-landing-system : lando
2019-06-14 19:25:50 +00:00
Daniel Holbert 9f05b32de5 Bug 1559344: Reinstate earlier behavior of invalidating children-only transform (and repainting) when viewBox changes. r=longsonr
In bug 1556511's patch, I removed an invalidation that we'd been doing in
response to viewBox changes, because I thought that the patch's newly-added
reflow-request would make the invalidation unnecessary.  But this was wrong --
the invalidation is still necessary, for cases where the requested reflow
doesn't end up resizing any frames.  Such a reflow won't make us repaint
anything, and yet the viewBox change typically *does* need to trigger a repaint
due to impacting the transform for the SVG contents.

So, this patch reverts that part of bug 1556511's patch, and returns us to
triggering a repaint in response to viewBox changes.

Differential Revision: https://phabricator.services.mozilla.com/D35067

--HG--
extra : moz-landing-system : lando
2019-06-14 19:21:01 +00:00
Logan Smyth 77f27aa54c Bug 1529345 - Part 2: Add Gecko infrastructure for receiving notifications about debugger-related events. r=jimb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D30565

--HG--
extra : moz-landing-system : lando
2019-06-14 18:25:47 +00:00
Emilio Cobos Álvarez 9a81f8940e Bug 1555497 - followup: Add missing include to unbust builds in a CLOSED TREE 2019-06-14 20:53:39 +02:00
Emilio Cobos Álvarez e9ffa7cc6c Bug 1555497 - Make the code in nsXULPopupManager that finds the default insertion point for children handle Shadow DOM as well. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D34333

--HG--
extra : moz-landing-system : lando
2019-06-13 13:23:09 +00:00
Dorel Luca 6b40527932 Backed out 2 changesets (bug 1529345) for Build Bustage. CLOSED TREE
Backed out changeset 63f80a49839e (bug 1529345)
Backed out changeset 15bac42cc73a (bug 1529345)
2019-06-14 20:55:52 +03:00
Logan Smyth c09e533d0e Bug 1529345 - Part 2: Add Gecko infrastructure for receiving notifications about debugger-related events. r=jimb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D30565

--HG--
extra : moz-landing-system : lando
2019-06-14 17:14:13 +00:00
Charlie Marlow dd305b9409 Bug 1552062: Part 2: Implemented rendering for text-underline-offset in nsTextFrame r=jfkthame
reftests will be added in part 3, from-font support will be added later on

Differential Revision: https://phabricator.services.mozilla.com/D34019

--HG--
extra : moz-landing-system : lando
2019-06-14 02:33:45 +00:00
Charlie Marlow 5c40da97ea Bug 1552062: Part 1: Added text underline offset member variable to LineDecorations struct r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D33882

--HG--
extra : moz-landing-system : lando
2019-06-14 02:33:45 +00:00
Brindusan Cristian 3f9e2ec379 Backed out changeset 64b2f8306217 (bug 1536871) for dt failures at browser_fontinspector.js. CLOSED TREE 2019-06-14 00:14:16 +03:00
Emilio Cobos Álvarez 7d1f93b8c6 Bug 1536871 - Make 'line-height: normal' return the 'normal' keyword from getComputedStyle() on Nightly and Early Beta, for now. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D25119

--HG--
extra : moz-landing-system : lando
2019-06-13 18:30:07 +00:00
Kartikaya Gupta 032ebfa3e8 Bug 1559032 - Adjust fuzz for 395107-5.html on geckoview. r=gbrown
Depends on D34896

Differential Revision: https://phabricator.services.mozilla.com/D34897

--HG--
extra : moz-landing-system : lando
2019-06-13 15:26:09 +00:00
Kartikaya Gupta 50738de8c3 Bug 1559023 - Adjust fuzz for form-valid-and-barred-remove-barred.html on geckoview. r=gbrown
Depends on D34895

Differential Revision: https://phabricator.services.mozilla.com/D34896

--HG--
extra : moz-landing-system : lando
2019-06-13 15:27:08 +00:00
Kartikaya Gupta 4c8f4be8cd Bug 1559001 - Adjust fuzz for 395107-3.html on geckoview. r=gbrown
Depends on D34894

Differential Revision: https://phabricator.services.mozilla.com/D34895

--HG--
extra : moz-landing-system : lando
2019-06-13 15:26:38 +00:00
Kartikaya Gupta f1799b531a Bug 1558894 - Adjust fuzz for 315920-11.html on geckoview. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D34894

--HG--
extra : moz-landing-system : lando
2019-06-13 15:27:32 +00:00
Oana Pop Rus b93335c27f Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-06-13 13:04:19 +03:00
Oana Pop Rus 1133b6716d Merge inbound to mozilla-central. a=merge 2019-06-13 12:55:51 +03:00
Ting-Yu Lin dbbf8bb804 Bug 1524411 - Null-check kid in nsLayoutUtils::GetFirstLinePosition(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D34247

--HG--
extra : moz-landing-system : lando
2019-06-13 04:20:55 +00:00
violet 156ff2589f Bug 1554753 - Should not treat 0 opacity text without stroke width as drawing stroke r=jfkthame
The regressor Bug 1248708 inadvertently changed the behavior for opacity 0 text
when implementing -webkit-text-stroke. It treats all opacity 0 text as drawing stroke
even if the stroke property isn't used in the first place.

We should check aParams.textStrokeWidth is actually set before changing draw mode.

Differential Revision: https://phabricator.services.mozilla.com/D34663

--HG--
extra : moz-landing-system : lando
2019-06-12 15:28:55 +00:00
Emilio Cobos Álvarez 4e5f983137 Bug 1488953 - Use a script runner for scrollport events. r=mats
This is consistent with the scroll area events too, and allows us to
remove the WillPaintObserver stuff.

Differential Revision: https://phabricator.services.mozilla.com/D5271

--HG--
extra : moz-landing-system : lando
2019-06-13 02:30:25 +00:00
Andrea Marchesini bb718d74fc Bug 1490044 - Remove DOMPrefs. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D33510

--HG--
extra : moz-landing-system : lando
2019-06-13 09:02:03 +00:00
Peter Van der Beken 8b00dd9ff2 Bug 1490044 - Move all prefs used in WebIDL to StaticPrefs. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D33507

--HG--
extra : moz-landing-system : lando
2019-06-13 09:00:59 +00:00
Glenn Watson e22f19cf52 Bug 1558106 - Support picture caching for multiple scroll roots. r=kvark
This patch implements the majority of the planned picture caching
improvements. It supports most of the functionality required to
(as a follow up) support OS compositor integration. It also improves
on the robustness and functionality of the previous picture caching
implementation.

There are some expected temporary performance regressions in
some cases (such as content that is constantly invalidating) and
during initial page render when many render targets must be drawn
to. These performance regressions will be resolved in follow up
commits by supporting multi-resolution tiles.

The scene is split into a number of slices, determined by the scroll
root of each primitive, which can be found by the primitive's
spatial node indices. If a scene contains too many slices, then
picture caching is disabled on the page, to avoid excessive texture
memory usage, and rendering falls back to rasterizing each frame.

The specific changes in this patch are:
    * Support tile caches for multiple scroll roots, allowing the
      entire page (including fixed divs and the main UI bar) to be
      cached in most cases, in addition to the main content.
    * Remove requirement to read tiles back from the framebuffer.
      Instead, they are drawn into the picture cache target tiles,
      and blitted to the screen. This is slightly slower than the
      existing picture caching when content is constantly changing,
      however this cost will disappear / become irrelevant when
      the OS compositor integration work is complete.
    * Switch picture cache render targets to be nearest sampled (they
      are always rendered 1:1) and support depth buffer targets.
    * Make use of the external scroll offset support to allow removal
      of the primitive correlation hacks in the previous picture
      caching implementation. Also allows storing of primitive
      dependencies in picture space rather than world space, which
      reduces floating point inaccuracies.
    * Determine if each tile and picture cache can be considered
      opaque. This is used to determine whether subpixel AA text
      rendering is available on a slice, and for rendering optimizations
      related to disabling blending and/or tile clears.
    * Use the clip chain instance results from the recent visibility pass
      work to determine clip chain dependencies. This results in fewer
      clip item dependencies in tiles, which is faster to check validity
      and reduces redundant invalidations.
    * Remove extra overhead during batching related to batch lists,
      and region iteration, as they are no longer required.
    * Support PrimitiveVisibilityMask during batching. This allows a
      single traversal of a picture (surface) root during batching to
      efficiently construct multiple alpha batcher objects (typically
      one per invalida tile).
    * Picture caching is now handled implicitly by WR, depending on
      the content of the scene. There is no requirement for client
      code to manually select which stacking context should be cached.
    * Simplify how clip chain / transform dependencies are tracked by
      picture cache tiles.
    * Support pushing / popping enclosing clip chain roots without
      the need for a stacking context / picture in some cases. This
      simplifies the logic to split the scene into multiple slices.

The main remaining work in this area is (a) extend the code to
optionally provide each slice as an input to the OS compositor
rather than drawing the tiles in WR, and (b) support multi-resolution
tiles so that we reduce the draw call, batching and render target
overhead in cases where much of the page content is changing.

Differential Revision: https://phabricator.services.mozilla.com/D34319

--HG--
extra : moz-landing-system : lando
2019-06-13 04:43:56 +00:00
violet d5bbf998dd Bug 1351432 - Implement the break-spaces value of the white-space property r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D34499

--HG--
extra : moz-landing-system : lando
2019-06-12 10:23:49 +00:00
violet f7f51ced95 Bug 1351432 - Cleanup GetCSSWhitespaceToCompressionMode r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D34498

--HG--
extra : moz-landing-system : lando
2019-06-11 14:29:23 +00:00
Jean-Yves Avenard b0082c7c5b Bug 1558770 - Remove non-functional test. r=kats
The test is supposed to test that changing the preference layers.acceleration.disabled doesn't cause a crash, but this pref is only read on startup well before the test has a chance to run and switch the pref.

It's not doing anything.

Differential Revision: https://phabricator.services.mozilla.com/D34781

--HG--
extra : moz-landing-system : lando
2019-06-13 00:35:30 +00:00
Ehsan Akhgari 35248909ba Bug 1557887 - Part 10: Prevent initial about:blank documents from escaping out of partitioned storage by using the correct storage principal when creating them; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D34464

--HG--
extra : moz-landing-system : lando
2019-06-12 18:47:25 +00:00
Ryan Hunt d7b4b6a1a4 Bug 1558482 - Restrict the composition size to the visibleRect for OOP-iframes. r=kats
Even if we don't have a root displayport, the composition size is still used for
displayport margins calculations. For extremely tall iframes, this will create
a displayport that is way to big. We should instead report a composition size that
is equivalent to the visible rect for OOP-iframes.

Differential Revision: https://phabricator.services.mozilla.com/D34528

--HG--
extra : rebase_source : 1f43cb16a0841eb3cd892401c83a46d56276cf2e
2019-06-11 07:57:52 -05:00