diff options
author | rdevlin.cronin@chromium.org <rdevlin.cronin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-17 20:36:57 +0000 |
---|---|---|
committer | rdevlin.cronin@chromium.org <rdevlin.cronin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-17 20:36:57 +0000 |
commit | 44f4b13cdb4e198475e9150b9f9e9f3fa8d35b47 (patch) | |
tree | be1d09d56535d967e05e709499dca570301c74c8 /chrome/browser/extensions/window_controller.cc | |
parent | 0776b0bfbc5a634e3f89cd0f0105d7e2f727db92 (diff) | |
download | chromium_src-44f4b13cdb4e198475e9150b9f9e9f3fa8d35b47.zip chromium_src-44f4b13cdb4e198475e9150b9f9e9f3fa8d35b47.tar.gz chromium_src-44f4b13cdb4e198475e9150b9f9e9f3fa8d35b47.tar.bz2 |
Move ExtensionWindowController and related into extensions namespace
Moved ExtensionWindowController, BrowserExtensionWindowController,
ExtensionWindowList to extensions namespace; renamed appropriately.
BUG=136874, 117261
Review URL: https://chromiumcodereview.appspot.com/10735061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147083 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/window_controller.cc')
-rw-r--r-- | chrome/browser/extensions/window_controller.cc | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/chrome/browser/extensions/window_controller.cc b/chrome/browser/extensions/window_controller.cc new file mode 100644 index 0000000..28e1e2e --- /dev/null +++ b/chrome/browser/extensions/window_controller.cc @@ -0,0 +1,68 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/extensions/window_controller.h" + +#include "base/values.h" +#include "chrome/browser/extensions/api/tabs/tabs_constants.h" +#include "chrome/browser/extensions/window_controller_list.h" +#include "chrome/browser/profiles/profile.h" +#include "chrome/browser/ui/base_window.h" +#include "ui/gfx/rect.h" + +namespace extensions { + +/////////////////////////////////////////////////////////////////////////////// +// WindowController + +WindowController::WindowController(BaseWindow* window, Profile* profile) + : window_(window), profile_(profile) { + WindowControllerList::GetInstance()->AddExtensionWindow(this); +} + +WindowController::~WindowController() { + WindowControllerList::GetInstance()->RemoveExtensionWindow(this); +} + +Browser* WindowController::GetBrowser() const { + return NULL; +} + +namespace keys = tabs_constants; + +base::DictionaryValue* WindowController::CreateWindowValue() const { + DictionaryValue* result = new DictionaryValue(); + + result->SetInteger(keys::kIdKey, GetWindowId()); + result->SetString(keys::kWindowTypeKey, GetWindowTypeText()); + result->SetBoolean(keys::kFocusedKey, window()->IsActive()); + result->SetBoolean(keys::kIncognitoKey, profile_->IsOffTheRecord()); + result->SetBoolean(keys::kAlwaysOnTopKey, window()->IsAlwaysOnTop()); + + std::string window_state; + if (window()->IsMinimized()) { + window_state = keys::kShowStateValueMinimized; + } else if (window()->IsFullscreen()) { + window_state = keys::kShowStateValueFullscreen; + } else if (window()->IsMaximized()) { + window_state = keys::kShowStateValueMaximized; + } else { + window_state = keys::kShowStateValueNormal; + } + result->SetString(keys::kShowStateKey, window_state); + + gfx::Rect bounds; + if (window()->IsMinimized()) + bounds = window()->GetRestoredBounds(); + else + bounds = window()->GetBounds(); + result->SetInteger(keys::kLeftKey, bounds.x()); + result->SetInteger(keys::kTopKey, bounds.y()); + result->SetInteger(keys::kWidthKey, bounds.width()); + result->SetInteger(keys::kHeightKey, bounds.height()); + + return result; +} + +} // namespace extensions |