Commit Graph

2700 Commits

Author SHA1 Message Date
Brindusan Cristian
02ad28a12b Backed out changeset a8975a4aebc0 (bug 1521893) for bc leasks on (nsIconLoaderObserver, nsIconLoaderService, nsTouchBarInputIcon). CLOSED TREE 2019-09-06 22:03:15 +03:00
harry
0be00626e6 Bug 1521893 - Part 2 - Support loading SVG icons on the Touch Bar through a new nsTouchBarInputIcon service class r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D34926

--HG--
extra : moz-landing-system : lando
2019-09-06 17:23:37 +00:00
harry
8595d331fd Bug 1573157 - Load notification center icons with dual representations. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D43275

--HG--
extra : moz-landing-system : lando
2019-09-04 18:33:13 +00:00
Timothy Nikkel
e0a79ba9f2 Bug 1578164. Use async notifications when requesting decode of an image in most places. r=aosmond
Most of things will likely be no real change because they ask for the exact frame they want immediately before.

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

--HG--
extra : moz-landing-system : lando
2019-09-03 15:36:23 +00:00
Markus Stange
df4663239c Bug 1578099 - Make CFTypeRefPtr usable as a key inside an unordered_map. r=mattwoodrow
Depends on D44323

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

--HG--
extra : moz-landing-system : lando
2019-09-01 21:38:42 +00:00
Dorel Luca
9690cb07dc Backed out changeset 3ab29c05ea2f (bug 1521893) build bustage in /builds/worker/workspace/build/src/widget/cocoa/nsTouchBarInputIcon.h. CLOSED TREE 2019-08-29 06:18:29 +03:00
harry
ff064cc7f3 Bug 1521893 - Part 2 - Support loading SVG icons on the Touch Bar through a new nsTouchBarInputIcon service class r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D34926

--HG--
extra : moz-landing-system : lando
2019-08-29 02:38:16 +00:00
Kristen Wright
cff2295408 Bug 1573992 - Convert ui.context_menus.after_mouseup to static pref. r=njn
Converts ui.context_menus.after_mouseup varcache pref to a static pref and removes its associated function.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 00:07:49 +00:00
Emilio Cobos Álvarez
9ac9ac89fe Bug 1576666 - Try to fix Mac bustage on a CLOSED TREE.
MANUAL PUSH: tree is red.
2019-08-27 01:38:47 +02:00
Markus Stange
337e804b70 Bug 1576391 - Override _titlebarHeight so that the window's NSTitlebarContainerView includes the full height of the window buttons even after we've shifted them down, and re-enable the floating titlebar. r=mattwoodrow
I've tried hard to find a solution for the clipped window button problem which
does not involve swizzling but could not find one.
The officially ratified ways of moving the window buttons are:
 1. Use an NSToolbar in your window, or
 2. Make a custom window with your own buttons.

I don't think having an NSToolbar is an option for us. And making our own window frame
implementation would be hard to get right and can easily behave differently from the
native implementation.
I've also tried asking the window to not render any window buttons on its own; then we
could make our own buttons and place them on top of our view. But if I change the
window's styleMask to be just NSTitledWindowMask, it doesn't only make the buttons
disappear, it also makes the window non-resizable. And if I include NSResizableWindowMask,
the buttons come back (only the zoom button is enabled, the other two are grayed out).

This change also stops overriding _wantsFloatingTitlebar when CoreAnimation is
enabled, which is necessary for the window buttons to render.

Depends on D43341

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

--HG--
extra : moz-landing-system : lando
2019-08-26 02:05:24 +00:00
Markus Stange
47f90a7414 Bug 1576391 - Use NSFullSizeContentViewWindowMask for ToolbarWindows. r=mattwoodrow
This gives us two behaviors for free which we were achieving through manual
overrides:
 - The content view is sized to cover the entire window frame.
 - The window controls are placed on top of the content view (instead of
   underneath it in z-order).

It also forces CoreAnimation layers for the window's entire NSView hierarchy, so
we only use it when the CoreAnimation pref is enabled.

NSFullSizeContentViewWindowMask is only available on 10.10 and up, but we still
support 10.9, so we cannot remove the code with the manual overrides just yet.

This change also requires a change to NonDraggableView in order to preserve
window dragging behavior in the titlebar: When NSFullSizeContentViewWindowMask
is used, the method which assembles the window's draggable region takes a
different path. It treats the titlebar specially, and traverses the NSView
hierarchy twice, once for the titlebar area and once for the rest of the window.
Outside the titlebar, it calls _opaqueRect on every visible NSView, but for the
titlebar area, it calls _opaqueRectForWindowMoveWhenInTitlebar instead.

Overriding _opaqueRectForWindowMoveWhenInTitlebar allows us to achieve the old
dragging behavior.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 02:03:56 +00:00
Markus Stange
5aaf080881 Bug 1576391 - Move some method overrides to ToolbarWindow. r=mattwoodrow
This makes them only apply in windows with titlebars, which is the only place
where they're needed. The setContentView override can even cause harm for other
windows, such as sheet windows, because it'll move the content view below a
full-window covering solid grey view provided by the system, in builds that
link against the 10.14 SDK and don't override _wantsFloatingTitlebar.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 02:04:09 +00:00
Markus Stange
e0e54098e9 Bug 1574592 - Move NativeLayer management out of nsChildView and into LayerManagerComposite and RendererOGL. r=mattwoodrow
It looks like a big patch but it's mostly just moved code, with some duplication:
 - Layer creation and destruction moves to LayerManagerComposite and RendererOGL.
 - BasicCompositor IOSurface setup code moves to BasicCompositor.cpp.
 - OpenGL IOSurface setup code moves to CompositorOGL and RenderCompositorOGL.

The duplication is a bit unfortunate but the LayerManagerComposite code will
diverge from the WebRender code soon.

BeginFrame gets a new argument aNativeLayer. This argument will go away again
over the course of this patch queue. But for now, BeginFrame is the best place
to do the layer setup because it's a very close place to PreRender which is
where that code was previously.

I wasn't able to think of a nice way to give CompositorOGL and BasicCompositor
platform-specific behavior without #ifdefs. So now LayerManagerComposite uses
the "cross-platform" NativeLayer interface, but CompositorOGL and
BasicCompositor use NativeLayerCA because they actually need the IOSurface, and
they do that in #ifdef'd code.
Luckily, NativeLayerCA.h can be included in both .cpp files and in .mm files.

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

--HG--
extra : moz-landing-system : lando
2019-08-25 17:43:42 +00:00
Markus Stange
c3d94ae29a Bug 1574592 - Add CompositorWidget::GetOpaqueWidgetRegion. r=mattwoodrow
This lets LayerManagerComposite and RendererOGL set the correct opaque region
on the native layer.

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

--HG--
extra : moz-landing-system : lando
2019-08-25 21:41:58 +00:00
Markus Stange
222be5a822 Bug 1574592 - Add CompositorWidget::GetNativeLayerRoot. r=mattwoodrow
This will give the layer manager direct access to the native layers.

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

