Commit Graph

24706 Commits

Author SHA1 Message Date
Emily Toop
c616a388d1 Bug 1462018 - Add API for taking screenshot of visible page. r=geckoview-reviewers,snorp
Invert screen pixels in `nsWindow`.

Update `RequestScreenPixels` in `nsWindow` to accept a `GeckoResult` as an argument and save as a `GlobalRef`.
Update `RecvScreenPixels` in `nsWindow` in order to invert the image before sending over JNI rather than requiring callers to invert the image themselves.
Complete the `GeckoResult` if there is one in `RecvScreenPixels` instead of making a callback to the compositor.

Remove `RecvScreenPixels` from `GeckoSession` and `GeckoSession.Compositor`.
Move `RecvScreenPixels` and `getPixels` to `GeckoDisplay`
Rename `getPixels` to `capturePixels`

Return Bitmap from `RecvScreenPixels`.

Return `GeckoResult` from `capturePixels`.

Add doc comments to new methods and classes.
Update FennecNativeDriver to use `GeckoView` and `GeckoResult`.

Update API docs and Changelog

Add tests

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

--HG--
extra : moz-landing-system : lando
2019-02-26 10:51:02 +00:00
Martin Stransky
1f8f77f796 Bug 1530625 - Enable system titlebar on Gnome/X.org sessions due mutter Bug 1530625 and disable titlebar X shape mask on mutter/X.org, r=lsalzman
- Detect current desktop session and disable shape mask on Mutter/X.org due to Bug 1530252 (mutter bug).
- Use system titlebar on Mutter/X.org as we can't draw the titlebar reliably.
- Remove widget.default-hidden-titlebar from prefs. When it's defined it overrides default titlebar detection heuristics now.
- Don't use shape masks at all on Mutter/x.org. When system titlebar is hidden in this case (by user choice) it has opaque corners unless
  argb visual is selected.
- Use Window manager decorations on Gnome Classic session, that works better than client decorations.

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

--HG--
extra : moz-landing-system : lando
2019-02-26 17:46:15 +00:00
shindli
529e235210 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-02-26 19:01:20 +02:00
Masatoshi Kimura
fb147aebf9 Bug 1293043 - Do not shrink favicons down to 16x16. r=aklotz
By this change, icons will never be shrunk to a smaller size. Windows will do
it appropriately.

Internet Explorer's icon handler will not paint the white background if the
icon is large enough. I'm also replicating the behavior.

--HG--
extra : source : 56eb23aaff3a5a0dbca8e41c534307c30e7351f4
2019-02-23 13:32:12 +09:00
Henri Sivonen
862a7144a9 Bug 1524226 - Add LayersId field to WidgetEvent and InputData. r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D20169

--HG--
extra : moz-landing-system : lando
2019-02-26 07:15:43 +00:00
Noemi Erli
7e23372938 Merge mozilla-central to autoland. a=merge CLOSED TREE
--HG--
extra : rebase_source : de8796d5d7d7079af1b895a2f537371885f8cc6c
2019-02-26 00:09:40 +02:00
Oana Pop Rus
f4b7b652c4 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-02-25 18:52:42 +02:00
Christoph Kerschbaumer
c8bb3d7749 Bug 1529869: Remove the 2 from speculate speculative(Anonymous)Connect2 within nsISpeculativeConnect.idl. r=valentin 2019-02-24 20:26:56 +01:00
Alex Gaynor
0e903787da Bug 1415508 - use Span in constructing a byte input stream; r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D20687

--HG--
extra : moz-landing-system : lando
2019-02-25 19:11:20 +00:00
sotaro
1579a88e49 Bug 1527804 - Trigger composite from frame_callback_handler() r=stransky
Bug 1514156 expects that nsWindow::OnExposeEvent() is called after frame_callback_handler() called. But it did not happen during opening add-ons(gecko profiler). Then we need to trigger rendering directly from frame_callback_handler() call.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 12:15:50 +00:00
Tarek Ziadé
2420a8ebb9 Bug 1502917 - Adding ChromeUtils.RequestProcInfo() - r=Ehsan,mstange,kershaw,mhowell
This patch introduces a new module in widget that implements a simple API to
retrieve system information about a process and its threads.

This function is wrapped into ChromeUtils.RequestProcInfo to return information
about processes started by Firefox.

The use case for this API is to monitor Firefox resources usage in projects
like the battery usage done by the data science team.

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

--HG--
extra : moz-landing-system : lando
2019-02-23 18:07:59 +00:00
Razvan Maries
d7a2f49ed8 Merge mozilla-inbound to mozilla-central a=merge 2019-02-23 06:15:14 +02:00
James Willcox
6f4446a1d8 Bug 1529297 - Make GeckoWebExecutor.resolve() fail with UnknownHostException r=geckoview-reviewers,esawin
Also clean up some doc strings.

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

--HG--
extra : moz-landing-system : lando
2019-02-22 14:23:37 +00:00
Masatoshi Kimura
8a453fc263 Bug 1529902 - Fix invalid use of NS_ConvertUTF16toUTF8. r=aklotz
--HG--
extra : source : 50a1a395c081a8630b06022dd85187121bd2bd12
2019-02-22 22:37:48 +09:00
Dorel Luca
e2b65baabd Backed out changeset cd5dbeee8c5d (bug 1502917) for build bustage. CLOSED TREE 2019-02-22 14:32:42 +02:00
Tarek Ziadé
983d831bbe Bug 1502917 - Adding ChromeUtils.RequestProcInfo() - r=Ehsan,mstange,kershaw,mhowell
This patch introduces a new module in widget that implements a simple API to
retrieve system information about a process and its threads.

This function is wrapped into ChromeUtils.RequestProcInfo to return information
about processes started by Firefox.

The use case for this API is to monitor Firefox resources usage in projects
like the battery usage done by the data science team.

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

--HG--
extra : moz-landing-system : lando
2019-02-21 23:05:44 +00:00
Masayuki Nakano
249269b4ff Bug 1529466 - Make TextInputHandler::HandleCommand() dispatch keydown/keypress events for emulating Tab key when insertTab: or intertBacktab: command is received r=m_kato
`TextInputHandler::HandleCommand()` dispatches `Tab` key events only when
it receives `insertTab:` or `intertBacktab:` command which are caused by
actual `Tab` key press.

However, these commands could be generated by IME or the system shortcut
keys are customized oddly.

This patch makes the method support such situation with dispatching fake
`keydown` and `keypress` events to emulate `Tab` key press for
mainly focus navigation.

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

--HG--
extra : moz-landing-system : lando
2019-02-22 13:35:55 +00:00
Masayuki Nakano
da3a46f861 Bug 1529467 - Make TextInputHandler::HandleCommand() dispatch eKeyDown event r=m_kato
Currently, when IME sends a command with committing composition,
TextInputHandler::HandleCommand() dispatches a *fake* `keypress` event
for making default event handler (e.g., focused editor) handle the
event.  However, we stopped dispatching `keypress` events for
non-printable keys.  Therefore, web apps cannot do that like us.

On macOS, simple conversion IMEs like Korean 2-set IME, behave
differently if active application is changed.  E.g., on Safari,
some of them may never use composition string, but not so on
Chrome and Firefox.  So, this is what the case we need to emulate
Safari's behavior.

Dispatching a fake `keydown` event for this purpose does **not**
conform to UI Events because `keydown` events should notify web
apps of **physical** key state changes.  However, Chrome dispatches
fake `keydown` events intentionally.  Therefore, we should follow
this hacky behavior for user experience.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 04:13:20 +00:00
Dorel Luca
4a4dcd57fa Backed out 4 changesets (bug 1525319) for Android failures in dom/base/test/test_progress_events_for_gzip_data.html
Backed out changeset b73f033efb41 (bug 1525319)
Backed out changeset 1d318d5c6b98 (bug 1525319)
Backed out changeset 6d73418988d4 (bug 1525319)
Backed out changeset 84ca79bd2dc3 (bug 1525319)
2019-02-25 04:06:11 +02:00
Jonathan Kingston
63ab2bd8aa Bug 1525319 - Removing context from OnDataAvailable r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20881

