<?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>79212</bug_id>
          
          <creation_ts>2012-02-22 02:15:39 -0800</creation_ts>
          <short_desc>[BlackBerry] Upstream ImageBlackBerry in platform/graphics/blackberry</short_desc>
          <delta_ts>2012-02-24 04:38:52 -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>Other</rep_platform>
          <op_sys>Other</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>
          
          <blocked>73119</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Robin Cao">robin.webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>charles.wei</cc>
    
    <cc>leo.yang</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>561774</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Cao">robin.webkit</who>
    <bug_when>2012-02-22 02:15:39 -0800</bug_when>
    <thetext>Add ImageBlackBerry.cpp in platform/graphics/blackberry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561784</commentid>
    <comment_count>1</comment_count>
      <attachid>128163</attachid>
    <who name="Robin Cao">robin.webkit</who>
    <bug_when>2012-02-22 02:28:26 -0800</bug_when>
    <thetext>Created attachment 128163
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561847</commentid>
    <comment_count>2</comment_count>
      <attachid>128163</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-02-22 04:25:05 -0800</bug_when>
    <thetext>Comment on attachment 128163
patch

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

Still some stuff to improve.

&gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:2
&gt; + * Copyright (C) 2010, 2011 Research In Motion Limited. All rights reserved.

Needs 2012.

&gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:30
&gt; +    String iconName(name); // a.k.a. &quot;enable string comparisons with ==&quot;

I dont see a need for this, why not just use strcmp?

&gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:40
&gt; +        context-&gt;fillRect(FloatRect(0, 0, 16, 16), Color::white, ColorSpaceDeviceRGB);

There may be a variant that flood fills the entire surface, then you dont need to specify the FloatRect.

&gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:59
&gt; +    // FIXME: Have a setting for the resource path

Is the FIXME still accurate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562727</commentid>
    <comment_count>3</comment_count>
    <who name="Robin Cao">robin.webkit</who>
    <bug_when>2012-02-22 19:48:18 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 128163 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=128163&amp;action=review
&gt; 
&gt; Still some stuff to improve.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:2
&gt; &gt; + * Copyright (C) 2010, 2011 Research In Motion Limited. All rights reserved.
&gt; 
&gt; Needs 2012.

Will add.

&gt; &gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:30
&gt; &gt; +    String iconName(name); // a.k.a. &quot;enable string comparisons with ==&quot;
&gt; 
&gt; I dont see a need for this, why not just use strcmp?
&gt; 

Good point.

&gt; &gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:40
&gt; &gt; +        context-&gt;fillRect(FloatRect(0, 0, 16, 16), Color::white, ColorSpaceDeviceRGB);
&gt; 
&gt; There may be a variant that flood fills the entire surface, then you dont need to specify the FloatRect.
&gt; 

GraphicsContext does not have functions that flood fills the entire surface, though SkCanvas have such functions.
We can change it something like this:

SkCanvas* canvas = context-&gt;platformContext()-&gt;canvas();
canvas-&gt;drawColor(SK_ColorWHITE);

Both are ok for me, but I prefer not to change it.

&gt; &gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:59
&gt; &gt; +    // FIXME: Have a setting for the resource path
&gt; 
&gt; Is the FIXME still accurate?

I don&apos;t think we need to add a public setting for the resource path. And seems no other ports did this.
I will remove the FIXME.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562741</commentid>
    <comment_count>4</comment_count>
      <attachid>128375</attachid>
    <who name="Robin Cao">robin.webkit</who>
    <bug_when>2012-02-22 20:00:46 -0800</bug_when>
    <thetext>Created attachment 128375
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563838</commentid>
    <comment_count>5</comment_count>
      <attachid>128375</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-02-23 19:27:10 -0800</bug_when>
    <thetext>Comment on attachment 128375
updated patch

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

&gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:52
&gt; +        context-&gt;fillRect(FloatRect(0, 0, 16, 16), Color::white, ColorSpaceDeviceRGB);
&gt; +
&gt; +        if (!strcmp(name, &quot;searchCancel&quot;))
&gt; +            context-&gt;setFillColor(Color(128, 128, 128), ColorSpaceDeviceRGB);
&gt; +        else
&gt; +            context-&gt;setFillColor(Color(64, 64, 64), ColorSpaceDeviceRGB);
&gt; +
&gt; +        context-&gt;translate(8, 8);
&gt; +
&gt; +        context-&gt;rotate(piDouble / 4.0);
&gt; +        context-&gt;fillRect(FloatRect(-1, -7, 2, 14));
&gt; +
&gt; +        context-&gt;rotate(-piDouble / 2.0);
&gt; +        context-&gt;fillRect(FloatRect(-1, -7, 2, 14));

some magic numbers here. Anyway we could improve it?

&gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:70
&gt; +    img-&gt;setData(buffer.release(), true);

what is true here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563871</commentid>
    <comment_count>6</comment_count>
    <who name="Robin Cao">robin.webkit</who>
    <bug_when>2012-02-23 20:16:21 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 128375 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=128375&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:52
&gt; &gt; +        context-&gt;fillRect(FloatRect(0, 0, 16, 16), Color::white, ColorSpaceDeviceRGB);
&gt; &gt; +
&gt; &gt; +        if (!strcmp(name, &quot;searchCancel&quot;))
&gt; &gt; +            context-&gt;setFillColor(Color(128, 128, 128), ColorSpaceDeviceRGB);
&gt; &gt; +        else
&gt; &gt; +            context-&gt;setFillColor(Color(64, 64, 64), ColorSpaceDeviceRGB);
&gt; &gt; +
&gt; &gt; +        context-&gt;translate(8, 8);
&gt; &gt; +
&gt; &gt; +        context-&gt;rotate(piDouble / 4.0);
&gt; &gt; +        context-&gt;fillRect(FloatRect(-1, -7, 2, 14));
&gt; &gt; +
&gt; &gt; +        context-&gt;rotate(-piDouble / 2.0);
&gt; &gt; +        context-&gt;fillRect(FloatRect(-1, -7, 2, 14));
&gt; 
&gt; some magic numbers here. Anyway we could improve it?
&gt; 

We just want to draw a &quot;x&quot; here. Maybe i should add a comment?

&gt; &gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:70
&gt; &gt; +    img-&gt;setData(buffer.release(), true);
&gt; 
&gt; what is true here?

true == allDataReceived
bool Image::setData(PassRefPtr&lt;SharedBuffer&gt; data, bool allDataReceived);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563872</commentid>
    <comment_count>7</comment_count>
      <attachid>128375</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-02-23 20:21:55 -0800</bug_when>
    <thetext>Comment on attachment 128375
updated patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:52
&gt;&gt;&gt; +        context-&gt;fillRect(FloatRect(-1, -7, 2, 14));
&gt;&gt; 
&gt;&gt; some magic numbers here. Anyway we could improve it?
&gt; 
&gt; We just want to draw a &quot;x&quot; here. Maybe i should add a comment?

please add.

&gt;&gt;&gt; Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp:70
&gt;&gt;&gt; +    img-&gt;setData(buffer.release(), true);
&gt;&gt; 
&gt;&gt; what is true here?
&gt; 
&gt; true == allDataReceived
&gt; bool Image::setData(PassRefPtr&lt;SharedBuffer&gt; data, bool allDataReceived);

lets add a /*allDataReceived*/ comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563915</commentid>
    <comment_count>8</comment_count>
      <attachid>128647</attachid>
    <who name="Robin Cao">robin.webkit</who>
    <bug_when>2012-02-23 21:48:40 -0800</bug_when>
    <thetext>Created attachment 128647
Updated patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563920</commentid>
    <comment_count>9</comment_count>
      <attachid>128647</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2012-02-23 21:55:18 -0800</bug_when>
    <thetext>Comment on attachment 128647
Updated patch for landing

