| Index: chrome/common/extensions/extension_file_util.cc
|
| diff --git a/chrome/common/extensions/extension_file_util.cc b/chrome/common/extensions/extension_file_util.cc
|
| index d6dea3fc44a7c4342c0c007e28626e1c2f7efb0a..7b5ca58a2200cb312121bea6b98e91069f3fae61 100644
|
| --- a/chrome/common/extensions/extension_file_util.cc
|
| +++ b/chrome/common/extensions/extension_file_util.cc
|
| @@ -24,6 +24,7 @@
|
| #include "chrome/common/extensions/extension_manifest_constants.h"
|
| #include "chrome/common/extensions/extension_messages.h"
|
| #include "chrome/common/extensions/extension_resource.h"
|
| +#include "chrome/common/extensions/manifest_url_handler.h"
|
| #include "chrome/common/extensions/message_bundle.h"
|
| #include "grit/generated_resources.h"
|
| #include "net/base/escape.h"
|
| @@ -373,9 +374,10 @@ bool ValidateExtension(const Extension* extension,
|
|
|
| // Validate path to the options page. Don't check the URL for hosted apps,
|
| // because they are expected to refer to an external URL.
|
| - if (!extension->options_url().is_empty() && !extension->is_hosted_app()) {
|
| + if (!extensions::ManifestURL::GetOptionsPage(extension).is_empty() &&
|
| + !extension->is_hosted_app()) {
|
| const FilePath options_path = ExtensionURLToRelativeFilePath(
|
| - extension->options_url());
|
| + extensions::ManifestURL::GetOptionsPage(extension));
|
| const FilePath path = extension->GetResource(options_path).GetFilePath();
|
| if (path.empty() || !file_util::PathExists(path)) {
|
| *error =
|
|
|