diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-09 21:57:19 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-09 21:57:19 +0000 |
commit | acce5cfc7ea5ccb4457453d50e331fa12fa609fe (patch) | |
tree | 65acc4b48b4377c8dca0157ccc94c4740ee4c10e /chrome/browser/cocoa/browser_window_controller.mm | |
parent | f2c6889c3e67746a54c1d873d3eeb03e829c0d87 (diff) | |
download | chromium_src-acce5cfc7ea5ccb4457453d50e331fa12fa609fe.zip chromium_src-acce5cfc7ea5ccb4457453d50e331fa12fa609fe.tar.gz chromium_src-acce5cfc7ea5ccb4457453d50e331fa12fa609fe.tar.bz2 |
Mac: more tabpose
Add layout logic, add layers, add entry/exit animations, add mouse selection of layers. Most things are functional, but no thumbnail images are shown yet.
Why is the Tile stuff c++ classes instead of objc classes? Because some of the linux folks said they'd like to see this on linux too, so I don't want to make it too hard for me to port this to other platforms if this survives the experiment stage.
Why is the Tile stuff not in its own file then? Because things are still far from settled down, and this way it's easier for me to change things around.
BUG=50307
TEST=
* All the following happens only if --enable-expose-for-tabs is passed in, else all of it should be disabled.
* Activate tabpose. One layer per tab should appear, they should be layed out in a sensible manner
* Layout should also be sensible if the window has extreme width to height ratios.
* Layers can be selected by hovering them with the mouse. enter, space, and clicking all select the currently selected layer. esc animated back to the initially selected layer
* If shift is down when tabpose is entered or left, the animation plays in slow motion
* For now, the layers are just black rects with a shadow or a white rect with a shadow for the selected layer.
* Shadows are not shown while the entry or exit animations are running (because animating shadows is very slow, and it's not noticable that they're not there during the animation)
* When a layer has been selected, the corresponding tab is selected once the exit animation is done
* The selected layer should animate to the size of the tab contents (minus download shelf, if visible): It should include infobars, the detached bookmarks bar on the ntp, and devtools.
Review URL: http://codereview.chromium.org/3063031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55482 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/browser_window_controller.mm')
-rw-r--r-- | chrome/browser/cocoa/browser_window_controller.mm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/chrome/browser/cocoa/browser_window_controller.mm b/chrome/browser/cocoa/browser_window_controller.mm index 19b584d..d9373a8 100644 --- a/chrome/browser/cocoa/browser_window_controller.mm +++ b/chrome/browser/cocoa/browser_window_controller.mm @@ -1856,7 +1856,10 @@ willAnimateFromState:(bookmarks::VisualState)oldState activeArea.size.height += NSHeight([bookmarkBarView frame]); } - [TabposeWindow openTabposeFor:[self window] rect:activeArea slomo:slomo]; + [TabposeWindow openTabposeFor:[self window] + rect:activeArea + slomo:slomo + tabStripModel:browser_->tabstrip_model()]; } @end // @implementation BrowserWindowController(Fullscreen) |