Commit Graph

22921 Commits

Author SHA1 Message Date
cku
a07e7d69cf Bug 1399787 - Part 2.a. Add functions to load the content of a PDF from a FileDescriptor. r=jwatt
All the functions added in Part 2 are utilities for sharing EMF/PDF contents
between processes.

MozReview-Commit-ID: 3qKosXH56kY

--HG--
extra : rebase_source : 0531cfa563094c1a3a6dac4895ed1b8edfd285e0
extra : source : b61b651ed6f668e32176353d346b25d23e2cd932
2017-11-01 21:33:28 +08:00
cku
86f919fdad Bug 1399787 - Part 1. Fix namespacing and include issues hidden by unified compilation. r=jwatt
We will create several new files in the following patches for IPC and a new
subprocess. Several already existed files will be shifted into new build units,
we will meet several compile errors because of it.

This patch fixes those compile error in advance.

MozReview-Commit-ID: 5hd0sNYfBu0

--HG--
extra : rebase_source : b6b8b069f8f2167ef87266ba9c95e8fe53cca6f6
2017-10-06 22:01:22 +08:00
Martin Stransky
1c02893dc9 Bug 1423869 - don't draw to mContainer when decorations are rendered by window manager, r=jhorak
Bug 1421974 introduced new mechanism to hide system titlebar by enabling client-side decorations for main Firefox window. It also causes a regression when the CSD window setup is enabled when system titlebar is hidden by window manager.

This patch fixes that and enables the CSD window setup only for case when it's actualy used.

MozReview-Commit-ID: 6OzoPyxlhCp

--HG--
extra : rebase_source : 9bcfc96cd27cb088f8d9671780304c2ac3772fdf
2017-12-07 15:20:48 +01:00
Martin Stransky
53c4e3f117 Bug 1417874 - Split clipboard implementation to shared (nsClipboard) and backend specific (nsClipboardX11) parts, r=jhorak
MozReview-Commit-ID: 5IebGayJl1

--HG--
extra : rebase_source : 7009a0f5a668895930280fc4426baa22abdc499c
2017-11-16 14:00:00 +01:00
Bogdan Tara
71dd57ba46 Merge mozilla central to autoland. r=merge a=merge on a CLOSED TREE 2017-12-07 15:54:19 +02:00
Masayuki Nakano
600d0e1cd9 Bug 1423456 - ContentCacheInParent::OnEventNeedingAckHandled() shouldn't decrement mPendingCompositionCount when it receives eCompositionCommit(AsIs) from the remote process but the composition has already been committed by a request to commit composition r=m_kato
After fixing bug 1420849, remote process started to ignore composition events
after it synthesizes eCompositionCommit event after requesting to commit
composition.  However, remote process still keeps returning composition events
when it receives from the main process.  So, if the main process has already
sent eCompositionCommit(AsIs) event when it's requested to commit composition
from the remote process, ContentCacheInParent::OnEventNeedingAckHandled()
receives both eCompositionCommitRequestHandled and eCompositionCommit(AsIs)
events for *a* composition.  Therefore, mPendingCompositionCount may be
decremented twice for a composition.  This causes hitting MOZ_DIAGNOSTIC_ASSERT.

So, ContentCacheInParent need to manage if sent composition events are ignored
or not.  Then, ContentCacheInParent::OnEventNeedingAckHandled() stops
decrementing mPendingCompositionCount when it receives eCompositionCommit(AsIs)
events which are ignored by the remote process.

This patch manages it with |mIsChildIgnoringCompositionEvents| and changes
|bool mIsPendingLastCommitEvent| to |uint8_t mPendingCommitCount| for
making ContentCache be able to manage multiple pending commit events if
its remote process is too busy.

MozReview-Commit-ID: CYQDeZXl7TJ

