Chromium Code Reviews| 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) { |