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

24192 Коммитов

Автор SHA1 Сообщение Дата
Thomas Wisniewski fa9d7563e5 Bug 1035774 - Introduce functions to get the capabilities for the primary pointer and for all available pointers on Windows. r=masayuki
Note that the logic of IsTabletDevice() and relevant stuff are mostly a mimic of
IsTabletDevice [1] and IsDeviceUsedAsATablet [2] in chromium.

As for the primary pointer's capabilities, there seems no API to tell which
device is the primary, so here we determine it as following priorities;

1) if the machine is in tablet mode, the tablet (touch screen) is the primary
2) if the machine has a mouse, the mouse is the primary
3) if the machine has a digitizer, it's the primary

This priority is also the same as what chromium does in
GetPrimaryPointerType [2] and GetAvailablePointerTypes [3].

[1] d4c8983688/base/win/win_util.cc (450)
[2] d4c8983688/base/win/win_util.cc (468)
[3] d4c8983688/ui/base/touch/touch_device_win.cc (37)
[4] d4c8983688/ui/base/touch/touch_device_win.cc (82)

Differential Revision: https://phabricator.services.mozilla.com/D3300
2018-08-14 16:38:03 +09:00
Thomas Wisniewski d82fa0f0c9 Bug 1035774 - Factor out a function getting the windows power platform role. r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D3299
2018-08-14 16:38:03 +09:00
Hiroyuki Ikezoe ef03e2a299 Bug 1035774 - Add media feature keys for hover and pointer. r=heycam,emilio
Summary:
https://drafts.csswg.org/mediaqueries-4/#hover
https://drafts.csswg.org/mediaqueries-4/#pointer

In this patch series, we don't introduce any-hover and any-pointer media
features yet, but functionalities for them on each platform backends will be
introduced in this patch series, so eIntID_AllPointerCapabilities and relevant
stuff is added in this patch for the convenience that each platform backends
can be reviewed at once.

Differential Revision: https://phabricator.services.mozilla.com/D3296
2018-08-14 17:13:04 +09:00
Jonathan Kew 6f42f167fb Bug 1490402 - Use UTF-8 strings (in place of UTF-16) for font family/face names in the system font list, to reduce memory footprint. r=lsalzman 2018-09-12 20:34:57 +01: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
Andrew Swan 62bcb25a7c Bug 1451503 Move most reftest resources from chrome: to resource: r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D5232

--HG--
extra : rebase_source : 00223dacf6cfdfc4bb8505405844f66c7134e2c0
extra : histedit_source : 2d1f6e353e394520038c05b07bcd08ce06908cf2
2018-09-06 16:01:39 -07: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
Noemi Erli 803184ef7d Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-04 07:11:04 +03:00
Edouard Oger e46f0d7370 Bug 1155505 - Part 2. Implement native Window Toasts as a notification backend. r=jmathies
Implemnt notification backend by Windows Toast API that is from Windows 8+.

Original patch is me and add some features by eoger.

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

--HG--
extra : rebase_source : 0368f269e9adb2347621500b7c9d62c172a71e39
2018-10-03 17:57:23 +09:00
Makoto Kato c973b2e0b9 Bug 1155505 - Part 1. Move WriteBitmap to WinUtils. r=jmathies
WriteBitmap will be used for Toast implementation, so it should be moved to
WinUtils.

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

--HG--
extra : rebase_source : b418288b52e14f62122f56dbc40e771c73fd6414
2018-03-23 16:41:58 -04:00
Nicholas Nethercote 36c48819d1 Bug 1451169 - Use `nsStaticAtom*` instead of `nsStaticAtom**` in Element.h. r=baku
--HG--
extra : rebase_source : db09f7ab93a1c41ace03a645623f78a27ecfff8c
2018-04-03 13:21:06 +10:00
Cosmin Sabou 2731d11658 Merge mozilla-central to inbound. a=merge 2018-10-04 02:40:08 +03: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
Xidorn Quan 33b8a6dacd Bug 1483090 - Rename StyleUserInterface to StyleUI. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D3276

