http://trac.webkit.org/changeset/100213
https://bugs.webkit.org/show_bug.cgi?id=72371
"Breaks test_shell_tests" (Requested by tonyg-cr on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-11-15
Source/WebCore:
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
* platform/SchemeRegistry.cpp:
(WebCore::schemesWithUniqueOrigins):
LayoutTests:
* fast/filesystem/async-operations-expected.txt:
* fast/filesystem/not-enough-arguments-expected.txt:
* fast/filesystem/read-directory-expected.txt:
* fast/filesystem/simple-persistent-expected.txt:
* fast/filesystem/simple-readonly-expected.txt:
* fast/filesystem/simple-temporary-expected.txt:
* fast/frames/resources/sandboxed-iframe-storage-disallowed.html:
* fast/frames/sandboxed-iframe-attribute-parsing.html:
* fast/frames/sandboxed-iframe-forms-dynamic.html:
* fast/frames/sandboxed-iframe-forms.html:
* fast/frames/sandboxed-iframe-navigation-top-by-constant-name.html:
* fast/frames/sandboxed-iframe-navigation-top-by-constant-name2.html:
* fast/frames/sandboxed-iframe-navigation-top-by-name.html:
* fast/frames/sandboxed-iframe-navigation-top.html:
* media/video-controls-no-scripting.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@100262
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2011-11-15 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r100213.
+ http://trac.webkit.org/changeset/100213
+ https://bugs.webkit.org/show_bug.cgi?id=72371
+
+ "Breaks test_shell_tests" (Requested by tonyg-cr on #webkit).
+
+ * fast/filesystem/async-operations-expected.txt:
+ * fast/filesystem/not-enough-arguments-expected.txt:
+ * fast/filesystem/read-directory-expected.txt:
+ * fast/filesystem/simple-persistent-expected.txt:
+ * fast/filesystem/simple-readonly-expected.txt:
+ * fast/filesystem/simple-temporary-expected.txt:
+ * fast/frames/resources/sandboxed-iframe-storage-disallowed.html:
+ * fast/frames/sandboxed-iframe-attribute-parsing.html:
+ * fast/frames/sandboxed-iframe-forms-dynamic.html:
+ * fast/frames/sandboxed-iframe-forms.html:
+ * fast/frames/sandboxed-iframe-navigation-top-by-constant-name.html:
+ * fast/frames/sandboxed-iframe-navigation-top-by-constant-name2.html:
+ * fast/frames/sandboxed-iframe-navigation-top-by-name.html:
+ * fast/frames/sandboxed-iframe-navigation-top.html:
+ * media/video-controls-no-scripting.html:
+
2011-11-15 Csaba Osztrogonác <ossy@webkit.org>
[Qt] Unviewed fix after r100254, because committed results was incorrect.
requested FileSystem.
-Got FileSystem:__0:Temporary
+Got FileSystem:file__0:Temporary
Starting async test stage 1.
Starting async test stage 2.
Verifying the FileSystem status.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-Successfully obtained Persistent FileSystem:__0:Temporary
+Successfully obtained Persistent FileSystem:file__0:Temporary
PASS fileSystem.root.moveTo() threw exception TypeError: Not enough arguments.
PASS fileSystem.root.copyTo() threw exception TypeError: Not enough arguments.
PASS reader.readEntries() threw exception TypeError: Not enough arguments.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-Successfully obtained Persistent FileSystem:__0:Temporary
+Successfully obtained Persistent FileSystem:file__0:Temporary
PASS readEntriesCount is entriesCallbackCount
PASS resultEntries.length is testEntriesCount
Entry:/a isDirectory:true
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-Successfully obtained PERSISTENT FileSystem:__0:Persistent
+Successfully obtained PERSISTENT FileSystem:file__0:Persistent
PASS fileSystem.name.length > 0 is true
PASS fileSystem.root.fullPath is "/"
PASS successfullyParsed is true
webkitRequestFileSystem(TEMPORARY, 100, successCallback, errorCallback)
trying to set readonly property fileSystem.name
fileSystem.name = 'bar'
-PASS fileSystem.name is still __0:Temporary
+PASS fileSystem.name is still file__0:Temporary
root = fileSystem.root
root.getFile('foo', {create:true}, getFileCallback, errorCallback)
trying to set readonly property fileEntry.isFile
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-Successfully obtained TEMPORARY FileSystem:__0:Temporary
+Successfully obtained TEMPORARY FileSystem:file__0:Temporary
PASS fileSystem.name.length > 0 is true
PASS fileSystem.root.fullPath is "/"
PASS successfullyParsed is true
<html>
<head>
-<script>
-// This code is inlined from js-test-pre.js because this document is displayed
-// in a sandboxed iframe and cannot load local resources.
-
-if (window.layoutTestController)
- layoutTestController.dumpAsText();
-
-function debug(msg)
-{
- var span = document.createElement("span");
- document.getElementById("console").appendChild(span);
- span.innerHTML = msg + '<br />';
-}
-
-function escapeHTML(text)
-{
- return text.replace(/&/g, "&").replace(/</g, "<").replace(/\0/g, "\\0");
-}
-
-function testPassed(msg)
-{
- debug('<span><span class="pass">PASS</span> ' + escapeHTML(msg) + '</span>');
-}
-
-function testFailed(msg)
-{
- debug('<span><span class="fail">FAIL</span> ' + escapeHTML(msg) + '</span>');
-}
-
-function shouldThrow(_a, _e)
-{
- var exception;
- var _av;
- try {
- _av = eval(_a);
- } catch (e) {
- exception = e;
- }
-
- var _ev;
- if (_e)
- _ev = eval(_e);
-
- if (exception) {
- if (typeof _e == "undefined" || exception == _ev)
- testPassed(_a + " threw exception " + exception + ".");
- else
- testFailed(_a + " should throw " + (typeof _e == "undefined" ? "an exception" : _ev) + ". Threw exception " + exception + ".");
- } else if (typeof _av == "undefined")
- testFailed(_a + " should throw " + (typeof _e == "undefined" ? "an exception" : _ev) + ". Was undefined.");
- else
- testFailed(_a + " should throw " + (typeof _e == "undefined" ? "an exception" : _ev) + ". Was " + _av + ".");
-}
-</script>
+<script src="../../js/resources/js-test-pre.js"></script>
<script>
window.onload = function() {
<!-- iframes where script execution is allowed, but origin is not shared -->
<!-- plain, proper attribute value -->
- <iframe sandbox="allow-scripts allow-same-origin"
+ <iframe sandbox="allow-scripts"
name="f1"
src="resources/sandboxed-iframe-attribute-parsing-allowed.html">
</iframe>
allow-scripts
-allow-same-origin"
+"
name="f2"
src="resources/sandboxed-iframe-attribute-parsing-allowed.html">
</iframe>
'Kyssarna' ('The kisses'), Esaias Tegnér, 1782-1846
- allow-scripts allow-same-origin
+ allow-scripts
int main(void)
{
</iframe>
<!-- tab characters before and after attribute value -->
- <iframe sandbox=" allow-scripts allow-same-origin"
+ <iframe sandbox=" allow-scripts "
name="f4"
src="resources/sandboxed-iframe-attribute-parsing-allowed.html">
</iframe>
<!-- mixed case -->
- <iframe sandbox="AlLoW-sCrIpTs allow-same-origin"
+ <iframe sandbox="AlLoW-sCrIpTs"
name="f5"
src="resources/sandboxed-iframe-attribute-parsing-allowed.html">
</iframe>
<!-- iframes where script execution is disallowed -->
- <iframe sandbox="allowscripts allow-same-origin"
+ <iframe sandbox="allowscripts"
src="resources/sandboxed-iframe-attribute-parsing-disallowed.html">
</iframe>
- <iframe sandbox="allows-cripts allow-same-origin"
+ <iframe sandbox="allows-cripts"
src="resources/sandboxed-iframe-attribute-parsing-disallowed.html">
</iframe>
- <iframe sandbox="-allow-scripts allow-same-origin"
+ <iframe sandbox="-allow-scripts"
src="resources/sandboxed-iframe-attribute-parsing-disallowed.html">
</iframe>
- <iframe sandbox="allow_scripts allow-same-origin"
+ <iframe sandbox="allow_scripts"
src="resources/sandboxed-iframe-attribute-parsing-disallowed.html">
</iframe>
- <iframe sandbox="allowScripts allow-same-origin"
+ <iframe sandbox="allowScripts"
src="resources/sandboxed-iframe-attribute-parsing-disallowed.html">
</iframe>
- <iframe sandbox="aallow-scripts allow-same-origin"
+ <iframe sandbox="aallow-scripts"
src="resources/sandboxed-iframe-attribute-parsing-disallowed.html">
</iframe>
- <iframe sandbox="allow-scriptss allow-same-origin"
+ <iframe sandbox="allow-scriptss"
src="resources/sandboxed-iframe-attribute-parsing-disallowed.html">
</iframe>
window.onload = function() {
frameElements = document.getElementsByTagName("iframe");
- frameElements[0].sandbox = "allow-scripts allow-same-origin";
- frameElements[1].sandbox = "allow-scripts allow-forms allow-same-origin";
- frameElements[2].sandbox = "allow-scripts allow-same-origin";
+ frameElements[0].sandbox = "allow-scripts";
+ frameElements[1].sandbox = "allow-scripts allow-forms";
+ frameElements[2].sandbox = "allow-scripts";
frames[0].postMessage("go", "*");
frames[1].postMessage("go", "*");
<body>
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-forms allow-same-origin"
+ sandbox="allow-scripts allow-forms"
src="resources/sandboxed-iframe-form-dynamic-allowed.html">
</iframe>
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-same-origin"
+ sandbox="allow-scripts"
src="resources/sandboxed-iframe-form-dynamic-disallowed.html">
</iframe>
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-forms allow-same-origin"
+ sandbox="allow-scripts allow-forms"
src="resources/sandboxed-iframe-form-dynamic-allowed.html">
</iframe>
<!-- five IFrames with forms allowed -->
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-forms allow-same-origin"
+ sandbox="allow-scripts allow-forms"
src="resources/sandboxed-iframe-form-allowed.html">
</iframe>
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-forms allow-same-origin"
+ sandbox="allow-scripts allow-forms"
src="resources/sandboxed-iframe-form-allowed.html">
</iframe>
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-forms allow-same-origin"
+ sandbox="allow-scripts allow-forms"
src="resources/sandboxed-iframe-form-allowed.html">
</iframe>
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-forms allow-same-origin"
+ sandbox="allow-scripts allow-forms"
src="resources/sandboxed-iframe-form-allowed.html">
</iframe>
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-forms allow-same-origin"
+ sandbox="allow-scripts allow-forms"
src="resources/sandboxed-iframe-form-allowed.html">
</iframe>
<!-- one IFrame with forms disallowed -->
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-same-origin"
+ sandbox="allow-scripts"
src="resources/sandboxed-iframe-form-disallowed.html">
</iframe>
<!-- five more IFrames with forms allowed -->
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-forms allow-same-origin"
+ sandbox="allow-scripts allow-forms"
src="resources/sandboxed-iframe-form-allowed.html">
</iframe>
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-forms allow-same-origin"
+ sandbox="allow-scripts allow-forms"
src="resources/sandboxed-iframe-form-allowed.html">
</iframe>
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-forms allow-same-origin"
+ sandbox="allow-scripts allow-forms"
src="resources/sandboxed-iframe-form-allowed.html">
</iframe>
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-forms allow-same-origin"
+ sandbox="allow-scripts allow-forms"
src="resources/sandboxed-iframe-form-allowed.html">
</iframe>
<iframe style="width: 60px; height: 60px;"
- sandbox="allow-scripts allow-forms allow-same-origin"
+ sandbox="allow-scripts allow-forms"
src="resources/sandboxed-iframe-form-allowed.html">
</iframe>
</head>
<body>
<p>This test verifies that a sandboxed IFrame can navigate the top-level frame with allow-top-navigation.</p>
-<iframe sandbox="allow-scripts allow-top-navigation allow-same-origin"
+<iframe sandbox="allow-scripts allow-top-navigation"
src="resources/navigate-top-by-constant-name-to-pass.html">
</body>
</html>
</head>
<body>
<p>This test verifies that a sandboxed IFrame can navigate the top-level frame with allow-top-navigation.</p>
-<iframe sandbox="allow-scripts allow-top-navigation allow-same-origin"
+<iframe sandbox="allow-scripts allow-top-navigation"
src="resources/navigate-top-by-constant-name2-to-pass.html">
</body>
</html>
</head>
<body>
<p>This test verifies that a sandboxed IFrame can navigate the top-level frame with allow-top-navigation.</p>
-<iframe sandbox="allow-scripts allow-top-navigation allow-same-origin"
+<iframe sandbox="allow-scripts allow-top-navigation"
src="resources/navigate-top-by-name-to-pass.html">
</body>
</html>
</head>
<body>
<p>This test verifies that a sandboxed IFrame can navigate the top-level frame with allow-top-navigation.</p>
-<iframe sandbox="allow-scripts allow-top-navigation allow-same-origin"
+<iframe sandbox="allow-scripts allow-top-navigation"
src="resources/navigate-top-to-pass.html">
</body>
</html>
<body>
- <iframe sandbox="allow-same-origin" src="resources/video-controls-no-scripting-iframe.html" id="fr" style="width: 400px; height: 320px; border: 1px solid black;"></iframe>
+ <iframe sandbox src="resources/video-controls-no-scripting-iframe.html" id="fr" style="width: 400px; height: 320px; border: 1px solid black;"></iframe>
<p>Tests that the built-in controls are always enabled when JavaScript is disabled.</p>
<pre id="console"></pre>
+2011-11-15 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r100213.
+ http://trac.webkit.org/changeset/100213
+ https://bugs.webkit.org/show_bug.cgi?id=72371
+
+ "Breaks test_shell_tests" (Requested by tonyg-cr on #webkit).
+
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::SecurityOrigin):
+ * platform/SchemeRegistry.cpp:
+ (WebCore::schemesWithUniqueOrigins):
+
2011-11-15 Alpha Lam <hclam@chromium.org>
[chromium] scroll deltas are cleared during commit to the main thread
namespace WebCore {
-const int InvalidPort = 0;
const int MaxAllowedPort = 65535;
static bool schemeRequiresAuthority(const String& scheme)
, m_domainWasSetInDOM(false)
, m_enforceFilePathSeparation(false)
{
+ // These protocols do not create security origins; the owner frame provides the origin
+ if (m_protocol == "about" || m_protocol == "javascript")
+ m_protocol = "";
+
#if ENABLE(BLOB) || ENABLE(FILE_SYSTEM)
bool isBlobOrFileSystemProtocol = false;
#if ENABLE(BLOB)
// For edge case URLs that were probably misparsed, make sure that the origin is unique.
if (schemeRequiresAuthority(m_protocol) && m_host.isEmpty())
m_isUnique = true;
-
if (m_protocol.isEmpty())
m_isUnique = true;
}
if (isDefaultPortForProtocol(m_port, m_protocol))
- m_port = InvalidPort;
-
- // Don't leak details from URLs into unique origins.
- if (m_isUnique) {
- m_protocol = "";
- m_host = "";
- m_port = InvalidPort;
- }
+ m_port = 0;
}
SecurityOrigin::SecurityOrigin(const SecurityOrigin* other)
{
DEFINE_STATIC_LOCAL(URLSchemesMap, schemesWithUniqueOrigins, ());
- if (schemesWithUniqueOrigins.isEmpty()) {
- schemesWithUniqueOrigins.add("about");
- schemesWithUniqueOrigins.add("javascript");
- // This is a willful violation of HTML5.
- // See https://bugs.webkit.org/show_bug.cgi?id=11885
+ // This is a willful violation of HTML5.
+ // See https://bugs.webkit.org/show_bug.cgi?id=11885
+ if (schemesWithUniqueOrigins.isEmpty())
schemesWithUniqueOrigins.add("data");
- }
return schemesWithUniqueOrigins;
}