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

2168 Коммитов

Автор SHA1 Сообщение Дата
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
Masayuki Nakano 6ae29c9c6d Bug 1273510 part.3 We should not return TS_E_NOLAYOUT when ATOK decides its suggest window r=m_kato
Returing TS_E_NOLAYOUT while ATOK shows suggest window causes moving suggest window to odd position.  This causes flicking the window.  Therefore, we shouldn't return TS_E_NOLAYOUT in this case.  In this case, ATOK queries whole rect of composition string.  So, we can return TS_E_NOLAYOUT for other cases.

MozReview-Commit-ID: LBZQPFjqQgx

--HG--
extra : rebase_source : 27fda6739562dfaf89efd1d2cd9cac03610846ba
2016-08-17 14:07:54 +09:00
Nicholas Nethercote 3fda0deee8 Bug 1293596 (part 5) - Tweak nsIWidget::MakeFullScreen{,WithNativeTransition}(). r=mstange.
They don't need to be NS_IMETHOD.

The patch also gives nsBaseWidget an InfallibleMakeFullScreen() function, which
avoids the need for some checks.
2016-08-19 09:27:28 +10:00
Nicholas Nethercote cc993d1772 Bug 1293596 (part 4) - Tweak nsIWidget::Create. r=mstange.
They don't need to be NS_IMETHOD, but they should be MOZ_MUST_USE. Adding the
latter catches a few missing checks, which the patch adds.

The patch also gives PuppetWidget an InfallibleCreate() function, which makes
the infallibility of PuppetWidget creation clear.
2016-08-19 09:03:17 +10:00
Nicholas Nethercote 8f79833e36 Bug 1293596 (part 3) - Remove GetNonClientMargins. r=mstange.
It's dead code -- the only use is a recursive call within
nsWindow::GetNonClientMargins().
2016-08-19 09:03:13 +10:00
Nicholas Nethercote 67af4817e9 Bug 1293596 (part 2) - Rework nsIWidget bounds getters. r=mstange.
This patch makes GetBounds(), GetScreenBounds() and GetClientBounds() more
obviously infallible, like existing functions such as GetNaturalBounds() and
GetClientSize(). This results in clearer behaviour in nsCocoaWindow.mm if
Objective C exceptions occur. Along the way, the patch removes some useless
failure checks for these functions.

The patch also removes the NS_IMETHOD from GetRestoredBounds and makes that
function MOZ_MUST_USE.
2016-08-19 09:03:04 +10:00
Masayuki Nakano 19cd3248f2 Bug 1273510 part.2 Modify comment in IMMHandler::SetCandidateWindow() r=m_kato
MozReview-Commit-ID: KX1frgDFsPi

--HG--
extra : rebase_source : e8478a5d61b68e01b2b7bce34705273d8a891e11
2016-08-09 17:46:44 +09:00
Masayuki Nakano 1f206a7c93 Bug 1273510 part.1 TSFTextStore should use native caret hack only when ATOK 2011 - 2016 is active r=m_kato
ATOK 2011 - 2016 check focused window class name if it's a Mozilla's window.  Then, they refer native caret position for deciding its popup window.  However, future ATOK release will stop referring native caret position on Mozilla's windows.  Therefore, we can stop creating native caret for new ATOK.

MozReview-Commit-ID: HPh3DVqTkvc

--HG--
extra : rebase_source : 00b75b75df2ba1bace328cfb75172c78c6bea29d
2016-08-09 16:53:00 +09:00
Jeff Gilbert 9a6dade559 Bug 1287653 - Add blacklist entry for dx_interop2. - r=milan
MozReview-Commit-ID: ID2bRpOnysX
2016-08-18 14:06:50 -07:00
David Anderson 47faa17e03 Don't initialize DirectX in the UI process, when the GPU process is enabled. (bug 1294986 part 2, r=mattwoodrow) 2016-08-16 11:03:29 -07:00
Wes Kocher 48b8d407c8 Merge inbound to central, a=merge
a=release to get around the webidl hook for a comment-only change

--HG--
extra : amend_source : f7e57101e1a25d3cf3536a256898ec2a21c54b38
2016-08-16 17:05:30 -07:00
Masayuki Nakano c02794dda5 Bug 1293957 part.3 TSFTextStore::GetTextExt() shouldn't query text rect with 0 length r=m_kato
ContentEventHandler and ContentCache allow 0 length text rect query.  However, if selection is collapsed and caret is at the queried offset, they return actual caret rect whose height (in horizontal layout, width in vertical layout) may be different from actual font height of the line.

Therefore, it may cause "dancing" of candidate or suggest window of TIP.  Therefore, we should query text rect at least 1 length.  Then, even if there is no character at the offset, they computes caret rect with previous character.

MozReview-Commit-ID: 9LprWTPyMsF

--HG--
extra : rebase_source : c0dfad35bcc1961948e21c8b50b21cdf218ba966
2016-08-11 11:31:16 +09:00
Masayuki Nakano 1e9c136ec4 Bug 1293957 part.2 TSFTextStore::GetTextExt() shouldn't return TS_E_NOLAYOUT after hacking the query range r=m_kato
When TSFTextStore::GetTextExt() needs to hack the queried range, it means that the method should not return TS_E_NOLAYOUT since the hacks are implemented for that.  However, currently, if hacked offset is still at modified offset, it returns TS_E_NOLAYOUT.  This causes flicking IME windows.

For avoiding that, this patch adjust the hacked offset to the last unmodified offset or offset of the start of composition string. Even if there is no modified character in the composition string, we can use the offset since even if there is no character at the offset, query content event returns caret rect at the offset and if there are old characters, it returns its rect which the user still see.  So, the rect at the composition start is useful until layout is modified actually.

