<?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>21906</bug_id>
          
          <creation_ts>2008-10-27 15:33:57 -0700</creation_ts>
          <short_desc>[Transforms] Double focus rings on text fields with transforms</short_desc>
          <delta_ts>2008-11-08 17:09:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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>21941</dependson>
          <blocked>15670</blocked>
    
    <blocked>18751</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>hyatt</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>96792</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-10-27 15:33:57 -0700</bug_when>
    <thetext>When a text field is inside a transformed element, and the text field has focus, then double focus rings show up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96796</commentid>
    <comment_count>1</comment_count>
      <attachid>24696</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-10-27 15:35:39 -0700</bug_when>
    <thetext>Created attachment 24696
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96797</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-10-27 15:36:24 -0700</bug_when>
    <thetext>The problem is in RenderFlow::addFocusRingRects(), which has this code:

    if (!hasOverflowClip() &amp;&amp; !hasControlClip()) {
        for (InlineRunBox* curr = firstLineBox(); curr; curr = curr-&gt;nextLineBox())
            graphicsContext-&gt;addFocusRingRect(IntRect(tx + curr-&gt;xPos(), ty + curr-&gt;yPos(), curr-&gt;width(), curr-&gt;height()));

        for (RenderObject* curr = firstChild(); curr; curr = curr-&gt;nextSibling())
            if (!curr-&gt;isText() &amp;&amp; !curr-&gt;isListMarker()) {
                int x = 0;
                int y = 0;
                if (curr-&gt;layer()) 
                    curr-&gt;absolutePosition(x, y);
                else {
                    x = tx + curr-&gt;xPos();
                    y = ty + curr-&gt;yPos();
                }
                curr-&gt;addFocusRingRects(graphicsContext, x, y);
            }
    }

It&apos;s using absolutePosition(), which does not respect transforms, so is adding an additional, offset rect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97980</commentid>
    <comment_count>3</comment_count>
      <attachid>24976</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-11-07 16:41:54 -0800</bug_when>
    <thetext>Created attachment 24976
Patch, testcase

This is a nasty fix and I don&apos;t like it, but I can&apos;t think of another way.

The problem is that RenderFlow::addFocusRingRects() is computing an absolute rect for the focus ring of a child, but there&apos;s a transform in the parent chain (so the CTM has been changed). The only way to really fix this is to have each child of the RenderFlow draw its own part of the focus ring (since one of those children may be transformed). Amassing a set of focus rects as the code does not is never going to work correctly in all cases.

However, this patch fixes the simple case of a transformed &lt;input&gt; or &lt;textarea&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97998</commentid>
    <comment_count>4</comment_count>
      <attachid>24976</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-11-07 23:23:33 -0800</bug_when>
    <thetext>Comment on attachment 24976
Patch, testcase

r=me, I guess this FIXME can go now too

                 // FIXME: This doesn&apos;t work correctly with transforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98016</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-11-08 09:13:17 -0800</bug_when>
    <thetext>Actually, it&apos;s pretty crazy that text fields are adding focus rects for their internal bits; you&apos;d think that the one enclosing focus rect would be enough. I&apos;ll see if I can clean that up before committing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98021</commentid>
    <comment_count>6</comment_count>
      <attachid>24993</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-11-08 11:31:32 -0800</bug_when>
    <thetext>Created attachment 24993
Better patch, testcase, changelog

I think this is a much better solution for text controls, as long as the basic premise is sound:

Override addFocusRingRects() in RenderTextControl to avoid
the RenderFlow behavior of recursing on descendent renderers.
RenderTextControl should only ever need a simple focus rect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98024</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-11-08 11:39:17 -0800</bug_when>
    <thetext>I filed bug 22140 on fixing focus ring drawing in RenderFlow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98044</commentid>
    <comment_count>8</comment_count>
      <attachid>24993</attachid>
    <who name="">mitz</who>
    <bug_when>2008-11-08 16:49:22 -0800</bug_when>
    <thetext>Comment on attachment 24993
