Commit e4ebde0a authored by csaavedra@igalia.com's avatar csaavedra@igalia.com

Explicitly set editingBehavior in some tests.

https://bugs.webkit.org/show_bug.cgi?id=113383

Reviewed by Ryosuke Niwa.

These tests make assumptions on how word selection works.
Actually, word selection will work differently depending on the
editingBehavior in place, see bug 110487, so the only way to
ensure the following tests will do word selection as expected is
to use Mac editing behavior.

* editing/deleting/delete-by-word-001.html: Call setEditingBehavior("mac").
* editing/deleting/list-item-1.html: ditto.
* editing/deleting/non-smart-delete.html: ditto.
* editing/deleting/smart-delete-002.html: ditto.
* editing/deleting/smart-delete-across-editable-boundaries.html: ditto.
* editing/execCommand/hilitecolor.html: ditto.
* editing/execCommand/remove-formatting-2.html: ditto.
* editing/inserting/4960120-2.html: ditto.
* editing/inserting/insert-paragraph-02.html: ditto. ditto.
* editing/inserting/insert-paragraph-03.html: ditto.
* editing/inserting/insert-paragraph-04.html: ditto.
* editing/inserting/paragraph-outside-nested-divs.html: ditto.
* editing/inserting/paragraph-separator-01.html: ditto.
* editing/inserting/paragraph-separator-02.html: ditto.
* editing/inserting/paragraph-separator-03.html: ditto.
* editing/pasteboard/4242293-1.html: ditto.
* editing/pasteboard/4806874.html: ditto.
* editing/pasteboard/5006779.html: ditto.
* editing/pasteboard/8145-2.html: ditto.
* editing/pasteboard/bad-placeholder.html: ditto.
* editing/pasteboard/copy-text-with-backgroundcolor.html: ditto.
* editing/pasteboard/drag-drop-modifies-page.html: ditto.
* editing/pasteboard/get-data-text-plain-drop.html: ditto.
* editing/pasteboard/insert-div-text-into-text.html: ditto.
* editing/pasteboard/merge-end-3.html: ditto.
* editing/pasteboard/merge-end-5.html: ditto.
* editing/pasteboard/merge-end-borders.html: ditto.
* editing/pasteboard/paste-blockquote-3.html: ditto.
* editing/pasteboard/paste-list-004.html: ditto.
* editing/pasteboard/pasting-object.html: ditto.
* editing/selection/4932260-2.html: ditto.
* editing/selection/extend-by-word-002.html: ditto.
* editing/selection/extend-forward-by-word-over-non-editable.html: ditto.
* editing/selection/transformed-selection-rects.html: ditto.
* editing/style/5046875-1.html: ditto.
* editing/style/5046875-2.html: ditto.
* editing/style/fore-color-by-name.html: ditto.
* editing/style/relative-font-size-change-002.html: ditto.
* editing/style/relative-font-size-change-003.html: ditto.
* editing/style/relative-font-size-change-004.html: ditto.
* editing/style/style-boundary-005.html: ditto.
* editing/text-iterator/first-letter-word-boundary.html: ditto.
* editing/undo/undo-combined-delete-boundary.html: ditto.
* editing/undo/undo-combined-delete.html: ditto.
* editing/undo/undo-delete-boundary.html: ditto.
* editing/undo/undo-delete.html: ditto.
* editing/undo/undo-forward-delete-boundary.html: ditto.
* editing/undo/undo-forward-delete.html: ditto.
* fast/dom/34176.html: ditto.
* platform/chromium-win/editing/deleting/non-smart-delete-expected.txt: Updated.
* platform/efl/editing/deleting/non-smart-delete-expected.txt: Updated.
* platform/gtk/editing/deleting/non-smart-delete-expected.txt: Updated.
* platform/qt/editing/deleting/non-smart-delete-expected.txt: Updated.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 871b3544
2013-03-27 Claudio Saavedra <csaavedra@igalia.com>
Explicitly set editingBehavior in some tests.
https://bugs.webkit.org/show_bug.cgi?id=113383
Reviewed by Ryosuke Niwa.
These tests make assumptions on how word selection works.
Actually, word selection will work differently depending on the
editingBehavior in place, see bug 110487, so the only way to
ensure the following tests will do word selection as expected is
to use Mac editing behavior.
* editing/deleting/delete-by-word-001.html: Call setEditingBehavior("mac").
* editing/deleting/list-item-1.html: ditto.
* editing/deleting/non-smart-delete.html: ditto.
* editing/deleting/smart-delete-002.html: ditto.
* editing/deleting/smart-delete-across-editable-boundaries.html: ditto.
* editing/execCommand/hilitecolor.html: ditto.
* editing/execCommand/remove-formatting-2.html: ditto.
* editing/inserting/4960120-2.html: ditto.
* editing/inserting/insert-paragraph-02.html: ditto. ditto.
* editing/inserting/insert-paragraph-03.html: ditto.
* editing/inserting/insert-paragraph-04.html: ditto.
* editing/inserting/paragraph-outside-nested-divs.html: ditto.
* editing/inserting/paragraph-separator-01.html: ditto.
* editing/inserting/paragraph-separator-02.html: ditto.
* editing/inserting/paragraph-separator-03.html: ditto.
* editing/pasteboard/4242293-1.html: ditto.
* editing/pasteboard/4806874.html: ditto.
* editing/pasteboard/5006779.html: ditto.
* editing/pasteboard/8145-2.html: ditto.
* editing/pasteboard/bad-placeholder.html: ditto.
* editing/pasteboard/copy-text-with-backgroundcolor.html: ditto.
* editing/pasteboard/drag-drop-modifies-page.html: ditto.
* editing/pasteboard/get-data-text-plain-drop.html: ditto.
* editing/pasteboard/insert-div-text-into-text.html: ditto.
* editing/pasteboard/merge-end-3.html: ditto.
* editing/pasteboard/merge-end-5.html: ditto.
* editing/pasteboard/merge-end-borders.html: ditto.
* editing/pasteboard/paste-blockquote-3.html: ditto.
* editing/pasteboard/paste-list-004.html: ditto.
* editing/pasteboard/pasting-object.html: ditto.
* editing/selection/4932260-2.html: ditto.
* editing/selection/extend-by-word-002.html: ditto.
* editing/selection/extend-forward-by-word-over-non-editable.html: ditto.
* editing/selection/transformed-selection-rects.html: ditto.
* editing/style/5046875-1.html: ditto.
* editing/style/5046875-2.html: ditto.
* editing/style/fore-color-by-name.html: ditto.
* editing/style/relative-font-size-change-002.html: ditto.
* editing/style/relative-font-size-change-003.html: ditto.
* editing/style/relative-font-size-change-004.html: ditto.
* editing/style/style-boundary-005.html: ditto.
* editing/text-iterator/first-letter-word-boundary.html: ditto.
* editing/undo/undo-combined-delete-boundary.html: ditto.
* editing/undo/undo-combined-delete.html: ditto.
* editing/undo/undo-delete-boundary.html: ditto.
* editing/undo/undo-delete.html: ditto.
* editing/undo/undo-forward-delete-boundary.html: ditto.
* editing/undo/undo-forward-delete.html: ditto.
* fast/dom/34176.html: ditto.
* platform/chromium-win/editing/deleting/non-smart-delete-expected.txt: Updated.
* platform/efl/editing/deleting/non-smart-delete-expected.txt: Updated.
* platform/gtk/editing/deleting/non-smart-delete-expected.txt: Updated.
* platform/qt/editing/deleting/non-smart-delete-expected.txt: Updated.
2013-03-27 Claudio Saavedra <csaavedra@igalia.com>
Rename Editing tests whose expectations are Mac specific
......@@ -41,6 +41,9 @@ one two cha cha three four cha cha cha
</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
function sendDeleteWordKey()
{
var deleteWordModifiers;
......
......@@ -7,6 +7,8 @@ if (window.testRunner)
<div id="div" contentEditable="true"><ul><ul><li>foo</li></ul><li><br></li></ul></div>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
var div = document.getElementById("div");
var sel = window.getSelection();
......
......@@ -19,7 +19,8 @@
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
function editingTest() {
extendSelectionForwardByWordCommand();
deleteCommand();
......
......@@ -21,6 +21,8 @@
<script>
function editingTest() {
if (window.internals)
internals.settings.setEditingBehavior('mac');
moveSelectionForwardByWordCommand();
moveSelectionForwardByCharacterCommand();
doubleClickAtSelectionStart();
......
......@@ -4,6 +4,8 @@
<script src="../../resources/dump-as-markup.js"></script>
<div contenteditable="true" id="div">foo<span contenteditable="false"> bar</span></div>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
var div = document.getElementById("div");
var sel = window.getSelection();
sel.setPosition(div, 0);
......
<script src="../../resources/dump-as-markup.js"></script>
<div id="test" contenteditable="true">The second word, and only the second word of this sentence should have a red background color.</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
if (window.testRunner)
testRunner.dumpEditingCallbacks();
......
......@@ -8,6 +8,9 @@
if (window.testRunner)
testRunner.dumpEditingCallbacks();
if (window.internals)
internals.settings.setEditingBehavior('mac');
var sel = window.getSelection();
var div = document.getElementById("div");
......
......@@ -2,6 +2,8 @@
<div id="div" contenteditable="true">foo<div>bar</div></div>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
var div = document.getElementById("div");
var sel = window.getSelection();
......
......@@ -6,6 +6,8 @@ if (window.testRunner)
<div contenteditable="true" id="div"><table border="1"><tr><td>foo</td></tr></table>bar</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
var sel = window.getSelection();
var div = document.getElementById("div");
sel.setPosition(div, 0);
......
......@@ -6,6 +6,8 @@ if (window.testRunner)
<div contenteditable="true" id="div">foo<hr>bar</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
var sel = window.getSelection();
var div = document.getElementById("div");
sel.setPosition(div, 0);
......
......@@ -6,6 +6,8 @@ if (window.testRunner)
<div contenteditable="true" id="div">foo<hr>bar</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
var sel = window.getSelection();
var div = document.getElementById("div");
sel.setPosition(div, 0);
......
......@@ -7,7 +7,8 @@
<script>
if (window.testRunner)
window.testRunner.dumpAsText();
if (window.internals)
internals.settings.setEditingBehavior("mac");
function fail(msg) {
document.getElementById("results").innerText = "FAIL";
throw msg;
......
......@@ -7,6 +7,8 @@ if (window.testRunner)
<script type="text/javascript" src="../editing.js"></script>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
var e = document.getElementById("test");
var s = window.getSelection();
......
......@@ -7,6 +7,8 @@ if (window.testRunner)
<script type="text/javascript" src="../editing.js"></script>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
var e = document.getElementById("test");
var s = window.getSelection();
......
......@@ -9,6 +9,8 @@ bar</pre></div>
<script type="text/javascript" src="../editing.js"></script>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
var e = document.getElementById("test");
var s = window.getSelection();
......
......@@ -4,6 +4,8 @@
<script>
if (window.testRunner)
testRunner.dumpEditingCallbacks();
if (window.internals)
internals.settings.setEditingBehavior('mac');
var sel = window.getSelection();
var e = document.getElementById("copy");
......
......@@ -2,6 +2,8 @@
<div id="div" contenteditable="true">Hello: </div>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
var div = document.getElementById("div");
var sel = window.getSelection();
......
......@@ -16,6 +16,9 @@ blockquote {
</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
var sel = window.getSelection();
var div = document.getElementById("div");
sel.setPosition(div, 0);
......
......@@ -6,6 +6,8 @@ if (window.testRunner)
<div id="test" style="border: 1px solid black;" contenteditable="true"></div>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
var s = window.getSelection();
var p = document.getElementById("test");
p.innerHTML = "foo<br>bar<br>baz";
......
......@@ -7,6 +7,8 @@ if (window.testRunner)
<div id="test" contenteditable="true">First<br class='webkit-block-placeholder'>Second paragraph.</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
var s = window.getSelection();
var e = document.getElementById("test");
......
......@@ -21,6 +21,8 @@
<script src="../../resources/dump-as-markup.js"></script>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
if (window.testRunner)
testRunner.dumpAsText();
......
......@@ -6,7 +6,9 @@ function editingTest() {
if (!window.testRunner)
return;
if (window.internals)
internals.settings.setEditingBehavior("mac");
extendSelectionForwardByWordCommand();
window.testRunner.waitUntilDone();
......
......@@ -26,6 +26,8 @@ var handleDrag = function(e) {
}
function runTest() {
if (window.internals)
internals.settings.setEditingBehavior('mac');
var console = document.getElementById('console');
var editDiv = document.getElementById('test');
editDiv.addEventListener('drop', handleDrop, false);
......
......@@ -7,6 +7,8 @@
if (window.testRunner)
testRunner.dumpEditingCallbacks();
if (window.internals)
internals.settings.setEditingBehavior('mac');
Markup.description('This tests inserting a text wrapped in a div inside a text node.');
......
......@@ -7,6 +7,8 @@
<script>
if (window.testRunner)
testRunner.dumpEditingCallbacks();
if (window.internals)
internals.settings.setEditingBehavior("mac");
Markup.description("The last paragraph of the incoming fragment should be in the same paragraph as 'three'.");
......
......@@ -7,6 +7,8 @@
<script>
if (window.testRunner)
testRunner.dumpEditingCallbacks();
if (window.internals)
internals.settings.setEditingBehavior("mac");
Markup.description('Pasting a paragraph or less into a selection that spans multiple blocks should insert content into the block containing the start of the selection.');
......
......@@ -8,6 +8,8 @@ if (window.testRunner)
<script type="text/javascript" src="../editing.js"></script>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
var s = window.getSelection();
var e = document.getElementById("test");
......
......@@ -14,6 +14,8 @@ blockquote {
<div id="div" contenteditable="true">This should not be blockquoted. This should not be blockquoted.</div>
<script src="../../resources/dump-as-markup.js"></script>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
Markup.description("This tests pasting a blockquote into the middle of a paragraph.");
......
......@@ -65,6 +65,8 @@ function editingTest()
}
}
if (window.internals)
internals.settings.setEditingBehavior("mac");
runDumpAsTextEditingTest(false);
document.getElementById("results").innerText = "PASS";
</script>
......@@ -8,6 +8,8 @@ if (window.testRunner)
</body>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
var s = window.getSelection();
s.setPosition(document.getElementById("test"), 0);
......
......@@ -4,6 +4,8 @@
<script>
if (window.testRunner)
window.testRunner.dumpEditingCallbacks();
if (window.internals)
internals.settings.setEditingBehavior('mac');
var sel = window.getSelection();
var div = document.getElementById("div");
sel.setPosition(div, 0);
......
......@@ -61,6 +61,8 @@ function editingTest() {
-->
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
runEditingTest();
</script>
......
......@@ -37,6 +37,8 @@ function extendForwardByWord(container, bidiName) {
log("FAIL for " + bidiName + ", selection is \"" + getSelection() + "\" but should be \"" + noneditableChild.textContent + "\"");
}
if (window.internals)
internals.settings.setEditingBehavior("mac");
extendForwardByWord(document.getElementById("ltrTextContainer"), "LTR");
extendForwardByWord(document.getElementById("rtlTextContainer"), "RTL");
extendForwardByWord(document.getElementById("ltrMultiTextContainer"), "LTR-multi");
......
......@@ -16,6 +16,8 @@
</style>
<script src="../editing.js" language="JavaScript" type="text/JavaScript" ></script>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
function editingTest() {
if (window.testRunner)
window.testRunner.dumpSelectionRect();
......
......@@ -2,6 +2,8 @@
<div id="div" contenteditable="true">foo<div>bar<br>baz</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
var div = document.getElementById("div");
var sel = window.getSelection();
......
......@@ -2,6 +2,8 @@
<div id="div" contenteditable="true" style="text-align:center;">foo<br>bar<div>baz</div></div>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
var div = document.getElementById("div");
var sel = window.getSelection();
......
......@@ -5,6 +5,8 @@
<body>
<div id="test" contenteditable>hello world</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
window.getSelection().setPosition(test, 0);
window.getSelection().modify('move', 'forward', 'word');
......
......@@ -17,6 +17,8 @@
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
function editingTest() {
extendSelectionForwardByWordCommand();
......
......@@ -17,6 +17,8 @@
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
function editingTest() {
moveSelectionForwardByLineCommand();
......
......@@ -17,6 +17,8 @@
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
function editingTest() {
moveSelectionForwardByLineCommand();
......
......@@ -18,6 +18,8 @@
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<script>
if (window.internals)
internals.settings.setEditingBehavior('mac');
function editingTest() {
moveSelectionForwardByLineCommand();
......
......@@ -18,6 +18,8 @@ This test also demonstrates a bug that word position is incorrectly reported.</p
if (window.testRunner)
testRunner.dumpAsText();
if (window.internals)
internals.settings.setEditingBehavior("mac");
function runTest(actor, expectedOffset) {
window.getSelection().setPosition(test.firstChild, 4);
......
......@@ -33,6 +33,8 @@ function editingTest() {
</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
runEditingTest();
</script>
......
......@@ -33,6 +33,8 @@ function editingTest() {
</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
runEditingTest();
</script>
......
......@@ -31,6 +31,8 @@ function editingTest() {
</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
runEditingTest();
</script>
......
......@@ -31,6 +31,8 @@ function editingTest() {
</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
runEditingTest();
</script>
......
......@@ -31,6 +31,8 @@ function editingTest() {
</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
runEditingTest();
</script>
......
......@@ -31,6 +31,8 @@ function editingTest() {
</div>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
runEditingTest();
</script>
......
......@@ -58,7 +58,10 @@ The visual order should be TextRun3 TextRun1 TextRun2, not TextRun3 TextRun2 Tex
<ul id="console" dir=ltr></ul>
<script>
if (window.internals)
internals.settings.setEditingBehavior("mac");
function log(str)
{
var li = document.createElement("li");
......
......@@ -4,6 +4,7 @@ EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotificatio
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldDeleteDOMRange:range from 1 of #text > DIV > DIV > BODY > HTML > #document to 4 of #text > DIV > DIV > BODY > HTML > #document
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document toDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
layer at (0,0) size 800x600
......
......@@ -4,6 +4,7 @@ EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotificatio
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldDeleteDOMRange:range from 1 of #text > DIV > DIV > BODY > HTML > #document to 4 of #text > DIV > DIV > BODY > HTML > #document
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document toDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
layer at (0,0) size 800x600
......
......@@ -4,6 +4,7 @@ EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotificatio
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldDeleteDOMRange:range from 1 of #text > DIV > DIV > BODY > HTML > #document to 4 of #text > DIV > DIV > BODY > HTML > #document
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document toDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
layer at (0,0) size 800x600
......
......@@ -4,6 +4,7 @@ EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotificatio
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldDeleteDOMRange:range from 1 of #text > DIV > DIV > BODY > HTML > #document to 4 of #text > DIV > DIV > BODY > HTML > #document
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document toDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
layer at (0,0) size 800x600
......
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