Index: third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp |
diff --git a/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp b/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp |
index f202d21f93fa784410b74e0e3d971ba9f764278b..a262a5edc86865d9159e1f3778b73e098a6e5a37 100644 |
--- a/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp |
+++ b/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp |
@@ -1264,7 +1264,16 @@ bool CSPDirectiveList::subsumes(const CSPDirectiveListVector& other) { |
return false; |
} |
- return true; |
+ if (!hasPluginTypes()) |
+ return true; |
+ |
+ HeapVector<Member<MediaListDirective>> pluginTypesOther; |
+ for (const auto& policy : other) { |
+ if (policy->hasPluginTypes()) |
amalika
2016/12/13 14:42:08
Changing to hasPluginTypes()
|
+ pluginTypesOther.append(policy->m_pluginTypes); |
+ } |
+ |
+ return m_pluginTypes->subsumes(pluginTypesOther); |
} |
DEFINE_TRACE(CSPDirectiveList) { |