--HG--
extra : moz-landing-system : lando
2019-02-24 20:27:55 +00:00
Jonathan Kingston
332531fa9c Bug 1525319 - Removing context from OnStopRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20770

--HG--
extra : moz-landing-system : lando
2019-02-24 20:26:59 +00:00
Jonathan Kingston
2441197975 Bug 1525319 - Removing context from OnStartRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20769

--HG--
extra : moz-landing-system : lando
2019-02-24 20:26:16 +00:00
Masayuki Nakano
e4c0982b38 Bug 1528943 - Stop trying to retrieve raw keycode value when native virtual keycode is VK_PROCESS r=m_kato
We didn't dispatch keyboard events during composition.  Therefore, we tried to
retrieve raw virtual keycode value when key messages come with `VK_PROCESS`
unexpectedly.  However, the API, `ImmGetVirtualKey()`, is not usable for this
purpose because it always returns `VK_PROCESS` if the key messages have already
been handled by IME.  So, we can just stop using it since we need to expose
such key messages as KeyboardEvent whose `key` value is `Process` and `keyCode`
value is `DOM_VK_PROCESS`.

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

--HG--
extra : moz-landing-system : lando
2019-02-22 03:32:48 +00:00
Harry Twyford
ecbfeaf86f Bug 1522039 - Changes default Touch Bar button set and replaces icon on Close Window button. r=bwinton,mikedeboer
Differential Revision: https://phabricator.services.mozilla.com/D17831

--HG--
extra : moz-landing-system : lando
2019-02-21 19:23:33 +00:00
Jeff Muizelaar
0458c3d04d Bug 1515823. Disable Direct2D on Qualcomm devices. r=aosmond
There seem to be a number of problems with Direct2D on the Qualcomm
devices. This includes visual corruption from bug 1515823 and crashes
in CHwRasterizer::RasterizeEdges from 1515387.
2019-02-21 13:27:04 -05:00
James Willcox
f2d0270ef5 Bug 1526327 - Add GeckoWebExecutor.FETCH_FLAGS_NO_REDIRECT r=geckoview-reviewers,droeh,esawin
Using this flag will cause GeckoWebExecutor.fetch() to not automatically
follow redirects, which is the default behavior if no flag is specified.

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

--HG--
extra : moz-landing-system : lando
2019-02-22 21:46:14 +00:00
James Willcox
b90839887f Bug 1522705 - Add streaming response support to GeckoWebExecutor r=esawin,agi
Differential Revision: https://phabricator.services.mozilla.com/D19504

--HG--
extra : moz-landing-system : lando
2019-02-22 21:46:05 +00:00
Daniel Holbert
321a0ac1d9 Bug 1529707: Use RelativeLuminanceUtils::Compute() to test for dark GTK themes (ignoring alpha channel). r=karlt
Previously we were using NS_GetLuminosity which asserts for non-opaque colors,
and my system theme happens to use a background color with alpha=0.999.

Luminosity judgements do get a bit more hand-wavy as colors get more
transparent, but it seems like we can still reasonably make an overall
"dark theme" judgement based on the RGB channels.

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

--HG--
extra : moz-landing-system : lando
2019-02-22 19:32:14 +00:00
Jeff Walden
c99bad877a Bug 1453456 - Followup for Windows-specific bustage about char16ptr_t where every other platform has a nice pointer-to-character type instead. r=bustage in a CLOSED TREE 2019-02-27 12:49:20 -08:00
Jeff Walden
7b8ce42e6e Bug 1453456 - Remove nsCRT::IsAscii(null-terminated string) in favor of mozilla::IsAsciiNullTerminated. r=froydnj 2019-02-25 12:22:24 -08:00
Daniel Varga
3599b0576d Merge mozilla-central to mozilla-inbound. a=merge
--HG--
rename : browser/base/content/test/general/browser_bug655584.js => browser/components/urlbar/tests/browser/browser_switchTab_closesUrlbarPopup.js
rename : browser/base/content/test/general/browser_bug555767.js => browser/components/urlbar/tests/browser/browser_switchToTab_closes_newtab.js
rename : mobile/android/themes/core/about.css => toolkit/themes/mobile/global/about.css
rename : mobile/android/themes/core/aboutMemory.css => toolkit/themes/mobile/global/aboutMemory.css
rename : mobile/android/themes/core/aboutSupport.css => toolkit/themes/mobile/global/aboutSupport.css
extra : rebase_source : 5fd5811cdafdf926348a80fbb1a1427b9c113f90
2019-02-27 18:36:49 +02:00
Martin Stransky
8222d966e6 Bug 1529713 - [Titlebar] Use Window manager decorations on GNOME again, r=lsalzman
This patch enables the shape mask in CSD and Window manager decorations mode
when we're runnin on composited screen and mozilla.widget.use-argb-visuals is not set.

Also don't use shape mask with Wayland and GL backend. When shape mask is set,
advertise toplevel window transparency but don't advertise it
as alpha to GtkCompositorWidget.

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

--HG--
extra : moz-landing-system : lando
2019-02-22 14:01:50 +00:00
Ryan Hunt
63c8e0660c Bug 1523969 part 26 - Move method definition inline comments to new line in 'widget/'. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D21130

--HG--
extra : rebase_source : 83867879cf33ddd2cc1b19c20dff8cef6a51d1a9
extra : histedit_source : 67979b7a263223c1e48421f382ed1e78d6264cf9
2019-02-25 16:13:48 -06:00
Dave Townsend
04952df927 Bug 1518639: Move widget/xremote code to toolkit/components/remote. r=jimm
It makes more sense for the remote client to live alongside the server.

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

--HG--
rename : widget/xremoteclient/RemoteUtils.cpp => toolkit/components/remote/RemoteUtils.cpp
rename : widget/xremoteclient/RemoteUtils.h => toolkit/components/remote/RemoteUtils.h
rename : widget/xremoteclient/DBusRemoteClient.cpp => toolkit/components/remote/nsDBusRemoteClient.cpp
rename : widget/xremoteclient/DBusRemoteClient.h => toolkit/components/remote/nsDBusRemoteClient.h
rename : widget/xremoteclient/nsRemoteClient.h => toolkit/components/remote/nsRemoteClient.h
rename : widget/xremoteclient/XRemoteClient.cpp => toolkit/components/remote/nsXRemoteClient.cpp
rename : widget/xremoteclient/XRemoteClient.h => toolkit/components/remote/nsXRemoteClient.h
extra : source : c3c13b550b675b488bdde389035a13c85eee947d
extra : intermediate-source : a7490cdfb635f95c1eb8c33283064842bc490cbd
2019-01-31 12:13:34 -08:00
Dave Townsend
af355ffb74 Bug 1518639: Remove the ability to remote to a different user or application. r=jimm
Remoting to a different user isn't supported everywhere and being able to
remote to a different application entirely is kind of odd. I don't think it
makes sense to continue to support these operations.

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

--HG--
extra : source : b4210f85c7e9c86ef0f173b5d2250c2862fec992
extra : intermediate-source : 35287afd3acea1602bed159dc879aa666e64b9c8
2019-01-31 11:12:32 -08:00
Coroiu Cristina
b3ff92b647 Backed out 11 changesets (bug 1518639, bug 513742) for chrome failures at browser/components/shell/test/test_headless_screenshot.html
Backed out changeset 84e8066625fd (bug 1518639)
Backed out changeset 4ef3cc37f719 (bug 513742)
Backed out changeset 276ca640adc8 (bug 1518639)
Backed out changeset 73ca9a68d771 (bug 1518639)
Backed out changeset 967993505a3d (bug 1518639)
Backed out changeset fc466857ab39 (bug 1518639)
Backed out changeset 28404f97bb22 (bug 1518639)
Backed out changeset 5373c5bb9ad5 (bug 1518639)
Backed out changeset a7490cdfb635 (bug 1518639)
Backed out changeset 28c7186745e3 (bug 1518639)
Backed out changeset 35287afd3ace (bug 1518639)

