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

Side by Side Diff: athena/content/content_app_model_builder.cc

Issue 335003003: Introduces AppActivity and handler of chrome.shell API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "athena/content/public/content_app_model_builder.h" 5 #include "athena/content/public/content_app_model_builder.h"
6 6
7 #include "apps/shell/browser/shell_extension_system.h" 7 #include "apps/shell/browser/shell_extension_system.h"
8 #include "athena/activity/public/activity_factory.h" 8 #include "athena/activity/public/activity_factory.h"
9 #include "athena/activity/public/activity_manager.h" 9 #include "athena/activity/public/activity_manager.h"
10 #include "extensions/common/extension.h" 10 #include "extensions/common/extension.h"
(...skipping 19 matching lines...) Expand all
30 bitmap.setConfig(SkBitmap::kARGB_8888_Config, kIconSize, kIconSize); 30 bitmap.setConfig(SkBitmap::kARGB_8888_Config, kIconSize, kIconSize);
31 bitmap.allocPixels(); 31 bitmap.allocPixels();
32 bitmap.eraseColor(color); 32 bitmap.eraseColor(color);
33 return gfx::ImageSkia::CreateFrom1xBitmap(bitmap); 33 return gfx::ImageSkia::CreateFrom1xBitmap(bitmap);
34 } 34 }
35 35
36 // Same dummy item. 36 // Same dummy item.
37 class DummyItem : public app_list::AppListItem { 37 class DummyItem : public app_list::AppListItem {
38 public: 38 public:
39 DummyItem(const std::string& id, 39 DummyItem(const std::string& id,
40 const GURL& url,
40 SkColor color, 41 SkColor color,
41 content::BrowserContext* browser_context) 42 content::BrowserContext* browser_context)
42 : app_list::AppListItem(id), 43 : app_list::AppListItem(id),
43 id_(id), 44 url_(url),
44 browser_context_(browser_context) { 45 browser_context_(browser_context) {
45 46
46 SetIcon(CreateFlatColorImage(color), false /* has_shadow */); 47 SetIcon(CreateFlatColorImage(color), false /* has_shadow */);
47 SetName(id); 48 SetName(id);
48 } 49 }
49 50
50 private: 51 private:
51 // Overridden from app_list::AppListItem: 52 // Overridden from app_list::AppListItem:
52 virtual void Activate(int event_flags) OVERRIDE { 53 virtual void Activate(int event_flags) OVERRIDE {
53 ActivityManager::Get()->AddActivity( 54 ActivityManager::Get()->AddActivity(
54 ActivityFactory::Get()->CreateAppActivity( 55 ActivityFactory::Get()->CreateWebActivity(browser_context_, url_));
55 browser_context_, id_));
56 } 56 }
57 57
58 std::string id_; 58 GURL url_;
59 content::BrowserContext* browser_context_; 59 content::BrowserContext* browser_context_;
60 60
61 DISALLOW_COPY_AND_ASSIGN(DummyItem); 61 DISALLOW_COPY_AND_ASSIGN(DummyItem);
62 }; 62 };
63 63
64 class AppItem : public app_list::AppListItem { 64 class AppItem : public app_list::AppListItem {
65 public: 65 public:
66 AppItem(scoped_refptr<extensions::Extension> extension, 66 AppItem(scoped_refptr<extensions::Extension> extension,
67 content::BrowserContext* browser_context) 67 content::BrowserContext* browser_context)
68 : app_list::AppListItem(extension->id()), 68 : app_list::AppListItem(extension->id()),
(...skipping 22 matching lines...) Expand all
91 91
92 ContentAppModelBuilder::ContentAppModelBuilder( 92 ContentAppModelBuilder::ContentAppModelBuilder(
93 content::BrowserContext* browser_context) 93 content::BrowserContext* browser_context)
94 : browser_context_(browser_context) { 94 : browser_context_(browser_context) {
95 } 95 }
96 96
97 ContentAppModelBuilder::~ContentAppModelBuilder() { 97 ContentAppModelBuilder::~ContentAppModelBuilder() {
98 } 98 }
99 99
100 void ContentAppModelBuilder::PopulateApps(app_list::AppListModel* model) { 100 void ContentAppModelBuilder::PopulateApps(app_list::AppListModel* model) {
101 model->AddItem(scoped_ptr<app_list::AppListItem>( 101 model->AddItem(scoped_ptr<app_list::AppListItem>(new DummyItem(
102 new DummyItem("mail", SK_ColorRED, browser_context_))); 102 "mail", GURL("http://gmail.com/"), SK_ColorRED, browser_context_)));
103 model->AddItem(scoped_ptr<app_list::AppListItem>( 103 model->AddItem(scoped_ptr<app_list::AppListItem>(new DummyItem(
104 new DummyItem("calendar", SK_ColorBLUE, browser_context_))); 104 "calendar", GURL("https://calendar.google.com/"),
105 model->AddItem(scoped_ptr<app_list::AppListItem>( 105 SK_ColorBLUE, browser_context_)));
106 new DummyItem("video", SK_ColorGREEN, browser_context_))); 106 model->AddItem(scoped_ptr<app_list::AppListItem>(new DummyItem(
107 model->AddItem(scoped_ptr<app_list::AppListItem>( 107 "video", GURL("http://youtube.com/"), SK_ColorGREEN, browser_context_)));
108 new DummyItem("music", SK_ColorYELLOW, browser_context_))); 108 model->AddItem(scoped_ptr<app_list::AppListItem>(new DummyItem(
109 model->AddItem(scoped_ptr<app_list::AppListItem>( 109 "music", GURL("http://play.google.com/music"),
110 new DummyItem("contact", SK_ColorCYAN, browser_context_))); 110 SK_ColorYELLOW, browser_context_)));
111 model->AddItem(scoped_ptr<app_list::AppListItem>(new DummyItem(
112 "contact", GURL("https://www.google.com/contacts"),
113 SK_ColorCYAN, browser_context_)));
111 114
112 ShellExtensionSystem* extension_system = 115 ShellExtensionSystem* extension_system =
113 GetShellExtensionSystem(browser_context_); 116 GetShellExtensionSystem(browser_context_);
114 if (extension_system && extension_system->extension()) { 117 if (extension_system && extension_system->extension()) {
115 model->AddItem(scoped_ptr<app_list::AppListItem>( 118 model->AddItem(scoped_ptr<app_list::AppListItem>(
116 new AppItem(extension_system->extension(), browser_context_))); 119 new AppItem(extension_system->extension(), browser_context_)));
117 } 120 }
118 } 121 }
119 122
120 } // namespace athena 123 } // namespace athena
OLDNEW
« no previous file with comments | « athena/content/content_activity_factory.cc ('k') | athena/content/public/content_activity_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698