--HG--
extra : moz-landing-system : lando
2019-08-25 17:10:52 +00:00
Markus Stange
2acd3fcf86 Bug 1576113 - Add a comment.
MANUAL PUSH: Backout and comment change that don't require a review and are somewhat time-critical: the backout fixes breakage in some local build scenarios.

--HG--
extra : rebase_source : 5230000ce88395794c272f0133e09979c70d526d
extra : amend_source : df014e518d27480c5b149acb8acaa0433565d483
2019-08-24 13:45:07 -04:00
Markus Stange
cb2f3a3c58 Bug 1576113 - Back out revision 2a82b5ce10e2 because it causes trouble when building with the 10.14 SDK.
The source of the trouble is our setContents override, which makes sure the window's
content view is the bottommost view in the window, and its interaction with a change
in behavior on 10.14, where windows that return YES from _wantsFloatingTitlebar will
contain an additional NSView for the window background. Our setContents override
moves the content view behind that window background view, which covers it with a
solid gray color.

--HG--
extra : amend_source : cd11d5c805de7054c3dfa3a1d5ae0f504f07116d
2019-08-24 13:50:57 -04:00
Markus Stange
4e76f83888 Bug 1575419 - Don't allow triggering another main thread paint from within a main thread paint. r=mattwoodrow
This also moves the MaybeScheduleUnsuspendAsyncCATransactions() call to the end
of HandleMainThreadCATransaction() so that we can't get re-suspended from within
WillPaintWindow().

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

--HG--
extra : moz-landing-system : lando
2019-08-21 02:30:32 +00:00
Markus Stange
a18d35ca15 Bug 1491448 - Set the appropriate opaque region on the native layer. r=mattwoodrow
This can be verified by starting Firefox with the environment variables
CA_LAYER_SURFACE=0 CA_COLOR_OPAQUE=1
Transparent parts of the window will be red, and opaque parts will be green.

With this patch, the main browser window will be opaque except for the vibrant
areas, i.e. the tab bar and any open sidebars, which will be transparent.
Full screen video will be opaque.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 22:55:09 +00:00
Markus Stange
e65a6a7df9 Bug 1491448 - Maintain an internal opaque region in nsChildView that can be accessed from any thread. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D40554

--HG--
extra : moz-landing-system : lando
2019-08-19 22:55:47 +00:00
Sebastian Hengst
0195ac9406 Merge mozilla-central to autoland 2019-08-16 19:05:43 +02:00
Markus Stange
87683af326 Bug 1574521 - Make sure updateLayer is only called when the CoreAnimation pref is set. r=jrmuizel a=Aryx
updateLayer expects some objects to be non-null which are only initialized when the pref is set.
But in builds that were compiled with the 10.14 SDK, all NSViews are layer-backed by default, so
wantspdateLayer gets called, and returning YES from that unconditionally will cause updateLayer
to be called.

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

--HG--
extra : amend_source : a7a1f7ecba9418e3bf5464bca90ba655002bc637
2019-08-16 18:53:44 +02:00
Markus Stange
92ccc6d8f0 Bug 1154013 - When the vibrant region of a window changes, composite synchronously so that the window contents and the vibrancy update atomically. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D40556

--HG--
extra : moz-landing-system : lando
2019-08-16 14:01:13 +00:00
Markus Stange
5af2fd32c9 Bug 1491442 - Call SuspendAsyncCATransactions on window focus changes. r=mattwoodrow
Without this, in windows with title bars, such as the bookmark library window,
the title bar and the content would update at different times.

The title bar paint is done as part of a main thread CoreAnimation transaction.
However, by default, we don't get notified of all main thread CA transactions;
our only notification mechanism is the updateLayer handler on the PixelHostingView,
and that handler is only invoked (the layer is only displayed) if the layer has
been marked as needing display. And by default, window focus changes do not mark
random views' backing layers as needing display. Usually, what this means is that
the window will be painted twice: Once in the main thread transaction, and then
another time on the compositor thread once Gecko has noticed a state change and
triggered its own composite in response. (Often, Gecko's compositor-side paint
will actually happen *before* the main thread paint, because the main thread is
often busy with repainting the system menu bar during window focus changes.)
Such non-atomic window repaints look glitchy.
Calling SuspendAsyncCATransactions will result in a call to updateLayer in the
upcoming CoreAnimation transaction and lets us update the entire window in one
atomic paint, and it will avoid updating the window early if the compositor
thread gets ahead of the main thread.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 01:15:34 +00:00
Markus Stange
01138923a6 Bug 1491442 - Disable window overlay drawing in the CoreAnimation path. r=mattwoodrow
Window overlay drawing was added as a workaround for the following:
When our NSOpenGLContext covered the entire window, it would cover the titlebar
contents and hide the window buttons and the title string. It would also not
get anti-aliased rounded corner clipping.

In windows that use CoreAnimation layers for the window frame, this is no longer
a problem, because the CoreAnimation layer tree takes care of these effects:
It applies rounded corner clipping to the window content layers, it puts the
window buttons on top, and it also puts the title string on top if it is shown.

So when we're using CoreAnimation, the existing code needs to be deactivated,
otherwise we'd draw those things twice.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 01:15:10 +00:00
Markus Stange
20f0865033 Bug 1491442 - Make sure to never trigger async CA transactions when the main thread might be resizing a window. r=mattwoodrow
This avoids most window resizing glitches.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 01:14:47 +00:00
Markus Stange
8b77e79501 Bug 1491442 - Support BasicCompositor OMTC rendering in the CoreAnimation path. r=mattwoodrow
Now CoreAnimation supports all rendering paths.
The BasicCompositor OMTC path is used when hardware acceleration is disabled,
for example in safe mode or when the user manually disabled it.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 01:14:22 +00:00
Markus Stange
4172e5ea96 Bug 1491442 - Render accelerated windows into mContentLayer, using OMTC. r=mattwoodrow
This makes windows that render using CompositorOGL or WebRender show content.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 01:13:52 +00:00
Markus Stange
2921208661 Bug 1491442 - Make nsChildView create a NativeLayerRootCA and fill it with content when painting using BasicLayers (which used to go through drawRect). r=mattwoodrow
This makes context menus work. Regular windows are still blank at this point.

This introduces a visual regression on 10.9: context menus and panels now no
longer have a shadow. Only 10.10 and above support shadows on transparent windows
that use CoreAnimation; 10.9 is not able to obtain the shadow shape on those
types of windows.
I think this is an acceptable regression to take. We want to use CoreAnimation
for all window types because it simplifies the code (no need to handle two
paths) and because it avoids expensive mode switches if we realize too late
that a window we just opened is supposed to use CoreAnimation.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 01:13:35 +00:00
Markus Stange
85cbfc2652 Bug 1491442 - When gfx.core-animation.enabled is true, use CoreAnimation for all windows and create an empty layer. r=mattwoodrow
This makes mPixelHostingView layer-backed, and that layer will be empty.
This patch also causes all windows (including context menus, tooltips, arrow
panels etc.) to use CoreAnimation layers for the window frame. This is achieved
by calling setWantsLayer:YES on every window's content view.

