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