--HG--
extra : rebase_source : 6de1e2f1302d556d45d19c73b4d1ea3f86b65373
2017-12-06 15:07:41 +09:00
Aaron Klotz
c7226f11c6 Bug 1419886: Part 1 - Add hooks for UIA detection to nsAppShell; r=jimm
MozReview-Commit-ID: 5p4kZDHcQGn
2017-12-04 17:53:13 -07:00
Dorel Luca
ed8dc2034d Merge inbound to mozilla-central r=merge a=merge 2017-12-07 00:01:19 +02:00
Martin Stransky
c960be3742 Bug 1421974 - use gtk_window_set_titlebar() to hide titlebar on WM where GDK_DECOR_BORDER does not work, r=jhorak
This patch is based on Karl Tomlinson's (:karlt) demo from Bug 1419456. We use gtk_window_set_titlebar()
to set invisible widget. The widget takes place of GtkHeaderBar which leads Gtk+ to render CSD shadows
and handle window resizing, it does not render any titlebar.

gtk_window_set_titlebar() works on unrealized windows only and mShell is already realized at time
of nsWindow::SetDrawsInTitlebar() call so we need to update recent GtkWidget setup.

In that case we create GdkWindow for mContainer (instead of mShell), create a temporary GtkWindow,
reparent mContainer (which owns mGdkWindow) to it, unrealize mShell and set up the titlebar
for mShell toplevel window.

As a workaround for Gtk+ Bug 791081 we also allocate some valid size for mShell before it's newly realized
with the updated titlebar.

MozReview-Commit-ID: A3KwRoOzoko

--HG--
extra : rebase_source : ded644762d3be9e79e3d407f57b2f9098021fb96
2017-12-01 15:22:48 +01:00
Martin Stransky
034109dd85 Bug 1421974 - refactor nsWindow::HideWindowChrome() to nsWindow::SetWindowDecoration() and share it with nsWindow::SetDrawsInTitlebar, r=jhorak
MozReview-Commit-ID: 3xEdMXq9JvJ

--HG--
extra : rebase_source : 20a981ec562388337f826cbfcc5cdd5a4c6c37a8
2017-12-01 15:09:11 +01:00
Emilio Cobos Álvarez
c5eb38b456 Bug 1423167: Fix osx-only bustage. r=me
MozReview-Commit-ID: IUCWvrunuht
2017-12-06 16:42:13 +01:00
Emilio Cobos Álvarez
74b31155f7 Bug 1423167: Move most attribute-related methods from nsIContent to Element. r=bz
MozReview-Commit-ID: 6WXqNiODttD
2017-12-06 16:05:59 +01:00
Jim Chen
2119c96737 Bug 1423010 - 3. Clean up o.m.g.gfx package; r=rbarker
Remove unused classes and make classes that are not used outside of the
package package-private.

MozReview-Commit-ID: 9FxcL5QsM1Q

--HG--
extra : rebase_source : d9ed39d06a0e2aadec131d06c92cb11ef342a320
2017-12-05 11:40:10 -05:00
shindli
2e08acdf88 Merge inbound to mozilla-central r=merge a=merge 2017-12-05 11:58:51 +02:00
Masayuki Nakano
af6a1c5d37 Bug 1403759 - part 2: Handle edit/selection commands like insertNewline: in TextInputHandler::HandleCommand() r=m_kato
Let's make TextInputHandler::HandleCommand() handle other
commands which are caused by Backspace, Delete, Tab, ArrowUp,
ArrowDown, ArrowRight, ArrowLeft, PageUp, PageDown, Home, End
and Escape keys with various modifiers.

This patch makes Korean users can do most key operation in
editor even with composing Hangul character.

Note that this patch has a hack for cancelOperation: command.
The command is typically fired for Escape key press.  However,
it's also fired for Command + Period.  Unfortunately, this
behavior is really odd if subclass of NSResponder implements
|void cancelOperation:(id)sender|.  If it's implemented,
Cocoa doesn't call its |void keyDown:(NSEvent)theEvent|.
Instead, it calls only |void doCommandBySelector:(SEL)aSelector|
and |void cancelOperation:(id)sender| when Command + Period is
pressed.  Therefore, we cannot dispatch keydown nor keypress
event for this key combination if we implement it.  Therefore,
this patch doesn't implement the method but handle it in
doCommandBySelector even though the super class of ChildView
cannot handle the command with this path.

MozReview-Commit-ID: 4hS23SiwNJv

