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

23526 Коммитов

Автор SHA1 Сообщение Дата
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
Eugen Sawin 3f082b89d9 Bug 1410456 - Allow OMT access to Android system audio properties. r=esawin
MozReview-Commit-ID: 4YkiuzNkNu5

--HG--
extra : rebase_source : 878486dabb87c8913fbb4c3b4002483158c467d4
2018-02-20 15:37:06 +02:00
Martin Stransky 066945c7bc Bug 1434646 - Titlebar rendering - Place titlebar buttons in GtkBox, r=jhorak
Some themes (Ambiance for instance) uses first-child/last-child css selectors
to style titlebar buttons. Ubuntu Ambiance theme places titlebar buttons closer
by negative margin applied to them.

We put titlebar buttons to GtkBox as well as Gtk+ does and also keep
the button order here to match first-child/last-child selectors. It also means
we must have maximize/restore as one button to keep the correct order.

MozReview-Commit-ID: 9mqljOa4Vu7

--HG--
extra : rebase_source : 9c31a2073d1bb247ce9d0240333143661b8ae4b8
2018-02-23 21:28:37 +01:00
Narcis Beleuzu 1d1a8b086b Backed out changeset 9d1f52cabe41 (bug 1440461) for build bustages on nsWindow.cpp 2018-03-01 05:32:33 +02:00
Martin Stransky b75128438f Bug 1440461 - Disable titlebar rendering for Linux/Firefox 59, r=glandium
The titlebar rendering on Linux/Gtk+ is recently enabled at Beta59 but with many bugs fixed at Nightly.
Let's disable this feature for Beta / Release 59 and ship it at Firefox 60 where majority of the issues are fixed.

MozReview-Commit-ID: FQL7tNhcvUG

--HG--
extra : rebase_source : 03a495ebc81b5ae5b4093406bd40daf83251343a
2018-02-22 21:56:58 +01:00
Masayuki Nakano 01d9c81bcf Bug 1440189 - part 2: Make test_assign_event_data.html aware of strict keypress event dispatching mode r=smaug
This a remaining issue of bug 1435180. We need to skip keypress event check of
non-printable key operation in the test.

MozReview-Commit-ID: InobZCbrzWL

--HG--
extra : rebase_source : 9f17cd04500f4ef31c3674087188ec6ee157173b
2018-02-26 18:30:29 +09:00
Masayuki Nakano 38c9ff1b63 Bug 1440189 - part 1: Stop dispatching keypress event to the default event group in web content (only Nightly and early Beta) 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 and early Beta.

MozReview-Commit-ID: 5IIL9huejXH

--HG--
extra : rebase_source : 0abdbe84a50d6fd1b4d52521b92e7513483b197c
2018-01-26 00:16:14 +09:00
Dorel Luca 187eb592e5 Backed out changeset 45ae173a1348 (bug 1418749) for widget leaks on Mochitests 2018-03-02 02:50:08 +02:00
Michael Webster 452cd29c88 Bug 1418749 - widget/gtk: Add a TaskbarProgress implementation for gtk3/x11. r=karlt
https://bugzilla.mozilla.org/show_bug.cgi?id=1418749

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 : 92cbe495ce097b080a9f94ec5312169da9a8648d
2018-02-26 16:40:00 +02:00
Emilio Cobos Álvarez 2988d4e66d Bug 1442207: Remove unneeded arguments to nsIMutationObserver. r=smaug
aDocument is always content->OwnerDoc().
aContainer is always content->GetParent().

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

