Commit Graph

25230 Commits

Author SHA1 Message Date
Andrew McCreight
9fe0f5c10b Bug 1577819, part 2 - WebIDLProcType should match ProcType. r=Ehsan
ProcType gets turned into WebIDLProcType, so I assume the intention is
that they are identical. I changed the definition of WebIDLProcType to
match ProcType, and added a static assert to check that they have the
same number of cases.

I also changed the coercion from a static_cast<> to an explicit switch
statement so that it will degrade more gracefully if, say, the enums
get reordered, or one enum gets a case added and removed at the same
time.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 21:55:42 +00:00
Noemi Erli
478b1751c7 Backed out 5 changesets (bug 1343678) for causing multiple web-platform failures CLOSED TREE
Backed out changeset 4b77646bc788 (bug 1343678)
Backed out changeset 7396789341b1 (bug 1343678)
Backed out changeset 85526faefe6d (bug 1343678)
Backed out changeset 07b757a21222 (bug 1343678)
Backed out changeset 3551cc55620d (bug 1343678)
2019-08-30 00:36:40 +03:00
Martin Stransky
1cf5fdd9b6 Bug 1562827 - [Linux] Merge nsWindow::ReparentNativeWidgetInternal() to nsWindow::SetParent() and use nsWindow::ReparentNativeWidget() for toplevel windows only, r=karlt
- Use former ReparentNativeWidgetInternal() code in nsWindow::SetParent().
  Also update mToplevelParentWindow for Wayland to hold default toplevel window.

- Make nsWindow::ReparentNativeWidget() to work on toplevel windows only and use only gtk_window_set_transient_for() to reparent
  a toplevel window. Also update mToplevelParentWindow for Wayland.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 23:48:44 +00:00
James Willcox
fe4b02a3cc Bug 1343678 - Add WebPush support to GeckoView r=jcj,lina,agi,geckoview-reviewers,droeh,mt
Differential Revision: https://phabricator.services.mozilla.com/D41290

--HG--
extra : moz-landing-system : lando
2019-08-29 18:59:31 +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
Dorel Luca
547786f1cd Backed out 3 changesets (bug 1343678) for WPT failures on Android. CLOSED TREE
Backed out changeset 619e7838ebfd (bug 1343678)
Backed out changeset 5010684cdca4 (bug 1343678)
Backed out changeset b01343e4c2eb (bug 1343678)
2019-08-28 23:09:08 +03:00
James Willcox
746abdeae8 Bug 1343678 - Add WebPush support to GeckoView r=jcj,lina,agi,geckoview-reviewers,droeh,mt
Differential Revision: https://phabricator.services.mozilla.com/D41290

--HG--
extra : moz-landing-system : lando
2019-08-28 14:21:47 +00:00
Agi Sferro
2ad08f6d15 Bug 1576204 - Set remote flag in nsWindow for e10s. r=kmag,snorp
Chrome flags need to be set both on the `window` and the `browser` object.
Right now we only set them on the `browser` objects and that could lead to
unintended consequences. This patch sets the flags to the `window` accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 18:11:08 +00:00
Gurzau Raul
6321d98bb4 Backed out changeset 9b5ceca1eedf (bug 1573813) for failures at /crashtests/1113005.html on a CLOSED TREE. 2019-08-28 17:15:26 +03:00
Martin Stransky
4e8409ddcd Bug 1576898 - [Wayland] Implement gbm_bo_import & gbm_device_is_format_supported at nsGbmLib, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D43603

--HG--
extra : moz-landing-system : lando
2019-08-28 10:38:11 +00:00
Jan Horak
37a9627a4c Bug 1573813 - use parent window scale factor for the popup/tooltips; r=stransky
For popup windows with parent we need to get scale factor of the parent
window. Because when the windows are hidden they're not receiving updates
about changing scaling factor. So when moving from normal dpi to
the hidpi monitor the newly opened popup windows will have the same scale

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

