Commit Graph

821 Commits

Author SHA1 Message Date
Nicholas Nethercote
721eb311ac Bug 1400148 - Don't use -1 to represent an unset nsCursor. r=karlt.
Because UBSan complains about casting -1:

> runtime error: load of value 4294967295, which is not a valid value for type 'nsCursor'
2017-09-15 14:34:37 +10:00
Masayuki Nakano
ad87fe0903 Bug 1395876 - Initialize TSF modules after we create first normal window r=m_kato
Currently, we initialize TSF modules when there is only message window (this
started from bug 1341915).  At this time, QQ Input (Simplified Chinese TIP)
fails to initialize itself.

Therefore, we should put off to initialize TSF modules after creating first
normal window.  Then, initialize its IMC and input context for the window.

IMEHandler::InitInputContext() should be called when each normal window is
created.  Therefore, calling Initialize() from it can guarantee there is
at least one normal window when Initialize() is called.

MozReview-Commit-ID: IfR4y3pYv6J
2017-09-08 16:26:54 +09:00
Kirk Steuber
1a30465ba0 Bug 1362382 - Move RegisterDragDrop to be called during idle time, if possible r=jimm
Additionally, do not call RegisterDragDrop for hidden windows.

MozReview-Commit-ID: Fv8j9FntGGT
2017-08-30 11:18:25 -07:00
Tom Ritter
61ce3603b4 Bug 1393536 Clean up unused variables in widget/ r=jimm
MozReview-Commit-ID: 9NBzIriF8NU
2017-08-25 10:39:30 -05:00
Wes Kocher
b702c78465 Merge m-c to autoland, a=merge
MozReview-Commit-ID: AHOFLdPkEou
2017-08-23 18:08:30 -07:00
Makoto Kato
3be5442d13 Bug 1390097 - Revert a part of bug 1354020 changes. r=masayuki
Bug 1354020 causes that IMM-IME on Windows 7 doesn't work with --no-remote.  Although I think that this issue is OS or IME bug, when default window proceduce by RegisterClass is DefaultWindowProcW, Google Japanese IME doesn't work.

I am not sure why this issue occurs when lpfnWndProc is DefWidnowProcW and DDE isn't started.  But for workaround, we should revert a part of bug 1354020 changes.

MozReview-Commit-ID: BkxlZnm8mIh
2017-08-23 12:59:40 +09:00
Nicholas Nethercote
be5f8887c1 Bug 1390428 (part 9) - Remove nsXPIDLCString. r=erahm.
This is straightforward, with only two notable things.

- `#include "nsXPIDLString.h" is replaced with `#include "nsString.h"`
  throughout, because all nsXPIDLString.h did was include nsString.h. The
  exception is for files which already include nsString.h, in which case the
  patch just removes the nsXPIDLString.h inclusion.

- The patch removes the |xpidl_string| gtest, but improves the |voided| test to
  cover some of its ground, e.g. testing Adopt(nullptr).
2017-08-17 15:29:03 +10:00
peter chang
7daf49bfce Bug 1382680 Only add extended style WS_EX_COMPOSITED when using OMTC, r=bas,jimm
MozReview-Commit-ID: 3jwGmJxE8zL
2017-08-16 16:55:15 +08:00
Makoto Kato
e85705e338 Bug 1391164 - Unnecessary to use GetProcAddress for gesture APIs since we already drop XP and Vista. r=jimm
Since our platform requirement is Windows 7+, we don't need GetProcAddress for gesture APIs.  But nsWinGesture still uses GetProcAddress for Win7+ API.

MozReview-Commit-ID: 1COJqM4NJTD
2017-08-18 09:47:36 +09:00
Michael Smith
5287dc238a Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander
To make the HeadlessCompositorWidget work under Windows as well as Linux, I had
to change the way that I hooked it into the existing CompositorWidget system.
Under GTK, the CompositorWidgetInitData and CompositorWidgetDelegate types
provided the information needed by the headless compositor widget already (the
widget client size). On Windows, however, the definitions of these types
differ, and the client size information is simply retrieved from the platform
APIs when needed.

After this patch, CompositorWidgetDelegate is renamed to
PlatformCompositorWidgetDelegate, and a new base class called
CompositorWidgetDelegate is added with "AsPlatformSpecificDelegate()" and
"AsHeadlessCompositorWidget()" methods. In non-headless mode, widgets use
AsPlatformSpecificDelegate() to access the Windows- and GTK-specific delegate
APIs. In headless mode, AsHeadlessCompositorWidget() is used to access the
singular CompositorWidget implementation for headless. Meanwhile, the
CompositorWidgetInitData IPDL type is made into a union which always contains a
headless-specific HeadlessCompositorWidgetInitData struct and under GTK and
Windows also contains an {X11,Win}CompositorWidgetInitData struct.

This also includes a small patch to ensure that the GPU process and
hardware-accelerated compositing are always disabled under headless mode. These
features weren't activated by default in the Linux environments I tested in, but
did end up activating (and then promptly crashing Firefox) when I tested on
Windows.