--HG--
extra : rebase_source : 38ac1ea494b5f786ecd5c9327efbacd460b59faf
2017-12-02 14:53:10 +09:00
Masayuki Nakano
d7ecd695d3 Bug 1403759 - part 1: Make TextInputHandler::InsertNewline() treat other commands r=m_kato
Currently, we handle insertNewline: of NSResponder with
TextInputHandler::InsertNewline().  However, its
implementation is useful for handling some other
commands.  So, let's rename it to HandleCommand() and
make it take Command as its argument for handling
specific behavior of each command.

MozReview-Commit-ID: GgzQdTlVtYl

--HG--
extra : rebase_source : e1d1c8617897d29eb10ba62708e3549a77c6ee59
2017-12-02 10:46:31 +09:00
Bogdan Tara
28f65f2044 Merge mozilla-central to inbound. r=merge a=merge on a CLOSED TREE 2017-12-04 22:47:53 +02:00
Stephen A Pohl
c4a7977565 Bug 1405577: Restore the ability to open new windows in new spaces when a window is already in fullscreen mode on macOS. r=mstange 2017-12-04 15:06:35 -05:00
Stephen A Pohl
b1bd9b5870 Backout 84bcb5742e0c (bug 1405577) to replace with a slimmer patch. r=me 2017-12-04 15:06:26 -05:00
Jim Chen
e696707755 Bug 1416330 - 6. Update bindings; r=jchen
MozReview-Commit-ID: FjpC2Tlu2OF

--HG--
extra : rebase_source : 91d793ef49a663c299416a465d2e30d65ae71306
2017-12-04 11:50:21 -05:00
Jim Chen
203776418e Bug 1416330 - 3. Update Fennec code to not use LayerView; r=rbarker
Use GeckoSession/LayerSession or GeckoView in Fennec code instead of
using LayerView.

MozReview-Commit-ID: Iod7XsqKy1e

--HG--
extra : rebase_source : 5917540422698f5526ca373f17c4358a712cdcef
2017-12-04 11:50:20 -05:00
Julian Hector
465eaf30eb Bug 1401111 - Use ContiguousEnumSerializer for EventMessage ParamTraits; r=botond 2017-12-01 13:00:56 -05:00
Sebastian Hengst
5e55af8f82 merge mozilla-central to autoland. r=merge a=merge 2017-12-01 01:30:16 +02:00
Sebastian Hengst
7cbd9c3050 merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-12-01 01:25:54 +02:00
Brindusan Cristian
6a74eec204 Merge inbound to mozilla-central r=merge a=merge 2017-12-01 00:22:25 +02:00
Dylan Roeh
3589e9efe6 Bug 1412678 - Ensure the window most recently interacted with is the active window. r=snorp 2017-11-30 09:00:05 -06:00
Andrea Marchesini
b4057b86a1 Bug 1421655 - Renaming imgITools::decodeImageBuffer to imgITools::decodeImageFromBuffer, r=aosmond 2017-11-30 14:48:47 +01:00
Stephen A Pohl
aac02bb998 Bug 1405577: Restore the ability to open new windows in new spaces when a window is already in fullscreen mode on macOS. r=mstange 2017-11-29 23:14:11 -05:00
Dorel Luca
79499f4044 Merge mozilla-central to autoland r=merge on a CLOSED TREE 2017-11-29 12:31:25 +02:00
Dorel Luca
be78e6ea9b Merge inbound to mozilla-central r=merge a=merge 2017-11-29 12:26:15 +02:00
Markus Stange
20a0c0f910 Bug 1421071 - Don't use fallback for invisible overlay scrollbar tracks on Mac with WebRender. r=jrmuizel
MozReview-Commit-ID: 5PJVqgGi8uD

--HG--
extra : rebase_source : bc238065ee46d009120dde7ee8de56f640facb24
2017-11-27 17:35:36 -05:00
Martin Stransky
f9a10ab56d Bug 1420110 - remove browser.tabs.drawInTitlebar check from nsLookAndFeel, r=jhorak
The browser.tabs.drawInTitlebar check at nsLookAndFeel is redundant, breaks Thunderbird and dynamic titlebar rendering change. Let's use browser.tabs.drawInTitlebar at browser level and when enabled configure titlebar visibility by moz_gtk* media atoms.

MozReview-Commit-ID: IhCYmXgVME7