After this changeset, all windows will still be empty.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 01:13:19 +00:00
Markus Stange
ca605e7b30 Bug 1491442 - Disable all non-CoreAnimation rendering paths when gfx.core-animation.enabled is set. r=mattwoodrow
This patch leaves you with empty windows everywhere. We will build the new
rendering paths from the ground up in the upcoming patches.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 01:12:18 +00:00
Markus Stange
31bde5f08e Bug 1491442 - If CoreAnimation is enabled, don't clip the TitlebarGradientView to rounded corners, and don't draw the title string on top of it. r=mattwoodrow
Unlike what the old comment in its drawRect method says, this isn't actually
dependent on the NSFullSizeContentViewWindowMask. Any window that uses
CoreAnimation layers for its window frame will apply these effects automatically.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 01:11:51 +00:00
Markus Stange
5b5486dc0c Bug 1491442 - Remove -[ChildView isUsingOpenGL] and use mUsingOMTCompositor instead. r=mattwoodrow
We always use OMTC when using OpenGL. We also currently always use OpenGL when using OMTC, but that's about to change.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 01:11:27 +00:00
Markus Stange
2e790720bb Bug 1491442 - Add some documentation to mPixelHostingView. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D38750

--HG--
extra : moz-landing-system : lando
2019-08-16 01:11:03 +00:00
Markus Stange
1800bceb3c Bug 1491442 - Fix comments that talk about BasicLayers but intend to say BasicCompositor. r=mattwoodrow
BasicLayers is main thread drawing. BasicCompositor is compositor-thread drawing.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 01:10:40 +00:00
Markus Stange
2935e2eca6 Bug 1491442 - Fix up and document mNeedsGLUpdate locking semantics, and remove a stray semicolon. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D38748

--HG--
extra : moz-landing-system : lando
2019-08-16 01:10:11 +00:00
Sylvestre Ledru
645f2d5773 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-08-13 07:15:25 +00:00
harry
2413c70932 Bug 1465403 - Support loading icons @2x in macOS menu bars. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D41391

--HG--
extra : moz-landing-system : lando
2019-08-12 13:53:38 +00:00
Dzmitry Malyshau
005edf80aa Bug 1570736 - Force disable WR swizzling on Intel 4000 on Mac r=aosmond
Investigation showed that on this platform the texture unit state becomes
corrupted whenever we set the non-identity swizzling (getting garbage from textureSize()).
Given no easy workaround, we disable swizzling for this GPU family on Mac, for now.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 18:57:35 +00:00
harry
878ff4c77b Bug 1568862 - Resolve dangling pointer and faulty error logic in macOS icon loaders. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D39782

--HG--
extra : moz-landing-system : lando
2019-07-31 16:49:45 +00:00
Haik Aftandilian
14a6956635 Bug 1563994 - [10.15] Right Click When Not Focused Presents "Keystroke Receiving" Access Grant Request Dialog r=mstange
Use addGlobalMonitorForEventsMatchingMask instead of CGEventTapCreate to monitor for mouse clicks outside of the application while context menus are displayed.

Using addGlobalMonitorForEventsMatchingMask prevents the display of the privacy "Keystroke Receiving" dialog when listening for mouse clicks.

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

--HG--
extra : moz-landing-system : lando
2019-07-31 01:03:49 +00:00
Sebastian Hengst
14f4125565 Backed out changeset 4aead1eca8c6 (bug 1521893) to fix crashes (bug 1568862)
--HG--
extra : rebase_source : 55caf819b464734c29515f81eca41a6cbba4d5b4
2019-07-29 17:11:19 +02:00
Nicholas Nethercote
18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Thomas Nguyen
db9e147a01 Bug 1566411 Use ReferrerInfo class in imgLoader.idl r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D38177

--HG--
extra : moz-landing-system : lando
2019-07-25 08:23:32 +00:00
harry
aa07dd7b93 Bug 1521893 - Part 2 - Support loading SVG icons on the Touch Bar through a new nsTouchBarInputIcon service class r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D34926

--HG--
extra : moz-landing-system : lando
2019-07-24 13:03:49 +00:00
Ciure Andrei
c2592a1c3b Backed out changeset 6bad91b2f198 (bug 1521893) for causing browser_touchbar_tests.js to permafail CLOSED TREE 2019-07-23 05:11:00 +03:00
Mike Hommey
ef8e3d8dd2 Bug 1564216 - Fix warnings in nsCocoaUtils.mm with 10.14 SDK. r=mstange
While there, transform the MOZ_ASSERTs into static_asserts, so that
discrepancies are caught at build time rather than runtime.

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

--HG--
extra : moz-landing-system : lando
2019-07-18 22:42:59 +00:00
harry
e5cfc44574 Bug 1521893 - Part 2 - Support loading SVG icons on the Touch Bar through a new nsTouchBarInputIcon service class r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D34926

--HG--
extra : moz-landing-system : lando
2019-07-22 18:23:34 +00:00
Nicholas Nethercote
7974362afd Bug 1567329 - Append _AtStartup to once static pref getters. r=erahm
Currently it's completely unclear at use sites that the getters for `once`
static prefs return the pref value from startup, rather than the current pref
value. (Bugs have been caused by this.) This commit improves things by changing
the getter name to make it clear that the pref value obtained is from startup.

This required changing things within libpref so it distinguishes between the
"base id" (`foo_bar`) and the "full id" (`foo_bar` or
`foo_bar_DoNotUseDirectly` or `foo_bar_AtStartup` or
`foo_bar_AtStartup_DoNotUseDirectly`; the name used depends on the `mirror` and
`do_not_use_directly` values in the YAML definition.) The "full id" is used in
most places, while the "base id" is used for the `GetPrefName_*` and
`GetPrefDefault_*` functions.

(This is a nice demonstration of the benefits of the YAML file, BTW. Making
this change with the old code would have involved adding an entry to every
single pref in StaticPrefList.h.)

The patch also rejigs the comment at the top of StaticPrefList.yaml, to clarify
some things.

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

--HG--
extra : moz-landing-system : lando
2019-07-22 02:10:14 +00:00
harry
6b990275d7 Bug 1567517 - Restore camera and mic indicators in the macOS menubar. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D38745

--HG--
extra : moz-landing-system : lando
2019-07-19 22:08:41 +00:00
Xidorn Quan
6aee66b8fb Bug 1403085 - Add a pref to use native full screen for Fullscreen API on macOS. r=spohl,dao
Differential Revision: https://phabricator.services.mozilla.com/D37151

--HG--
extra : moz-landing-system : lando
2019-07-17 13:31:41 +00:00
Markus Stange
6eda849f2d Bug 1565668 - Make BasicCompositor PreRender/PostRender handling more consistent with CompositorOGL / WebRender. r=mattwoodrow
This was the order of calls for CompositorOGL+WebRender before this patch:
 - PreRender, calls [mView preRender:]
 - [compositing happens]
 - PostRender, calls [mView postRender:]

And this was the order of calls for BasicCompositor before this patch:
 - PreRender, ignored
 - StartRemoteDrawing(InRegion)
 - [software compositing happens]
 - EndRemoteDrawing, calls [mView preRender:], does a GL composition, then calls [mView postRender:]
 - PostRender, ignored

