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

19136 Коммитов

Автор SHA1 Сообщение Дата
Ryan VanderMeulen ea3d29a96f Merge inbound to m-c. a=merge 2018-10-10 12:30:22 -04:00
Masayuki Nakano d472d6f312 Bug 1461708 - part 4: Move implementation of UIEvent::GetRangeParent() and UIEvent::RangeOffset() to nsLayoutUtils r=smaug
We need to move EditorEventListener::HandleMiddleClickPaste() into
EventStateManager to handle middle click paste after all click events are
dispatched.  This is preparation of the change.

HandleMiddleClickPaste() uses UIEvent::GetRangeParent() and
UIEvent::RangeOffset() to collapse Selection at clicked point.  However,
EventStateManager cannot access them since EventStateManager can handle it
with WidgetMouseEvent.  Fortunately, only WidgetMouseEvent is necessary for
implementing them.  Therefore, we can move the implementation into
nsLayoutUtils and merge them.

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

--HG--
extra : moz-landing-system : lando
2018-10-10 12:03:34 +00:00
Gurzau Raul ae94b59b65 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-10 07:39:40 +03:00
Cameron McCormack 4c8408b3c2 Bug 1496308 - Require URLExtraData::mPrincipal to be non-null r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D7682

--HG--
extra : moz-landing-system : lando
2018-10-10 03:10:07 +00:00
Gurzau Raul 2ab30dfc12 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-10 01:04:25 +03:00
Manuel Rego Casasnovas d9ecddc9fa Bug 1491235: [css-contain] Make 'contain:layout' (not 'contain:size') suppress baseline measurements r=dholbert
The CSSWG has recently resolved that layout containment
suppress baseline alignment, while size containment does not:
https://github.com/w3c/csswg-drafts/issues/2995

