Commit 2903f337 authored by Mitsuru Oshima's avatar Mitsuru Oshima

Add actiivity in factory rather than each caller adds them.

BUG=None
R=sadrul@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#296213}
parent d84f4fc6
...@@ -18,12 +18,10 @@ TEST_F(ActivityManagerTest, Basic) { ...@@ -18,12 +18,10 @@ TEST_F(ActivityManagerTest, Basic) {
static_cast<ActivityManagerImpl*>(ActivityManager::Get()); static_cast<ActivityManagerImpl*>(ActivityManager::Get());
Activity* activity1 = athena::ActivityFactory::Get()->CreateWebActivity( Activity* activity1 = athena::ActivityFactory::Get()->CreateWebActivity(
NULL, base::string16(), GURL()); NULL, base::string16(), GURL());
activity_manager->AddActivity(activity1);
EXPECT_EQ(1, activity_manager->num_activities()); EXPECT_EQ(1, activity_manager->num_activities());
Activity* activity2 = athena::ActivityFactory::Get()->CreateWebActivity( Activity* activity2 = athena::ActivityFactory::Get()->CreateWebActivity(
NULL, base::string16(), GURL()); NULL, base::string16(), GURL());
activity_manager->AddActivity(activity2);
EXPECT_EQ(2, activity_manager->num_activities()); EXPECT_EQ(2, activity_manager->num_activities());
Activity::Delete(activity1); Activity::Delete(activity1);
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include "athena/content/content_activity_factory.h" #include "athena/content/content_activity_factory.h"
#include "athena/activity/public/activity_manager.h"
#include "athena/content/app_activity.h" #include "athena/content/app_activity.h"
#include "athena/content/web_activity.h" #include "athena/content/web_activity.h"
#include "base/logging.h" #include "base/logging.h"
...@@ -19,13 +20,17 @@ Activity* ContentActivityFactory::CreateWebActivity( ...@@ -19,13 +20,17 @@ Activity* ContentActivityFactory::CreateWebActivity(
content::BrowserContext* browser_context, content::BrowserContext* browser_context,
const base::string16& title, const base::string16& title,
const GURL& url) { const GURL& url) {
return new WebActivity(browser_context, title, url); Activity* activity = new WebActivity(browser_context, title, url);
ActivityManager::Get()->AddActivity(activity);
return activity;
} }
Activity* ContentActivityFactory::CreateAppActivity( Activity* ContentActivityFactory::CreateAppActivity(
extensions::AppWindow* app_window, extensions::AppWindow* app_window,
views::WebView* web_view) { views::WebView* web_view) {
return new AppActivity(app_window, web_view); Activity* activity = new AppActivity(app_window, web_view);
ActivityManager::Get()->AddActivity(activity);
return activity;
} }
ActivityFactory* CreateContentActivityFactory() { ActivityFactory* CreateContentActivityFactory() {
......
...@@ -285,6 +285,7 @@ class AthenaWebView : public views::WebView { ...@@ -285,6 +285,7 @@ class AthenaWebView : public views::WebView {
const gfx::Rect& initial_pos, const gfx::Rect& initial_pos,
bool user_gesture, bool user_gesture,
bool* was_blocked) OVERRIDE { bool* was_blocked) OVERRIDE {
// TODO(oshima): Use factory.
ActivityManager::Get()->AddActivity( ActivityManager::Get()->AddActivity(
new WebActivity(new AthenaWebView(new_contents))); new WebActivity(new AthenaWebView(new_contents)));
} }
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
#include "athena/extensions/athena_app_delegate_base.h" #include "athena/extensions/athena_app_delegate_base.h"
#include "athena/activity/public/activity_factory.h" #include "athena/activity/public/activity_factory.h"
#include "athena/activity/public/activity_manager.h"
#include "athena/env/public/athena_env.h" #include "athena/env/public/athena_env.h"
#include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_delegate.h" #include "content/public/browser/web_contents_delegate.h"
...@@ -23,7 +22,7 @@ content::WebContents* OpenURLInActivity(content::BrowserContext* context, ...@@ -23,7 +22,7 @@ content::WebContents* OpenURLInActivity(content::BrowserContext* context,
// Force all links to open in a new activity. // Force all links to open in a new activity.
Activity* activity = ActivityFactory::Get()->CreateWebActivity( Activity* activity = ActivityFactory::Get()->CreateWebActivity(
context, base::string16(), params.url); context, base::string16(), params.url);
ActivityManager::Get()->AddActivity(activity); DCHECK(activity);
// TODO(oshima): Get the web cotnents from activity. // TODO(oshima): Get the web cotnents from activity.
return NULL; return NULL;
} }
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
#include "athena/extensions/public/extensions_delegate.h" #include "athena/extensions/public/extensions_delegate.h"
#include "athena/activity/public/activity_factory.h" #include "athena/activity/public/activity_factory.h"
#include "athena/activity/public/activity_manager.h"
#include "athena/extensions/chrome/athena_chrome_app_window_client.h" #include "athena/extensions/chrome/athena_chrome_app_window_client.h"
#include "base/macros.h" #include "base/macros.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
...@@ -97,9 +96,8 @@ class ChromeExtensionsDelegate : public ExtensionsDelegate { ...@@ -97,9 +96,8 @@ class ChromeExtensionsDelegate : public ExtensionsDelegate {
DCHECK(!url_input.is_empty() || extension); DCHECK(!url_input.is_empty() || extension);
GURL url = UrlForExtension(extension, url_input); GURL url = UrlForExtension(extension, url_input);
athena::ActivityManager::Get()->AddActivity( athena::ActivityFactory::Get()->CreateWebActivity(
athena::ActivityFactory::Get()->CreateWebActivity( GetBrowserContext(), base::UTF8ToUTF16(extension->name()), url);
GetBrowserContext(), base::UTF8ToUTF16(extension->name()), url));
} }
// ExtensionService for the browser context this is created for. // ExtensionService for the browser context this is created for.
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
#include "athena/home/public/home_card.h" #include "athena/home/public/home_card.h"
#include "athena/activity/public/activity_factory.h" #include "athena/activity/public/activity_factory.h"
#include "athena/activity/public/activity_manager.h"
#include "athena/home/home_card_constants.h" #include "athena/home/home_card_constants.h"
#include "athena/home/home_card_impl.h" #include "athena/home/home_card_impl.h"
#include "athena/test/athena_test_base.h" #include "athena/test/athena_test_base.h"
...@@ -107,9 +106,8 @@ TEST_F(HomeCardTest, AppSelection) { ...@@ -107,9 +106,8 @@ TEST_F(HomeCardTest, AppSelection) {
WindowManager::GetInstance()->ToggleOverview(); WindowManager::GetInstance()->ToggleOverview();
EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState());
athena::ActivityManager::Get()->AddActivity( athena::ActivityFactory::Get()->CreateWebActivity(
athena::ActivityFactory::Get()->CreateWebActivity( NULL, base::string16(), GURL("http://www.google.com/"));
NULL, base::string16(), GURL("http://www.google.com/")));
EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState());
} }
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
#include "athena/main/placeholder.h" #include "athena/main/placeholder.h"
#include "athena/activity/public/activity_factory.h" #include "athena/activity/public/activity_factory.h"
#include "athena/activity/public/activity_manager.h"
#include "athena/resources/grit/athena_resources.h" #include "athena/resources/grit/athena_resources.h"
#include "athena/system/public/system_ui.h" #include "athena/system/public/system_ui.h"
#include "ui/base/resource/resource_bundle.h" #include "ui/base/resource/resource_bundle.h"
...@@ -17,9 +16,8 @@ void CreateTestPages(content::BrowserContext* browser_context) { ...@@ -17,9 +16,8 @@ void CreateTestPages(content::BrowserContext* browser_context) {
"http://blue.bikeshed.com", "https://www.google.com", "http://blue.bikeshed.com", "https://www.google.com",
}; };
for (size_t i = 0; i < arraysize(kTestURLs); ++i) { for (size_t i = 0; i < arraysize(kTestURLs); ++i) {
athena::ActivityManager::Get()->AddActivity( athena::ActivityFactory::Get()->CreateWebActivity(
athena::ActivityFactory::Get()->CreateWebActivity( browser_context, base::string16(), GURL(kTestURLs[i]));
browser_context, base::string16(), GURL(kTestURLs[i])));
} }
} }
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
#include "athena/main/url_search_provider.h" #include "athena/main/url_search_provider.h"
#include "athena/activity/public/activity_factory.h" #include "athena/activity/public/activity_factory.h"
#include "athena/activity/public/activity_manager.h"
#include "athena/content/public/scheme_classifier_factory.h" #include "athena/content/public/scheme_classifier_factory.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/values.h" #include "base/values.h"
...@@ -172,9 +171,8 @@ class UrlSearchResult : public app_list::SearchResult { ...@@ -172,9 +171,8 @@ class UrlSearchResult : public app_list::SearchResult {
private: private:
// Overriddenn from app_list::SearchResult: // Overriddenn from app_list::SearchResult:
virtual void Open(int event_flags) OVERRIDE { virtual void Open(int event_flags) OVERRIDE {
ActivityManager::Get()->AddActivity( ActivityFactory::Get()->CreateWebActivity(
ActivityFactory::Get()->CreateWebActivity( browser_context_, base::string16(), match_.destination_url);
browser_context_, base::string16(), match_.destination_url));
} }
void UpdateIcon() { void UpdateIcon() {
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include <string> #include <string>
#include "athena/activity/public/activity_manager.h"
#include "athena/test/sample_activity.h" #include "athena/test/sample_activity.h"
#include "base/logging.h" #include "base/logging.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
...@@ -31,16 +32,20 @@ Activity* SampleActivityFactory::CreateWebActivity( ...@@ -31,16 +32,20 @@ Activity* SampleActivityFactory::CreateWebActivity(
content::BrowserContext* browser_context, content::BrowserContext* browser_context,
const base::string16& title, const base::string16& title,
const GURL& url) { const GURL& url) {
return new SampleActivity( Activity* activity = new SampleActivity(
kDefaultColor, kDefaultContentColor, base::UTF8ToUTF16(url.spec())); kDefaultColor, kDefaultContentColor, base::UTF8ToUTF16(url.spec()));
ActivityManager::Get()->AddActivity(activity);
return activity;
} }
Activity* SampleActivityFactory::CreateAppActivity( Activity* SampleActivityFactory::CreateAppActivity(
extensions::AppWindow* app_window, extensions::AppWindow* app_window,
views::WebView* web_view) { views::WebView* web_view) {
DCHECK(!web_view); DCHECK(!web_view);
return new SampleActivity( Activity* activity = new SampleActivity(
kDefaultAppColor, kDefaultAppContentColor, base::UTF8ToUTF16("App")); kDefaultAppColor, kDefaultAppContentColor, base::UTF8ToUTF16("App"));
ActivityManager::Get()->AddActivity(activity);
return activity;
} }
} // namespace test } // namespace test
......
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