--HG--
extra : moz-landing-system : lando
2019-08-27 13:03:50 +00:00
Toshihito Kikuchi
5361128d95 Bug 1575352 - Remove dynamic linking of urlmon for MinGW. r=aklotz
4eca0f08c43b73dc1dd908fad58bdfd7f6973119 introduced dynamic linking of urlmon
for MinGW as a workaround.  Now that MinGW was updated, we can remove that
workaround.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 22:19:38 +00:00
Martin Stransky
89132239ea Bug 1574036 - [Wayland] Fix flickering during window resize, r=jhorak
Recently window resize on Wayland produces flickering/rendering artifacts because
window background is randomly cleared due to actual window size changes.
We recently query widget size and do clear/fullscreen update when the size changes.

To avoid that, get widget size once at WindowSurfaceWayland::Lock() and use it
until next WindowSurfaceWayland::Lock(). Also don't to switch wayland back buffers
until there's really fullscreen update from compositor.

This patch:

- Use mLockedScreenRect to store window size at WindowSurfaceWayland::Lock(). It's used
  to detect widget resize, when it happens throw away all cached painting and wait for
  full screen update.

- Use mBufferScreenRect to store size of wayland back buffer and pass it
  instead of actual widget size we used before this patch. This ensures all our
  drawing matches the buffer size.

- Rename aFullScreenUpdate to aCanSwitchBuffer at LockWaylandBuffer() to stress
  actual meaning - we can/can't switch back buffers for partial drawing and we need to
  wait until recent back buffer is released by compositor.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 12:33:25 +00:00
Martin Stransky
388e4b2d74 Bug 1576268 - [Wayland] Use MOVE as a default Drag and Drop action to match X11 behavior, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D43578

--HG--
extra : moz-landing-system : lando
2019-08-27 12:12:14 +00:00
Kristen Wright
3cba0c7ada Bug 1573992 - Convert dom.w3c_pointer_events.dispatch_by_pointer_messages to static pref. r=njn
Converts dom.w3c_pointer_events.dispatch_by_pointer_messages to a static pref and removes its mirror variable.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 00:13:25 +00:00
Kristen Wright
8d6b5f31a4 Bug 1573992 - Convert findbar.modalHighlight to static pref. r=njn
Converts findbar.modalHighlight to a static pref and updates its usages.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 00:09:29 +00:00
Kristen Wright
f25c87b636 Bug 1573992 - Convert ui.use_native_colors to static pref. r=njn
Converts ui.use_native_colors to a static pref and updates its usages.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 00:07:34 +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
kriswright
943e049dcc Bug 1573992 - Convert layout.css.devPixelsPerPx to static pref. r=njn
Converts layout.css.devPixelsPerPx to a static pref. This one was one of the slightly odd ones; some values were expecting an atomic float, so instead of defining a regular type float it is defined in StaticPrefList.yaml as an AtomicFloat. I am assuming this was the intent of the pref value all along.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 21:02:43 +00:00
kriswright
533fc20279 Bug 1573992 - Convert android.widget_paints_background to static pref. r=njn
Converts android.widget_paints_background to a static pref. From my understanding, this pref only matters on android, and the overridden function in nsIWidget defaults to `false`. Based on that I replaced the entire WidgetPaintsBackground() function with a static pref.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 20:25:43 +00:00
kriswright
c99009c207 Bug 1573992 - Convert ui.scrolling.negate_wheel_scroll to static pref. r=njn
Converts ui.scrolling.negate_wheel_scroll to a static pref and updates its usages. This one is only enabled on android, so I used the IS_ANDROID value to fill it.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 20:25:43 +00:00
kriswright
d489024871 Bug 1573992 - Convert intl.ime.hack.on_any_apps.fire_key_events_for_composition to static pref. r=njn
Converts intl.ime.hack.on_any_apps.fire_key_events_for_composition to a static pref and updates its usages.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 20:25:42 +00:00
kriswright
be316b6bf9 Bug 1573992 - Convert 3 ui.key.* prefs to static prefs. r=njn
Converts ui.key.generalAccessKey, ui.key.chromeAccess, and ui.key.contentAccess to static prefs. Updates usages.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 20:25:42 +00:00
kriswright
6f43a49b41 Bug 1573992 - Convert two dom.keyboardevent.* prefs to staticprefs. r=njn
Converts dom.keyboardevent.dispatch_during_composition and dom.keyboardevent.keypress.dispatch_non_printable_keys_only_system_group_in_content to static prefs. Removes the dispatch_during_composition entry from mobile.js, since it just redefines the same pref value.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 20:25:42 +00:00
kriswright
fa50c7828f Bug 1573992 - Convert browser.tabs.remote.desktopBehavior to static pref. r=njn
Converts browser.tabs.remote.desktopBehavior to a static pref. Updates usages.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 20:25:42 +00:00
Toshihito Kikuchi
651b0e2a7f Bug 1570845 - Call CoAllowSetForegroundWindow before ShellExecute to launch an application in the foreground. r=aklotz
Differential Revision: https://phabricator.services.mozilla.com/D43536

