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

2498 Коммитов

Автор SHA1 Сообщение Дата
Kartikaya Gupta 18071e92df Merge m-c to graphics
MozReview-Commit-ID: 6XqNGxF5EiQ

--HG--
rename : dom/animation/test/css-transitions/file_csstransition-events.html => dom/animation/test/css-transitions/file_event-dispatch.html
rename : dom/animation/test/css-transitions/test_csstransition-events.html => dom/animation/test/css-transitions/test_event-dispatch.html
rename : js/src/jit/BaselineCacheIR.cpp => js/src/jit/BaselineCacheIRCompiler.cpp
rename : js/src/jit/BaselineCacheIR.h => js/src/jit/BaselineCacheIRCompiler.h
rename : testing/docker/README.md => taskcluster/docker/README.md
rename : testing/docker/REGISTRY => taskcluster/docker/REGISTRY
rename : testing/docker/android-gradle-build/Dockerfile => taskcluster/docker/android-gradle-build/Dockerfile
rename : testing/docker/android-gradle-build/README.md => taskcluster/docker/android-gradle-build/README.md
rename : testing/docker/android-gradle-build/REGISTRY => taskcluster/docker/android-gradle-build/REGISTRY
rename : testing/docker/android-gradle-build/VERSION => taskcluster/docker/android-gradle-build/VERSION
rename : testing/docker/android-gradle-build/bin/after.sh => taskcluster/docker/android-gradle-build/bin/after.sh
rename : testing/docker/android-gradle-build/bin/before.sh => taskcluster/docker/android-gradle-build/bin/before.sh
rename : testing/docker/android-gradle-build/bin/build.sh => taskcluster/docker/android-gradle-build/bin/build.sh
rename : testing/docker/android-gradle-build/bin/checkout-script.sh => taskcluster/docker/android-gradle-build/bin/checkout-script.sh
rename : testing/docker/android-gradle-build/bin/checkout-sources.sh => taskcluster/docker/android-gradle-build/bin/checkout-sources.sh
rename : testing/docker/android-gradle-build/buildprops.json => taskcluster/docker/android-gradle-build/buildprops.json
rename : testing/docker/android-gradle-build/dot-config/pip/pip.conf => taskcluster/docker/android-gradle-build/dot-config/pip/pip.conf
rename : testing/docker/android-gradle-build/oauth.txt => taskcluster/docker/android-gradle-build/oauth.txt
rename : testing/docker/base-build/Dockerfile => taskcluster/docker/base-build/Dockerfile
rename : testing/docker/base-build/VERSION => taskcluster/docker/base-build/VERSION
rename : testing/docker/base-build/system-setup.sh => taskcluster/docker/base-build/system-setup.sh
rename : testing/docker/base-test/Dockerfile => taskcluster/docker/base-test/Dockerfile
rename : testing/docker/base-test/REGISTRY => taskcluster/docker/base-test/REGISTRY
rename : testing/docker/base-test/VERSION => taskcluster/docker/base-test/VERSION
rename : testing/docker/base-test/sources.list => taskcluster/docker/base-test/sources.list
rename : testing/docker/centos6-build-upd/Dockerfile => taskcluster/docker/centos6-build-upd/Dockerfile
rename : testing/docker/centos6-build-upd/REGISTRY => taskcluster/docker/centos6-build-upd/REGISTRY
rename : testing/docker/centos6-build-upd/VERSION => taskcluster/docker/centos6-build-upd/VERSION
rename : testing/docker/centos6-build/Dockerfile => taskcluster/docker/centos6-build/Dockerfile
rename : testing/docker/centos6-build/REGISTRY => taskcluster/docker/centos6-build/REGISTRY
rename : testing/docker/centos6-build/VERSION => taskcluster/docker/centos6-build/VERSION
rename : testing/docker/centos6-build/hgrc => taskcluster/docker/centos6-build/hgrc
rename : testing/docker/centos6-build/system-setup.sh => taskcluster/docker/centos6-build/system-setup.sh
rename : testing/docker/decision/Dockerfile => taskcluster/docker/decision/Dockerfile
rename : testing/docker/decision/README.md => taskcluster/docker/decision/README.md
rename : testing/docker/decision/REGISTRY => taskcluster/docker/decision/REGISTRY
rename : testing/docker/decision/VERSION => taskcluster/docker/decision/VERSION
rename : testing/docker/decision/system-setup.sh => taskcluster/docker/decision/system-setup.sh
rename : testing/docker/desktop-build/Dockerfile => taskcluster/docker/desktop-build/Dockerfile
rename : testing/docker/desktop-build/bin/build.sh => taskcluster/docker/desktop-build/bin/build.sh
rename : testing/docker/desktop-build/bin/checkout-script.sh => taskcluster/docker/desktop-build/bin/checkout-script.sh
rename : testing/docker/desktop-build/bin/checkout-sources.sh => taskcluster/docker/desktop-build/bin/checkout-sources.sh
rename : testing/docker/desktop-build/buildprops.json => taskcluster/docker/desktop-build/buildprops.json
rename : testing/docker/desktop-build/dot-config/pip/pip.conf => taskcluster/docker/desktop-build/dot-config/pip/pip.conf
rename : testing/docker/desktop-build/oauth.txt => taskcluster/docker/desktop-build/oauth.txt
rename : testing/docker/desktop-test/Dockerfile => taskcluster/docker/desktop-test/Dockerfile
rename : testing/docker/desktop-test/apport => taskcluster/docker/desktop-test/apport
rename : testing/docker/desktop-test/buildprops.json => taskcluster/docker/desktop-test/buildprops.json
rename : testing/docker/desktop-test/deja-dup-monitor.desktop => taskcluster/docker/desktop-test/deja-dup-monitor.desktop
rename : testing/docker/desktop-test/dot-files/config/pip/pip.conf => taskcluster/docker/desktop-test/dot-files/config/pip/pip.conf
rename : testing/docker/desktop-test/dot-files/config/user-dirs.dirs => taskcluster/docker/desktop-test/dot-files/config/user-dirs.dirs
rename : testing/docker/desktop-test/dot-files/config/user-dirs.locale => taskcluster/docker/desktop-test/dot-files/config/user-dirs.locale
rename : testing/docker/desktop-test/dot-files/pulse/default.pa => taskcluster/docker/desktop-test/dot-files/pulse/default.pa
rename : testing/docker/desktop-test/fonts.conf => taskcluster/docker/desktop-test/fonts.conf
rename : testing/docker/desktop-test/jockey-gtk.desktop => taskcluster/docker/desktop-test/jockey-gtk.desktop
rename : testing/docker/desktop-test/motd => taskcluster/docker/desktop-test/motd
rename : testing/docker/desktop-test/release-upgrades => taskcluster/docker/desktop-test/release-upgrades
rename : testing/docker/desktop-test/taskcluster-interactive-shell => taskcluster/docker/desktop-test/taskcluster-interactive-shell
rename : testing/docker/desktop-test/tc-vcs-config.yml => taskcluster/docker/desktop-test/tc-vcs-config.yml
rename : testing/docker/desktop-test/tester.env => taskcluster/docker/desktop-test/tester.env
rename : testing/docker/desktop1604-test/Dockerfile => taskcluster/docker/desktop1604-test/Dockerfile
rename : testing/docker/desktop1604-test/apport => taskcluster/docker/desktop1604-test/apport
rename : testing/docker/desktop1604-test/buildprops.json => taskcluster/docker/desktop1604-test/buildprops.json
rename : testing/docker/desktop1604-test/deja-dup-monitor.desktop => taskcluster/docker/desktop1604-test/deja-dup-monitor.desktop
rename : testing/docker/desktop1604-test/dot-files/config/pip/pip.conf => taskcluster/docker/desktop1604-test/dot-files/config/pip/pip.conf
rename : testing/docker/desktop1604-test/dot-files/config/user-dirs.dirs => taskcluster/docker/desktop1604-test/dot-files/config/user-dirs.dirs
rename : testing/docker/desktop1604-test/dot-files/config/user-dirs.locale => taskcluster/docker/desktop1604-test/dot-files/config/user-dirs.locale
rename : testing/docker/desktop1604-test/dot-files/pulse/default.pa => taskcluster/docker/desktop1604-test/dot-files/pulse/default.pa
rename : testing/docker/desktop1604-test/fonts.conf => taskcluster/docker/desktop1604-test/fonts.conf
rename : testing/docker/desktop1604-test/jockey-gtk.desktop => taskcluster/docker/desktop1604-test/jockey-gtk.desktop
rename : testing/docker/desktop1604-test/motd => taskcluster/docker/desktop1604-test/motd
rename : testing/docker/desktop1604-test/release-upgrades => taskcluster/docker/desktop1604-test/release-upgrades
rename : testing/docker/desktop1604-test/taskcluster-interactive-shell => taskcluster/docker/desktop1604-test/taskcluster-interactive-shell
rename : testing/docker/desktop1604-test/tc-vcs-config.yml => taskcluster/docker/desktop1604-test/tc-vcs-config.yml
rename : testing/docker/desktop1604-test/tester.env => taskcluster/docker/desktop1604-test/tester.env
rename : testing/docker/image_builder/Dockerfile => taskcluster/docker/image_builder/Dockerfile
rename : testing/docker/image_builder/REGISTRY => taskcluster/docker/image_builder/REGISTRY
rename : testing/docker/image_builder/VERSION => taskcluster/docker/image_builder/VERSION
rename : testing/docker/image_builder/build-image.sh => taskcluster/docker/image_builder/build-image.sh
rename : testing/docker/image_builder/setup.sh => taskcluster/docker/image_builder/setup.sh
rename : testing/docker/lint/Dockerfile => taskcluster/docker/lint/Dockerfile
rename : testing/docker/lint/system-setup.sh => taskcluster/docker/lint/system-setup.sh
rename : testing/docker/recipes/centos6-build-system-setup.sh => taskcluster/docker/recipes/centos6-build-system-setup.sh
rename : testing/docker/recipes/common.sh => taskcluster/docker/recipes/common.sh
rename : testing/docker/recipes/install-mercurial.sh => taskcluster/docker/recipes/install-mercurial.sh
rename : testing/docker/recipes/run-task => taskcluster/docker/recipes/run-task
rename : testing/docker/recipes/tooltool.py => taskcluster/docker/recipes/tooltool.py
rename : testing/docker/recipes/ubuntu1204-test-system-setup.sh => taskcluster/docker/recipes/ubuntu1204-test-system-setup.sh
rename : testing/docker/recipes/ubuntu1604-test-system-setup.sh => taskcluster/docker/recipes/ubuntu1604-test-system-setup.sh
rename : testing/docker/recipes/xvfb.sh => taskcluster/docker/recipes/xvfb.sh
rename : testing/docker/rust-build/Dockerfile => taskcluster/docker/rust-build/Dockerfile
rename : testing/docker/rust-build/README.md => taskcluster/docker/rust-build/README.md
rename : testing/docker/rust-build/REGISTRY => taskcluster/docker/rust-build/REGISTRY
rename : testing/docker/rust-build/VERSION => taskcluster/docker/rust-build/VERSION
rename : testing/docker/rust-build/build_cargo.sh => taskcluster/docker/rust-build/build_cargo.sh
rename : testing/docker/rust-build/build_rust.sh => taskcluster/docker/rust-build/build_rust.sh
rename : testing/docker/rust-build/build_rust_mac.sh => taskcluster/docker/rust-build/build_rust_mac.sh
rename : testing/docker/rust-build/fetch_cargo.sh => taskcluster/docker/rust-build/fetch_cargo.sh
rename : testing/docker/rust-build/fetch_rust.sh => taskcluster/docker/rust-build/fetch_rust.sh
rename : testing/docker/rust-build/package_rust.sh => taskcluster/docker/rust-build/package_rust.sh
rename : testing/docker/rust-build/repack_rust.py => taskcluster/docker/rust-build/repack_rust.py
rename : testing/docker/rust-build/splat_rust.py => taskcluster/docker/rust-build/splat_rust.py
rename : testing/docker/rust-build/task.json => taskcluster/docker/rust-build/task.json
rename : testing/docker/rust-build/tcbuild.py => taskcluster/docker/rust-build/tcbuild.py
rename : testing/docker/rust-build/upload_rust.sh => taskcluster/docker/rust-build/upload_rust.sh
rename : testing/docker/tester/Dockerfile => taskcluster/docker/tester/Dockerfile
rename : testing/docker/tester/REGISTRY => taskcluster/docker/tester/REGISTRY
rename : testing/docker/tester/VERSION => taskcluster/docker/tester/VERSION
rename : testing/docker/tester/bin/test.sh => taskcluster/docker/tester/bin/test.sh
rename : testing/docker/tester/dot-config/pip/pip.conf => taskcluster/docker/tester/dot-config/pip/pip.conf
rename : testing/docker/tester/dot-config/user-dirs.dirs => taskcluster/docker/tester/dot-config/user-dirs.dirs
rename : testing/docker/tester/dot-config/user-dirs.locale => taskcluster/docker/tester/dot-config/user-dirs.locale
rename : testing/docker/tester/dot-pulse/default.pa => taskcluster/docker/tester/dot-pulse/default.pa
rename : testing/docker/tester/tc-vcs-config.yml => taskcluster/docker/tester/tc-vcs-config.yml
rename : testing/docker/tester/tester.env => taskcluster/docker/tester/tester.env
rename : testing/docker/upload-symbols/Dockerfile => taskcluster/docker/upload-symbols/Dockerfile
rename : testing/docker/upload-symbols/README.md => taskcluster/docker/upload-symbols/README.md
rename : testing/docker/upload-symbols/bin/checkout-script.sh => taskcluster/docker/upload-symbols/bin/checkout-script.sh
rename : testing/docker/upload-symbols/bin/upload.sh => taskcluster/docker/upload-symbols/bin/upload.sh
rename : testing/docker/upload-symbols/test_exports.sh => taskcluster/docker/upload-symbols/test_exports.sh
extra : amend_source : 41ff620c73fe53d97f8d7874d63339bd2685f81a
2016-12-23 10:14:44 -05:00
Bas Schouten 1e9ffde5c8 Bug 1325743: Cache Moz2D ClearType usage information in a way similar to Thebes. r=mchang
This patch makes sure content processes update their cleartype settings, as well as making sure Moz2D's idea of the ClearType settings are in sync with those of Thebes. If the two differ this can cause graphical glitches.

