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

26011 Коммитов

Автор SHA1 Сообщение Дата
David Parks 9d849a91cc Bug 1614585: Use background thread to shut down AudioSession on all Windows versions r=jmathies
Bug 1419488 moved AudioSession shutdown to a background thread on Windows 7 because it was leading to shutdown timeouts there.  Since then, audio seems to be inspiring timeouts on other versions of Windows as well.  This patch extends the Windows 7 work to all versions of Windows.

Bug 1430907 is removing AudioSession from content processes.  This is the only place we have seen these crashes but AudioSession is also used in the main and plugin processes, so we want this patch to preempt issues with those processes.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 18:57:21 +00:00
Martin Stransky 9f5f941f67 Bug 1621258 [Wayland] Don't print 'Missing GtkWidget' warning, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D66221

--HG--
extra : moz-landing-system : lando
2020-03-10 16:39:24 +00:00
Martin Stransky d96c7ebdd5 Bug 1620973 [Wayland] Make opaque regions configurable by widget.wayland.use-opaque-region, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D65988

--HG--
extra : moz-landing-system : lando
2020-03-09 14:06:58 +00:00
Andrew Osmond 91b071ed14 Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel
gfx::Color is currently misused in many places. The DrawTargets expect
the color space to be in device space, e.g. what we are actually going
to draw using. Everything sitting above generally deals with sRGB, as
specified in CSS. Sometimes we missed the conversion from sRGB to device
space when issuing draw calls, and similarly sometimes we converted the
color to device space twice.

This patch splits the type in two. sRGBColor and DeviceColor now
represent sRGB and device color spaces respectively. DrawTarget only
accepts DeviceColor, and one can get a DeviceColor from an sRGBColor via
the ToDeviceColor helper API. The reftests now pass with color
management enabled for everything (e.g. CSS) instead of just tagged
raster images.

There will be a follow up patch to enable color management everywhere by
default on all supported platforms.

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

--HG--
extra : moz-landing-system : lando
2020-03-09 14:16:17 +00:00
Masayuki Nakano c90d6c80b3 Bug 1569512 - Make `PresShell` ignore synthesized `mousemove` events coming from another process if the child process stores mouse location of synthesized mouse events for tests r=smaug
The reason of intermittent failure of `test_bug656379-2.html` is, synthesized
`mousemove` event coming from the parent process causes `mouseout` and
`mouseleave` events of the last synthesized `mousemove` in the test.  The
reason is, synthesized `mousemove` for tests makes `PresShell` in the content
process record the cursor location, but won't make it `PresShell` in the
parent process do it.  Therefore, parent process may synthesize `mousemove`
event for the system cursor position which does not match with the synthesized
mouse location in the content process.  Therefore, `:hover` state may be
updated unexpectedly.

This patch makes `WidgetEvent::mFlags` have a flag to indicate whether it
came from another process.  Then, makes `PresShell::HandleEvent()` ignore
synthesized `mousemove` events coming from another process only when the
recorded mouse location was set by a mouse event synthesized for tests.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 21:34:28 +00:00
Mark Banner 15cfe23b88 Bug 1620542 - Automatically fix ESLint errors in .eslintrc.js files. r=mossop
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-03-07 10:09:44 +00:00
Emilio Cobos Álvarez f102f74183 Bug 1615100 - Paint the range thumb using button colors. r=spohl
This is very basic, and just uses the button colors. Did this because I thought
that it was going to help me fix one test but it didn't in the end, feel free to
reject, or to tell me to land the cleanup somewhere else :)

Depends on D65674

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

--HG--
extra : moz-landing-system : lando
2020-03-06 17:54:04 +00:00
Emilio Cobos Álvarez b6508fca7c Bug 1620297 - Make the range background size fixed. r=mstange
Otherwise the rendering of stuff like:

  <input type=range style="height: 300px">

Makes no sense. So this is closer to other widgets, and also happens to fix the
only test which is a real regression from non-native widget :)

Depends on D65673

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

--HG--
extra : moz-landing-system : lando
2020-03-07 09:57:42 +00:00
Emilio Cobos Álvarez eec667aac3 Bug 1620297 - Add support for vertical range inputs. r=mstange
This _almost_ fixes layout/reftests/forms/input/range/auto-size.html. It still
fails because of the variable-width track size :/

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

