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

2606 Коммитов

Автор SHA1 Сообщение Дата
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
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
Kartikaya Gupta 9d9124f381 Bug 1289435 - Support native event synthesization even for non-touch windows devices. r=jimm
MozReview-Commit-ID: IeHmDOiWOW2
2016-08-03 12:06:59 -04:00
Kartikaya Gupta 713c58caee Bug 1289435 - Extract a helper function to dispatch MultiTouchInput to APZ if applicable and then to Gecko. r=mstange
This also modifies the windows widget code to use this new helper function, as
it avoids an unnecessary round-trip where a MultiTouchInput gets converted to
a WidgetTouchEvent (in nsWindow.cpp) and then back to a MultiTouchInput (in
APZCTreeManager.cpp)

MozReview-Commit-ID: 1WGbfINTW6c
2016-08-03 12:06:58 -04:00
Carsten "Tomcat" Book 57bfee62b0 merge fx-team to mozilla-central a=merge 2016-08-03 17:01:16 +02:00
Gerald Squelart c3a55e84c8 Bug 1198815 - Blacklist ATI 15.200.0.0-15.200.1062.1004 - r=kentuckyfriedtakahe
As 15.200.1062.1004 is quite old already, I'm also blacklisting previous
15.200.x.y versions, to catch a few more crashes.

MozReview-Commit-ID: LeLMf7bWNf7

--HG--
extra : rebase_source : 0c9791cb5e94dffe184d868ce85b8829b513ece0
2016-08-02 11:12:34 +10:00
Hector Zhao 6b5f4e624b Bug 664717 - Part 1: Switch to requestingPrincipal in nsITransferable. r=ckerschb
MozReview-Commit-ID: Hndb5ftbEuL

--HG--
extra : transplant_source : %A5z%B2%C8%A7%7C%20%98rx%8A%89%E6%80a%E5%B65%19%26
2016-07-01 16:01:11 +08:00
Jeff Muizelaar 9081a72fea Bug 1289236. Remove ResizeTransparentWindow. r=dvander
We can just recreate the surface when needed.
2016-07-29 09:29:35 -04:00
Masatoshi Kimura 0ce2b1771e Bug 1288760 - Fix point conversion in nsDragService::StartInvokingDragSession. r=jfkthame
MozReview-Commit-ID: DgNtnsvEPnR

--HG--
extra : rebase_source : 0c2c077cd36047bdce5f74b6a4672682e8120073
2016-07-28 19:57:28 +09:00
Iris Hsiao f9707fb68a Backed out changeset 48d06bcb9c65 (bug 1273635) for Mochitest failures 2016-07-28 14:25:47 +08:00
Benoit Girard 27dab6f2a1 Bug 1289917 - Rename FEATURE_FAILURE_TEST to FEATURE_FAILURE_UNKNOWN_DEVICE_VENDOR. r=me
MozReview-Commit-ID: LvFUE9UMxFA

--HG--
extra : rebase_source : 593fa2e6942c9fb04374ae3bf5199f44a8b11b3d
2016-07-27 17:33:28 -04:00
Aaron Klotz 85608bd12a Bug 1273635: Enable alertable waits in content process main thread; r=jimm
MozReview-Commit-ID: 2qGdGj41M0n

--HG--
extra : rebase_source : 894ec7ef23b18fd2ed72bc909bc2c743aedaf40c
2016-05-11 12:49:49 -06:00
Carsten "Tomcat" Book 7293066753 merge mozilla-inbound to mozilla-central a=merge 2016-07-27 16:35:44 +02:00
Mike Hommey 4fdd5ca717 Bug 1289248 - Stop using MOZ_WINSDK_MAXVER outside configure. r=blassey,cpearce
Its value was only used in a couple C++ files, and a corresponding value
can be gotten directly from including winsdkver.h.

--HG--
extra : rebase_source : 618f1eb2ee0243a6c1c652ccce45b2aeba959edf
2016-07-22 18:52:13 +09:00
Nicolas Silva 48805c9b3e Bug 1284837 - Disallow implicit conversions from float to integer when creating IntPoint and IntSize objects. r=botond 2016-07-26 16:48:30 +02:00
Carsten "Tomcat" Book b9a6c687fa merge mozilla-inbound to mozilla-central a=merge 2016-07-25 15:50:41 +02:00
Manish Goregaokar 52b9ca33f3 Bug 1288383 - Replace NS_STYLE_USER_FOCUS_* with an enum class; r=heycam
MozReview-Commit-ID: A7BYcfsn1tI

--HG--
extra : rebase_source : b893331b173a306143e546f0d403ae25f827fae2
2016-07-25 11:56:40 +05:30
Masayuki Nakano 464384943c Bug 1288318 Initialize TSFTextStore::mInputScopes at initializing its members rather than after setting focus to the context r=m_kato
In CreateAndSetFocus(), SetInputScope() is called *after* setting focus to the context. At this time, Google Japanese Input retrieves InputScopes. Therefore, TSFTextStore returns IS_DEFAULT. But after that, Google Japanese Input tries to retrieve InputScopes after every notification (in this case, a call of ITextStoreACPSink::OnLayoutChange()). Then, we return IS_URL due to set after returns IS_DEFAULT.

This is actually our fault, but according to the other TIPs, Google Japanese Input shouldn't commit composition at detecting an InputScope change, though.

MozReview-Commit-ID: 2tPlcEA0MI0

--HG--
extra : rebase_source : 0956bf79ed84b7b901b6314bb483e40436d49751
2016-07-22 23:30:12 +09:00
Carsten "Tomcat" Book 8b6316ec5f Merge mozilla-central to mozilla-inbound 2016-07-22 11:59:06 +02:00
Makoto Kato fce35d00ac Bug 1288595 - Guard DPI_AWARENESS_CONTEXT defines against Windows SDK beta (10.0.14383.0). r=jfkthame
MozReview-Commit-ID: 6CMZ3mVhWd5

--HG--
extra : rebase_source : 4aac1b1b9d8b06414022ce350c28e72bf3a2fdeb
2016-07-22 12:43:15 +09:00
Thomas Zimmermann 48ef99e762 Bug 1265386: Fix white-space errors in widget/, r=nfroyd
MozReview-Commit-ID: ATXI7dYFHmA
2016-07-22 10:56:13 +02:00
Gerald Squelart 7bed0135a2 Bug 1288295 - Revert bug 1277526 (ATI driver 8.850 blacklisting) - r=kentuckyfriedtakahe
This might revive some crashes, but we think the initial targeted blacklisting
was not the appropriate solution for this.

MozReview-Commit-ID: C5uPnIEkMPB