MozReview-Commit-ID: 94arUnBWoUy

--HG--
extra : rebase_source : d74b702fc63c019ce1c30bdc741ea3ed6da457cd
2017-01-04 20:26:17 +01:00
Neil Deakin 7b92d68429 Bug 1309596, implementation of UpdateDragImage by adjusting image and calling DragEnter of the drag feedback helper, r=jimm 2016-12-23 18:09:44 -05:00
Wes Kocher e28b562783 Merge m-c to inbound, a=merge
MozReview-Commit-ID: 3HW7YWDqTBQ
2016-12-23 14:40:42 -08:00
Kartikaya Gupta 4233ee5fec Merge m-c to graphics
MozReview-Commit-ID: E0Sr26LKcZx
2016-12-21 10:16:15 -05:00
Kartikaya Gupta b2cab8a5ed Bug 1147335 - Add support for drag-and-drop via touch (Windows-only, main-process-only). r=smaug
This patch adds a new non-DOM event type, "mousetouchdrag". The name is horrible, I
know. The "mouse" comes from the fact that it's a WidgetMouseEvent, and the
"touchdrag" comes from the fact that this event is fired at the start of a touch
gesture for drag-and-drop. Right now this event is only fired from the Windows
widget code, when we receive a touch-source doubleclick event from the OS. This
event is sent to us from the OS when it detects the sequence "touchstart, touchend,
touchstart" within certain time/distance constraints. Eventually we may detect
similar gestures for other platforms in the APZ GestureEventListener and dispatch
the "mousetouchdrag" event for those as well.

The only effect of this event is that it begins tracking a drag gesture in the
EventStateManager. Subsequent touchmove events can begin the actual drag-and-drop
operation by calling ::DoDragDrop. See the discussion in bug 1147335 for some
important caveats about DoDragDrop and how it only works with left-mouse-button
events (real or synthetic).

MozReview-Commit-ID: bGyOk6dRoJ
2017-01-03 10:55:48 -05:00
Kartikaya Gupta 6a817e71fd Bug 1330755 - Follow-up to move the MakeScopeExit to after the null check. r=bobowen
MozReview-Commit-ID: GrRU0Efh0Ns
2017-01-17 10:57:06 -05:00
Kartikaya Gupta 108f572510 Merge m-c to graphics
MozReview-Commit-ID: 6ocpYm7MBCV
2016-12-19 13:35:32 -05:00
Nicholas Nethercote 523bee37b8 Bug 1325234 (part 9) - Remove remaining NS_IMETHOD_ occurrences from nsIWidget. r=mstange.
|virtual T| is clearer than |NS_IMETHOD_(T)|.

--HG--
extra : rebase_source : 9c8f423d7a89782a4d790a50e137071271086eed
2016-12-21 15:27:20 +11:00
Nicholas Nethercote bf4a843d70 Bug 1325234 (part 8) - Streamline nsIWidget::DispatchEvent. r=jimm.
This patch changes it from |NS_IMETHOD| to |virtual nsresult| because some
callsites are checked and some aren't.

--HG--
extra : rebase_source : dd98266bce0a7583863908b6f04729a6e403b721
2016-12-21 11:18:40 +11:00
Nicholas Nethercote e52b19470c Bug 1325234 (part 6) - Streamline nsIWidget::SetTitle. r=jimm.
This patch changes it from |NS_IMETHOD| to |virtual nsresult| because some call
sites are checked and others aren't.

--HG--
extra : rebase_source : 6723b9db709d1506dd394b1e85572309c1c2e2cf
2016-12-21 11:13:08 +11:00
Nicholas Nethercote ea1e2ca6ce Bug 1325234 (part 5) - Streamline nsIWidget::SetCursor (both versions). r=jimm.
This patch changes one from |NS_IMETHOD| to |virtual nsresult| and the other to
|virtual void|.

--HG--
extra : rebase_source : 55af71c01dc75d6bf7c63191e9cfabc9f5368ffa
2016-12-21 11:13:08 +11:00
Nicholas Nethercote 0eaecf55da Bug 1325234 (part 4) - Streamline nsIWidget::{SetFocus,SetNonClientMargins}(). r=mstange.
This patch changes them from |NS_IMETHOD| to |virtual nsresult|.

--HG--
extra : rebase_source : 5e54c2fd340c393b33c9e1dcf20a80fe2f41b2f4
2016-12-21 11:13:08 +11:00
Nicholas Nethercote da5978a842 Bug 1325234 (part 3) - Streamline nsIWidget::Show(). r=mstange.
This patch changes it from |NS_IMETHOD| to |virtual void|. The return value was
only checked in one low-value assertion and one other place where the check had
no useful effect (in nsCocoaWindow::HideWindowChrome()).

--HG--
extra : rebase_source : f6671e9e0e10ee18fb32f8b1c83f1e64c3d97e67
2016-12-21 11:12:54 +11:00
Nicholas Nethercote e2d9e4ed68 Bug 1325234 (part 2) - Streamline nsIWidget::Invalidate(). r=jimm.
This patch changes it from |NS_IMETHOD| to |virtual void|. The return value was
only checked in one low-value assertion so I decided it wasn't needed.

--HG--
extra : rebase_source : 3523d9a086cf98c40d237d777f5dd471af0d7465
2016-12-20 09:55:32 +11:00
Ryan VanderMeulen 1e6f972917 Merge inbound to m-c. a=merge 2017-01-07 11:22:47 -05:00
Kartikaya Gupta 44e6529919 Merge m-c to graphics
MozReview-Commit-ID: D5tvjU423oT
2016-12-16 10:23:35 -05:00
Kartikaya Gupta 694703aee5 Merge m-c to graphics
MozReview-Commit-ID: 4IBPvJvxXEM
2016-12-15 10:15:36 -05:00
Makoto Kato 3c1874f9a5 Bug 1322752 - Cannot compile widget with bumping WINVER to 0x601. r=jimm
MozReview-Commit-ID: EEOgx4H1ZyL
2016-12-15 16:40:33 +09:00
Carsten "Tomcat" Book 0aed7a4ac5 Merge mozilla-central to mozilla-inbound
--HG--
rename : testing/docker/base-build/HASH => taskcluster/docker/base-build/HASH
rename : testing/docker/base-test/HASH => taskcluster/docker/base-test/HASH
rename : testing/docker/centos6-build-upd/HASH => taskcluster/docker/centos6-build-upd/HASH
rename : testing/docker/centos6-build/HASH => taskcluster/docker/centos6-build/HASH
rename : testing/docker/decision/HASH => taskcluster/docker/decision/HASH
rename : testing/docker/image_builder/HASH => taskcluster/docker/image_builder/HASH
rename : testing/docker/recipes/tooltool.py => taskcluster/docker/recipes/tooltool.py
rename : testing/docker/tester/HASH => taskcluster/docker/tester/HASH
2016-12-22 16:25:35 +01:00
Kartikaya Gupta dd70fb88f4 Merge m-c to graphics
MozReview-Commit-ID: C13IwWOpf64
2016-12-14 09:32:38 -05:00
Jean-Luc Bonnafoux 461ab7eb31 Bug 545066 - Clean up nsClipboard.cpp - braces added for if..else, no tabs, ident fix. r=jimm 2016-12-11 12:45:17 +01:00
Carsten "Tomcat" Book 5131dfea4e Merge mozilla-central to mozilla-inbound 2017-02-02 14:28:07 +01:00
Jonathan Kew 3728df26c1 Bug 1320531 - Check whether DPI appears to have changed before calling ChangedDPI + ResetLayout while dragging windows. r=emk 2017-01-31 20:54:23 +00:00
Kartikaya Gupta 7383fcbb4a Merge m-c to graphics
MozReview-Commit-ID: KhxBqJbwxv8
2016-12-06 23:45:24 -05:00
Aaron Klotz 4bdd0944f9 Bug 1329616: Use intercepted SendMessageTimeoutW to check for WM_GETOBJECT originating from tiptsf; r=jimm
--HG--
extra : amend_source : f2440913ad938ef602f34aa6fd2be8f1f3a8a4c0
2017-01-09 16:06:01 -07:00
Nicholas Nethercote 0b2b65edc8 Bug 1325503 - Remove Windows {XP, Server 2003, Vista} support from widget/. r=jimm.
I did my best to remove as much stuff as possible in this patch. The starting
point was to remove all the IsVistaOrLater() and IsWin7OrLater() calls, but I
also grepped for various strings and found some other removable stuff that way.
I may have still missed some things.

Notable things done by this patch.

- It removes numerous blocklist entries.

- It removes CanComputeVirtualKeyCodeFromScanCode(), because it's always true
  now.

- It removes ShowXP{Folder,File}Picker(), even though these were available as
  fallbacks on Vista+. The "when platform is built without the longhorn SDK"
  condition in the comment above nsFilePicker::ShowXPFolderPicker() sounds like
  it won't ever happen any more.

- It removes the config.trim_on_minimize preference. This requires adding a
  bool sHaveInitializedPrefs variable; previously the lack of pref
  initialization was indicated by the tri-state sTrimOnMinimize variable having
  the value 2.

Notable things *not* done by this patch.

- ClearThemeRegion() still exists. The comment suggests that it is XP/Vista
  only, but the code suggests otherwise. jimm thinks the comment is wrong.

- The comment in WinWakeLockListener::Callback() suggests that the StartTimer()
  call is no longer needed to block the screen saver. I'm uncertain about this
  and so I think it's best left to a follow-up.

--HG--
extra : rebase_source : f46645907d237423fd6115ab1b4725b023a0dce3
2016-12-23 13:13:31 +11:00
Wes Kocher 0b29e777da Merge m-c to inbound, a=merge
MozReview-Commit-ID: 6eBJRasdMck
2017-01-10 18:36:19 -08:00
Jean-Luc Bonnafoux 079d862ed9 Bug 569583 - GetParent returns nsWindow::mParent in nsWindow.cpp. r=jimm 2017-01-10 20:36:16 +01:00
Aaron Klotz 39b609a350 Bug 1323521: Prevent Windows touchscreen support from instantiating a11y; r=jimm
MozReview-Commit-ID: 3xV0b97lEre

--HG--
extra : rebase_source : 7edcc93d409ffcd50e0fe4307573c2660a274b28
extra : amend_source : 0b8f3fbc292b632b448c135ea55fa6f63d292b35
2016-12-14 12:20:48 -07:00
Sebastian Hengst 5ac9f38bfa Backed out changeset 6ff5cc310486 (bug 1328066) for asserting in browser/components/sessionstore/test/browser_477657.js at widget/cocoa/nsChildView.mm:3668. r=backout 2017-01-31 00:52:51 +01:00
Kartikaya Gupta 582eff9d7f 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

--HG--
extra : rebase_source : 9e57054b22c58f5fcf815dfb3074a7201102fb4d
2017-01-30 17:30:23 -05:00
Cervantes Yu 6629c9887c Bug 1321244 - Lazily init global variables that could implicitly initialize NSPR. r=froydnj
MozReview-Commit-ID: IPU9Qc8lr50

--HG--
extra : rebase_source : f25e7403492d1935c8ca714a75ccf99811775b44
2016-12-01 11:48:32 +08:00
Bas Schouten 47b62ee88c Bug 1325743: Cache Moz2D ClearType usage information in a way similar to Thebes. r=mchang
This patch makes sure content processes update their cleartype settings, as well as making sure Moz2D's idea of the ClearType settings are in sync with those of Thebes. If the two differ this can cause graphical glitches.