--HG--
rename : toolkit/components/remote/nsDBusRemoteServer.cpp => toolkit/components/remote/nsDBusRemoteService.cpp
rename : toolkit/components/remote/nsDBusRemoteServer.h => toolkit/components/remote/nsDBusRemoteService.h
rename : toolkit/components/remote/nsGTKRemoteServer.cpp => toolkit/components/remote/nsGTKRemoteService.cpp
rename : toolkit/components/remote/nsGTKRemoteServer.h => toolkit/components/remote/nsGTKRemoteService.h
rename : toolkit/components/remote/nsXRemoteServer.cpp => toolkit/components/remote/nsXRemoteService.cpp
rename : toolkit/components/remote/nsXRemoteServer.h => toolkit/components/remote/nsXRemoteService.h
rename : toolkit/components/remote/nsDBusRemoteClient.cpp => widget/xremoteclient/DBusRemoteClient.cpp
rename : toolkit/components/remote/nsDBusRemoteClient.h => widget/xremoteclient/DBusRemoteClient.h
rename : toolkit/components/remote/RemoteUtils.cpp => widget/xremoteclient/RemoteUtils.cpp
rename : toolkit/components/remote/RemoteUtils.h => widget/xremoteclient/RemoteUtils.h
rename : toolkit/components/remote/nsXRemoteClient.cpp => widget/xremoteclient/XRemoteClient.cpp
rename : toolkit/components/remote/nsXRemoteClient.h => widget/xremoteclient/XRemoteClient.h
rename : toolkit/components/remote/nsRemoteClient.h => widget/xremoteclient/nsRemoteClient.h
2019-03-06 21:28:49 +02:00
Dave Townsend
c34dd583d0 Bug 1518639: Move widget/xremote code to toolkit/components/remote. r=jimm
It makes more sense for the remote client to live alongside the server.

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

--HG--
rename : widget/xremoteclient/RemoteUtils.cpp => toolkit/components/remote/RemoteUtils.cpp
rename : widget/xremoteclient/RemoteUtils.h => toolkit/components/remote/RemoteUtils.h
rename : widget/xremoteclient/DBusRemoteClient.cpp => toolkit/components/remote/nsDBusRemoteClient.cpp
rename : widget/xremoteclient/DBusRemoteClient.h => toolkit/components/remote/nsDBusRemoteClient.h
rename : widget/xremoteclient/nsRemoteClient.h => toolkit/components/remote/nsRemoteClient.h
rename : widget/xremoteclient/XRemoteClient.cpp => toolkit/components/remote/nsXRemoteClient.cpp
rename : widget/xremoteclient/XRemoteClient.h => toolkit/components/remote/nsXRemoteClient.h
extra : rebase_source : 3e34402d41031f598f23a1e82e797797a52538dd
extra : source : c3c13b550b675b488bdde389035a13c85eee947d
2019-01-31 12:13:34 -08:00
Dave Townsend
bbb9bd1286 Bug 1518639: Remove the ability to remote to a different user or application. r=jimm
Remoting to a different user isn't supported everywhere and being able to
remote to a different application entirely is kind of odd. I don't think it
makes sense to continue to support these operations.

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

--HG--
extra : rebase_source : df03e6d2233c4235308f2f8c8ec860e8827254e5
extra : source : b4210f85c7e9c86ef0f173b5d2250c2862fec992
2019-01-31 11:12:32 -08:00
Oana Pop Rus
c6934bd373 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-02-21 11:45:07 +02:00
Oana Pop Rus
b36e97fc77 Merge inbound to mozilla-central. a=merge 2019-02-21 11:31:00 +02:00
Mats Palmgren
28ffbfffda Bug 1525775 - [css-mediaqueries] Synthesize a value for eIntID_SystemUsesDarkTheme to determine if GTK are using a light or dark theme. r=heycam,karlt 2019-02-21 09:12:35 +01:00
Cosmin Sabou
9f8b29287b Merge mozilla-central to autoland. 2019-02-21 05:43:34 +02:00
Cosmin Sabou
f3db52f4cf Merge mozilla-inbound to mozilla-central. a=merge 2019-02-21 05:42:03 +02:00
Kartikaya Gupta
35b16df12a Bug 1428158 - Fix static analysis errors in Android widgetry code. r=snorp
Just a few implicit constructors that need to be made explicit.

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

--HG--
extra : moz-landing-system : lando
2019-02-20 19:58:15 +00:00
Makoto Kato
376eb1a4da Bug 1528665 - Remove GetAndroidSystemInfo sync IPC. r=geckoview-reviewers,mccr8,snorp
nsSystemInfo is initialzied at first page load. Actually, content process uses
sync IPC to get Android OS information. But now, we can use Java code even if
on content process, so we should use JNI directly instead of sync IPC.

Also, nsSystemInfo still has unused extern android_sdk_version that is for
HoneyComp's DNS hack.  So let's remote it.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 21:19:14 +00:00
Jeff Gilbert
d6410e953a Bug 1528394 - Reduce includes of GLContext.h. r=lsalzman
Splitting part of OGLShaderProgram.h out into OGLShaderConfig.h makes it
easier to keep GLContext.h included in OGLShaderProgram.h for inlining
purposes.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 23:25:42 +00:00
Masayuki Nakano
474225038e Bug 998941 - part 2-2: Make HTMLEditor set InputEvent.dataTransfer when InputEvent.inputType is "insertFromPaste", "insertFromDrop" or "insertReplacementText" r=smaug,m_kato
InputEvent.dataTransfer should be set to non-null when InputEvent.inputType
is "insertFromPaste", "insertFromDrop" or "insertReplacementText" and
editor is an HTMLEditor instance:
https://rawgit.com/w3c/input-events/v1/index.html#dfn-data
https://w3c.github.io/input-events/#dfn-data

("insertTranspose" and "insertFromYank" are not currently supported on Gecko.)

This patch makes nsContentUtils::DispatchInputEvent() take dataTransfer value
and EditorBase set it via AutoEditActionDataSetter like data value.

However, we need to create other constructors of DataTransfer to create its
read-only instances initialized with nsITransferable or nsAString.  This will
be implemented by the following patch.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 06:33:42 +00:00
Masayuki Nakano
6eadee9e6c Bug 998941 - part 2-1: Implement InputEvent.dataTransfer declared by Input Events r=smaug
InputEvent.dataTransfer is declared by Input Events Level 1 and Level 2 (i.e.,
not UI Events).  It's necessary for "beforeinput" event on contenteditable
elements because of with some InputEvent.inputType values on contenteditable,
InputEvent.dataTransfer is used instead of InputEvent.data.

According to the Chrome's behavior, if InputEvent.dataTransfer is created by
web apps, the DataTransfer object is mutable.  Otherwise, i.e., the event
represents user input, the DataTransfer object is read only.  We should follow
this behavior.

This is enabled by default.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 06:32:11 +00:00
Masayuki Nakano
551de121c1 Bug 998941 - part 1-7: Make HTMLEditor set InputEvent.data to serialized color value when InputEvent.inputType is "formatBackColor" or "formatForeColor" r=smaug,m_kato,emilio
Although neither Chrome nor Safari does not set InputEvent.data when the event
is caused by `document.execCommand()` with `backColor`, `foreColor` nor
`hiliteColor`, Safari supports styling color with touchbar and in that case,
Safari sets it (*1).

Additionally, currently Safari uses `rgb()` to represents a color value and
using same rule to serializing color value for CSS OM matches Safari's behavior
and can represent any valid color values.