--HG--
extra : rebase_source : bceaca8844dbff996e0286109eb91a22059982ee
2016-07-21 12:18:09 +10:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Carsten "Tomcat" Book d2a1babef4 Backed out changeset 2bea1e1e403d (bug 1265386) for bustage on a CLOSED TREE 2016-07-21 13:59:02 +02:00
Thomas Zimmermann d8818e0d94 Bug 1265386: Fix white-space errors in widget/, r=nfroyd
MozReview-Commit-ID: ATXI7dYFHmA
2016-07-21 13:29:30 +02:00
Chris Peterson d634a99cad Bug 1277106 - Part 4: Remove MOZ_UTF16() macro. r=Waldo 2016-07-19 21:07:53 -07:00
Chris Peterson b175c9fdd5 Bug 1277106 - Part 2: Expand MOZ_UTF16() strings to u"" string literals. r=Waldo 2016-07-20 22:03:25 -07:00
David Anderson 969d03ec34 Implement vsync notification for remote compositors. (bug 1285625 part 3, r=mchang) 2016-07-19 11:56:07 -07:00
David Anderson 0bdcce6956 Don't expose CompositorVsyncDispatcher from CompositorWidget. (bug 1285625 part 2, r=mchang) 2016-07-19 11:56:07 -07:00
David Anderson b7855c4ee9 Add DeviceManagerD3D11 as a wrapper around gfxWindowsPlatform. (bug 1282364 part 1, r=mattwoodrow)
--HG--
extra : rebase_source : 3ea710ffdaabf737374958e80f6235c1c8861237
2016-07-26 12:50:30 -07:00
Bob Owen 25fe73cb68 Bug 1252877 Part 2: On Windows capture an image for windowed plugins to be displayed during APZ scroll. r=jimm, r=mattwoodrow
MozReview-Commit-ID: ElE0GD3tLah
2016-07-18 09:54:02 +01:00
Jonathan Kew d723568aba Bug 1270954 - When Win10 Anniversary Update APIs are available, enable automatic scaling of the non-client area when a window is on a secondary display with different DPI. r=emk, a=kwierso
--HG--
extra : amend_source : 7eabc4033b2455549c74936c373aeea07a473cef
2016-07-14 17:46:26 +01:00
Masayuki Nakano 1373da05f3 Bug 1286489 TSFTextStore.cpp and ContentCache.cpp shouldn't put \n, \r and \t to log file directly r=m_kato
MozReview-Commit-ID: 630lZINQteb

--HG--
extra : rebase_source : 9841cfdb199d1a7964d1ad4516d9862f498b0f39
2016-07-13 18:16:04 +09:00
Bas Schouten f54904c44b Bug 1284162: Report QWORD memory size when available. r=milan
MozReview-Commit-ID: 7PGf1HU7ytD

--HG--
extra : rebase_source : 5af221c612d5f65fb96d311938360dac4d6a62f1
2016-07-07 19:40:40 +02:00
Jared Wein d6e078038d Bug 1226522 - Show the on-screen keyboard from touch events even on machines lacking rotation sensors (such as touch-screen laptops). r=Gijs
MozReview-Commit-ID: 4mRUvzE5n9I

--HG--
extra : rebase_source : b92c999dac781fad7fc2aab8679c400b27e929f3
2016-07-12 08:00:28 -04:00
Benoit Girard 70a0e5bad9 Bug 1284322 - Unblacklist NVIDIA >8.15.11.8265, >8.16.11.8265. r=jrmuizel
MozReview-Commit-ID: 6x9lWGEJCZ
2016-07-09 21:14:31 -04:00
Masayuki Nakano f382711dc3 Bug 1260651 part.59 Rename nsEditor to mozilla::EditorBase (and also their file names) r=mccr8
This patch also renames:

EditorInputEventDispatcher -> mozilla::EditorInputEventDispatcher

And some variable names are renamed from aEditor or mEditor to aEditorBase or mEditorBase for making their types clearer.

MozReview-Commit-ID: 2FCXWpLMn8e

--HG--
rename : editor/libeditor/nsEditor.cpp => editor/libeditor/EditorBase.cpp
rename : editor/libeditor/nsEditor.h => editor/libeditor/EditorBase.h
2016-07-08 13:10:13 +09:00
Masayuki Nakano 9b6e26f0bb Bug 1260651 part.56 Rename nsHTMLEditor to mozilla::HTMLEditor and related stuff r=mccr8
This patch renames classes/structs as:

nsHTMLEditor -> mozilla::HTMLEditor
nsHTMLEditor::BlobReader -> mozilla::HTMLEditor::BlobReader
SetSelectionAfterTableEdit -> mozilla::AutoSelectionSetterAfterTableEdit

nsHTMLEditor.h -> HTMLEditor.h (exposed as mozilla/editor/HTMLEditor.h)
nsHTMLAbsPosition.cpp -> HTMLAbsPositionEditor.cpp
nsHTMLAnonymousUtils.cpp -> HTMLAnonymousNodeEditor.cpp
nsHTMLDataTransfer.cpp -> HTMLEditorDataTransfer.cpp
nsHTMLEditorStyle.cpp -> HTMLStyleEditor.cpp
nsHTMLInlineTableEditor.cpp -> HTMLInlineTableEditor.cpp
nsHTMLObjectResizer.cpp -> HTMLEditorObjectResizer.cpp
nsTableEditor.cpp -> HTMLTableEditor.cpp

These new file names are clearer names which related to HTMLEditor than old names.

MozReview-Commit-ID: DTWaoFvy0DF

--HG--
rename : editor/libeditor/nsHTMLAbsPosition.cpp => editor/libeditor/HTMLAbsPositionEditor.cpp
rename : editor/libeditor/nsHTMLAnonymousUtils.cpp => editor/libeditor/HTMLAnonymousNodeEditor.cpp
rename : editor/libeditor/nsHTMLEditor.cpp => editor/libeditor/HTMLEditor.cpp
rename : editor/libeditor/nsHTMLEditor.h => editor/libeditor/HTMLEditor.h
rename : editor/libeditor/nsHTMLDataTransfer.cpp => editor/libeditor/HTMLEditorDataTransfer.cpp
rename : editor/libeditor/nsHTMLObjectResizer.cpp => editor/libeditor/HTMLEditorObjectResizer.cpp
rename : editor/libeditor/nsHTMLInlineTableEditor.cpp => editor/libeditor/HTMLInlineTableEditor.cpp
rename : editor/libeditor/nsHTMLEditorStyle.cpp => editor/libeditor/HTMLStyleEditor.cpp
rename : editor/libeditor/nsTableEditor.cpp => editor/libeditor/HTMLTableEditor.cpp
2016-07-09 11:42:33 +09:00
Masayuki Nakano bcaaf6d927 Bug 1284422 part.3 Remove "IMM: " from log of IMMHandler.cpp r=m_kato
MozReview-Commit-ID: IfPneGddBfR

--HG--
extra : rebase_source : 9fb203ef7666f77894d49b77c946379e88fc43e8
2016-07-05 18:35:43 +09:00
Masayuki Nakano 912efc351d Bug 1284422 part.2 Fix odd indent of MOZ_LOG() in TSFTextStore.cpp (mainly caused by replacing from PR_LOG()) r=m_kato
MozReview-Commit-ID: 88EW9lN1DMD

--HG--
extra : rebase_source : 94da64ebe79a83143484c88882974e42cc4f9661
2016-07-05 18:33:20 +09:00
Masayuki Nakano 08581a1122 Bug 1284422 part.1 Remove "TSF: " from log of TSFTextStore.cpp r=m_kato
MozReview-Commit-ID: D2lgQxFWWVB

--HG--
extra : rebase_source : 1e9ba25907def5cee23462ceda3842739819f025
2016-07-05 18:06:39 +09:00
Kartikaya Gupta 570f040947 Bug 1256339 - Fix up handling for touch-derived contextmenu events on desktop. r=mconley,jimm
This patch stops the widget code from passing along touch-derived contextmenu
events straight from Windows to Gecko, and instead lets the APZ gesture
detection code handle it. This allows the contextmenu event to be prevented
according to web standards, e.g. if the touchstart event is cancelled.

This changes to browser.js will affect both Linux and Windows, but the behaviour
implemented is in line with native Windows touch behaviour. We may want to
add an alternate codepath for Linux to better simulate "native" Linux behavior,
if there is such a thing for touch-derived contextmenu.

MozReview-Commit-ID: 18qzK15ic8E
2016-07-05 13:24:54 -04:00
Masayuki Nakano 326a823176 Bug 1224994 part.13 Fix some comments which say "locked content" in TSFTextStore.cpp r=m_kato
MozReview-Commit-ID: Jze8WtPx82G

