athena: Remove ActivityViewModel::CreateWidget().

Use the existing views API (views::Widget::GetWidgetForNativeView()) to
get any existing views::Widget for an athena::Activity, instead of asking
its ActivityViewModel.

BUG=none
R=oshima@chromium.org

Review URL: https://codereview.chromium.org/702473005

Cr-Commit-Position: refs/heads/master@{#302523}
parent f00bafe1
...@@ -21,13 +21,15 @@ namespace { ...@@ -21,13 +21,15 @@ namespace {
ActivityManager* instance = nullptr; ActivityManager* instance = nullptr;
views::Widget* CreateWidget(Activity* activity) { views::Widget* CreateWidget(Activity* activity) {
ActivityViewModel* view_model = activity->GetActivityViewModel(); aura::Window* window = activity->GetWindow();
views::Widget* widget = view_model->CreateWidget(); views::Widget* widget =
window ? views::Widget::GetWidgetForNativeView(window) : nullptr;
if (widget) if (widget)
return widget; return widget;
widget = new views::Widget; widget = new views::Widget;
views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
params.delegate = new ActivityWidgetDelegate(view_model); params.delegate =
new ActivityWidgetDelegate(activity->GetActivityViewModel());
widget->Init(params); widget->Init(params);
activity->GetActivityViewModel()->Init(); activity->GetActivityViewModel()->Init();
return widget; return widget;
......
...@@ -50,10 +50,6 @@ class ATHENA_EXPORT ActivityViewModel { ...@@ -50,10 +50,6 @@ class ATHENA_EXPORT ActivityViewModel {
// be deleted by the resource manager. // be deleted by the resource manager.
virtual views::View* GetContentsView() = 0; virtual views::View* GetContentsView() = 0;
// Creates a custom widget for the activity. Returns nullptr to use default
// implementation.
virtual views::Widget* CreateWidget() = 0;
// Returns an image which can be used to represent the activity in e.g. the // Returns an image which can be used to represent the activity in e.g. the
// overview mode. The returned image can have no size if either a view exists // overview mode. The returned image can have no size if either a view exists
// or the activity has not yet been loaded or ever been presented. In that // or the activity has not yet been loaded or ever been presented. In that
......
...@@ -93,7 +93,9 @@ Activity::ActivityMediaState AppActivity::GetMediaState() { ...@@ -93,7 +93,9 @@ Activity::ActivityMediaState AppActivity::GetMediaState() {
} }
aura::Window* AppActivity::GetWindow() { aura::Window* AppActivity::GetWindow() {
return !web_view_ ? nullptr : web_view_->GetWidget()->GetNativeWindow(); return web_view_ && web_view_->GetWidget()
? web_view_->GetWidget()->GetNativeWindow()
: nullptr;
} }
content::WebContents* AppActivity::GetWebContents() { content::WebContents* AppActivity::GetWebContents() {
...@@ -101,6 +103,10 @@ content::WebContents* AppActivity::GetWebContents() { ...@@ -101,6 +103,10 @@ content::WebContents* AppActivity::GetWebContents() {
} }
void AppActivity::Init() { void AppActivity::Init() {
// Before we remove the proxy, we have to register the activity and
// initialize its to move it to the proper activity list location.
RegisterActivity();
DCHECK(app_activity_registry_); DCHECK(app_activity_registry_);
Activity* app_proxy = app_activity_registry_->unloaded_activity_proxy(); Activity* app_proxy = app_activity_registry_->unloaded_activity_proxy();
if (app_proxy) { if (app_proxy) {
...@@ -135,6 +141,16 @@ void AppActivity::Init() { ...@@ -135,6 +141,16 @@ void AppActivity::Init() {
// The proxy should now be deleted. // The proxy should now be deleted.
DCHECK(!app_activity_registry_->unloaded_activity_proxy()); DCHECK(!app_activity_registry_->unloaded_activity_proxy());
} }
// Make sure the content gets properly shown.
if (current_state_ == ACTIVITY_VISIBLE) {
HideContentProxy();
} else if (current_state_ == ACTIVITY_INVISIBLE) {
ShowContentProxy();
} else {
// If not previously specified, we change the state now to invisible..
SetCurrentState(ACTIVITY_INVISIBLE);
}
} }
SkColor AppActivity::GetRepresentativeColor() const { SkColor AppActivity::GetRepresentativeColor() const {
...@@ -154,23 +170,6 @@ bool AppActivity::UsesFrame() const { ...@@ -154,23 +170,6 @@ bool AppActivity::UsesFrame() const {
return false; return false;
} }
views::Widget* AppActivity::CreateWidget() {
// Before we remove the proxy, we have to register the activity and
// initialize its to move it to the proper activity list location.
RegisterActivity();
Init();
// Make sure the content gets properly shown.
if (current_state_ == ACTIVITY_VISIBLE) {
HideContentProxy();
} else if (current_state_ == ACTIVITY_INVISIBLE) {
ShowContentProxy();
} else {
// If not previously specified, we change the state now to invisible..
SetCurrentState(ACTIVITY_INVISIBLE);
}
return web_view_->GetWidget();
}
views::View* AppActivity::GetContentsView() { views::View* AppActivity::GetContentsView() {
return web_view_; return web_view_;
} }
......
...@@ -45,7 +45,6 @@ class AppActivity : public Activity, ...@@ -45,7 +45,6 @@ class AppActivity : public Activity,
base::string16 GetTitle() const override; base::string16 GetTitle() const override;
gfx::ImageSkia GetIcon() const override; gfx::ImageSkia GetIcon() const override;
bool UsesFrame() const override; bool UsesFrame() const override;
views::Widget* CreateWidget() override;
views::View* GetContentsView() override; views::View* GetContentsView() override;
gfx::ImageSkia GetOverviewModeImage() override; gfx::ImageSkia GetOverviewModeImage() override;
void PrepareContentsForOverview() override; void PrepareContentsForOverview() override;
......
...@@ -52,7 +52,7 @@ Activity::ActivityMediaState AppActivityProxy::GetMediaState() { ...@@ -52,7 +52,7 @@ Activity::ActivityMediaState AppActivityProxy::GetMediaState() {
} }
aura::Window* AppActivityProxy::GetWindow() { aura::Window* AppActivityProxy::GetWindow() {
return view_->GetWidget()->GetNativeWindow(); return view_->GetWidget() ? view_->GetWidget()->GetNativeWindow() : nullptr;
} }
content::WebContents* AppActivityProxy::GetWebContents() { content::WebContents* AppActivityProxy::GetWebContents() {
...@@ -92,10 +92,6 @@ views::View* AppActivityProxy::GetContentsView() { ...@@ -92,10 +92,6 @@ views::View* AppActivityProxy::GetContentsView() {
return view_; return view_;
} }
views::Widget* AppActivityProxy::CreateWidget() {
return nullptr;
}
gfx::ImageSkia AppActivityProxy::GetOverviewModeImage() { gfx::ImageSkia AppActivityProxy::GetOverviewModeImage() {
return content_proxy_->GetContentImage(); return content_proxy_->GetContentImage();
} }
......
...@@ -45,7 +45,6 @@ class AppActivityProxy : public Activity, ...@@ -45,7 +45,6 @@ class AppActivityProxy : public Activity,
gfx::ImageSkia GetIcon() const override; gfx::ImageSkia GetIcon() const override;
bool UsesFrame() const override; bool UsesFrame() const override;
views::View* GetContentsView() override; views::View* GetContentsView() override;
views::Widget* CreateWidget() override;
gfx::ImageSkia GetOverviewModeImage() override; gfx::ImageSkia GetOverviewModeImage() override;
void PrepareContentsForOverview() override; void PrepareContentsForOverview() override;
void ResetContentsView() override; void ResetContentsView() override;
......
...@@ -61,7 +61,7 @@ class TestAppActivity : public AppActivity { ...@@ -61,7 +61,7 @@ class TestAppActivity : public AppActivity {
return Activity::ACTIVITY_MEDIA_STATE_NONE; return Activity::ACTIVITY_MEDIA_STATE_NONE;
} }
aura::Window* GetWindow() override { aura::Window* GetWindow() override {
return view_->GetWidget()->GetNativeWindow(); return view_->GetWidget() ? view_->GetWidget()->GetNativeWindow() : nullptr;
} }
// ActivityViewModel: // ActivityViewModel:
...@@ -70,7 +70,6 @@ class TestAppActivity : public AppActivity { ...@@ -70,7 +70,6 @@ class TestAppActivity : public AppActivity {
base::string16 GetTitle() const override { return title_; } base::string16 GetTitle() const override { return title_; }
bool UsesFrame() const override { return true; } bool UsesFrame() const override { return true; }
views::View* GetContentsView() override { return view_; } views::View* GetContentsView() override { return view_; }
views::Widget* CreateWidget() override { return nullptr; }
gfx::ImageSkia GetOverviewModeImage() override { return gfx::ImageSkia(); } gfx::ImageSkia GetOverviewModeImage() override { return gfx::ImageSkia(); }
private: private:
......
...@@ -528,7 +528,8 @@ Activity::ActivityMediaState WebActivity::GetMediaState() { ...@@ -528,7 +528,8 @@ Activity::ActivityMediaState WebActivity::GetMediaState() {
} }
aura::Window* WebActivity::GetWindow() { aura::Window* WebActivity::GetWindow() {
return web_view_->GetWidget()->GetNativeWindow(); return web_view_->GetWidget() ? web_view_->GetWidget()->GetNativeWindow()
: nullptr;
} }
content::WebContents* WebActivity::GetWebContents() { content::WebContents* WebActivity::GetWebContents() {
...@@ -564,10 +565,6 @@ views::View* WebActivity::GetContentsView() { ...@@ -564,10 +565,6 @@ views::View* WebActivity::GetContentsView() {
return web_view_; return web_view_;
} }
views::Widget* WebActivity::CreateWidget() {
return nullptr; // Use default widget.
}
gfx::ImageSkia WebActivity::GetOverviewModeImage() { gfx::ImageSkia WebActivity::GetOverviewModeImage() {
if (content_proxy_.get()) if (content_proxy_.get())
return content_proxy_->GetContentImage(); return content_proxy_->GetContentImage();
......
...@@ -64,7 +64,6 @@ class WebActivity : public Activity, ...@@ -64,7 +64,6 @@ class WebActivity : public Activity,
gfx::ImageSkia GetIcon() const override; gfx::ImageSkia GetIcon() const override;
bool UsesFrame() const override; bool UsesFrame() const override;
views::View* GetContentsView() override; views::View* GetContentsView() override;
views::Widget* CreateWidget() override;
gfx::ImageSkia GetOverviewModeImage() override; gfx::ImageSkia GetOverviewModeImage() override;
void PrepareContentsForOverview() override; void PrepareContentsForOverview() override;
void ResetContentsView() override; void ResetContentsView() override;
......
...@@ -85,10 +85,6 @@ views::View* SampleActivity::GetContentsView() { ...@@ -85,10 +85,6 @@ views::View* SampleActivity::GetContentsView() {
return contents_view_; return contents_view_;
} }
views::Widget* SampleActivity::CreateWidget() {
return nullptr;
}
gfx::ImageSkia SampleActivity::GetOverviewModeImage() { gfx::ImageSkia SampleActivity::GetOverviewModeImage() {
return gfx::ImageSkia(); return gfx::ImageSkia();
} }
......
...@@ -42,7 +42,6 @@ class SampleActivity : public Activity, ...@@ -42,7 +42,6 @@ class SampleActivity : public Activity,
gfx::ImageSkia GetIcon() const override; gfx::ImageSkia GetIcon() const override;
bool UsesFrame() const override; bool UsesFrame() const override;
views::View* GetContentsView() override; views::View* GetContentsView() override;
views::Widget* CreateWidget() override;
gfx::ImageSkia GetOverviewModeImage() override; gfx::ImageSkia GetOverviewModeImage() override;
void PrepareContentsForOverview() override; void PrepareContentsForOverview() override;
void ResetContentsView() override; void ResetContentsView() override;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment