Commit Graph

161 Commits

Author SHA1 Message Date
Stephen A Pohl
09651af1bd Bug 1640195: Address UX feedback for non-native widget styling. r=geckoview-reviewers,emilio,agi
Differential Revision: https://phabricator.services.mozilla.com/D76509
2020-07-30 17:02:02 +00:00
Noemi Erli
4d01914553 Backed out changeset 4fbc6775e743 (bug 1640195) for causing multiple failures CLOSED TREE 2020-07-30 02:58:03 +03:00
Stephen A Pohl
597bb7d3e0 Bug 1640195: Address UX feedback for non-native widget styling. r=geckoview-reviewers,emilio,agi
Differential Revision: https://phabricator.services.mozilla.com/D76509
2020-07-29 22:16:06 +00:00
Bob Owen
37fa34b296 Bug 1631465 part 4: Add unwritable margin information for Windows. r=jwatt
This includes adding nsPrinterWin and nsPaperWin, so that we can retrieve
information from the printer device lazily.

Differential Revision: https://phabricator.services.mozilla.com/D84009
2020-07-22 15:12:02 +00:00
Doug Thayer
8f54209ef6 Bug 1651165 - Rename idle service r=Gijs,geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D83413
2020-07-20 16:06:59 +00:00
Cosmin Sabou
e936ad494b Backed out changeset 5777919cd214 (bug 1400317) for causing Windows MinGW all bustages on WinThemeData.cpp. CLOSED TREE 2020-06-16 02:08:51 +03:00
Chris Martin
29b8d2a190 Bug 1400317 - Centralize ThemeData-related calls r=jmathies
To enable Win32k lockdown, calls involving native theme will need to be
removed.

Currently these calls are scattered around several files. This class creates
a proxy for the Win32 calls. Whitelisting this class in awcw32ks makes it much
easier to track Win32k removal with themes removed.

As an added benefit, once non-native theming is done it will be easy to verify
by asserting that this class is never created in Content.

Differential Revision: https://phabricator.services.mozilla.com/D75946
2020-06-15 21:46:28 +00:00
Chris Martin
16126fa7a5 Bug 1400317 - Add new async calls/singleton for remoting system parameters r=jmathies
There are a number of system parameters that return simple floats and bools
and are just different forms of system parameter query.

This introduces a new singleton and IPDL calls to send these values from parent
to content processes and cache them in content.

I started with these 2 variables because their values don't go stale. In a
later changeset, I will add more logic to invalidate cached values that go
stale, such as for the SPI_GETFLATMENU metric.

Differential Revision: https://phabricator.services.mozilla.com/D76639
2020-06-14 14:23:03 +00:00
Geoff Brown
343a005095 Bug 1636677 - Add SCHEDULES.exclusive for widget/cocoa and widget/windows; r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D75595
2020-05-15 18:48:38 +00:00
Timothy Nikkel
3cd8209b42 Bug 1630912. Create the necessary direct manipulation objects. r=aklotz
Differential Revision: https://phabricator.services.mozilla.com/D71305
2020-05-08 23:19:58 +00:00
Razvan Maries
2632be905a Backed out 6 changesets (bug 1630912) for build bustages on gfxAndroidPlatform.cpp. CLOSED TREE
Backed out changeset 21dc02bc12b9 (bug 1630912)
Backed out changeset 08a6a1f1c4c7 (bug 1630912)
Backed out changeset 108b1a07929b (bug 1630912)
Backed out changeset e202ddeb4e40 (bug 1630912)
Backed out changeset f7d9852a3d09 (bug 1630912)
Backed out changeset e6cd2ceab183 (bug 1630912)
2020-05-05 09:04:37 +03:00
Timothy Nikkel
aa7153cfe0 Bug 1630912. Create the necessary direct manipulation objects. r=aklotz
Differential Revision: https://phabricator.services.mozilla.com/D71305
2020-05-04 15:26:39 +00:00
Makoto Kato
8a25b6b137 Bug 1618759 - Part 4. Use InputPane to open on-screen keyboard for Windows 10 RS1+. r=masayuki
Unfortunately, current on-screen keyboard (OSK) code in Gecko doesn't work on
current Windows 10. Actually, Windows automatically control OSK when getting
focus. But this isn't good for web browser since `inputmode` spec can close
OSK by `none` value.

