Skip to content

Commit 5f2f5e6

Browse files
ladamskiladamski@duckduckgo.com
andauthored
Click to Load support (#148)
* internalize strings for CTL * embed icons and fonts * handle sendMessage response via update * CTL -> CTP * roundtrip the config to maintain exclusions Co-authored-by: ladamski@duckduckgo.com <ladamski@duckduckgo.com>
1 parent 50fd679 commit 5f2f5e6

File tree

14 files changed

+11270
-35
lines changed

14 files changed

+11270
-35
lines changed

Sources/ContentScopeScripts/dist/contentScope.js

Lines changed: 1603 additions & 4 deletions
Large diffs are not rendered by default.

build/android/contentScope.js

Lines changed: 1603 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/chrome-mv3/inject.js

Lines changed: 1603 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/chrome/inject.js

Lines changed: 14 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/firefox/inject.js

Lines changed: 1618 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/integration/contentScope.js

Lines changed: 1603 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/windows/contentScope.js

Lines changed: 1603 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

inject/chrome.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,7 @@ function init () {
9797
window.${randomMethodName}('${randomPassword}', ${stringifiedArgs});
9898
`
9999
inject(callRandomFunction)
100-
}
101-
)
100+
})
102101

103102
chrome.runtime.onMessage.addListener((message) => {
104103
// forward update messages to the embedded script
@@ -110,6 +109,18 @@ function init () {
110109
inject(callRandomUpdateFunction)
111110
}
112111
})
112+
113+
window.addEventListener('sendMessage', (m) => {
114+
const messageType = m.detail.messageType
115+
chrome.runtime.sendMessage(m && m.detail, response => {
116+
const msg = { type: messageType, response }
117+
const stringifiedArgs = JSON.stringify(msg)
118+
const callRandomUpdateFunction = `
119+
window.${reusableMethodName}('${reusableSecret}', ${stringifiedArgs});
120+
`
121+
inject(callRandomUpdateFunction)
122+
})
123+
})
113124
}
114125

115126
init()

inject/mozilla.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,22 @@ function init () {
2929
})
3030
}
3131
contentScopeFeatures.init(message)
32-
}
33-
)
32+
})
3433

3534
chrome.runtime.onMessage.addListener((message) => {
3635
// forward update messages to the embedded script
3736
if (message && message.type === 'update') {
3837
contentScopeFeatures.update(message)
3938
}
4039
})
40+
41+
window.addEventListener('sendMessage', (m) => {
42+
const messageType = m.detail.messageType
43+
chrome.runtime.sendMessage(m && m.detail, response => {
44+
const msg = { type: messageType, response }
45+
contentScopeFeatures.update(msg)
46+
})
47+
})
4148
}
4249

4350
init()

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
"copy-build-integration": "cp build/integration/contentScope.js integration-test/extension",
1717
"tsc": "tsc",
1818
"lint": "eslint . && npm run tsc",
19-
"lint-no-output-globals": "eslint build/apple/contentScope.js --rule '{\"no-implicit-globals\": [\"error\"]}' --no-ignore --no-eslintrc --parser-options=ecmaVersion:11",
20-
"lint-fix": "npm run lint -- --fix",
19+
"lint-no-output-globals": "eslint Sources/ContentScopeScripts/dist/contentScope.js --rule '{\"no-implicit-globals\": [\"error\"]}' --no-ignore --no-eslintrc --parser-options=ecmaVersion:11",
20+
"lint-fix": "eslint . --fix && npm run tsc",
2121
"test-unit": "jasmine --config=unit-test/config.json",
2222
"test-int": "npm run build-integration && jasmine --config=integration-test/config.js",
2323
"test-int-x": "xvfb-run --server-args='-screen 0 1024x768x24' npm run test-int",

0 commit comments

Comments
 (0)