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

2627 Коммитов

Автор SHA1 Сообщение Дата
Dzmitry Malyshau 0cd3e9c400 Bug 1558167 - Disable swizzling on macOS 10.15 AMD devices r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D48591

--HG--
extra : moz-landing-system : lando
2019-10-08 21:09:58 +00:00
Markus Stange 7f9c11f94a Bug 1581433 - Maximize or minimize the window when double clicking the titlebar. r=spohl
This was already working for toolbars, but it wasn't working for the titlebar in windows that
actually have a real separate titlebar.
All our windows use NSFullSizeContentViewWindowMask, so we no longer get this behavior for free.
In windows with titlebars, the titlebar area is covered with a TitlebarGradientView, so that's
where we need to handle the double clicks.

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

--HG--
extra : moz-landing-system : lando
2019-10-08 21:03:30 +00:00
harry 980501c285 Bug 1563350 - Add popover to the Touch Bar that displays when the Urlbar has focus. r=mikedeboer,spohl,fluent-reviewers,Pike,flod
Differential Revision: https://phabricator.services.mozilla.com/D38563

--HG--
extra : moz-landing-system : lando
2019-10-08 00:52:07 +00:00
harry 02333753b2 Bug 1567939 - Support NSTextField in the macOS Touch Bar. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D38891

--HG--
extra : moz-landing-system : lando
2019-10-08 00:52:07 +00:00
harry 9507d41513 Bug 1563349 - Part 5 - Support NSScrollView in the Touch Bar. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D47622

--HG--
extra : moz-landing-system : lando
2019-10-08 00:51:34 +00:00
harry cd7aed4b4c Bug 1563349 - Part 4 - Support NSPopoverTouchBarItem. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D47621

--HG--
extra : moz-landing-system : lando
2019-10-07 18:18:02 +00:00
harry 18272eae11 Bug 1563349 - Part 3 - Update TouchBarInputs in-place. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D47620

--HG--
extra : moz-landing-system : lando
2019-10-07 18:02:35 +00:00
harry 4752551daf Bug 1563349 - Part 2 - Support TouchBarInput children. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D47619

--HG--
extra : moz-landing-system : lando
2019-10-07 18:04:26 +00:00
harry b1f76c6595 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-10-07 18:37:15 +00:00
Kris Taeleman 3bd0cbdc09 Bug 1578506 - Add better monitor information to about:support. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D47110

--HG--
extra : moz-landing-system : lando
2019-10-03 23:43:35 +00:00
Markus Stange 120189bb62 Bug 1585523 - Use NSAnimationContext instead of CATransaction when triggering off-main-thread composites. r=mattwoodrow
When called on a non-main thread, [NSAnimationContext beginGrouping] calls [CATransaction activateBackground:].
There's a chance that doing so might help with some of the crashes we're seeing during [CATransaction commit].

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

--HG--
extra : moz-landing-system : lando
2019-10-03 01:14:23 +00:00
Gabriele Svelto 10d41866a5 Bug 1585156 - Remove useless inclusions of nsIDOMWindow.h and nsIDOMWindowUtils.h r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D47678

--HG--
extra : moz-landing-system : lando
2019-09-30 22:06:47 +00:00
Botond Ballo a61744ca91 Bug 1564195 - Group the results of APZInputBridge::ReceiveInputEvent() into a struct. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D46376

--HG--
extra : moz-landing-system : lando
2019-09-19 02:45:21 +00:00
Haik Aftandilian 49d42aa115 Bug 1580900 - Part 2 - Extend nsIOSPermissionRequest to support screen-recording permission requests r=spohl
Adds nsIOSPermissionRequest::MaybeRequestScreenCapturePermission() to allow front-end code to trigger a screen-recording permission request dialog.

Depends on D46093

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

--HG--
extra : moz-landing-system : lando
2019-09-17 20:57:51 +00:00
Haik Aftandilian 86ab99c9a3 Bug 1580900 - Part 1 - Extend nsIOSPermissionRequest to support screen-recording permission checks r=spohl
Adds nsIOSPermissionRequest::GetScreenCapturePermissionState() to allow front-end code to check if Firefox has already been granted permission to record the screen.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 22:13:36 +00:00
Matthew Noorenberghe 4d10eed5d3 Bug 1423714 - Add an API to retrieve a password from Keychain by account and service. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D45968

