<?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>31699</bug_id>
          
          <creation_ts>2009-11-19 18:58:02 -0800</creation_ts>
          <short_desc>Web Inspector: Should Cache Values of InspectorController.platform() and port</short_desc>
          <delta_ts>2009-11-20 10:43:24 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>31700</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Weinstein">bweinstein</reporter>
          <assigned_to name="Brian Weinstein">bweinstein</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>165172</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-11-19 18:58:02 -0800</bug_when>
    <thetext>These functions have to call into C++, they are being used more and more (keyboard shortcuts need to call it), and the values shouldn&apos;t change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165173</commentid>
    <comment_count>1</comment_count>
      <attachid>43539</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-11-19 18:59:48 -0800</bug_when>
    <thetext>Created attachment 43539
[PATCH] Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165174</commentid>
    <comment_count>2</comment_count>
      <attachid>43540</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-11-19 19:10:50 -0800</bug_when>
    <thetext>Created attachment 43540
[PATCH] Use getters instead of WebInspector.function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165184</commentid>
    <comment_count>3</comment_count>
      <attachid>43540</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-11-19 20:36:25 -0800</bug_when>
    <thetext>Comment on attachment 43540
[PATCH] Use getters instead of WebInspector.function

&gt; +        if (!this._platform)

A better idiom we use is:

          if (!(&quot;_platform&quot; in this))

It is semi faster. It only checks if the property exists, not the value.

&gt; +        if (!this._port)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165201</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-11-19 21:49:42 -0800</bug_when>
    <thetext>Given that we are 100% sure platform and port are needed for rendering, it does not really make sense to load them lazily. I&apos;d rather push them into the frontend as soon as script object for it is available. Furthermore, I think we should do the same to inspector settings. Generic approach would be to create Preferences object (the one from inspector.js or its override) in InspectorController and push it into the frontend from within InspectorController::scriptObjectReady.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165268</commentid>
    <comment_count>5</comment_count>
    <who name="Patrick Mueller">pmuellr</who>
    <bug_when>2009-11-20 04:03:21 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; I think we
&gt; should do the same to inspector settings. Generic approach would be to create
&gt; Preferences object (the one from inspector.js or its override) in
&gt; InspectorController and push it into the frontend from within
&gt; InspectorController::scriptObjectReady.

I didn&apos;t realize we already had a Preferences object; sounds like a good place to put the pre-load of the settings from InspectorController.  Do we create a method per setting, or two - a getter and setter - or a generic getter and setter?

Even though it gets busy, I like having method-per-setting, because then it&apos;s easy to figure out what all the possible settings actually are.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165277</commentid>
    <comment_count>6</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-11-20 04:55:37 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; I think we
&gt; &gt; should do the same to inspector settings. Generic approach would be to create
&gt; &gt; Preferences object (the one from inspector.js or its override) in
&gt; &gt; InspectorController and push it into the frontend from within
&gt; &gt; InspectorController::scriptObjectReady.
&gt; 
&gt; I didn&apos;t realize we already had a Preferences object; sounds like a good place
&gt; to put the pre-load of the settings from InspectorController.  Do we create a
&gt; method per setting, or two - a getter and setter - or a generic getter and
&gt; setter?
&gt; 
&gt; Even though it gets busy, I like having method-per-setting, because then it&apos;s
&gt; easy to figure out what all the possible settings actually are.

I think we should have named settings with shared getter and single setter in order not to bloat cache-related code. We could have constants for names of the known settings to address your argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165350</commentid>
    <comment_count>7</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-11-20 10:32:50 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Given that we are 100% sure platform and port are needed for rendering, it does
&gt; not really make sense to load them lazily. I&apos;d rather push them into the
&gt; frontend as soon as script object for it is available. Furthermore, I think we
&gt; should do the same to inspector settings. Generic approach would be to create
&gt; Preferences object (the one from inspector.js or its override) in
&gt; InspectorController and push it into the frontend from within
&gt; InspectorController::scriptObjectReady.

I&apos;m going to land this optimization in the patch, because it will clean up code a good amount, but if we want to figure out future optimizations (like not loading this lazily), we can do that in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165355</commentid>
    <comment_count>8</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-11-20 10:43:24 -0800</bug_when>
    <thetext>Landed in r51242.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43539</attachid>
            <date>2009-11-19 18:59:48 -0800</date>
            <delta_ts>2009-11-19 19:10:50 -0800</delta_ts>
            <desc>[PATCH] Fix</desc>
            <filename>cache_platform.patch</filename>
            <type>text/plain</type>
            <size>7233</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTIyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMDktMTEtMTkgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAg
ICAKKyAgICAgICAgRml4ZXMgPGh0dHA6Ly93ZWJraXQub3JnL2IvMzE2OTk+LgorICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBTaG91bGQgQ2FjaGUgVmFsdWVzIG9mIEluc3BlY3RvckNvbnRyb2xsZXIu
cGxhdGZvcm0oKSBhbmQgcG9ydCgpLgorCisgICAgICAgIFJlZmFjdG9yIHRoZSBJbnNwZWN0b3Ig
dG8gY2FjaGUgdGhlIHZhbHVlIG9mIEluc3BlY3RvckNvbnRyb2xsZXIucGxhdGZvcm0KKyAgICAg
ICAgYW5kIEluc3BlY3RvckNvbnRyb2xsZXIucG9ydCwgYmVjYXVzZSB0aG9zZSBuZWVkIHRvIGNh
bGwgaW50byBDKyssIHRoZXkgYXJlCisgICAgICAgIGJlaW5nIGNhbGxlZCBtb3JlIGFuZCBtb3Jl
IGFzIHdlIGFkZCBwbGF0Zm9ybSBzcGVjaWZpYyBrZXlib2FyZCBzaG9ydGN1dHMsIGFuZAorICAg
ICAgICB0aGV5IHNob3VsZG4ndCBjaGFuZ2UgaW4gdGhlIGxpZmVjeWNsZSBvZiB0aGUgV2ViIElu
c3BlY3Rvci4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQWJzdHJhY3RUaW1lbGlu
ZVBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkFic3RyYWN0VGltZWxpbmVQYW5lbC5w
cm90b3R5cGUuX3VwZGF0ZUZpbHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9D
b25zb2xlVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5
cGUuX3VwZGF0ZUZpbHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50
c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBl
LmhhbmRsZUtleUV2ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQ
YW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU291cmNlRnJhbWUucHJvdG90eXBlLl9sb2FkZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmxvYWRlZCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuZG9jdW1lbnRLZXlEb3duKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci50b29sYmFyRHJhZ1N0YXJ0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5wbGF0Zm9ybSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IucG9ydCk6CisKIDIwMDktMTEtMTkgIEJyaWFuIFdlaW5z
dGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgogCkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQWJzdHJhY3RUaW1lbGluZVBhbmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9BYnN0cmFjdFRpbWVsaW5lUGFuZWwuanMJKHJldmlzaW9uIDUx
MTk2KQorKysgV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Fic3RyYWN0VGltZWxpbmVQYW5l
bC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTg5LDcgKzE4OSw3IEBAIFdlYkluc3BlY3Rvci5BYnN0
cmFjdFRpbWVsaW5lUGFuZWwucHJvdG8KIAogICAgIF91cGRhdGVGaWx0ZXI6IGZ1bmN0aW9uKGUp
CiAgICAgewotICAgICAgICB2YXIgaXNNYWMgPSBJbnNwZWN0b3JDb250cm9sbGVyLnBsYXRmb3Jt
KCkuaW5kZXhPZigibWFjLSIpID09PSAwOworICAgICAgICB2YXIgaXNNYWMgPSBXZWJJbnNwZWN0
b3IucGxhdGZvcm0oKS5pbmRleE9mKCJtYWMtIikgPT09IDA7CiAgICAgICAgIHZhciBzZWxlY3RN
dWx0aXBsZSA9IGZhbHNlOwogICAgICAgICBpZiAoaXNNYWMgJiYgZS5tZXRhS2V5ICYmICFlLmN0
cmxLZXkgJiYgIWUuYWx0S2V5ICYmICFlLnNoaWZ0S2V5KQogICAgICAgICAgICAgc2VsZWN0TXVs
dGlwbGUgPSB0cnVlOwpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVW
aWV3LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xl
Vmlldy5qcwkocmV2aXNpb24gNTExOTYpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q29uc29sZVZpZXcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEwMSw3ICsxMDEsNyBAQCBXZWJJbnNw
ZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewogICAgIAogICAgIF91cGRhdGVGaWx0ZXI6
IGZ1bmN0aW9uKGUpCiAgICAgewotICAgICAgICB2YXIgaXNNYWMgPSBJbnNwZWN0b3JDb250cm9s
bGVyLnBsYXRmb3JtKCkuaW5kZXhPZigibWFjLSIpID09PSAwOworICAgICAgICB2YXIgaXNNYWMg
PSBXZWJJbnNwZWN0b3IucGxhdGZvcm0oKS5pbmRleE9mKCJtYWMtIikgPT09IDA7CiAgICAgICAg
IHZhciBzZWxlY3RNdWx0aXBsZSA9IGZhbHNlOwogICAgICAgICBpZiAoaXNNYWMgJiYgZS5tZXRh
S2V5ICYmICFlLmN0cmxLZXkgJiYgIWUuYWx0S2V5ICYmICFlLnNoaWZ0S2V5KQogICAgICAgICAg
ICAgc2VsZWN0TXVsdGlwbGUgPSB0cnVlOwpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0VsZW1lbnRzUGFuZWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0VsZW1lbnRzUGFuZWwuanMJKHJldmlzaW9uIDUxMjI1KQorKysgV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTEwMDEs
NyArMTAwMSw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgLy8gQ21kL0NvbnRyb2wgKyBTaGlmdCArIEMgc2hvdWxkIGJlIGEgc2hvcnRjdXQgdG8g
Y2xpY2tpbmcgdGhlIE5vZGUgU2VhcmNoIEJ1dHRvbi4KICAgICAgICAgLy8gVGhpcyBzaG9ydGN1
dCBtYXRjaGVzIEZpcmVidWcuCiAgICAgICAgIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09PSAi
VSswMDQzIikgeyAgICAgLy8gQyBrZXkKLSAgICAgICAgICAgIHZhciBpc01hYyA9IEluc3BlY3Rv
ckNvbnRyb2xsZXIucGxhdGZvcm0oKS5pbmRleE9mKCJtYWMtIikgPT09IDA7CisgICAgICAgICAg
ICB2YXIgaXNNYWMgPSBXZWJJbnNwZWN0b3IucGxhdGZvcm0oKS5pbmRleE9mKCJtYWMtIikgPT09
IDA7CiAgICAgICAgICAgICBpZiAoaXNNYWMpCiAgICAgICAgICAgICAgICAgdmFyIGlzTm9kZVNl
YXJjaEtleSA9IGV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmN0cmxLZXkgJiYgIWV2ZW50LmFsdEtl
eSAmJiBldmVudC5zaGlmdEtleTsKICAgICAgICAgICAgIGVsc2UKSW5kZXg6IFdlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwkocmV2aXNpb24gNTExOTYpCisrKyBX
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xNjIsNyArMTYyLDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCA9IGZ1bmN0aW9u
KCkKIAogICAgIHRoaXMuX3Nob3J0Y3V0cyA9IHt9OwogCi0gICAgdmFyIGlzTWFjID0gSW5zcGVj
dG9yQ29udHJvbGxlci5wbGF0Zm9ybSgpLmluZGV4T2YoIm1hYy0iKSA9PT0gMDsKKyAgICB2YXIg
aXNNYWMgPSBXZWJJbnNwZWN0b3IucGxhdGZvcm0oKS5pbmRleE9mKCJtYWMtIikgPT09IDA7CiAg
ICAgdmFyIHBsYXRmb3JtU3BlY2lmaWNNb2RpZmllciA9IGlzTWFjID8gV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLk1ldGEgOiBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5Nb2RpZmllcnMuQ3RybDsKIAogICAgIC8vIENvbnRpbnVlLgpJbmRleDogV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcwkocmV2aXNpb24gNTExOTYpCisrKyBX
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMJKHdvcmtpbmcgY29weSkK
QEAgLTIwNyw3ICsyMDcsNyBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlID0g
ewogICAgICAgICB0aGlzLmVsZW1lbnQuY29udGVudERvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIo
IndlYmtpdEFuaW1hdGlvbkVuZCIsIHRoaXMuX2hpZ2hsaWdodExpbmVFbmRzLmJpbmQodGhpcyks
IGZhbHNlKTsKIAogICAgICAgICAvLyBSZWdpc3RlciAnZXZhbCcgc2hvcnRjdXQuCi0gICAgICAg
IHZhciBpc01hYyA9IEluc3BlY3RvckNvbnRyb2xsZXIucGxhdGZvcm0oKS5pbmRleE9mKCJtYWMt
IikgPT09IDA7CisgICAgICAgIHZhciBpc01hYyA9IFdlYkluc3BlY3Rvci5wbGF0Zm9ybSgpLmlu
ZGV4T2YoIm1hYy0iKSA9PT0gMDsKICAgICAgICAgdmFyIHBsYXRmb3JtU3BlY2lmaWNNb2RpZmll
ciA9IGlzTWFjID8gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLk1ldGEg
OiBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMuQ3RybDsKICAgICAgICAg
dmFyIHNob3J0Y3V0ID0gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZUtleSg2OSAv
KiAnRScgKi8sIHBsYXRmb3JtU3BlY2lmaWNNb2RpZmllciB8IFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0Lk1vZGlmaWVycy5TaGlmdCk7CiAgICAgICAgIHRoaXMuX3Nob3J0Y3V0c1tzaG9y
dGN1dF0gPSB0aGlzLl9ldmFsU2VsZWN0aW9uSW5DYWxsRnJhbWUuYmluZCh0aGlzKTsKSW5kZXg6
IFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwkocmV2aXNpb24gNTExOTYp
CisrKyBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0zOTAsOSArMzkwLDkgQEAgdmFyIFdlYkluc3BlY3RvciA9IHsKIAogV2ViSW5zcGVj
dG9yLmxvYWRlZCA9IGZ1bmN0aW9uKCkKIHsKLSAgICB2YXIgcGxhdGZvcm0gPSBJbnNwZWN0b3JD
b250cm9sbGVyLnBsYXRmb3JtKCk7CisgICAgdmFyIHBsYXRmb3JtID0gV2ViSW5zcGVjdG9yLnBs
YXRmb3JtKCk7CiAgICAgZG9jdW1lbnQuYm9keS5hZGRTdHlsZUNsYXNzKCJwbGF0Zm9ybS0iICsg
cGxhdGZvcm0pOwotICAgIHZhciBwb3J0ID0gSW5zcGVjdG9yQ29udHJvbGxlci5wb3J0KCk7Cisg
ICAgdmFyIHBvcnQgPSBXZWJJbnNwZWN0b3IucG9ydCgpOwogICAgIGRvY3VtZW50LmJvZHkuYWRk
U3R5bGVDbGFzcygicG9ydC0iICsgcG9ydCk7CiAKICAgICB0aGlzLl9sb2FkUHJlZmVyZW5jZXMo
KTsKQEAgLTYyMCw3ICs2MjAsNyBAQCBXZWJJbnNwZWN0b3IuZG9jdW1lbnRLZXlEb3duID0gZnVu
Y3Rpb24oCiAgICAgICAgIFdlYkluc3BlY3Rvclt0aGlzLmN1cnJlbnRGb2N1c0VsZW1lbnQuaWQg
KyAiS2V5RG93biJdKGV2ZW50KTsKIAogICAgIGlmICghZXZlbnQuaGFuZGxlZCkgewotICAgICAg
ICB2YXIgaXNNYWMgPSBJbnNwZWN0b3JDb250cm9sbGVyLnBsYXRmb3JtKCkuaW5kZXhPZigibWFj
LSIpID09PSAwOworICAgICAgICB2YXIgaXNNYWMgPSBXZWJJbnNwZWN0b3IucGxhdGZvcm0oKS5p
bmRleE9mKCJtYWMtIikgPT09IDA7CiAKICAgICAgICAgc3dpdGNoIChldmVudC5rZXlJZGVudGlm
aWVyKSB7CiAgICAgICAgICAgICBjYXNlICJVKzAwMUIiOiAvLyBFc2NhcGUga2V5CkBAIC04NDUs
NyArODQ1LDcgQEAgV2ViSW5zcGVjdG9yLnRvZ2dsZUF0dGFjaCA9IGZ1bmN0aW9uKCkKIAogV2Vi
SW5zcGVjdG9yLnRvb2xiYXJEcmFnU3RhcnQgPSBmdW5jdGlvbihldmVudCkKIHsKLSAgICBpZiAo
KCFXZWJJbnNwZWN0b3IuYXR0YWNoZWQgJiYgSW5zcGVjdG9yQ29udHJvbGxlci5wbGF0Zm9ybSgp
ICE9PSAibWFjLWxlb3BhcmQiKSB8fCBJbnNwZWN0b3JDb250cm9sbGVyLnBvcnQoKSA9PSAicXQi
KQorICAgIGlmICgoIVdlYkluc3BlY3Rvci5hdHRhY2hlZCAmJiBXZWJJbnNwZWN0b3IucGxhdGZv
cm0oKSAhPT0gIm1hYy1sZW9wYXJkIikgfHwgV2ViSW5zcGVjdG9yLnBvcnQoKSA9PSAicXQiKQog
ICAgICAgICByZXR1cm47CiAKICAgICB2YXIgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0OwpAQCAtMTE4
Myw2ICsxMTgzLDIyIEBAIFdlYkluc3BlY3Rvci5yZXN1bWVkU2NyaXB0ID0gZnVuY3Rpb24oKQog
ICAgIHRoaXMucGFuZWxzLnNjcmlwdHMuZGVidWdnZXJSZXN1bWVkKCk7CiB9CiAKK1dlYkluc3Bl
Y3Rvci5wbGF0Zm9ybSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBpZiAoIXRoaXMuX3BsYXRmb3JtKQor
ICAgICAgICB0aGlzLl9wbGF0Zm9ybSA9IEluc3BlY3RvckNvbnRyb2xsZXIucGxhdGZvcm0oKTsK
KyAgICAgICAgCisgICAgcmV0dXJuIHRoaXMuX3BsYXRmb3JtOworfQorCitXZWJJbnNwZWN0b3Iu
cG9ydCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBpZiAoIXRoaXMuX3BvcnQpCisgICAgICAgIHRoaXMu
X3BvcnQgPSBJbnNwZWN0b3JDb250cm9sbGVyLnBvcnQoKTsKKyAgICAgICAgCisgICAgcmV0dXJu
IHRoaXMuX3BvcnQ7Cit9CisKIFdlYkluc3BlY3Rvci5wb3B1bGF0ZUludGVyZmFjZSA9IGZ1bmN0
aW9uKCkKIHsKICAgICBmb3IgKHZhciBwYW5lbE5hbWUgaW4gdGhpcy5wYW5lbHMpIHsK
</data>
<flag name="commit-queue"
          id="25272"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43540</attachid>
            <date>2009-11-19 19:10:50 -0800</date>
            <delta_ts>2009-11-19 20:36:25 -0800</delta_ts>
            <desc>[PATCH] Use getters instead of WebInspector.function</desc>
            <filename>cache_platform.patch</filename>
            <type>text/plain</type>
            <size>7193</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTIyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMDktMTEtMTkgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpeGVzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzMxNjk5Pi4KKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogU2hvdWxkIENhY2hlIFZhbHVlcyBvZiBJbnNwZWN0b3JDb250cm9sbGVyLnBsYXRmb3Jt
