Commit Graph

863 Commits

Author SHA1 Message Date
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
Mike Conley
84386edb7a 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
Jim Mathies
1ffcd75148 Bug 1342245 - Add support for accessibility.force_disabled=-1 (force enabled) on Windows. r=aklotz
MozReview-Commit-ID: 7cl6AI5ZFs9
2017-02-24 08:58:40 -06:00
Kan-Ru Chen
3659552119 Bug 1194751 - Part 7. Implement ScreenHelperWin and delete old nsScreenManagerWin/nsScreenWin. r=jimm
ScreenHelperWin is the platform dependent part of the original
nsScreenManagerWin and nsScreenWin. It listens the WM_DISPLAYCHANGE
message and pushes updates to ScreenManager. See patch part 4. for how
ScreenManager works.

MozReview-Commit-ID: 20A3ZQKmH9a
2017-03-09 19:32:31 +08:00
sotaro
7585ae6fe9 Bug 1349476 - Remove LayersBackend::LAYERS_D3D9 type r=mattwoodrow 2017-03-23 11:00:41 +09:00
Kartikaya Gupta
6463b8f71f Bug 1343977 - Extract nsAutoRollup into a more self-contained class and clean it up some. No functional changes intended. r=enndeakin+6102
This just decouples nsAutoRollup from the widget class, which it isn't really
bound to anyway because the internal data is static. We'll need to be able to
use nsAutoRollup independently in the next patch.

MozReview-Commit-ID: 1dxSLTr4g1K
2017-03-13 10:44:56 -04:00
David Major
7c0497b430 Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron
There's an antipattern where nsLiteralString is used as an unnecessary intermediary in converting from CharT* to CharT*,
e.g. CallAFunctionThatTakesACharPointer(NS_LITERAL_CSTRING("foo").get());
or
NS_NAMED_LITERAL_STRING(foo, "abc");
CallAFunctionThatTakesACharPointer(foo.get());

This patch rewrites the callsites that can be trivially changed to use char*/char16_t*.

I'd somewhat like to remove nsTLiteralString::get() altogether, but in code that's less straightforward than these examples, get() is useful enough to keep.

MozReview-Commit-ID: Kh1rUziVllo
2017-03-14 15:26:27 +13:00
Iris Hsiao
22d2818760 Backed out 12 changesets (bug 1344629) for stylo build bustage
Backed out changeset cf4273d3ac30 (bug 1344629)
Backed out changeset a96390e044e0 (bug 1344629)
Backed out changeset d9b330f9bc24 (bug 1344629)
Backed out changeset 2b460fe020af (bug 1344629)
Backed out changeset 0ada91b0452e (bug 1344629)
Backed out changeset 083304fcd6bd (bug 1344629)
Backed out changeset 53d7d1ce2c97 (bug 1344629)
Backed out changeset 55eee7078ae4 (bug 1344629)
Backed out changeset 7d3c06b3eca9 (bug 1344629)
Backed out changeset e5df14c3db61 (bug 1344629)
Backed out changeset 636095ff2815 (bug 1344629)
Backed out changeset 0be052ad24c1 (bug 1344629)
2017-03-14 11:52:24 +08:00
David Major
a660713d2b Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron
There's an antipattern where nsLiteralString is used as an unnecessary intermediary in converting from CharT* to CharT*,
e.g. CallAFunctionThatTakesACharPointer(NS_LITERAL_CSTRING("foo").get());
or
NS_NAMED_LITERAL_STRING(foo, "abc");
CallAFunctionThatTakesACharPointer(foo.get());

This patch rewrites the callsites that can be trivially changed to use char*/char16_t*.

I'd somewhat like to remove nsTLiteralString::get() altogether, but in code that's less straightforward than these examples, get() is useful enough to keep.

MozReview-Commit-ID: Kh1rUziVllo
2017-03-14 15:26:27 +13:00