<?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>111635</bug_id>
          
          <creation_ts>2013-03-06 15:43:20 -0800</creation_ts>
          <short_desc>[chromium] Stop using WebTransformationMatrix on WebLayer</short_desc>
          <delta_ts>2013-03-07 13:55:50 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>abarth</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>danakj</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enne</cc>
    
    <cc>fishd</cc>
    
    <cc>shawnsingh</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>vollick</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>849379</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-06 15:43:20 -0800</bug_when>
    <thetext>[chromium] Stop using WebTransformationMatrix on WebLayer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849380</commentid>
    <comment_count>1</comment_count>
      <attachid>191854</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-06 15:45:26 -0800</bug_when>
    <thetext>Created attachment 191854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849384</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-06 15:46:54 -0800</bug_when>
    <thetext>This won&apos;t compile on clang bots until https://chromiumcodereview.appspot.com/12481008/.  Most of WebTransformationMatrix is already dead code, but it&apos;s still being used as a transit type in WebTransformAnimationCurve and WebTransformOperations.  Will have to land more code chromium-side first to get rid of those.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849395</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-06 15:58:25 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849583</commentid>
    <comment_count>4</comment_count>
      <attachid>191854</attachid>
    <who name="">vollick</who>
    <bug_when>2013-03-06 18:26:52 -0800</bug_when>
    <thetext>Comment on attachment 191854
Patch

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

I like it -- I just have a couple of dumb questions.

&gt; Source/Platform/chromium/public/WebLayer.h:36
&gt; +#include &quot;WebTransformationMatrix.h&quot;

What&apos;s this being added for?

&gt; Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp:723
&gt; +    return ret;

Given how Matrix4 is laid out, could you take advantage of SkMatrix44&apos;s setColMajord or setRowMajord.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850275</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-07 10:51:51 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 191854 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=191854&amp;action=review
&gt; 
&gt; I like it -- I just have a couple of dumb questions.
&gt; 
&gt; &gt; Source/Platform/chromium/public/WebLayer.h:36
&gt; &gt; +#include &quot;WebTransformationMatrix.h&quot;
&gt; 
&gt; What&apos;s this being added for?
&gt; 

No need, will remove.

&gt; &gt; Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp:723
&gt; &gt; +    return ret;
&gt; 
&gt; Given how Matrix4 is laid out, could you take advantage of SkMatrix44&apos;s setColMajord or setRowMajord.

Do you have an example of code that does this?  This code is doing the same thing that WebTransformationMatrixUtil::ToTransform() does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850285</commentid>
    <comment_count>6</comment_count>
      <attachid>192047</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-07 10:57:42 -0800</bug_when>
    <thetext>Created attachment 192047
remove unnecessary include from WebLayer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850315</commentid>
    <comment_count>7</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2013-03-07 11:20:36 -0800</bug_when>
    <thetext>
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp:723
&gt; &gt; +    return ret;
&gt; 
&gt; Given how Matrix4 is laid out, could you take advantage of SkMatrix44&apos;s setColMajord or setRowMajord.

Unfortunately I think doing that would require an extra intermediate float[16] array, and it seems not worth it to cause that extra copy.  So my vote is that we should keep the code the way James has it now - what do you think Ian?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850350</commentid>
    <comment_count>8</comment_count>
    <who name="">vollick</who>
    <bug_when>2013-03-07 12:02:09 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp:723
&gt; &gt; &gt; +    return ret;
&gt; &gt; 
&gt; &gt; Given how Matrix4 is laid out, could you take advantage of SkMatrix44&apos;s setColMajord or setRowMajord.
&gt; 
&gt; Unfortunately I think doing that would require an extra intermediate float[16] array, and it seems not worth it to cause that extra copy.  So my vote is that we should keep the code the way James has it now - what do you think Ian?

Please forgive me if this is dumb, but if we have:
double m[4][4];
and we assign
double *linear = &amp;m[0][0];
then can&apos;t we can access linear[0] through linear[15]? This seemed to work in a test program of mine, but perhaps we&apos;re not guaranteed that the 2D array will be laid out in such a way to allow this?

If this isn&apos;t crazy, then we should be able to pass the Matrix4 owned by the TransformationMatrix directly to SkMatrix44::setColMajord or SkMatrix44::setRowMajord (I&apos;m not sure which, I always get this wrong and end up transposed).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850358</commentid>
    <comment_count>9</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2013-03-07 12:07:49 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp:723