--HG--
extra : rebase_source : ba2692201135168f8910ea5f72d13292e01b777c
2016-07-04 15:53:58 +09:00
Masayuki Nakano 889fd517e3 Bug 1224994 part.12 Rename the variable names for the result of TSFTextStore::SelectionForTSF() to selectionForTSF r=m_kato
MozReview-Commit-ID: 9gYiIKVohQl

--HG--
extra : rebase_source : 1e932afcf45d32b40e802c8e233eee016a4d903e
2016-07-01 14:13:46 +09:00
Masayuki Nakano c960d127a3 Bug 1224994 part.11 Rename TSFTextStore::CurrentSelection() to TSFTextStore::SelectionForTSF() r=m_kato
MozReview-Commit-ID: 9KVLN63NL9Z

--HG--
extra : rebase_source : 1976385d19fbdd2f0beb6de4b1bf745a35a06015
2016-07-01 14:09:52 +09:00
Masayuki Nakano 5a696fa2b9 Bug 1224994 part.10 Rename TSFTextStore::mSelection to TSFTextStore::mSelectionForTSF for making its meaning clearer r=m_kato
MozReview-Commit-ID: K9tVAw9aCaN

--HG--
extra : rebase_source : fcd8ef087e5f66f1698eb4dc65bc9668ae818a7f
2016-07-01 14:01:26 +09:00
Masayuki Nakano 5a22169d73 Bug 1224994 part.9 TSFTextStore shouldn't set selection when there is unknown pending text changes r=m_kato
I'm still not sure what we should do in this case, though.

If mContentForTSF is initialized and there are some unknown changes in actual contents, i.e., not caused by composition of the active TIP itself, we cannot set selection range properly in some cases.

For example, if TSF tires to set non-empty selection range but the range has been removed by web apps.

For now, let's try to return E_FAIL in such case because that should occur at reconversion or something immediately after previous content change not caused by previous composition.  If TIP does nothing in this case, user can retry with same operation after all pending text changes are notified to TSF.

MozReview-Commit-ID: 9unrNVeC1tW

--HG--
extra : rebase_source : 061e48e014a38b2a442bf736031febfe0b1e333d
2016-06-30 17:55:01 +09:00
Masayuki Nakano 52dc580a74 Bug 1224994 part.8 Don't notify TSF of text changes while there is cached content r=m_kato
Same as selection change notification, text change notification shouldn't be notified to TSF while there is cachec content because neither TSF nor TIP may allow to change text by web applications during keeping storing cached content.

This patch makes TSFTextStore stores and merges text changes until MaybeFlushPendingNotifications() is called and there is no cached content.

MozReview-Commit-ID: 9fj0GREbX18

--HG--
extra : rebase_source : 71db6b4b9f0ab979313398a8014bde992183e019
2016-06-30 15:04:02 +09:00
Masayuki Nakano 7bde7206c2 Bug 1224994 part.7 Don't notify TSF of selection changes while there is a cached content r=m_kato
TSFTextStore shouldn't notify TSF of selection change until MaybeFlushPendingNotifications() is called and there is no cached content because while there is cached content, neither TSF nor TIP may allow to change selection by web applications.  Therefore, ITextStoreACP::GetSelection() and similar methods need to use mSelection instead of actual selection in the focused editor.  Therefore, TSFTextStore should store selection change data during keeping storing content cache and notify it when the cache is cleared. So, when TSFTextStore notifies TSF of selection change, TSFTextStore needs to update mSelection to the actual selection which is stored in mPendingSelectionChangeData.

MozReview-Commit-ID: 8ZWASzu7Znv

--HG--
extra : rebase_source : 0bfaef0bbffd72d661c84992cc8c842215e3407a
2016-06-30 16:17:11 +09:00
Masayuki Nakano 0ce8b30a41 Bug 1224994 part.6 Don't clear TSFTextStore::mContentForTSF until active composition is committed r=m_kato
This patch stop clearing mContentForTSF at unlocking the document because we should keep it until active composition is committed.  If so, TSF/TIP won't be confused by content changes by JS.  So, this is important for a11y of TIP users in some complicated websites like GoogleDocs, Facebook, etc.

Note that this patch doesn't work well without following patches.  We need to stop notifying TSF of selection changes and text changed while mContentForTSF is valid.

MozReview-Commit-ID: 9QOGZxdYU3I

--HG--
extra : rebase_source : 19a6eeb2357825643497caf5a5298c55f08a0670
2016-06-29 18:24:10 +09:00
Masayuki Nakano c7b1162cd6 Bug 1224994 part.5 Implement TSFTextStore::IsComposingInContent() to check if the focused editor has composition r=m_kato
MozReview-Commit-ID: 2bmGeaxUpUU

--HG--
extra : rebase_source : 950febee0572bb8ff47b6640980a9e9a45211214
2016-06-29 17:39:59 +09:00
Masayuki Nakano c67a1779d1 Bug 1224994 part.4 Rename the variable name which is for storing the result of TSFTextStore::ContentForTSFRef() to contentForTSF r=m_kato
MozReview-Commit-ID: 3wWMrpSWW6b

--HG--
extra : rebase_source : c359e70a3869a151fe4e1596677e8174222c1d88
2016-06-29 17:26:35 +09:00
Masayuki Nakano bee80a0a51 Bug 1224994 part.3 Rename TSFTextStore::mDeferClearingLockedContent to TSFTextStore::mDeferClearingContentForTSF r=m_kato
MozReview-Commit-ID: 9cZ3Itx2zb4

--HG--
extra : rebase_source : e6af75e2190e55e18592b2ebe90d01f27b53f845
2016-06-29 17:22:09 +09:00
Masayuki Nakano 74ae5264af Bug 1224994 part.2 Rename TSFTextStore::LockedContent() to TSFTextStore::ContentForTSFRef() r=m_kato
MozReview-Commit-ID: JC4lgZu38e9

--HG--
extra : rebase_source : 4e643d8728a05f2c1550395a4a29b0c1718fa7a7
2016-06-29 17:18:44 +09:00
Masayuki Nakano 1a8bd9d18d Bug 1224994 part.1 Rename TSFTextStore::mLockedContent to TSFTextStore::mContentForTSF r=m_kato
MozReview-Commit-ID: 5K0zPW1Mx4b

--HG--
extra : rebase_source : 7ba0c30dba75c57310976f8ad9fc0a2aa04bf4f4
2016-06-29 17:15:40 +09:00
Carsten "Tomcat" Book 5f79b99ba6 Merge mozilla-central to autoland 2016-07-04 13:09:12 +02:00
Bob Owen d17a3dbfa9 Bug 1280159: Let paper type drive page size units on Windows. r=jimm
Also, changed the other paper size conversion code to be similar, as I think it is easier to follow.

MozReview-Commit-ID: 2PzzxevnQSz

