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

21150 Коммитов

Автор SHA1 Сообщение Дата
Carsten "Tomcat" Book 8b27dda5d1 merge mozilla-inbound to mozilla-central a=merge 2016-11-22 15:53:05 +01:00
David Anderson 22b001c0b6 Delay the DidComposite call in ClientLayerManager's destructor. (bug 1305829, r=mattwoodrow) 2016-11-21 20:12:55 -08:00
Jessica Jong 3f2c55024c Bug 1309587 - PreventDefault() on suppressed/delayed key events that are sent back to parent. r=smaug
--HG--
extra : rebase_source : 0762ef1284c063c9716a963bf40ff5cc82b48326
2016-11-21 06:55:00 -05:00
Ehsan Akhgari aca985efab Bug 1318805 - Move the code for the Web Painting module to layout/painting; r=mattwoodrow
This will help make it clearer that this code lives in a different
module for contributors.


--HG--
rename : layout/base/ActiveLayerTracker.cpp => layout/painting/ActiveLayerTracker.cpp
rename : layout/base/ActiveLayerTracker.h => layout/painting/ActiveLayerTracker.h
rename : layout/base/BorderCache.h => layout/painting/BorderCache.h
rename : layout/base/BorderConsts.h => layout/painting/BorderConsts.h
rename : layout/base/DashedCornerFinder.cpp => layout/painting/DashedCornerFinder.cpp
rename : layout/base/DashedCornerFinder.h => layout/painting/DashedCornerFinder.h
rename : layout/base/DisplayItemClip.cpp => layout/painting/DisplayItemClip.cpp
rename : layout/base/DisplayItemClip.h => layout/painting/DisplayItemClip.h
rename : layout/base/DisplayItemScrollClip.cpp => layout/painting/DisplayItemScrollClip.cpp
rename : layout/base/DisplayItemScrollClip.h => layout/painting/DisplayItemScrollClip.h
rename : layout/base/DisplayListClipState.cpp => layout/painting/DisplayListClipState.cpp
rename : layout/base/DisplayListClipState.h => layout/painting/DisplayListClipState.h
rename : layout/base/DottedCornerFinder.cpp => layout/painting/DottedCornerFinder.cpp
rename : layout/base/DottedCornerFinder.h => layout/painting/DottedCornerFinder.h
rename : layout/base/FrameLayerBuilder.cpp => layout/painting/FrameLayerBuilder.cpp
rename : layout/base/FrameLayerBuilder.h => layout/painting/FrameLayerBuilder.h
rename : layout/base/LayerState.h => layout/painting/LayerState.h
rename : layout/base/MaskLayerImageCache.cpp => layout/painting/MaskLayerImageCache.cpp
rename : layout/base/MaskLayerImageCache.h => layout/painting/MaskLayerImageCache.h
rename : layout/base/PaintTracker.cpp => layout/painting/PaintTracker.cpp
rename : layout/base/PaintTracker.h => layout/painting/PaintTracker.h
rename : layout/base/nsCSSRendering.cpp => layout/painting/nsCSSRendering.cpp
rename : layout/base/nsCSSRendering.h => layout/painting/nsCSSRendering.h
rename : layout/base/nsCSSRenderingBorders.cpp => layout/painting/nsCSSRenderingBorders.cpp
rename : layout/base/nsCSSRenderingBorders.h => layout/painting/nsCSSRenderingBorders.h
rename : layout/base/nsDisplayItemTypes.h => layout/painting/nsDisplayItemTypes.h
rename : layout/base/nsDisplayItemTypesList.h => layout/painting/nsDisplayItemTypesList.h
rename : layout/base/nsDisplayList.cpp => layout/painting/nsDisplayList.cpp
rename : layout/base/nsDisplayList.h => layout/painting/nsDisplayList.h
rename : layout/base/nsDisplayListInvalidation.cpp => layout/painting/nsDisplayListInvalidation.cpp
rename : layout/base/nsDisplayListInvalidation.h => layout/painting/nsDisplayListInvalidation.h
2016-11-21 20:01:15 -05:00
Jim Chen 352cf02d22 Bug 1317604 - 4. Include nsIObserver in nsAndroidBridge interfaces; r=me on CLOSED TREE
Follow-up to include nsIObserver in the list of interfaces implemented
by QueryInterface for nsAndroidBridge. This fixes a bug where QI to
nsIObserver fails when removing nsAnroidBridge observers.