&gt; &gt; &gt; &gt; +    return ret;
&gt; &gt; &gt; 
&gt; &gt; &gt; Given how Matrix4 is laid out, could you take advantage of SkMatrix44&apos;s setColMajord or setRowMajord.
&gt; &gt; 
&gt; &gt; Unfortunately I think doing that would require an extra intermediate float[16] array, and it seems not worth it to cause that extra copy.  So my vote is that we should keep the code the way James has it now - what do you think Ian?
&gt; 
&gt; Please forgive me if this is dumb, but if we have:
&gt; double m[4][4];
&gt; and we assign
&gt; double *linear = &amp;m[0][0];
&gt; then can&apos;t we can access linear[0] through linear[15]? This seemed to work in a test program of mine, but perhaps we&apos;re not guaranteed that the 2D array will be laid out in such a way to allow this?
&gt; 
&gt; If this isn&apos;t crazy, then we should be able to pass the Matrix4 owned by the TransformationMatrix directly to SkMatrix44::setColMajord or SkMatrix44::setRowMajord (I&apos;m not sure which, I always get this wrong and end up transposed).

I think TransformationMatrix is laid out as column-major.  So if that works, and it&apos;s not considered taboo, that&apos;s OK with me =)   I was more specifically looking at the toColumnMajorFloatArray() function in TransformationMatrix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850369</commentid>
    <comment_count>10</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-07 12:18:21 -0800</bug_when>
    <thetext>This is all fine but this patch is just removing dependencies and preserves the existing behavior exactly.  I&apos;d rather not try to do too many things at once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850375</commentid>
    <comment_count>11</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2013-03-07 12:22:24 -0800</bug_when>
    <thetext>
unofficially this patch LGTM, you might want to remove the &quot;no new tests oops&quot; line in the changelog.

Ian and I can resolve the optimizations later, then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850376</commentid>
    <comment_count>12</comment_count>
      <attachid>192047</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2013-03-07 12:24:37 -0800</bug_when>
    <thetext>Comment on attachment 192047
remove unnecessary include from WebLayer

R=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850465</commentid>
    <comment_count>13</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-07 13:55:50 -0800</bug_when>
    <thetext>Committed r145131: &lt;http://trac.webkit.org/changeset/145131&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191854</attachid>
            <date>2013-03-06 15:45:26 -0800</date>
            <delta_ts>2013-03-07 10:57:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111635-20130306154132.patch</filename>
            <type>text/plain</type>
            <size>8472</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0OTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCA2MWI1NTJjZTVkODc5
