<?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>56505</bug_id>
          
          <creation_ts>2011-03-16 16:59:38 -0700</creation_ts>
          <short_desc>Add a test for r81266 and fix HTML Editing for fallback contents in object element</short_desc>
          <delta_ts>2011-03-18 17:16:08 -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>All</rep_platform>
          <op_sys>All</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>53564</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>leviw</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>368654</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-16 16:59:38 -0700</bug_when>
    <thetext>As a regression fix, http://trac.webkit.org/changeset/81266 partially fixed a bug in canHaveChildrenForEditing that WebKit used to ignore contents inside hr and datagrid elements even if those elements had child nodes.  We should also fix a bug that it returns false for object element even when it uses fallback content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368684</commentid>
    <comment_count>1</comment_count>
      <attachid>86010</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-16 17:42:25 -0700</bug_when>
    <thetext>Created attachment 86010
56505</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368791</commentid>
    <comment_count>2</comment_count>
      <attachid>86010</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-03-16 20:36:42 -0700</bug_when>
    <thetext>Comment on attachment 86010
56505

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

Looks like only the last case&apos;s &quot;world&quot; is bolded. I assuem that&apos;s a bug in the test case.

&gt; LayoutTests/editing/editability/ignored-content.html:34
&gt; +for (var i = 0; i &lt; (text.length + 1) * test.childNodes.length - 1; i++)
&gt; +    window.getSelection().modify(&apos;extend&apos;, &apos;forward&apos;, &apos;character&apos;);

for loops should always have curly braces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368817</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-16 22:27:37 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 86010 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=86010&amp;action=review
&gt; 
&gt; Looks like only the last case&apos;s &quot;world&quot; is bolded. I assuem that&apos;s a bug in the test case.

I don&apos;t quite get what you mean by only the last case is bolded.  As far as I can see in the following expected result, &quot;world&quot; is a child of b element in each of the tree cases:

&gt; LayoutTests/editing/editability/ignored-content-expected.txt:18
&gt; +| &lt;hr&gt;
&gt; +|   &quot;hello &quot;
&gt; +|   &lt;b&gt;                       &lt;- here
&gt; +|     &quot;world&quot;
&gt; +|   &quot; WebKit&quot;
&gt; +| &lt;datagrid&gt;
&gt; +|   &quot;hello &quot;
&gt; +|   &lt;b&gt;                       &lt;- here
&gt; +|     &quot;world&quot;
&gt; +|   &quot; WebKit&quot;
&gt; +| &lt;object&gt;
&gt; +|   &quot;hello &quot;
&gt; +|   &lt;b&gt;                       &lt;- here
&gt; +|     &quot;&lt;#selection-anchor&gt;world&lt;#selection-focus&gt;&quot;
&gt; +|   &quot; WebKit&quot;

&gt;&gt; LayoutTests/editing/editability/ignored-content.html:34
&gt;&gt; +    window.getSelection().modify(&apos;extend&apos;, &apos;forward&apos;, &apos;character&apos;);
&gt; 
&gt; for loops should always have curly braces.

I don&apos;t think that&apos;s right.  See the 3rd example in &quot;Spacing&quot; section of http://www.webkit.org/coding/coding-style.html.

Also see:
http://trac.webkit.org/browser/trunk/Source/WebCore/dom/Node.cpp#L827
http://trac.webkit.org/browser/trunk/Source/WebCore/dom/Node.cpp#L992
http://trac.webkit.org/browser/trunk/Source/WebCore/dom/Node.cpp#L1003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369535</commentid>
    <comment_count>4</comment_count>
      <attachid>86010</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-03-18 00:10:30 -0700</bug_when>
    <thetext>Comment on attachment 86010
56505

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

Sorry, I misread the test case and apparently I&apos;m just wrong about for loops.

&gt; Source/WebCore/editing/htmlediting.cpp:83
&gt; +        &amp;&amp; (!node-&gt;hasTagName(objectTag) || static_cast&lt;const HTMLObjectElement*&gt;(node)-&gt;useFallbackContent())

How can you know that this will be an HTMLObjectElement?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369537</commentid>
    <comment_count>5</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-03-18 00:11:08 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 86010 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=86010&amp;action=review
&gt; 
&gt; Sorry, I misread the test case and apparently I&apos;m just wrong about for loops.
&gt; 
&gt; &gt; Source/WebCore/editing/htmlediting.cpp:83
&gt; &gt; +        &amp;&amp; (!node-&gt;hasTagName(objectTag) || static_cast&lt;const HTMLObjectElement*&gt;(node)-&gt;useFallbackContent())
&gt; 
&gt; How can you know that this will be an HTMLObjectElement?

