Commit Graph

5245 Commits

Author SHA1 Message Date
Mats Palmgren
1382cb18d9 (no bug) - Add missing #include. r=me 2018-11-04 19:30:37 +01:00
Ryan Hunt
2226bcc8a3 Bug 1504220 - Move ScrollableLayerGuid, ViewID, ZoomConstraints from FrameMetrics.h r=botond
This commit attempts to lower the pain of modifying FrameMetrics.h.

It looks like most includes really only want ViewID or
ScrollableLayerGuid, so this commit factors them out into a separate
header. In the process FrameMetrics::ViewID is changed to
ScrollableLayerGuid::ViewID, which personally seems like a better
place for it now that we have RepaintRequest. Unfortunately that
requires a lot of places to be updated.

After this commit there are still a couple of major places that
FrameMetrics is included.
 * nsDisplayList.h
 * nsIScrollableFrame.h
 * Layers.h

Those are going to be more tricky or impossible to fix so they're
not in this commit.

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

--HG--
rename : gfx/layers/FrameMetrics.h => gfx/layers/ScrollableLayerGuid.h
rename : gfx/layers/FrameMetrics.h => gfx/layers/ZoomConstraints.h
extra : rebase_source : 29ac79f91460a181bf7437af5c371207e22858e2
extra : source : c2e70e531075493fc6e374dcec862827f0bc6e77
2018-11-01 15:15:46 -05:00
Andrew Osmond
016a11ff73 Bug 1428558 - Part 7. Suppress display list regeneration for animated image updates. r=nical
This patch allows us to intercept invalidation requests for display
items, and avoid regenerating the display list for animated images which
are using SharedSurfacesAnimation.

Differential Revision: https://phabricator.services.mozilla.com/D7504
2018-11-02 09:09:52 -04:00
Gabriele Svelto
266ef73c96 Bug 1503207 - Remove nsWeakPtr.h and cleanup all files including weak reference-related headers r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D10251

--HG--
extra : moz-landing-system : lando
2018-10-31 20:39:03 +00:00
Andrew Osmond
4590e9df52 Bug 1466707 - Ensure that animated images always honour the animated image mode. r=tnikkel
Animated images inside of SVGs and used in XUL frames did not get the
configured animation image mode from the pres context.

Differential Revision: https://phabricator.services.mozilla.com/D8586
2018-10-16 08:50:44 -04:00
Sylvestre Ledru
dd5741407b Bug 1498586 - Add clang-format off to avoid the reformatting of the data structures r=Ehsan
Too hard/impossible for the tool to format correctly these structs

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

--HG--
extra : moz-landing-system : lando
2018-10-12 20:48:24 +00:00
Eric Rahm
1e8a885cdc Bug 1382428 - Disable browser_bug703210.js on linux. r=jmaher
--HG--
extra : rebase_source : 97fd8fc4a79cc96d3d0a35a79d4331eca151933f
2018-10-10 10:49:01 -07:00
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
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
7398ecce66 Bug 1449787 - Make static atom pointers constexpr. r=froydnj,emilio
This saves one word per static atom, per process.

The `nsGkAtoms` change is only a small part of this commit.

In regen_atoms.py:

- There is now only one link name per platform: nsGkAtoms::sAtoms[].

- But there is a new constant per atom, giving the index into
  nsGkAtoms::sAtoms[].

- And the `atom!` macro for each atom indexes into nsGkAtoms::sAtoms[] using
  the index constant.

- A couple of `*mut` pointers are now `*const`.

Elsewhere, the `(nsStaticAtom*)` casts within the `AppendElement()` calls are
necessary to avoid link errors, presumably due to some template instantiation
wrinkle.

--HG--
extra : rebase_source : 629642e708c8bc6e27d6057beae5f35955fdd837
2018-10-04 09:16:11 +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
Tim Nguyen
ffdd467173 Bug 1491688 - Introduce ::-moz-tree-row(blur) selector. r=emilio 2018-10-03 08:55:43 +02:00
Boris Zbarsky
891631d98c Bug 1494524. Stop using the same function for both webidl and xpidl selectionChanged on treeviews. r=mccr8 2018-09-27 13:46:25 -04:00
Daniel Holbert
f856cbfbc1 Bug 1494426 part 2: Use ReflowInput::ComputedSize() convenience method in a few more places. r=TYLin
This patch isn't expected to change behavior; it's just some simplification.

Depends on D6976

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

