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

68393 Коммитов

Автор SHA1 Сообщение Дата
Kartikaya Gupta 55677aa173 Bug 1543482 - Add the irregular-area flag for frames with masks and clip paths. r=mattwoodrow,botond
This will force APZ to do a main-thread hit-test for the cases where the
shapes are too complex to easily send to the compositor.

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

--HG--
extra : moz-landing-system : lando
2019-04-15 16:02:02 +00:00
Kartikaya Gupta 25f7a03029 Bug 1543482 - Extract a helper to identify clip paths WR can handle without masks. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D27454

--HG--
extra : moz-landing-system : lando
2019-04-15 11:24:53 +00:00
Olli Pettay b024b00b94 Bug 1515216, ensure IdleTaskRunners are added only once to RefreshDriver's idle runnable list, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D27424

--HG--
extra : moz-landing-system : lando
2019-04-15 15:41:15 +00:00
Csoregi Natalia f2e030efe7 Merge autoland to mozilla-central. a=merge 2019-04-15 18:23:37 +03:00
Csoregi Natalia 612325227f Backed out 8 changesets (bug 1526972) for causing crashes (bug 1544406). a=backout
Backed out changeset 815543d81a1d (bug 1526972)
Backed out changeset a895c9028b31 (bug 1526972)
Backed out changeset 2ea2f8533078 (bug 1526972)
Backed out changeset 2fb940b13971 (bug 1526972)
Backed out changeset 8543b9d46521 (bug 1526972)
Backed out changeset ddd57e437228 (bug 1526972)
Backed out changeset 54b14df56e6f (bug 1526972)
Backed out changeset a59f06022a95 (bug 1526972)
2019-04-15 18:15:49 +03:00
Emilio Cobos Álvarez 235779278c Bug 1542935 - Re-introduce a call to EnsureStyleFlush from PresShell::Init to fix an Android scrolling regression. r=heycam
Sorry for the vague commit message, but I haven't dug yet on why or how the
Android code is depending on this.

This call used to be part of nsPresContext::CompatibilityModeChanged, which
unconditionally called PresShell::EnsureStyleFlush.

This was not (in theory, at least) always necessary. There's there's no point in
ensuring a style flush is going to happen if styles haven't changed, and
CompatibilityModeChanged() didn't actually guarantee that the compat mode was
different at all before my patch.

Styles only change if the compat mode actually changes (since then selectors
become case-sensitive or case-insensitive), or more obviously when you insert or
remove the quirks.css stylesheet, and in that case ApplicableStylesChanged makes
sure that the flush happens.

Yet here we are, and not having that early call to EnsureStyleFlush, even in the
case there's no quirks mode or quirks sheet change or anything of that sort
(this happens even on XUL docs, which are always FullStandards) makes the first
(and only the first) browsing session in Geckoview have terrible scrolling
performance.

I'm calling it a day for today, will investigate as time permits in bug 1544185.

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

--HG--
extra : moz-landing-system : lando
2019-04-15 05:26:27 +00:00
Dan Glastonbury a114224ced Bug 1526972 - P8: Reset InInvalidSubtree when processing unrelated frames. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D26141

--HG--
extra : moz-landing-system : lando
2019-04-15 00:23:21 +00:00
Dan Glastonbury d0154f8169 Bug 1526972 - P7: Move AutoBuildingDisplayList constructor into .cpp r=miko
Differential Revision: https://phabricator.services.mozilla.com/D26140

--HG--
extra : moz-landing-system : lando
2019-04-15 00:23:19 +00:00
Dan Glastonbury a161bca51c Bug 1526972 - P6: Mark invalidated SubDocument frame as modified. r=miko,mattwoodrow
Depends on D24463

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

--HG--
extra : moz-landing-system : lando
2019-04-15 00:23:17 +00:00
Dan Glastonbury fe78904f60 Bug 1526972 - P5: Avoid HasModifiedFrame check for new nsDisplayItems. r=miko
aBuilder->InInvalidSubtree() tracks the modified state. Save the state
during construction of nsDisplayItem and use in ProcessItemFromNewList.

Depends on D24462

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

--HG--
extra : moz-landing-system : lando
2019-04-15 00:23:15 +00:00
Dan Glastonbury ec2db657b0 Bug 1526972 - P4: Limit AnyContentAncestorModified frame walk to frame of outer item. r=miko
Don't walk frame tree all the way to the root.