After this patch, all paths call [mView preRender:] and [mView postRender:] from
PreRender and PostRender.
This changeset also makes it so that we can't tear down the ChildView while
BasicCompositor compositing is happening.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 20:47:16 +00:00
Markus Stange
a49d1d1622 Bug 1565668 - Do not override _wantsFloatingTitlebar when using CoreAnimation. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D26410

--HG--
extra : moz-landing-system : lando
2019-07-17 20:46:51 +00:00
Markus Stange
b34e2b7e1e Bug 1565668 - Add CFTypeRefPtr which is a RefPtr-style smart pointer for CFTypeRef types. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D30402

--HG--
extra : moz-landing-system : lando
2019-07-17 20:46:04 +00:00
Markus Stange
93ba33db74 Bug 1565668 - Persist wantsTitleDrawn window property across HideWindowChrome (full screen mode). r=spohl
This is an existing problem: Whenever you enter DOM fullscreen mode on a
window that has drawsContentsIntoWindowFrame == YES, we drop the information
about whether the title should be shown in the titlebar on top of Gecko's
drawing. Then, when you leave DOM fullscreen again, the freshly-created
ToolbarWindow will have mDrawTitle and titleVisibility set to their default
values: mDrawTitle defaults to NO and titleVisibility defaults to
NSWindowTitleVisible.
The title can be drawn in two different modes:
 - If the ChildView is covering the titlebar and drawing it in its OpenGL
   context, the ChildView handles the drawing of the title text. That drawing
   code respects the window's mDrawTitle field, and ignores titleVisibility.
 - If Cocoa is drawing the titlebar, it respects the titleVisibility property.
At the moment, Cocoa's drawing is never visible, because it is covered up by
the ChildView's OpenGL context. As a consequence, the extraneous title is never
actually visible on the screen and the bug doesn't actually cause a visible
glitch.
Once we use CoreAnimation, Cocoa's drawing will become visible, and the wrong
value of the titleVisibility property would become apparent.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 20:44:32 +00:00
harry
fe8800dbaa Bug 1566086 - Add error message if touchBarAction crash is encountered. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D38116

--HG--
extra : moz-landing-system : lando
2019-07-16 15:13:22 +00:00
Brendan Dahl
28dcf95b41 Bug 1557371 - Part 2 - Load all XUL crashtests with chrome privilege. r=dbaron
386947-1.xul, now has one assertion since we take a different code
path with chrome URL's and XBL files. The assertion is triggered since the
binding is invalid.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 19:40:42 +00:00
harry
3d6d3a153b Bug 1521893 - Part 1 - Split off nsMenuItemIconX image loading into a new utility class, nsIconLoaderService, and be its first consumer. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D34018

--HG--
extra : moz-landing-system : lando
2019-07-10 01:23:45 +00:00
harry
f56a5c0ec4 Bug 1522012 - Implement Touch Bar's native customization window and remove ui.touchbar.layout preference. r=spohl,mikedeboer,fluent-reviewers,Pike
This patch also fixes the Home and Sidebar Touch Bar buttons, since using them after customizing showed that they no longer worked.

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

--HG--
extra : moz-landing-system : lando
2019-07-06 21:10:33 +00:00
Mihai Alexandru Michis
421a5483d0 Backed out changeset 3e2fe70b181a (bug 1522012) for causing failures in browser_touchbar_tests.js CLOSED TREE 2019-07-04 18:47:07 +03:00
harry
d1e552113e Bug 1522012 - Implement Touch Bar's native customization window and remove ui.touchbar.layout preference. r=spohl,mikedeboer,fluent-reviewers,Pike
This patch also fixes the Home and Sidebar Touch Bar buttons, since using them after customizing showed that they no longer worked.

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

--HG--
extra : moz-landing-system : lando
2019-07-04 03:57:47 +00:00
Andreea Pavel
4332741c0a Backed out changeset c1b80824ae88 (bug 1522012) for failing bc at browser_touchbar_tests.j on a CLOSED TREE 2019-07-03 00:19:25 +03:00
harry
d33a170707 Bug 1522012 - Implement Touch Bar's native customization window and remove ui.touchbar.layout preference. r=spohl,mikedeboer,fluent-reviewers,Pike
This patch also fixes the Home and Sidebar Touch Bar buttons, since using them after customizing showed that they no longer worked.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 14:47:07 +00:00
shindli
67c134b492 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-06-29 02:23:28 +03:00
Markus Stange
623980df4b Bug 1562032 - Use NSDockTile to implement the dock download progress bar. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D36244

--HG--
extra : moz-landing-system : lando
2019-06-28 14:17:47 +00:00
Markus Stange
5f8ce768ac Bug 1562048 - Draw the fallback drag image using a different API. r=spohl
This also fixes a leak - the return value is expected to be autoreleased.

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

--HG--
extra : moz-landing-system : lando
2019-06-28 13:44:15 +00:00
Coroiu Cristina
f91bd38732 Merge inbound to mozilla-central a=merge 2019-06-27 12:36:00 +03:00
Nicholas Nethercote
ca8e78069d Bug 1561491 - Make gfx.* static prefs follow the naming convention. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D35975

--HG--
extra : rebase_source : 9090ac828f1da9582510975047d5ad59a228dda5
2019-06-26 10:38:09 +10:00
Nicholas Nethercote
faccca25c4 Bug 1561491 - Make general.* static prefs follow the naming convention. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D35974

--HG--
extra : rebase_source : 9a458b930592cd794eae8557553421b0b6e6d66b
2019-06-25 17:07:57 +10:00
Markus Stange
b7d0b6adf0 Bug 1561756 - Convert the NSImage into an NSBitmapImageRep without using lockFocus. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D36124

--HG--
extra : moz-landing-system : lando
2019-06-26 22:42:39 +00:00
Nicholas Nethercote
9f0b35cc2a Bug 1560837 - Make APZ static prefs follow the naming convention. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D35633

--HG--
extra : rebase_source : e71193756486b148d479e90b324f73dc35756429
2019-06-24 13:57:06 +10:00
Tarek Ziadé
a494b08766 Bug 1529022 - Add a GeckoChildProcessHosts iterator r=jld
Adds GeckoChildProcessHost::GetAll() and use it in ChromeUtils::GetProcInfo()

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

--HG--
extra : moz-landing-system : lando
2019-06-21 01:33:47 +00:00
Razvan Maries
da14c413ef Merge autoland to mozilla-central a=merge 2019-06-20 12:45:34 +03:00
Oana Pop Rus
288befd88a Backed out changeset f79736d79ee1 (bug 1529022) for build bustages in GeckoChildProcessHost.cpp a=backout 2019-06-20 01:57:00 +03:00
Tarek Ziadé
2b03934b7d Bug 1529022 - Add a GeckoChildProcessHosts iterator r=jld
Adds GeckoChildProcessHost::GetAll() and use it in ChromeUtils::GetProcInfo()

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