Windows 10 RS1 has new API (IInputPane [*1]) to control software keyboard. So
we have to use it if OS is RS1 or later.

TSF has new flag as `TS_SD_INPUTPANEMANUALDISPLAYENABLE` not to control OSK by
TSF. We should use it.

IMM doesn't have this feature to manage OSK. This will become a limitation for
`inputmode` implementation.

[*1] https://docs.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.inputpane

Depends on D68314

Differential Revision: https://phabricator.services.mozilla.com/D68315

--HG--
extra : moz-landing-system : lando
2020-04-07 22:30:37 +00:00
Mihai Alexandru Michis
2e69b21372 Backed out 6 changesets (bug 1618759) for causing mingw bustages on TSFTextStore.cpp
CLOSED TREE

Backed out changeset 77a93a01f924 (bug 1618759)
Backed out changeset f06a8ee813cf (bug 1618759)
Backed out changeset 020258996c4a (bug 1618759)
Backed out changeset 0e3a40bf9ba8 (bug 1618759)
Backed out changeset a4dcd48616d9 (bug 1618759)
Backed out changeset 010d99db9abd (bug 1618759)
2020-04-07 16:55:00 +03:00
Makoto Kato
1b72c87658 Bug 1618759 - Part 4. Use InputPane to open on-screen keyboard for Windows 10 RS1+. r=masayuki
Unfortunately, current on-screen keyboard (OSK) code in Gecko doesn't work on
current Windows 10. Actually, Windows automatically control OSK when getting
focus. But this isn't good for web browser since `inputmode` spec can close
OSK by `none` value.

Windows 10 RS1 has new API (IInputPane [*1]) to control software keyboard. So
we have to use it if OS is RS1 or later.

TSF has new flag as `TS_SD_INPUTPANEMANUALDISPLAYENABLE` not to control OSK by
TSF. We should use it.

IMM doesn't have this feature to manage OSK. This will become a limitation for
`inputmode` implementation.

[*1] https://docs.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.inputpane

Depends on D68314

Differential Revision: https://phabricator.services.mozilla.com/D68315

--HG--
extra : moz-landing-system : lando
2020-04-07 13:27:33 +00:00
Marc Streckfuss
8f47daac4b Bug 1584501: Draft Implementation of the Windows SystemMediaTransportControl WinRT Interface r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D47546

--HG--
extra : moz-landing-system : lando
2020-02-20 12:04:12 +00:00
Dorel Luca
63445ea1cc Backed out changeset 3dbd1e653555 (bug 1584501) for WPT failures in widget/windows/WindowsSMTCProvider.cpp 2020-02-20 04:17:08 +02:00
Marc Streckfuss
1218a48794 Bug 1584501: Draft Implementation of the Windows SystemMediaTransportControl WinRT Interface r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D47546

--HG--
extra : moz-landing-system : lando
2020-02-19 23:34:46 +00:00
Dorel Luca
1fcff09173 Backed out changeset 647e98de0262 (bug 1584501) for Build bustage in widget/windows/WindowsSMTCProvider.h. CLOSED TREE 2020-02-20 00:37:57 +02:00
Marc Streckfuss
4758b0ed46 Bug 1584501: Draft Implementation of the Windows SystemMediaTransportControl WinRT Interface r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D47546

--HG--
extra : moz-landing-system : lando
2020-02-19 22:13:28 +00:00
Kagami Sascha Rosylight
0c391af6ec Bug 1573029 - Windows Web Share implementation r=marcosc,farre
Differential Revision: https://phabricator.services.mozilla.com/D44613

--HG--
extra : moz-landing-system : lando
2020-02-13 14:21:06 +00:00
Chris Martin
c7f4247786 Bug 1604412 - Enable remote backbuffer GDI compositing r=jmathies,jld
This change adds new "remote backbuffer" logic when compositing without
HW acceleration on Windows (IE compositing through Cairo using the Win32
GDI)

A new piece of shared memory is created between the GPU process and the UI
process, and the GPU process sends requests to the UI process to first "borrow"
a properly-sized buffer to draw into, and then sends a "present" request to
tell the UI process to actually blit the buffer to the Win32 window.