MzdkYmFjOTIxYjJmZjFhZmIyMzQ3OWZlOWY4Li4yMmFmMDM0ZDdjNjJiYWY0N2ViYzQzZDQwMWZj
ZTNmZTFiYmQ5NjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wMy0wNiAg
SmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1
bV0gU3RvcCB1c2luZyBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBvbiBXZWJMYXllcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNjM1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViTGF5ZXIgc3VwcG9y
dHMgc2V0dGluZyB0cmFuc2Zvcm1zIGJ5IHVzaW5nIGVpdGhlciBTa01hdHJpeDQ0IG9yIFdlYlRy
YW5zZm9ybWF0aW9uTWF0cml4LAorICAgICAgICBib3RoIG9mIHdoaWNoIGFyZSB3cmFwcGVycyBh
cm91bmQgMTYgZG91Ymxlcy4gVGhlcmUncyBubyBuZWVkIHRvIGhhdmUgYm90aC4KKworICAgICAg
ICAqIGNocm9taXVtL3B1YmxpYy9XZWJMYXllci5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYkxheWVyKToKKwogMjAxMy0wMy0wNiAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJlbW92ZSB0aGUgY29udGVudHMgb2YgV2Vi
VmlkZW9GcmFtZSBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRhYWRjM2QzNzAwYTdlODZlY2FlMjQ4ODg3
NTRlYTIwMmViZjNkODUuLjhkOGYxMjUyMzIwZWI0YzY5MjUxNTRlNGQ5NDQ4ZGE0NjM3NGMxZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMy0wMy0wNiAgSmFtZXMgUm9iaW5zb24g
IDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gU3RvcCB1c2luZyBX
ZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBvbiBXZWJMYXllcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAg
ICAgU3dpdGNoZXMgb3ZlciB0byB0aGUgU2tNYXRyaXg0NCB0cmFuc2Zvcm0gc2V0dGVycy4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cmFuc2Zvcm1Ub1NrTWF0cml4NDQpOgorICAgICAg
ICAgIFV0aWxpdHkgZm9yIGNvbnZlcmluZyBhIFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4
IHRvIGFuIFNrTWF0cml4NDQuCisgICAgICAgICAgV2lsbCBtb3ZlIHRvIGEgbW9yZSBjb21tb24g
bG9jYXRpb24gb25jZSBpdCBnZXRzIG1vcmUgY2FsbGVycy4KKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXJDaHJvbWl1bTo6dXBkYXRlVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ2hpbGRyZW5UcmFuc2Zvcm0pOgorCiAyMDEz
LTAzLTA2ICBNaWtlIFJlZWQgIDxyZWVkQGdvb2dsZS5jb20+CiAKICAgICAgICAgVXNlIFNrVHlw
ZWZhY2UgQVBJIGRpcmVjdGx5LCByYXRoZXIgdGhhbiAoc29vbiB0byBiZSBwcml2YXRlKSBTa0Zv
bnRIb3N0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGIzNGQ4MDI3NGI1ZTdjYzRmNjZk
ZWFhYTQ2NDNjN2UzOWRmYzg5YzIuLjQ0OTA5MzY5OTg4NDVmYzY2YmE5YjMzNzJkNDM2ZWU5NGE1
NjM2YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAKIDIwMTMt
MDMtMDYgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAorICAgICAgICBb
Y2hyb21pdW1dIFN0b3AgdXNpbmcgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggb24gV2ViTGF5ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTYzNQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL0xp
bmtIaWdobGlnaHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpMaW5rSGlnaGxpZ2h0Ojpjb21wdXRl
RW5jbG9zaW5nQ29tcG9zaXRpbmdMYXllcik6CisgICAgICAgICogdGVzdHMvR3JhcGhpY3NMYXll
ckNocm9taXVtVGVzdC5jcHA6CisgICAgICAgIChHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0KToK
KworMjAxMy0wMy0wNiAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCiAg
ICAgICAgIFtjaHJvbWl1bV0gRXhwcmVzcyB3ZWJraXRfdW5pdF90ZXN0cycgZGVwZW5kZW5jeSBv
biBEdW1wUmVuZGVyVHJlZS5wYWsgaW4gZ3lwCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE1MDgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3Jt
L2Nocm9taXVtL3B1YmxpYy9XZWJMYXllci5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1
YmxpYy9XZWJMYXllci5oCmluZGV4IDliZTcyODRhMzAxNTA2ZDkyYTI5YWIxNTczM2U2MjQxYjM3
ODY2ODIuLmNiYTBkMDk4OTc0NTAyZDU5ZTMzNDI1NGQzZjFiMzc1MjNjMzFjYWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXIuaAorKysgYi9Tb3Vy
Y2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxheWVyLmgKQEAgLTMzLDYgKzMzLDcgQEAK
ICNpbmNsdWRlICJXZWJQcml2YXRlUHRyLmgiCiAjaW5jbHVkZSAiV2ViUmVjdC5oIgogI2luY2x1
ZGUgIldlYlN0cmluZy5oIgorI2luY2x1ZGUgIldlYlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCiAj
aW5jbHVkZSAiV2ViVmVjdG9yLmgiCiAKIGNsYXNzIFNrTWF0cml4NDQ7CkBAIC00Miw3ICs0Myw2
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViQW5pbWF0aW9uRGVsZWdhdGU7CiBjbGFz
cyBXZWJGaWx0ZXJPcGVyYXRpb25zOwogY2xhc3MgV2ViTGF5ZXJTY3JvbGxDbGllbnQ7Ci1jbGFz
cyBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDsKIHN0cnVjdCBXZWJGbG9hdFBvaW50Owogc3RydWN0
IFdlYkZsb2F0UmVjdDsKIHN0cnVjdCBXZWJTaXplOwpAQCAtOTQsMTEgKzk0LDkgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgV2ViRmxvYXRQb2ludCBwb3NpdGlvbigpIGNvbnN0ID0gMDsKIAogICAg
IHZpcnR1YWwgdm9pZCBzZXRTdWJsYXllclRyYW5zZm9ybShjb25zdCBTa01hdHJpeDQ0JikgPSAw
OwotICAgIHZpcnR1YWwgdm9pZCBzZXRTdWJsYXllclRyYW5zZm9ybShjb25zdCBXZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYpID0gMDsKICAgICB2aXJ0dWFsIFNrTWF0cml4NDQgc3VibGF5ZXJUcmFu
c2Zvcm0oKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0VHJhbnNmb3JtKGNvbnN0
IFNrTWF0cml4NDQmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNldFRyYW5zZm9ybShjb25zdCBX
ZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpID0gMDsKICAgICB2aXJ0dWFsIFNrTWF0cml4NDQgdHJh
bnNmb3JtKCkgY29uc3QgPSAwOwogCiAgICAgLy8gU2V0cyB3aGV0aGVyIHRoZSBsYXllciBkcmF3
cyBpdHMgY29udGVudCB3aGVuIGNvbXBvc2l0aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJD
aHJvbWl1bS5jcHAKaW5kZXggZjU5MmM4NWUwNTA5YjYxNmZmOTRlMjU3ZjgwODQ5ZjcyMDVmMzYw
NS4uNGIxZmViZTJmNjFmZGI4ODAwOTQ0YTFmODcyZWY3MWY3ZmQ4ZDNjZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNo
cm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCkBAIC02OCw3ICs2OCw2IEBACiAjaW5jbHVkZSA8
cHVibGljL1dlYkZsb2F0UmVjdC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJJbWFnZUxheWVyLmg+
CiAjaW5jbHVkZSA8cHVibGljL1dlYlNpemUuaD4KLSNpbmNsdWRlIDxwdWJsaWMvV2ViVHJhbnNm
b3JtYXRpb25NYXRyaXguaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25IYXNo
TWFwLmg+CkBAIC03MDIsMTQgKzcwMSwzNiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6
dXBkYXRlQW5jaG9yUG9pbnQoKQogICAgIHBsYXRmb3JtTGF5ZXIoKS0+c2V0QW5jaG9yUG9pbnRa
KG1fYW5jaG9yUG9pbnQueigpKTsKIH0KIAorc3RhdGljIFNrTWF0cml4NDQgdHJhbnNmb3JtVG9T
a01hdHJpeDQ0KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgpCit7CisgICAgU2tN
YXRyaXg0NCByZXQoU2tNYXRyaXg0NDo6a1VuaW5pdGlhbGl6ZWRfQ29uc3RydWN0b3IpOworICAg
IHJldC5zZXREb3VibGUoMCwgMCwgbWF0cml4Lm0xMSgpKTsKKyAgICByZXQuc2V0RG91YmxlKDAs
IDEsIG1hdHJpeC5tMjEoKSk7CisgICAgcmV0LnNldERvdWJsZSgwLCAyLCBtYXRyaXgubTMxKCkp
OworICAgIHJldC5zZXREb3VibGUoMCwgMywgbWF0cml4Lm00MSgpKTsKKyAgICByZXQuc2V0RG91
YmxlKDEsIDAsIG1hdHJpeC5tMTIoKSk7CisgICAgcmV0LnNldERvdWJsZSgxLCAxLCBtYXRyaXgu
bTIyKCkpOworICAgIHJldC5zZXREb3VibGUoMSwgMiwgbWF0cml4Lm0zMigpKTsKKyAgICByZXQu
c2V0RG91YmxlKDEsIDMsIG1hdHJpeC5tNDIoKSk7CisgICAgcmV0LnNldERvdWJsZSgyLCAwLCBt
YXRyaXgubTEzKCkpOworICAgIHJldC5zZXREb3VibGUoMiwgMSwgbWF0cml4Lm0yMygpKTsKKyAg
ICByZXQuc2V0RG91YmxlKDIsIDIsIG1hdHJpeC5tMzMoKSk7CisgICAgcmV0LnNldERvdWJsZSgy
LCAzLCBtYXRyaXgubTQzKCkpOworICAgIHJldC5zZXREb3VibGUoMywgMCwgbWF0cml4Lm0xNCgp
KTsKKyAgICByZXQuc2V0RG91YmxlKDMsIDEsIG1hdHJpeC5tMjQoKSk7CisgICAgcmV0LnNldERv
dWJsZSgzLCAyLCBtYXRyaXgubTM0KCkpOworICAgIHJldC5zZXREb3VibGUoMywgMywgbWF0cml4
Lm00NCgpKTsKKyAgICByZXR1cm4gcmV0OworfQorCiB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1
bTo6dXBkYXRlVHJhbnNmb3JtKCkKIHsKLSAgICBwbGF0Zm9ybUxheWVyKCktPnNldFRyYW5zZm9y
bShXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeChtX3RyYW5zZm9ybSkpOworICAgIHBsYXRmb3JtTGF5
ZXIoKS0+c2V0VHJhbnNmb3JtKHRyYW5zZm9ybVRvU2tNYXRyaXg0NChtX3RyYW5zZm9ybSkpOwog
fQogCiB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ2hpbGRyZW5UcmFuc2Zvcm0o
KQogewotICAgIHBsYXRmb3JtTGF5ZXIoKS0+c2V0U3VibGF5ZXJUcmFuc2Zvcm0oV2ViVHJhbnNm
b3JtYXRpb25NYXRyaXgobV9jaGlsZHJlblRyYW5zZm9ybSkpOworICAgIHBsYXRmb3JtTGF5ZXIo
KS0+c2V0U3VibGF5ZXJUcmFuc2Zvcm0odHJhbnNmb3JtVG9Ta01hdHJpeDQ0KG1fY2hpbGRyZW5U
cmFuc2Zvcm0pKTsKIH0KIAogdm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnVwZGF0ZU1hc2tz
VG9Cb3VuZHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTGlua0hp
Z2hsaWdodC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9MaW5rSGlnaGxpZ2h0LmNw
cAppbmRleCA5YTg2YWU0ZWM0ZjFhMmE2N2RiMDExZDIzN2EzNTlmNGY5ZWI1NjVhLi4yYmM5YTEw
ZGRiZjk2NzI2NjFlZDcxMzAyZGNjNjk1NDM4NjZkODE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9MaW5rSGlnaGxpZ2h0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9MaW5rSGlnaGxpZ2h0LmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUg
IlJlbmRlckxheWVyQmFja2luZy5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1
ZGUgIlJlbmRlclZpZXcuaCIKKyNpbmNsdWRlICJTa01hdHJpeDQ0LmgiCiAjaW5jbHVkZSAiV2Vi
RnJhbWVJbXBsLmgiCiAjaW5jbHVkZSAiV2ViS2l0LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwu
aCIKQEAgLTQ3LDcgKzQ4LDYgQEAKICNpbmNsdWRlIDxwdWJsaWMvV2ViRmxvYXRQb2ludC5oPgog
I2luY2x1ZGUgPHB1YmxpYy9XZWJSZWN0Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlNpemUuaD4K
LSNpbmNsdWRlIDxwdWJsaWMvV2ViVHJhbnNmb3JtYXRpb25NYXRyaXguaD4KICNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC0xMjgsOSAr
MTI4LDkgQEAgUmVuZGVyTGF5ZXIqIExpbmtIaWdobGlnaHQ6OmNvbXB1dGVFbmNsb3NpbmdDb21w
b3NpdGluZ0xheWVyKCkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBHcmFwaGljc0xheWVyQ2hy
b21pdW0qIG5ld0dyYXBoaWNzTGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ2hyb21p
dW0qPihyZW5kZXJMYXllci0+YmFja2luZygpLT5ncmFwaGljc0xheWVyKCkpOwotICAgIG1fY2xp
cExheWVyLT5zZXRTdWJsYXllclRyYW5zZm9ybShXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKTsK
KyAgICBtX2NsaXBMYXllci0+c2V0U3VibGF5ZXJUcmFuc2Zvcm0oU2tNYXRyaXg0NCgpKTsKICAg
ICBpZiAoIW5ld0dyYXBoaWNzTGF5ZXItPmRyYXdzQ29udGVudCgpKSB7Ci0gICAgICAgIG1fY2xp
cExheWVyLT5zZXRTdWJsYXllclRyYW5zZm9ybShXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeChuZXdH
cmFwaGljc0xheWVyLT50cmFuc2Zvcm0oKSkpOworICAgICAgICBtX2NsaXBMYXllci0+c2V0U3Vi
bGF5ZXJUcmFuc2Zvcm0obmV3R3JhcGhpY3NMYXllci0+cGxhdGZvcm1MYXllcigpLT50cmFuc2Zv
cm0oKSk7CiAgICAgICAgIG5ld0dyYXBoaWNzTGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xh
eWVyQ2hyb21pdW0qPihtX293bmluZ1dlYlZpZXdJbXBsLT5ub25Db21wb3NpdGVkQ29udGVudEhv
c3QoKS0+dG9wTGV2ZWxSb290TGF5ZXIoKSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9HcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNwcApp
bmRleCAwZmJlNWQ3OTBhMDFjOTk3ZDJhN2M0MDczMDc0ZGFlODk5MGIzZDIyLi4zMjY3YThiNmE5
OTk2OWE0MDQ4N2U3YWY0ZDA0OTMyNzlhZjcxNGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvR3JhcGhpY3NMYXllckNocm9taXVtVGVzdC5jcHAKQEAg
LTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlIDxwdWJsaWMvV2ViRmxvYXRBbmltYXRpb25DdXJ2ZS5o
PgogI2luY2x1ZGUgPHB1YmxpYy9XZWJHcmFwaGljc0NvbnRleHQzRC5oPgogI2luY2x1ZGUgPHB1
YmxpYy9XZWJMYXllclRyZWVWaWV3Lmg+Ci0jaW5jbHVkZSA8cHVibGljL1dlYlRyYW5zZm9ybWF0
aW9uTWF0cml4Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlVuaXRUZXN0U3VwcG9ydC5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTc2LDExICs3NSw2IEBAIHB1YmxpYzoKICAg
ICB9CiAKIHByb3RlY3RlZDoKLSAgICBzdGF0aWMgdm9pZCBleHBlY3RUcmFuc2xhdGVYKGRvdWJs
ZSB0cmFuc2xhdGVYLCBjb25zdCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4KQotICAg
IHsKLSAgICAgICAgRVhQRUNUX0ZMT0FUX0VRKHRyYW5zbGF0ZVgsIG1hdHJpeC5tNDEoKSk7Ci0g
ICAgfQotCiAgICAgV2ViTGF5ZXIqIG1fcGxhdGZvcm1MYXllcjsKICAgICBPd25QdHI8R3JhcGhp
Y3NMYXllckNocm9taXVtPiBtX2dyYXBoaWNzTGF5ZXI7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192047</attachid>
            <date>2013-03-07 10:57:42 -0800</date>
            <delta_ts>2013-03-07 12:24:36 -0800</delta_ts>
            <desc>remove unnecessary include from WebLayer</desc>
            <filename>bug-111635-20130307105346.patch</filename>
            <type>text/plain</type>
            <size>7272</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0OTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCA2MWI1NTJjZTVkODc5
