<?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>79628</bug_id>
          
          <creation_ts>2012-02-26 23:01:22 -0800</creation_ts>
          <short_desc>Add a ChromiumGpuAndroid port.</short_desc>
          <delta_ts>2012-03-19 02:42:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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>
          
          <blocked>78524</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hao Zheng">zhenghao</reporter>
          <assigned_to name="Hao Zheng">zhenghao</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>jamesr</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>565358</commentid>
    <comment_count>0</comment_count>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-02-26 23:01:22 -0800</bug_when>
    <thetext>Revert https://bugs.webkit.org/show_bug.cgi?id=78580 , as we do have a ChromiumGpuAndroid port. Will send out a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565360</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-26 23:02:38 -0800</bug_when>
    <thetext>We&apos;re in the process of deleting all the GPU ports, but it&apos;s probably fine to add this for the time being.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565369</commentid>
    <comment_count>2</comment_count>
      <attachid>128962</attachid>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-02-26 23:18:51 -0800</bug_when>
    <thetext>Created attachment 128962
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565371</commentid>
    <comment_count>3</comment_count>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-02-26 23:22:23 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; We&apos;re in the process of deleting all the GPU ports, but it&apos;s probably fine to add this for the time being.

I see. Actually, I found our gpu port broken in our merge, mostly due to the the process of removing all gpu ports (code is undergoing lots of change). So I want to upstream this first, hoping that future refactoring could take Android port into account, too. Thanks for upstreaming our Android port, Adam.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565383</commentid>
    <comment_count>4</comment_count>
      <attachid>128962</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-26 23:34:02 -0800</bug_when>
    <thetext>Comment on attachment 128962
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/factory.py:76
&gt; -            return &apos;chromium-linux&apos;
&gt; +            if os.environ.get(&apos;GYP_DEFINES&apos;, &apos;&apos;).find(&apos;OS=android&apos;) &gt;= 0:
&gt; +                return &apos;chromium-android&apos;
&gt; +            else:
&gt; +                return &apos;chromium-linux&apos;

This part of the change is wrong.  If you want to create the the chromium-android port, you need to pass it on the command line:

--platform=chromium-android

&gt; Tools/Scripts/webkitpy/layout_tests/port/factory.py:100
&gt; -            port_name = port_name + &apos;-&apos; + self._host.platform.os_name
&gt; +            if os.environ.get(&apos;GYP_DEFINES&apos;, &apos;&apos;).find(&apos;OS=android&apos;) &gt;= 0:
&gt; +                port_name = &apos;chromium-gpu-android&apos;
&gt; +            else:
&gt; +                port_name = port_name + &apos;-&apos; + self._host.platform.os_name

Same here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565384</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-26 23:34:19 -0800</bug_when>
    <thetext>(Other than that, looks good.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565389</commentid>
    <comment_count>6</comment_count>
      <attachid>128965</attachid>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-02-26 23:40:04 -0800</bug_when>
    <thetext>Created attachment 128965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565391</commentid>
    <comment_count>7</comment_count>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-02-26 23:40:51 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 128962 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=128962&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/factory.py:76
&gt; &gt; -            return &apos;chromium-linux&apos;
&gt; &gt; +            if os.environ.get(&apos;GYP_DEFINES&apos;, &apos;&apos;).find(&apos;OS=android&apos;) &gt;= 0:
&gt; &gt; +                return &apos;chromium-android&apos;
&gt; &gt; +            else:
&gt; &gt; +                return &apos;chromium-linux&apos;
&gt; 
&gt; This part of the change is wrong.  If you want to create the the chromium-android port, you need to pass it on the command line:
&gt; 
&gt; --platform=chromium-android
&gt; 

I see. Done.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/factory.py:100
&gt; &gt; -            port_name = port_name + &apos;-&apos; + self._host.platform.os_name
&gt; &gt; +            if os.environ.get(&apos;GYP_DEFINES&apos;, &apos;&apos;).find(&apos;OS=android&apos;) &gt;= 0:
&gt; &gt; +                port_name = &apos;chromium-gpu-android&apos;
&gt; &gt; +            else:
&gt; &gt; +                port_name = port_name + &apos;-&apos; + self._host.platform.os_name
&gt; 
&gt; Same here.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565396</commentid>
    <comment_count>8</comment_count>
      <attachid>128965</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-26 23:44:26 -0800</bug_when>
    <thetext>Comment on attachment 128965
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565403</commentid>
    <comment_count>9</comment_count>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-02-26 23:49:41 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 128965 [details])
