Commit Graph

1829 Commits

Author SHA1 Message Date
Sebastian Hengst
cfea98eabf merge mozilla-central to autoland. r=merge a=merge 2017-04-15 20:08:03 +02:00
Markus Stange
10503b8ef0 Bug 1313977 - Don't round fractional mouse coordinates up, because doing so might push them outside the window. r=kats
On my machine, if I have my mouse cursor positioned flush against the right
edge of my screen (which is 1440x900@2x), locationInWindow has an x coordinate
of 1439.99609375. This value was rounded up to an integer screen coordinate of
2880, and for that coordinate we don't find a target APZC, and consequently
refuse to scroll.

MozReview-Commit-ID: CJic4g3Y6Ag

--HG--
extra : rebase_source : 6e2405e9370046b5359d3800c1d0f70c3059074e
2017-04-15 11:02:09 -04:00
Markus Stange
7463009e1d Bug 1348424 - Drop the window's reference to mColor before releasing it. r=spohl, a=dveditz
MozReview-Commit-ID: LwRZwLpFUtD

--HG--
extra : rebase_source : 4efacd0e82cdcca5a1ec6d459a91dc58cb424d20
extra : histedit_source : b52922153beb627f498ba46ecc7504e011760bc1
2017-04-07 18:07:50 -04:00
Sebastian Hengst
d8496d0a1f merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: EjT9dcum69m
2017-04-14 23:56:10 +02:00
Joel Maher
99137683e9 Bug 1355089 - add BUG_COMPONENT to widget/* files. r=mstange,jimm
MozReview-Commit-ID: 49Ug2HTqHnf
2017-04-14 05:54:36 -04:00
Masatoshi Kimura
7e1158fd16 Bug 1356023 - Remove nsIScreenManager.systemDefaultScale. r=jfkthame
MozReview-Commit-ID: 6Ha8XrJBSiU

--HG--
extra : rebase_source : a83a64acf01dc9d1a0593c0ddbff76f74809a79b
2017-04-13 07:20:35 +09:00
Markus Stange
b2a8c14305 Bug 1348424 - Grab a reference to the window when swapping out its background color. r=spohl, a=dveditz
MozReview-Commit-ID: HS1AYyxfMWS

--HG--
extra : rebase_source : cad2cfae25d746a240d9c98cc61fc824f60d2e0e
2017-03-23 14:29:51 -04:00
Markus Stange
c39ae07ad1 Bug 1354715 - Restore the right background color. r=spohl
MozReview-Commit-ID: K7SF3rNPWUT

--HG--
extra : rebase_source : 5eb41ffdb2c115ccb29f73fd94a25a359d66346e
2017-04-07 18:05:24 -04:00
Masayuki Nakano
61ce5526c6 Bug 1296220 Rename nsIMEUpdatePreference to mozilla::widget::IMEUpdatePreference r=m_kato
MozReview-Commit-ID: 2rIXTlwA6my

--HG--
extra : rebase_source : a51be3edd717092738c2b5e8ccc4f60540712bfd
2017-04-11 21:24:55 +09:00
Kartikaya Gupta
035b0aa65f Bug 1354924 - Fix mousewheel multiplier prefs for external mouse devices on OS X. r=botond
The code in the OS X widget was calling ReceiveInputEvent on IAPZCTreeManager
with a ScrollWheelInput, which would bypass the multiplier code. This modifies
the widget to use a WidgetWheelEvent instead, so that it goes through the
IAPZCTreeManager multiplier handling for wheel inputs. Other platforms already
send wheel events in WidgetWheelEvent format so they don't have this problem.

MozReview-Commit-ID: 5gOOGnfD87W

--HG--
extra : rebase_source : f13c6e13a89ce450fa4f287eb30f054fe3fc326a
2017-04-11 09:39:06 -04:00
Gaith
aaaabee676 Bug 1219464 - Replace PRLogModuleInfo usage with LazyLogModule in widget/. r=erahm
MozReview-Commit-ID: Ge7I8YlNqgM
2016-05-18 22:55:42 +03:00
Kan-Ru Chen
dbb51ca5fc Bug 1194751 - Part 8. Implement ScreenHelperCocoa and delete old nsScreenManagerCocoa/nsScreenCocoa. r=mstange
ScreenHelperCocoa is the platform dependent part of the original
nsScreenManagerCocoa and nsScreenCocoa. It registers
NSApplicationDidChangeScreenParametersNotification and pushes updates
to ScreenManager. See patch part 4. for how ScreenManager works.

MozReview-Commit-ID: 1A5ha4Ys2dL

--HG--
rename : widget/cocoa/nsScreenManagerCocoa.h => widget/cocoa/ScreenHelperCocoa.h
rename : widget/cocoa/nsScreenManagerCocoa.mm => widget/cocoa/ScreenHelperCocoa.mm
extra : rebase_source : c7737e18656710c36f6c04ac71a17deeca3224a5
2017-03-09 19:34:49 +08:00
Kan-Ru Chen
8ba424eabb Bug 1194751 - Part 6. Use mozilla::widget::ScreenManager in content process. r=mconley
This is the most important part of the patch series. It removes the
PScreenManager protocol and use ScreenManager directly in the content
processes.

Initial and subsequent updates are sent via PContent::RefreshScreens.
struct ScreenDetails are kept to serialize Screen over IPC.

nsIScreenManager::ScreenForNativeWidget is removed because
nsIWidget::GetWidgetScreen can replace it. nsIScreen::GetId is removed
because it's not useful for the more general Screen class.

MozReview-Commit-ID: 5dJO3isgBuQ

--HG--
extra : rebase_source : 06aa4e4fd56e2b2af1e7483aee7c0cc7f35bdb97
2017-03-09 19:30:26 +08:00
Kan-Ru Chen
841c421ce8 Bug 1194751 - Part 1. Remove nsIScreenManager::GetNumberOfScreens. r=jimm
It's not used anywhere. Remove it will make removing PScreenManager
easier.

MozReview-Commit-ID: 5dn8kDhTZVl

--HG--
extra : rebase_source : 96b8ddb18deee94ca256bfa118b60ceacfd2d677
2017-03-09 19:16:24 +08:00
Mats Palmgren
2feec4025d Bug 1333482 part 5 - [css-ui] Enable '-moz-appearance' support for some tests. r=dholbert
* * *
[mq]: sssssssss

MozReview-Commit-ID: 4wgnjld1rDt
2017-03-23 22:11:23 -07:00
Mats Palmgren
79cff05243 Bug 1333482 part 2 - [css-ui] Change all consumers of StyleDisplay::mAppearance to use the accessor UsedAppearance() instead, and make mAppearance/mMozAppearance private. r=dholbert
MozReview-Commit-ID: 8JwLsY1CLDJ
2017-03-23 22:11:18 -07:00
Masayuki Nakano
87d8470a52 Bug 1347073 Get rid of UIEvent.isChar since it's not initialized properly on most platforms and the other browsers don't support this r=smaug
UIEvent.isChar is not supported by the other browsers and the value isn't initialized any platforms except on macOS. So, the value isn't useful and we have no reason to keep it.

MozReview-Commit-ID: 4BLpo88gSZj

--HG--
extra : rebase_source : ca950f8cb618a0cadc99ba4c80b5a8df94a20f27
2017-03-14 18:29:39 +09:00
Stone Shih
229b4ba331 Bug 606885 - Fire drag events with keyboard modifiers. r=enn
--HG--
extra : rebase_source : c6e4ac37ea2397d86368cb59b0a68aa3a9f43d79
2017-02-17 11:29:42 +08:00
Jim Chen
53a1107cd1 Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin
Bug 1343075 - 1a. Add TextEventDispatcherListener::GetIMEUpdatePreference; r=masayuki

Add a GetIMEUpdatePreference method to TextEventDispatcherListener to
optionally control which IME notifications are received by NotifyIME.
This patch also makes nsBaseWidget forward its GetIMEUpdatePreference
call to the widget's native TextEventDispatcherListener.

Bug 1343075 - 1b. Implement GetIMEUpdatePreference for all TextEventDispatcherListener; r=masayuki

This patch implements GetIMEUpdatePreference for all
TextEventDispatcherListener implementations, by moving previous
implementations of nsIWidget::GetIMEUpdatePreference.

Bug 1343075 - 2. Allow setting a PuppetWidget's native TextEventDispatcherListener; r=masayuki

In PuppetWidget, add getter and setter for the widget's native
TextEventDispatcherListener. This allows overriding of PuppetWidget's
default IME handling. For example, on Android, the PuppetWidget's native
TextEventDispatcherListener will communicate directly with Java IME code
in the main process.

Bug 1343075 - 3. Add AIDL interface for main process; r=rbarker

Add AIDL definition and implementation for an interface for the main
process that child processes can access.

Bug 1343075 - 4. Set Gecko thread JNIEnv for child process; r=snorp

Add a JNIEnv* parameter to XRE_SetAndroidChildFds, which is used to set
the Gecko thread JNIEnv for child processes. XRE_SetAndroidChildFds is
the only Android-specific entry point for child processes, so I think
it's the most logical place to initialize JNI.

Bug 1343075 - 5. Support multiple remote GeckoEditableChild; r=esawin

Support remote GeckoEditableChild instances that are created in the
content processes and connect to the parent process GeckoEditableParent
through binders.

Support having multiple GeckoEditableChild instances in GeckoEditable by
keeping track of which child is currently focused, and only allow
calls to/from the focused child by using access tokens.

Bug 1343075 - 6. Add method to get GeckoEditableParent instance; r=esawin

Add IProcessManager.getEditableParent, which a content process can call
to get the GeckoEditableParent instance that corresponds to a given
content process tab, from the main process.

Bug 1343075 - 7. Support GeckoEditableSupport in content processes; r=esawin

Support creating and running GeckoEditableSupport attached to a
PuppetWidget in content processes.

Because we don't know PuppetWidget's lifetime as well as nsWindow's,
when attached to PuppetWidget, we need to attach/detach our native
object on focus/blur, respectively.

Bug 1343075 - 8. Connect GeckoEditableSupport on PuppetWidget creation; r=esawin

Listen to the "tab-child-created" notification and attach our content
process GeckoEditableSupport to the new PuppetWidget.

Bug 1343075 - 9. Update auto-generated bindings; r=me
2017-03-07 22:34:39 -05:00
Masayuki Nakano
944a1927bb Bug 1342865 When Control key is pressed and InsertText() isn't called on macOS, its KeyboardEvent.key value should be characters which are inputted by the key without Control key state r=m_kato
Because of conforming to UI Events KeyboardEvent key Values, when some modifier keys cause not inputting character, the KeyboardEvent.key value should be computed with removing all modifier state except glyph modifier keys.

When Control key is pressed, Cocoa fires odd key events typically.  For example, characters isn't computed with same logic of UI Events KeyboardEvent key Values especially when Option key is pressed (see adding testcases for the detail).

Therefore, this patch makes TISInputSourceWrapper::InitKeyEvent() ignore both characters and charactersIgnoringModifiers at computing KeyboardEvent.key value when Control key is pressed and InsertText() isn't called.

On the other hand, this patch does NOT touch the path to compute KeyboardEvent.key when Command key is pressed.  It should be changed in different bug because Command key behavior isn't so simple.

MozReview-Commit-ID: dMHgUEOnQw

--HG--
extra : rebase_source : 7a67c98d2bf6ca38c7e6ae9dcbad01020d9cea31
2017-03-01 10:58:55 +09:00
Carsten "Tomcat" Book
3b3f4c17a2 merge mozilla-inbound to mozilla-central a=merge 2017-03-01 11:40:59 +01:00
Masayuki Nakano
f00486c493 Bug 1263302 Swap kVK_ISO_Section and kVK_ANSI_Grave key code values of ISO keyboard at computing KeyboardEvent.code value because macOS sends them as swapped r=m_kato
macOS oddly sends kVK_ISO_Section instead of kVK_ANSI_Grave when user types left key of Key1 only when the connected keyboard is ISO keyboard. On the other hand, macOS sends kVK_ANSI_Grave instead of kVK_ISO_Section when user types left key of KeyZ only when the connected keyboard is ISO keyboard.  So, macOS swapps their key code values only when ISO keyboard is connected.

So, we should treat them as swapped when we compute KeyboardEvent.code value since Chromium treates them as swapped only when computing KeyboardEvent.code value too.

MozReview-Commit-ID: BYeFedydyR5

--HG--
extra : rebase_source : c3bf2a9fefe0e3e98a1955e829243f8fd7d1041a
2017-02-27 18:04:30 +09:00
Geoff Brown
1c96928106 Bug 1300017 - Skip crashtest 373122-1.html except on osx, for intermittent leaks; r=jmaher 2017-02-28 08:13:11 -07:00
stefanh@inbox.com
4db4fecd9e Bug 1321321 - Ensure that we always save files with the given extension / Work-around NSSavePanel limitations when saving files with multiple extensions. r=mstange. 2017-02-25 00:34:46 +01:00
Masayuki Nakano
96d0076840 Bug 1341960 TextInputHandler shouldn't ignore InsertText() calls even if TextInputHandler has already dispatched keypress events and/or composition events for the key down but InsertText() is called again for inserting printable text r=m_kato
Korean IME and some other simple IME may not use marked text at composing text.  Such IME modifies composing character with InsertText() with aReplacementRange.  Then, when
 user types new character, such IME may replace the previous character with a call of InsertText() with aReplacementRange and insert the next character with additional call of InsertText() without aReplacementRange.

In this case, InsertText() ignores the call when the native keydown event is already caused composition events.  However, we need to allow to dispatch keypress event for supporting to insert text even in such case.

This patch checks if inserting text is printable.  If it's not a printable character such as U+000A at pressing Enter, keeping current behavior.  Otherwise, dispatching keypress event instead.

MozReview-Commit-ID: 5NcCgXfvniO

--HG--
extra : rebase_source : f05db8655d623880cb658cef144d1e9fcdce8a2a
2017-02-23 11:45:13 +09:00
Boris Zbarsky
96054e12cc Bug 1324661 part 1. When recreating style contexts for elements in stylo, use the right frame (not the primary frame!) for tables. r=bholley,emilio
For a table, the primary frame is the table wrapper anonymous box.  That
anonymous box inherits style from its _child_ table frame, which is the frame that
has the actual style for the element.  So we want to use the stylo-computed
style for the table frame, and then compute an updated style for the table
wrapper too, because some things (like absolute positioning) are done for the
table wrapper anonymous box, not the table frame.
2017-02-17 14:52:39 -05:00
Markus Stange
dacb64b847 Bug 1338870 - Don't call [super respondsToSelector:] because it doesn't do what you might think. r=spohl
From https://developer.apple.com/reference/objectivec/1418956-nsobject/1418583-respondstoselector :

> You cannot test whether an object inherits a method from its superclass by
> sending respondsToSelector: to the object using the super keyword. This method
> will still be testing the object as a whole, not just the superclass’s
> implementation. Therefore, sending respondsToSelector: to super is equivalent
> to sending it to self. Instead, you must invoke the NSObject class method
> instancesRespondToSelector: directly on the object’s superclass.

MozReview-Commit-ID: 8wTexCQWUPw

--HG--
extra : rebase_source : f392bfe75c0a5c270b12b0f4ea2abdc6f737d5c2
2017-02-17 13:21:21 -05:00
Tom Tromey
5f8f360823 Bug 1060419 - make log_print use Printf.h, r=froydnj
MozReview-Commit-ID: BIZ1GQEZ1vs

--HG--
extra : rebase_source : 2f1f0aa12493c44f352d9a7e8683e7bb72d2d75b
2016-12-15 20:16:31 -07:00
Stephen A Pohl
580d0db25f Bug 1329997: Ensure that we don't initiate drag sessions if the system has already sent a mouseUp event. This prevents getting stuck in drag sessions. r=mstange 2017-02-15 18:46:02 -05:00
David Major
1da078f101 Bug 1338925: Enable warnings-as-errors in widget/cocoa/. r=mstange
MozReview-Commit-ID: HA7rItqciB2

--HG--
extra : rebase_source : c5dad547255c65558bda692b3de9a7719b5b1716
2017-02-14 10:28:49 +13:00
David Major
ac3ec55cdb Bug 1338925: Declare viewDidChangeBackingProperties on NSView. r=mstange
MozReview-Commit-ID: BbIuzPTP3Y8

--HG--
extra : rebase_source : 1715403d70b43daadfc7e3f8e95101fddeadaa64
2017-02-14 10:28:28 +13:00
David Major
15d837457d Bug 1338925: Move debug-only variables to ifdef DEBUG. r=mstange
MozReview-Commit-ID: 5XDjeLOvwkN

--HG--
extra : rebase_source : d392dddfb9d30465efff9962773a5e174e0144bf
2017-02-14 10:25:30 +13:00
David Major
d776465025 Bug 1338925: Use the correct exception macro in nsDragService::IsValidType. r=mstange
MozReview-Commit-ID: A0sld4ll0fy

--HG--
extra : rebase_source : 8bd4f7784f9434ba168c3394cfd7610cb0f6c2fb
2017-02-14 10:23:56 +13:00
Kartikaya Gupta
96c394d70c Merge m-c to graphics
MozReview-Commit-ID: AXRXwXgkOTv
2017-02-10 13:57:53 -05:00
Carsten "Tomcat" Book
3ed98bee2a merge mozilla-inbound to mozilla-central a=merge 2017-02-10 13:49:56 +01:00
Ryan Hunt
963025a5dd Merge m-c to graphics 2017-02-08 10:57:06 -06:00
Masayuki Nakano
6cf6789c7b Bug 1334594 Call NSTextInputClient's insertText:replacementRange: instead of NSTextInput's insertText: from IMEInputHandler::SendCommittedText() r=m_kato
Bug 1180564 dropped NSTextInput protocl implementation from ChildView but IMEInputHandler::SendCommittedText() still calls it via mView.  Therefore, it fails to commit composition in widget level.  Instead, we it should call insertText:replacementRange: of NSTextInputClient protocol.

Additionally, this patch adds a last resort path. If calling insertText:replacementRange: didn't commit composition in widget level, it calls TextInputHandler::InsertText() directly.

MozReview-Commit-ID: BZZypBqC0Mx

--HG--
extra : rebase_source : bef5612a933db3211400e9d8bd2848690de2d2e5
2017-02-07 19:03:14 +09:00
Kartikaya Gupta
6580d884b2 Merge m-c to graphics
MozReview-Commit-ID: uU8MPphFqj
2017-02-02 13:38:51 -05:00
Masayuki Nakano
5442d350f3 Bug 1337739 Create an enum eKeyLocation* for avoiding to use nsIDOMKeyEvent::DOM_KEY_LOCATION_* r=smaug
Currently, we use alias NS_VK_* for WidgetKeyboardEvent::mKeyCode.  Similarly, we should create alias enum for nsIDOMKeyEvent::DOM_KEY_LOCATION_*.  Then, we can reduce the length and avoid to include nsIDOMKeyEvent in some cpp files.

MozReview-Commit-ID: 5cs4zQ061Lc

--HG--
extra : rebase_source : e6a6edd27718b9e3d4a40b07902d029791876999
2017-02-08 21:04:22 +09:00
Cameron McCormack
90e83367ae Bug 1334768 - stylo: Test expectation adjustments for for 2017-02-09 merge. r=me
MozReview-Commit-ID: AhvCAu3NYrb
2017-02-09 21:11:09 +08:00
Ryan Hunt
3fe2c02ee1 Merge m-c to graphics 2017-01-27 10:07:37 -06:00
Ryan Hunt
434ca7039f Merge m-c to graphics 2017-01-26 08:59:21 -06:00
Kartikaya Gupta
ca041b7c5a Merge m-c to graphics
MozReview-Commit-ID: FOyS87VawTT
2017-01-25 08:52:04 -05:00
Stephen A Pohl
a309057692 Backout 2823fca4f547 (bug 429824) for causing bug 1334140 in e10s. r=backout 2017-01-26 16:14:19 -05:00
Morris Tseng
706205583a Bug 1332798 - Add null check after CreateIOSurface. r=mstange
MozReview-Commit-ID: 6JIR8y04cXm
2017-01-26 17:07:07 +08:00
Kartikaya Gupta
fdeff3fcd5 Merge m-c to graphics
MozReview-Commit-ID: 98wqjDW1RVK

--HG--
rename : browser/modules/CaptivePortalWatcher.jsm => browser/base/content/browser-captivePortal.js
rename : browser/modules/test/browser_CaptivePortalWatcher.js => browser/base/content/test/captivePortal/browser_CaptivePortalWatcher.js
rename : browser/base/content/test/plugins/browser_clearplugindata.html => browser/components/extensions/test/browser/file_clearplugindata.html
rename : modules/freetype2/src/gzip/zconf.h => modules/freetype2/src/gzip/ftzconf.h
extra : amend_source : b630126e257a8e2900ac0c3c735398a96ccd25e1
2017-01-23 09:45:48 -05:00
Kartikaya Gupta
cf091ea0eb Bug 1328066 - Don't broadcast the live-resize events to all browser windows unnecessarily. r=mstange
The machinery for suppressing the displayport during live resizes
was using the Observer service. However, in the case of multiple
browser windows, this meant that all the open browser windows would
have their displayport suppressed if *any* of the browser windows
was being resized. This was mostly ok, as the displayport suppression
would be turned off once the resize ended. However, the code to
kick off a repaint with the unsuppressed displayport would only get
triggered on one of the windows (whichever happened to process the
unsuppress message last).

This patch stops using the Observer service for the implementation
machinery, and instead locates the active TabParent of the relevant
nsWindow, and invokes the displayport suppression directly on that.
This fixes the repainting bug and also avoids unnecessarily
broadcasting the suppression/unsuppression notification to windows
that don't neccessarily need it.

MozReview-Commit-ID: LBHOgOW9KUp
2017-02-01 10:38:16 -05:00
Jonathan Kew
36f52391d9 Bug 1331683 - Don't attempt to use any Core Text and Core Graphics variation-font APIs on pre-Sierra systems. r=jrmuizel,lsalzman 2017-02-09 21:37:24 +00:00
Kartikaya Gupta
c7fda3b4ca Merge m-c to graphics
MozReview-Commit-ID: KzmBdQoXRRI
2017-01-17 09:01:06 -05:00
Kartikaya Gupta
ae11d416ec Bug 1326421 - Update GL context creation code to use compositor-specific WebRender flag instead of a global pref. r=dvander
MozReview-Commit-ID: DQkGHCAxu3I
2017-01-13 15:16:52 -05:00