Spec text (https://drafts.csswg.org/css-contain/#containment-layout):
  "7. For the purpose of the vertical-align property,
   or any other property whose effects need to relate
   the position of the containing element's baseline
   to something other than its descendants,
   the containing element is treated as having no baseline."

And a note in (https://drafts.csswg.org/css-contain/#containment-size):
  "Note: size containment does not suppress baseline alignment.
   See layout containment for that."

This patch does this change just switching IsContainSize()
by IsLayoutSize() in several places related to baseline alignment
in the source code.

With the patch several WPT tests start to pass. Apart from that,
some of the tests under vendor-imports are updated to follow
the new behavior.

--HG--
extra : amend_source : 05dc9a320afeb1d58981e2bd8bc47b435999f2f9
2018-10-09 14:13:13 -07:00
Emilio Cobos Álvarez c6c06c7f48 Bug 1496486 - Remove nsCSSValue usage from font code. r=heycam
Really sorry for the size of the patch.

Differential Revision: https://phabricator.services.mozilla.com/D7753
2018-10-09 19:07:41 +02:00
Narcis Beleuzu e7a8994c37 Backed out 5 changesets (bug 1496486) for valgrind bustages. CLOSED TREE
Backed out changeset d2f1e35ee4b7 (bug 1496486)
Backed out changeset 7f843f4ee162 (bug 1496486)
Backed out changeset 2f629a60f12c (bug 1496486)
Backed out changeset 4dd15fa31474 (bug 1496486)
Backed out changeset e8d8e2f3f00b (bug 1496486)
2018-10-09 19:44:51 +03:00
Emilio Cobos Álvarez 804148c319 Bug 1496486 - Remove nsCSSValue usage from font code. r=heycam
Really sorry for the size of the patch.

Differential Revision: https://phabricator.services.mozilla.com/D7753
2018-10-09 17:33:24 +02:00
Daniel Varga 2ad5744e7f Merge mozilla-central to mozilla-inbound. a=merge 2018-10-10 13:56:40 +03:00
Brindusan Cristian 3b4ca07db8 Backed out 5 changesets (bug 1496486) for build bustages on gfxUserFontSet.h. CLOSED TREE
Backed out changeset 6b740afea403 (bug 1496486)
Backed out changeset 5cf44e254ac3 (bug 1496486)
Backed out changeset 8e465202c355 (bug 1496486)
Backed out changeset 86382b2249f6 (bug 1496486)
Backed out changeset ab92ed3e0a23 (bug 1496486)
2018-10-09 16:58:38 +03:00
Emilio Cobos Álvarez d6c743191f Bug 1496486 - Remove nsCSSValue usage from font code. r=heycam
Really sorry for the size of the patch.

Differential Revision: https://phabricator.services.mozilla.com/D7753
2018-10-09 15:33:03 +02:00
Edgar Chen 4026ebce41 Bug 1473108 - Part 2: Make PresShell not point to unbound NAC in event content stack; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D8042

--HG--
extra : moz-landing-system : lando
2018-10-09 12:16:15 +00:00
Edgar Chen 92ec9a1f2a Bug 1473108 - Part 1: Devirtualize nsIPresShell::GetCurrentEventFrame/GetEventTargetContent; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D8041

--HG--
extra : moz-landing-system : lando
2018-10-09 09:47:58 +00:00
Andrea Marchesini 548408d13f Bug 1497126 - Fix WPTs for 1 level of recursion when loading nested iframes with same URL, r=smaug 2018-10-08 16:04:57 +02:00
Brad Werth 6ceb1e8b1e Bug 1290420 Part 4: Make the PresShell create a MobileViewportManager on demand. r=botond,smaug
Depends on D3376

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

--HG--
extra : moz-landing-system : lando
2018-10-04 03:28:40 +00:00
Botond Ballo ext:(%2C%20Brad%20Werth%20%3Cbwerth%40mozilla.com%3E) fde40d2d24 Bug 1290420 Part 2: Respect the metaViewportOverride flag on the docshell. r=dholbert
Depends on D3373

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

--HG--
extra : moz-landing-system : lando
2018-10-04 00:19:40 +00:00
Nicholas Nethercote 67bc77d4cf Bug 1497734 - Rename nsStaticAtom subclasses. r=heycam
Specifically:
- nsICSSAnonBoxPseudo --> nsCSSAnonBoxPseudoStaticAtom
- nsICSSPseudoElement --> nsCSSPseudoElementStaticAtom

The `nsI` prefix isn't necessary because these are no longer XPIDL types, and
the `StaticAtom` suffix makes their meaning clearer.

--HG--
extra : rebase_source : b68dd7c73f5036dcd6be4c3700b757441f59f9f2
2018-10-10 16:49:13 +11:00
Nicholas Nethercote f3cf78e19d Bug 1451169 - Reduce indirection for PseudoParentData::mPseudoType. r=xidorn
--HG--
extra : rebase_source : 926b2e6388dffe50de7876b4ad6b5404ab5ecee6
2018-04-03 22:15:31 +10:00
Nicholas Nethercote cd0a553c84 Bug 1451169 - Reduce indirection for FrameConstructionDataByTag::mTag. r=xidorn
--HG--
extra : rebase_source : af3bfd14ef9df66dab080daeb56784c5cb6bfb1f
2018-04-03 22:15:31 +10:00
Nicholas Nethercote 915b913107 Bug 1451169 - Reduce indirection for static atom pointers in nsCSSFrameConstructor.h. r=xidorn
--HG--
extra : rebase_source : c0fc2365461d1fd9a7480911bce0bb66555ab7e1
2018-04-03 22:15:30 +10:00
Nicholas Nethercote 36c48819d1 Bug 1451169 - Use `nsStaticAtom*` instead of `nsStaticAtom**` in Element.h. r=baku
--HG--
extra : rebase_source : db09f7ab93a1c41ace03a645623f78a27ecfff8c
2018-04-03 13:21:06 +10:00
Botond Ballo 4a7cbb3278 Bug 1470504 - Always log the high-resolution displayport to APZ test data. r=kats
Previously we would log the displayport and the critical displayport separately,
which made it more difficult to write cross-platform APZ tests.

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

--HG--
extra : rebase_source : ef2d87b7f9314bb5e6943a8da2b4fd40de85c99b
extra : histedit_source : 80f1e914330f1be0a7a5e531356e6b869b0d29ac
2018-09-12 20:18:38 -04:00
Jan Henning 5ced7d8244 Bug 1428670 - Part 3: Store the effective container ISize within the FontInflationData. r=dbaron
When one of the two factors governing the effective container width for font
inflation changes, we need to mark all affected frames as dirty.
While the visible area commonly changes because of viewport changes and we can
catch those through the check for ISize resizes of the top-level frame
("!mFrame->GetParent() && isIResize"), it still seems nicer to move calculation
of the effective container width into the FontInflationData itself, especially
since the effective container width calculation in nsLayoutUtils is the only
consumer of the NCAISize currently stored by the FontInflationData.

That way
- we can be sure that really all changes of the visible width will correctly
  mark all affected frames as dirty
- can avoid repeatedly recalculating the effective container width
- can also detect the cases where the effective container width actually remains
  the same after a change in one of its input factors and skip forcing a full
  dirty reflow for all descendants just because of font inflation.

While the code in nsLayoutUtils was technically always using the writing
mode (horizontal/vertical) of each individual frame for determining which
dimension of the visible size should be used for clamping, just using the
writing mode of the respective flow root should be enough, since each change in
the writing mode should create a new flow root.

This assumption should already hold today because
1. as per the Writing Modes CSS spec, a change in writing mode compared to its
   parent means that the affected block cannot be purely "inline", but at most
   "inline-block".
2. Generally, any non-inline frame will be marked as a font inflation container.
3. Any block frame whose writing direction doesn't match its parent will be a
   block formatting context, which implies NS_BLOCK_FLOAT_MGR.
4. Any block frame that has both NS_BLOCK_FLOAT_MGR set and is a font inflation
   container will also become a font inflation flow root.
but because this chain of reasoning is not the most direct, we also add a
corresponding assertion to better catch any potential bugs here.

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

--HG--
extra : moz-landing-system : lando
2018-10-02 15:23:17 +00:00
Andrew McCreight 837f0af066 Bug 1493737 - Fix many trivial calls to do_QueryInterface r=smaug
If class A is derived from class B, then an instance of class A can be
converted to B via a static cast, so a slower QI is not needed.

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

--HG--
extra : moz-landing-system : lando
2018-10-01 21:38:01 +00:00
Jonathan Watt bbb604fe06 Bug 1495246. Only call SVGObserverUtils::UpdateEffects on FirstContinuationOrIBSplitSibling frames. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7244

--HG--
extra : rebase_source : 485749b795f0cae334f92e970c4ceccd9a6e8c23
2018-09-19 11:30:03 +01:00
Jeff Muizelaar d7cb9ac2ef Bug 1494836. Replace NormalizedRect for visible area. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D7189
2018-09-26 10:32:41 -04:00
Ehsan Akhgari 5f0be07390 Bug 1493563 - Part 5: Present the old state and the content blocking log to the web progress listeners; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D6595
2018-09-28 14:46:02 -04:00
Noemi Erli 4419e20e14 Backed out 12 changesets (bug 1493563) for failures in test_css-logic-getCssPath.html CLOSED TREE
Backed out changeset d2e83655082f (bug 1493563)
Backed out changeset 1ce58f004593 (bug 1493563)
Backed out changeset 344298c73ee7 (bug 1493563)
Backed out changeset 02b8b073f7d7 (bug 1493563)
Backed out changeset 3ef707008502 (bug 1493563)
Backed out changeset bb2720a401fe (bug 1493563)
Backed out changeset ce0211be57a1 (bug 1493563)
Backed out changeset 83d6c2bf8dc6 (bug 1493563)
Backed out changeset 1844af4cc25b (bug 1493563)
Backed out changeset c8ab17addb7a (bug 1493563)
Backed out changeset a1ff0cd62563 (bug 1493563)
Backed out changeset 932b41e211e0 (bug 1493563)
2018-09-28 21:31:18 +03:00
Ehsan Akhgari f0108e78c2 Bug 1493563 - Part 5: Present the old state and the content blocking log to the web progress listeners; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D6595
2018-09-28 13:24:41 -04:00
Nazım Can Altınova 393aa2a2a6 Bug 1494608 - Remove the frame construction markers r=mstange
Markers are taking so much time(~10%) to allocate and in a website
like Speedometer, it takes ages to load the profile data since
there are so many frame construction markers.

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

--HG--
extra : moz-landing-system : lando
2018-09-28 01:26:02 +00:00
Timothy Guan-tin Chien 74e03a4f3d Bug 1493741 - Don't generate elements around UA Widget shadow root r=emilio
This patch make nsCSSFrameConstructor::CreateGeneratedContentItem() early
returns if the originating element contains an UA Widget shadow root.

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

--HG--
extra : moz-landing-system : lando
2018-09-28 00:23:15 +00:00
Coroiu Cristina 71988c7b7e Merge inbound to mozilla-central a=merge 2018-09-28 00:36:46 +03:00
Gurzau Raul a8d8876e9e Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-09-27 19:45:35 +03:00
Emilio Cobos Álvarez 8654e90627 Bug 1494332 - Avoid setting the has-first-letter child bit on a first-line. r=bzbarsky
We rely on the bit being on the block to restyle them in the right order.

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

--HG--
extra : moz-landing-system : lando
2018-09-27 13:16:00 +00:00
Emilio Cobos Álvarez 366ee403da Bug 1494030 - Fix an assertion. r=mats
We're trying to insert a table caption via an append into a display: contents
element. We pass the content-insertion-frame (the table frame) instead of the
siblings' parent (the table wrapper frame).

This is the right thing to pass though, we adjust the caption parent frame
later, on AdjustCaptionParentFrame, and we ensure that we don't get here for a
non-caption thing because of IsValidSibling (though note that that can actually
lie, see bug 1424656, we'd get the layout wrong if the title element was a
replaced element for example), so a normal append without a previous sibling
will still be correct.

It'd be nice to make this a bit less messy, fwiw, but I don't have the ideas or
the time to do it now.

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

--HG--
extra : moz-landing-system : lando
2018-09-27 11:20:47 +00:00
Emilio Cobos Álvarez 2893c9ebf3 Bug 1494519 - Use float division to avoid an MSVC warning. r=me 2018-09-27 12:43:42 +02:00
Jonathan Kew f72a100c9b Bug 1473314 - Make nsRange::GetUsedFontFaces accumulate font faces in the order they are encountered in the document. r=xidorn 2018-09-27 11:33:25 +01:00
Ting-Yu Lin 0bdc10060e Bug 1486602 Part 4 - Introduce FCDATA_MAY_NEED_BULLET to support "display: list-item" on legend r=mats
Depends on D6841

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

--HG--
extra : moz-landing-system : lando
2018-09-26 20:51:01 +00:00
Ting-Yu Lin fb26f86deb Bug 1486602 Part 3 - Create bullet frame for block frames in nsCSSFrameConstructor::ConstructBlock() instead of in their SetInitialSingleChild() r=mats
nsCSSFrameConstructor::FindDisplayData() guarantees a block with "display:
list-item" will be constructed by ConstructBlock() (either through
ConstructScrollableBlock() or ConstructNonScrollableBlock()).

This is also a preparation to fix bug 1491915 since we want to control
bullet frame creation under column hierarchy.

Depends on D6840

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

--HG--
extra : moz-landing-system : lando
2018-09-26 20:55:26 +00:00
Botond Ballo 2e5d8054fa Bug 1492288 - Use IGNORE_ROOT_SCROLL_FRAME on Android when doing the hit test in AccessibleCaretManager::SelectWordOrShortcut(). r=kats
Differential Revision: https://phabricator.services.mozilla.com/D6549

--HG--
extra : moz-landing-system : lando
2018-09-26 18:16:03 +00:00
Neil Deakin 0a19485e1f Bug 326944, remove nsIComboboxControlFrame interface, r=mats 2018-09-26 10:41:12 -04:00
Neil Deakin 5c44db8004 Bug 328680, remove nsIListControlFrame interface, r=mats 2018-09-26 10:41:01 -04:00
Jonathan Watt 5c1dd39583 Bug 1494285 p3. Rename nsDisplayFilter to nsDisplayFilters. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D7008

--HG--
extra : rebase_source : 89a1bd3e34666a09bd9d9d26329f183ebc28a1c3
extra : amend_source : 71c0eacf545383c23533ae05c46561159567d667
extra : histedit_source : a1047949377d690bba5cfcf86b16cb2be0610af0
2018-08-30 13:15:47 +01:00
Jonathan Watt 0133d476ce Bug 1494285 p2. Rename nsDisplayMask to nsDisplayMasksAndClipPaths. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D7007

--HG--
extra : rebase_source : de16f2d9fe5a0610af12b64603757f4fd8d6eee6
extra : amend_source : 1c932942463586d1dfe09bbf31569adc51efa220
extra : histedit_source : 5a6591e23a84382f1add26b9e81f06b8a2f3205a
2018-08-30 10:51:24 +01:00
Emilio Cobos Álvarez 0cf08372ac Bug 1382896 - Align Gecko and WebRender code for 3d border colors. r=mstange
See the discussion in https://github.com/servo/webrender/issues/1280. I think we
should do this sooner rather than later.

Need to update a couple reftests to hardcode the new colors, waiting on try for
that but should be trivial.

This makes a few more tests pass which are just marked as failure in bug 1487407,
because I implementing the border-collapsing reusing a bunch of Gecko code,
including the table 3d border stuff.

Differential Revision: https://phabricator.services.mozilla.com/D6565
2018-09-26 15:28:01 +02:00
Botond Ballo 5f5c95ce37 Bug 1484597 - Use the visual viewport offset in ScrollToShowRect(). r=mstange
Depends on D6075

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

--HG--
extra : moz-landing-system : lando
2018-09-21 19:04:49 +00:00
Botond Ballo ad2c16cef9 Bug 1484597 - Keep the bounding client rect field of the 'mozcaretstatechanged' event relative to the visual viewport. r=mstange,nika
Depends on D6074

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

--HG--
extra : moz-landing-system : lando
2018-09-25 17:46:58 +00:00
Botond Ballo 34115a8216 Bug 1484597 - Expose visual viewport information more conveniently in Layout. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D6074

--HG--
extra : moz-landing-system : lando
2018-09-21 19:01:13 +00:00
Andreea Pavel 62ce7b988d Merge mozilla-inbound to mozilla-central. a=merge 2018-09-22 12:34:50 +03:00