Commit Graph

23995 Commits

Author SHA1 Message Date
Bogdan Tara
30c8b1bee3 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-09-07 00:59:25 +03:00
Haik Aftandilian
ca8ba234b7 Bug 1487204 - Add platform support for calling authorizationStatusForMediaType and requestAccessForMediaType from JS r=spohl
Add a new interface nsIOSPermissionRequest for querying the
staus of access permissions for audio/video media capture and
requesting access to audio/video capture devices. Provides an
implementation for macOS 10.14 and a default implementation
(nsOSPermissionRequestBase) for earlier macOS versions and other
platforms. The default implementation always returns status
indicating access is allowed.

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

--HG--
extra : moz-landing-system : lando
2018-09-06 16:06:15 +00:00
Martin Stransky
eec457b056 Bug 1408360 - Make toplevel window transparent under mozilla.widget.titlebar-theme-round-corners pref, r=jhorak
Some Gtk+ themes use non-rectangular toplevel windows. To fully support
such themes we need to make toplevel window transparent with ARGB visual.
It may cause performance issue so let's put it under a preference
and allow distros to enable it per default theme.

Depends on D4664

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

--HG--
extra : moz-landing-system : lando
2018-09-06 11:52:46 +00:00
Martin Stransky
a8d81f3a0b Bug 1408360 - Draw window decoration as a part of the GtkHeaderBar widget, r=jhorak
GtkWindow decoration is a part of GtkHeaderBar widget so we need to include
that in our GtkHeaderBar paint.

Depends on D4663

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

--HG--
extra : moz-landing-system : lando
2018-09-06 11:52:33 +00:00
Martin Stransky
30b73cfa58 Bug 1408360 - Create GtkHeaderBar widget at once, r=jhorak
To get correct style of GtkHeaderBar widget we need to get style of fully
occupied widget with child buttons.

When GtkHeaderBar Gtk+ style is requested create also all child elements
and then return the style.

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

--HG--
extra : moz-landing-system : lando
2018-09-06 11:52:19 +00:00
Martin Stransky
6fa6395791 Bug 1487763 - [Wayland] Set scale factor settings before wl_surface commit, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D5029

--HG--
extra : moz-landing-system : lando
2018-09-06 09:06:10 +00:00
Gabriele Svelto
b0e6709e13 Bug 1476250 - Simplify HAL initialization and shutdown to reduce the chance of leaks and UAFs r=froydnj
This patch initializes some HAL components greedily so that we can get rid of
lazy initializers within the code. Observers are still lazily initialized
because they can be instanced within content processes but that doesn't always
happen and we don't want to pay the memory price for structures we don't use.

Shutdown is now happening at a fixed time for all HAL components save
WakeLocks. This ensures that we don't destroy an object while still iterating
over it, something that could happen before.

Finally a workaround for a compiler limitation has been removed.

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

--HG--
extra : moz-landing-system : lando
2018-08-31 20:29:30 +00:00
Henri Sivonen
f691976c87 Bug 1487051 - Remove EnsureStringLength(). r=froydnj
MozReview-Commit-ID: 4X4Rrs8xHTF

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

--HG--
extra : moz-landing-system : lando
2018-09-04 18:25:11 +00:00
Martin Stransky
b3f03ff946 Bug 1484921 - [Wayland] Delay commit to hidden surfaces, r=jhorak
WindowSurfaceWayland::Commit() request may be called before associated GdkWindow is fully mapped.
In that case the commit fails because we can't commit to hidden wl_surface.

This patch delays the commit until the GdkWindow is fully visible and associated wl_surface
is ready.

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

--HG--
extra : moz-landing-system : lando
2018-09-04 11:05:54 +00:00
Xidorn Quan
0e6aaf6ad2 Bug 1487978 - Fix C4305 warning on msvc from bug 1471086.
--HG--
extra : source : df5db1b081cb7c3dc28695a6efd91e2ab8d8d66a
2018-09-03 11:45:32 +10:00
Xidorn Quan
20de9cdfc6 Bug 1471086 - Derive hover and active color for custom scrollbars. r=jmathies
Differential Revision: https://phabricator.services.mozilla.com/D4398