--HG--
extra : rebase_source : 45d20a714a05425b9010b2f390cd417617243682
2016-06-30 10:01:10 +01:00
Carsten "Tomcat" Book eec8b2656e Merge mozilla-central to autoland 2016-07-02 11:16:11 +02:00
Jeff Gilbert 96dc6afb76 Bug 1268638 - Bitrot.
MozReview-Commit-ID: QJjb2PW5C4
2016-07-01 13:15:31 -07:00
Jeff Gilbert 5a27646a69 Bug 1268638 - Add good driver versions to blocklist for webgl+native-gl. - r=jrmuizel
MozReview-Commit-ID: IAalsSiuTiL
2016-07-01 13:14:46 -07:00
David Anderson 98133d3c0a Implement remote CompositorWidgets on Windows. (bug 1281998 part 7, r=billm) 2016-07-01 01:15:16 -07:00
David Anderson 97a92d5d5e Extract a delegate interface out of WinCompositorWidget. (bug 1281998 part 6, r=jimm) 2016-07-01 01:15:16 -07:00
David Anderson 6562af780a Move CompositorWidget construction out of nsIWidget. (bug 1281998 part 5, r=jimm) 2016-07-01 01:15:16 -07:00
David Anderson f0edea202e Move CompositorWidget ownership from nsWindow to CompositorSession. (bug 1281998 part 4, r=jimm) 2016-07-01 01:15:16 -07:00
David Anderson 3f0ea0572d Rename CompositorWidgetProxy files to CompositorWidget. (bug 1281998 part 2, r=jimm)
--HG--
rename : widget/CompositorWidgetProxy.cpp => widget/CompositorWidget.cpp
rename : widget/CompositorWidgetProxy.h => widget/CompositorWidget.h
rename : widget/windows/WinCompositorWidgetProxy.cpp => widget/windows/WinCompositorWidget.cpp
rename : widget/windows/WinCompositorWidgetProxy.h => widget/windows/WinCompositorWidget.h
2016-07-01 01:15:16 -07:00
David Anderson b36fb329b1 Allow creating WinCompositorWidgetProxy without an nsWindow. (bug 1281998 part 1, r=jimm) 2016-07-01 01:15:15 -07:00
Bill McCloskey b8ababd5ee Bug 1282153 - Remove retaining outparam to GetLayerManager (r=dvander) 2016-06-30 14:30:30 -07:00
Carsten "Tomcat" Book fcff88e7a8 Merge mozilla-central to autoland 2016-07-01 11:20:25 +02:00
Phil Ringnalda 0d0d24bccc Back out 7 changesets (bug 1281998) for Windows Marionette crashes
Backed out changeset d806fac2c856 (bug 1281998)
Backed out changeset b8d4fedfd7eb (bug 1281998)
Backed out changeset a72929c0c3ec (bug 1281998)
Backed out changeset 74198f88fa37 (bug 1281998)
Backed out changeset 54a0e73f6906 (bug 1281998)
Backed out changeset 99d1da1293b7 (bug 1281998)
Backed out changeset a5a9585754b1 (bug 1281998)

--HG--
rename : widget/CompositorWidget.cpp => widget/CompositorWidgetProxy.cpp
rename : widget/CompositorWidget.h => widget/CompositorWidgetProxy.h
rename : widget/windows/WinCompositorWidget.cpp => widget/windows/WinCompositorWidgetProxy.cpp
rename : widget/windows/WinCompositorWidget.h => widget/windows/WinCompositorWidgetProxy.h
2016-06-29 19:35:24 -07:00
David Anderson faac928c5a Implement remote CompositorWidgets on Windows. (bug 1281998 part 7, r=billm)
--HG--
extra : rebase_source : 7027c4477e5f7432779e1b8389255b8a808f42b8
2016-06-29 16:47:23 -04:00
David Anderson 4853817add Extract a delegate interface out of WinCompositorWidget. (bug 1281998 part 6, r=jimm)
--HG--
extra : rebase_source : 66e23a6efd766341a97ab46f1c52b368f145d849
2016-06-29 16:47:23 -04:00
David Anderson 358a567c70 Move CompositorWidget construction out of nsIWidget. (bug 1281998 part 5, r=jimm)
--HG--
extra : rebase_source : 881a2fac4447de3f1aeae3f34f21f9e76a79e0a3
2016-06-29 16:47:22 -04:00
David Anderson 80600779fc Move CompositorWidget ownership from nsWindow to CompositorSession. (bug 1281998 part 4, r=jimm)
--HG--
extra : rebase_source : ff35830b0ca727e03366ebcd9cf069d7772de591
2016-06-29 16:47:22 -04:00
David Anderson 804c1ee06f Rename CompositorWidgetProxy files to CompositorWidget. (bug 1281998 part 2, r=jimm)
--HG--
rename : widget/CompositorWidgetProxy.cpp => widget/CompositorWidget.cpp
rename : widget/CompositorWidgetProxy.h => widget/CompositorWidget.h
rename : widget/windows/WinCompositorWidgetProxy.cpp => widget/windows/WinCompositorWidget.cpp
rename : widget/windows/WinCompositorWidgetProxy.h => widget/windows/WinCompositorWidget.h
extra : rebase_source : 8ecf59ad6039f0d0d2a51008aef53ef37aa2ce0e
2016-06-29 16:47:22 -04:00
David Anderson 63d9d438a0 Allow creating WinCompositorWidgetProxy without an nsWindow. (bug 1281998 part 1, r=jimm)
--HG--
extra : rebase_source : e91fe5aa3c3c7bddb0c47a8cba8eb53ce9be2ebc
2016-06-29 16:47:22 -04:00
Jonathan Kew b1d6a7194b Bug 1254026 - When Win10 dpi-awareness-context APIs are available, run the Open File and Save As dialogs as system-dpi-aware windows, so that they are auto-scaled by the system appropriately for any secondary display's resolution. r=emk 2016-07-01 23:42:32 +01:00
eyim ec60e64569 Bug 1277314 - Add ogl compositing feature in gfxplatform r=BenWa,dvander
MozReview-Commit-ID: HMfvXtKV0Yk

--HG--
extra : rebase_source : 3cc6008b4655726fd740fb011ae4c152e3baf865
2016-06-20 12:29:47 -04:00
Masayuki Nakano ef2fb8753d Bug 1282669 Get rid of nsIMEUpdatePreference::DontNotifyChangesCausedByComposition() r=m_kato
I think that we can drop nsIMEUpdatePreference::DontNotifyChangesCausedByComposition(), i.e., nsIMEUpdatePreference::NOTIFY_CHANGES_CAUSED_BY_COMPOSITION because it's now used only by TSFTextStore but TSFTextStore ignores if SelectionChangeDataBase::mCausedByComposition or TextChangeDataBase::mCausedOnlyByComposition is true (for supporting async changes in e10s mode).  So, only issue is, dropping the flag might cause increasing computing TextChangeData cost during composition in TSF mode.  However, now, it's already enough fast and even if it'd cause performance regression, we could add a hack with TextComposition's offset information.  Therefore, we don't need to worry about the performance regression so seriously.

MozReview-Commit-ID: HNT3G4isONj

--HG--
extra : rebase_source : 164231023aa2a17ceab94d92fb49ba0a00dab429
2016-06-28 16:51:59 +09:00
Masayuki Nakano e1d8dafcd9 Bug 1282668 Get rid of nsIMEUpdatePreference::NOTIFY_SELECTION_CHANGE r=m_kato
Currently, all widgets request selection change notifications to IMEContentObserver.  Additionally, IMEContentObserver needs to listen selection changes for caching latest selection for eQuerySelectedText.  Therefore, it doesn't make sense to keep defining nsIMEUpdatePreference::NOTIFY_SELECTION_CHANGE.

If widgets didn't need selection change notifications, they could just ignore the unnecessary notifications.

