diff options
author | tapted@chromium.org <tapted@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-19 09:36:34 +0000 |
---|---|---|
committer | tapted@chromium.org <tapted@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-19 09:37:59 +0000 |
commit | f0d25425ccc861ef74a46d44f6e16784a81de062 (patch) | |
tree | 2dcf6d934e08996cb24dc378c5cf8d57ca0770b2 | |
parent | f279f433ed3e36738ebddf7e784ff3107b318ef2 (diff) | |
download | chromium_src-f0d25425ccc861ef74a46d44f6e16784a81de062.zip chromium_src-f0d25425ccc861ef74a46d44f6e16784a81de062.tar.gz chromium_src-f0d25425ccc861ef74a46d44f6e16784a81de062.tar.bz2 |
Remove ui::SHOW_STATE_DETACHED and related things
Removes enum values ui::SHOW_STATE_DETACHED and
wm::WINDOW_STATE_TYPE_DETACHED, and bool NativeAppWindow::IsDetached().
These were added a year ago in r198918 but nothing currently uses them.
PersistedWindowShowState is added in session_service.cc to decouple the
on-disk state from the enum in ui_base_types.h.
BUG=233556
Review URL: https://codereview.chromium.org/337243005
Cr-Commit-Position: refs/heads/master@{#290526}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@290526 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | apps/ui/native_app_window.h | 3 | ||||
-rw-r--r-- | apps/ui/views/native_app_window_views.cc | 5 | ||||
-rw-r--r-- | apps/ui/views/native_app_window_views.h | 1 | ||||
-rw-r--r-- | ash/metrics/user_metrics_recorder.cc | 1 | ||||
-rw-r--r-- | ash/wm/default_state.cc | 1 | ||||
-rw-r--r-- | ash/wm/window_state.cc | 1 | ||||
-rw-r--r-- | ash/wm/wm_types.cc | 2 | ||||
-rw-r--r-- | ash/wm/wm_types.h | 1 | ||||
-rw-r--r-- | chrome/browser/extensions/api/sessions/sessions_api.cc | 1 | ||||
-rw-r--r-- | chrome/browser/sessions/session_service.cc | 63 | ||||
-rw-r--r-- | chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h | 1 | ||||
-rw-r--r-- | chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm | 4 | ||||
-rw-r--r-- | chrome/browser/ui/views/apps/chrome_native_app_window_views.cc | 30 | ||||
-rw-r--r-- | chrome/browser/ui/views/apps/chrome_native_app_window_views.h | 1 | ||||
-rw-r--r-- | ui/base/ui_base_types.h | 6 | ||||
-rw-r--r-- | ui/views/widget/native_widget_mac.mm | 1 |
16 files changed, 51 insertions, 71 deletions
diff --git a/apps/ui/native_app_window.h b/apps/ui/native_app_window.h index fd0cc26..3ad531d 100644 --- a/apps/ui/native_app_window.h +++ b/apps/ui/native_app_window.h @@ -26,9 +26,6 @@ class NativeAppWindow : public ui::BaseWindow, // Returns whether the window is fullscreen or about to enter fullscreen. virtual bool IsFullscreenOrPending() const = 0; - // Returns true if the window is a panel that has been detached. - virtual bool IsDetached() const = 0; - // Called when the icon of the window changes. virtual void UpdateWindowIcon() = 0; diff --git a/apps/ui/views/native_app_window_views.cc b/apps/ui/views/native_app_window_views.cc index b2135fc..d3c478b 100644 --- a/apps/ui/views/native_app_window_views.cc +++ b/apps/ui/views/native_app_window_views.cc @@ -316,11 +316,6 @@ bool NativeAppWindowViews::IsFullscreenOrPending() const { return widget_->IsFullscreen(); } -bool NativeAppWindowViews::IsDetached() const { - // Stub implementation. See also ChromeNativeAppWindowViews. - return false; -} - void NativeAppWindowViews::UpdateWindowIcon() { widget_->UpdateWindowIcon(); } void NativeAppWindowViews::UpdateWindowTitle() { widget_->UpdateWindowTitle(); } diff --git a/apps/ui/views/native_app_window_views.h b/apps/ui/views/native_app_window_views.h index 453542f..666d1a9 100644 --- a/apps/ui/views/native_app_window_views.h +++ b/apps/ui/views/native_app_window_views.h @@ -137,7 +137,6 @@ class NativeAppWindowViews : public NativeAppWindow, // NativeAppWindow implementation. virtual void SetFullscreen(int fullscreen_types) OVERRIDE; virtual bool IsFullscreenOrPending() const OVERRIDE; - virtual bool IsDetached() const OVERRIDE; virtual void UpdateWindowIcon() OVERRIDE; virtual void UpdateWindowTitle() OVERRIDE; virtual void UpdateBadgeIcon() OVERRIDE; diff --git a/ash/metrics/user_metrics_recorder.cc b/ash/metrics/user_metrics_recorder.cc index 37757450..98f0b7f 100644 --- a/ash/metrics/user_metrics_recorder.cc +++ b/ash/metrics/user_metrics_recorder.cc @@ -420,7 +420,6 @@ void UserMetricsRecorder::RecordPeriodicMetrics() { case wm::WINDOW_STATE_TYPE_NORMAL: case wm::WINDOW_STATE_TYPE_MINIMIZED: case wm::WINDOW_STATE_TYPE_INACTIVE: - case wm::WINDOW_STATE_TYPE_DETACHED: case wm::WINDOW_STATE_TYPE_END: case wm::WINDOW_STATE_TYPE_AUTO_POSITIONED: active_window_state_type = ACTIVE_WINDOW_STATE_TYPE_OTHER; diff --git a/ash/wm/default_state.cc b/ash/wm/default_state.cc index 14633ef..a6e0ee2 100644 --- a/ash/wm/default_state.cc +++ b/ash/wm/default_state.cc @@ -543,7 +543,6 @@ void DefaultState::UpdateBoundsFromState(WindowState* window_state, case WINDOW_STATE_TYPE_MINIMIZED: break; case WINDOW_STATE_TYPE_INACTIVE: - case WINDOW_STATE_TYPE_DETACHED: case WINDOW_STATE_TYPE_END: case WINDOW_STATE_TYPE_AUTO_POSITIONED: return; diff --git a/ash/wm/window_state.cc b/ash/wm/window_state.cc index d0aacce..e60dc34 100644 --- a/ash/wm/window_state.cc +++ b/ash/wm/window_state.cc @@ -71,7 +71,6 @@ WMEventType WMEventTypeFromShowState(ui::WindowShowState requested_show_state) { return WM_EVENT_FULLSCREEN; case ui::SHOW_STATE_INACTIVE: return WM_EVENT_SHOW_INACTIVE; - case ui::SHOW_STATE_DETACHED: case ui::SHOW_STATE_END: NOTREACHED() << "No WMEvent defined for the show state:" << requested_show_state; diff --git a/ash/wm/wm_types.cc b/ash/wm/wm_types.cc index ca21014..2c86d11 100644 --- a/ash/wm/wm_types.cc +++ b/ash/wm/wm_types.cc @@ -37,8 +37,6 @@ ui::WindowShowState ToWindowShowState(WindowStateType type) { return ui::SHOW_STATE_INACTIVE; case WINDOW_STATE_TYPE_FULLSCREEN: return ui::SHOW_STATE_FULLSCREEN; - case WINDOW_STATE_TYPE_DETACHED: - return ui::SHOW_STATE_DETACHED; case WINDOW_STATE_TYPE_END: NOTREACHED(); } diff --git a/ash/wm/wm_types.h b/ash/wm/wm_types.h index 1006965..2045deb 100644 --- a/ash/wm/wm_types.h +++ b/ash/wm/wm_types.h @@ -27,7 +27,6 @@ enum WindowStateType { WINDOW_STATE_TYPE_MAXIMIZED, WINDOW_STATE_TYPE_INACTIVE, WINDOW_STATE_TYPE_FULLSCREEN, - WINDOW_STATE_TYPE_DETACHED, WINDOW_STATE_TYPE_END, // to avoid using SHOW_STATE_END // Ash specific states: diff --git a/chrome/browser/extensions/api/sessions/sessions_api.cc b/chrome/browser/extensions/api/sessions/sessions_api.cc index a6d5283..f8dc1ff 100644 --- a/chrome/browser/extensions/api/sessions/sessions_api.cc +++ b/chrome/browser/extensions/api/sessions/sessions_api.cc @@ -309,7 +309,6 @@ scoped_ptr<windows::Window> SessionsGetDevicesFunction::CreateWindowModel( break; case ui::SHOW_STATE_DEFAULT: case ui::SHOW_STATE_INACTIVE: - case ui::SHOW_STATE_DETACHED: case ui::SHOW_STATE_END: break; } diff --git a/chrome/browser/sessions/session_service.cc b/chrome/browser/sessions/session_service.cc index be2d677..7b36c75 100644 --- a/chrome/browser/sessions/session_service.cc +++ b/chrome/browser/sessions/session_service.cc @@ -137,21 +137,64 @@ struct PinnedStatePayload { bool pinned_state; }; +// Persisted versions of ui::WindowShowState that are written to disk and can +// never change. +enum PersistedWindowShowState { + // SHOW_STATE_DEFAULT (0) never persisted. + PERSISTED_SHOW_STATE_NORMAL = 1, + PERSISTED_SHOW_STATE_MINIMIZED = 2, + PERSISTED_SHOW_STATE_MAXIMIZED = 3, + // SHOW_STATE_INACTIVE (4) never persisted. + PERSISTED_SHOW_STATE_FULLSCREEN = 5, + PERSISTED_SHOW_STATE_DETACHED_DEPRECATED = 6, + PERSISTED_SHOW_STATE_END = 6 +}; + +// Assert to ensure PersistedWindowShowState is updated if ui::WindowShowState +// is changed. +COMPILE_ASSERT(ui::SHOW_STATE_END == + static_cast<ui::WindowShowState>(PERSISTED_SHOW_STATE_END), + persisted_show_state_mismatch); + // Returns the show state to store to disk based |state|. -ui::WindowShowState AdjustShowState(ui::WindowShowState state) { +PersistedWindowShowState ShowStateToPersistedShowState( + ui::WindowShowState state) { switch (state) { case ui::SHOW_STATE_NORMAL: + return PERSISTED_SHOW_STATE_NORMAL; case ui::SHOW_STATE_MINIMIZED: + return PERSISTED_SHOW_STATE_MINIMIZED; case ui::SHOW_STATE_MAXIMIZED: + return PERSISTED_SHOW_STATE_MAXIMIZED; case ui::SHOW_STATE_FULLSCREEN: - case ui::SHOW_STATE_DETACHED: - return state; + return PERSISTED_SHOW_STATE_FULLSCREEN; case ui::SHOW_STATE_DEFAULT: case ui::SHOW_STATE_INACTIVE: + return PERSISTED_SHOW_STATE_NORMAL; + case ui::SHOW_STATE_END: + break; + } + NOTREACHED(); + return PERSISTED_SHOW_STATE_NORMAL; +} + +// Lints show state values when read back from persited disk. +ui::WindowShowState PersistedShowStateToShowState(int state) { + switch (state) { + case PERSISTED_SHOW_STATE_NORMAL: + return ui::SHOW_STATE_NORMAL; + case PERSISTED_SHOW_STATE_MINIMIZED: + return ui::SHOW_STATE_MINIMIZED; + case PERSISTED_SHOW_STATE_MAXIMIZED: + return ui::SHOW_STATE_MAXIMIZED; + case PERSISTED_SHOW_STATE_FULLSCREEN: + return ui::SHOW_STATE_FULLSCREEN; + case PERSISTED_SHOW_STATE_DETACHED_DEPRECATED: return ui::SHOW_STATE_NORMAL; } + NOTREACHED(); return ui::SHOW_STATE_NORMAL; } @@ -761,7 +804,7 @@ SessionCommand* SessionService::CreateSetWindowBoundsCommand( payload.y = bounds.y(); payload.w = bounds.width(); payload.h = bounds.height(); - payload.show_state = AdjustShowState(show_state); + payload.show_state = ShowStateToPersistedShowState(show_state); SessionCommand* command = new SessionCommand(kCommandSetWindowBounds3, sizeof(payload)); memcpy(command->contents(), &payload, sizeof(payload)); @@ -1083,16 +1126,8 @@ bool SessionService::CreateTabsAndWindows( payload.y, payload.w, payload.h); - // SHOW_STATE_INACTIVE is not persisted. - ui::WindowShowState show_state = ui::SHOW_STATE_NORMAL; - if (payload.show_state > ui::SHOW_STATE_DEFAULT && - payload.show_state < ui::SHOW_STATE_END && - payload.show_state != ui::SHOW_STATE_INACTIVE) { - show_state = static_cast<ui::WindowShowState>(payload.show_state); - } else { - NOTREACHED(); - } - GetWindow(payload.window_id, windows)->show_state = show_state; + GetWindow(payload.window_id, windows)->show_state = + PersistedShowStateToShowState(payload.show_state); break; } diff --git a/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h b/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h index 230d228..b567683 100644 --- a/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h +++ b/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h @@ -125,7 +125,6 @@ class NativeAppWindowCocoa : public apps::NativeAppWindow, // NativeAppWindow implementation. virtual void SetFullscreen(int fullscreen_types) OVERRIDE; virtual bool IsFullscreenOrPending() const OVERRIDE; - virtual bool IsDetached() const OVERRIDE; virtual void UpdateWindowIcon() OVERRIDE; virtual void UpdateWindowTitle() OVERRIDE; virtual void UpdateBadgeIcon() OVERRIDE; diff --git a/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm b/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm index 7240767..f27589a 100644 --- a/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm +++ b/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm @@ -531,10 +531,6 @@ bool NativeAppWindowCocoa::IsFullscreenOrPending() const { return is_fullscreen_; } -bool NativeAppWindowCocoa::IsDetached() const { - return false; -} - gfx::NativeWindow NativeAppWindowCocoa::GetNativeWindow() { return window(); } diff --git a/chrome/browser/ui/views/apps/chrome_native_app_window_views.cc b/chrome/browser/ui/views/apps/chrome_native_app_window_views.cc index 56455fa..796900c 100644 --- a/chrome/browser/ui/views/apps/chrome_native_app_window_views.cc +++ b/chrome/browser/ui/views/apps/chrome_native_app_window_views.cc @@ -314,24 +314,6 @@ void ChromeNativeAppWindowViews::InitializePanelWindow( #endif widget()->Init(params); widget()->set_focus_on_creation(create_params.focused); - -#if defined(USE_ASH) - if (create_params.state == ui::SHOW_STATE_DETACHED) { - gfx::Rect window_bounds(initial_window_bounds.x(), - initial_window_bounds.y(), - preferred_size_.width(), - preferred_size_.height()); - aura::Window* native_window = GetNativeWindow(); - ash::wm::GetWindowState(native_window)->set_panel_attached(false); - aura::client::ParentWindowWithContext(native_window, - native_window->GetRootWindow(), - native_window->GetBoundsInScreen()); - widget()->SetBounds(window_bounds); - } -#else - // TODO(stevenjb): NativeAppWindow panels need to be implemented for other - // platforms. -#endif } views::NonClientFrameView* @@ -426,7 +408,6 @@ ui::WindowShowState ChromeNativeAppWindowViews::GetRestoredState() const { case ui::SHOW_STATE_NORMAL: case ui::SHOW_STATE_MAXIMIZED: case ui::SHOW_STATE_FULLSCREEN: - case ui::SHOW_STATE_DETACHED: return restore_state; case ui::SHOW_STATE_DEFAULT: @@ -627,17 +608,6 @@ bool ChromeNativeAppWindowViews::IsFullscreenOrPending() const { return is_fullscreen_; } -bool ChromeNativeAppWindowViews::IsDetached() const { - if (!app_window()->window_type_is_panel()) - return false; -#if defined(USE_ASH) - return !ash::wm::GetWindowState(widget()->GetNativeWindow()) - ->panel_attached(); -#else - return false; -#endif -} - void ChromeNativeAppWindowViews::UpdateBadgeIcon() { const gfx::Image* icon = NULL; if (!app_window()->badge_icon().IsEmpty()) { diff --git a/chrome/browser/ui/views/apps/chrome_native_app_window_views.h b/chrome/browser/ui/views/apps/chrome_native_app_window_views.h index ce890ac..8a6ef2e 100644 --- a/chrome/browser/ui/views/apps/chrome_native_app_window_views.h +++ b/chrome/browser/ui/views/apps/chrome_native_app_window_views.h @@ -72,7 +72,6 @@ class ChromeNativeAppWindowViews : public apps::NativeAppWindowViews, // NativeAppWindow implementation. virtual void SetFullscreen(int fullscreen_types) OVERRIDE; virtual bool IsFullscreenOrPending() const OVERRIDE; - virtual bool IsDetached() const OVERRIDE; virtual void UpdateBadgeIcon() OVERRIDE; virtual void UpdateShape(scoped_ptr<SkRegion> region) OVERRIDE; virtual bool HasFrameColor() const OVERRIDE; diff --git a/ui/base/ui_base_types.h b/ui/base/ui_base_types.h index fc4ed95..b40815a 100644 --- a/ui/base/ui_base_types.h +++ b/ui/base/ui_base_types.h @@ -11,8 +11,7 @@ namespace ui { class Event; -// Window "show" state. These values are written to disk so should not be -// changed. +// Window "show" state. enum WindowShowState { // A default un-set state. SHOW_STATE_DEFAULT = 0, @@ -21,8 +20,7 @@ enum WindowShowState { SHOW_STATE_MAXIMIZED = 3, SHOW_STATE_INACTIVE = 4, // Views only, not persisted. SHOW_STATE_FULLSCREEN = 5, - SHOW_STATE_DETACHED = 6, // Views only; detached panel. - SHOW_STATE_END = 7 // The end of show state enum. + SHOW_STATE_END = 6 // The end of show state enum. }; // Dialog button identifiers used to specify which buttons to show the user. diff --git a/ui/views/widget/native_widget_mac.mm b/ui/views/widget/native_widget_mac.mm index 9386c9f..f40c2f4 100644 --- a/ui/views/widget/native_widget_mac.mm +++ b/ui/views/widget/native_widget_mac.mm @@ -337,7 +337,6 @@ void NativeWidgetMac::ShowWithWindowState(ui::WindowShowState state) { case ui::SHOW_STATE_FULLSCREEN: NOTIMPLEMENTED(); break; - case ui::SHOW_STATE_DETACHED: case ui::SHOW_STATE_END: NOTREACHED(); break; |