<?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>37645</bug_id>
          
          <creation_ts>2010-04-15 02:03:08 -0700</creation_ts>
          <short_desc>[chromium] new-run-webkit-tests should be able to use chromium DRT</short_desc>
          <delta_ts>2010-04-19 01:23:37 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>37668</dependson>
          <blocked>37793</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Chang">tony</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dpranke</cc>
    
    <cc>ojan</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>212785</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-04-15 02:03:08 -0700</bug_when>
    <thetext>[chromium] new-run-webkit-tests should be able to use chromium DRT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212786</commentid>
    <comment_count>1</comment_count>
      <attachid>53418</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-04-15 02:03:36 -0700</bug_when>
    <thetext>Created attachment 53418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212787</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-04-15 02:14:05 -0700</bug_when>
    <thetext>This patch is for discussion.

Very soon now, we&apos;ll be able to build DRT on Mac.  It&apos;s missing lots of stuff, but with the attached patch, I can run layout tests (kind of).  Here are my questions:

1) What&apos;s the best way to switch to DRT?  This patch adds a command line flag, but we could also just auto-detect based on whether a chromium checkout exists.

2) I suppose we still want to build the helper binary and run them.  Do we want to use Chromium&apos;s image_diff or WebKit&apos;s ImageDiff?

3) Where should I write results to?  /tmp/layout-test-results to match other platforms?

That&apos;s enough to start.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212907</commentid>
    <comment_count>3</comment_count>
      <attachid>53418</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-04-15 10:20:05 -0700</bug_when>
    <thetext>Comment on attachment 53418
Patch

&gt; diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
&gt; index 5d80a22..21859ac 100644
&gt; --- a/WebKitTools/ChangeLog
&gt; +++ b/WebKitTools/ChangeLog
&gt; @@ -1,3 +1,14 @@
&gt; +2010-04-15  Tony Chang  &lt;tony@chromium.org&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        [chromium] new-run-webkit-tests should be able to use chromium DRT
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=37645
&gt; +
&gt; +        * Scripts/webkitpy/layout_tests/port/chromium.py:
&gt; +        * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
&gt; +        * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
&gt; +
&gt;  2010-04-15  Dirk Pranke  &lt;dpranke@chromium.org&gt;
&gt;  
&gt;          Reviewed by Adam Barth.
&gt; diff --git a/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium.py b/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium.py
&gt; index 5b90b85..4372d14 100644
&gt; --- a/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium.py
&gt; +++ b/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium.py
&gt; @@ -130,8 +130,11 @@ class ChromiumPort(base.Port):
&gt;              &apos;chromium&apos;, &apos;test_expectations.txt&apos;)
&gt;  
&gt;      def results_directory(self):
&gt; -        return self.path_from_chromium_base(&apos;webkit&apos;, self._options.configuration,
&gt; -                                            self._options.results_directory)
&gt; +        try:
&gt; +            return self.path_from_chromium_base(&apos;webkit&apos;,
&gt; +                self._options.configuration, self._options.results_directory)
&gt; +        except AssertionError:
&gt; +            return os.path.join(&apos;/tmp&apos;, self._options.results_directory)
&gt;

I wouldn&apos;t change this. I think the upstream folks are actually leaning to Chromium&apos;s approach, and the layout test results should stay under the build directories.

Otherwise, LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212910</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-04-15 10:22:18 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; 1) What&apos;s the best way to switch to DRT?  This patch adds a command line flag,
&gt; but we could also just auto-detect based on whether a chromium checkout exists.

I think command line switches are the way to go. Whether or not I have a chromium checkout is orthogonal to whether or not I&apos;ll want to use DRT or TestShell. I could see how it might make picking a default easier, but I wouldn&apos;t bother with that.

&gt; 2) I suppose we still want to build the helper binary and run them.  Do we want
&gt; to use Chromium&apos;s image_diff or WebKit&apos;s ImageDiff?

We should merge the tools and only have one.

&gt; 
&gt; 3) Where should I write results to?  /tmp/layout-test-results to match other
&gt; platforms?

See my comment in the review - I think this should still live in the build directory (and I think we want other platforms to change to match this, as well).

-- Dirk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212915</commentid>
    <comment_count>5</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-04-15 10:28:15 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #2)