Depends on D24461

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

--HG--
extra : moz-landing-system : lando
2019-04-15 00:23:13 +00:00
Dan Glastonbury 821a5af7e1 Bug 1526972 - P3: De-virtualize HasDeletedFrame(). r=miko
To avoid expensive virtual dispatch in PreProcessDisplayList().

Depends on D24460

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

--HG--
extra : moz-landing-system : lando
2019-04-15 00:23:11 +00:00
Dan Glastonbury d6813ac163 Bug 1526972 - P2: Re-order mItem->CanBeReused()/mItem->HasDeletedFrame(). r=miko
To short-circuit the expensive call with a flag check.

Depends on D24459

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

--HG--
extra : moz-landing-system : lando
2019-04-15 00:23:09 +00:00
Dan Glastonbury a9319e3ae3 Bug 1526972 - P1: Compress bool state into bit flags. r=miko
Also move to first cache-line (64-bytes) of nsDisplayItem to improve D-cache hit
when accessing mFrame, mItemFlags, etc.

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

--HG--
extra : moz-landing-system : lando
2019-04-15 00:23:07 +00:00
Brian Birtles 86cd66683b Bug 1543304 - Add MOZ_DBG support for nsCSSPropertyID and nsCSSPropertyIDSet; r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D26856

--HG--
extra : moz-landing-system : lando
2019-04-14 23:48:05 +00:00
Brian Birtles ab20b9cbd4 Bug 1543304 - Add iterators to nsCSSPropertyIDSet; r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D26855

--HG--
extra : moz-landing-system : lando
2019-04-14 23:47:51 +00:00
Masayuki Nakano b19088bb41 Bug 1543966 - part 2: Make "HTML editor commands" and "document state commands" singleton classes r=m_kato
Some "HTML editor commands" are stateful due to storing tag name to handle it
with specific command.  However, we can make it stateless with retrieving
tag name from command name once per command only when it's necessary.  The
runtime cost must be really cheap since we can map it with hash table.

This patch makes them stateless and singleton classes.  So, we can save
footprint and allocation runtime cost with this change.

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

--HG--
extra : moz-landing-system : lando
2019-04-15 07:29:17 +00:00
Masayuki Nakano 6d9c401af5 Bug 1543966 - part 1: Make "editing commands" and "editor commands" singleton classes r=m_kato
Different from the comment in `EditorCommands.h`, editing commands and
editor commands are instantiated for each editable document or each
`HTMLInputElement` or `HTMLTextareaElement`.  Therefore, even though they
are stateless, we allocate too many instances of them.  We should make
them singleton classes to reduce the footprint and save runtime allocation
cost.

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

--HG--
extra : moz-landing-system : lando
2019-04-15 07:49:46 +00:00
Edwin Gao c6f63cc607 Bug 1536278 - re-enable test_accessiblecaret_cursor_mode.py tests on windows10-aarch64 r=whimboo,jmaher
Changes:
- re-enable the accessiblecaret test on windows10-aarch64

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

--HG--
extra : moz-landing-system : lando
2019-04-15 07:17:21 +00:00
Jonathan Kew 504abab69a Bug 1541959 - Allow full-width and/or full-size-kana values of text-transform to be combined with a case transformation. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D27402

--HG--
extra : moz-landing-system : lando
2019-04-14 11:06:41 +00:00
violet fa3b85a4da Bug 1544270 - Change 1.f * something to float(something) r=longsonr
Change 1.f * something to float(something)

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

--HG--
extra : moz-landing-system : lando
2019-04-14 09:32:19 +00:00
violet 1ce98d921c Bug 1544209 - Should not scale mFontSizeScaleFactor for user space r=longsonr
We already get the user space metrics, mFontSizeScaleFactor is irrelevant
and the scaling should not be applied in the first place.

Otherwise we will get very wrong bounding box when <text> has SVG transform
or the font has extreme size.

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

--HG--
extra : moz-landing-system : lando
2019-04-14 07:41:42 +00:00
Emilio Cobos Álvarez 03f332eb7a Bug 1543758 - Pseudo-elements should be allowed to be list-items. r=mats
Per https://github.com/w3c/csswg-drafts/issues/3766

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

