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

Unified Diff: chrome/renderer/extensions/extension_helper.cc

Issue 10534147: Allow platform apps to open links in the browser. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review feedback Created 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/extensions/extension_helper.cc
diff --git a/chrome/renderer/extensions/extension_helper.cc b/chrome/renderer/extensions/extension_helper.cc
index a3460bf50eff415c9110e0ff1ae7e3218f7207db..24d3dc285680c9fcd71a82259bd0aaa7f92ebebc 100644
--- a/chrome/renderer/extensions/extension_helper.cc
+++ b/chrome/renderer/extensions/extension_helper.cc
@@ -32,6 +32,7 @@
#include "webkit/glue/image_resource_fetcher.h"
#include "webkit/glue/resource_fetcher.h"
+using content::ConsoleMessageLevel;
using extensions::MiscellaneousBindings;
using WebKit::WebConsoleMessage;
using WebKit::WebDataSource;
@@ -215,6 +216,8 @@ bool ExtensionHelper::OnMessageReceived(const IPC::Message& message) {
OnUpdateBrowserWindowId)
IPC_MESSAGE_HANDLER(ExtensionMsg_NotifyRenderViewType,
OnNotifyRendererViewType)
+ IPC_MESSAGE_HANDLER(ExtensionMsg_AddMessageToConsole,
+ OnAddMessageToConsole)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
@@ -385,6 +388,11 @@ void ExtensionHelper::OnUpdateBrowserWindowId(int window_id) {
browser_window_id_ = window_id;
}
+void ExtensionHelper::OnAddMessageToConsole(ConsoleMessageLevel level,
+ const std::string& message) {
+ AddMessageToRootConsole(level, UTF8ToUTF16(message));
+}
+
void ExtensionHelper::DidDownloadApplicationDefinition(
const WebKit::WebURLResponse& response,
const std::string& data) {
@@ -396,14 +404,16 @@ void ExtensionHelper::DidDownloadApplicationDefinition(
std::string error_message;
scoped_ptr<Value> result(serializer.Deserialize(&error_code, &error_message));
if (!result.get()) {
- AddErrorToRootConsole(UTF8ToUTF16(error_message));
+ AddMessageToRootConsole(
+ content::CONSOLE_MESSAGE_LEVEL_ERROR, UTF8ToUTF16(error_message));
return;
}
string16 error_message_16;
if (!web_apps::ParseWebAppFromDefinitionFile(result.get(), app_info.get(),
&error_message_16)) {
- AddErrorToRootConsole(error_message_16);
+ AddMessageToRootConsole(
+ content::CONSOLE_MESSAGE_LEVEL_ERROR, error_message_16);
return;
}
@@ -466,8 +476,10 @@ void ExtensionHelper::DidDownloadApplicationIcon(ImageResourceFetcher* fetcher,
for (size_t i = 0; i < pending_app_info_->icons.size(); ++i) {
size_t current_size = pending_app_info_->icons[i].data.getSize();
if (current_size > kMaxIconSize - actual_icon_size) {
- AddErrorToRootConsole(ASCIIToUTF16(
- "Icons are too large. Maximum total size for app icons is 128 KB."));
+ AddMessageToRootConsole(
+ content::CONSOLE_MESSAGE_LEVEL_ERROR,
+ ASCIIToUTF16("Icons are too large. "
+ "Maximum total size for app icons is 128 KB."));
return;
}
actual_icon_size += current_size;
@@ -478,9 +490,25 @@ void ExtensionHelper::DidDownloadApplicationIcon(ImageResourceFetcher* fetcher,
pending_app_info_.reset(NULL);
}
-void ExtensionHelper::AddErrorToRootConsole(const string16& message) {
+void ExtensionHelper::AddMessageToRootConsole(ConsoleMessageLevel level,
+ const string16& message) {
if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
+ WebConsoleMessage::Level target_level = WebConsoleMessage::LevelLog;
+ switch (level) {
+ case content::CONSOLE_MESSAGE_LEVEL_TIP:
+ target_level = WebConsoleMessage::LevelTip;
+ break;
+ case content::CONSOLE_MESSAGE_LEVEL_LOG:
+ target_level = WebConsoleMessage::LevelLog;
+ break;
+ case content::CONSOLE_MESSAGE_LEVEL_WARNING:
+ target_level = WebConsoleMessage::LevelWarning;
+ break;
+ case content::CONSOLE_MESSAGE_LEVEL_ERROR:
+ target_level = WebConsoleMessage::LevelError;
+ break;
+ }
render_view()->GetWebView()->mainFrame()->addMessageToConsole(
- WebConsoleMessage(WebConsoleMessage::LevelError, message));
+ WebConsoleMessage(target_level, message));
}
}
« no previous file with comments | « chrome/renderer/extensions/extension_helper.h ('k') | chrome/test/data/extensions/platform_apps/open_link/link.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698