<?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>25634</bug_id>
          
          <creation_ts>2009-05-07 17:26:17 -0700</creation_ts>
          <short_desc>Need a way to get the Frame for the code at the top of the JS stack</short_desc>
          <delta_ts>2009-05-11 14:40:50 -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>WebCore JavaScript</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="Aaron Boodman">aa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>brettw</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dimich</cc>
    
    <cc>fishd</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>120368</commentid>
    <comment_count>0</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2009-05-07 17:26:17 -0700</bug_when>
    <thetext>Right now, in the Chromium port, there is ScriptController::retrieveActiveFrame(), which retrieves the WebCore Frame corresponding to the JS code at the bottom of the execution stack. We sometimes also need to get the Frame corresponding to the code at the top of execution stack, which can be different.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120369</commentid>
    <comment_count>1</comment_count>
      <attachid>30119</attachid>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2009-05-07 17:31:53 -0700</bug_when>
    <thetext>Created attachment 30119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120370</commentid>
    <comment_count>2</comment_count>
      <attachid>30120</attachid>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2009-05-07 17:33:57 -0700</bug_when>
    <thetext>Created attachment 30120
Fix formatting and other issues in ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120460</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-08 13:41:38 -0700</bug_when>
    <thetext>We almost always want the bottom of the stack.  Why do we want to the top of the stack in these cases?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120462</commentid>
    <comment_count>4</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2009-05-08 13:50:50 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; We almost always want the bottom of the stack.  Why do we want to the top of
&gt; the stack in these cases?

You can check out the related Chromium change. When an Extension API is called, we want to know which frame invoked it so that we can be more intelligent with the behavior of APIs based on what RenderView they came from.

For example: we have a createWindow() API. We want the new window be positioned relative to the window the API call originated from. In order to know which window the call originated from, we need to know which renderview it originated from. Since JavaScript calls can traverse frame boundaries, the bottom of the stack can give the wrong answer.

An easy example of this is the inspector. You can call chromium.windows.create() from the inspector. We want the new window to be positioned relative to the window you&apos;re inspecting, not the inspector window.

But there are other examples.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120463</commentid>
    <comment_count>5</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2009-05-08 13:53:21 -0700</bug_when>
    <thetext>Here&apos;s the related Chromium change:
http://codereview.chromium.org/113085</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120468</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-08 14:16:36 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; You can check out the related Chromium change. When an Extension API is called,
&gt; we want to know which frame invoked it so that we can be more intelligent with
&gt; the behavior of APIs based on what RenderView they came from.

I don&apos;t understand why the extension case differs from the general web case.

&gt; An easy example of this is the inspector. You can call
&gt; chromium.windows.create() from the inspector. We want the new window to be
&gt; positioned relative to the window you&apos;re inspecting, not the inspector window.

The context for evaluating scripts in the web inspect is all screwed up.  I don&apos;t think we should bend the web platform to fix the needs of the inspector.

The thing is, a bunch of these changes violate the HTML 5 spec.  For example, the change to postMessage means that the source would be determined via dynamic scope instead of via lexical scope, as required by the spec.

Similarly, in DOMWindowOpen and WindowSetLocation, you&apos;re now applying the frame navigation policy (shouldAllowNavigation) based on dynamic scope instead of lexical scope, in violation of the spec and the behavior of other browsers.

The changes to HTMLDocumentWrite and HTMLDocumentWriteln change our behavior when using these APIs.  Have you tested this to see whether this makes us more or less compatible with other browsers?  I suspect it makes use less compatible.

Basically, I don&apos;t think its a good idea to subtly change a bunch of behavior for &quot;consistency&quot; without considering the compatibility and compliance issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120473</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-08 15:05:56 -0700</bug_when>
    <thetext>I spoke with Aaron on #webkit.  I mistakenly thought this patch was changing our behavior.  I think we just have lots of bugs in this department.

We should change the V8 bindings to match the JSC bindings in where we use the lexical or dynamic global object, but we can do that in a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120474</commentid>
    <comment_count>8</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2009-05-08 15:12:20 -0700</bug_when>
    <thetext>Adding a larger group of Chromium reviewers, hoping that somebody can give this an r+.