&gt; Thanks!

Thanks for your really quick review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565487</commentid>
    <comment_count>10</comment_count>
      <attachid>128965</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-27 02:06:20 -0800</bug_when>
    <thetext>Comment on attachment 128965
Patch

Clearing flags on attachment: 128965

Committed r108974: &lt;http://trac.webkit.org/changeset/108974&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565488</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-27 02:06:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565813</commentid>
    <comment_count>12</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-27 10:50:56 -0800</bug_when>
    <thetext>I&apos;m confused; I thought James said that that the gpu path is always used on the Android port, so why is this needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565816</commentid>
    <comment_count>13</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-27 10:56:12 -0800</bug_when>
    <thetext>Yeah I&apos;m quite confused by this as well.  You need a GPU version of a port when you want to run tests in a GPU and non-GPU configuration and maintain separate baselines and possibly flags for the two.  Is this really true for the Android port?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566276</commentid>
    <comment_count>14</comment_count>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-02-27 19:12:26 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Yeah I&apos;m quite confused by this as well.  You need a GPU version of a port when you want to run tests in a GPU and non-GPU configuration and maintain separate baselines and possibly flags for the two.  Is this really true for the Android port?

Sorry for confusion. Yes, we only has hardware gpu path in browser. However, our hardware gpu path is still not reliable enough for running layout tests, as it crashes randomly sometimes (not very often, but does crash flakily). Maybe it&apos;s because of some memory leak issues. So on our downstream bot, we actually run non gpu tests for now. That&apos;s why we need a non gpu port and a standalone gpu port now. When the hardware gpu path is reliable enough to run tens of thousands of tests, we can run layout tests completely in hardware gpu path and remove the gpu port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566309</commentid>
    <comment_count>15</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-27 19:53:22 -0800</bug_when>
    <thetext>So you aren&apos;t testing the configuration you are shipping?  That seems....brave</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566314</commentid>
    <comment_count>16</comment_count>
    <who name="Hao Zheng">zhenghao</who>
    <bug_when>2012-02-27 20:07:00 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; So you aren&apos;t testing the configuration you are shipping?  That seems....brave

I keep an eye on them locally. Of course that&apos;s bad... I hope we can fix it very soon.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128962</attachid>
            <date>2012-02-26 23:18:51 -0800</date>
            <delta_ts>2012-02-26 23:39:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79628-20120227151849.patch</filename>
            <type>text/plain</type>
            <size>5811</size>
            <attacher name="Hao Zheng">zhenghao</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTU5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTMwN2MzM2YxNjA4MTk1YmVjMzQ1ODQ2Y2Q5NTNkOGE4