--HG--
extra : moz-landing-system : lando
2019-06-19 06:13:50 +00:00
Gurzau Raul
376affada3 Backed out changeset 11c118fa5f2b (bug 1529022) for build bustages at GeckoChildProcessHost.cpp a=backout 2019-06-19 09:07:19 +03:00
Kartikaya Gupta
747993cf87 Bug 1549052 - Avoid using CGEventPost for synthesizing wheel events on macOS. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D34889

--HG--
extra : moz-landing-system : lando
2019-06-19 21:49:18 +00:00
Christoph Walcher
cf2e11f3c2 Bug 909760 - Show download progress in the MacOS Finder r=spohl,mak
Show download progress in the MacOS Finder

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

--HG--
extra : moz-landing-system : lando
2019-06-19 18:48:49 +00:00
Tarek Ziadé
9f31044be3 Bug 1529022 - Add a GeckoChildProcessHosts iterator r=jld
Adds GeckoChildProcessHost::GetAll() and use it in ChromeUtils::GetProcInfo()

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

--HG--
extra : moz-landing-system : lando
2019-06-18 16:36:52 +00:00
Jeff Gilbert
5b9d1d2911 Bug 757642 - Rely on downloadable blocklist for Mac MSAA disabling. r=jrmuizel
Previously we were hardcoding to disable on AMD. Modern MacOS versions
don't have MSAA corruption, and anything we find that does should go on
the downloadable blocklist instead.

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

--HG--
extra : moz-landing-system : lando
2019-06-18 20:02:10 +00:00
Gurzau Raul
ac0adc46e4 Backed out changeset 5f48ef706159 (bug 909760) for leakcheck permafailures during browser_windowactivation.js a=backout 2019-06-16 22:41:00 +03:00
Christoph Walcher
ca946d5ec1 Bug 909760 - Show download progress in the MacOS Finder r=spohl,mak
Show download progress in the MacOS Finder

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

--HG--
extra : moz-landing-system : lando
2019-06-15 15:46:36 +00:00
Nicholas Nethercote
28ae1cbb46 Bug 1561825 - Make sundry static prefs follow the naming convention. r=KrisWright
That includes changing privacy.resistFingerprinting to a non-VarCache pref,
because it doesn't need to be a VarCache.

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

--HG--
extra : rebase_source : 6d742e6ff2a4b786cb21f6e8874d1fd4bbde1857
2019-06-27 17:38:17 +10:00
Boris Zbarsky
9de72a3ac6 Bug 1557793 part 2. Stop using [array] in nsIStringBundle. r=Pike
Differential Revision: https://phabricator.services.mozilla.com/D34196

--HG--
extra : moz-landing-system : lando
2019-06-11 15:51:51 +00:00
Brindusan Cristian
1d5124f5f9 Merge inbound to mozilla-central. a=merge 2019-06-10 00:43:09 +03:00
Boris Zbarsky
5eb248348f Bug 1557847. Stop using [array] in nsIClipboard. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D34243

--HG--
extra : moz-landing-system : lando
2019-06-09 01:06:39 +00:00
Tarek Ziadé
b18ccf9c4e Bug 1529023 - Enable threads on macOS for GetProcInfo r=jld,mstange
To run task_for_pid() on child processes, we need the child task port for
security reasons. This port can be obtained via a Mach IPC exchange.

This is what GeckoChildProcessHost::GetChildTask() provides, so we use it
in cocoa's version of GetProcInfo()

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

--HG--
extra : moz-landing-system : lando
2019-06-07 19:56:51 +00:00
Sebastian Hengst
0d6b93005b Backed out changeset 0635eeb2fad4 (bug 1529023) for bustage in ChromeUtils.cpp. CLOSED TREE 2019-06-07 19:09:41 +02:00
Tarek Ziadé
2f870d3a3e Bug 1529023 - Enable threads on macOS for GetProcInfo r=jld,mstange
To run task_for_pid() on child processes, we need the child task port for
security reasons. This port can be obtained via a Mach IPC exchange.

This is what GeckoChildProcessHost::GetChildTask() provides, so we use it
in cocoa's version of GetProcInfo()

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

--HG--
extra : moz-landing-system : lando
2019-06-07 07:48:37 +00:00
Jonathan Watt
88526e9eac Bug 1557878. Replace nsIWebBrowserPrint::enumerateDocumentNames with a getter for the top document's name. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D34260

--HG--
extra : rebase_source : cbac94e78d57371ec1f4bdfcd1739367fb79f864
2019-05-30 11:43:16 +01:00
Jonathan Watt
4cf78a2ed9 Bug 1552785. Remove macOS print dialog UI for selecting frameset behavior. r=mstange
The 85 pixel change in y-axis offset is the distance between the "Print
Background Images" checkbox and (removed) "Each Frame on Separate Pages" radio
button.

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

--HG--
extra : rebase_source : ca0aa5291f1631a40fba18e22cf609a0768cbdb3
2019-05-14 17:04:37 +01:00
Emilio Cobos Álvarez
21d5c25734 Bug 1553769 - Make nsIWidget::SetFocus infallible, and make it take an enum class. r=NeilDeakin
Only gtk returns failure ever, and nobody checks the result anyway.

Use an enum class so that it's clear from the caller what it means.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 22:13:56 +00:00
Brindusan Cristian
bfa0a8a991 Backed out changeset c0895e6c7343 (bug 1553769) for causing build bustages at PluginWidgetProxy.cpp. CLOSED TREE 2019-05-30 01:00:20 +03:00
Emilio Cobos Álvarez
748cc8584f Bug 1553769 - Make nsIWidget::SetFocus infallible, and make it take an enum class. r=NeilDeakin
Only gtk returns failure ever, and nobody checks the result anyway.

Use an enum class so that it's clear from the caller what it means.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 14:37:26 +00:00
Andrew Osmond
fd0fefd13a Bug 1554540 - Expose window protocol (X11, Wayland) in nsIGfxInfo and about:support. r=kats,stransky,flod
Differential Revision: https://phabricator.services.mozilla.com/D32651
2019-05-28 06:40:34 -04:00
Jean-Yves Avenard
04a34db033 Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

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

--HG--
extra : moz-landing-system : lando
2019-05-26 14:29:42 +00:00
Emilio Cobos Álvarez
810916db16 Bug 1554433 - Move system colors to values::specified::color. r=xidorn
This should be an idempotent patch. The way to come up with this patch has been:

 * Run the first script attached to the bug and pipe it to xclip, then paste it
   in color.rs
 * Add the relevant #[derive] annotations and remove the color.mako.rs
   definition.
 * Reorder the values to match the ColorID definition, on which some widget
   prefs and caching stuff relies on.
 * Manually port some documentation from nsLookAndFeel.h
 * Run `rg 'eColorID_' | cut -d : -f 1 | sort | uniq >files`
 * Run the second script attached to the bug.
 * Manually fix usage of `LAST_COLOR` (adding the `End` variant), and adding
   casts to integer as needed.
 * Add an static assert so that people remember to update the prefs, rather than
   a comment on the definition :)

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

