mirror of
https://github.com/roytam1/basilisk55.git
synced 2026-06-14 12:39:41 +00:00
258 lines
31 KiB
HTML
258 lines
31 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
|
|
<head>
|
|
<link rel="icon" href="/static/20cb7a61bef3/hgicon.png" type="image/png" />
|
|
<meta name="robots" content="index, nofollow"/>
|
|
<link rel="stylesheet" href="/static/20cb7a61bef3/style-gitweb.css" type="text/css" />
|
|
|
|
<style type="text/css">
|
|
div.feed {
|
|
float: right;
|
|
}
|
|
a img {
|
|
border-width: 0px;
|
|
}
|
|
div.log_link {
|
|
width: 80px;
|
|
background-color: white;
|
|
}
|
|
|
|
div.log_body {
|
|
padding-left: 96px;
|
|
}
|
|
</style>
|
|
<script type="text/javascript" src="/static/20cb7a61bef3/mercurial.js"></script>
|
|
|
|
<meta property="og:image" content="/static/20cb7a61bef3/moz-logo-bw-rgb.svg"/>
|
|
<meta property="og:type" content="website"/>
|
|
|
|
<link rel="stylesheet" href="/mozilla-central/highlightcss" type="text/css" />
|
|
<title>mozilla-central: editor/libeditor/tests/test_bug1318312.html@22e1a32de5b88f1f56a156aefa95614b5cda204c</title>
|
|
<link rel="alternate" type="application/atom+xml"
|
|
href="/mozilla-central/atom-log" title="Atom feed for mozilla-central"/>
|
|
<link rel="alternate" type="application/rss+xml"
|
|
href="/mozilla-central/rss-log" title="RSS feed for mozilla-central"/>
|
|
|
|
<meta property="og:title" content="mozilla-central @ 22e1a32de5b88f1f56a156aefa95614b5cda204c / editor/libeditor/tests/test_bug1318312.html" />
|
|
<meta property="og:url" content="/mozilla-central/file/22e1a32de5b88f1f56a156aefa95614b5cda204ceditor/libeditor/tests/test_bug1318312.html}" />
|
|
<meta property="og:description" content="Content of editor/libeditor/tests/test_bug1318312.html at revision 22e1a32de5b88f1f56a156aefa95614b5cda204c in mozilla-central" />
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<div class="page_header">
|
|
<div class="logo">
|
|
<a href="https://firefox-source-docs.mozilla.org/contributing/vcs/mercurial.html">
|
|
<img src="/static/20cb7a61bef3/moz-logo-bw-rgb.svg" alt="mercurial" />
|
|
</a>
|
|
</div>
|
|
<a href="/">Mercurial</a> > <a href="/mozilla-central">mozilla-central</a> / file revision / editor/libeditor/tests/test_bug1318312.html@22e1a32de5b88f1f56a156aefa95614b5cda204c
|
|
</div>
|
|
|
|
<div class="page_nav">
|
|
<div>
|
|
<a href="/mozilla-central/summary">summary</a> |
|
|
<a href="/mozilla-central/shortlog">shortlog</a> |
|
|
<a href="/mozilla-central/log">changelog</a> |
|
|
<a href="/mozilla-central/pushloghtml">pushlog</a> |
|
|
<a href="/mozilla-central/graph">graph</a> |
|
|
<a href="/mozilla-central/tags">tags</a> |
|
|
<a href="/mozilla-central/bookmarks">bookmarks</a> |
|
|
<a href="/mozilla-central/branches">branches</a> |
|
|
<a href="/mozilla-central/file/22e1a32de5b88f1f56a156aefa95614b5cda204c/editor/libeditor/tests/">files</a> |
|
|
<a href="/mozilla-central/rev/22e1a32de5b88f1f56a156aefa95614b5cda204c">changeset</a> |
|
|
file |
|
|
<a href="/mozilla-central/file/tip/editor/libeditor/tests/test_bug1318312.html">latest</a> |
|
|
<a href="/mozilla-central/log/22e1a32de5b88f1f56a156aefa95614b5cda204c/editor/libeditor/tests/test_bug1318312.html">revisions</a> |
|
|
<a href="/mozilla-central/annotate/22e1a32de5b88f1f56a156aefa95614b5cda204c/editor/libeditor/tests/test_bug1318312.html">annotate</a> |
|
|
<a href="/mozilla-central/diff/22e1a32de5b88f1f56a156aefa95614b5cda204c/editor/libeditor/tests/test_bug1318312.html">diff</a> |
|
|
<a href="/mozilla-central/comparison/22e1a32de5b88f1f56a156aefa95614b5cda204c/editor/libeditor/tests/test_bug1318312.html">comparison</a> |
|
|
<a href="/mozilla-central/raw-file/22e1a32de5b88f1f56a156aefa95614b5cda204c/editor/libeditor/tests/test_bug1318312.html">raw</a> |
|
|
<a href="/mozilla-central/help">help</a>
|
|
</div>
|
|
|
|
<div class="search">
|
|
<form id="searchform" action="/mozilla-central/log">
|
|
|
|
<input name="rev" type="text" value="" size="40" />
|
|
<div id="hint">Find changesets by keywords (author, files, the commit message), revision
|
|
number or hash, or <a href="/mozilla-central/help/revsets">revset expression</a>.</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="title">editor/libeditor/tests/test_bug1318312.html</div>
|
|
|
|
<div class="title_text">
|
|
<table cellspacing="0">
|
|
<tr>
|
|
<td>author</td>
|
|
<td>Masayuki Nakano <masayuki@d-toybox.com></td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td class="date age">Tue, 14 Mar 2017 10:36:21 +0900</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>changeset 347447</td>
|
|
<td style="font-family:monospace"><a class="list" href="/mozilla-central/rev/22e1a32de5b88f1f56a156aefa95614b5cda204c">22e1a32de5b88f1f56a156aefa95614b5cda204c</a></td>
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
<td>child 403604</td>
|
|
<td style="font-family:monospace">
|
|
<a class="list" href="/mozilla-central/file/b1aba58ebcddae563f4b949d357c9193b2d78897/editor/libeditor/tests/test_bug1318312.html">b1aba58ebcddae563f4b949d357c9193b2d78897</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td>permissions</td>
|
|
<td style="font-family:monospace">-rw-r--r--</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="page_path description"><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1318312">Bug 1318312</a> part.3 Selection should move focus at every selection change when it's called by JS r=smaug
|
|
|
|
Selection may be changed by methods of Selection or methods of Range retrieved by Selection.getRangeAt(). Selection::NotifySelectionListeners() is called after every selection change of each of them, so, this method must be a good point to move focus.
|
|
|
|
If new common ancestor of all ranges is editable and in an editing host, we should move focus to it. Otherwise, if an editing host has focus but new common ancestor is not editable, we should move focus from the editing host.
|
|
|
|
For consistency with the other browsers, this patch doesn't move focus to other focusable element.
|
|
|
|
MozReview-Commit-ID: 6sNsuzwqECX</div>
|
|
|
|
<div class="page_body">
|
|
<pre class="sourcelines stripes"
|
|
data-logurl="/mozilla-central/log/22e1a32de5b88f1f56a156aefa95614b5cda204c/editor/libeditor/tests/test_bug1318312.html"
|
|
data-selectabletag="SPAN"
|
|
data-ishead="0">
|
|
|
|
<a href="#l1"></a><span id="l1"><span class="cp"><!DOCTYPE></span></span>
|
|
<a href="#l2"></a><span id="l2"><span class="p"><</span><span class="nt">html</span><span class="p">></span></span>
|
|
<a href="#l3"></a><span id="l3"><span class="p"><</span><span class="nt">head</span><span class="p">></span></span>
|
|
<a href="#l4"></a><span id="l4"><span class="p"><</span><span class="nt">title</span><span class="p">></span>Test for bug1318312<span class="p"></</span><span class="nt">title</span><span class="p">></span></span>
|
|
<a href="#l5"></a><span id="l5"><span class="p"><</span><span class="nt">script</span> <span class="na">type</span><span class="o">=</span><span class="s">"text/javascript"</span> <span class="na">src</span><span class="o">=</span><span class="s">"/tests/SimpleTest/SimpleTest.js"</span><span class="p">></</span><span class="nt">script</span><span class="p">></span></span>
|
|
<a href="#l6"></a><span id="l6"><span class="p"><</span><span class="nt">script</span> <span class="na">type</span><span class="o">=</span><span class="s">"text/javascript"</span> <span class="na">src</span><span class="o">=</span><span class="s">"/tests/SimpleTest/EventUtils.js"</span><span class="p">></</span><span class="nt">script</span><span class="p">></span></span>
|
|
<a href="#l7"></a><span id="l7"><span class="p"><</span><span class="nt">link</span> <span class="na">rel</span><span class="o">=</span><span class="s">"stylesheet"</span> <span class="na">type</span><span class="o">=</span><span class="s">"text/css"</span> <span class="na">href</span><span class="o">=</span><span class="s">"/tests/SimpleTest/test.css"</span> <span class="p">/></span></span>
|
|
<a href="#l8"></a><span id="l8"><span class="p"><</span><span class="nt">style</span> <span class="na">type</span><span class="o">=</span><span class="s">"text/css"</span><span class="p">></span></span>
|
|
<a href="#l9"></a><span id="l9"><span class="p"></</span><span class="nt">style</span><span class="p">></span></span>
|
|
<a href="#l10"></a><span id="l10"><span class="p"></</span><span class="nt">head</span><span class="p">></span></span>
|
|
<a href="#l11"></a><span id="l11"><span class="p"><</span><span class="nt">body</span><span class="p">></span></span>
|
|
<a href="#l12"></a><span id="l12"><span class="p"><</span><span class="nt">div</span> <span class="na">id</span><span class="o">=</span><span class="s">"outerEditor"</span> <span class="na">contenteditable</span><span class="p">><</span><span class="nt">p</span><span class="p">></span>content of outer editor<span class="p"></</span><span class="nt">p</span><span class="p">></span></span>
|
|
<a href="#l13"></a><span id="l13"><span class="p"><</span><span class="nt">div</span> <span class="na">id</span><span class="o">=</span><span class="s">"staticInEditor"</span> <span class="na">contenteditable</span><span class="o">=</span><span class="s">"false"</span><span class="p">><</span><span class="nt">p</span><span class="p">></span>static content of outer editor<span class="p"></</span><span class="nt">p</span><span class="p">></span></span>
|
|
<a href="#l14"></a><span id="l14"><span class="p"><</span><span class="nt">div</span> <span class="na">id</span><span class="o">=</span><span class="s">"innerEditor"</span> <span class="na">contenteditable</span><span class="p">><</span><span class="nt">p</span><span class="p">></span>content of inner editor<span class="p"></</span><span class="nt">p</span><span class="p">></</span><span class="nt">div</span><span class="p">></</span><span class="nt">div</span><span class="p">></</span><span class="nt">div</span><span class="p">></span></span>
|
|
<a href="#l15"></a><span id="l15"><span class="p"><</span><span class="nt">pre</span> <span class="na">id</span><span class="o">=</span><span class="s">"test"</span><span class="p">></span></span>
|
|
<a href="#l16"></a><span id="l16"><span class="p"><</span><span class="nt">script</span> <span class="na">class</span><span class="o">=</span><span class="s">"testbody"</span> <span class="na">type</span><span class="o">=</span><span class="s">"text/javascript"</span><span class="p">></span></span>
|
|
<a href="#l17"></a><span id="l17"></span>
|
|
<a href="#l18"></a><span id="l18"><span class="kd">var</span> <span class="nx">outerEditor</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"outerEditor"</span><span class="p">);</span></span>
|
|
<a href="#l19"></a><span id="l19"></span>
|
|
<a href="#l20"></a><span id="l20"><span class="kd">function</span> <span class="nx">runTests</span><span class="p">()</span></span>
|
|
<a href="#l21"></a><span id="l21"><span class="p">{</span></span>
|
|
<a href="#l22"></a><span id="l22"> <span class="nx">outerEditor</span><span class="p">.</span><span class="nx">focus</span><span class="p">();</span></span>
|
|
<a href="#l23"></a><span id="l23"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">activeElement</span><span class="p">,</span> <span class="nx">outerEditor</span><span class="p">,</span></span>
|
|
<a href="#l24"></a><span id="l24"> <span class="s2">"outerEditor should have focus"</span><span class="p">);</span></span>
|
|
<a href="#l25"></a><span id="l25"></span>
|
|
<a href="#l26"></a><span id="l26"> <span class="c1">// Move cursor into the innerEditor with ArrowDown key. Then, focus shouldn't</span></span>
|
|
<a href="#l27"></a><span id="l27"> <span class="c1">// be moved to innerEditor from outerEditor.</span></span>
|
|
<a href="#l28"></a><span id="l28"> <span class="c1">// Note that Chrome moves focus in this case. However, we should do that</span></span>
|
|
<a href="#l29"></a><span id="l29"> <span class="c1">// at least for now because user can move focus with ArrowUp key even from</span></span>
|
|
<a href="#l30"></a><span id="l30"> <span class="c1">// innerEditor to outerEditor but we don't allow such navigation.</span></span>
|
|
<a href="#l31"></a><span id="l31"> <span class="c1">// FYI: Edge behaves same as us.</span></span>
|
|
<a href="#l32"></a><span id="l32"> <span class="nx">synthesizeKey</span><span class="p">(</span><span class="s2">"KEY_ArrowDown"</span><span class="p">,</span> <span class="p">{</span> <span class="nx">code</span><span class="o">:</span> <span class="s2">"ArrowDown"</span> <span class="p">});</span></span>
|
|
<a href="#l33"></a><span id="l33"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">activeElement</span><span class="p">,</span> <span class="nx">outerEditor</span><span class="p">,</span></span>
|
|
<a href="#l34"></a><span id="l34"> <span class="s2">"outerEditor should still have focus because focus shouldn't be moved by moving caret"</span><span class="p">);</span></span>
|
|
<a href="#l35"></a><span id="l35"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusNode</span><span class="p">,</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"innerEditor"</span><span class="p">).</span><span class="nx">firstChild</span><span class="p">.</span><span class="nx">firstChild</span><span class="p">,</span></span>
|
|
<a href="#l36"></a><span id="l36"> <span class="s2">"focus node of selection should be the text node in the innerEditor"</span><span class="p">);</span></span>
|
|
<a href="#l37"></a><span id="l37"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusOffset</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span></span>
|
|
<a href="#l38"></a><span id="l38"> <span class="s2">"focus offset of selection should be 0"</span><span class="p">);</span></span>
|
|
<a href="#l39"></a><span id="l39"></span>
|
|
<a href="#l40"></a><span id="l40"> <span class="nx">synthesizeKey</span><span class="p">(</span><span class="s2">"a"</span><span class="p">,</span> <span class="p">{</span> <span class="nx">code</span><span class="o">:</span> <span class="s2">"KeyA"</span> <span class="p">});</span></span>
|
|
<a href="#l41"></a><span id="l41"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">activeElement</span><span class="p">,</span> <span class="nx">outerEditor</span><span class="p">,</span></span>
|
|
<a href="#l42"></a><span id="l42"> <span class="s2">"outerEditor should still have focus because focus shouldn't be moved by typing a character"</span><span class="p">);</span></span>
|
|
<a href="#l43"></a><span id="l43"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusNode</span><span class="p">,</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"innerEditor"</span><span class="p">).</span><span class="nx">firstChild</span><span class="p">.</span><span class="nx">firstChild</span><span class="p">,</span></span>
|
|
<a href="#l44"></a><span id="l44"> <span class="s2">"focus node of selection should be the text node in the innerEditor"</span><span class="p">);</span></span>
|
|
<a href="#l45"></a><span id="l45"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusOffset</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span></span>
|
|
<a href="#l46"></a><span id="l46"> <span class="s2">"focus offset of selection should be 1"</span><span class="p">);</span></span>
|
|
<a href="#l47"></a><span id="l47"></span>
|
|
<a href="#l48"></a><span id="l48"> <span class="nx">synthesizeKey</span><span class="p">(</span><span class="s2">"KEY_Enter"</span><span class="p">,</span> <span class="p">{</span> <span class="nx">code</span><span class="o">:</span> <span class="s2">"Enter"</span> <span class="p">});</span></span>
|
|
<a href="#l49"></a><span id="l49"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">activeElement</span><span class="p">,</span> <span class="nx">outerEditor</span><span class="p">,</span></span>
|
|
<a href="#l50"></a><span id="l50"> <span class="s2">"outerEditor should still have focus because focus shouldn't be moved by typing Enter"</span><span class="p">);</span></span>
|
|
<a href="#l51"></a><span id="l51"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusNode</span><span class="p">,</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"innerEditor"</span><span class="p">).</span><span class="nx">childNodes</span><span class="p">.</span><span class="nx">item</span><span class="p">(</span><span class="mi">1</span><span class="p">).</span><span class="nx">firstChild</span><span class="p">,</span></span>
|
|
<a href="#l52"></a><span id="l52"> <span class="s2">"focus node of selection should be the text node in the second paragraph in the innerEditor"</span><span class="p">);</span></span>
|
|
<a href="#l53"></a><span id="l53"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusOffset</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span></span>
|
|
<a href="#l54"></a><span id="l54"> <span class="s2">"focus offset of selection should be 0"</span><span class="p">);</span></span>
|
|
<a href="#l55"></a><span id="l55"></span>
|
|
<a href="#l56"></a><span id="l56"> <span class="nx">synthesizeKey</span><span class="p">(</span><span class="s2">"KEY_Backspace"</span><span class="p">,</span> <span class="p">{</span> <span class="nx">code</span><span class="o">:</span> <span class="s2">"Backspace"</span> <span class="p">});</span></span>
|
|
<a href="#l57"></a><span id="l57"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">activeElement</span><span class="p">,</span> <span class="nx">outerEditor</span><span class="p">,</span></span>
|
|
<a href="#l58"></a><span id="l58"> <span class="s2">"outerEditor should still have focus because focus shouldn't be moved by typing Backspace (removing the line breaker)"</span><span class="p">);</span></span>
|
|
<a href="#l59"></a><span id="l59"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusNode</span><span class="p">,</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"innerEditor"</span><span class="p">).</span><span class="nx">firstChild</span><span class="p">.</span><span class="nx">firstChild</span><span class="p">,</span></span>
|
|
<a href="#l60"></a><span id="l60"> <span class="s2">"focus node of selection should be the text node in the innerEditor"</span><span class="p">);</span></span>
|
|
<a href="#l61"></a><span id="l61"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusOffset</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span></span>
|
|
<a href="#l62"></a><span id="l62"> <span class="s2">"focus offset of selection should be 1"</span><span class="p">);</span></span>
|
|
<a href="#l63"></a><span id="l63"></span>
|
|
<a href="#l64"></a><span id="l64"> <span class="nx">synthesizeKey</span><span class="p">(</span><span class="s2">"KEY_ArrowLeft"</span><span class="p">,</span> <span class="p">{</span> <span class="nx">code</span><span class="o">:</span> <span class="s2">"ArrowLeft"</span><span class="p">,</span> <span class="nx">shiftKey</span><span class="o">:</span> <span class="kc">true</span> <span class="p">});</span></span>
|
|
<a href="#l65"></a><span id="l65"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">activeElement</span><span class="p">,</span> <span class="nx">outerEditor</span><span class="p">,</span></span>
|
|
<a href="#l66"></a><span id="l66"> <span class="s2">"outerEditor should still have focus because focus shouldn't be moved by typing Shift+ArrowLeft (selecting 'a')"</span><span class="p">);</span></span>
|
|
<a href="#l67"></a><span id="l67"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusNode</span><span class="p">,</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"innerEditor"</span><span class="p">).</span><span class="nx">firstChild</span><span class="p">.</span><span class="nx">firstChild</span><span class="p">,</span></span>
|
|
<a href="#l68"></a><span id="l68"> <span class="s2">"focus node of selection should be the text node in the innerEditor"</span><span class="p">);</span></span>
|
|
<a href="#l69"></a><span id="l69"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusOffset</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span></span>
|
|
<a href="#l70"></a><span id="l70"> <span class="s2">"focus offset of selection should be 0"</span><span class="p">);</span></span>
|
|
<a href="#l71"></a><span id="l71"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">anchorNode</span><span class="p">,</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"innerEditor"</span><span class="p">).</span><span class="nx">firstChild</span><span class="p">.</span><span class="nx">firstChild</span><span class="p">,</span></span>
|
|
<a href="#l72"></a><span id="l72"> <span class="s2">"anchor node of selection should be the text node in the innerEditor"</span><span class="p">);</span></span>
|
|
<a href="#l73"></a><span id="l73"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">anchorOffset</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span></span>
|
|
<a href="#l74"></a><span id="l74"> <span class="s2">"anchor offset of selection should be 1"</span><span class="p">);</span></span>
|
|
<a href="#l75"></a><span id="l75"></span>
|
|
<a href="#l76"></a><span id="l76"> <span class="nx">synthesizeKey</span><span class="p">(</span><span class="s2">"KEY_Delete"</span><span class="p">,</span> <span class="p">{</span> <span class="nx">code</span><span class="o">:</span> <span class="s2">"Delete"</span> <span class="p">});</span></span>
|
|
<a href="#l77"></a><span id="l77"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">activeElement</span><span class="p">,</span> <span class="nx">outerEditor</span><span class="p">,</span></span>
|
|
<a href="#l78"></a><span id="l78"> <span class="s2">"outerEditor should still have focus because focus shouldn't be moved by typing Delete (removing the 'a')"</span><span class="p">);</span></span>
|
|
<a href="#l79"></a><span id="l79"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusNode</span><span class="p">,</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"innerEditor"</span><span class="p">).</span><span class="nx">firstChild</span><span class="p">.</span><span class="nx">firstChild</span><span class="p">,</span></span>
|
|
<a href="#l80"></a><span id="l80"> <span class="s2">"focus node of selection should be the text node in the innerEditor"</span><span class="p">);</span></span>
|
|
<a href="#l81"></a><span id="l81"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusOffset</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span></span>
|
|
<a href="#l82"></a><span id="l82"> <span class="s2">"focus offset of selection should be 0"</span><span class="p">);</span></span>
|
|
<a href="#l83"></a><span id="l83"></span>
|
|
<a href="#l84"></a><span id="l84"> <span class="nx">synthesizeKey</span><span class="p">(</span><span class="s2">"KEY_ArrowUp"</span><span class="p">,</span> <span class="p">{</span> <span class="nx">code</span><span class="o">:</span> <span class="s2">"ArrowUp"</span> <span class="p">});</span></span>
|
|
<a href="#l85"></a><span id="l85"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">activeElement</span><span class="p">,</span> <span class="nx">outerEditor</span><span class="p">,</span></span>
|
|
<a href="#l86"></a><span id="l86"> <span class="s2">"outerEditor should still have focus because focus shouldn't be moved by moving caret from innerEditor to outerEditor"</span><span class="p">);</span></span>
|
|
<a href="#l87"></a><span id="l87"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusNode</span><span class="p">,</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"outerEditor"</span><span class="p">).</span><span class="nx">firstChild</span><span class="p">.</span><span class="nx">firstChild</span><span class="p">,</span></span>
|
|
<a href="#l88"></a><span id="l88"> <span class="s2">"focus node of selection should be the text node in the outerEditor"</span><span class="p">);</span></span>
|
|
<a href="#l89"></a><span id="l89"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusOffset</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span></span>
|
|
<a href="#l90"></a><span id="l90"> <span class="s2">"focus offset of selection should be 0"</span><span class="p">);</span></span>
|
|
<a href="#l91"></a><span id="l91"></span>
|
|
<a href="#l92"></a><span id="l92"> <span class="c1">// However, clicking in innerEditor should move focus.</span></span>
|
|
<a href="#l93"></a><span id="l93"> <span class="nx">synthesizeMouseAtCenter</span><span class="p">(</span><span class="nx">innerEditor</span><span class="p">,</span> <span class="p">{});</span></span>
|
|
<a href="#l94"></a><span id="l94"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">activeElement</span><span class="p">,</span> <span class="nx">innerEditor</span><span class="p">,</span></span>
|
|
<a href="#l95"></a><span id="l95"> <span class="s2">"innerEditor should get focus because focus should be moved to innerEditor even from outerEditor by click"</span><span class="p">);</span></span>
|
|
<a href="#l96"></a><span id="l96"> <span class="nx">is</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getSelection</span><span class="p">().</span><span class="nx">focusNode</span><span class="p">,</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"innerEditor"</span><span class="p">).</span><span class="nx">firstChild</span><span class="p">.</span><span class="nx">firstChild</span><span class="p">,</span></span>
|
|
<a href="#l97"></a><span id="l97"> <span class="s2">"focus node of selection should be the text node in the innerEditor"</span><span class="p">);</span></span>
|
|
<a href="#l98"></a><span id="l98"></span>
|
|
<a href="#l99"></a><span id="l99"> <span class="nx">SimpleTest</span><span class="p">.</span><span class="nx">finish</span><span class="p">();</span></span>
|
|
<a href="#l100"></a><span id="l100"><span class="p">}</span></span>
|
|
<a href="#l101"></a><span id="l101"></span>
|
|
<a href="#l102"></a><span id="l102"><span class="nx">SimpleTest</span><span class="p">.</span><span class="nx">waitForExplicitFinish</span><span class="p">();</span></span>
|
|
<a href="#l103"></a><span id="l103"><span class="nx">SimpleTest</span><span class="p">.</span><span class="nx">waitForFocus</span><span class="p">(</span><span class="nx">runTests</span><span class="p">);</span></span>
|
|
<a href="#l104"></a><span id="l104"></span>
|
|
<a href="#l105"></a><span id="l105"><span class="p"></</span><span class="nt">script</span><span class="p">></span></span>
|
|
<a href="#l106"></a><span id="l106"><span class="p"></</span><span class="nt">pre</span><span class="p">></span></span>
|
|
<a href="#l107"></a><span id="l107"><span class="p"></</span><span class="nt">body</span><span class="p">></span></span>
|
|
<a href="#l108"></a><span id="l108"><span class="p"></</span><span class="nt">html</span><span class="p">></span></span>
|
|
</pre>
|
|
</div>
|
|
|
|
<script type="text/javascript" src="/static/20cb7a61bef3/followlines.js"></script>
|
|
|
|
<div class="page_footer">
|
|
<div class="page_footer_text">mozilla-central</div>
|
|
<div class="page_footer_text" style="padding-left: 10px">Deployed from <a href="https://hg.mozilla.org/hgcustom/version-control-tools/rev/20cb7a61bef3">20cb7a61bef3</a> at 2023-12-13T16:39:00Z.</div>
|
|
<div class="rss_logo">
|
|
<a href="/mozilla-central/rss-log">RSS</a>
|
|
<a href="/mozilla-central/atom-log">Atom</a>
|
|
</div>
|
|
<br />
|
|
|
|
</div>
|
|
</body>
|
|
</html>
|
|
|