MzdkYmFjOTIxYjJmZjFhZmIyMzQ3OWZlOWY4Li4yMmFmMDM0ZDdjNjJiYWY0N2ViYzQzZDQwMWZj
ZTNmZTFiYmQ5NjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wMy0wNiAg
SmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1
bV0gU3RvcCB1c2luZyBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBvbiBXZWJMYXllcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNjM1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViTGF5ZXIgc3VwcG9y
dHMgc2V0dGluZyB0cmFuc2Zvcm1zIGJ5IHVzaW5nIGVpdGhlciBTa01hdHJpeDQ0IG9yIFdlYlRy
YW5zZm9ybWF0aW9uTWF0cml4LAorICAgICAgICBib3RoIG9mIHdoaWNoIGFyZSB3cmFwcGVycyBh
cm91bmQgMTYgZG91Ymxlcy4gVGhlcmUncyBubyBuZWVkIHRvIGhhdmUgYm90aC4KKworICAgICAg
ICAqIGNocm9taXVtL3B1YmxpYy9XZWJMYXllci5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYkxheWVyKToKKwogMjAxMy0wMy0wNiAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJlbW92ZSB0aGUgY29udGVudHMgb2YgV2Vi
VmlkZW9GcmFtZSBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRhYWRjM2QzNzAwYTdlODZlY2FlMjQ4ODg3
NTRlYTIwMmViZjNkODUuLjhkOGYxMjUyMzIwZWI0YzY5MjUxNTRlNGQ5NDQ4ZGE0NjM3NGMxZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMy0wMy0wNiAgSmFtZXMgUm9iaW5zb24g
IDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gU3RvcCB1c2luZyBX
ZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBvbiBXZWJMYXllcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAg
ICAgU3dpdGNoZXMgb3ZlciB0byB0aGUgU2tNYXRyaXg0NCB0cmFuc2Zvcm0gc2V0dGVycy4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cmFuc2Zvcm1Ub1NrTWF0cml4NDQpOgorICAgICAg
ICAgIFV0aWxpdHkgZm9yIGNvbnZlcmluZyBhIFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4
IHRvIGFuIFNrTWF0cml4NDQuCisgICAgICAgICAgV2lsbCBtb3ZlIHRvIGEgbW9yZSBjb21tb24g
bG9jYXRpb24gb25jZSBpdCBnZXRzIG1vcmUgY2FsbGVycy4KKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXJDaHJvbWl1bTo6dXBkYXRlVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ2hpbGRyZW5UcmFuc2Zvcm0pOgorCiAyMDEz
LTAzLTA2ICBNaWtlIFJlZWQgIDxyZWVkQGdvb2dsZS5jb20+CiAKICAgICAgICAgVXNlIFNrVHlw
ZWZhY2UgQVBJIGRpcmVjdGx5LCByYXRoZXIgdGhhbiAoc29vbiB0byBiZSBwcml2YXRlKSBTa0Zv
bnRIb3N0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGIzNGQ4MDI3NGI1ZTdjYzRmNjZk
ZWFhYTQ2NDNjN2UzOWRmYzg5YzIuLjQ0OTA5MzY5OTg4NDVmYzY2YmE5YjMzNzJkNDM2ZWU5NGE1
NjM2YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAKIDIwMTMt
MDMtMDYgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAorICAgICAgICBb
Y2hyb21pdW1dIFN0b3AgdXNpbmcgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggb24gV2ViTGF5ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTYzNQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL0xp
bmtIaWdobGlnaHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpMaW5rSGlnaGxpZ2h0Ojpjb21wdXRl
RW5jbG9zaW5nQ29tcG9zaXRpbmdMYXllcik6CisgICAgICAgICogdGVzdHMvR3JhcGhpY3NMYXll
ckNocm9taXVtVGVzdC5jcHA6CisgICAgICAgIChHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0KToK
KworMjAxMy0wMy0wNiAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCiAg
ICAgICAgIFtjaHJvbWl1bV0gRXhwcmVzcyB3ZWJraXRfdW5pdF90ZXN0cycgZGVwZW5kZW5jeSBv
biBEdW1wUmVuZGVyVHJlZS5wYWsgaW4gZ3lwCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE1MDgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJv
bWl1bS5jcHAKaW5kZXggZjU5MmM4NWUwNTA5YjYxNmZmOTRlMjU3ZjgwODQ5ZjcyMDVmMzYwNS4u
NGIxZmViZTJmNjFmZGI4ODAwOTQ0YTFmODcyZWY3MWY3ZmQ4ZDNjZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9t
aXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9H
cmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCkBAIC02OCw3ICs2OCw2IEBACiAjaW5jbHVkZSA8cHVi
bGljL1dlYkZsb2F0UmVjdC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJJbWFnZUxheWVyLmg+CiAj
aW5jbHVkZSA8cHVibGljL1dlYlNpemUuaD4KLSNpbmNsdWRlIDxwdWJsaWMvV2ViVHJhbnNmb3Jt
YXRpb25NYXRyaXguaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25IYXNoTWFw
Lmg+CkBAIC03MDIsMTQgKzcwMSwzNiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6dXBk
YXRlQW5jaG9yUG9pbnQoKQogICAgIHBsYXRmb3JtTGF5ZXIoKS0+c2V0QW5jaG9yUG9pbnRaKG1f
YW5jaG9yUG9pbnQueigpKTsKIH0KIAorc3RhdGljIFNrTWF0cml4NDQgdHJhbnNmb3JtVG9Ta01h
dHJpeDQ0KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgpCit7CisgICAgU2tNYXRy
aXg0NCByZXQoU2tNYXRyaXg0NDo6a1VuaW5pdGlhbGl6ZWRfQ29uc3RydWN0b3IpOworICAgIHJl
dC5zZXREb3VibGUoMCwgMCwgbWF0cml4Lm0xMSgpKTsKKyAgICByZXQuc2V0RG91YmxlKDAsIDEs
IG1hdHJpeC5tMjEoKSk7CisgICAgcmV0LnNldERvdWJsZSgwLCAyLCBtYXRyaXgubTMxKCkpOwor
ICAgIHJldC5zZXREb3VibGUoMCwgMywgbWF0cml4Lm00MSgpKTsKKyAgICByZXQuc2V0RG91Ymxl
KDEsIDAsIG1hdHJpeC5tMTIoKSk7CisgICAgcmV0LnNldERvdWJsZSgxLCAxLCBtYXRyaXgubTIy
KCkpOworICAgIHJldC5zZXREb3VibGUoMSwgMiwgbWF0cml4Lm0zMigpKTsKKyAgICByZXQuc2V0
RG91YmxlKDEsIDMsIG1hdHJpeC5tNDIoKSk7CisgICAgcmV0LnNldERvdWJsZSgyLCAwLCBtYXRy
aXgubTEzKCkpOworICAgIHJldC5zZXREb3VibGUoMiwgMSwgbWF0cml4Lm0yMygpKTsKKyAgICBy
ZXQuc2V0RG91YmxlKDIsIDIsIG1hdHJpeC5tMzMoKSk7CisgICAgcmV0LnNldERvdWJsZSgyLCAz
LCBtYXRyaXgubTQzKCkpOworICAgIHJldC5zZXREb3VibGUoMywgMCwgbWF0cml4Lm0xNCgpKTsK
KyAgICByZXQuc2V0RG91YmxlKDMsIDEsIG1hdHJpeC5tMjQoKSk7CisgICAgcmV0LnNldERvdWJs
ZSgzLCAyLCBtYXRyaXgubTM0KCkpOworICAgIHJldC5zZXREb3VibGUoMywgMywgbWF0cml4Lm00
NCgpKTsKKyAgICByZXR1cm4gcmV0OworfQorCiB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6
dXBkYXRlVHJhbnNmb3JtKCkKIHsKLSAgICBwbGF0Zm9ybUxheWVyKCktPnNldFRyYW5zZm9ybShX
ZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeChtX3RyYW5zZm9ybSkpOworICAgIHBsYXRmb3JtTGF5ZXIo
KS0+c2V0VHJhbnNmb3JtKHRyYW5zZm9ybVRvU2tNYXRyaXg0NChtX3RyYW5zZm9ybSkpOwogfQog
CiB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ2hpbGRyZW5UcmFuc2Zvcm0oKQog
ewotICAgIHBsYXRmb3JtTGF5ZXIoKS0+c2V0U3VibGF5ZXJUcmFuc2Zvcm0oV2ViVHJhbnNmb3Jt
YXRpb25NYXRyaXgobV9jaGlsZHJlblRyYW5zZm9ybSkpOworICAgIHBsYXRmb3JtTGF5ZXIoKS0+
c2V0U3VibGF5ZXJUcmFuc2Zvcm0odHJhbnNmb3JtVG9Ta01hdHJpeDQ0KG1fY2hpbGRyZW5UcmFu
c2Zvcm0pKTsKIH0KIAogdm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnVwZGF0ZU1hc2tzVG9C
b3VuZHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTGlua0hpZ2hs
aWdodC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9MaW5rSGlnaGxpZ2h0LmNwcApp
bmRleCA5YTg2YWU0ZWM0ZjFhMmE2N2RiMDExZDIzN2EzNTlmNGY5ZWI1NjVhLi4yYmM5YTEwZGRi
Zjk2NzI2NjFlZDcxMzAyZGNjNjk1NDM4NjZkODE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9MaW5rSGlnaGxpZ2h0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9MaW5rSGlnaGxpZ2h0LmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIlJl
bmRlckxheWVyQmFja2luZy5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUg
IlJlbmRlclZpZXcuaCIKKyNpbmNsdWRlICJTa01hdHJpeDQ0LmgiCiAjaW5jbHVkZSAiV2ViRnJh
bWVJbXBsLmgiCiAjaW5jbHVkZSAiV2ViS2l0LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIK
QEAgLTQ3LDcgKzQ4LDYgQEAKICNpbmNsdWRlIDxwdWJsaWMvV2ViRmxvYXRQb2ludC5oPgogI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJSZWN0Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlNpemUuaD4KLSNp
bmNsdWRlIDxwdWJsaWMvV2ViVHJhbnNmb3JtYXRpb25NYXRyaXguaD4KICNpbmNsdWRlIDx3dGYv
Q3VycmVudFRpbWUuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC0xMjgsOSArMTI4
LDkgQEAgUmVuZGVyTGF5ZXIqIExpbmtIaWdobGlnaHQ6OmNvbXB1dGVFbmNsb3NpbmdDb21wb3Np
dGluZ0xheWVyKCkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBHcmFwaGljc0xheWVyQ2hyb21p
dW0qIG5ld0dyYXBoaWNzTGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ2hyb21pdW0q
PihyZW5kZXJMYXllci0+YmFja2luZygpLT5ncmFwaGljc0xheWVyKCkpOwotICAgIG1fY2xpcExh
eWVyLT5zZXRTdWJsYXllclRyYW5zZm9ybShXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKTsKKyAg
ICBtX2NsaXBMYXllci0+c2V0U3VibGF5ZXJUcmFuc2Zvcm0oU2tNYXRyaXg0NCgpKTsKICAgICBp
ZiAoIW5ld0dyYXBoaWNzTGF5ZXItPmRyYXdzQ29udGVudCgpKSB7Ci0gICAgICAgIG1fY2xpcExh
eWVyLT5zZXRTdWJsYXllclRyYW5zZm9ybShXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeChuZXdHcmFw
aGljc0xheWVyLT50cmFuc2Zvcm0oKSkpOworICAgICAgICBtX2NsaXBMYXllci0+c2V0U3VibGF5
ZXJUcmFuc2Zvcm0obmV3R3JhcGhpY3NMYXllci0+cGxhdGZvcm1MYXllcigpLT50cmFuc2Zvcm0o
KSk7CiAgICAgICAgIG5ld0dyYXBoaWNzTGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVy
Q2hyb21pdW0qPihtX293bmluZ1dlYlZpZXdJbXBsLT5ub25Db21wb3NpdGVkQ29udGVudEhvc3Qo
KS0+dG9wTGV2ZWxSb290TGF5ZXIoKSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9HcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNwcAppbmRl
eCAwZmJlNWQ3OTBhMDFjOTk3ZDJhN2M0MDczMDc0ZGFlODk5MGIzZDIyLi4zMjY3YThiNmE5OTk2
OWE0MDQ4N2U3YWY0ZDA0OTMyNzlhZjcxNGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvR3JhcGhpY3NMYXllckNocm9taXVtVGVzdC5jcHAKQEAgLTM4
LDcgKzM4LDYgQEAKICNpbmNsdWRlIDxwdWJsaWMvV2ViRmxvYXRBbmltYXRpb25DdXJ2ZS5oPgog
I2luY2x1ZGUgPHB1YmxpYy9XZWJHcmFwaGljc0NvbnRleHQzRC5oPgogI2luY2x1ZGUgPHB1Ymxp
Yy9XZWJMYXllclRyZWVWaWV3Lmg+Ci0jaW5jbHVkZSA8cHVibGljL1dlYlRyYW5zZm9ybWF0aW9u
TWF0cml4Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlVuaXRUZXN0U3VwcG9ydC5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTc2LDExICs3NSw2IEBAIHB1YmxpYzoKICAgICB9
CiAKIHByb3RlY3RlZDoKLSAgICBzdGF0aWMgdm9pZCBleHBlY3RUcmFuc2xhdGVYKGRvdWJsZSB0
cmFuc2xhdGVYLCBjb25zdCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4KQotICAgIHsK
LSAgICAgICAgRVhQRUNUX0ZMT0FUX0VRKHRyYW5zbGF0ZVgsIG1hdHJpeC5tNDEoKSk7Ci0gICAg
fQotCiAgICAgV2ViTGF5ZXIqIG1fcGxhdGZvcm1MYXllcjsKICAgICBPd25QdHI8R3JhcGhpY3NM
YXllckNocm9taXVtPiBtX2dyYXBoaWNzTGF5ZXI7CiAK
</data>
<flag name="review"
          id="213165"
          type_id="1"
          status="+"
          setter="enne"
    />
          </attachment>
      

    </bug>

</bugzilla>