--HG--
extra : moz-landing-system : lando
2020-03-07 09:58:30 +00:00
Sebastian Hengst 5b855de25b Bug 1609278 - Replace bugzilla product and component assignment 'Firefox for Android :: General' with 'GeckoView :: General'. r=kbrosnan DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D61512

--HG--
extra : moz-landing-system : lando
2020-03-06 17:54:58 +00:00
Martin Stransky d2b8e6dd4e Bug 1619530 [Wayland] Don't request zwp_linux_dmabuf to import dmabuf objects, r=jhorak
- Allow to create dmabuf object without zwp_linux_dmabuf extension.
- Don't import GBM dmabuf objects

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

--HG--
extra : moz-landing-system : lando
2020-03-06 10:40:39 +00:00
Mike de Boer 59c8d9b137 Bug 1620101 - Changing over to using freedesktop.org window properties to implement support for virtual desktops. r=stransky
So when I simply set the property on the window and flushed the display, I didn't
manage to get the desired effect.
Then I found this 'gxtuner' project that sends an event, which is correctly
picked up by Gnome and hopefully others.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 10:17:34 +00:00
Emilio Cobos Álvarez cc40fadc53 Bug 1620479 - Add a clip to the draw target in non-native theme to make skia more deterministic. r=jrmuizel
See the comment for the sadness. Otherwise there was quite a lot of fuzz to
annotate.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 02:47:59 +00:00
Alastor Wu c66d507f46 Bug 1577890 - part3 : remove media control related code in AndroidBridge. r=snorp
These attribute and method were added for media control in Fennec and it seems we forgot to clean them.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 22:40:55 +00:00
Emilio Cobos Álvarez 120f5df5a7 Bug 1620451 - Make checkboxes draw inside their bounds properly. r=mstange
We were stroking the ellipse which strokes through the middle of the path,
meaning that it overflowed by one css pixel around the circle.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 22:36:12 +00:00
Emilio Cobos Álvarez 5bba05d7c8 Bug 1620307 - Rename -moz-menulist-button to -moz-menulist-arrow-button. r=spohl
This should be less confusing. This is not supported outside of chrome:// or
user-agent stylesheets so we can name this however we want.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 21:13:46 +00:00
Emilio Cobos Álvarez 77c2473725 Bug 1620307 - Make non-native theme handle menulist-button correctly. r=mstange
<select style="-webkit-appearance: menulist-button;">
  <option>Foo</option>
</select>

Should look like a menulist without a button, not like a button :)

This kinda sucks and is confusing, see bug 1428676

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

--HG--
extra : moz-landing-system : lando
2020-03-05 20:45:40 +00:00
Emilio Cobos Álvarez f840d9254a Bug 1620362 - Remove some copy-pasta in nsNativeBasicTheme. r=mstange
We don't advertise these as supported from ThemeSupportsWidget, so they're just
noise.

Also most of these are only useful in chrome pages anyway.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 19:48:56 +00:00
Emilio Cobos Álvarez 1932a23937 Bug 1620246 - Fix snapping to avoid also changing coordinate spaces. r=spohl
Bug 1615026 introduced some coordinate space change which I didn't intend.
NSRectToSnappedRect does what we want instead.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 14:43:14 +00:00
Martin Stransky 3e8ae1409e Bug 1619270 [Wayland] Check we're really on Wayland and not on headless, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D65489

--HG--
extra : moz-landing-system : lando
2020-03-05 10:20:48 +00:00
Martin Stransky 8416366bd0 Bug 1619907 [Wayland] Provide logging to dmabuf code, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D65307

--HG--
extra : moz-landing-system : lando
2020-03-05 09:19:59 +00:00
Martin Stransky 3e893cfd93 Bug 1609538 - Workarounds for Mutter 3.36, r=jhorak
This is based on a patch by robert.mader

This is supposed to be a minimal patchset to make Firefox work on
Mutter 3.36 in a similar fassion as on 3.34. The changes should
be compatible with any Wayland compositor, especially those that
do similar agressive culling and frame callback reduction.
While technically non-optimal, they should work as a short time
solution.

1.: Do not commit the toplevel surface in moz_container_move. Instead
use gdk_window_invalidate_rect, which (hopefully) triggers a surface
commit as well while not interfering in the order of commands. The is
necessary as the previous commit would commit invalid state in certain
scenarios (like fullscreening).
This fixes broken fullscreening.

