summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortapted@chromium.org <tapted@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-19 09:36:34 +0000
committertapted@chromium.org <tapted@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-19 09:37:59 +0000
commitf0d25425ccc861ef74a46d44f6e16784a81de062 (patch)
tree2dcf6d934e08996cb24dc378c5cf8d57ca0770b2
parentf279f433ed3e36738ebddf7e784ff3107b318ef2 (diff)
downloadchromium_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.h3
-rw-r--r--apps/ui/views/native_app_window_views.cc5
-rw-r--r--apps/ui/views/native_app_window_views.h1
-rw-r--r--ash/metrics/user_metrics_recorder.cc1
-rw-r--r--ash/wm/default_state.cc1
-rw-r--r--ash/wm/window_state.cc1
-rw-r--r--ash/wm/wm_types.cc2
-rw-r--r--ash/wm/wm_types.h1
-rw-r--r--chrome/browser/extensions/api/sessions/sessions_api.cc1
-rw-r--r--chrome/browser/sessions/session_service.cc63
-rw-r--r--chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h1
-rw-r--r--chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm4
-rw-r--r--chrome/browser/ui/views/apps/chrome_native_app_window_views.cc30
-rw-r--r--chrome/browser/ui/views/apps/chrome_native_app_window_views.h1
-rw-r--r--ui/base/ui_base_types.h6
-rw-r--r--ui/views/widget/native_widget_mac.mm1
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;