--HG--
extra : moz-landing-system : lando
2019-08-26 23:17:01 +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
3503a868b7 Bug 1574592 - Remove unused CompositorWidget::DrawWindowUnderlay. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D42404

--HG--
extra : moz-landing-system : lando
2019-08-25 17:11:11 +00:00
Markus Stange
28d283ab15 Bug 1574592 - Remove now-unused CompositorWidget::DoCompositorCleanup again. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D42403

--HG--
extra : moz-landing-system : lando
2019-08-25 17:11:02 +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
Noemi Erli
15323a790b Backed out 3 changesets (bug 1343678) for breaking Android web platform tests CLOSED TREE
Backed out changeset c22a725950f0 (bug 1343678)
Backed out changeset 0bef62794abb (bug 1343678)
Backed out changeset 37c92bba3e1c (bug 1343678)
2019-08-24 01:13:36 +03:00
James Willcox
fa77c48a55 Bug 1343678 - Add WebPush support to GeckoView r=jcj,lina,agi,geckoview-reviewers,droeh,mt
Differential Revision: https://phabricator.services.mozilla.com/D41290

--HG--
extra : moz-landing-system : lando
2019-08-23 16:29:38 +00:00
Botond Ballo
fcd33af3ae Bug 1511901 - Convert touch events representing two-finger scrolling to pan gesture events for affected devices. r=jmathies
Differential Revision: https://phabricator.services.mozilla.com/D41666

--HG--
extra : moz-landing-system : lando
2019-08-23 19:45:20 +00:00
Mike Hommey
66d7fe943e Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42765

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:42 +00:00
Mike Hommey
17d34d41d7 Bug 1575415 - Always register the nsApplicationChooser component in Gtk builds. r=froydnj
Bug 1278282 removed Gtk2 support, so MOZ_WIDGET_TOOLKIT is always "gtk3"
for Gtk builds, and never "gtk", which makes the current check never
match.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:21 +00:00
Alvina Waseem
32e325ac2f Bug 1533057 - Created Web Notifications API. r=geckoview-reviewers,agi,snorp
Differential Revision: https://phabricator.services.mozilla.com/D36342

--HG--
extra : moz-landing-system : lando
2019-08-21 16:49:49 +00:00
Aaron Klotz
9f88239431 Bug 1573275: Add SystemRoot to whitelisted paths for WinUtils::PreparePathForTelemetry; r=mhowell,chutten
Until now, `WinUtils::PreparePathForTelemetry` did not whitelist paths
originating from the Windows system directory. This is unfortunate, as those
paths are not going to contain any PII yet may be useful for troubleshooting.

By adding `%SystemRoot%` to the whitelist, such paths will be included after
substituting the real system directory with the name of the environment
variable.

Finally, we need to lazily build the whitelist in a thread-safe manner.
Whitelist construction has been refactored so that the whitelist is a static
local variable that is atomically constructed.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 20:59:43 +00: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
Csoregi Natalia
6c32e4cdbf Backed out changeset 4f82f0b92629 (bug 1573813) for browser-chrome crashes on /browser_bookmarkProperties_folderSelection.js. CLOSED TREE 2019-08-20 21:48:27 +03:00
Jan Horak
248e644f9e Bug 1573813 - use parent window scale factor for the popup/tooltips; r=stransky
For popup windows with parent we need to get scale factor of the parent
window. Because when the windows are hidden they're not receiving updates
about changing scaling factor. So when moving from normal dpi to
the hidpi monitor the newly opened popup windows will have the same scale

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

--HG--
extra : moz-landing-system : lando
2019-08-20 15:52:12 +00:00
Sebastian Streich
db893cf0d7 Bug 1561056 - Pass CSP on Link-drop r=ckerschb,Gijs,farre
***
Fix linux build

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

--HG--
extra : moz-landing-system : lando
2019-08-20 12:43:02 +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