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

19136 Коммитов

Автор SHA1 Сообщение Дата
Ting-Yu Lin 513be2f9d5 Bug 1408841 - Remove preference "layout.css.filters.enabled". r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D5467

--HG--
extra : moz-landing-system : lando
2018-09-10 22:45:20 +00:00
Botond Ballo 2801828374 Bug 1478335 - Use the visual viewport offset to compute the visible area in CalculateRectToZoomTo(). r=kats
Differential Revision: https://phabricator.services.mozilla.com/D5462

--HG--
extra : moz-landing-system : lando
2018-09-10 20:25:06 +00:00
Olli Pettay d359c13691 Bug 1489622 - Remove unused code from nsJSEnvironment, r=mccr8 2018-09-08 15:03:02 +03:00
Xidorn Quan afd201db11 Bug 1489385 part 2 - Make the refresh driver event dispatching specific to fullscreen events. r=smaug
The mechanism was added in bug 1168705 for fullscreen, and is only used
for this since then. The spec now has a specific step for this in the
event loop, so specialize this mechanism to match the spec closer.

This patch also changes the caller type of the fullscreenchange event
from non-system to system (via using DispatchTrustedEvent rather than
EventTarget::DispatchEvent(Event&)).

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

--HG--
extra : source : 179f5fbd9db08518804b613f5e3fefa659c1e0a2
2018-09-08 08:53:33 +10:00
Sylvestre Ledru aa37bde79b Bug 1489454 - Remove all trailing whitespaces (again) r=Ehsan
This also includes moving some files to the regular format.

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

--HG--
extra : moz-landing-system : lando
2018-09-07 14:47:51 +00:00
Ting-Yu Lin f4c03c5b08 Bug 1346983 - Add ColumnSetWrapperFrame to wrap nsColumnSetFrames and column span frames. r=dbaron
ColumnSetWrapperFrame is needed to implement column-span. Patches in bug
1421105 will utilize this frame.

Co-authored-by: Neerja Pancholi <npancholi@mozilla.com>

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

--HG--
extra : moz-landing-system : lando
2018-09-06 17:58:24 +00:00
Mantaroh Yoshinaga 1deccd7ac1 Bug 1445570 - Remove EnsureEventualAfterPaint timer. r=tnikkel
MozReview-Commit-ID: C7WICJ5Q0ES

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

--HG--
extra : moz-landing-system : lando
2018-09-06 02:21:39 +00:00
Gerald Squelart 017ca214c1 Bug 1488684 - Made some layout methods 'final' or non-virtual - r=dbaron
Some methods were not overrides and were never overridden, so they could simply
be non-virtual.
Others were overrides but were not overridden, so they could benefit from being
final to hopefully lead to devirtualized calls.

Though some of these are not strictly necessary because they are inside 'final'
classes, I think they're worth adding anyway, because:
- The 'final' keyword becomes more obvious when looking at methods without the
  wider context in sight (e.g., in reviews or searchfox).
- If one day any of these classes becomes non-final, it would keep the final
  attribute on these methods by default, and force the programmer to explicitly
  reflect before removing 'final' from the methods that need to be overridden.

Depends on D5020

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

--HG--
extra : moz-landing-system : lando
2018-09-06 01:23:49 +00:00
Gerald Squelart b099eab802 Bug 1488684 - Made nsIFrame-derived classes and some others 'final' where possible - r=dbaron
All classes deriving from nsIFrame that did not have any subclasses themselves
(at the time of writing this patch) have been marked with `final`.
Some other Layout classes have also been made final, but this was opportunistic
while working on nsIFrame subclasses, and is definitely not exhaustive, further
patches welcome; refer to bug 1332680.

Advantages of marking a class final include:
- Allowing the compiler to devirtualize some method calls (i.e., calling
  virtual functions directly instead of going through the vtable),
- Indicating that the class is not currently subclassed,
- Preventing subclassing without being aware that this would remove the
  finalization benefits of the parent class.
`final` does not signify that these classes should *never* be subclassed, this
is left for developers to decide.

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

--HG--
extra : moz-landing-system : lando
2018-09-06 01:23:14 +00:00
Edgar Chen 08067b0f64 Bug 1488728 - Remove PresShell::GetEventTargetFrame; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D5025

--HG--
extra : moz-landing-system : lando
2018-09-05 13:36:35 +00:00
Emilio Cobos Álvarez f6e7b25483 Bug 1488155 - Only no-op visited <-> unvisited changes. r=heycam
Other changes should really be (and are) indistinguishable.

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

--HG--
extra : moz-landing-system : lando
2018-09-05 12:52:16 +00:00
Margareta Eliza Balazs b5430ee4da Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-09-05 15:42:52 +03:00
Sebastian Hengst bcdcf7554b Bug 1487190 - Update bugzilla metadata in moz.build files to reflect Layout components reorganization in bug 1484408. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D4642

--HG--
extra : moz-landing-system : lando
2018-09-05 11:16:02 +00:00
Sebastian Hengst 0003a3ce96 Backed out changeset 834a75789c0a (bug 1487190) for bustage due to unused file pattern 2018-09-05 14:11:04 +03:00
Sebastian Hengst 38d937a7c0 Bug 1487190 - Update bugzilla metadata in moz.build files to reflect Layout components reorganization in bug 1484408. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D4642

--HG--
extra : moz-landing-system : lando
2018-09-05 10:54:03 +00:00
Dorel Luca b9abf01ee1 Backed out changeset 9e0481c2413d (bug 1487190) for breaking Gecko Decision Task. CLOSED TREE 2018-09-05 13:43:09 +03:00
Sebastian Hengst 447d464a1a Bug 1487190 - Update bugzilla metadata in moz.build files to reflect Layout components reorganization in bug 1484408. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D4642

--HG--
extra : moz-landing-system : lando
2018-09-05 10:00:39 +00:00
Margareta Eliza Balazs a6dfec6935 Merge inbound to mozilla-central. a=merge 2018-09-05 12:45:27 +03:00
Nicholas Nethercote f5d9c8867c Bug 1488321 - Remove all traces of the "transaction" terminology in SHistory. r=nika.
This patch:

- removes GetTransactionAtIndex(), because getTransactionAtIndex() can be used
  instead;

- renames a lot of things;

- updates some comments.

--HG--
extra : rebase_source : 845a1c1d5fe7f84eaa03db39a344d98fd5784afd
2018-09-05 09:03:22 +10:00
Hiroyuki Ikezoe 6e8f3beb98 Bug 1478212 - Propagate MediaFeatureChangeReason::SystemMetricsChange into sub frames. r=emilio
A test case covers this will be introduced in bug 1486971.

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

--HG--
extra : moz-landing-system : lando
2018-09-05 01:50:33 +00:00
Miko Mynttinen 2f3ec8cc90 Bug 1484966 - Part 1: Fix most clang-tidy warnings for layout/painting/ r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D3869

--HG--
extra : moz-landing-system : lando
2018-09-04 17:19:36 +00:00
Gijs Kruitbosch 9d274b2d2f Bug 1337794 - remove obsolete pagehide handling hacks from browser.js r=mconley
The pagehide handler has been as dead as a doornail for a while now,
but the side-effect of forcing the creation of an about:blank document
in non-remote windows was implicitly relied upon by some tests.

This removes the dead code and fixes up some tests.

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