--HG--
extra : rebase_source : 6f152e5c3d7d5abbb134c9f5adcb76fd6ed335cb
2017-11-23 21:00:12 +01:00
Mark Banner
099e4fa549 Bug 1421458 - Add more initial configuration setup and prepare .eslintignore for enabling ESLint on more xpcshell-test directories. r=mossop
MozReview-Commit-ID: 4nbTuNNnAdZ

--HG--
extra : rebase_source : 7131f0ddad79d28615a5799c657972bd84a69180
2017-11-28 22:57:08 +00:00
Alex Gaynor
8cb6e552a8 Bug 1414834 - re-land print IPC changes from bug 1319423; r=bobowen
With this patch print IPC no longer requires the child process to create files.
Instead files are opened by the parent and a file descriptor is sent to the
child. This will allow us to sandbox child processes more aggressively.

MozReview-Commit-ID: GQWTYLV01kj

--HG--
extra : rebase_source : 9b91e9b01708d73915a49684c2cec96457650e45
2017-11-03 14:37:15 -04:00
Martin Stransky
51d1404cde Bug 1420820 - Added MOZ_GTK_TITLEBAR_DECORATION to override window manager detection and set window decoration type, r=jhorak
Enables override window manager default with those values:

MOZ_GTK_TITLEBAR_DECORATION=none - Firefox does not mess with decoration
MOZ_GTK_TITLEBAR_DECORATION=client - Firefox tries to disable titlebar rendering and draws shadows by client side decorations.
MOZ_GTK_TITLEBAR_DECORATION=system - Firefox tries to disable titlebar rendering and leave system (window manager) to draw window decorations.

MozReview-Commit-ID: G60QS3g1TD0

--HG--
extra : rebase_source : fd7b5d2b0282fbd54046947d210b1288a0610a23
2017-12-04 15:19:00 +01:00
Martin Stransky
91251dce14 Bug 1281425 - Implement wayland loop to process wl_display events for threads and bind wl_registry for wl_shm, r=jhorak
MozReview-Commit-ID: 1pS1wfOiOo4

--HG--
extra : rebase_source : cde165f1b79625eb807035ac01d50c53cff90bfc
2017-11-02 17:08:33 +01:00
Martin Stransky
a6e8113393 Bug 1281425 - Added nsWaylandDisplay class to support access to Wayland display, r=jhorak
MozReview-Commit-ID: 6IU5hS15MmM

--HG--
extra : rebase_source : a4f8b13d2a95dbdeff315e1aea087712daece4fd
2017-10-26 20:19:36 +02:00
Kartikaya Gupta
9154159eef Bug 1419834 - Add hit-testing results for MozMouseHittest events to APZTestData. r=botond,mrbkap
This allows us to fire MozMouseHittest events from tests and then read
the hittest result from the compositor APZTestData. The MozMouseHittest
event was chosen in particular because the existing uses of it are
similar in nature - it is a dummy event that is used to determine what
elements a particular coordinate targets. It is also an event that is
never generated by the OS and so using this event gives us more control
over what ends up in the APZTestData.

MozReview-Commit-ID: KHjIX7EpK2A

--HG--
extra : rebase_source : f7d7d729c1935eefd49ed06d8644ff9ef537f2e1
2017-11-29 23:16:26 -05:00
Margareta Eliza Balazs
cb71a3c4fe Merge mozilla-central to mozilla-autoland. r=merge a=merge CLOSED TREE 2017-11-30 12:55:54 +02:00
Martin Stransky
28829e9356 Bug 1419460 - search XDG_CURRENT_DESKTOP for desktop environment type substring, r=jhorak
We need apply various titlebar/border configuration which is based on active
window manager and desktop type. The XDG_CURRENT_DESKTOP shell variable contains active
desktop environment which we use at GetCSDSupportLevel().

Unfortunately Ubuntu adds "ubuntu:" prefix at XDG_CURRENT_DESKTOP so we can't do
plain string compare but rather search for DE substring at GetCSDSupportLevel().

MozReview-Commit-ID: GmAZ30p47eI

--HG--
extra : rebase_source : eeef51e7326bb8be6418554b07ce5791e988f02f
2017-11-23 14:01:35 +01:00
Martin Stransky
74d977ad2a Bug 1420124 - X Remote client: Encode DBus interface strings by base64 to avoid failure/crashes, r=jhorak
DBus strings can contain only [a-z][A-Z][0-9]_ chars. Encode profile name (used as part of interface name) by base64 and adjust it to avoid crashes (Bug 1418985).