&gt; &gt; 1) What&apos;s the best way to switch to DRT?  This patch adds a command line flag,
&gt; &gt; but we could also just auto-detect based on whether a chromium checkout exists.
&gt; 
&gt; I think command line switches are the way to go. Whether or not I have a
&gt; chromium checkout is orthogonal to whether or not I&apos;ll want to use DRT or
&gt; TestShell. I could see how it might make picking a default easier, but I
&gt; wouldn&apos;t bother with that.

Down with command line switches! Lets at least make it default to TestShell iff a chromium checkout exists and DRT otherwise. The only reason I&apos;m not 100% against adding the commandline option is for people who have hybrid chromium/webkit checkouts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212924</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-04-15 10:43:17 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; 1) What&apos;s the best way to switch to DRT?  This patch adds a command line flag,
&gt; &gt; &gt; but we could also just auto-detect based on whether a chromium checkout exists.
&gt; &gt; 
&gt; &gt; I think command line switches are the way to go. Whether or not I have a
&gt; &gt; chromium checkout is orthogonal to whether or not I&apos;ll want to use DRT or
&gt; &gt; TestShell. I could see how it might make picking a default easier, but I
&gt; &gt; wouldn&apos;t bother with that.
&gt; 
&gt; Down with command line switches! Lets at least make it default to TestShell iff
&gt; a chromium checkout exists and DRT otherwise. The only reason I&apos;m not 100%
&gt; against adding the commandline option is for people who have hybrid
&gt; chromium/webkit checkouts.

Umm, yeah, I&apos;m that person :) Given that I spend half my day flipping between webkit tests and chromium tests and am very happy that I&apos;ve managed to do it all in a single checkout, please don&apos;t do things this way. Besides, the switches will only be there temporarily.

If you want to smarten-up the default detection, that&apos;s fine w/ me. I wouldn&apos;t bother, but I won&apos;t object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213205</commentid>
    <comment_count>7</comment_count>
      <attachid>53516</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-04-15 23:43:02 -0700</bug_when>
    <thetext>Created attachment 53516
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213658</commentid>
    <comment_count>8</comment_count>
      <attachid>53516</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-17 13:30:01 -0700</bug_when>
    <thetext>Comment on attachment 53516
Patch

This looks fine.

+ path_from_chromium_base

We need to remove this function call from every file that doesn&apos;t have the word &quot;chromium&quot; in its name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213888</commentid>
    <comment_count>9</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-04-18 20:27:13 -0700</bug_when>
    <thetext>Committed r57800: &lt;http://trac.webkit.org/changeset/57800&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53418</attachid>
            <date>2010-04-15 02:03:36 -0700</date>
            <delta_ts>2010-04-15 23:42:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37645-20100415180334.patch</filename>
            <type>text/plain</type>
            <size>4883</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA1ZDgwYTIyLi4yMTg1OWFjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDQt
MTUgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIG5ldy1ydW4td2Via2l0LXRl
c3RzIHNob3VsZCBiZSBhYmxlIHRvIHVzZSBjaHJvbWl1bSBEUlQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3NjQ1CisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbWFjLnB5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHk6CisKIDIw
MTAtMDQtMTUgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkgYi9XZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CmluZGV4IDViOTBiODUu
LjQzNzJkMTQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQpAQCAtMTMwLDggKzEzMCwxMSBAQCBjbGFz
cyBDaHJvbWl1bVBvcnQoYmFzZS5Qb3J0KToKICAgICAgICAgICAgICdjaHJvbWl1bScsICd0ZXN0
X2V4cGVjdGF0aW9ucy50eHQnKQogCiAgICAgZGVmIHJlc3VsdHNfZGlyZWN0b3J5KHNlbGYpOgot
ICAgICAgICByZXR1cm4gc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgnd2Via2l0Jywgc2Vs
Zi5fb3B0aW9ucy5jb25maWd1cmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLl9vcHRpb25zLnJlc3VsdHNfZGlyZWN0b3J5KQorICAgICAgICB0
cnk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgnd2Vi
a2l0JywKKyAgICAgICAgICAgICAgICBzZWxmLl9vcHRpb25zLmNvbmZpZ3VyYXRpb24sIHNlbGYu
X29wdGlvbnMucmVzdWx0c19kaXJlY3RvcnkpCisgICAgICAgIGV4Y2VwdCBBc3NlcnRpb25FcnJv
cjoKKyAgICAgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oJy90bXAnLCBzZWxmLl9vcHRpb25z
LnJlc3VsdHNfZGlyZWN0b3J5KQogCiAgICAgZGVmIHNldHVwX3Rlc3RfcnVuKHNlbGYpOgogICAg
ICAgICAjIERlbGV0ZSB0aGUgZGlzayBjYWNoZSBpZiBhbnkgdG8gZW5zdXJlIGEgY2xlYW4gdGVz
dCBydW4uCkBAIC0xNzgsOCArMTgxLDExIEBAIGNsYXNzIENocm9taXVtUG9ydChiYXNlLlBvcnQp
OgogICAgICAgICByZXR1cm4gZmlsZShleHBlY3RhdGlvbnNfZmlsZSwgInIiKS5yZWFkKCkKIAog
ICAgIGRlZiB0ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoc2VsZik6Ci0gICAgICAgIG92ZXJy
aWRlc19maWxlID0gc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgnd2Via2l0JywgJ3Rvb2xz
JywKLSAgICAgICAgICAgICdsYXlvdXRfdGVzdHMnLCAndGVzdF9leHBlY3RhdGlvbnMudHh0JykK
KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3ZlcnJpZGVzX2ZpbGUgPSBzZWxmLnBhdGhfZnJv
bV9jaHJvbWl1bV9iYXNlKCd3ZWJraXQnLCAndG9vbHMnLAorICAgICAgICAgICAgICAgICdsYXlv
dXRfdGVzdHMnLCAndGVzdF9leHBlY3RhdGlvbnMudHh0JykKKyAgICAgICAgZXhjZXB0IEFzc2Vy
dGlvbkVycm9yOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgaWYgb3MucGF0aC5l
eGlzdHMob3ZlcnJpZGVzX2ZpbGUpOgogICAgICAgICAgICAgcmV0dXJuIGZpbGUob3ZlcnJpZGVz
X2ZpbGUsICJyIikucmVhZCgpCiAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX21hYy5weSBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbWFj
LnB5CmluZGV4IDJkOWIxYTMuLjg2NzI1YmQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbWFjLnB5CisrKyBiL1dlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbWFjLnB5
CkBAIC0xMzgsMTMgKzEzOCwyMiBAQCBjbGFzcyBDaHJvbWl1bU1hY1BvcnQoY2hyb21pdW0uQ2hy
b21pdW1Qb3J0KToKICAgICAgICAgIyBzeXN0ZW1zLgogICAgICAgICBpZiBub3QgY29uZmlndXJh
dGlvbjoKICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBzZWxmLl9vcHRpb25zLmNvbmZpZ3Vy
YXRpb24KLSAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxkX3BhdGgoY29uZmlndXJhdGlvbiwgJ1Rl
c3RTaGVsbC5hcHAnLCAnQ29udGVudHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnTWFjT1MnLCAnVGVzdFNoZWxsJykKKyAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy51c2VfZHJ0
OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdXZWJLaXQn
LCAnY2hyb21pdW0nLAorICAgICAgICAgICAgICAgICd4Y29kZWJ1aWxkJywgY29uZmlndXJhdGlv
biwgJ0R1bXBSZW5kZXJUcmVlLmFwcCcsICdDb250ZW50cycsCisgICAgICAgICAgICAgICAgJ01h
Y09TJywgJ0R1bXBSZW5kZXJUcmVlJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVy
biBzZWxmLl9idWlsZF9wYXRoKGNvbmZpZ3VyYXRpb24sICdUZXN0U2hlbGwuYXBwJywgJ0NvbnRl
bnRzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNYWNPUycsICdUZXN0
U2hlbGwnKQogCiAgICAgZGVmIF9wYXRoX3RvX2hlbHBlcihzZWxmKToKKyAgICAgICAgaWYgc2Vs
Zi5fb3B0aW9ucy51c2VfZHJ0OgorICAgICAgICAgICAgcmV0dXJuICcnCiAgICAgICAgIHJldHVy
biBzZWxmLl9idWlsZF9wYXRoKHNlbGYuX29wdGlvbnMuY29uZmlndXJhdGlvbiwgJ2xheW91dF90
ZXN0X2hlbHBlcicpCiAKICAgICBkZWYgX3BhdGhfdG9faW1hZ2VfZGlmZihzZWxmKToKKyAgICAg
ICAgaWYgc2VsZi5fb3B0aW9ucy51c2VfZHJ0OgorICAgICAgICAgICAgcmV0dXJuICcnCiAgICAg
ICAgIHJldHVybiBzZWxmLl9idWlsZF9wYXRoKHNlbGYuX29wdGlvbnMuY29uZmlndXJhdGlvbiwg
J2ltYWdlX2RpZmYnKQogCiAgICAgZGVmIF9wYXRoX3RvX3dkaWZmKHNlbGYpOgpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90
ZXN0cy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93
ZWJraXRfdGVzdHMucHkKaW5kZXggZDZlNTkwYS4uMTYyMzQ1YiAxMDA3NTUKLS0tIGEvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQor
KysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0
X3Rlc3RzLnB5CkBAIC0yMzUsNyArMjM1LDcgQEAgY2xhc3MgVGVzdFJ1bm5lcjoKICAgICAgICAg
ICAgICAgICBpc19kZWJ1Z19tb2RlLCBzZWxmLl9vcHRpb25zLmxpbnRfdGVzdF9maWxlcywKICAg
ICAgICAgICAgICAgICB0ZXN0c19hcmVfcHJlc2VudD1UcnVlLCBvdmVycmlkZXM9b3ZlcnJpZGVz
X3N0cikKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9leHBlY3RhdGlvbnMKLSAgICAgICAgZXhj
ZXB0IEV4Y2VwdGlvbiwgZXJyOgorICAgICAgICBleGNlcHQgU3ludGF4RXJyb3IsIGVycjoKICAg
ICAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMubGludF90ZXN0X2ZpbGVzOgogICAgICAgICAgICAg
ICAgIHByaW50IHN0cihlcnIpCiAgICAgICAgICAgICBlbHNlOgpAQCAtMTU2MCw2ICsxNTYwLDcg
QEAgZGVmIHBhcnNlX2FyZ3MoYXJncz1Ob25lKToKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRp
b24oIi0tc3RhcnR1cC1kaWFsb2ciLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNl
LCBoZWxwPSJjcmVhdGUgYSBkaWFsb2cgb24gRHVtcFJlbmRlclRyZWUgc3RhcnR1cCIpLAogICAg
ICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1ncC1mYXVsdC1lcnJvci1ib3giLCBhY3Rpb249
InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSJlbmFibGUgV2luZG93cyBHUCBmYXVs
dCBlcnJvciBib3giKSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tbm9jaGVjay1z
eXMtZGVwcyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9RmFsc2UsIGhlbHA9IkRvbid0
IGNoZWNrIHRoZSBzeXN0ZW0gZGVwZW5kZW5jaWVzICh0aGVtZXMpIiksCisgICAgICAgIG9wdHBh
cnNlLm1ha2Vfb3B0aW9uKCItLXVzZS1kcnQiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0
PUZhbHNlLCBoZWxwPSJVc2UgRHVtcFJlbmRlclRyZWUgaW5zdGVhZCBvZiB0ZXN0X3NoZWxsIiks
CiAgICAgXQogCiAgICAgIyBNaXNzaW5nIE1hYyBvcHRpb25zOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53516</attachid>
            <date>2010-04-15 23:43:02 -0700</date>
            <delta_ts>2010-04-17 13:30:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37645-20100416154300.patch</filename>
            <type>text/plain</type>
            <size>6915</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA2ODc3Y2EwLi4xYTkxOWYyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDQt
MTUgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIG5ldy1ydW4td2Via2l0LXRl
c3RzIHNob3VsZCBiZSBhYmxlIHRvIHVzZSBjaHJvbWl1bSBEUlQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3NjQ1CisKKyAgICAgICAgTWFrZSBzdXJl
IHRoYXQgdGhlIGxhY2sgb2YgYSBjaHJvbWl1bSBjaGVja291dCBkb2Vzbid0IGNhdXNlIHRoZSBz
Y3JpcHQgdG8KKyAgICAgICAgZmFpbC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVzdWx0c19nZW5lcmF0b3IucHk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX21hYy5w
eTogRml4IHVwIGEgZmV3IHBhdGhzCisgICAgICAgICAgICB0byBiZSByZWxhdGl2ZSB0byBhbiB1
cHN0cmVhbSBvdXRwdXQgZGlyLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3J1bl93ZWJraXRfdGVzdHMucHk6IEFkZCAtLXVzZS1kcnQgZmxhZy4KKwogMjAxMC0wNC0x
NiAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
QWRhbSBSb2Jlbi4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVzdWx0c19nZW5lcmF0b3IucHkgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9qc29u
X3Jlc3VsdHNfZ2VuZXJhdG9yLnB5CmluZGV4IGE2OGFiNGEuLjYyNjM1NDAgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdl
L2pzb25fcmVzdWx0c19nZW5lcmF0b3IucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvanNvbl9yZXN1bHRzX2dlbmVyYXRvci5w
eQpAQCAtMzE2LDEwICszMTYsMTQgQEAgY2xhc3MgSlNPTlJlc3VsdHNHZW5lcmF0b3Iob2JqZWN0
KToKICAgICAgICAgICAgICAgICBzZWxmLldFQktJVF9TVk4pCiAKICAgICAgICAgaWYgaGFzYXR0
cihzZWxmLl9wb3J0LCAncGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UnKToKLSAgICAgICAgICAgIHBh
dGhfdG9fY2hyb21lID0gc2VsZi5fcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgpCi0gICAg
ICAgICAgICBzZWxmLl9pbnNlcnRfaXRlbV9pbnRvX3Jhd19saXN0KHJlc3VsdHNfZm9yX2J1aWxk
ZXIsCi0gICAgICAgICAgICAgICAgc2VsZi5fZ2V0X3N2bl9yZXZpc2lvbihwYXRoX3RvX2Nocm9t
ZSksCi0gICAgICAgICAgICAgICAgc2VsZi5DSFJPTUVfU1ZOKQorICAgICAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgICAgIHBhdGhfdG9fY2hyb21lID0gc2VsZi5fcG9ydC5wYXRoX2Zyb21fY2hy
b21pdW1fYmFzZSgpCisgICAgICAgICAgICAgICAgc2VsZi5faW5zZXJ0X2l0ZW1faW50b19yYXdf
bGlzdChyZXN1bHRzX2Zvcl9idWlsZGVyLAorICAgICAgICAgICAgICAgICAgICBzZWxmLl9nZXRf
c3ZuX3JldmlzaW9uKHBhdGhfdG9fY2hyb21lKSwKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5D
SFJPTUVfU1ZOKQorICAgICAgICAgICAgZXhjZXB0IEFzc2VydGlvbkVycm9yOgorICAgICAgICAg
ICAgICAgICMgV2UncmUgbm90IGluIGEgQ2hyb21pdW0gY2hlY2tvdXQsIHRoYXQncyBvay4KKyAg
ICAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgc2VsZi5faW5zZXJ0X2l0ZW1faW50b19yYXdf
bGlzdChyZXN1bHRzX2Zvcl9idWlsZGVyLAogICAgICAgICAgICAgaW50KHRpbWUudGltZSgpKSwK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW0ucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Nocm9taXVtLnB5CmluZGV4IGI2NjE4NGMuLmE1NDk5MjYgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkK
KysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJv
bWl1bS5weQpAQCAtMTMzLDggKzEzMywxMyBAQCBjbGFzcyBDaHJvbWl1bVBvcnQoYmFzZS5Qb3J0
KToKICAgICAgICAgICAgICdjaHJvbWl1bScsICd0ZXN0X2V4cGVjdGF0aW9ucy50eHQnKQogCiAg
ICAgZGVmIHJlc3VsdHNfZGlyZWN0b3J5KHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5wYXRo
X2Zyb21fY2hyb21pdW1fYmFzZSgnd2Via2l0Jywgc2VsZi5fb3B0aW9ucy5jb25maWd1cmF0aW9u
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9vcHRp
b25zLnJlc3VsdHNfZGlyZWN0b3J5KQorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4g
c2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgnd2Via2l0JywKKyAgICAgICAgICAgICAgICBz
ZWxmLl9vcHRpb25zLmNvbmZpZ3VyYXRpb24sIHNlbGYuX29wdGlvbnMucmVzdWx0c19kaXJlY3Rv
cnkpCisgICAgICAgIGV4Y2VwdCBBc3NlcnRpb25FcnJvcjoKKyAgICAgICAgICAgIHJldHVybiBz
ZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgnV2ViS2l0JywgJ2Nocm9taXVtJywKKyAgICAgICAg
ICAgICAgICAneGNvZGVidWlsZCcsIHNlbGYuX29wdGlvbnMuY29uZmlndXJhdGlvbiwKKyAgICAg
ICAgICAgICAgICBzZWxmLl9vcHRpb25zLnJlc3VsdHNfZGlyZWN0b3J5KQogCiAgICAgZGVmIHNl
dHVwX3Rlc3RfcnVuKHNlbGYpOgogICAgICAgICAjIERlbGV0ZSB0aGUgZGlzayBjYWNoZSBpZiBh
bnkgdG8gZW5zdXJlIGEgY2xlYW4gdGVzdCBydW4uCkBAIC0xODEsOCArMTg2LDExIEBAIGNsYXNz
IENocm9taXVtUG9ydChiYXNlLlBvcnQpOgogICAgICAgICByZXR1cm4gZmlsZShleHBlY3RhdGlv
bnNfZmlsZSwgInIiKS5yZWFkKCkKIAogICAgIGRlZiB0ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlk
ZXMoc2VsZik6Ci0gICAgICAgIG92ZXJyaWRlc19maWxlID0gc2VsZi5wYXRoX2Zyb21fY2hyb21p
dW1fYmFzZSgnd2Via2l0JywgJ3Rvb2xzJywKLSAgICAgICAgICAgICdsYXlvdXRfdGVzdHMnLCAn
dGVzdF9leHBlY3RhdGlvbnMudHh0JykKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3ZlcnJp
ZGVzX2ZpbGUgPSBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCd3ZWJraXQnLCAndG9vbHMn
LAorICAgICAgICAgICAgICAgICdsYXlvdXRfdGVzdHMnLCAndGVzdF9leHBlY3RhdGlvbnMudHh0
JykKKyAgICAgICAgZXhjZXB0IEFzc2VydGlvbkVycm9yOgorICAgICAgICAgICAgcmV0dXJuIE5v
bmUKICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3ZlcnJpZGVzX2ZpbGUpOgogICAgICAgICAg
ICAgcmV0dXJuIGZpbGUob3ZlcnJpZGVzX2ZpbGUsICJyIikucmVhZCgpCiAgICAgICAgIGVsc2U6
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2Nocm9taXVtX21hYy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvY2hyb21pdW1fbWFjLnB5CmluZGV4IDgwYjVjMjYuLjU3MGViMWMgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hy
b21pdW1fbWFjLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvY2hyb21pdW1fbWFjLnB5CkBAIC02OCw2ICs2OCw4IEBAIGNsYXNzIENocm9taXVt
TWFjUG9ydChjaHJvbWl1bS5DaHJvbWl1bVBvcnQpOgogCiAgICAgZGVmIGRyaXZlcl9uYW1lKHNl
bGYpOgogICAgICAgICAiIiJuYW1lIGZvciB0aGlzIHBvcnQncyBlcXVpdmFsZW50IG9mIER1bXBS
ZW5kZXJUcmVlLiIiIgorICAgICAgICBpZiBzZWxmLl9vcHRpb25zLnVzZV9kcnQ6CisgICAgICAg
ICAgICByZXR1cm4gIkR1bXBSZW5kZXJUcmVlIgogICAgICAgICByZXR1cm4gIlRlc3RTaGVsbCIK
IAogICAgIGRlZiB0ZXN0X3BsYXRmb3JtX25hbWUoc2VsZik6CkBAIC05MSw2ICs5Myw5IEBAIGNs
YXNzIENocm9taXVtTWFjUG9ydChjaHJvbWl1bS5DaHJvbWl1bVBvcnQpOgogICAgICMKIAogICAg
IGRlZiBfYnVpbGRfcGF0aChzZWxmLCAqY29tcHMpOgorICAgICAgICBpZiBzZWxmLl9vcHRpb25z
LnVzZV9kcnQ6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2Uo
J1dlYktpdCcsICdjaHJvbWl1bScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ3hjb2RlYnVpbGQnLCAqY29tcHMpCiAgICAgICAgIHJldHVybiBzZWxmLnBh
dGhfZnJvbV9jaHJvbWl1bV9iYXNlKCd4Y29kZWJ1aWxkJywgKmNvbXBzKQogCiAgICAgZGVmIF9j
aGVja193ZGlmZl9pbnN0YWxsKHNlbGYpOgpAQCAtMTQyLDEzICsxNDcsMTkgQEAgY2xhc3MgQ2hy
b21pdW1NYWNQb3J0KGNocm9taXVtLkNocm9taXVtUG9ydCk6CiAgICAgICAgICMgc3lzdGVtcy4K
ICAgICAgICAgaWYgbm90IGNvbmZpZ3VyYXRpb246CiAgICAgICAgICAgICBjb25maWd1cmF0aW9u
ID0gc2VsZi5fb3B0aW9ucy5jb25maWd1cmF0aW9uCi0gICAgICAgIHJldHVybiBzZWxmLl9idWls
ZF9wYXRoKGNvbmZpZ3VyYXRpb24sICdUZXN0U2hlbGwuYXBwJywgJ0NvbnRlbnRzJywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01hY09TJywgJ1Rlc3RTaGVsbCcpCisgICAgICAg
IHJldHVybiBzZWxmLl9idWlsZF9wYXRoKGNvbmZpZ3VyYXRpb24sIHNlbGYuZHJpdmVyX25hbWUo
KSArICcuYXBwJywKKyAgICAgICAgICAgICdDb250ZW50cycsICdNYWNPUycsIHNlbGYuZHJpdmVy
X25hbWUoKSkKIAogICAgIGRlZiBfcGF0aF90b19oZWxwZXIoc2VsZik6Ci0gICAgICAgIHJldHVy
biBzZWxmLl9idWlsZF9wYXRoKHNlbGYuX29wdGlvbnMuY29uZmlndXJhdGlvbiwgJ2xheW91dF90
ZXN0X2hlbHBlcicpCisgICAgICAgIGJpbmFyeV9uYW1lID0gJ2xheW91dF90ZXN0X2hlbHBlcicK
KyAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy51c2VfZHJ0OgorICAgICAgICAgICAgYmluYXJ5X25h
bWUgPSAnTGF5b3V0VGVzdEhlbHBlcicKKyAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxkX3BhdGgo
c2VsZi5fb3B0aW9ucy5jb25maWd1cmF0aW9uLCBiaW5hcnlfbmFtZSkKIAogICAgIGRlZiBfcGF0
aF90b19pbWFnZV9kaWZmKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9vcHRpb25zLnVzZV9kcnQ6
CisgICAgICAgICAgICAjIEZJWE1FKHRvbnkpOiBUaGlzIHNob3VsZCB1c2UgSW1hZ2VEaWZmLgor
ICAgICAgICAgICAgcmV0dXJuICcnCiAgICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9wYXRoKHNl
bGYuX29wdGlvbnMuY29uZmlndXJhdGlvbiwgJ2ltYWdlX2RpZmYnKQogCiAgICAgZGVmIF9wYXRo
X3RvX3dkaWZmKHNlbGYpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKaW5kZXggMDU5ZmQwOS4u
ZmJlMjIwYyAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CkBAIC0yMzUsNyArMjM1LDcgQEAg
Y2xhc3MgVGVzdFJ1bm5lcjoKICAgICAgICAgICAgICAgICBpc19kZWJ1Z19tb2RlLCBzZWxmLl9v
cHRpb25zLmxpbnRfdGVzdF9maWxlcywKICAgICAgICAgICAgICAgICB0ZXN0c19hcmVfcHJlc2Vu
dD1UcnVlLCBvdmVycmlkZXM9b3ZlcnJpZGVzX3N0cikKICAgICAgICAgICAgIHJldHVybiBzZWxm
Ll9leHBlY3RhdGlvbnMKLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZXJyOgorICAgICAgICBl
eGNlcHQgU3ludGF4RXJyb3IsIGVycjoKICAgICAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMubGlu
dF90ZXN0X2ZpbGVzOgogICAgICAgICAgICAgICAgIHByaW50IHN0cihlcnIpCiAgICAgICAgICAg
ICBlbHNlOgpAQCAtMTU4NCw2ICsxNTg0LDkgQEAgZGVmIHBhcnNlX2FyZ3MoYXJncz1Ob25lKToK
ICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tbm9jaGVjay1zeXMtZGVwcyIsIGFjdGlv
bj0ic3RvcmVfdHJ1ZSIsCiAgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAogICAgICAgICAgICAg
aGVscD0iRG9uJ3QgY2hlY2sgdGhlIHN5c3RlbSBkZXBlbmRlbmNpZXMgKHRoZW1lcykiKSwKKyAg
ICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tdXNlLWRydCIsIGFjdGlvbj0ic3RvcmVfdHJ1
ZSIsCisgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgaGVscD0iVXNlIER1
bXBSZW5kZXJUcmVlIGluc3RlYWQgb2YgdGVzdF9zaGVsbCIpLAogICAgIF0KIAogICAgICMgTWlz
c2luZyBNYWMgb3B0aW9uczoK
</data>
<flag name="review"
          id="37277"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>