2.: Do not set an opaque region on containers if that would cover the
whole toplevel surface. This works around problems concerning mouse
input responsiveness, as a completely covered toplevel surface might
not get frame callbacks any more, but we currently rely on it to process
input events like mouse movements.

3.: Only set an opaque region on the toplevel surface when maximized.
While the toplevel opaque region is actually redundant as long as the
content surface has an opaque region set, we need it for workaround 2.
But we want to unset it when not needed as occasianally it is not in
sync, creating glitches when e.g. unmaximizing.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 09:02:02 +00:00
Ciure Andrei 4a6e05a3d7 Backed out changeset f96f7b534cbd (bug 1619907) for causing build bustages CLOSED TREE 2020-03-05 11:03:49 +02:00
Martin Stransky 0d15b67122 Bug 1619907 [Wayland] Provide logging to dmabuf code, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D65307

--HG--
extra : moz-landing-system : lando
2020-03-05 08:21:44 +00:00
Noemi Erli dbf1182de3 Backed out changeset 1bfe014fc3fa (bug 1609538) for causing Linux bustages in widget_gtk 2020-03-05 07:19:08 +02:00
Emilio Cobos Álvarez b4bdc39333 Bug 1615026 - Ensure that non-native theme doesn't stroke outside of its rect. r=mstange
...and properly pixel-snap while at it, as otherwise my test would fail fuzzily.

Stroke() paints a stroke from the middle of the path, so it'll paint
one-half-of-the-width outside of the rect.

We need to deflate it by half the border width so that the stroke covers exactly
the area we want.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 00:25:31 +00:00
Coroiu Cristina 50de7581c8 Backed out changeset d64dfccd44ed (bug 1619735) for Wr failures at css/filter-effects on a CLOSED TREE 2020-03-04 22:01:38 +02:00
Jeff Muizelaar 12f74d5b36 Bug 1619735. Don't block acceleration on unknown vendor ids on Nightly. r=aosmond
This will help with ThinCast among others.

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

--HG--
extra : moz-landing-system : lando
2020-03-03 23:14:05 +00:00
Robert Mader f0fbff5f02 Bug 1609538 - Workarounds for Mutter 3.36. r=stransky
This is supposed to be a minimal patchset to make Firefox work on
Mutter 3.36 in a similar fassion as on 3.34. The changes should
be compatible with any Wayland compositor, especially those that
do similar agressive culling and frame callback reduction.
While technically non-optimal, they should work as a short time
solution.

1.: Do not commit the toplevel surface in `moz_container_move`. Instead
use `gdk_window_invalidate_rect`, which (hopefully) triggers a surface
commit as well while not interfering in the order of commands. The is
necessary as the previous commit would commit invalid state in certain
scenarios (like fullscreening).
This fixes broken fullscreening.

2.: Do not set an opaque region on containers if that would cover the
whole toplevel surface. This works around problems concerning mouse
input responsiveness, as a completely covered toplevel surface might
not get frame callbacks any more, but we currently rely on it to process
input events like mouse movements.

3.: Only set an opaque region on the toplevel surface when maximized.
While the toplevel opaque region is actually redundant as long as the
content surface has an opaque region set, we need it for workaround 2.
But we want to unset it when not needed as occasianally it is not in
sync, creating glitches when e.g. unmaximizing.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 10:52:13 +00:00
Mike de Boer 519022212a Bug 372650 - Add support for any window on Linux to be restored to their respective virtual desktop. r=stransky
Since bug 440895, we've got support in sessionstore to support restoring a window
to their respective virtual desktops.

This patch using a deprecated GDK API. It builds and works fine, but not without
compilation warnings.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 10:21:22 +00:00
Tim Huang 04d44bae12 Bug 1616570 - Part 1: Rename CookieSettings to CookieJarSettings. r=Ehsan
Given that we are going to add ContentBlockingAllowList in
CookieSettings, so CookieSettings will be responsible for more stuff than the
cookie behavior and cookie permission. We should use a proper name to
reflect the purpose of it. The name 'CookieSettings' is misleading that
this is only for cookie related stuff. So, we decide to rename
'CookieSettins' to 'CookieJarSettings' which serves better meaning here.

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

