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

16356 Коммитов

Автор SHA1 Сообщение Дата
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 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
Bogdan Tara 7d04a14e49 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-06-14 13:46:39 +03: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
shindli 4831c71ec8 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-06-14 00:57:43 +03:00
Daniel Holbert 5c3642fba6 Bug 1551185 followup: Give nsImageFrame.cpp an #include for HTMLEditor (a type it uses in this bug's main patch). (no review, just a trivial #include addition for correctness)
This change doesn't affect behavior, but is probably needed to build
successfully in a non-unified-build configuration.

--HG--
extra : amend_source : 6617eaa171d1b1e294d2f3657d1d94688758b3e6
2019-06-13 10:57:04 -07:00
Oana Pop Rus 1133b6716d Merge inbound to mozilla-central. a=merge 2019-06-13 12:55:51 +03: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
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
Ryan Hunt b76533bae0 Bug 1558482 - Only initialize the root displayport for the cross process root content document. r=kats
The root displayport has some assumptions built into it about being positioned at
the origin and sized to the composition bounds that seem like they only apply to
the cross process root content document. This commit changes us to avoid taking
this code path for OOP-iframes.

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

--HG--
extra : rebase_source : 026bb84b7ad086f508228620d19d9f459f28bf1d
2019-06-11 07:57:23 -05:00
Ryan Hunt 99aaa4e6c6 Bug 1558482 - Add visibleRect and scaling to EffectsInfo and compute them when using layers. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D34523

--HG--
extra : rebase_source : 3bbef496359ae108e1f4adc2548e0140cfd7b0a8
2019-06-11 07:50:40 -05:00
Hiroyuki Ikezoe 56cfdf6c52 Bug 1554022 - Use the current position in CSS pixels for the start point of ScrollBy. r=botond,mstange
Otherwise clamped positions in layer pixels might cause 1-pixel difference
in CSS pixels on Android.

Note that there is a fundamental issue on the interaction between
the layer-pixel alignment and scrolling APIs (bug 1556685), once we fix the bug
properly, we should use the scrolled position, which was given by the scrolling
APIs, for the current position.

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

--HG--
extra : moz-landing-system : lando
2019-06-11 22:43:34 +00:00
Will Hawkins f7a08bd7ed Bug 1550437: Make sure that About dialog animates the throbber. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D34429

--HG--
extra : moz-landing-system : lando
2019-06-11 14:19:43 +00:00
Boris Zbarsky d5a8a4a595 Bug 1557793 part 3. Change the signatures of various nsContentUtils localization methods to play nicer with the new stringbundle API. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D34201

--HG--
extra : moz-landing-system : lando
2019-06-08 21:26:12 +00:00
Botond Ballo c0ca36e4fd Bug 1554813 - Size the scroll parts clip to the scroll frame's true outer size. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D33377

--HG--
extra : moz-landing-system : lando
2019-06-10 16:30:42 +00:00
Emilio Cobos Álvarez b4225d4d66 Bug 1558357 - Should update layout when the hypothetical display of an element changes, even though the final computed display doesn't. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D34443

--HG--
extra : moz-landing-system : lando
2019-06-11 09:12:10 +00:00
Matt Woodrow d35146931b Bug 1555819 - Remove invalidated display items during PreProcessDisplayLists, since we might not merge their display list. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D33881

--HG--
extra : moz-landing-system : lando
2019-06-11 04:39:17 +00:00
Matt Woodrow f6b0435e84 Bug 1547802 - Compute a single caret frame for the entire display list, and remove the option to invalidate frames during painting. r=miko,smaug
Previously we computed a caret frame each time we started display list building for a pres shell, and tracked a stack of these as we descended through subdocuments.
This meant that we couldn't know if the caret frame had changed before we started building, and we instead had to support invalidations in the middle of building.

Since there should only ever be one focused document, we can instead retrieve this from the focus manager, and find the sole caret frame for all documents we want to paint.

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

