<?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>43889</bug_id>
          
          <creation_ts>2010-08-11 17:52:28 -0700</creation_ts>
          <short_desc>[chromium] add google-chrome layout test result directories</short_desc>
          <delta_ts>2010-08-12 13:31:16 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>dpranke</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>263540</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-08-11 17:52:28 -0700</bug_when>
    <thetext>[chromium] add google-chrome layout test result directories</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263541</commentid>
    <comment_count>1</comment_count>
      <attachid>64178</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-08-11 18:01:03 -0700</bug_when>
    <thetext>Created attachment 64178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263543</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-08-11 18:05:11 -0700</bug_when>
    <thetext>The background is that the Google Chrome builds often have slightly different layout test results.  For example, the media tests might have differences depending on which codecs are installed or the Linux bots may have different results due to rounding and what compiler flags we happen to use for Google Chrome Builds (see http://code.google.com/p/chromium/issues/detail?id=8475 ).


Everytime we make a release branch, we have to go through and re-verify that they&apos;re expected.  It&apos;s a pain, so we should just check in these results (on linux, it&apos;s only like 150 tests, on windows and mac, it&apos;s even less).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263546</commentid>
    <comment_count>3</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-08-11 18:12:49 -0700</bug_when>
    <thetext>I&apos;ll give dirk and eric a chance to comment before committing.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263552</commentid>
    <comment_count>4</comment_count>
      <attachid>64178</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-11 18:21:44 -0700</bug_when>
    <thetext>Comment on attachment 64178
Patch

This seems like sadness.

But OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263557</commentid>
    <comment_count>5</comment_count>
      <attachid>64178</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-08-11 18:29:17 -0700</bug_when>
    <thetext>Comment on attachment 64178
Patch

Works for me. Good to see this get fixed; it was on my to-do list for a while but I never got around to it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263565</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2010-08-11 18:47:29 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt;  For example, the media tests might have differences depending on which codecs are installed 

This *shouldn&apos;t* be a consideration as we strive to make the results not include anything caused by which codecs/containers a port supports. If there are media test results that differ because of codec or container, we should fix them (bugs please!).

Having said that, I agree with the other Eric that it seems sad but OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263840</commentid>
    <comment_count>7</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-08-12 09:26:21 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #2)
&gt; &gt;  For example, the media tests might have differences depending on which codecs are installed 
&gt; 
&gt; This *shouldn&apos;t* be a consideration as we strive to make the results not include anything caused by which codecs/containers a port supports. If there are media test results that differ because of codec or container, we should fix them (bugs please!).

Ok, I will file bugs for any tests that are sensitive to which codecs are installed.  I&apos;m actually not sure which tests they are, but I think it&apos;s specific to the chromium-win port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263848</commentid>
    <comment_count>8</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-08-12 09:41:09 -0700</bug_when>
    <thetext>Committed r65250: &lt;http://trac.webkit.org/changeset/65250&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263921</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-08-12 12:56:14 -0700</bug_when>
    <thetext>Okay, you&apos;ve already committed this, and it&apos;ll work, but I wonder if this might be slightly cleaner if we implemented this using delegation instead of inheritance.

The patch would look something like:

% cat google_chrome.py
class GoogleChromePort(object):
  def __init__(self, port_name, options):
      self.name = port_name
      if port_name == &apos;google-chrome-mac&apos;:
         self.__delegate = factory.get(&apos;chromium-mac&apos;, options)
      elif port_name == &apos;google-chrome-win&apos;:
        self.__delegate = factory.get(&apos;chomium-win&apos;,  options)
      elif ...

  def __getattr__(self, name):
    return getattr(self.__delegate, name):

  def baseline_search_path(self):
     return [ self.__delegate._chromium_baseline_path(self.name) ] + self._delegate.baseline_search_path(self)]

% cat factory.py
def get():
   ...
  if port_to_use.startswith(&apos;google-chrome&apos;):
    import google_chrome
    return GoogleChromePort(port_to_use, options)
  elif ...
%

I think this&apos;ll work, it&apos;s a lot fewer lines of code, and perhaps a little clearer. You might need to override one or two other methods as well. Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263925</commentid>
    <comment_count>10</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-08-12 13:06:41 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Okay, you&apos;ve already committed this, and it&apos;ll work, but I wonder if this might be slightly cleaner if we implemented this using delegation instead of inheritance.

I didn&apos;t merge baseline_search_path() into a single function because I wasn&apos;t sure if it was correct to always use self._name.  For example, if we add a google-chrome-win-vista, we need to add more fallback logic to baseline_search_path().

