| 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));
|
|
|
|
|