Ugh. Ignore me. I can&apos;t read today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370027</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-18 17:15:39 -0700</bug_when>
    <thetext>Committed r81537: &lt;http://trac.webkit.org/changeset/81537&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370028</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-18 17:16:08 -0700</bug_when>
    <thetext>Thanks for the review, Ojan.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86010</attachid>
            <date>2011-03-16 17:42:25 -0700</date>
            <delta_ts>2011-03-18 00:11:41 -0700</delta_ts>
            <desc>56505</desc>
            <filename>bug-56505-20110316174223.patch</filename>
            <type>text/plain</type>
            <size>5037</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxMzAyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDMtMTYgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCBmb3IgcjgxMjY2IGFuZCBmaXggSFRNTCBFZGl0
aW5nIGZvciBmYWxsYmFjayBjb250ZW50cyBpbiBvYmplY3QgZWxlbWVudAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY1MDUKKworICAgICAgICBUaGUg
YnVnIHdhcyBjYXVzZWQgYnkgY2FuSGF2ZUNoaWxkcmVuRm9yRWRpdGluZydzIGFsd2F5cyByZXR1
cm5pbmcgZmFsc2UgZXZlbiB3aGVuCisgICAgICAgIG9iamVjdCBlbGVtZW50IHVzZWQgZmFsbGJh
Y2sgY29udGVudC4gRml4ZWQgdGhlIGJ1ZyBieSBhZGRpbmcgYSBjaGVjay4KKworICAgICAgICBU
ZXN0OiBlZGl0aW5nL2VkaXRhYmlsaXR5L2lnbm9yZWQtY29udGVudC5odG1sCisKKyAgICAgICAg
KiBlZGl0aW5nL2h0bWxlZGl0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhbkhhdmVDaGls
ZHJlbkZvckVkaXRpbmcpOgorCiAyMDExLTAzLTE2ICBLZWl0aCBLeXppdmF0ICA8a2VpdGgua3l6
aXZhdEBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCShyZXZpc2lvbiA4MTI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiSFRNTEludGVyY2hhbmdlLmgiCiAjaW5jbHVk
ZSAiSFRNTExJRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhU
TUxPYmplY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9MaXN0RWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxVTGlzdEVsZW1lbnQuaCIKICNpbmNsdWRlICJQb3NpdGlvbkl0ZXJhdG9yLmgiCkBA
IC03OSw3ICs4MCw3IEBAIGJvb2wgY2FuSGF2ZUNoaWxkcmVuRm9yRWRpdGluZyhjb25zdCBOb2QK
ICAgICAgICAgJiYgIW5vZGUtPmhhc1RhZ05hbWUoYnV0dG9uVGFnKQogICAgICAgICAmJiAhbm9k
ZS0+aGFzVGFnTmFtZShpbnB1dFRhZykKICAgICAgICAgJiYgIW5vZGUtPmhhc1RhZ05hbWUodGV4
dGFyZWFUYWcpCi0gICAgICAgICYmICFub2RlLT5oYXNUYWdOYW1lKG9iamVjdFRhZykKKyAgICAg
ICAgJiYgKCFub2RlLT5oYXNUYWdOYW1lKG9iamVjdFRhZykgfHwgc3RhdGljX2Nhc3Q8Y29uc3Qg
SFRNTE9iamVjdEVsZW1lbnQqPihub2RlKS0+dXNlRmFsbGJhY2tDb250ZW50KCkpCiAgICAgICAg
ICYmICFub2RlLT5oYXNUYWdOYW1lKGlmcmFtZVRhZykKICAgICAgICAgJiYgIW5vZGUtPmhhc1Rh
Z05hbWUoZW1iZWRUYWcpCiAgICAgICAgICYmICFub2RlLT5oYXNUYWdOYW1lKGFwcGxldFRhZykK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDgxMzAyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDMtMTYgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGEgdGVzdCBmb3IgcjgxMjY2IGFuZCBmaXggSFRNTCBFZGl0aW5nIGZvciBm
YWxsYmFjayBjb250ZW50cyBpbiBvYmplY3QgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY1MDUKKworICAgICAgICBBZGRlZCBhIHRlc3Qg
dG8gZWRpdCBjb250ZW50cyBvZiBociBhbmQgZGF0YWdyaWQgYW5kIG9iamVjdCdzIGZhbGxiYWNr
IGNvbnRlbnQuCisKKyAgICAgICAgKiBlZGl0aW5nL2VkaXRhYmlsaXR5L2lnbm9yZWQtY29udGVu
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZWRpdGFiaWxpdHkvaWdu
b3JlZC1jb250ZW50Lmh0bWw6IEFkZGVkLgorCiAyMDExLTAzLTE2ICBEYXZpZCBMZXZpbiAgPGxl
dmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbnMgZHVl
IHRvIHI4MTI4MCAobWVkaWEvY29udHJvbHMtd2l0aG91dC1wcmVsb2FkLmh0bWwpLApJbmRleDog
TGF5b3V0VGVzdHMvZWRpdGluZy9lZGl0YWJpbGl0eS9pZ25vcmVkLWNvbnRlbnQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvZWRpdGFiaWxpdHkvaWdub3Jl
ZC1jb250ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRp
bmcvZWRpdGFiaWxpdHkvaWdub3JlZC1jb250ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwzNSBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgV2ViS2l0IGRvZXMgbm90IGlnbm9y
ZSB0aGUgY29udGVudCBvZiBociwgZGF0YWdyaWQsIGFuZCBvYmplY3Qgd2l0aCBjaGlsZCBub2Rl
cy4KKworIndvcmxkIiBhbmQgb25seSAid29ybGQiIHNob3VsZCBiZSBib2xkZWQgaW4gZWFjaCBl
bGVtZW50IGJlbG93OgorfCA8aHI+Cit8ICAgImhlbGxvICIKK3wgICA8Yj4KK3wgICAgICJ3b3Js
ZCIKK3wgICAiIFdlYktpdCIKK3wgPGRhdGFncmlkPgorfCAgICJoZWxsbyAiCit8ICAgPGI+Cit8
ICAgICAid29ybGQiCit8ICAgIiBXZWJLaXQiCit8IDxvYmplY3Q+Cit8ICAgImhlbGxvICIKK3wg
ICA8Yj4KK3wgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+d29ybGQ8I3NlbGVjdGlvbi1mb2N1cz4i
Cit8ICAgIiBXZWJLaXQiCisKK1RoZSByZXN1bHQgYmVsb3cgc2hvdWxkIGJlIGlkZW50aWNhbCB0
byB0aGUgcmVzdWx0IGFib3ZlOgorfCA8aHI+Cit8ICAgImhlbGxvICIKK3wgICA8Yj4KK3wgICAg
ICJ3b3JsZCIKK3wgICAiIFdlYktpdCIKK3wgPGRhdGFncmlkPgorfCAgICJoZWxsbyAiCit8ICAg
PGI+Cit8ICAgICAid29ybGQiCit8ICAgIiBXZWJLaXQiCit8IDxvYmplY3Q+Cit8ICAgImhlbGxv
ICIKK3wgICA8Yj4KK3wgICAgICJ3b3JsZCIKK3wgICAiIFdlYktpdCIKSW5kZXg6IExheW91dFRl
c3RzL2VkaXRpbmcvZWRpdGFiaWxpdHkvaWdub3JlZC1jb250ZW50Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZWRpdGluZy9lZGl0YWJpbGl0eS9pZ25vcmVkLWNvbnRlbnQuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvZWRpdGFiaWxpdHkvaWdub3JlZC1j
b250ZW50Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgZGl2ID4gKiB7Cisg
ICAgIGRpc3BsYXk6IGJsb2NrOworIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYg
aWQ9InRlc3QiIGNvbnRlbnRlZGl0YWJsZT48aHI+PGRhdGFncmlkPjwvZGF0YWdyaWQ+PG9iamVj
dD48L29iamVjdD48L2Rpdj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKwordmFyIHRlc3QgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgndGVzdCcpOwordGVzdC5mb2N1cygpOworCitNYXJrdXAuZGVzY3JpcHRpb24o
J1RoaXMgdGVzdCBlbnN1cmVzIFdlYktpdCBkb2VzIG5vdCBpZ25vcmUgdGhlIGNvbnRlbnQgb2Yg
aHIsIGRhdGFncmlkLCBhbmQgb2JqZWN0IHdpdGggY2hpbGQgbm9kZXMuJykKKwordmFyIHRleHQg
PSAnaGVsbG8gd29ybGQgV2ViS2l0JzsKKworZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0LmNoaWxk
Tm9kZXMubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZSh0ZXh0KTsKKyAgICB0ZXN0LmNoaWxkTm9kZXNbaV0uYXBwZW5kQ2hpbGQodGV4dE5v
ZGUpOworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KHRleHROb2Rl
LCA2LCB0ZXh0Tm9kZSwgMTEpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdib2xkJywgZmFs
c2UsIG51bGwpOworfQorCitNYXJrdXAuZHVtcCh0ZXN0LCAnIndvcmxkIiBhbmQgb25seSAid29y
bGQiIHNob3VsZCBiZSBib2xkZWQgaW4gZWFjaCBlbGVtZW50IGJlbG93Jyk7CisKK3dpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbih0ZXN0LCAwKTsKKworZm9yICh2YXIgaSA9IDA7IGkg
PCAodGV4dC5sZW5ndGggKyAxKSAqIHRlc3QuY2hpbGROb2Rlcy5sZW5ndGggLSAxOyBpKyspCisg
ICAgd2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnZXh0ZW5kJywgJ2ZvcndhcmQnLCAnY2hh
cmFjdGVyJyk7CisKK3ZhciByYW5nZSA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5nZXRSYW5nZUF0
KDApLmNsb25lQ29udGVudHMoKTsKKworTWFya3VwLmR1bXAocmFuZ2UsICdUaGUgcmVzdWx0IGJl
bG93IHNob3VsZCBiZSBpZGVudGljYWwgdG8gdGhlIHJlc3VsdCBhYm92ZScpOworCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="78220"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>