--HG--
extra : moz-landing-system : lando
2019-09-18 04:47:10 +00:00
Brendan Dahl c077f5df49 Bug 1563295 - Only rebuild native menu when specific elements added. r=mstange
The menuitem custom element inserts nodes when rendered. These nodes are
not related to the structure of the menu, but were causing nsMenuItemX
to mark the menu as needing a rebuild. The rebuild would remove all items
from the menu which caused the removal of the special menu items "Start
Dictation" and "Emoji and Symbols" that are automatically added by MacOS.

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

--HG--
extra : moz-landing-system : lando
2019-09-16 05:03:32 +00:00
Andrew Osmond fce484c34f Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-14 16:17:04 +00:00
Ciure Andrei a4046ec458 Backed out 6 changesets (bug 1574493) for causing nested-sticky-2.html to perma fail CLOSED TREE
Backed out changeset 358746636448 (bug 1574493)
Backed out changeset 34aef5498237 (bug 1574493)
Backed out changeset 1f88e2031c76 (bug 1574493)
Backed out changeset 07c588b5ea10 (bug 1574493)
Backed out changeset 0685e8d3510e (bug 1574493)
Backed out changeset 15d4390220c4 (bug 1574493)
2019-09-13 19:26:50 +03:00
Andrew Osmond 25866edb78 Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 14:03:23 +00:00
Ciure Andrei 8c3feea58a Backed out 6 changesets (bug 1574493) for causing nested-sticky-1.html to perma fail CLOSED TREE
Backed out changeset fdc25a90b0ef (bug 1574493)
Backed out changeset 0ce3c48c1f79 (bug 1574493)
Backed out changeset 326b9f96614b (bug 1574493)
Backed out changeset b0817c0aee77 (bug 1574493)
Backed out changeset 70d99c264df9 (bug 1574493)
Backed out changeset e5217ab4b668 (bug 1574493)
2019-09-13 16:17:47 +03:00
Andrew Osmond b2d4e121cb Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 10:48:31 +00:00
YUKI "Piro" Hiroshi 18076b6f51 Bug 1476195 - Allow invoking drag sessions outside of mouseDragged. r=mstange,spohl
The parent process usually starts a native drag session during the processing
of a Gecko mouse move event while the mouse is down. Usually, these Gecko mouse
move events are processed synchronously during -[ChildView mouseDragged:]. But
in some cases, the Gecko mouse move event can be a synthetic mouse move event
that was generated in response to a reflow. Those get processed during refresh
driver ticks, which run at a time that's completely unrelated to when
mouseDragged is invoked.
So the widget should just assume that drags can be started at any time between
mouseDown and mouseUp.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 14:13:14 +00:00
Gurzau Raul fe4bb6d539 Backed out 6 changesets (bug 1574493) for wrench failures at stacking-context-clip.yaml on a CLOSED TREE.
Backed out changeset 8a8736ac4e25 (bug 1574493)
Backed out changeset 4a3294e88823 (bug 1574493)
Backed out changeset 0c26ecdc1ddc (bug 1574493)
Backed out changeset 11257f7b3ad3 (bug 1574493)
Backed out changeset dcedc286ad9d (bug 1574493)
Backed out changeset 87f216e0753d (bug 1574493)
2019-09-12 18:34:07 +03:00
Andrew Osmond 320cbbf828 Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 12:42:41 +00:00
Markus Stange 0a750ccc81 Bug 1577587 - Check the correct preference in -[ChildView shouldMinimizeOnTitlebarDoubleClick] on 10.11 and up. r=spohl
I got these names from https://forums.developer.apple.com/thread/30166 .

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

--HG--
extra : moz-landing-system : lando
2019-09-09 13:36:02 +00:00
Ryan Hunt 56dcc94078 Bug 1578075 - Increase stack size of paint thread/workers on OSX Catalina or higher to workaround crash from recursion in CoreText. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D45370

--HG--
extra : moz-landing-system : lando
2019-09-10 15:20:34 +00:00
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