NGM0Nzk2OS4uMTI2NmE0OTUxMmY0MzgzYTY4MjEzYWRkN2YwMjNiYzRkZTc0MDRkNCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3
IEBACisyMDEyLTAyLTI2ICBIYW8gWmhlbmcgIDx6aGVuZ2hhb0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgQWRkIGEgQ2hyb21pdW1HcHVBbmRyb2lkIHBvcnQuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTYyOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFuZHJvaWQgZG9lcyBoYXZlIGEgZ3B1IHBvcnQs
IHNvIHJldmVydCByMTA3Njk3LgorICAgICAgICBQaWNrIEFuZHJvaWQgcG9ydCBpbiBmYWN0b3J5
IGFjY29yZGluZyB0byBHWVBfREVGSU5FUywgYXMgaG9zdAorICAgICAgICBwbGF0Zm9ybSBpcyBu
b3QgdXNlZnVsIHRvIGRldGVybWluZSBBbmRyb2lkIHBvcnQuCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHk6CisgICAgICAg
IChDaHJvbWl1bUFuZHJvaWRQb3J0Ll9faW5pdF9fKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2dwdS5weToKKyAgICAgICAgKENocm9taXVt
R3B1QW5kcm9pZFBvcnQpOgorICAgICAgICAoQ2hyb21pdW1HcHVBbmRyb2lkUG9ydC5fX2luaXRf
Xyk6CisgICAgICAgIChDaHJvbWl1bUdwdUFuZHJvaWRQb3J0LmJhc2VsaW5lX3NlYXJjaF9wYXRo
KToKKyAgICAgICAgKENocm9taXVtR3B1QW5kcm9pZFBvcnQuZGVmYXVsdF9jaGlsZF9wcm9jZXNz
ZXMpOgorICAgICAgICAoQ2hyb21pdW1HcHVBbmRyb2lkUG9ydC50ZXN0cyk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9mYWN0b3J5LnB5OgorICAgICAgICAo
UG9ydEZhY3RvcnkpOgorICAgICAgICAoUG9ydEZhY3RvcnkuX2RlZmF1bHRfcG9ydCk6CisgICAg
ICAgIChQb3J0RmFjdG9yeS5nZXQpOgorCiAyMDEyLTAyLTI1ICBHeXV5b3VuZyBLaW0gIDxneXV5
b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ2hhbmdlIEJ1aWxkIGJvdCB3aXRoIEJ1
aWxkQW5kVGVzdCBib3QgZm9yIEVGTCBwb3J0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9hbmRyb2lkLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9hbmRyb2lkLnB5CmluZGV4
IGJkYjJjYmIzMWUyOTM1OTFjNGZmNGNmMzI5M2E4YTI0YTU1MjY3N2YuLjM0ZGMzNzM3NzU0Yjhi
NTZiY2ExNDcwMGNmYjBiYmI2YmI0ZjYxYjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fYW5kcm9pZC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHkKQEAg
LTE0MSwxMiArMTQxLDYgQEAgY2xhc3MgQ2hyb21pdW1BbmRyb2lkUG9ydChjaHJvbWl1bS5DaHJv
bWl1bVBvcnQpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBob3N0LCBwb3J0X25hbWUsICoqa3dh
cmdzKToKICAgICAgICAgY2hyb21pdW0uQ2hyb21pdW1Qb3J0Ll9faW5pdF9fKHNlbGYsIGhvc3Qs
IHBvcnRfbmFtZSwgKiprd2FyZ3MpCiAKLSAgICAgICAgIyBUaGUgY2hyb21pdW0tYW5kcm9pZCBw
b3J0IGFsd2F5cyB1c2VzIHRoZSBHUFUgY29kZSBwYXRoLCBzbyB3ZSBzZXQKLSAgICAgICAgIyB0
aGVzZSBvcHRpb25zIGhlcmUsIGFsbW9zdCBhcyBpZiB0aGlzIHdhcyB0aGUgY2hyb21pdW0tZ3B1
LWFuZHJvaWQKLSAgICAgICAgIyBwb3J0LgotICAgICAgICBzZWxmLl9vcHRpb25zLmFjY2VsZXJh
dGVkXzJkX2NhbnZhcyA9IFRydWUKLSAgICAgICAgc2VsZi5fb3B0aW9ucy5hY2NlbGVyYXRlZF92
aWRlbyA9IFRydWUKLQogICAgICAgICBzZWxmLl9vcGVyYXRpbmdfc3lzdGVtID0gJ2FuZHJvaWQn
CiAgICAgICAgIHNlbGYuX3ZlcnNpb24gPSAnaWNlY3JlYW1zYW5kd2ljaCcKICAgICAgICAgIyBG
SVhNRTogd2UgbWF5IHN1cHBvcnQgb3RoZXIgYXJjaGl0ZWN0dXJlcyBpbiB0aGUgZnV0dXJlLgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJv
bWl1bV9ncHUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2No
cm9taXVtX2dwdS5weQppbmRleCBmZGMxMTE3Yzk2ZmRhMjQwZTdiNGI0NDAxYmQ4NTgxZjJlYTIz
NjQ0Li5lMTY1YTM0ZDMxNzczMTE2OGE1NjA5ZDlhYWY0YzYyOTk3ZGZiMmY3IDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2dwdS5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVt
X2dwdS5weQpAQCAtMjYsNiArMjYsNyBAQAogCiBpbXBvcnQgc3lzCiAKK2ltcG9ydCBjaHJvbWl1
bV9hbmRyb2lkCiBpbXBvcnQgY2hyb21pdW1fbGludXgKIGltcG9ydCBjaHJvbWl1bV9tYWMKIGlt
cG9ydCBjaHJvbWl1bV93aW4KQEAgLTcwLDYgKzcxLDI5IEBAIGRlZiBfZGVmYXVsdF90ZXN0c19w
YXRocyhwb3J0KToKICAgICByZXR1cm4gcGF0aHMKIAogCitjbGFzcyBDaHJvbWl1bUdwdUFuZHJv
aWRQb3J0KGNocm9taXVtX2FuZHJvaWQuQ2hyb21pdW1BbmRyb2lkUG9ydCk6CisgICAgcG9ydF9u
YW1lID0gJ2Nocm9taXVtLWdwdS1hbmRyb2lkJworCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhv
c3QsIHBvcnRfbmFtZSwgKiprd2FyZ3MpOgorICAgICAgICBjaHJvbWl1bV9hbmRyb2lkLkNocm9t
aXVtQW5kcm9pZFBvcnQuX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydF9uYW1lLCAqKmt3YXJncykK
KyAgICAgICAgX3NldF9ncHVfb3B0aW9ucyhzZWxmKQorICAgICAgICAjIEFsd2F5cyBlbmFibGUg
aGFyZHdhcmUgZ3B1LCBhcyBBbmRyb2lkIHBsYXRmb3JtIGRvZXNuJ3Qgc3VwcG9ydCBNZXNhLgor
ICAgICAgICBzZWxmLl9vcHRpb25zLmVuYWJsZV9oYXJkd2FyZV9ncHUgPSBUcnVlCisKKyAgICBk
ZWYgYmFzZWxpbmVfc2VhcmNoX3BhdGgoc2VsZik6CisgICAgICAgICMgTWltaWMgdGhlIExpbnV4
IC0+IFdpbiBleHBlY3RhdGlvbnMgZmFsbGJhY2sgaW4gdGhlIG9yZGluYXJ5IENocm9taXVtIHBv
cnQuCisgICAgICAgIHJldHVybiAobWFwKHNlbGYuX3dlYmtpdF9iYXNlbGluZV9wYXRoLCBbJ2No
cm9taXVtLWdwdS1hbmRyb2lkJywgJ2Nocm9taXVtLWdwdS1saW51eCcsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Nocm9taXVtLWdwdS13aW4nLCAn
Y2hyb21pdW0tZ3B1J10pICsKKyAgICAgICAgICAgICAgICBjaHJvbWl1bV9hbmRyb2lkLkNocm9t
aXVtQW5kcm9pZFBvcnQuYmFzZWxpbmVfc2VhcmNoX3BhdGgoc2VsZikpCisKKyAgICBkZWYgZGVm
YXVsdF9jaGlsZF9wcm9jZXNzZXMoc2VsZik6CisgICAgICAgIHJldHVybiAxCisKKyAgICBkZWYg
dGVzdHMoc2VsZiwgcGF0aHMpOgorICAgICAgICBwYXRocyA9IHBhdGhzIG9yIF9kZWZhdWx0X3Rl
c3RzX3BhdGhzKHNlbGYpCisgICAgICAgIHJldHVybiBjaHJvbWl1bV9hbmRyb2lkLkNocm9taXVt
QW5kcm9pZFBvcnQudGVzdHMoc2VsZiwgcGF0aHMpCisKKwogY2xhc3MgQ2hyb21pdW1HcHVMaW51
eFBvcnQoY2hyb21pdW1fbGludXguQ2hyb21pdW1MaW51eFBvcnQpOgogICAgIHBvcnRfbmFtZSA9
ICdjaHJvbWl1bS1ncHUtbGludXgnCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZmFjdG9yeS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvZmFjdG9yeS5weQppbmRleCAwNTkxODZlZWUxNmI3MWJmZmE5OTcy
NDdkYjQzMDY5NDJjMGU2YzIyLi5lYzNhODUzN2RmOWI3NzMzMzZiMTgwZDk2MzE4M2I4N2ZlYWEz
Nzk2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2ZhY3RvcnkucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9mYWN0b3J5LnB5CkBAIC0yOSw2ICsyOSw3IEBACiAKICIiIkZhY3RvcnkgbWV0aG9kIHRvIHJl
dHJpZXZlIHRoZSBhcHByb3ByaWF0ZSBwb3J0IGltcGxlbWVudGF0aW9uLiIiIgogCitpbXBvcnQg
b3MKIGltcG9ydCByZQogCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0IGltcG9ydCBi
dWlsZGVycwpAQCAtNDMsNiArNDQsNyBAQCBjbGFzcyBCdWlsZGVyT3B0aW9ucyhvYmplY3QpOgog
Y2xhc3MgUG9ydEZhY3Rvcnkob2JqZWN0KToKICAgICBQT1JUX0NMQVNTRVMgPSAoCiAgICAgICAg
ICdjaHJvbWl1bV9hbmRyb2lkLkNocm9taXVtQW5kcm9pZFBvcnQnLAorICAgICAgICAnY2hyb21p
dW1fZ3B1LkNocm9taXVtR3B1QW5kcm9pZFBvcnQnLAogICAgICAgICAnY2hyb21pdW1fZ3B1LkNo
cm9taXVtR3B1TGludXhQb3J0JywKICAgICAgICAgJ2Nocm9taXVtX2dwdS5DaHJvbWl1bUdwdU1h
Y1BvcnQnLAogICAgICAgICAnY2hyb21pdW1fZ3B1LkNocm9taXVtR3B1V2luUG9ydCcsCkBAIC02
OCw3ICs3MCwxMCBAQCBjbGFzcyBQb3J0RmFjdG9yeShvYmplY3QpOgogICAgIGRlZiBfZGVmYXVs
dF9wb3J0KHNlbGYsIG9wdGlvbnMpOgogICAgICAgICBwbGF0Zm9ybSA9IHNlbGYuX2hvc3QucGxh
dGZvcm0KICAgICAgICAgaWYgcGxhdGZvcm0uaXNfbGludXgoKToKLSAgICAgICAgICAgIHJldHVy
biAnY2hyb21pdW0tbGludXgnCisgICAgICAgICAgICBpZiBvcy5lbnZpcm9uLmdldCgnR1lQX0RF
RklORVMnLCAnJykuZmluZCgnT1M9YW5kcm9pZCcpID49IDA6CisgICAgICAgICAgICAgICAgcmV0
dXJuICdjaHJvbWl1bS1hbmRyb2lkJworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg
ICByZXR1cm4gJ2Nocm9taXVtLWxpbnV4JwogICAgICAgICBlbGlmIHBsYXRmb3JtLmlzX21hYygp
OgogICAgICAgICAgICAgcmV0dXJuICdtYWMnCiAgICAgICAgIGVsaWYgcGxhdGZvcm0uaXNfd2lu
KCk6CkBAIC04OSw3ICs5NCwxMCBAQCBjbGFzcyBQb3J0RmFjdG9yeShvYmplY3QpOgogCiAgICAg
ICAgICMgRklYTUU6IFJlbW92ZSB0aGlzIHdoZW4gd2UgcmVtb3ZlIHRoZSBjaHJvbWl1bS1ncHUg
cG9ydHMuCiAgICAgICAgIGlmIHBvcnRfbmFtZSA9PSAnY2hyb21pdW0tZ3B1JzoKLSAgICAgICAg
ICAgIHBvcnRfbmFtZSA9IHBvcnRfbmFtZSArICctJyArIHNlbGYuX2hvc3QucGxhdGZvcm0ub3Nf
bmFtZQorICAgICAgICAgICAgaWYgb3MuZW52aXJvbi5nZXQoJ0dZUF9ERUZJTkVTJywgJycpLmZp
bmQoJ09TPWFuZHJvaWQnKSA+PSAwOgorICAgICAgICAgICAgICAgIHBvcnRfbmFtZSA9ICdjaHJv
bWl1bS1ncHUtYW5kcm9pZCcKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcG9y
dF9uYW1lID0gcG9ydF9uYW1lICsgJy0nICsgc2VsZi5faG9zdC5wbGF0Zm9ybS5vc19uYW1lCiAK
ICAgICAgICAgZm9yIHBvcnRfY2xhc3MgaW4gc2VsZi5QT1JUX0NMQVNTRVM6CiAgICAgICAgICAg
ICBtb2R1bGVfbmFtZSwgY2xhc3NfbmFtZSA9IHBvcnRfY2xhc3MucnNwbGl0KCcuJywgMSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128965</attachid>
            <date>2012-02-26 23:40:04 -0800</date>
            <delta_ts>2012-02-27 02:06:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79628-20120227154002.patch</filename>
            <type>text/plain</type>
            <size>4420</size>
            <attacher name="Hao Zheng">zhenghao</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTU5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTMwN2MzM2YxNjA4MTk1YmVjMzQ1ODQ2Y2Q5NTNkOGE4