Better patch, testcase, changelog

&gt; +        Test: fast/repaint/focus-input-transforms.html

I think the test doesn&apos;t belong under repaint/. fast/transforms/ or fast/forms/ make more sense.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98045</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-11-08 17:09:54 -0800</bug_when>
    <thetext>I moved the test.

Committed r38237
	M	WebCore/rendering/RenderTextControl.cpp
	M	WebCore/rendering/RenderTextControl.h
	M	WebCore/ChangeLog
	A	LayoutTests/platform/mac/fast/transforms/transformed-focused-text-input-expected.checksum
	A	LayoutTests/platform/mac/fast/transforms/transformed-focused-text-input-expected.png
	A	LayoutTests/platform/mac/fast/transforms/transformed-focused-text-input-expected.txt
	M	LayoutTests/ChangeLog
	A	LayoutTests/fast/transforms/transformed-focused-text-input.html
	M	LayoutTests/fast/repaint/focus-layers.html
r38237 = 1839efcf87312aaa069b331729a145fe93056587 (trunk)
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>24696</attachid>
            <date>2008-10-27 15:35:39 -0700</date>
            <delta_ts>2008-10-27 15:35:39 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>transformed_text_field.html</filename>
            <type>text/html</type>
            <size>550</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cgo8aHRtbCBs
YW5nPSJlbiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8dGl0bGU+VHJhbnNmb3JtZWQgVGV4dCBG
aWVsZHM8L3RpdGxlPgogIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNj
YWxlPTEuMCIgLz4KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgoKICAg
IGJvZHkgewogICAgICBtYXJnaW46IDIwcHg7CiAgICB9CiAgICAjb25lIHsKICAgICAgLXdlYmtp
dC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDBweCwgMTAwcHgpOwogICAgfQogICAgPC9zdHlsZT4K
PC9oZWFkPgo8Ym9keT4KCjxkaXYgaWQ9Im9uZSI+CjxwPlRyYW5zbGF0ZWQ6IDxpbnB1dCB0eXBl
PSJ0ZXh0Ij48L3A+CjwvZGl2PgoKPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24976</attachid>
            <date>2008-11-07 16:41:54 -0800</date>
            <delta_ts>2008-11-08 11:31:32 -0800</delta_ts>
            <desc>Patch, testcase</desc>
            <filename>21906_patch.txt</filename>
            <type>text/plain</type>
            <size>4269</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9mb2N1cy1pbnB1dC10cmFuc2Zv