--HG--
extra : moz-landing-system : lando
2018-09-04 17:55:05 +00:00
Miko Mynttinen 4938049810 Bug 1413546 - Fix e10s logic in nsLayoutUtils::AreRetainedDisplayListsEnabled() and set layout.display-list.retain.chrome to true r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D2953

--HG--
extra : moz-landing-system : lando
2018-09-04 14:53:18 +00:00
Emilio Cobos Álvarez 541e942cb1 Bug 1487649 - Don't do a name check when cloning a shadow root for print preview. r=smaug
Otherwise the ShadowRoot for <use> or other internal ones may not get cloned
properly.

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

--HG--
extra : moz-landing-system : lando
2018-09-03 14:10:58 +00:00
Nicholas Nethercote f369a978ca Bug 1487296 - Merge nsISHistoryInternal into nsISHistory. r=nika
With legacy add-ons gone, there is no benefit to keeping them separate.
2018-08-30 11:37:40 +10:00
Cosmin Sabou c8483bebfa Merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : gfx/doc/AsyncPanZoom-HighLevel.png => gfx/docs/AsyncPanZoomArchitecture.png
rename : gfx/doc/silkArchitecture.png => gfx/docs/SilkArchitecture.png
rename : gfx/doc/README.webrender => gfx/webrender_bindings/README.webrender
2018-09-01 12:27:26 +03:00
Ting-Yu Lin 6f4a25f896 Bug 1347048 - Remove AccessibleCaret's selection bar support. r=mats
This UI feature was used by B2G only.

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

--HG--
extra : moz-landing-system : lando
2018-08-31 13:51:51 +00:00
Masayuki Nakano 9c349ade9b Bug 1487591 - Make Selection treat AccessibleCaretEventHub as concrete class rather than nsISelectionListener r=smaug
AccessibleCaretEventHub is an nsISelectionListener of Selection whose type is
"normal".  This is added only when nsFrameSelection::Init() is called and
accessible caret is enabled.  Additionally, nsFrameSelection::Init() is
always called immediately after creating nsFrameSelection.

Therefore, when AccessibleCaretEventHub is installed to Selection, this is
always second selection listener and won't be installed multiple times.  So,
Selection can store pointer of AccessibleCaretEventHub directly only when
it's enabled and the Selection needs to notify it of selection change.

This patch makes Selection stores AccessibleCaretEventHub with RefPtr, then,
makes Selection::NotifySelectionListeners() call its OnSelectionChange()
immediately after AutoCopyListener.

Unfortunately, this patch includes making of MOZ_CAN_RUN_SCRIPT_BOUNDARY and
MOZ_CAN_RUN_SCRIPT a lot since some methods of AccessibleCaretEventHub are
marked as MOZ_CAN_RUN_SCRIPT and including AccessibleCaretEventHub.h into
Selection.h causes compile the compile errors.

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

--HG--
extra : moz-landing-system : lando
2018-08-31 21:19:44 +00:00
Andreea Pavel 21676b6ed7 Backed out changeset 65b36a89443f (bug 1487649) for failing mochitest chrome at layout/base/tests/chrome/test_printpreview.xu 2018-08-31 23:52:40 +03:00
ui.manish d232d2e938 Bug 1347060 Remove marionette test for rotatable devices r=TYLin
--HG--
extra : source : ea2402bdef4006d7cb8b52cad68bcee9de438c7a
2018-08-31 00:24:52 +02:00
Sebastian Hengst 4f39161869 Backed out 18 changesets (bug 1487647, bug 1487271, bug 1487001, bug 1487105, bug 1486845, bug 1485738, bug 1487595, bug 1347060, bug 1480900, bug 1487889) for accidential push of inbound to central. a=backout
Backed out changeset 331706d8558f (bug 1487595)
Backed out changeset d78b833293db (bug 1487595)
Backed out changeset f292ef31ef0b (bug 1487595)
Backed out changeset ef8c5c529210 (bug 1486845)
Backed out changeset 9cbc8592d649 (bug 1487889)
Backed out changeset 05a0118455e4 (bug 1487105)
Backed out changeset 78b8ff889992 (bug 1487105)
Backed out changeset 5a55e5b74107 (bug 1480900)
Backed out changeset ea2402bdef40 (bug 1347060)
Backed out changeset 3f831b709e37 (bug 1485738)
Backed out changeset d1c29bfb5ea9 (bug 1480900)
Backed out changeset 8e60483ec824 (bug 1480900)
Backed out changeset 328589a86dd1 (bug 1487647)
Backed out changeset d974ef1647f3 (bug 1480900)
Backed out changeset 0509636cc5d5 (bug 1487001)
Backed out changeset c57165730494 (bug 1487271)
Backed out changeset a55d81761fc4 (bug 1480900)
Backed out changeset eaa2d0e9b62d (bug 1480900)

--HG--
rename : gfx/docs/AsyncPanZoomArchitecture.png => gfx/doc/AsyncPanZoom-HighLevel.png
rename : gfx/webrender_bindings/README.webrender => gfx/doc/README.webrender
rename : gfx/docs/SilkArchitecture.png => gfx/doc/silkArchitecture.png
2018-09-01 02:01:23 +03:00
ui.manish fe0d617191 Bug 1347060 Remove marionette test for rotatable devices r=TYLin 2018-08-31 00:24:52 +02:00
Emilio Cobos Álvarez d4aeb28fd2 Bug 1487649 - Don't do a name check when cloning a shadow root for print preview. r=smaug
Otherwise the ShadowRoot for <use> or other internal ones may not get cloned
properly.

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

--HG--
extra : moz-landing-system : lando
2018-08-31 12:08:04 +00:00
Alexis Beingessner ea7bc06418 Bug 1453953 - natively implement xul textboxes. r=mstange 2018-08-30 18:39:22 -04:00
Paolo Amadini 5aaf848c8b Bug 1457218 - Part 3 - Remove the "menu-button" binding. r=surkov,bgrins
Differential Revision: https://phabricator.services.mozilla.com/D4531

--HG--
extra : rebase_source : 502aa0ff24d0e3d46ef60c7a14498e25c66d1c81
2018-08-29 14:04:25 +01:00
Gerald Squelart bad49db9b0 Bug 1479996 - Combine nsTArray::IndexOf and element access into lambda-friendly functions - r=froydnj
In many places, nsTArray::IndexOf is followed by accessing that element
(hopefully with `Elements() + index`, which skips unnecessary bounds checks.)
But this pattern introduces operations that could be avoided:
- IndexOf converts the address of the found element into an index,
- The caller must test for a special `NoIndex` value,
- On success, accesses convert that index back into the original address.

This patch introduces new 'ApplyIf...' functions that combine all these
operations in a more efficient ensemble: If the sought element is found, it is
passed by reference to a given callable object (usually a lambda); if not
found, another callable is invoked.
Depending on what they need, the first callable may take one of these parameter
lists: (), (size_t), (maybe-const elem_type&), (size_t, maybe-const elem_type&).
On top of removing the pointer->index->pointer operations in most cases,
invoking callables directly from ApplyIf is safer, as the array is guaranteed to
be untouched at this time.
Also, being templates taking function objects, in most cases the compiler should
be able to inline and optimize the search and its callables' code.

This patch gives example uses in nsTArray::Contains, and in
FrameProperties::GetInternal, SetInternal.
And FrameProperties::Has now calls Contains, which is more efficient because
the former code would compute an index (or NoIndex), and then convert that index
to a bool; whereas the new code directly produces a bool from within the search
algorithm.

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

