<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>136763</bug_id>
          
          <creation_ts>2014-09-11 15:39:11 -0700</creation_ts>
          <short_desc>Simplify DOM tree traversal in FrameSelection::setSelectionFromNone()</short_desc>
          <delta_ts>2014-09-12 07:51:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1034737</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-11 15:39:11 -0700</bug_when>
    <thetext>Simplify DOM Tree traversal in FrameSelection::setSelectionFromNone(). We only need to traverse the direct children of the Document element to find the body. The previous code was potentially traversing descendants.
The new code is consistent with Document::body() except that we only look for an HTMLBodyElement (and ignore HTMLFrameSetElement).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034739</commentid>
    <comment_count>1</comment_count>
      <attachid>237992</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-11 15:51:47 -0700</bug_when>
    <thetext>Created attachment 237992
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034758</commentid>
    <comment_count>2</comment_count>
      <attachid>237992</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-09-11 16:58:34 -0700</bug_when>
    <thetext>Comment on attachment 237992
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=237992&amp;action=review

&gt; Source/WebCore/editing/FrameSelection.cpp:2117
&gt; +    Element* documentElement = document-&gt;documentElement();
&gt; +    if (!documentElement)
&gt; +        return;

If I were you, I&apos;d declare documentElement inside the if condition and nest the if&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034772</commentid>
    <comment_count>3</comment_count>
      <attachid>237992</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-11 17:40:20 -0700</bug_when>
    <thetext>Comment on attachment 237992
Patch

Clearing flags on attachment: 237992

Committed r173549: &lt;http://trac.webkit.org/changeset/173549&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034773</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-11 17:40:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034779</commentid>
    <comment_count>5</comment_count>
      <attachid>237992</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-11 18:46:21 -0700</bug_when>
    <thetext>Comment on attachment 237992
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=237992&amp;action=review

&gt; Source/WebCore/editing/FrameSelection.cpp:2115
&gt; +    Element* documentElement = document-&gt;documentElement();

In a case like this I prefer to use auto*. Later we might make the documentElement() function return a more specific type and it would be nice not to have to visit this call site.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034858</commentid>
    <comment_count>6</comment_count>
      <attachid>237992</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-12 07:51:40 -0700</bug_when>
    <thetext>Comment on attachment 237992
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=237992&amp;action=review

&gt;&gt; Source/WebCore/editing/FrameSelection.cpp:2115
&gt;&gt; +    Element* documentElement = document-&gt;documentElement();
&gt; 
&gt; In a case like this I prefer to use auto*. Later we might make the documentElement() function return a more specific type and it would be nice not to have to visit this call site.

Ok, it makes sense. Would you like me to land another patch for the nit fix or is this for future reference?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237992</attachid>
            <date>2014-09-11 15:51:47 -0700</date>
            <delta_ts>2014-09-12 07:51:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136763-20140911155143.patch</filename>
            <type>text/plain</type>
            <size>2316</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWI2NDFlMjAwNmY1ZDJi
M2RlZDJhOTYyYzMyZGJkNjAwY2Q4NmYwMy4uOTlkNGE3YTNmNmU4MTIzNzc2YjM0N2MzYzgwOWFk
NDY1YWIzNjIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE0LTA5LTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxpZnkgRE9NIHRyZWUg
dHJhdmVyc2FsIGluIEZyYW1lU2VsZWN0aW9uOjpzZXRTZWxlY3Rpb25Gcm9tTm9uZSgpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY3NjMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBvbmx5IG5lZWQg
dG8gdHJhdmVyc2UgdGhlIGRpcmVjdCBjaGlsZHJlbiBvZiB0aGUgRG9jdW1lbnQgZWxlbWVudCB0
bworICAgICAgICBmaW5kIHRoZSBib2R5LiBUaGUgcHJldmlvdXMgY29kZSB3YXMgcG90ZW50aWFs
bHkgdHJhdmVyc2luZyBkZXNjZW5kYW50cy4KKyAgICAgICAgVGhlIG5ldyBjb2RlIGlzIGNvbnNp
c3RlbnQgd2l0aCBEb2N1bWVudDo6Ym9keSgpIGV4Y2VwdCB0aGF0IHdlIG9ubHkKKyAgICAgICAg
bG9vayBmb3IgYW4gSFRNTEJvZHlFbGVtZW50IChhbmQgaWdub3JlIEhUTUxGcmFtZVNldEVsZW1l
bnQpLgorCisgICAgICAgIEFsc28gdXBkYXRlIHRoZSBjb2RlIHRvIHVzZSB0aWdodGVyIHR5cGlu
ZyBmb3IgY2xhcml0eS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5n
ZS4KKworICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbkZyb21Ob25lKToKKwogMjAxNC0wOS0x
MSAgUm9nZXIgRm9uZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgYnVpbGQgZml4IGlPUy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJh
bWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHAKaW5kZXggOGQzYWUyOWRiYmU0MzRhMTYxNjlkODhjNTQ1ZjdhNTc5MDRjNWI5ZS4uZjBhYzI3
OWE4N2MwZjdiMjRlODNhZjc1ZmQ1MGM2ODFkMjA3NjM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJGcmFt
ZVRyZWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQuaCIKKyNpbmNsdWRlICJIVE1MQm9keUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVFbGVtZW50QmFzZS5oIgogI2luY2x1ZGUgIkhU
TUxJbnB1dEVsZW1lbnQuaCIKQEAgLTIxMTEsMTEgKzIxMTIsMTEgQEAgdm9pZCBGcmFtZVNlbGVj
dGlvbjo6c2V0U2VsZWN0aW9uRnJvbU5vbmUoKQogICAgICAgICByZXR1cm47CiAjZW5kaWYKIAot
ICAgIE5vZGUqIG5vZGUgPSBkb2N1bWVudC0+ZG9jdW1lbnRFbGVtZW50KCk7Ci0gICAgd2hpbGUg
KG5vZGUgJiYgIW5vZGUtPmhhc1RhZ05hbWUoYm9keVRhZykpCi0gICAgICAgIG5vZGUgPSBOb2Rl
VHJhdmVyc2FsOjpuZXh0KG5vZGUpOwotICAgIGlmIChub2RlKQotICAgICAgICBzZXRTZWxlY3Rp
b24oVmlzaWJsZVNlbGVjdGlvbihmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobm9kZSksIERP
V05TVFJFQU0pKTsKKyAgICBFbGVtZW50KiBkb2N1bWVudEVsZW1lbnQgPSBkb2N1bWVudC0+ZG9j
dW1lbnRFbGVtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudEVsZW1lbnQpCisgICAgICAgIHJldHVy
bjsKKyAgICBpZiAoYXV0byBib2R5ID0gY2hpbGRyZW5PZlR5cGU8SFRNTEJvZHlFbGVtZW50Pigq
ZG9jdW1lbnRFbGVtZW50KS5maXJzdCgpKQorICAgICAgICBzZXRTZWxlY3Rpb24oVmlzaWJsZVNl
bGVjdGlvbihmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUoYm9keSksIERPV05TVFJFQU0pKTsK
IH0KIAogYm9vbCBGcmFtZVNlbGVjdGlvbjo6c2hvdWxkQ2hhbmdlU2VsZWN0aW9uKGNvbnN0IFZp
c2libGVTZWxlY3Rpb24mIG5ld1NlbGVjdGlvbikgY29uc3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>