--HG--
extra : moz-landing-system : lando
2019-06-11 04:39:00 +00:00
Cosmin Sabou 3d72a8ffe7 Backed out 2 changesets (bug 1547802, bug 1555819) for build bustages on nsDisplayList.
Backed out changeset aea91be6ce82 (bug 1555819)
Backed out changeset 11a69daedddb (bug 1547802)
2019-06-11 06:52:46 +03:00
Matt Woodrow 5dc2d83f7b Bug 1555819 - Remove invalidated display items during PreProcessDisplayLists, since we might not merge their display list. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D33881

--HG--
extra : moz-landing-system : lando
2019-06-11 02:20:21 +00:00
Matt Woodrow 72068e14f5 Bug 1547802 - Compute a single caret frame for the entire display list, and remove the option to invalidate frames during painting. r=miko,smaug
Previously we computed a caret frame each time we started display list building for a pres shell, and tracked a stack of these as we descended through subdocuments.
This meant that we couldn't know if the caret frame had changed before we started building, and we instead had to support invalidations in the middle of building.

Since there should only ever be one focused document, we can instead retrieve this from the focus manager, and find the sole caret frame for all documents we want to paint.

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

--HG--
extra : moz-landing-system : lando
2019-06-11 02:20:09 +00:00
Oana Pop Rus b93335c27f Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-06-13 13:04:19 +03: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
Jonathan Watt cdbcb71463 Bug 1558079. Add a comment to the mozPrintCallback invoking code warning about its non-obvious behavior. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D34298

--HG--
extra : rebase_source : 523c19cc0b63d08a5701f9a2d4148b146529827c
extra : amend_source : c3b5b7e85a1b9bc64e76524f974a96ad93201886
2019-05-31 16:18:51 +01:00
Noemi Erli 5b41ddf5f2 Backed out 2 changesets (bug 1547802, bug 1555819) mochitest and marionette failures CLOSED TREE
Backed out changeset 10ba83441846 (bug 1555819)
Backed out changeset b9af6aea762d (bug 1547802)
2019-06-07 09:12:09 +03:00
Matt Woodrow d436383750 Bug 1547802 - Compute a single caret frame for the entire display list, and remove the option to invalidate frames during painting. r=miko,smaug
Previously we computed a caret frame each time we started display list building for a pres shell, and tracked a stack of these as we descended through subdocuments.
This meant that we couldn't know if the caret frame had changed before we started building, and we instead had to support invalidations in the middle of building.

Since there should only ever be one focused document, we can instead retrieve this from the focus manager, and find the sole caret frame for all documents we want to paint.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 01:55:43 +00:00
Miko Mynttinen fbfcf25cc9 Bug 1490404 - Part 1: Be more consistent with display list and display list builder pointers and references r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D33679

--HG--
extra : moz-landing-system : lando
2019-06-06 17:54:13 +00:00
shindli 3caa33a7ea Merge inbound to mozilla-central. a=merge 2019-06-06 12:57:52 +03:00
Ting-Yu Lin 3a4933eb98 Bug 1549267 Part 1 - Remove NS_INTRINSICSIZE and NS_AUTOHEIGHT. r=mats
This patch is generated by the following steps.

1) Manually delete NS_INTRINSICSIZE and NS_AUTOHEIGHT in LayoutConstants.

2) Run the following script.
```
  #!/bin/bash
  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 NS_INTRINSICSIZE NS_UNCONSTRAINEDSIZE
  rename NS_AUTOHEIGHT NS_UNCONSTRAINEDSIZE
```

3) ./mach clang-format

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

--HG--
extra : moz-landing-system : lando
2019-06-04 23:41:20 +00:00
Ryan Hunt 451ca010b0 Bug 1556555 - Get TabId for nsDisplayRemote when we're in a content process. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D33566

--HG--
extra : rebase_source : 8dcaa325ccab11fac6e1e329097f9a0e3442ded2
extra : source : 79ffe50308dbbee03d4b949e9fc26d6c39a68cb1
extra : histedit_source : 01dea72cf28284df2a2e37446474854e9754664f
2019-06-02 13:42:21 -04:00
Ryan Hunt 4386b68e1c Bug 1556548 - Move nsDisplayRemote to nsSubDocumentFrame.cpp. r=mattwoodrow
nsDisplayRemote no longer has any direct ties to RenderFrame and should
be moved to nsSubDocumentFrame.cpp where it's actually used/created.

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