--HG--
extra : moz-landing-system : lando
2018-09-26 21:44:18 +00:00
Ehsan Akhgari
8d7c2999dc Bug 1491594 - Remove the XPCOM registration for the native theme renderer r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D6275

--HG--
extra : moz-landing-system : lando
2018-09-20 01:20:55 +00:00
Emma Malysz
696ceb303f Bug 1465219, use XULMenuElement, a subclass of nsXULElement, instead of MenuBoxObject for menu and menulist elements, r=paolo,bz
MozReview-Commit-ID: 5253hAlxbhw

--HG--
rename : dom/webidl/MenuBoxObject.webidl => dom/chrome-webidl/XULMenuElement.webidl
rename : layout/xul/MenuBoxObject.cpp => dom/xul/XULMenuElement.cpp
rename : layout/xul/MenuBoxObject.h => dom/xul/XULMenuElement.h
2018-07-31 12:30:17 -07:00
Ehsan Akhgari
77ce9e051f Backout changeset b4f8cb6afab6 (bug 1491594) for talos performance regressions 2018-09-18 18:33:56 -04:00
Alexander Surkov
28ba2a831a Bug 1488620 - get rid of nsIDOMXULLabelElement, r=smaug 2018-09-17 15:30:57 +08:00
Ehsan Akhgari
7c90f6f4f5 Bug 1491594 - Remove the XPCOM registration for the native theme renderer; r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D5961
2018-09-16 13:51:21 -04:00
Noemi Erli
c2716211ca Merge inbound to mozilla-central. a=merge 2018-09-14 06:31:31 +03:00
Andrew Osmond
29af4ed6a2 Bug 1446309 - Part 3. Properly handle ImgDrawResult for WebRender display list generation. r=tnikkel
When generating display lists for WebRender, we were not caching the
draw result via nsDisplayItemGenericImageGeometry::UpdateDrawResult (or
similar) after completing CreateWebRenderCommands. This is important
because reftests use this to force sync decoding for images; it may be a
reason for image-related intermittent failures on *-qr builds.

Additionally, we may have been requesting fallback in cases where fallback
could not do anything more than WebRender could. For example, if we can't
get an image container yet, there is no point in requesting fallback
because it might just be we haven't started decoding yet. We should just
return the actual draw result in such cases.
2018-09-13 19:48:27 -04:00
Andrew Osmond
e9f7db43b8 Bug 1446309 - Part 1. Return draw result from imgIContainer::GetImageContainerAtSize. r=tnikkel
In addition to the image container, the draw result can also be useful
for callers to know whether or not the surface(s) in the container are
fully decoded or not. This is used in subsequent parts to avoid
flickering in some cases.
2018-09-13 19:48:21 -04:00
Andrew McCreight
c7b30c67ec Bug 1489690, part 3 - De-COM the XUL sort service r=bzbarsky
There's only one method that is used, and we never need to create any
instances of the object, so turn it into a single method.

Depends on D5592

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

--HG--
extra : moz-landing-system : lando
2018-09-13 18:37:48 +00:00
Andrew McCreight
4a93f15458 Bug 1489690, part 1 - Remove the registration for the sort service r=bzbarsky
This is only used in a single place, so having a service for it is overkill.

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

--HG--
extra : moz-landing-system : lando
2018-09-13 18:37:44 +00:00
Zhang Junzhi
e081858ecc Bug 1490611 - physical to logical name refactor: DISPLAY_*_WIDTH to DISPLAY_*_INLINE_SIZE(as well as the relevant struct in the macro contents) r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D5657

--HG--
extra : moz-landing-system : lando
2018-09-12 12:35:47 +00:00
Brendan Dahl
2709c0bf92 Bug 1489612 - Fix XUL tooltips in HTML documents. r=smaug
A XUL element within an HTML document should still follow the normal code
path for finding the tooltip element instead of always using the default
tooltip.

MozReview-Commit-ID: IBAmk1m4Zp0

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

--HG--
extra : moz-landing-system : lando
2018-09-08 23:16:32 +00:00
Andrew McCreight
a5868c8235 Bug 1489617 - Get rid of XUL box related component registrations. r=Ehsan
Plus various boilerplate that is only used for the component registration.

Depends on D5289

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