--HG--
extra : amend_source : 3913b85c801940276d3ee742e479b723d5ec393d
2016-11-21 17:24:36 -05:00
George Wright 0a46071cca Bug 1297790 - Add GPU process feature status to the Telemetry environment r=dvander,gfritzsche data-review=bsmedberg 2016-11-21 15:10:11 -05:00
Karl Tomlinson 007ef6f95f bug 1315527 check root node of frame for border color if no border on the "border" subnode r=stransky+263117
Some themes do not draw the "border" subnode, but instead draw a border on the
frame root node.

MozReview-Commit-ID: Fx67mQhhYmz

--HG--
extra : rebase_source : 150168171d521df2c603541e33b10ca287b26b43
2016-11-21 18:07:48 +13:00
Karl Tomlinson 26e9c3ad6d bug 1317574 adjust menuitem padding and check/radio indicator position for changes in GTK 3.20 r=stransky+263117
MozReview-Commit-ID: DXTbezxpcqM

--HG--
extra : rebase_source : 10c19f3898baee680e856c5b86a17544a16a4fdb
2016-11-21 17:27:11 +13:00
Karl Tomlinson faebf933c8 bug 1317574 rename subtract_margin and rectangle_inset to Inset* and swap InsetByMargin parameters for consistency r=stransky+263117
MozReview-Commit-ID: 8vgsoj4TGz0

--HG--
extra : rebase_source : 93958a959af0933b8318f5ad78360270407cdabb
2016-11-21 17:16:37 +13:00
Karl Tomlinson 759a5af4c7 bug 1317574 rename radio/check menuitem and indicator as used with ClaimStyleContext r=stransky+263117
The same name is retained for moz_gtk_widget_paint(), which is now more
consistent.

MozReview-Commit-ID: 9RtW66JQVGX

--HG--
extra : rebase_source : 3067daa4e9347cf689e9dccbd7e07578b52cf59c
2016-11-18 13:01:27 +13:00
Karl Tomlinson d330e98d0d bug 1317574 use menuitem padding between menuitem and check indicator r=stransky+263117
MozReview-Commit-ID: JZSIVf8xppi

--HG--
extra : rebase_source : 645dff2f7cab024eef45f3cd6896015abd8e4a73
2016-11-15 15:57:46 +13:00
Jim Chen dd02faa8d1 Bug 1317604 - 3. Don't create EventDispatcher when JNI is not available; r=me
Follow-up to not create the global EventDispatcher in AndroidBridge when
JNI is not available.
2016-11-21 14:14:32 -05:00
Karl Tomlinson d3a1edee46 bug 1303964 draw only background and frame of separator menuitems in GTK versions > 3.20 r=stransky+263117
In GTK 3.20, gtk_menu_item_draw() just draws the root widget gadget, depending
on the theme to style menu items with CSS name "separator" appropriately.

MozReview-Commit-ID: 6AIxPzFe0Rg

--HG--
extra : rebase_source : 58a1ab4c78d94cf186e923354332ecb30aa491f8
2016-11-17 11:08:33 +13:00
Karl Tomlinson 591c93a17d bug 1287036 draw separator menuitem background and frame behind separator in menu r=stransky+263117
as does gtk_menu_item_draw().

MozReview-Commit-ID: DgYVFklmTO2

--HG--
extra : rebase_source : adfd74208e24aa6e64ae2802d0722d65d22d7ebb
2016-11-17 11:04:13 +13:00
Karl Tomlinson 1d4e286029 bug 1287036 draw menuitem background even when not in hover r=stransky+263117
MozReview-Commit-ID: tuf5WXY0d4

--HG--
extra : rebase_source : 52c9afca0b35d867ebff6657140ca4ed94db01dc
2016-07-21 12:49:31 +12:00
Haik Aftandilian 9caed1b4c8 Bug 1315121 - OS X Remote printing (print_via_parent) scaled prints don't fill page; r=mconley
Send the size from PMGetAdjustedPaperRect to the child to use as the page size.
Add an Mac implementation of GetEffectivePageSize that returns the adjusted dimensions.
Add an Mac implementation of SetPaperWidth and SetPaperHeight so that adjusted dimensions can be manually set for reftest-print.

MozReview-Commit-ID: GgTFgBzkxTy

