Index: extensions/shell/browser/api/shell/shell_api.cc |
diff --git a/extensions/shell/browser/api/shell/shell_api.cc b/extensions/shell/browser/api/shell/shell_api.cc |
index afc58ddd1ebb3612378ac9fec6e874b1bcbcd296..acd0654463de4826a83ca49a4059162c07d0e04b 100644 |
--- a/extensions/shell/browser/api/shell/shell_api.cc |
+++ b/extensions/shell/browser/api/shell/shell_api.cc |
@@ -42,8 +42,14 @@ ExtensionFunction::ResponseAction ShellCreateWindowFunction::Run() { |
scoped_ptr<CreateWindow::Params> params(CreateWindow::Params::Create(*args_)); |
EXTENSION_FUNCTION_VALIDATE(params.get()); |
- // Convert "main.html" to "chrome-extension:/<id>/main.html". |
- GURL url = extension()->GetResourceURL(params->url); |
+ GURL url(params->url); |
+ if (url.GetOrigin().is_empty()) { |
+ // Convert "main.html" to "chrome-extension:/<id>/main.html". |
+ url = extension()->GetResourceURL(params->url); |
+ } else { |
+ // Load a typical "http://example.com/" URL. |
+ LOG(WARNING) << "Loading non-extension URL " << url.spec(); |
+ } |
if (!url.is_valid()) |
return RespondNow(Error(kInvalidArguments)); |