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

23763 Коммитов

Автор SHA1 Сообщение Дата
Nicholas Nethercote 51f2b494ea Bug 1448222 - Remove MediaPrefs. r=jya
This patch converts all the prefs in MediaPrefs to the new StaticPrefs system.

Note that the "media.wmf.skip-blacklist" pref was present in both MediaPrefs
and gfxPrefs. The copy in MediaPrefs was never used; this explains why this
patch does not add an entry for it to StaticPrefList.h.

Note also that the patch removes themedia.rust.mp4parser pref, because it's
unused.

MozReview-Commit-ID: IfHP37NbIjY

--HG--
extra : rebase_source : df84ea813b7c366d7be663c696891325610149c8
2018-03-20 09:48:56 +11:00
Florian Quèze 8381200df3 Bug 1450293 - Avoid starting the GPU process for the initial navigator:blank window, r=jimm. 2018-04-16 23:15:05 +02:00
Markus Stange dc2e7f64fa Bug 1421088 - Move code out of DrawWidgetBackground into a new method called ComputeWidgetInfo. r=spohl
MozReview-Commit-ID: 2XeZHH4lJrj

--HG--
extra : rebase_source : 40c05f8748b8534dbc55a1cea1d44f1fbd4321a1
extra : source : 359f50ab6156dc33aa04dda62816b87fe3883d7d
2018-04-14 23:31:11 -04:00
Dale Harvey 5aeada7d94 Bug 1363168 - Add support for OSX Share feature. r=Gijs,mstange
MozReview-Commit-ID: sJXl2If9Ou

--HG--
extra : rebase_source : b88ff89e1d28bab28c3575c2f7f30c91bd584aea
2018-03-12 09:16:51 +00:00
Markus Stange 74682ab717 Bug 1421088 - Move rendering code out into a separate method. r=spohl
MozReview-Commit-ID: 9lxf0VPYaK8

--HG--
extra : rebase_source : 1e63d6b292f39d97fd54156c71199c1af5a1ea49
extra : intermediate-source : bae3b78391709cf3f00301d90bbac6a458d14446
extra : source : 2d2a595a6d150e3435a11c77609a509bbb8d264f
2017-11-18 18:53:54 -05:00
Markus Stange db34652d0c Bug 1421088 - Create a WidgetInfo struct and route drawing through it. r=spohl
MozReview-Commit-ID: 1pKgNAodbev

--HG--
extra : rebase_source : d3512cd040aa3730d5ba2bbad115838589b2b9c6
2018-04-14 23:19:18 -04:00
Markus Stange c8c263cd37 Bug 1421088 - Create a DrawNativeTitlebar overload that takes a UnifiedToolbarParams param. r=spohl
MozReview-Commit-ID: Gxe4qIZV7HI

--HG--
extra : rebase_source : c9f2b295bf7270f2167641ec27901878f5b362f7
2017-12-01 19:54:29 -05:00
Markus Stange b1e02d2039 Bug 1421088 - Create DrawSourceList. r=spohl
MozReview-Commit-ID: AZoLMcl9YLr

--HG--
extra : rebase_source : e7cceabfe8fd25043fe88227aebf143f7a90ffcf
2017-12-01 18:01:16 -05:00
Markus Stange 988c7e9da6 Bug 1421088 - Create DrawMenuSeparator. r=spohl
MozReview-Commit-ID: Lvab4zMrs2D

--HG--
extra : rebase_source : 498341b5c59b0e13f6133253764c375cbf3ea169
2017-12-01 17:58:02 -05:00
Markus Stange 6868ae0bf5 Bug 1421088 - Create DrawToolbar. r=spohl
MozReview-Commit-ID: 3NMidcVazQo

--HG--
extra : rebase_source : 18cc2df0dd61a5039b8ce50d634441cf6645e702
2017-12-01 17:55:02 -05:00
Markus Stange a2bb203dde Bug 1421088 - Create DrawMultilineTextField. r=spohl
MozReview-Commit-ID: CyAhfGVmfzs

--HG--
extra : rebase_source : 2ee20f5002009fb8877196fb70922a730c4f7ab1
2017-12-01 18:35:45 -05:00
Markus Stange 797692f34e Bug 1421088 - Don't pass an nsIFrame* to DrawResizer. r=spohl
MozReview-Commit-ID: hQbnCke2zN

--HG--
extra : rebase_source : 0b2ff8b2985f36dd9a171e29ba141d1ed6b84603
2017-12-01 18:31:18 -05:00
Markus Stange 23249fd625 Bug 1421088 - Don't pass an nsIFrame* to DrawStatusBar. r=spohl
MozReview-Commit-ID: 6KU2OyZb9BS

--HG--
extra : rebase_source : adbcf1d3a51ed814a4d7055f7a8f8516946022f9
2017-12-01 18:08:35 -05:00
Markus Stange 3b4bd55c63 Bug 1421088 - Remove unused parameters from DrawFocusOutline. r=spohl
MozReview-Commit-ID: Kd6Rxl58Xwh

--HG--
extra : rebase_source : f2e8d2966ae16350bfa076aa818bac57a08bbb1e
2017-12-01 18:07:24 -05:00
Markus Stange 416548794d Bug 1421088 - Don't pass an nsIFrame* to DrawTabPanel. r=spohl
MozReview-Commit-ID: JeWt76t7rRQ

--HG--
extra : rebase_source : 0beb552cf3d4713e6f73c32d7abbd6a0e1e0aaa7
2017-12-01 18:03:12 -05:00
Markus Stange 1c8b5e6c53 Bug 1421088 - Don't pass an nsIFrame* to DrawScale, and create DrawScrollbarTrack and DrawScrollbarThumb. r=spohl
MozReview-Commit-ID: 8MPG7ZlBvVD

--HG--
extra : rebase_source : b10d52492b0264e1b01795647f72f3e01889e2ff
2018-04-14 23:06:29 -04:00
Markus Stange 62c8f8f488 Bug 1421088 - Don't pass an nsIFrame* to DrawMeter. r=spohl
MozReview-Commit-ID: 63ZuRb6VRSY

--HG--
extra : rebase_source : 4a2c47cf025069ed4fecb0d71befed283ed1436c
2017-11-30 18:59:27 -05:00
Markus Stange ceea95633b Bug 1421088 - Don't pass an nsIFrame* to DrawProgress. r=spohl
MozReview-Commit-ID: 7fxBzCyp239

--HG--
extra : rebase_source : 5ba40ddcb96125eb62f19213aa4b76544e475926
2018-04-14 22:43:04 -04:00
Markus Stange 02199fdb2b Bug 1421088 - Don't pass an nsIFrame* to DrawSearchField. r=spohl
MozReview-Commit-ID: 3hlBThgIDt5

--HG--
extra : rebase_source : ed658a76d75c9daca09230413ccd0639c29ccf4d
2017-11-30 18:51:24 -05:00
Markus Stange 4fb1684324 Bug 1421088 - Rename DrawFrame to DrawTextBox and stop passing an nsIFrame* to it. r=spohl
MozReview-Commit-ID: 1hGVXNhbomJ

--HG--
extra : rebase_source : 37f57d72538b35db012a8238faa13274050119bc
2018-04-14 22:29:57 -04:00
Markus Stange efe7856118 Bug 1421088 - Don't pass an NSWindow* to DrawUnifiedToolbar. r=spohl
MozReview-Commit-ID: 52uB5QeVsVw

--HG--
extra : rebase_source : d0ddfa0065dac20acdfd988c62f656e9a4d805f2
2017-11-30 18:46:37 -05:00
Markus Stange 2c79d13c9c Bug 1421088 - Don't pass an nsIFrame* to DrawSegment. r=spohl
MozReview-Commit-ID: 7qe0V7agqzs

--HG--
extra : rebase_source : 4c33e23abd17213c35d27b24d2733583a4bed6a9
2018-04-14 22:26:24 -04:00
Markus Stange 30328b9a50 Bug 1421088 - Don't pass an nsIFrame* to DrawSpinButton / DrawSpinButtons. r=spohl
MozReview-Commit-ID: AtY1eoiXcCa

--HG--
extra : rebase_source : 2673f804a31b9621f897dde37affc30b112a3063
2018-04-14 22:14:19 -04:00
Markus Stange 25cd320969 Bug 1421088 - Don't pass an nsIFrame* to DrawDropdown. r=spohl
MozReview-Commit-ID: IdkoAb1rOjE

--HG--
extra : rebase_source : ae11f27aab9d45aed251e37a914e6bb38efd221b
2018-04-14 22:07:23 -04:00
Markus Stange b60fe986d0 Bug 1421088 - Don't pass an nsIFrame* to DrawCheckboxOrRadio. r=spohl
MozReview-Commit-ID: 6LGIVGJAQ6W

--HG--
extra : rebase_source : f46586ed89b11e32dc841e7916c09a0884190f88
2017-11-30 17:50:33 -05:00
Markus Stange 42fa6e0ed7 Bug 1421088 - Change the API of DrawMenuIcon and add DrawMenuItem. r=spohl
MozReview-Commit-ID: 3JedJfgx9pZ

--HG--
extra : rebase_source : a8c25c36eb5653280e47213b4490b7f0c99c37ec
2018-04-14 22:00:18 -04:00
Markus Stange 987089caed Bug 1421088 - Move menu background drawing into a separate method. r=spohl
MozReview-Commit-ID: CSa4zlI8juN

--HG--
extra : rebase_source : 5821c0996d6b5f7afe6c97d22882220d0bbde224
2018-04-14 21:56:23 -04:00
Markus Stange d2d427a0cb Bug 1421088 - Route more button types through DrawButton. r=spohl
MozReview-Commit-ID: 8AhEnEi5UCZ

--HG--
extra : rebase_source : 764543f9104e1a8866e24b7aa50df8688b7c7336
2017-11-30 16:47:59 -05:00
Markus Stange e3f903540e Bug 1421088 - Give nsNativeThemeCocoa::DrawButton a different API. r=spohl
MozReview-Commit-ID: DjMurwHZD5K

--HG--
extra : rebase_source : bec85c26a729b5d44aac3bb59fe38d70534f8970
2018-04-14 21:48:09 -04:00
Markus Stange e31e82186d Bug 1421088 - Create a separate method for drawing tree header cells. r=spohl
MozReview-Commit-ID: 23CJfyrDoIN

--HG--
extra : rebase_source : 36fdf3c991e7a8377bebc37e88440229fd2a681e
2018-04-14 21:22:08 -04:00
Markus Stange 8d4a7edc62 Bug 1421088 - Split DrawPushButton into four functions and group the frame-dependent information into a struct. r=spohl
MozReview-Commit-ID: COs3yaGTqMv

--HG--
extra : rebase_source : 5085081b5de790ceedba5136095be4065de0def3
2018-04-14 21:13:10 -04:00
Markus Stange e99d3a5307 Bug 1421088 - Simplify search field cell management and make the "is-within-toolbar" computation eager instead of lazy. r=spohl
MozReview-Commit-ID: GkMSvimeuaf

--HG--
extra : rebase_source : 878f44b8d22ee60f2e97a9166f7fb7475c2cfd3b
2018-04-13 18:19:32 -04:00
Masayuki Nakano c389fb3752 Bug 1440189 - Stop dispatching keypress event to the default event group in web content (only Nightly and early Beta) unless web page isn't in blacklist r=smaug
UI Events declares that keypress event should be fired only when the keydown
sequence produces some characters.  For conforming to UI Events and
compatibility with the other browsers, we should stop dispatching keypress
events for non-printable keys.

For getting regression reports, we should enable this new behavior only
on Nightly.

However, some web apps actually broken with the standardized behavior.  For
protecting testers from known broken web apps, this patch introduces a
blacklist to take the traditional behavior under specific domain (and path in
it, optionally).  Currently, docs.google.com and mail.google.com are set by
default.

MozReview-Commit-ID: HSrYX8LUB0p

--HG--
extra : rebase_source : a2677d07410af289534db051767543a25c9a957a
2018-03-23 12:06:55 +09:00
Andreea Pavel 69ae5fe098 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-04-14 00:58:36 +03:00
Jonathan Watt 1e7f76576a Bug 1436048 part 1 - Use a user defined type for font weight everywhere. r=jfkthame,emilio
--HG--
extra : rebase_source : 2e267ff99de6f52484e34ac15c39e5ca8b473394
2018-04-13 20:34:37 +01:00
Tom Bannister 988d18881f Bug 1434710 - Replaced all instances of mozilla::IndexSequence, mozilla::MakeIndexSequence and mozilla::IndexSequenceFor with std::index_sequence, std::make_index_sequence and std::index_sequence_for and removed mfbt/IndexSequence.h. r=botond
MozReview-Commit-ID: 1Ema7TUNr5v

--HG--
extra : rebase_source : e5bb164dbe19993214e8c16f92b0a1f5d2ff3fa1
2018-04-09 21:12:13 +10:00
arthur.iakab fca4426325 Merge inbound to mozilla-central. a=merge 2018-04-13 19:01:59 +03:00
Sebastian Hengst 043061beb5 merge mozilla-central to mozilla-inbound 2018-04-13 16:05:58 +03:00
Sebastian Hengst 82f65475ee merge mozilla-central to autoland 2018-04-13 16:04:29 +03:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Bas Schouten 45f1c7b8eb Bug 1447141: Blacklist all acceleration on a small subset of AMD device/driver combinations that show up in content crashes. r=milan
MozReview-Commit-ID: FTBPGRTdmUG
2018-04-13 14:06:52 +02:00
Zhang Junzhi 1f63801545 Bug 1358017 - Part 9: Updates some existing mochitests which are not meant to test default actions for wheel events but are affected by auto-dir scrolling. r=masayuki
Some mochitests are not meant to test default actions for wheel events, but they
assume audo-dir is disabled when doing tests for their purposes, so this commit
disables auto-dir for those mochitests.

MozReview-Commit-ID: 5ZQIxgRVpj5

--HG--
extra : rebase_source : a185a2f65179ec9162ec04209b4eb29e8c04125b
2018-04-03 20:23:19 +08:00
Alex Gaynor 4d30d44b55 Bug 1453016 - user safer enum serialization for gfx::SurfaceFormat in IPC; r=kats
MozReview-Commit-ID: Fhyg8e5lyW6

--HG--
extra : rebase_source : b6bba81a0ca586075517dc1f12e14ce32b5866be
2018-04-10 11:53:44 -04:00
Zhang Junzhi fe2d79f73f Bug 1358017 - Part 4: Implements the auto-dir scrolling feature(without the "honour root" functionality) in APZ r=kats
This commit implements the auto-dir scrolling functionality in APZ, based on
part 1 to part 3. However, the functionality of mousewheel.autodir.honourroot
will be implemented in a future.

MozReview-Commit-ID: 9xai99x71gh

--HG--
extra : rebase_source : 118d188f730e3fb91d147b076a053cb04e622e55
2018-03-16 19:23:53 +08:00
Zhang Junzhi 414177f87e Bug 1358017 - Part 1: Adds some comments, renames some identifiers and refactors some other trivial things. r=kats,masayuki
Do some work in preparation for implementing actual functionalities for this
bug. No actual functionality change is involved in this commit.

MozReview-Commit-ID: 5aLhr38n1N4

--HG--
extra : rebase_source : 15cfc2cea5b7668367dd3bd4a0746ae8c61b7d20
2018-03-15 16:31:07 +08:00
Alex Gaynor ee407135b4 Bug 1453397 - use ContiguousEnumSerializer for serialization of enums in IPC for IMEs; r=masayuki
MozReview-Commit-ID: Enfhhu2HnH5

--HG--
extra : rebase_source : 39d1e2f7fc111683e652e9b80c147521c923ff16
2018-04-11 12:26:33 -04:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Ciure Andrei 3f4a118829 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-04-11 12:00:35 +03:00
Ciure Andrei cc3eafe546 Merge autoland to mozilla-central. a=merge 2018-04-11 11:56:26 +03:00
Ciure Andrei 873d562bc3 Backed out 8 changesets (bug 1451169) on request from njn a=backout
Backed out changeset b92f856e15a8 (bug 1451169)
Backed out changeset 348e825756fa (bug 1451169)
Backed out changeset 624d82428726 (bug 1451169)
Backed out changeset 4d51610ca08e (bug 1451169)
Backed out changeset bb76a9589717 (bug 1451169)
Backed out changeset c145fbd03947 (bug 1451169)
Backed out changeset 6d36289e0f54 (bug 1451169)
Backed out changeset 914fb7cd9fc3 (bug 1451169)

--HG--
extra : histedit_source : 94de6631919f895dec422bc0e564f5baf885ba4a%2C18f52c6c11d3064d3137a6847575effb7d407894
2018-04-11 11:22:05 +03:00
Kartikaya Gupta 0f89486f32 Bug 1452658 - Mark many reftests as fuzzy instead of failing for windows-qr. r=jrmuizel
MozReview-Commit-ID: BDvtV6trKkK

--HG--
extra : rebase_source : 0591564f6cea5c782de6baecc24c3defcef0c4fb
2018-04-10 17:48:16 -04:00
Lee Salzman 43c1a4fcf5 Bug 1449352 - always composite 24 depth WindowSurfaceX11 as BGRX. r=jrmuizel
MozReview-Commit-ID: 3xeE3EEttR6
2018-04-10 12:43:59 -04:00
Nathan Froyd 14488e954b Bug 1453129 - don't needlessly copy data in nsClipboardProxy; r=smaug
We're already going to copy the data when we initialize the
nsISupportsString here.  There's no need to copy the data into a
temporary object before passing it in to the nsISupportsString.

And as long as we're fixing the big mistakes, we might as well fix the
small ones, like copying the flavor string from the IPC object.
2018-04-10 19:07:40 -04:00
Csoregi Natalia 2b084713ed Merge inbound to mozilla-central. a=merge 2018-04-10 12:56:48 +03:00
Markus Stange cf7fd3319a Bug 1444373 - Don't crash when trying to draw an empty RectTextureImage. r=mattwoodrow
MozReview-Commit-ID: EsnxswIaABQ

--HG--
extra : rebase_source : 44e2fce7502a0bf9f8097cbb98d0a1ace36d51f1
2018-04-09 17:07:58 -04:00
Markus Stange ffbedcffe2 Bug 1444373 - Update mBounds on mPopupContentView every time mBounds on the containing window changes. r=spohl
MozReview-Commit-ID: GpwXVOQNgIj

--HG--
extra : rebase_source : 867ecfc5422d8b5d98cd7d3797a46360f1dca260
2018-04-09 17:31:49 -04:00
Markus Stange 99a7e50644 Bug 1445787 - Correctly set the initial size of the ChildView we create for the popup contents. r=spohl
Remote WebExtension panels can cause us to recreate the widget for a view that
already has a size. In the past, popup widgets were always created with an
initial size of 0x0, so setting the initial size of the ChildView to 0x0
resulted in correct behavior because the window would be resized to the correct
size shortly afterwards, and resize the ChildView along with it via its auto
resizing mask.

When we recreate a widget which already has a known size, setting the initial
size to 0x0 is wrong. We need to set the ChildView's size so that it fills the
contentView of the popup window completely.

MozReview-Commit-ID: 53d3AX3z5h2

--HG--
extra : rebase_source : 7720a6dd12ad7f8efc102cd1430a9e1ed2f5ee0f
2018-04-09 16:25:14 -04:00
Alex Gaynor 618da07cd6 Bug 1445234 - Use ContiguousEnumSerializer for serializing nsCursor. r=smaug 2018-04-09 10:48:09 -04:00
Andreea Pavel 0724b513f9 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-04-10 00:58:54 +03:00
James Willcox aa5a061bc7 Bug 1446553 - Init gfxPlatform before checking if WebRender will be used r=karlt
MozReview-Commit-ID: EaAxB8hbT2E
2018-04-09 15:15:26 -05:00
Noemi Erli b55e1a1cbc Merge inbound to mozilla-central. a=merge 2018-04-09 19:46:07 +03:00
Jonathan Watt ef1290712d Bug 1452170 follow-up - Fix Windows unified build bustage by adding missing AutoRestore.h includes. r=me on CLOSED TREE 2018-04-09 10:21:42 +01:00
Martin Stransky 4d956f9599 Bug 1452041 - nsClipboard::HasDataMatchingFlavors(): return immediately when there's no clipboard content, r=jhorak
MozReview-Commit-ID: CTz0tRr3p57

--HG--
extra : rebase_source : 500687c604957227dba8668a11f7c4f55c7fd175
2018-04-09 13:36:03 +02:00
Noemi Erli 758bc8158f Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-07 01:02:43 +03:00
Noemi Erli eb61878455 Merge inbound to mozilla-central. a=merge 2018-04-07 00:55:15 +03:00
Bas Schouten 398807e119 Bug 1433058: Expand NVidia AL blacklist to include 385.96 and limit blacklist to the last affected version. r=milan
MozReview-Commit-ID: 1quCjKRILiE
2018-04-06 15:48:02 +02:00
Andreea Pavel eed7d2803f Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-04-06 17:54:45 +03:00
Andreea Pavel 7a4b9a3f56 Merge mozilla-inbound to mozilla-central. a=merge
--HG--
extra : rebase_source : 66bd87105d99036ada5008499ff0eaea579b531a
2018-04-06 13:20:21 +03:00
Adam Gashlin cbf9e7b900 Bug 1437941: Don't ignore mousemove after fullscreen transition r=handyman
MozReview-Commit-ID: Hr9dcKVeYEC

--HG--
extra : rebase_source : fe9d1f3526704dd5c37bcbeb7c6a62de368be12c
2018-04-02 18:42:12 -07:00
Noemi Erli 11310197b3 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-09 19:54:32 +03:00
Martin Stransky f85923affa Bug 1449490 - [Wayland] Implement gtk_clipboard_request_text() by nsRetrievalContextWayland::GetClipboardText(), r=jhorak
MozReview-Commit-ID: 6qcXcA2qUmG

--HG--
extra : rebase_source : 797ae597153d57e27d747006de32affda97eacbe
2018-04-05 13:00:58 +02:00
Kartikaya Gupta 9a9c13a09f Bug 1344350 - Mark reftests failing with webrender on windows. r=jrmuizel
Many of these could probably be fuzzed but in the interests of getting
the reftest suite turned on sooner I'm doing a blanket fails-if. This
covers all the reftests where there is more fuzz with webrender on
windows than any of existing annotations account for. In some cases the
fuzz is only a few pixels more than the equivalent Linux fuzz already
annotated, but I'll clean that up in a future bug.

MozReview-Commit-ID: IaKarbnL46d

--HG--
extra : rebase_source : 71889340305b0b12fa8eace722e42bb3faf14419
2018-04-06 11:58:43 -04:00
Ryan Hunt 9586c5d690 Bug 1446990 - Safely transmit nsTransparencyMode across IPDL for WinCompositorWidget. r=jrmuizel
--HG--
extra : rebase_source : 78b5664fe14a13038e39211fcf97fa996ea7a190
2018-04-05 22:24:28 -05:00
Tooru Fujisawa b7888d2d94 Bug 1448132 - Do not call CGSSetWindowTransform if the window is not visible. r=mstange 2018-04-06 13:10:16 +09:00
Boris Zbarsky 55cdcb3d94 Bug 1451929. Get rid of DOMCursor. r=qdot 2018-04-05 20:31:03 -04:00
Boris Zbarsky adbcff27c1 Bug 1449631 part 7. Remove nsIDOMEventTarget::GetTargetFor* methods. r=smaug
MozReview-Commit-ID: AIzDo67mTDf
2018-04-05 13:42:41 -04:00
Boris Zbarsky 4292bca4ee Bug 1449631 part 6. Remove nsIDOMEventTarget::DispatchEvent. r=smaug
MozReview-Commit-ID: 8YMgmMwZkAL
2018-04-05 13:42:41 -04:00
Martin Stransky 6d77331196 Bug 1417892 - Implement primary clipboard selection under Wayland, r=jhorak
MozReview-Commit-ID: 7TTBSbx8qPX

--HG--
extra : rebase_source : 42e117a0fdf12e811429c4470a3945e8ccd8b6fe
2018-04-04 14:49:21 +02:00
Martin Stransky 3b001f7b5d Bug 1417892 - Added gtk-primary-selection-client-protocol header/source files from Gtk+ project, r=jhorak
MozReview-Commit-ID: G0dZBqM0vBk

--HG--
extra : rebase_source : b6b5b05c7718f372d6cd3b74ebecd1b13503e19f
2018-03-06 14:02:21 +01:00
Nicholas Nethercote a560608963 Bug 1451169 - Use `nsStaticAtom*` instead of `nsStaticAtom**` in Element.h. r=baku
And then fix up everything else that needs to change as well.

MozReview-Commit-ID: GDMfERqdQAc

--HG--
extra : rebase_source : 01fe06c3182245a409099a53383d92bf4fa0155c
2018-04-03 13:21:06 +10:00
Xidorn Quan 0b8abfb678 Bug 1447056 part 2 - Invoke Resize in SetSizeConstraints with the current size to apply the new constraints. r=bz
MozReview-Commit-ID: 9kRcDHTPCqt

--HG--
extra : rebase_source : 767c063284685f5e2b5a9af873c5ed2b3e99e3d1
extra : source : 5dbfc09ffece8bf2fcaeaa5a248e5fd3fe65d911
2018-04-05 08:08:30 +10:00
Xidorn Quan 66569d7e37 Bug 1447056 part 1 - Move eWindowType_sheet to be before eWindowType_popup. r=mstange
nsBaseWidget::BoundsUseDesktopPixels() states that window types before
eWindowType_sheet take desktop pixels rather than device pixels for
parameters of Move and Resize.

Cocoa widget seems to treat all of them as desktop pixels, and sheet is
one of the window types that it can actually open, so it should be put
before popup so that BoundsUseDesktopPixels() is correct on that.

MozReview-Commit-ID: FPqOoUQlQCy

--HG--
extra : rebase_source : cf625c6bf75888abfdf2393b3c3937a073c3b613
extra : source : e2080039ee9e7270b87a5512927bb151a1154b3f
2018-04-05 08:08:30 +10:00
Haik Aftandilian c6b21edd12 Bug 1437281 - OSX dragging image to desktop changes OSX File associations r=mystor
On Mac, when dragging an image, add the image request's MIME type to
the transfer so that the MIME-extension check can be done in the
parent process to avoid content sandboxing issues.

MozReview-Commit-ID: 3cb4fCr6GnL

--HG--
extra : rebase_source : 43720237b467765401b5504c57bbc1b43d4dfdc0
2018-03-27 14:55:33 -07:00
Martin Stransky 3a5fb9d155 Bug 1447925 - Use GetClipboardText() to get text data at nsClipboard::GetData(), r=jhorak
MozReview-Commit-ID: 3JnLLyk0BOF

--HG--
extra : rebase_source : 7bd5faff15d805d19628bdbd9fcd194c89c283a4
2018-04-03 10:30:37 +02:00
Martin Stransky d648a9a261 Bug 1447925 - Add GetClipboardText() to get text data from clipboard, r=jhorak
GetClipboardText() calls gtk_clipboard_request_text() to request text clipboard data from Gtk+
and leave Gtk+ to do clipboard text format conversions. Also unify data getting code for text/data/targets.