--HG--
extra : moz-landing-system : lando
2019-05-26 13:10:00 +00:00
Sylvestre Ledru
d57d4905f1 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-05-25 17:46:15 +00:00
Gurzau Raul
967bc2a754 Backed out 31 changesets (bug 1552643, bug 1550422) for xpcshell crash on a CLOSED TREE.
Backed out changeset e30c1aa75529 (bug 1552643)
Backed out changeset caadcd7e02d3 (bug 1552643)
Backed out changeset aa7086ab09be (bug 1552643)
Backed out changeset 0b4029671710 (bug 1550422)
Backed out changeset a16295296035 (bug 1550422)
Backed out changeset 3b70307c0db5 (bug 1550422)
Backed out changeset 69df7818d4a3 (bug 1550422)
Backed out changeset d98dfc565927 (bug 1550422)
Backed out changeset 6f0997976944 (bug 1550422)
Backed out changeset 0edd264464c2 (bug 1550422)
Backed out changeset 9ea6da7a74ec (bug 1550422)
Backed out changeset f855f9309c8b (bug 1550422)
Backed out changeset 1033546224a7 (bug 1550422)
Backed out changeset ade7384c6186 (bug 1550422)
Backed out changeset 75b04de7e99c (bug 1550422)
Backed out changeset 91c3acdb2454 (bug 1550422)
Backed out changeset 77d2f80257d1 (bug 1550422)
Backed out changeset e0cd10d35327 (bug 1550422)
Backed out changeset 097091082423 (bug 1550422)
Backed out changeset 2f328853c1ab (bug 1550422)
Backed out changeset f92f2cc29cb1 (bug 1550422)
Backed out changeset 6dc82f88333d (bug 1550422)
Backed out changeset c20f66494d69 (bug 1550422)
Backed out changeset 2ba22cddeb6f (bug 1550422)
Backed out changeset 3aa72f89e295 (bug 1550422)
Backed out changeset ab4c4e806977 (bug 1550422)
Backed out changeset 72e5de040dda (bug 1550422)
Backed out changeset 7d3c2d486706 (bug 1550422)
Backed out changeset 132e0b8d8468 (bug 1550422)
Backed out changeset 54c85ac75dd0 (bug 1550422)
Backed out changeset d7ba4a18dd54 (bug 1550422)
2019-05-25 09:07:49 +03:00
Jean-Yves Avenard
af5790cf9b Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

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

--HG--
extra : moz-landing-system : lando
2019-05-25 00:03:32 +00:00
arthur.iakab
af8e458c5f Backed out changeset a296439a25ff (bug 1519636) for frequent Windows cppunit failures CLOSED TREE 2019-05-24 14:26:01 +03:00
Sylvestre Ledru
c82ea97226 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-05-24 09:59:17 +00:00
Sylvestre Ledru
993c03acb1 Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D31769

--HG--
extra : moz-landing-system : lando
2019-05-22 22:37:14 +00:00
Gurzau Raul
74c555539e Backed out 28 changesets (bug 1550422) for marionette AssertionError and failing browser_policy_hardware_acceleration.js on a CLOSED TREE.
Backed out changeset 5dd10a365ba9 (bug 1550422)
Backed out changeset 529f5be01ab9 (bug 1550422)
Backed out changeset b6861d3badf8 (bug 1550422)
Backed out changeset 059cff1a3dde (bug 1550422)
Backed out changeset 6ada1116b241 (bug 1550422)
Backed out changeset ca67e8e45262 (bug 1550422)
Backed out changeset a1961a51ae44 (bug 1550422)
Backed out changeset 1c90b9cb3ad4 (bug 1550422)
Backed out changeset 285fa46e4f26 (bug 1550422)
Backed out changeset e2938a444234 (bug 1550422)
Backed out changeset 7a930fc51125 (bug 1550422)
Backed out changeset 898ed02804fe (bug 1550422)
Backed out changeset e1b7abc99ae9 (bug 1550422)
Backed out changeset f781d415cef6 (bug 1550422)
Backed out changeset 2fef10a7cce5 (bug 1550422)
Backed out changeset ea64b4d8d4ff (bug 1550422)
Backed out changeset 86a8ba1b755c (bug 1550422)
Backed out changeset 9c0c9e80f309 (bug 1550422)
Backed out changeset 10c153ddbaea (bug 1550422)
Backed out changeset 60fe635ec2c9 (bug 1550422)
Backed out changeset a38796266b28 (bug 1550422)
Backed out changeset 2db647dcdf1c (bug 1550422)
Backed out changeset 952ddac02972 (bug 1550422)
Backed out changeset ba46b53643ec (bug 1550422)
Backed out changeset ca47ef6c59f7 (bug 1550422)
Backed out changeset f45f471a1a40 (bug 1550422)
Backed out changeset 371b4da5b771 (bug 1550422)
Backed out changeset 02fc78890032 (bug 1550422)
2019-05-23 05:59:44 +03:00
Jean-Yves Avenard
2c0ce1b3ca Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 12:43:42 +00:00
Christina
243c3c0e74 Bug 1549800 - Remove all code conditional on USE_CLICK_HOLD_CONTEXTMENU. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D30974

--HG--
extra : moz-landing-system : lando
2019-05-13 20:31:56 +00:00
Masayuki Nakano
1fb845d129 Bug 1543315 - part 17: Mark PresShell::HandleDOMEventWithTarget() as MOZ_CAN_RUN_SCRIPT r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D30494

--HG--
extra : moz-landing-system : lando
2019-05-09 20:21:28 +00:00
Andrew Osmond
17c3cc5d39 Bug 1544105 - Part 1. Expose new driver vendor field for the graphics blocklist. r=jrmuizel
This reunifies the behaviour changed in bug 1294232 to ensure that the
vendor ID of GfxInfo is the same between graphics hardware. Vendor ID
should always represent Intel, Nvidia, ATI, etc such that callers can
reason about the performance characteristics without being exposed to
the driver implementation for that platform. Now we split off the more
detailed driver information into the "driver vendor" which will contain
more information, such as what implementation is being used (e.g.
mesa/i965 for modern Intel graphics cards). This field is exposed to the
blocklist and will be useful for allowing different rules for different
driver implementations.

We also now provide a default implementation for
GfxInfoBase::FindMonitors for platforms missing support. This will just
list the primary screen size used without listing secondary monitors,
refresh rate, and such.

Differential Revision: https://phabricator.services.mozilla.com/D29471
2019-05-03 18:26:06 -04:00
Mihai Alexandru Michis
25a6b02677 Backed out 2 changesets (bug 1544105) for leaks in mda tests and failing browser_Troubleshoot.js CLOSED TREE
Backed out changeset eca7ee42af96 (bug 1544105)
Backed out changeset a8cd879f02ce (bug 1544105)
2019-05-03 23:19:03 +03:00
Andrew Osmond
f289a95270 Bug 1544105 - Part 1. Expose new driver vendor field for the graphics blocklist. r=jrmuizel
This reunifies the behaviour changed in bug 1294232 to ensure that the
vendor ID of GfxInfo is the same between graphics hardware. Vendor ID
should always represent Intel, Nvidia, ATI, etc such that callers can
reason about the performance characteristics without being exposed to
the driver implementation for that platform. Now we split off the more
detailed driver information into the "driver vendor" which will contain
more information, such as what implementation is being used (e.g.
mesa/i965 for modern Intel graphics cards). This field is exposed to the
blocklist and will be useful for allowing different rules for different
driver implementations.