MozReview-Commit-ID: 94arUnBWoUy

--HG--
extra : rebase_source : d74b702fc63c019ce1c30bdc741ea3ed6da457cd
2017-01-04 20:26:17 +01:00
Stone Shih d07c8d3a69 Bug 1315264: Set InkCollector.AutoRedraw to false to prevent repainting when the window is invalidated. r=jimm
MozReview-Commit-ID: Fb6pUZn11H

--HG--
extra : rebase_source : a9e5025a17754ea5b9ba126309dc4444734e296a
2016-11-29 16:43:49 +08:00
Ting-Yu Chou 4f285bd583 Bug 1322458 - Fix kungFuDeathGrip errors that clang plugin reports on Windows. r=aklotz,Ehsan
MozReview-Commit-ID: FLTLZSg2yh9

--HG--
extra : rebase_source : e8aad8f35cffb3312e043a4fcec6296371baf432
2016-12-14 16:34:12 +08:00
Morris Tseng 1ea8752292 Merge mozilla-central to graphics. 2016-11-28 10:46:02 +08:00
Markus Stange 692210bd80 Bug 1323100 - Assign names to all remaining threads that are created through NS_NewThread and create them using NS_NewNamedThread instead. r=froydnj
MozReview-Commit-ID: 7W1dt2BBKJZ

--HG--
extra : rebase_source : c7e335dac2e0f02782f0eb229a7181c8d01317a2
2016-12-21 11:43:50 +01:00
Milan Sreckovic 87d622dd83 Bug 1321630: Allow remote desktop (RDP) acceleration on window versions higher than 8. r=vlad
MozReview-Commit-ID: 964xgsCIxij

--HG--
extra : rebase_source : f5553124e2730ea8cc9296f9551762dd8eef90a4
2016-12-01 15:14:42 -05:00
Kartikaya Gupta ec0c858f75 Merge m-c to graphics
MozReview-Commit-ID: LrF5oQpIOhC

--HG--
rename : browser/components/extensions/test/browser/browser.ini => browser/components/extensions/test/browser/browser-common.ini
rename : browser/components/extensions/test/browser/browser.ini => browser/components/extensions/test/browser/browser-remote.ini
rename : browser/components/extensions/test/browser/browser_ext_browserAction_popup.js => browser/components/extensions/test/browser/browser_ext_browserAction_popup_preload.js
rename : devtools/client/framework/test/browser_toolbox_dynamic_registration.js => devtools/client/framework/test/browser_toolbox_tools_per_toolbox_registration.js
rename : gfx/layers/ipc/CompositorBridgeParent.cpp => gfx/layers/ipc/CompositorVsyncScheduler.cpp
rename : gfx/layers/ipc/CompositorBridgeParent.h => gfx/layers/ipc/CompositorVsyncScheduler.h
rename : media/webrtc/signaling/test/jsep_session_unittest.cpp => media/webrtc/signaling/gtest/jsep_session_unittest.cpp
rename : media/webrtc/signaling/test/jsep_track_unittest.cpp => media/webrtc/signaling/gtest/jsep_track_unittest.cpp
rename : testing/marionette/harness/marionette/tests/unit/test_using_prefs.py => testing/marionette/harness/marionette/tests/unit/test_prefs.py
rename : toolkit/components/extensions/test/mochitest/mochitest.ini => toolkit/components/extensions/test/mochitest/mochitest-common.ini
extra : amend_source : 4635b1092a976c4f3b12de84b03aedb349698cb2
2016-11-18 11:39:22 -05:00
Wes Kocher 65b11f5302 Backed out 27 changesets (bug 1323100) for leaks in mochitest-e10s-2 a=backout
Backed out changeset 069375097856 (bug 1323100)
Backed out changeset 3e64cdf12bb6 (bug 1323100)
Backed out changeset ba3a6bce2ba5 (bug 1323100)
Backed out changeset 4fcf1517da8d (bug 1323100)
Backed out changeset 5daf48da151e (bug 1323100)
Backed out changeset 4e441df8f70a (bug 1323100)
Backed out changeset 8ba2c7c2d262 (bug 1323100)
Backed out changeset 7b54195f4383 (bug 1323100)
Backed out changeset 8c1328db2d0c (bug 1323100)
Backed out changeset cb8d544864b8 (bug 1323100)
Backed out changeset 00453dfb7172 (bug 1323100)
Backed out changeset 3a5216789011 (bug 1323100)
Backed out changeset 3a7ce80e8657 (bug 1323100)
Backed out changeset 4baecf3669b0 (bug 1323100)
Backed out changeset c5ca13e76e13 (bug 1323100)
Backed out changeset 40249b284066 (bug 1323100)
Backed out changeset 1fb590677ace (bug 1323100)
Backed out changeset 699f7f888ea3 (bug 1323100)
Backed out changeset a1c171f8f925 (bug 1323100)
Backed out changeset c04743218bc5 (bug 1323100)
Backed out changeset 831f4de80f62 (bug 1323100)
Backed out changeset 55b1ef1a16cf (bug 1323100)
Backed out changeset 6675e4fd50f0 (bug 1323100)
Backed out changeset e26f9d68b74c (bug 1323100)
Backed out changeset 061f8e2d0000 (bug 1323100)
Backed out changeset 6695c396ef15 (bug 1323100)
Backed out changeset 5dbb824fd978 (bug 1323100)
2016-12-30 16:09:03 -08:00
Xidorn Quan 382cf219da Bug 894245 part 1 - Align windows widget behavior with other widgets to return failure when the specified color is unknown. r=jimm
MozReview-Commit-ID: HZ0Fir06QU6

--HG--
extra : rebase_source : 6b6c7fb1a578d2a129e399c534a8b651f32075bd
2016-12-30 14:17:55 +11:00
Markus Stange 1cebff73d2 Bug 1323100 - Assign names to all remaining threads that are created through NS_NewThread and create them using NS_NewNamedThread instead. r=froydnj
MozReview-Commit-ID: 7W1dt2BBKJZ

--HG--
extra : rebase_source : ad47978ef81d048a90b9803803201eee32974024
2016-12-21 11:43:50 +01:00
Wes Kocher 26a1ba5c14 Backed out 27 changesets (bug 1323100) for clipboard leaktest failures a=backout
Backed out changeset 84fb749698ab (bug 1323100)
Backed out changeset d6d25e8bd001 (bug 1323100)
Backed out changeset 1b0855bb0c38 (bug 1323100)
Backed out changeset b6953e3f5739 (bug 1323100)
Backed out changeset 5572f3b63215 (bug 1323100)
Backed out changeset 12fb4c533659 (bug 1323100)
Backed out changeset c36524e4e919 (bug 1323100)
Backed out changeset 1e3b3eddbe26 (bug 1323100)
Backed out changeset 061110f1ae12 (bug 1323100)
Backed out changeset 413dbd31725b (bug 1323100)
Backed out changeset 06550f7eca62 (bug 1323100)
Backed out changeset 940933b13b36 (bug 1323100)
Backed out changeset a6d75c1cd724 (bug 1323100)
Backed out changeset 681cacbbaa3b (bug 1323100)
Backed out changeset 3d53787293f6 (bug 1323100)
Backed out changeset c0340dfe4766 (bug 1323100)
Backed out changeset 9f554991549d (bug 1323100)
Backed out changeset 757539e7039a (bug 1323100)
Backed out changeset a3c9b45aa917 (bug 1323100)
Backed out changeset 23d69df98a66 (bug 1323100)
Backed out changeset 1297ded6a01d (bug 1323100)
Backed out changeset f4235b97257f (bug 1323100)
Backed out changeset 93419cb4f29f (bug 1323100)
Backed out changeset 865d1b81c804 (bug 1323100)
Backed out changeset 54acf4ef8e84 (bug 1323100)
Backed out changeset 88d17bcd8205 (bug 1323100)
Backed out changeset 0c466e5e8933 (bug 1323100)
2016-12-29 16:28:36 -08:00
Markus Stange 1b72f37c98 Bug 1323100 - Assign names to all remaining threads that are created through NS_NewThread and create them using NS_NewNamedThread instead. r=froydnj
MozReview-Commit-ID: 7W1dt2BBKJZ

--HG--
extra : rebase_source : ad47978ef81d048a90b9803803201eee32974024
2016-12-21 11:43:50 +01:00
Carsten "Tomcat" Book 9b6d97a4be Backed out changeset 1413fa802632 (bug 1031362) for test failures in pointerevents/test_touch_action.html
--HG--
extra : rebase_source : 937d349fb18e2368d4155364558027134c01fec6
2016-12-20 14:52:23 +01:00
Carsten "Tomcat" Book 9957ef81ce Backed out changeset bb1654cb6f30 (bug 1031362)
--HG--
extra : rebase_source : 31b5dceec22f1de279344f6eb131ede9193b6d10
2016-12-20 14:46:03 +01:00
Carsten "Tomcat" Book 925e83fb49 Backed out changeset 1d3072ee3656 (bug 1031362)
--HG--
extra : rebase_source : 5e1a1b9588f404b2f79599fdd9480b7efd29007c
2016-12-20 14:46:02 +01:00
Stone Shih 764b557d1e Bug 1031362 Part3: Rollup popups by WM_POINTERDOWN. r=jimm, smaug
MozReview-Commit-ID: FiefSHcMBIn
2016-11-29 15:31:21 +08:00
Stone Shih 2c0f3cacb5 Bug 1031362 Part2: Refine InkCollector to enable it only on Win7. r=smaug 2016-11-25 14:36:37 +08:00
Stone Shih d908d1a2d4 Bug 1031362 Part1: Dispatching mouse events by handling pen generated WM_POINTER* messages. r=jimm,smaug 2016-11-20 10:24:46 +08:00
Nicholas Nethercote 3af5047314 Bug 1299335 (part 8) - Streamline nsIWidget::Enable. r=mstange.
This patch changes it from |NS_IMETHOD| to |virtual void| because every
implementation of these functions always returns |NS_OK|.

--HG--
extra : rebase_source : 07ee29c514bf35b97d7195c53bb5b9220d1ef961
2016-12-19 20:54:16 +11:00
Nicholas Nethercote a28c8f38b2 Bug 1299335 (part 7) - Streamline nsIWidget::{Move,Resize}. r=mstange.
This patch changes them from |NS_IMETHOD| to |virtual void| because every
implementation of these functions always returns |NS_OK|.

--HG--
extra : rebase_source : 6207df5a46aeb6b8aaa0f697447a51bc6a6dc366
2016-12-19 20:54:03 +11:00
Nicholas Nethercote d0912b2968 Bug 1299335 (part 4) - Streamline nsIWidget::HideWindowChrome. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Removes the empty implementations from the android nsIWidget instance,
  because it can use the nsBaseWidget one.

--HG--
extra : rebase_source : 0791d3cb05907d6b41879549b52f3a33018abf45
2016-12-16 10:54:12 +11:00
Nicholas Nethercote 1dab0c3072 Bug 1299335 (part 3) - Streamline nsIWidget::SetParent. r=mstange.
This patch removes its return value, because none of the call sites check it
except for one non-vital assertion.

--HG--
extra : rebase_source : 3471c4e22394b8a05c6708d0f8469686ffad9814
2016-12-16 10:54:11 +11:00
Nicholas Nethercote efc5071ff2 Bug 1299335 (part 2) - Streamline nsIWidget::SetIcon. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.

--HG--
extra : rebase_source : a1a04193bc3940f1468c7c235f6d6e0341d0f1c2
2016-12-16 10:54:11 +11:00
Nicholas Nethercote 3970265787 Bug 1299335 (part 1) - Change some nsIWidget function return values from |NS_IMETHOD| to |virtual MOZ_MUST_USE nsresult|. r=jimm.
Specifically: OnDefaultButtonLoaded, AttachNativeKeyEvent, BeginMoveDrag,
BeginResizeDrag, GetAttention. These are all fallible functions whose result is
always checked.

The patch also moves some trivial function definitions from nsBaseWidget.cpp to
nsBaseWidget.h, and removes the android BeginResizeDrag() because it can
use the nsBaseWidget one.

--HG--
extra : rebase_source : ef32a41b547bcbc21f7df0043f683307470b136e
2016-12-16 10:54:02 +11:00
Kartikaya Gupta 77565d2492 Merge m-c to graphics
MozReview-Commit-ID: 5qSWNo7gKJK
2016-11-17 10:13:36 -05: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
Mozilla Graphics Team 9cc9061246 Bug 1317774 - Add non-gfx code needed to use WebRender in gecko. r=gfx
This completes the migration of code from the github branch to the graphics
project repo. At this point all webrender-related code should be disabled
unless --enable-webrender is provided in the mozconfig.

