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

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>13954</bug_id>
          
          <creation_ts>2011-08-29 18:22:42 +0000</creation_ts>
          <short_desc>Define DOM mutation operations that automatically check for editability</short_desc>
          <delta_ts>2015-07-30 23:47:11 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebAppsWG</product>
          <component>HISTORICAL - HTML Editing APIs</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Aryeh Gregor">ayg</reporter>
          <assigned_to name="Aryeh Gregor">ayg</assigned_to>
          <cc>ehsan</cc>
    
    <cc>mike</cc>
    
    <cc>public-webapps</cc>
          <deadline>2015-07-30</deadline>
          <qa_contact name="HTML Editing APIs spec bugbot">sideshowbarker+html-editing-api</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>55994</commentid>
    <comment_count>0</comment_count>
    <who name="Aryeh Gregor">ayg</who>
    <bug_when>2011-08-29 18:22:42 +0000</bug_when>
    <thetext>Currently I do lots of DOM operations where I first check whether the nodes are editable/editing hosts/etc.  This should be moved to some kind of wrapper, so that all DOM mutations in the spec are invoking some subroutine that does the checks.  I&apos;ll still need to do editability checks elsewhere, but this will make them more idiot-proof.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56063</commentid>
    <comment_count>1</comment_count>
    <who name="Ehsan Akhgari [:ehsan]">ehsan</who>
    <bug_when>2011-08-30 19:39:09 +0000</bug_when>
    <thetext>Also, as part of the editability checks, we should make sure that the node to be tested falls into the active editing host.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56069</commentid>
    <comment_count>2</comment_count>
    <who name="Aryeh Gregor">ayg</who>
    <bug_when>2011-08-30 20:23:44 +0000</bug_when>
    <thetext>Should we?  What does &quot;active&quot; mean?  If you have two editing hosts and the user selects across both of them and hits delete, shouldn&apos;t it delete from both of them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56181</commentid>
    <comment_count>3</comment_count>
    <who name="Ehsan Akhgari [:ehsan]">ehsan</who>
    <bug_when>2011-09-01 14:42:03 +0000</bug_when>
    <thetext>(In reply to comment #2)
&gt; Should we?  What does &quot;active&quot; mean?

The editing host in which the selection focus node falls into (at least, this is what Gecko has started to use).

&gt; If you have two editing hosts and the
&gt; user selects across both of them and hits delete, shouldn&apos;t it delete from both
&gt; of them?

That is a tough question to answer, but my intuitive answer would be &quot;no&quot;.  It really depends on what those two editing hosts are trying to implement, but I think that web authors would be surprised if multiple editing hosts accept commands across each other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56186</commentid>
    <comment_count>4</comment_count>
    <who name="Aryeh Gregor">ayg</who>
    <bug_when>2011-09-01 15:05:06 +0000</bug_when>
    <thetext>Currently I don&apos;t have any concept of active editing hosts in the spec.  I&apos;m not sure what the advantage is.  It seems like added complexity, compared to just treating all editable elements the same, so I&apos;m reluctant to introduce the concept at all without specific use-cases that make it clear we need it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56192</commentid>
    <comment_count>5</comment_count>
    <who name="Ehsan Akhgari [:ehsan]">ehsan</who>
    <bug_when>2011-09-01 16:07:28 +0000</bug_when>
    <thetext>OK, imagine Google Spreadsheets as an example.  Let&apos;s say there is a huge table element and each cell contains a contentEditable div.  Do we really want selections across table cells to behave in the way you describe in comment 2?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56195</commentid>
    <comment_count>6</comment_count>
    <who name="Aryeh Gregor">ayg</who>
    <bug_when>2011-09-01 17:10:41 +0000</bug_when>
    <thetext>I&apos;d think so, yes.  If the user selects a bunch of text and hits delete, they&apos;d expect it to all get deleted.  Anything else would be confusing.  Of course, the UA might prevent them from creating such selections in the first place, as a UI issue.  But if such a selection is created somehow, I don&apos;t see why it should behave other than I describe.

I&apos;m not sure why you&apos;d want to make each cell a separate editing host in your use-case, though.  Why not just make the whole table one big editing host?  (Other than the fact that there aren&apos;t any table editing features yet.)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>