MozReview-Commit-ID: J2SQHYRcWDW

--HG--
extra : rebase_source : 6ef46a1b390796021030fe0dc2e0294262eaea0c
2017-11-23 12:28:07 +01:00
Milan Sreckovic
be9daa43bf Bug 1418980: Add full blocklisting support for GPU_PROCESS and DX_INTEROP2. r=dvander
MozReview-Commit-ID: 4gKi54Is8KO

--HG--
extra : rebase_source : ca99fdfa779b107d8fb41f8274aed6615ee69a02
2017-11-21 13:13:10 -05:00
Bob Owen
0160e22eae Bug 1420171 Part 2: Remove some unused members from nsDeviceContextSpecG. r=karlt 2017-11-28 08:58:58 +00:00
Bob Owen
546d657b09 Bug 1420171 Part 1: Only default the print-to file name on Linux if not already set. r=karlt
This allows the web extension saveAsPDF function to work properly.
2017-11-28 08:58:43 +00:00
Masayuki Nakano
8418b1b497 Bug 1420849 - Make PuppetWidget discard composition events after requesting commit composition and synthesizing eCommitComposition event until new eCompositionStart event comes r=m_kato
When ContentCacheInParent::RequestIMEToCommitComposition() returns true,
the remote process will synthesize eCompositionCommit event.  This causes
destroying TextComposition event in the remote process (by
IMEStateManager::DispatchCompositionEvent()).  Then,
IMEStateManager::DispatchCompositionEvent() will recreate new TextComposition
instance when it receives new composition event.  Then, it may request
to commit composition to the main process via PuppetWidget accidentally.

So, after PuppetWidget::RequestIMEToCommitComposition() synthesizes
eCompositionCommit, PuppetWidget should discard following composition events
until it receives eCompositionStart since they are unnecessary for the content
and they are for the old composition, i.e., outdated events.

MozReview-Commit-ID: BNRcoYxABpd

--HG--
extra : rebase_source : caea469afeed8cc373aeca33199ac0d570052569
2017-11-27 20:34:01 +09:00
lochang
e889dbe685 Bug 1417751 - Implement a new value inner-spin-button to -moz-appearance on all platforms except Android. r=mats
MozReview-Commit-ID: 7jpLCOWZA2x

--HG--
extra : rebase_source : d2a4d160d26e6f6996ed1cb3a673576236b8ef23
2017-11-29 10:43:13 +08:00
Narcis Beleuzu
c396d718bd Merge mozilla-central to autoland. r=merge a=merge on a CLOSED TREE 2017-12-01 00:46:03 +02:00
Jim Chen
675847149d Bug 1416316 - 4. Update comments and bindings; r=jchen
MozReview-Commit-ID: 9CBe7Iej1D8

--HG--
extra : rebase_source : 0db28213833915747d9b34fe58458348a33458ad
2017-11-30 13:25:51 -05:00
Jim Chen
84ca8a1479 Bug 1416316 - 3. Update NPZC usages; r=rbarker
Remove NPZC references from LayerView, and add an NPZC getter in
LayerSession. Use the new APIs in GeckoView to forward events to NPZC.

MozReview-Commit-ID: 1UcJkpW0XuM

--HG--
extra : rebase_source : 6f50d1ca9398a2549678cc4e0fbb2578d284f63a
2017-11-30 13:25:50 -05:00
Jim Chen
bd61ff7f2f Bug 1416316 - 2. Clean up NativePanZoomController; r=rbarker
Clean up the NativePanZoomController object including,

1) Remove references to LayerView because NPZC will be created and used
by LayerSession.

2) Rename `mDestroyed` to `mAttached` because NPZC now needs to support
cases where it's used before being attached, in addition to after being
destroyed.

3) Move origin of synthesized event coordinates from the screen to the
surface in native code, so we don't need to do the same thing in Java.

4) Invoke all callbacks from native code on the UI thread.

MozReview-Commit-ID: Fu4XIY59yKw

--HG--
extra : rebase_source : cb4d432cb940cfa92f3c0a931f1f2d2991932462
2017-11-30 13:25:50 -05:00