Sending to cq...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564197</commentid>
    <comment_count>10</comment_count>
      <attachid>128647</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-24 04:38:47 -0800</bug_when>
    <thetext>Comment on attachment 128647
Updated patch for landing

Clearing flags on attachment: 128647

Committed r108774: &lt;http://trac.webkit.org/changeset/108774&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564198</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-24 04:38:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128163</attachid>
            <date>2012-02-22 02:28:26 -0800</date>
            <delta_ts>2012-02-22 20:00:36 -0800</delta_ts>
            <desc>patch</desc>
            <filename>bug-79212-20120222182831.patch</filename>
            <type>text/plain</type>
            <size>4806</size>
            <attacher name="Robin Cao">robin.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzExOTI1NDczNmNmNDNm
NmU2MzRmMjc4NGQyZWZmN2Y0NjFjNTlkYy4uMDlkZGM0OGI1YTdjMTI2MTBlNTcyMjgzNTdjMmYw
MGNkODI0MDlhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAyLTIyICBSb2Jp
biBDYW8gIDxyb2Jpbi5jYW9AdG9yY2htb2JpbGUuY29tLmNuPgorCisgICAgICAgIFtCbGFja0Jl
cnJ5XSBVcHN0cmVhbSBJbWFnZUJsYWNrQmVycnkgaW4gcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2ti
ZXJyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzky
MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbml0
aWFsIHVwc3RyZWFtaW5nLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBQbGF0Zm9ybUJsYWNr
QmVycnkuY21ha2U6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9JbWFn
ZUJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKToKKwogMjAxMi0wMi0yMiAgUnlvc3Vr
ZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgdGhlIHJlbWFpbmlu
ZyB1c2VzIG9mIENTU1N0eWxlRGVjbGFyYXRpb24gaW4gRWRpdG9yCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybUJsYWNrQmVycnkuY21ha2UKaW5kZXggY2VjNzgxYTQyYmM3NGU2MGZhODE5NGVlNmExMGRi
Yzk2YWNkNzVlZC4uYzQ3NmRkMDMwZDVjZWEzYWYyOWE4NGUzZjNkZGZlYTA0NTA2YWI4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQpAQCAtMTY0LDEyICsxNjQsMTIg
QEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYmxh
Y2tiZXJyeS9GbG9hdFJlY3RCbGFja0JlcnJ5LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Js
YWNrYmVycnkvRmxvYXRTaXplQmxhY2tCZXJyeS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9i
bGFja2JlcnJ5L0ljb25CbGFja0JlcnJ5LmNwcAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL2JsYWNr
YmVycnkvSW1hZ2VCbGFja0JlcnJ5LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVy
cnkvSW50UG9pbnRCbGFja0JlcnJ5LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVy
cnkvSW50UmVjdEJsYWNrQmVycnkuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJy
eS9JbnRTaXplQmxhY2tCZXJyeS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5
L01NcmVuZGVyZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBs
YXllclByaXZhdGVNTXJlbmRlcmVyLmNwcAotICAgIHBsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVy
cnkvUmVzb3VyY2VCbGFja0JlcnJ5LmNwcAogICAgIHBsYXRmb3JtL3RleHQvYmxhY2tiZXJyeS9T
dHJpbmdCbGFja0JlcnJ5LmNwcAogKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L0ltYWdlQmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L0ltYWdlQmxhY2tCZXJyeS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTZjYTg4NzVjN2FhNTAyMjI2ZmFlODRjNzkxZTMwZjU5NjAwNzYwYwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkv
SW1hZ2VCbGFja0JlcnJ5LmNwcApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rvbiwg
TUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJJbWFnZS5oIgorCisjaW5jbHVkZSAiQml0bWFwSW1hZ2UuaCIKKyNpbmNsdWRlICJJbWFnZUJ1
ZmZlci5oIgorI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1Bhc3NSZWZQdHI8SW1hZ2U+IEltYWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZShjb25zdCBj
aGFyICpuYW1lKQoreworICAgIFN0cmluZyBpY29uTmFtZShuYW1lKTsgLy8gYS5rLmEuICJlbmFi
bGUgc3RyaW5nIGNvbXBhcmlzb25zIHdpdGggPT0iCisgICAgaWYgKGljb25OYW1lID09ICJzZWFy
Y2hDYW5jZWwiIHx8IGljb25OYW1lID09ICJzZWFyY2hDYW5jZWxQcmVzc2VkIikgeworICAgICAg
ICBPd25QdHI8SW1hZ2VCdWZmZXI+IGltYWdlQnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShJ
bnRTaXplKDE2LCAxNikpOworICAgICAgICBpZiAoIWltYWdlQnVmZmVyKQorICAgICAgICAgICAg
cmV0dXJuIDA7CisKKyAgICAgICAgLy8gRHJhdyBhIG1vcmUgc3VidGxlLCBncmF5IHgtc2hhcGVk
IGljb24uCisgICAgICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCA9IGltYWdlQnVmZmVyLT5j
b250ZXh0KCk7CisgICAgICAgIGNvbnRleHQtPnNhdmUoKTsKKworICAgICAgICBjb250ZXh0LT5m
aWxsUmVjdChGbG9hdFJlY3QoMCwgMCwgMTYsIDE2KSwgQ29sb3I6OndoaXRlLCBDb2xvclNwYWNl
RGV2aWNlUkdCKTsKKworICAgICAgICBpZiAoaWNvbk5hbWUubGVuZ3RoKCkgPT0gc2l6ZW9mKCJz
ZWFyY2hDYW5jZWwiKSAtIDEpCisgICAgICAgICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoQ29s
b3IoMTI4LCAxMjgsIDEyOCksIENvbG9yU3BhY2VEZXZpY2VSR0IpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoQ29sb3IoNjQsIDY0LCA2NCksIENvbG9y
U3BhY2VEZXZpY2VSR0IpOworCisgICAgICAgIGNvbnRleHQtPnRyYW5zbGF0ZSg4LCA4KTsKKwor
ICAgICAgICBjb250ZXh0LT5yb3RhdGUocGlEb3VibGUgLyA0LjApOworICAgICAgICBjb250ZXh0
LT5maWxsUmVjdChGbG9hdFJlY3QoLTEsIC03LCAyLCAxNCkpOworCisgICAgICAgIGNvbnRleHQt
PnJvdGF0ZSgtcGlEb3VibGUgLyAyLjApOworICAgICAgICBjb250ZXh0LT5maWxsUmVjdChGbG9h
dFJlY3QoLTEsIC03LCAyLCAxNCkpOworCisgICAgICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKKyAg
ICAgICAgcmV0dXJuIGltYWdlQnVmZmVyLT5jb3B5SW1hZ2UoKTsKKyAgICB9CisKKyAgICAvLyBG
SVhNRTogSGF2ZSBhIHNldHRpbmcgZm9yIHRoZSByZXNvdXJjZSBwYXRoCisgICAgLy8gUkVTT1VS
Q0VfUEFUSCBpcyBzZXQgYnkgQ01ha2UgaW4gT3B0aW9uc0JsYWNrQmVycnkuY21ha2UKKyAgICBT
dHJpbmcgZnVsbFBhdGgoUkVTT1VSQ0VfUEFUSCk7CisgICAgU3RyaW5nIGV4dGVuc2lvbigiLnBu
ZyIpOworCisgICAgZnVsbFBhdGggKz0gbmFtZTsKKyAgICBmdWxsUGF0aCArPSBleHRlbnNpb247
CisKKyAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0
ZVdpdGhDb250ZW50c09mRmlsZShmdWxsUGF0aCk7CisgICAgaWYgKCFidWZmZXIpCisgICAgICAg
IHJldHVybiBCaXRtYXBJbWFnZTo6bnVsbEltYWdlKCk7CisKKyAgICBSZWZQdHI8Qml0bWFwSW1h
Z2U+IGltZyA9IEJpdG1hcEltYWdlOjpjcmVhdGUoKTsKKyAgICBpbWctPnNldERhdGEoYnVmZmVy
LnJlbGVhc2UoKSwgdHJ1ZSk7CisgICAgcmV0dXJuIGltZy5yZWxlYXNlKCk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128375</attachid>
            <date>2012-02-22 20:00:46 -0800</date>
            <delta_ts>2012-02-23 21:48:27 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>bug-79212-20120223120055.patch</filename>
            <type>text/plain</type>
            <size>4689</size>
            <attacher name="Robin Cao">robin.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmJiZWY1YmVjOTZhZTg0