This patch makes given color value parsed and then serialized with same code
in style system.  If the value is `currentcolor`, `inherit`, `initial` or `reset`, sets
the value as-is for now.  Additionally, when given value is invalid, sets the value
as-is for forward compatibility.

Note that automated tests will be added into input-events-exec-command.html
by the last patch.

1. https://github.com/w3c/input-events/issues/94#issuecomment-461061517

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

--HG--
extra : moz-landing-system : lando
2019-02-19 06:31:28 +00:00
Masayuki Nakano
135f048bdf Bug 998941 - part 1-6: Make HTMLEditor set InputEvent.data when InputEvent.inputType is "fontName" r=smaug,m_kato
Although neither Chrome nor Safari does not set InputEvent.data value when
InputEvent.inputType is "fontName", but it's easy to implement. Therefore, this
patch implements it as declaration of Input Events.

This patch uses given value as-is.  Perhaps, this shouldn't cause any problems
because such value can be set to Element.style.fontFamily without any changes.

Note that automated test will be added into WPT later.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 06:30:50 +00:00
Masayuki Nakano
0d571915df Bug 998941 - part 1-5: Make HTMLEditor set InputEvent.data when InputEvent.inputType is "insertLink" r=smaug,m_kato
Although neither Chrome nor Safari does not set InputEvent.data value when
InputEvent.inputType is "insertLink", but it's easy to implement.  Therefore,
this patch implements it as declaration of Input Events.

This patch sets the value to raw href attribute value because we create
<a> element without absolute URI when web apps call execCommand("createLink")
with relative URI.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 06:30:12 +00:00
Masayuki Nakano
122ab2691a Bug 998941 - part 1-4: Make editor set InputEvent.data to "ltr" or "rtl" when InputEvent.inputType is "formatSetBlockTextDirection" r=smaug,m_kato
When InputEvent.inputType is "formatSetBlockTextDirection" or
"formatSetInlineTextDirection", InputEvent.data value should be one of
"ltr", "rtl", "auto" or "null".
https://rawgit.com/w3c/input-events/v1/index.html#dfn-data
https://w3c.github.io/input-events/#dfn-data

We only supports "ltr" and "rtl" when user switches the direction with
Accel + Shift + X.  Therefore this patch makes EditorBase set the data
to "ltr" or "rtl".

Oddly, with synthesizing the shortcut keys, the command is not executed
properly in the automated test.  Therefore, this patch dispatches the
command directly.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 06:29:38 +00:00
Masayuki Nakano
2eaf64e594 Bug 998941 - part 1-3: Make TextEditor (only when not HTMLEditor instance) set InputEvent.data to inserting string when InputEvent.inputType is "insertFromPaste", "insertFromDrop" or "insertReplacementText" r=smaug,m_kato
https://rawgit.com/w3c/input-events/v1/index.html#dfn-data
https://w3c.github.io/input-events/#dfn-data

Both Input Events Level 1 and Level 2 declare that InputEvent.data should be
set to inserting string only on TextEditor when InputEvent.inputType is
"insertFromPaste", "insertFromPasteAsQuotation", "insertFromDrop",
"insertTranspose", "insertReplacementText" or "insertFromYank".

