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

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

Issue 353873003: Clean up usage of CSP functions (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix to apply Created 6 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
« no previous file with comments | « Source/core/loader/ImageLoader.cpp ('k') | Source/modules/websockets/WebSocket.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009, 2012 Ericsson AB. All rights reserved. 2 * Copyright (C) 2009, 2012 Ericsson AB. All rights reserved.
3 * Copyright (C) 2010 Apple Inc. All rights reserved. 3 * Copyright (C) 2010 Apple Inc. All rights reserved.
4 * Copyright (C) 2011, Code Aurora Forum. All rights reserved. 4 * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 return nullptr; 79 return nullptr;
80 } 80 }
81 81
82 KURL fullURL = context->completeURL(url); 82 KURL fullURL = context->completeURL(url);
83 if (!fullURL.isValid()) { 83 if (!fullURL.isValid()) {
84 exceptionState.throwDOMException(SyntaxError, "Cannot open an EventSourc e to '" + url + "'. The URL is invalid."); 84 exceptionState.throwDOMException(SyntaxError, "Cannot open an EventSourc e to '" + url + "'. The URL is invalid.");
85 return nullptr; 85 return nullptr;
86 } 86 }
87 87
88 // FIXME: Convert this to check the isolated world's Content Security Policy once webkit.org/b/104520 is solved. 88 // FIXME: Convert this to check the isolated world's Content Security Policy once webkit.org/b/104520 is solved.
89 bool shouldBypassMainWorldContentSecurityPolicy = false; 89 bool shouldBypassMainWorldCSP = false;
90 if (context->isDocument()) { 90 if (context->isDocument()) {
91 Document* document = toDocument(context); 91 Document* document = toDocument(context);
92 shouldBypassMainWorldContentSecurityPolicy = document->frame()->script() .shouldBypassMainWorldContentSecurityPolicy(); 92 shouldBypassMainWorldCSP = document->frame()->script().shouldBypassMainW orldCSP();
93 } 93 }
94 if (!shouldBypassMainWorldContentSecurityPolicy && !context->contentSecurity Policy()->allowConnectToSource(fullURL)) { 94 if (!shouldBypassMainWorldCSP && !context->contentSecurityPolicy()->allowCon nectToSource(fullURL)) {
95 // We can safely expose the URL to JavaScript, as this exception is gene rate synchronously before any redirects take place. 95 // We can safely expose the URL to JavaScript, as this exception is gene rate synchronously before any redirects take place.
96 exceptionState.throwSecurityError("Refused to connect to '" + fullURL.el idedString() + "' because it violates the document's Content Security Policy."); 96 exceptionState.throwSecurityError("Refused to connect to '" + fullURL.el idedString() + "' because it violates the document's Content Security Policy.");
97 return nullptr; 97 return nullptr;
98 } 98 }
99 99
100 RefPtrWillBeRawPtr<EventSource> source = adoptRefWillBeRefCountedGarbageColl ected(new EventSource(context, fullURL, eventSourceInit)); 100 RefPtrWillBeRawPtr<EventSource> source = adoptRefWillBeRefCountedGarbageColl ected(new EventSource(context, fullURL, eventSourceInit));
101 101
102 source->setPendingActivity(source.get()); 102 source->setPendingActivity(source.get());
103 source->scheduleInitialConnect(); 103 source->scheduleInitialConnect();
104 source->suspendIfNeeded(); 104 source->suspendIfNeeded();
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 429
430 PassRefPtrWillBeRawPtr<MessageEvent> EventSource::createMessageEvent() 430 PassRefPtrWillBeRawPtr<MessageEvent> EventSource::createMessageEvent()
431 { 431 {
432 RefPtrWillBeRawPtr<MessageEvent> event = MessageEvent::create(); 432 RefPtrWillBeRawPtr<MessageEvent> event = MessageEvent::create();
433 event->initMessageEvent(m_eventName.isEmpty() ? EventTypeNames::message : m_ eventName, false, false, SerializedScriptValue::create(String(m_data)), m_eventS treamOrigin, m_lastEventId, 0, nullptr); 433 event->initMessageEvent(m_eventName.isEmpty() ? EventTypeNames::message : m_ eventName, false, false, SerializedScriptValue::create(String(m_data)), m_eventS treamOrigin, m_lastEventId, 0, nullptr);
434 m_data.clear(); 434 m_data.clear();
435 return event.release(); 435 return event.release();
436 } 436 }
437 437
438 } // namespace WebCore 438 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/loader/ImageLoader.cpp ('k') | Source/modules/websockets/WebSocket.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698