Skip to content

Commit 9d1d688

Browse files
mprevellucidd
authored andcommitted
Add Content Security Policy (CSP) support to manifest
1 parent 7c965a5 commit 9d1d688

File tree

4 files changed

+6
-1
lines changed

4 files changed

+6
-1
lines changed

bindings/src/main/scala/chrome/runtime/Runtime.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ object Runtime {
140140
override val offlineEnabled = manifest.offlineEnabled.toOption
141141
override val permissions = perms
142142
override val icons = iconsValue
143+
override val contentSecurityPolicy = manifest.content_security_policy.toOption
143144
}
144145
} else {
145146
val extension = manifest.asExtensionManifest.get
@@ -157,6 +158,7 @@ object Runtime {
157158
scripts =
158159
extension.background.map(_.scripts.toList).getOrElse(List())
159160
)
161+
override val contentSecurityPolicy = manifest.content_security_policy.toOption
160162
}
161163
}
162164
}

bindings/src/main/scala/chrome/runtime/bindings/Manifest.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ trait Manifest extends js.Object {
3434
val offlineEnabled: js.UndefOr[Boolean] = js.native
3535
val permissions: js.UndefOr[js.Array[String]] = js.native
3636
val icons: js.UndefOr[Map[String, String]] = js.native
37+
val content_security_policy: js.UndefOr[String] = js.native
3738

3839
}
3940

sbt-plugin/src/main/scala/net/lullabyte/JsonCodecs.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ object JsonCodecs {
177177
case API(name) => Json.fromString(name)
178178
case Host(url) => Json.fromString(url)
179179
}
180-
)
180+
),
181+
("content_security_policy", manifest.contentSecurityPolicy.asJson)
181182
)
182183
}
183184

shared/src/main/scala/chrome/Manifest.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ sealed trait Manifest {
2424
val externallyConnectable: Option[ExternallyConnectable] = None
2525
val oauth2: Option[Oauth2Settings] = None
2626
val webAccessibleResources: List[String] = Nil
27+
val contentSecurityPolicy: Option[String] = None
2728
}
2829

2930
case class Background(scripts: List[String])

0 commit comments

Comments
 (0)