Currently, we support only "insertFromPaste", "insertFromDrop",
"insertReplacementText".  Therefore, this patch makes TextEditor set
EditorBase::mEditActionData::mData only for them (and the instance is not
HTMLEditor's).

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

--HG--
extra : moz-landing-system : lando
2019-02-19 06:28:57 +00:00
Masayuki Nakano
a3484e40c0 Bug 998941 - part 1-2: Make editor set InputEvent.data to inserting text when it sets InputEvent.inputType to "insertText" or "insertCompositionText" r=smaug,m_kato
This patch makes nsContentUtils::DispatchInputEvent() support to set
InputEvent.data.  Whether the its value should be null or DOMString depends
on InputEvent.inputType value.

- https://rawgit.com/w3c/input-events/v1/index.html#overview
- https://rawgit.com/w3c/input-events/v1/index.html#dfn-data
- https://w3c.github.io/input-events/#overview
- https://w3c.github.io/input-events/#dfn-data

According to the draft specs, InputEvent.data should be always inserting text
when inputType is "insertText" or "insertCompositionText" (or
"insertFromCompoition" if Level 2 support is enabled).

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

--HG--
extra : moz-landing-system : lando
2019-02-19 06:28:19 +00:00
Masayuki Nakano
0f145fc8e5 Bug 998941 - part 1-1: Implement InputEvent.data of UI Events r=smaug
InputEvent.data notifies web apps of inserting/inserted text with "beforeinput"
and "input" events.  So, this is important especially for "beforeinput" event
listeners.  That's the reason why we need to support this before implementing
"beforeinput" event.

This patch adds it into InputEvent and make it enabled by default.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 06:27:41 +00:00
championshuttler
244faba60f Bug 1521928 - Changing addObserver to removeObserver. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D20097

--HG--
extra : moz-landing-system : lando
2019-02-18 13:55:06 +00:00
sotaro
ba95495155 Bug 1527556 - Change MAX_DISPLAY_CONNECTIONS to 3 r=stransky
nsWaylandDisplay needs to be allocated for each calling thread(main thread, compositor thread and render thread)

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

--HG--
extra : moz-landing-system : lando
2019-02-18 09:15:30 +00:00
Chris Peterson
79fdd8bd67 Bug 1528600 - widget/cocoa: Remove empty function EnsureLogInitialized(). r=mstange
widget/cocoa/nsChildView.mm:249:6 [-Wmissing-prototypes] no previous prototype for function 'EnsureLogInitialized'

Depends on D20087

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

--HG--
extra : moz-landing-system : lando
2019-02-17 16:10:57 +00:00
Chris Peterson
43be80fa7a Bug 1528600 - widget/cocoa: Change some global functions to static. r=mstange
widget/cocoa/nsChildView.mm:1932:21 [-Wmissing-prototypes] no previous prototype for function 'TextureSizeForSize'
widget/cocoa/nsCocoaUtils.mm:351:6 [-Wmissing-prototypes] no previous prototype for function 'data_ss_release_callback'

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

--HG--
extra : moz-landing-system : lando
2019-02-17 16:11:53 +00:00
Kyle Machulis
2bb286e58e Bug 1524683 - Move all nsIFrameLoaderOwner references to nsFrameLoaderOwner; r=nika
Depends on D19728

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

--HG--
extra : moz-landing-system : lando
2019-02-15 22:20:53 +00:00
Cosmin Sabou
a4b19fcd61 Merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : browser/components/nsBrowserContentHandler.js => browser/components/BrowserContentHandler.jsm
2019-02-15 20:39:45 +02:00
Andrew Osmond
1b7b334f50 Bug 1527235 - Fix how the alpha channel was missing from pasted clipboard images. r=tnikkel
In order to get the alpha channel when encoding BMP images from a
surface, we need to supply bmp=32 in the encoder options.

Differential Revision: https://phabricator.services.mozilla.com/D19835
2019-02-15 06:36:48 -05:00
Sylvestre Ledru
41d1d79094 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-15 08:15:57 +00:00
championshuttler
88995bd9cf Bug 1521928 - Enable Eslint for widget (manual changes). r=Standard8,jmathies
Differential Revision: https://phabricator.services.mozilla.com/D18580

--HG--
extra : moz-landing-system : lando
2019-02-14 20:20:18 +00:00
championshuttler
e97abf832d Bug 1521928 - Enable ESLint for widget (automatic changes). r=Standard8,jmathies
Differential Revision: https://phabricator.services.mozilla.com/D18579

--HG--
extra : moz-landing-system : lando
2019-02-14 20:20:20 +00:00
Daniel Varga
1e9aa9e1fc Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE
--HG--
rename : browser/components/nsBrowserContentHandler.js => browser/components/BrowserContentHandler.jsm
2019-02-15 03:51:05 +02:00
Mike Hommey
ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

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

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Aaron Klotz
84c01f8930 Bug 1400344: Rename mscom::MainThreadRuntime to mscom::ProcessRuntime and make it aware of Win32k lockdown and of multiple instantiations; r=Jamie
This patch takes care of a bunch of issues and does some cleanup:

* We rename mscom::MainThreadRuntime to mscom::ProcessRuntime, as the latter
  is a more accurate name going forward.
* We make ProcessRuntime aware of the Win32k Lockdown process mitigation
  policy. When Win32k is disabled, we perform process-wide COM initialization
  in the multi-threaded apartment (since we cannot create an STA window).
* We refactor the mscom apartment region stuff to enable the Win32k lockdown
  pieces in ProcessRuntime.
* We move some Gecko-specific stuff into MOZILLA_INTERNAL_API guards so that
  ProcessRuntime is usable outside of xul.dll (I will be needing it for the
  launcher process).
* Another thing that might happen with the launcher process is that, under
  error conditions in the launcher, we create a ProcessRuntime object on a
  background thread for the purposes of telemetry logging, but we also allow
  the main thread to proceed to start as the browser. This could result in a
  scenario where the main thread, as the browser process, is attempting to
  instantiate its ProcessRuntime and ends up racing with the launcher process's
  telemetry thread which has its own ProcessRuntime. To account for this
  situation, we add mutual exclusion to the process-wide initialization code.
  We host this part inside mozglue since that state is shared between both
  firefox.exe and xul.dll.
* We clean up ProcessRuntime::InitializeSecurity by using Vector to set up
  the EXPLICIT_ACCESS entries.
* We remove mscom::MainThreadClientInfo and replace it with a direct call to
  CoGetCallerTID
* We revise all references to this class to use the new name.

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

--HG--
rename : ipc/mscom/COMApartmentRegion.h => ipc/mscom/ApartmentRegion.h
rename : ipc/mscom/MainThreadRuntime.cpp => ipc/mscom/ProcessRuntime.cpp
rename : ipc/mscom/MainThreadRuntime.h => ipc/mscom/ProcessRuntime.h
extra : moz-landing-system : lando
2019-02-14 18:56:20 +00:00
Dorel Luca
67115dd61b Backed out changeset 2d4b8d90cbd7 (bug 1400344) for Spider monkey failrues. CLOSED TREE
--HG--
rename : ipc/mscom/ApartmentRegion.h => ipc/mscom/COMApartmentRegion.h
rename : ipc/mscom/ProcessRuntime.cpp => ipc/mscom/MainThreadRuntime.cpp
rename : ipc/mscom/ProcessRuntime.h => ipc/mscom/MainThreadRuntime.h
2019-02-14 20:45:26 +02:00
Aaron Klotz
0cb12a123a Bug 1400344: Rename mscom::MainThreadRuntime to mscom::ProcessRuntime and make it aware of Win32k lockdown and of multiple instantiations; r=Jamie
This patch takes care of a bunch of issues and does some cleanup:

* We rename mscom::MainThreadRuntime to mscom::ProcessRuntime, as the latter
  is a more accurate name going forward.
* We make ProcessRuntime aware of the Win32k Lockdown process mitigation
  policy. When Win32k is disabled, we perform process-wide COM initialization
  in the multi-threaded apartment (since we cannot create an STA window).
* We refactor the mscom apartment region stuff to enable the Win32k lockdown
  pieces in ProcessRuntime.
* We move some Gecko-specific stuff into MOZILLA_INTERNAL_API guards so that
  ProcessRuntime is usable outside of xul.dll (I will be needing it for the
  launcher process).
* Another thing that might happen with the launcher process is that, under
  error conditions in the launcher, we create a ProcessRuntime object on a
  background thread for the purposes of telemetry logging, but we also allow
  the main thread to proceed to start as the browser. This could result in a
  scenario where the main thread, as the browser process, is attempting to
  instantiate its ProcessRuntime and ends up racing with the launcher process's
  telemetry thread which has its own ProcessRuntime. To account for this
  situation, we add mutual exclusion to the process-wide initialization code.
  We host this part inside mozglue since that state is shared between both
  firefox.exe and xul.dll.
* We clean up ProcessRuntime::InitializeSecurity by using Vector to set up
  the EXPLICIT_ACCESS entries.
* We remove mscom::MainThreadClientInfo and replace it with a direct call to
  CoGetCallerTID
* We revise all references to this class to use the new name.

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

--HG--
rename : ipc/mscom/COMApartmentRegion.h => ipc/mscom/ApartmentRegion.h
rename : ipc/mscom/MainThreadRuntime.cpp => ipc/mscom/ProcessRuntime.cpp
rename : ipc/mscom/MainThreadRuntime.h => ipc/mscom/ProcessRuntime.h
extra : moz-landing-system : lando
2019-02-14 16:40:58 +00:00
James Willcox
1e0e61116d Bug 1526322 - Ensure GeckoWebExecutor doesn't clobber the Content-Type header. r=csadilek
Differential Revision: https://phabricator.services.mozilla.com/D19506

--HG--
extra : moz-landing-system : lando
2019-02-14 16:35:27 +00:00
Emilio Cobos Álvarez
323b5be77a Bug 1526294 - Should not need a pres context to get a system font. r=jfkthame
The only caller wants CSS pixels, no need to go back and forth.

This is the last dependency on the pres context, I think, from the style system
font code.

Differential Revision: https://phabricator.services.mozilla.com/D19147
2019-02-15 01:35:13 +01:00
shindli
040ff3d2c4 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-14 06:56:00 +02:00
shindli
54aa04bfd1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-02-13 23:36:24 +02:00
Markus Stange
5030ae1b0e Bug 1491445 - Make the ChildView always non-opaque and let NSVisualEffectView handle clearing of vibrant areas. r=spohl
This is a clearer implementation that achieves the same thing.

Moreover, disabling the clearing by overriding drawRect wouldn't work in
CoreAnimation windows because in CoreAnimation windows, the clearing happens
through a property of the NSVisualEffectView's CALayer, and not through the
view's drawRect implementation - drawRect probably isn't even called in that
context.

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

--HG--
extra : moz-landing-system : lando
2019-02-13 18:51:20 +00:00
Markus Stange
7023a7ce58 Bug 1491445 - Move any drawing from the ChildView into a new subview called PixelHostingView. r=spohl
This has two advantages:
 - The drawing will now correctly be placed "on top" of the vibrancy views.
 - We can turn this new view into a layer-hosting view. Layer-hosting views are
   supposed to be leaf NSViews; they shouldn't have any children.

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

--HG--
extra : moz-landing-system : lando
2019-02-13 17:50:41 +00:00
Markus Stange
01ea2d7bed Bug 1491445 - Don't return YES from allowsVibrancy for the contentView of context menu windows. r=spohl
Otherwise, any views inside the contentView are imbued with a vibrant effect, and
even non-NSVisualEffectView NSViews subtract from the vibrant region of any actual
vibrant views they overlap. This would cause the PixelHostingView to 'erase' the
blue context menu item highlighting.

This behavior is documented on NSVisualEffectView:

> It is recommended that you enable vibrancy only in the leaf views of your view
> hierarchy. Subviews inherit the vibrancy of their parent. Once enabled in a
> parent view, a subview cannot turn off vibrancy. As a result, enabling
> vibrancy in a parent view can lead to subviews that look incorrect if they are
> not designed to take advantage of the vibrancy effect.

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

--HG--
extra : moz-landing-system : lando
2019-02-13 17:50:27 +00:00
Markus Stange
5adfba9115 Bug 1491445 - Wrap vibrancy and nondraggable views inside container views. r=spohl
NSView hierarchy before:

 - window contentView
   - ChildView
     - NonDraggableView 1
     - NonDraggableView 2
     - EffectViewWithoutForegroundVibrancy 1
     - EffectViewWithoutForegroundVibrancy 2

NSView hierarchy after:

 - window contentView
   - ChildView
     - ViewRegionContainerView
       - NonDraggableView 1
       - NonDraggableView 2
     - ViewRegionContainerView
       - EffectViewWithoutForegroundVibrancy 1
       - EffectViewWithoutForegroundVibrancy 2

This allows us to give those container views a new sibling view which stays
fixed in z-order with respect to the NSViews that get created by
mNonDraggableRegion and mVibrancyManager. More specifically, I'm going to add a
view for the drawing of our ChildView ("PixelHostingView") which is going to be
a direct child of the Gecko "ChildView" and a sibling of the
ViewRegionContainerViews; the PixelHostingView needs to always stay on top of
the vibrancy views.
Without the wrapper around the vibrancy views, whenever the vibrant region
changes, a vibrant view would be placed on top of the PixelHostingView and the
order would be wrong.

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

--HG--
extra : moz-landing-system : lando
2019-02-13 17:50:12 +00:00
Markus Stange
8401b64d46 Bug 1527412 - Remove swizzling of -[NSView mouseDownCanMoveWindow]. r=spohl
This was added in bug 476393 in order to work around a problem with the Java plug-in.
We no longer support that plug-in.
The comment also mentions NSTexturedBackgroundWindowMask which we stopped using in bug 1335191.

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

--HG--
extra : moz-landing-system : lando
2019-02-13 11:14:03 +00:00
Markus Stange
02e8f0bcef Bug 1527412 - Make nsChildView::mView a ChildView*, because that's what it is. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D19556

--HG--
extra : moz-landing-system : lando
2019-02-13 11:14:02 +00:00
Markus Stange
20949d20bb Bug 1527412 - Remove unused contextMenu method. r=spohl
This method could only return something non-null in embedding situations,
in which our ChildView was a subview of somebody else's NSView that conforms
to the mozView protocol. Such a situation hasn't existed for about 10 years.

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

--HG--
extra : moz-landing-system : lando
2019-02-13 11:14:02 +00:00
Markus Stange
1b8351b1e6 Bug 1527412 - Fix mParentView's type (it doesn't necessarily implement the mozView protocol) and tweak a few comments. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D19554

