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..fae3651f2dfb5427bedc8d5ab4c4ea2cbfc95490 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 (!m_pluginTypes.get()) |
sof
2016/12/13 13:38:54
There is an implicit pointer conversion in place f
|
+ return true; |
+ |
+ HeapVector<Member<MediaListDirective>> pluginTypesOther; |
+ for (const auto& policy : other) { |
+ if (policy->m_pluginTypes.get()) |
+ pluginTypesOther.append(policy->m_pluginTypes); |
+ } |
+ |
+ return m_pluginTypes->subsumes(pluginTypesOther); |
Mike West
2016/12/13 13:54:47
This looks like it's checking the union of all the
amalika
2016/12/13 14:42:08
As with `SourceListDirective`, `subsumes` method o
|
} |
DEFINE_TRACE(CSPDirectiveList) { |