MCPcopy Create free account
hub / github.com/dailydotdev/apps / requestContentScripts

Function requestContentScripts

packages/extension/src/lib/extensionScripts.ts:138–178  ·  view source on GitHub ↗
(
  client,
  logEvent,
)

Source from the content-addressed store, hash-verified

136 };
137
138export const requestContentScripts: CreateRequestContentScripts = (
139 client,
140 logEvent,
141) => {
142 return async ({
143 origin,
144 skipRedirect,
145 }: {
146 origin: string;
147 skipRedirect?: boolean;
148 }) => {
149 logEvent({
150 event_name: LogEventName.RequestContentScripts,
151 extra: JSON.stringify({ origin }),
152 });
153
154 const granted = await browser.permissions.request({
155 origins: ['*://*/*'],
156 });
157
158 if (granted) {
159 logEvent({
160 event_name: LogEventName.ApproveContentScripts,
161 extra: JSON.stringify({ origin }),
162 });
163 client.setQueryData(contentScriptKey, true);
164 await registerBrowserContentScripts();
165
166 if (!skipRedirect) {
167 window.open(companionPermissionGrantedLink, '_blank');
168 }
169 } else {
170 logEvent({
171 event_name: LogEventName.DeclineContentScripts,
172 extra: JSON.stringify({ origin }),
173 });
174 }
175
176 return granted;
177 };
178};
179
180export const getHostPermission = (): Promise<boolean> =>
181 browser.permissions.contains({

Callers 3

renderComponentFunction · 0.90
ExtensionContextProviderFunction · 0.90

Calls 3

logEventFunction · 0.85
openMethod · 0.80

Tested by 1

renderComponentFunction · 0.72