summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-21 00:54:10 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-21 00:54:10 +0000
commit67f816514744e36bbb8f0328a870325d33519d77 (patch)
tree692ea98173c202d580416c193338aaea867bae50 /chrome
parenta0c3e97d31ec8cad60f4ae355c36032a58cb8f64 (diff)
downloadchromium_src-67f816514744e36bbb8f0328a870325d33519d77.zip
chromium_src-67f816514744e36bbb8f0328a870325d33519d77.tar.gz
chromium_src-67f816514744e36bbb8f0328a870325d33519d77.tar.bz2
Put apps in app tab when launched from NTP or launcher.
Also add some space between apps. Review URL: http://codereview.chromium.org/1744001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45133 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/dom_ui/app_launcher_handler.cc16
-rw-r--r--chrome/browser/resources/new_new_tab.css2
-rw-r--r--chrome/browser/resources/new_new_tab.js3
3 files changed, 15 insertions, 6 deletions
diff --git a/chrome/browser/dom_ui/app_launcher_handler.cc b/chrome/browser/dom_ui/app_launcher_handler.cc
index 246371a..cdf0549 100644
--- a/chrome/browser/dom_ui/app_launcher_handler.cc
+++ b/chrome/browser/dom_ui/app_launcher_handler.cc
@@ -8,6 +8,7 @@
#include "base/base64.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
+#include "chrome/browser/browser.h"
#include "chrome/browser/extensions/extensions_service.h"
#include "chrome/browser/tab_contents/tab_contents.h"
#include "chrome/common/notification_service.h"
@@ -108,14 +109,19 @@ void AppLauncherHandler::HandleLaunchApp(const Value* value) {
return;
}
- std::string url;
+ std::string extension_id;
const ListValue* list = static_cast<const ListValue*>(value);
- if (list->GetSize() == 0 || !list->GetString(0, &url)) {
+ if (list->GetSize() == 0 || !list->GetString(0, &extension_id)) {
NOTREACHED();
return;
}
- TabContents* tab_contents = dom_ui_->tab_contents();
- tab_contents->OpenURL(GURL(url), GURL(), NEW_FOREGROUND_TAB,
- PageTransition::LINK);
+ // The extension should be a valid app because we keep the NTP up to date
+ // with changes by observing EXTENSION_LOADED and EXTENSION_UNLOADED.
+ Extension* extension = extensions_service_->GetExtensionById(
+ extension_id, false); // Don't include disabled.
+ DCHECK(extension);
+ DCHECK(extension->GetFullLaunchURL().is_valid());
+
+ Browser::OpenApplicationTab(extensions_service_->profile(), extension);
}
diff --git a/chrome/browser/resources/new_new_tab.css b/chrome/browser/resources/new_new_tab.css
index aeb2183..451f03e 100644
--- a/chrome/browser/resources/new_new_tab.css
+++ b/chrome/browser/resources/new_new_tab.css
@@ -777,6 +777,8 @@ html[dir=rtl] #option-menu > [command=hide]:before {
width: 115px; /* 920 / 8 */
-webkit-box-sizing: border-box;
text-align: center;
+
+ margin-right:5px;
}
.section + :not(.hidden) {
diff --git a/chrome/browser/resources/new_new_tab.js b/chrome/browser/resources/new_new_tab.js
index a2edc39..bf2b1f1 100644
--- a/chrome/browser/resources/new_new_tab.js
+++ b/chrome/browser/resources/new_new_tab.js
@@ -89,7 +89,7 @@ var apps = {
* @this {!HTMLAnchorElement}
*/
handleClick_: function() {
- chrome.send('launchApp', [this.href]);
+ chrome.send('launchApp', [this.id]);
return false;
},
@@ -97,6 +97,7 @@ var apps = {
var a = document.createElement('a');
a.textContent = app['name'];
a.href = app['launch_url'];
+ a.id = app['id'];
a.onclick = apps.handleClick_;
a.style.backgroundImage = url(app['icon']);
return a;