--HG--
extra : moz-landing-system : lando
2019-04-13 22:22:51 +00:00
Masayuki Nakano 414509fe00 Bug 1543315 - part 9: Mark nsIPresShell::FlushPendingNotifications() as MOZ_CAN_RUN_SCRIPT r=smaug
So, this patch makes all caller of it safe including its arguments unless
they come from other methods.

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

--HG--
extra : moz-landing-system : lando
2019-04-13 12:43:57 +00:00
Masayuki Nakano 8d97a5efe1 Bug 1543315 - part 8: Mark HandlePostedReflowCallbacks() as MOZ_CAN_RUN_SCRIPT r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D27224

--HG--
extra : moz-landing-system : lando
2019-04-13 12:42:38 +00:00
Masayuki Nakano 93bae33c11 Bug 1543315 - part 7: Mark DidDoReflow() as MOZ_CAN_RUN_SCRIPT r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D27223

--HG--
extra : moz-landing-system : lando
2019-04-13 12:42:02 +00:00
Masayuki Nakano 55dc8a6004 Bug 1543315 - part 6: Mark ProcessReflowCommands() as MOZ_CAN_RUN_SCRIPT r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D27222

--HG--
extra : moz-landing-system : lando
2019-04-13 12:40:48 +00:00
Masayuki Nakano 40f02a6603 Bug 1543315 - part 5: Mark ResizeReflowIgnoreOverride() as MOZ_CAN_RUN_SCRIPT r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D27221

--HG--
extra : moz-landing-system : lando
2019-04-13 12:40:10 +00:00
Masayuki Nakano e8514bbdc6 Bug 1543315 - part 4: Mark ResizeReflow() as MOZ_CAN_RUN_SCRIPT r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D27220

--HG--
extra : moz-landing-system : lando
2019-04-13 12:39:47 +00:00
Masayuki Nakano 2332e34945 Bug 1543315 - part 3: Mark WillPaint() as MOZ_CAN_RUN_SCRIPT r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D27219

--HG--
extra : moz-landing-system : lando
2019-04-13 12:39:03 +00:00
Masayuki Nakano 0479f528e7 Bug 1543315 - part 2: Mark VerifyIncrementalReflow() and DoVerifyReflow() as MOZ_CAN_RUN_SCRIPT_BOUNDARY r=smaug
They are debug build only methods.  So, callers of them shouldn't be marked
as `MOZ_CAN_RUN_SCRIPT` only for them.  Therefore, `MOZ_CAN_RUN_SCRIPT_BOUNDARY`
must be better.

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

--HG--
extra : moz-landing-system : lando
2019-04-13 12:38:20 +00:00
Masayuki Nakano ff25e09e4a Bug 1543315 - part 1: Mark EventDispatchingCallback as MOZ_CAN_RUN_SCRIPT r=smaug
First of all, we should mark `nsIPresShell::FlushPendingNotifications()` as
`MOZ_CAN_RUN_SCRIPT` as soon as possible.  Therefore, I'll mark all its callers
in `PresShell` as `MOZ_CAN_RUN_SCRIPT` first.

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

--HG--
extra : moz-landing-system : lando
2019-04-13 12:37:52 +00:00
Coroiu Cristina d4f3370b50 Merge mozilla-central to autoland a=merge 2019-04-13 15:19:54 +03:00
Masayuki Nakano d8d0bcab65 Bug 1543013 - part 2: Make accessible use mozilla::PresShell directly rather than via nsIPresShell r=Jamie
This patch makes accessible module use `mozilla::PresShell` directly rather
than via `nsIPresShell`.  Additionally, renames `DocAccessible::PresShell()`
to `DocAccessible::PresShellPtr()` for avoiding conflict with using
`PresShell` in it and its sub classes.

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

--HG--
extra : moz-landing-system : lando
2019-04-13 12:13:15 +00:00
Bogdan Tara 41c61c6fe8 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-04-13 01:08:32 +03:00
Coroiu Cristina 3b2b29f924 Backed out changeset fd5cb917b6eb (bug 1412179) for Wr failures at /html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-vertical.html 2019-04-13 11:04:15 +03:00
longsonr eff829f752 Bug 1542646 Part 6 - pass by reference when it's more efficient r=dholbert 2019-04-12 17:29:32 +01:00
longsonr 07bf678276 Bug 1542646 Part 5 - don't use instance variables to access static methods r=dholbert 2019-04-12 17:28:13 +01:00
Masayuki Nakano fdbbccd877 Bug 1542664 - Make TabChild use mozilla::PresShell directly rather than via nsIPresShell r=nika
This patch makes `TabChild` use `mozilla::PresShell` directly.