--HG--
extra : rebase_source : 66d5b2f8216ebd28401aec9bbb78c5ad32dd666c
2016-11-17 15:29:08 -08:00
Masayuki Nakano f0bff83240 Bug 1318265 NativeKey shouldn't handle messages when mWidget has already been destroyed r=m_kato
When mWidget was already destroyed, anybody shouldn't dispatch WidgetEvent on it. Therefore, NativeKey::InitKeyEvent() has MOZ_CRASH() for detecting such dangerous bug and some users hit it.

Each message handler of NativeKey should check if mWidget has already gone.

Ideally, nsWindow shouldn't create NativeKey and try to handle the message with it. However, using NativeKey's message handlers can put some information to the log. Therefore, this patch doesn't touch nsWindow.

MozReview-Commit-ID: 4k5VfaKHPgG

--HG--
extra : rebase_source : 4269847fbdf5daa66244ce924ddc54feb5c6cd01
2016-11-17 19:02:30 +09:00
Phil Ringnalda ae361307c7 Merge m-c to autoland 2016-11-17 20:11:25 -08:00
Phil Ringnalda 61baa2aa9a Merge m-i to m-c, a=merge
MozReview-Commit-ID: A3wgReQAalj
2016-11-17 19:21:20 -08:00
Sebastian Hengst d35d1a1445 Backed out changeset 50f830bdb2c8 (bug 1315121) for failing reftest-sanity/page-width-4.1in.html on OS X 10.10 debug. r=backout on a CLOSED TREE 2016-11-17 21:53:26 +01:00
Ahmed (Gentz) El Gendy 8409f77b66 Bug 1234317 - Update mLastSizeMode when window size mode changes within Windows widget, avoids a window focus problem on Windows 10 with theme changes. r=jimm
MozReview-Commit-ID: FFpH8iZbxXK

--HG--
extra : rebase_source : 6d092566a4f20c07f2b8944c6a0e9e683dc39663
2016-10-26 16:49:11 -06:00
Wes Kocher 609b9922f7 Merge m-c to autoland, a=merge 2016-11-16 17:29:05 -08:00
Michelangelo De Simone 4b90783184 Bug 1317853 - Remove DOM/speakermanager and related code. r=jst
MozReview-Commit-ID: AHkMHalG99K

--HG--
extra : rebase_source : 7f0f47374d1208de97fad90ac9f3098dd5b2b330
2016-11-16 13:14:36 -08:00
Aaron Klotz f4b410fd2f Bug 1294903: Modify file and folder pickers to ensure that the background MTA thread is running if we're on Windows 7; r=jimm
MozReview-Commit-ID: LrbkeLMrgcS

--HG--
extra : rebase_source : 7cf20d2f10e7234cd63d692859a44faf8cdb98e9
2016-11-15 11:36:01 -07:00
Ehsan Akhgari eac76d9772 Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus
This patch removes support for mozapp iframes, leaving support for
mozbrowser iframes intact.  Some of the code has been rewritten in order
to phrase things in terms of mozbrowser only, as opposed to mozbrowser
or app.  In some places, code that was only useful with apps has been
completely removed, so that the APIs consumed can also be removed.  In
some places where the notion of appId was bleeding out of this API, now
we use NO_APP_ID.  Other notions of appId which were restricted to this
API have been removed.
2016-11-16 09:13:38 -05:00
Karl Tomlinson f1b0f33678 bug 1315668 construct menuitem style contexts from paths r=stransky+263117
instead of using the context belonging to a widget.
Only the style context is cached, instead of the whole widget.

Using the style context from a widget meant that rendering displayed the
initial appearance of animations after state changes, but there was no
invalidation to trigger the final rendering in the animations.

Style contexts constructed from paths do not incorporate animations.
(See gtk_css_path_node_update_style() in GTK.)  Therefore they provide the
appropriate rendering for Gecko's model, which is not expecting animations.

There is no mechanism available to display animations when using style
contexts constructed from paths, but the GtkWidget animation design is also
not suitable for rendering potentially multiple elements each in a different
state of their animation.

This contexts-from-paths approach can be extended also to other widget types,
but this is a smaller change intended for uplift to other branches to address
a regression in menuitem rendering.

MozReview-Commit-ID: EFV7swWQtm4