--HG--
extra : moz-landing-system : lando
2018-08-31 21:33:41 +00:00
Martin Stransky
f02cc30bbb Bug 1485969 - Enable titlebar rendering on Enlightenment desktop, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D4755

--HG--
extra : moz-landing-system : lando
2018-08-31 13:02:07 +00:00
Martin Stransky
aa85fb680f Bug 1477268 - Use window manager decorations instead of CSD mode on Unity, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D4746

--HG--
extra : moz-landing-system : lando
2018-08-31 08:14:24 +00:00
Gijs Kruitbosch
0a398561da Bug 1487263 - set requesting principal for macOS drags, r=mstange
The requesting principal is now required for saving content through
nsIWebBrowserPersist, and so drag sessions on macOS need to provide one, just
like drag sessions on Windows already do (see bug 664717).

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

--HG--
extra : moz-landing-system : lando
2018-08-30 13:56:44 +00:00
Martin Stransky
391e303121 Bug 1464826 - [Wayland] Don't calculate popup offset relatively to mShell on Wayland as it's relative to mContainer, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D4073

--HG--
extra : moz-landing-system : lando
2018-08-30 09:15:15 +00:00
Martin Stransky
4279b9c392 Bug 1462227 - Enable hiding system titlebar on Deepin desktop, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D4212

--HG--
extra : moz-landing-system : lando
2018-08-30 09:03:45 +00:00
Gijs Kruitbosch
d8fe716bb5 Bug 1485253 - fix crashes due to dead windows' taskbar preview objects sticking around, r=m_kato,florian
The fix in bug 1418793 accidentally removed the onCloseWindow call, which
meant we were setting `.enabled` on taskbar window objects whose windows
were already dead, which was causing crashes.

I've reverted the removal, and also added some nullchecking, because the
C++ component shouldn't make it this easy for consumers to cause crashes.

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

--HG--
extra : moz-landing-system : lando
2018-08-30 00:58:19 +00:00
Gabriele Svelto
6bddc0a55e Bug 1486772 - Refactor the screen-orientation types and headers r=smaug
This patch removes the 'ScreenOrientationInternal' type from
dom/base/ScreenOrientation.h and moves it into the
HalScreenConfiguration.h header, renaming it simply to 'ScreenOrientation'
in the process. This has several knock-off effects:

- It allows files that needed ScreenOrientationInternal to include a much
  smaller header than before

- It greatly reduces the number of headers pulled in when including Hal.h

- It clarifies the role of the type. The 'Internal' part in the name had
  nothing to do with it being part of the implementation. The type was public
  and called that way only to avoid clashing with the 'ScreenOrientation'
  class. Since we moved it into a different namespace it can be renamed
  safely.

- It allows a file that was manually re-declaring 'ScreenConfigurationInternal'
  type to use the original one

- Finally this fixes a few files which were missing headers they actually
  required but that would still build because unified compilation put them into
  units that already had those headers thanks to ScreenConfiguration.h

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

--HG--
extra : moz-landing-system : lando
2018-08-29 20:54:56 +00:00
Margareta Eliza Balazs
2fe43133db Merge inbound to mozilla-central. a=merge 2018-08-29 12:43:37 +03:00
Hiroyuki Ikezoe
08a872d1f5 Bug 1475462 - Implement prefers-reduced-motion for MacOSX. r=mstange
The local declaration part was done by jfkthame.

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

--HG--
extra : moz-landing-system : lando
2018-08-29 01:36:37 +00:00
Jan Henning
07d61a0e0f Bug 1485833 - Use a backwards compatible way of handling NDK changes in jni.h. r=jchen
When building with the NDK clang, which is the easiest way of building locally,
NDK r17 doesn't work for ARM builds because of a broken clang, and while the
NDK r18-beta fixes that problem, for some people it causes a different set of
issues.
Since NDK r15c doesn't have the ndk-version.h headers, switch to a different
way of bridging the differences that allows people to continue building with
r15c locally.

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

--HG--
extra : moz-landing-system : lando
2018-08-28 20:05:36 +00:00
arthur.iakab
7df3c5baab Merge inbound to mozilla-central a=merge 2018-08-25 06:35:21 +03:00
Ehsan Akhgari
a093c19492 Bug 1485247 - Remove the XPCOM component registration for Cocoa popup windows; r=mstange 2018-08-24 19:14:11 -04:00
Xidorn Quan
9daee9a3a5 Bug 1464723 - Implement custom scrollbar support for GTK widget. r=karlt,dholbert
When any scrollbar color is specified, or scrollbar-width is thin, we
switch to use the fallback rendering.

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

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

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