Note that all widgets don't need selection change notifications if a plugin has focus and IMEContentObserver cannot observe selection changes in the plugin.  Therefore, if IMEContentObserver is initialized with a plugin, it shouldn't listen selection changes (and doesn't need to notify widgets of selection changes).

MozReview-Commit-ID: FOVFFgA2nOz

--HG--
extra : rebase_source : 3e16d5023835f99f82934e754d2e7db70474f9ee
2016-06-28 15:23:12 +09:00
Gerald Squelart 7dfe2a4721 Bug 1277526 - Blacklist ATI win7 drivers 8.850.0.0 - r=nical
MozReview-Commit-ID: 3qvWviFXQMt

--HG--
extra : rebase_source : 6e8bab399152fdfbce011c40d8a4bc866ca335fe
2016-06-23 15:14:04 +10:00
Carsten "Tomcat" Book fdb5ee5d63 Backed out changeset 34aa8f1f134f (bug 1268638) for assertion failures in Assertion failure: !mLockedForGL, at SharedSurfaceD3D11Interop.cpp:302
--HG--
extra : rebase_source : 12cc2c6e812d19438112acf568a034fb36249c67
2016-06-23 09:47:57 +02:00
Carsten "Tomcat" Book 60a9e9ce21 Backed out changeset 4171ff387666 (bug 1268638)
--HG--
extra : rebase_source : c57ffe49af64d35f69a5b186b2edef66b3223319
2016-06-23 09:47:20 +02:00
Masayuki Nakano adabe1afd9 Bug 1281387 KeyboardLayout.cpp should use LazyLogModule instead of PR_NewLogModule() for making aware of MOZ_LOG* r=m_kato
MozReview-Commit-ID: LADKYU7uPcq

--HG--
extra : rebase_source : 5863bfa4fa3983740465d2ea745ca6b8a485b7e3
2016-06-22 15:39:58 +09:00
Jeff Gilbert 619c297be6 Bug 1268638 - Bitrot.
MozReview-Commit-ID: QJjb2PW5C4
2016-06-22 17:47:41 -07:00
Jeff Gilbert d392c3d6b4 Bug 1268638 - Add good driver versions to blocklist for webgl+native-gl. - r=jrmuizel
MozReview-Commit-ID: IAalsSiuTiL
2016-06-22 17:47:41 -07:00
Masayuki Nakano d829b3effe Bug 1275528 part.5 TSFTextStore should use insertion point relative query for getting character rect and caret rect only while there is a composition r=m_kato
TSFTextStore should use insertion point relative query for getting character rect and caret rect while there is a composition because in such case, TSF must want to query a part of or around the composition.  Therefore, it makes sense to use insertion point relative query since it adjusts the offset with the latest content information.

MozReview-Commit-ID: IVjZ4zqFUkr

--HG--
extra : rebase_source : e535ffa2c7649f16ffe7f761a9ed01b061848aa7
2016-06-15 17:10:38 +09:00
Masayuki Nakano b04303d171 Bug 1275528 part.4 IMMHandler should use insertion point relative query for getting character rect and caret rect r=m_kato
IMM always queries character rect or caret rect relative to insertion point.  Therefore, it makes sense to use the new feature, insertion point relative query content events for them.  Then, IMMHandler doesn't need to care mismatch between its cache and actual content information.

MozReview-Commit-ID: LCCrJkR77I8

--HG--
extra : rebase_source : c75f1b29e34e13df397de351909f07e2a95b6c5f
2016-06-15 13:52:03 +09:00
Wes Kocher 8e4ef7176d Backed out 8 changesets (bug 1268638) for build bustage CLOSED TREE
Backed out changeset 1a2db6efc575 (bug 1268638)
Backed out changeset ad38e0439b62 (bug 1268638)
Backed out changeset 0078605c6974 (bug 1268638)
Backed out changeset 8ed7ed6c57db (bug 1268638)
Backed out changeset 69116551e4b9 (bug 1268638)
Backed out changeset 002f87a61edf (bug 1268638)
Backed out changeset 8b0db9b0f87c (bug 1268638)
Backed out changeset 5d1285d0c221 (bug 1268638)
2016-06-21 14:53:22 -07:00
Jeff Gilbert a5edaa87c8 Bug 1268638 - Add good driver versions to blocklist for webgl+native-gl. - r=jrmuizel
MozReview-Commit-ID: IAalsSiuTiL
2016-06-21 14:10:32 -07:00
Masayuki Nakano 0137cf7bf6 Bug 1280513 part.2 WinMouseScrollHandler should use LazyLogModule instead of PR_NewLogModule() r=m_kato
For making WinMouseScrollHandler MOZ_LOG* environment variables aware, WinMouseScrollHandler should use LazyLogModule.

MozReview-Commit-ID: ERurkwVX2Fb

--HG--
extra : rebase_source : 4dd1b257b075eb32328f628edac3cbcc1cbf6210
2016-06-17 03:10:06 +09:00
Masayuki Nakano a369ad3acf Bug 1280513 part.1 Rename LogKeyStateImpl() to MouseScrollHandler::MaybeLogKeyState() r=m_kato
MozReview-Commit-ID: DGDrRO3Y9jD

--HG--
extra : rebase_source : d1b8253ab276a115b8b3a17c9646b05427bcc4dc
2016-06-17 03:03:44 +09:00
Jan Varga 2d1e6d62c8 Bug 1246828 - Part 4: Rename profile-before-change2 to profile-before-change-qm and profile-before-change3 to profile-before-change-telemetry; r=asuth 2016-06-15 11:49:04 +01:00
Jan Varga b85865d615 Bug 1246828 - Part 1: Add an additional notification profile-before-change3 and update telemetry sending code to use it; r=asuth 2016-06-15 11:48:39 +01:00
Jonathan Watt 49f4f606aa Bug 1279788 - Create a PrintTargetWindows subclass of PrintTarget. r=eflores 2016-06-14 19:26:35 +01:00
Jonathan Kingston 4512426a78 Bug 1192945 - Use channel->asyncOpen2 in widget/windows/nsDataObj.cpp. r=ckerschb
MozReview-Commit-ID: 5whNAj5KAjf

--HG--
extra : transplant_source : H%B0%2A%D0%90W%DEQn%9ET%92%273%B4%FB%E9S%D2%FA
2015-08-10 12:56:47 -07:00
rhunt ed53e4040d Bug 1219925 - Format cleartype gamma in converted form. r=jfkthame 2016-06-09 10:52:00 +02:00
rhunt acd669ac3f Bug 1219925 - Fix for format specifiers in getCleartypeParameters. r=jfkthame 2016-06-09 09:48:00 +02:00
Kartikaya Gupta bea6d03a52 Bug 1278268 - Ensure that no-op mousemove synthesizations on Windows still fire a mousemove event. r=jimm
MozReview-Commit-ID: EXZtvqy1BLu

--HG--
extra : rebase_source : 7dcaa9370c0733267940ad8374bf783cde65e9e7
2016-06-09 09:06:58 -04:00
Ralph Giles 8afeefb1d2 Bug 1275744 - Reference MOZ_LOG in windows widget comments. r=erahm
NSPR_LOG_MODULES is deprecated.

MozReview-Commit-ID: GbK7Qctk44

--HG--
extra : rebase_source : f689e53703107a81182e386e7d93cbab60d6837c
2016-05-26 11:19:40 -07:00
Bob Owen 2c47d974a1 Bug 1278537: When print settings have been initialized from prefs use them when initializing from the printer. r=jimm
MozReview-Commit-ID: AgRaoIjee2t
2016-06-10 09:44:45 +01:00
Randell Jesup 05bb25d9c0 Backed out changeset 36e71bcb0266 (bug 1192945) 2016-06-10 02:24:08 -04:00
Jonathan Kingston d0636b7947 Bug 1192945 - Use channel->ascynOpen2 in widget/windows/nsDataObj.cpp . r=ckerschb, r=jmathies
MozReview-Commit-ID: 5whNAj5KAjf

--HG--
extra : rebase_source : cbe970274e34fdf32d1f60539a22b004ca0bea51
2015-08-10 12:56:47 -07:00
Jonathan Watt 4a3d84e333 Bug 1278278 - Remove gfxPDFSurface and move its logic to a PrintTargetPDF subclass of PrintTarget. r=Bas
--HG--
rename : gfx/thebes/gfxPDFSurface.cpp => gfx/thebes/PrintTargetPDF.cpp
rename : gfx/thebes/gfxPDFSurface.h => gfx/thebes/PrintTargetPDF.h
2016-06-06 16:10:28 +01:00
Jonathan Watt 0676eabe9f Bug 1278269 - Make a PrintTarget class and PrintTargetThebes subclass and convert all nsIDeviceContextSpec subclasses to use them. r=Bas 2016-06-03 11:27:31 +01:00
Neil Deakin ea192c61f5 Bug 1174798, propagate keyboard indicator state down to child processes, r=smaug 2016-06-09 07:59:31 -04:00
Masayuki Nakano c3611a1825 Bug 1278084 part.2 TSFTextStore should allow TSF to lock the document even during destroying r=m_kato
While a TSFTextStore instance is being destroyed, TSFTextStore::Destroy() tries to commit remaining composition and notify TSF of destroying the view.  At this moment, TSF/TIP may try to commit the composition or retrieve the contents with calling ITextStoreACP::RequestLock() but currently TSFTextStore disallows the requests to lock of them.  This means that TSFTextStore never sends composition commit events asynchronously.  Therefore, TextComposition may keep waiting remaining composition events but this causes odd behavior because they won't be fired.

For avoiding this issue, TSFTextStore should behave as normal even while it's being destroyed.  Fortunately, if there is a composition, it always has mLockedContent and mSelection.  So, it can compute expected results of TSF/TIP with them.

MozReview-Commit-ID: 2DSCGXXkLx1

--HG--
extra : rebase_source : 1dc5d08186bc50e7c3f1d9c5fe885ed855db8319
2016-06-08 19:12:07 +09:00
Masayuki Nakano 8cf45849ef Bug 1278084 part.1 Don't release TSF objects during handling a key message r=m_kato
While TIP is handling a key message, TSFTextStore shouldn't release any TSF objects since it may cause hitting a bug of TIPs.  Actually, MS-IME for Japanese on Windows 10 crashes when TSFTextStore is destroyed during composition because probably it accesses some destroyed objects to request to commit composition or query contents.

MozReview-Commit-ID: 9CTjHhAvG04

--HG--
extra : rebase_source : c34041962927795fe0d288aed10a96cf064b6243
2016-06-06 21:07:24 +09:00
Nicholas Nethercote a02611e830 Bug 1276824 (part 1) - Rename gfxContext::ForDrawTarget{,WithTransform}(). r=milan.
The new names Create{,PreservingTransform}OrNull() better communicate that
these functions (a) do object creation, and (b) are fallible.

--HG--
extra : rebase_source : a36bd9a2bcdfae281868959403f811f2bc690ad4
2016-06-07 09:39:56 +10:00
Milan Sreckovic d5f46d27b3 Bug 1274635: Have OperatingSystem an enum class, change All to mean All Windows. r=BenWa
MozReview-Commit-ID: ADe4EmPzTuc

--HG--
extra : rebase_source : c3a7ee2846935291297f51cb1898ec46543a6870
2016-06-03 16:13:08 -04:00
Masayuki Nakano 258c1f97d6 Bug 1277756 part.7 Rename TextRangeType::NS_TEXTRANGE_SELECTEDCONVERTEDTEXT to TextRangeType::eSelectedClause r=smaug
MozReview-Commit-ID: GyRYWzfeWrm

--HG--
extra : rebase_source : 8bebacaf675ec4a3cf91cfd434d07beeb7fb1567
2016-06-03 19:15:21 +09:00
Masayuki Nakano 3fa2003d17 Bug 1277756 part.6 Rename TextRangeType::NS_TEXTRANGE_CONVERTEDTEXT to TextRangeType::eConvertedClause r=smaug
MozReview-Commit-ID: 3mexBm278As

--HG--
extra : rebase_source : ef363b0ac50396631e9b145b7e869330509fe259
2016-06-03 19:05:32 +09:00
Masayuki Nakano 98f069e029 Bug 1277756 part.5 Rename TextRangeType::NS_TEXTRANGE_SELECTEDRAWTEXT to TextRangeType::eSelectedRawClause r=smaug
MozReview-Commit-ID: MbG4siLb4Q

--HG--
extra : rebase_source : 23c20c55c3936dc6af5f57414ef7630003480275
2016-06-03 18:57:21 +09:00
Masayuki Nakano f4254e7f7f Bug 1277756 part.4 Rename TextRangeType::NS_TEXTRANGE_RAWINPUT to TextRangeType::eRawClause r=smaug
MozReview-Commit-ID: KLC1VPiYTdz

--HG--
extra : rebase_source : 3f750e526bb04b26ed66d2c0fada14e7d5b43d73
2016-06-03 18:48:37 +09:00
Masayuki Nakano 6b5425853a Bug 1277756 part.3 Rename TextRangeType::NS_TEXTRANGE_CARETPOSITION to TextRangeType::eCaret r=smaug
MozReview-Commit-ID: CaqmOSxYYU7

--HG--
extra : rebase_source : 5820d491b97be7899150516d05f1426e74dab5b5
2016-06-03 18:40:06 +09:00
Masayuki Nakano 4fc95828b6 Bug 1277756 part.1 Make anonymous enum for NS_TEXTRANGE_* to an enum class named "TextRangeType" r=smaug
For making our code clearer by the stronger type check, we should change the anonymous enum for NS_TEXTRANGE_* to enum class whose name is "TextRangeType" and whose type is "RawTextRangeType" which is an alias of uint8_t.

Additionally, this also adds some utility methods for them.

Note that some lines which are changed by this patch become over 80 characters but it will be fixed by the following patches.

MozReview-Commit-ID: 76izA1WqTkp

--HG--
extra : rebase_source : 27cd8cc8f7f8e82055dbfe82aba94c02beda5fa4
2016-06-04 09:49:21 +09:00
Neil Deakin 1a53f18128 Bug 1276120, hide popups when a parent window is being minimized, handles the case where the window is minimized via a keyboard shortcut, r=jmathies 2016-06-03 13:59:34 -04:00
Masayuki Nakano e67330e0b4 Bug 1275906 part.1 Rename NOTIFY_IME_OF_COMPOSITION_UPDATE to NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED r=m_kato
It's not clear to me what NOTIFY_IME_OF_COMPOSITION_UPDATE means only from the name. For making the name clearer, this patch renames it to NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED and add some explanation to the definition.

MozReview-Commit-ID: 8ySYCNJ1Ytz

--HG--
extra : rebase_source : 3331b8f48e8b460c7f9b088064dcda9488f3403c
2016-05-31 11:39:15 +09:00
Makoto Kato 57055eaa38 Bug 1277156 - TaskbarPreview::Disable should check whether window is destroyed. r=jimm
TaskbarTabPreview object will be released by GC.  So when Disable method is called, window may already destroyed.  So we should check whether window is destroyed.

MozReview-Commit-ID: MGz3JmDh37

--HG--
extra : rebase_source : 43a859cbcb729718b59745182c94ef3688a44f0f
2016-06-01 14:30:23 +09:00
Mason Chang 5f4030b30a Bug 1211647. Use ::ShowWindow instead of ::ShowWindowPos for toplevel windows widgets that can't take focus. r=jimm 2016-05-26 16:34:21 -07:00
Bob Owen e9013afa1f Bug 1270447 Part 4: Remove redundant lines in nsPrintOptionsWin::DeserializeToPrintSettings. r=jimm
MozReview-Commit-ID: 9S8zNqm2W72

--HG--
extra : rebase_source : 5c333f44f32845428b9007d91bfb165f7149b4cd
2016-05-29 19:53:40 +01:00
Carsten "Tomcat" Book cc005af04c Merge mozilla-central to mozilla-inbound 2017-02-10 14:27:13 +01:00
Chih-Yi Leu a119b31038 Bug 1336710 - Add blacklist from using ANGLE for particular Intel GFX under Windows XP. r=pchang
--HG--
extra : rebase_source : b9c7b360d54da758694ff225d80c21fad905441a
extra : amend_source : ff6c604046827e11b15545e0dade0e0832862de2
2017-02-07 22:38:00 +01:00
Benoit Girard 2d0ead9236 Bug 1272819 - Fix failureid/version mixup. r=jrmuizel
MozReview-Commit-ID: 26Zq4mmikxf

--HG--
extra : rebase_source : f37d7ccb29f18d8e37aeebe0a5ef73c8b7139651
2016-05-24 17:40:27 -04:00
Jeff Muizelaar f9a3f41d46 Bug 1245756. Remove blacklisting for HD5800. r=mattwoodrow
This was before we had the AMD specific checks to block DXVA for higher resolutions/frame rates.
2016-05-24 15:38:48 -04:00
Keith Yeung 28a4bc1e9e Bug 1274339 - Align resizerpanel and caret in -moz-appearance. r=bobbyholley
--HG--
extra : rebase_source : ce28fd34fd7738abf440d6ae6052059ff549f974
2016-05-19 10:58:00 +02:00
Makoto Kato 687cbeffb5 Bug 1260091 - Move using SendBidiKeyboardNotify to WidgetUtils. r=masayuki
For e10s, we send Bidi keyboard information to content process.  We should add utility method to share it for all platforms.

MozReview-Commit-ID: JJX26OivQvt

--HG--
extra : rebase_source : fe6d000080e3fa993a27d570c703e93f23439520
2016-05-19 17:47:49 +09:00
Keith Yeung 90a39873d8 Bug 1273424 - Rename -moz-appearance keyword constants to be more consistent with CSS keywords. r=bholley 2016-05-18 11:07:47 -07:00
Jonathan Kew 0323f9a812 Bug 1267636 - Adjust window titlebar metrics scaling on Win10 to improve the appearance of DevEdition and similar themes on a secondary lo-dpi display. r=emk 2016-05-17 15:35:58 +01:00
Masayuki Nakano 7111223e56 Bug 1205600 Stop supporting TSF on Windows XP and Windows Server 2003 r=m_kato
We won't enable TSF mode on Windows XP nor Windows Server 2003 because they are already not supported by Microsoft itsef and installed TSF of them is too old and too buggy. Therefore, it's not worthwhile to support TSF on those environments anymore.

MozReview-Commit-ID: Cs85EvWie9K

--HG--
extra : rebase_source : 1fe36c28bf8e34de1172f589f336d1b55542bcd5
2016-05-17 14:00:59 +09:00
David Anderson c2a116cdd6 Hide top-level CompositorBridgeParents behind a new API. (bug 1272472 part 4, r=mattwoodrow,kats,gwagner) 2016-05-17 22:33:22 -07:00
David Anderson 3189d8ab85 Use IPC to schedule composites on Windows. (bug 1272472 part 3, r=jimm) 2016-05-17 22:33:21 -07:00
Jeff Muizelaar 95fa0fca19 Bug 1272822. Reducing AMD blacklisting from 8.62.0.0 to 8.56.15.1. r=Bas
This reduces the blocklisting to the version of the AMD driver that
shipped with Windows 7 RTM. I've tested out that driver on hardware in
Toronto and everything seems to run fine.
2016-05-17 21:24:23 -04:00
kshitija 43bdd72262 Bug 1259666 - Part 3- change displayPanFeedback to mDisplayPanFeedback - r=masayuki
MozReview-Commit-ID: LWOiakDEEx7

--HG--
extra : rebase_source : 4208b4cf8fe8593fec5be3de36bf4dfe0b5b87a8
2016-05-14 18:03:50 -07:00
kshitija 81668a7fc9 Bug 1259666 - Part 2 - Change panDirection to mPanDirection - r=masayuki
MozReview-Commit-ID: JVLB0Z6JUFc

--HG--
extra : rebase_source : a39f0973d8c71dbbff1540449b596357f0ed5f70
2016-04-29 03:34:46 -07:00
kshitija 118598553f Bug 1259666 part 1 - rename variable and definition change - r=masayuki
MozReview-Commit-ID: 1FWJypkoqYz

--HG--
extra : rebase_source : b3faef1abb72e8230ac70a963be96c19392632d4
2016-04-21 19:32:59 -07:00
Masayuki Nakano e2fb1c839c Bug 1254755 part.4 Rename WidgetKeyboardEvent::location to WidgetKeyboardEvent::mLocation r=smaug
MozReview-Commit-ID: CjT7izri6Vq

--HG--
extra : rebase_source : 1e82d581b8bf1cce3d3154402f3bb435f7a004f6
2016-05-12 18:17:22 +09:00
Masayuki Nakano 7bfa8a21fa Bug 1254755 part.3 Rename WidgetKeyboardEvent::alternativeCharCodes to WidgetKeyboardEvent::mAlternativeCharCodes r=smaug
MozReview-Commit-ID: 26K8ZxzavfB

--HG--
extra : rebase_source : 5f74e58a784bae2ed626c0c9f7c992228dcff1be
2016-05-12 17:57:21 +09:00
Masayuki Nakano 8a70a17c6a Bug 1254755 part.2 Rename WidgetKeyboardEvent::charCode to WidgetKeyboardEvent::mCharCode r=smaug
And mCharCode shouldn't be compared with NS_VK_*, nsIDOMKeyEvent::DOM_VK_*. Additionally, when it's compared with a character constant, cast isn't necessary.

MozReview-Commit-ID: JMT614copjG

--HG--
extra : rebase_source : 69ee3c589e5a71c814ec9a40ac3aab39c789c11d
2016-05-13 16:06:18 +09:00
Masayuki Nakano 3359bad586 Bug 1254755 part.1 Rename WidgetKeyboardEvent::keyCode to WidgetKeyboardEvent::mKeyCode r=smaug
And also WidgetKeyboardEvent::mKeyCode should be compared with NS_VK_* rather than nsIDOMKeyEvent::DOM_VK_*.

MozReview-Commit-ID: IKjQ1nr8XYe

--HG--
extra : rebase_source : 83125cd2523f6b70759f621470aad23b00aae8ae
2016-05-12 17:13:49 +09:00
Bob Owen 8312249b1d Bug 1189846 Part 5: Remove displayJobProperties from nsIPrintOptions. r=jimm
MozReview-Commit-ID: L10L7lnRIG4
2016-05-16 10:40:54 +01:00
Milan Sreckovic a3f941f071 Bug 1270252: Skip a blocklisting test when everything is blocked because of a missing driver version. Clean up some returns from blocklisting, where the status and return value were missing or inconsistent. r=BenWa
MozReview-Commit-ID: IIJGltGMjOi

--HG--
extra : rebase_source : 167bf9c0e0219cba8231933f4b073f56747f3dd3
2016-05-11 17:08:49 -04:00
Sotaro Ikeda 252ce4f643 Bug 1255703 - Use image surfaces for basic compositor on Windows r=mattwoodrow 2016-05-12 07:23:11 -07:00
Masayuki Nakano 5d4da6c226 Bug 1267526 part.1 TSFTextStore shouldn't notify TSF of selectin change when the selection isn't actually changed r=m_kato
MozReview-Commit-ID: 8HLz30lR2TH

--HG--
extra : rebase_source : 81b9ddb643eb4878e9d6c6c5457d7a016039a1b6
2016-05-11 18:18:51 +09:00
Masayuki Nakano 93330474c8 Bug 1267526 part.0 IMMHandler and TSFTextStore should use LazyLogModule instead of PR_NewLogModule for consistency with related logs in dom/events r=m_kato
MozReview-Commit-ID: IDmV291bKsz

--HG--
extra : rebase_source : 7065c5f25e5c25b4e1c832356e1dc3eee7a144bf
2016-05-11 18:01:34 +09:00
Masayuki Nakano c92ba85982 Bug 1261880 NativeKey should decide printable KeyboardEvent.key value of keydown and keypress events with following WM_CHAR message of WM_KEYDOWN r=m_kato
Some special keyboard layout may use a key as a non-lockable modifier key even if the key isn't a non-lockable modifier key (e.g., CapsLock key of 'Neo' for German). In such case, KeyboardLayout class cannot initialize NativeKey::mCommittedCharsAndModifiers with actual input character properly because KeyboardLayout class doesn't support such eccentric keyboard layouts.

For preventing this issue, NativeKey should overwrite mCommittedCharsAndModifiers with following WM_CHAR message when it handles WM_KEYDOWN and should handle with following WM_CHAR message.  However, we should ignore following WM_CHAR message if the character is a control character which shouldn't be inputted into focused text editor.

MozReview-Commit-ID: Ax01nnaRXek

--HG--
extra : rebase_source : fd802e868db8990481873ee8eb98375a50efa47a
2016-05-11 16:47:38 +09:00
Masayuki Nakano 3e4ceded8b Bug 1259661 part.9 Rename WidgetMouseEvent::clickCount to WidgetMouseEvent::mClickCount r=smaug
MozReview-Commit-ID: 5tC8UqcfLek

--HG--
extra : rebase_source : a336f9d8676c74804e2c00eebec4f2a30d7a11b3
2016-05-10 23:29:14 +09:00
Masayuki Nakano 1663e01f1f Bug 1259661 part.6 Rename WidgetMouseEvent::exit to WidgetMouseEvent::mExitFrom r=smaug
MozReview-Commit-ID: FHUaUOE5eIB

--HG--
extra : rebase_source : f4ff5a5f662054ab161805dc37b9e7b6d6b97d96
2016-05-12 11:42:08 +09:00
Bob Owen ac6f5350a0 Bug 1271900: Don't require a minimum page size when setting up DEVMODE from print settings. r=jimm
MozReview-Commit-ID: ByO4KHPtkkM

--HG--
extra : rebase_source : c7e58471e259b366491ddb5903ade247645f28c5
2016-05-11 10:18:10 +01:00
Bob Owen 979a6fb7b7 Bug 1271348: Only use LOGPIXELSY for calculating internal printing surface size on Windows. r=jimm
MozReview-Commit-ID: 9KUVyI0Oy07

--HG--
extra : rebase_source : 1fcbeebff29e1a0cfd77ac5abf5914bb7031cd86
2016-05-10 15:17:56 +01:00
Timothy Nikkel bf94e2fc4e Bug 1261752. Part 3. r=mats 2016-05-10 22:58:47 -05:00
Tetsuharu OHZEKI dd81b84720 Bug 1259667 - part5: rename WidgetSimpleGestureEvent.delta to mDelta. r=masayuki
MozReview-Commit-ID: D33mzFY8Vrn

--HG--
extra : rebase_source : 6d6493af599087537ab6bf469255bb9d7319e395
2016-05-10 04:16:55 +09:00
Tetsuharu OHZEKI a5f841b5dc Bug 1259667 - part4: rename WidgetSimpleGestureEvent.clickCount to mClickCount. r=masayuki
MozReview-Commit-ID: 8YaPzAGsmYd

--HG--
extra : rebase_source : f0fb0dfffbd13759ca6daa31df321bc39382cbc3
2016-05-10 04:16:54 +09:00
Tetsuharu OHZEKI 42e707c8b7 Bug 1259667 - part3: rename WidgetSimpleGestureEvent.direction to mDirection. r=masayuki
MozReview-Commit-ID: GYGNNTsZNWQ

--HG--
extra : rebase_source : 954039a2d7ecb1f5d579603dd02f517c42a2a025
2016-05-10 04:16:54 +09:00
Benoit Girard 70acc7f3f9 Bug 1262008 - Add WebGL failure causes to telemetry ping. r=dvander
MozReview-Commit-ID: 9IVhVNGmaAP

--HG--
extra : rebase_source : bfa8d247c331c216c048fb696fbfb4302c5b8d52
2016-05-09 13:44:21 -04:00
Bob Owen b95d020f26 Bug 1255336: Copy DEVMODE details back to print settings in GetDataFromPrinter. r=jimm
nsDeviceContextSpecWin::GetDataFromPrinter is only called with print settings, when the settings aren't properly populated in nsDeviceContextSpecWin::Init.
This only happens when printing silently and the print settings have last been populated with prefs.
We need to copy the final DEVMODE details back in case any were invalid from the prefs and have been overridden by the printer.

MozReview-Commit-ID: EuRTDZTSSJn

--HG--
extra : rebase_source : 338910cec62843a79333ca32e1be2e07fd7a9a11
2016-05-05 13:06:53 +01:00
Kyle Huey 941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
David Anderson 9c703c12e4 Remove plugin-related CompositorBridgeParent use of nsIWidget. (bug 1265975 part 6, r=jimm) 2016-05-04 22:00:14 -07:00
David Anderson 9427843932 Remove Windows-specific compositor calls to nsIWidget. (bug 1265975 part 5, r=jimm) 2016-05-04 22:00:14 -07:00
David Anderson d4a4548584 Move transparency handling to WinCompositorWigetProxy. (bug 1265975 part 4, r=jimm) 2016-05-04 22:00:14 -07:00
David Anderson 309e579428 Move the WM_SETTEXT present lock to CompositorWidgetProxy. (bug 1265975 part 3, r=jimm) 2016-05-04 22:00:13 -07:00
David Anderson 92bb5b46dc Implement WinCompositorWidgetProxy::GetClientSize. (bug 1265975 part 2, r=jimm) 2016-05-04 22:00:13 -07:00
David Anderson 927db0d41a Add WinCompositorWidgetProxy. (bug 1265975 part 1, r=jimm) 2016-05-04 22:00:13 -07:00
David Anderson 77e3700565 Move CompositorWidgetProxy inheritance out of nsIWidget. (bug 1264545 part 6, r=jimm) 2016-04-29 19:23:17 -04:00
Carsten "Tomcat" Book ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
David Anderson e1b55a7e41 Replace gfxWindowsPlatform::mD2D1Status with gfxConfig. (bug 1254899 part 10, r=milan) 2016-04-28 21:52:56 -07:00
David Anderson a4bd3b332b Replace gfxWindowsPlatform::mD3D11Status with gfxConfig. (bug 1254899 part 9, r=jrmuizel) 2016-04-28 21:52:55 -07:00
David Anderson b7528e9778 Introduce gfxConfig, a manager for graphics feature settings. (bug 1254899 part 3, r=milan) 2016-04-28 21:52:54 -07:00