MozReview-Commit-ID: 9DGSdOACho1

--HG--
extra : rebase_source : f1d95609f8a7587a4abc11739db9d17ec5446a7b
2018-03-27 15:51:07 +02:00
Emilio Cobos Álvarez f946c7af85 Bug 1450654: Remove ResolveTag usage in cocoa code. r=mstange
We don't have any binding in the tree that extends="xul:menupopup", which is the
only thing that would change the result. Also, I constrained it to the XUL
namespace instead of just checking the node name.

But again, we don't have non-XUL menupopups.

MozReview-Commit-ID: 7M0beoJI86Y

--HG--
extra : rebase_source : f50a186d5e78ca808d6c8873ec982663f4bbbde5
2018-04-02 13:29:58 +02:00
Johann Hofmann 3e22c51351 Bug 1434584 - Make icon in MacOS nsStandaloneNativeMenu a template image. r=mstange
MozReview-Commit-ID: G0s0rUyiKMx

--HG--
extra : rebase_source : 80b1dc28641b30a75e6419d335ba089c0e747119
2018-03-30 20:33:42 +02:00
Jim Chen 968a8259bc Bug 1449821 - 2. Add finalizer support to EventDispatcher; r=snorp
Add a new interface, nsIAndroidEventFinalizer, that is called whenever a
callback object is finalized, i.e. there can be no more callbacks for a
particular dispatch. Add the finalizer as a new parameter to dispatch().
Existing callers that don't need a finalizer are not affected.

This functionality is required in order to unregister our message
manager listener in a child process, after dispatching an event with
callback from a child process.

MozReview-Commit-ID: 8n89c63UGNm

--HG--
extra : rebase_source : 4913b449588e128122d7f4f64145a7794de5ab5d
2018-04-05 18:50:11 -04:00
Jim Chen acc8f6049a Bug 1449821 - 1. Remove legacy Messaging.jsm APIs; r=esawin
There are some legacy APIs in Messaging.jsm that we can remove, now that
we no longer have to support legacy add-ons.

MozReview-Commit-ID: 3Gfg12hmkN7

--HG--
extra : rebase_source : 874b812be89a7591d9c06fbb616347aca9a8db9d
2018-04-05 18:50:11 -04:00
Jeff Muizelaar 7bd5060424 Bug 1450134. Replace ToRelativeLayoutRect() with ToRoundedLayoutRect(). r=kats
This function doesn't use any StackingContextHelper state anymore.
We should make what it does clearer and move it to a better place.

--HG--
extra : rebase_source : 1727be9657169547d842ec9b6887837abedbefdf
2018-03-29 17:57:43 -04:00
sotaro cb19fd85f8 Bug 1449934 - Remove unnecessary assert in WinCompositorWidget::UpdateCompositorWndSizeIfNecessary() r=jrmuizel 2018-03-29 18:42:09 -07:00
Ciure Andrei 5d841a3421 Merge inbound to mozilla-central. a=merge 2018-03-30 01:06:18 +03:00
sotaro 537c379106 Bug 1191971 part 1 - Create child window in gpu process r=bas 2018-03-29 11:21:47 +09:00
Markus Stange a52e472ae7 Bug 1449271 - Add a pref called gfx.compositor.glcontext.opaque that defaults to false and can be set to true in order to force the use of an opaque OpenGL context for the window on Mac. r=jrmuizel
MozReview-Commit-ID: InOKiLXGL7o

--HG--
extra : rebase_source : f21566cfb6c084ceb726e9a0331f430b6a72e4c6
2018-03-27 14:43:38 -04:00
Martin Stransky 705230d4aa Bug 1441873 - [CSD] Remove nsWindow::mIsCSDAvailable and replace with CSDSupportLevel state, r=jhorak
MozReview-Commit-ID: KOiSzNvZfjg

--HG--
extra : rebase_source : 146d55491e600409b73353bc71580eb1237e72f0
2018-03-22 13:22:38 +01:00
Martin Stransky 9c687dca1b Bug 1447270 - Use GLContextGLX::FindVisual() on GLX enabled builds only, r=jhorak
MozReview-Commit-ID: HB86kRurkDG

--HG--
extra : rebase_source : 6ee7900aba520a5ef182371edf074f32801b62e2
2018-03-27 11:39:52 +02:00
Masayuki Nakano ec04470e25 Bug 1448876 - Get rid of nsIClipboardDragDropHooks and nsIClipboardDragDropHookList interfaces r=bz
nsIClipboardDragDropHooks and nsIClipboardDragDropHookList allow XUL apps
to customize drag and drop operation and paste operation.  However, this
feature was used only by ChatZilla and it doesn't work on Gecko anymore.
So, we can get rid of them from our tree.

MozReview-Commit-ID: Ibs3V1gI8Ry

--HG--
extra : rebase_source : 83428293d59aaca432d76c71b214aa7799f7f9de
2018-03-26 23:56:53 +09:00
Margareta Eliza Balazs adebb06ac1 Merge inbound to mozilla-central. a=merge 2018-03-28 00:48:11 +03:00
Bob Owen 41ce6696f9 Bug 1447019 Part 2: Move running from a network drive check into WinUtils. r=jimm 2018-03-27 14:09:32 +01:00
Nathan Froyd 6a1d9cac49 Bug 1448016 - make some Android widget constructors explicit; r=snorp
Attempting to stand up the static analysis for Android builds revealed
that we weren't being explicit enough.
2018-03-27 10:51:32 -04:00
Nathan Froyd 4d8cb59be3 Bug 1448914 - remove nsISound::playSystemSound; r=masayuki
This API is deprecated (callers are supposed to be using
nsISound::playEventSound instead) and there are no callers remaining in
mozilla-central, or references to the strings for the API.  Let's remove
dead code.
2018-03-27 10:41:40 -04:00
Markus Stange 992987e846 Bug 1335191 - Override -[NSThemeFrame _unifiedToolbarFrame] in order to get a correctly-sized unified toolbar gradient drawn in the titlebar. r=spohl
This implements the only useful piece of functionality that the
TitlebarAndBackgroundColor class was providing.

MozReview-Commit-ID: FXC6ICgDaoZ

--HG--
extra : rebase_source : fcd5b02ef057199df34459a4361ef7b4184d3a57
2018-03-24 01:53:30 -04:00
Markus Stange a2a883ac84 Bug 1335191 - Stop using a textured window. r=spohl
We no longer need the ability to specify a background color which gets drawn in
the titlebar. This was the only reason why we were using a textured window.

MozReview-Commit-ID: E8zizuvjjnA

--HG--
extra : rebase_source : ecd4d23e9bb068efbcd192b90e039809bdb451b0
2018-03-23 18:09:18 -04:00
Markus Stange 016eb6c26a Bug 1335191 - Position sheets using the NSWindowDelegate method window:willPositionSheet:usingRect:. r=spohl
MozReview-Commit-ID: 1Dwwdvl6Fok

--HG--
extra : rebase_source : 916b639fe3a18af819cb3f680501abbbe0d9bf87
2018-03-23 17:50:02 -04:00
Markus Stange 51da09f53f Bug 1335191 - Remove nsIWidget::SetWindowTitlebarColor and the nsCocoaWindow implementation. r=spohl
It's unused and no longer has any effect.

MozReview-Commit-ID: DroUFYOovMx

--HG--
extra : rebase_source : fe85188b00dab9fde50409153f464297aff774fa
2018-03-24 01:16:20 -04:00
Markus Stange 3989197ef0 Bug 1335191 - Remove TitlebarAndBackgroundColor. r=spohl
It's no longer needed and is causing trouble.

MozReview-Commit-ID: GsnjMjC5cki

--HG--
extra : rebase_source : 57bdc96d26a07c12a6232dd9f1366c11a5846ca3
2018-03-23 17:47:52 -04:00
Markus Stange b3301b82ed Bug 1335191 - Remove AutoBackgroundSetter. r=spohl
Another patch in this patch series is going to remove our custom window
background color entirely, so we no longer need this override.

MozReview-Commit-ID: 5Hk8jiudzir

--HG--
extra : rebase_source : 24f067726b6c9ce9991dd11df19b726c327eaf05
2018-03-23 16:15:23 -04:00
Markus Stange b16957ac94 Bug 1335191 - Remove unused mTitlebarView field. r=spohl
This field has been unused since https://hg.mozilla.org/mozilla-central/rev/18fc103cb90e .

MozReview-Commit-ID: F5KJ0GE7h8H

--HG--
extra : rebase_source : 05ce147a9e40f79f73a4a6987b35e036d5a6a1e1
2018-03-23 17:35:56 -04:00
Bogdan Tara 39d9b048b9 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-27 12:16:26 +03:00
Bogdan Tara 302a55b534 Merge inbound to mozilla-central. a=merge 2018-03-27 12:12:57 +03:00
Boris Zbarsky a8a190f4e1 Bug 1447889 part 14. Remove mention of nsIDOMRange from layout/. r=mystor
MozReview-Commit-ID: JWJWGzY45ac
2018-03-27 00:35:22 -04:00
Coroiu Cristina f7507f7dd5 Merge mozilla-central to inbound a=merge on a CLOSED TREE 2018-03-27 01:33:50 +03:00
Coroiu Cristina d6a8625ca7 Merge autoland to mozilla-central a=merge 2018-03-27 00:37:50 +03:00
Coroiu Cristina ed9d3656c8 Merge mozilla-central to inbound a=merge on a CLOSED TREE 2018-03-26 23:58:59 +03:00
Coroiu Cristina 8915d0accf Backed out changeset 608119812c07 (bug 1437281) on request from haik a=backout 2018-03-26 23:53:06 +03:00
Boris Zbarsky 060ebf9b50 Bug 1448398 followup to fix Windows-only test. r=kmag pending
This is a chrome test, so it doesn't need to play SpecialPowers games.

MozReview-Commit-ID: 8DG4lZ5OfbE
2018-03-26 16:42:01 -04:00
Masayuki Nakano e9d257856b Bug 1448282 - TSFTextStore should append a pending action for dispatching keyboard event into the queue if OnUpdateComposition() is called without new range r=m_kato
OnUpdateComposition() may be called without new range instance by some TIPs
when they starts to modify composition string.  At this timing, TSFTextStore
should append a pending action for dispatching keyboard event into the queue.
Without this patch, OnUpdateComposition() creates incomplete pending action
for composition update and then, MaybeDispatchKeyboardEventAsProcessedByIME()
appends pending action for dispatching keyboard event from another point
immediately (e.g., from SetText()), then, finally, the caller of
MaybeDispatchKeyboardEventAsProcessedByIME() appends another pending action
for composition update with proper composition string.  Therefore, the
first pending action for composition update clears composition string before
actually updating it with new composition string.  In other words, new
pending action for dispatching keyboard event splits a pending composition
update.  So, this patch prevents the splitting.

MozReview-Commit-ID: 9pYO9pm3Vh9

--HG--
extra : rebase_source : a8fb903174c0f1af61a71175dbbf01b7b1c5cb53
2018-03-26 15:07:59 +09:00
Masayuki Nakano b87a7f9729 Bug 1447866 - GeckoEditableSupport::SendIMEDummyKeyEvent() should set native key bindings to none before dispatching keyboard events which are marked as "processed by IME" r=esawin
When EditorEventListener receives keyboard events, it tries to execute
native key bindings which are stored by each keyboard event.  For performance
reason in e10s, TabParent initializes native key binding information of every
keyboard event before sending it to the remote process.  Therefore,
PuppetWidget checks if every keyboard event has native key binding information.
However, the native key binding information of dummy keyboard events marked as
"processed by IME" on Android are never initialized before sending PuppetWidget.
Therefore, we hit MOZ_ASSERT in PuppetWidget.

This patch makes GeckoEditableSuppor::SendIMEDummyKeyEvent() set native key
binding information to "none" before dispatching every keyboard event since
keyboard events during composition shouldn't cause any edit actions.

MozReview-Commit-ID: Bk532ahCQP6

--HG--
extra : rebase_source : 939c1befd4b587681192b6827e7c7fa52619d498
2018-03-23 11:54:01 +09:00
Coroiu Cristina c42eefb39e Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-03-26 23:57:54 +03:00
Kartikaya Gupta 395eaf8c66 Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow
The new struct is in LayersTypes.h, all the rest of the changes are just
replacing existing uint64_t instances with the new LayersId struct.

Note that there is one functional change, in
CompositorBridgeParent::DeallocPWebRenderBridgeParent, where we now
correctly convert the PipelineId to a LayersId before using it to index
into sIndirectLayerTrees, whereas before we were incorrectly just using
the mHandle part of the PipelineId.

MozReview-Commit-ID: GFHZSZiwMrP

--HG--
extra : rebase_source : d2b274f63aaee2ee9bba030297e0a37a19af0d6c
2018-03-24 19:06:01 -04:00
Tim Nguyen e002c63fa4 Bug 1444760 - Combine loadURIWithFlags and loadURI methods. r=dao
MozReview-Commit-ID: 5dsyKwvjYht

--HG--
extra : rebase_source : 881e10f2987606e84e55c267260661c0f7b3b746
2018-03-16 23:21:46 +00:00
Margareta Eliza Balazs 27703664b0 Backed out 2 changesets (bug 1444760) for ES lint failure in /builds/worker/checkouts/gecko/browser/base/content/browser.js on a CLOSED TREE
Backed out changeset 71f61091a716 (bug 1444760)
Backed out changeset 4956db1e9bdd (bug 1444760)
2018-03-25 15:29:54 +03:00
Tim Nguyen e2ed0b5dfb Bug 1444760 - Combine loadURIWithFlags and loadURI methods. r=dao
MozReview-Commit-ID: 5dsyKwvjYht