--HG--
extra : moz-landing-system : lando
2018-08-24 07:40:07 +00:00
Paolo Amadini
bfef02108d Bug 1457216 - Remove support for editable menulists. r=surkov,bgrins
Differential Revision: https://phabricator.services.mozilla.com/D4306

--HG--
extra : rebase_source : e8b4946c8f657e2283bc96cb08de802493e3a826
2018-08-24 15:44:38 +01:00
Nicholas Nethercote
fe34f19459 Bug 1486690 - Rename nsMemory::Clone() and remove unnecessary checks after it. r=glandium
The 'x' in the new name makes it clearer that it's infallible.

--HG--
extra : rebase_source : 51fd946c482befe8a8ca5bd88ecc967971f455da
2018-08-28 15:59:19 +10:00
Nicholas Nethercote
ac5efebb4b Bug 1486690 - Remove unnecessary checks after moz_xmalloc() calls. r=glandium
There are surprisingly many of them.

(Plus a couple of unnecessary checks after `new` calls that were nearby.)

--HG--
extra : rebase_source : 47b6d5d7c5c99b1b50b396daf7a3b67abfd74fc1
2018-08-28 15:56:01 +10:00
ozoder
50a0e0db96 Bug 1481392 - Close DBus connection after print, r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D3861

--HG--
extra : moz-landing-system : lando
2018-08-24 08:03:54 +00:00
Kris Maglione
2dee0aae3c Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj
This allows JS callers to automatically get the correct types during
interation, without having to explicitly specify them.

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

--HG--
extra : rebase_source : b708f382d8ea571d199c669bfed5b5a7ca9ffac4
extra : histedit_source : 7df6feb82088c8a5ca45dc28fe4d2b852c177fee
2018-08-18 21:06:32 -07:00
Kris Maglione
65c28aa0ad Bug 1484496: Part 2 - Add common base class for all nsISimpleEnumerator implementations. r=froydnj
In order to allow JS callers to use nsISimpleEnumerator instances with the JS
iteration protocol, we'll need to additional methods to every instance. Since
we currently have a large number of unrelated implementations, it would be
best if they could share the same implementation for the JS portion of the
protocol.

This patch adds a stub nsSimpleEnumerator base class, and updates all existing
implementations to inherit from it. A follow-up will add a new base interface
to this class, and implement the additional functionality required for JS
iteration.

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

--HG--
extra : rebase_source : ad66d7b266856d5a750c772e4710679fab9434b1
extra : histedit_source : a83ebffbf2f0b191ba7de9007f73def6b9a955b8
2018-08-18 14:22:47 -07:00
Landry Breuil
3870cf7d0c Bug 1457092 - Disable codepaths forbidden by pledge() when being sandboxed on OpenBSD. r=froydnj
--HG--
extra : rebase_source : 49ef652c8c36ded2f18ed635b361250214eec55b
2018-08-22 05:29:00 -04:00
Ehsan Akhgari
6bbaf2cf8c Bug 1489147 - Remove the XPCOM component registration for nsXPConnect; r=mccr8
We move the XPConnect() singleton accessor to nsIXConnect to make it available for consumers outside of XPConnect.  Most of the consumers of the singleton accessor just need the nsIXPConnect public interface, except for the IsShuttingDown() member which this patch adds to nsIXPConnect as well.

Differential Revision: https://phabricator.services.mozilla.com/D5151
2018-09-06 16:39:35 -04:00
shindli
2a86142e74 Backed out changeset d4ae1994c20c (bug 1489147) for bustages in JSDebugger.cpp on a CLOSED TREE 2018-09-06 22:12:44 +03:00
Ehsan Akhgari
bb7fcd9d69 Bug 1489147 - Remove the XPCOM component registration for nsXPConnect; r=mccr8
We move the XPConnect() singleton accessor to nsIXConnect to make it available for consumers outside of XPConnect.  Most of the consumers of the singleton accessor just need the nsIXPConnect public interface, except for the IsShuttingDown() member which this patch adds to nsIXPConnect as well.