NGM0Nzk2OS4uM2M3YjM3YTE1MjYzNWUzOGRiMzIxNTUyMTFlNDA2OTE5OWIzMTA0OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDEyLTAyLTI2ICBIYW8gWmhlbmcgIDx6aGVuZ2hhb0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgQWRkIGEgQ2hyb21pdW1HcHVBbmRyb2lkIHBvcnQuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTYyOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFuZHJvaWQgZG9lcyBoYXZlIGEgZ3B1IHBvcnQs
IHNvIHJldmVydCByMTA3Njk3LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9jaHJvbWl1bV9hbmRyb2lkLnB5OgorICAgICAgICAoQ2hyb21pdW1BbmRyb2lk
UG9ydC5fX2luaXRfXyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9jaHJvbWl1bV9ncHUucHk6CisgICAgICAgIChDaHJvbWl1bUdwdUFuZHJvaWRQb3J0KToK
KyAgICAgICAgKENocm9taXVtR3B1QW5kcm9pZFBvcnQuX19pbml0X18pOgorICAgICAgICAoQ2hy
b21pdW1HcHVBbmRyb2lkUG9ydC5iYXNlbGluZV9zZWFyY2hfcGF0aCk6CisgICAgICAgIChDaHJv
bWl1bUdwdUFuZHJvaWRQb3J0LmRlZmF1bHRfY2hpbGRfcHJvY2Vzc2VzKToKKyAgICAgICAgKENo
cm9taXVtR3B1QW5kcm9pZFBvcnQudGVzdHMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvZmFjdG9yeS5weToKKyAgICAgICAgKFBvcnRGYWN0b3J5KToKKwog
MjAxMi0wMi0yNSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAg
ICAgICAgIENoYW5nZSBCdWlsZCBib3Qgd2l0aCBCdWlsZEFuZFRlc3QgYm90IGZvciBFRkwgcG9y
dC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y2hyb21pdW1fYW5kcm9pZC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW1fYW5kcm9pZC5weQppbmRleCBiZGIyY2JiMzFlMjkzNTkxYzRmZjRjZjMy
OTNhOGEyNGE1NTI2NzdmLi4zNGRjMzczNzc1NGI4YjU2YmNhMTQ3MDBjZmIwYmJiNmJiNGY2MWIx
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2No
cm9taXVtX2FuZHJvaWQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9jaHJvbWl1bV9hbmRyb2lkLnB5CkBAIC0xNDEsMTIgKzE0MSw2IEBAIGNsYXNzIENo
cm9taXVtQW5kcm9pZFBvcnQoY2hyb21pdW0uQ2hyb21pdW1Qb3J0KToKICAgICBkZWYgX19pbml0
X18oc2VsZiwgaG9zdCwgcG9ydF9uYW1lLCAqKmt3YXJncyk6CiAgICAgICAgIGNocm9taXVtLkNo
cm9taXVtUG9ydC5fX2luaXRfXyhzZWxmLCBob3N0LCBwb3J0X25hbWUsICoqa3dhcmdzKQogCi0g
ICAgICAgICMgVGhlIGNocm9taXVtLWFuZHJvaWQgcG9ydCBhbHdheXMgdXNlcyB0aGUgR1BVIGNv
ZGUgcGF0aCwgc28gd2Ugc2V0Ci0gICAgICAgICMgdGhlc2Ugb3B0aW9ucyBoZXJlLCBhbG1vc3Qg
YXMgaWYgdGhpcyB3YXMgdGhlIGNocm9taXVtLWdwdS1hbmRyb2lkCi0gICAgICAgICMgcG9ydC4K
LSAgICAgICAgc2VsZi5fb3B0aW9ucy5hY2NlbGVyYXRlZF8yZF9jYW52YXMgPSBUcnVlCi0gICAg
ICAgIHNlbGYuX29wdGlvbnMuYWNjZWxlcmF0ZWRfdmlkZW8gPSBUcnVlCi0KICAgICAgICAgc2Vs
Zi5fb3BlcmF0aW5nX3N5c3RlbSA9ICdhbmRyb2lkJwogICAgICAgICBzZWxmLl92ZXJzaW9uID0g
J2ljZWNyZWFtc2FuZHdpY2gnCiAgICAgICAgICMgRklYTUU6IHdlIG1heSBzdXBwb3J0IG90aGVy
IGFyY2hpdGVjdHVyZXMgaW4gdGhlIGZ1dHVyZS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fZ3B1LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9ncHUucHkKaW5kZXggZmRjMTEx
N2M5NmZkYTI0MGU3YjRiNDQwMWJkODU4MWYyZWEyMzY0NC4uZTE2NWEzNGQzMTc3MzExNjhhNTYw
OWQ5YWFmNGM2Mjk5N2RmYjJmNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9ncHUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9ncHUucHkKQEAgLTI2LDYgKzI2LDcgQEAK
IAogaW1wb3J0IHN5cwogCitpbXBvcnQgY2hyb21pdW1fYW5kcm9pZAogaW1wb3J0IGNocm9taXVt
X2xpbnV4CiBpbXBvcnQgY2hyb21pdW1fbWFjCiBpbXBvcnQgY2hyb21pdW1fd2luCkBAIC03MCw2
ICs3MSwyOSBAQCBkZWYgX2RlZmF1bHRfdGVzdHNfcGF0aHMocG9ydCk6CiAgICAgcmV0dXJuIHBh
dGhzCiAKIAorY2xhc3MgQ2hyb21pdW1HcHVBbmRyb2lkUG9ydChjaHJvbWl1bV9hbmRyb2lkLkNo
cm9taXVtQW5kcm9pZFBvcnQpOgorICAgIHBvcnRfbmFtZSA9ICdjaHJvbWl1bS1ncHUtYW5kcm9p
ZCcKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBob3N0LCBwb3J0X25hbWUsICoqa3dhcmdzKToK
KyAgICAgICAgY2hyb21pdW1fYW5kcm9pZC5DaHJvbWl1bUFuZHJvaWRQb3J0Ll9faW5pdF9fKHNl
bGYsIGhvc3QsIHBvcnRfbmFtZSwgKiprd2FyZ3MpCisgICAgICAgIF9zZXRfZ3B1X29wdGlvbnMo
c2VsZikKKyAgICAgICAgIyBBbHdheXMgZW5hYmxlIGhhcmR3YXJlIGdwdSwgYXMgQW5kcm9pZCBw
bGF0Zm9ybSBkb2Vzbid0IHN1cHBvcnQgTWVzYS4KKyAgICAgICAgc2VsZi5fb3B0aW9ucy5lbmFi
bGVfaGFyZHdhcmVfZ3B1ID0gVHJ1ZQorCisgICAgZGVmIGJhc2VsaW5lX3NlYXJjaF9wYXRoKHNl
bGYpOgorICAgICAgICAjIE1pbWljIHRoZSBMaW51eCAtPiBXaW4gZXhwZWN0YXRpb25zIGZhbGxi
YWNrIGluIHRoZSBvcmRpbmFyeSBDaHJvbWl1bSBwb3J0LgorICAgICAgICByZXR1cm4gKG1hcChz
ZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aCwgWydjaHJvbWl1bS1ncHUtYW5kcm9pZCcsICdjaHJv
bWl1bS1ncHUtbGludXgnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdjaHJvbWl1bS1ncHUtd2luJywgJ2Nocm9taXVtLWdwdSddKSArCisgICAgICAg
ICAgICAgICAgY2hyb21pdW1fYW5kcm9pZC5DaHJvbWl1bUFuZHJvaWRQb3J0LmJhc2VsaW5lX3Nl
YXJjaF9wYXRoKHNlbGYpKQorCisgICAgZGVmIGRlZmF1bHRfY2hpbGRfcHJvY2Vzc2VzKHNlbGYp
OgorICAgICAgICByZXR1cm4gMQorCisgICAgZGVmIHRlc3RzKHNlbGYsIHBhdGhzKToKKyAgICAg
ICAgcGF0aHMgPSBwYXRocyBvciBfZGVmYXVsdF90ZXN0c19wYXRocyhzZWxmKQorICAgICAgICBy
ZXR1cm4gY2hyb21pdW1fYW5kcm9pZC5DaHJvbWl1bUFuZHJvaWRQb3J0LnRlc3RzKHNlbGYsIHBh
dGhzKQorCisKIGNsYXNzIENocm9taXVtR3B1TGludXhQb3J0KGNocm9taXVtX2xpbnV4LkNocm9t
aXVtTGludXhQb3J0KToKICAgICBwb3J0X25hbWUgPSAnY2hyb21pdW0tZ3B1LWxpbnV4JwogCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2ZhY3Rv
cnkucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2ZhY3Rvcnku
cHkKaW5kZXggMDU5MTg2ZWVlMTZiNzFiZmZhOTk3MjQ3ZGI0MzA2OTQyYzBlNmMyMi4uZDE1N2E3
ODBiYzYyMTFjMTA0OGE2MDYwNzNhMzljNzE0OGQyMTM1ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9mYWN0b3J5LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZmFjdG9yeS5weQpAQCAtNDMsNiArNDMs
NyBAQCBjbGFzcyBCdWlsZGVyT3B0aW9ucyhvYmplY3QpOgogY2xhc3MgUG9ydEZhY3Rvcnkob2Jq
ZWN0KToKICAgICBQT1JUX0NMQVNTRVMgPSAoCiAgICAgICAgICdjaHJvbWl1bV9hbmRyb2lkLkNo
cm9taXVtQW5kcm9pZFBvcnQnLAorICAgICAgICAnY2hyb21pdW1fZ3B1LkNocm9taXVtR3B1QW5k
cm9pZFBvcnQnLAogICAgICAgICAnY2hyb21pdW1fZ3B1LkNocm9taXVtR3B1TGludXhQb3J0JywK
ICAgICAgICAgJ2Nocm9taXVtX2dwdS5DaHJvbWl1bUdwdU1hY1BvcnQnLAogICAgICAgICAnY2hy
b21pdW1fZ3B1LkNocm9taXVtR3B1V2luUG9ydCcsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>