| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r
ights reserved. |
| 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. |
| 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
| 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. |
| (...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 489 , m_isTransitionDocument(false) | 489 , m_isTransitionDocument(false) |
| 490 , m_renderView(0) | 490 , m_renderView(0) |
| 491 #if !ENABLE(OILPAN) | 491 #if !ENABLE(OILPAN) |
| 492 , m_weakFactory(this) | 492 , m_weakFactory(this) |
| 493 #endif | 493 #endif |
| 494 , m_contextDocument(initializer.contextDocument()) | 494 , m_contextDocument(initializer.contextDocument()) |
| 495 , m_hasFullscreenSupplement(false) | 495 , m_hasFullscreenSupplement(false) |
| 496 , m_loadEventDelayCount(0) | 496 , m_loadEventDelayCount(0) |
| 497 , m_loadEventDelayTimer(this, &Document::loadEventDelayTimerFired) | 497 , m_loadEventDelayTimer(this, &Document::loadEventDelayTimerFired) |
| 498 , m_pluginLoadingTimer(this, &Document::pluginLoadingTimerFired) | 498 , m_pluginLoadingTimer(this, &Document::pluginLoadingTimerFired) |
| 499 , m_didSetReferrerPolicy(false) | |
| 500 , m_referrerPolicy(ReferrerPolicyDefault) | 499 , m_referrerPolicy(ReferrerPolicyDefault) |
| 501 , m_directionSetOnDocumentElement(false) | 500 , m_directionSetOnDocumentElement(false) |
| 502 , m_writingModeSetOnDocumentElement(false) | 501 , m_writingModeSetOnDocumentElement(false) |
| 503 , m_containsAnyRareWritingMode(false) | 502 , m_containsAnyRareWritingMode(false) |
| 504 , m_writeRecursionIsTooDeep(false) | 503 , m_writeRecursionIsTooDeep(false) |
| 505 , m_writeRecursionDepth(0) | 504 , m_writeRecursionDepth(0) |
| 506 , m_taskRunner(MainThreadTaskRunner::create(this)) | 505 , m_taskRunner(MainThreadTaskRunner::create(this)) |
| 507 , m_registrationContext(initializer.registrationContext(this)) | 506 , m_registrationContext(initializer.registrationContext(this)) |
| 508 , m_elementDataCacheClearTimer(this, &Document::elementDataCacheClearTimerFi
red) | 507 , m_elementDataCacheClearTimer(this, &Document::elementDataCacheClearTimerFi
red) |
| 509 , m_timeline(AnimationTimeline::create(this)) | 508 , m_timeline(AnimationTimeline::create(this)) |
| (...skipping 2645 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3155 { | 3154 { |
| 3156 ASSERT(!policy.isNull()); | 3155 ASSERT(!policy.isNull()); |
| 3157 | 3156 |
| 3158 if (equalIgnoringCase(policy, "no-referrer") || equalIgnoringCase(policy, "n
ever")) { | 3157 if (equalIgnoringCase(policy, "no-referrer") || equalIgnoringCase(policy, "n
ever")) { |
| 3159 setReferrerPolicy(ReferrerPolicyNever); | 3158 setReferrerPolicy(ReferrerPolicyNever); |
| 3160 } else if (equalIgnoringCase(policy, "unsafe-url") || equalIgnoringCase(poli
cy, "always")) { | 3159 } else if (equalIgnoringCase(policy, "unsafe-url") || equalIgnoringCase(poli
cy, "always")) { |
| 3161 setReferrerPolicy(ReferrerPolicyAlways); | 3160 setReferrerPolicy(ReferrerPolicyAlways); |
| 3162 } else if (equalIgnoringCase(policy, "origin")) { | 3161 } else if (equalIgnoringCase(policy, "origin")) { |
| 3163 setReferrerPolicy(ReferrerPolicyOrigin); | 3162 setReferrerPolicy(ReferrerPolicyOrigin); |
| 3164 } else if (equalIgnoringCase(policy, "no-referrer-when-downgrade") || equalI
gnoringCase(policy, "default")) { | 3163 } else if (equalIgnoringCase(policy, "no-referrer-when-downgrade") || equalI
gnoringCase(policy, "default")) { |
| 3165 setReferrerPolicy(ReferrerPolicyDefault); | 3164 setReferrerPolicy(ReferrerPolicyNoReferrerWhenDowngrade); |
| 3166 } else { | 3165 } else { |
| 3167 addConsoleMessage(ConsoleMessage::create(RenderingMessageSource, ErrorMe
ssageLevel, "Failed to set referrer policy: The value '" + policy + "' is not on
e of 'no-referrer', 'origin', 'no-referrer-when-downgrade', or 'unsafe-url'. Def
aulting to 'no-referrer'.")); | 3166 addConsoleMessage(ConsoleMessage::create(RenderingMessageSource, ErrorMe
ssageLevel, "Failed to set referrer policy: The value '" + policy + "' is not on
e of 'no-referrer', 'origin', 'no-referrer-when-downgrade', or 'unsafe-url'. Def
aulting to 'no-referrer'.")); |
| 3168 setReferrerPolicy(ReferrerPolicyNever); | 3167 setReferrerPolicy(ReferrerPolicyNever); |
| 3169 } | 3168 } |
| 3170 } | 3169 } |
| 3171 | 3170 |
| 3172 void Document::setReferrerPolicy(ReferrerPolicy referrerPolicy) | 3171 void Document::setReferrerPolicy(ReferrerPolicy referrerPolicy) |
| 3173 { | 3172 { |
| 3174 // FIXME: Can we adopt the CSP referrer policy merge algorithm? Or does the
web rely on being able to modify the referrer policy in-flight? | 3173 // FIXME: Can we adopt the CSP referrer policy merge algorithm? Or does the
web rely on being able to modify the referrer policy in-flight? |
| 3175 if (m_didSetReferrerPolicy) | 3174 UseCounter::count(this, UseCounter::SetReferrerPolicy); |
| 3175 if (m_referrerPolicy != ReferrerPolicyDefault) |
| 3176 UseCounter::count(this, UseCounter::ResetReferrerPolicy); | 3176 UseCounter::count(this, UseCounter::ResetReferrerPolicy); |
| 3177 m_didSetReferrerPolicy = true; | |
| 3178 | 3177 |
| 3179 m_referrerPolicy = referrerPolicy; | 3178 m_referrerPolicy = referrerPolicy; |
| 3180 } | 3179 } |
| 3181 | 3180 |
| 3182 String Document::outgoingReferrer() | 3181 String Document::outgoingReferrer() |
| 3183 { | 3182 { |
| 3184 // See http://www.whatwg.org/specs/web-apps/current-work/#fetching-resources | 3183 // See http://www.whatwg.org/specs/web-apps/current-work/#fetching-resources |
| 3185 // for why we walk the parent chain for srcdoc documents. | 3184 // for why we walk the parent chain for srcdoc documents. |
| 3186 Document* referrerDocument = this; | 3185 Document* referrerDocument = this; |
| 3187 if (LocalFrame* frame = m_frame) { | 3186 if (LocalFrame* frame = m_frame) { |
| (...skipping 2643 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5831 #ifndef NDEBUG | 5830 #ifndef NDEBUG |
| 5832 using namespace blink; | 5831 using namespace blink; |
| 5833 void showLiveDocumentInstances() | 5832 void showLiveDocumentInstances() |
| 5834 { | 5833 { |
| 5835 WeakDocumentSet& set = liveDocumentSet(); | 5834 WeakDocumentSet& set = liveDocumentSet(); |
| 5836 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); | 5835 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); |
| 5837 for (Document* document : set) | 5836 for (Document* document : set) |
| 5838 fprintf(stderr, "- Document %p URL: %s\n", document, document->url().str
ing().utf8().data()); | 5837 fprintf(stderr, "- Document %p URL: %s\n", document, document->url().str
ing().utf8().data()); |
| 5839 } | 5838 } |
| 5840 #endif | 5839 #endif |
| OLD | NEW |