summaryrefslogtreecommitdiffstats
path: root/ash/screen_ash.h
Commit message (Collapse)AuthorAgeFilesLines
* Screen cleanup:oshima@chromium.org2014-01-171-91/+0
| | | | | | | | | | | | | * Split ScreenAsh to ScreenUtil (set of utility functions) and the screen implementation. * moved screen_ash from Shell to DisplayManager. Ash specific imp is now hidden in DisplayManager. * Shell now creates a separate screen object which simply keeps the list of displays for shutdown. This allow all screen operation valid during shutdown. BUG=None TBR=hongbo.min@intel.com,sky@chromium.org Review URL: https://codereview.chromium.org/138003007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245562 0039d316-1c4b-4281-b951-d872f2087c98
* Fix autofill popup stickiness.dbeam@chromium.org2013-08-281-1/+3
| | | | | | | | | | | | | Unhandled clicks while the autofill popup is showing should dismiss it. Additionally, forward mouse events that aren't directly useful to the popup. R=estade@chromium.org,sadrul@chromium.org,sky@chromium.org BUG=259529 Review URL: https://chromiumcodereview.appspot.com/19458003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219974 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor display_info_provider_chrmoeos and provide standard impl for otheroshima@chromium.org2013-08-231-1/+2
| | | | | | | | | | | | | | | | | | | platforms. Added gfx::Screen::GetAllDisplays() I moved QueryInfo on Windows to UI thread as this gfx::Screen is already querying this info on UI thread, and supposed to be fast. Next Step: Implement GetAllDisplays for win/mac/gtk. BUG=122863 R=hongbo.min@intel.com, sky@chromium.org Review URL: https://codereview.chromium.org/23205029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219293 0039d316-1c4b-4281-b951-d872f2087c98
* [Cleanup]oshima@chromium.org2013-07-121-1/+1
| | | | | | | | | | | | | | | | | | * Remove aura from DisplayManager -Introduced DislayManager::Delegate to decouple DisplayController - Moved methods that requires aura to DisplayController - Changed to use DisplayInfo to get native bounds instead of RootWindow. * Moved mirror_window_controller_ from Shell to DisplayControlller. This should belong to DC rather than Shell. BUG=253991 Review URL: https://chromiumcodereview.appspot.com/19038002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211357 0039d316-1c4b-4281-b951-d872f2087c98
* - Move DisplayManager and DisplayChangeObserverX11 from auraoshima@chromium.org2012-11-141-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | to ash.DisplayManager/DisplayChangeObserverX11 are in aura for historical reason, but they no longer have to be in aura. * Remove SingleDisplayManager as it's no longer necessary. * Rename MultipleDisplayManager and consolidate into DisplayManager. * Remove DisplayManager from desktop environment. Screen information is managed by platform in desktop environment, and should be provided via gfx::Screen implementation. - Move DisplayObserver to ui/gfx. This should be consolicated with other similar features such as WorkAreaWatcherObserver/ DisplaySettingsProvider. It's tracked in crbug.com/122863. - Misc cleanups * Test should use test_support_ash instead of including individual files. * Use TestScreen where appropriate. BUG=159710, 122863 TEST=none Review URL: https://chromiumcodereview.appspot.com/11363124 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167639 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes a couple of bugs related to window sizing:sky@chromium.org2012-10-241-1/+0
| | | | | | | | | | | | | | | | . Make RenderWidgetHostViewAura pass down the work area. . Makes ash force the window to no bigger than the work area. The last one is a bit dubious and may bite us at some point, but it seems we should enforce some constraint. BUG=155629 TEST=covered by tests R=ben@chromium.org,oshima@chromium.org Review URL: https://chromiumcodereview.appspot.com/11253002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163940 0039d316-1c4b-4281-b951-d872f2087c98
* Overscan calibration UI.mukai@chromium.org2012-10-231-1/+5
| | | | | | | | | | | | Puts arrows over the display rectangles and enables calibrating the display overscan by mouse clicks and touches. BUG=139419 TEST=Login, connect secondary display, open chrome://settings/display, and play with its overscan calibrations. Review URL: https://chromiumcodereview.appspot.com/11195036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163498 0039d316-1c4b-4281-b951-d872f2087c98
* Remove GetUnmaximizedWorkAreaBounds (use GetDisplayWorkAreaBoundsInParent) ↵harrym@chromium.org2012-10-181-4/+0
| | | | | | | | | | and update GetMaximizedWindowBounds to account for the simplified Autohide behavior. BUG=151417 Review URL: https://chromiumcodereview.appspot.com/10979090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162624 0039d316-1c4b-4281-b951-d872f2087c98
* Makes gfx::Screen an instance, rather than a collection of static methods.scottmg@chromium.org2012-10-121-2/+5
| | | | | | | | | | | | | | This is in support of supporting separate Screen implementations on Aura for desktop and metro on Windows. Some callsites are not yet correct, and noted with a reference to the http://crbug.com/133312. As-is those sites will behave the same as before this patch, but may not be correct once desktop/metro can run simultaneously. BUG=133312 Review URL: https://chromiumcodereview.appspot.com/11030017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161644 0039d316-1c4b-4281-b951-d872f2087c98
* Add switch primary display option by swapping primary root window between ↵oshima@chromium.org2012-09-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | displays. This has following sub-changes - DisplayController now manages which display is primary display, instead of relying on the order in DisplayManager - MultiDisplayManager uses display ID instead of order to check if a display has added/removed or its bounds has change. (which is fixes the TODO) - Primary display always has 0,0 origin. This also fixed a few issues that i discovered while working on this. - RootWindowHostLinux::SetBounds causes 2 ConfigureNotify, which causes unnecessary move/resize event. - mouse_cursor_event_filter and display_controller were using default_display_layout, which is wrong. It should use the layout for currently used secondary display. BUG=146886 TEST=covered by test. On device, press alt-f4 to switch primary display. Review URL: https://codereview.chromium.org/10905288 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157492 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the mouse event's location that is captured by aura correctlyoshima@chromium.org2012-09-071-0/+5
| | | | | | | | | BUG=145173 TEST=manual. see bug for repro step. Review URL: https://chromiumcodereview.appspot.com/10916121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155382 0039d316-1c4b-4281-b951-d872f2087c98
* Fix coordinates in tab detach/drag and multi window resizer.oshima@chromium.org2012-07-261-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | ToplevelWindowEventFilter: * Use location in root window for drag_location DocInfo::GetLocalProcessWindowAtPoint * Use ScreenPositionClient to convert a point in screen to window * Use correct root window at the position. MultiWindowResizer * Use ScreenPositionClient to convert a point in screen to window. * show_bounds_ should be screen coordinates. I also renamed {screen|parent}_{location|position| to {location|position}_in_{screen|parent} to be more explicit and consistent with the rest of the code. I'll work on the test separately as we discussed offline. BUG=138997,138868 TEST=manual Review URL: https://chromiumcodereview.appspot.com/10827022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148478 0039d316-1c4b-4281-b951-d872f2087c98
* Rename bounds accessors to be intuitive and consistentoshima@chromium.org2012-07-191-4/+4
| | | | | | | | | | | | | | | | | | GetClientAreaScreenBounds -> GetClientAreaBoundsInScreen Get/Set ParentBounds -> Get/Set BoundsInParent GetWorkAreaScreenBounds -> GetWorkAreaBoundsInScreen GetClientAreaScreenBounds -> GetClientAreaBoundsInScreen GetWindowScreenBounds -> GetWindowBoundsInScreen GetScreenBounds -> GetBoundsInScreen GetRootWindowBounds -> GetBoundsInRootWindow BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10795013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147499 0039d316-1c4b-4281-b951-d872f2087c98
* * Use Virtual Screen Coordinates in more placesoshima@chromium.org2012-07-181-5/+22
| | | | | | | | | | | | | | | | | | | - When setting widget bounds. - Workspace Manager - When resizing - Restore bounds * Refactored ScreenPositionClient to manage Screen coordinates for different configurations. * Renamed GetBounds/SetBounds methods to GetScreen/ParentBounds to make it clear that in which coordinates you're dealing with. * I used InScreen/InParent for RestoreBounds because RestoreParent/ScreenBounds sounds strange. Converted Linux/Aura to use ScreenPositionClient. BUG=123160 TEST=several tests are updated to match VSC. added screen_ash_unittests. I'll update rest of tests when this is enable by default. Review URL: https://chromiumcodereview.appspot.com/10696023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147250 0039d316-1c4b-4281-b951-d872f2087c98
* Remove #pragma once from ashajwong@chromium.org2012-07-111-1/+0
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10693135 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146075 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup:oshima@chromium.org2012-07-091-0/+2
| | | | | | | | | | | | | | | - added GetRootWindowForDisplay - Hookup GetDisplayMatching to DisplayManager - Fixed comments - Moved the display code from Shell to MultiDisplayManager BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10697071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145690 0039d316-1c4b-4281-b951-d872f2087c98
* Rename gfx::Screen::GetMonitorXXXX to gfx::Screen::GetDisplayXXX.tfarina@chromium.org2012-06-171-4/+4
| | | | | | | | | | BUG=130828 R=oshima@chromium.org TBR=sky@chromium.org Review URL: https://chromiumcodereview.appspot.com/10540123 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142631 0039d316-1c4b-4281-b951-d872f2087c98
* Rename gfx::Monitor to gfx::Displaytfarina@chromium.org2012-06-121-4/+4
| | | | | | | | | | BUG=130828 R=oshima@chromium.org TBR=sky@chromium.org Review URL: https://chromiumcodereview.appspot.com/10540091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141659 0039d316-1c4b-4281-b951-d872f2087c98
* Remove root window from screen_ashoshima@chromium.org2012-06-081-7/+1
| | | | | | | | | | BUG=123160 TEST=none Review URL: https://chromiumcodereview.appspot.com/10533041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141176 0039d316-1c4b-4281-b951-d872f2087c98
* * Separated implementation class from gfx::Screenoshima@chromium.org2012-04-251-14/+12
| | | | | | | | | | | | * Moved Monitor class to gfx/. * Converted all use of gfx::Screen to match new API BUG=115347,111990 TEST=none Review URL: https://chromiumcodereview.appspot.com/9960042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133961 0039d316-1c4b-4281-b951-d872f2087c98
* Makes the launcher auto-hide for maximized windows. This turned out tosky@chromium.org2012-03-211-0/+7
| | | | | | | | | | | | | | | | | | | | | be a bit icky for a handful of reasons. In particular it means the work area changes after going maximized so that you can't assume maximized windows get the work area bounds. This makes for some ordering dependencies. I've had to expose the bounds for maximized windows (and non-maximized windows). The code feels a bit messy in a number of places right now. In particular there a handful of places (in testing code) mucking with work area insets. We don't want that as it generally doesn't do the right thing anymore. BUG=116070 118671 TEST=covered by tests, but all see bugs. R=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/9764008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127904 0039d316-1c4b-4281-b951-d872f2087c98
* MonitorManager to manage multiple monitors.oshima@chromium.org2012-03-141-13/+0
| | | | | | | | | | | This is clone of issue 9689027, which I can't access due to some internal error. BUG=115510 TEST=none Review URL: https://chromiumcodereview.appspot.com/9699013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126685 0039d316-1c4b-4281-b951-d872f2087c98
* Recommit r125950, which was reverted by r125958 due to link failures on ↵erg@chromium.org2012-03-131-0/+62
| | | | | | | | | | | | | | | win_aura bot. Aura/Ash split: Move ScreenAura to aura::RootWindowScreen. What is now aura::RootWindowScreen was tightly bundled with aura::RootWindow. Instead of moving it to ash::ScreenAsh, I renamed it aurea::RootWindowScreen because there's a bunch of unit tests that use RootWindow as if it were the desktop. Screen integration stuff has been moved out of RootWindow (and related observers) and into ash::Shell. BUG=116458 First Review URL: http://codereview.chromium.org/9616045 Review URL: http://codereview.chromium.org/9696008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126464 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 125950 - Aura/Ash split: Move ScreenAura to aura::RootWindowScreen.isherman@chromium.org2012-03-101-62/+0
| | | | | | | | | | | | | | What is now aura::RootWindowScreen was tightly bundled with aura::RootWindow. Instead of moving it to ash::ScreenAsh, I renamed it aurea::RootWindowScreen because there's a bunch of unit tests that use RootWindow as if it were the desktop. Screen integration stuff has been moved out of RootWindow (and related observers) and into ash::Shell. BUG=116458 Review URL: http://codereview.chromium.org/9616045 TBR=erg@chromium.org Review URL: https://chromiumcodereview.appspot.com/9667017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125958 0039d316-1c4b-4281-b951-d872f2087c98
* Aura/Ash split: Move ScreenAura to aura::RootWindowScreen.erg@chromium.org2012-03-101-0/+62
What is now aura::RootWindowScreen was tightly bundled with aura::RootWindow. Instead of moving it to ash::ScreenAsh, I renamed it aurea::RootWindowScreen because there's a bunch of unit tests that use RootWindow as if it were the desktop. Screen integration stuff has been moved out of RootWindow (and related observers) and into ash::Shell. BUG=116458 Review URL: http://codereview.chromium.org/9616045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125950 0039d316-1c4b-4281-b951-d872f2087c98