--HG--
extra : moz-landing-system : lando
2018-09-09 15:05:18 +00:00
Daniel Varga
1539df295b Merge mozilla-inbound to mozilla-central a=merge 2018-09-08 06:53:43 +03: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
Henrik Winnemöller
be01b218cc Bug 1488555 - Use ImageRendering property to provide proper filtering support for AsyncImage. r=nical
Introduce an ImageRendering argument for CreateImageKey which is then used at the CreateAsyncImageWebRenderCommands call to provide the proper filtering instead of using always Auto filtering. Update all calls to CreateImageKey to use the new interface.
2018-09-07 22:28:41 +02:00
Zhang Junzhi
7a64d2f663 Bug 1490611 - physical to logical name refactor: DISPLAY_*_WIDTH to DISPLAY_*_INLINE_SIZE(as well as the relevant struct in the macro contents) r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D5657

--HG--
extra : rebase_source : af0fc623d0b5d5e575bb03b08576709512bac4f3
2018-09-12 12:35:47 +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
Botond Ballo
08a635ccc8 Bug 1482825 - Only prevent dispatching mouse-move events targeted at a slider frame to web content, if the scrollbar is being dragged. r=smaug
Otherwise, if the mouse is just moving over the scrollbar, mouse-move
events are dispatched to web content.

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

--HG--
extra : moz-landing-system : lando
2018-09-01 15:00:31 +00:00
Neil Deakin
1539c35e73 Bug 1442010, check if the frame has been destroyed before calling UpdateFollowAnchor, r=tn 2018-08-31 10:12:17 -04:00
Alexis Beingessner
ea7bc06418 Bug 1453953 - natively implement xul textboxes. r=mstange 2018-08-30 18:39:22 -04:00
Andrew Osmond
740299988c Bug 1487120 - Invalidate nsImageBoxFrame properly for WebRender. r=jrmuizel
When the frame updates for an animated image, it will trigger
nsImageBoxFrame::OnFrameUpdate to be called. We did not change this for
WebRender, and thus it was missing similar checks added to
nsImageFrame::InvalidateSelf as originally added in bug 1382985. This
caused us to ignore the frame update, and thus the animation never
appeared to progress.
2018-08-30 14:51:27 -04:00
Narcis Beleuzu
05d91d3e02 Merge inbound to mozilla-central. a=merge 2018-08-30 19:58:52 +03:00
Rob Wu
5fec51b0d0 Bug 1484914 - Never append duplicate access key hints r=bzbarsky
On macOS, access keys are not visually observable.

On Linux and Windows, access keys are underlined.
Moreover, if intl.menuitems.alwaysappendaccesskeys is set, the access
key is always appended as "(X)", optionally preceded by a space, where X
is the uppercased version of the access key.

This commit updates the logic to not append a new "(X)" if this expected
suffix is already present at the end of the label.

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

--HG--
extra : moz-landing-system : lando
2018-08-29 22:00:32 +00: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
Paolo Amadini
bfef02108d Bug 1457216 - Remove support for editable menulists. r=surkov,bgrins
Differential Revision: https://phabricator.services.mozilla.com/D4306

--HG--
extra : rebase_source : e8b4946c8f657e2283bc96cb08de802493e3a826
2018-08-24 15:44:38 +01: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
Xidorn Quan
9daee9a3a5 Bug 1464723 - Implement custom scrollbar support for GTK widget. r=karlt,dholbert
When any scrollbar color is specified, or scrollbar-width is thin, we
switch to use the fallback rendering.

The change to xulscrollbars.css is for ensuring that the scrollbar is
displayed for scrollbar-width: thin when there is no scrollbar color
specified. It wouldn't affect cases where -moz-appearance takes effect.

This also changes the fallback width of the scrollbars. Since the two
widths was picked rather randomly, I think it should be fine to change
it if a value looks better than the old one, especially on Linux which
is the main usecase for this fallback rendering.

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

--HG--
extra : moz-landing-system : lando
2018-08-24 07:40:07 +00:00
Xidorn Quan
495dc554b1 Bug 1469741 part 2 - Ensure scrollbar has a width even when it's not supported by the theme. r=dholbert
Depends on D3578

The 16px and 8px in this patch are chosen rather arbitrary. We used to have a minimum width of 16px for scrollbar, which comes from `scrollbarbutton` rule in `xulscrollbars.css`. But that rule got removed in https://hg.mozilla.org/mozilla-central/rev/76149510c0f0 as part of bug 1475033.

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

--HG--
extra : moz-landing-system : lando
2018-08-20 18:50:33 +00: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
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
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