MozReview-Commit-ID: 4xwPCOnhyIL
2018-03-01 22:45:17 +01:00
Geoff Brown 9af214a4a5 Bug 1441869 - Specify DIGCF_DEVICEINTERFACE when calling SetupDiGetClassDevsW; r=milan 2018-02-28 11:49:09 -07:00
Florian Quèze 6df7549a3e Bug 1433175 - semi-automated indent fix, r=Mossop. 2018-02-28 18:51:34 +01:00
Florian Quèze c714053d73 Bug 1433175 - scripted patch to replace Components.classes[, Components.interfaces.nsI, Components.utils. and Components.results. with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:33 +01:00
Sebastian Hengst 769222fadf merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : browser/base/content/tabbrowser.xml => browser/base/content/tabbrowser.js
2018-02-28 12:54:12 +02:00
Bob Owen 76be893aa3 Bug 1396984: When not generally processing native events, do single message pumps instead. r=jimm
We still get occasional messages for the internal OLE Main Thread window.
Also, the PeekMessage call allows internal windows messages to be processed for
things like GDI.
2018-02-14 19:18:47 +00:00
Martin Stransky 6e94e535b0 Bug 1433092 - Add spacing around titlebar buttons, r=jhorak
GtkHeaderBar has property "spacing" which defines space between buttons at titlebar.
Get this property and apply as margin to titlebar buttons when there's more than one.
Also cache this value for furter use at titlebar metrics cache.

MozReview-Commit-ID: J7qAIWEnK4Y

--HG--
extra : rebase_source : 73f0f605444cf4e4ada3da335ff003e9df05c9c4
2018-02-23 10:37:07 +01:00
Jan Horak 2fec7aac11 Bug 1440413 - Use original mouse event position when checking for doubleclick on titlebar; r=stransky
The DispatchEvent can manipulate with the mRefPoint we're later using to check if the
double click happened on the titlebar. We need to save it for later check to avoid
unwanted restore/maximize event when mouse event occurs near top border of any widget.

Also don't handle doubleclick on titlebar when CSD is not enabled.

MozReview-Commit-ID: KjxM1EsT4Lg

--HG--
extra : rebase_source : b880e4d89ebe3546b7ef70e3d94926a628f98598
2018-02-26 16:23:34 +01:00
Emilio Cobos Álvarez 9f26540cc4 Bug 1441547: Make character data change notifications use a const reference for the info parameter. r=smaug
It's not intended to be mutated.

MozReview-Commit-ID: 5nkD1YkidlV

--HG--
extra : rebase_source : 810d429208fa3eaf30e220e77a7d27107cb77346
2018-02-27 15:30:27 +01:00
Tiberius Oros ba173eb9ee Merge inbound to mozilla-central. a=merge 2018-02-27 00:19:49 +02:00
Narcis Beleuzu 5968b0947f Backed out 10 changesets (bug 1410456) for Android mochitest crashes, e.g. in test_postMessages.html. CLOSED TREE
Backed out changeset 7ec175446efd (bug 1410456)
Backed out changeset 94457911bb24 (bug 1410456)
Backed out changeset 5248a21216ae (bug 1410456)
Backed out changeset f182ab7885db (bug 1410456)
Backed out changeset e482347bdae3 (bug 1410456)
Backed out changeset f7b646045e06 (bug 1410456)
Backed out changeset 6a8ed4bf5d2f (bug 1410456)
Backed out changeset 1a9c687ec277 (bug 1410456)
Backed out changeset 82f6667c6758 (bug 1410456)
Backed out changeset 7bf358e3e01b (bug 1410456)
2018-02-26 15:58:20 +02:00
Eugen Sawin 1561bd419e Bug 1410456 - Allow OMT access to Android system audio properties. r=esawin
MozReview-Commit-ID: 4YkiuzNkNu5

--HG--
extra : rebase_source : 878486dabb87c8913fbb4c3b4002483158c467d4
2018-02-20 15:37:06 +02:00
Jan Horak b69949883c Bug 1441108 - Don't print warning for less than 1 scaling factor; r=stransky
A lot of "WARNING: Invalid monitor scale: -1" appering for the puppet widget since
fix for bug 1439881 landed. We don't need to print the warning, fallback to 1 is
sufficient enough.

MozReview-Commit-ID: 73BGc8neUmu

--HG--
extra : rebase_source : 74b2a818a29514095b5c56b05966cff5e4e9ba60
2018-02-26 11:44:25 +01:00
Mike Conley a7df06446a Bug 1434376 - Introduce ChromeOnly window.promiseDocumentFlushed to detect when refresh driver ticks have completed. r=bz
This is particularly useful for knowing when it's safe to query for style and
layout information for a window without causing a synchronous style or layout
flush.

Note that promiseDocumentFlushed was chosen over promiseDidRefresh or promiseRefreshed
to avoid potential confusion with the actual network-level refresh of browsers or
documents.

MozReview-Commit-ID: Am3G9yvSgdN

--HG--
extra : rebase_source : 20bdd2d6f624767d919d95a6601fc1c890aadf10
2018-02-11 20:14:49 -05:00
Andreea Pavel 1aac7df383 Backed out 3 changesets (bug 1434376)for failing browser chrome at browser/base/content/test/performance/browser_urlbar_search_reflows.js on a CLOSED TREE
Backed out changeset b636251b75ab (bug 1434376)
Backed out changeset fccbba9cb959 (bug 1434376)
Backed out changeset b5128504011c (bug 1434376)
2018-02-25 12:44:28 +02:00
Emilio Cobos Álvarez 3eb90874c6 Bug 1432490: followup: Fix mac-only bustage on a CLOSED TREE. r=me
MozReview-Commit-ID: TNquyPQhkL
2018-02-25 02:44:18 +01:00
Mike Conley 24b3c1ade3 Bug 1434376 - Introduce ChromeOnly window.promiseDocumentFlushed to detect when refresh driver ticks have completed. r=bz
This is particularly useful for knowing when it's safe to query for style and
layout information for a window without causing a synchronous style or layout
flush.

Note that promiseDocumentFlushed was chosen over promiseDidRefresh or promiseRefreshed
to avoid potential confusion with the actual network-level refresh of browsers or
documents.

MozReview-Commit-ID: Am3G9yvSgdN

--HG--
extra : rebase_source : 20bdd2d6f624767d919d95a6601fc1c890aadf10
2018-02-11 20:14:49 -05:00
Chris Peterson 203d98bd72 Bug 1330529 - Part 1: Fix PDFium gtest by using absolute path to PDFium DLL. r=jimm
This gtest assumed the current working directory ($OBJDIR/_tests/gtest/) was in the DLL LoadLibrary path. That is no longer true with this bug's patches, so the gtest must specify the absolute path to the PDFium DLL to load it.

MozReview-Commit-ID: 5TXj6A9Tb9w

--HG--
extra : rebase_source : b097ae0c3430767e9ff16632ee96fd8739a902bf
extra : histedit_source : 1f13fa04c29039f8aeae05028d0a20ede5ee794b
2018-02-11 11:58:21 -08:00
Masatoshi Kimura 72e338db1d Bug 1330529 - Followup to fix incorrect file path handling in PDFiumEngineShim. r=cpeterson
--HG--
extra : source : c34487974ac5c649094428ded0f4f982ba78b3d9
2018-02-24 17:22:27 +09:00
Markus Stange e4fe809278 Bug 1170312 - Don't let the desktop background influence the vibrancy effect's backdrop for context menus. r=spohl
MozReview-Commit-ID: FKLVouZg8ac

--HG--
extra : rebase_source : 6b338186c4a3c6adf02d4311d8b172d0fb31f646
2018-02-22 23:35:33 -05:00
Jan Horak 6958445862 Bug 1439881 - Avoid returning monitor scale 0; r=stransky
Because of rounding errors there's a change that returned monitor scale
is 0. That would lead to SIGFPE because it's later used in division.

MozReview-Commit-ID: 4d7nHaBm4XG

--HG--
extra : rebase_source : d7fb5c64698d1e99afc223d401b30e0eb168fdb4
2018-02-22 13:59:38 +01:00
James Teh 0c2a975587 Bug 1382199: On Windows, prevent the System menu bar from triggering when F10 is released. r=jimm
Windows default behavior will trigger the System menu bar when F10 is released.
Among other things, this causes the System menu bar to appear when a web page overrides the contextmenu event.
We *never* want this default behavior, so eat this key (never pass it to Windows).

MozReview-Commit-ID: 4fWOuj4mWvW

--HG--
extra : rebase_source : 45d38ba19b2f23aca74a60819c7d93af2ffa167d
2018-02-16 12:08:58 +10:00
James Teh cf9f78f407 Bug 1440527: Remove unused sNtTestAlert from widget/windows/WinUtils.cpp. r=jimm
MozReview-Commit-ID: 3v71m0UdF3U

--HG--
extra : rebase_source : 170674b4f8285b12b687644788d9d9104e84e423
2018-02-23 10:53:18 +10:00
Masayuki Nakano 60854caf9b Bug 1440215 - TSFTextStore::FlushPendingActions() doesn't dispatch eSetSelection event r=m_kato
Although we haven't any bug reports caused by this, this is a really old bug.

When we implement TSFTextStore, we decided to use queue of dispatching
events and flush it when document lock is unlocked.  When we implement the
queue, we got this regression.

When TSFTextStore::SetText() is called with different range from current
selection range, TSFTextStore::SetSelectionInternal() add
PendingAction::SET_SELECTION into the queue first for replacing existing
text or inserting text into different position if there is no composition.
Then, TSFTextStore::InsertTextAtSelectionInternal() inserts text at the new
selection range.

When TSFTextStore::FlushPendingActions() is called after that, eSetSelection
should be dispatched and then, new text is inserted wit a set of composition
events.  However, we forgot to dispatch creating eSetSelection event.

So, this patch just dispatches the event.

MozReview-Commit-ID: Hw8FTB1R5kR

--HG--
extra : rebase_source : 8a119f1f48b167d9423fc89ce0efc722313c3732
2018-02-22 15:30:58 +09:00
Ciure Andrei 852a0c8890 Merge inbound to mozilla-central. a=merge 2018-02-22 23:55:25 +02:00