--HG--
extra : moz-landing-system : lando
2019-02-13 11:14:02 +00:00
Jonathan Kingston
3421b8fcff Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin
Replacing js and text occurences of asyncOpen2
Replacing open2 with open

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

--HG--
rename : layout/style/test/test_asyncopen2.html => layout/style/test/test_asyncopen.html
extra : moz-landing-system : lando
2019-02-12 16:08:25 +00:00
Jorg K
6058d31f3a Bug 1526971 - Revert over-zealous error checking in nsDataObj::GetDownloadDetails() from bug 571074. r=mats 2019-02-11 15:44:00 +02:00
sotaro
0e2cb6d4e8 Bug 1514156 - Add RenderCompositorEGL for wayland r=nical
When GDK_BACKEND is wayland, widget is not fully mapped during creating CompositorSession. Needs to create valid EGLSurface after widget is fully mapped.

Differential Revision: https://phabricator.services.mozilla.com/D18940
2019-02-12 16:33:31 +09:00
sotaro
404ab365fe Bug 1525183 - Supress touch event and allocating bitmap
Chromium does workaround for scrolling with touch and avoid bitmap allocation when child window is used for DirectComposition. It improves performance of WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D18659
2019-02-12 14:34:52 +09:00
Marco Bonardo
12675bb16f Bug 1519538 - Disable idle-daily notifications in tests through user.js files. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D19017

--HG--
extra : moz-landing-system : lando
2019-02-09 13:29:21 +00:00
arthur.iakab
ddeb2146e9 Backed out changeset bac51381060d (bug 1519538) for causing multiple failures on Windows CLOSED TREE 2019-02-08 19:34:20 +02:00
Marco Bonardo
c8cf4c2695 Bug 1519538 - Disable idle-daily notifications in tests through user.js files. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D19017

--HG--
extra : moz-landing-system : lando
2019-02-08 16:43:58 +00:00
Noemi Erli
c2aec081be Backed out changeset bac51381060d (bug 1519538) for Linting failure in config.py 2019-02-08 18:32:01 +02:00
Marco Bonardo
65f6d086f4 Bug 1519538 - Disable idle-daily notifications in tests through user.js files. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D19017

--HG--
extra : moz-landing-system : lando
2019-02-08 14:10:08 +00:00
Cosmin Sabou
7d542a11f7 Merge mozilla-central to mozilla-inbound. 2019-02-21 05:44:20 +02:00
Razvan Maries
8add624474 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-02-08 06:26:00 +02:00
Martin Stransky
9719483cc6 Bug 1525874 - [Linux/Gtk+] When mozilla.widget.use-argb-visuals is set disable toplevel window shape mask, r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D18947

--HG--
extra : moz-landing-system : lando
2019-02-07 14:13:34 +00:00
Andrew Osmond
6cba1775c3 Bug 1453935 - Ensure that we snap within the visible rect with WebRender. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D18869
2019-02-07 18:05:43 -05:00
Andreea Pavel
7e3beb59f7 Backed out changeset 87ad4b91e29f (bug 1453935) for reftest failures on a CLOSED TREE 2019-02-08 00:45:29 +02:00
Andrew Osmond
fa36639a3b Bug 1453935 - Ensure that we snap within the visible rect with WebRender. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D18869
2019-02-07 15:26:54 -05:00
Martin Stransky
42ff7a7ef2 Bug 1523556 - [Linux/Gtk+] Don't apply titlebar shape mask to maximized windows, r=dao
Differential Revision: https://phabricator.services.mozilla.com/D18823

--HG--
extra : moz-landing-system : lando
2019-02-07 12:28:48 +00:00
Oana Pop Rus
f5709e64e4 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-07 11:55:25 +02:00
sotaro
164c8f7d81 Bug 1524591 - Call SetParent in UI process r=mattwoodrow
During security.sandbox.gpu.level=1, compositor window's parent cannot be set in GPU process, it needs to be set in UI process.

Differential Revision: https://phabricator.services.mozilla.com/D18811
2019-02-07 16:01:41 +09:00
Martin Stransky
6137d7cb9f Bug 1521312 - [Linux/Gtk+] Remove ui.GtkCSDReversedPlacement as it's broken and useless r=dao
Differential Revision: https://phabricator.services.mozilla.com/D18828

--HG--
extra : moz-landing-system : lando
2019-02-06 15:24:00 +00:00
Martin Stransky
2c149000af Bug 1525537 - [Linux/Gtk+] Listen on notify::gtk-decoration-layout signal to change titlebar layout, r=dao
Differential Revision: https://phabricator.services.mozilla.com/D18817

--HG--
extra : moz-landing-system : lando
2019-02-06 13:12:34 +00:00
Kris Maglione
950b0fc87b Bug 1524687: Part 10 - Convert Windows widget module to static registration. r=erahm
--HG--
extra : source : 614be688767fed0d16362dc5fbf0d34fc3c65579
extra : intermediate-source : accad7b4cbc71f35ffd4912044aa82c45872bb94
2019-01-25 15:20:36 -08:00
Kris Maglione
f349027d4c Bug 1524687: Part 9 - Convert gtk widget module to static registration. r=erahm
--HG--
extra : rebase_source : 7cbb575ae4ab96258bf827ef826aec18ccfba554
extra : source : 9c24919ac5c2056255dec5725af1fa1548f29ca2
2019-01-24 17:27:24 -08:00
arthur.iakab
470dbf03b6 Backed out 5 changesets (bug 1524687) for causing build bustages on platform.h CLOSED TREE
Backed out changeset 0f06a6b51bfe (bug 1524687)
Backed out changeset 7a1ef487a9e7 (bug 1524687)
Backed out changeset accad7b4cbc7 (bug 1524687)
Backed out changeset eb33f7e6467c (bug 1524687)
Backed out changeset 86cf09db340b (bug 1524687)
2019-02-21 02:04:02 +02:00
Kris Maglione
1d81cfc069 Bug 1524687: Part 10 - Convert Windows widget module to static registration. r=erahm
--HG--
extra : rebase_source : b64845009833ae2dd808111d52c137b784a23c88
extra : source : 614be688767fed0d16362dc5fbf0d34fc3c65579
2019-01-25 15:20:36 -08:00
Liang-Heng Chen
bd2504a471 Bug 1485266 - Use stand-ins for native colors when RFP is enabled r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D17755