cm1zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZm9jdXMtaW5wdXQtdHJhbnNmb3Jt
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2OTQxNjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZm9jdXMtaW5wdXQtdHJhbnNm
b3Jtcy5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiPgorICBkaXYgeworICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxl
ZnQ7CisgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMGRlZyk7CisgIH0KKzwvc3R5bGU+
CisKKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKyAgPGlucHV0IHR5cGU9InRleHQiIHZhbHVlPSIi
IGlkPSJsaW5rIj4KKzwvZGl2PgorCis8c2NyaXB0PgorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2xpbmsnKS5mb2N1cygpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZm9jdXMtbGF5ZXJzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvZm9jdXMtbGF5ZXJzLmh0bWwKaW5kZXggYjA3M2NiNS4uMmEwYTZlMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZvY3VzLWxheWVycy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9mb2N1cy1sYXllcnMuaHRtbApAQCAtMTgsMTIg
KzE4LDExIEBAIGEgc3BhbnsKIDxib2R5PgogPGRpdj4KIAotQm90aCA8YSBocmVmPSIjIiBpZD1s
aW5rPnRoaXMgYW5kPHNwYW4+dGhpcyBzaG91bGQgaGF2ZSBjb3JyZWN0bHkgcGxhY2VkIGZvY3Vz
IHJpbmdzPC9zcGFuPjwvYT4gICAgCitCb3RoIDxhIGhyZWY9IiMiIGlkPSJsaW5rIj50aGlzIGFu
ZDxzcGFuPnRoaXMgc2hvdWxkIGhhdmUgY29ycmVjdGx5IHBsYWNlZCBmb2N1cyByaW5nczwvc3Bh
bj48L2E+CiA8L2Rpdj4KIAogPHNjcmlwdD4KIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsaW5r
JykuZm9jdXMoKTsKIDwvc2NyaXB0PgotPC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2ZvY3VzLWlucHV0LXRy
YW5zZm9ybXMtZXhwZWN0ZWQuY2hlY2tzdW0gYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9yZXBhaW50L2ZvY3VzLWlucHV0LXRyYW5zZm9ybXMtZXhwZWN0ZWQuY2hlY2tzdW0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRiNzBhNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZm9jdXMtaW5wdXQtdHJhbnNm
b3Jtcy1leHBlY3RlZC5jaGVja3N1bQpAQCAtMCwwICsxIEBACitmYTZkZTJiNmI3MWIxN2UxZjZm
NTA4YmMyNThlYTE2NQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZm9jdXMtaW5wdXQtdHJhbnNmb3Jt
cy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2Zv
Y3VzLWlucHV0LXRyYW5zZm9ybXMtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjkxZWE0ZTQKQmluYXJ5IGZpbGVzIC9kZXYvbnVsbCBhbmQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2ZvY3VzLWlucHV0LXRyYW5zZm9ybXMtZXhw
ZWN0ZWQucG5nIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvcmVwYWludC9mb2N1cy1pbnB1dC10cmFuc2Zvcm1zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZm9jdXMtaW5wdXQtdHJhbnNmb3Jtcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJkOWM4ZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZm9j
dXMtaW5wdXQtdHJhbnNmb3Jtcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDU4NAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSA3ODR4MjMKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsMCkgc2l6ZSA3ODR4MjMKKyAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIp
IHNpemUgMTQ4eDE5IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAw
MCldCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAo
MTMsMTMpIHNpemUgMTQyeDEzCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTQy
eDEzCitjYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHtESVZ9IG9mIGNoaWxkIDEge0lOUFVU
fSBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9IG9m
IGRvY3VtZW50CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93LmNwcCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3cuY3BwCmluZGV4IGVlNjA0OGMuLjdhNWRlNTAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3cuY3BwCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsb3cuY3BwCkBAIC03MjQsOCArNzI0LDE3IEBAIHZvaWQgUmVu
ZGVyRmxvdzo6YWRkRm9jdXNSaW5nUmVjdHMoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRl
eHQsIGludCB0eCwgaW50CiAgICAgICAgICAgICBpZiAoIWN1cnItPmlzVGV4dCgpICYmICFjdXJy
LT5pc0xpc3RNYXJrZXIoKSkgewogICAgICAgICAgICAgICAgIEZsb2F0UG9pbnQgcG9zOwogICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3Qgd29yayBjb3JyZWN0bHkgd2l0aCB0
cmFuc2Zvcm1zLgotICAgICAgICAgICAgICAgIGlmIChjdXJyLT5sYXllcigpKSAKLSAgICAgICAg
ICAgICAgICAgICAgcG9zID0gY3Vyci0+bG9jYWxUb0Fic29sdXRlKCk7CisgICAgICAgICAgICAg
ICAgaWYgKGN1cnItPmxheWVyKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVGhlcmUgbWF5
IGJlIGEgdHJhbnNmb3JtIG9uIGEgcGFyZW50LCBpbiB3aGljaCBjYXNlIHRoZSBDVE0gaGFzIGJl
ZW4gY2hhbmdlZAorICAgICAgICAgICAgICAgICAgICAvLyBvbiB0aGUgZ3JhcGhpY3MgY29udGV4
dC4gU28gd2UgY2FuJ3QganVzdCBjb21wdXRlIGFuIGFic29sdXRlIG9mZnNldDsgd2UgaGF2ZQor
ICAgICAgICAgICAgICAgICAgICAvLyB0byBjb21wdXRlIGEgZGVsdGEgZnJvbSBvdXIgY29vcmRz
LgorICAgICAgICAgICAgICAgICAgICBGbG9hdFBvaW50IG15UG9zID0gbG9jYWxUb0Fic29sdXRl
KEZsb2F0UG9pbnQoKSwgZmFsc2UsIHRydWUpOworICAgICAgICAgICAgICAgICAgICBGbG9hdFBv
aW50IGN1clBvcyA9IGN1cnItPmxvY2FsVG9BYnNvbHV0ZShGbG9hdFBvaW50KCksIGZhbHNlLCB0
cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgcG9zID0gRmxvYXRQb2ludCh0eCwgdHkpICsgKGN1
clBvcyAtIG15UG9zKTsKKyAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHRoaXMgaXMgc3Rp
bGwgd3JvbmcuIElmIGEgY2hpbGQgb2YgdGhlIFJlbmRlckZsb3cgaGFzIGEgdHJhbnNmb3JtLAor
ICAgICAgICAgICAgICAgICAgICAvLyB3ZSByZWFsbHkgbmVlZCB0byBsZXQgdGhhdCBjaGlsZCBw
YWludCBpdHMgcGFydCBvZiB0aGUgZm9jdXMgcmluZyB3aXRoCisgICAgICAgICAgICAgICAgICAg
IC8vIHRoZSB0cmFuc2Zvcm0gYXBwbGllZC4KKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICBwb3MgPSBGbG9hdFBvaW50KHR4ICsgY3Vy
ci0+eFBvcygpLCB0eSArIGN1cnItPnlQb3MoKSk7CiAgICAgICAgICAgICAgICAgY3Vyci0+YWRk
Rm9jdXNSaW5nUmVjdHMoZ3JhcGhpY3NDb250ZXh0LCBwb3MueCgpLCBwb3MueSgpKTsK
</data>
<flag name="review"
          id="11465"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24993</attachid>
            <date>2008-11-08 11:31:32 -0800</date>
            <delta_ts>2008-11-08 16:49:22 -0800</delta_ts>
            <desc>Better patch, testcase, changelog</desc>
            <filename>21906_patch2.txt</filename>
            <type>text/plain</type>
            <size>5733</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MjM2YjUzLi4yODlhY2IwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMDgtMTEt
MDggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxOTA2CisgICAgICAgIAorICAgICAgICBUZXN0IGZvY3VzIHJp
bmcgZHJhd2luZyBvbiBhIHRyYW5zZm9ybWVkIHRleHQgaW5wdXQgKGFuZCBmaXggdGhlIEhUTUwg
aW4KKyAgICAgICAgYW4gdW5yZWxhdGVkIHRlc3QgY2FzZSkuCisKKyAgICAgICAgKiBmYXN0L3Jl
cGFpbnQvZm9jdXMtaW5wdXQtdHJhbnNmb3Jtcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3JlcGFpbnQvZm9jdXMtbGF5ZXJzLmh0bWw6IEZpeGVkIHRlc3RjYXNlCisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3QvcmVwYWludC9mb2N1cy1pbnB1dC10cmFuc2Zvcm1zLWV4cGVjdGVkLmNo
ZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2ZvY3Vz
LWlucHV0LXRyYW5zZm9ybXMtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9yZXBhaW50L2ZvY3VzLWlucHV0LXRyYW5zZm9ybXMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKwogMjAwOC0xMS0wNyAgQ2FtZXJvbiBad2FyaWNoICA8endhcmljaEBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmYgR2FyZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlcGFpbnQvZm9jdXMtaW5wdXQtdHJhbnNmb3Jtcy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9yZXBhaW50L2ZvY3VzLWlucHV0LXRyYW5zZm9ybXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi41Njk0MTY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZXBhaW50L2ZvY3VzLWlucHV0LXRyYW5zZm9ybXMuaHRtbApAQCAtMCwwICsx
LDIwIEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgZGl2IHsK
KyAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OworICAgIC13ZWJraXQtdHJh
bnNmb3JtOiByb3RhdGUoMTBkZWcpOworICB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+CisgIDxpbnB1dCB0eXBlPSJ0ZXh0IiB2YWx1ZT0iIiBpZD0ibGluayI+Cis8L2Rpdj4K
KworPHNjcmlwdD4KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsaW5rJykuZm9jdXMoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9y
ZXBhaW50L2ZvY3VzLWxheWVycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZvY3Vz
LWxheWVycy5odG1sCmluZGV4IGIwNzNjYjUuLjJhMGE2ZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvcmVwYWludC9mb2N1cy1sYXllcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlcGFpbnQvZm9jdXMtbGF5ZXJzLmh0bWwKQEAgLTE4LDEyICsxOCwxMSBAQCBhIHNwYW57CiA8
Ym9keT4KIDxkaXY+CiAKLUJvdGggPGEgaHJlZj0iIyIgaWQ9bGluaz50aGlzIGFuZDxzcGFuPnRo
aXMgc2hvdWxkIGhhdmUgY29ycmVjdGx5IHBsYWNlZCBmb2N1cyByaW5nczwvc3Bhbj48L2E+ICAg
IAorQm90aCA8YSBocmVmPSIjIiBpZD0ibGluayI+dGhpcyBhbmQ8c3Bhbj50aGlzIHNob3VsZCBo
YXZlIGNvcnJlY3RseSBwbGFjZWQgZm9jdXMgcmluZ3M8L3NwYW4+PC9hPgogPC9kaXY+CiAKIDxz
Y3JpcHQ+CiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGluaycpLmZvY3VzKCk7CiA8L3Njcmlw
dD4KLTwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvcmVwYWludC9mb2N1cy1pbnB1dC10cmFuc2Zvcm1zLWV4cGVjdGVkLmNo
ZWNrc3VtIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9mb2N1cy1pbnB1
dC10cmFuc2Zvcm1zLWV4cGVjdGVkLmNoZWNrc3VtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjg0YjcwYTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9yZXBhaW50L2ZvY3VzLWlucHV0LXRyYW5zZm9ybXMtZXhwZWN0ZWQuY2hlY2tz
dW0KQEAgLTAsMCArMSBAQAorZmE2ZGUyYjZiNzFiMTdlMWY2ZjUwOGJjMjU4ZWExNjUKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9yZXBhaW50L2ZvY3VzLWlucHV0LXRyYW5zZm9ybXMtZXhwZWN0ZWQucG5nIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9mb2N1cy1pbnB1dC10cmFuc2Zvcm1z
LWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWVhNGU0
CkJpbmFyeSBmaWxlcyAvZGV2L251bGwgYW5kIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvcmVwYWludC9mb2N1cy1pbnB1dC10cmFuc2Zvcm1zLWV4cGVjdGVkLnBuZyBkaWZmZXIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZm9jdXMtaW5w
dXQtdHJhbnNmb3Jtcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9yZXBhaW50L2ZvY3VzLWlucHV0LXRyYW5zZm9ybXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyZDljOGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2ZvY3VzLWlucHV0LXRyYW5zZm9ybXMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0ICg4LDgp
IHNpemUgNzg0eDIzCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDIzCisg
ICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE0OHgxOSBbYmdjb2xv
cj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQorICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDEzLDEzKSBzaXplIDE0MngxMwor
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBzaXplIDE0MngxMworY2FyZXQ6IHBvc2l0aW9u
IDAgb2YgY2hpbGQgMCB7RElWfSBvZiBjaGlsZCAxIHtJTlBVVH0gb2YgY2hpbGQgMSB7RElWfSBv
ZiBjaGlsZCAxIHtCT0RZfSBvZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhYWQ0OTg1Li4y
YWVhOTRhIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDA4LTExLTA4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkwNgor
ICAgICAgICAKKyAgICAgICAgT3ZlcnJpZGUgYWRkRm9jdXNSaW5nUmVjdHMoKSBpbiBSZW5kZXJU
ZXh0Q29udHJvbCB0byBhdm9pZAorICAgICAgICB0aGUgUmVuZGVyRmxvdyBiZWhhdmlvciBvZiBy
ZWN1cnNpbmcgb24gZGVzY2VuZGVudCByZW5kZXJlcnMuCisgICAgICAgIFJlbmRlclRleHRDb250
cm9sIHNob3VsZCBvbmx5IGV2ZXIgbmVlZCBhIHNpbXBsZSBmb2N1cyByZWN0LgorICAgICAgICAK
KyAgICAgICAgVGhpcyBmaXhlcyBmb2N1cyByaW5nIGlzc3VlcyB3aXRoIHRyYW5zZm9ybXMgb24g
dGV4dCBjb250cm9scy4KKyAgICAgICAgCisgICAgICAgIFRlc3Q6IGZhc3QvcmVwYWludC9mb2N1
cy1pbnB1dC10cmFuc2Zvcm1zLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6YWRkRm9j
dXNSaW5nUmVjdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5oOgor
CiAyMDA4LTExLTA3ICBBbHAgVG9rZXIgIDxhbHBAbnVhbnRpLmNvbT4KIAogICAgICAgICBGaXgg
YnVpbGQgd2l0aCBibGVlZGluZyBlZGdlIEdUSysgdmVyc2lvbnMuIEdUSysgYW5kIG90aGVyIGxp
YnJhcmllcwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wu
Y3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCmluZGV4IGZlMjY2
YWQuLjU2N2ViNDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKQEAg
LTg3Myw2ICs4NzMsMTEgQEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6c2VsZWN0aW9uQ2hhbmdl
ZChib29sIHVzZXJUcmlnZ2VyZWQpCiAgICAgICAgICAgICBlbGVtZW50LT5kaXNwYXRjaEV2ZW50
Rm9yVHlwZShldmVudE5hbWVzKCkuc2VsZWN0RXZlbnQsIHRydWUsIGZhbHNlKTsKIH0KIAordm9p
ZCBSZW5kZXJUZXh0Q29udHJvbDo6YWRkRm9jdXNSaW5nUmVjdHMoR3JhcGhpY3NDb250ZXh0KiBn
cmFwaGljc0NvbnRleHQsIGludCB0eCwgaW50IHR5KQoreworICAgIGdyYXBoaWNzQ29udGV4dC0+
YWRkRm9jdXNSaW5nUmVjdChJbnRSZWN0KHR4LCB0eSwgd2lkdGgoKSwgaGVpZ2h0KCkpKTsKK30K
Kwogdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6YXV0b3Njcm9sbCgpCiB7CiAgICAgUmVuZGVyTGF5
ZXIqIGxheWVyID0gbV9pbm5lclRleHQtPnJlbmRlcmVyKCktPmxheWVyKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dENvbnRyb2wuaAppbmRleCA3NGZkZDI2Li5hOTQ5NjJlIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmgKQEAgLTc3LDYgKzc3LDggQEAgcHVibGljOgogICAg
IHZvaWQgZm9yd2FyZEV2ZW50KEV2ZW50Kik7CiAgICAgdm9pZCBzZWxlY3Rpb25DaGFuZ2VkKGJv
b2wgdXNlclRyaWdnZXJlZCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgYWRkRm9jdXNSaW5nUmVjdHMo
R3JhcGhpY3NDb250ZXh0KiwgaW50IHR4LCBpbnQgdHkpOworCiAgICAgdmlydHVhbCBib29sIGNh
bkJlUHJvZ3JhbWF0aWNhbGx5U2Nyb2xsZWQoYm9vbCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQog
ICAgIHZpcnR1YWwgdm9pZCBhdXRvc2Nyb2xsKCk7CiAK
</data>
<flag name="review"
          id="11472"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>