1 | /* This Source Code Form is subject to the terms of the Mozilla Public |
---|
2 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
---|
3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
---|
4 | |
---|
5 | { |
---|
6 | "manifest_version": 2, |
---|
7 | {%- if releaseBuild %} |
---|
8 | "name": "__MSG_name__", |
---|
9 | {%- else %} |
---|
10 | "name": "__MSG_name_devbuild__", |
---|
11 | {%- endif %} |
---|
12 | |
---|
13 | "short_name": "__MSG_name__", |
---|
14 | "description": "__MSG_description__", |
---|
15 | "default_locale": "en_US", |
---|
16 | "version": {{version|json}}, |
---|
17 | "author": {{metadata.get('general', 'author')|json}}, |
---|
18 | |
---|
19 | {%- if metadata.has_section('compat') and metadata.has_option('compat', 'chrome') %} |
---|
20 | "minimum_chrome_version": {{metadata.get('compat', 'chrome')|json}}, |
---|
21 | {%- endif %} |
---|
22 | |
---|
23 | {%- if metadata.has_section('compat') and metadata.has_option('compat', 'opera') %} |
---|
24 | "minimum_opera_version": {{metadata.get('compat', 'opera')|json}}, |
---|
25 | {%- endif %} |
---|
26 | |
---|
27 | {%- if metadata.has_section('compat') and metadata.has_option('compat', 'edge') %} |
---|
28 | "minimum_edge_version": {{metadata.get('compat', 'edge')|json}}, |
---|
29 | {%- endif %} |
---|
30 | |
---|
31 | {%- if type == 'gecko' %} |
---|
32 | "applications": |
---|
33 | { |
---|
34 | "gecko": |
---|
35 | { |
---|
36 | "id": {{app_id|json}} |
---|
37 | |
---|
38 | {%- if metadata.has_section('compat') and metadata.has_option('compat', 'gecko') %} |
---|
39 | , |
---|
40 | "strict_min_version": {{metadata.get('compat', 'gecko')|json}} |
---|
41 | {%- endif %} |
---|
42 | |
---|
43 | {%- set updateURLSetting = 'updateURL' if releaseBuild else 'devbuildUpdateURL' %} |
---|
44 | {%- if metadata.has_option('general', updateURLSetting) %} |
---|
45 | , |
---|
46 | "update_url": {{metadata.get('general', updateURLSetting)|json}} |
---|
47 | {%- endif %} |
---|
48 | } |
---|
49 | }, |
---|
50 | {%- endif %} |
---|
51 | |
---|
52 | {%- if pageAction %} |
---|
53 | "page_action": { |
---|
54 | "default_icon": {{pageAction.icon|json}}, |
---|
55 | {%- if pageAction.popup %} |
---|
56 | "default_popup": {{pageAction.popup|json}}, |
---|
57 | {%- endif %} |
---|
58 | "default_title": "__MSG_name__" |
---|
59 | }, |
---|
60 | {%- endif %} |
---|
61 | |
---|
62 | {%- if browserAction %} |
---|
63 | "browser_action": { |
---|
64 | "default_icon": {{browserAction.icon|json}}, |
---|
65 | {%- if browserAction.popup %} |
---|
66 | "default_popup": {{browserAction.popup|json}}, |
---|
67 | {%- endif %} |
---|
68 | "default_title": "__MSG_name__" |
---|
69 | }, |
---|
70 | {%- endif %} |
---|
71 | |
---|
72 | {%- if icons %} |
---|
73 | "icons": {{icons|json}}, |
---|
74 | {%- endif %} |
---|
75 | |
---|
76 | {%- if permissions %} |
---|
77 | "permissions": {{permissions|json}}, |
---|
78 | {%- endif %} |
---|
79 | |
---|
80 | {%- if optionalPermissions %} |
---|
81 | "optional_permissions": {{optionalPermissions|json}}, |
---|
82 | {%- endif %} |
---|
83 | |
---|
84 | {%- if backgroundScripts %} |
---|
85 | "background": { |
---|
86 | "scripts": {{backgroundScripts|json}}, |
---|
87 | "persistent": true |
---|
88 | }, |
---|
89 | {%- endif %} |
---|
90 | |
---|
91 | {%- if metadata.has_option('general', 'options') %} |
---|
92 | {%- if type != 'edge' %} |
---|
93 | "options_ui": { |
---|
94 | "page": {{metadata.get('general', 'options')|json}}, |
---|
95 | "open_in_tab": true |
---|
96 | }, |
---|
97 | {%- else %} |
---|
98 | "options_page": {{metadata.get('general', 'options')|json}}, |
---|
99 | {%- endif %} |
---|
100 | {%- endif %} |
---|
101 | |
---|
102 | {%- if metadata.has_option('general', 'devtools') %} |
---|
103 | "devtools_page": {{metadata.get('general', 'devtools')|json}}, |
---|
104 | {%- endif %} |
---|
105 | |
---|
106 | {%- if contentScripts %} |
---|
107 | "content_scripts": {{contentScripts|json}}, |
---|
108 | {%- endif %} |
---|
109 | |
---|
110 | {%- if webAccessible %} |
---|
111 | "web_accessible_resources": {{webAccessible|json}}, |
---|
112 | {%- endif %} |
---|
113 | |
---|
114 | {%- if externallyConnectable %} |
---|
115 | "externally_connectable": { |
---|
116 | "matches": {{externallyConnectable|json}} |
---|
117 | }, |
---|
118 | {%- endif %} |
---|
119 | |
---|
120 | {%- if metadata.has_option('general', 'managedStorageSchema') %} |
---|
121 | "storage": { |
---|
122 | "managed_schema": {{metadata.get('general', 'managedStorageSchema')|json}} |
---|
123 | }, |
---|
124 | {%- endif %} |
---|
125 | |
---|
126 | {%- if metadata.has_option('general', 'contentSecurityPolicy') %} |
---|
127 | "content_security_policy": {{metadata.get('general', 'contentSecurityPolicy')|json}}, |
---|
128 | {%- endif %} |
---|
129 | |
---|
130 | "_dummy": false |
---|
131 | } |
---|