MozReview-Commit-ID: CocPoHBDV7H
2017-07-06 17:45:34 -07:00
Nicholas Nethercote
a222153d9c Bug 1384835 (part 2, attempt 2) - Remove the Preferences::Get*String() variants that return nsAdoptingString. r=froydnj. 2017-07-31 14:23:50 +10:00
Makoto Kato
51d0253ef2 Bug 1383659 - LookAndFeel::GetInt(LookAndFeel::eIntID_CaretBlinkTime) should cache caret blink rate. r=jimm
WebKit's Speedometer benchmark updates textbox to emulate text input. So it also updates caret position with focus.  And, nsCaret always gets current blink time when reseting caret via LookAndFeel.

When profiling speedometer benchmark, GetCaretBlinkTime somestimes show profiling stack.  This API gets data from kernel mode, so this isn't faster.

So, we should cache caret blink rate.

And when changing this rate via control panel, WM_SETTINGCHANGE is posted. So we should update this cache via this message.

MozReview-Commit-ID: IEIi25RvR1g
2017-07-27 18:53:34 +09:00
Samael Wang
589fb2d54c Bug 1350643 - Part 6.2: Get per-monitor dpi in ScreenHelperWin & use the same value in nsWindow::GetDPI. r=jimm
MozReview-Commit-ID: 3oEvQe8zNJ0
2017-06-16 11:16:47 +08:00
Benjamin Smedberg
df947e7ec6 Bug 1374038 - _exit() can call static destructors on Windows! So replace it with TerminateProcess which can't, r=jimm r=mstange
MozReview-Commit-ID: FSsOU85yA18
2017-07-17 16:06:15 -04:00
David Parks
086bc1b9ea Bug 1373220 - Use correct window reference when setting parent window in Windows widget. r=jimm
SetParent removes the widget from the old parent widget and then sets its new one.  We were incorrectly using the new parent widget when we needed the old one.
2017-07-12 19:32:48 -07:00
Kris Maglione
1962acf627 Bug 1378948: Remove unused layers.popups.compositing.enabled preference. r=trivial
MozReview-Commit-ID: Css0qzakw14
2017-07-15 11:03:07 -07:00
Stephen A Pohl
3d59504b4e Bug 1379940 - Fix high memory consumption when hovering links on Windows. r=kmag 2017-07-12 12:06:00 -04:00
Beekill95
d6972c29f0 Bug 1331932 - Suppress window animations while we're restoring window dimension. r=mikedeboer,jimm,mstange 2017-06-22 14:27:05 +07:00
Mats Palmgren
ee81b4f595 Bug 1377490 - Make nsWindow 'final' to possibly devirtualize some calls. r=jimm
MozReview-Commit-ID: 6woRy5Wkogy
2017-07-05 23:14:48 +02:00
Stephen A Pohl
381d87ca6b Bug 1356317: Enable off-main-thread compositing on Windows when possible. r=kmag 2017-07-04 13:45:18 -05:00
Carsten "Tomcat" Book
5d237abf55 Backed out changeset ad0560789e1e (bug 1331932) 2017-07-04 09:53:11 +02:00
Beekill95
1401857ea2 Bug 1331932 - Suppress window animations while we're restoring window dimension. r=mikedeboer,jimm,mstange 2017-06-22 14:27:05 +07:00
Nicholas Nethercote
fcd4f4fa21 Bug 1376638 - Minimize uses of prmem.h. r=glandium.
It's silly to use prmem.h within Firefox code given that in our configuration
its functions are just wrappers for malloc() et al. (Indeed, in some places we
mix PR_Malloc() with free(), or malloc() with PR_Free().)

This patch removes all uses, except for the places where we need to use
PR_Free() to free something allocated by another NSPR function; in those cases
I've added a comment explaining which function did the allocation.
2017-06-30 19:05:41 -07:00
Jonathan Watt
3912d2e86c Bug 1344910, part 1 - Add a '-moz-win-accentcolor' color keyword to expose the Win10 accent color. r=jimm
on a CLOSED TREE, because it failed to autoland before bug 1344917 landed.