--HG--
extra : rebase_source : 8e9f24d20829021db2239435c7d8d0db08e28bf9
2018-03-16 23:21:46 +00:00
shindli a010f9b994 Merge inbound to mozilla-central. a=merge 2018-03-25 12:34:23 +03:00
David Parks 8044e86b13 Bug 1436972 - Hold ref counted AudioSession for proper lifetime when re-initializing. r=jimm
The scope of the kungFuDeathGrip is supposed to include the call to Start() (as suggested by the comment).
2018-03-21 19:37:44 -07:00
Haik Aftandilian ce6d9e36aa Bug 1437281 - OSX dragging image to desktop changes OSX File associations r=mystor
When dragging an image, add the image request's MIME type to the transfer
so that the MIME-extension check can be done in the parent process.

Move the MIME-extension check to the parent process to avoid
issues caused by content process sandboxing.

MozReview-Commit-ID: 3cb4fCr6GnL

--HG--
extra : rebase_source : ec49b8c83613be844fe4cd88a5024ac41a845199
2018-03-22 14:04:23 -07:00
Csoregi Natalia 0fc607c372 Backed out 2 changesets (bug 1447056) for devtools failures on browser_toolbox_hosts_size.js. CLOSED TREE
Backed out changeset fc2c96c7b470 (bug 1447056)
Backed out changeset 52b1ebf43592 (bug 1447056)
2018-03-24 06:58:41 +02:00
Xidorn Quan 475e40f1d4 Bug 1447056 part 2 - Invoke Resize in SetSizeConstraints with the current size to apply the new constraints. r=bz
MozReview-Commit-ID: 9kRcDHTPCqt

--HG--
extra : source : 1c6a0b0aae636f658555d4e2261eb3731df71f65
2018-03-23 12:51:15 +11:00
Xidorn Quan ea9d992ea3 Bug 1447056 part 1 - Move eWindowType_sheet to be before eWindowType_popup. r=mstange
nsBaseWidget::BoundsUseDesktopPixels() states that window types before
eWindowType_popup take desktop pixels rather than device pixels for
parameters of Move and Resize.

Cocoa widget seems to treat all of them as desktop pixels, and sheet is
one of the window types that it can actually open, so it should be put
before popup so that BoundsUseDesktopPixels() is correct on that.

MozReview-Commit-ID: FPqOoUQlQCy

--HG--
extra : source : 1d1f62a81d9fc059af9038eebc64256aeba397d3
2018-03-23 21:07:06 +11:00
Olli Pettay 9e35535e7d bug 1447196, canceling pointerdown should not affect to scrollbar handling, r=masayuki
--HG--
extra : rebase_source : a84d2a393d82dcc7655e9bb48a118ddd300c3d4e
2018-03-23 17:31:13 +02:00
sotaro 2ef480f239 Bug 1448271 - Update some names of #include guards r=nical 2018-03-23 22:40:04 +09:00
Margareta Eliza Balazs 9ecc515945 Backed out changeset b4f1e88f8b6e (bug 1447196) for 2 failures in dom/events/test/pointerevents/test_bug1303704.html 2018-03-23 05:37:20 +02:00
Noemi Erli 1270a21724 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-23 01:00:18 +02:00
Olli Pettay 8d1253d263 bug 1447196, canceling pointerdown should not affect to scrollbar handling, r=masayuki
--HG--
extra : rebase_source : 3234983256e2d68e0ac6b21f5293b23bf6017b11
2018-03-22 20:54:50 +02:00
Emilio Cobos Álvarez e341b20ec4 Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez 5dd797f154 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez ca5ac79cca Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +01:00
sotaro 54acb2e320 Bug 1432610 - Disable D2D on Win7 on Intel Haswell for old graphics drivers r=jrmuizel 2018-03-22 15:33:52 +09:00
Florian Quèze 8d361f34fb Bug 1447788 - add missing override keyword, rs=bustage-fix, a=Aryx on CLOSED TREE 2018-03-21 23:50:56 +01:00
Florian Quèze f1e203a34c Bug 1447788 - implement SetNonClientMargins as a noop returning NS_OK in HeadlessWidget.h, r=bdahl. 2018-03-21 23:35:00 +01:00
Florian Quèze 6f7a286733 Bug 1447549 - avoid crashing windows debug builds at startup when ::GetMessageTime returns 0, r=jimm. 2018-03-21 23:35:00 +01:00
Boris Zbarsky 29d232e53f Bug 1447098 part 1. Rename FromContent on various DOM classes to FromNode. r=mystor
MozReview-Commit-ID: 202nkbmkwfR
2018-03-21 17:39:04 -04:00
arthur.iakab 5e8092339a Merge mozilla-central to inbound
--HG--
rename : browser/base/content/test/general/bug364677-data.xml => browser/components/feeds/test/bug364677-data.xml
rename : browser/base/content/test/general/bug364677-data.xml^headers^ => browser/components/feeds/test/bug364677-data.xml^headers^
rename : browser/base/content/test/general/test_bug364677.html => browser/components/feeds/test/test_bug364677.html
rename : services/sync/tps/extensions/tps/bootstrap.js => services/sync/tps/extensions/tps/components/tps-cmdline.js
rename : testing/talos/talos/pageloader/bootstrap.js => testing/talos/talos/pageloader/components/tp-cmdline.js
rename : testing/talos/talos/startup_test/sessionrestore/addon/bootstrap.js => testing/talos/talos/startup_test/sessionrestore/addon/SessionRestoreTalosTest.js
rename : testing/talos/talos/talos-powers/bootstrap.js => testing/talos/talos/talos-powers/components/TalosPowersService.js
rename : tools/quitter/bootstrap.js => tools/quitter/QuitterObserver.js
extra : rebase_source : 5801e95a945b54754f27571e7b211e1eac132d67
2018-03-21 22:27:21 +02:00
arthur.iakab abcb47d8cc Merge inbound to mozilla-central. a=merge 2018-03-21 21:13:11 +02:00
Miko Mynttinen 65c6bee9d6 Bug 1445302 - Replace TArray.RemoveElementAt(TArray.Length() - 1) pattern with TArray.RemoveLastElement() or TArray.PopLastElement() r=froydnj
MozReview-Commit-ID: rGjabnP2iz

--HG--
extra : rebase_source : 1ef6c5ce028ac9ebd9f3176d57835c43fe46bada
2018-03-13 14:51:33 +01:00
Noemi Erli e2ccf77a14 Backed out 10 changesets (bug 1446809) for failures in testing/mozbase/moztest/tests/test.py on a CLOSED TREE
Backed out changeset 5748f214f813 (bug 1446809)
Backed out changeset 1c7a6f2885fb (bug 1446809)
Backed out changeset 2c31f0efbe64 (bug 1446809)
Backed out changeset e102f93c590f (bug 1446809)
Backed out changeset c722a1c3395f (bug 1446809)
Backed out changeset 20b4c87f8abb (bug 1446809)
Backed out changeset 31026393c5b6 (bug 1446809)
Backed out changeset 9103be0ca176 (bug 1446809)
Backed out changeset 11d671ad8ed4 (bug 1446809)
Backed out changeset e412991e7f95 (bug 1446809)
2018-03-20 17:00:04 +02:00
Sylvestre Ledru 762a078307 Bug 1446809 - Remove some b2g leftover in widget/NativeKeyToDOMKeyName.h r=froydnj
MozReview-Commit-ID: 7nRuHThygp1

--HG--
extra : rebase_source : 98c462948ef9a16a1019105e3307f438bfa1a249
2018-03-18 19:30:05 +01:00
Sylvestre Ledru 794e1be583 Bug 1446809 - Remove some b2g leftover in widget/NativeKeyToDOMKeyName.h r=froydnj
MozReview-Commit-ID: 7nRuHThygp1

--HG--
extra : rebase_source : a6345c1070e669d72576ff19eaf61e17c7c92238
extra : source : df179cf0797daa3d255c40e53cb5f5bfe5f84dd1
2018-03-18 19:30:05 +01:00
Florian Quèze 57c13e32a3 Bug 1447297 - Set the cursor right before showing new windows to avoid showing the wait cursor during startup, r=jimm. 2018-03-21 18:13:58 +01:00
Csoregi Natalia fc0283f66c Backed out 10 changesets (bug 1446809) for failing on jsat/test_content_integration.html . CLOSED TREE
Backed out changeset 42146f3856d0 (bug 1446809)
Backed out changeset e6b888d19add (bug 1446809)
Backed out changeset 2293192557ef (bug 1446809)
Backed out changeset 643d30faeef8 (bug 1446809)
Backed out changeset 73639fbb3a61 (bug 1446809)
Backed out changeset df179cf0797d (bug 1446809)
Backed out changeset 04c46f107d24 (bug 1446809)
Backed out changeset 9b98c5aad44c (bug 1446809)
Backed out changeset 347d7259df0f (bug 1446809)
Backed out changeset 2a350e323713 (bug 1446809)
2018-03-21 11:17:38 +02:00
Sylvestre Ledru 26ecd929aa Bug 1446809 - Remove some b2g leftover in widget/NativeKeyToDOMKeyName.h r=froydnj
MozReview-Commit-ID: 7nRuHThygp1

--HG--
extra : rebase_source : bd6c6f4a74c6176a20c8acabd8a7b836c00f019b
extra : histedit_source : 8b7b60f03183c2c0aac41210ded310856a51eb04
2018-03-18 19:30:05 +01:00
shindli 55e9f63bac Merge inbound to mozilla-central. a=merge 2018-03-20 12:11:27 +02:00
Boris Zbarsky 837dc7eaaa Bug 1446711 part 8. Get rid of nsIDOMMouseEvent. r=qdot
MozReview-Commit-ID: 2FK1MA4LGZj
2018-03-20 00:16:07 -04:00
Boris Zbarsky 89ea512161 Bug 1446711 part 7. Switch the nsIDOMMouseEvent::MOZ_SOURCE_* constants over to MouseEventBinding. r=qdot
We can't include MouseEventBinding.h in MouseEvents.h because that produces
this include loop:

MouseEventBinding.h -> UIEventBinding.h ->
nsGlobalWindow.h -> nsGlobalWindowInner.h -> nsRefreshDriver.h ->
AnimationEventDispatcher.h -> AnimationComparator.h -> Animation.h ->
EffectCompositor.h -> PseudoElementHashEntry.h -> Element.h ->
PointerEventHandler.h -> MouseEvents.h -> MouseEventBinding.h

MozReview-Commit-ID: 6FNksGil7uD
2018-03-20 00:16:06 -04:00
Boris Zbarsky 1a7c5067ca Bug 1446851. Get rid of nsIDOMWheelEvent. r=qdot
We can't include WheelEventBinding.h in MouseEvents.h because that produces
this include loop:

WheelEventBinding.h -> MouseEventBinding.h -> UIEventBinding.h ->
nsGlobalWindow.h -> nsGlobalWindowInner.h -> nsRefreshDriver.h ->
AnimationEventDispatcher.h -> AnimationComparator.h -> Animation.h ->
EffectCompositor.h -> PseudoElementHashEntry.h -> Element.h ->
PointerEventHandler.h -> MouseEvents.h -> WheelEventBinding.h

MozReview-Commit-ID: 5KNwH69aJYW
2018-03-20 00:16:05 -04:00
Masayuki Nakano e6ee7e1c05 Bug 1423693 - Make IMContextWrapper::Init() resolve actual IM if active IM context ID is "xim" and there is XMODIFIERS env r=m_kato
On some Linux environment, GTK_IM_MODULE env may be "xim".  Then, actual
IM is specified with XMODIFIERS env with "@im=".  Therefore, if active IM
context ID is xim, IMContextWrapper::Init() needs to look for actual IM name
in XMODIFIERS.

MozReview-Commit-ID: 1aGjBkF4AQn

--HG--
extra : rebase_source : 8c50baa517c61ec2d872c036abc989b4a07e8e36
2018-03-19 14:22:52 +09:00
Andreea Pavel 7062e6b6a2 Merge mozilla-inbound to mozilla-central. a=merge 2018-03-20 00:39:56 +02:00
Boris Zbarsky 5f74b75e04 Bug 1446850. Get rid of nsIDOMMouseScrollEvent. r=qdot
MozReview-Commit-ID: ZT9E3Fhtw0
2018-03-19 15:50:56 -04:00
Boris Zbarsky d05e564049 Bug 1446710. Get rid of nsIDOMXULCommandEvent. r=qdot
MozReview-Commit-ID: C2C6oWtagG3
2018-03-19 15:50:37 -04:00
Masayuki Nakano 1c1a60c08d Bug 1446253 - Make EventUtils.synthesizeComposition() dispatch keydown and keyup event in default r=smaug
We'll start to dispatch keydown event and keyup event even during composition.
So, for testing those events won't break our UI, we should make
EventUtils.synhtesizeComposition() and EventUtils.synthesizeCompositionChange()
dispatch keydown event and keyup event even if callers don't specify keyboard
event explicitly.

Typically, "keydown" event is marked as "processed by IME", i.e., keyCode
value is set to DOM_VK_PROCESSKEY and key is set to "Process", with our
widget which handles native IME and key input.  On the other hand, "keyup"
is NOT marked as so.

Therefore, this patch makes TextInputProcessor emulates this behavior without
any new special flags.  And for making possible to emulate special cases,
this patch adds two flags to nsITextInputProcessor.  One is
KEY_DONT_MARK_KEYDOWN_AS_PROCESSED.  The other is KEY_MARK_KEYUP_AS_PROCESSED.
Unfortunately, those flags have opposite meaning but this must be better than
making necessary to one flag for emulating usual keydown/keyup events.

