summaryrefslogtreecommitdiffstats
path: root/ui/metro_viewer
Commit message (Collapse)AuthorAgeFilesLines
* Adding relaunch menu to Windows 8 Aura code. We expect following transitions ↵shrikant@chromium.org2013-10-311-0/+8
| | | | | | | | | | | | | | | | with new menu: 1. When in desktop mode, you should see "Relaunch Chrome in Windows 8 mode", if clicked it will kill current browser process and relaunches all open tabs in Windows 8 mode. 2. When in Windows 8 mode, menu is "Relaunch Chrome in desktop mode", if clicked it will kill current browser process (gets user out of Ash shell) and relaunches all tabs in desktop mode. Once we select to launch in different mode through these menu items we store new mode in registry and use this mode as default mode for next time launch. This means even if you click on desktop icon and last mode stored is metro, user will be switched to metro mode. BUG=280823 R=cpu@chromium.org, jschuh@chromium.org, sky@chromium.org, ananta, cpu Review URL: https://codereview.chromium.org/32843009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232120 0039d316-1c4b-4281-b951-d872f2087c98
* Use WindowActivated message instead of VisibilityChanged message to ↵gab@chromium.org2013-10-181-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | determine that Ash is the active desktop on Win8. This is better than the VisibilityChanged event as it also handles the dual monitor case where Ash isn't hidden yet is no longer active (and Chrome desktop window can thus steal the "active desktop" state which was then not given back to the Ash desktop when re-focusing it. The WindowActivated event gets a CoreWindowActivationState_PointerActivated state for this specific case; which we treat the same as CoreWindowActivationState_CodeActivated for now. Also remove the hooks for VisibilityChanged as they were only used for this purpose, i.e.: https://code.google.com/p/chromium/codesearch#search/&q=OnRootWindowActivated&sq=package:chromium&type=cs Called from: https://code.google.com/p/chromium/codesearch#chromium/src/ui/aura/env.cc&l=83 Called from: https://code.google.com/p/chromium/codesearch#chromium/src/ui/aura/root_window.cc&l=988 Called from: https://code.google.com/p/chromium/codesearch#chromium/src/ui/aura/remote_root_window_host_win.cc&l=463 BUG=177489 TEST= The most reliable test I could find that would repro this is to: 1) Open Ash 2) Open Chrome on desktop on a 2nd monitor 3) Refocus Ash on first monitor 4) Signin with an account which will sync extensions (at least one of which opens a tab on install, e.g., https://chrome.google.com/webstore/detail/reload-all-tabs/midkcinmplflbiflboepnahkboeonkam). Without this CL, this will result in the extension's tab opening on the desktop Chrome's window. With this CL, the tab correctly opens in Ash as it was the last desktop focused. Also make sure the regular use cases still work using the same test under: A) Only Ash open B) Ash open, but active desktop is native desktop. Also confirmed using Sawbuck and some logging that the following is how OnWindowActivated() reports its state: CoreWindowActivationState_CodeActivated == 0 - First activation - Activated when hidden (either from Start Screen or Windows app switcher while viewing another app). CoreWindowActivationState_Deactivated == 1 - All deactivations (including focusing a desktop app on the 2nd monitor while Ash remains open on 1st monitor) CoreWindowActivationState_PointerActivated - Ash is focused again after a window on another monitor had been focused while Ash stayed visible on its monitor. R=cdn@chromium.org, grt@chromium.org, sky@chromium.org Review URL: https://codereview.chromium.org/27058004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229420 0039d316-1c4b-4281-b951-d872f2087c98
* Remove palmer from many (not all) OWNERS files for IPC.palmer@chromium.org2013-09-251-1/+0
| | | | | | Review URL: https://codereview.chromium.org/24476004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225240 0039d316-1c4b-4281-b951-d872f2087c98
* Tighten up DEPS rules in src/ui: prevent components from including from each ↵ben@chromium.org2013-09-241-0/+4
| | | | | | | | | | | | | | | other, and drop a bunch of DEPS files in to make checkdeps happy. See https://codereview.chromium.org/24162009/ for try runs. BUG=none R=sky@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=225020 Review URL: https://codereview.chromium.org/24273005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225055 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 225020 "Tighten up DEPS rules in src/ui: prevent componen..."ben@chromium.org2013-09-241-4/+0
| | | | | | | | | | | | | | | > Tighten up DEPS rules in src/ui: prevent components from including from each other, and drop a bunch of DEPS files in to make checkdeps happy. > > BUG=none > R=sky@chromium.org > > Review URL: https://codereview.chromium.org/24273005 TBR=ben@chromium.org Review URL: https://codereview.chromium.org/24257013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225032 0039d316-1c4b-4281-b951-d872f2087c98
* Tighten up DEPS rules in src/ui: prevent components from including from each ↵ben@chromium.org2013-09-241-0/+4
| | | | | | | | | | | other, and drop a bunch of DEPS files in to make checkdeps happy. BUG=none R=sky@chromium.org Review URL: https://codereview.chromium.org/24273005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225020 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes activation problem when switching from metrosky@chromium.org2013-09-201-5/+0
| | | | | | | | | | | | | | | There is no need to deactivate and reactivate the window. The Focus() in particular is wrong in so far as we don't want focus to go to the rootwindow. BUG=284411 TEST=see bug R=ananta@chromium.org TBR=jschuh@chromium.org Review URL: https://codereview.chromium.org/23851042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224521 0039d316-1c4b-4281-b951-d872f2087c98
* Moves ui/base/events to ui/eventssky@chromium.org2013-09-181-1/+1
| | | | | | | | | | | BUG=none TEST=none R=ben@chromium.org TBR=brettw@chromium.org, scherkus@chromium.org, ananta@chromium.org, Review URL: https://codereview.chromium.org/23851041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223906 0039d316-1c4b-4281-b951-d872f2087c98
* Make the metro viewer responsible for relaunching browser in desktop mode.zturner@chromium.org2013-09-031-0/+5
| | | | | | | | | | | | | | | | | | | | Browsers can force a metro -> desktop transition by calling ShellExecuteEx with a special argument. However, the process that calls ShellExecute must itself be a metro process. This change implements that behavior. Without this change, triggering a relaunch in desktop mode while in ash would launch chrome in the desktop mode, but it would not automatically transition from metro to desktop. cpu@:*metro* bauerb@:chrome\browser\plugins\* sky@:ui\aura\* jschuh@:security review for ipc messages in ui\metro_viewer BUG=280377 Review URL: https://chromiumcodereview.appspot.com/23592024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221075 0039d316-1c4b-4281-b951-d872f2087c98
* Make security team OWNERS for all IPC *_messages*.h files.palmer@chromium.org2013-06-121-7/+7
| | | | | | | | | | | | | We were set for *_messages.h, but there exist other files such as *_messages_android.h and *_messages_internal.h which we should also perform security review on. BUG=247434 R=cevans@chromium.org Review URL: https://codereview.chromium.org/16830003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205901 0039d316-1c4b-4281-b951-d872f2087c98
* Revert revert of 201771: Fix Ash on Windows multi-monitor support.robertshield@chromium.org2013-06-121-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | The patch is unchanged but the previously failing multi-monitor test has been disabled since WinAsh doesn't support simultaneous multi-monitors (this patch just makes moving the single-monitor Ash desktop between different monitors). TBR=cpu,cevans Original description: > Fix Ash on Windows multi-monitor support and snap-view sizing. > > Plumb through window size events to the remote root window host. > Also add an initial sizing message to get Ash's initial state to be correct. > > BUG=236379 > TEST=Move Ash from one monitor to another with a different size, observe that things resize themselves correctly. Also, snap Ash, observe similar goodness. > > Review URL: https://chromiumcodereview.appspot.com/15599002 BUG=236379 TEST=ash_unittests Review URL: https://chromiumcodereview.appspot.com/16267004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205791 0039d316-1c4b-4281-b951-d872f2087c98
* Support searching through the Windows 8 Search charm and url navigations ↵ananta@chromium.org2013-06-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from the Start menu in Windows 8 ASH. Changes as below:- 1. In the metro driver we need to handle the search and protocol activation requests. Search requests when Chrome ASH is not running result in ASH being launched by Windows without going through the normal delegate execute mechanism. This means that the browser process will not be running to service the viewer ASH process. We need to launch the server via ShellExecute to ensure that it launches in desktop mode. If the search/protocol requests are received when Chrome ASH is being launched we ensure that the IPC messages to service these requests are sent out after the MetroViewerHostMsg_SetTargetSurface IPC. If Chrome ASH is running when we receive these requests we send out the search/navigation IPCs to Chrome. 2. Added the following IPC messages to metro_viewer_messages.h 1. MetroViewerHostMsg_SearchRequest 2. MetroViewerHostMsg_OpenURL The handling for these messages is implemented via virtual functions OnOpenURL and OnHandleSearchRequest in the MetroViewerProcessHost interface with the ChromeMetroViewerProcessHost overriding this to ensure that the URL is opened. 3. Added a switch kWindows8MetroSearch to chrome_switches.cc/.h. This is passed in from the metro driver on Windows 8 if we are launched to service a search request from the start screen. We don't attempt to create a browser or run the session restore code in the NOTIFICATION_ASH_SESSION_STARTED notification if this switch exists. The desired browser window for the search is created in the MetroViewerHostMsg_SearchRequest IPC. BUG=245899 R=cpu@chromium.org, jschuh@chromium.org, sky@chromium.org Review URL: https://codereview.chromium.org/16282002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204344 0039d316-1c4b-4281-b951-d872f2087c98
* Create MetroViewerProcessHost as a common base for ↵gab@chromium.org2013-05-241-2/+1
| | | | | | | | | | | | | | | | | TestMetroViewerProcessHost and ChromeMetroViewerProcessHost Bringing LaunchViewerAndWaitForConnection() to the common base so that ChromeMetroViewerProcessHost can also benefit from it (required for ash browser tests). BUG=179830 1st Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=201806 Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=201966 R=robertshield@chromium.org, sky@chromium.org Review URL: https://codereview.chromium.org/14629025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202113 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 201806 "Create MetroViewerProcessHost as a common base fo..."dbeam@chromium.org2013-05-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Broke ash_unittests on Win8 Aura: http://build.chromium.org/p/chromium.win/builders/Win8%20Aura/builds/6316 [ RUN ] AcceleratorControllerTest.Register [912:1324:0523/094526:1371217:INFO:test_metro_viewer_process_host.cc(42)] ash::test::TestMetroViewerProcessHost::OnSetTargetSurface, target_surface = 131580 [912:1324:0523/094526:1371233:FATAL:ash_test_base.cc(149)] Check failed: !metro_viewer_host_->closed_unexpectedly(). Backtrace: base::debug::StackTrace::StackTrace [0x100839F1+33] logging::LogMessage::~LogMessage [0x100F6FCE+94] ash::test::AshTestBase::TearDown [0x006DC397+471] testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,void> [0x007405FF+319] testing::Test::Run [0x0072A525+229] testing::TestInfo::Run [0x0072AF4D+221] testing::TestCase::Run [0x0072B71F+239] testing::internal::UnitTestImpl::RunAllTests [0x0073234D+701] testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,bool> [0x00741227+327] testing::UnitTest::Run [0x00730BB0+192] base::TestSuite::Run [0x00756AE0+240] main [0x0058AFA4+100] __tmainCRTStartup [0x0075BA6F+447] (f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c:555) mainCRTStartup [0x0075B89F+15] (f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c:371) BaseThreadInitThunk [0x76D78543+14] RtlInitializeExceptionChain [0x7775AC69+133] RtlInitializeExceptionChain [0x7775AC3C+88] (No symbol) [0x00000000] [912:1324:0523/094526:1371233:FATAL:ash_test_base.cc(149)] Check failed: !metro_viewer_host_->closed_unexpectedly(). Backtrace: base::debug::StackTrace::StackTrace [0x100839F1+33] logging::LogMessage::~LogMessage [0x100F6FCE+94] ash::test::AshTestBase::TearDown [0x006DC397+471] testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,void> [0x007405FF+319] testing::Test::Run [0x0072A525+229] testing::TestInfo::Run [0x0072AF4D+221] testing::TestCase::Run [0x0072B71F+239] testing::internal::UnitTestImpl::RunAllTests [0x0073234D+701] testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,bool> [0x00741227+327] testing::UnitTest::Run [0x00730BB0+192] base::TestSuite::Run [0x00756AE0+240] main [0x0058AFA4+100] __tmainCRTStartup [0x0075BA6F+447] (f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c:555) mainCRTStartup [0x0075B89F+15] (f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c:371) BaseThreadInitThunk [0x76D78543+14] RtlInitializeExceptionChain [0x7775AC69+133] RtlInitializeExceptionChain [0x7775AC3C+88] (No symbol) [0x00000000] > Create MetroViewerProcessHost as a common base for TestMetroViewerProcessHost and ChromeMetroViewerProcessHost > > Bringing LaunchViewerAndWaitForConnection() to the common base so that ChromeMetroViewerProcessHost can also benefit from it (required for ash browser tests). > > BUG=179830 > > Review URL: https://chromiumcodereview.appspot.com/14629025 TBR=gab@chromium.org Review URL: https://codereview.chromium.org/15966003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201966 0039d316-1c4b-4281-b951-d872f2087c98
* Create MetroViewerProcessHost as a common base for ↵gab@chromium.org2013-05-231-2/+1
| | | | | | | | | | | | TestMetroViewerProcessHost and ChromeMetroViewerProcessHost Bringing LaunchViewerAndWaitForConnection() to the common base so that ChromeMetroViewerProcessHost can also benefit from it (required for ash browser tests). BUG=179830 Review URL: https://chromiumcodereview.appspot.com/14629025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201806 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 201771 "Fix Ash on Windows multi-monitor support and snap..."nkostylev@chromium.org2013-05-231-6/+0
| | | | | | | | | | | | | | | | | | | | | Breaking ash_unittests http://build.chromium.org/p/chromium.win/builders/Win8%20Aura/builds/6312 > Fix Ash on Windows multi-monitor support and snap-view sizing. > > Plumb through window size events to the remote root window host. > Also add an initial sizing message to get Ash's initial state to be correct. > > BUG=236379 > TEST=Move Ash from one monitor to another with a different size, observe that things resize themselves correctly. Also, snap Ash, observe similar goodness. > > Review URL: https://chromiumcodereview.appspot.com/15599002 TBR=robertshield@chromium.org Review URL: https://codereview.chromium.org/15891003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201805 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Ash on Windows multi-monitor support and snap-view sizing.robertshield@chromium.org2013-05-231-0/+6
| | | | | | | | | | | | Plumb through window size events to the remote root window host. Also add an initial sizing message to get Ash's initial state to be correct. BUG=236379 TEST=Move Ash from one monitor to another with a different size, observe that things resize themselves correctly. Also, snap Ash, observe similar goodness. Review URL: https://chromiumcodereview.appspot.com/15599002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201771 0039d316-1c4b-4281-b951-d872f2087c98
* Fix mouse locking in Chrome AURA Windows and ASH.ananta@chromium.org2013-05-071-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mouse locking is used for e.g. by WebGL and is implemented in the browser by entering a state in the web view where in we ensure that the mouse stays within the boundaries of the view and we send only mouse increment/decrement information to the renderer. We had support for this in Chrome AURA which did not work correctly due to a number of bugs. 1. We need to implement the MoveCursorTo override in the DesktopRootWindowHostWin, DesktopRootWindowHostX11 and RemoteRootWindowHostWin classes which implement the aura RootWindowHost interface. In desktop Chrome windows we invoke the SetCursorPos API to ensure that the cursor is set to the position specified. In desktop Chrome linux we invoke the XWarpPointer API to achieve this. In ASH chrome on Windows we cannot call SetCursorPos in the RemoteRootWindowHostWin class's implementation of the MoveCursorTo function. As mouse input is received by the viewer process and sent to the browser, we have scenarios wherein we receive stale mouse input from the viewer after invoking the SetCursorPos API in the browser. To workaround this we call SetCursorPos API in the viewer process from an IPC MetroViewerHostMsg_SetCursorPos which is sent from the RemoteRootWindowHostWin::MoveCursorTo function. We send out an ACK from the viewer process when the call finishes and in the meantime we ignore any mouse messages coming from the viewer while we wait for the ACK. If we don't do this then we have issues with the image locking up on screen in ASH. In the viewer process we also send out a fake mousemove IPC after the SetCursorPos API as we don't receive the corresponding real mouse move for some reason. This is needed as RVHAura class sets a flag which is reset when it receives the mousemove corresponding to the cursor pos. 2. The RenderWidgetHostViewAura::ShouldMoveToCenter function which checks if the mouse cursor has moved beyond the window bounds needs to convert the window rect to screen. 3. The MakeWebMouseEvent function in the web_input_Event_aura.cc file should use not set the globalX and globalY members in the WebMouseEvent structure from the root coordinates if we have a native mouse event for Windows. This breaks the lock mouse coordinate calculations. I also fixed the implementation of the RootWindowHost::QueryMouseLocation function in the RemoteRootWindowHostWin class and the DesktopRootWindowHostWin class. We can now safely enable the AshNativeCursorManagerTest.DisabledQueryMouseLocation test with some windows specific fixes. BUG=222497 R=cpu@chromium.org, palmer@chromium.org, sky@chromium.org Review URL: https://codereview.chromium.org/14574010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198582 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that we set focus to the focused text input client in Windows desktop ↵ananta@chromium.org2013-04-261-0/+5
| | | | | | | | | | | | | | | | | | | Chrome AURA when a DesktopRootWindowHostWin/ ASH root window is activated. To achieve this we register a handler for the Activate event on the ASH core Window in Windows 8 and send an IPC MetroViewerHostMsg_WindowActivated from the metro viewer process along with a bool which indcates whether we gained or lost activation. In the RemoteRootWindowHostWin class we inform the RootWindow whether it gained or lost focus based on the active flag passed in the IPC. BUG=235128 R=cpu,sky TBR=palmer Review URL: https://codereview.chromium.org/14070017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196835 0039d316-1c4b-4281-b951-d872f2087c98
* Added support for displaying the select folder picker in Chrome ASH on ↵ananta@chromium.org2013-04-191-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows 8. The current behavior is that the select folder picker displays in desktop mode even when when performed in ASH. Fixes are as below:- 1. In the Chrome browser added plumbing in the SelectFileDialogImpl class to forward this operation of to the metro viewer process via the newly added function HandedSelectFolder which lives in the aura namespace in the remote_window_host_win.cc file. 2. In the metro viewer code added a new class FolderPickerSession which provides the functionality for displaying the metro select folder picker and returning the results from the same. 3. The following IPC messages provide the necessary functionality to funnel the request and the result between the browser and the metro viewer process. MetroViewerHostMsg_DisplaySelectFolder MetroViewerHostMsg_SelectFolderDone I also added code to save away the metro root window in the RemoteRootWindowHostWin class when we receive the MetroViewerHostMsg_SetTargetSurface IPC from the viewer process. We return this window in the RemoteRootWindowHostWin::GetAcceleratedWidget function. This change although not needed for this CL seems correct. BUG=230087 R=cpu,sky Review URL: https://codereview.chromium.org/14282002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195224 0039d316-1c4b-4281-b951-d872f2087c98
* Support multi touch on Windows 8 AURA and ASH.ananta@chromium.org2013-03-271-6/+9
| | | | | | | | | | | | | | | | | The touch events coming in from desktop chrome AURA and ASH have hardcoded touch ids which breaks the gesture recognizer as it is unable to figure out that multiple touch points are involved. Fix on desktop Chrome AURA is to use the OS generated touch id mapped to the gesture recognizer range. For ASH Windows 8 we pass in the mapped touch ids from the metro driver in the touch IPC messages. Fixes bug https://code.google.com/p/chromium/issues/detail?id=179977 BUG=179977 R=cpu,sky Review URL: https://codereview.chromium.org/13003004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191015 0039d316-1c4b-4281-b951-d872f2087c98
* Add cevans as an IPC OWNER for all areas.palmer@chromium.org2013-03-181-0/+1
| | | | | | | | | | He was an OWNER of some; now all. NOTRY=true Review URL: https://codereview.chromium.org/12672006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188870 0039d316-1c4b-4281-b951-d872f2087c98
* Replace FilePath with base::FilePath in some more top level directories.brettw@chromium.org2013-02-101-1/+1
| | | | | | Review URL: https://codereview.chromium.org/12217101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181640 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for displaying the Windows 8 metro open/save file picker in ↵ananta@chromium.org2013-01-311-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chrome ASH. Added the following functions to the Aura namespace. 1. HandleOpenFile 2. HandleOpenMultipleFiles 3. HandleSaveFile These functions are invoked from the windows implementation of SelectFileDialogImpl::SelectFileImpl for AURA. Internally these functions forward off to the corresponding implementations in the singleton instance of the RemoteRootWindowHostWin class which is instantiated for Chrome ASH on Windows. These functions take in a callback object which is invoked when the file picker operations complete. The SelectFileDialogImpl::SelectFileImpl function uses the newly added ShellDialogsDelegate interface to determine if the owning native window is in Windows 8 metro. This interface is implemented by a global object ShellDialogsDelegateWin which lives in the chrome_browser_main_extra_parts_ash.cc file. It uses the IsNativeViewInAsh helper function to determine this. Added the following IPC's which are sent from the browser to the metro viewer process. 1. MetroViewerHostMsg_DisplayFileOpen 2. MetroViewerHostMsg_DisplayFileSaveAs The following IPC's are sent from the metro viewer to the browser process and inform the browser about the status of the file open/file save operations along with the file names. 1. MetroViewerHostMsg_FileOpenDone 2. MetroViewerHostMsg_MultiFileOpenDone 3. MetroViewerHostMsg_FileSaveAsDone The handlers for these IPCs live in the RemoteRootWindowHostWin class and invoke the callback objects which are passed in. In the metro driver the file_picker_ash.cc/.h files contain the code for displaying the metro style file pickers. These sources are copied from the file_picker.cc/.h files which perform this functionality for regular Chrome metro. BUG=170483 Review URL: https://codereview.chromium.org/12041089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179921 0039d316-1c4b-4281-b951-d872f2087c98
* Win8 Aura :add suport for changing cursorscpu@chromium.org2012-12-111-1/+8
| | | | | | | | | | | | | To change the cursor we need to send a message from the browser to the viewer with the right HCURSOR. Since the cursors are a GDI shared resource, we can call ::LoadCursor in the browser and ::SetCursor in the viewer. BUG=151718 TEST= moving pointer to a chrome window edge changes cursor to resize cursor Review URL: https://codereview.chromium.org/11446078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172265 0039d316-1c4b-4281-b951-d872f2087c98
* Pass touch events from the chrome viewer process in Metro Ash on Windows 8 ↵ananta@chromium.org2012-12-071-0/+12
| | | | | | | | | | | | | | | | | | to the browser process. cpu:- Please review everything. sky:- Please review changes to content\browser, chrome\browser and ui\aura. This effectively also means that we won't be passing the fake mouse messages generated by Windows for touch events from the Ash viewer process to chrome. This only fixes touch handling in Metro Ash. Touch handling for desktop chrome Aura will be fixed in a subsequent CL. BUG=151718 R=cpu,sky Review URL: https://codereview.chromium.org/11472013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171888 0039d316-1c4b-4281-b951-d872f2087c98
* Metro mouse move events do not contain mouse-button information save the ↵gab@chromium.org2012-11-291-2/+2
| | | | | | | | | | | | | | | | | | | state between mouse pressed/released events and pass it down to MouseEvent through flags. MouseEvent now automatically converts a ET_MOUSE_MOVED event into an ET_MOUSE_DRAGGED event if the flags show that any mouse button is down (mimicking drag behavior of EventTypeFromNative() used for native events). NOTE: From experimentation, it seems like Metro only sends a PointerPressed event for the first button pressed and the last button released in a sequence of mouse events. For example, a sequence of LEFT_DOWN, RIGHT_DOWN, LEFT_UP, RIGHT_UP results only in PointerPressed(LEFT)/PointerReleased(RIGHT) events. Thus, we cannot accumulate mouse down events and know each button that is down, nor can we wait for a matching mouse up event to cancel that state. TBR=cdn BUG=151718 TEST=Can now drag windows in Metro Ash. Review URL: https://chromiumcodereview.appspot.com/11411155 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170292 0039d316-1c4b-4281-b951-d872f2087c98
* Track the last active RootWindowHost to determine the most-recently active ↵grt@chromium.org2012-11-151-0/+3
| | | | | | | | | | | | | | | host desktop type. This is for use in those places where there's no context from which to figure out if something should be popped on the native or ash desktop. Original approach reviewed here: https://chromiumcodereview.appspot.com/11188064/ BUG=129187 TEST=none Review URL: https://chromiumcodereview.appspot.com/11358090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168074 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome security team IPC message owners.tsepez@chromium.org2012-11-091-0/+8
| | | | | | Review URL: https://codereview.chromium.org/11191041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166955 0039d316-1c4b-4281-b951-d872f2087c98
* Better mouse support for metro auracpu@chromium.org2012-11-051-4/+10
| | | | | | | | | | | | | | -Wheel, r-click and l-click now discriminated -More efficient, clean mouse event handling Note; wheel event not properly handled. That is a bigger CL that will come later. BUG=151718 TEST= right click and left click Review URL: https://codereview.chromium.org/11312025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166034 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that keyboard input works in Chrome AURA on Windows 8 in metro. cpu: ↵ananta@chromium.org2012-11-011-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | please review everything, sky: Please review the changes to ui and chrome\browser. We need to send character events to the RenderViewHost class in addition to the KeyDown/Keyup events for this to work. To achieve this we register the character received event on the Windows 8 CoreWindow class and send the character info via a new IPC message MetroViewerHostMsg_Character. The chrome side handling for this message is performed in the MockInputMethod::DispatchFabricatedKeyEvent function where we dispatch the message to the focused TextInputClient. While working on this I also noticed that we were not sending the event flags like shift/alt/Ctrl, etc to Chrome from the Metro code. Added support for that. This ensures that we are able to select text in the edit fields on the page and the omnibox, etc. The above changes will most likely not work with IME's. Will look into that in a subsequent change. BUG=158637 R=cpu,sky Review URL: https://codereview.chromium.org/11348053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165496 0039d316-1c4b-4281-b951-d872f2087c98
* Add keyboard events to metro auracpu@chromium.org2012-10-181-8/+16
| | | | | | | | | | | | | This is the first part since there IME are issues that need to be sorted out before this can fully work. In particular, InputMethodEventFilter::PreHandleKeyEvent needs changes not to assume native events. BUG=151718 TEST=none Review URL: https://codereview.chromium.org/11194044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162781 0039d316-1c4b-4281-b951-d872f2087c98
* In-chorme viewer for metro (part 2)cpu@chromium.org2012-10-051-4/+11
| | | | | | | | | | | - Wires metro mouse move, mouse click to aura viewer - Introduces a new RootWindowHost, one that is remote BUG=151718 TEST=see bug Review URL: https://codereview.chromium.org/11047012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160489 0039d316-1c4b-4281-b951-d872f2087c98
* Listen in the browser for a connection from a metro viewer process.scottmg@google.com2012-10-014-0/+90
Render to the surface it provides to us. BUG=151718 Review URL: https://codereview.chromium.org/10984007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159559 0039d316-1c4b-4281-b951-d872f2087c98