To clarify, this change does not change behavior. It&apos;s just adding a new method and renaming an existing one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120475</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-08 15:14:07 -0700</bug_when>
    <thetext>Yes.  Please disregard my comment #6.  That&apos;s a bug for another day.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120726</commentid>
    <comment_count>10</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-05-11 14:32:02 -0700</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/43512.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120728</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-11 14:40:50 -0700</bug_when>
    <thetext>Follow up filed as https://bugs.webkit.org/show_bug.cgi?id=25706</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30119</attachid>
            <date>2009-05-07 17:31:53 -0700</date>
            <delta_ts>2009-05-07 17:33:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>25634.patch</filename>
            <type>text/plain</type>
            <size>6315</size>
            <attacher name="Aaron Boodman">aa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MzM3NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMDktMDUtMDcgIEFhcm9uIEJvb2RtYW4gIDxhYUBjaHJvbWl1bS5v
cmc+CisgICAgICAgIENoYW5nZSBWOFByb3h5OjpyZXRyaWV2ZUFjdGl2ZUZyYW1lKCkgY2FsbCBz
aXRlcyB0byBWOFByb3h5OjpyZXRyaWV2ZUZyYW1lRm9yRW50ZXJlZENvbnRleHQoKS4KKworCUFs
c28sIGNoYW5nZSBpbnN0YW5jZXMgb2YgU2NyaXB0Q29udHJvbGxlcjo6cmV0cmlldmVBY3RpdmVG
cmFtZSgpIHRvCisJVjg6OnJldHJpZXZlRnJhbWVGb3JFbnRlcmVkQ29udGV4dCgpIGZvciBjb25z
aXN0ZW5jeS4KKworCVNlZSBodHRwOi8vY29kZXJldmlldy5jaHJvbWl1bS5vcmcvMTEzMDg1IGZv
ciB0aGUgY29ycmVzcG9uZGluZyBDaHJvbWl1bSBjaGFuZ2UuCisJCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdBUk5JTkc6IE5PIFRFU1QgQ0FTRVMgQURE
RUQgT1IgQ0hBTkdFRAorCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNBTExCQUNLX0ZVTkNfREVDTCk6CisgICAg
ICAgIChXZWJDb3JlOjphbGxvd1BvcFVwKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVdpbmRv
dyk6CisgICAgICAgIChXZWJDb3JlOjpWOEN1c3RvbTo6V2luZG93U2V0TG9jYXRpb24pOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDQUxMQkFDS19GVU5DX0RFQ0wpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOExvY2F0aW9uQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5hdmlnYXRl
SWZBbGxvd2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkFDQ0VTU09SX1NFVFRFUik6CisgICAgICAg
IChXZWJDb3JlOjpDQUxMQkFDS19GVU5DX0RFQ0wpOgorCiAyMDA5LTA1LTA3ICBEbWl0cnkgVGl0
b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEF0dGVtcHQgdG8gZml4IEdUSyBi
dWlsZC4KSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9t
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRv
d0N1c3RvbS5jcHAJKHJldmlzaW9uIDQzMzc3KQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhET01XaW5kb3dDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsNyArMTcyLDcg
QEAgQ0FMTEJBQ0tfRlVOQ19ERUNMKERPTVdpbmRvd1Bvc3RNZXNzYWdlKQogICAgIElOQ19TVEFU
UygiRE9NLkRPTVdpbmRvdy5wb3N0TWVzc2FnZSgpIik7CiAgICAgRE9NV2luZG93KiB3aW5kb3cg
PSBWOFByb3h5OjpUb05hdGl2ZU9iamVjdDxET01XaW5kb3c+KFY4Q2xhc3NJbmRleDo6RE9NV0lO
RE9XLCBhcmdzLkhvbGRlcigpKTsKIAotICAgIERPTVdpbmRvdyogc291cmNlID0gVjhQcm94eTo6
cmV0cmlldmVBY3RpdmVGcmFtZSgpLT5kb21XaW5kb3coKTsKKyAgICBET01XaW5kb3cqIHNvdXJj
ZSA9IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JFbnRlcmVkQ29udGV4dCgpLT5kb21XaW5kb3co
KTsKICAgICBBU1NFUlQoc291cmNlLT5mcmFtZSgpKTsKIAogICAgIFN0cmluZyB1cmkgPSBzb3Vy
Y2UtPmZyYW1lKCktPmxvYWRlcigpLT51cmwoKS5zdHJpbmcoKTsKQEAgLTIxNiw3ICsyMTYsNyBA
QCBzdGF0aWMgYm9vbCBjYW5TaG93TW9kYWxEaWFsb2dOb3coY29uc3QgCiAKIHN0YXRpYyBib29s
IGFsbG93UG9wVXAoKQogewotICAgIEZyYW1lKiBmcmFtZSA9IFY4UHJveHk6OnJldHJpZXZlQWN0
aXZlRnJhbWUoKTsKKyAgICBGcmFtZSogZnJhbWUgPSBWOFByb3h5OjpyZXRyaWV2ZUZyYW1lRm9y
RW50ZXJlZENvbnRleHQoKTsKIAogICAgIEFTU0VSVChmcmFtZSk7CiAgICAgaWYgKGZyYW1lLT5z
Y3JpcHQoKS0+cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpCkBAIC0yNjMsNyArMjYzLDcgQEAgc3Rh
dGljIEZyYW1lKiBjcmVhdGVXaW5kb3coRnJhbWUqIG9wZW5lcgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgV2luZG93RmVhdHVyZXMmIHdpbmRvd0ZlYXR1cmVzLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gZGlhbG9nQXJncykKIHsKLSAg
ICBGcmFtZSogYWN0aXZlRnJhbWUgPSBWOFByb3h5OjpyZXRyaWV2ZUFjdGl2ZUZyYW1lKCk7Cisg
ICAgRnJhbWUqIGFjdGl2ZUZyYW1lID0gVjhQcm94eTo6cmV0cmlldmVGcmFtZUZvckVudGVyZWRD
b250ZXh0KCk7CiAKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdDsKICAgICBpZiAoYWN0aXZl
RnJhbWUpCkBAIC00MDcsNyArNDA3LDcgQEAgQ0FMTEJBQ0tfRlVOQ19ERUNMKERPTVdpbmRvd09w
ZW4pCiAgICAgaWYgKCFWOFByb3h5OjpDYW5BY2Nlc3NGcmFtZShmcmFtZSwgdHJ1ZSkpCiAgICAg
ICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogCi0gICAgRnJhbWUqIGFjdGl2ZUZyYW1lID0gVjhQ
cm94eTo6cmV0cmlldmVBY3RpdmVGcmFtZSgpOworICAgIEZyYW1lKiBhY3RpdmVGcmFtZSA9IFY4
UHJveHk6OnJldHJpZXZlRnJhbWVGb3JFbnRlcmVkQ29udGV4dCgpOwogICAgIGlmICghYWN0aXZl
RnJhbWUpCiAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogCkBAIC01ODcsNyArNTg3LDcg
QEAgdm9pZCBWOEN1c3RvbTo6V2luZG93U2V0TG9jYXRpb24oRE9NV2luZAogICAgIGlmICghd2lu
ZG93LT5mcmFtZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBGcmFtZSogYWN0aXZlRnJhbWUg
PSBTY3JpcHRDb250cm9sbGVyOjpyZXRyaWV2ZUFjdGl2ZUZyYW1lKCk7CisgICAgRnJhbWUqIGFj
dGl2ZUZyYW1lID0gVjhQcm94eTo6cmV0cmlldmVGcmFtZUZvckVudGVyZWRDb250ZXh0KCk7CiAg
ICAgaWYgKCFhY3RpdmVGcmFtZSkKICAgICAgICAgcmV0dXJuOwogCkluZGV4OiBXZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwCShyZXZp
c2lvbiA0MzM3NykKKysrIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50
Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE4LDcgKzExOCw3IEBAIENBTExCQUNLX0ZV
TkNfREVDTChIVE1MRG9jdW1lbnRXcml0ZSkKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5IVE1MRG9j
dW1lbnQud3JpdGUoKSIpOwogICAgIEhUTUxEb2N1bWVudCogaHRtbERvY3VtZW50ID0gVjhQcm94
eTo6RE9NV3JhcHBlclRvTm9kZTxIVE1MRG9jdW1lbnQ+KGFyZ3MuSG9sZGVyKCkpOwotICAgIEZy
YW1lKiBmcmFtZSA9IFY4UHJveHk6OnJldHJpZXZlQWN0aXZlRnJhbWUoKTsKKyAgICBGcmFtZSog
ZnJhbWUgPSBWOFByb3h5OjpyZXRyaWV2ZUZyYW1lRm9yRW50ZXJlZENvbnRleHQoKTsKICAgICBB
U1NFUlQoZnJhbWUpOwogICAgIGh0bWxEb2N1bWVudC0+d3JpdGUod3JpdGVIZWxwZXJHZXRTdHJp
bmcoYXJncyksIGZyYW1lLT5kb2N1bWVudCgpKTsKICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgp
OwpAQCAtMTI4LDcgKzEyOCw3IEBAIENBTExCQUNLX0ZVTkNfREVDTChIVE1MRG9jdW1lbnRXcml0
ZWxuKQogewogICAgIElOQ19TVEFUUygiRE9NLkhUTUxEb2N1bWVudC53cml0ZWxuKCkiKTsKICAg
ICBIVE1MRG9jdW1lbnQqIGh0bWxEb2N1bWVudCA9IFY4UHJveHk6OkRPTVdyYXBwZXJUb05vZGU8
SFRNTERvY3VtZW50PihhcmdzLkhvbGRlcigpKTsKLSAgICBGcmFtZSogZnJhbWUgPSBWOFByb3h5
OjpyZXRyaWV2ZUFjdGl2ZUZyYW1lKCk7CisgICAgRnJhbWUqIGZyYW1lID0gVjhQcm94eTo6cmV0
cmlldmVGcmFtZUZvckVudGVyZWRDb250ZXh0KCk7CiAgICAgQVNTRVJUKGZyYW1lKTsKICAgICBo
dG1sRG9jdW1lbnQtPndyaXRlbG4od3JpdGVIZWxwZXJHZXRTdHJpbmcoYXJncyksIGZyYW1lLT5k
b2N1bWVudCgpKTsKICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwpAQCAtMTY4LDcgKzE2OCw3
IEBAIENBTExCQUNLX0ZVTkNfREVDTChIVE1MRG9jdW1lbnRPcGVuKQogICAgICAgICB9CiAgICAg
fQogCi0gICAgRnJhbWUqIGZyYW1lID0gVjhQcm94eTo6cmV0cmlldmVBY3RpdmVGcmFtZSgpOwor
ICAgIEZyYW1lKiBmcmFtZSA9IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JFbnRlcmVkQ29udGV4
dCgpOwogICAgIGh0bWxEb2N1bWVudC0+b3BlbihmcmFtZS0+ZG9jdW1lbnQoKSk7CiAgICAgLy8g
UmV0dXJuIHRoZSBkb2N1bWVudC4KICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKSW5kZXg6IFdl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0b20uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0b20uY3BwCShyZXZp
c2lvbiA0MzM3NykKKysrIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0
b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Miw3ICs2Miw3IEBAIHN0YXRpYyB2b2lkIG5hdmln
YXRlSWZBbGxvd2VkKEZyYW1lKiBmcmEKICAgICBpZiAodXJsLmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgRnJhbWUqIGFjdGl2ZUZyYW1lID0gU2NyaXB0Q29udHJvbGxlcjo6cmV0
cmlldmVBY3RpdmVGcmFtZSgpOworICAgIEZyYW1lKiBhY3RpdmVGcmFtZSA9IFY4UHJveHk6OnJl
dHJpZXZlRnJhbWVGb3JFbnRlcmVkQ29udGV4dCgpOwogICAgIGlmICghYWN0aXZlRnJhbWUpCiAg
ICAgICAgIHJldHVybjsKIApAQCAtMTQzLDcgKzE0Myw3IEBAIEFDQ0VTU09SX1NFVFRFUihMb2Nh
dGlvbkhyZWYpCiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgRnJhbWUq
IGFjdGl2ZUZyYW1lID0gU2NyaXB0Q29udHJvbGxlcjo6cmV0cmlldmVBY3RpdmVGcmFtZSgpOwor
ICAgIEZyYW1lKiBhY3RpdmVGcmFtZSA9IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JFbnRlcmVk
Q29udGV4dCgpOwogICAgIGlmICghYWN0aXZlRnJhbWUpCiAgICAgICAgIHJldHVybjsKIApAQCAt
Mjg4LDcgKzI4OCw3IEBAIENBTExCQUNLX0ZVTkNfREVDTChMb2NhdGlvblJlbG9hZCkKICAgICBp
ZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogCi0gICAgRnJhbWUq
IGFjdGl2ZUZyYW1lID0gU2NyaXB0Q29udHJvbGxlcjo6cmV0cmlldmVBY3RpdmVGcmFtZSgpOwor
ICAgIEZyYW1lKiBhY3RpdmVGcmFtZSA9IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JFbnRlcmVk
Q29udGV4dCgpOwogICAgIGlmICghYWN0aXZlRnJhbWUpCiAgICAgICAgIHJldHVybiB2ODo6VW5k
ZWZpbmVkKCk7CiAKQEAgLTMxMSw3ICszMTEsNyBAQCBDQUxMQkFDS19GVU5DX0RFQ0woTG9jYXRp
b25SZXBsYWNlKQogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVk
KCk7CiAKLSAgICBGcmFtZSogYWN0aXZlRnJhbWUgPSBTY3JpcHRDb250cm9sbGVyOjpyZXRyaWV2
ZUFjdGl2ZUZyYW1lKCk7CisgICAgRnJhbWUqIGFjdGl2ZUZyYW1lID0gVjhQcm94eTo6cmV0cmll
dmVGcmFtZUZvckVudGVyZWRDb250ZXh0KCk7CiAgICAgaWYgKCFhY3RpdmVGcmFtZSkKICAgICAg
ICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKIApAQCAtMzMzLDcgKzMzMyw3IEBAIENBTExCQUNL
X0ZVTkNfREVDTChMb2NhdGlvbkFzc2lnbikKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1
cm4gdjg6OlVuZGVmaW5lZCgpOwogCi0gICAgRnJhbWUqIGFjdGl2ZUZyYW1lID0gU2NyaXB0Q29u
dHJvbGxlcjo6cmV0cmlldmVBY3RpdmVGcmFtZSgpOworICAgIEZyYW1lKiBhY3RpdmVGcmFtZSA9
IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JFbnRlcmVkQ29udGV4dCgpOwogICAgIGlmICghYWN0
aXZlRnJhbWUpCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30120</attachid>
            <date>2009-05-07 17:33:57 -0700</date>
            <delta_ts>2009-05-08 15:56:43 -0700</delta_ts>
            <desc>Fix formatting and other issues in ChangeLog</desc>
            <filename>25634.patch</filename>
            <type>text/plain</type>
            <size>6287</size>
            <attacher name="Aaron Boodman">aa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MzM3NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMDUtMDcgIEFhcm9uIEJvb2RtYW4gIDxhYUBjaHJvbWl1bS5v