Finally, this makes some tests specify better keyboard information to
synthesizeComposition() and synthesizeCompositionChange() to emulate
actual keyboard events during composition.

MozReview-Commit-ID: ItYaXILkNQE

--HG--
extra : rebase_source : e50cc77c1efbc12686d7ea334d41926c7392b30d
2018-03-16 22:35:07 +09:00
Bogdan Tara 4785e99532 Merge inbound to mozilla-central. a=merge 2018-03-17 12:29:57 +02:00
Boris Zbarsky ec11fcb519 Bug 1445417 part 2. Stop using nsIDOMDragEvent in nsIDragService. r=mystor
MozReview-Commit-ID: 1BW1ki7sdKZ
2018-03-16 22:25:25 -04:00
Jeff Muizelaar b0c6c75854 Bug 1439006. Allow multiple kinds of WebRenderUserData on a DisplayItem. r=mstange
Currently we can only have one type of WebRenderUserData on an Item. We already
have a hash table of WebRenderUserData so it's not hard to include type in the
hash to support one per type.

MozReview-Commit-ID: geJ0BeWv8b
2018-03-16 19:15:27 -04:00
James Willcox 8a43a8baff Bug 1401455 - Use correct GLX visual when rendering with WebRender r=karlt
MozReview-Commit-ID: AKT4bgdIkfV
2018-03-16 17:19:23 -05:00
Kartikaya Gupta c864e00967 Bug 1441324 - Move the input event messages from PAPZCTreeManager to PAPZInputBridge. r=froydnj,rhunt
This remotes the APZInputBridge interface over the PAPZInputBridge
protocol in the case of the GPU process, and makes the GPU process'
main thread act as the APZ controller thread in that process. If
there is no GPU process we continue as before and the APZInputBridge
interface implementation is the concrete APZCTreeManager instance
in the UI process.

The main changes in this patch are moving all the code associated with
these messages out of APZCTreeManager{Parent,Child} and into
APZInputBridge{Parent,Child}. APZCTreeManagerChild now returns an
APZInputBridgeChild instance via InputBridge(), instead of returning
itself. The SetControllerThread call in the GPU process is also updated.

MozReview-Commit-ID: M4AaIW1Q0h

--HG--
extra : rebase_source : e5a8f14e23be34229fe80a47f6789d19b19e0a9f
2018-03-16 16:28:19 -04:00
Kartikaya Gupta 874af3e540 Bug 1441324 - Extract an APZInputBridge interface from IAPZCTreeManager. r=rhunt
This separates the methods that are used to deliver input events
synchronously over IPDL to the compositor; this interface will be
remoted over a new APZInputBridge IPDL protocol in future patches.

MozReview-Commit-ID: 1f3V9SUKlfW

--HG--
rename : gfx/layers/apz/public/IAPZCTreeManager.cpp => gfx/layers/apz/src/APZInputBridge.cpp
extra : rebase_source : 523abce7949baf9e3b7803a61632eb4434a6967f
2018-03-16 16:28:18 -04:00
Eitan Isaacson f765d0d585 Bug 1184142 - Support WebSpeech in GeckoView. r=snorp r=smaug
--HG--
extra : rebase_source : 81eb1ce2f67f70ee08908d69db54f8625df341cb
2018-03-16 12:08:00 +02:00
Sylvestre Ledru fa45a3c670 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR

--HG--
extra : rebase_source : 5f5e37517aa80c2e7b5933962178d761074886e7
2018-03-16 14:29:15 +01:00
Coroiu Cristina 51fd916771 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-03-16 01:43:13 +02:00
Kartikaya Gupta 5083c84c88 Bug 1445662 - Ensure ZoomToRect runs on the controller thread. r=rhunt
Currently the ZoomToRect function is only ever called on Android, on the
UI process main thread, which is neither the controller nor the sampler
thread. Instead of allowing "random" threads to run inside APZ, we
ensure that callers run it on the controller thread.
2018-03-15 15:25:10 -04:00
Kartikaya Gupta 9ab9425d9f Bug 1445662 - Make the DPI non-static and bound to the controller thread. r=rhunt
Since we can have multiple browser windows on multiple different
displays with different DPIs, it doesn't make sense to have a single
static DPI value shared across all APZCTreeManagers. Instead, each
APZCTM should store its own DPI value for the display the window is on.
Since the DPI is only ever read from the controller thread, we can make
it bound to that thread, and update the setter code to also set it on
that thread.

As with the previous patch, the change in APZCTreeManagerParent is a
no-op but allows making some other thread in the GPU process the controller
thread. And the change in nsBaseWidget is a no-op everywhere except
Android.
2018-03-15 15:25:09 -04:00
Kartikaya Gupta d59c0946db Bug 1445662 - Ensure the keyboard map access is threadsafe. r=rhunt
- The change in APZCTreeManagerParent is functionally a no-op because it
  only ever runs in the GPU process on the controller thread. But it
  allows moving the controller thread to some other thread.
- The change in nsBaseWidget is a no-op for desktop platforms, because
  in the UI process the main thread is the controller thread. But on
  Android it moves the call from the main thread to the Java UI thread.
2018-03-15 15:25:08 -04:00
Adrian Wielgosik 27009d1b15 Bug 1445408 - Remove nsIDOMClientRect. r=bz
MozReview-Commit-ID: HP4E3cADa8i

--HG--
extra : rebase_source : caffa42f22f6c25d62d080aa6f65e5105ad263e9
2018-03-13 14:19:17 +01:00
Coroiu Cristina fbaf1d233a Backed out 8 changesets (bug 1445662) for bustage at build/src/gfx/layers/apz/util/ChromeProcessController.cp on a CLOSED TREE
Backed out changeset d514b05d1f6a (bug 1445662)
Backed out changeset 13f4f51d7bd1 (bug 1445662)
Backed out changeset 20c79dee1905 (bug 1445662)
Backed out changeset ca1e29c9b439 (bug 1445662)
Backed out changeset 8fadda7d555e (bug 1445662)
Backed out changeset b5f2ceda75bd (bug 1445662)
Backed out changeset 41d8b7a6b339 (bug 1445662)
Backed out changeset 121cd3a0490f (bug 1445662)
2018-03-15 20:37:10 +02:00
Kartikaya Gupta 186ffd08c7 Bug 1445662 - Ensure ZoomToRect runs on the controller thread. r=rhunt
Currently the ZoomToRect function is only ever called on Android, on the
UI process main thread, which is neither the controller nor the sampler
thread. Instead of allowing "random" threads to run inside APZ, we
ensure that callers run it on the controller thread.

MozReview-Commit-ID: 64LkHaFLIOl

--HG--
extra : rebase_source : 61f397c0e18f83c68c228879692c9d4767b25675
2018-03-14 16:57:52 -04:00
Kartikaya Gupta 20e68959db Bug 1445662 - Make the DPI non-static and bound to the controller thread. r=rhunt
Since we can have multiple browser windows on multiple different
displays with different DPIs, it doesn't make sense to have a single
static DPI value shared across all APZCTreeManagers. Instead, each
APZCTM should store its own DPI value for the display the window is on.
Since the DPI is only ever read from the controller thread, we can make
it bound to that thread, and update the setter code to also set it on
that thread.

As with the previous patch, the change in APZCTreeManagerParent is a
no-op but allows making some other thread in the GPU process the controller
thread. And the change in nsBaseWidget is a no-op everywhere except
Android.

MozReview-Commit-ID: CB23MxGISeL

--HG--
extra : rebase_source : b3358202ec5fa27422c56ae1b0b2237dbc8e489b
2018-03-14 16:57:41 -04:00
Kartikaya Gupta 73717e624e Bug 1445662 - Ensure the keyboard map access is threadsafe. r=rhunt
- The change in APZCTreeManagerParent is functionally a no-op because it
  only ever runs in the GPU process on the controller thread. But it
  allows moving the controller thread to some other thread.
- The change in nsBaseWidget is a no-op for desktop platforms, because
  in the UI process the main thread is the controller thread. But on
  Android it moves the call from the main thread to the Java UI thread.

MozReview-Commit-ID: LVVZLFxSuyj

--HG--
extra : rebase_source : 89e9c8824c31867ad92152ff9b496744a6afdd83
2018-03-14 16:57:41 -04:00
Markus Stange e890cbae46 Bug 1445131 - When testing the event's position against the window's draggable region, read the position when it's still in the correct coordinate space. r=spohl
MozReview-Commit-ID: HqnXgIjDWrW

--HG--
extra : rebase_source : 9baf99dd7fc3715b7e7bedeea72fbe2b3728766d
2018-03-14 17:04:49 -04:00
Adrian Wielgosik bb82957302 Bug 1445408 - Remove nsIDOMClientRectList. r=bz
MozReview-Commit-ID: 22sQNVs0wFP

--HG--
extra : rebase_source : f96617033678e372a32971517300182dd4c3ac57
2018-03-01 17:14:26 +01:00
Masayuki Nakano 7744988cce Bug 1444571 - Prevent IIIM module from being unloaded with grabbing GtkIMContextIIIM class with static variable r=karlt
IIIMF is really old IME framework.  In these days, it's not used as default IM
module of any major distributions.  However, ATOK X which is old proprietary
IME requires IIIMF and it's still used by some Japanese IME users.  Therefore,
we need to take back the hack to prevent crash caused by IIIMF.

We did increment refcount of GtkIMContextIIIM class to prevent IIIM module
from being unloaded.  However, it was not ported when we changed default
toolkit from GTK2 to GTK3.  So, this is doing the porting.

Unfortunately, the instance of GtkIMContextIIIM is wrapped by opacity struct.
So, it's not safe to access the pointer with declaring a mimic struct.
Therefore, we should directly get GType from the name with calling
g_type_from_name("GtkIMContextIIIM") instead of using G_TYPE_FROM_INSTANCE()
and g_type_name().

MozReview-Commit-ID: GCZaSUtPiS9

--HG--
extra : rebase_source : 3b959023bf47fa26393fc04e722c9da79a50991d
2018-03-12 22:32:43 +09:00
Masayuki Nakano 162ea38a55 Bug 1444572 - IMContextWrapper should dispatch fake eKeyDown event during composition if active IM is uim r=m_kato
uim is an old IM which uses key snooper to listen to key events rather than
via filter key event API which should be called by applications.  It's still
used by Debian 9.x, so, we still need to support this.

Unfortunately, we cannot detect if uim actually uses key snooper because it's
switch by build option of uim.  Currently, Debian builds uim as using key
snooper.  So, we should assume uim uses key snooper always.  On the other
hand, somebody *might* use uim built as not using key snooper, so, let's
decide if uim uses key snooper with new pref,
"intl.ime.hack.uim.using_key_snooper", but its default should be true.

Note that ibus and Fcitx also have the mode to use key snooper (perhaps for
backward compatibility with uim).  However, it's not enabled in default
settings and even if it's enabled, Firefox is in whitelist in the default
settings of them for stop using key snooper.  Therefore, we don't need to
support key snooper mode for them unless we'll get some requests to
support their key snooping mode.

MozReview-Commit-ID: 6fTsfKrHzvo

--HG--
extra : rebase_source : 8ddf4541db635246e6bb0ddc73b012c9be001c6d
2018-03-12 15:41:39 +09:00
Andreea Pavel 067622ac36 Merge mozilla-inbound to mozilla-central. a=merge on a CLOSED TREE 2018-03-15 00:07:17 +02:00
Xidorn Quan 5d9c70d584 Bug 1445519 - Use frameRectForContentRect:styleMask: for nsCocoaWindow::ClientToWindowSize. r=mstange
This aligns the behavior with windows, though that may not be the right thing
to do, see bug 1445738.

MozReview-Commit-ID: 6p97SXWfchA
2018-03-14 20:45:51 +01:00
Boris Zbarsky 98e7df9e54 Bug 1445616. Add missing DataTransfer include to fix compilation on Windows. r=mystor
MozReview-Commit-ID: KT44TCYInnO
2018-03-14 12:23:58 -04:00
Michael Webster deda6780be Bug 1445503 - Use MIN instead of unnecessary CLAMP r=karlt
CLAMP is unnecessary as the minimum acceptable value is 0, and
progressPercent is unsigned. CLAMP can trigger the following warning/error in some builds:
error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]

--HG--
extra : rebase_source : 0dfcf4286a74adac03f7498f1d35fee069528826
2018-03-14 00:50:00 +02:00
arthur.iakab 8976abf9ca Merge inbound to mozilla-central. a=merge 2018-03-14 12:00:13 +02:00
Gurzau Raul f785df755d Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-14 00:44:06 +02:00
Boris Zbarsky b27cc8fa3c Bug 1444686 followup. Fix a typo that breaks compilation on Windows.
MozReview-Commit-ID: EnsXTSEcUUY
2018-03-13 17:10:39 -04:00
Boris Zbarsky 7f7ce9b56c Bug 1444686 part 13. Remove remaining nsIDOMDataTransfer uses. r=mystor
MozReview-Commit-ID: EFauqLMGz5S
2018-03-13 16:24:00 -04:00
Boris Zbarsky e026425f6d Bug 1444686 part 11. Remove nsIDOMDataTransfer from dragsession. r=mystor
MozReview-Commit-ID: CRmiSTSN8af
2018-03-13 16:24:00 -04:00
Boris Zbarsky 55ed30a9c6 Bug 1444686 part 3. Get rid of nsIDOMDataTransfer::Get/SetMozCursor. r=mystor
MozReview-Commit-ID: G7vuh1uuWGv
2018-03-13 16:23:59 -04:00
Hector Zhao 33a761b672 Bug 1340039 - Set contentPolicyType when copying image, and pass it between processes. r=smaug
MozReview-Commit-ID: CJj1a1Lj699

