Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(507)

Unified Diff: chrome/browser/ui/views/aura/panel_view_aura.cc

Issue 9570044: Rename chrome/browser/ui/views/{aura => ash}/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/aura/panel_view_aura.cc
diff --git a/chrome/browser/ui/views/aura/panel_view_aura.cc b/chrome/browser/ui/views/aura/panel_view_aura.cc
deleted file mode 100644
index df56f8cb3ff89816586a256a4600a4c9e964e1af..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/views/aura/panel_view_aura.cc
+++ /dev/null
@@ -1,411 +0,0 @@
-// 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/ui/views/aura/panel_view_aura.h"
-
-#include "ash/wm/panel_frame_view.h"
-#include "base/utf_string_conversions.h"
-#include "chrome/browser/extensions/extension_function_dispatcher.h"
-#include "chrome/browser/extensions/extension_tab_util.h"
-#include "chrome/browser/extensions/extension_tabs_module_constants.h"
-#include "chrome/browser/extensions/extension_window_controller.h"
-#include "chrome/browser/extensions/extension_window_list.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_list.h"
-#include "chrome/common/chrome_view_type.h"
-#include "chrome/common/extensions/extension_messages.h"
-#include "content/public/browser/site_instance.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/browser/web_contents_delegate.h"
-#include "content/public/browser/web_contents_observer.h"
-#include "googleurl/src/gurl.h"
-#include "ipc/ipc_message.h"
-#include "ipc/ipc_message_macros.h"
-#include "ui/aura/window.h"
-#include "ui/views/widget/widget.h"
-
-namespace {
-const int kMinWidth = 100;
-const int kMinHeight = 100;
-const int kDefaultWidth = 200;
-const int kDefaultHeight = 300;
-}
-
-namespace internal {
-
-////////////////////////////////////////////////////////////////////////////////
-// PanelHost
-
-class PanelHost : public content::WebContentsDelegate,
- public content::WebContentsObserver,
- public ExtensionFunctionDispatcher::Delegate {
- public:
- PanelHost(PanelViewAura* panel_view, Profile* profile);
- virtual ~PanelHost();
-
- void Init(const GURL& url);
-
- content::WebContents* web_contents() const { return web_contents_.get(); }
- Profile* profile() const { return profile_; }
-
- // ExtensionFunctionDispatcher::Delegate overrides.
- virtual Browser* GetBrowser() OVERRIDE;
- virtual content::WebContents* GetAssociatedWebContents() const OVERRIDE;
-
- // content::WebContentsDelegate implementation:
- virtual void CloseContents(content::WebContents* source) OVERRIDE;
- virtual void HandleMouseDown() OVERRIDE;
- virtual void UpdatePreferredSize(content::WebContents* source,
- const gfx::Size& pref_size) OVERRIDE;
- virtual void AddNewContents(content::WebContents* source,
- content::WebContents* new_contents,
- WindowOpenDisposition disposition,
- const gfx::Rect& initial_pos,
- bool user_gesture) OVERRIDE;
-
- // content::WebContentsObserver implementation:
- virtual void RenderViewCreated(RenderViewHost* render_view_host) OVERRIDE;
- virtual void RenderViewReady() OVERRIDE;
- virtual void RenderViewGone(base::TerminationStatus status) OVERRIDE;
- virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
-
- protected:
- // Message handlers
- void OnRequest(const ExtensionHostMsg_Request_Params& params);
-
- private:
- PanelViewAura* panel_view_;
- Profile* profile_;
- ExtensionFunctionDispatcher extension_function_dispatcher_;
- scoped_ptr<content::WebContents> web_contents_;
- // Site instance to be used for opening new links.
- scoped_refptr<content::SiteInstance> site_instance_;
-};
-
-PanelHost::PanelHost(PanelViewAura* panel_view, Profile* profile)
- : panel_view_(panel_view),
- profile_(profile),
- ALLOW_THIS_IN_INITIALIZER_LIST(
- extension_function_dispatcher_(profile, this)) {
-}
-
-PanelHost::~PanelHost() {
-}
-
-void PanelHost::Init(const GURL& url) {
- site_instance_ = content::SiteInstance::CreateForURL(profile_, url);
-
- web_contents_.reset(content::WebContents::Create(
- profile_, site_instance_.get(), MSG_ROUTING_NONE, NULL, NULL));
- web_contents_->SetViewType(chrome::VIEW_TYPE_PANEL);
- web_contents_->SetDelegate(this);
- Observe(web_contents_.get());
-
- web_contents_->GetController().LoadURL(
- url, content::Referrer(), content::PAGE_TRANSITION_LINK, std::string());
-}
-
-Browser* PanelHost::GetBrowser() {
- return NULL;
-}
-
-content::WebContents* PanelHost::GetAssociatedWebContents() const {
- return web_contents_.get();
-}
-
-void PanelHost::CloseContents(content::WebContents* source) {
- panel_view_->CloseView();
-}
-
-void PanelHost::HandleMouseDown() {
-}
-
-void PanelHost::UpdatePreferredSize(content::WebContents* source,
- const gfx::Size& pref_size) {
- panel_view_->SetContentPreferredSize(pref_size);
-}
-
-// This handles launching a new page from within the panel.
-// TODO(stevenjb): Determine whether or not this is the desired/expected
-// behavior for panels.
-void PanelHost::AddNewContents(content::WebContents* source,
- content::WebContents* new_contents,
- WindowOpenDisposition disposition,
- const gfx::Rect& initial_pos,
- bool user_gesture) {
- Browser* browser = BrowserList::GetLastActiveWithProfile(
- Profile::FromBrowserContext(new_contents->GetBrowserContext()));
- if (!browser)
- return;
- browser->AddWebContents(new_contents, disposition, initial_pos, user_gesture);
-}
-
-void PanelHost::RenderViewCreated(RenderViewHost* render_view_host) {
-}
-
-void PanelHost::RenderViewReady() {
-}
-
-void PanelHost::RenderViewGone(base::TerminationStatus status) {
- CloseContents(web_contents_.get());
-}
-
-bool PanelHost::OnMessageReceived(const IPC::Message& message) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(PanelHost, message)
- IPC_MESSAGE_HANDLER(ExtensionHostMsg_Request, OnRequest)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
- return handled;
-}
-
-void PanelHost::OnRequest(const ExtensionHostMsg_Request_Params& params) {
- extension_function_dispatcher_.Dispatch(params,
- web_contents_->GetRenderViewHost());
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// PanelExtensionWindowController
-
-class PanelExtensionWindowController : public ExtensionWindowController {
- public:
- PanelExtensionWindowController(PanelViewAura* panel_view,
- PanelHost* panel_host);
-
- // Overriden from ExtensionWindowController:
- virtual const SessionID& GetSessionId() const OVERRIDE;
- virtual base::DictionaryValue* CreateWindowValue() const OVERRIDE;
- virtual base::DictionaryValue* CreateWindowValueWithTabs() const OVERRIDE;
- virtual bool CanClose(
- ExtensionWindowController::Reason* reason) const OVERRIDE;
- virtual void SetFullscreenMode(bool is_fullscreen,
- const GURL& extension_url) const OVERRIDE;
-
- private:
- PanelViewAura* panel_view_;
- PanelHost* panel_host_;
-
- DISALLOW_COPY_AND_ASSIGN(PanelExtensionWindowController);
-};
-
-PanelExtensionWindowController::PanelExtensionWindowController(
- PanelViewAura* panel_view,
- PanelHost* panel_host)
- : ExtensionWindowController(panel_view, panel_host->profile()),
- panel_view_(panel_view),
- panel_host_(panel_host) {
-}
-
-const SessionID& PanelExtensionWindowController::GetSessionId() const {
- return panel_view_->session_id();
-}
-
-namespace keys = extension_tabs_module_constants;
-
-base::DictionaryValue*
-PanelExtensionWindowController::CreateWindowValue() const {
- DictionaryValue* result = ExtensionWindowController::CreateWindowValue();
-
- result->SetString(keys::kWindowTypeKey, keys::kWindowTypeValuePanel);
- std::string window_state = window()->IsMinimized() ?
- keys::kShowStateValueMinimized : keys::kShowStateValueNormal;
- result->SetString(keys::kShowStateKey, window_state);
-
- return result;
-}
-
-base::DictionaryValue*
-PanelExtensionWindowController::CreateWindowValueWithTabs() const {
- DictionaryValue* result = CreateWindowValue();
-
- // TODO(stevenjb): Implement tab interface for Aura panels.
- // Currently there is no mechanism to get a tab id without an associated
- // TabContentsWrapper. We will need to either add a TabContentsWrapper for
- // panels, or add another mechanism for tracking tabs. crbug.com/115532.
-
- return result;
-}
-
-bool PanelExtensionWindowController::CanClose(
- ExtensionWindowController::Reason* reason) const {
- return true;
-}
-
-void PanelExtensionWindowController::SetFullscreenMode(
- bool is_fullscreen, const GURL& extension_url) const {
-}
-
-} // namespace internal
-
-////////////////////////////////////////////////////////////////////////////////
-// PanelViewAura
-
-PanelViewAura::PanelViewAura(const std::string& title)
- : title_(title),
- preferred_size_(kMinWidth, kMinHeight),
- widget_(NULL) {
-}
-
-PanelViewAura::~PanelViewAura() {
-}
-
-views::Widget* PanelViewAura::Init(Profile* profile,
- const GURL& url,
- const gfx::Rect& bounds) {
- widget_ = new views::Widget;
- views::Widget::InitParams params(views::Widget::InitParams::TYPE_PANEL);
- params.delegate = this;
-
- params.bounds = bounds;
- if (params.bounds.width() == 0)
- params.bounds.set_width(kDefaultWidth);
- else if (params.bounds.width() < kMinWidth)
- params.bounds.set_width(kMinWidth);
-
- if (params.bounds.height() == 0)
- params.bounds.set_height(kDefaultHeight);
- else if (params.bounds.height() < kMinHeight)
- params.bounds.set_height(kMinHeight);
-
- widget_->Init(params);
- widget_->GetNativeView()->SetName(title_);
-
- host_.reset(new internal::PanelHost(this, profile));
- host_->Init(url);
-
- Attach(host_->web_contents()->GetNativeView());
-
- // Add the browser to the list of windows available to the extension API.
- extension_window_controller_.reset(
- new internal::PanelExtensionWindowController(this, host_.get()));
-
- // Show the window, but don't activate it by default.
- widget_->ShowInactive();
-
- return widget_;
-}
-
-content::WebContents* PanelViewAura::WebContents() {
- return host_->web_contents();
-}
-
-void PanelViewAura::CloseView() {
- widget_->CloseNow();
-}
-
-void PanelViewAura::SetContentPreferredSize(const gfx::Size& size) {
- if (size.width() > kMinWidth)
- preferred_size_.set_width(size.width());
- if (size.height() > kMinHeight)
- preferred_size_.set_height(size.height());
-}
-
-// views::View implementation:
-
-gfx::Size PanelViewAura::GetPreferredSize() {
- return preferred_size_;
-}
-
-// views::WidgetDelegate implementation:
-
-bool PanelViewAura::CanResize() const {
- // TODO(stevenjb): Can/should panels be able to prevent resizing?
- return true;
-}
-
-string16 PanelViewAura::GetWindowTitle() const {
- return UTF8ToUTF16(title_);
-}
-
-views::View* PanelViewAura::GetContentsView() {
- return this;
-}
-
-views::View* PanelViewAura::GetInitiallyFocusedView() {
- return this;
-}
-
-bool PanelViewAura::ShouldShowWindowTitle() const {
- return true;
-}
-
-views::Widget* PanelViewAura::GetWidget() {
- return View::GetWidget();
-}
-
-const views::Widget* PanelViewAura::GetWidget() const {
- return View::GetWidget();
-}
-
-views::NonClientFrameView* PanelViewAura::CreateNonClientFrameView() {
- return new ash::PanelFrameView();
-}
-
-// BaseWindow implementation:
-
-bool PanelViewAura::IsActive() const {
- return GetWidget()->IsActive();
-}
-
-bool PanelViewAura::IsMaximized() const {
- return GetWidget()->IsMaximized();
-}
-
-bool PanelViewAura::IsMinimized() const {
- return GetWidget()->IsMinimized();
-}
-
-gfx::Rect PanelViewAura::GetRestoredBounds() const {
- return GetWidget()->GetRestoredBounds();
-}
-
-gfx::Rect PanelViewAura::GetBounds() const {
- return GetWidget()->GetWindowScreenBounds();
-}
-
-void PanelViewAura::Show() {
- GetWidget()->Show();
-}
-
-void PanelViewAura::ShowInactive() {
- GetWidget()->ShowInactive();
-}
-
-void PanelViewAura::Close() {
- GetWidget()->Close();
-}
-
-void PanelViewAura::Activate() {
- GetWidget()->Activate();
-}
-
-void PanelViewAura::Deactivate() {
- GetWidget()->Deactivate();
-}
-
-void PanelViewAura::Maximize() {
- // Maximize is not implemented for panels.
-}
-
-void PanelViewAura::Minimize() {
- // TODO(stevenjb): Implement this properly.
- GetWidget()->Minimize();
- NOTIMPLEMENTED();
-}
-
-void PanelViewAura::Restore() {
- // TODO(stevenjb): Implement this properly.
- GetWidget()->Restore();
- NOTIMPLEMENTED();
-}
-
-void PanelViewAura::SetBounds(const gfx::Rect& bounds) {
- GetWidget()->SetBounds(bounds);
-}
-
-void PanelViewAura::FlashFrame(bool flash) {
- // TODO(stevenjb): Implement
- NOTIMPLEMENTED();
-}
« no previous file with comments | « chrome/browser/ui/views/aura/panel_view_aura.h ('k') | chrome/browser/ui/views/aura/screen_orientation_listener.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698