summaryrefslogtreecommitdiffstats
path: root/win8/metro_driver/metro_driver_win7.cc
Commit message (Collapse)AuthorAgeFilesLines
* clang/win: Fix warnings to prepare for building without -Wno-reorder.sammc2015-07-021-2/+2
| | | | | | | | | | | | | This changes constructor initializer list ordering to match field declaration ordering, except for gtest and breakpad, where the warning is disabled. BUG=505304 NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1210013007 Cr-Commit-Position: refs/heads/master@{#337152}
* Remove Unactionable or Low Jank USER32 Instrumentationrobliao2015-06-021-4/+0
| | | | | | | | | | USER32 calls generally do not have an SLA on returning promptly. They do however, generally need to be called on the thread that created the hwnd. There's not much we can do with these calls. BUG=470226 Review URL: https://codereview.chromium.org/1163863003 Cr-Commit-Position: refs/heads/master@{#332322}
* Apply automated fixits for Chrome clang plugin to win8.dcheng2015-04-291-155/+145
| | | | | | | | | | | Working on trimming down plugin warnings on the Windows clang build. BUG=467287 TBR=ananta@chromium.org Review URL: https://codereview.chromium.org/1117743002 Cr-Commit-Position: refs/heads/master@{#327588}
* Update {virtual,override} to follow C++11 style in win8.nick2015-04-231-46/+45
| | | | | | | | | | | | The Google style guide states that only one of {virtual,override,final} should be used for each declaration, since override implies virtual and final implies both virtual and override. This patch was manually generated using a regex and a text editor. BUG=417463 Review URL: https://codereview.chromium.org/1101663006 Cr-Commit-Position: refs/heads/master@{#326578}
* Instrumenting all wndprocs to find jank.vadimt2015-01-171-0/+5
| | | | | | | | | | | | PeekMessage calls are still the top source of jank. The theory is that they invoke some synchronous message processing, and this causes jank. I realized that I didn't instrument all wndprocs, which I'm doing now. BUG=440919 Review URL: https://codereview.chromium.org/850213002 Cr-Commit-Position: refs/heads/master@{#312004}
* Add a few missing overrides found by a new clang warning.thakis2014-10-301-54/+54
| | | | | | | | | | Namely, -Winconsistent-missing-override. No behavior change. BUG=428099 Review URL: https://codereview.chromium.org/687453006 Cr-Commit-Position: refs/heads/master@{#302132}
* Get IME's to work in Chrome OS mode on Windows 7.ananta2014-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IME support in Chrome OS mode/Windows 8 mode is currently implemented in two parts. 1. Metro driver (Viewer process): Here we rely on the Text services framework for IME notifications and relay those to the browser process. 2. Chrome Browser: The browser initializes the input method via the RemoteInputMethodWin class which initializes the input method if the viewer is an immersive process. Fixes as below:- 1. The metro driver initializes the text services framework by instantiating the CLSID_TF_ThreadMgr COM object and requests the ITfThreadMgr2 interface. This interface is not implemented for Windows 7. Fix is to use the ITfThreadMgr interface instead for Windows 7 and up. This provides all the functionality we need. 2. The metro driver was instantiating a MTA COM apartment. The text services COM objects expect to be instantiated in a STA. 3. The AppListService object on Windows attempts to bring up the app list bubble in ASH mode even if we are in desktop mode. Fix is to avoid that. 4. The IsRemoteInputMethodWinRequired function initialized the remote input method if the viewer was an immersive process. To ensure that it also works on Windows 7 we check whether the browser process is launched with the kViewerConnect switch. BUG=421980 Review URL: https://codereview.chromium.org/645683002 Cr-Commit-Position: refs/heads/master@{#299203}
* Replacing the OVERRIDE with override and FINAL with final in win8 foldermohan.reddy2014-10-061-2/+2
| | | | | | | | | | | This step is a giant search and replace for OVERRIDE and FINAL to replace them with their lowercase versions. BUG=417463 Review URL: https://codereview.chromium.org/625073003 Cr-Commit-Position: refs/heads/master@{#298240}
* Notify the Chrome browser process about the window being activated from the ↵ananta2014-09-051-39/+67
| | | | | | | | | | | | | | viewer process. This only applies to Chrome OS mode on Windows 7. In the corresponding handler on the browser side we request the compositor to schedule a paint for the whole window. BUG=409765 TBR=jschuh Review URL: https://codereview.chromium.org/546503002 Cr-Commit-Position: refs/heads/master@{#293417}
* Win7 Ash fullscreen modecpu@chromium.org2014-06-131-6/+31
| | | | | | | | | | | | | Currently we have a fixed 1600x900 size, but the end goal is to be similar to win8 metro mode. This patch makes the window fullscreen respecting the taskbar area. If shift is held, starts at the old size so you can run a debugger next to it. BUG=none TEST=none Review URL: https://codereview.chromium.org/303673006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276913 0039d316-1c4b-4281-b951-d872f2087c98
* EOL change of the filecpu@chromium.org2014-06-131-274/+274
| | | | | | | | | | | BUG=nome TEST=none NOTRY=true R=ananta@chromium.org Review URL: https://codereview.chromium.org/335463005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276880 0039d316-1c4b-4281-b951-d872f2087c98
* Support input events in Chrome ASH on Windows 7.ananta@chromium.org2014-05-151-15/+489
| | | | | | | | | | | | | All changes are in the metro_driver_win7.cc file. There are two classes MouseEvent and KeyboardEvent which implement the required set of winrt interfaces needed for this to work. We call the corresponding handlers in the ChromeAppViewAsh class on the same lines as ASH on Windows 8. BUG=356475 R=cpu@chromium.org, cpu Review URL: https://codereview.chromium.org/282953003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270558 0039d316-1c4b-4281-b951-d872f2087c98
* 3rd part of porting Chrome Ash to Windows 7ananta@chromium.org2014-04-181-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the Chrome side that 1- removes windows 8 specific checks 2- disconnects the fake window_tree_host_win 3- connects the remote_window_tree_host_win With this change you can now see the ash desktop but not interact with it since input events have not been enabled. Here is the second part https://codereview.chromium.org/211863003/ First part with rationale: https://codereview.chromium.org/199843004/ Note: this is a redo & rebase of https://codereview.chromium.org/227573007/ BUG=356475 TEST=none patch from issue 235683005 BUG= Review URL: https://codereview.chromium.org/235933004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264680 0039d316-1c4b-4281-b951-d872f2087c98
* Second part of porting Chrome Ash to Windows 7cpu@chromium.org2014-03-271-25/+167
| | | | | | | | | | | | | | | | | This CL adds more meat to all the interfaces and gets ChromeAppViewAsh to work all the Way to the Run() method, including the DirectX initialization. First part with rationale: https://codereview.chromium.org/199843004/ NOTRY=true BUG=356475 TEST=none Review URL: https://codereview.chromium.org/211863003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259984 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome metro mode win7 emulation.cpu@chromium.org2014-03-211-94/+507
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems possible that we can run Ash (chrome metro) in Windows7 since we are using the GPU-direct path in Aura. In fact, we had something close to this that bitrotted because only the output (display) had common code with what we shipped but no commonality otherwise in two important regards - Input - Focus & Activation. Basically what we had it was a frankenstein between Ash and Desktop Aura that had the worst bugs from both and nobody cared to fix because a fix there would be mostly orthogonal from the two modes that we ship. This is an effort to address these issues. It uses COM / WinRT magic to try to reuse as much code as possible from the metro_viewer side, while trying to keep the browser side identical. In other to have that reuse, we need to emulate the host (microsoft) side of the metro environment. This patch is a start on that direction namely an emulation of a WinRT object known as "Windows.ApplicationModel.Core.CoreApplication" Which exposes a bunch of interfaces but only two we try to emulate. BUG=none Review URL: https://codereview.chromium.org/199843004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258530 0039d316-1c4b-4281-b951-d872f2087c98
* Integrate the Windows 8 code into the Chromium tree (take 3).robertshield@chromium.org2012-09-071-0/+139
| | | | | | | | | | | | | | | | | | | This time, also: fix invalid path in metro_driver.gyp. set executable bit on check_sdk_patch.py and post_build.bat. add back a switch that was removed recently This reverts "Revert 155429 - Integrate the Windows 8 code into the Chromium tree." Original CL: https://chromiumcodereview.appspot.com/10875008 BUG=127799 TEST=A Chromium build can run as the immersive browser on Windows 8. TBR=ben Review URL: https://chromiumcodereview.appspot.com/10919158 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155474 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 155444 - Integrate the Windows 8 code into the Chromium tree (take 2).erikwright@chromium.org2012-09-071-139/+0
| | | | | | | | | | | | | | | | | | | | | | | | 14>delegate_execute.cc(113):error C2039: 'kWaitForHandle' : is not a member of 'switches' 14>delegate_execute.cc(113):error C2065: 'kWaitForHandle' : undeclared identifier http://build.chromium.org/p/chromium/builders/Win%20Builder%20%28dbg%29/builds/38971/steps/compile/logs/stdio#error1 This time, also: fix invalid path in metro_driver.gyp. Also, set executable bit on check_sdk_patch.py and post_build.bat. This reverts "Revert 155429 - Integrate the Windows 8 code into the Chromium tree." Original CL: https://chromiumcodereview.appspot.com/10875008 BUG=127799 TEST=A Chromium build can run as the immersive browser on Windows 8. TBR=ben Review URL: https://chromiumcodereview.appspot.com/10912152 TBR=robertshield@chromium.org Review URL: https://chromiumcodereview.appspot.com/10918127 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155452 0039d316-1c4b-4281-b951-d872f2087c98
* Integrate the Windows 8 code into the Chromium tree (take 2).robertshield@chromium.org2012-09-071-0/+139
| | | | | | | | | | | | | | | | This time, also: fix invalid path in metro_driver.gyp. Also, set executable bit on check_sdk_patch.py and post_build.bat. This reverts "Revert 155429 - Integrate the Windows 8 code into the Chromium tree." Original CL: https://chromiumcodereview.appspot.com/10875008 BUG=127799 TEST=A Chromium build can run as the immersive browser on Windows 8. TBR=ben Review URL: https://chromiumcodereview.appspot.com/10912152 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155444 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 155429 - Integrate the Windows 8 code into the Chromium tree.erikwright@chromium.org2012-09-071-139/+0
| | | | | | | | | | | | | | | | | | Exception: Missing input files: c:\b\build\slave\cr-win-rel\build\src\win8\metro_driver\..\win8\delegate_execute\chrome_util.h http://build.chromium.org/p/chromium/builders/Win%20Builder/builds/37270/steps/runhooks/logs/stdio BUG=127799 TEST=A Chromium build can run as the immersive browser on Windows 8. Review URL: https://chromiumcodereview.appspot.com/10875008 TBR=robertshield@chromium.org Review URL: https://chromiumcodereview.appspot.com/10919152 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155435 0039d316-1c4b-4281-b951-d872f2087c98
* Integrate the Windows 8 code into the Chromium tree.robertshield@chromium.org2012-09-071-0/+139
BUG=127799 TEST=A Chromium build can run as the immersive browser on Windows 8. Review URL: https://chromiumcodereview.appspot.com/10875008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155429 0039d316-1c4b-4281-b951-d872f2087c98