NzNlYjQ1NWE2ZDMyZDhmZGE5NDU1MmQ2Mi4uYzQ2YTE5Njc4ODBmOWFjN2Y0M2RjNmYyZTcyZGQ5
OTM3NzdhNzNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAyLTIyICBSb2Jp
biBDYW8gIDxyb2Jpbi5jYW9AdG9yY2htb2JpbGUuY29tLmNuPgorCisgICAgICAgIFtCbGFja0Jl
cnJ5XSBVcHN0cmVhbSBJbWFnZUJsYWNrQmVycnkgaW4gcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2ti
ZXJyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzky
MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbml0
aWFsIHVwc3RyZWFtaW5nLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBQbGF0Zm9ybUJsYWNr
QmVycnkuY21ha2U6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9JbWFn
ZUJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKToKKwogMjAxMi0wMi0yMiAgQW5kcmVh
cyBLbGluZyAgPGF3ZXNvbWVrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBwYXJzaW5n
IGNvbG9yIHByZXNlbnRhdGlvbiBhdHRyaWJ1dGVzIGRvIGxlc3MgcG9pbnRsZXNzIHdvcmsuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKaW5kZXggY2VjNzgxYTQyYmM3NGU2
MGZhODE5NGVlNmExMGRiYzk2YWNkNzVlZC4uYzQ3NmRkMDMwZDVjZWEzYWYyOWE4NGUzZjNkZGZl
YTA0NTA2YWI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1CbGFja0JlcnJ5
LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQpAQCAt
MTY0LDEyICsxNjQsMTIgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9GbG9hdFJlY3RCbGFja0JlcnJ5LmNwcAogICAgIHBsYXRm
b3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvRmxvYXRTaXplQmxhY2tCZXJyeS5jcHAKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L0ljb25CbGFja0JlcnJ5LmNwcAorICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL2JsYWNrYmVycnkvSW1hZ2VCbGFja0JlcnJ5LmNwcAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL2JsYWNrYmVycnkvSW50UG9pbnRCbGFja0JlcnJ5LmNwcAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL2JsYWNrYmVycnkvSW50UmVjdEJsYWNrQmVycnkuY3BwCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvYmxhY2tiZXJyeS9JbnRTaXplQmxhY2tCZXJyeS5jcHAKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9ibGFja2JlcnJ5L01NcmVuZGVyZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYmxh
Y2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVNTXJlbmRlcmVyLmNwcAotICAgIHBsYXRmb3JtL2dy
YXBoaWNzL2JsYWNrYmVycnkvUmVzb3VyY2VCbGFja0JlcnJ5LmNwcAogICAgIHBsYXRmb3JtL3Rl
eHQvYmxhY2tiZXJyeS9TdHJpbmdCbGFja0JlcnJ5LmNwcAogKQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L0ltYWdlQmxhY2tCZXJyeS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L0ltYWdlQmxh
Y2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2JiMTFmZTMzNmUwNzYwYzczMTc4NWZhYTI2ZWViMWFi
OTdkMTIzMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2JsYWNrYmVycnkvSW1hZ2VCbGFja0JlcnJ5LmNwcApAQCAtMCwwICsxLDc0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExLCAyMDEyIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1p
dGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhl
IEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJJbWFnZS5oIgorCisjaW5jbHVkZSAiQml0bWFwSW1hZ2Uu
aCIKKyNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgorI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8SW1hZ2U+IEltYWdlOjpsb2FkUGxh
dGZvcm1SZXNvdXJjZShjb25zdCBjaGFyICpuYW1lKQoreworICAgIGlmICghc3RyY21wKG5hbWUs
ICJzZWFyY2hDYW5jZWwiKSB8fCAhc3RyY21wKG5hbWUsICJzZWFyY2hDYW5jZWxQcmVzc2VkIikp
IHsKKyAgICAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBpbWFnZUJ1ZmZlciA9IEltYWdlQnVmZmVy
OjpjcmVhdGUoSW50U2l6ZSgxNiwgMTYpKTsKKyAgICAgICAgaWYgKCFpbWFnZUJ1ZmZlcikKKyAg
ICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIC8vIERyYXcgYSBtb3JlIHN1YnRsZSwgZ3Jh
eSB4LXNoYXBlZCBpY29uLgorICAgICAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBpbWFn
ZUJ1ZmZlci0+Y29udGV4dCgpOworICAgICAgICBjb250ZXh0LT5zYXZlKCk7CisKKyAgICAgICAg
Y29udGV4dC0+ZmlsbFJlY3QoRmxvYXRSZWN0KDAsIDAsIDE2LCAxNiksIENvbG9yOjp3aGl0ZSwg
Q29sb3JTcGFjZURldmljZVJHQik7CisKKyAgICAgICAgaWYgKCFzdHJjbXAobmFtZSwgInNlYXJj
aENhbmNlbCIpKQorICAgICAgICAgICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yKDEyOCwg
MTI4LCAxMjgpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yKDY0LCA2NCwgNjQpLCBDb2xvclNwYWNlRGV2
aWNlUkdCKTsKKworICAgICAgICBjb250ZXh0LT50cmFuc2xhdGUoOCwgOCk7CisKKyAgICAgICAg
Y29udGV4dC0+cm90YXRlKHBpRG91YmxlIC8gNC4wKTsKKyAgICAgICAgY29udGV4dC0+ZmlsbFJl
Y3QoRmxvYXRSZWN0KC0xLCAtNywgMiwgMTQpKTsKKworICAgICAgICBjb250ZXh0LT5yb3RhdGUo
LXBpRG91YmxlIC8gMi4wKTsKKyAgICAgICAgY29udGV4dC0+ZmlsbFJlY3QoRmxvYXRSZWN0KC0x
LCAtNywgMiwgMTQpKTsKKworICAgICAgICBjb250ZXh0LT5yZXN0b3JlKCk7CisgICAgICAgIHJl
dHVybiBpbWFnZUJ1ZmZlci0+Y29weUltYWdlKCk7CisgICAgfQorCisgICAgLy8gUkVTT1VSQ0Vf
UEFUSCBpcyBzZXQgYnkgQ01ha2UgaW4gT3B0aW9uc0JsYWNrQmVycnkuY21ha2UKKyAgICBTdHJp
bmcgZnVsbFBhdGgoUkVTT1VSQ0VfUEFUSCk7CisgICAgU3RyaW5nIGV4dGVuc2lvbigiLnBuZyIp
OworCisgICAgZnVsbFBhdGggKz0gbmFtZTsKKyAgICBmdWxsUGF0aCArPSBleHRlbnNpb247CisK
KyAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZVdp
dGhDb250ZW50c09mRmlsZShmdWxsUGF0aCk7CisgICAgaWYgKCFidWZmZXIpCisgICAgICAgIHJl
dHVybiBCaXRtYXBJbWFnZTo6bnVsbEltYWdlKCk7CisKKyAgICBSZWZQdHI8Qml0bWFwSW1hZ2U+
IGltZyA9IEJpdG1hcEltYWdlOjpjcmVhdGUoKTsKKyAgICBpbWctPnNldERhdGEoYnVmZmVyLnJl
bGVhc2UoKSwgdHJ1ZSk7CisgICAgcmV0dXJuIGltZy5yZWxlYXNlKCk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128647</attachid>
            <date>2012-02-23 21:48:40 -0800</date>
            <delta_ts>2012-02-24 04:38:47 -0800</delta_ts>
            <desc>Updated patch for landing</desc>
            <filename>bug-79212-20120224134843.patch</filename>
            <type>text/plain</type>
            <size>4710</size>
            <attacher name="Robin Cao">robin.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmJiZWY1YmVjOTZhZTg0