--HG--
rename : netwerk/cookie/CookieSettings.cpp => netwerk/cookie/CookieJarSettings.cpp
rename : netwerk/cookie/nsICookieSettings.idl => netwerk/cookie/nsICookieJarSettings.idl
extra : moz-landing-system : lando
2020-03-04 08:59:08 +00:00
Makoto Kato fbd37dbe41 Bug 1503656 - Part 8. Android implementation of safe area insets support r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D52513

--HG--
extra : moz-landing-system : lando
2020-03-04 08:17:09 +00:00
Makoto Kato 6279258383 Bug 1503656 - Part 7. Notify of safe area insets changed. r=smaug
Since safe area insets uses on content, we need send it from chrome process to
content process.

SafeAreaInsetsChanged will be called per window position/size change (Next
patch is Android implementation for it), we have to calculate safe area insets
on widget/window per change.

Current implementation is that this value is top level document only like Blink
since https://github.com/w3c/csswg-drafts/issues/4670 isn't resolved yet.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 08:16:31 +00:00
Makoto Kato 1df343ef04 Bug 1503656 - Part 4. Add safe area to nsIWidget. r=emilio
Safe area value is stored in nsIWidget for each platform support

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

--HG--
extra : moz-landing-system : lando
2020-03-04 08:15:13 +00:00
Csoregi Natalia aa5b814fee Backed out 6 changesets (bug 1503656) as per request. CLOSED TREE
Backed out changeset 27faa3b167a9 (bug 1503656)
Backed out changeset 7111f9b5ad06 (bug 1503656)
Backed out changeset 43fdc889beac (bug 1503656)
Backed out changeset 332ceea26151 (bug 1503656)
Backed out changeset f31efa4ea2ec (bug 1503656)
Backed out changeset 91b847efe591 (bug 1503656)
2020-03-04 10:07:42 +02:00
Makoto Kato e0f9d3ce27 Bug 1503656 - Part 8. Android implementation of safe area insets support r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D52513

--HG--
extra : moz-landing-system : lando
2020-03-04 07:28:42 +00:00
Makoto Kato 00949ff265 Bug 1503656 - Part 7. Notify of safe area insets changed. r=smaug
Since safe area insets uses on content, we need send it from chrome process to
content process.

SafeAreaInsetsChanged will be called per window position/size change (Next
patch is Android implementation for it), we have to calculate safe area insets
on widget/window per change.

Current implementation is that this value is top level document only like Blink
since https://github.com/w3c/csswg-drafts/issues/4670 isn't resolved yet.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 07:28:04 +00:00
Makoto Kato 1aa4001f8e Bug 1503656 - Part 4. Add safe area to nsIWidget. r=emilio
Safe area value is stored in nsIWidget for each platform support

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

--HG--
extra : moz-landing-system : lando
2020-03-04 07:26:04 +00:00
Greg V 77677bf972 Bug 1590832 - fix Wayland dmabuf texture crash and rendering on Radeon r=stransky
1. Use GBM map/unmap API correctly

The documentation of gbm_bo_unmap describes the second argument as
"map_data opaque ptr returned from prior gbm_bo_map",
which refers to the pointer written to the map_data location by gbm_bo_map,
not the pointer *returned* by gbm_bo_map.

This fixes crashes with widget.wayland-dmabuf-textures.enabled
on the Mesa RadeonSI driver.

2. Set modifier to invalid on the fallback code path

This fixes fCreateImage failure, allowing actual rendering
to happen.

(mBufferModifier was not set to DRM_FORMAT_MOD_INVALID,
so unsupported attributes were added to the CreateImage call)

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

--HG--
extra : moz-landing-system : lando
2020-03-04 07:13:47 +00:00
Emilio Cobos Álvarez 741c54ae79 Bug 1619664 - Decide which theme to use per document, not per-process. r=mstange,spohl
This allows testing much more easily.