Differential Revision: https://phabricator.services.mozilla.com/D5151
2018-09-06 14:52:07 -04:00
Jan Henning
e04236b5f9 Bug 1484823 - Fix Android build errors with NDK r18-beta1. r=snorp
Getting a working local build with the system clang might be tricky, while
building with NDK r17 clang is broken (bug 1484723).
NDK r18-beta1 fixes this, but also made all jvalue* method parameters in jni.h
const,so in order to support building with it we need to adjust our relevant
function types, too.

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

--HG--
extra : moz-landing-system : lando
2018-08-22 16:01:33 +00:00
Olli Pettay
ddda29dcf1 Bug 1484371 - make *enter/*leave events uncomposed, r=masayuki
--HG--
extra : rebase_source : 508dc487915b352682887e1a4650fc396564d532
2018-08-22 16:08:17 +03:00
Mantaroh Yoshinaga
b65f665554 Bug 1479071 - Revert kPMDataFormatXMLCompressed to kPMDataFormatXMLNormal. r=mstange
Bug 1411879 introduced kPMDataFormatXMLCompress. However, this parameter caused
the saving print settings problem.
Before investigating this reason, this patch will revert this parameter.

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

--HG--
extra : moz-landing-system : lando
2018-08-22 02:07:28 +00:00
Ehsan Akhgari
a07f6c3866 Bug 1484848 - Remove the XPCOM component registrations for window and child window; r=mstange 2018-08-21 16:20:28 -04:00
Randall Barker
91e6e6d242 Bug 1484463 - Remove GeckoAppShell.setScreenDepthOverride(). r=jchen
Differential Revision: https://phabricator.services.mozilla.com/D3813

--HG--
extra : moz-landing-system : lando
2018-08-20 19:11:09 +00:00
Xidorn Quan
a6778a765c Bug 1484565 - Implement scrollbar-width: thin support for cocoa widget. r=spohl
It also converts nsNativeThemeCocoa::GetParentScrollbarFrame into a
local static function rather than a member function, since it doesn't
seem to be necessary that way.

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

--HG--
extra : moz-landing-system : lando
2018-08-20 04:57:58 +00:00
Xidorn Quan
fa3e266ae9 Bug 1475033 part 7 - Implement scrollbar-width: thin for Windows. r=jimm
Since Windows doesn't provide native thin scrollbar variant, this patch
tries to synthesize one by doing the following:
* force to use custom scrollbar, and
* hide the scrollbar button by giving them zero size, and
* cut the thickness of scrollbar by half.

Half thickness is picked randomly, but it seems to work fine. A third
of the size also looks fine, but maybe a bit harder to drag.

Note: Universal Windows Platform apps seem to have an overlay style of
scrollbar by default, but I cannot find any Windows API to render that,
so that may be a builtin component of UWP. We may want to do that at
some point, but this is probably good enough for now.

MozReview-Commit-ID: KfHjy8WdweT

--HG--
extra : rebase_source : 4776fc5e2264c0b9146ca89d40b4e8b952307d0e
2018-08-06 15:18:27 +10:00
Xidorn Quan
dbae6ea230 Bug 1475033 part 6 - Have scrollbar auto colors resolve to the corresponding colors on Windows 10. r=jimm
So that we can use custom scrollbar for thin scrollbar.

MozReview-Commit-ID: FCHzV5MJbx

--HG--
extra : rebase_source : 4742d2bb1f612ff60890d5c01a4532ee4542624e
2018-08-06 15:13:17 +10:00
Hiroyuki Ikezoe
61a6f8e3f2 Bug 1478576 - A mochitest for system font change notification. r=froydnj,jimm,karlt
The test case in this patch fails without the proper fix in the first patch
in this patch series.

In this patch two new nsIDOMWindowUtils APIs are introduced to change the
system font settins in tests.  Currently the APIs work only on GTK+ platform.

Also to work the test case properly we need to open a new XUL window because we
don't propagate font changes into descendant documents yet (bug 1478212).

MozReview-Commit-ID: 4OLxEkEuF8d

--HG--
extra : rebase_source : 683e64f07c4d8820e5499d8c15b90975618559b8
2018-08-07 11:58:36 +09:00
Hiroyuki Ikezoe
37db7332a4 Bug 1478576 - Use nsBaseWidget::NotifyThemeChanged for dark/liehgt theme changes on Windows 10. r=mhowell
Now nsBaseWidget::NotifyThemeChanged properly notifies to the pres shell.

MozReview-Commit-ID: Kmd68ckHanl

--HG--
extra : rebase_source : 9928f3788f34b05ff91d1d2b11e2cd332f00af76
2018-08-07 11:56:22 +09:00
Hiroyuki Ikezoe
d97c323105 Bug 1478576 - Drop GetXULWindow() check in nsBaseWidget::NotifyPresShell. r=karlt
In these days, it's common to not create a child widget, so if there is
GetXULWindow() check the notifications are not propagated to the proper pres
shell.  Even in the case there is a child widget, which means both of the parent
and the child widgets notify to the same pres shell, but NotifySizeMoveDone is
fairly cheap, and the other two notifications (SysColorChanged and ThemeChanged)
are queued and will be processed later together, so it will not be a big deal.

MozReview-Commit-ID: 2t23kVZzXgS

--HG--
extra : rebase_source : 79f8a955a70f19812373e219e2cee29f669a528e
2018-08-07 11:56:18 +09:00
Jan Henning
619de3dc05 Bug 1476106 - Part 4 - Refresh ScreenManager data when detecting orientation changes. r=snorp
As of bug 1475875, cached screen data is now held by Gecko, so
- we no longer need to cache the screen size (retrieval of which can be
  expensive when called en masse, as required e.g. by font inflation) within
  GeckoAppShell, and
- we need to trigger a refresh of that data instead when the activity
  orientation changes.

MozReview-Commit-ID: JsY6sBCcOih

--HG--
extra : rebase_source : f286f3b01732bd724da3988c4713adb7329a5fae
2018-08-02 22:03:59 +02:00
Nicolas Silva
43aaf84a4c Bug 1482795 - Fix the gfx memory pressure observer. r=sotaro 2018-08-14 21:10:11 +02:00
Andreea Pavel
5d75e43adc Merge mozilla-inbound to mozilla-central. a=merge 2018-08-14 19:15:33 +03:00
Henri Sivonen
3edc601325 Bug 1402247 - Use encoding_rs for XPCOM string encoding conversions. r=Nika,erahm,froydnj.
Correctness improvements:

 * UTF errors are handled safely per spec instead of dangerously truncating
   strings.

 * There are fewer converter implementations.

Performance improvements:

 * The old code did exact buffer length math, which meant doing UTF math twice
   on each input string (once for length calculation and another time for
   conversion). Exact length math is more complicated when handling errors
   properly, which the old code didn't do. The new code does UTF math on the
   string content only once (when converting) but risks allocating more than
   once. There are heuristics in place to lower the probability of
   reallocation in cases where the double math avoidance isn't enough of a
   saving to absorb an allocation and memcpy.

 * Previously, in UTF-16 <-> UTF-8 conversions, an ASCII prefix was optimized
   but a single non-ASCII code point pessimized the rest of the string. The
   new code tries to get back on the fast ASCII path.

 * UTF-16 to Latin1 conversion guarantees less about handling of out-of-range
   input to eliminate an operation from the inner loop on x86/x86_64.

 * When assigning to a pre-existing string, the new code tries to reuse the
   old buffer instead of first releasing the old buffer and then allocating a
   new one.

 * When reallocating from the new code, the memcpy covers only the data that
   is part of the logical length of the old string instead of memcpying the
   whole capacity. (For old callers old excess memcpy behavior is preserved
   due to bogus callers. See bug 1472113.)

 * UTF-8 strings in XPConnect that are in the Latin1 range are passed to
   SpiderMonkey as Latin1.

New features:

 * Conversion between UTF-8 and Latin1 is added in order to enable faster
   future interop between Rust code (or otherwise UTF-8-using code) and text
   node and SpiderMonkey code that uses Latin1.

MozReview-Commit-ID: JaJuExfILM9
2018-08-14 14:43:42 +03:00
Margareta Eliza Balazs
9575863d77 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-14 12:35:25 +03:00