NzNlYjQ1NWE2ZDMyZDhmZGE5NDU1MmQ2Mi4uNGQxN2QyN2MwN2E1YzFhYTc4MDMyZTRiMTI4Njgy
ZjU3YTE3NWE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAyLTIyICBSb2Jp
biBDYW8gIDxyb2Jpbi5jYW9AdG9yY2htb2JpbGUuY29tLmNuPgorCisgICAgICAgIFtCbGFja0Jl
cnJ5XSBVcHN0cmVhbSBJbWFnZUJsYWNrQmVycnkgaW4gcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2ti
ZXJyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzky
MTIKKworICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVzLgorCisgICAgICAgIEluaXRp
YWwgdXBzdHJlYW1pbmcsIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIFBsYXRmb3JtQmxhY2tC
ZXJyeS5jbWFrZToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L0ltYWdl
QmxhY2tCZXJyeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UpOgorCiAyMDEyLTAyLTIyICBBbmRyZWFz
IEtsaW5nICA8YXdlc29tZWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHBhcnNpbmcg
Y29sb3IgcHJlc2VudGF0aW9uIGF0dHJpYnV0ZXMgZG8gbGVzcyBwb2ludGxlc3Mgd29yay4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQppbmRleCBjZWM3ODFhNDJiYzc0ZTYw
ZmE4MTk0ZWU2YTEwZGJjOTZhY2Q3NWVkLi5jNDc2ZGQwMzBkNWNlYTNhZjI5YTg0ZTNmM2RkZmVh
MDQ1MDZhYjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnku
Y21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCkBAIC0x
NjQsMTIgKzE2NCwxMiBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9ibGFja2JlcnJ5L0Zsb2F0UmVjdEJsYWNrQmVycnkuY3BwCiAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9GbG9hdFNpemVCbGFja0JlcnJ5LmNwcAogICAgIHBsYXRm
b3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvSWNvbkJsYWNrQmVycnkuY3BwCisgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvYmxhY2tiZXJyeS9JbWFnZUJsYWNrQmVycnkuY3BwCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvYmxhY2tiZXJyeS9JbnRQb2ludEJsYWNrQmVycnkuY3BwCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvYmxhY2tiZXJyeS9JbnRSZWN0QmxhY2tCZXJyeS5jcHAKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9ibGFja2JlcnJ5L0ludFNpemVCbGFja0JlcnJ5LmNwcAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL2JsYWNrYmVycnkvTU1yZW5kZXJlci5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9ibGFj
a2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZU1NcmVuZGVyZXIuY3BwCi0gICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvYmxhY2tiZXJyeS9SZXNvdXJjZUJsYWNrQmVycnkuY3BwCiAgICAgcGxhdGZvcm0vdGV4
dC9ibGFja2JlcnJ5L1N0cmluZ0JsYWNrQmVycnkuY3BwCiApCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvSW1hZ2VCbGFja0JlcnJ5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvSW1hZ2VCbGFj
a0JlcnJ5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YTgwZDk4YzdjMWVlOGIzMzU4NDk1YWFkN2ExYTgyYjhm
ZDNkMzAxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYmxhY2tiZXJyeS9JbWFnZUJsYWNrQmVycnkuY3BwCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEsIDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0
ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUg
RnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkltYWdlLmgiCisKKyNpbmNsdWRlICJCaXRtYXBJbWFnZS5o
IgorI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCisjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxJbWFnZT4gSW1hZ2U6OmxvYWRQbGF0
Zm9ybVJlc291cmNlKGNvbnN0IGNoYXIgKm5hbWUpCit7CisgICAgaWYgKCFzdHJjbXAobmFtZSwg
InNlYXJjaENhbmNlbCIpIHx8ICFzdHJjbXAobmFtZSwgInNlYXJjaENhbmNlbFByZXNzZWQiKSkg
eworICAgICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IGltYWdlQnVmZmVyID0gSW1hZ2VCdWZmZXI6
OmNyZWF0ZShJbnRTaXplKDE2LCAxNikpOworICAgICAgICBpZiAoIWltYWdlQnVmZmVyKQorICAg
ICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgLy8gRHJhdyBhIG1vcmUgc3VidGxlLCBncmF5
IHgtc2hhcGVkIGljb24uCisgICAgICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCA9IGltYWdl
QnVmZmVyLT5jb250ZXh0KCk7CisgICAgICAgIGNvbnRleHQtPnNhdmUoKTsKKworICAgICAgICBj
b250ZXh0LT5maWxsUmVjdChGbG9hdFJlY3QoMCwgMCwgMTYsIDE2KSwgQ29sb3I6OndoaXRlLCBD
b2xvclNwYWNlRGV2aWNlUkdCKTsKKworICAgICAgICBpZiAoIXN0cmNtcChuYW1lLCAic2VhcmNo
Q2FuY2VsIikpCisgICAgICAgICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoQ29sb3IoMTI4LCAx
MjgsIDEyOCksIENvbG9yU3BhY2VEZXZpY2VSR0IpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoQ29sb3IoNjQsIDY0LCA2NCksIENvbG9yU3BhY2VEZXZp
Y2VSR0IpOworCisgICAgICAgIGNvbnRleHQtPnRyYW5zbGF0ZSg4LCA4KTsKKworICAgICAgICBj
b250ZXh0LT5yb3RhdGUocGlEb3VibGUgLyA0LjApOworICAgICAgICBjb250ZXh0LT5maWxsUmVj
dChGbG9hdFJlY3QoLTEsIC03LCAyLCAxNCkpOworCisgICAgICAgIGNvbnRleHQtPnJvdGF0ZSgt
cGlEb3VibGUgLyAyLjApOworICAgICAgICBjb250ZXh0LT5maWxsUmVjdChGbG9hdFJlY3QoLTEs
IC03LCAyLCAxNCkpOworCisgICAgICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKKyAgICAgICAgcmV0
dXJuIGltYWdlQnVmZmVyLT5jb3B5SW1hZ2UoKTsKKyAgICB9CisKKyAgICAvLyBSRVNPVVJDRV9Q
QVRIIGlzIHNldCBieSBDTWFrZSBpbiBPcHRpb25zQmxhY2tCZXJyeS5jbWFrZQorICAgIFN0cmlu
ZyBmdWxsUGF0aChSRVNPVVJDRV9QQVRIKTsKKyAgICBTdHJpbmcgZXh0ZW5zaW9uKCIucG5nIik7
CisKKyAgICBmdWxsUGF0aCArPSBuYW1lOworICAgIGZ1bGxQYXRoICs9IGV4dGVuc2lvbjsKKwor
ICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlciA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlV2l0
aENvbnRlbnRzT2ZGaWxlKGZ1bGxQYXRoKTsKKyAgICBpZiAoIWJ1ZmZlcikKKyAgICAgICAgcmV0
dXJuIEJpdG1hcEltYWdlOjpudWxsSW1hZ2UoKTsKKworICAgIFJlZlB0cjxCaXRtYXBJbWFnZT4g
aW1nID0gQml0bWFwSW1hZ2U6OmNyZWF0ZSgpOworICAgIGltZy0+c2V0RGF0YShidWZmZXIucmVs
ZWFzZSgpLCB0cnVlIC8qIGFsbERhdGFSZWNlaXZlZCAqLyk7CisgICAgcmV0dXJuIGltZy5yZWxl
YXNlKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>