MozReview-Commit-ID: Dea8rxM6UPL
2016-11-16 08:54:51 -05:00
Carsten "Tomcat" Book eb5f79ce29 Merge mozilla-central to autoland 2016-12-13 16:53:28 +01:00
Andrew McCreight fccb0645ed Bug 1323042 - forbid MOZ_COUNT_{CTOR,DTOR} for nsISupports classes; r=froydnj 2016-12-12 09:27:58 -05:00
Nathan Froyd 826598caba Backout aba6c73511a2 (bug 1307961) for massive test bustage resulting in a CLOSED TREE; r=alltheorange 2016-12-12 08:45:46 -05:00
Andrew McCreight e31b5489da Bug 1307961 - require consistent bloatview reporting for nsISupports classes; r=froydnj 2016-12-12 07:58:33 -05:00
Kevin Wern b2052e9ddc Bug 1304044 - implement auxclick r=smaug
After click events with button 2 or 3 are fired, fire auxclick, a new
event intended to represent a non-primary mouse click. Because this
event, based on the design examples and blink's implementation, is
intended to be used with content listeners, always dispatch on content
listeners--not just those that force all events to be dispatched (i.e.
document/window). This diverges from the behavior of our click events
from non-primary buttons.

Eventually, we hope this will replace click events for non-primary
buttons. For now, leave those events for compatibility reasons.

Additionally, add handling of this new event, where necessary.

MozReview-Commit-ID: 8osozM4h6Ya

--HG--
extra : rebase_source : 558261dd0d0b9241efa84ca168c50455850af03a
2016-11-30 19:48:02 -05: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
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
Ting-Yu Chou 68a9f20e40 Bug 1322459 part 3 - Remove duplicate mRefCnt in LSPAnnotationGatherer. r=Ehsan
MozReview-Commit-ID: 8XFO6LyyGus

--HG--
extra : rebase_source : 633cf7e68c67253dda6f55339447e62add1d5f3f
2016-12-13 15:57:17 +08:00
Ting-Yu Chou f8f09a7949 Bug 1322459 part 2 - Remove duplicate mRefCnt in JumpListShortCut. r=Ehsan
MozReview-Commit-ID: CFt05fItCOu

