1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_BROWSER_WINDOW_STATE_H_
6 #define CHROME_BROWSER_UI_BROWSER_WINDOW_STATE_H_
10 #include "base/memory/scoped_ptr.h"
11 #include "base/prefs/scoped_user_pref_update.h"
12 #include "ui/base/ui_base_types.h"
17 class DictionaryValue
;
28 std::string
GetWindowName(const Browser
* browser
);
29 // A "window placement dictionary" holds information about the size and location
30 // of the window that is stored in the given PrefService. If the window_name
31 // isn't the name of a registered preference it is assumed to be the name of an
32 // app and the AppWindowPlacement key is used to find the app's dictionary.
33 scoped_ptr
<DictionaryPrefUpdate
> GetWindowPlacementDictionaryReadWrite(
34 const std::string
& window_name
,
36 // Returns NULL if the window corresponds to an app that doesn't have placement
37 // information stored in the preferences system.
38 const base::DictionaryValue
* GetWindowPlacementDictionaryReadOnly(
39 const std::string
& window_name
,
42 bool ShouldSaveWindowPlacement(const Browser
* browser
);
44 void SaveWindowPlacement(const Browser
* browser
,
45 const gfx::Rect
& bounds
,
46 ui::WindowShowState show_state
);
48 // Return the |bounds| for the browser window to be used upon creation.
49 // The |show_state| variable will receive the desired initial show state for
51 void GetSavedWindowBoundsAndShowState(const Browser
* browser
,
53 ui::WindowShowState
* show_state
);
57 #endif // CHROME_BROWSER_UI_BROWSER_WINDOW_STATE_H_