We also now provide a default implementation for
GfxInfoBase::FindMonitors for platforms missing support. This will just
list the primary screen size used without listing secondary monitors,
refresh rate, and such.

Differential Revision: https://phabricator.services.mozilla.com/D29471
2019-05-03 14:57:58 -04:00
Daniel Varga
2b81f4d301 Backed out 2 changesets (bug 1544105) for build bustages. On a CLOSED TREE
Backed out changeset 215c2693d281 (bug 1544105)
Backed out changeset 16d5af6fd55c (bug 1544105)
2019-05-03 19:12:48 +03:00
Andrew Osmond
c4dec73816 Bug 1544105 - Part 1. Expose new driver vendor field for the graphics blocklist. r=jrmuizel
This reunifies the behaviour changed in bug 1294232 to ensure that the
vendor ID of GfxInfo is the same between graphics hardware. Vendor ID
should always represent Intel, Nvidia, ATI, etc such that callers can
reason about the performance characteristics without being exposed to
the driver implementation for that platform. Now we split off the more
detailed driver information into the "driver vendor" which will contain
more information, such as what implementation is being used (e.g.
mesa/i965 for modern Intel graphics cards). This field is exposed to the
blocklist and will be useful for allowing different rules for different
driver implementations.

We also now provide a default implementation for
GfxInfoBase::FindMonitors for platforms missing support. This will just
list the primary screen size used without listing secondary monitors,
refresh rate, and such.

Differential Revision: https://phabricator.services.mozilla.com/D29471
2019-05-03 11:13:26 -04:00
Masayuki Nakano
14b7642127 Bug 1547422 - Make widget use mozilla::PresShell directly rather than via nsIPresShell r=jmathies
This patch makes widget use `mozilla::PresShell` directly rather than via
`nsIPresShell` and changes some pure virtual methods of `nsIPresShell` which
called by widget to `mozilla::PresShell`'s non-virtual methods.

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

--HG--
extra : moz-landing-system : lando
2019-05-01 18:52:59 +00:00
Emilio Cobos Álvarez
edde08a7cb Bug 1547985 - Use rust types for vertical-align. r=mats
The previous commit removed the dependence on the discriminant value, so we
don't need to keep discriminants different from text-align anymore.

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

--HG--
extra : moz-landing-system : lando
2019-05-01 13:08:34 +00:00
Sylvestre Ledru
e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

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

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Markus Stange
bdc58a2478 Bug 1542454 - Factor out some code. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D26402

--HG--
extra : moz-landing-system : lando
2019-04-29 17:04:11 +00:00
Markus Stange
3de43a3968 Bug 1542454 - Remove support for drawing the window resizer. r=spohl
The last version of macOS that put resizers in window corners was 10.6.

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

--HG--
extra : moz-landing-system : lando
2019-04-29 17:04:08 +00:00
Markus Stange
db52198a46 Bug 1542454 - Remove unused function COLOR8TOCOLOR16. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D26400

--HG--
extra : moz-landing-system : lando
2019-04-29 17:02:16 +00:00
Masayuki Nakano
6c0c323d6f Bug 1546839 - part 1: Change enum Command to enum class Command and drop "Command" prefix from each item r=smaug
If I remember correctly, `enum class` was not allowed when I added
`enum Command`.  Now, we can make it `enum class` for better type check at
compile time.

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

--HG--
extra : moz-landing-system : lando
2019-04-30 04:23:24 +00:00
Markus Stange
4c44b62eee Bug 1533562 - Do not move the TitlebarGradientView from a ToolbarWindow into a BorderlessWindow when hiding the window chrome. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D25516

--HG--
extra : moz-landing-system : lando
2019-04-29 17:00:31 +00:00
Markus Stange
b396860365 Bug 1533562 - Implement titlebar gradient drawing with a new TitlebarGradientView. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D22646

--HG--
extra : moz-landing-system : lando
2019-04-29 17:00:13 +00:00
Markus Stange
7cb6bd28ef Bug 1533562 - Always make the content view of ToolbarWindows cover the entire window. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D22645

--HG--
extra : moz-landing-system : lando
2019-04-29 16:59:55 +00:00
Markus Stange
9b5e2958c5 Bug 1533562 - Remove override of -[NSThemeFrame _unifiedToolbarFrame]. r=spohl
This override has no effect in CoreAnimation-backed windows. The upcoming
patches will implement an alternative approach.

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

--HG--
extra : moz-landing-system : lando
2019-04-29 16:59:42 +00:00
Markus Stange
bf8b839110 Bug 1533562 - Remove code that deals with non-rounded bottom corners on regular windows. r=spohl
Rounded bottom corners have been the default since 10.7.
We still have square corners on windows without titlebars, such as the address
bar autocomplete dropdown, or the reftest window.

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

--HG--
extra : moz-landing-system : lando
2019-04-29 16:59:25 +00:00
Markus Stange
890482c332 Bug 1533562 - Remove synchronous repaint capability of setTitlebarNeedsDisplayInRect:sync: and also remove the rect parameter because we always pass the same value to it. r=spohl
The synchronous paint was only needed a long time ago when we were calling this
method during drawRect. We're not doing that any more, we usually call it from
viewWillDraw now. But even at the time, forcing a synchronous paint *within*
a paint was extremely sketchy, so best just to remove the code.

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

--HG--
extra : moz-landing-system : lando
2019-04-29 16:59:10 +00:00
Noemi Erli
449299cc22 Backed out 6 changesets (bug 1533562) for breaking reftests and failures in letter-spacing-005.xht
Backed out changeset 1976a614f8ce (bug 1533562)
Backed out changeset 02adcc70efbe (bug 1533562)
Backed out changeset 00ffda400dc5 (bug 1533562)
Backed out changeset 710d3c0129de (bug 1533562)
Backed out changeset 64720021f45c (bug 1533562)
Backed out changeset 68559438c818 (bug 1533562)
2019-04-26 22:26:17 +03:00
Markus Stange
3da5cd3df2 Bug 1533562 - Do not move the TitlebarGradientView from a ToolbarWindow into a BorderlessWindow when hiding the window chrome. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D25516

--HG--
extra : moz-landing-system : lando
2019-04-26 17:27:09 +00:00
Markus Stange
99b8e92ccc Bug 1533562 - Implement titlebar gradient drawing with a new TitlebarGradientView. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D22646

--HG--
extra : moz-landing-system : lando
2019-04-26 17:26:57 +00:00
Markus Stange
1079ac444c Bug 1533562 - Always make the content view of ToolbarWindows cover the entire window. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D22645

--HG--
extra : moz-landing-system : lando
2019-04-26 17:26:39 +00:00
Markus Stange
58796cf49b Bug 1533562 - Remove override of -[NSThemeFrame _unifiedToolbarFrame]. r=spohl
This override has no effect in CoreAnimation-backed windows. The upcoming
patches will implement an alternative approach.

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