--HG--
extra : moz-landing-system : lando
2019-02-06 08:45:44 +00:00
Martin Stransky
ed7fbd3a13 Bug 1523721 - [Linux/Gtk+] Continue processing window_state_event handler when titlebar is updated, r=dao
Recently we quit nsWindow::OnWindowStateEvent()/window_state_event handler when titlebar needs an update due to focus change.
That's incorrect as we need to process other information from the handler - maxminized/normal window state.

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

--HG--
extra : moz-landing-system : lando
2019-02-05 15:07:51 +00:00
inspiro
48193e74d3 Bug 1509030 : The X11 widget populate graphics adapter annotations through AddCrashReportAnnotations() r=gsvelto
Bug 1509030 : The X11 widget populate graphics adapter annotations through AddCrashReportAnnotations()

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

--HG--
extra : moz-landing-system : lando
2019-02-05 09:14:41 +00:00
Masayuki Nakano
3a0b903d0a Bug 1523635 - part 2: Make IMContextWrapper::OnKeyEvent() trust the result of gtk_im_context_filter_keypress() to decide whether handling event causes async event later r=m_kato
Unfortunately, we're not sure whether ibus always handles non-dead key events
asynchronously or synchoronously.  Therefore, for safer fix, this patch makes
IMContextWrapper::OnKeyEvent() decide that with the result of
gtk_im_context_filter_keypress().  If active IME is ibus and it consumes non-
synthesized events on password fields, it adjusts probablyHandledAsynchronously
value.

So, this patch changes the behavior of only when:
- active IME is ibus.
- only when a password field or ime-mode:disabled field has focus.
- not in dead key sequence.
- and the key event is consumed by ibus but nothing happend.

This must be enough safe to uplift.

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

--HG--
extra : moz-landing-system : lando
2019-02-05 11:59:38 +00:00
Masayuki Nakano
e8a9b66af6 Bug 1523635 - part 1: Rename maybeHandledAsynchronously to probablyHandledAsynchronously r=m_kato
Now, we believe that when `maybeHandledAsynchronously` is set to true,
ibus handles the event asynchronously in usual cases.  However, the behavior
of ibus on password field is unclear.  Currently, on Ubuntu 18.04,
Ubuntu 18.10 and Debian Cinnamon (9.6 / 3.2.7), ibus handles key events
asynchronously even in password fields even though I confirmed it was not
so at initial fix.  So, it could be just my mistake, but we need to prepare
for both cases here for safer fix.

So, in the following patch, I need to add another variable for weaker
decision, and we treat `maybeHandledAsynchronously` stronger than its
nuance.  Therefore, this patch renames it to `probablyHandledAsynchronously`.

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

--HG--
extra : moz-landing-system : lando
2019-02-05 06:48:08 +00:00
Sylvestre Ledru
14486004b6 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-04 19:10:18 +00:00
Edgar Chen
e7d657d627 Bug 1519131 - Remove unused preference cache for pointer event; r=jmathies
Differential Revision: https://phabricator.services.mozilla.com/D16198

--HG--
extra : moz-landing-system : lando
2019-02-04 09:16:30 +00:00
Masayuki Nakano
37b8ffe4a8 Bug 1521690 - Use Unused << instead of (void*) in nsWindow.cpp r=aklotz,jmathies
Casting non-void result to `void*` causes warning of clang.  Additionally,
perhaps, we should use `Unused <<` because of modern style.

And also this patch makes widget/windows is treated as "warning as errors"
because this patch fixes the last warning.

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

--HG--
extra : moz-landing-system : lando
2019-02-01 20:15:04 +00:00
Hiroyuki Ikezoe
b8cb200990 Bug 1523692 - Set the prefers-reduce-motion value for test to the instance of nsLookAndFeel in child processes. r=snorp
So that we can query the test value in the child process properly.

Note that the APIs used for setting the prefers-reduced-motion value for testing
are only used on Android and MacOSX.  As for MacOSX we have a different
machinery (see bug 1486971) to deliver the test value without spinning native
event loop in the child process so the change here is valid only for Android.

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

--HG--
extra : moz-landing-system : lando
2019-02-01 22:07:26 +00:00
sotaro
4776754f01 Bug 1524168 - Request AlphaVisual for WebRender r=jrmuizel
When hardware acceleration is enabled, GLContextGLX::FindVisual() is used to choose visual. When widget does not request AlphaVisual, the FindVisual() always choose RGB(24bit) visual. It causes to loose alpha during readback.

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

--HG--
extra : moz-landing-system : lando
2019-01-31 16:49:08 +00:00
Eitan Isaacson
35028de560 Bug 1515774 - Pass current GeckoView position with touch events to APZC. r=geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D17044

--HG--
extra : moz-landing-system : lando
2019-01-31 16:46:15 +00:00
Eitan Isaacson
da315919ab Bug 1515774 - Introduce mScreenOffset for pinch and multitouch events. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D17043

--HG--
extra : moz-landing-system : lando
2019-01-31 16:46:10 +00:00
Eitan Isaacson
186e2cc4ca Bug 1515774 - Use Screen pixels for gesture detection. r=botond
We currently use ParentLayer pixels in GestureEventListener, it should
be Screen pixels because we care about physical distances and
thresholds, not layer-relative ones.

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

--HG--
extra : moz-landing-system : lando
2019-01-31 16:45:53 +00:00
shindli
011ea038cb Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-01-29 23:54:31 +02:00
shindli
d5c5369355 Merge inbound to mozilla-central. a=merge 2019-01-29 23:37:33 +02:00
garvitdelhi
6bd950c37a Bug 1519185: Remove AttributeWillChange aNewValue parameter r=emilio,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D17073
2019-01-29 17:59:38 +01:00
Bob Owen
c10c92ae4e Bug 1511438 Part 2: Enable win32k lockdown on RDD process. r=jimm
This stops the use of some win32k calls during start-up that will fail and in
some cases cause a crash.

It also moves the MITIGATION_DYNAMIC_CODE_DISABLE to be enabled after start-up.
This is required because the hooks to fake the user32 and gdi32 initialization
are applied as the DLLs load and the dynamic code disable blocks that.
2019-01-29 08:49:13 +00:00
arthur.iakab
c1fae83952 Backed out 16 changesets (bug 1478124) for failing android geckoview-junit CLOSED TREE
Backed out changeset fce62c77a56b (bug 1478124)
Backed out changeset eb2fa3b5edf7 (bug 1478124)
Backed out changeset 8dacce59fcc0 (bug 1478124)
Backed out changeset 012fd0107204 (bug 1478124)
Backed out changeset 496aaf774697 (bug 1478124)
Backed out changeset 21f4fda03159 (bug 1478124)
Backed out changeset b0444e0bc801 (bug 1478124)
Backed out changeset d94039b19943 (bug 1478124)
Backed out changeset 5d85deac61c2 (bug 1478124)
Backed out changeset 929fd654c9df (bug 1478124)
Backed out changeset 1ddd80d9e91a (bug 1478124)
Backed out changeset b8d2dfdfc324 (bug 1478124)
Backed out changeset f500020a273a (bug 1478124)
Backed out changeset dd00365ebb55 (bug 1478124)
Backed out changeset 538e40c5ee13 (bug 1478124)
Backed out changeset bedaa9c437ad (bug 1478124)
2019-01-29 10:03:06 +02:00
Kris Maglione
e930b89c34 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

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