MozReview-Commit-ID: 9jMMVnnSF5h
2017-06-29 18:57:01 -07:00
Bill McCloskey
ce42826bdf Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Jonathan Watt
59c20db17a Bug 1369508 - Avoid slow and unnecessary GetSystemMetrics calls for Window's command buttons during startup. r=jimm 2017-06-12 21:11:44 +01:00
Carsten "Tomcat" Book
8ad6daecdd Backed out changeset 31a3362f641c (bug 1344910) for crashes in marionette.py | application crashed 2017-06-21 15:00:08 +02:00
Carsten "Tomcat" Book
9f702563a4 Backed out changeset 71444e81ac24 (bug 1369508) 2017-06-21 14:59:28 +02:00
Carsten "Tomcat" Book
238bf154d5 Backed out changeset 4f6302a98ae4 (bug 1372405) 2017-06-21 13:59:26 +02:00
Jonathan Watt
72881e02c7 Bug 1369508 - Avoid slow and unnecessary GetSystemMetrics calls for Window's command buttons during startup. r=jimm
MozReview-Commit-ID: FUuPvpjB0pB
2017-06-12 21:11:44 +01:00
Jonathan Watt
7afc07b7e7 Bug 1344910, part 1 - Add a '-moz-win-accentcolor' color keyword to expose the Win10 accent color. r=jimm
MozReview-Commit-ID: DtRcuizKRH2
2017-06-05 12:19:51 +01:00
Bill McCloskey
67e8af4720 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Aaron Klotz
8910842b15 Bug 1323069: Widget changes to facilitate returning a11y::LazyInstantiator in response to WM_GETOBJECT; r=jimm
MozReview-Commit-ID: JXbxr4tWEST
2017-06-15 17:29:07 -06:00
Carsten "Tomcat" Book
bbe9441993 Backed out changeset 9846de3bd954 (bug 1372405) 2017-06-20 08:27:02 +02:00
Bill McCloskey
f69608368b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
sotaro
e9068f5a35 Bug 1368882 - Prevent ClientSize becomes minus value r=jrmuizel 2017-06-12 12:44:49 +09:00
sotaro
28d3902c62 Bug 1367452 - Add DestroyLayerManager() to WM_DESTROY message r=jrmuizel 2017-06-12 10:11:44 +09:00
Masayuki Nakano
61ebe4ab74 Bug 1370198 Back out the patch for bug 1369419 because the patch couldn't fix bug 1361132 and causes new crash bugs r=jimm
MozReview-Commit-ID: Eq7Dkk6Ghwc
2017-06-05 21:52:16 +09:00
Masayuki Nakano
874fe4d456 Bug 1369419 GetMessage() and PeekMessage() shouldn't be used directly as far as possible r=jimm
In TSF mode, application should retrieve messages with ITfMessagePump::GetMessage() or ITfMessagePump::PeekMessage() since TSF/TIP may handle the message before or after the host application handles it.

This patch rewrites the API users with WinUtils::(Get|Peek)Message() which use ITfMessagePump if it's available.

MozReview-Commit-ID: LwHIgp7SxLH
2017-06-02 12:02:35 +09:00
Kris Maglione
59ba2a8a5e Bug 1365660: Part 5b - Enable compositing for popups with remote content on Windows. r=bas
MozReview-Commit-ID: GzpCBUnVkdY
2017-05-29 14:58:48 -07:00
David Anderson
44a0eef1d8 Revert to synchronous resizes when the DWM is disabled. (bug 1363122, r=bas) 2017-05-10 10:48:16 -07:00
Mike Conley
79d783c532 Bug 1356575 - Don't warn on SetTransparencyMode on Windows if the mode isn't actually changing. r=jimm
MozReview-Commit-ID: J7dV0xKuEL7
2017-04-18 14:35:38 -04:00
Jim Mathies
407932a585 Bug 1344907 - Fire observer events informing front end about changes in input method (touch vs. pointer input). r=masayuki
MozReview-Commit-ID: 4YOKD0tWZNN
2017-04-18 10:19:02 -05:00
Masatoshi Kimura
87a1e96935 Bug 1354020 - Use per-monitor v2 on Creators Update. r=jfkthame
MozReview-Commit-ID: FiO3DupULFu
2017-04-07 07:14:14 +09:00
Wes Kocher
773ba55319 Merge inbound to central, a=merge 2017-04-05 14:16:37 -07:00
Mike Conley
ef21e20df9 Bug 1344839 - Don't allow transparent top-level windows on Windows. r=jimm
MozReview-Commit-ID: 6bXHqDuUMw6
2017-03-21 22:15:55 -04:00
Stone Shih
929633ac0c Bug 1345398 - Fire WidgetMouseEvent by handling pen generated mouse messages to get Windows native dnd supports. r=jimm
Due to Windows doesn't support dnd in the pen message handler, we can't handle and consume WM_POINTER* to fire WidgetMouseEvent. On the other hand, we can't get some pen related attributes from Windows mouse messages. This patch gets and caches the attributes by handling WM_POINTER* but not fire WidgetMouseEvent to support dnd and pen related attributes. When handling the subsequent Windows mouse messages, we use the cached attributes to fire WidgetMouseEvent. Considering we might need to use WM_POINTER* someday, use a preference to control the behavior.

MozReview-Commit-ID: 5E60KO1zo0W
2017-03-13 15:40:52 +08:00
Tom Ritter
7e58460b1b Bug 1351720 Add compiler guards for MOZ_WM_STARTA11Y r=jimm
MozReview-Commit-ID: FE53LsSAF2S
2017-03-29 11:18:24 -05:00
Sebastian Hengst
b3de67a757 Backed out changeset b6a97b374a6d (bug 1344839) 2017-03-29 01:18:22 +02:00
Wes Kocher
e6c3565fe5 Merge inbound to m-c a=merge 2017-03-28 13:30:56 -07:00