<?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>56967</bug_id>
          
          <creation_ts>2011-03-23 15:28:34 -0700</creation_ts>
          <short_desc>Convert summary and details elements to use new shadow DOM</short_desc>
          <delta_ts>2011-05-17 21:44:33 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          <dependson>51071</dependson>
    
    <dependson>58591</dependson>
    
    <dependson>58914</dependson>
    
    <dependson>59055</dependson>
    
    <dependson>59157</dependson>
          <blocked>48698</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>arv</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>divya</cc>
    
    <cc>dominicc</cc>
    
    <cc>kenneth</cc>
    
    <cc>lachlan.hunt</cc>
    
    <cc>luiz</cc>
    
    <cc>mathias</cc>
    
    <cc>morrita</cc>
    
    <cc>wilhelmja</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>372492</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-03-23 15:28:34 -0700</bug_when>
    <thetext>Great use case for the output ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372512</commentid>
    <comment_count>1</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2011-03-23 16:06:21 -0700</bug_when>
    <thetext>As I just have implemented the previous version I would be very interested in doing this conversion with your revision. May it be?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372513</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-03-23 16:08:00 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; As I just have implemented the previous version I would be very interested in doing this conversion with your revision. May it be?

That would be a great fit and I&apos;m sure Dimitri needs all the help he can get porting things over to using the shadow DOM. Let&apos;s see what he says.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372520</commentid>
    <comment_count>3</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-03-23 16:21:10 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; As I just have implemented the previous version I would be very interested in doing this conversion with your revision. May it be?
&gt; 
&gt; That would be a great fit and I&apos;m sure Dimitri needs all the help he can get porting things over to using the shadow DOM. Let&apos;s see what he says.

Happy to get any help I can get.

The challenge right now is that we are missing a piece of plumbing -- the ability to forward child nodes of an element down the shadow DOM subtree. The equivalent bit in XBL2 is http://dev.w3.org/2006/xbl2/#the-content-element.

For example, I imagine we design our implementation like this:

details
   div::-webkit-summary-panel -- represents the panel in which summary is laid out.
      div::-webkit-details-indicator -- represents open/closed indicator of details
      summary
   * -- any other elements.

The divs in this tree will be in the shadow DOM. The summary, although rendered as child of the shadow DOM divs, is actually a direct child of details when viewed from DOM.

Implementing this plumbing will be the first step.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372544</commentid>
    <comment_count>4</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2011-03-23 16:57:29 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (In reply to comment #1)
&gt; &gt; &gt; As I just have implemented the previous version I would be very interested in doing this conversion with your revision. May it be?
&gt; &gt; 
&gt; &gt; That would be a great fit and I&apos;m sure Dimitri needs all the help he can get porting things over to using the shadow DOM. Let&apos;s see what he says.
&gt; 
&gt; Happy to get any help I can get.
&gt; 
&gt; The challenge right now is that we are missing a piece of plumbing -- the ability to forward child nodes of an element down the shadow DOM subtree. The equivalent bit in XBL2 is http://dev.w3.org/2006/xbl2/#the-content-element.
&gt; 
&gt; For example, I imagine we design our implementation like this:
&gt; 
&gt; details
&gt;    div::-webkit-summary-panel -- represents the panel in which summary is laid out.
&gt;       div::-webkit-details-indicator -- represents open/closed indicator of details
&gt;       summary
&gt;    * -- any other elements.
&gt; 
&gt; The divs in this tree will be in the shadow DOM. The summary, although rendered as child of the shadow DOM divs, is actually a direct child of details when viewed from DOM.
&gt; 
&gt; Implementing this plumbing will be the first step.

I will be happy to help. I will start looking at these issues tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381251</commentid>
    <comment_count>5</comment_count>
    <who name="Lachlan Hunt">lachlan.hunt</who>
    <bug_when>2011-04-07 05:42:40 -0700</bug_when>
    <thetext>For reference, Opera&apos;s experience with attempting to implement this was posted to the WHATWG list.

http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-April/031132.html

Our own conclusion at Opera was that depending too heavily on bindings created too many problems, and we came up with a far simpler approach reusing mostly existing CSS infrastructure that actually had several advantages, and significantly minimised the impact that shadow content had upon the layout.  We&apos;d be happy to discuss these issues with you, and of course would ultimately like our implementations to be compatible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385019</commentid>
    <comment_count>6</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-13 11:12:11 -0700</bug_when>
    <thetext>*** Bug 58455 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385159</commentid>
    <comment_count>7</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-04-13 12:53:18 -0700</bug_when>
    <thetext>I just started to investigate this.
I think the first step is to give a shadow element for RenderDetailsMarker.
We can introduce node forwarding mechanism after that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385160</commentid>
    <comment_count>8</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-13 12:55:15 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I just started to investigate this.
&gt; I think the first step is to give a shadow element for RenderDetailsMarker.
&gt; We can introduce node forwarding mechanism after that.

Great! Note that my diagram above is wrong. The marker should be in the shadow DOM of the &lt;summary&gt;, because the marker should hit-test as part of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395333</commentid>
    <comment_count>9</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-29 10:29:15 -0700</bug_when>
    <thetext>This is fixed now, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395361</commentid>
    <comment_count>10</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-04-29 10:57:28 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; This is fixed now, right?
Bug 59157 is the last bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405283</commentid>
    <comment_count>11</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2011-05-17 14:14:56 -0700</bug_when>
    <thetext>may we close it now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405505</commentid>
    <comment_count>12</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-05-17 21:44:33 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; may we close it now?
Hi Luiz, Thanks for your catch! closing now.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>