<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=ISO-8859-1">
    <meta name="Generator" content="Microsoft Word 14 (filtered medium)">
    <style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri","sans-serif";}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Segoe UI","sans-serif";
        color:windowtext;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Segoe UI","sans-serif";
        color:#1F497D;
        font-weight:normal;
        font-style:normal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Implementation issues with the Drawing Model [1] have been floating
    around for some time.<br>
    For whatever reasons, Microsoft is not willing to publicly discuss
    their issue with the spec,<br>
    beyond the scant details listed below.<br>
    <br>
    That's fine and all.. I'm bringing it to the WHATWG's attention
    because it seems to me<br>
    like some of the confusion could be avoided were a "standard" PNG
    photo available,<br>
    demonstrating proper behavior.<br>
    <br>
    I thought this issue was resolved some time ago, but it keeps coming
    up.<br>
    I don't fault anyone, it's a very subtle part of the spec.<br>
    <br>
    This reference image helped me communicate with Robert (Mozilla)
    last year, about the drawing model section.<br>
    Screen cap:<br>
    <a class="moz-txt-link-freetext" href="http://imgur.com/zUu66.png">http://imgur.com/zUu66.png</a>
    <br>
    Generated from:<br>
    <a class="moz-txt-link-freetext"
      href="https://developer.mozilla.org/en/Canvas_tutorial/Compositing">https://developer.mozilla.org/en/Canvas_tutorial/Compositing</a>
    <br>
    Thread:<br>
    <a class="moz-txt-link-freetext"
href="http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-December/024316.html">http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-December/024316.html</a>
    <br>
    <br>
    There seems to still be some disagreement over composting:<br>
    <a class="moz-txt-link-freetext"
      href="https://bugs.webkit.org/show_bug.cgi?id=39177">https://bugs.webkit.org/show_bug.cgi?id=39177</a>
    <br>
    <br>
    I thought we had a handle on this, following some slight changes to
    the spec by Ian:<br>
    <a class="moz-txt-link-freetext"
href="http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023706.html">http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023706.html</a>
    <br>
    <br>
    Apparently it's not handled yet.<br>
    <br>
    Sending out a flare, hoping that we can get this issue put to rest
    before the next round<br>
    of major releases.<br>
    <br>
    <br>
    -Charles<br>
    <br>
    Below are the only public comments I'm aware of, that MS has posted
    on the issue:<br>
    <a class="moz-txt-link-freetext"
href="http://lists.w3.org/Archives/Public/public-canvas-api/2010OctDec/0070.html">http://lists.w3.org/Archives/Public/public-canvas-api/2010OctDec/0070.html</a>
    <br>
    Earlier thread... <br>
    <a class="moz-txt-link-freetext"