--HG--
extra : rebase_source : 63a033a64101f71b0b06fe68d037352fd637523f
2018-03-14 16:44:36 +08:00
Masayuki Nakano f54903a9ee Bug 1259692 - Make TSFTextStore dispatch eKeyDown or eKeyUp event when TIP processes a WM_KEYDOWN or WM_KEYUP message r=m_kato
TSF doesn't send WM_KEYDOWN nor WM_KEYUP to us while it handles a key message
with ITfKeystrokeMgr::KeyDown() or ITfKeystrokeMgr::KeyUp().  Therefore,
TSFTextStore needs to store handling key event message during calling
those methods and if it does something, we need to dispatch eKeyDown event
or eKeyUp event before dispatching any events.

However, we shouldn't dispatch WidgetKeyboardEvent during a document lock
because TSF/TIP do not assume that document is broken during a document lock.
Therefore, TSFTextStore needs to put it as a pending action into the queue.

So, this patch wraps this with
TSFTextStore::MaybeDispatchKeyboardEventAsProcessedByIME().  It checks if
there is a document lock when it's called.  If it's locked (and not yet
dispatched keyboard event for the handling key message), it adds pending
action to dispatch keyboard event later.  Otherwise, (and not yet dispatched
one), it dispatches keyboard event directly.

MozReview-Commit-ID: 9rJTJykVLyf

--HG--
extra : rebase_source : 4f8297b2b9fe2905e4cd1f64086fcdbe3d0b6035
2018-02-28 21:53:23 +09:00
Masayuki Nakano fcb248a698 Bug 1343451 - part 5: Make GeckoEditableSupport dispatch dummy eKeyDown and eKeyUp event during composition always r=jchen
On Android, GeckoEditableSupport has already dispatched eKeyDown event and
eKeyUp event even during composition.  I.e., the pref which will be enabled
by bug 354358 has already been set to true only on Android.

On the other hand, GeckoEditableSupport does not dispatch them if content
listens to "input", "compositionstart", "compositionupdate" or
"compositionend".  So, different from the other platforms, we need additional
pref to make the new behavior behind pref.

Therefore, this patch adds a new pref,
"intl.ime.hack.on_any_apps.fire_key_events_for_composition", to override
existing "intl.ime.hack.on_ime_unaware_apps.fire_key_events_for_composition"
pref.  And sets mKeyCode and mKeyNameIndex of the dummy KeyboardEvents to
NS_VK_PROCESSKEY and KEY_NAME_INDEX_Process.

MozReview-Commit-ID: Fuy0Ir2xiO5

--HG--
extra : rebase_source : c76b613ea186458ebdf0d67f4bc984e8ac5f1041
2018-02-27 17:24:35 +09:00
Masayuki Nakano 28e4c11d86 Bug 1443421 - part 2: IMContextWrapper should dispatch eKeyDown or eKeyUp event as "processed by IME" even when IM sent some signals without sending key event again r=m_kato
ibus and fcitx usually post key event to other IME process, then, if it causes
some signals to updating composition string, they may not send the posted
key event to us again.  Then, IMContextWrapper dispatches neither eKeyDown nor
eKeyUp event since mProcessingKeyEvent becomes non-nullptr only while
OnKeyEvent() is called.  So, IMContextWrapper need to store key event if
OnKeyEvent() assumes that given key event is posted to different process.
Then, if IMContextWrapper receives some signals, it should dispatch eKeyDown
and eKeyUp event with stored key event.

Note that we cannot compare the pointer of first event and following event
directly even though usually both events are same address as far as I checked
because according to the source code of ibus, fcitx and GDK, they use
gdk_event_copy() to keep storing original event.  According to the document of
the API, it might just increment refcount.  However, the actual implementation
of the API always creates another instance and return it.  So, it might be
used same address by arena allocation or something accidentally.   Anyway,
we shouldn't compare them.  Instead, we need to compare each information of
two key events.  Unfortunately, we also cannot compare them simply.  Both
ibus and fcitx set unused bits of GdkEventKey::state to true when they send
back the event to us.  Therefore, we should compare some of or all of the
members by ourselves.  I think that matching time must be enough in most
cases since its value of native key events are properly set.  However, for
safer code, this patch also checks type, keyval and part of state.

MozReview-Commit-ID: FZSwN61v0Sd

--HG--
extra : rebase_source : e57a654392f476f5ec52d82bdd238eed2eb91e83
2018-03-09 12:39:40 +09:00
Masayuki Nakano 22ab980e4c Bug 1443421 - part 1: Make IMContextWrapper not dispatch eKeyDown and eKeyUp event if the native key event is being handled by other IME process r=m_kato
ibus and fcitx have asynchronous key event handling mode and it's enabled in
default settings.  That is, when they receive a key event from application via
a call of gtk_im_context_filter_keypress(), they may post the key event
information to other IME process, then does nothing but store the copy of the
event with gdk_event_copy() and returns true for the result of
gtk_im_context_filter_keypress().  When the other IME process handles the
event, returns the result to them in our process.  Then, they send the stored
key event to us again.  Finally, they actually handles the event in our process
actually.

Therefore, we may receive every key event twice.  So, this causes dispatching
eKeyDown event and eKeyUp event twice.  Preceding key event is always marked
as "processed by IME" since gtk_im_context_filter_keypress() returns true
temporarily and following key event is dispatched as expected.  So, we need
to ignore the first event only when gtk_im_context_filter_keypress() returns
true but the event is posted to different process.

Unfortunately, we cannot know if the key event is actually posted to different
process directly.  However, we can know if active IM is ibus, fcitx or another
one and if ibus or fcitx is in asynchronous key handling mode.

The former information is provided by gtk_im_multicontext_get_context_id().
It returns a string which is set to the IM multicontext instance by creator.
We'll get "ibus" if IM is ibus, get "fcitx" if IM is fcitx.

The latter information is not provided.  However, they consider the mode from
env value.  ibus checks IBUS_ENABLE_SYNC_MODE.  fcitx checks both
IBUS_ENABLE_SYNC_MODE and FCITX_ENABLE_SYNC_MODE.

Additionally, we can know if received key event has already been posted to
other IME process.  They use undefined bit of GdkEventKey::state to store
if the key event has already been posted (1 << 25, they called "ignored" flag).
Although their approach is really hacky but we can refer the information at
least for now.

Finally, when we guess a key event is posted to other IME process, let's
IMContextWrapper::OnKeyEvent() not dispatch eKeyDown nor eKeyUp event.
Note that if it's handled synchronously as unexpected, it may causes
dispatching one or more composition events and/or delete content event.
So, in such case, we dispatch a keyboard event for processing key event
anyway.  There is only once case we'll fail to dispatch keyboard event.
If we receive signals to dispatch composition events or delete content
command event when IM receives the result from other IME process but
it doesn't send the key event to us.  This will be fixed by the following
patch.

MozReview-Commit-ID: 94PrlnmQ3uJ

--HG--
extra : rebase_source : fc31b0293ff0f0688dd39b0094fdf8f98b6c64d3
2018-03-09 00:46:52 +09:00
Masayuki Nakano 6857169b5e Bug 1343451 - part 4: Make TextInputHandler dispatches eKeyDown event with marking it as "processed by IME" r=m_kato
First of all, TextInputHandler::HandleKeyDown() dispatches an eKeyDown event
before sending IME.  This is different behavior from Gecko on the other
platforms and it means TextInputHandler does not know if the eKeyDown event
will be handled by IME.  Therefore, we need to make TextInputHandler dispatch
an eKeyDown event dispatch when it needs to dispatch another event.  Therefore,
this patch makes TextInputHandler not dispatch an eKeyDown even from
its HandleKeyDown() unless it's already has composition (because if it's
already had composition, any eKeyDown event except modifier keys should be
marked as "processed by IME" for compatibility with the other browsers).

For dispatching eKeyDown event only once for a native keydown event,
this patch implements TextInputHandlerBase::MaybeDispatchCurrentKeydownEvent()
to check whether eKeyDown event has already been dispatched for the event
and if it's not so, dispatches eKeyDown event.

Note that on macOS, dead keys are implemented as IME.  However, we need to
treat dead keys as is.  Therefore, if current keydown event is a dead keydown
event, MaybeDispatchCurrentKeydownEvent() should NOT mark dispatching
eKeyDown event and its following eKeyDown event as "processed by IME".

MozReview-Commit-ID: 7epk8wdAznd

--HG--
extra : rebase_source : 0ed30ff3e108170fd96eabe626e0530473f2f3b1
2018-02-23 23:09:43 +09:00
Masayuki Nakano 3db8525089 Bug 1343451 - part 3-2: Make IMContextWrapper dispatch eKeyDown event or eKeyUp event if IME handles native key event but we have not dispatched DOM event for it yet r=m_kato
Currently, IMContextWrapper doesn't dispatch eKeyDown event and eKeyUp event
if it's handled by IME.  However, for conforming to UI Events, it should
not eat given keyboard events completely.

This patch makes IMContextWrapper dispatches eKeyDown event or eKeyUp event
before dispatching first event of composition events or content command
event.

MozReview-Commit-ID: H2jHpViTH5Q

--HG--
extra : rebase_source : a1f4127ba87e03e1ff97690f97fb7bf64b4d4818
2018-02-22 20:56:08 +09:00
Masayuki Nakano 896e893f72 Bug 1343451 - part 3-1: Make KeymapWrapper::InitKeyEvent() mark given key event as "processed by IME" if it has been handled by IME r=m_kato
For conforming UI Events spec, KeymapWrapper::InitKeyEvent() should initialize
mKeyCode and mKeyNameIndex with NS_VK_PROCESSKEY and KEY_NAME_INDEX_Process if
given keyboard event has already been handled by IME.

For making it know if given keyboard event has been handled by IME, this patch
adds additional bool argument to it and its callers.

Note that this patch changes keyCode value and key value of "keydown" event if
it's fired before "compositionstart" since Chromium does so on Linux.

MozReview-Commit-ID: FC3tfyeeopU

--HG--
extra : rebase_source : b7e2a70db1fbb4ca7d20379fd1c14f7dc38e656d
2018-02-22 19:52:53 +09:00
Andreea Pavel 11bec2e097 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-03-13 19:26:13 +02:00
Andreea Pavel 8fa0b32c84 Merge mozilla-inbound to mozilla-cenral. a=merge 2018-03-13 19:01:32 +02:00
Martin Stransky 0a0c720a69 Bug 1443481 - [Linux/Titlebar] Construct widget tree to get correct titlebar icon style before we render the actual icon, r=jhorak
MozReview-Commit-ID: DEb2pU31os9