cmc+CisgICAgICAgIENoYW5nZSBWOFByb3h5OjpyZXRyaWV2ZUFjdGl2ZUZyYW1lKCkgY2FsbCBz
aXRlcyB0byBWOFByb3h5OjpyZXRyaWV2ZUZyYW1lRm9yRW50ZXJlZENvbnRleHQoKS4KKworICAg
ICAgICBBbHNvLCBjaGFuZ2UgaW5zdGFuY2VzIG9mIFNjcmlwdENvbnRyb2xsZXI6OnJldHJpZXZl
QWN0aXZlRnJhbWUoKSB0bworICAgICAgICBWODo6cmV0cmlldmVGcmFtZUZvckVudGVyZWRDb250
ZXh0KCkgZm9yIGNvbnNpc3RlbmN5LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNTYzNAorCisgICAgICAgIFNlZSBodHRwOi8vY29kZXJldmlldy5j
aHJvbWl1bS5vcmcvMTEzMDg1IGZvciB0aGUgY29ycmVzcG9uZGluZyBDaHJvbWl1bSBjaGFuZ2Uu
CisJCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdBUk5J
Tkc6IE5PIFRFU1QgQ0FTRVMgQURERUQgT1IgQ0hBTkdFRAorCisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4Q3Vz
dG9tOjpXaW5kb3dTZXRMb2NhdGlvbik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SFRNTERvY3VtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNBTExCQUNLX0ZVTkNf
REVDTCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6bmF2aWdhdGVJZkFsbG93ZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6QUNDRVNTT1JfU0VUVEVSKToKKyAgICAgICAgKFdlYkNvcmU6OkNBTExCQUNLX0ZVTkNfREVD
TCk6CisKIDIwMDktMDUtMDcgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgQXR0ZW1wdCB0byBmaXggR1RLIGJ1aWxkLgpJbmRleDogV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAkocmV2aXNpb24gNDMzNzcp
CisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3Miw3ICsxNzIsNyBAQCBDQUxMQkFDS19GVU5DX0RFQ0woRE9NV2lu
ZG93UG9zdE1lc3NhZ2UpCiAgICAgSU5DX1NUQVRTKCJET00uRE9NV2luZG93LnBvc3RNZXNzYWdl
KCkiKTsKICAgICBET01XaW5kb3cqIHdpbmRvdyA9IFY4UHJveHk6OlRvTmF0aXZlT2JqZWN0PERP
TVdpbmRvdz4oVjhDbGFzc0luZGV4OjpET01XSU5ET1csIGFyZ3MuSG9sZGVyKCkpOwogCi0gICAg
RE9NV2luZG93KiBzb3VyY2UgPSBWOFByb3h5OjpyZXRyaWV2ZUFjdGl2ZUZyYW1lKCktPmRvbVdp
bmRvdygpOworICAgIERPTVdpbmRvdyogc291cmNlID0gVjhQcm94eTo6cmV0cmlldmVGcmFtZUZv
ckVudGVyZWRDb250ZXh0KCktPmRvbVdpbmRvdygpOwogICAgIEFTU0VSVChzb3VyY2UtPmZyYW1l
KCkpOwogCiAgICAgU3RyaW5nIHVyaSA9IHNvdXJjZS0+ZnJhbWUoKS0+bG9hZGVyKCktPnVybCgp
LnN0cmluZygpOwpAQCAtMjE2LDcgKzIxNiw3IEBAIHN0YXRpYyBib29sIGNhblNob3dNb2RhbERp
YWxvZ05vdyhjb25zdCAKIAogc3RhdGljIGJvb2wgYWxsb3dQb3BVcCgpCiB7Ci0gICAgRnJhbWUq
IGZyYW1lID0gVjhQcm94eTo6cmV0cmlldmVBY3RpdmVGcmFtZSgpOworICAgIEZyYW1lKiBmcmFt
ZSA9IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JFbnRlcmVkQ29udGV4dCgpOwogCiAgICAgQVNT
RVJUKGZyYW1lKTsKICAgICBpZiAoZnJhbWUtPnNjcmlwdCgpLT5wcm9jZXNzaW5nVXNlckdlc3R1
cmUoKSkKQEAgLTI2Myw3ICsyNjMsNyBAQCBzdGF0aWMgRnJhbWUqIGNyZWF0ZVdpbmRvdyhGcmFt
ZSogb3BlbmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXaW5kb3dGZWF0dXJl
cyYgd2luZG93RmVhdHVyZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8
djg6OlZhbHVlPiBkaWFsb2dBcmdzKQogewotICAgIEZyYW1lKiBhY3RpdmVGcmFtZSA9IFY4UHJv
eHk6OnJldHJpZXZlQWN0aXZlRnJhbWUoKTsKKyAgICBGcmFtZSogYWN0aXZlRnJhbWUgPSBWOFBy
b3h5OjpyZXRyaWV2ZUZyYW1lRm9yRW50ZXJlZENvbnRleHQoKTsKIAogICAgIFJlc291cmNlUmVx
dWVzdCByZXF1ZXN0OwogICAgIGlmIChhY3RpdmVGcmFtZSkKQEAgLTQwNyw3ICs0MDcsNyBAQCBD
QUxMQkFDS19GVU5DX0RFQ0woRE9NV2luZG93T3BlbikKICAgICBpZiAoIVY4UHJveHk6OkNhbkFj
Y2Vzc0ZyYW1lKGZyYW1lLCB0cnVlKSkKICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAK
LSAgICBGcmFtZSogYWN0aXZlRnJhbWUgPSBWOFByb3h5OjpyZXRyaWV2ZUFjdGl2ZUZyYW1lKCk7
CisgICAgRnJhbWUqIGFjdGl2ZUZyYW1lID0gVjhQcm94eTo6cmV0cmlldmVGcmFtZUZvckVudGVy
ZWRDb250ZXh0KCk7CiAgICAgaWYgKCFhY3RpdmVGcmFtZSkKICAgICAgIHJldHVybiB2ODo6VW5k
ZWZpbmVkKCk7CiAKQEAgLTU4Nyw3ICs1ODcsNyBAQCB2b2lkIFY4Q3VzdG9tOjpXaW5kb3dTZXRM
b2NhdGlvbihET01XaW5kCiAgICAgaWYgKCF3aW5kb3ctPmZyYW1lKCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIEZyYW1lKiBhY3RpdmVGcmFtZSA9IFNjcmlwdENvbnRyb2xsZXI6OnJldHJpZXZl
QWN0aXZlRnJhbWUoKTsKKyAgICBGcmFtZSogYWN0aXZlRnJhbWUgPSBWOFByb3h5OjpyZXRyaWV2
ZUZyYW1lRm9yRW50ZXJlZENvbnRleHQoKTsKICAgICBpZiAoIWFjdGl2ZUZyYW1lKQogICAgICAg
ICByZXR1cm47CiAKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3Vt
ZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEhUTUxEb2N1bWVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDQzMzc3KQorKysgV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTgsNyArMTE4LDcgQEAgQ0FMTEJBQ0tfRlVOQ19ERUNMKEhUTUxEb2N1bWVudFdyaXRlKQog
ewogICAgIElOQ19TVEFUUygiRE9NLkhUTUxEb2N1bWVudC53cml0ZSgpIik7CiAgICAgSFRNTERv
Y3VtZW50KiBodG1sRG9jdW1lbnQgPSBWOFByb3h5OjpET01XcmFwcGVyVG9Ob2RlPEhUTUxEb2N1
bWVudD4oYXJncy5Ib2xkZXIoKSk7Ci0gICAgRnJhbWUqIGZyYW1lID0gVjhQcm94eTo6cmV0cmll
dmVBY3RpdmVGcmFtZSgpOworICAgIEZyYW1lKiBmcmFtZSA9IFY4UHJveHk6OnJldHJpZXZlRnJh
bWVGb3JFbnRlcmVkQ29udGV4dCgpOwogICAgIEFTU0VSVChmcmFtZSk7CiAgICAgaHRtbERvY3Vt
ZW50LT53cml0ZSh3cml0ZUhlbHBlckdldFN0cmluZyhhcmdzKSwgZnJhbWUtPmRvY3VtZW50KCkp
OwogICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CkBAIC0xMjgsNyArMTI4LDcgQEAgQ0FMTEJB
Q0tfRlVOQ19ERUNMKEhUTUxEb2N1bWVudFdyaXRlbG4pCiB7CiAgICAgSU5DX1NUQVRTKCJET00u
SFRNTERvY3VtZW50LndyaXRlbG4oKSIpOwogICAgIEhUTUxEb2N1bWVudCogaHRtbERvY3VtZW50
ID0gVjhQcm94eTo6RE9NV3JhcHBlclRvTm9kZTxIVE1MRG9jdW1lbnQ+KGFyZ3MuSG9sZGVyKCkp
OwotICAgIEZyYW1lKiBmcmFtZSA9IFY4UHJveHk6OnJldHJpZXZlQWN0aXZlRnJhbWUoKTsKKyAg
ICBGcmFtZSogZnJhbWUgPSBWOFByb3h5OjpyZXRyaWV2ZUZyYW1lRm9yRW50ZXJlZENvbnRleHQo
KTsKICAgICBBU1NFUlQoZnJhbWUpOwogICAgIGh0bWxEb2N1bWVudC0+d3JpdGVsbih3cml0ZUhl
bHBlckdldFN0cmluZyhhcmdzKSwgZnJhbWUtPmRvY3VtZW50KCkpOwogICAgIHJldHVybiB2ODo6
VW5kZWZpbmVkKCk7CkBAIC0xNjgsNyArMTY4LDcgQEAgQ0FMTEJBQ0tfRlVOQ19ERUNMKEhUTUxE
b2N1bWVudE9wZW4pCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBGcmFtZSogZnJhbWUgPSBWOFBy
b3h5OjpyZXRyaWV2ZUFjdGl2ZUZyYW1lKCk7CisgICAgRnJhbWUqIGZyYW1lID0gVjhQcm94eTo6
cmV0cmlldmVGcmFtZUZvckVudGVyZWRDb250ZXh0KCk7CiAgICAgaHRtbERvY3VtZW50LT5vcGVu
KGZyYW1lLT5kb2N1bWVudCgpKTsKICAgICAvLyBSZXR1cm4gdGhlIGRvY3VtZW50LgogICAgIHJl
dHVybiBhcmdzLkhvbGRlcigpOwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhM
b2NhdGlvbkN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhMb2NhdGlvbkN1c3RvbS5jcHAJKHJldmlzaW9uIDQzMzc3KQorKysgV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhMb2NhdGlvbkN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYy
LDcgKzYyLDcgQEAgc3RhdGljIHZvaWQgbmF2aWdhdGVJZkFsbG93ZWQoRnJhbWUqIGZyYQogICAg
IGlmICh1cmwuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBGcmFtZSogYWN0aXZl
RnJhbWUgPSBTY3JpcHRDb250cm9sbGVyOjpyZXRyaWV2ZUFjdGl2ZUZyYW1lKCk7CisgICAgRnJh
bWUqIGFjdGl2ZUZyYW1lID0gVjhQcm94eTo6cmV0cmlldmVGcmFtZUZvckVudGVyZWRDb250ZXh0
KCk7CiAgICAgaWYgKCFhY3RpdmVGcmFtZSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xNDMsNyAr
MTQzLDcgQEAgQUNDRVNTT1JfU0VUVEVSKExvY2F0aW9uSHJlZikKICAgICBpZiAoIWZyYW1lKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBGcmFtZSogYWN0aXZlRnJhbWUgPSBTY3JpcHRDb250cm9s
bGVyOjpyZXRyaWV2ZUFjdGl2ZUZyYW1lKCk7CisgICAgRnJhbWUqIGFjdGl2ZUZyYW1lID0gVjhQ
cm94eTo6cmV0cmlldmVGcmFtZUZvckVudGVyZWRDb250ZXh0KCk7CiAgICAgaWYgKCFhY3RpdmVG
cmFtZSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0yODgsNyArMjg4LDcgQEAgQ0FMTEJBQ0tfRlVO
Q19ERUNMKExvY2F0aW9uUmVsb2FkKQogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiB2
ODo6VW5kZWZpbmVkKCk7CiAKLSAgICBGcmFtZSogYWN0aXZlRnJhbWUgPSBTY3JpcHRDb250cm9s
bGVyOjpyZXRyaWV2ZUFjdGl2ZUZyYW1lKCk7CisgICAgRnJhbWUqIGFjdGl2ZUZyYW1lID0gVjhQ
cm94eTo6cmV0cmlldmVGcmFtZUZvckVudGVyZWRDb250ZXh0KCk7CiAgICAgaWYgKCFhY3RpdmVG
cmFtZSkKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKIApAQCAtMzExLDcgKzMxMSw3
IEBAIENBTExCQUNLX0ZVTkNfREVDTChMb2NhdGlvblJlcGxhY2UpCiAgICAgaWYgKCFmcmFtZSkK
ICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKIAotICAgIEZyYW1lKiBhY3RpdmVGcmFt
ZSA9IFNjcmlwdENvbnRyb2xsZXI6OnJldHJpZXZlQWN0aXZlRnJhbWUoKTsKKyAgICBGcmFtZSog
YWN0aXZlRnJhbWUgPSBWOFByb3h5OjpyZXRyaWV2ZUZyYW1lRm9yRW50ZXJlZENvbnRleHQoKTsK
ICAgICBpZiAoIWFjdGl2ZUZyYW1lKQogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwog
CkBAIC0zMzMsNyArMzMzLDcgQEAgQ0FMTEJBQ0tfRlVOQ19ERUNMKExvY2F0aW9uQXNzaWduKQog
ICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAKLSAgICBG
cmFtZSogYWN0aXZlRnJhbWUgPSBTY3JpcHRDb250cm9sbGVyOjpyZXRyaWV2ZUFjdGl2ZUZyYW1l
KCk7CisgICAgRnJhbWUqIGFjdGl2ZUZyYW1lID0gVjhQcm94eTo6cmV0cmlldmVGcmFtZUZvckVu
dGVyZWRDb250ZXh0KCk7CiAgICAgaWYgKCFhY3RpdmVGcmFtZSkKICAgICAgICAgcmV0dXJuIHY4
OjpVbmRlZmluZWQoKTsKIAo=
</data>
<flag name="review"
          id="15129"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>