MozReview-Commit-ID: 4zo9mF3m9u9

--HG--
extra : rebase_source : 6dd15b62422b85edf04150f15caaca45d7bc3600
2016-08-10 19:11:11 +09:00
Masayuki Nakano 2aaddf71a7 Bug 1293957 part.1 TSFTextStore::Content::mMinTextModifiedOffset should be treated as the first offset of modified characters r=m_kato
Currently, TSFTextStore::GetTextExt() checks the offset with mContentForTSF.MinOffsetOfLayoutChanged() as "the first offset of modified characters", however, TSFTextStore::Content::IsLayoutChangedAfter() needs actual offset - 1. This is really not useful. So, we should rename it to IsLayoutChangedAt() and check the offset simply.

Additonally, TSFTextStore::GetTextExt() should set previous offset of MinOffsetOfLayoutChanged() when it hacks the queried range for avoiding bug of active TIP since setting offsets to the result of MinOffsetOfLayoutChanged() means the offset's layout is always not computed yet.

MozReview-Commit-ID: 182BMuubtFc

--HG--
extra : rebase_source : 65355fc4e488592f59dfc0b44806571ff0b87cd6
2016-08-10 18:48:50 +09:00
Sebastian Hengst d5866d2b77 Backed out changeset 9ba0dd5271fe (bug 1286653) for permafailing xpcshell test test_TelemetryEnvironment.js | test_checkEnvironment on Windows 8 x64 debug. r=backout 2016-08-13 10:58:06 +02:00
Wes Kocher 4aec37ca6e Merge m-c to autoland, a=merge 2016-08-12 16:30:03 -07:00
Wes Kocher e9097643d5 Merge inbound to central, a=merge 2016-08-12 13:44:29 -07:00
Nicholas Nethercote bab6d17ebf Bug 1293117 (part 4) - Change many NS_IMETHODIMP occurrences to NS_IMETHOD. r=froydnj.
This patch makes the following changes on many in-class methods.

- NS_IMETHODIMP F() override;      --> NS_IMETHOD F() override;
- NS_IMETHODIMP F() override {...} --> NS_IMETHOD F() override {...}
- NS_IMETHODIMP F() final;         --> NS_IMETHOD F() final;
- NS_IMETHODIMP F() final {...}    --> NS_IMETHOD F() final {...}

Using NS_IMETHOD is the preferred way of marking in-class virtual methods.
Although these transformations add an explicit |virtual|, they are safe --
there's an implicit |virtual| anyway because |override| and |final| only work
with virtual methods.

--HG--
extra : rebase_source : 386ee4e4ea2ecd8d5001efabc3ac87b4d6c0659f
2016-08-08 10:54:47 +10:00
eyim f6feed92b7 Bug 1286653 - Re-run blacklist on DXGI adapter used for device creation r=BenWa,dvander
MozReview-Commit-ID: 9QV8QFu5WYR

--HG--
extra : rebase_source : d0da9409b2818a1ebce1469daecc3ca436bfa33e
2016-08-11 18:20:21 -04:00
Masayuki Nakano 686645193f Bug 1286157 TSFTextStore should use insertion point relative offset query when cached contents for TSF and actual content (or content cache) are different r=m_kato
MozReview-Commit-ID: 3Q9T3XVvyCj

--HG--
extra : rebase_source : 9507ccd2dfdf4fe039435d04c1f79d490be785fd
2016-07-12 16:52:48 +09:00
Ethan Lin 37f961a439 Bug 1293028 - Check build id only for intel driver. r=mtseng, r=jgilbert 2016-08-08 02:35:00 -04:00
Nicholas Nethercote 735fccd3ce Bug 1293603 (part 3) - Remove erroneous NS_METHOD uses in widget/. r=erahm.
All these occurrences are for methods declared with NS_IMETHOD, and so they
should be NS_IMETHODIMP instead of NS_METHOD.

--HG--
extra : rebase_source : 50b0c0f46cab6a13cc27ad48fb24503b9a491463
2016-08-09 14:03:13 +10:00
Nicholas Nethercote e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Yura Zenevich 7d6abb5975 Bug 527003 - separating XPCOM parts from nsAccessibilityService. Removing a11y service in favour of using nsAccessibilityService directly. Adding support for a11y service shutdown. r=surkov
MozReview-Commit-ID: KKeywNi3fQb
2016-08-08 20:51:39 -04:00
Neil Deakin fc966686cb Bug 1253979, use remote open state for select elements in theme to ensure active state is correct, r=jimm 2016-08-08 08:42:54 -04:00
Carsten "Tomcat" Book 90f6c2d3fd Backed out changeset 02d76f158f3d (bug 1259571) for talos xperf regressions
--HG--
rename : gfx/thebes/DeviceManagerDx.cpp => gfx/thebes/DeviceManagerD3D11.cpp
rename : gfx/thebes/DeviceManagerDx.h => gfx/thebes/DeviceManagerD3D11.h
2016-08-08 11:53:51 +02:00
Sotaro Ikeda 41a9daf725 Bug 1259571 - Try tearing-free drawing with GDI r=dvander,mattwoodrow
--HG--
rename : gfx/thebes/DeviceManagerD3D11.cpp => gfx/thebes/DeviceManagerDx.cpp
rename : gfx/thebes/DeviceManagerD3D11.h => gfx/thebes/DeviceManagerDx.h
2016-08-07 23:54:12 -07:00
Aaron Klotz 2bbffe8138 Bug 1273635: Enable alertable waits in content process main thread; r=jimm
MozReview-Commit-ID: 2qGdGj41M0n

--HG--
extra : rebase_source : e404ba43a47151d38330052c9ac93e7b252ad0f4
2016-08-03 11:54:35 -06:00