Then, renames `TabChild::GetPresShell()` and `TabChild::GetDocument()` to
`TabChild::GetTopLevelPresShell()` and `TabChild::GetTopLevelDocument()` to
make what they do clearer (e.g., see the change in `PresShell.cpp`).

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

--HG--
extra : moz-landing-system : lando
2019-04-13 01:53:10 +00:00
Alexis Beingessner 3d93741fa9 Bug 1412179 - implement fieldsets with nonempty legends. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D27350

--HG--
extra : moz-landing-system : lando
2019-04-12 18:56:19 +00:00
Masayuki Nakano 1f3059e916 Bug 1542663 - Make nsViewManager and nsView (nsIWidgetListener) use mozilla::PresShell directly rather than via nsIPresShell r=tnikkel
This patch makes `nsViewManager::GetPresShell()` and
`nsIWidgetListener::GetPresShell()` (overridden by `nsView` and
`nsWebShellWindow::WidgetListenerDelegate`) return `mozilla::PresShell*`.

Additionally, makes `nsWebShellWindow::GetPresShell()` also return
`mozilla::PresShell()`.

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

--HG--
extra : moz-landing-system : lando
2019-04-13 01:05:21 +00:00
violet 2f70fdcb52 Bug 1426594 - Should convert rect from TransformFramePointToTextChild to device pixel r=longsonr
We need device pixel, but TransformFramePointToTextChild returns in css pixel,
thus a scaling is necessary.

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

--HG--
extra : moz-landing-system : lando
2019-04-12 16:09:11 +00:00
Masayuki Nakano 0986fb819b Bug 1542506 - Make nsDocShell use mozilla::PresShell* directly rather than nsIPresShell* r=bzbarsky
This patch makes `nsDocShell::GetPresShell()` and
`nsDocShell::GetEldestPresShell()` return `mozilla::PresShell*` and
some non-public methods use `mozilla::PresShell*` directly.

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

--HG--
extra : moz-landing-system : lando
2019-04-13 01:03:13 +00:00
Boris Chiou 9782f68abf Bug 1526847 - Let ComputeSuitableScaleForAnimation check other transform-like properties. r=hiro
Check all transform-like properties which may affect the scaling
factors when computing the suitable scale for animations.

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

--HG--
extra : moz-landing-system : lando
2019-04-12 21:43:23 +00:00
Emilio Cobos Álvarez 2986dda85d Bug 1543762 - Flush less in cross-document getComputedStyle situations. r=heycam
I wrote this while looking at bug 1537903, but actually it doesn't help there,
since all the extra time is spent actually computing styles.

I think this is still worth landing it though.

The reasoning for not caring of this case is that we mint an style anyway out of
the blue anyway. There's no point in restyling the whole document.

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

--HG--
extra : moz-landing-system : lando
2019-04-12 10:04:33 +00:00
Emilio Cobos Álvarez f9a2ae6278 Bug 1543398 - Don't pass unknown descriptors to Servo. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D26914

--HG--
extra : moz-landing-system : lando
2019-04-12 05:08:18 +00:00
Mirko Brodesser ed491dbad1 Bug 1374045: add 'preventScroll' option to HTMLElement's, SVGElement's and XULElement's 'focus' method r=smaug
- Remove expectation that 'preventScroll.html' fails.

- Use '[NoInterfaceObject] interface' workaround to simulate missing 'mixin' support.

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

--HG--
extra : moz-landing-system : lando
2019-04-12 08:16:47 +00:00
Andrea Marchesini a438b12ebd Bug 1536411 - StoragePrincipal - part 1 - Implementation, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D24025

--HG--
extra : moz-landing-system : lando
2019-04-12 05:31:32 +00:00
Sylvestre Ledru 7f60810d86 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-12 13:14:25 +00:00
Daosheng Mu 0e6aee236e Bug 1537967 - Skipping running refresh driver and compositing in VR mode. r=mstange,kip
MozReview-Commit-ID: 4L3PygFSFCB

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

--HG--
extra : moz-landing-system : lando
2019-04-12 04:42:28 +00:00