--HG--
extra : rebase_source : f68034829b16c9def34436dc6e33b393865348bc
2018-03-06 16:45:19 +01:00
Martin Stransky 41ee718162 Bug 1439834 - Draw titlebar with some extent, r=dao
Some themes (Adwaita for instance) draws bold dark line at
titlebar bottom. It does not fit well with Firefox tabbar UI so
draw themed titlebar with some extent to make the titlebar
bottom part invisible (it's clipped by cairo).

MozReview-Commit-ID: 3rs4UzFJdPa

--HG--
extra : rebase_source : ca9270f549a3106711afac8ee0c7a30839ab2bf3
2018-02-28 14:28:40 +01:00
Dorel Luca 4295ed1070 Backed out 2 changesets (bug 1443421) for Valgrind leak on Linux x64 opt
Backed out changeset 6afa399e604a (bug 1443421)
Backed out changeset edc1455e7082 (bug 1443421)
2018-03-14 12:31:23 +02:00
Dorel Luca b10a3945a4 Backed out changeset e226de7caa88 (bug 1444572) for conflicts while backing out 1443421 2018-03-14 12:28:59 +02:00
arthur.iakab 6153368440 Merge mozilla-central to autoland 2018-03-14 12:16:00 +02:00
Masayuki Nakano d23a5323b4 Bug 1444572 - IMContextWrapper should dispatch fake eKeyDown event during composition if active IM is uim r=m_kato
uim is an old IM which uses key snooper to listen to key events rather than
via filter key event API which should be called by applications.  It's still
used by Debian 9.x, so, we still need to support this.

Unfortunately, we cannot detect if uim actually uses key snooper because it's
switch by build option of uim.  Currently, Debian builds uim as using key
snooper.  So, we should assume uim uses key snooper always.  On the other
hand, somebody *might* use uim built as not using key snooper, so, let's
decide if uim uses key snooper with new pref,
"intl.ime.hack.uim.using_key_snooper", but its default should be true.

Note that ibus and Fcitx also have the mode to use key snooper (perhaps for
backward compatibility with uim).  However, it's not enabled in default
settings and even if it's enabled, Firefox is in whitelist in the default
settings of them for stop using key snooper.  Therefore, we don't need to
support key snooper mode for them unless we'll get some requests to
support their key snooping mode.

MozReview-Commit-ID: 6fTsfKrHzvo

--HG--
extra : rebase_source : 8ddf4541db635246e6bb0ddc73b012c9be001c6d
2018-03-12 15:41:39 +09:00
Coroiu Cristina 0f6841e0d2 Backed out 2 changesets (bug 1443080) for spidermonkey build bustage at build/src/js/src/jit/BaselineCacheIRCompiler.cpp
Backed out changeset 7d509bb8a35d (bug 1443080)
Backed out changeset 53bdcd5937cd (bug 1443080)

--HG--
extra : rebase_source : 59b5350d2959c0b065aedd34bfe8337216c0ea4b
2018-03-14 11:13:21 +02:00
Masayuki Nakano 863964eb27 Bug 1443421 - part 2: IMContextWrapper should dispatch eKeyDown or eKeyUp event as "processed by IME" even when IM sent some signals without sending key event again r=m_kato
ibus and fcitx usually post key event to other IME process, then, if it causes
some signals to updating composition string, they may not send the posted
key event to us again.  Then, IMContextWrapper dispatches neither eKeyDown nor
eKeyUp event since mProcessingKeyEvent becomes non-nullptr only while
OnKeyEvent() is called.  So, IMContextWrapper need to store key event if
OnKeyEvent() assumes that given key event is posted to different process.
Then, if IMContextWrapper receives some signals, it should dispatch eKeyDown
and eKeyUp event with stored key event.

Note that we cannot compare the pointer of first event and following event
directly even though usually both events are same address as far as I checked
because according to the source code of ibus, fcitx and GDK, they use
gdk_event_copy() to keep storing original event.  According to the document of
the API, it might just increment refcount.  However, the actual implementation
of the API always creates another instance and return it.  So, it might be
used same address by arena allocation or something accidentally.   Anyway,
we shouldn't compare them.  Instead, we need to compare each information of
two key events.  Unfortunately, we also cannot compare them simply.  Both
ibus and fcitx set unused bits of GdkEventKey::state to true when they send
back the event to us.  Therefore, we should compare some of or all of the
members by ourselves.  I think that matching time must be enough in most
cases since its value of native key events are properly set.  However, for
safer code, this patch also checks type, keyval and part of state.

MozReview-Commit-ID: FZSwN61v0Sd

--HG--
extra : rebase_source : e54284c27a171f899a6cf87a65935669e2d57021
2018-03-09 12:39:40 +09:00
Masayuki Nakano 6a306796a7 Bug 1443421 - part 1: Make IMContextWrapper not dispatch eKeyDown and eKeyUp event if the native key event is being handled by other IME process r=m_kato
ibus and fcitx have asynchronous key event handling mode and it's enabled in
default settings.  That is, when they receive a key event from application via
a call of gtk_im_context_filter_keypress(), they may post the key event
information to other IME process, then does nothing but store the copy of the
event with gdk_event_copy() and returns true for the result of
gtk_im_context_filter_keypress().  When the other IME process handles the
event, returns the result to them in our process.  Then, they send the stored
key event to us again.  Finally, they actually handles the event in our process
actually.

Therefore, we may receive every key event twice.  So, this causes dispatching
eKeyDown event and eKeyUp event twice.  Preceding key event is always marked
as "processed by IME" since gtk_im_context_filter_keypress() returns true
temporarily and following key event is dispatched as expected.  So, we need
to ignore the first event only when gtk_im_context_filter_keypress() returns
true but the event is posted to different process.

Unfortunately, we cannot know if the key event is actually posted to different
process directly.  However, we can know if active IM is ibus, fcitx or another
one and if ibus or fcitx is in asynchronous key handling mode.

The former information is provided by gtk_im_multicontext_get_context_id().
It returns a string which is set to the IM multicontext instance by creator.
We'll get "ibus" if IM is ibus, get "fcitx" if IM is fcitx.

The latter information is not provided.  However, they consider the mode from
env value.  ibus checks IBUS_ENABLE_SYNC_MODE.  fcitx checks both
IBUS_ENABLE_SYNC_MODE and FCITX_ENABLE_SYNC_MODE.

Additionally, we can know if received key event has already been posted to
other IME process.  They use undefined bit of GdkEventKey::state to store
if the key event has already been posted (1 << 25, they called "ignored" flag).
Although their approach is really hacky but we can refer the information at
least for now.

Finally, when we guess a key event is posted to other IME process, let's
IMContextWrapper::OnKeyEvent() not dispatch eKeyDown nor eKeyUp event.
Note that if it's handled synchronously as unexpected, it may causes
dispatching one or more composition events and/or delete content event.
So, in such case, we dispatch a keyboard event for processing key event
anyway.  There is only once case we'll fail to dispatch keyboard event.
If we receive signals to dispatch composition events or delete content
command event when IM receives the result from other IME process but
it doesn't send the key event to us.  This will be fixed by the following
patch.

MozReview-Commit-ID: 94PrlnmQ3uJ

--HG--
extra : rebase_source : 0bb58ed432bacef8ad13264babd2b21fe950b71c
2018-03-09 00:46:52 +09:00
Sylvestre Ledru c07eb73986 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR

--HG--
extra : rebase_source : 17c91bfd7241e3e522b1413b6e544df74f5361a0
2018-03-05 13:43:54 +01:00
Masayuki Nakano 48703c7384 Bug 1443091 - IMContextWrapper should dispatch eKeyDown and eKeyUp event as "Dead" keys rather than "Process" if user pressed a dead key r=m_kato
On Linux, dead key is implemented with "table-based input methods" which are
available even on GtkIMContextSimple (i.e., available even in password fields).
Therefore, IMContextWrapper handles dead key sequence as usual composition of
IME.  However, on the other platforms, we dispatch "Dead" eKeyDown and eKeyUp
events for dead key.

We started to mark keyboard events which are handled by IME as "processed by
IME" since bug 1343451, i.e., we started to set mKeyNameIndex to
KEY_NAME_INDEX_Process.  However, we should keep previous behavior, i.e., keep
setting it to KEY_NAME_INDEX_Dead.  Fortunately, GDK's key event tells us
whether the keyboard event is a dead key event with keysym.  So, we can detect
if we're in a dead key sequence simply.

MozReview-Commit-ID: Dv336WptfXN

--HG--
extra : rebase_source : e8a7b5a7eb7c57e1e45de20ebebd56f88457cfc6
2018-03-05 22:03:58 +09:00
Margareta Eliza Balazs d6d1b8a6a5 Merge inbound to mozilla-central. a=merge 2018-03-13 01:10:10 +02:00
Cosmin Sabou 462b445081 Backed out 6 changesets (bug 1343451) for mochitest android perma failures on testInputConnection.
Backed out changeset e07105d9698e (bug 1343451)
Backed out changeset dc4a2a5932c3 (bug 1343451)
Backed out changeset 9561ed261d04 (bug 1343451)
Backed out changeset 84a5ec921442 (bug 1343451)
Backed out changeset b34d48936db8 (bug 1343451)
Backed out changeset 4dce7ab14f71 (bug 1343451)
2018-03-12 18:07:46 +02:00
Masayuki Nakano bb10e7fbe9 Bug 1343451 - part 5: Make GeckoEditableSupport dispatch dummy eKeyDown and eKeyUp event during composition always r=jchen
On Android, GeckoEditableSupport has already dispatched eKeyDown event and
eKeyUp event even during composition.  I.e., the pref which will be enabled
by bug 354358 has already been set to true only on Android.

On the other hand, GeckoEditableSupport does not dispatch them if content
listens to "input", "compositionstart", "compositionupdate" or
"compositionend".  So, different from the other platforms, we cannot test
this behind pref ("dom.keyboardevent.dispatch_during_composition") even in
Nightly.

Therefore, this patch enables new behavior only when it's Nightly build or
early Beta.  And sets mKeyCode and mKeyNameIndex of the dummy KeyboardEvents
to NS_VK_PROCESSKEY and KEY_NAME_INDEX_Process.

MozReview-Commit-ID: Fuy0Ir2xiO5

--HG--
extra : rebase_source : fade31954eaa1be8b7592977095ba8aebdd75104
2018-02-27 17:24:35 +09:00
Masayuki Nakano 2c2365305c Bug 1343451 - part 4: Make TextInputHandler dispatches eKeyDown event with marking it as "processed by IME" r=m_kato
First of all, TextInputHandler::HandleKeyDown() dispatches an eKeyDown event
before sending IME.  This is different behavior from Gecko on the other
platforms and it means TextInputHandler does not know if the eKeyDown event
will be handled by IME.  Therefore, we need to make TextInputHandler dispatch
an eKeyDown event dispatch when it needs to dispatch another event.  Therefore,
this patch makes TextInputHandler not dispatch an eKeyDown even from
its HandleKeyDown() unless it's already has composition (because if it's
already had composition, any eKeyDown event except modifier keys should be
marked as "processed by IME" for compatibility with the other browsers).

For dispatching eKeyDown event only once for a native keydown event,
this patch implements TextInputHandlerBase::MaybeDispatchCurrentKeydownEvent()
to check whether eKeyDown event has already been dispatched for the event
and if it's not so, dispatches eKeyDown event.

Note that on macOS, dead keys are implemented as IME.  However, we need to
treat dead keys as is.  Therefore, if current keydown event is a dead keydown
event, MaybeDispatchCurrentKeydownEvent() should NOT mark dispatching
eKeyDown event and its following eKeyDown event as "processed by IME".

MozReview-Commit-ID: 7epk8wdAznd

--HG--
extra : rebase_source : 4f4e23a8cc5005d8f0da3c35910eba30f8777e6b
2018-02-23 23:09:43 +09:00
Masayuki Nakano fd292edc43 Bug 1343451 - part 3-2: Make IMContextWrapper dispatch eKeyDown event or eKeyUp event if IME handles native key event but we have not dispatched DOM event for it yet r=m_kato
Currently, IMContextWrapper doesn't dispatch eKeyDown event and eKeyUp event
if it's handled by IME.  However, for conforming to UI Events, it should
not eat given keyboard events completely.

This patch makes IMContextWrapper dispatches eKeyDown event or eKeyUp event
before dispatching first event of composition events or content command
event.

MozReview-Commit-ID: H2jHpViTH5Q

--HG--
extra : rebase_source : 4129620126a34e27af1503e7c4652bb09c7e9bb6
2018-02-22 20:56:08 +09:00
Masayuki Nakano 099a9bedee Bug 1343451 - part 3-1: Make KeymapWrapper::InitKeyEvent() mark given key event as "processed by IME" if it has been handled by IME r=m_kato
For conforming UI Events spec, KeymapWrapper::InitKeyEvent() should initialize
mKeyCode and mKeyNameIndex with NS_VK_PROCESSKEY and KEY_NAME_INDEX_Process if
given keyboard event has already been handled by IME.

For making it know if given keyboard event has been handled by IME, this patch
adds additional bool argument to it and its callers.

Note that this patch changes keyCode value and key value of "keydown" event if
it's fired before "compositionstart" since Chromium does so on Linux.

MozReview-Commit-ID: FC3tfyeeopU

--HG--
extra : rebase_source : 9c88967b8e2a5539023deb1277ae8704418dfd0d
2018-02-22 19:52:53 +09:00
Michael Webster 1a8239407b Bug 1418749 - Add a TaskbarProgress implementation for gtk3/x11. r=paolo,karlt
This adds support for download progress reporting via the XApp
method currently used in the Cinnamon desktop, by establishing a new
X11 window property to be supported/read by the window manager.

See https://github.com/linuxmint/xapps/blob/master/libxapp/xapp-gtk-window.c,
as well as https://github.com/linuxmint/muffin/commit/39045da0ea06f
for more details.

The property-setting code lives in nsWindow - it's a small and stable
enough chunk that it made more sense to do this than actually depend on
another external library.  As nsWindow is already using x11 calls, this
seemed the safest place for it, without affecting the build.

The TaskbarProgress instance is initialized via the DownloadsTaskbar
js module, and is handed a pointer to the current main window to call
SetProgress on.  Most of the javascript side of this is in line with
how the other platforms are handled.

Without a supporting window manager/desktop environment (currently just
Cinnamon/Muffin 3.6,) the simplest way to observe working behavior is
by calling 'xprop -spy' on the browser window being testing and watching
for updates during a download.

--HG--
extra : rebase_source : 0606f6c87116204ec290c19276072d0c1c35691e
2018-03-08 18:43:00 +02:00
Jim Chen d5f3264031 Bug 1442250 - 5. Reset native queue early when transferring; r=esawin
When we reset the old native queue when transferring to another session,
perform the reset right after the transfer() call, instead of in
onTransfer(), which is too late for clearing stale pending calls.

Then, after transferring to a new queue, let Gecko call Window.onReady
to set the new queue's state if needed. That way the Java queue state is
consistent with the Gecko state.

MozReview-Commit-ID: CUXGrhR4FCD

--HG--
extra : rebase_source : a196361f1db1304c178a3471082d586dddfe2a32
2018-03-09 12:34:38 -05:00
Jim Chen 7a55fbe5b5 Bug 1442250 - 3. Track EventDispatcher attach/detach; r=esawin
In an "attach > detach > attach" sequence, detach will post a call to
disposeNative, so the sequence looks like "attach > detach > attach >
disposeNative". In that case, disposeNative will cancel attach. This
patch makes us ignore disposeNative in that case, so the second attach
works as intended.

MozReview-Commit-ID: Kr55PZcsPg1

--HG--
extra : rebase_source : 0a4480149f5a13a6759bd7280964456b12d57c9b
2018-03-09 12:34:37 -05:00
Jim Chen ef46dc1706 Bug 1442250 - 2. Unregister then re-register all listeners on close; r=esawin
Ensure that we unregister and re-register all listeners on
closeWindow, so that the listeners are ready for any new windows that
are subsequently opened.

MozReview-Commit-ID: EKzCRS10odN

--HG--
extra : rebase_source : 80615ef28839d9e76ecc47881d7b47b59ddea563
2018-03-09 12:34:37 -05:00
Markus Stange 1211c84c8c Bug 1401195 - Make double-clicking draggable parts of the window always do the titlebar-double-click action, regardless of whether the click targeted the titlebar or some other draggable element. r=spohl
In the past there were cases where treating double click behavior differently from draggability
was necessary, but there don't seem to exist such cases any more. For example, we don't have any
windows with bottom bars / draggable status bars any more.
This change simplifies the code and frees the frontend from having to use special -moz-appearance
values to indicate titlebary parts of the window.

MozReview-Commit-ID: IRe3FPU2EaT