If you want to write a follow up patch to reduce the number of lines of code, I&apos;d be happy to review . . .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263944</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-08-12 13:31:16 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; Okay, you&apos;ve already committed this, and it&apos;ll work, but I wonder if this might be slightly cleaner if we implemented this using delegation instead of inheritance.
&gt; 
&gt; I didn&apos;t merge baseline_search_path() into a single function because I wasn&apos;t sure if it was correct to always use self._name.  For example, if we add a google-chrome-win-vista, we need to add more fallback logic to baseline_search_path().
&gt; 
&gt; If you want to write a follow up patch to reduce the number of lines of code, I&apos;d be happy to review . . .

Fair enough. I&apos;m not actually sure it&apos;s safe, either :) We&apos;ll consider this a low-priority TODO :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64178</attachid>
            <date>2010-08-11 18:01:03 -0700</date>
            <delta_ts>2010-08-11 18:29:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43889-20100811180105.patch</filename>
            <type>text/plain</type>
            <size>9997</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBlOTExMTY5OGZhNmI3OWQ1NGFmYTM3ZGQ3ZmQxMjlmMWRlOGNlMTE2Li5kYjNkN2M2
NTc1MmRlNDdmNWI3M2Q4MTUyNDVlMTllMWM2ZjZhYzczIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMDgtMTEgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIGFkZCBnb29n
bGUtY2hyb21lIGxheW91dCB0ZXN0IHJlc3VsdCBkaXJlY3RvcmllcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM4ODkKKworICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZmFjdG9yeS5weToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2dvb2dsZV9jaHJvbWUucHk6IEFk
ZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Rlc3RfdHlwZXMv
aW1hZ2VfZGlmZi5weToKKwogMjAxMC0wOC0wOSAgQW50b25pbyBHb21lcyAgPHRvbmlraXRvb0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFyaXlhIEhpZGF5YXQuCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9t
aXVtX3dpbi5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW1fd2luLnB5CmluZGV4IDgwNzJiYzBkMmNlNzM4ZDhhN2VjNGMwYzIxZDQ2Zjhi
MTEzNDJlY2YuLmU5YTgxZTc4ZjNmNWU0MzFkZGFkNTBiZDk5YWQ5ZTQ2ZGY3MTVlNGYgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hy
b21pdW1fd2luLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvY2hyb21pdW1fd2luLnB5CkBAIC02OSw5ICs2OSw5IEBAIGNsYXNzIENocm9taXVt
V2luUG9ydChjaHJvbWl1bS5DaHJvbWl1bVBvcnQpOgogCiAgICAgZGVmIGJhc2VsaW5lX3NlYXJj
aF9wYXRoKHNlbGYpOgogICAgICAgICBwb3J0X25hbWVzID0gW10KLSAgICAgICAgaWYgc2VsZi5f
bmFtZSA9PSAnY2hyb21pdW0td2luLXhwJzoKKyAgICAgICAgaWYgc2VsZi5fbmFtZS5lbmRzd2l0
aCgnLXdpbi14cCcpOgogICAgICAgICAgICAgcG9ydF9uYW1lcy5hcHBlbmQoImNocm9taXVtLXdp
bi14cCIpCi0gICAgICAgIGlmIHNlbGYuX25hbWUgaW4gKCdjaHJvbWl1bS13aW4teHAnLCAnY2hy
b21pdW0td2luLXZpc3RhJyk6CisgICAgICAgIGlmIHNlbGYuX25hbWUuZW5kc3dpdGgoJy13aW4t
eHAnKSBvciBzZWxmLl9uYW1lLmVuZHN3aXRoKCctd2luLXZpc3RhJyk6CiAgICAgICAgICAgICBw
b3J0X25hbWVzLmFwcGVuZCgiY2hyb21pdW0td2luLXZpc3RhIikKICAgICAgICAgIyBGSVhNRTog
VGhpcyBtYXkgbmVlZCB0byBpbmNsdWRlIG1hYy1zbm93bGVvcGFyZCBsaWtlIHdpbi5weS4KICAg
ICAgICAgcG9ydF9uYW1lcy5leHRlbmQoWyJjaHJvbWl1bS13aW4iLCAiY2hyb21pdW0iLCAid2lu
IiwgIm1hYyJdKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9mYWN0b3J5LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9mYWN0b3J5LnB5CmluZGV4IDk1YjkwZGEzMmZiZThkMzI0NmQ5ZmZl
OWZmMjE2YjU5NWU0NzZmYjMuLjI1OGJmMzM3NDUxN2FmZThlMmZhNWMxOTMxMTEwNDJkZWE5Njcy
Y2IgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvZmFjdG9yeS5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2ZhY3RvcnkucHkKQEAgLTgzLDUgKzgzLDggQEAgZGVmIGdldChwb3J0X25h
bWU9Tm9uZSwgb3B0aW9ucz1Ob25lKToKICAgICBlbGlmIHBvcnRfdG9fdXNlLnN0YXJ0c3dpdGgo
J2Nocm9taXVtLXdpbicpOgogICAgICAgICBpbXBvcnQgY2hyb21pdW1fd2luCiAgICAgICAgIHJl
dHVybiBjaHJvbWl1bV93aW4uQ2hyb21pdW1XaW5Qb3J0KHBvcnRfbmFtZSwgb3B0aW9ucykKKyAg
ICBlbGlmIHBvcnRfdG9fdXNlLnN0YXJ0c3dpdGgoJ2dvb2dsZS1jaHJvbWUnKToKKyAgICAgICAg
aW1wb3J0IGdvb2dsZV9jaHJvbWUKKyAgICAgICAgcmV0dXJuIGdvb2dsZV9jaHJvbWUuR2V0R29v
Z2xlQ2hyb21lUG9ydChwb3J0X25hbWUsIG9wdGlvbnMpCiAKICAgICByYWlzZSBOb3RJbXBsZW1l
bnRlZEVycm9yKCd1bnN1cHBvcnRlZCBwb3J0OiAlcycgJSBwb3J0X3RvX3VzZSkKZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ29vZ2xl
X2Nocm9tZS5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvZ29vZ2xlX2Nocm9tZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZWEwNTNiNDEyOTEzODZmM2U3NWIwYjVj
NmQ5YmY5YTMwZmRmNmQzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9nb29nbGVfY2hyb21lLnB5CkBAIC0wLDAgKzEsNzQg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisj
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
IyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKKworZGVmIEdldEdvb2dsZUNocm9tZVBvcnQocG9ydF9uYW1l
LCBvcHRpb25zKToKKyAgICAiIiJTb21lIHRlc3RzIGhhdmUgc2xpZ2h0bHkgZGlmZmVyZW50IHJl
c3VsdHMgd2hlbiBjb21waWxlZCBhcyBHb29nbGUKKyAgICBDaHJvbWUgdnMgQ2hyb21pdW0uICBJ
biB0aG9zZSBjYXNlcywgd2UgcHJlcGVuZCBhbiBhZGRpdGlvbmFsIGRpcmVjdG9yeSB0bworICAg
IHRvIHRoZSBiYXNlbGluZSBwYXRocy4iIiIKKyAgICBpZiBwb3J0X25hbWUgPT0gJ2dvb2dsZS1j
aHJvbWUtbGludXgzMic6CisgICAgICAgIGltcG9ydCBjaHJvbWl1bV9saW51eAorCisgICAgICAg
IGNsYXNzIEdvb2dsZUNocm9tZUxpbnV4MzJQb3J0KGNocm9taXVtX2xpbnV4LkNocm9taXVtTGlu
dXhQb3J0KToKKyAgICAgICAgICAgIGRlZiBiYXNlbGluZV9zZWFyY2hfcGF0aChzZWxmKToKKyAg
ICAgICAgICAgICAgICBwYXRocyA9IGNocm9taXVtX2xpbnV4LkNocm9taXVtTGludXhQb3J0LmJh
c2VsaW5lX3NlYXJjaF9wYXRoKAorICAgICAgICAgICAgICAgICAgICBzZWxmKQorICAgICAgICAg
ICAgICAgIHBhdGhzLmluc2VydCgwLCBzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aChzZWxmLl9u
YW1lKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gcGF0aHMKKyAgICAgICAgcmV0dXJuIEdvb2ds
ZUNocm9tZUxpbnV4MzJQb3J0KHBvcnRfbmFtZSwgb3B0aW9ucykKKyAgICBlbGlmIHBvcnRfbmFt
ZSA9PSAnZ29vZ2xlLWNocm9tZS1saW51eDY0JzoKKyAgICAgICAgaW1wb3J0IGNocm9taXVtX2xp
bnV4CisKKyAgICAgICAgY2xhc3MgR29vZ2xlQ2hyb21lTGludXg2NFBvcnQoY2hyb21pdW1fbGlu
dXguQ2hyb21pdW1MaW51eFBvcnQpOgorICAgICAgICAgICAgZGVmIGJhc2VsaW5lX3NlYXJjaF9w
YXRoKHNlbGYpOgorICAgICAgICAgICAgICAgIHBhdGhzID0gY2hyb21pdW1fbGludXguQ2hyb21p
dW1MaW51eFBvcnQuYmFzZWxpbmVfc2VhcmNoX3BhdGgoCisgICAgICAgICAgICAgICAgICAgIHNl
bGYpCisgICAgICAgICAgICAgICAgcGF0aHMuaW5zZXJ0KDAsIHNlbGYuX3dlYmtpdF9iYXNlbGlu
ZV9wYXRoKHNlbGYuX25hbWUpKQorICAgICAgICAgICAgICAgIHJldHVybiBwYXRocworICAgICAg
ICByZXR1cm4gR29vZ2xlQ2hyb21lTGludXg2NFBvcnQocG9ydF9uYW1lLCBvcHRpb25zKQorICAg
IGVsaWYgcG9ydF9uYW1lLnN0YXJ0c3dpdGgoJ2dvb2dsZS1jaHJvbWUtbWFjJyk6CisgICAgICAg
IGltcG9ydCBjaHJvbWl1bV9tYWMKKworICAgICAgICBjbGFzcyBHb29nbGVDaHJvbWVNYWNQb3J0
KGNocm9taXVtX21hYy5DaHJvbWl1bU1hY1BvcnQpOgorICAgICAgICAgICAgZGVmIGJhc2VsaW5l
X3NlYXJjaF9wYXRoKHNlbGYpOgorICAgICAgICAgICAgICAgIHBhdGhzID0gY2hyb21pdW1fbWFj
LkNocm9taXVtTWFjUG9ydC5iYXNlbGluZV9zZWFyY2hfcGF0aCgKKyAgICAgICAgICAgICAgICAg
ICAgc2VsZikKKyAgICAgICAgICAgICAgICBwYXRocy5pbnNlcnQoMCwgc2VsZi5fd2Via2l0X2Jh
c2VsaW5lX3BhdGgoCisgICAgICAgICAgICAgICAgICAgICdnb29nbGUtY2hyb21lLW1hYycpKQor
ICAgICAgICAgICAgICAgIHJldHVybiBwYXRocworICAgICAgICByZXR1cm4gR29vZ2xlQ2hyb21l
TWFjUG9ydChwb3J0X25hbWUsIG9wdGlvbnMpCisgICAgZWxpZiBwb3J0X25hbWUuc3RhcnRzd2l0
aCgnZ29vZ2xlLWNocm9tZS13aW4nKToKKyAgICAgICAgaW1wb3J0IGNocm9taXVtX3dpbgorCisg
ICAgICAgIGNsYXNzIEdvb2dsZUNocm9tZVdpblBvcnQoY2hyb21pdW1fd2luLkNocm9taXVtV2lu
UG9ydCk6CisgICAgICAgICAgICBkZWYgYmFzZWxpbmVfc2VhcmNoX3BhdGgoc2VsZik6CisgICAg
ICAgICAgICAgICAgcGF0aHMgPSBjaHJvbWl1bV93aW4uQ2hyb21pdW1XaW5Qb3J0LmJhc2VsaW5l
X3NlYXJjaF9wYXRoKAorICAgICAgICAgICAgICAgICAgICBzZWxmKQorICAgICAgICAgICAgICAg
IHBhdGhzLmluc2VydCgwLCBzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aCgKKyAgICAgICAgICAg
ICAgICAgICAgJ2dvb2dsZS1jaHJvbWUtd2luJykpCisgICAgICAgICAgICAgICAgcmV0dXJuIHBh
dGhzCisgICAgICAgIHJldHVybiBHb29nbGVDaHJvbWVXaW5Qb3J0KHBvcnRfbmFtZSwgb3B0aW9u
cykKKyAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCd1bnN1cHBvcnRlZCBwb3J0OiAlcycg
JSBwb3J0X25hbWUpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2dvb2dsZV9jaHJvbWVfdW5pdHRlc3QucHkgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2dvb2dsZV9jaHJvbWVfdW5pdHRlc3Qu
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTJkNzA1NjdhMDJkNTBjMjVjNmFkZDgyMjVkMWM4Yzg0NjMzYzExYQot
LS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvZ29vZ2xlX2Nocm9tZV91bml0dGVzdC5weQpAQCAtMCwwICsxLDQ2IEBACisjIS91
c3IvYmluL2VudiBweXRob24KKyMgQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoK
KyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorIyBkaXN0cmlidXRpb24uCisKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCitpbXBvcnQgb3MKK2ltcG9ydCB1bml0dGVzdAoraW1wb3J0IGdvb2dsZV9j
aHJvbWUKKworCitjbGFzcyBHZXRHb29nbGVDaHJvbWVQb3J0VGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CisgICAgZGVmIHRlc3RfZ2V0X2dvb2dsZV9jaHJvbWVfcG9ydChzZWxmKToKKyAgICAgICAg
dGVzdF9wb3J0cyA9ICgnZ29vZ2xlLWNocm9tZS1saW51eDMyJywgJ2dvb2dsZS1jaHJvbWUtbGlu
dXg2NCcsCisgICAgICAgICAgICAnZ29vZ2xlLWNocm9tZS1tYWMnLCAnZ29vZ2xlLWNocm9tZS13
aW4nKQorICAgICAgICBmb3IgcG9ydCBpbiB0ZXN0X3BvcnRzOgorICAgICAgICAgICAgc2VsZi5f
dmVyaWZ5X2Jhc2VsaW5lX3BhdGgocG9ydCwgcG9ydCkKKworICAgICAgICBzZWxmLl92ZXJpZnlf
YmFzZWxpbmVfcGF0aCgnZ29vZ2xlLWNocm9tZS1tYWMnLCAnZ29vZ2xlLWNocm9tZS1tYWMtbGVv
cGFyZCcpCisgICAgICAgIHNlbGYuX3ZlcmlmeV9iYXNlbGluZV9wYXRoKCdnb29nbGUtY2hyb21l
LXdpbicsICdnb29nbGUtY2hyb21lLXdpbi14cCcpCisgICAgICAgIHNlbGYuX3ZlcmlmeV9iYXNl
bGluZV9wYXRoKCdnb29nbGUtY2hyb21lLXdpbicsICdnb29nbGUtY2hyb21lLXdpbi12aXN0YScp
CisKKyAgICBkZWYgX3ZlcmlmeV9iYXNlbGluZV9wYXRoKHNlbGYsIGV4cGVjdGVkX3BhdGgsIHBv
cnRfbmFtZSk6CisgICAgICAgIHBvcnQgPSBnb29nbGVfY2hyb21lLkdldEdvb2dsZUNocm9tZVBv
cnQocG9ydF9uYW1lLCBOb25lKQorICAgICAgICBwYXRoID0gcG9ydC5iYXNlbGluZV9zZWFyY2hf
cGF0aCgpWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfcGF0aCwgb3MucGF0
aC5zcGxpdChwYXRoKVsxXSkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3Rlc3RfdHlwZXMvaW1hZ2VfZGlmZi5weSBiL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Rlc3RfdHlwZXMvaW1hZ2VfZGlmZi5weQppbmRl
eCA2NWY4ZjNhNzExZGU5ODg0ZmNmMzVhNjFjZTMwZjMzZTM3ZTdmNzFkLi4yYTU0Njg2NWRhMDc2
ZDhmNjQyYzMxNzhiZjMxMzEwZjQ2OGFjNTBhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy90ZXN0X3R5cGVzL2ltYWdlX2RpZmYucHkKKysrIGIv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdGVzdF90eXBlcy9pbWFn
ZV9kaWZmLnB5CkBAIC0xMzYsNyArMTM2LDcgQEAgY2xhc3MgSW1hZ2VEaWZmKHRlc3RfdHlwZV9i
YXNlLlRlc3RUeXBlQmFzZSk6CiAgICAgICAgICMgSWYgd2UncmUgZ2VuZXJhdGluZyBhIG5ldyBi
YXNlbGluZSwgd2UgcGFzcy4KICAgICAgICAgaWYgdGVzdF9hcmdzLm5ld19iYXNlbGluZSBvciB0
ZXN0X2FyZ3MucmVzZXRfcmVzdWx0czoKICAgICAgICAgICAgIHNlbGYuX3NhdmVfYmFzZWxpbmVf
ZmlsZXMoZmlsZW5hbWUsIHRlc3RfYXJncy5wbmdfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RfYXJncy5oYXNoLCB0ZXN0X2FyZ3MubmV3X2Jhc2VsaW5lKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2FyZ3MuaGFzaCwgdGVz
dF9hcmdzLm5ld19iYXNlbGluZSkKICAgICAgICAgICAgIHJldHVybiBmYWlsdXJlcwogCiAgICAg
ICAgICMgQ29tcGFyZSBoYXNoZXMuCg==
</data>
<flag name="review"
          id="52686"
          type_id="1"
          status="+"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>