This is needed for the GPU sandbox to work, since Windows rightly doesn't
allow the untrusted GPU process to directly draw the contents of a window
owned by the trusted UI process.

Differential Revision: https://phabricator.services.mozilla.com/D61370

--HG--
extra : moz-landing-system : lando
2020-02-13 14:32:37 +00:00
Csoregi Natalia
9c0442f988 Backed out changeset 71e63781b38c (bug 1604412) for failures on /browser_startup_syncIPC.js -PCompositorWidget. CLOSED TREE 2020-02-13 12:13:06 +02:00
Chris Martin
90a7dd97e9 Bug 1604412 - Enable remote backbuffer GDI compositing r=jmathies,jld
This change adds new "remote backbuffer" logic when compositing without
HW acceleration on Windows (IE compositing through Cairo using the Win32
GDI)

A new piece of shared memory is created between the GPU process and the UI
process, and the GPU process sends requests to the UI process to first "borrow"
a properly-sized buffer to draw into, and then sends a "present" request to
tell the UI process to actually blit the buffer to the Win32 window.

This is needed for the GPU sandbox to work, since Windows rightly doesn't
allow the untrusted GPU process to directly draw the contents of a window
owned by the trusted UI process.

Differential Revision: https://phabricator.services.mozilla.com/D61370

--HG--
extra : moz-landing-system : lando
2020-02-13 03:59:13 +00:00
Chris Martin
3d665908f0 Bug 1604412 - Duplicate WinCompositorWidget logic into subclasses r=sotaro
This looks like a large change, but it's really just moving stuff
around.

It takes the logic in WinCompositorWidget and duplicates it into
its only 2 subclasses: InProcessWinCompositorWidget and
CompositorWidgetParent.

This is because CompositorWidgetParent is about to change *a lot*, but
InProcessWinCompositorWidget will basically stay the same. This is an
easy way to verify that I don't accidently break
InProcessWinCompositorWidget.

Differential Revision: https://phabricator.services.mozilla.com/D57428

--HG--
extra : moz-landing-system : lando
2020-01-08 18:35:22 +00:00
Alastor Wu
a7c687ab30 Bug 1601508 - create a general interface for getting platform-specific media keys event source r=spohl
Create a general interface for getting platform-specific media keys event source in order to remove platform specific code from non-platform related folder `dom/media`.

Differential Revision: https://phabricator.services.mozilla.com/D55892

--HG--
rename : dom/media/mediacontrol/MediaHardwareKeysEventSourceMac.h => widget/cocoa/MediaHardwareKeysEventSourceMac.h
rename : dom/media/mediacontrol/MediaHardwareKeysEventSourceMac.mm => widget/cocoa/MediaHardwareKeysEventSourceMac.mm
extra : moz-landing-system : lando
2019-12-06 20:55:26 +00:00
Lee Salzman
d7ccbd0261 Bug 1591996 - miscellaneous Gecko fixes for Skia m79 update. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D50825