--HG--
extra : rebase_source : e52b79d4cbc15b3c3a70b8411c5917309a7f78d8
2018-03-09 14:41:50 -05:00
Masayuki Nakano a684a2500b Bug 1446401 - Start to dispatch "keydown" event and "keyup" event even during in composition in Nightly and early Beta r=smaug
For confirming to UI Events spec, we should dispatch "keydown" event and
"keyup" event even during in composition.

This patch makes only Nightly and early Beta start to dispatch those events
during a composition.

MozReview-Commit-ID: 8md7NtSdurJ

--HG--
extra : rebase_source : 2527089ee2844ee6a816ee3afae461275c61c409
2018-02-28 22:19:09 +09:00
Jim Chen dca37fe66f Bug 1446729 - 2. Rename TextInputController to SessionTextInput; r=esawin
Following the naming scheme "SessionFoo" for GeckoSession sub-objects,
and "getFoo()" for getters of GeckoSession sub-objects, rename
TextInputController to SessionTextInput and getTextInputController() to
getTextInput().

MozReview-Commit-ID: 6GtgCjCLKhg

--HG--
rename : mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TextInputController.java => mobile/android/geckoview/src/main/java/org/mozilla/geckoview/SessionTextInput.java
extra : rebase_source : 6f20fd9a1853befc6e8aa98714f7e4733b1ee46f
2018-03-18 05:38:55 -04:00
Nicholas Nethercote 68124009fc Bug 1438678 - Pass early prefs via shared memory instead of the command line. r=bobowen,jld,glandium.
This patch replaces the large -intPrefs/-boolPrefs/-stringPrefs flags with
a short-lived, anonymous, shared memory segment that is used to pass the early
prefs.

Removing the bloat from the command line is nice, but more important is the
fact that this will let us pass more prefs at content process start-up, which
will allow us to remove the early/late prefs split (bug 1436911).

Although this mechanism is only used for prefs, it's conceivable that it could
be used for other data that must be received very early by children, and for
which the command line isn't ideal.

Notable details:

- Much of the patch deals with the various platform-specific ways of passing
  handles/fds to children.

  - Linux and Mac: we use a fixed fd (8) in combination with the new
    GeckoChildProcessHost::AddFdToRemap() function (which ensures the child
    won't close the fd).

  - Android: like Linux and Mac, but the handles get passed via "parcels" and
    we use the new SetPrefsFd() function instead of the fixed fd.

  - Windows: there is no need to duplicate the handle because Windows handles
    are system-wide. But we do use the new
    GeckoChildProcessHost::AddHandleToShare() function to add it to the list of
    inheritable handles. We also ensure that list is processed on all paths
    (MOZ_SANDBOX with sandbox, MOZ_SANDBOX without sandbox, non-MOZ_SANDBOX) so
    that the handles are marked as inheritable. The handle is passed via the
    -prefsHandle flag.

  The -prefsLen flag is used on all platforms to indicate the size of the
  shared memory segment.

- The patch also moves the serialization/deserialization of the prefs in/out of
  the shared memory into libpref, which is a better spot for it. (This means
  Preferences::MustSendToContentProcesses() can be removed.)

MozReview-Commit-ID: 8fREEBiYFvc

--HG--
extra : rebase_source : 7e4c8ebdbcd7d74d6bd2ab3c9e75a6a17dbd8dfe
2018-02-16 17:54:16 +11:00
Emilio Cobos Álvarez f0d07cb595 Bug 1443966: Add missing include for nsIContent::IsInChromeDocument. r=dholbert
Also mark the function properly as inline.

MozReview-Commit-ID: GJDVLsyfuLN

--HG--
extra : rebase_source : 8dd0b44fa4305dc55b8a0887b2e97453c4c2dfb6
2018-03-08 00:59:25 +01:00
shindli c2506585bc Merge mozilla-central to autoland. a=merge CLOSED TREE
--HG--
rename : devtools/client/shared/frame-script-utils.js => devtools/client/shared/test/frame-script-utils.js
rename : devtools/client/framework/test/shared-head.js => devtools/client/shared/test/shared-head.js
rename : devtools/client/framework/test/shared-redux-head.js => devtools/client/shared/test/shared-redux-head.js
2018-03-08 02:26:38 +02:00
shindli 568f98c908 Merge inbound to mozilla-central. a=merge 2018-03-08 02:20:08 +02:00
Sotaro Ikeda 5e1a7f84b4 Bug 1441498 - Protect mCompositorVsyncDispatcher by lock. r=kats
mCompositorVsyncDispatcher is created and destroyed on main thread. But it is
accessed from Compositor thread or VSyncBridge thread. To avoid race condition
between main thread and Compositor thread/VSyncBridge thread,
mCompositorVsyncDispatcher needs to be protected by lock.
2018-03-07 10:53:05 -05:00
Xidorn Quan 492ca3e3e2 Bug 1443397 - Modernize several rect and region related functions in Windows widget to use typed types. r=jimm
Mostly just convert nsInt{Rect,Region} to LayoutDeviceInt{Rect,Region}.

One exception is to change the parameter of nsWindow::OnResize from
nsIntRect to LayoutDeviceIntSize, because it really only needs that.

MozReview-Commit-ID: 963Mzd5Wed6

--HG--
extra : rebase_source : efae039d26feb98a3591a7cd46c30ce4f052d70b
2018-03-06 17:20:41 +11:00
Kartikaya Gupta 45d31fa895 Bug 1442627 - Stop exporting APZCTreeManager.h in mozilla/layers/. r=botond
MozReview-Commit-ID: GC5fSWOYtF5

--HG--
extra : rebase_source : e2dfe679595bf9208e082699a99375cd509b66e3
2018-03-06 10:25:39 -05:00
Rob Wu 7b7f160bef Bug 335545 - Add test to verify that overflowing clipboard data survives r=mstange
I accidentally broke the ability to retrieve a big string from the
clipboard, and there was no test that failed. So this provides a new
test that does the following:

1. Store a big string in a nsTransferable.
2. Copy it to the clipboard.
3. Create a new nsTransferable, initialize with small data.
4. Populate the nsTransferable with (big) data from the clipboard.
5. Populate the nsTransferable with small data.

After each step, the test checks whether the transferable holds the
expected data and length, and (on non-Windows) checks that the big
data is backed by a file, and small data is not.

MozReview-Commit-ID: 9yuXZxVqD6R

--HG--
extra : rebase_source : 6cec638c59e8ce5a18adbb642779c1dcd457cc5b
2018-02-25 19:08:12 +01:00
Rob Wu 877c911eae Bug 335545 - Make DataStruct non-copyable r=mstange
DataStruct cannot safely be copied if its mCacheFD member is set.
Currently there is no code for this case, but to avoid problems later,
mark the copy and assignment constructors private and delete them.

A move-constructor was added to compensate for the deleted copy
constructor. nsTransferable::AddDataFlavor uses this new constructor
instead of the previous implicit default copy constructor.

MozReview-Commit-ID: 3N5xjFXOUKB

--HG--
extra : rebase_source : dc609f20c7048b3630fa99fe2deef3f5be155334
2018-02-25 17:36:08 +01:00
Rob Wu 57cfe68440 Bug 335545 - Count FD instead of looking for clipboardcache in test_bug1123480.xul r=mstange
- Count open file descriptors instead of testing the existence of a file
  (because the clipboard is now only reachable through file descriptors,
  and not through a file path).

- Use a fixed string instead of a random string. The previous way of
  generating a string was non-deterministic, and there was a very small
  chance that the generated string was not large enough to trigger the
  cache-to-disk-mode.

- Use "text/unicode" instead of "text/plain", because JavaScript strings
  use two bytes, not one bytes each.

- The cache file is already created when the Transferable is created, so
  check the cache file after assigning data to the nsITransferable, but
  before copying it to the clipboard.

MozReview-Commit-ID: KOkYOm280Oh

--HG--
extra : rebase_source : 3515ff55a316720b87f2473a1450e5d8304728e8
2018-02-25 17:30:13 +01:00
Boris Zbarsky b7f9b8d095 Bug 1446527 part 4. Remove nsIDOMUIEvent::SCROLL_PAGE_* constants. r=qdot
MozReview-Commit-ID: 6F9Q6kOogEo
2018-03-26 14:53:02 -04:00
James Willcox 10d9e4b988 Bug 1422137 - Rename NativePanZoomController to PanZoomController r=rbarker
MozReview-Commit-ID: DUdekq4OV2e
2018-03-22 12:39:53 -05:00
Andreea Pavel 12274151d8 Backed out changeset 36c52265e4a1 (bug 1447196) for mochitest headless failures at dom/events/test/pointerevents/test_bug1303704.html on a CLOSED TREE 2018-03-22 18:44:37 +02:00
Olli Pettay d660f15a38 bug 1447196, canceling pointerdown should not affect to scrollbar handling, r=masayuki
--HG--
extra : rebase_source : 148a87834ef2baf41c2889bfed1b78bc42ec5e2b
2018-03-22 15:53:55 +02:00
Andreea Pavel d9d9517a78 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-03-20 00:42:18 +02:00
Valentin Gosu af5eeff2e3 Bug 1442239 - Make URI deserialization (nsISerializable.read) happen via nsIURIMutator only r=mayhemer
* Deserialization now only happens via a mutator
* The CID for URI implementations actually returns the nsIURIMutator for each class
* The QueryInterface of mutators implementing nsISerializable will now act as a finalizer if passed the IID of an interface implemented by the URI it holds

MozReview-Commit-ID: H5MUJOEkpia

--HG--
extra : rebase_source : 01c8d16f7d31977eda6ca061e7889cedbf6940c2
2018-03-19 20:22:32 +01:00
Rob Wu ed4e35a109 Bug 335545 - Store clipboard data in memory XOR file r=mstange
Ensure that only DataStruct::mData + mDataLen, XOR
DataStruct::mCacheFD is used.
(Previously it was possible that all of these members were populated,
 which is a waste of memory.)

The effect of this change is visible when SetTransferData is called
multiple times with the same flavor, but with one below the threshold
for storing in-memory, and the other above (=store in a file).

MozReview-Commit-ID: 4UlkKAYsjf

--HG--
extra : rebase_source : 75398f84f039bdf2ff0195342f3db8efbdce6d3d
2017-09-03 03:21:45 +02:00
Rob Wu 1b8a4cf8e6 Bug 335545 - Use nsAnonymousTemporaryFile for clipboard cache r=mstange
The cache file is never directly exposed to consumers of DataStruct,
so it does not make sense to keep the clipboardcache file around
forever.

The only change in this commit is to switch from using a filename to
using a file descriptor. In the destructor, the FD is explicitly closed
(which releases the file data).  nsAnonymousTemporaryFile takes care
of removing the file when the destructor is not called (e.g. crashes).

Previously, the clipboard cache was stored in a file called:
TmpD/clipboardcache-N

As of this commit, the clipboard cache is stored at:
TmpD/mozilla-temp-randomN (macOS and Linux)
TmpD/mozilla-temp-files/mozilla-temp-randomN (Windows)
(see xpcom/io/nsAnonymousTemporaryFile.{h,cpp} for more details)

To verify that these files are really gone:
1. Create a document with 500k+ characters, open it in Firefox.
2. Copy its content - this will trigger the clipboard cache.
3. Look for the open file descriptor of the deleted file:
   ( macOS and Linux: )
   lsof +L1 | grep mozilla-temp
4. Copy anything (under the 500k threshold), or quit/kill Firefox.
5. Repeat step 3 and observe that the number of file descriptors
   has decreased.

MozReview-Commit-ID: 85GlKQrNUl5

--HG--
extra : rebase_source : 6937143639d6a6280ffe8b53b4c2fa4b1e7ef55d
2017-09-03 02:29:10 +02:00
Martin Stransky ae33d849f9 Bug 1438132 - Don't return false-positive data from clipboard, r=jhorak
MozReview-Commit-ID: 5I9DbpYJ8EL

--HG--
extra : rebase_source : 6b7207cd45b2b6f758f6e882c0829538ca2fe95e
2018-03-01 14:07:15 +01:00
Cosmin Sabou afd17d1bf7 Merge inbound to mozilla-central. a=merge 2018-03-05 20:12:38 +02:00
sotaro a765f2b7e0 Bug 1442146 - Fix jiggle during resizing on Windows r=nical 2018-03-05 21:31:02 +09:00
Masayuki Nakano 8ff64d6a33 Bug 1443117 - Restart to dispatch "keypress" event for non-printable keys and key combinations on Nightly and early-Beta until Google fixes related bugs of their web apps r=smaug
We have stopped dispatching "keypress" events for non-printable keys
and key combinations for conforming to UI Events and following the
other browsers.

However, this change hits a serious bugs of Google Docs, Google
Spreadsheets and Gmail.  Until they will fix their bugs, we should
take back the traditional behavior for keeping Nightly usable for
any Nightly testers.

MozReview-Commit-ID: 9CyEbsFit1S

--HG--
extra : rebase_source : 837288b1fb53121badff4e65094a87cebfe3cfee
2018-03-05 21:12:27 +09:00
Brian Grinstead 1dcca6b84e Bug 1442695 - Remove unused GetScrollbarPressStates method;r=spohl
MozReview-Commit-ID: GA9kzatUKfp

--HG--
extra : rebase_source : e9bc6b16de2b9848d765b9150813a0d844016895
2018-03-02 09:42:55 -08:00
Ciure Andrei 234819650e Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-03-02 12:19:09 +02:00
Adrian Wielgosik d61c7fbed5 Bug 1441270 - Remove unused WebGL parameter getters. r=jgilbert
MozReview-Commit-ID: 7PqaPG2STUs

--HG--
extra : rebase_source : e24d7534964d15c54c1f8706ad01e17a4e31dd8c
2018-02-26 20:35:12 +01:00