--HG--
extra : rebase_source : 689f7340007c889ce0eaeb3b4acd228d45ad0d6d
2016-11-15 17:11:14 +13:00
Karl Tomlinson 58fe36c651 bug 1315668 CreateStyleForWidget: store classes on context instead of path r=stransky+263117
CreateStyleForWidget() then provides the same behavior with
g_style_context_save() as contexts from widget root style nodes.

MozReview-Commit-ID: 6lRCp3XOoRr

--HG--
extra : rebase_source : ad161eef11e0dc70c8a487c204f109eceac3b1c4
2016-11-15 15:29:06 +13:00
Karl Tomlinson 7128eab794 bug 1315668 use style context instead of widget for menuitem dimensions r=stransky+263117
This is necessary to switch from caching GtkWidgets to caching
GtkStyleContexts only.

MozReview-Commit-ID: 6Rwinr4AY8l

--HG--
extra : rebase_source : 930a501b3ecd5f124631e3f96fd6ca7611d078ff
2016-11-15 16:11:38 +13:00
Karl Tomlinson e8416905f1 bug 1315668 remove use of gtk_container_get_border_width from menuitems r=stransky+263117
The GtkContainer border-width property defaults to zero.  It is not influenced
by theme CSS.  While theme engines can theoretically modify default values for
properties of any class, I don't think that is something that needs to be
supported.

Removing this code is necessary to switch from caching GtkWidgets to caching
GtkStyleContexts only.

MozReview-Commit-ID: IxgM8qjfK3a

--HG--
extra : rebase_source : c5c94c19227d7e7d31c4a094bb4fb68f094ddb50
2016-11-14 16:13:50 +13:00
Kan-Ru Chen f8100451db Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm
We will use the new type for the generated IPDL message handler
prototype to make sure correct error handling method is called.

MozReview-Commit-ID: AzVbApxFGZ0
2016-11-15 04:26:00 +01:00
Stone Shih 5d6aec8c60 Bug 1315862 Part1: Stop dispatching pointer events in the system group. r=masayuki,smaug
MozReview-Commit-ID: 8Xqp3bxlRFt

--HG--
extra : rebase_source : 25afbefb19e5ae613e9e493ea2f275a36004d523
2016-11-11 18:02:37 +08:00
Kilik Kuo f041399009 Bug 1307818-[P2] Setup MediaCrypto for both in-process and out-of-process decode. r=cpearce,jchen
MozReview-Commit-ID: Ehbm2u8LeLg

--HG--
extra : rebase_source : 63ddb16545e254b468e9f72f8c4ad7c957f8b29b
2016-11-16 22:10:01 +08:00
Kilik Kuo 5d9f1e5975 Bug 1307818-[P1] Provide drmStubId for CDMProxy and instantiate {Local,Remote}MediaDrmBridge. r=cpearce,jchen
MozReview-Commit-ID: EFPn4DOZq4D

--HG--
extra : rebase_source : 7f494fe6f6c6db897b50b159fcd001f3181f15cd
2016-11-16 22:09:34 +08:00
Haik Aftandilian b98f841402 Bug 1315121 - OS X Remote printing (print_via_parent) scaled prints don't fill page; r=mconley
Send the size from PMGetAdjustedPaperRect to the child to use as the page size.
Add an Mac implementation of GetEffectivePageSize that returns the adjusted dimensions.

MozReview-Commit-ID: GgTFgBzkxTy

--HG--
extra : rebase_source : 9b6e3200698a695d3ca03f3848060083b8fe4ae6
2016-11-11 16:18:15 -08:00
Masayuki Nakano a028890899 Bug 1317906 When a key press causes a call of InsertText(), it shouldn't mark keypress as consumed but instead, should mark InsertText() caused composition r=m_kato
Currently, when InsertText() which is caused by a key press causes committing composition, it consumes keypress event.  However, Korean 2-set IME calls InsertText() two times when there is composition and key press causes inserting another character next to the composition.  In this case, current design ignores second InsertText() becuase keypress event is already consumed by the first InsertText() call.

For solving this issue safely, InsertText() should mark current key event as "dispatched composition event". Then, following InsertText() calls should cause composition events instead of keypress events since following event order is too odd:

1. keydown (currently not dispatched by TextEventDisaptcher)
2. compositionupdate
3. compositionend
4. keypress
5. keyup

with the new design this becomes:

1. keydown (currently not dispatched by TextEventDispatcher)
2. compositionupdate
3. compositionend
4. compositionstart
5. compositionupdate
6. compositionend
7. keyup