There are some edge cases with native theme changes and such (ThemeChanged and
co assume there's only one theme per process). But I don't think they matter
much for our use cases.

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

--HG--
extra : moz-landing-system : lando
2020-03-03 19:46:41 +00:00
Kartikaya Gupta d633586fcc Bug 1618545 - Delete obsolete/unused code relating to Fennec's experimental ui.zoomedview feature. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65022

--HG--
extra : moz-landing-system : lando
2020-03-03 15:27:50 +00:00
Mihai Alexandru Michis 27d7312e19 Backed out changeset 469d7894f720 (bug 1618545) for causing bustages in src/layout/base/PositionedEventTargeting.cpp
CLOSED TREE
2020-03-03 14:52:13 +02:00
Kartikaya Gupta 432394ae9f Bug 1618545 - Delete obsolete/unused code relating to Fennec's experimental ui.zoomedview feature. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65022

--HG--
extra : moz-landing-system : lando
2020-03-02 21:53:50 +00:00
Makoto Kato 700ac16e44 Bug 1499076 - Dispatch key down event before firing input event. r=geckoview-reviewers,snorp
When deleting text by backspace key of VKB, VKB might use `InputConnection.setComposingText`, not using KeyEvent. So although we dispatch dummy key event, the order of events is incorrect. We should dispatch keydown before input event.

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

--HG--
extra : moz-landing-system : lando
2020-03-02 22:27:44 +00:00
Masayuki Nakano dace885161 Bug 1449831 - part 4: Add automated tests for `InputEvent.getTargetRanges()` r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D64731

--HG--
extra : moz-landing-system : lando
2020-03-03 03:41:16 +00:00
Masayuki Nakano f5af8613ec Bug 1449831 - part 3: Make editor set target ranges of `beforeinput` event if the editor instance is an `HTMLEditor` r=smaug
In most cases, `InputEvent.getTargetRange()` of `beforeinput` event should
return `Selection` ranges at dispatching the event.

This patch also handles special cases.
* composition change - target range should be the previous composition string
  which will be replaced with new composition string.
* replace text - target range should be the replace range.  This is used by
  spellchecker.
* drop - target range should be the drop point.

However, the other exception is not handled by this patch.  That is, deletions.
The target range(s) should be the range(s) which will be removed.  In most
cases, they also matches selection ranges, but may be extended to:
* surrogate pair boundary
* grapheme cluster boundary like complex emoji
* word/line deletion deletion
* `Backspace` or `Delete` from collapsed selection
* to end of unnecessary whitespaces

For supporting these cases, we need to separate
`HTMLEditor::HandleDeleteSelection()` and its helper methods and helper class
to range computation part and modifying the DOM tree part.  Of course, it
requires big changes and `InputEvent.getTargetRanges()` may be important for
feature detection of `beforeinput` event so that we should put off the big
changes to bug 1618457.

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

--HG--
extra : moz-landing-system : lando
2020-03-03 03:39:26 +00:00
Masayuki Nakano 0af4f88f9d Bug 1449831 - part 2: Make `InputEventOptions` be able to take target ranges r=smaug
`InputEventOptions` should be able to take target ranges for `beforeinput`
event.  However, it requires to include `StaticRange.h` from `nsContentUtils.h`
even though most `nsContentUtils.h` users don't need it.  Therefore, this patch
moves it from `nsContentUtils.h` to new header file.

And makes `nsContentUtils::DispatchInputEvent()` moves the target ranges
from `InputEventOptions` to `InternalEditorInputEvent`.

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

--HG--
extra : moz-landing-system : lando
2020-03-03 03:38:43 +00:00
Masayuki Nakano b4cc4486d4 Bug 1449831 - part 1: Add `InputEvent.getTargetRanges()` r=smaug
`InputEvent.getTargetRanges()` can be used only when event type is
`beforeinput`.  So, it may be used for feature detection of `beforeinput`
event because Chrome does not implement `onbeforeinput` event handler attribute.
Therefore, this patch makes it behind the pref for `beforeinput` event.

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

--HG--
extra : moz-landing-system : lando
2020-03-02 07:39:38 +00:00
Emilio Cobos Álvarez 2b1bbce9a6 Bug 1618988 - Move text selection colors outside of geckoview.css. r=m_kato
Maybe we should be using some native color, but the background for that is white
in my testing, so probably not, or at least probably it can be a follow-up.

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

--HG--
extra : moz-landing-system : lando
2020-03-02 04:28:14 +00:00
Stephen A Pohl 81c6cdac1f Bug 1615101: Don't show :active state for disabled radio, checkbox and dropdown controls when the native theme is disabled. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D64982

--HG--
extra : moz-landing-system : lando
2020-03-02 18:09:00 +00:00