--HG--
extra : moz-landing-system : lando
2019-10-28 21:42:48 +00:00
Toshihito Kikuchi
d5a7d77f4f Bug 1573051 - Use both SHParseDisplayName and CreateUri to validate a uri. r=aklotz
For launching with an external protocol handler on Windows, we validate a uri
before sending it to `ShellExecute`, by converting a string into `PIDL` using
`SHParseDisplayName` and extract a string back from PIDL using
`IShellFolder::GetDisplayNameOf`.  The problem was that if a fragment, a
string following a hash mark (#), is always dropped after this validation.
This is caused by the intended design of Windows.

A proposed fix is to use `CreateUri` for validation, which is used behind
`IShellFolder::GetDisplayNameOf`.  However, we also keep `SHParseDisplayName`
because there are cases where `CreateUri` succeeds while `SHParseDisplayName`
fails such as a non-existent `file:` uri and we want to keep the same
validation result for those cases.

Adding `CreateUri` broke MinGW build because of our toolkit issue.  We use
dynamic linking for MinGW build in the meantime.

This patch adds a new unittest to make sure the new validation logic
behaves the same as the old one except the fragment issue.

Differential Revision: https://phabricator.services.mozilla.com/D42041

--HG--
extra : moz-landing-system : lando
2019-08-19 22:10:32 +00:00
Razvan Maries
8275452b39 Backed out changeset 722bc0469e8e (bug 1573051) for Windows MinGW bustages. CLOSED TREE 2019-08-17 00:57:50 +03:00
Toshihito Kikuchi
27093f2f3d Bug 1573051 - Use both SHParseDisplayName and CreateUri to validate a uri. r=aklotz
For launching with an external protocol handler on Windows, we validate a uri
before sending it to `ShellExecute`, by converting a string into `PIDL` using
`SHParseDisplayName` and extract a string back from PIDL using
`IShellFolder::GetDisplayNameOf`.  The problem was that if a fragment, a
string following a hash mark (#), is always dropped after this validation.
This is caused by the intended design of Windows.

A proposed fix is to use `CreateUri` for validation, which is used behind
`IShellFolder::GetDisplayNameOf`.  However, we also keep `SHParseDisplayName`
because there are cases where `CreateUri` succeeds while `SHParseDisplayName`
fails such as a non-existent `file:` uri and we want to keep the same
validation result for those cases.

This patch adds a new unittest to make sure the new validation logic
behaves the same as the old one except the fragment issue.

Differential Revision: https://phabricator.services.mozilla.com/D42041

--HG--
extra : moz-landing-system : lando
2019-08-16 19:06:01 +00:00
Aaron Klotz
a9b427157f Bug 1567614: Part 1 - Refactor launcher process's LaunchUnelevated to delegate to ShellExecuteByExplorer; r=jmathies
This is just so that both the launcher process and other Gecko code can share
this method.

Differential Revision: https://phabricator.services.mozilla.com/D38943

--HG--
extra : moz-landing-system : lando
2019-07-23 20:17:58 +00:00
Masatoshi Kimura
26437cdd14 Bug 1528963 - Attach console before launching child. r=aklotz
Differential Revision: https://phabricator.services.mozilla.com/D23807

--HG--
rename : toolkit/xre/nsNativeAppSupportWin.cpp => widget/windows/WindowsConsole.cpp
extra : moz-landing-system : lando
2019-03-29 18:05:03 +00:00
Gurzau Raul
2774226563 Backed out changeset 7cb86942ed34 (bug 1528963) for bustages at nsEmbedFunctions.cpp on a CLOSED TREE. 2019-03-29 01:45:01 +02:00
Masatoshi Kimura
0cf76eebc1 Bug 1528963 - Attach console before launching child. r=aklotz
Differential Revision: https://phabricator.services.mozilla.com/D23807

--HG--
rename : toolkit/xre/nsNativeAppSupportWin.cpp => widget/windows/WindowsConsole.cpp
extra : moz-landing-system : lando
2019-03-28 21:37:52 +00:00
David Major
e5773183d6 Bug 1528074 - Remove MSVC warning flags that clang-cl doesn't understand r=chmanchester
Per the previous patch, clang-cl only understands five MSVC-style warning flags: 7219c7e9af/clang/include/clang/Driver/CLCompatOptions.td (L188-L197)

This patch removes the flags that clang-cl doesn't understand.

Differential Revision: https://phabricator.services.mozilla.com/D22588

--HG--
extra : moz-landing-system : lando
2019-03-13 20:19:08 +00:00
Tarek Ziadé
2420a8ebb9 Bug 1502917 - Adding ChromeUtils.RequestProcInfo() - r=Ehsan,mstange,kershaw,mhowell
This patch introduces a new module in widget that implements a simple API to
retrieve system information about a process and its threads.

This function is wrapped into ChromeUtils.RequestProcInfo to return information
about processes started by Firefox.

The use case for this API is to monitor Firefox resources usage in projects
like the battery usage done by the data science team.

Differential Revision: https://phabricator.services.mozilla.com/D10069

--HG--
extra : moz-landing-system : lando
2019-02-23 18:07:59 +00:00
Dorel Luca
e2b65baabd Backed out changeset cd5dbeee8c5d (bug 1502917) for build bustage. CLOSED TREE 2019-02-22 14:32:42 +02:00
Tarek Ziadé
983d831bbe Bug 1502917 - Adding ChromeUtils.RequestProcInfo() - r=Ehsan,mstange,kershaw,mhowell
This patch introduces a new module in widget that implements a simple API to
retrieve system information about a process and its threads.

This function is wrapped into ChromeUtils.RequestProcInfo to return information
about processes started by Firefox.

The use case for this API is to monitor Firefox resources usage in projects
like the battery usage done by the data science team.

Differential Revision: https://phabricator.services.mozilla.com/D10069

--HG--
extra : moz-landing-system : lando
2019-02-21 23:05:44 +00:00
Kris Maglione
950b0fc87b Bug 1524687: Part 10 - Convert Windows widget module to static registration. r=erahm
--HG--
extra : source : 614be688767fed0d16362dc5fbf0d34fc3c65579
extra : intermediate-source : accad7b4cbc71f35ffd4912044aa82c45872bb94
2019-01-25 15:20:36 -08:00
arthur.iakab
470dbf03b6 Backed out 5 changesets (bug 1524687) for causing build bustages on platform.h CLOSED TREE
Backed out changeset 0f06a6b51bfe (bug 1524687)
Backed out changeset 7a1ef487a9e7 (bug 1524687)
Backed out changeset accad7b4cbc7 (bug 1524687)
Backed out changeset eb33f7e6467c (bug 1524687)
Backed out changeset 86cf09db340b (bug 1524687)
2019-02-21 02:04:02 +02:00
Kris Maglione
1d81cfc069 Bug 1524687: Part 10 - Convert Windows widget module to static registration. r=erahm
--HG--
extra : rebase_source : b64845009833ae2dd808111d52c137b784a23c88
extra : source : 614be688767fed0d16362dc5fbf0d34fc3c65579
2019-01-25 15:20:36 -08:00
Mike Hommey
ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

Differential Revision: https://phabricator.services.mozilla.com/D19615

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Masayuki Nakano
37b8ffe4a8 Bug 1521690 - Use Unused << instead of (void*) in nsWindow.cpp r=aklotz,jmathies
Casting non-void result to `void*` causes warning of clang.  Additionally,
perhaps, we should use `Unused <<` because of modern style.

And also this patch makes widget/windows is treated as "warning as errors"
because this patch fixes the last warning.

Differential Revision: https://phabricator.services.mozilla.com/D17216

--HG--
extra : moz-landing-system : lando
2019-02-01 20:15:04 +00:00
Sylvestre Ledru
ef05004811 Bug 1503537 - Get rid of the pdfium & mortar code r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D10352

--HG--
extra : moz-landing-system : lando
2018-11-28 19:31:21 +00:00
Andrew Osmond
968f9abb55 Bug 1501482. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D11897
2018-11-16 09:41:27 -05:00
Lee Salzman
978391d1a2 Bug 1502152 - Skia m71 mozbuild fixes. r=rhunt 2018-10-30 22:17:34 -04:00
Edouard Oger
e46f0d7370 Bug 1155505 - Part 2. Implement native Window Toasts as a notification backend. r=jmathies
Implemnt notification backend by Windows Toast API that is from Windows 8+.

Original patch is me and add some features by eoger.

Differential Revision: https://phabricator.services.mozilla.com/D3003

--HG--
extra : rebase_source : 0368f269e9adb2347621500b7c9d62c172a71e39
2018-10-03 17:57:23 +09:00
Ciure Andrei
7cf074453d Backed out 4 changesets (bug 1155505) for win2012 build bustages CLOSED TREE
Backed out changeset af0781ab02a6 (bug 1155505)
Backed out changeset f5e706d5a143 (bug 1155505)
Backed out changeset 5400ec20792c (bug 1155505)
Backed out changeset 82e129f7545e (bug 1155505)
2018-10-03 09:16:27 +03:00
Makoto Kato
d91f9925ae Bug 1155505 - Part 4. Fix bustage for mingw32. r=me CLOSED TREE
--HG--
extra : histedit_source : 97b0fbbd8acdc0a8cb6641f45bfc1c4c3eae19d5
2018-10-03 15:08:41 +09:00
Edouard Oger
bb43ab0c73 Bug 1155505 - Part 2. Implement native Window Toasts as a notification backend. r=jmathies
Implemnt notification backend by Windows Toast API that is from Windows 8+.

Original patch is me and add some features by eoger.

Differential Revision: https://phabricator.services.mozilla.com/D3003

--HG--
extra : rebase_source : 5b73af9480569105c24baa5013e25879cbc68b02
2018-10-03 13:15:43 +09:00