This is similar to Chromium, although, Chromium includes the second InsertText() call into the first composition, we need to fix it later due to risky.

MozReview-Commit-ID: GL42cU2WIL0

--HG--
extra : rebase_source : 2063c56166f6c9ccee25a74e1d29f94daa6b159c
2016-11-17 13:35:21 +09:00
Stone Shih 6ec033ea44 Bug 1303704 Part1: [Pointer Event] Implement prevent default behavior of pointerdown. r=masayuki
MozReview-Commit-ID: AbO5cBjIwfJ

--HG--
extra : rebase_source : c11b3c0385c28665de20a8b69100ebc33e5b47de
2016-09-20 14:33:08 +08:00
Randall Barker f7e2f57d40 Bug 1314466 - part 7, Update JNI Wrappers r=nchen 2016-11-14 16:45:23 -08:00
David Anderson e48804f907 Add a usingGPUProcess property to nsIGfxInfo. (bug 1317441 part 1, r=mattwoodrow) 2016-11-14 15:02:02 -08:00
James Willcox 7a2672f6a2 Bug 1314974 - Make GeckoView on Android work again r=jchen
--HG--
rename : mobile/android/base/java/org/mozilla/gecko/ScreenManagerHelper.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/ScreenManagerHelper.java
2016-11-14 14:55:29 -06:00
David Anderson 2c5e03e62e Don't reset devices for each tab when the compositor resets. (bug 1316788, r=rhunt) 2016-11-14 11:47:01 -08:00
Jim Chen ff3982e634 Bug 1307820 - Implement per-GeckoView messaging; r=snorp r=sebastian
Bug 1307820 - 1a. Move GeckoApp EventDispatcher to GeckoView; r=snorp

Make it a GeckoView-specific EventDispatcher instead of
GeckoApp-specific, so that GeckoView consumers can benefit from a
per-view EventDispatcher. In addition, a few events like Gecko:Ready are
moved back to the global EventDispatcher because that makes more sense.

Bug 1307820 - 1b. Don't use GeckoApp EventDispatcher during inflation; r=snorp

During layout inflation, we don't yet have GeckoView and therefore the
GeckoView EventDispatcher, so we should not register events until later,
typically during onAttachedToWindow.

Bug 1307820 - 2. Introduce GeckoBundle; r=snorp

The Android Bundle class has several disadvantages when used for holding
structured data from JS.

The most obvious one is the differentiation between int and double,
which doesn't exist in JS. So when a JS number is converted to either a
Bundle int or double, we run the risk of making a wrong conversion,
resulting in a type mismatch exception when Java uses the Bundle. This
extends to number arrays from JS.

There is one more gotcha when using arrays. When we receive an empty
array from JS, there is no way for us to determine the type of the
array, because even empty arrays in Java have types. We are forced to
pick an arbitrary type like boolean[], which can easily result in a type
mismatch exception when using the array on the Java side.

In addition, Bundle is fairly cumbersome, and we cannot access the inner
structures of Bundle from Java or JNI, making it harder to use.

With these factors in mind, this patch introduces GeckoBundle as a
better choice for Gecko/Java communication. It is almost fully
API-compatible with the Android Bundle; only the Bundle array methods
are different. It resolves the numbers problem by performing conversions
if necessary, and it is a lot more lightweight than Bundle.

Bug 1307820 - 3. Convert BundleEventListener to use GeckoBundle; r=snorp

Convert BundleEventListener from using Bundle to using GeckoBundle.
Because NativeJSContainer still only supports Bundle, we do an extra
conversion when sending Bundle messages, but eventually, as we eliminate
the use of NativeJSContainer, that will go away as well.

Bug 1307820 - 4. Introduce EventDispatcher interfaces; r=snorp

Introduce several new XPCOM interfaces for the new EventDispatcher API,
these interfaces are mostly mirrored after their Java counterparts.

* nsIAndroidEventDispatcher is the main interface for
  registering/unregistering listeners and for dispatching events from
  JS/C++.

* nsIAndroidEventListener is the interface that JS/C++ clients implement
  to receive events.

* nsIAndroidEventCallback is the interface that JS/C++ clients implement
  to receive responses from dispatched events.

* nsIAndroidView is the new interface that every window receives
  that is specific to the window/GeckoView pair. It is passed to chrome
  scripts through window arguments.

Bug 1307820 - 5. Remove EventDispatcher references from gfx code; r=snorp