--HG--
extra : rebase_source : ae2e03108820bd14b5f2771da17cabfd95706f94
extra : source : b301161ab461cd46cea3f91749896686c50e9b9f
extra : histedit_source : 1c80f83d26734e56bd6353f0a50dcbc4bf894b4b
2019-06-02 13:00:16 -04:00
Ryan Hunt 298a301151 Bug 1556548 - Make RenderFrame an internal detail to BrowserParent. r=mattwoodrow,farre
Code outside of BrowserParent should just get the LayersId from a getter
and not worry about RenderFrame.

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

--HG--
extra : rebase_source : 63f9f9680a7cb16a18d9e56999e02a124aa63429
extra : source : e86839ca63260b09184755c98890fa8abf371530
extra : histedit_source : 34333f5f78ecf9b4f3e12c6175a6e81724a41fb2
2019-05-31 16:00:57 -05:00
Jonathan Watt 5cd2b5b11e Bug 1557104. Merge nsIPageSequenceFrame and nsSimplePageSequenceFrame. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D33817

--HG--
rename : layout/generic/nsSimplePageSequenceFrame.cpp => layout/generic/nsPageSequenceFrame.cpp
rename : layout/generic/nsSimplePageSequenceFrame.h => layout/generic/nsPageSequenceFrame.h
extra : rebase_source : e75b043af4dbfe4c108f2bfc0e234fd20c5af315
2019-05-22 13:01:33 +01:00
Mats Palmgren 032d86b0c2 Bug 1556709 - Only call OptionallyBreak() if we may break at white-space. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D33718

--HG--
extra : rebase_source : 5a9cb0727ad4371edd2258ffd0a29282c8de2a2c
2019-06-04 21:20:33 +02:00
Ehsan Akhgari 127b9e6503 Bug 836176 - Part 4: drop a useless null check
Differential Revision: https://phabricator.services.mozilla.com/D33676

--HG--
extra : moz-landing-system : lando
2019-06-04 18:21:52 +00:00
Ehsan Akhgari adf073ce68 Bug 836176 - Part 3: Remove nsIHTMLDocument; r=farre
Differential Revision: https://phabricator.services.mozilla.com/D32925

--HG--
extra : moz-landing-system : lando
2019-06-04 17:27:43 +00:00
Brindusan Cristian 9eb2f739c1 Merge inbound to mozilla-central. a=merge 2019-06-04 06:47:20 +03:00
Emilio Cobos Álvarez 4376c36f9f Bug 1555962 - Fix a typo that makes us reflow too much in abspos subtrees. r=jwatt
Ugh, I accidentally introduced this in bug 1523071. :(

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

--HG--
extra : moz-landing-system : lando
2019-06-03 12:10:29 +00:00
Csoregi Natalia de697c360a Merge mozilla-central to mozilla-inbound. CLOSED TREE
--HG--
rename : layout/generic/nsFrameIdList.h => layout/generic/FrameIdList.h
2019-06-02 00:37:53 +03:00
arthur.iakab 36d75a7e56 Merge mozilla-central to mozilla-inbound 2019-06-01 01:30:47 +03:00
Daniel Holbert 00579e4df0 (no bug) Use clang-format to fix mis-indented line in nsTextFrame.cpp. (no review, DONTBUILD) 2019-05-31 13:50:52 -07:00
Cameron McCormack 41de040ecf Bug 1553731 - Part 3: Make nsIFrame::Is___Frame() avoid reading from memory. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D32605

--HG--
extra : moz-landing-system : lando
2019-06-01 08:03:42 +00:00
Cameron McCormack 11958c344f Bug 1553731 - Part 2: Generate FrameIdList.h and FrameTypeList.h from Python. r=mats,glandium
Differential Revision: https://phabricator.services.mozilla.com/D32604

--HG--
extra : moz-landing-system : lando
2019-06-01 08:03:40 +00:00
Cameron McCormack faf479d778 Bug 1553731 - Part 1: Rename nsFrameIdList.h to FrameIdList.h. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D32603

--HG--
rename : layout/generic/nsFrameIdList.h => layout/generic/FrameIdList.h
extra : moz-landing-system : lando
2019-06-01 08:03:32 +00:00