--HG--
extra : moz-landing-system : lando
2019-04-26 17:26:31 +00:00
Markus Stange
467f5af7ba Bug 1533562 - Remove code that deals with non-rounded bottom corners on regular windows. r=spohl
Rounded bottom corners have been the default since 10.7.

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

--HG--
extra : moz-landing-system : lando
2019-04-26 17:26:14 +00:00
Markus Stange
c0aa023eb0 Bug 1533562 - Remove synchronous repaint capability of setTitlebarNeedsDisplayInRect:sync: and also remove the rect parameter because we always pass the same value to it. r=spohl
The synchronous paint was only needed a long time ago when we were calling this
method during drawRect. We're not doing that any more, we usually call it from
viewWillDraw now. But even at the time, forcing a synchronous paint *within*
a paint was extremely sketchy, so best just to remove the code.

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

--HG--
extra : moz-landing-system : lando
2019-04-26 17:25:59 +00:00
Gurzau Raul
f05aef3e04 Backed out 9 changesets (bug 1542454, bug 1533562) for failing at /browser/browser_ext_webNavigation_onCreatedNavigationTarget_contextmenu.js on a CLOSED TREE.
Backed out changeset 88756a309968 (bug 1542454)
Backed out changeset 37bd2819d3a7 (bug 1542454)
Backed out changeset 19f0462bb47a (bug 1542454)
Backed out changeset b4440b1833ec (bug 1533562)
Backed out changeset 8970cdb3c04a (bug 1533562)
Backed out changeset 498cd34eea78 (bug 1533562)
Backed out changeset 3a3b4d52e10a (bug 1533562)
Backed out changeset 5fae2f233aa0 (bug 1533562)
Backed out changeset e3fc54ebcd15 (bug 1533562)
2019-04-23 01:09:12 +03:00
Jeff Gilbert
544759b391 Bug 1545892 - Reduce includes in gfx2DGlue.h, nsLayoutUtils.h, nsPresContext.h. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D28266

--HG--
extra : moz-landing-system : lando
2019-04-22 19:58:52 +00:00
Markus Stange
77ddedaacb Bug 1542454 - Factor out some code. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D26402

--HG--
extra : moz-landing-system : lando
2019-04-22 19:41:58 +00:00
Markus Stange
d0ba1d9725 Bug 1542454 - Remove support for drawing the window resizer. r=spohl
The last version of macOS that put resizers in window corners was 10.6.

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

--HG--
extra : moz-landing-system : lando
2019-04-22 19:41:41 +00:00
Markus Stange
0f29789b59 Bug 1542454 - Remove unused function COLOR8TOCOLOR16. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D26400

--HG--
extra : moz-landing-system : lando
2019-04-22 19:41:21 +00:00
Markus Stange
de6910917a Bug 1533562 - Do not move the TitlebarGradientView from a ToolbarWindow into a BorderlessWindow when hiding the window chrome. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D25516

--HG--
extra : moz-landing-system : lando
2019-04-22 19:27:09 +00:00
Markus Stange
537ff00f68 Bug 1533562 - Implement titlebar gradient drawing with a new TitlebarGradientView. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D22646

--HG--
extra : moz-landing-system : lando
2019-04-22 19:26:56 +00:00
Markus Stange
8f1414b86c Bug 1533562 - Always make the content view of ToolbarWindows cover the entire window. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D22645

--HG--
extra : moz-landing-system : lando
2019-04-22 19:26:38 +00:00
Markus Stange
92aa2412e5 Bug 1533562 - Remove override of -[NSThemeFrame _unifiedToolbarFrame]. r=spohl
This override has no effect in CoreAnimation-backed windows. The upcoming
patches will implement an alternative approach.

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

--HG--
extra : moz-landing-system : lando
2019-04-22 19:26:29 +00:00
Markus Stange
61e81ce45e Bug 1533562 - Remove code that deals with non-rounded bottom corners on regular windows. r=spohl
Rounded bottom corners have been the default since 10.7.

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

--HG--
extra : moz-landing-system : lando
2019-04-22 19:26:15 +00:00
Markus Stange
7540dfbeba Bug 1533562 - Remove synchronous repaint capability of setTitlebarNeedsDisplayInRect:sync: and also remove the rect parameter because we always pass the same value to it. r=spohl
The synchronous paint was only needed a long time ago when we were calling this
method during drawRect. We're not doing that any more, we usually call it from
viewWillDraw now. But even at the time, forcing a synchronous paint *within*
a paint was extremely sketchy, so best just to remove the code.

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

--HG--
extra : moz-landing-system : lando
2019-04-22 19:26:00 +00:00
Srujana Peddinti
b44e48bff4 Bug 1259660 - Moved mozilla::WidgetMosueEventBase::buttonType in MouseEvents.h to mozilla::MouseButton in EventForwards.h, and mozilla::WidgetMouseEventBase::buttonsFlag to mozilla::MouseButtonsFlag r=masayuki
Moved mozilla::WidgetMosueEventBase::buttonType in MouseEvents.h to mozilla::MouseButton in EventForwards.h, and mozilla::WidgetMouseEventBase::buttonsFlag to mozilla::MouseButtonsFlag so that any referer in header files do not need to include MouseEvents.h only for referring them. Instead, they just need to include EventForwards.h. Now when MouseEvents.h is changed, the rebuild speed becomes faster.

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

--HG--
extra : moz-landing-system : lando
2019-04-21 20:13:34 +00:00
Srujana Peddinti
0260a4f6e1 Bug 1259660 - Cleaned up WidgetMouseEventBase by renaming WidgetMouseEventBase::inputSource to WidgetMouseEventBase::mInputSource r=masayuki
Renamed all class member instances from WidgetMouseEventBase::inputSource to WidgetMouseEventBase::mInputSource

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

--HG--
extra : moz-landing-system : lando
2019-04-21 18:19:43 +00:00
Srujana Peddinti
1f5de9021a Bug 1259660 - Cleaned up WidgetMouseEventBase by renaming WidgetMouseEventBase::pressure to WidgetMouseEventBase::mPressure r=masayuki
Renamed all class member instances from WidgetMouseEventBase::pressure to WidgetMouseEventBase::mPressure

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

--HG--
extra : moz-landing-system : lando
2019-04-21 18:19:18 +00:00
Srujana Peddinti
5f185eb5aa Bug 1259660 - Cleaned up WidgetMouseEventBase by renaming WidgetMouseEventBase::button to WidgetMouseEventBase::mButton. r=masayuki
Renamed all class member instances from WidgetMouseEventBase::button to WidgetMouseEventBase::mButton.

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

--HG--
extra : moz-landing-system : lando
2019-04-21 18:17:10 +00:00
Srujana Peddinti
614949385a Bug 1259660 - Cleaned up WidgetMouseEventBase by renaming WidgetMouseEventBase::buttons to WidgetMouseEventBase::mButtons r=masayuki
Renamed all class member instances from  WidgetMouseEventBase::buttons to WidgetMouseEventBase::mButtons

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

--HG--
extra : moz-landing-system : lando
2019-04-21 19:42:37 +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
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