--HG--
extra : rebase_source : 96364a52920a044758744fd471c73a82e5770616
2016-12-13 15:56:34 +08:00
Bob Owen 554feff78a Bug 1324064: Stop accessing printer devices in the child when printing via parent. r=jimm
This should remove all access to printer devices on Windows, there might by some other OS specific code which still does.
2017-01-06 11:29:11 +00:00
David Parks a01d83514b Bug 1185472 - Only allow NPAPI HWNDs to be adopted by an HWND in the chrome process. r=jimm
Add the set of plugin process PIDs to PluginProcessParent and, when attempting to reparent plugin windows in the chrome process, validate that those windows originated with the plugin process (by checking the window's PID against the set in the PluginProcessParent).
2016-12-22 10:50:03 -08: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
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
Ting-Yu Chou 9e66f3af06 Bug 1322465 part 14 - Use explicit/MOZ_IMPLICIT for the unary constructors in widget/. r=Ehsan
MozReview-Commit-ID: JOrzksTzwVT

--HG--
extra : rebase_source : a7e92ef309025f6243fc8dba5cf30dfda591b181
2016-12-16 16:00:43 +08:00
Stone Shih dc05661157 Bug 1301708 - nsWindow::DealWithPopup() should do nothing at receiving WM_ACTIVATE for a popup window and its wParam includes WA_CLICKACTIVATE. r=masayuki
When the first time user clicks download panel popup to hide the drop marker popup, Windows fires WA_ACTIVATE with wParam includes WA_CLICKACTIVATE to the download panel. In that case the popupWindow is the drop marker. We shouldn't roll up popups by handling WA_ACTIVATE since we'll handle the rollup behavior with WM_LBUTTONDOWN message.

MozReview-Commit-ID: 43jCgdBjjUN

--HG--
extra : rebase_source : 371de468252e7716e2ffe30520939650f76a4222
2016-11-10 16:09:25 +08:00
David Parks 6ea0979c0f Bug 1273091 - Mouse cursor does not disappear in html5 fullscreen video on Windows. r=masayuki
When we jump to fullscreen, the OS sends a WM_MOUSELEAVE, which we turn into a eMouseExitFromWidget.  The eMouseEnterIntoWidget was previously only sent when the mouse moved into the widget, which required the mouse to move.  When entering fullscreen, we want the eMouseEnterIntoWidget to happen right away.
2016-11-28 10:46:15 -08:00
Milan Sreckovic 5b302719f0 Bug 1285563: Part 2. If the second GPU is the active one, swap. r=milan
MozReview-Commit-ID: DP5eoOAfE23

--HG--
extra : rebase_source : 2d9df9aa2321a0c023211d276b5e8185df26aaed
2016-12-16 11:57:51 -05:00
Milan Sreckovic adf986b2c5 Bug 1285563: Part 1. Track two GPU infos in arrays, easier for swap if the second is active. r=milan
MozReview-Commit-ID: FtfmxH1MfZx

--HG--
extra : rebase_source : 115edd2fa5e80f6de6faccfd1f90d3d60b46bd8c
2016-12-16 11:56:59 -05: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
David Anderson 3ffb31894f Don't access gfxPlatform from WinCompositorWidget. (bug 1316481, r=mattwoodrow) 2016-11-09 20:49:09 -08: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
Kartikaya Gupta 54c54c7a09 Bug 1315706 - Pass a wrapper struct to various CompositorWidget functions. r=dvander
This is the first step in using these functions without having a
LayerManagerComposite at all.

MozReview-Commit-ID: 2zkuB7Ox4Ut

--HG--
extra : rebase_source : b23988275f5851a2fd30bd3e8a9931107a224c66
2016-11-07 21:16:52 -05:00
Kartikaya Gupta cb026d2536 Bug 1313170 - Use the widget-level touch injection instead of the OS-level touch injection for some tests. r=dvander
When using the InjectTouchInput API on Windows, the API requires that the caller
keep providing input frames (by calling the API function) at least every 100ms.
If the caller fails to do so, Windows can return an ERROR_TIMEOUT and throw
away the touch sequence. In some tests, it is hard for us to make this guarantee,
because we need to wait for other events between the touchdown and touchup. For
these tests, we can use the widget-level touch injection code that we have as
a fallback for the OS-level touch injection code. The widget-level touch
injection is less representative of real-world usage but allows us to bypass
the timeout problem.

MozReview-Commit-ID: EoVUSZmERUw

--HG--
extra : rebase_source : 4f7ca1a1e6da4479d51526e8f132f5cb23fceb49
2016-10-31 10:05:15 -04:00
Makoto Kato 57b13a9369 Bug 1312302 - Set dummy Selection during initializing TextStore. r=masayuki
When PC supports table mode, TextInputFramme.dll is loaded and it can be used for TIP.

When creating new TextStore object, selection might be nothing yet on e10s.  At this time, GetSelection will return E_FAIL since selection data isn't received yet.  If GetSelection returns error during SetFocus, TextInputFrame.dll will crash.

So we set temporary selection to avoid crash.


MozReview-Commit-ID: HyVSwvhXGJh

--HG--
extra : rebase_source : 9e4838ffc5c8d8cf0e67685c6c1da09ecba6c7a9
extra : amend_source : dda79c9380ee34c82a611fc6a6691cbe63aec63c
2016-10-25 17:53:38 +09:00
Dão Gottwald 998303abfe Bug 582951 - Use CSS outline for checkbox and radio button focus indicator. r=dbaron,jimm 2016-10-22 08:28:53 +02:00
Bas Schouten 1d78258aee Bug 1325199: Only read system parameters for ClearType when we receive a paint event. r=jrmuizel
MozReview-Commit-ID: EjQyCcdWXEc
2016-12-22 12:06:15 +01:00
Stone Shih 5c184bd8d3 Bug 1031362 Part3: Rollup popups by WM_POINTERDOWN. r=jimm, smaug
MozReview-Commit-ID: FiefSHcMBIn
2016-11-29 15:31:21 +08:00
Stone Shih 97db542e9b Bug 1031362 Part2: Refine InkCollector to enable it only on Win7. r=smaug 2016-11-25 14:36:37 +08:00
Stone Shih f60994b515 Bug 1031362 Part1: Dispatching mouse events by handling pen generated WM_POINTER* messages. r=jimm,smaug 2016-11-20 10:24:46 +08:00
Carsten "Tomcat" Book 3d9f0a00a7 Backed out changeset 49f1c7ec4eca (bug 1185472) for bustage
--HG--
extra : rebase_source : 8f7a27c7fa3e19d70e3c09160e0442ff11851eab
2016-12-21 12:33:54 +01:00
David Parks e931b523a6 Bug 1185472 - Only allow NPAPI HWNDs to be adopted by an HWND in the chrome process r=jmathies
Add the set of plugin process PIDs to PluginProcessParent and, when attempting to reparent plugin windows in the chrome process, validate that those windows originated with the plugin process (by checking the window's PID against the set in the PluginProcessParent).

--HG--
extra : rebase_source : f12fabb958d64def6f57ebbbccc39f8ef47ad9f4
2016-12-18 19:58:16 -08:00
Neil Deakin 68ac95182c Bug 1301673, use device pixels for the supplied drag position and the computed dragrectangle, r=tn 2016-10-19 15:01:39 -04:00
Neil Deakin 12c7b914da Bug 1301673, use more specific coordinates for screen position in drag calculations, r=tn 2016-10-19 15:01:39 -04:00
Eric Rahm 1eb4ae7e0d Bug 1309698 - Remove usage of nsISupportsArray from nsIDragService. r=smaug 2016-10-18 11:56:20 -07:00
Makoto Kato 7912a1dc20 Bug 1310453 - Check whether aUri isn't created. r=jimm
Since aUri is nullptr, Firefox will crash on shutdown.


MozReview-Commit-ID: E5ENWsjK7Px

--HG--
extra : rebase_source : d52a301ec0d313f303a98f1d463f9f1120ea44c8
2016-10-17 12:17:42 +09:00
Eric Rahm 52edf921c1 Bug 1310017 - Remove nsISupportsArray usage from nsITransferable and nsIFormatConverter. r=smaug
This converts |nsITransferable.flavorsTransferableCanExport| and
|nsITransferable.flavorsTransferableCanImport| to return a |nsIArray|.

|nsIFormatConverter.getInputDataFlavors| and
|nsIFormatConverter.getOutputDataFlavors| are updated as well.
2016-10-16 12:43:56 -07:00
Edwin Flores 5f13602836 Bug 1292311 - Blacklist nVidia drivers <= 187.45 for frequent shutdown crashes - r=jrmuizel 2016-10-13 10:54:16 +01:00
Masayuki Nakano 2fb6e9eb1c Bug 1303273 part.9 NativeKey::mFollowingCharMsgs should be AutoTArray r=m_kato
Similarly, NativeKey is a stack class and mFollowingCharMsgs which stores following char messages of WM_(SYS)KEYDOWN should be AutoTArray for preventing to use heap at handling inputs with usual keyboard layout.

5 is enough size for handling usual keyboard layout because we support only 5 or less characters per dead key sequence.

MozReview-Commit-ID: IphcIOmPW0C

--HG--
extra : rebase_source : 74ce6f9fef73df4b9bbccbbdd713470ff7357889
2016-10-07 14:38:14 +09:00
Masayuki Nakano af0bc7745d Bug 1303273 part.8 UniCharsAndModifiers should use nsAutoString and AutoTArray to store characters and modifiers r=m_kato
Fortunately, UniCharsAndModifiers instances are only in stack.  Therefore, we can make it a stack class and use nsAutoString and AutoTArray for not using heap at handling inputs from usual keyboard layouts.

MozReview-Commit-ID: 9ZPbdjGst64

--HG--
extra : rebase_source : 06a21c20575747591c6bf1a55dff7e6e38884333
2016-10-07 14:32:45 +09:00
Masayuki Nakano 2c0c609d8a Bug 1303273 part.7 Hide UniCharsAndModifiers::mLength and make its type size_t r=m_kato
MozReview-Commit-ID: 7QLdmgopOwG

--HG--
extra : rebase_source : 89d077c20edab65ac7c2c637b2cda94b6d1ab30d
2016-10-07 13:39:15 +09:00
Masayuki Nakano c20c0f333a Bug 1303273 part.6 Hide UniCharsAndModifiers::mModifiers r=m_kato
MozReview-Commit-ID: 9KKN5mlJadg

--HG--
extra : rebase_source : a3109eca884b3795f4a069bc5c694d1f495ef86b
2016-10-07 13:25:40 +09:00
Masayuki Nakano 0d6b0439b4 Bug 1303273 part.5 UniCharsAndModifiers should hide mChars r=m_kato
Now, we have an security issue.  mCommittedCharsAndModifiers may be initialized with multiple WM_(SYS)CHAR messages.  However, if it's generated by odd (or malicious) middleware, mCommittedCharsAndModifiers may be overflown because it has only fixed array.  For fixing this issue, first, we should hide the members for making the users not depend on the design of UniCharsAndModifiers.

This patch changes UniCharsAndModifiers to a class and hiding mChars and adding |CharAt() const|.

MozReview-Commit-ID: 5EjrIhmCdE4

--HG--
extra : rebase_source : a3dc68998f5f177582addd8587c4da86b2d17b3b
2016-10-07 12:04:49 +09:00
Masayuki Nakano 8c926d5f82 Bug 1303273 part.3 Dispatch eKeyPress events without NativeKey::HandleCharMessage() when it handles WM_(SYS)KEYDOWN message and there are following WM_(SYS)CHAR messages which includes non-control character r=m_kato
This patch creates NativeKey::DispatchKeyPressEventsWithRetrievedCharMessages() for dispatching eKeyPress event with mCommittedCharsAndModifiers when it stores following printable WM_(SYS)CHAR messages.

Using loop for dispatching eKeyPress event for every WM_(SYS)CHAR message is wrong because WidgetKeyboardEvent::mKeyValue is initialized with mCommittedCharsAndModifiers and it causes TextEventDispatcher dispatching multiple eKeyPress events at every call of MaybeDispatchKeypressEvents().  Therefore, if mKeyValue is "^^", eKeyPress event is dispatched 4 times --for the first message, eKeyPress events are fired for each "^" and for the second message, eKeyPress events are fired again for each "^"--.  Therefore, when it handles WM_(SYS)KEYDOWN and it causes inputting one or more printable characters, it's the easiest way not to use HandleCharMessage().

The new method calls TextEventDispatcher::MaybeDispatchKeypressEvents() only once and it requests to call the callback method with new argument of MaybeDispatchKeypressEvents() when it needs to dispatch 2 or more eKeyPress events.  Then, NativeKey::WillDispatchKeyboardEvent() can set each eKeyPress event to raw information of the message and proper modifier state.

With this change, we can dispatch multiple eKeyPress events with retrieved WM_(SYS)CHAR message information rather than retrieved information from active keyboard layout.  Therefore, NeedsToHandleWithoutFollowingCharMessages() doesn't return true even when mCommittedCharsAndModifiers stores two or more characters.

FYI: there is a bug in test_keycodes.xul. That is, Alt+'A' of Greek keyboard layout should cause WM_SYSCHAR with a corresponding Greek character but ASCII characters are specified.  Therefore, this patch includes the fix of these bugs

MozReview-Commit-ID: JVm7ZJVug0O

--HG--
extra : rebase_source : 414ecbe2c01c53f294d1346414b1a289aa0abfe8
2016-10-06 20:52:03 +09:00
Masayuki Nakano 642d448ca7 Bug 1303273 part.2 KeyboardLayout::InitNativeKey() should initialize aNativeKey.mCommittedCharsAndModifiers with following WM_CHAR or WM_SYSCHAR messages which are not providing a control character r=m_kato
First, mCommittedCharsAndModifiers should be initialized with following char messages because the messages could be different from the information of current keyboard layout.

So, this patch guarantees that mCommittedCharsAndModifiers are same as the user expected when there is one or more WM_CHAR or WM_SYSCHAR messages.

MozReview-Commit-ID: I5Ack0xccoL

--HG--
extra : rebase_source : e4c7af75fd200f30ec52b53dc05f49ae8887c6f0
2016-10-07 11:36:34 +09:00
Masayuki Nakano add7eea556 Bug 1303273 part.1 KeyboardLayout::IsSysKey() should check MODIFIER_ALT as a bit flag r=m_kato
This is a simple mistake and blocks following patchs' automated tests.

For example, when Alt+Shift+foo doesn't cause text, this returns false even though it should return true.

MozReview-Commit-ID: 91L33vZhouT

--HG--
extra : rebase_source : be7d4e7ad670c1b03e6497c1c313c187ece80c1c
2016-10-11 13:00:45 +09:00
Ryan VanderMeulen 38574eeac5 Merge m-c to inbound. a=merge 2016-10-07 09:44:29 -04:00
Nicolas Silva 9f87d72b3f Bug 1299860 - Don't use the compositor backend of a popup with ImageBridge and VRManager. r=Bas 2016-10-07 11:08:32 +02:00
Masayuki Nakano 0f3c94dc03 Bug 1307112 part.10 Clean up NativeKey::HandleCharMessage() r=m_kato
Now, NativeKey::HandleCharMessage() has almost same code, one is for dispatching eKeyPress event for non-printable keys or printable keys when one of Alt or Ctrl key is pressed, the other is for printable keys when Alt or Ctrl key is pressed.

The difference of them is, the former block removes Alt state and Ctrl state for handling AltGr key.  When AltGr key is pressed, both Alt and Ctrl state are true.  However, EditorBase treas keypress events whose altKey or ctrlKey is true as non-printable key event.  Therefore, we need to set these modifier state to false when AltGr key is pressed and the key causes some text.

Note that as far as we know, when a key press with AltGr doesn't cause any characters, WM_CHAR isn't generated.  Therefore, we don't need to check with complicated logic if the key event is actually inputting a character.

MozReview-Commit-ID: BRNWfICvkSm

--HG--
extra : rebase_source : 3b8a2aaeb4c53be1567f7a8d17dfef1af90406dd
2016-10-04 23:01:14 +09:00
Masayuki Nakano 69a96b6460 Bug 1307112 part.9 Get rid of remaining hacks for KeyboardEvent.charCode when Ctrl or Alt is pressed r=m_kato
Current shortcut key handling is really difference from what we did before struggling with "key hell".  Therefore, remaining hacks for charCode in NativeKey::HandleCharMessage() are not necessary because they are for old code.

MozReview-Commit-ID: 3hvsBOiJ6VV

--HG--
extra : rebase_source : 7387fc89930f9b15d5d01612eb4a7a5726924bcd
2016-10-04 22:21:49 +09:00
Masayuki Nakano 337db43f23 Bug 1307112 part.8 NativeKey::HandleCharMessage() shouldn't dispatch eKeyPress event when its message is inputting a control character r=m_kato
This patch makes NativeKey::HandleCharMessage() stop dispatching eKeyPress event when the message is inputting a control character.  NativeKey::HandleCharMessage() runs following cases:

1. WM_KEYDOWN followed by a WM_CHAR message whose wParam is not a control character causes inputting printable characters.
2. WM_CHAR message is received without WM_KEYDOWN message.

So, when HandleCharMessage() is called for a control character, it's unusual case.  E.g., another application sends only WM_CHAR message with a control character.

On the other hand, Gecko is the only browser which dispatches "keypress" event even if pressed printable key doesn't cause inputting any characters.  And such "keypress" event is used for shortcut key handling and some default action handling.  So, even if we stop dispatching eKeyPress event from HandleCharMessage(), it shouldn't affect most users.

Note that this patch does NOT change the behavior when the user inputs a control character with usual keyboard layout such as Ctrl+A of en-US keyboard layout because DispatchKeyPressEventsWithoutCharMessage() dispatches eKeyPress event in such cases.

This patch also adds a lot of tests with Ctrl or Alt state for detecting regressions.

MozReview-Commit-ID: KUNqTp7RDSc

--HG--
extra : rebase_source : f91e37b0b82a8e8a95444a08f6d3101f14fadc50
2016-10-05 15:18:00 +09:00
Masayuki Nakano 1c049b2afa Bug 1307112 part.7 Get rid of Enter and Backspace key hack in NativeKey class r=m_kato
Currently, Enter and Backspace keys are handled without following WM_(SYS)CHAR message.  However, older code needs hack for them for avoiding conflict with Ctrl+J vs. Ctrl+Enter, etc.

So, we can get rid of them now.  And when a keydown causes inputting a control character, NativeKey should handle it with keyboard layout (i.e., without following char message(s)).

MozReview-Commit-ID: 6bVuK0BzFbx

--HG--
extra : rebase_source : 08ff45c1990ef8f3ed7703c69b2dc22e5f1dd6f5
2016-10-04 00:21:40 +09:00
Masayuki Nakano 151e2402f9 Bug 1307112 part.6 Get rid of char message argument from public NativeKey::HandleCharMessage() method r=m_kato
Currently, NativeKey::HandleCharMessage() is only a public method and it takes any char message.  However, when it's called outside of NativeKey, it should work only with NativeKey::mMsg.

Therefore, we should make current HandleCharMessage() a private method and create new overload method which doesn't take MSG as an argument.

MozReview-Commit-ID: LowV2FUmR3U

--HG--
extra : rebase_source : 271c61515752cf1ea56cf12c4f7ef6f1a90c9cac
2016-10-03 23:55:14 +09:00
Masayuki Nakano 2b007a1732 Bug 1307112 part.5 NativeKey should skip non-printable char messages when it initializes mCommittedCharsAndModifiers with following char messages r=m_kato
NativeKey shouldn't include characters which are provided by WM_SYSCHAR message or WM_DEADCHAR message into mCommittedCharsAndModifiers.

MozReview-Commit-ID: Ax1BmO5wTy0

--HG--
extra : rebase_source : 5d7d1735a783213f7c6a47cca0cadb1d4c5104c0
2016-10-03 18:20:29 +09:00
Masayuki Nakano b445cf93ba Bug 1307112 part.4 Rename NativeKey::IsFollowedByNonControlCharMessage() to IsFollowedByPrintableCharMessage() r=m_kato
For consistency with IsPrintableCharMessage(), IsFollowedByNonControlCharMessage() should be renamed to IsFollowedByPrintableCharMessage().

MozReview-Commit-ID: CBJFPO4FZej

--HG--
extra : rebase_source : f5d677743be35a3bb5fca35e7658e907aa46dbcb
2016-10-03 18:07:33 +09:00
Masayuki Nakano 432f317b32 Bug 1307112 part.3 NativeKey::IsFollowedByNonControlCharMessage() should return true when one of following char messages is a printable char message r=m_kato
Currently, NativeKey::IsFollowedByNonControlCharMessage() returns true only when the first char message is a printable char message.  Although, I don't know actual cases coming printable WM_CHAR message after non-printable char message, i.e.,

1. WM_SYSCHAR or WM_DEADCHAR
2. WM_CHAR for a printable character

or

1. WM_CHAR with a non-printable character (a control character)
2. WM_CHAR with a printable character

, we should make it return true because when one or more characters are being inputted, we should ignore non-printable char messages and handle printable char messages in the path handling text input.

MozReview-Commit-ID: 1v7v5mCRFCP

--HG--
extra : rebase_source : f82f7b77376450168bad34be031164ecf7338621
2016-10-03 18:03:46 +09:00
Masayuki Nakano b8a5c9fef9 Bug 1307112 part.2 Create NativeKey::IsPrintableCharMessage() which returns true when given message is WM_CHAR and inputting a printable character r=m_kato
MozReview-Commit-ID: 7f74273Ogo5

--HG--
extra : rebase_source : 860b01320a7f02f9bebea570be43c5c508fd4f41
2016-10-03 17:52:41 +09:00
Masayuki Nakano 4bbcc90d42 Bug 1307112 part.1 Rename NativeKey::IsPrintableCharMessage() to IsCharOrSysCharMessage() r=m_kato
Currently, NativeKey::IsPrintableCharMessage() returns true if given message is WM_CHAR or WM_SYSCHAR.  However, WM_SYSCHAR never causes inputting any character and even if WM_CHAR has a control character (i.e., non-printable character), it returns true.

MozReview-Commit-ID: IoU5F06WImz

--HG--
extra : rebase_source : c48f424f3d2960e6e9ceaa6d2fb09952ca634c3f
2016-10-03 17:45:03 +09:00
David Major fcbab1c99e Bug 1307812: Re-work IsEmptyMSG() to avoid taking the address of a temporary. r=masayuki
--HG--
extra : rebase_source : 2d5c3223f56165b3059c9c75cd8ecdeef0e7ce34
2016-10-06 09:22:18 -05:00
Carsten "Tomcat" Book 2a026d93ba Backed out changeset 9fbc16390ef7 (bug 1299860) for bustage on a CLOSED TREE 2016-10-06 17:04:40 +02:00
Nicolas Silva f10342b425 Bug 1299860 - Don't use the compositor backend of a popup with ImageBridge and VRManager. r=Bas 2016-10-06 16:39:56 +02:00
Carsten "Tomcat" Book 6df735c3b7 Merge mozilla-central to autoland 2016-10-04 12:03:18 +02:00
Masayuki Nakano 6f3a61eba6 Bug 1305943 Don't consume following WM_SYSCHAR message for some key combinations which are reserved by the system r=m_kato
When key combination is reserved by the system, web apps shouldn't be able to consume the key events.  In such case, we've decided that we never expose the key events in web contents (including chrome contents).  Therefore, NativeKey stops dispatching keyboard events only for Alt+Space.

However, new code of the fix of bug 1300003 always consumes WM_SYSCHAR which follows WM_SYSKEYDOWN of Alt+Space.  This is the cause of bug 1305943.

For fixing this bug, NativeKey should have a helper method, IsReservedBySystem(), and when it returns true, it should do nothing when Handle*Message() is called and should not consume following WM_SYSCHAR messages at handling WM_*KEYDOWN.

Unfortunately, it's impossible to test this regression because nsDOMWindowUtils::SendNativeKeyEvent() may call nsIWidget::SynthesizeNativeKeyEvent() asynchronously.  See <https://dxr.mozilla.org/mozilla-central/source/dom/base/nsDOMWindowUtils.cpp#1105-1108>.  Therefore, it cannot return if it's consumed.

MozReview-Commit-ID: 9ABh2rYNkFs

--HG--
extra : rebase_source : 7416e45babccce3af795dc523f46dc00fdddc6c7
2016-09-30 17:32:34 +09:00
Masayuki Nakano e2d42463da Bug 1306549 part.10 Reorder member declaration of KeyboardLayout class r=m_kato
We usually declare class members with following order:

1. public members
2. private members
3. friends

However, current KeyboardLayout is declared with completely opposite order.  Let's use usual order for preventing mistakes.

MozReview-Commit-ID: LwOcEUbJzes

--HG--
extra : rebase_source : 828b5d14f1b38f46e4ae5244d15de68c4db6785c
2016-10-04 16:37:07 +09:00
Masayuki Nakano d2ec7a36c3 Bug 1306549 part.9 Create KeyboardLayout::IsInDeadKeySequence() which returns true while it's in a dead key sequence r=m_kato
Currently, checking if it's in dead key sequence directly refers mActiveDeadKey.  However, this isn't clear for most developers.  So, let's create a helper method, IsInDeadKeySequence(), and wrap the nonintuitive check.

MozReview-Commit-ID: 7qTer9R8Gfs

--HG--
extra : rebase_source : 6ecb20cc3f5e28cfcf41fb33df8603785288bdda
2016-09-30 15:55:51 +09:00
Masayuki Nakano 6a00ae82ee Bug 1306549 part.8 Get rid of |virtualKey| and |isKeyDown| from KeyboardLayout::InitNativeKey() and KeyboardLayout::MaybeInitNativeKeyAsDeadKey() r=m_kato
For preventing wrapping long lines, old KeyboardLayout::InitNativeKey() uses two variables |virtualKey| and |isKeyDown| which are never modified.  However, they may be not clear for some developers where they came from.  Additionally, preceding patches reduced a lot of users of them and indent level.  Therefore, even if we remove these variables, we don't need additional line breaks in most cases.  So, removing them is better for easier to understand.

MozReview-Commit-ID: 680bYVINPAE

--HG--
extra : rebase_source : 15f4398072ccfe659fc6d2ae95a3f13261efa5af
2016-09-30 15:40:40 +09:00
Masayuki Nakano 05ede9d10b Bug 1306549 part.7 Create KeyboardLayout::MaybeInitNativeKeyAsDeadKey() r=m_kato
This patch creates KeyboardLayout::MaybeInitNativeKeyAsDeadKey() for wrapping dead key handling code in KeyboardLayout::InitNativeKey().

This makes InitNativeKey() code simpler.  Now, any developers must be able to understand what InitNativeKey() does easier than before fixing this bug.

MozReview-Commit-ID: C59ESUXeTxU

--HG--
extra : rebase_source : c840a0544470ec4081e80c11e050d4dfedef4cad
2016-09-30 16:06:00 +09:00
Masayuki Nakano 022c2c76a7 Bug 1306549 part.6 Create KeyboardLayout::ActivateDeadKeyState() r=m_kato
There is DeactivateDeadKeyState() but not ActivateDeadKeyState().  There should be both of them and hides the dead key state management into them.

MozReview-Commit-ID: JvAPE5f2HVy

--HG--
extra : rebase_source : d7027a1a6b75c6859e79d651d3e9b0136cc09891
2016-09-16 19:09:12 +09:00
Masayuki Nakano c5efc36210 Bug 1306549 part.5 Create KeyboardLayout::GetCompositeChar() for wrapping VirtualKey::GetCompositeChar() r=m_kato
VirtualKey::GetCompositeChar() needs index of virtual keycode which may make around the caller messy.  So, KeyboardLayout::GetCompositeChar() should wrap it and KeyboardLayout::MaybeInitNativeKeyWithCompositeChar() should use it.

MozReview-Commit-ID: 8KLTJpCFZ8u

--HG--
extra : rebase_source : fd13c009330fd485c8cba30f469fc645b560c623
2016-09-16 18:54:48 +09:00
Masayuki Nakano da22fd3b2b Bug 1306549 part.4 Create KeyboardLayout::GetNativeUniCharsAndModifiers() for wrapping VirtualKey::GetNativeUniChars() r=m_kato
Similar to VirtualKey::GetUniChars(), VirtualKey::GetNativeUniChars() needs key index.  So, it should be wrapped by a new helper method, KeyboardLayout::GetNativeUniCharsAndModifiers(), and KeyboardEvent::InitNativeKey() should use this instead of accessing its member's GetNativeUniChars().

MozReview-Commit-ID: 7M9OlNF698Y

--HG--
extra : rebase_source : e19a5c99014a8f0a0ed7cc3a86fe0c4ee10cebb5
2016-09-16 18:38:53 +09:00
Masayuki Nakano 49ebeb51f0 Bug 1306549 part.3 KeyboardLayout::InitNativeKey() should use GetUniCharsAndModifiers() instead of using VirtualKey::GetUniChars() directly r=m_kato
When InitNativeKey() retrieves UniCharsAndModifiers for a key, it needs key index for the given virtual keycode.  Therefore, wrapping the code with GetUniCharsAndModifiers() makes InitNativeKey() code simpler since each call specifies the virtual keycode to the method instead of key index.

MozReview-Commit-ID: Azy8chXexaz

--HG--
extra : rebase_source : 98da43e7f542037f952206cd3db731f6cbb097e7
2016-09-16 18:22:12 +09:00
Masayuki Nakano 1559d32969 Bug 1306549 part.2 Create overload methods which take ModifierKeyState instead of VirtualKey::ShiftState r=m_kato
This patch gets rid of |shiftState| from KeyboardLayout::InitNativeKey() and make each caller clearer.  This must make other developers understand what modifier state is used at each call.

MozReview-Commit-ID: 6zydP1jkffv

--HG--
extra : rebase_source : ea1d5f49ea02812aa632bdbad871688879f2b401
2016-09-30 15:32:10 +09:00
Masayuki Nakano af0de6d7e8 Bug 1306549 part.1 KeyboardLayout::InitNativeKey() should use KeyboardLayout::IsDeadKey() r=m_kato
KeyboardLayout::InitNativeKey() is very messy because it handles a lot of cases without helper methods.

It's important to make it simpler implementation for preventing regressions caused by some patches which are written with misunderstanding.  So, let's rewrite the method with helper method.

First, this patch make InitNativeKey() use IsDeadKey() instead of referring the table because calling IsDeadKey() is easier to understand.

MozReview-Commit-ID: DtN9qoh7Gz7

--HG--
extra : rebase_source : 8e769c1c88bfe646940491c111de609dbf53eeec
2016-09-16 17:24:39 +09:00
Stone Shih 2df4b9dc8d Bug 1299195 - [Pointer Events] Filter double click event (input source=touch) to prevent dispatching extra mousedown and pointerdown events to content. r=kats
--HG--
rename : gfx/layers/apz/test/mochitest/test_bug1285070.html => gfx/layers/apz/test/mochitest/test_group_pointerevents.html
extra : rebase_source : cc47f2ead72bf332faac2b5a76b45036e5085937
2016-09-20 10:48:11 +08:00
David Anderson 56cd5719ee Fix vsync sometimes not firing after the GPU process crashes. (bug 1305628, r=mattwoodrow) 2016-09-30 01:23:52 -07:00
Kartikaya Gupta d0ea79dc37 Bug 1300203 - Ensure that sLastMouseMovePoint is updated even for touch-induced WM_MOUSEMOVE messages. r=jimm
MozReview-Commit-ID: 4qsjdL5iXVR
2016-09-29 15:15:00 -04:00
Carsten "Tomcat" Book 572e74ee99 merge mozilla-inbound to mozilla-central a=merge 2016-09-28 15:56:33 +02:00
Masayuki Nakano 2e184aba98 Bug 1305355 part.2 TSFTextStore shouldn't append any ranges when composition string is empty r=m_kato
TSFTextStore shouldn't append any ranges to dispatch empty composition event since empty clause information may make TextComposition confused.  Additionally, it doesn't need to append caret range because CompositionTransaction always sets caret at start of composition when the composition string is empty.

MozReview-Commit-ID: Iu8IWwEOxaf

--HG--
extra : rebase_source : 70b56c6d4caee309615170aee70f28d8c3eb7d92
2016-09-26 17:12:34 +09:00
Sebastian Hengst a026f5edf9 Backed out changeset 7bcb0c169466 (bug 1305628) for crashing with mozilla::OffTheBooksMutex::Lock. r=backout 2016-09-27 23:21:47 +02:00
Aaron Klotz 96c052cf1f Bug 1304883: Modify mscom::MainThreadInvoker and Win32 widget to use atomic boolean to flag pending APCs; r=jimm
MozReview-Commit-ID: 7fXoDkBEd2V

--HG--
extra : rebase_source : 1960f9bf8294bfea15209554dd7fdc0ce1df5dcc
2016-09-22 15:07:01 -06:00
David Anderson ea061497c3 Fix vsync sometimes not firing after the GPU process crashes. (bug 1305628, r=mattwoodrow) 2016-09-27 13:15:55 -07:00
George Wright 865f4251ec Bug 1304360 - Add Windows 7 w/Intel drivers less than or equal to build ID 1749 to the blocklist for D3D9 layers r=milan 2016-09-27 16:10:02 -04:00
Masayuki Nakano caa4d59b38 Bug 1302956 part.2 NativeKey shouldn't handle char message if it's created during another instance is trying to remove a char message from the queue r=m_kato
When NativeKey tries to remove a char message from the queue, another NativeKey instance might be created due to odd API hook or something.  In such case, the old instance should handle the received message and the new instance should do nothing for keeping the order of message handling.

This patch makes:

* NativeKey::GetFollowingCharMsg() store removing char message to mRemovingMsg before calling PeekMessage() with PM_REMOVE.
* NativeKey::InitWithChar() set the old instance's mReceivedMsg to the received char message and do nothing even if HandleCharMessage() is called later.
* NativeKey::GetFollowingCharMsg() return received char message if mReceivedMsg is set during a call of PeekMessage().

MozReview-Commit-ID: KXYW0GgC9AY

--HG--
extra : rebase_source : 08472dec28e93450cd04a367843c1511cb812a9c
2016-09-23 16:40:01 +09:00
Masayuki Nakano bf273c667a Bug 1302956 part.1 NativeKey should store latest instance with sLatestInstance r=m_kato
For detecting nested creation of NativeKey instances, NativeKey should manage the latest instance with sLastestInstance for the other instances and previous instance with mLastInstance.

MozReview-Commit-ID: BFZ0cr1640S

--HG--
extra : rebase_source : e2439a21f5984c6246283924c2013038c734ae2a
2016-09-15 17:02:30 +09:00
Masayuki Nakano c4106a36a9 Bug 1297013 part.3 Make NativeKey log its behavior r=m_kato
MozReview-Commit-ID: 6ksuMFMxQdM

--HG--
extra : rebase_source : 28f04d8e5d33c018a8bcda7d8ae1a84da07eaeb9
2016-09-21 13:29:34 +09:00
Masayuki Nakano 92ba10120f Bug 1297013 part.1 Implement ToString(const MSG&) for logging key related message with detail r=m_kato
For logging message, we should have better log text generator for MSG.

Then, we can improve the note of crash reports which is appended in NativeKey::GetFollowingCharMessage().

MozReview-Commit-ID: 4sbZJaWFH2o

--HG--
extra : rebase_source : bbc3101a78e4e2aa8b5eb0f68cd6f3605ba924f6
2016-08-26 20:52:25 +09:00
Masayuki Nakano eac959a338 Bug 1300003 part.6 NativeKey shouldn't try to dispatch plugin events for removed char messages when mWidget won't dispatch plugin events r=m_kato
Currently, NativeKey::DispatchPluginEventsAndDiscardsCharMessages() calls nsWindowBase::DispatchPluginEvent() and nsWindowBase::DispatchPluginEvent() does nothing when windowless plugin doesn't have focus.  However, this is unclear when other developers read the code of DispatchPluginEventsAndDiscardsCharMessages() and it causes unnecessary virtual calls.  So, it should try to dispatch plugin events only when a windowless plugin has focus.

For making the check safer, nsWindowBase should expose the method to check it as ShouldDispatchPluginEvent().  Unfortunately, we cannot mark this method as const due to PluginHasFocus() needs to be not const method, though.  Then, for loops in DispatchPluginEventsAndDiscardsCharMessages() should check it at each try.

This change helps to log the behavior (working on bug 1297013) without noise.

Additionally, this patch renames the method to MaybeDispatchPluginEventsForRemovedCharMessages() because it doesn't remove any char messages anymore.

MozReview-Commit-ID: F14Lcx47M6U

--HG--
extra : rebase_source : 64b6da75590c99299f75358023844762198136d6
2016-09-15 00:16:18 +09:00
Masayuki Nakano 050c1b4088 Bug 1300003 part.5 Remove odd WM_CHAR messages which are caused by ATOK or WXG (both of them are Japanese IME) r=m_kato
NativeKey removes odd WM_CHAR messages which are caused by ATOK or WXG if the user tries to do "Kakutei-Undo" (meaning "undo the last commit") after dispatching eKeyDown event.

However, NativeKey should remove them from the queue first because there are some problems:

* If focus is moved during dispatching an eKeyDown event, we'll fail to remove the messages from the queue.
* If dispatching eKeyDown advance native event loop due to entering to a modal loop or dosing synchronous XHR, the message pattern is broken before removing the odd messages from the queue.

After removing the odd char messages, NativeKey should store them with mRemovedOddCharMsgs because NativeKey needs to dispatch them to focused windowless plugin.

Note that this patch also fixes a bug of the loop to remove the odd WM_CHAR messages.  Old code removes only one WM_CHAR messages, but we need to remove all WM_CHAR messages before WM_KEYUP.  This must be a regression.

MozReview-Commit-ID: I60bcIx2SFS

--HG--
extra : rebase_source : 19d0e70d9f39e6d0476c62def5e0a2dc1e0ab444
2016-09-14 16:20:53 +09:00
Masayuki Nakano c0ad8a8fb2 Bug 1300003 part.4 Remove NativeKey::mIsFollowedByNonControlCharMessage because calling NativeKey::IsFollowedByNonControlCharMessage() is enough fast r=m_kato
NativeKey is now removing and storing following char messages when it's created for a keydown message.  Therefore, IsFollowedByNonControlCharMessage() just refers the stored messages and it's enough fast.  So, we can get rid of mIsFollowedByNonControlCharMessage.

MozReview-Commit-ID: 542A2sHNXeC

--HG--
extra : rebase_source : e748c9855c3cf2d45609f94f9ccc8d43d29dc447
2016-09-05 21:47:58 +09:00
Masayuki Nakano 308955d236 Bug 1300003 part.3 NativeKey::GetFollowingCharMessage() should always remove following WM_CHAR message r=m_kato
GetFollowingCharMessage() is now called only when removing following char message.  Therefore, it does not need to have the optional argument indicating if removing the found message.

MozReview-Commit-ID: 7P39wyfSC1

--HG--
extra : rebase_source : a38bb961df1bc03adc21295bc39e4e9c16e864f2
2016-09-05 21:41:48 +09:00
Masayuki Nakano 6934d7ed93 Bug 1300003 part.2 Don't continue to dispatch eKeyPress event at handling WM_KEYDOWN or following WM_CHAR messages if focused window is changed during dispatching an event r=m_kato
While dispatching an event, focused widget may be changed.  In such case, NativeKey shouldn't continue to dispatch remaining events (eKeyPress events) for preventing to dispatch to input text in unexpected website.

MozReview-Commit-ID: 7geuqks0LQK

--HG--
extra : rebase_source : 3e6c82e1eb0e27115fe93b1a3b4a155914fd06f7
2016-09-05 18:56:34 +09:00
Masayuki Nakano af43a9e1dc Bug 1300003 part.1 NativeKey should remove following char messages before dispatching a keydown event r=m_kato
In some cases, we may receive following char message of WM_*KEYDOWN *during* dispatching an eKeyDown event. In such case, NativeKey shouldn't dispatch eKeyPress event twice (one is caused by receiving WM_*CHAR message, the other is caused by post dispatching eKeyDown event code).

This patch makes NativeKey consume following WM_*CHAR messages before dispatching eKeyDown.  Therefore, the former case will never occur.

For doing that, NativeKey stores following WM_*CHAR messages in mFollowingCharMsgs and uses it when it needs to dispatch eKeyPress events for each WM_*CHAR message.

MozReview-Commit-ID: 6QNvlwVVlTz

--HG--
extra : rebase_source : c33b5a1ac503326d51ef78f4f8a09c9a63df7871
2016-09-15 00:02:15 +09:00
Masayuki Nakano b8318c87fb Bug 1300937 part.4 NativeKey::GetScanCodeWithExtendedFlag() should return 0xE0XX even on WinXP or WinServer2003 r=m_kato
For safety, NativeKey::GetScanCodeWithExtendedFlag() returns without extended flag on WinXP and WinServer2003 because ::MapVirtualKeyEx() API doesn't support extend key conversion.

However, extended scan code is available even on them when lParam has 0x1000000 especially when it computes KeyboardEvent.code value.  Therefore, it should return with 0xE000 for extended keys on any versions of Windows.

Note that NativeKey::ComputeVirtualKeyCodeFromScanCodeEx() wraps ::MapVirtualKeyEx() API.  It checks if the API is not available for the result of NativeKey::GetScanCodeWithExtendedFlag().  So, returning extended scan code from NativeKey::GetScanCodeWithExtendedFlag() is safe.

MozReview-Commit-ID: D2RrHxPI9ET

--HG--
extra : rebase_source : 51f277e8331eb7ad109c3227ac1fe73f6de48105
2016-09-16 10:17:44 +09:00
Masayuki Nakano 05960c4ff6 Bug 1300937 part.2 Automated tests which synthesize native key events on Windows should specify scan code value explicitly r=smaug
On Windows, some keys are called "extended key".  Their scan code include 0xE000.  For example, Enter key in standard position is 0x001C but Numpad's Enter key is 0xE01C.  Unfortunately, both of them cause same virtual keycode value, VK_RETURN.  Therefore, currently, nsIDOMWindowUtils.sendNativeKey() can synthesize only one native key event of them (only non-extended key's event).  Additionally, MapVirtualKeyEx() API with MAPVK_VK_TO_VSC (even with MAPVK_VK_TO_VSC_EX) don't return extended scancode value as expected.

For solving these issues, we should include scan code value to the virtual keycode value at calling sendNativeKey().

Fortunately, virtual keycode value on Windows is 0 ~ 255 (0x00 ~ 0xFF) but aNativeKeyCode of sendNativeKey() is int32_t.  So, we can use upper 16 bit for specifying scan code.

This patch explicitly specifies scan code value at defining WIN_VK_* in NativeKeyCodes.js.  Additionally, this patch duplicates native virtual keycode definition for Home, End, Insert, Delete, PageUp, PageDown, ArrowUp, ArrowLeft, ArrowDown, ArrowRight and Enter as WIN_VK_* and WIN_VK_NUMPAD_*.  This makes automated tests can specify both positions' keys explicitly.

Finally, this patch adds some tests to test_keycodes.xul for testing KeyboardEvent.code value of those keys in both positions.

MozReview-Commit-ID: 8n1rQ71dilg

--HG--
extra : rebase_source : 8215e56ba1ed9fc54c04eb7ca037b12c3ced5c1b
2016-09-13 19:38:23 +09:00
Xidorn Quan bd57d227da Bug 888781 part 2 - Scale cursor with the window scale on Windows. r=jimm
MozReview-Commit-ID: C9LZpJF98mQ

--HG--
extra : rebase_source : 34791db2d6f511e07070ae5391106eb66d0ef2cd
2016-09-19 10:35:48 +10:00
Xidorn Quan f9678375c6 Bug 888781 part 1 - Use cached default scale in GetDefaultScaleInternal of Windows. r=jimm
MozReview-Commit-ID: Ebm7h3h2mrg

--HG--
extra : rebase_source : e37ddbfca0eee4a7ba04121709f93048b0aab899
2016-09-19 10:35:12 +10:00
Thomas Wisniewski e2d5d5425f Bug 1302937 - Remove -moz-mac-lion-theme. r=mstange 2016-09-16 14:42:19 -04:00
Nicolas Silva 79bb9f5c0e Bug 1284837 - Disallow implicit conversions from float to integer when creating. r=botond 2016-09-16 17:49:39 +02:00
Nathan Froyd 5f3f5ad1d7 Bug 1296746 - followup - fix silly typo; r=bustage 2016-09-14 19:53:59 -04:00
Nathan Froyd bb7f2dc621 Bug 1296746 - explicitly ignore the result of Send{Observe,Unobserve}Vsync in CompositorWidgetParent; r=jimm 2016-09-14 19:28:26 -04:00
Makoto Kato 4dd22032fa Bug 1300140 - Return error when IME attribute array doesn't have valid. r=masayuki
MozReview-Commit-ID: 2paKhQNSR11

--HG--
extra : rebase_source : 407622cc47defcb34cbbe87734d95a96ce66cf14
2016-09-14 11:09:00 +09:00
Makoto Kato fe2967b415 Bug 1300143 - Set length before accessing array even if array capacity has enougth size. r=masayuki
MozReview-Commit-ID: F5IoXBOnouc

--HG--
extra : rebase_source : f6dde2d1efad1d26c2c6c22e54142cf21105db8c
2016-09-14 11:07:19 +09:00
Carsten "Tomcat" Book c81bda3e2d Merge mozilla-central to autoland 2016-09-09 12:19:59 +02:00
Gerald Squelart f4bed109c8 Bug 1301615 - Restrict block from bug 1267970 to win10 - r=kentuckyfriedtakahe
MozReview-Commit-ID: ElERUckchnn

--HG--
extra : rebase_source : 231d3ad6a6a3f7b981921d1a9827a37b28a7e0ce
2016-09-09 17:01:00 +10:00
Aaron Klotz 23956d09e2 Bug 1301184: Notify the profiler and hang monitor when we're executing APCs; r=jimm
MozReview-Commit-ID: B4nTiAf9GNk
2016-09-06 14:39:37 -06:00
Jonathan Kew 99d8332346 Bug 1289143 - Apply the appropriate scaling to window edges when processing WM_NCCALCSIZE for a window on a secondary screen with non-system DPI. r=emk 2016-09-06 17:53:50 +01:00
Chih-Yi Leu 3e3fd845b4 Bug 1299757 - Only use build id for Intel blocklist entry 'FEATURE_FAILURE_BUG_594877'. r=ethlin, r=milan 2016-09-05 01:03:00 +02:00
Chih-Yi Leu 9a2500bfb6 Bug 1295902 - Only use build id for Intel blocklist entry 'FEATURE_FAILURE_BUG_1203199_1'. r=ethlin 2016-08-31 20:34:00 +02:00
Masayuki Nakano 45df2cd377 Bug 1300319 part.1 NativeKey::IsControlChar() should return true when the char is 0x7F (control character, DELETE) r=m_kato
Ctrl+Backspace causes WM_CHAR for control character DELETE.  However, NativeKey::IsControlChar() doesn't treat it as a control character.  Therefore, NativeKey treats Backspace key as a printable character.

MozReview-Commit-ID: 29V45CNp8kW

--HG--
extra : rebase_source : 6656d884addf8b49dfa7c12d0b2c8d0543493c4f
2016-09-05 12:51:49 +09:00
Masayuki Nakano 8a11a75b19 Bug 1297985 part.2 KeyboardLayout should handle a composite character produced by 2 dead keys r=m_kato
On some keyboard layouts, a key sequence, a dead key -> another dead key, may produce a composite character instead of two base characters for each key.  For example, with "Russian - Mnemonic" keyboard layout on Win 8 or later, both 's' and 'c' are dead keys but key sequence, 's' -> 'c', produces a Unicode character.

For solving this issue, this patch fixes 2 bugs:

First, KeyboardLayout::GetDeadKeyCombinations() doesn't add dead key entry if 2nd key is a dead key (::ToUnicodeEx() returns -1).  In such case, it should add a dead key entry with the first character which is produced when only the 2nd key is pressed (the character is called as "base character" and used for index of the dead key table).

Next, KeyboardLayout::InitNativeKey() should check if 2nd dead key press produces a composite character.  If it's produced, it should initialize given NativeKey with the composite character.  Otherwise, it should initialize with base characters of each key.  This patch does it with KeyboardLayout::MaybeInitNativeKeyWithCompositeChar().

Finally, we should add automated test for this. However, unfortunately, it's not available on Win7 and our infra is still using Win7 for running automated tests.  Therefore, this patch doesn't include new automated tests.

MozReview-Commit-ID: G1DrfkHKNcK

--HG--
extra : rebase_source : 6ff4278d594a26a0908464b1e603a0a7ee2b3b38
2016-09-01 17:29:11 +09:00
Masayuki Nakano af458c6eea Bug 1297985 part.1 Log KeybordLayout::LoadLayout() to help developers to understand what data is created r=m_kato
It's difficult to understand what data is created by KeyboardLayout::LoadLayout().  So, for understanding what data is created, let's add logging code into it.

MozReview-Commit-ID: CelxyVpGn5f

--HG--
extra : rebase_source : fd8f15a42c4c2b4c1f1079184060c6e5f796ac5a
2016-09-01 17:32:14 +09:00
Gerald Squelart cf6fbda904 Bug 1267970 - Block hw decoding on ati up to 16.300.2311.0 - r=kentuckyfriedtakahe
Based on crash reports, and issue was fixed in later drivers.
Also blocking 15.x up to 15.301.2301.1002.

MozReview-Commit-ID: F4kJta8JH1K

--HG--
extra : rebase_source : 5f69443b72cfefde052f70e27d8cf98128b3b913
2016-09-01 07:35:59 +10:00
Phil Ringnalda 66b3a90750 Merge m-i to m-c, a=merge 2016-09-05 13:05:52 -07:00
Masayuki Nakano 370905b797 Bug 1293638 NativeKey::WillDispatchKeyboardEvent() should set alternative charCode values properly when other shift state inputs longer text r=m_kato
There are 2 bugs and this patch fixes them once.

First, NativeKey::WillDispatchKeyboardEvent() is used to setting alternative charCode values for every eKeyPress event.  However, for supporting "reserved" shortcut keys, now, it sets alternative charCode values to eKeyDown too.  However, they are really different.  eKeyPress events are fired for every character to be inputted by a key press sequence.  On the other hand, eKeyDown event is fired only once for a key sequence.  Therefore, now, NativeKey::WillDispatchKeyboardEvent() needs to set alternative charCode values for all characters inputted by the key sequence to eKeyDown event.

The other is not a new bug.  NativeKey::WillDispatchKeyboardEvent() sets the last eKeyPress event's special alternative charCode values, such as unshifted Latin character, shifted Latin character and some character which can be computed from virtual keycode.  This is performed when given index is the last index of the longest input string of the key.  However, the value includes different shift key state.  I.e., when different shift key causes longer text input, NativeKey::WillDispatchKeyboardEvent() won't set the special alternative charCode values to any eKeyPress events.  For example, when Ctrl+T is pressed with Arabic keyboard layout, its unshifted input string length is 1 but shifted input string length is 2.  Then, eKeyPress event is fired only once, but NativeKey::WillDispatchKeyboardEvent() waits second eKeyPress event.

Therefore, this patch makes the method append alternative charCodes for all remaining characters and detect the last event correctly with mCommittedCharsAndModifiers (it's used for KeyboardEvent.key value of eKeyDown event and the count of eKeyPress events is same as the value's length).

MozReview-Commit-ID: 6adUnmi5KYy

--HG--
extra : rebase_source : 8c04a3a155f2fcb9a5a8b3e9e0a176c678dc6265
2016-09-01 14:26:02 +09:00
Ho-Pang Hsu 8e327f28fa Bug 1258808 - Part 2: Enhance Widget for Windows (Widget). r=smaug, f=btseng
--HG--
extra : rebase_source : d22c59ac2a0e0bb7baec976bbabc1c75ec6f5955
extra : histedit_source : 12058ce71e0268f2582044bf307f83d461966bd4
2016-09-01 16:12:15 +08:00
Chih-Yi Leu 5340c68589 Bug 1295899 - Change DRIVER_LESS_THAN_OR_EQUAL to DRIVER_BUILD_ID_LESS_THAN_OR_EQUAL r=ethlin r=milan
--HG--
extra : rebase_source : 537d1469dc1c5e888e685956c1970c7ebd7cb99e
2016-08-31 20:24:00 +02:00
Makoto Kato d1dd26f493 Bug 1265739 - DocumenetProperties should use LONG as return type. r=jimm
When investigating bug 1075194, I found that we don't check return value of DocumentPropertiesW.  So we sould use correct type and add log for this API.

MozReview-Commit-ID: Ck3VwMq9OpQ

--HG--
extra : amend_source : a0da15b578055b7612ce96b44cac2cd69607fa51
2016-08-22 14:45:49 +09:00
Wes Kocher ee92002ede Merge inbound to m-c a=merge 2016-09-02 13:17:30 -07:00
Kartikaya Gupta 48a5a4c393 Bug 1298908 - On Windows, fire the contextmenu and long-tap events on the long-tap-up user action. r=botond,jimm
This patch prevents the Windows widget code from dispatching the contextmenu
event if APZ is handling touch input. Instead, the APZ code processes the
raw touch input, and will fire a contextmenu event when the user lifts their
finger after a long-press action, in keeping with the Windows platform
convention. Doing it this way also allows us to respect web conventions where
the web content can prevent the contextmenu event from firing by calling
preventDefault on the touchstart event; this was not possible when dispatching
the contextmenu event directly from the widget code.

This also makes long-pressing on browser chrome components work properly, as
it just shifts the point in time that the contextmenu event is fired without
changing any of the code that triggers the XUL popup. However, some changes
were needed to have the widget code ignore the synthetic mouse events that
the Windows platform sends us, because those would otherwise immediately
dismiss the contextmenu popup after it appeared.

MozReview-Commit-ID: 9HFZLC6xUAi

--HG--
extra : rebase_source : aea932d9f95454c585bcdf962d151c946b5c6ec2
2016-08-30 17:32:08 -04:00
Masayuki Nakano 1604e5479f Bug 1293505 part.2 KeyboardLayout::SynthesizeNativeKeyEvent() should emulate WM_SYEKEYDOWN, WM_SYSCHAR, WM_SYSDEADCHAR and WM_SYSKEYUP correctly r=m_kato
The new test failure is caused by a bug of the test API, KeyboardLayout::SysnthesizeNativeKeyEvent().  It doesn't generate WM_SYSKEY* messages nor WM_SYS*CHAR messages when Alt key is pressed.  Therefore, the new path in the previous code works unexpectedly with automated tests.

This patch makes KeyboardLayout::SysnthesizeNativeKeyEvent() WM_SYS* message aware.  When Alt key is pressed (but Ctrl key is not pressed) and the Alt key + something doesn't cause text input, the API generates WM_SYS* messages as expected.

MozReview-Commit-ID: FLbe4SYEZLf

--HG--
extra : rebase_source : 054147997eddfb01dbad63afc07e0b4f59a60257
2016-08-31 16:42:27 +09:00
Masayuki Nakano 98601adf03 Bug 1293505 part.1 NativeKey should treat a key message as printable key's when the key message is followed by a printable char message r=m_kato
Some keyboard utilities for Windows can change non-printable keys to printable keys.  Therefore, if a keydown message is followed by one or more char message whose wParam isn't a control character, NativeKey should treat it as a printable key's event.

MozReview-Commit-ID: HoFbz5Zafeh

--HG--
extra : rebase_source : 9001c58cb082a93946e1b4c445dfe71f15d08997
2016-08-26 22:12:58 +09:00
Nicholas Nethercote 5bf56904c4 Bug 1296993 (part 8) - Streamline nsIWidget::CaptureMouse. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.

--HG--
extra : rebase_source : 1c42bb32a662f2659c934a245ecd0025045120a5
2016-08-25 14:10:02 +10:00
Nicholas Nethercote 346d5f4895 Bug 1296993 (part 7) - Streamline nsIWidget::CaptureRollupEvents. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Puts an empty implementation into nsBaseWidget.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.

--HG--
extra : rebase_source : 2a94a47f1e7fe986d1efc3854c72968a3e28e365
2016-08-25 13:43:27 +10:00
Nicholas Nethercote 4390cb4f8d Bug 1296993 (part 4) - Streamline nsIWidget::PlaceBehind. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.

--HG--
extra : rebase_source : 82733f682c9e254e20354cc6908955a1e7485ee7
2016-08-25 13:43:27 +10:00
Nicholas Nethercote d8684f0659 Bug 1296993 (part 3) - Streamline nsIWidget::ConstrainPosition. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Puts an empty implementation into nsBaseWidget.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.

--HG--
extra : rebase_source : ccf64aaa9364d096e1f060ef77be7e8455b11e1f
2016-08-25 13:43:27 +10:00
Nicholas Nethercote ff02e25e13 Bug 1296993 (part 1) - Streamline nsIWidget::ReparentNativeWidget. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Puts an empty implementation into nsBaseWidget.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.

--HG--
extra : rebase_source : e98b7f9970a920c39e941bb531dfc098125913d1
2016-08-25 13:43:26 +10:00
Ethan Lin d2db92ebce Bug 1295742 - Add gfxCriticalNote for driver reset. r=jerry, r=dvander 2016-08-25 02:17:00 -04:00
Kartikaya Gupta fd9d34fba8 Bug 1298313 - Revert the third patch from bug 1256339 because it broke long-press context menus in non-e10s mode. r=backout
MozReview-Commit-ID: FZEbH0TlY8L
2016-08-29 14:29:57 -04:00
Masayuki Nakano cc2605d4e3 Bug 1294536 KeyboardLayout::InitNativeKey() shouldn't initialize NativeKey with WM_CHAR whose wParam isn't a printable character r=m_kato
KeyboardEvent::InitNativeKey() should initialize NativeKey if it's created for handling an orphan WM_CHAR message, however, if it the charCode isn't a printable character such as 0x0D for Enter key, it shouldn't refer it because focused editor shouldn't handle keyboard event as inputting the non-printable character.

MozReview-Commit-ID: FwTdGqhPEld

--HG--
extra : rebase_source : 69da91ad47e64199c8ff6c120522eb7e153122cd
2016-08-22 14:23:59 +09:00
Olli Pettay f684a31ad3 Bug 1295914, improve the label of the button of folder picker, r=baku,mstange,karlt,jimm
--HG--
extra : rebase_source : 17d97b01d1e7d27b37369f46a6ea8854f9384f54
2016-08-24 02:07:21 +03:00
Kan-Ru Chen b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Sotaro Ikeda 1ff245b181 Bug 1259571 - Reduce tearing with basic layers on Windows r=dvander
--HG--
rename : gfx/thebes/DeviceManagerD3D11.cpp => gfx/thebes/DeviceManagerDx.cpp
rename : gfx/thebes/DeviceManagerD3D11.h => gfx/thebes/DeviceManagerDx.h
2016-08-23 15:18:55 -07:00
Ryan VanderMeulen 82663d8710 Merge inbound to m-c. a=merge 2016-08-23 10:05:18 -04:00
David Anderson 424b5eb180 Initialize nsAppShell in the GPU process. (bug 1294350 part 5, r=nfroyd) 2016-08-22 22:57:36 -07:00
Gerald Squelart e95d6d0b9c Bug 1297226 - Only disable hw decoding for ati <=12.200.1062.1004 - r=kentuckyfriedtakahe
MozReview-Commit-ID: FlwFItoaBAl

--HG--
extra : rebase_source : c01a23e79f6134e8fb20d55eb466a09510413710
2016-08-23 10:06:00 +10:00
Nicholas Nethercote 00246f9dff Bug 1293596 (part 8) - Make nsIWidget::EnableDragDrop() infallible. r=jimm.
Its return value is only checked in one low-value assertion.

The patch also does the following.

- Removes the Android and GTK overloadings of EnableDragDrop(), which are
  identical to the nsBaseWidget one.

- Streamlines the Windows implementation: fixes the indentation and takes
  advantage of infallible |new|.

--HG--
extra : rebase_source : d090848cf5ea2e92c0188b07559c1e1f3899829f
2016-08-22 09:16:50 +10:00
Nicholas Nethercote 367d94e34e Bug 1293596 (part 7) - Make nsIWidget::Destroy infallible. r=karlt.
--HG--
extra : rebase_source : 403d279c432c70671aa85991868d006c1f2da81d
2016-08-10 10:04:11 +10:00
Nicholas Nethercote 8bc855b22d Bug 1293596 (part 6) - Make nsIWidget::SetSizeMode() infallible. r=mstange,baku.
The only implementation of SetSizeMode() that can fail is the nsCocoaWindow
one, on an Objective C exception, which is unlikely and can be swallowed.

This allows some nsGlobalWindow functions to become infallible as well.

--HG--
extra : rebase_source : 85d54185f63d2c138ee3f3e0e0bfe3b5e805a981
2016-08-22 09:15:49 +10:00
David Anderson f0ab54253c Add feature level to D3D11DeviceStatus. (bug 1294988 part 6, r=mattwoodrow) 2016-08-20 20:59:11 -07:00
David Anderson 396d5d1191 Refactor cross-process acceleration controls. (bug 1294988 part 4, r=mattwoodrow) 2016-08-20 20:59:11 -07:00
Ryan VanderMeulen 01c4e8cc1b Merge inbound to m-c. a=merge 2016-08-19 09:52:53 -04:00