--HG--
extra : rebase_source : 359574ee3064c90f33bf36c2ebe3159a24cc8895
extra : histedit_source : b93c8f42808b1599f9122d7842d2c0b3e656a594%2C64a3a4e3359dc889e2ab2b49461bab9e27fc10a7
2019-01-17 10:18:31 -08:00
Stephen A Pohl
64f7863830 Bug 1386046: Change background color of download progress bar over macOS Dock icon from white to clear to better match native theme expectations. r=mstange 2019-01-28 13:50:45 -05:00
Randell Jesup
76bd9e73cc Bug 1522150: Add a DeferredTimers queue ahead of the normal Idle EventQueue r=froyd
* * *
Bug 1522150: Rename NS_IdleDispatch* functions since they take queue identifiers r=froyd
2019-01-26 12:18:05 -05:00
Emilio Cobos Álvarez
ef7d8198eb Bug 1520502 - Set the standard cursor and the custom cursor in the same IPC message. r=jmathies
This cleans up a bit and allows us to be smarter about which cursors
should we allow from content or what not, which will help with bug 1445844 and
co.

Differential Revision: https://phabricator.services.mozilla.com/D16711
2019-01-26 07:49:28 +01:00
Masayuki Nakano
95b953d536 Bug 1521694 - Make DisplaySystemMenu() handle all nsSizeMode value r=jmathies
DisplaySystemMenu() does not handle nsSizeMode_Invalid that causes warning of
clang.  This patch makes it treat nsSizeMode_Invalid.  When it receives the
value, it will call NS_ASSERTION() to be detectable on debug builds during
automated tests.

Additionally, this adds default case into the switch statement with
MOZ_ASSERT_UNREACHABLE().  Then, when somebody adds new nsSizeMode, they
can detect it with crash in debug build if they forget to change this method.

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

--HG--
extra : moz-landing-system : lando
2019-01-25 22:17:26 +00:00
Masayuki Nakano
e8d2d0ebb7 Bug 1521686 - Get rid of unused EnsureSharedSurfaceSize() method r=jmathies
The method was added by bug 506926, but not sure when this becomes an orphan.

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

--HG--
extra : moz-landing-system : lando
2019-01-25 22:18:28 +00:00
Martin Stransky
c20796e702 Bug 1522474 - [Wayland] Commit wl_surface state right after its creation, r=ashie
Differential Revision: https://phabricator.services.mozilla.com/D17498

--HG--
extra : moz-landing-system : lando
2019-01-25 03:37:52 +00:00
Narcis Beleuzu
dcd0b9d50a Merge inbound to mozilla-central. a=merge 2019-01-25 06:28:32 +02:00
Martin Stransky
ff201af524 Bug 1521630 [Linux/Gtk] Use GdkEventCoordsToDevicePixels() to get mouse coordinates for mDraggableRegion.Contains(), r=ntim,TYLin
Differential Revision: https://phabricator.services.mozilla.com/D17490

--HG--
extra : moz-landing-system : lando
2019-01-24 19:29:14 +00:00
Martin Stransky
4138f8ce3b Bug 1521310 - [Linux/Gtk] Use ':' separator to place titlebar buttons left/right, r=dao
Use only ':' separator instead of 'menu:' to place titlebar buttons as the menu may not be always present.

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

--HG--
extra : moz-landing-system : lando
2019-01-24 10:54:28 +00:00
Martin Stransky
4452be5cba Bug 1519606 - [Linux/Gtk] Compute correct margin for left titlebar buttons placement, r=dao
Depends on D17347

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

--HG--
extra : moz-landing-system : lando
2019-01-24 09:22:30 +00:00
Martin Stransky
c9db5cb4d3 Bug 1519606 - [Linux/Gtk] Don't add margin to icon position at titlebar buttons as it's already applied at drawing, r=dao
Differential Revision: https://phabricator.services.mozilla.com/D17347

--HG--
extra : moz-landing-system : lando
2019-01-23 16:17:26 +00:00
Sylvestre Ledru
b61d90492b Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Depends on D17388

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

--HG--
extra : moz-landing-system : lando
2019-01-24 08:11:00 +00:00
Dylan Roeh
44dab4cd06 Bug 1514364 - Add appendRawFilter to nsIFilePicker to expose actual accept filters to GV for onFilePrompt. r=snorp, smaug 2019-01-24 10:21:05 -06:00
Martin Stransky
59a8114e76 Bug 1521012 - [Linux/GNOME] Use X shape mask to draw transparent corners when we draw to titlebar, r=lsalzman
To support rounded corners of Gtk+ titlebar themes (Adwaita, Radiance..) in GNOME we need to use X shape mask
as fully transparent toplevel window causes various issues (like Bug 1516224).

We draw mShell as transparent and mContainer as non-transparent with shape mask applied. The shape mask
is generated only when titlebar rendering is enabled and it's generated from GtkHeaderBar Widget
to match the exact look.

We use existing mTransparencyBitmap for the shape mask where mTransparencyBitmapForTitlebar controls
whether it's a general shape mask or our specialised shape for titlebar only.

This is already enabled for GNOME environment by default. So there's a new preference
widget.default-hidden-titlebar added to easily disable it if any issue appears
during testing.

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

--HG--
extra : moz-landing-system : lando
2019-01-23 12:36:25 +00:00
Sebastian Hengst
3a9f3f2226 Fix off-by-one issue from merge conflict between bug 1313429 and bug 1521460. CLOSED TREE 2019-01-23 02:50:04 +02:00
Gurzau Raul
136dc5e8bc Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-01-23 02:05:32 +02:00
Sylvestre Ledru
49f8917074 Bug 1521460 - Ride along: remove conflict r=me CLOSED TREE 2019-01-22 22:07:00 +01:00
Sylvestre Ledru
0662df7a60 Bug 1521460 - Ride along: remove useless ';' r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D17140

--HG--
extra : histedit_source : 782210d18f2acd8134436afc70cecaf6c7d92bd2
2019-01-21 18:46:21 +01:00
Sylvestre Ledru
0b4021fcad Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl
# ignore-this-changeset

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

--HG--
extra : histedit_source : 084f340503d2e1a2d9e1753c38b2c4ee9c7819f3
2019-01-21 18:18:16 +01:00
Harry Twyford
70df5bbf20 Bug 1313429 - Add Touch Bar functionality to Firefox r=spohl,mikedeboer,flod
Adds Touch Bar functionality to Firefox across eight commits.

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

--HG--
extra : moz-landing-system : lando
2019-01-22 17:13:33 +00:00
Masayuki Nakano
2604235be7 Bug 1521685 - Get rid of unused GetLastError() API call in nsDataObj::GetDib() r=aosmond
nsDataObj::GetDib() calls GetLastError() API immediately after calling
GlobalAlloc() and just return E_FAIL in such case.  So, we don't need to
call it.

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

--HG--
extra : moz-landing-system : lando
2019-01-22 11:34:20 +00:00
Sylvestre Ledru
755a1a7c2f Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-01-21 14:49:22 +00:00
Cosmin Sabou
7ccc9d8b0b Merge mozilla-inbound to mozilla-central. a=merge 2019-01-19 11:57:49 +02:00
Tim Nguyen
60a5143df0 Bug 1241885 - Implement support for -moz-window-dragging in GTK and remove toolkit toolbar-drag binding. r=dao,bzbarsky,stransky
The restriction preventing fullscreen windows from being dragged is removed.

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

--HG--
extra : moz-landing-system : lando
2019-01-18 22:42:24 +00:00
Andreea Pavel
95431afe85 Backed out 1 changesets (bug 1241885) for build bustages on a CLOSED TREE
Backed out changeset 176be7000d33 (bug 1241885)
2019-01-18 23:49:55 +02:00