--HG--
extra : moz-landing-system : lando
2018-08-14 08:37:37 +00:00
Ting-Yu Lin 48d02834a5 Bug 1482665 Part 2 - Remove nsPresContext::AppUnitsPerCSSPixel() and replace it with mozilla::AppUnitsPerCSSPixel(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3155
2018-08-13 14:29:28 -07:00
Tim Nguyen f0ee1746ef Bug 1472276 - Make -moz-cellhighlight distinct from Highlight and -moz-field r=karlt
Since focused+selected tree cells will no longer get an outline, we will start using a different background for the unfocused state.
That background needs to be distinct from Highlight, used on selected and focused items
and also distinct from -moz-appearance: listbox, which is used as the box background.

MozReview-Commit-ID: 7hcnueYlOXR

--HG--
extra : rebase_source : 42bb15e86252d72a3f58831079162d0f4723afc9
2018-06-29 19:23:03 +01:00
Nicolas Silva 03b39c61f2 Bug 1482109 - Use the generic memory pressure observer in PuppetWidget. r=sotaro 2018-08-10 17:15:18 +02:00
Geoff Brown 11f0d46c60 Bug 1481587 - Skip a few mochitests on Android x86 7.0 only; r=snorp
Skip a few failing tests on Android 7, to enable green runs of mochitest-cl
and mochitest-gpu on packet.net.
2018-08-10 07:54:41 -06:00
Margareta Eliza Balazs f617807241 Merge inbound to mozilla-central. a=merge 2018-08-10 12:17:09 +03:00
Noemi Erli 125e35c2c4 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-10 00:35:08 +03:00
Masayuki Nakano 8da2dfcf57 Bug 1481148 - Make TSFTextStore::MaybeHackNoErrorLayoutBugs() keep hacking the result of GetTextExt() even on Win10 build 17643 and later for ATOK 2016 and newer r=m_kato
ATOK 2016 and newer may show candidate window at odd position temporarily
when user converts a word quickly (e.g., keep pressing space bar).
For avoiding this flicker, we should keep hacking GetTextExt() result for
ATOK 2016 and later even after Windows fixes TS_E_NOLAYOUT bug.
2018-08-07 15:56:17 +09:00
Masayuki Nakano a5cfed23c5 Bug 1481153 - part 4: Should stop hacking the result of TSFTextStore::GetTextExt() when Win10 build 17643 only in Nightly or early Beta r=m_kato
We should get feedback from each CJKT testers at least one cycle after Win10
RS5 is released.  Until then, we should not stop hacking GetTextExt() result
in late Beta nor Release builds.
2018-08-07 21:30:52 +09:00
Masayuki Nakano d928c7f7e1 Bug 1481153 - part 3: Make TSFTextStore::MaybeHackNoErrorLayoutBugs() hack even on Win10 build 17643 or later when Microsoft Pinyin or Microsoft Wubi is active r=m_kato
Microsoft Pinyin and Microsoft Wubi (Simplified Chinese TIPs) work better on
Windows 10 Build 17643 or later (i.e., TS_E_NOLAYOUT bug is fixed).  However,
they sometimes do not show candidate window, perhaps, the reason is something
stateful bug in them.  Therefore, we still need to hack the result of
GetTextExt() until they fix this bug.
2018-08-07 15:09:31 +09:00
Masayuki Nakano 4cb7504106 Bug 1481153 - part 2: Rewrite TSFTextStore::MaybeHackNoErrorLayoutBugs() with switch-case statement with TSFStaticSink::ActiveTIP() r=m_kato
Currently, TSFTextStore::MaybeHackNoErrorLayoutBugs() checks pref to enable
hack first, then, check if active TIP is the target of pref.  This was intended
to save comparison cost of GUIDs.  However, we don't need to worry about the
cost and that was not makes sense since all prefs are true by default.

So, this patch makes the big if-elseif blocks with switch-case with
TSFStaticSink::ActiveTIP().  Then, each case block starts to check if
- if Windows still TS_E_NOLAYOUT bug of GetTextExt().
- if corresponding pref is true.

Note that this duplicates some code for making the code look easier.
E.g., eMicrosoftOfficeIME2010ForJapanese case is duplicated from
the eMicrosoftIMEForJapanese case.  eMicrosoftPinyin and eMicrosoftWubi case
is duplicated from the eMicrosoftChangJie and eMicrosoftQuick case.
2018-08-07 14:12:13 +09:00
Masayuki Nakano 1bb7f99732 Bug 1481153 - part 1: Make TSFStaticSink cache active TIP rather than checking it every time with GUID comparison r=m_kato
As we know, GUID comparison is not cheap if it's required a lot.  Unfortunately,
we need to check it more in TSFTextStore::MaybeHackNoErrorLayoutBugs() and
it's called a lot.  So, even though mapping from GUID to TIP is expensive,
we should do it only once.  Note that most users won't change IME during a
browser session, so, running this expensive method once must be reasonable.
On the other hand, we don't allow to make damage to start up performance,
we should avoid to do it as far as possible.  For example, when we need to
check if active TIP is a specific TIP, we should check current language.
2018-08-06 22:29:14 +09:00
Martin Stransky 4854321662 Bug 1481385 - Calculate bitmap mask size with stride. r=lsalzman
--HG--
extra : amend_source : 950b8705896cbe861366f1ea80f657d5debd097a
2018-08-09 12:10:18 +03:00
Neil Deakin 8fe5a35999 Bug 1473029, have nsTreeBodyFrame::GetSelectionRegion use nsIntRegion instead of nsIScriptableRegion, r=mstange 2018-08-07 09:32:08 -04:00
Neil Deakin a399d3073b Bug 1473029, convert drag services to internally use CSSIntRegion instead ns nsIScriptableRegion, r=mstange 2018-08-07 09:32:08 -04:00
Neil Deakin 03caccfe9e Bug 1473029, remove the region arguments from InvokeDragSession and InvokeDragSessionWithImage, r=mstange 2018-08-07 09:32:07 -04:00
Neil Deakin 5c09ea7e66 Bug 1473029, move the tree drag region handling into nsBaseDragService::InvokeDragSessionWithImage, r=mstange 2018-08-07 09:32:07 -04:00
L. David Baron 1e88f0f003 Bug 1369941: Replace single integers N in fuzzy() and fuzzy-if() with 0-N ranges. r=dholbert
This patch was written entirely by the following script:

  #!/bin/bash

  if [ ! -d "./.hg" ]
  then
    echo "Not in a source tree." 1>&2
    exit 1
  fi

  find . -regex '.*\(ref\|crash\)test.*\.list' | while read FILENAME
  do
    echo "Processing ${FILENAME}."
    # The following has four substitutions:
    # * The first one replaces the *first* argument to fuzzy() when it doesn't
    #   have a - in it, by replacing it with an explicit 0-N range.
    # * The second one does the same for the *second* argument to fuzzy().
    # * The third does the same for the *second* argument to fuzzy-if().
    # * The fourth does the same for the *third* argument to fuzzy-if().
    #
    # Note that this is using perl rather than sed because perl doesn't
    # support non-greedy matching, which is needed for the first argument to
    # fuzzy-if.
    perl -pi -e 's/(fuzzy\()([^ ,()-]*)(,[^ ,()]*\))/${1}0-${2}${3}/g;s/(fuzzy\([^ ,()]*,)([^ ,()-]*)(\))/${1}0-${2}${3}/g;s/(fuzzy-if\([^ ]*?,)([^ ,()-]*)(,[^ ,()]*\))/${1}0-${2}${3}/g;s/(fuzzy-if\([^ ]*?,[^ ,()]*,)([^ ,()-]*)(\))/${1}0-${2}${3}/g' "${FILENAME}"
  done

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

--HG--
extra : moz-landing-system : lando
2018-08-09 20:10:21 +00:00
James Willcox f1b8f63457 Bug 1475875 - Use ScreenManager on Android r=esawin,jchen
This ensures we have screen information with e10s.

MozReview-Commit-ID: 1zghxZuLqr3
2018-08-07 14:14:32 -05:00
Kyle Machulis 04b50a312d Bug 1480607 - Remove nsCWebBrowser and nsCWebBrowserPersist; r=nika
It doesn't appear these IDL files have had interfaces in them since
before the Netscape import, and were mostly just hanging around
because they contained some IDs needed elsewhere. Move the IDs
somewhere more appropriate and remove files.

MozReview-Commit-ID: AINtTerqHu1

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

--HG--
extra : moz-landing-system : lando
2018-08-07 01:10:31 +00:00
Gabriele Svelto 15adf94f4d Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant C++ functions are updated to take a typed enum. JavaScript
calls are unaffected but they will throw if the string argument does not
correspond to one of the known entries in the C++ enum. The existing whitelists
and blacklists of annotations are also generated from the YAML file and all
duplicate code related to them has been consolidated. Once written out to the
.extra file the annotations are converted in string form and are no different
than the existing ones.

All existing annotations have been included in the list (and some obsolete ones
have been removed) and all call sites have been updated including tests where
appropriate.

--HG--
extra : source : 4f6c43f2830701ec5552e08e3f1b06fe6d045860
2018-07-05 15:42:11 +02:00
Masatoshi Kimura 3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Jonathan Watt 35c4d43576 Bug 1428676 pt 7. Honor the webkit pref when handling 'menulist-button' on Windows. r=emilio 2018-07-17 09:38:10 +01:00
Jonathan Watt c39e987a28 Bug 1428676 pt 6. Honor the webkit pref when handling 'menulist-button' on Linux. r=emilio 2018-07-16 19:09:42 +01:00
Jonathan Watt 665c7fd264 Bug 1428676 pt 5. Honor the webkit pref when handling 'menulist-button' on Mac. r=emilio 2018-07-16 14:46:19 +01:00
Masayuki Nakano 2552597ed2 Bug 1467373 - part 2: Skip hacks for most TIPs in TSFTextStore::HackNoErrorLayoutBugs() if running on Windows 10 build 17643 or newer r=m_kato
At Windows 10 build 17643, Microsoft fixed the bug of TSF which returns E_FAIL
to TIP when GetTextExt() returns TS_E_NOLAYOUT.  With this fix, most TIPs do
not have any problems even if we return TS_E_NOLAYOUT.  So, unless active
TIP still needs the hack, the method can skip the hack if running on build
17643 or later.

Note that we still need to support Japanist 10 and Microsoft Office IME 2010.
It confirmed that Japanist 10 has a bug of handling TS_E_NOLAYOUT.  On the
other hand, we have not tested Microsoft Office IME 2010 since it's installable
only into Win7 or Win8 and needs to upgrade it to Win10 for testing, but I
do not have the license.  After the fix comes into release channel, I'll be
able to test it though (my main environment is Win10 and it was installed
before upgraded).  So, we need to be back after Microsoft releases the fix.

MozReview-Commit-ID: 2BzkDvHTKyI

--HG--
extra : rebase_source : ee0261c83c5a1ab7b2aa2a8f476f0c6634e2cf34
2018-08-02 14:55:52 +09:00
Masayuki Nakano 34ee9cefe7 Bug 1467373 - part 1: Split hack for TS_E_NOLAYOUT part from TSFTextStore::GetTextExt() r=m_kato
The block in TSFTextStore::GetTextExt() which decides whether we should return
S_OK with unmodified character rectangle rather than TS_E_NOLAYOUT is too big.

Additionally, we need to add new condition to check Windows 10's version there.
That makes the large block more complicated.  So, we should split the block
off from TSFTextStore::GetTextExt().  Then, we can use early-return-style to
reduce the deep indentations.

MozReview-Commit-ID: J2BJMB1QD0T

--HG--
extra : rebase_source : 3c86b5ed3a83fda1045a6453250e784f11419b97
2018-08-02 14:36:03 +09:00
Boris Zbarsky 357b6b1348 Bug 1479570. Get Add a getter to get a docshell from nsIWindowlessBrowser. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D2669

--HG--
extra : moz-landing-system : lando
2018-08-03 00:05:07 +00:00
Narcis Beleuzu 4684ccf98e Merge inbound to mozilla-central. a=merge 2018-08-03 01:28:14 +03:00
Cosmin Sabou de8c2bd891 Backed out changeset 5950c9d63c3b (bug 1090497) for build bustages on several files. CLOSED TREE 2018-08-02 19:59:53 +03:00
Masatoshi Kimura feea19030c Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : a62521fdc66def4e4d5d7bf52e68365a786b5c55
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Martin Stransky 505c25cbf9 Bug 1480409 - [Linux/Gtk] Don't hardcode mHasAlphaVisual to true when WenRender is used, r=jhorak
Original patch author is Sotaro Ikeda [:sotaro] <sotaro.ikeda.g@gmail.com>

MozReview-Commit-ID: AVtDvWFqsxT

--HG--
extra : rebase_source : be77c1a7df0036b454c8795a56a20acc785a548e
2018-08-02 15:18:51 +02:00
Neil Deakin 92ff553cee Bug 1452131, properly end the drag session when the drag is aborted, for example if the mouse is released before the child process starts the drag, r=nika 2018-08-02 09:50:20 -04:00
Boris Zbarsky 754087a992 Bug 1446940 part 5. Stop getting docshells from windows via getInterface in dom/editor/etc code. r=kmag 2018-08-01 13:07:11 -04:00
Jan de Mooij 84036b8de4 Bug 1474272 part 4 - Stop using js::GetGlobalForObjectCrossCompartment in xpc::NativeGlobal. r=bholley 2018-08-01 11:25:50 +02:00
Jonathan Watt 11e49726b5 Bug 1428676 pt 1. Add a '-moz-menulist-button' value to '-moz-appearance'. r=emilio
The '-moz-menulist-button' value currently behavies identically to the
'menulist-button' value.  This is not implemented as an alias because later
patches in this patch series will change the behavior of our pre-existing
'menulist-button' value to more closely match what Chrome does.
2018-06-19 20:12:45 +01:00
Bogdan Tara 9c44097a0d Merge inbound to mozilla-central. a=merge 2018-08-01 00:58:55 +03:00
Kartikaya Gupta 3e64cfd3c3 Bug 1420061 - Don't duplicate window controls when titlebar is enabled. r=mstange
This copies over the early-exit conditions from MaybeDrawTitlebar which
is the non-WR codepath where this gets drawn. In particular, the
!mIsCoveringTitlebar clause is true when the titlebar is enabled.

MozReview-Commit-ID: 6B7vKYuyrRP

--HG--
extra : rebase_source : b8f73d2c4f9e582bdb018e6aa121e92d54c60334
2018-07-31 09:14:10 -04:00
James Willcox 0a29f4fcc4 Backed out Bug 1475875 due to Chromecast breakage. r=backout
MozReview-Commit-ID: IUjur089BVS
2018-07-31 13:11:14 -05:00
shindli 0a48a3cd3c Backed out 3 changesets (bug 1428676) for bc failures in browser/base/content/test/static/browser_parsable_css.js on a CLOSED TREE
Backed out changeset 6ba5975115fc (bug 1428676)
Backed out changeset 7f1270a9ec3d (bug 1428676)
Backed out changeset 662bfc31a950 (bug 1428676)
2018-07-31 19:30:46 +03:00
Jonathan Watt e8a416046f Bug 1428676 pt 1. Add a '-moz-menulist-button' value to '-moz-appearance'. r=emilio
The '-moz-menulist-button' value currently behavies identically to the
'menulist-button' value.  This is not implemented as an alias because later
patches in this patch series will change the behavior of our pre-existing
'menulist-button' value to more closely match what Chrome does.

--HG--
extra : rebase_source : b66bf6427db5be2eb12f4e0aa36d22a4da46555a
2018-06-19 20:12:45 +01:00
Jeff Muizelaar 98bb6b7569 Bug 1479649. Report WebRender feature status in telemetry. r=kats
This is generally helpful. I'm also seeing much less than 50% of the
wrQualified people in the study getting webrender so this could help
determine why.

MozReview-Commit-ID: 2neTFBytzPz

--HG--
extra : rebase_source : 97b1b1fe80f1a2c574141eaef8ad23499699fb82
2018-07-30 21:58:40 -04:00
Masayuki Nakano 6da4b51b7b Bug 971462 - Hide event type from constructor of WidgetCommandEvent r=smaug
The constructor of WidgetCommandEvent takes 2 nsAtom pointers.  One is for
specifying event type, the other is for specifying the command.  The
difference of these arguments are pretty unclear for other developers and
the former argument is always nsGkAtoms::onAppCommand unless nullptr in
C++ code.  So, we can hide the former argument.

Then, we should create another constructor for creating empty command event
from constructor of dom::CommandEvent.

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

--HG--
extra : moz-landing-system : lando
2018-07-30 12:20:47 +00:00
Jim Chen 9c55d02aa5 Bug 1472140 - 1. Set first paint flag when resuming and resizing composition; r=rbarker
When resuming composition in a new GeckoView, we wait for the first
paint signal in order to uncover the SurfaceView. This patch makes sure
that we always send the first paint signal.

MozReview-Commit-ID: EZeOR80d8HY

--HG--
extra : rebase_source : f82ab94ef87e5b0651f368918e8cd8a97469c68e
2018-07-30 16:38:35 -04:00
Andreea Pavel d960e5a77a Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-07-30 19:40:38 +03:00
Martin Stransky a0b8933f57 Bug 1401634 - Flush window XID to X server before we pass the XID to gpu process, r=jhorak
Make sure the window XID is propagated to X server, we can fail otherwise
in GPU process.

MozReview-Commit-ID: BMkLvhs4vRt

--HG--
extra : rebase_source : 34269cbf7e088fd15c090f3abc8ee2d46da307c4
2018-07-27 14:00:09 +02:00
Masayuki Nakano 9092695677 Bug 1461307 - Overwrite selection colors of widget which may be referred by IME via IM context with selection colors of GtkTextView r=karlt
IME (e.g., fcitx) may refer selection colors of widget under window which
is associated with IM context to support any colored widget.  So, IME
expects good selection colors which have sufficient contrast between
foreground and background, and also selection background color and
widget background color like GtkTextView.  However, some desktop themes
set our widget to different selection colors from GtkTextView which may
be unreadable.

nsTextFrame (which paints composition string) expects that composition
string colors coming from IME are sufficiently readable and background
color of composition string and background color of our editor's default
style (coming from LookAndFeel) have sufficient contrast because
nsTextFrame assmes that composition string colors coming from IME are
decided for the default style.

Therefore, this patch creates SelectionStyleProvider which overwrites
selection style of our widget with selection style of GtkTextView so
that IME can refer selection colors of GtkTextView via our widget.

MozReview-Commit-ID: 5vdcSgoEYv0

--HG--
extra : rebase_source : edf375ac393a72d3e44839a76d5c44b6db12dc63
2018-07-13 18:12:53 +09:00
Hiroyuki Ikezoe 9388b988a3 Bug 1478519 - Support prefers-reduced-motion for GTK. r=karlt
The corresponding setting for prefers-reduced-motion on GTK is
gtk-enable-animations I belive.

https://developer.gnome.org/gtk3/stable/GtkSettings.html#GtkSettings--gtk-enable-animations

MozReview-Commit-ID: GvfLYfntKym

--HG--
extra : rebase_source : 1c69f59345c381373d610eb4804fb3e0a894aa2c
2018-07-27 14:42:14 +09:00
Hiroyuki Ikezoe 6fd7b21784 Bug 1478519 - Introduce a utility method calling some notification method for nsIPresShell. r=karlt
MozReview-Commit-ID: 1uO3uZeuU4N

--HG--
extra : rebase_source : 706685ad0c32bbf2bde23dc5a0dc2daa2a9f9bc3
2018-07-27 14:36:57 +09:00
James Willcox e20b654b18 Bug 1475875 - Use ScreenManager on Android r=esawin
This makes sure things work under e10s, but also results
in simplified code since we weren't actually using the
features of nsScreenManagerAndroid any more.

MozReview-Commit-ID: 1zghxZuLqr3
2018-07-30 11:21:33 -05:00
Kris Maglione 031076f2f3 Bug 1463291: Move docShell getter from Document to Window. r=bz
DocShells are associated with outer DOM Windows, rather than Documents, so
having the getter on the document is a bit odd to begin with. But it's also
considerably less convenient, since most of the times when we want a docShell
from JS, we're dealing most directly with a window, and have to detour through
the document to get it.

MozReview-Commit-ID: LUj1H9nG3QL

--HG--
extra : source : fcfb99baa0f0fb60a7c420a712c6ae7c72576871
extra : histedit_source : 5be9b7b29a52a4b8376ee0bdfc5c08b12e3c775a
2018-05-21 16:58:23 -07:00
Kris Maglione 02ba563399 Bug 1463016: Part 5 - Add domWindow property to DocShellTreeItem and update callers to use it. r=nika
MozReview-Commit-ID: FRRAdxLHRtG

--HG--
extra : source : 0d69b4fb1ed43751cfcbc0b4f2fe3b6a49bc0494
extra : histedit_source : d0ce31513ffaae2fd7f01f6567a97b6d2d96b797%2Cfff837de7a00fa90809d2c3e755097180dfd56d8
2018-05-20 18:10:16 -07:00
Narcis Beleuzu 561ccb2ceb Backed out 2 changesets (bug 1463016, bug 1463291) for geckoview failures
Backed out changeset fcfb99baa0f0 (bug 1463291)
Backed out changeset 0d69b4fb1ed4 (bug 1463016)
2018-07-29 03:55:23 +03:00
Kris Maglione cb1ee1e34d Bug 1463291: Move docShell getter from Document to Window. r=bz
DocShells are associated with outer DOM Windows, rather than Documents, so
having the getter on the document is a bit odd to begin with. But it's also
considerably less convenient, since most of the times when we want a docShell
from JS, we're dealing most directly with a window, and have to detour through
the document to get it.

MozReview-Commit-ID: LUj1H9nG3QL

--HG--
extra : rebase_source : a13c59d1a5ed000187c7fd8e7339408ad6e2dee6
2018-05-21 16:58:23 -07:00
Kris Maglione 636f1839e5 Bug 1463016: Part 5 - Add domWindow property to DocShellTreeItem and update callers to use it. r=nika
MozReview-Commit-ID: FRRAdxLHRtG

--HG--
extra : rebase_source : 36565ef5e74360aad14062005e5bdab2939e888b
2018-05-20 18:10:16 -07:00
Emilio Cobos Álvarez 8c4ec8b3ba Bug 1479216: Restore the order of Scrollbarbutton appearance values. r=xidorn
The patch at bug 1478391 comment 6 changed the way the math in Scrollbarbutton*
worked, which pretty surely caused this.

Restore the original order and math to be the same as before bug 1478391.

MozReview-Commit-ID: CK3iOqeX2NW
2018-07-29 01:02:44 +02:00
Csoregi Natalia 470d472200 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-27 01:01:27 +03:00
Csoregi Natalia 3708e71462 Merge inbound to mozilla-central. a=merge 2018-07-27 00:58:11 +03:00
Hiroyuki Ikezoe cb5f411bab Bug 1476212 - Notify the system setting change corresponding to prefers-reduced-motion. r=jimm
Even with this patch, the setting change doesn't affect media queries in sub
frames due to bug 1478212.  But the bug is a pre-existing issue, for example
system color settings don't affect contents in sub frames either.  So we can
land this patch as it is.

Note that there is no way to write an automation test for this unfortunately.

MozReview-Commit-ID: L2Knhp1IjrU

--HG--
extra : rebase_source : 3487a13d0466b68419e55610c8ce3e384df28e64
2018-07-25 14:41:13 +09:00
Emilio Cobos Álvarez 517256e365 Bug 1478391: Autogenerate StyleAppearance. r=jwatt
This builds on bug 1428676 and introduces StyleAppearance, which replaces the
NS_THEME_* constants.

Really sorry for the size of the patch.

There's a non-trivial change in the gtk theme, which I submitted separately as
bug 1478385.

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

MozReview-Commit-ID: DiSmMWK7Krp
2018-07-26 17:06:17 +02:00
Martin Stransky 2866163527 Bug 1478661 - Replace IsComposited() with explicit alpha visual state, r=jhorak
IsComposited() does not reflect Visual selected by GLContextGLX::FindVisual()
which is used by WebRender which leads to shaped window rendering with WebRender.

IsComposited() is replaced by mHasAlphaVisual variable which is explicitly
set when we have an alpha visual and we don't need to use shape X11 extension.

MozReview-Commit-ID: 1kDLwkUyHte

--HG--
extra : rebase_source : 3a60fe8fd66f9e89bfcc729fe5e1fa9e1ce8920d
2018-07-26 13:23:34 +02:00
Jim Chen 1473a1889a Bug 1477469 - Check for null composition pointer; r=esawin
Check for null TextComposition pointer, which can apparently happen
during regular usage.

MozReview-Commit-ID: 6nKjyBVL2vF

--HG--
extra : rebase_source : 68d8ff37612f6908b3983993fc73d19e9c0b0e50
2018-07-24 18:14:05 -04:00
Sebastian Hengst bd900ee36a Merge mozilla-inbound to mozilla-central. a=merge 2018-07-25 17:16:53 +03:00
Martin Stransky 03659d442a Bug 1406533 - Don't force in process rendering for transparent (popup) windows, r=lsalzman
MozReview-Commit-ID: 2TS1CXsp44A

--HG--
extra : rebase_source : c8e8b7b3eadd07d2bf9bdeb9fa3c9625f914dba5
2018-07-24 16:15:43 +02:00
Martin Stransky 6eaa46bc39 Bug 1406533 - Configure compositor widget to shape X11 window on non-compositing WM, r=lsalzman
Also remove mozilla.widget.use-argb-visuals which is useless since we don't allow transparent
toplevel windows.

MozReview-Commit-ID: 2ep3daeLZTG

--HG--
extra : rebase_source : 9ca5f2d0ded6dec1827caf2cb87e81fcb9b11792
2018-07-24 16:11:37 +02:00
Martin Stransky 7cf247d562 Bug 1406533 - Implement a way to transfer shape option from nsWindow to WindowSurfaceX11Image, r=lsalzman
Add a new config attribute to GtkCompositorWidgetInitData to allow transfer
the shape option from nsWindow. Also when shape is requested don't use XRender
or Shm widgets - only X11Image is supported now.

MozReview-Commit-ID: ElxnGQpLOry

--HG--
extra : rebase_source : 03552fc4103f6b22c512c07fe37102701998ed94
2018-07-24 16:07:04 +02:00
Martin Stransky c7e7412047 Bug 1406533 - Create and apply XShape mask at WindowSurfaceX11Image, r=lsalzman
Derived routines for shape bitmap mask form nsWindow.cpp,
at WindowSurfaceX11Image we compose a final RGBA image and then create
the shape mask from image alpha channel.

Also the implementation is slightly simplified as it's meant as a fallback only.

MozReview-Commit-ID: 6VtGcsVKlcv

--HG--
extra : rebase_source : e8b96d68082ae687e376bc89c79f88f9c34cdc15
2018-07-24 16:02:05 +02:00
Boris Zbarsky 634a492dda Bug 1476145 part 9. Drop support for getting window utils via getInterface. r=nika 2018-07-24 19:47:43 -04:00
Boris Zbarsky 75abc43e0d Bug 1476145 part 8. Stop using getInterface(nsIDOMWindowUtils) in various test code. r=kmag 2018-07-24 19:47:43 -04:00
Aaron Klotz afe18923e0 Bug 1477402: Wrap WaitForInputIdle with checks for ERROR_NOT_GUI_PROCESS failures; r=agashlin
widget/windows/WinUtils.h is getting unwieldy and contains a combination of
both header-only and non-header-only code. I thought I'd take the opportunity
with this patch to create a new file for self-contained, header-only utility
functions, with the hope that we can eventually migrate some stuff out of
WinUtils into WinHeaderOnlyUtils in the future.

--HG--
extra : rebase_source : 6c874f78fc7113d1f7011fcd57ad9d024edb6761
2018-07-20 15:54:08 -06:00
Emilio Cobos Álvarez 9004e91bec Bug 1478385: Fix confusion in GetCachedWidgetBorder. r=karlt
aWidgetType is a NS_THEME_* constant. What this code is comparing is not.

This was exposed by a patch of mine converting -moz-appearance to be an enum
class.

MozReview-Commit-ID: 9BsbYk04vop
2018-07-26 14:48:08 +02:00
shindli f36ee2923a Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-26 14:21:26 +03:00
Jan de Mooij e67d9e1b9e Bug 1474540 part 0 - Don't try to use mCallback's global in NativeCallbackDelegateSupport::Call. r=jchen
The object could be a cross-compartment wrapper and we want to make it impossible to get a CCWs global.
2018-07-26 11:10:06 +02:00
Brian Hackett 99d34528e4 Bug 1465466 Part 1 - Use a separate compositor in recording/replaying processes, r=nical.
--HG--
extra : rebase_source : 003f6557370f2e4e6959ea14e833f7e2e617c5b0
2018-07-23 21:46:47 +00:00
Gurzau Raul bdfd20ef30 Merge inbound to mozilla-central. a=merge 2018-07-24 18:48:01 +03:00
Jan Horak 294a592750 Bug 1477967 - Fix the popup menu sizes and redrawing on Wayland/hidpi monitor, r=stransky
This patch fixes redrawing of the popup element by removing the scale factor
from the invalid regions because the wl_surface_damage multiplies it with the
scale factor too.

Also we set scaling factor of the wl_surface right after we create it to avoid
flickering when the compositor switches from unscaled to scaled surface.

MozReview-Commit-ID: 1eGoFu87wtF

--HG--
extra : rebase_source : 08abe86889e34865f3eed0f3979b4a584cc74adb
2018-07-24 12:51:34 +02:00
Hiroyuki Ikezoe 6a18a3f807 Bug 1365045 - Implement prefers-reduced-motion for Windows. r=jimm
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724947(v=vs.85).aspx

MozReview-Commit-ID: APERUPoSaz
2018-07-24 16:50:48 +09:00
Hiroyuki Ikezoe ea2e577fa3 Bug 1365045 - Introduce keywords for prefers-reduced-motion. r=heycam
https://drafts.csswg.org/mediaqueries-5/#prefers-reduced-motion

MozReview-Commit-ID: RQUo1DBR0W
2018-07-24 16:50:47 +09:00
Stephen A Pohl e5862c14d3 Bug 1468053: Disable a workaround for an Apple bug described in bug 378645 involving popup windows that was fixed by Apple. r=mstange 2018-07-23 20:20:58 -04:00
Stephen A Pohl c2ef1ca8f9 Backout 0df7fb702b93 for slightly inaccurate commit message. r=me 2018-07-23 20:19:19 -04:00
Stephen A Pohl 8fb210cb17 Bug 1468053: Disable a workaround on macOS 10.14+ for an Apple bug involving popup windows that was fixed by Apple in macOS 10.14. r=mstange 2018-07-23 20:16:15 -04:00
Martin Stransky ce20ee9233 Bug 1475193 - Use nsWindow::IsComposited() where possible, r=jhorak
MozReview-Commit-ID: E28fUnRFWaY

--HG--
extra : rebase_source : e9b2d5b1f159479299978353e6521882b6021a8e
2018-07-12 11:51:38 +02:00
Doug Thayer 04f1e1bc1e Bug 1476238 - Use nsresult/promise rejection in initListBuild r=Gijs
I mistranslated the boolean success value of the old initListBuild
method. Simplifying it to just use a promise rejection should be
equivalent and simpler, since this is only run from the update
method of WindowsJumpLists, and the call sites for that don't do
anything afterwards.

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

--HG--
extra : moz-landing-system : lando
2018-07-20 16:56:01 +00:00
Robert Bartlensky 5552be67a8 Bug 1475949 - Fix DEAD_STORE issues in XRemoteClient. r=jhorak
MozReview-Commit-ID: IDFaUR2gK4R

--HG--
extra : amend_source : 3913ac1516e7aa3f5b2e4005c2f1a68dfc5d22a0
2018-07-17 11:45:33 +01:00
Tiberius Oros 10e6320abc Merge inbound to mozilla-central. a=merge 2018-07-20 12:56:59 +03:00
Xidorn Quan 25e715a5f1 Bug 1476476 - Remove some unused const variables in JumpListBuilder. r=jimm
MozReview-Commit-ID: 4UPr0lWd4iQ

--HG--
extra : rebase_source : 43bcec23f460ab004073cea7e4891aea011674be
2018-07-18 10:24:04 +10:00
Bogdan Tara 217447d26d Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-20 00:53:24 +03:00
Stephen A Pohl fc76194aea Bug 1472629: Handle native exceptions when reading accessibility attribute values to avoid crashing. r=mstange 2018-07-19 14:39:52 -04:00
Jed Davis 96c18b6c4a Bug 1467889 - Adjust some uses of XPCOM strings. r=mrbkap r=mstange
MozReview-Commit-ID: 5AG4WAmbLZz
2018-07-19 14:14:50 -06:00
Jeff Muizelaar c4b5567231 Bug 1477036. Expose wrQualified in telemetry. r=kats
This adds a WEBRENDER_QUALIFIED feature that's set whenever the webrender could
be used on a machine regardless of whether it's actually being used.

MozReview-Commit-ID: Eke6PMKQOnx

--HG--
extra : rebase_source : 977d371c12c9e8ab3273d6e65655e0378c22c226
2018-07-19 14:05:29 -04:00
Jeff Muizelaar 4f9417ef01 Bug 1477033. Cleanup InitFeatureObject. r=kats
This removes an unused gfxConfig check and changes Maybe<FeatureStatus>
into FeatureStatus as none of the callers were using None.

MozReview-Commit-ID: Kep6nYpDI3B

--HG--
extra : rebase_source : d7f71dd9b358bfd2c57380d7bc194d6002a50cb9
2018-07-19 14:11:34 -04:00
Masayuki Nakano 0ed11cb188 Bug 1453629 - nsIWidget::GetNativeIMEContext() should return pseudo IME context if TextInputProcessor has a composition on the widget r=m_kato
Key of TextCompositionArrary to search composition on widget is native IME
context.  However, if TextInputProcessor dispatches composition events via
TextEventDispatcher, TextEventDispatcher::InitEvent() sets native IME context
of dispatching composition events to pseudo IME context (that's raw pointer
of TextEventDispatcher and process ID).

IMEStateManager::DispatchCompositionEvent() looks for existing TextComposition
with native IME context stored in WidgetCompositionEvent before dispatching
an event.  However, after dispatching it, it looks for remaining TextComposition
instance with widget stored in WidgetCompositionEvent.  Then,
TextCompositionArrary::IndexOf(nsIWidget*) will look for an instance with
the result of nsIWidget::GetNativeIMEContext() and this never returns actual
native IME context.  Therefore, IMEStateManager::DispatchCompositionEvent()
always fails to remove TextComposition instance from the array even after
a test composition is finished.

This patch moves nsIWidget::GetNativeIMEContext() to nsBaseWidget to refer
nsBaseWidget::mTextEventDispatcher makes it return pseudo IME context if
TextInputProcessor has input transaction.  Therefore, IMEStateManager becomes
always removes TextComposition from the array when every composition ends.

MozReview-Commit-ID: H1PCtPjBYJR

--HG--
extra : rebase_source : cbb3f3aae9954d65135d3840be8974fa30c4f7ff
2018-07-17 22:31:51 +09:00
Cosmin Sabou 88199de427 Merge mozilla-inbound to mozilla-central. a=merge 2018-07-18 20:19:59 +03:00
Margareta Eliza Balazs 42e6813f3f Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-18 12:42:29 +03:00
Xidorn Quan c6926db959 Bug 1476477 - Replace nsAutoCString with nsCString for local result variables in windows widget. r=masayuki
MozReview-Commit-ID: JN6GVPTZNg2

--HG--
extra : rebase_source : f3b997f3b8fbcefd2de660158f336364282ef2f6
2018-07-18 10:44:00 +10:00
Tiberius Oros d701ae940f Merge inbound to mozilla-central. a=merge 2018-07-18 00:55:33 +03:00
Bas Schouten 2ffa4da191 Bug 1476506: Move RoundedRect into Moz2D and convert all callers. r=mattwoodrow 2018-07-18 08:55:43 +02:00
Jim Chen 4f6c4496c9 Bug 1470786 - 1. Support async text changes from replacing text; r=esawin
Currently, we expect editing operations in
GeckoEditableSupport::OnImeReplaceText to cause synchronous text change
notifications. However, under e10s, text change notifications can be
asynchornous. The new code keeps track of active OnImeReplaceText calls,
and look for async text changes before replying to the calls.

MozReview-Commit-ID: INM3JLmQebK

--HG--
extra : rebase_source : ff5b728ef437fcd78e4e7eced9c9a537d4698dce
2018-07-17 11:22:34 -04:00
Kris Maglione 0bfdb4329f Bug 1473631: Part 0a - Make preference callbacks typesafe. r=njn
I initially tried to avoid this, but decided it was necessary given the number
of times I had to repeat the same pattern of casting a variable to void*, and
then casting it back in a part of code far distant from the original type.

This changes our preference callback registration functions to match the type
of the callback's closure argument to the actual type of the closure pointer
passed, and then casting it to the type of our generic callback function. This
ensures that the callback function always gets an argument of the type it's
actually expecting without adding any additional runtime memory or
QueryInterface overhead for tracking it.

MozReview-Commit-ID: 9tLKBe10ddP

--HG--
extra : rebase_source : 7524fa8dcd5585f5a31fdeb37d95714f1bb94922
2018-07-06 12:24:41 -07:00
Doug Thayer 56f41b91a9 Bug 1425144 - Init Jump list on lazy idle thread r=aklotz
We're already committing jump lists on mIOThread, and I see
no errors or problems with initting on mIOThread either, so
I think this is okay. Had to restructure some things to
make using a Promise simple, and to avoid dispatching to
mIOThread from within mIOThread (since we can only dispatch
to a LazyIdleThread from the owner thread).

MozReview-Commit-ID: 1imBF8Jzmn6

--HG--
extra : rebase_source : 4f912e819cec898910e72d95311e3924714a3090
2018-06-27 08:59:07 -07:00
Noemi Erli 9793ca2da4 Merge inbound to mozilla-central. a=merge 2018-07-14 00:52:51 +03:00
Kris Maglione c15ee94ddc Bug 1475612: Fix double file close on background thread. r=erahm
LSBUtils closes a file descriptor twice, once with fclose and then again with
close. It also does this on a background thread, during startup, which means
it tends to race with main thread code which opens files.

This patch fixes that, and also removes a work-around for the issue in the
MemMapSnapshot code.

MozReview-Commit-ID: JdDHt9ayFEl

--HG--
extra : rebase_source : 2000ede41108d6312734d8df7db98272b33528fa
extra : amend_source : 1443a596fab3e3126a22d44787adaf5e12e4587c
2018-07-12 23:13:04 -07:00
Masayuki Nakano 6118393cb8 Bug 1399126 - Make nsWindow for Windows not notify widget listener of activated/inactivated if active window is changed from/to popup window r=jimm
Some odd mouse drivers try to activate a window which the mouse driver wants to
scroll its content (such window is typically under the mouse cursor when mouse
wheel is turned).  However, this is illegal behavior and such odd mouse drivers
try to activate our popup windows which won't be activated without such apps.

We prevented this odd focus behavior with fixing of bug 953146.  However, it
did NOT stop notifying widget listener of activating nor inactivating the
windows.  Therefore, that caused a lot of reflow for supporting
-moz-window-inactive pseudo class.

This patch makes nsWindow::DealWithPopups() consume WM_ACTIVATE message before
nsWindow::ProcessMessage() because nsWindow::ProcessMessage() notifies widget
listener of activating and inactivating window even when focus move from and to
our popup window.  So, in other words, this patch stops notifying widget
listener of activating and inactivating window when focus moves from/to
a popup window.

MozReview-Commit-ID: 2dyq07zHZKp

--HG--
extra : rebase_source : 8075a3ead73a5f2892a1a1a8e71252e574200bf4
2018-07-10 21:24:06 +09:00
Brian Grinstead eafdeadedf Bug 1475305 - Remove document.width and document.height from XULDocument;r=bz
MozReview-Commit-ID: 8jWcMUYA25R

--HG--
extra : rebase_source : c23a2e647922882fc1ca3d7153ec95c5d8a2aa9d
2018-07-12 11:35:11 -07:00
Masayuki Nakano bb49027e6b Bug 1475153 - Make TSFTextStore::RecordCompositionStartAction() merge new composition with previous composition if IME commits composition and restart composition to replace the previous commit string r=m_kato
When user removes all composition string of MS Pinyin, MS Wubi, MS ChangJie and
MS Quick with Backspace key, IME commits last character temporarily and
restart composition to replace the last character with empty string when
user tries to remove last one character.

This causes flicking composition string because the additional composition
selects the character and it may be painted immediately before removed, and
also editor will have unnecessary undo transaction.

Therefore, as same as bug 1208043, TSFTextStore::RecordCompositionStartAction()
should restart last composition in such case.  Fortunately, we implemented
similar code for bug 1208043, however, unfortunately, we don't have preceding
pending compositionstart in this case.  Therefore, this patch makes
pending compositionend store start offset of composition.  Then, we can
restart composition only with information stored by pending compositionend
action.  Additionally, this patch renames the method checking pending
actions for self-describing the new meaning.

MozReview-Commit-ID: 1RyuacxEbky

--HG--
extra : rebase_source : 1c8ecc0b63114ae65c77cd76cb85a21d2716442c
2018-07-12 22:40:07 +09:00
Dão Gottwald b1fa16e576 Bug 1470341 - Also call UIResolutionChanged from WM_MOVING. r=jimm
MozReview-Commit-ID: 2qyYncBG9jf

--HG--
extra : rebase_source : 0b5e9269756c572efdbff17d191b5a1579b20bc3
2018-07-04 12:58:33 +02:00
Masayuki Nakano b98777fe41 Bug 1462257 - TextComposition should dispatch eCompositionChange event when eCompositionCommit is being fired immediately after eCompositionStart r=m_kato
TextEditor modifies composition string or selected string when first
eCompositionChange event is received.  However, TextComposition dispatches
eCompositionChange event ("text" event of DOM) only when composition string
becomes non-empty if current composition string is empty.  So, when IME
dispatches only eCompositionStart and eCompositionCommit events for removing
selected text, TextEditor does nothing.  This hacky behavior is used by
MS Pinyin on Windows 10 at least.

For supporting this behavior, we need to make TextComposition dispatch
eCompositionChange event when eCompositionChange(AsIs) event is fired
even before dispatching eCompositionChange event.

Although from point of view of web apps, the hacky composition should be
merged into the previous composition if it's possible but it's out of scope
of this bug.

MozReview-Commit-ID: 7QfeBJamGTU

--HG--
extra : rebase_source : 8de1353021f2961ae9f8bdf17ddded1058175339
2018-07-11 23:05:39 +09:00
Martin Stransky cd921ebea3 Bug 1470047 - Implement InitBySystemSettingsWayland() and get key modifiers on Wayland, r=ashie
Use wl_keyboard_listener and keymap event to get key mapping on Wayland. Weston simple-im.c example
is used as a reference implementation and actual key modifiers are derived from Wayland/GDK code from
gdkkeys-wayland.c.

MozReview-Commit-ID: 9fMwCvxkYy0

--HG--
extra : rebase_source : 21212cadfa7b1e8bacec2d6fb6970d2aaba7b3f6
2018-07-10 18:28:32 +02:00
Tiberius Oros 92ba19b150 Merge inbound to mozilla-central. a=merge 2018-07-10 12:45:13 +03:00
Ciure Andrei 71c8139e52 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-07-10 01:02:15 +03:00
Matt Howell 7496fb37dd Bug 1368808 - Honor the system light/dark mode setting on Windows 10. r=jimm
MozReview-Commit-ID: 3bzhX9bfR4s

--HG--
extra : rebase_source : 52619ebf8fa230bc03d499fdb81f632296e2997b
2018-07-08 17:32:52 -07:00
Olli Pettay 7146d67afe Bug 1472887, focusin/out should be composed, and mark chrome event target chain items as chrome, r=masayuki 2018-07-09 17:40:01 +03:00
ozoder 6b491fa02a Bug 1472611 - Don't link DBus 1.5.12 symbol dbus_validate_bus_name(), r=stransky
MozReview-Commit-ID: 6scVh8DOex2

--HG--
extra : rebase_source : d66577a13d06b1a1bdcd1ec0e25fd1dc75d84a1e
2018-07-04 09:24:34 +02:00
Martin Stransky a1dbf9b9f1 Bug 1474265 - Add missing semicolon at DBusRemoteClient.cpp, r=jhorak
MozReview-Commit-ID: HIz4gZOzfOE

--HG--
extra : rebase_source : 1b0cafbad46b231b2330bfe93acd59ba5e27e471
2018-07-09 13:18:59 +02:00
Dale Harvey dc2a4a2d84 Bug 1471877 - Add link to share menu to configuration. r=Gijs,mstange
MozReview-Commit-ID: CCTO9SJJMY6

--HG--
extra : rebase_source : 23daee7ff3550b7613c03f817c2db87aecaf7ec5
2018-06-30 18:35:46 +01:00
Noemi Erli 7c4c1c603f Backed out changeset 68859b04588d (bug 1471877) for failures in browser/content/browser-pageActions.js on a CLOSED TREE 2018-07-18 13:32:50 +03:00
Dale Harvey dbcfb245b1 Bug 1471877 - Add link to share menu to configuration. r=Gijs,mstange
MozReview-Commit-ID: CCTO9SJJMY6

--HG--
extra : rebase_source : c9ae961b87a5b40a501f72501738f70c129f6d8b
2018-06-30 18:35:46 +01:00
Kris Maglione 17578086c0 Bug 1472523: Part 4 - Avoid unnecessary domain string duplication in preference observers. r=njn
MozReview-Commit-ID: EMCgMRTDqDn

--HG--
extra : rebase_source : 11731e5a7c53c725396a9c8b46f116071d0c6e31
2018-07-04 14:52:48 -07:00
Aaron Klotz 75d2812072 Bug 1460022: Part 11 - Update Win32 nsWindow to work with revised DLL interceptor interface; r=mhowell 2018-06-27 11:52:01 -06:00
shindli dd50d1646e Backed out 13 changesets (bug 1460022) for bustages in :/build/build/src/mozglue/tests/interceptor/TestDllInterceptor.cpp(113) on a CLOSED TREE
Backed out changeset b798c3689bbf (bug 1460022)
Backed out changeset c3b3b854affd (bug 1460022)
Backed out changeset ecb1b6fd3134 (bug 1460022)
Backed out changeset 91fed649dd5a (bug 1460022)
Backed out changeset be7032cddad2 (bug 1460022)
Backed out changeset d4a036b976e6 (bug 1460022)
Backed out changeset 5f3dfde41e38 (bug 1460022)
Backed out changeset a16486a6f685 (bug 1460022)
Backed out changeset 69eacc5c3ab8 (bug 1460022)
Backed out changeset 34aa7c29b31e (bug 1460022)
Backed out changeset 00b20c0a7637 (bug 1460022)
Backed out changeset b8e8aea4a01f (bug 1460022)
Backed out changeset 15822d9848d8 (bug 1460022)
2018-07-04 03:37:11 +03:00
Aaron Klotz f6d3eb0eb2 Bug 1460022: Part 11 - Update Win32 nsWindow to work with revised DLL interceptor interface; r=mhowell 2018-06-27 11:52:01 -06:00
shindli dcc88f33f9 Backed out 13 changesets (bug 1460022) for bustages in builds/worker/workspace/build/src/dom/plugins/ipc/FunctionHook.h💯24 on a CLOSED TREE
Backed out changeset 0734142a3f35 (bug 1460022)
Backed out changeset 18fbfa7ca685 (bug 1460022)
Backed out changeset 2df129bd5692 (bug 1460022)
Backed out changeset 02a7ed68933f (bug 1460022)
Backed out changeset 221137d1c2de (bug 1460022)
Backed out changeset 9cb0b7a15402 (bug 1460022)
Backed out changeset 18f8f85c0307 (bug 1460022)
Backed out changeset 867a1351efff (bug 1460022)
Backed out changeset 933e0b698f8e (bug 1460022)
Backed out changeset 09da660071e1 (bug 1460022)
Backed out changeset 8bb5142d3f53 (bug 1460022)
Backed out changeset 0ddf581bdaac (bug 1460022)
Backed out changeset 1cd5f9b4a6af (bug 1460022)
2018-07-04 02:49:24 +03:00
Aaron Klotz 2a9cc69e85 Bug 1460022: Part 11 - Update Win32 nsWindow to work with revised DLL interceptor interface; r=mhowell
--HG--
extra : rebase_source : 273ea15e8379a8ff51ab6d37d210c86a9d72b78c
2018-06-27 11:52:01 -06:00
Olli Pettay 50ab1c422a Bug 1472570 - Use GetComposedDoc in nsBaseDragService, r=mrbkap
--HG--
extra : rebase_source : 78ada86c138960ed09b63d1755e7fb6fd5773cb3
2018-07-03 17:51:02 +03:00
Martin Stransky df210ffb15 Bug 1444437 - [Wayland] Don't map mozcontainer subsurface until parent surface is commited, r=ashie
MozReview-Commit-ID: 4qoyGH8VCAU

--HG--
extra : rebase_source : 32c2e5d80268d082b4a9a8ae8c90d2ee86537fd2
2018-06-28 13:37:31 +02:00
Martin Stransky 1f770d80e5 Bug 1467128 - [Wayland] Get VSync from Gtk/Wayland, r=lsalzman
VSync on Wayland is a bit tricky as we can get only "last VSync" event signal with
CLOCK_MONOTONIC timestamp or none (if application is hidden/minimized).

That means we should draw a next frame at "last Vsync + frame delay" time and also
approximate next VSync event when we don't get any.

MozReview-Commit-ID: FI3Z4nkmDNK

--HG--
extra : rebase_source : 8a0f6148990cf4e7ad26ff287eadff87cb0215fc
2018-06-29 13:15:41 +02:00
Masayuki Nakano 36f73c43d8 Bug 1435717 - Make calling WidgetEvent::PreventDefault*() stop cross process forwarding too r=smaug
Currently, if an event is consumed in the main process, EventStateManager
does not send it to remote process.  However, this is unexpected behavior
for some WidgetKeyboardEvent dispatchers.  OS sometimes has consumed native
key events before sending applications.  For example, Alt key on Windows
should activate menu bar of focused window but Alt key may be consumed before
focused window receives the event.  In such case, we mark Alt keyboard event
as "consumed before dispatch", and chrome treat it like as its preventDefault()
is called in web content.  (Note that for compatibility with other browsers,
the consumed state is not exposed to web content.  So, Event.defaultPrevented
returns false in web content.)

Therefore, we need to treat "consumed" state and "cross process forwarding"
state separately.  This patch makes calling WidgetEvent::PreventDefault()
always stops cross process forwarding for backward compatibility.  Additionally,
for the special case mentioned above, this patch makes
WidgetEvent::PreventDefaultBeforeDispatch() take additional argument,
|aIfStopCrossProcessForwarding|.  If this is CrossProcessForwarding::eStop,
the event won't be sent to remote process as same as calling PreventDefault().
Otherwise, CrossProcessForwarding::eHold, PreventDefaultBeforeDispatch() call
does not change "cross process forwarding" state.  I.e., if the event's
StopCrossProcessForwarding() and PreventDefault() are not called until
EventStateManager::PostHandleEvent(), the event will be sent to remote process
as usual.

MozReview-Commit-ID: IQGWJvXetxV

--HG--
extra : rebase_source : 4ccdd500e80b8fe29e469ac3b85578e1c07c8358
2018-06-25 18:17:18 +09:00
Margareta Eliza Balazs ee85ffa45d Merge inbound to mozilla-central. a=merge 2018-06-29 12:41:54 +03:00
Stephen A Pohl e3f956cbc6 Bug 1471950: Restrict to 10.14 and above the automatic enabling of the dark theme when the system appearance changes to dark mode. r=haik 2018-06-28 21:18:31 -04:00
Stephen A Pohl 0259400505 Bug 1471950: Add nsCocoaFeatures::OnMojaveOrLater(). r=haik 2018-06-28 21:18:25 -04:00
shindli c57ab475c6 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-29 01:51:06 +03:00
shindli d288e9cae7 Merge inbound to mozilla-central. a=merge 2018-06-29 00:53:32 +03:00
Xidorn Quan 7a0d908a3d Bug 1471866 - Ensure viewport scrollbar uses style from root element. r=spohl
MozReview-Commit-ID: 1rIJFJHN0vf

--HG--
extra : rebase_source : 3dd2e0b54030507803b23023c01c2a1cd4949d38
2018-06-28 22:03:33 +10:00
Xidorn Quan 8a7d143341 Bug 1471766 - Ensure scrollcorner is handled for webrender. r=kats
MozReview-Commit-ID: JIIuG46WF3f

--HG--
extra : rebase_source : b5914ce3e77d0a3e64918d013e7eaf70611d9b41
2018-06-28 21:28:41 +10:00
Cosmin Sabou a612a6fdf5 Merge mozilla-central to mozilla-inbound. a=merge 2018-06-28 13:13:46 +03:00
Cosmin Sabou f4b3baf021 Merge mozilla-inbound to mozilla-central. a=merge 2018-06-28 13:04:23 +03:00
Samuel Thibault 01084d60d8 Bug 1376756 - gtk: while drawing nsTreeBodyFrame, fetch current row attributes for proper style rendering. r=karlt 2018-06-27 05:11:00 +03:00
Masayuki Nakano d4325e3dc9 Bug 1215818 - part 3: Add telemetry probe to collect IM share on Linux r=m_kato
Different from Windows and macOS, we cannot check if active keyboard layout
works as "IME" actually.  Therefore, this patch add the telemetry probe
to the dispatcher of eCompositionStart.  However, composition string is also
used by some Wester keyboard layouts which have dead keys.  So, the meaning
of the result is deferent from the other platforms, but it must be useful
information which IM (e.g., fcitx, ibus) is used by most users.

MozReview-Commit-ID: A7vYuGtcrRw

--HG--
extra : rebase_source : 1f0948b58b999eee4b539d7db05d455b34f4be72
2018-06-20 14:55:46 +09:00
Masayuki Nakano 611612e70e Bug 1215818 - part 2: Add telemetry probe to collect IME usage on macOS r=m_kato
This patch adds a telemetry probe to collect Input Source ID or Bundle ID of
IME when an IME open mode is selected by user.  Input Source ID includes
input mode of IME, but Bundle ID does not so.  In most languages, we need
to collect the former, but only for Japanese IME, we need to collect the
latter because non-Japanese IME's input mode is "how to input characters".
So, the input mode is important.  However, Japanese IME's input mode is
"to input which type of characters".  So, Japanese IME user may use multiple
input modes but we need only the IME mode.  If we'd collect number of
each input mode users of Japanese language, it'd be difficult to count
how many users actually used typical Japanese IME since somebody may use
only a mode, some others may use only different modes.

So, this patch collects Input Source ID when non-Japanese IME is open and
Bundle ID when Japanese IME is open.

MozReview-Commit-ID: CltLrWVGyRk

--HG--
extra : rebase_source : 752dd00c4e43bda9586ed3ba498636bf5069ead2
2018-06-20 11:33:42 +09:00
Masayuki Nakano d7023e18b8 Bug 1215818 - part 1: Add telemetry probe to collect TIP names of TSF which are actually used by the users r=jimm,m_kato
We always struggle with a lot of IME bugs on Windows.  Currently, any IME
vendors should've already released TIP for TSF rather than legacy IMM-IME
since IMM-IME is not available on UWP apps.  Additionally, due to API
limitation, it's difficult to get human-friendly name of IMM-IME.  So, let's
collect only TIP names of TSF on Windows.  This must be enough.

Note that we cannot get common-English name even though the API to retrieve
TIP name taking language code.  Therefore, a TIP may be collected with
different name, e.g., one is Japanese name and the other is English name.
If we collect GUIDs of TIP, we can avoid this issue.  However, it's
difficult to collect both GUID and human-friendly name since Telemetry
key is up to 72 characters.

Currently, I give up to avoid this duplicated issue.  Perhaps, this is not
so serious issue since most TIP users must match language of TIP and their
system language settings.  Therefore, this patch collects Locale ID of
TIP and description of it.  Locale ID is necessary because some TIPs may be
named same name for different languages.  For example, both Japanese and
Hangul IMEs of Microsoft are named as "Microsoft IME".

MozReview-Commit-ID: IeSxfeqS62a

--HG--
extra : rebase_source : b269ce3c41f7a998193972afb31183a61d3948be
2018-06-19 21:00:01 +09:00
Tiberius Oros 945c24abe5 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-28 01:12:18 +03:00
Alex Gaynor ac56b410a9 Bug 1470994 - remove unused accuracy field from SensorData; r=gsvelto
Reviewers: gsvelto

Reviewed By: gsvelto

Bug #: 1470994

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

--HG--
extra : rebase_source : 03e1aee4934bcba96968578ba92d6c2ec6275747
extra : amend_source : 6f6e69fb6e18d092090e99db765e12c16021f265
2018-06-27 16:05:48 +03:00
Emilio Cobos Álvarez a24ebbee4e Bug 1470545: Add chromeonly "shadowrootattached" event for devtools. r=smaug
Summary:

document.addEventListener("shadowrootattached", e => {
  // Do stuff with composedTarget.
});

I didn't bother to add tests for the event itself since this is going to get
tested in bug 1449333, but I can look into writing a chrome mochitest if you
want.

Test Plan: See above.

Reviewers: smaug

Bug #: 1470545

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

MozReview-Commit-ID: 55cVMSsznMS
2018-06-27 11:24:43 +02:00
Xidorn Quan 5d2f11ce8d Bug 1464722 part 6 - Enable scrollbar colors test on mac. r=spohl
MozReview-Commit-ID: IfBhLvGzr5u

--HG--
extra : rebase_source : 088455347ba1975bcec946bba5dc2a40892d0faf
2018-06-25 10:16:25 +10:00
Xidorn Quan bc30486b09 Bug 1464722 part 5 - Paint scrollcorner for custom scrollbars on cocoa. r=spohl
MozReview-Commit-ID: EMj8urC6AWX

--HG--
extra : rebase_source : e3c966f0e740a0158078dfe2174c0e8ece1f7906
2018-06-25 09:56:38 +10:00
Xidorn Quan 277ee108e2 Bug 1464722 part 4 - Render custom scrollbars on cocoa widget. r=spohl
MozReview-Commit-ID: ITzdevItp1d

--HG--
extra : rebase_source : 64e7b6e215828e281fc0068d231392bdaad506e6
2018-06-22 14:17:22 +10:00
Xidorn Quan a2a4430e6e Bug 1464722 part 3 - Fix rtl computation in ComputeScrollbarParams. r=spohl
MozReview-Commit-ID: GVAfPYS34a9

--HG--
extra : rebase_source : 13ed01a52cd22d269dbe0f4771b0a7dcf6acdcbc
2018-06-25 09:43:05 +10:00
Xidorn Quan af6bddef48 Bug 1464722 part 2 - Move relative luminance functions into gfx. r=jrmuizel
MozReview-Commit-ID: H1BDdffJxaz

--HG--
extra : rebase_source : 369a7a8a5ac874aa2616189c8677e3ce335cec26
2018-06-21 16:34:06 +10:00
Xidorn Quan ae309097a6 Bug 1464722 part 1 - Move functions related to custom scrollbars into nsNativeTheme. r=jimm
MozReview-Commit-ID: 4URdu5Tj5dg

--HG--
extra : rebase_source : 5a0103476ca798b23c34074bb0d7fbac4fd44bc0
2018-06-21 16:32:17 +10:00
Jeff Gilbert 5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Stephen A Pohl 1f2e716a79 Bug 1466335: Automatically switch to the appropriate Firefox theme based on the macOS dark mode system preference. r=dao,mstange 2018-06-27 13:59:21 -04:00
Emilio Cobos Álvarez c7d35aa526 Bug 1470930: Use enums for passing arguments for event dispatch. r=smaug
MozReview-Commit-ID: DsNuF7GAflJ
2018-06-26 18:22:06 +02:00
Margareta Eliza Balazs 14cb8f1c23 Merge inbound to mozilla-central. a=merge 2018-06-26 17:53:19 +03:00
Margareta Eliza Balazs c866c30fcf Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-26 12:24:32 +03:00
Chris Peterson 2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
Martin Stransky daff99d97a Bug 1467125 - [Wayland] Get events from Wayland display faster on compositor thread, r=jhorak
MozReview-Commit-ID: AmarsYA2INc

--HG--
extra : rebase_source : c30015ba1a45e98691abdeb012bede816eb8c440
2018-06-06 15:25:15 +02:00
Chris Peterson ed185e6484 Bug 1469769 - Part 5: widget/gtk: Replace failing NS_NOTREACHED with NS_ERROR. r=karlt
I'm replacing non-failing calls to NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE, but this NS_NOTREACHED fails when running the browser/base/content/test/general/browser_tab_dragdrop2.js test because mContainer is unexpectedly *not* null. This is bug 1469183.

This patch DOES NOT fix the cause of the assertion failure. It just replaces this failing NS_NOTREACHED with NS_ERROR because I can't replace with a fatal MOZ_ASSERT_UNREACHABLE.

MozReview-Commit-ID: KeVjvKGihxZ

--HG--
extra : rebase_source : dc08a8e15d1e98cda0fa755be43c6d06910bfbe8
extra : intermediate-source : 562cc0bfc636f29b1708acd3284567bb8492e030
extra : source : 4f14f18eccd6bb18ed92f1d39a265a30ccdd21a1
2018-06-04 01:43:02 -07:00
Masayuki Nakano 2c6512d478 Bug 900750 - part 6: Rename |name| in test_keycodes.xul to |currentTestName| r=smaug
|name| is too generic but the scope is too wide in test_keycodes.xul.
So, let's rename it to |currentTestName|.

MozReview-Commit-ID: JvEDhRhKYCU

--HG--
extra : rebase_source : 15e06fabddeddb8e79198aa9f135e2951976aa8e
2018-06-04 20:41:43 +09:00
Masayuki Nakano ec7dded4eb Bug 900750 - part 5: Make NativeKey set KeyboardEvent.key value of AltRight key to "AltGraph" when active keyboard layout has AltGr key r=m_kato,smaug
When AltGr key is pressed, following messages come:

1. WM_KEYDOWN for ControlLeft
2. WM_KEYDOWN for AltLeft
3. WM_SYSKEYUP for ControlLeft
4. WM_KEYUP for AltLeft

In these key sequence, KeyboardEvent.key value of keydown event at #2 and keyup
event at #4 should be "AltGraph".  This patch fixes the key value and
adding new test into test_keycodes.xul to check the behavior with
SynthesizeNativeKey().

MozReview-Commit-ID: JZ6WednB8la

--HG--
extra : rebase_source : 596371ede89e90c23f7e842b26ec8155b911fe60
2018-05-31 18:36:33 +09:00
Masayuki Nakano cccab7b98a Bug 900750 - part 4: Make NativeKey replaces MODIFIER_CONTROL and MODIFIER_ALT of mModKeyState with MODIFIER_ALTGRAPH if user emulates AltGr key press with pressing both Ctrl and Alt keys and current keydown produces character(s) r=m_kato,smaug
Users can emulate AltGr key with pressing both Ctrl key and Alt key on Windows
since AltGr is represented as so in Windows and physical keyboard may not have
AltRight key.

If user emulates AltGr key, we should set MODIFIER_ALTGRAPH to a set of
keyboard events for printable keys only when the key press produces
character(s) or a dead key.  For example:

1. ControlLeft keydown event should make ctrlKey true.
2. AltLeft keydown event should make altKey true (not AltGraph state).
3. ctrlKey and altKey of printable keydown, keypress and keyup events should be
   set to false, but getModifierState("AltGraph") should return true.
4. AltLeft keyup event should make altKey false.
5. ControlLeft keyup event should make ctrlKey false.

(If AltLeft key is pressed first, altKey of AltLeft keydown is true and
both altKey and ctrlKey of the following ControlLeft keydown are true as
usual.)

MozReview-Commit-ID: 8Km8GXPDQw1

--HG--
extra : rebase_source : f4924f075c68361c8ce563910280ea24774c519f
2018-06-04 14:45:28 +09:00
Masayuki Nakano ad475fd697 Bug 900750 - part 3: Remove unnecessary ModifierKeyState argument from some methods of NativeKey and KeyboardLayout r=m_kato
KeyboardLayout::InitNativeKey() takes |const ModifierKeyState&| as its
argument with NativeKey reference and it calls some internal methods with
the given ModifierKeyState without any changes.  Additionally, its caller
is only NativeKey::InitWithKeyChar() and its called with given NativeKey
instance's mModKeyState.  So, removing the redundant arguments from
some methods makes them clearer what they compute with.

So, this patch does not change any behavior.

MozReview-Commit-ID: 3w9Ee7PMU05

--HG--
extra : rebase_source : b724a18d5a14672e60ffa5fb9feca5c11dac42a3
2018-06-01 15:22:41 +09:00
Masayuki Nakano 8fc19f6752 Bug 900750 - part 2: Make ModifierKeyState and VirtualKey treat AltGraph as new modifier and won't set Control and Alt state while AltGraph is active r=m_kato,smaug
By the proposal from Google, <https://github.com/w3c/uievents/issues/147>,
Chromium treat AltRight key as "AltGraph" modifier if the keyboard layout
has AltGr key.

When AltRight key is pressed with a keyboard layout which has AltGr key,
modifiers should as following:

1. "keydown" for ControlLeft:
  ctrlKey:  true, altKey: false, getModifierState("AltGraph"): false
2. "keydown" for AltRight:
  ctrlKey: false, altKey: false, getModifierState("AltGraph"): true
3. Some "keydown", "keypress" and "keyup" events:
  ctrlKey: false, altKey: false, getModifierState("AltGraph"): true
4. "keyup" for ControlLeft:
  ctrlKey: false, altKey: false, getModifierState("AltGraph"): true
5. "keyup" for AltRight:
  ctrlKey: false, altKey: false, getModifierState("AltGraph"): false

So, only when the preceding "keydown" event for ControlLeft, ctrlKey should
be set to true as usual.  However, after AltRight key is pressed actually,
we should treat "AltGraph" modifier is true and both ctrlKey and altKey
should be set to false for web apps can handle text input normally.

So, MODIFIER_ALTGRAPH and MODIFIER_CONTROL/MODIFIER_ALT should not be set
at the same time.

This patch makes ModifierKeyState have only MODIFIER_ALTGRAPH or
MODIFIER_CONTROL/MODIFIER_ALT.

Additionally, this patch makes VirtualKey::ShiftState treat "AltGraph" as a
modifier.  So, now, VirtualKey needs to convert ShiftState to index value when
it accesses its mShiftStates array.  Therefore, this patch adds
VirtualKey::ToIndex() and make each VirtualKey method use it before
accessing mShiftStates.

Note that this patch also fixes bug of WinUtils::SetupKeyModifiersSequence().
The constructor of KeyPair takes 2 keycode values, but the second virtual
keycode can have scancode to distinguish if the key is left or right.
However, WinUtils::SetupKeyModifiersSequence() never sets scancode to
KeyPair.  Therefore, it fails to dispatch AltRight key event.

MozReview-Commit-ID: 7ealxJH9KlZ

--HG--
extra : rebase_source : 761bc4416222def020a0731d6ae7940ef074ebe0
2018-05-30 17:27:31 +09:00
Masayuki Nakano ac32b59118 Bug 900750 - part 1: Make KeyboardLayout store the information if current keyboard layout has AltGr key r=m_kato
For setting AltRight key's key value to "AltGraph" if it should work as so,
we need to know if current keyboard layout has AltGr key.  Unfortunately,
Windows doesn't provide such information but we retrieve all input characters
from each key when a keyboard layout is loaded.  So, when we load a keyboard
layout, we can mark if current keyboard layout has AltGr key with checking
at least one key inputs different character(s) when AltGr key is pressed.

MozReview-Commit-ID: 8GI3phSVTUS

--HG--
extra : rebase_source : f1622615f03740609984da6d216391e23cae6796
2018-05-29 20:36:38 +09:00
Stephen A Pohl 75b122585b Bug 1467582: Prevent crashes on macOS when an invalid path is specified in the print.print_to_filename pref. r=haik 2018-06-25 15:17:34 -04:00
Masayuki Nakano fe7c9f7c32 Bug 1468917 - part 2: TSFTextStore::GetTextExt() shouldn't return TS_E_NOLAYOUT when ATOK retrieves text rects *in* the composition string r=m_kato
Currently, TSFTextStore::GetTextExt() won't return TS_E_NOLAYOUT error when
ATOK retrieves text rect of all of the composition string.

However, if user converts 2nd or later clause, ATOK retrieves text rect after
start of the character of selected clause.  Returning TS_E_NOLAYOUT in this
case causes candidate window being positioned temporarily below first character
of the composition string.

For avoiding the flicker of the candidate window, TSFTextStore::GetTextExt()
shouldn't return TS_E_NOLAYOUT when ATOK retrieves text rects *in* the
composition string.

MozReview-Commit-ID: Cp17HmP2QGK

--HG--
extra : rebase_source : bdd2d2867cccdcf1fe39612ca2f52872d472cb7a
2018-06-22 18:43:40 +09:00
Masayuki Nakano 9c693d932d Bug 1468917 - part 1: Make TSFTextStore not create native caret if ATOK 2016 is active r=m_kato
Old ATOK referred native caret position to decide its candidate window position.
However, at least ATOK 2016 does not need to refer it.  Additionally, if we
create native caret for ATOK 2016, the candidate window position, ATOK 2016
refers the native caret only when we cannot return expected rect.  Therefore,
only immediately after modifying composition string, the position is different
from actual position by a couple of pixels and that looks like flicks the
candidate window.

So, we should stop creating native caret for ATOK 2016 (as same as ATOK 2017).

MozReview-Commit-ID: LsmVXCmRIzc

--HG--
extra : rebase_source : 30b7d15cb23e567b14e1231909aa5a17bdf909a6
2018-06-21 19:57:58 +09:00
Bas Schouten 572e54cead Bug 1467363: Protect access to mTransparentSurface with a lock. r=rhunt
MozReview-Commit-ID: 6E9YpDIcuQk
2018-06-21 22:17:48 +02:00
Doug Thayer 10ff9c706f Bug 1448040 - Remove HangMonitor/ChromeHangs r=Nika
Fairly straightforward, just a blanket removal. Haven't heard
anything on dev-platform or fx-data-dev regarding this removal,
so I think it's likely safe to remove on Nightly, and we can
revert if anyone makes a fuss.

As part of removing the HangMonitor, I renamed a few things and
reorganized the namespaces to not depend on a HangMonitor
namespace. Hopefully this doesn't produce too much noise in the
diff, it just seemed appropriate to move everything around
rather than keep dangling vestiges of the old system.

MozReview-Commit-ID: 8C8NFnOP5GU

--HG--
extra : rebase_source : dd000a05bfc2da40c586644d33ca4508fa5330f6
2018-04-29 18:21:20 -07:00
Martin Stransky 99a9d4a1c3 Bug 1441743 - [Wayland] Don't draw directly to frame buffer for partial window updates, r=jhorak
When only a part of window is updated we need to clip that drawing.
We use image surface for that as WindowSurfaceX11Image does.

MozReview-Commit-ID: 13znE1ZszB8

--HG--
extra : rebase_source : a236799fa33d73037913df94c0d5e619c5d3c47e
2018-06-15 09:41:56 +02:00
Cosmin Sabou c913a59748 Merge central to inbound. a=merge 2018-06-21 04:19:13 +03:00
Cosmin Sabou 4c18cd4036 Merge inbound to central. a=merge
--HG--
rename : servo/components/style/properties/longhand/box.mako.rs => servo/components/style/properties/longhands/box.mako.rs
2018-06-21 04:16:40 +03:00
sotaro 7a2d7e5d6d Bug 1469028 - Supress Renderer threads r=nical 2018-06-21 08:32:09 +09:00
Andi-Bogdan Postelnicu 8cc8f8b517 Bug 1453795 - Widget - Initialize member fields in classes/ structures. r=jimm
--HG--
extra : rebase_source : 594fe9396c450401fab4c17e81a3333124f27f58
2018-06-15 17:48:51 +03:00
Andreea Pavel f85f162e83 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-06-20 14:31:42 +03:00
Jim Chen f02dcb9521 Bug 1466910 - 8. Use "content-document-global-created" to attach GeckoEditableSupport; r=esawin
Right now we use the "tab-child-created" notification to attach
GeckoEditableSupport to a PuppetWidget in the child process. However,
"tab-child-created" is not fired for all instances of PuppetWidget
creation, and attaching GeckoEditableSupport at this stage can also
cause race conditions.

This patch makes us listen to "content-document-global-created" instead,
but attach GeckoEditableSupport to the PuppetWidget the same way.

MozReview-Commit-ID: 8IAtzuvlK4K

--HG--
extra : rebase_source : 50e4f05bccd06d301a2c2b1464666e5e1a58b3b2
2018-06-19 16:31:35 -04:00
Jim Chen e9e6bfafd3 Bug 1466910 - 7. Don't coalesce notifyIMEContext calls; r=esawin
Right now we coalesce notifyIMEContext calls but only for legacy
reasons. With the current code we don't want to coalesce calls, in order
to be properly notified of blurring and focusing.

MozReview-Commit-ID: 6N2jhyyBKui

--HG--
extra : rebase_source : 0a488a726b834da4f6124092426638f4be368d43
2018-06-19 16:31:35 -04:00
Jim Chen 89932955b2 Bug 1466910 - 6. Fix logging code; r=jchen
MozReview-Commit-ID: KciGTPzrkkG

--HG--
extra : rebase_source : df689bce039c001fbb31bf9a949debd847de24e3
2018-06-19 16:31:34 -04:00
Jim Chen 8afd1f13c8 Bug 1466910 - 4. Don't notify of blur unnecessarily; r=esawin
Right now we always notify Java of input blur. However, when input is
rapidly blurred and then focused again, we don't want to generate the
unnecessary blur notification, in order to avoid unwanted effects such
as the keyboard flashing.

MozReview-Commit-ID: AL6aLAHqNpD

--HG--
extra : rebase_source : c0a6a731f95f997a7a8e19eacdb635f99d21ebf5
2018-06-19 16:31:34 -04:00
Jim Chen 594f82583c Bug 1466910 - 1. Forward more InputContext members through e10s; r=masayuki
Some InputContext members are not forwarded through
PBrowser::SetInputContext.

MozReview-Commit-ID: C1bGYq4w8zT

--HG--
extra : rebase_source : 1481f08c7593fe9dceb3b96bbfe480a1c58ecf9d
2018-06-19 16:31:24 -04:00
Andi-Bogdan Postelnicu 59570fd627 Bug 1453795 - Widget/Cocoa - Initialize member fields in classes/ structures. r=mstange
--HG--
extra : rebase_source : 89d030a6ec943ca37e775a7ebceaab8b06e5a433
2018-06-15 17:15:23 +03:00
Xidorn Quan 7038d5f944 Bug 1463917 part 2 - Have windows widget render scrollcorner. r=jimm
MozReview-Commit-ID: K4Cu1mL6xvH

--HG--
extra : rebase_source : 01a9c544b918c1be4002535b1a09c5980022bd9d
2018-05-11 10:21:22 +10:00
Takuro Ashie 06d69fd42b Bug 1468670 - Enablel Alt modifier key on Wayland r=stransky
MozReview-Commit-ID: 3nxxJabsTkx

--HG--
extra : rebase_source : 11b19f1fce05714177c9782485b9a1cb5fadd491
extra : source : 5b0768baf0b7cb2fe1728ba1dcce1344b8e4bcfd
2018-06-20 16:24:27 +09:00
Kartikaya Gupta ac8ae1c793 Bug 1468545 - Ensure the drag metrics gets to APZ before the target APZC for inactive scrollframes. r=botond
In the case where an inactive scrollframe's scrollbar gets dragged, the
main thread layerizes the scrollframe and dispatches both a
SetTargetAPZC message and a AsyncDragMetrics message using post-refresh
observers. However, the post-refresh observers are registered such that
the SetTargetAPZC message gets sent first, and APZ will start
processing the drag block immediately upon receipt of that event. This
means that the APZC might not have the correct drag metrics when it
processes those input events. For correct behaviour, we want the
AsyncDragMetrics message to reach APZ first in this scenario, and this
patch accomplishes this by allowing the post-refresh observers to be
registered in the opposite order.

MozReview-Commit-ID: 6LzyYYG1t6F

--HG--
extra : rebase_source : 2e3ebaa4fd776c8ad17e8225d70ec4a18eee67e0
2018-06-15 18:13:47 -04:00
Martin Stransky 46f6ecf022 Bug 1464823 - [Wayland] Don't paint until we have a visible wl_surface, r=jhorak,lsalzman
It's based on a solution by Takuro Ashie <ashie@clear-code.com>

MozReview-Commit-ID: FqcdUJQJLdl

--HG--
extra : rebase_source : d4ed4d66439a3693a2f4d5e6a4037ed62969d64f
2018-06-06 11:30:27 +02:00
Martin Stransky 5753c81b38 Bug 1466775 - [Wayland] Configure WebRender on X11, r=jhorak
MozReview-Commit-ID: ChXp7m5XeOI

--HG--
extra : rebase_source : 3b00ba11aad25be75e33138fefa4285b1b19ae21
2018-06-05 11:35:45 +02:00
Joel Maher 50b91c0a14 Bug 1405428 - skip-if = verify on mochitests which do not pass test-verify. r=gbrown 2018-06-10 05:01:47 -04:00
Bogdan Tara fd27dd053f Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-06-09 15:08:05 +03:00
Masayuki Nakano a20855c9f5 Bug 1441821 - NativeKey shouldn't mark eKeyDown and eKeyPress as "skippable in remote process" if message is not caused by physical key press r=m_kato,smaug
Currently, TabChild discards eKeyDown and eKeyPress events which are marked as
"repeated" and were dispatched after the latest eKeyDown event comes into the
process.  However, keyboard layout utils may generate native key events
as "repeated" even if each native key is important to input proper text.

So, TabChild shouldn't decide if coming keyboard event is skippable only with
mIsRepeat.  For solving this issue, this patch adds
mMaybeSkippableInRemoteProcess to WidgetKeyboardEvent and makes
TabChild::SkipRepeatedKeyEvent() check
WidgetKeyboardEvent::CanSkipInRemoteProcess() instead.

On Windows, there are two ways to generate keyboard input messages.  One is
using SendMessage() or PostMessage().  The other is SendInput() API.  In both
ways, utils can make their input as repeated key messages.

The former case must be safe for this issue since such utils need to set 31st
bit of lParam to 1 explicitly.

On the other hand, in the latter case, the utils probably need to append
KEYEVENTF_KEYUP into KEYBDINPUT::dwFlags.  Otherwise, only first call is
treated as non-repeated event.

So, when given message does not came from physical key operation, NativeKey
should set WidgetKeyboardEvent::mMaybeSkippableInRemoteProcess to false
even if WidgetKeyboardEvent::mIsRepeat is true.

MozReview-Commit-ID: 3rinrOjx8Tf

--HG--
extra : rebase_source : 26b6d869260176fc7ef535323b83001bb4b725c2
2018-06-06 23:35:16 +09:00
Chris Peterson 9294aea52b Bug 645325 - Part 1: Use NaN to indicate unset optional coordinate values returned from the location providers. r=garvank r=jdm
nsGeoPositionCoords will convert NaNs returned from the location providers to null properties of the JavaScript Coordinates object.

MozReview-Commit-ID: Cmuf2aO0ClD

--HG--
extra : rebase_source : cbccead609ff53a3e5f1bcf7698eba7382220ce5
extra : source : b4ced6e2bab2d17cf642f5850bda5998f635fccb
2018-02-25 23:35:16 -08:00
Coroiu Cristina d2f82e1f42 Merge inbound to mozilla-central a=merge 2018-06-07 12:47:31 +03:00
Dan Glastonbury 7811112058 Bug 1465307 - P1: Extend StyleComplexColor to support additive blending. r=hiro,xidorn
Refactored StyleComplexColor to support "complex" blending between
background (numeric) color and foreground color (currentColor).
Made explicit the distinction between numeric, currentColor and a
complex blend in Gecko and Stylo.

This is to support SMIL animation, for example, of the form:

     <animate from="rgb(10,20,30)" by="currentColor" ... />

MozReview-Commit-ID: IUAK8P07gtm

--HG--
extra : rebase_source : d3648101c6f65479b21e6f02945731cd5bb57663
2018-05-23 15:23:26 +10:00
Ting-Yu Chou dd7965dec0 Bug 1401883 - don't hold unnecessary references to the Windows app shell; r=jimm
When runnables are posted to the main thread's event loop, the event
loop notifies any thread observers that this has been done.  The app
shell registers itself as just such a runnable, and posts messages to
the native event loop that processing native events needs to be done.

On Windows, this posting takes an extra reference to the app shell, to
keep it alive until the message is processed by the native event loop,
since app shell code needs to be invoked during that processing.  The
processing releases this extra reference, so everything stays balanced.

Except that it's possible for messages to be posted to the native event
loop, and then browser shutdown happens.  Those messages are not
processed and the associated references taken are not released.  This
imbalance means that in debug builds, we appear to be leaking the app
shell, and that leaking results in intermittent oranges.

This intermittent orange has manifested itself in a variety of ways over
the years, depending on how big the app shell itself was (since that
changes the number of bytes leaked) and how many leak-checked things the
app shell was holding on to.  This bug is merely the latest
manifestation; the last serious work on analyzing the phenomenon and
fixing it was done in bug 1220517.

The solution proposed in that bug was that we simply stop the extra
reference counting; when the app shell is destroyed normally, we
shouldn't be processing the native event loop any more anyway.  So even
if the native event loop is holding (freed) pointers to the app shell,
we'd never execute the callback and perform a use-after-free.  Reading
through the code suggests that this *ought* to be the case, but the
potential for shooting ourselves in the foot seems awfully high.

In any event, this is not a problem unique to Windows; we have seen this
same sort of thing happen on OS X.  See nsAppShell::ProcessGeckoEvents
in widget/cocoa/nsAppShell.mm.

Here we propose a slightly different solution: we keep track of the
number of native event callbacks we have scheduled, incrementing when we
schedule, and decrementing when we actually run one.  When the app shell
is destroyed, we simply set the number of outstanding events to zero,
and we prohibit the callback from accessing the app shell if there are
no outstanding events.  This solution is analogous to dropping the extra
reference counting, but avoids potential badness if we do wind up
processing native events after the app shell is destroyed.
2018-06-06 11:05:18 -04:00
Randall Barker 2c2e0b614f Bug 1465816 - Add initial code needed to support gfxVRExternal on android r=kip,jchen
MozReview-Commit-ID: 9rXXqIvyvhp
2018-06-05 18:33:01 -07:00
Cosmin Sabou 2c1302b895 Backed out changeset 66a3146a7fce (bug 1465816) for frequent reftest failures on draw_rect.html. CLOSED TREE 2018-06-06 00:28:56 +03:00
Randall Barker 4b62519e23 Bug 1465816 - Add initial code needed to support gfxVRExternal on android r=kip,jchen
MozReview-Commit-ID: 9rXXqIvyvhp
2018-06-05 12:34:15 -07:00
Miko Mynttinen 4c85ef17cc Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 1e7eea4f2d4ec16ec0c559a8afb26976ddbf4d07
2018-06-01 17:59:07 +02:00
arthur.iakab 7e765f798b Backed out 2 changesets (bug 1465060) for build bustages on security/sandbox/linux/reporter/SandboxReporter.cpp
Backed out changeset 7c8905b6b226 (bug 1465060)
Backed out changeset 10446073eca8 (bug 1465060)
2018-06-03 19:25:41 +03:00
Miko Mynttinen 8d9dc85cd4 Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 619d0e0ff63a2453c80f0c4d9beb906d43fa9b01
2018-06-01 17:59:07 +02:00
Andreea Pavel 4ced6e8b2d Merge mozilla-central to autoland. a=merge 2018-06-03 07:27:01 +03:00
Mats Palmgren 8f2a5e19c9 Bug 1466330 - Make nsITheme::GetWidgetBorder return the border directly instead of using an out-param (idempotent patch). r=emilio 2018-06-02 19:10:48 +02:00
Emilio Cobos Álvarez 1e9c395548 Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj
Same approach as the other bug, mostly replacing automatically by removing
'using mozilla::Forward;' and then:

  s/mozilla::Forward/std::forward/
  s/Forward</std::forward</

The only file that required manual fixup was TestTreeTraversal.cpp, which had
a class called TestNodeForward with template parameters :)

MozReview-Commit-ID: A88qFG5AccP
2018-06-02 09:33:26 +02:00
Boris Zbarsky c7f378d7ab Bug 1465875 part 1. Eliminate pointless QIs to nsIDOMNSEditableElement. r=qdot
We expose the relevant APIs on textarea and input elements anyway
(chromeonly).  The QIs will throw on a non-input or non-textarea element, but
none of these consumers expect that to happen.
2018-06-01 22:35:22 -04:00
Csoregi Natalia 468205953d Merge inbound to mozilla-central. a=merge 2018-06-02 01:01:33 +03:00