KCkgYW5kIHBvcnQoKS4KKworICAgICAgICBSZWZhY3RvciB0aGUgSW5zcGVjdG9yIHRvIGNhY2hl
IHRoZSB2YWx1ZSBvZiBJbnNwZWN0b3JDb250cm9sbGVyLnBsYXRmb3JtCisgICAgICAgIGFuZCBJ
bnNwZWN0b3JDb250cm9sbGVyLnBvcnQsIGJlY2F1c2UgdGhvc2UgbmVlZCB0byBjYWxsIGludG8g
QysrLCB0aGV5IGFyZQorICAgICAgICBiZWluZyBjYWxsZWQgbW9yZSBhbmQgbW9yZSBhcyB3ZSBh
ZGQgcGxhdGZvcm0gc3BlY2lmaWMga2V5Ym9hcmQgc2hvcnRjdXRzLCBhbmQKKyAgICAgICAgdGhl
eSBzaG91bGRuJ3QgY2hhbmdlIGluIHRoZSBsaWZlY3ljbGUgb2YgdGhlIFdlYiBJbnNwZWN0b3Iu
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0Fic3RyYWN0VGltZWxpbmVQYW5lbC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BYnN0cmFjdFRpbWVsaW5lUGFuZWwucHJvdG90eXBl
Ll91cGRhdGVGaWx0ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZp
ZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl91cGRh
dGVGaWx0ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5oYW5kbGVL
ZXlFdmVudCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJj
ZUZyYW1lLnByb3RvdHlwZS5fbG9hZGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5nZXQgcGxhdGZvcm0pOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLmdldCBwb3J0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5sb2Fk
ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmRvY3VtZW50S2V5RG93bik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IudG9vbGJhckRyYWdTdGFydCk6CisKIDIwMDktMTEtMTkgIEJyaWFuIFdlaW5z
dGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgogCkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQWJzdHJhY3RUaW1lbGluZVBhbmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9BYnN0cmFjdFRpbWVsaW5lUGFuZWwuanMJKHJldmlzaW9uIDUx
MTk2KQorKysgV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Fic3RyYWN0VGltZWxpbmVQYW5l
bC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTg5LDcgKzE4OSw3IEBAIFdlYkluc3BlY3Rvci5BYnN0
cmFjdFRpbWVsaW5lUGFuZWwucHJvdG8KIAogICAgIF91cGRhdGVGaWx0ZXI6IGZ1bmN0aW9uKGUp
CiAgICAgewotICAgICAgICB2YXIgaXNNYWMgPSBJbnNwZWN0b3JDb250cm9sbGVyLnBsYXRmb3Jt
KCkuaW5kZXhPZigibWFjLSIpID09PSAwOworICAgICAgICB2YXIgaXNNYWMgPSBXZWJJbnNwZWN0
b3IucGxhdGZvcm0uaW5kZXhPZigibWFjLSIpID09PSAwOwogICAgICAgICB2YXIgc2VsZWN0TXVs
dGlwbGUgPSBmYWxzZTsKICAgICAgICAgaWYgKGlzTWFjICYmIGUubWV0YUtleSAmJiAhZS5jdHJs
S2V5ICYmICFlLmFsdEtleSAmJiAhZS5zaGlmdEtleSkKICAgICAgICAgICAgIHNlbGVjdE11bHRp
cGxlID0gdHJ1ZTsKSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmll
dy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZp
ZXcuanMJKHJldmlzaW9uIDUxMTk2KQorKysgV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nv
bnNvbGVWaWV3LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsNyArMTAxLDcgQEAgV2ViSW5zcGVj
dG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAKICAgICBfdXBkYXRlRmlsdGVyOiBm
dW5jdGlvbihlKQogICAgIHsKLSAgICAgICAgdmFyIGlzTWFjID0gSW5zcGVjdG9yQ29udHJvbGxl
ci5wbGF0Zm9ybSgpLmluZGV4T2YoIm1hYy0iKSA9PT0gMDsKKyAgICAgICAgdmFyIGlzTWFjID0g
V2ViSW5zcGVjdG9yLnBsYXRmb3JtLmluZGV4T2YoIm1hYy0iKSA9PT0gMDsKICAgICAgICAgdmFy
IHNlbGVjdE11bHRpcGxlID0gZmFsc2U7CiAgICAgICAgIGlmIChpc01hYyAmJiBlLm1ldGFLZXkg
JiYgIWUuY3RybEtleSAmJiAhZS5hbHRLZXkgJiYgIWUuc2hpZnRLZXkpCiAgICAgICAgICAgICBz
ZWxlY3RNdWx0aXBsZSA9IHRydWU7CkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RWxlbWVudHNQYW5lbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRWxlbWVudHNQYW5lbC5qcwkocmV2aXNpb24gNTEyMjUpCisrKyBXZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTAwMSw3ICsx
MDAxLDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAg
ICAvLyBDbWQvQ29udHJvbCArIFNoaWZ0ICsgQyBzaG91bGQgYmUgYSBzaG9ydGN1dCB0byBjbGlj
a2luZyB0aGUgTm9kZSBTZWFyY2ggQnV0dG9uLgogICAgICAgICAvLyBUaGlzIHNob3J0Y3V0IG1h
dGNoZXMgRmlyZWJ1Zy4KICAgICAgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJVKzAw
NDMiKSB7ICAgICAvLyBDIGtleQotICAgICAgICAgICAgdmFyIGlzTWFjID0gSW5zcGVjdG9yQ29u
dHJvbGxlci5wbGF0Zm9ybSgpLmluZGV4T2YoIm1hYy0iKSA9PT0gMDsKKyAgICAgICAgICAgIHZh
ciBpc01hYyA9IFdlYkluc3BlY3Rvci5wbGF0Zm9ybS5pbmRleE9mKCJtYWMtIikgPT09IDA7CiAg
ICAgICAgICAgICBpZiAoaXNNYWMpCiAgICAgICAgICAgICAgICAgdmFyIGlzTm9kZVNlYXJjaEtl
eSA9IGV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmN0cmxLZXkgJiYgIWV2ZW50LmFsdEtleSAmJiBl
dmVudC5zaGlmdEtleTsKICAgICAgICAgICAgIGVsc2UKSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwkocmV2aXNpb24gNTExOTYpCisrKyBXZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
NjIsNyArMTYyLDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCA9IGZ1bmN0aW9uKCkKIAog
ICAgIHRoaXMuX3Nob3J0Y3V0cyA9IHt9OwogCi0gICAgdmFyIGlzTWFjID0gSW5zcGVjdG9yQ29u
dHJvbGxlci5wbGF0Zm9ybSgpLmluZGV4T2YoIm1hYy0iKSA9PT0gMDsKKyAgICB2YXIgaXNNYWMg
PSBXZWJJbnNwZWN0b3IucGxhdGZvcm0uaW5kZXhPZigibWFjLSIpID09PSAwOwogICAgIHZhciBw
bGF0Zm9ybVNwZWNpZmljTW9kaWZpZXIgPSBpc01hYyA/IFdlYkluc3BlY3Rvci5LZXlib2FyZFNo
b3J0Y3V0Lk1vZGlmaWVycy5NZXRhIDogV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9k
aWZpZXJzLkN0cmw7CiAKICAgICAvLyBDb250aW51ZS4KSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMJKHJldmlzaW9uIDUxMTk2KQorKysgV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMDcs
NyArMjA3LDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgdGhpcy5lbGVtZW50LmNvbnRlbnREb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRB
bmltYXRpb25FbmQiLCB0aGlzLl9oaWdobGlnaHRMaW5lRW5kcy5iaW5kKHRoaXMpLCBmYWxzZSk7
CiAKICAgICAgICAgLy8gUmVnaXN0ZXIgJ2V2YWwnIHNob3J0Y3V0LgotICAgICAgICB2YXIgaXNN
YWMgPSBJbnNwZWN0b3JDb250cm9sbGVyLnBsYXRmb3JtKCkuaW5kZXhPZigibWFjLSIpID09PSAw
OworICAgICAgICB2YXIgaXNNYWMgPSBXZWJJbnNwZWN0b3IucGxhdGZvcm0uaW5kZXhPZigibWFj
LSIpID09PSAwOwogICAgICAgICB2YXIgcGxhdGZvcm1TcGVjaWZpY01vZGlmaWVyID0gaXNNYWMg
PyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMuTWV0YSA6IFdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycy5DdHJsOwogICAgICAgICB2YXIgc2hvcnRj
dXQgPSBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlS2V5KDY5IC8qICdFJyAqLywg
cGxhdGZvcm1TcGVjaWZpY01vZGlmaWVyIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQu
TW9kaWZpZXJzLlNoaWZ0KTsKICAgICAgICAgdGhpcy5fc2hvcnRjdXRzW3Nob3J0Y3V0XSA9IHRo
aXMuX2V2YWxTZWxlY3Rpb25JbkNhbGxGcmFtZS5iaW5kKHRoaXMpOwpJbmRleDogV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCShyZXZpc2lvbiA1MTE5NikKKysrIFdlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMJKHdvcmtpbmcgY29weSkKQEAgLTcy
LDYgKzcyLDIyIEBAIHZhciBXZWJJbnNwZWN0b3IgPSB7CiAgICAgcmVzb3VyY2VVUkxNYXA6IHt9
LAogICAgIGNvb2tpZURvbWFpbnM6IHt9LAogICAgIG1pc3NpbmdMb2NhbGl6ZWRTdHJpbmdzOiB7
fSwKKyAgICAKKyAgICBnZXQgcGxhdGZvcm0oKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9w
bGF0Zm9ybSkKKyAgICAgICAgICAgIHRoaXMuX3BsYXRmb3JtID0gSW5zcGVjdG9yQ29udHJvbGxl
ci5wbGF0Zm9ybSgpOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIHRoaXMuX3BsYXRmb3JtOwor
ICAgIH0sCisgICAgCisgICAgZ2V0IHBvcnQoKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9w
b3J0KQorICAgICAgICAgICAgdGhpcy5fcG9ydCA9IEluc3BlY3RvckNvbnRyb2xsZXIucG9ydCgp
OworICAgICAgICAKKyAgICAgICAgcmV0dXJuIHRoaXMuX3BvcnQ7CisgICAgfSwKIAogICAgIGdl
dCBwcmV2aW91c0ZvY3VzRWxlbWVudCgpCiAgICAgewpAQCAtMzkwLDkgKzQwNiw5IEBAIHZhciBX
ZWJJbnNwZWN0b3IgPSB7CiAKIFdlYkluc3BlY3Rvci5sb2FkZWQgPSBmdW5jdGlvbigpCiB7Ci0g
ICAgdmFyIHBsYXRmb3JtID0gSW5zcGVjdG9yQ29udHJvbGxlci5wbGF0Zm9ybSgpOworICAgIHZh
ciBwbGF0Zm9ybSA9IFdlYkluc3BlY3Rvci5wbGF0Zm9ybTsKICAgICBkb2N1bWVudC5ib2R5LmFk
ZFN0eWxlQ2xhc3MoInBsYXRmb3JtLSIgKyBwbGF0Zm9ybSk7Ci0gICAgdmFyIHBvcnQgPSBJbnNw
ZWN0b3JDb250cm9sbGVyLnBvcnQoKTsKKyAgICB2YXIgcG9ydCA9IFdlYkluc3BlY3Rvci5wb3J0
OwogICAgIGRvY3VtZW50LmJvZHkuYWRkU3R5bGVDbGFzcygicG9ydC0iICsgcG9ydCk7CiAKICAg
ICB0aGlzLl9sb2FkUHJlZmVyZW5jZXMoKTsKQEAgLTYyMCw3ICs2MzYsNyBAQCBXZWJJbnNwZWN0
b3IuZG9jdW1lbnRLZXlEb3duID0gZnVuY3Rpb24oCiAgICAgICAgIFdlYkluc3BlY3Rvclt0aGlz
LmN1cnJlbnRGb2N1c0VsZW1lbnQuaWQgKyAiS2V5RG93biJdKGV2ZW50KTsKIAogICAgIGlmICgh
ZXZlbnQuaGFuZGxlZCkgewotICAgICAgICB2YXIgaXNNYWMgPSBJbnNwZWN0b3JDb250cm9sbGVy
LnBsYXRmb3JtKCkuaW5kZXhPZigibWFjLSIpID09PSAwOworICAgICAgICB2YXIgaXNNYWMgPSBX
ZWJJbnNwZWN0b3IucGxhdGZvcm0uaW5kZXhPZigibWFjLSIpID09PSAwOwogCiAgICAgICAgIHN3
aXRjaCAoZXZlbnQua2V5SWRlbnRpZmllcikgewogICAgICAgICAgICAgY2FzZSAiVSswMDFCIjog
Ly8gRXNjYXBlIGtleQpAQCAtODQ1LDcgKzg2MSw3IEBAIFdlYkluc3BlY3Rvci50b2dnbGVBdHRh
Y2ggPSBmdW5jdGlvbigpCiAKIFdlYkluc3BlY3Rvci50b29sYmFyRHJhZ1N0YXJ0ID0gZnVuY3Rp
b24oZXZlbnQpCiB7Ci0gICAgaWYgKCghV2ViSW5zcGVjdG9yLmF0dGFjaGVkICYmIEluc3BlY3Rv
ckNvbnRyb2xsZXIucGxhdGZvcm0oKSAhPT0gIm1hYy1sZW9wYXJkIikgfHwgSW5zcGVjdG9yQ29u
dHJvbGxlci5wb3J0KCkgPT0gInF0IikKKyAgICBpZiAoKCFXZWJJbnNwZWN0b3IuYXR0YWNoZWQg
JiYgV2ViSW5zcGVjdG9yLnBsYXRmb3JtICE9PSAibWFjLWxlb3BhcmQiKSB8fCBXZWJJbnNwZWN0
b3IucG9ydCA9PSAicXQiKQogICAgICAgICByZXR1cm47CiAKICAgICB2YXIgdGFyZ2V0ID0gZXZl
bnQudGFyZ2V0Owo=
</data>
<flag name="review"
          id="25273"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="25274"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
      

    </bug>

</bugzilla>