href="http://lists.w3.org/Archives/Public/public-canvas-api/2010AprJun/0046.html">http://lists.w3.org/Archives/Public/public-canvas-api/2010AprJun/0046.html</a>
    <br>
    <br>
    These comments lack the detail necessary to provide feedback. <br>
    <br>
    <br>
    -------- Original Message --------
    <table class="moz-email-headers-table" border="0" cellpadding="0"
      cellspacing="0">
      <tbody>
        <tr>
          <th nowrap="nowrap" align="RIGHT" valign="BASELINE">Subject: </th>
          <td>RE: Inconsistent behaviour of globalCompositeOperation
            property</td>
        </tr>
        <tr>
          <th nowrap="nowrap" align="RIGHT" valign="BASELINE">Resent-Date:

          </th>
          <td>Wed, 15 Dec 2010 23:47:24 +0000</td>
        </tr>
        <tr>
          <th nowrap="nowrap" align="RIGHT" valign="BASELINE">Resent-From:

          </th>
          <td><a class="moz-txt-link-abbreviated"
              href="mailto:public-canvas-api@w3.org">public-canvas-api@w3.org</a></td>
        </tr>
        <tr>
          <th nowrap="nowrap" align="RIGHT" valign="BASELINE">Date: </th>
          <td>Wed, 15 Dec 2010 23:45:39 +0000</td>
        </tr>
        <tr>
          <th nowrap="nowrap" align="RIGHT" valign="BASELINE">From: </th>
          <td>Jatinder Mann <a class="moz-txt-link-rfc2396E"
              href="mailto:jmann@microsoft.com"><jmann@microsoft.com></a></td>
        </tr>
        <tr>
          <th nowrap="nowrap" align="RIGHT" valign="BASELINE">To: </th>
          <td><a class="moz-txt-link-abbreviated"
              href="mailto:public-canvas-api@w3.org">public-canvas-api@w3.org</a>
            <a class="moz-txt-link-rfc2396E"
              href="mailto:public-canvas-api@w3.org"><public-canvas-api@w3.org></a></td>
        </tr>
      </tbody>
    </table>
    <br>
    <br>
    <meta http-equiv="Content-Type" content="text/html;
      charset=ISO-8859-1">
    <meta name="Generator" content="Microsoft Word 14 (filtered medium)">
    <style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri","sans-serif";}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Segoe UI","sans-serif";
        color:windowtext;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Segoe UI","sans-serif";
        color:#1F497D;
        font-weight:normal;
        font-style:normal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
    <div class="WordSection1">
      <p class="MsoNormal"><span style="color: black;">We initially felt
          that the Drawing Model [1], as written in the spec, was
          incorrectly defined. We have since consulted with many
          graphics experts, and it appears that the spec as written, and
          implemented by Firefox and Opera, is the correct definition of
          Porter-Duff and composition operations, and its behavior is
          acceptable. <o:p></o:p></span></p>
      <p class="MsoNormal" style="margin-left: 0.5in;"><span
          style="color: black;"><o:p> </o:p></span></p>
      <p class="MsoNormal"><span style="color: black;">Thanks,<o:p></o:p></span></p>
      <p class="MsoNormal"><span style="color: black;">Jatinder<o:p></o:p></span></p>
      <p class="MsoNormal" style="margin-left: 0.5in;"><span
          style="color: black;"><o:p> </o:p></span></p>
      <p class="MsoPlainText">[1] <a moz-do-not-send="true"
          href="http://dev.w3.org/html5/2dcontext/#drawing-model">
          http://dev.w3.org/html5/2dcontext/#drawing-model</a> <o:p></o:p></p>
      <p class="MsoNormal" style="margin-left: 0.5in;"><span
          style="color: black;"><o:p> </o:p></span></p>
      <p class="MsoPlainText">Jatinder Mann | Microsoft Program Manager
        | <a moz-do-not-send="true" href="mailto:jmann@microsoft.com">
          jmann@microsoft.com</a><o:p></o:p></p>
      <p class="MsoNormal"><span style="font-size: 10pt; font-family:
          "Segoe UI","sans-serif"; color: rgb(31,
          73, 125);"><o:p> </o:p></span></p>
      <div>
        <div style="border-width: 1pt medium medium; border-style: solid
          none none; border-color: rgb(181, 196, 223)
          -moz-use-text-color -moz-use-text-color; padding: 3pt 0in
          0in;">
          <p class="MsoNormal"><b><span style="font-size: 10pt;
                font-family: "Tahoma","sans-serif";">From:</span></b><span
              style="font-size: 10pt; font-family:
              "Tahoma","sans-serif";"> <a
                class="moz-txt-link-abbreviated"
                href="mailto:public-canvas-api-request@w3.org">public-canvas-api-request@w3.org</a>
              [<a class="moz-txt-link-freetext"
                href="mailto:public-canvas-api-request@w3.org">mailto:public-canvas-api-request@w3.org</a>]
              <b>On Behalf Of </b>Jatinder Mann<br>
              <b>Sent:</b> Tuesday, May 25, 2010 11:57 AM<br>
              <b>To:</b> <a class="moz-txt-link-abbreviated"
                href="mailto:public-canvas-api@w3.org">public-canvas-api@w3.org</a><br>
              <b>Subject:</b> Inconsistent behaviour of
              globalCompositeOperation property<o:p></o:p></span></p>
        </div>
      </div>
      <p class="MsoNormal"><o:p> </o:p></p>
      <p class="MsoPlainText">As we were reviewing the
        globalCompositeOperation property [1] of the Canvas 2D Context,
        we have noticed that there is a large inconsistency with the way
        web browsers implement this property.<o:p></o:p></p>
      <p class="MsoPlainText"><o:p> </o:p></p>
      <p class="MsoPlainText">Firefox 3.6.3 and Opera 10.5 have a
        similar behaviour that matches the current version of the Canvas
        2D Context spec. Chrome 4.1 and Safari 4.0.5 behave similarly to
        each other, albeit differently from the spec. Today, web
        developers cannot reliably use this property in designing their
        webpages due to this interoperability issue. <o:p></o:p></p>
      <p class="MsoPlainText"><o:p> </o:p></p>
      <p class="MsoPlainText">We consider that the Safari implementation
        of the Drawing Model makes more sense from a web developer point
        of view. Most of the Canvas APIs are applied to the next
        primitive being drawn. However, the clipping behavior, as
        defined in the current Drawing Model [2], affects the current
        contents of the Canvas outside of the current primitive being
        drawn. The Safari Drawing Model calls for the clipping region to
        only affect the current primitive being drawn. <o:p></o:p></p>
      <p class="MsoPlainText"><o:p> </o:p></p>
      <p class="MsoPlainText">We recommend updating the spec to match
        the Safari Drawing Model. We would like to discuss this area in
        more detail.<o:p></o:p></p>
      <p class="MsoPlainText"><o:p> </o:p></p>
      <p class="MsoPlainText">Thank you,<o:p></o:p></p>
      <p class="MsoPlainText">Jatinder<o:p></o:p></p>
      <p class="MsoPlainText"><o:p> </o:p></p>
      <p class="MsoPlainText">[1] <a moz-do-not-send="true"
          href="http://dev.w3.org/html5/2dcontext/#compositing">
          http://dev.w3.org/html5/2dcontext/#compositing</a>  <o:p></o:p></p>
      <p class="MsoPlainText">[2] <a moz-do-not-send="true"
          href="http://dev.w3.org/html5/2dcontext/#drawing-model">
          http://dev.w3.org/html5/2dcontext/#drawing-model</a> <o:p></o:p></p>
      <p class="MsoPlainText"><o:p> </o:p></p>
      <p class="MsoPlainText">Jatinder Mann | Microsoft Program Manager
        | <a moz-do-not-send="true" href="mailto:jmann@microsoft.com">
          jmann@microsoft.com</a><o:p></o:p></p>
      <p class="MsoNormal"><o:p> </o:p></p>
    </div>
  </body>
</html>