EventDispatcher was used for JPZC, but NPZC doesn't use it anymore.

Bug 1307820 - 6. General JNI template improvements; r=snorp

This patch includes several improvements to the JNI templates.

* Context::RawClassRef is removed to avoid misuse, as Context::ClassRef
  should be used instead.

* Fix a compile error, in certain usages, in the DisposeNative overload
  in NativeStub.

* Add Ref::IsInstanceOf and Context::IsInstanceOf to mirror the
  JNIEnv::IsInstanceOf call.

* Add Ref::operator* and Context::operator* to provide an easy way to
  get a Context object.

* Add built-in declarations for boxed Java objects (e.g. Boolean,
  Integer, etc).

* Add ObjectArray::New for creating new object arrays of specific types.

* Add lvalue qualifiers to LocalRef::operator= and GlobalRef::operator=,
  to prevent accidentally assigning to rvalues. (e.g.
  `objectArray->GetElement(0) = newObject;`, which won't work as intended.)

Bug 1307820 - 7. Support ownership through RefPtr for native JNI objects; r=snorp

In addition to direct ownership and weak pointer ownership, add a third
ownership model where a native JNI object owns a RefPtr that holds a
strong reference to the actual C++ object. This ownership model works
well with ref-counted objects such as XPCOM objects, and is activated
through the presence of public members AddRef() and Release() in the C++
object.

Bug 1307820 - 8. Implement Gecko-side EventDispatcher; r=snorp

Add a skeletal implementation of EventDispatcher on the Gecko side.
Each widget::EventDispatcher will be associated with a Java
EventDispatcher, so events can be dispatched from Gecko to Java and vice
versa. AndroidBridge and nsWindow will implement
nsIAndroidEventDispatcher through widget::EventDispatcher.

Other patches will add more complete functionality such as
GeckoBundle/JSObject translation and support for callbacks.

Bug 1307820 - 9. Implement dispatching between Gecko/Java; r=snorp

Implement translation between JSObject and GeckoBundle, and use that for
dispatching events from Gecko to Java and vice versa.

Bug 1307820 - 10. Implement callback support; r=snorp

Implement callback support for both Gecko-to-Java events and
Java-to-Gecko events.

For Gecko-to-Java, we translate nsIAndroidEventCallback to a Java
EventCallback through NativeCallbackDelegate and pass it to the Java
listener.

For Java-to-Gecko, we translate EventCallback to a
nsIAndroidEventCallback through JavaCallbackDelegate and pass it to the
Gecko listener.  There is another JavaCallbackDelegate on the Java side
that redirects the callback to a particular thread. For example, if the
event was dispatched from the UI thread, we make sure the callback
happens on the UI thread as well.

Bug 1307820 - 11. Add BundleEventListener support for Gecko thread; r=snorp

Add support for BundleEventListener on the Gecko thread, so that we can
use it to replace any existing GeckoEventListener or NativeEventListener
implementations that require the listener be run synchronously on the
Gecko thread.

Bug 1307820 - 12. Add global EventDispatcher in AndroidBridge; r=snorp

Add an instance of EventDispatcher to AndroidBridge to act as a global
event dispatcher.

Bug 1307820 - 13. Add per-nsWindow EventDispatcher; r=snorp

Add an instance of EventDispatcher to each nsWindow through an
AndroidView object, which implements nsIAndroidView. The nsIAndroidView
is passed to the chrome script through the window argument when opening
the window.

Bug 1307820 - 14. Update auto-generated bindings; r=me

Bug 1307820 - 15. Update testEventDispatcher; r=snorp

Update testEventDispatcher to include new functionalities in
EventDisptcher.

* Add tests for dispatching events to UI/background thread through
  nsIAndroidEventDispatcher::dispatch.

* Add tests for dispatching events to UI/background thread through
  EventDispatcher.dispatch.

* Add tests for dispatching events to Gecko thread through
  EventDispatcher.dispatch.

Each kind of test exercises both the global EventDispatcher through
EventDispatcher.getInstance() and the per-GeckoView EventDispatcher
through GeckoApp.getEventDispatcher().
2016-11-14 21:29:50 +08:00
Wes Kocher cee41d5b80 Merge inbound to central, a=merge 2016-11-11 13:56:45 -08:00
Carsten "Tomcat" Book cc5d30c616 Merge mozilla-central to mozilla-inbound
--HG--
extra : rebase_source : 658b3ffdfa71afff2d44129f50e50e2fbecbd06e
2016-11-11 16:43:07 +01:00
Haik Aftandilian eec30b1b54 Bug 1303051 - Printing Issue: Page Setup not being respected since upgrade to 48.01 on Mac; r=mconley
Adds serialization of native print settings values so
that correct page size, scaling, orientation are sent
to the child after the print dialog is displayed.

Changes the Mac print dialog code to load native
print settings from the "print.macosx.pagesetup-2"
pref and ignore what is passed in.

Overwrites the scaling percentage specified in
the print dialog when "Ignore Scaling and Shrink to
Fit Page Width" is checked.

Scaling on Nightly (remote printing) needs more work
to be done in a follow up bug.

MozReview-Commit-ID: B12ZeHuiYFJ

--HG--
extra : rebase_source : baa2a5865b29db8914fca1242af59674f9630c8e
2016-11-09 17:37:40 -08:00
Masayuki Nakano 99651541fb Bug 791300 KeyboardLayout should respect following WM_(SYS)DEADCHAR messages for supporting chained dead keys r=m_kato
Currently, KeyboardLayout doesn't support chained dead keys because probably, the initial developer didn't expect there are such keyboard layout.  Additionally, if we'd try to handle them with KeyboardLayout, it'd need to create too big and too complicated table at loading such keyboard layout.  It's really nightmare.  Therefore, this patch takes different approach.

Currently, when WM_(SYS)KEYDOWN is received, KeyboardLayout (and NativeKey) respects following WM_(SYS)CHAR.  Similarly, this patch makes KeyboardLayout respect WM_(SYS)DEADCHAR when it handles dead key.  If WM_(SYS)KEYDOWN is followed by WM_DEADCHAR, that means that the key press is in a dead key sequence and not finishing the existing dead key sequence.  Therefore, when WM_(SYS)KEYDOWN is followed by WM_(SYS)DEADCHAR, KeyboardLayout activates dead key sequence.

For supporting dead key chain, this patch makes KeyboardLayout::mActiveDeadKey and KeyboardLayout::mDeadKeyShiftState arrays.  When dead keydown message is received, KeyboardLayout appends an item to each of them.  (I.e., when the array is not empty, it's in a dead key sequence.)

When WM_(SYS)KEYUP is received, KeyboardLayout checks if it's in mActiveDeadKey.  If it's included in the array, it initializes NativeKey as a dead keyup event.

Otherwise, when non-printable key (probably) is received in a dead key sequence, KeyboardLayout doesn't handle it as a part of the dead key sequence.  For example, a modifier key may be pressed for next key.  (Even if the keyboard layout maps text input to a non-printable key, we can ignore them because such key's KeyboardEvent.key value should be decided only with the virtual keyboard.)

MozReview-Commit-ID: 9n8B0YYuKCO

--HG--
extra : rebase_source : d18ca896829274d35cc8b7744c5e1645a9e78784
2016-11-10 23:24:33 +09:00
Jan Horak cf2b65692c Bug 1308936 - Draw tooltips correctly r=karlt
Tooltip widget is made in GTK3 as following tree:
* Tooltip window
 * Horizontal Box
   * Icon (not supported by Firefox)
   * Label
Each element can be fully styled by CSS of GTK theme so we have to draw all
elements with appropriate offset and full box model.

MozReview-Commit-ID: E9yYd5UWBu4

--HG--
extra : amend_source : 99539e914e8d3fa07f6bed8a315e40c7d593f277
2016-11-11 11:31:29 +13:00
Carsten "Tomcat" Book 4b6cab91f9 merge mozilla-inbound to mozilla-central a=merge 2016-11-10 16:59:38 +01:00
David Anderson 3ffb31894f Don't access gfxPlatform from WinCompositorWidget. (bug 1316481, r=mattwoodrow) 2016-11-09 20:49:09 -08:00
Petr Sumbera 433839eccf Bug 1314904 - uname() on success can return non-negative value (not just 0). r=bsmedberg 2016-11-03 03:23:46 -07:00
Jonathan Watt 07c5338755 Bug 1313525 - Remove the nsIPrintOptions interface. r=mstange
--HG--
rename : widget/nsIPrintOptions.idl => widget/nsIPrinterEnumerator.idl
2016-10-28 00:31:14 +01:00