Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(259)

Side by Side Diff: Source/core/page/ContentSecurityPolicy.cpp

Issue 19940002: [HTML Import] Respect Content Security Policy Model (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix mac build failure. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google, Inc. All rights reserved. 2 * Copyright (C) 2011 Google, Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 1403 matching lines...) Expand 10 before | Expand all | Expand 10 after
1414 } 1414 }
1415 1415
1416 ContentSecurityPolicy::~ContentSecurityPolicy() 1416 ContentSecurityPolicy::~ContentSecurityPolicy()
1417 { 1417 {
1418 } 1418 }
1419 1419
1420 void ContentSecurityPolicy::copyStateFrom(const ContentSecurityPolicy* other) 1420 void ContentSecurityPolicy::copyStateFrom(const ContentSecurityPolicy* other)
1421 { 1421 {
1422 ASSERT(m_policies.isEmpty()); 1422 ASSERT(m_policies.isEmpty());
1423 for (CSPDirectiveListVector::const_iterator iter = other->m_policies.begin() ; iter != other->m_policies.end(); ++iter) 1423 for (CSPDirectiveListVector::const_iterator iter = other->m_policies.begin() ; iter != other->m_policies.end(); ++iter)
1424 didReceiveHeader((*iter)->header(), (*iter)->headerType()); 1424 addPolicyFromHeaderValue((*iter)->header(), (*iter)->headerType());
1425 } 1425 }
1426 1426
1427 void ContentSecurityPolicy::didReceiveHeader(const String& header, HeaderType ty pe) 1427 void ContentSecurityPolicy::didReceiveHeader(const String& header, HeaderType ty pe)
1428 { 1428 {
1429 // ContentSecurityPolicy should be mutable only it has a browsing context.
1430 ASSERT(!m_scriptExecutionContext->isDocument() || toDocument(m_scriptExecuti onContext)->frame());
Mike West 2013/07/22 14:39:42 I don't understand this assertion. Could you expla
1431 addPolicyFromHeaderValue(header, type);
1432 }
1433
1434 void ContentSecurityPolicy::addPolicyFromHeaderValue(const String& header, Heade rType type)
1435 {
1429 if (m_scriptExecutionContext->isDocument()) { 1436 if (m_scriptExecutionContext->isDocument()) {
1430 Document* document = toDocument(m_scriptExecutionContext); 1437 Document* document = toDocument(m_scriptExecutionContext);
1431 if (type == PrefixedReport || type == PrefixedEnforce) 1438 if (type == PrefixedReport || type == PrefixedEnforce)
1432 UseCounter::countDeprecation(document, getUseCounterType(type)); 1439 UseCounter::countDeprecation(document, getUseCounterType(type));
1433 else 1440 else
1434 UseCounter::count(document, getUseCounterType(type)); 1441 UseCounter::count(document, getUseCounterType(type));
1435 } 1442 }
1436 1443
1437 Vector<UChar> characters; 1444 Vector<UChar> characters;
1438 header.appendTo(characters); 1445 header.appendTo(characters);
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after
1872 { 1879 {
1873 if (context && context->isDocument()) { 1880 if (context && context->isDocument()) {
1874 Document* document = toDocument(context); 1881 Document* document = toDocument(context);
1875 if (document->frame()) 1882 if (document->frame())
1876 return document->frame()->script()->shouldBypassMainWorldContentSecu rityPolicy(); 1883 return document->frame()->script()->shouldBypassMainWorldContentSecu rityPolicy();
1877 } 1884 }
1878 return false; 1885 return false;
1879 } 1886 }
1880 1887
1881 } 1888 }
OLDNEW
« Source/core/dom/DocumentInit.cpp ('K') | « Source/core/page/ContentSecurityPolicy.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698