diff --git a/reader/sanitizer/sanitizer.go b/reader/sanitizer/sanitizer.go
index f13681b3..b37a9af8 100644
--- a/reader/sanitizer/sanitizer.go
+++ b/reader/sanitizer/sanitizer.go
@@ -17,7 +17,7 @@ import (
)
var (
- youtubeEmbedRegex = regexp.MustCompile(`http[s]?://www\.youtube\.com/embed/(.*)`)
+ youtubeEmbedRegex = regexp.MustCompile(`//www\.youtube\.com/embed/(.*)`)
)
// Sanitize returns safe HTML.
@@ -291,6 +291,7 @@ func isBlacklistedResource(src string) bool {
func isValidIframeSource(src string) bool {
whitelist := []string{
+ "//www.youtube.com",
"http://www.youtube.com",
"https://www.youtube.com",
"https://www.youtube-nocookie.com",
diff --git a/reader/sanitizer/sanitizer_test.go b/reader/sanitizer/sanitizer_test.go
index fab493a0..8db0bda5 100644
--- a/reader/sanitizer/sanitizer_test.go
+++ b/reader/sanitizer/sanitizer_test.go
@@ -203,6 +203,16 @@ func TestReplaceYoutubeURLAlreadyReplaced(t *testing.T) {
}
}
+func TestReplaceProtocolRelativeYoutubeURL(t *testing.T) {
+ input := ``
+ expected := ``
+ output := Sanitize("http://example.org/", input)
+
+ if expected != output {
+ t.Errorf(`Wrong output: "%s" != "%s"`, expected, output)
+ }
+}
+
func TestReplaceIframeURL(t *testing.T) {
input := ``
expected := ``