Skip to content

Commit fb6760f

Browse files
committed
Add support for defining the content-script on the extension manifest
1 parent 603740b commit fb6760f

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

Diff for: sbt-plugin/src/main/scala/net/lullabyte/JsonCodecs.scala

+10-1
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,14 @@ object JsonCodecs {
124124
)
125125
}
126126

127+
implicit val contentScriptsEncoder = Encoder.instance[chrome.ContentScripts] { contentScripts =>
128+
Json.obj(
129+
("matches", Json.fromValues(contentScripts.matches.map(Json.fromString))),
130+
("css", Json.fromValues(contentScripts.css.map(Json.fromString))),
131+
("js", Json.fromValues(contentScripts.js.map(Json.fromString)))
132+
)
133+
}
134+
127135
implicit val actionEncoder = Encoder.instance[chrome.Commands.Action] { action =>
128136
Json.obj(
129137
("suggested_key", action.suggestedKey.asJson),
@@ -189,7 +197,8 @@ object JsonCodecs {
189197
("omnibox", manifest.omnibox.asJson),
190198
("options_ui", manifest.optionsUI.asJson),
191199
("browser_action", manifest.browserAction.asJson),
192-
("chrome_ui_overrides", manifest.chromeUIOverrides.asJson)
200+
("chrome_ui_overrides", manifest.chromeUIOverrides.asJson),
201+
("content_scripts", manifest.contentScripts.asJson)
193202
)
194203
Json.fromFields(
195204
commonValues ++ extValues

Diff for: shared/src/main/scala/chrome/Manifest.scala

+7
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,12 @@ case class BrowserAction(
3535
title: Option[String] = None,
3636
popup: Option[String] = None
3737
)
38+
39+
case class ContentScripts(
40+
matches: List[String],
41+
css: List[String],
42+
js: List[String])
43+
3844
case class Bluetooth(
3945
uuids: List[String] = Nil,
4046
socket: Option[Boolean] = None,
@@ -103,4 +109,5 @@ trait ExtensionManifest extends chrome.Manifest {
103109
val omnibox: Option[Omnibox] = None
104110
val optionsUI: Option[OptionsUI] = None
105111
val chromeUIOverrides: Option[ChromeUIOverrides] = None
112+
val contentScripts: Option[ContentScripts] = None
106113
}

0 commit comments

Comments
 (0)