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).

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: http://svn.webkit.org/repository/webkit/trunk@100262 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent c3a7bac1
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.
......@@ -4,7 +4,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
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.
......
......@@ -3,7 +3,7 @@ This test tries calling various filesystem functions with too few 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 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.
......
......@@ -3,7 +3,7 @@ DirectoryReader.readEntries() test.
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
......
......@@ -3,7 +3,7 @@ requestFileSystem PERSISTENT test.
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
......
......@@ -6,7 +6,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
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
......
......@@ -3,7 +3,7 @@ requestFileSystem TEMPORARY test.
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, "&amp;").replace(/</g, "&lt;").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() {
......
......@@ -56,7 +56,7 @@ 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>
......@@ -66,7 +66,7 @@ window.onload = function()
allow-scripts
allow-same-origin"
"
name="f2"
src="resources/sandboxed-iframe-attribute-parsing-allowed.html">
</iframe>
......@@ -103,7 +103,7 @@ allow-same-origin"
'Kyssarna' ('The kisses'), Esaias Tegnér, 1782-1846
allow-scripts allow-same-origin
allow-scripts
int main(void)
{
......@@ -114,44 +114,44 @@ allow-same-origin"
</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>
......
......@@ -30,9 +30,9 @@ function disallowedFormSubmitted()
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", "*");
......@@ -45,15 +45,15 @@ window.onload = function() {
<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>
......
......@@ -41,53 +41,53 @@ function disallowedFormSubmitted()
<!-- 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>
......
......@@ -9,7 +9,7 @@ if (window.layoutTestController) {
</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>
......@@ -9,7 +9,7 @@ if (window.layoutTestController) {
</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>
......@@ -10,7 +10,7 @@ window.name = "target";
</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>
......@@ -9,7 +9,7 @@ if (window.layoutTestController) {
</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>
......@@ -27,7 +27,7 @@
<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
......
......@@ -41,7 +41,6 @@
namespace WebCore {
const int InvalidPort = 0;
const int MaxAllowedPort = 65535;
static bool schemeRequiresAuthority(const String& scheme)
......@@ -66,6 +65,10 @@ SecurityOrigin::SecurityOrigin(const KURL& url, bool forceUnique)
, 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)
......@@ -90,7 +93,6 @@ SecurityOrigin::SecurityOrigin(const KURL& url, bool forceUnique)
// 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;
......@@ -114,14 +116,7 @@ SecurityOrigin::SecurityOrigin(const KURL& url, bool forceUnique)
}
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)
......
......@@ -68,13 +68,10 @@ static URLSchemesMap& schemesWithUniqueOrigins()
{
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;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment