| 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 2660 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2671 double delay; | 2671 double delay; |
| 2672 String refreshUrl; | 2672 String refreshUrl; |
| 2673 if (parseHTTPRefresh(content, true, delay, refreshUrl)) { | 2673 if (parseHTTPRefresh(content, true, delay, refreshUrl)) { |
| 2674 if (refreshUrl.isEmpty()) | 2674 if (refreshUrl.isEmpty()) |
| 2675 refreshUrl = m_url.string(); | 2675 refreshUrl = m_url.string(); |
| 2676 else | 2676 else |
| 2677 refreshUrl = completeURL(refreshUrl).string(); | 2677 refreshUrl = completeURL(refreshUrl).string(); |
| 2678 | 2678 |
| 2679 if (protocolIsJavaScript(refreshUrl)) { | 2679 if (protocolIsJavaScript(refreshUrl)) { |
| 2680 String message = "Refused to refresh " + m_url.elidedString() + " to
a javascript: URL"; | 2680 String message = "Refused to refresh " + m_url.elidedString() + " to
a javascript: URL"; |
| 2681 addConsoleMessage(SecurityMessageSource, ErrorMessageLevel, message)
; | 2681 addConsoleMessage(SecurityMessageSource, ErrorMessageLevel, message,
0, ForceParserStateCollection); |
| 2682 return; | 2682 return; |
| 2683 } | 2683 } |
| 2684 | 2684 |
| 2685 if (isSandboxed(SandboxAutomaticFeatures)) { | 2685 if (isSandboxed(SandboxAutomaticFeatures)) { |
| 2686 String message = "Refused to execute the redirect specified via '<me
ta http-equiv='refresh' content='...'>'. The document is sandboxed, and the 'all
ow-scripts' keyword is not set."; | 2686 String message = "Refused to execute the redirect specified via '<me
ta http-equiv='refresh' content='...'>'. The document is sandboxed, and the 'all
ow-scripts' keyword is not set."; |
| 2687 addConsoleMessage(SecurityMessageSource, ErrorMessageLevel, message)
; | 2687 addConsoleMessage(SecurityMessageSource, ErrorMessageLevel, message,
0, ForceParserStateCollection); |
| 2688 return; | 2688 return; |
| 2689 } | 2689 } |
| 2690 | 2690 |
| 2691 frame->navigationScheduler()->scheduleRedirect(delay, refreshUrl); | 2691 frame->navigationScheduler()->scheduleRedirect(delay, refreshUrl); |
| 2692 } | 2692 } |
| 2693 } | 2693 } |
| 2694 | 2694 |
| 2695 void Document::processHttpEquivSetCookie(const String& content) | 2695 void Document::processHttpEquivSetCookie(const String& content) |
| 2696 { | 2696 { |
| 2697 // FIXME: make setCookie work on XML documents too; e.g. in case of <html:me
ta .....> | 2697 // FIXME: make setCookie work on XML documents too; e.g. in case of <html:me
ta .....> |
| (...skipping 12 matching lines...) Expand all Loading... |
| 2710 | 2710 |
| 2711 FrameLoader* frameLoader = frame->loader(); | 2711 FrameLoader* frameLoader = frame->loader(); |
| 2712 unsigned long requestIdentifier = loader()->mainResourceIdentifier(); | 2712 unsigned long requestIdentifier = loader()->mainResourceIdentifier(); |
| 2713 if (frameLoader->shouldInterruptLoadForXFrameOptions(content, url(), request
Identifier)) { | 2713 if (frameLoader->shouldInterruptLoadForXFrameOptions(content, url(), request
Identifier)) { |
| 2714 String message = "Refused to display '" + url().elidedString() + "' in a
frame because it set 'X-Frame-Options' to '" + content + "'."; | 2714 String message = "Refused to display '" + url().elidedString() + "' in a
frame because it set 'X-Frame-Options' to '" + content + "'."; |
| 2715 frameLoader->stopAllLoaders(); | 2715 frameLoader->stopAllLoaders(); |
| 2716 // Stopping the loader isn't enough, as we're already parsing the docume
nt; to honor the header's | 2716 // Stopping the loader isn't enough, as we're already parsing the docume
nt; to honor the header's |
| 2717 // intent, we must navigate away from the possibly partially-rendered do
cument to a location that | 2717 // intent, we must navigate away from the possibly partially-rendered do
cument to a location that |
| 2718 // doesn't inherit the parent's SecurityOrigin. | 2718 // doesn't inherit the parent's SecurityOrigin. |
| 2719 frame->navigationScheduler()->scheduleLocationChange(securityOrigin(), S
ecurityOrigin::urlWithUniqueSecurityOrigin(), String()); | 2719 frame->navigationScheduler()->scheduleLocationChange(securityOrigin(), S
ecurityOrigin::urlWithUniqueSecurityOrigin(), String()); |
| 2720 addConsoleMessage(SecurityMessageSource, ErrorMessageLevel, message, req
uestIdentifier); | 2720 addConsoleMessage(SecurityMessageSource, ErrorMessageLevel, message, req
uestIdentifier, ForceParserStateCollection); |
| 2721 } | 2721 } |
| 2722 } | 2722 } |
| 2723 | 2723 |
| 2724 // Though isspace() considers \t and \v to be whitespace, Win IE doesn't. | 2724 // Though isspace() considers \t and \v to be whitespace, Win IE doesn't. |
| 2725 static bool isSeparator(UChar c) | 2725 static bool isSeparator(UChar c) |
| 2726 { | 2726 { |
| 2727 return c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '=' || c == '
,' || c == '\0'; | 2727 return c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '=' || c == '
,' || c == '\0'; |
| 2728 } | 2728 } |
| 2729 | 2729 |
| 2730 void Document::processArguments(const String& features, void* data, ArgumentsCal
lback callback) | 2730 void Document::processArguments(const String& features, void* data, ArgumentsCal
lback callback) |
| (...skipping 1670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4401 { | 4401 { |
| 4402 if (equalIgnoringCase(dnsPrefetchControl, "on") && !m_haveExplicitlyDisabled
DNSPrefetch) { | 4402 if (equalIgnoringCase(dnsPrefetchControl, "on") && !m_haveExplicitlyDisabled
DNSPrefetch) { |
| 4403 m_isDNSPrefetchEnabled = true; | 4403 m_isDNSPrefetchEnabled = true; |
| 4404 return; | 4404 return; |
| 4405 } | 4405 } |
| 4406 | 4406 |
| 4407 m_isDNSPrefetchEnabled = false; | 4407 m_isDNSPrefetchEnabled = false; |
| 4408 m_haveExplicitlyDisabledDNSPrefetch = true; | 4408 m_haveExplicitlyDisabledDNSPrefetch = true; |
| 4409 } | 4409 } |
| 4410 | 4410 |
| 4411 void Document::addConsoleMessage(MessageSource source, MessageLevel level, const
String& message, unsigned long requestIdentifier) | 4411 void Document::addConsoleMessage(MessageSource source, MessageLevel level, const
String& message, unsigned long requestIdentifier, ParserStateCollectionDisposit
ion parserStateDisposition) |
| 4412 { | 4412 { |
| 4413 if (!isContextThread()) { | 4413 if (!isContextThread()) { |
| 4414 postTask(AddConsoleMessageTask::create(source, level, message)); | 4414 postTask(AddConsoleMessageTask::create(source, level, message)); |
| 4415 return; | 4415 return; |
| 4416 } | 4416 } |
| 4417 | 4417 |
| 4418 if (Page* page = this->page()) | 4418 if (Page* page = this->page()) |
| 4419 page->console()->addMessage(source, level, message, requestIdentifier, t
his); | 4419 page->console()->addMessage(source, level, message, requestIdentifier, t
his, parserStateDisposition); |
| 4420 } | 4420 } |
| 4421 | 4421 |
| 4422 void Document::addMessage(MessageSource source, MessageLevel level, const String
& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallSt
ack> callStack, ScriptState* state, unsigned long requestIdentifier) | 4422 void Document::addMessage(MessageSource source, MessageLevel level, const String
& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallSt
ack> callStack, ScriptState* state, unsigned long requestIdentifier) |
| 4423 { | 4423 { |
| 4424 if (!isContextThread()) { | 4424 if (!isContextThread()) { |
| 4425 postTask(AddConsoleMessageTask::create(source, level, message)); | 4425 postTask(AddConsoleMessageTask::create(source, level, message)); |
| 4426 return; | 4426 return; |
| 4427 } | 4427 } |
| 4428 | 4428 |
| 4429 if (Page* page = this->page()) | 4429 if (Page* page = this->page()) |
| (...skipping 657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5087 { | 5087 { |
| 5088 return DocumentLifecycleNotifier::create(this); | 5088 return DocumentLifecycleNotifier::create(this); |
| 5089 } | 5089 } |
| 5090 | 5090 |
| 5091 DocumentLifecycleNotifier* Document::lifecycleNotifier() | 5091 DocumentLifecycleNotifier* Document::lifecycleNotifier() |
| 5092 { | 5092 { |
| 5093 return static_cast<DocumentLifecycleNotifier*>(ScriptExecutionContext::lifec
ycleNotifier()); | 5093 return static_cast<DocumentLifecycleNotifier*>(ScriptExecutionContext::lifec
ycleNotifier()); |
| 5094 } | 5094 } |
| 5095 | 5095 |
| 5096 } // namespace WebCore | 5096 } // namespace WebCore |
| OLD | NEW |