Index: extensions/browser/api/app_window/app_window_api.cc |
diff --git a/extensions/browser/api/app_window/app_window_api.cc b/extensions/browser/api/app_window/app_window_api.cc |
index 4f8be57cf179d468a58eee1427461e77502835b8..e92e7e7f659ecd0b5430033481aafe7020d6f6ea 100644 |
--- a/extensions/browser/api/app_window/app_window_api.cc |
+++ b/extensions/browser/api/app_window/app_window_api.cc |
@@ -332,6 +332,17 @@ bool AppWindowCreateFunction::RunAsync() { |
} |
} |
+ if (options->icon.get()) { |
+ // First, check if the window icon URL is a valid global URL. |
+ create_params.window_icon_url = GURL(*options->icon.get()); |
+ |
+ // If the URL is not global, check for a valid extension local URL. |
+ if (!create_params.window_icon_url.is_valid()) { |
+ create_params.window_icon_url = |
+ extension()->GetResourceURL(*options->icon.get()); |
+ } |
+ } |
+ |
if (options->type != app_window::WINDOW_TYPE_PANEL) { |
switch (options->state) { |
case app_window::STATE_NONE: |