[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
ojan at chromium.org
ojan at chromium.org
Wed Dec 22 11:22:28 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit f5ca404b8c1dd829358338c992b720f379e0d167
Author: ojan at chromium.org <ojan at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Jul 20 22:39:24 2010 +0000
2010-07-20 Ojan Vafai <ojan at chromium.org>
Reviewed by Darin Adler.
make dump-as-markup work better on subframes and allow dumping a subtree
https://bugs.webkit.org/show_bug.cgi?id=42673
* editing/selection/dump-as-markup-expected.txt:
* editing/selection/dump-as-markup.html:
* resources/dump-as-markup.js:
(Markup.description):
(Markup._getSelectionFromNode):
(Markup._getMarkupForTextNode):
(Markup._getSelectionMarker):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63781 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 678ad57..ee04fe5 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,18 @@
+2010-07-20 Ojan Vafai <ojan at chromium.org>
+
+ Reviewed by Darin Adler.
+
+ make dump-as-markup work better on subframes and allow dumping a subtree
+ https://bugs.webkit.org/show_bug.cgi?id=42673
+
+ * editing/selection/dump-as-markup-expected.txt:
+ * editing/selection/dump-as-markup.html:
+ * resources/dump-as-markup.js:
+ (Markup.description):
+ (Markup._getSelectionFromNode):
+ (Markup._getMarkupForTextNode):
+ (Markup._getSelectionMarker):
+
2010-07-20 Daniel Erat <derat at chromium.org>
Reviewed by Ojan Vafai.
diff --git a/LayoutTests/editing/selection/dump-as-markup-expected.txt b/LayoutTests/editing/selection/dump-as-markup-expected.txt
index 036745c..43d18e2 100644
--- a/LayoutTests/editing/selection/dump-as-markup-expected.txt
+++ b/LayoutTests/editing/selection/dump-as-markup-expected.txt
@@ -1,3 +1,4 @@
+Tests basic dump-as-markup functionality.
<HTML>
<HEAD>
@@ -53,6 +54,7 @@ foo</#text>
</#text>
<SCRIPT>
+Markup.description("Tests basic dump-as-markup functionality.");
window.getSelection().selectAllChildren(bar)
</SCRIPT>
<#text>
@@ -61,4 +63,31 @@ window.getSelection().selectAllChildren(bar)
</HTML>
FRAME 0:
-FIXME: Add method to layout test controller to get access to cross-origin frames.
+
+<HTML>
+<HEAD>
+<#text>
+</#text>
+<TITLE>
+<#text>Test</#text>
+</TITLE>
+<#text>
+</#text>
+<STYLE type="text/css">
+</STYLE>
+<#text>
+</#text>
+</HEAD>
+<#text>
+</#text>
+<BODY>
+<#text>
+</#text>
+<P>
+</P>
+<#text>
+
+
+</#text>
+</BODY>
+</HTML>
diff --git a/LayoutTests/editing/selection/dump-as-markup.html b/LayoutTests/editing/selection/dump-as-markup.html
index 92c25af..28bd837 100644
--- a/LayoutTests/editing/selection/dump-as-markup.html
+++ b/LayoutTests/editing/selection/dump-as-markup.html
@@ -11,5 +11,6 @@
<iframe src='data:text/html;charset=utf-8,<!DOCTYPE%20HTML%20PUBLIC%20"-//W3C//DTD%20HTML%204.0//EN">%0D%0A<html%20lang%3D"en">%0D%0A%20<head>%0D%0A%20%20<title>Test</title>%0D%0A%20%20<style%20type%3D"text/css">%0D%0A%20%20</style>%0D%0A%20</head>%0D%0A%20<body>%0D%0A%20%20<p></p>%0D%0A%20</body>%0D%0A</html>%0D%0A'></iframe>
<script>
+Markup.description("Tests basic dump-as-markup functionality.");
window.getSelection().selectAllChildren(bar)
</script>
diff --git a/LayoutTests/resources/dump-as-markup.js b/LayoutTests/resources/dump-as-markup.js
index 1686fb0..7427a5a 100644
--- a/LayoutTests/resources/dump-as-markup.js
+++ b/LayoutTests/resources/dump-as-markup.js
@@ -6,18 +6,26 @@ if (window.layoutTestController) {
// Namespace
var Markup = {};
-/**
- * Dumps the markup for the given node (HTML element if no node is given).
- * Over-writes the body's content with the markup in layout test mode. Appends
- * a pre element when loaded manually, in order to aid debugging.
- */
+// The description of what this test is testing. Gets prepended to the dumped markup.
+Markup.description = function(description)
+{
+ Markup._description = description;
+}
+
+// Dumps the markup for the given node (HTML element if no node is given).
+// Over-writes the body's content with the markup in layout test mode. Appends
+// a pre element when loaded manually, in order to aid debugging.
Markup.dump = function(opt_node)
{
// Allow for using Markup.dump as an onload handler.
if (opt_node instanceof Event)
opt_node = undefined;
- var markup = Markup.get(opt_node);
+ var node = opt_node || document.body.parentElement
+
+ var markup = Markup._description ? Markup._description + '\n' : "";
+ markup += Markup.get(node);
+
var container;
if (window.layoutTestController)
container = document.body;
@@ -31,10 +39,12 @@ Markup.dump = function(opt_node)
}
// FIXME: Have this respect layoutTestController.dumpChildFramesAsText?
- for (var i = 0; i < window.frames.length; i++) {
+ // FIXME: Should we care about framesets?
+ var iframes = node.getElementsByTagName('iframe');
+ for (var i = 0; i < iframes.length; i++) {
markup += '\n\nFRAME ' + i + ':\n'
try {
- markup += Markup.get(window.frames[i].contentDocument.body.parentElement);
+ markup += Markup.get(iframes[i].contentDocument.body.parentElement);
} catch (e) {
markup += 'FIXME: Add method to layout test controller to get access to cross-origin frames.';
}
@@ -56,13 +66,10 @@ Markup.notifyDone = function()
Markup.dump();
}
-/**
- * Returns the markup for the given node. To be used for cases where a test needs
- * to get the markup but not clobber the whole page.
- */
-Markup.get = function(opt_node, opt_depth)
+// Returns the markup for the given node. To be used for cases where a test needs
+// to get the markup but not clobber the whole page.
+Markup.get = function(node, opt_depth)
{
- var node = opt_node || document.body.parentElement
var depth = opt_depth || 0;
var attrs = Markup._getAttributes(node);
@@ -151,12 +158,17 @@ Markup._FORBIDS_END_TAG = {
'DATAGRIDCOL': 1
}
+Markup._getSelectionFromNode = function(node)
+{
+ return node.ownerDocument.defaultView.getSelection();
+}
+
Markup._getMarkupForTextNode = function(node)
{
innerMarkup = node.nodeValue;
var startOffset, endOffset, startText, endText;
- var sel = window.getSelection();
+ var sel = Markup._getSelectionFromNode(node);
if (node == sel.anchorNode && node == sel.focusNode) {
if (sel.isCollapsed) {
startOffset = sel.anchorOffset;
@@ -192,7 +204,7 @@ Markup._getMarkupForTextNode = function(node)
Markup._getSelectionMarker = function(node, index)
{
- var sel = window.getSelection();
+ var sel = Markup._getSelectionFromNode(node);;
if (index == sel.anchorOffset && node == sel.anchorNode) {
if (sel.isCollapsed)
return '<selection-caret>';
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list