--HG--
extra : moz-landing-system : lando
2018-08-28 22:04:09 +00:00
Ciure Andrei d716a04e20 Merge inbound to mozilla-central. a=merge 2018-08-29 00:58:21 +03:00
Ting-Yu Lin 9fbf0f764c Bug 1485495 - Use AutoRestore to restore aState.mAdditionalStateBits. r=dholbert
Depends On D4020

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

--HG--
extra : moz-landing-system : lando
2018-08-27 18:38:58 +00:00
Emilio Cobos Álvarez ffd639d223 Bug 1486536 - Explicitly flush the StyleSet from FlushPendingNotifications. r=heycam
When CSS rules change, we usually do this implicitly from FlushUserFontSet & co.

However there's a code path that dirties the stylist but not the CSS rules, and
that's when the compat mode changes and we're an SVG document.

I don't think that can get hit (easily, at least?), but it's pretty easy to do
so and I think this is cleaner too.

This fixes that case so the stylist can't assert in that case either, and so
that we still rebuild the cascade data so that the hash maps use the right keys
for a given quirks-mode.

Differential Revision: https://phabricator.services.mozilla.com/D4361
2018-08-28 16:01:06 +02:00
Emilio Cobos Álvarez dfb68a28c5 Bug 1486536 - Make nsPresContext::CompatibilityModeChanged() properly call PresShell::ApplicableStylesChanged. r=heycam
We usually rely on this call happening soon enough that it doesn't
matter, but from document.write it can matter actually. This is the call that
makes this work the same way as other sheet addition / removals. This would fix
cases where counter styles / @font-face rules in quirk.css wouldn't get
properly updated in some cases. Hopefully we don't have any of those.

Differential Revision: https://phabricator.services.mozilla.com/D4360
2018-08-28 16:01:06 +02:00
Gurzau Raul 4125dfc655 Backed out changeset 641eedc51cc0 (bug 1453953)for reftest failures on tests/layout/reftests/text-shadow/basic.xul 2018-08-26 00:51:46 +03:00
Alexis Beingessner 5a70edeff6 Bug 1453953 - natively implement xul textboxes. r=mstange
--HG--
extra : amend_source : 103711995ce745866d79db031b6cfa9ebef1ce1b
2018-08-25 22:36:51 +03:00
Boris Chiou cc2e8fb329 Bug 1429298 - Part 6: Apply motion path transform matrix. r=nical
We implement the layout part of offset-path. Now we don't have
offset-distance, so use the default value, 0%, for it.

Note: rename mCombinedTransform as mIndividualTransform, which only
stores the combined individual transforms. We apply the individual
transforms, motion path transform, and specified transform in
ReadTransforms. (We have to follow the order, so we don't combine the
specified transform in FinishStyle.)

Differential Revision: https://phabricator.services.mozilla.com/D2968
2018-08-21 22:41:44 -07:00
shindli 22e756d763 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-20 12:54:42 +03:00
Makoto Kato 26384ede28 Bug 1484094 - Test that caret doesn't move into ligated Emoji-ZWJ sequence. r=jfkthame 2018-08-20 09:08:14 +01:00
Ting-Yu Lin c823989197 Bug 1484360 - Remove UNSET_DISPLAY in nsCSSFrameConstructor. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D3686

--HG--
extra : moz-landing-system : lando
2018-08-18 14:07:24 +00:00
Csoregi Natalia 3e61ab4489 Merge inbound to mozilla-central. a=merge 2018-08-18 12:46:20 +03:00
Ting-Yu Lin 4e52c71be9 Bug 1484306 Part 3 - Use nsFrameList::Split() to replace the usage of FindFirstBlock(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3645
2018-08-17 22:14:26 -07:00
Ting-Yu Lin 4347d6785b Bug 1484306 Part 2 - Add nsFrameList::Split(), and use it to replace the usage of FindFirstNonBlock(). r=dholbert
This API is similar to Vec::Split() in Rust.
https://doc.rust-lang.org/std/vec/struct.Vec.html#method.split

Differential Revision: https://phabricator.services.mozilla.com/D3644
2018-08-17 22:14:25 -07:00
Ting-Yu Lin f830c92c19 Bug 1484306 Part 1 - Add nsFrameList::FrameLinkEnumerator::Find(). r=dholbert
Use it to implement FindFirstBlock() and FindFirstNonBlock(). This is a
demonstration on how Find() is used. The usage of them will be overhauled in
Part 2 and 3.

Differential Revision: https://phabricator.services.mozilla.com/D3642
2018-08-17 22:14:25 -07:00
Jim Chen 450647e5d2 Bug 1483665 - Only call SetSelectionDragState in parent process; r=snorp
We can't call nsWindow::SetSelectionDragState in the child process so
check for the parent process first.

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

--HG--
extra : moz-landing-system : lando
2018-08-17 23:05:08 +00:00
Xidorn Quan ed1e3e1f9e Bug 1475033 part 1 - Rename nsChangeHint_CSSOverflowChange to nsChangeHint_ScrollbarChange. r=heycam
Prepare for scrollbar-width which should trigger the same kind of change.

MozReview-Commit-ID: 1n9Y9bobBkJ

--HG--
extra : rebase_source : 520b78dec4daca5050e0cc7fff4ec68fa36663c5
2018-08-03 16:42:33 +10:00
Masayuki Nakano b808917841 Bug 1449564 - part 1: Disable object resizer and inline table editor in default r=m_kato
Gecko supports resizers of <img> elements and <table>, <td>, <th> elements and
has UI to remove existing table row or column in default.  However, the other
browsers don't have such UI and web apps need to disable this feature with
calling both:
document.execCommand("enableObjectResizing", false, false);
document.execCommand("enableInlineTableEditing", false, false);
for avoiding conflicting with their own features to edit such elements.

Therefore, it doesn't make sense to keep enabling them in default only on
Gecko.  If web apps want to keep using these features, they should call:
document.execCommand("enableObjectResizing", false, true);
document.execCommand("enableInlineTableEditing", false, true);
at initializing the editor.

And also this patch fixes bugs of
document.queryCommandState("enableObjectResizing") and
document.queryCommandState("enableInlineTableEditing").  They always return
false even after calling document.execCommand(..., false, true) since
nsSetDocumentStateCommand::GetCommandStateParams() sets bool value as
STATE_ATTRIBUTE.  However, nsHTMLDocument::QueryCommandValue() which is the
caller referring STATE_ATTRIBUTE doesn't treat it as bool value.  And also
those commands are related to state of document.  Therefore, they should be
return as bool value of STATE_ALL instead.  Then,
nsHTMLDocument::QueryCommandState() returns the state as expected.  Note that
those commands are supported only by Gecko.  So, we don't need to worry about
the compatibility.

Finally, this patch rewrites 2 existing tests to check basic behavior of
resizers and appearance of resizers.

Note that this patch does not add new tests to test inline table editor
since it's difficult to test the behavior with current API.  Perhaps, we
should add an API to nsIHTMLEditor to retrieve each anonymous elements in
another bug since it requires to add wrapping API of SpecialPowers.

MozReview-Commit-ID: 1FhYo5vcV60

--HG--
rename : editor/libeditor/tests/test_objectResizing.html => editor/libeditor/tests/test_resizers_appearance.html
rename : editor/libeditor/tests/test_bug640321.html => editor/libeditor/tests/test_resizers_resizing_elements.html
extra : rebase_source : a707de5a64ef1f8ce974cdf1be093d1b4f61c7bc
2018-04-02 17:26:46 +09:00
dvarga 87db76ae1a Merge mozilla-central to mozilla-inbound on a CLOSED TREE
--HG--
extra : rebase_source : c9e6b9edae9ecf064d1318fa15d5d57ea42c102a
2018-08-16 01:22:36 +03:00
Daniel Holbert 0878eb4d7e Bug 1483394: Remove unneeded #includes of nsContentUtils.h in /layout. r=TYLin
For each file touched in this patch, the file had an #include for nsContentUtils.h, but no other mentions of the string "nsContentUtils", nor any mention of its "ScriptBlocker"-related types. So these files likely don't need their nsContentUtils.h include anymore, and we can remove it to get a marginal win on build time/complexity.

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

--HG--
extra : moz-landing-system : lando
2018-08-15 07:04:43 +00:00
Emilio Cobos Álvarez 6493ebbcf0 Bug 1477773: no-op visited changes earlier if visited links are disabled. r=xidorn
We force a repaint from ContentStateChangedInternal if visited links are
disabled, and that's observable. Let's cut it off as early as we can to avoid
timing attacks even when :visited is disabled.

Differential Revision: https://phabricator.services.mozilla.com/D3304
2018-08-15 12:54:26 +02:00
Cameron McCormack 99d9013b12 Bug 1482782 - Part 5: Move CSS anonymous box atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3283

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3284
2018-08-15 15:46:39 +10:00
Cameron McCormack 4a23b5ff06 Bug 1482782 - Part 4: Move CSS pseudo-element atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3282

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3283
2018-08-15 15:46:00 +10:00
Narcis Beleuzu d20e8e7674 Backed out 8 changesets (bug 1483121, bug 1482782) for build bustages on nsDirectoryService.cpp. CLOSED TREE
Backed out changeset 0a8334bbcf45 (bug 1483121)
Backed out changeset cb2dcb859071 (bug 1482782)
Backed out changeset c834d4ca2eef (bug 1482782)
Backed out changeset 887de0efbb67 (bug 1482782)
Backed out changeset 018fdb50a6be (bug 1482782)
Backed out changeset 33a8aa8096c9 (bug 1482782)
Backed out changeset e3632354f16e (bug 1482782)
Backed out changeset 46f8319bee82 (bug 1482782)
2018-08-15 09:14:41 +03:00
Cameron McCormack d9edae8bde Bug 1482782 - Part 5: Move CSS anonymous box atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3283

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3284
2018-08-15 15:46:39 +10:00
Cameron McCormack cc6c806369 Bug 1482782 - Part 4: Move CSS pseudo-element atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3282

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3283
2018-08-15 15:46:00 +10:00
Margareta Eliza Balazs 9575863d77 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-14 12:35:25 +03:00
Xidorn Quan 33b8a6dacd Bug 1483090 - Rename StyleUserInterface to StyleUI. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D3276

--HG--
extra : moz-landing-system : lando
2018-08-14 08:37:37 +00:00
Ting-Yu Lin a1ed764131 Bug 1482665 Part 5 - Remove nsDeviceContext::AppUnitsPerCSSInch() and replace it with mozilla::AppUnitsPerCSSInch(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3158
2018-08-13 14:29:30 -07:00
Ting-Yu Lin 316a8e0c1d Bug 1482665 Part 4 - Remove nsDeviceContext::AppUnitsPerCSSPixel() and replace it with mozilla::AppUnitsPerCSSPixel(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3157
2018-08-13 14:29:30 -07:00
Ting-Yu Lin 74992134e1 Bug 1482665 Part 3 - Remove nsPresContext::AppUnitsPerCSSInch() and replace it with mozilla::AppUnitsPerCSSInch(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3156
2018-08-13 14:29:29 -07:00
Ting-Yu Lin 48d02834a5 Bug 1482665 Part 2 - Remove nsPresContext::AppUnitsPerCSSPixel() and replace it with mozilla::AppUnitsPerCSSPixel(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3155
2018-08-13 14:29:28 -07:00
"Emilio Cobos Álvarez" f3d30ca484 Bug 1472020 - Make AccessibleCaret a bit saner. r=bz,TYLin
Avoid processing anon content in nsCanvasFrame, then getting more anon content
via AccessibleCaretEventHub::Init. Instead call Init before creating the custom
content container. We could also throw a script runner at it I guess, but this
prevents the reentrancy issue.

Avoid cloning nodes during layout, just use the same node (already cloned in
InsertAnonymousContent) instead.

The RemoveChild in GetAnonymousContent to handle the reframes instead of cloning
around is a bit hacky, but I don't think it's really worth extending
PostDestroyData for this special case.

Differential Revision: https://phabricator.services.mozilla.com/D1889
2018-08-13 11:56:48 +02:00
L. David Baron 09f62c0e05 Bug 1481866: Swap order of values in 'overflow' shorthand property. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D3069

--HG--
extra : moz-landing-system : lando
2018-08-10 02:20:53 +00:00
Daniel Varga 31ff8cd9c8 Merge mozilla-central to mozilla inbound. a=merge 2018-08-09 01:10:56 +03:00
Csoregi Natalia 0ed25650ef Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-08 13:02:49 +03:00
Csoregi Natalia 0f4d50ff52 Merge inbound to mozilla-central. a=merge 2018-08-08 12:58:36 +03:00
Alex Gaynor 8f9e8a51b2 Bug 1446509 - added final versions of macro for declaring AddRef and Decref; r=froydnj
Also make use of them in a few places.

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

--HG--
extra : moz-landing-system : lando
2018-08-07 18:25:49 +00:00
Xidorn Quan 346661e6fd Bug 1481125 - Put overflow: -moz-scrollbar-* behind pref. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D2845

--HG--
extra : moz-landing-system : lando
2018-08-07 13:57:45 +00:00
Emilio Cobos Álvarez 1a7f1a4dbf Bug 1478604 - Fix RepaintSelectionRunner so that it does something for non-presShell impls. r=masayuki
The regressing bug made RepaintSelectionRunner do nothing for any
nsISelectionListener that wasn't a PresShell.

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

--HG--
extra : moz-landing-system : lando
2018-08-07 12:55:21 +00:00
Emilio Cobos Álvarez 60a4d14017 Bug 1481155 - Use more references in the snapshot code. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D2766

--HG--
extra : moz-landing-system : lando
2018-08-06 23:44:56 +00:00
Neil Deakin a399d3073b Bug 1473029, convert drag services to internally use CSSIntRegion instead ns nsIScriptableRegion, r=mstange 2018-08-07 09:32:08 -04:00
Jeremy Lempereur 96d35f35bd Bug 1471708 - Rename the "scroll-position clamping scroll port size" to "visual viewport size". r=botond
MozReview-Commit-ID: IWPzXSF5jfR

--HG--
extra : rebase_source : f67d64ef18a643077d5019048399e68acc722337
2018-07-22 21:49:38 +02:00
L. David Baron 7642040d1b Bug 1479859 patch 1 - Make inline frames be abs-pos containing blocks for reasons other than being relatively positioned. r=emilio
The basic change here is making nsCSSFrameConstructor::ConstructInline
use the function nsIFrame::IsAbsPosContainingBlock rather than testing
for only one of the conditions in it (being relatively or absolutely
positioned).  The rest of the code changes follow from that change.

I tested locally that the added test fails without the patch and passes
with it (either with or without the next patch).

Note that this causes a regression of three web-platform-test reftests:
  testing/web-platform/tests/css/css-contain/contain-paint-002.html
  testing/web-platform/tests/css/css-contain/contain-paint-011.html
  testing/web-platform/tests/css/css-contain/contain-paint-012.html
which will be fixed in patch 4, since that fix is easier to write after
patch 2.

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

--HG--
extra : rebase_source : 0d374628207c234bcd7cf4e320188994fc2680b8
2018-08-07 15:02:07 -07:00
Morgan Rae Reschenberg 20f759a6e0 Bug 1478550 - Adjust IsInnerTableStyle to fail for table captions. r=dholbert
MozReview-Commit-ID: 6CK1XEYWsTl

--HG--
extra : rebase_source : d5f753d0127c482021577fe0f48c67a1361e0b53
2018-07-26 14:09:52 -07:00
Cosmin Sabou 7cf1ac297e Backed out changeset 542243f5f600 (bug 1471708) for failling reftest on gfx/layers/apz/test/reftest/async-scrollbar-1. 2018-08-05 07:57:50 +03:00
Jeremy Lempereur e591a6945a Bug 1471708 - Rename the "scroll-position clamping scroll port size" to "visual viewport size". r=botond
MozReview-Commit-ID: IWPzXSF5jfR

--HG--
extra : rebase_source : 9d13a680ebf76a5f86c9040a5a16981514435dc8
2018-07-22 21:49:38 +02:00
Andrea Marchesini 8ab9f07dd8 Bug 1462879 - PerformanceNavigationTiming must be notified correctly - part 1 - notify, r=smaug, r=valentin 2018-08-04 08:54:58 +02:00
Emilio Cobos Álvarez 1d8637da03 Bug 1479528: Remove FrameConstructionItem::mHasInlineEnds. r=bz
It's write-only.

Looks like this became unused in bug 501847 when we changed how ib splits work
and no longer needed this information.

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

MozReview-Commit-ID: GDwcheP3bV4
2018-08-03 09:12:31 +02:00
Emilio Cobos Álvarez 1d122a0956 Bug 1479528: Remove FrameConstructionItem::mIsForSVGAElement. r=bz
It was needed presumably because XBL could override the tag name and what not.
But I removed that capability for elements other than XUL elements, so we can
just poke at the content directly.

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

MozReview-Commit-ID: B5Ihu0gaNd8
2018-08-03 09:12:07 +02:00
Emilio Cobos Álvarez f7180dd264 Bug 1479528: Move all the data-finding related stuff into a single function. r=dholbert
To make it hopefully a bit easier to follow.

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

MozReview-Commit-ID: 2LMf7IXM1kr
2018-08-03 09:11:40 +02:00
Emilio Cobos Álvarez 3af717e9ff Bug 1479528: Move the XBL binding loads a bit more away. r=dholbert
They're pretty ugly...

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

MozReview-Commit-ID: CUDUyfe9Bgp
2018-08-03 09:11:13 +02:00
Emilio Cobos Álvarez 48b9fd1d39 Bug 1479528: Make the ShouldSuppressFrameIn* functions take references. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D2562

MozReview-Commit-ID: 8lcn1XW4aik
2018-08-03 09:10:46 +02:00
Narcis Beleuzu 4684ccf98e Merge inbound to mozilla-central. a=merge 2018-08-03 01:28:14 +03:00
Daniel Holbert 1ecc1ef9fb Bug 1480254: Fix typo in nsLayoutUtils::MinSizeContributionForAxis to actually check the specified axis (rather than checking enum value for truthiness). r=bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D2634

--HG--
extra : moz-landing-system : lando
2018-08-01 22:56:26 +00:00
Daniel Holbert deb467f397 Bug 1480222 part 3: Add includes to fix unified bustage in ArenaRefPtrInlines.h and nsComputedDOMStyle.cpp. r=TYLin
* ArenaRefPtrInlines.h calls nsPresArena::RegisterArenaRefPtr()
  and hence needs nsPresArena.h.
* nsComputedDOMStyle.cpp calls nsCSSProps::PropHasFlags()
  and hence needs nsCSSProps.h.

Differential Revision: https://phabricator.services.mozilla.com/D2631
2018-08-01 15:09:54 -07:00
Noemi Erli 8f66a71e70 Merge inbound to mozilla-central. a=merge 2018-08-02 11:54:46 +03:00
dvarga 956d57e7f2 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-08-02 01:26:29 +03:00
dvarga e487e6e564 Merge inbound to mozilla-central. a=merge 2018-08-02 01:09:38 +03:00
Brendan Dahl 6a890f9e34 Bug 1473742 - Fix printing fonts loaded with JS API. r=jfkthame
Copy over non-rule font faces to the static clone document that is used
during printing.

MozReview-Commit-ID: 8ggNrCcVpEK

--HG--
extra : rebase_source : 27e270edd28c3ecf19a99f4df5398a89e6c53e6a
2018-08-01 09:40:24 -07:00
Randall Barker 6d045ccecb Bug 1479549 Add a pref to disable double tap zooming in APZ r=botond
MozReview-Commit-ID: HK5RWuI6lIk
2018-08-01 11:25:32 -07:00
Emilio Cobos Álvarez 8f34c12e14 Bug 1479860: Remove unused aCompileEventHandlers argument from BindToTree. r=bz
Mostly automatic via sed. Only parts which I touched manually (apart from a
couple ones where I fixed indentation or which had mispelled arguments) are the
callers. I may have removed a couple redundant `virtual` keywords as well when
I started to do it manually, I can revert those if wanted.

Most of them are just removing the argument, but in Element.cpp I also added an
assertion for GetBindingParent when binding the ShadowRoot's kids (the binding
parent is set from the ShadowRoot constructor, and I don't think we bind a
shadow tree during unlink or what not which could cause a behavior difference).

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

MozReview-Commit-ID: 2oIgatty2HU
2018-08-01 10:42:54 +02:00
Xidorn Quan 8421040c69 Bug 1479995 - Rename ScrollbarStyles to ScrollStyles. r=mstange
This change also renames several related functions, as well as fields,
and the header is moved into EXPORTS.mozilla given it is defined under
mozilla namespace.

MozReview-Commit-ID: LqCdcW8fmUN

--HG--
rename : layout/base/ScrollbarStyles.cpp => layout/base/ScrollStyles.cpp
rename : layout/base/ScrollbarStyles.h => layout/base/ScrollStyles.h
extra : rebase_source : 8933f3bca88d5db4b9508e3947f695ecf7511b3e
2018-08-01 16:14:26 +10:00
Bogdan Tara cdd4e81c41 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-31 21:33:21 +03:00
Emilio Cobos Álvarez 410bea1552 No bug - Fix two typos. r=me
MozReview-Commit-ID: F8vq8l4HwCQ
2018-07-31 19:24:23 +02:00
Matt Woodrow 1c14c56cce Bug 1475971 - Copy the building rect into old items when we decide we can reuse them. r=miko
MozReview-Commit-ID: JXHZ17iFaei

--HG--
extra : rebase_source : 42fc06465a644de597f78e46878037b653da046e
2018-07-30 16:03:32 +12:00
Hiroyuki Ikezoe 9cb3bb79e5 Bug 1479133 - Use AnimationInfo::GetGenerationFromFrame to get the animation generation for WebRender. r=birtles
WebRender has no layers at all.

MozReview-Commit-ID: 7qYE8vONfU9

--HG--
extra : rebase_source : 58e0853ce4f694bfb32e7fa34ef37db6db511185
2018-07-30 11:20:53 +09:00
Hiroyuki Ikezoe 0ffcf23607 Bug 1478643 - Apply change hints for transform animation in the case where the current transform style is 'none' and no change hint produced in AddLayerChangesForAnimation. r=birtles
The applying change hints are the same as what we apply for transform style
changed from something to 'none'.

All test cases pass with this fix fail without the fix.

MozReview-Commit-ID: 7HStU26lRPq

--HG--
extra : rebase_source : 701361d477ab7954ab15fde75fd40d98724e47b3
2018-07-30 11:13:54 +09:00
Hiroyuki Ikezoe 66cfd53581 Bug 1478643 - Introduce a new change hint set for added or removed transform style. r=birtles
MozReview-Commit-ID: GfK1e5QaOu6

--HG--
extra : rebase_source : c6e28e7fabb43f54d04e756865a652fc4752ce30
2018-07-30 10:51:18 +09:00
Kris Maglione 031076f2f3 Bug 1463291: Move docShell getter from Document to Window. r=bz
DocShells are associated with outer DOM Windows, rather than Documents, so
having the getter on the document is a bit odd to begin with. But it's also
considerably less convenient, since most of the times when we want a docShell
from JS, we're dealing most directly with a window, and have to detour through
the document to get it.

MozReview-Commit-ID: LUj1H9nG3QL

--HG--
extra : source : fcfb99baa0f0fb60a7c420a712c6ae7c72576871
extra : histedit_source : 5be9b7b29a52a4b8376ee0bdfc5c08b12e3c775a
2018-05-21 16:58:23 -07:00
Narcis Beleuzu 561ccb2ceb Backed out 2 changesets (bug 1463016, bug 1463291) for geckoview failures
Backed out changeset fcfb99baa0f0 (bug 1463291)
Backed out changeset 0d69b4fb1ed4 (bug 1463016)
2018-07-29 03:55:23 +03:00
Kris Maglione cb1ee1e34d Bug 1463291: Move docShell getter from Document to Window. r=bz
DocShells are associated with outer DOM Windows, rather than Documents, so
having the getter on the document is a bit odd to begin with. But it's also
considerably less convenient, since most of the times when we want a docShell
from JS, we're dealing most directly with a window, and have to detour through
the document to get it.

MozReview-Commit-ID: LUj1H9nG3QL

--HG--
extra : rebase_source : a13c59d1a5ed000187c7fd8e7339408ad6e2dee6
2018-05-21 16:58:23 -07:00
Emilio Cobos Álvarez 517256e365 Bug 1478391: Autogenerate StyleAppearance. r=jwatt
This builds on bug 1428676 and introduces StyleAppearance, which replaces the
NS_THEME_* constants.

Really sorry for the size of the patch.

There's a non-trivial change in the gtk theme, which I submitted separately as
bug 1478385.

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

MozReview-Commit-ID: DiSmMWK7Krp
2018-07-26 17:06:17 +02:00
Ting-Yu Lin c97eabf941 Bug 1477871 - Extract the construction of nsColumnSetFrame into a helper function. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D2312

--HG--
extra : moz-landing-system : lando
2018-07-25 17:40:50 +00:00
Sebastian Hengst bd900ee36a Merge mozilla-inbound to mozilla-central. a=merge 2018-07-25 17:16:53 +03:00
Emilio Cobos Álvarez e1af3b4e1c Bug 1478069: Remove ContentInfo::mChildren. r=bz
It's not needed anymore, since we tag the pseudo-elements at creation time for
styling.

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

MozReview-Commit-ID: 7j4DVEHXYIC
2018-07-25 11:31:23 +02:00
Emilio Cobos Álvarez a9932d2836 Bug 1478069: Use AddFrameConstructionItems for display: contents. r=TYLin
It's the same, and avoids a bit of duplication.

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

MozReview-Commit-ID: LN5LjM4XFO4
2018-07-25 11:31:21 +02:00
Emilio Cobos Álvarez a237bae1dd Bug 1478069: Remove useless ping-pong between flattened and light child. r=TYLin
We verify the flattened tree is correct in VerifyFlatTree (in RestyleManager),
plus the post-condition still holds of course.

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

MozReview-Commit-ID: 7ayEC2gSvYS
2018-07-25 11:31:20 +02:00
Emilio Cobos Álvarez 26b508d03c Bug 1478069: Trivial frame constructor cleanup. r=TYLin
Using references helps to see when stuff can and cannot be null.

I removed useless aTag / aNamespaceId arguments which are useless now that XBL
can't override them (bug 1450617), so FindXULData is the only one that keeps
them alive.

Also, I took the liberty of renaming a few fooComputedStyle variables to just
fooStyle, and clarify naming in some pseudo-element-related functions to say
originating element (the spec term) and avoid confusing it with the generated
_moz_generated_content_before / _moz_generated_content_after element.

Note that this is a partial state, more stuff will come in the future.

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

MozReview-Commit-ID: 39B30doREUH
2018-07-25 11:31:18 +02:00
Dan Glastonbury 165882c3b0 Bug 1330375 - P1: Helper for checking for ancestor of dirty reflow root. r=emilio,heycam,rwood
Including refactoring mDirtyRoots into nsIPresShell to avoid virtual call.

MozReview-Commit-ID: KxST8FMsZl9

--HG--
extra : rebase_source : 1be1a8065815bb1e67293c7839c6e9189fc693bc
2018-07-19 14:18:53 +10:00
Boris Zbarsky 75abc43e0d Bug 1476145 part 8. Stop using getInterface(nsIDOMWindowUtils) in various test code. r=kmag 2018-07-24 19:47:43 -04:00
Nathan Froyd 0ebdcdbf60 Bug 1478138 - micro-optimize frame property lookup; r=dholbert
Once we've determined an index for the frame property, we don't need to
pay the overhead of checking whether that index is in bounds for the
array again on the next access.  It would be nice if we could avoid that
overhead for removal, too, but since there's no API for that, we'll just
remove the overhead for accesses.
2018-07-24 19:25:28 -04:00
Boris Zbarsky 754087a992 Bug 1446940 part 5. Stop getting docshells from windows via getInterface in dom/editor/etc code. r=kmag 2018-08-01 13:07:11 -04:00
Kris Maglione 7aa3564a28 Bug 1477579: Part 3 - Avoid duplicating static strings in category manager entries. r=froydnj
Much like the component manager, many of the strings that we use for category
manager entries are statically allocated. There's no need to duplicate these
strings.

This patch changes the category manager APIs to take nsACStrings rather than
raw pointers, and to pass literal nsCStrings when we know we have a literal
string to begin with. When adding the category entry, it then skips making
copies of any strings with the LITERAL flag.

MozReview-Commit-ID: EJEcYSdNMWs
***
amend-catman

--HG--
extra : source : aa9a8f18e98f930a3d8359565eef02f3f6efc5f9
extra : absorb_source : 81a22ab26ee8017ac43321ff2c987d8096182d37
2018-07-23 17:41:06 -07:00
Brindusan Cristian 91a3707d5f Backed out 3 changesets (bug 1477579) for build bustages on xpcshell\selftest.py and crashtest failures on /components/nsComponentManager.cpp. CLOSED TREE
Backed out changeset aa9a8f18e98f (bug 1477579)
Backed out changeset 5fb0b7746a5d (bug 1477579)
Backed out changeset 8359f8fe4184 (bug 1477579)
2018-07-24 04:55:03 +03:00
Kris Maglione dfd38a6ac3 Bug 1477579: Part 3 - Avoid duplicating static strings in category manager entries. r=froydnj
Much like the component manager, many of the strings that we use for category
manager entries are statically allocated. There's no need to duplicate these
strings.

This patch changes the category manager APIs to take nsACStrings rather than
raw pointers, and to pass literal nsCStrings when we know we have a literal
string to begin with. When adding the category entry, it then skips making
copies of any strings with the LITERAL flag.

MozReview-Commit-ID: EJEcYSdNMWs
***
amend-catman

--HG--
extra : rebase_source : 4f70e7b296ecf3b52a4892c92155c7c163d424d2
2018-07-23 17:41:06 -07:00
Ting-Yu Lin 582327218e Bug 1477533 - Use static const class variable to represent column-count: auto. r=heycam
NS_STYLE_COLUMN_COUNT_UNLIMITED is unused, so I remove it.

MozReview-Commit-ID: HLHLn9ZbkUY

--HG--
extra : rebase_source : 9bf00e1db00051c4454719e205633717fabde050
2018-07-20 17:09:31 -07:00
Tyson Smith d5cf5b86d8 Bug 1472027: Crashtest. r=emilio
MozReview-Commit-ID: E6MUx6DNLNz
2018-07-22 15:46:25 +02:00
Olli Pettay f3c3cde4c7 bug 1430701, remove now unused nsLightFrameIterator, r=mrbkap
--HG--
extra : rebase_source : 875b320c75414c3911a252e39267d1a424a51f37
2018-07-20 19:32:22 +03:00
Emilio Cobos Álvarez 68f214df2a Bug 1450250: Make svg:use use an actual shadow tree. r=heycam
Summary:
This fixes a couple fuzz bugs and prevents special-casing <svg:use> even more in
bug 1431255.

Unfortunately not as many hacks went away as I'd have hoped, since we still need
to match document rules, see the linked SVGWG issues.

But blocks_ancestor_combinators goes away, which is nice since it's on a very
hot path.

Test Plan: WPT for style invalidation, covered by existing tests otherwise.

Reviewers: heycam

Tags: #secure-revision

Bug #: 1450250

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

MozReview-Commit-ID: C4mthjoSNFh
2018-07-20 14:44:51 +02:00
Gerald Squelart 52440e9648 Bug 1459937 - Mark pulled lines (from n-i-f or overflow) dirty - r=dbaron
Lines pulled from next-in-flow or overflow frames have probably not been marked
dirty (as ReflowInput hasn't dealt with them when it was constructed), so we
need to mark them dirty for proper reflow.

If we don't do that, and they don't fit in the current column, the next column
will only mark its current children dirty, so when pulling back its first lines
from the previous column they will not be reflowed as needed, which causes this
bug.

MozReview-Commit-ID: 8GFO1ZWuZ1b

--HG--
extra : rebase_source : ee55a9ae7408e1f2603c1b2bc80ddcd8dbc837f0
2018-07-09 11:42:47 +10:00
Kartikaya Gupta e750c8c1b4 Bug 1475637 - Add a mechanism for dumping an interleaved display list. r=jrmuizel
The prefs, when enabled, will dump the gecko DL items followed by the
WR DL items that were generated from that gecko item. This allows us to
easily go from a DOM element with known id/class attributes to e.g. an
ImageKey of an image that was generated for that element.

Also, this logging can be enabled in CI builds just like gecko display-list
dumping, instead of the ifdef that we previously had in WebRenderLayerManager.

MozReview-Commit-ID: Eeo4iO62YY1

--HG--
extra : rebase_source : b4a348b2e8bced976489257b966f70b29c56df25
2018-07-19 15:30:30 -04:00
Paolo Amadini dc49387df8 Bug 1472555 - Part 5 - Remove the listbox layout. r=bz,surkov
MozReview-Commit-ID: Bx1p1nTurCz

--HG--
extra : rebase_source : 6910e500f30eb42b45032dbab85a3dc9c014390b
2018-07-18 11:23:32 +01:00
Paolo Amadini f473f4d560 Bug 1472555 - Part 1 - Remove listbox crashtests and reftests. r=bz
Most of the removed tests are specific to listbox code, some are related to fixes already covered elsewhere, and some have no associated fix and were originally checked in just for good measure.

MozReview-Commit-ID: 3AQXoKy6HhU

--HG--
extra : rebase_source : 88781275bfdb436c0bb4249972435ad74e95002e
2018-07-07 12:45:55 +01:00
Tiberius Oros d385db1af9 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-18 00:57:55 +03:00
Tiberius Oros d701ae940f Merge inbound to mozilla-central. a=merge 2018-07-18 00:55:33 +03:00
Brian Birtles fc657410ff Bug 1471814 - Add a preference for implicit keyframes; r=bz,hiro
This preference controls whether authors are allowed to specify animations
without a 0% or 100% keyframe.

We intend to ship this soon but this preference acts as a safeguard in case we
discover we need to disable it.

This feature is very convenient and commonly used so this patch ensures it is
always enabled for system content.

MozReview-Commit-ID: BHTsuS2xO61

--HG--
rename : dom/animation/test/mozilla/file_disable_animations_api_core.html => dom/animation/test/mozilla/file_disable_animations_api_implicit_keyframes.html
rename : dom/animation/test/mozilla/test_disable_animations_api_core.html => dom/animation/test/mozilla/test_disable_animations_api_implicit_keyframes.html
extra : rebase_source : 04fd93dd26a4765c14b0b22febdb0311b650ea59
2018-07-14 09:23:03 +09:00
Kris Maglione 8d585408dc Bug 1473631: Part 0b - Add helper for registering instance methods as pref callbacks. r=njn
I also tried to avoid this change but, again, given the number of times I was
repeating the same pattern of defining a static method just to forward a
callback to an instance method, decided it was probably necessary. Without an
easy way to do this, people are more likely to register observers rather than
callbacks, for which we'll wind up paying a continued memory and performance
penalty.

This patch adds a helper which creates a type-safe preference callback
function which forwards calls to an instance method on its closure object.

The implementation is somewhat complicated, mainly due to the constraint that
unregistering a callback requires passing the exact same function pointer that
was used to register it. The patch achieves this by creating the callback
function as a template, with the method pointer as a template parameter. As
long as the Register and Unregister calls happen in the same translation unit,
the same template instance is guaranteed to be used for both.

The main difficulty is that, until C++ 17, there's no way match a value as a
template parameter unless you know its complete type, or can at least compute
its complete type based on earlier template parameters. That means that we
need a macro to extract the type of the method, and construct the template
with the full set of explicit parameters.

MozReview-Commit-ID: 10N3R2SRtPc

--HG--
extra : rebase_source : 7d0a8ddeb77e01d4a6f421459514e93bc0875598
2018-07-13 18:54:11 -07:00
Kris Maglione 0bfdb4329f Bug 1473631: Part 0a - Make preference callbacks typesafe. r=njn
I initially tried to avoid this, but decided it was necessary given the number
of times I had to repeat the same pattern of casting a variable to void*, and
then casting it back in a part of code far distant from the original type.

This changes our preference callback registration functions to match the type
of the callback's closure argument to the actual type of the closure pointer
passed, and then casting it to the type of our generic callback function. This
ensures that the callback function always gets an argument of the type it's
actually expecting without adding any additional runtime memory or
QueryInterface overhead for tracking it.

MozReview-Commit-ID: 9tLKBe10ddP

--HG--
extra : rebase_source : 7524fa8dcd5585f5a31fdeb37d95714f1bb94922
2018-07-06 12:24:41 -07:00
Kris Maglione 1751fb7124 Bug 1473634: Part 2 - Update some callers to use RegisterCallbacks where appropriate. r=njn
MozReview-Commit-ID: IqUmuOeSbNm

--HG--
extra : rebase_source : 0c742f6ca29456928f2027dcb70ee6dbb130d1f9
2018-07-04 19:06:57 -07:00
Ting-Yu Lin 91d1f8bd84 Bug 1476358 - Replace while-loop with FindFirstBlock() in WrapFramesInFirstLineFrame(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D2193

--HG--
extra : moz-landing-system : lando
2018-07-17 18:17:42 +00:00
Emilio Cobos Álvarez 8805f43898 Bug 1473813: Don't make pseudo-elements replaced by content: url(..). r=bz
Differential Revision: https://phabricator.services.mozilla.com/D1996
2018-07-16 18:06:39 +02:00
Emilio Cobos Álvarez 0da3dae9c9 Bug 1472403: Simplify generated image content. r=bz,dholbert
This way we reuse the same machinery everywhere for the content property.

The only difference is that we need to look at the parent style for content
instead of just our style, and at a given index.

Again, this is fine because changing content reframes, so no chance to mess up.

This allows the generated content stuff to not implement nsImageLoadingContent
and all that stuff, nor deal with events, which makes it much simpler IMO.

Now it just tracks an index. We may not even need for it to be an HTML element,
but I've kept that for now.

I added a crashtest that used to crash because of the bogus
nsCSSFrameConstructor code which trusted the node name without checking it was
native anonymous.

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

MozReview-Commit-ID: 1pAzIvRRVnL
2018-07-16 18:06:38 +02:00
shindli ba72001f71 Backed out 2 changesets (bug 1473813, bug 1472403) for bustages in /builds/worker/workspace/build/src/dom/base/MessageSender.cpp:24:19 on a CLOSED TREE
Backed out changeset 93e4dff7e346 (bug 1473813)
Backed out changeset 365a0841117a (bug 1472403)
2018-07-16 18:45:33 +03:00
Emilio Cobos Álvarez 7d861904c9 Bug 1473813: Don't make pseudo-elements replaced by content: url(..). r=bz
Differential Revision: https://phabricator.services.mozilla.com/D1996
2018-07-16 17:30:15 +02:00
Emilio Cobos Álvarez 966f1a9206 Bug 1472403: Simplify generated image content. r=bz,dholbert
This way we reuse the same machinery everywhere for the content property.

The only difference is that we need to look at the parent style for content
instead of just our style, and at a given index.

Again, this is fine because changing content reframes, so no chance to mess up.

This allows the generated content stuff to not implement nsImageLoadingContent
and all that stuff, nor deal with events, which makes it much simpler IMO.

Now it just tracks an index. We may not even need for it to be an HTML element,
but I've kept that for now.

I added a crashtest that used to crash because of the bogus
nsCSSFrameConstructor code which trusted the node name without checking it was
native anonymous.

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

MozReview-Commit-ID: 1pAzIvRRVnL
2018-07-16 17:30:14 +02:00
Nazım Can Altınova dc5644dbb4 Bug 1414345 - Part 2: Add AutoProfilerLabels for all Frame Construction paths r=mstange
MozReview-Commit-ID: 4n65jAonwmA

--HG--
extra : rebase_source : 955b70ecfb7d3ee3be2083ee440fb3f6a1ddb751
2018-07-26 16:31:54 +02:00
Nazım Can Altınova 3fd33618c3 Bug 1414345 - Part 1: Add 'Frame Construction' markers to all frame construction paths r=mstange
MozReview-Commit-ID: 4s9MGljBqPp

--HG--
extra : rebase_source : 2db17b43259a163fa2d67c0a2a7da1edf546dc98
2018-07-26 16:17:17 +02:00
Xidorn Quan ddfe10946a Bug 1478225 - Always propagate repaint change hint from html/body element to viewport frame. r=heycam
Generally there isn't really much difference for painting on html/body
element vs. viewport, so it's probably not worth finer grained control
over when we should propagate and when not.

MozReview-Commit-ID: HK7DsQdz41D

--HG--
extra : rebase_source : 444277648b9b5ee9bc9d14f549b42f4147afbeb3
2018-07-26 15:37:10 +10:00
Daniel Holbert 76f667e72e Bug 1462983: Check for redundant "loaded" messages from opened window, in test_bug607529.html. r=bz
Such messages happen intermittently on Android, presumably from bfcache being
purged due to memory pressure (which would then cause the back() operation
behave like a fresh load).  So on Android, we'll now treat these redundant
messages as a "todo()" failure, to indicate that something went wrong but avoid
turning the testsuite orange.

MozReview-Commit-ID: GkaxB06vL7q

--HG--
extra : rebase_source : 64c0c0a41452d573062774b2300a26aad179b309
2018-07-13 08:38:52 -07:00
Hiroyuki Ikezoe 9f85c749a3 Bug 1475769 - Bail out from nsRefreshDriver::Tick before updating mMostRecentRefresh when the refresh driver is waiting for paint. r=mattwoodrow
Before this patch, there is a race condition that the refresh driver updates
the most recent refresh time but animations corresponding to the refresh driver
don't update their internal state, that causes the inconsistency that such
animations are regarded as finished on the most recent time whereas their
internal states represent the animations are still in active.  This is the one
of the cause of bug 1466010, i.e. the display item corresponding to the
animation is going to be rebuilt without calling MarkNeedsDisplayItemRebuild.

MozReview-Commit-ID: 9adzDV9E3ka

--HG--
extra : rebase_source : 7120e9f462309d1c4efe995ef64aeead9e29ff8f
2018-07-15 20:19:29 +09:00
Andreea Pavel 10d4df5aa9 Backed out 3 changesets (bug 1459937) for failing crashtest with Assertion failure: (IndexInFlow(aOldParent) < IndexInFlow(aNewParent)) on a CLOSED TREE
Backed out changeset 2cff5c67d000 (bug 1459937)
Backed out changeset fb3fba19e615 (bug 1459937)
Backed out changeset bd4bd8ac335c (bug 1459937)
2018-07-15 10:06:23 +03:00
Gerald Squelart 51058bcdb8 Bug 1459937 - Mark pulled lines (from n-i-f or overflow) dirty - r=dbaron
Lines pulled from next-in-flow or overflow frames have probably not been marked
dirty (as ReflowInput hasn't dealt with them when it was constructed), so we
need to mark them dirty for proper reflow.

If we don't do that, and they don't fit in the current column, the next column
will only mark its current children dirty, so when pulling back its first lines
from the previous column they will not be reflowed as needed, which causes this
bug.

MozReview-Commit-ID: 8GFO1ZWuZ1b

--HG--
extra : rebase_source : 0198b291a1b50441188e050dd5bcb2c06694df81
2018-07-09 11:42:47 +10:00
Ting-Yu Lin 5f1b665033 Bug 1286882 - Make SVG basic shape elements unselectable. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D2038

--HG--
extra : moz-landing-system : lando
2018-07-13 18:01:48 +00:00
Mike Conley 8fa1ee6473 Bug 1471107 - Get rid of assertion and handle the already-unsuppressed displayport case in PresShell. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D2130

--HG--
extra : moz-landing-system : lando
2018-07-13 17:31:00 +00:00