<?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>53191</bug_id>
          
          <creation_ts>2011-01-26 13:50:52 -0800</creation_ts>
          <short_desc>showModalDialog does not correctly return the defined returnValue in case domain relaxing is used</short_desc>
          <delta_ts>2011-08-24 15:37:36 -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>Mac</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>66749</dependson>
    
    <dependson>66894</dependson>
    
    <dependson>66895</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent">brentm00</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>340444</commentid>
    <comment_count>0</comment_count>
      <attachid>80230</attachid>
    <who name="Brent">brentm00</who>
    <bug_when>2011-01-26 13:50:52 -0800</bug_when>
    <thetext>Created attachment 80230
Sample web pages/scripts to reproduce

showModalDialog does not correctly return the defined returnValue in case domain relaxing is used, even if the opener window and the modal dialog content are properly set to the same domain. 

Ver: 534.17+

In some web applications content from different systems are embedded inside of iframes and need to communicate with each other, so it is common to have domain relaxing enabled, to allow JavaScript communication across the iframes.

We discovered that showModalDialog does not correctly return the defined returnValue in case domain relaxing is used, even if the opener window and the modal dialog content are properly set to the same domain.

Prerequisites to reproduce the issue:
1. Copy the modaldialog-folder containing the three files index.html, dialogbroken.html and dialogworkaround.html to a local webserver

2. Add the following line to your /etc/hosts 
127.0.0.1	localhost.test.domain

3.Disable the proxy server in the browser (if any)


Steps to reproduce:
1. Open WebKit and load the page from your server using http://localhost/modaldialog/
2. Click on &quot;Open modal dialog&quot;
3. Click on &quot;Close and return TEST&quot;
4. The alert-window shows the proper return value &quot;TEST&quot;
5. Now change the URL to http://localhost.test.domain/modaldialog/
6. Click on &quot;Open modal dialog&quot; again
7. Click on &quot;Close and return TEST&quot;

The alert-window now returns &quot;undefined&quot; instead of &quot;TEST&quot;

As a workaround it is possible to store the return value in the parent window, which can be accessed using window.opener, and to adapt the code which reads the return value accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356586</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-23 17:34:09 -0800</bug_when>
    <thetext>&lt;rdar://problem/8629478&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452742</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-17 17:05:09 -0700</bug_when>
    <thetext>Moreover, dialogArguments variable isn&apos;t available in modal dialog in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455046</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-22 16:33:11 -0700</bug_when>
    <thetext>&gt; Moreover, dialogArguments variable isn&apos;t available in modal dialog in this case.

OK, that doesn&apos;t work in Firefox or IE either. Makes sense, since the engine doesn&apos;t yet know if the dialog is going to use domain relaxing, and passing data cross origin is not allowed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455070</commentid>
    <comment_count>4</comment_count>
      <attachid>104766</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-22 17:02:03 -0700</bug_when>
    <thetext>Created attachment 104766
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455075</commentid>
    <comment_count>5</comment_count>
      <attachid>104769</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-22 17:12:08 -0700</bug_when>
    <thetext>Created attachment 104769
proposed fix

Changed to actually successfully print an error message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455087</commentid>
    <comment_count>6</comment_count>
      <attachid>104769</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-08-22 17:32:34 -0700</bug_when>
    <thetext>Comment on attachment 104769
proposed fix

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

r=me with those changes

&gt; Source/WebCore/ChangeLog:19
&gt; +        dismissed. A dialog can navigate itself, and it also creates a new JSDOMWindow on firt load

s/firt/first/

&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:678
&gt; +    JSDOMWindow* globalObject = toJSDOMWindow(m_frame.get(), normalWorld(m_exec-&gt;globalData()));
&gt; +    if (!globalObject)
&gt; +        return jsUndefined();
&gt; +    if (!asJSDOMWindow(m_exec-&gt;lexicalGlobalObject())-&gt;allowsAccessFrom(globalObject-&gt;globalExec()))
&gt;          return jsUndefined();
&gt;      Identifier identifier(m_exec, &quot;returnValue&quot;);
&gt;      PropertySlot slot;
&gt; -    if (!m_globalObject-&gt;JSGlobalObject::getOwnPropertySlot(m_exec, identifier, slot))
&gt; +    if (!globalObject-&gt;JSGlobalObject::getOwnPropertySlot(m_exec, identifier, slot))

There&apos;s no need to do this allowsAccessFrom check ourselves; it&apos;s built into the window object. Just call the normal getOwnPropertySlot, instead of skipping window checks by calling JSGlobalObject::getOwnPropertySlot directly.

By the way, make sure to call out this additional security check in your ChangeLog, and explain why you added it (to match Firefox).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455109</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-22 17:44:08 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/93567&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456420</commentid>
    <comment_count>8</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-08-24 14:42:37 -0700</bug_when>
    <thetext>This broke a GTK+ API test. Our DOM objects from the GObject bindings are not being collected anymore, since we don&apos;t get a frame destruction notification when doing: create view, get refs to DOM objects, destroy view. I guess this is because of the keepAlive() call added to pageDestroyed... not sure if the bug is ours or not, but in any case this has changed behavior without adding new tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456434</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-24 14:51:54 -0700</bug_when>
    <thetext>The keepAlive call was always there, just called indirectly.

It&apos;s quite possible that there is a real bug introduced here, and one that affects platforms other than Gtk, but since the only known change is on Gtk, it&apos;s not practical for me to investigate what&apos;s going on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456476</commentid>
    <comment_count>10</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-08-24 15:37:36 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; The keepAlive call was always there, just called indirectly.

keepAlive() is only called for the JS bindings. Our unit tests do not have any JS, so that&apos;s likely the reason they broke (since they never had the keepAlive() call in the first place).

&gt; 
&gt; It&apos;s quite possible that there is a real bug introduced here, and one that affects platforms other than Gtk, but since the only known change is on Gtk, it&apos;s not practical for me to investigate what&apos;s going on.

I guess this might or might not affect other !JS bindings, but not sure.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>80230</attachid>
            <date>2011-01-26 13:50:52 -0800</date>
            <delta_ts>2011-01-26 13:50:52 -0800</delta_ts>
            <desc>Sample web pages/scripts to reproduce</desc>
            <filename>modaldialog.zip</filename>
            <type>application/zip</type>
            <size>2543</size>
            <attacher name="Brent">brentm00</attacher>
            
              <data encoding="base64">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
QE15lUBN9QEUAGNgFWNnYGJg8E1MVvAPVohQgAKQGAMnEBsBcScQg/i7GYgCjiEhQYwFlx9BdcwA
YmU0JYwIcdHk/Fy93MTkovzcxJLUYr3kxKLUEoZqLpArkvNzSnPzFGwVDE2twQI5mXmpQK6xpTVX
LQBQSwcIa1HB2moAAAC7AAAAUEsBAhUDCgAAAAAAyWlcPQAAAAAAAAAAAAAAAAwADAAAAAAAAAAA
QO1BAAAAAG1vZGFsZGlhbG9nL1VYCAB6vclMer3JTFBLAQIVAxQACAAIAGNrXD0C6nSzsQAAAA0B
AAAdAAwAAAAAAAAAAEDtgToAAABtb2RhbGRpYWxvZy9kaWFsb2dicm9rZW4uaHRtbFVYCACDlUBN
esDJTFBLAQIVAxQACAAIAOJpXD3S/Fs2zAAAAFUBAAAhAAwAAAAAAAAAAEDtgUYBAABtb2RhbGRp
YWxvZy9kaWFsb2d3b3JrYXJvdW5kLmh0bWxVWAgAg5VATai9yUxQSwECFQMUAAgACABrfTo+/7Q7
UJwDAABvCAAAFgAMAAAAAAAAAABA7YFxAgAAbW9kYWxkaWFsb2cvaW5kZXguaHRtbFVYCACDlUBN
eZVATVBLAQIVAwoAAAAAAHB9Oj4AAAAAAAAAAAAAAAAJAAwAAAAAAAAAAED9QWEGAABfX01BQ09T
WC9VWAgAg5VATYOVQE1QSwECFQMKAAAAAABwfTo+AAAAAAAAAAAAAAAAFQAMAAAAAAAAAABA/UGY
BgAAX19NQUNPU1gvbW9kYWxkaWFsb2cvVVgIAIOVQE2DlUBNUEsBAhUDFAAIAAgAa306PmtRwdpq
AAAAuwAAACEADAAAAAAAAAAAQKSB2wYAAF9fTUFDT1NYL21vZGFsZGlhbG9nLy5faW5kZXguaHRt
bFVYCACDlUBNeZVATVBLBQYAAAAABwAHADUCAACkBwAAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104766</attachid>
            <date>2011-08-22 17:02:03 -0700</date>
            <delta_ts>2011-08-22 17:12:08 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>ModalDialog.txt</filename>
            <type>text/plain</type>
            <size>4830</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3Rv
bS5jcHAJKHJldmlzaW9uIDkzMzcxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XaW5kb3dDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsNyArMTI3LDkgQEAgYm9v
bCBKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90KEV4ZQogCiAgICAgY29uc3QgSGFzaEVu
dHJ5KiBlbnRyeTsKIAotICAgIC8vIFdlIGRvbid0IHdhbnQgYW55IHByb3BlcnRpZXMgb3RoZXIg
dGhhbiAiY2xvc2UiIGFuZCAiY2xvc2VkIiBvbiBhIGNsb3NlZCB3aW5kb3cuCisgICAgLy8gV2Ug
ZG9uJ3Qgd2FudCBhbnkgcHJvcGVydGllcyBvdGhlciB0aGFuICJjbG9zZSIgYW5kICJjbG9zZWQi
IG9uIGEgZnJhbWVsZXNzIHdpbmRvdyAoaS5lLiBvbmUgd2hvc2UgcGFnZSBnb3QgY2xvc2VkLAor
ICAgIC8vIG9yIHdob3NlIGlmcmFtZSBnb3QgcmVtb3ZlZCkuCisgICAgLy8gRklYTUU6IFRoaXMg
ZG9lc24ndCBmdWxseSBtYXRjaCBGaXJlZm94LCB3aGljaCBhbGxvd3MgYXQgbGVhc3QgdG9TdHJp
bmcgaW4gYWRkaXRpb24gdG8gdGhvc2UuCiAgICAgaWYgKCFpbXBsKCktPmZyYW1lKCkpIHsKICAg
ICAgICAgLy8gVGhlIGZvbGxvd2luZyBjb2RlIGlzIHNhZmUgZm9yIGNyb3NzLWRvbWFpbiBhbmQg
c2FtZSBkb21haW4gdXNlLgogICAgICAgICAvLyBJdCBpZ25vcmVzIGFueSBjdXN0b20gcHJvcGVy
dGllcyB0aGF0IG1pZ2h0IGJlIHNldCBvbiB0aGUgRE9NV2luZG93IChpbmNsdWRpbmcgYSBjdXN0
b20gcHJvdG90eXBlKS4KQEAgLTE0Miw4ICsxNDQsNyBAQCBib29sIEpTRE9NV2luZG93OjpnZXRP
d25Qcm9wZXJ0eVNsb3QoRXhlCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQog
Ci0gICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaGF2ZSBhIG1lc3NhZ2UgaGVyZSB0aGF0IGV4
cGxhaW5zIHdoeSB0aGUgcHJvcGVydHkgYWNjZXNzL2Z1bmN0aW9uIGNhbGwgd2FzCi0gICAgICAg
IC8vIG5vdCBhbGxvd2VkLiAKKyAgICAgICAgcHJpbnRFcnJvck1lc3NhZ2UoIlRyaWVkIHRvIGFj
Y2VzcyBcIiIgKyBTdHJpbmcocHJvcGVydHlOYW1lLnVzdHJpbmcoKS5pbXBsKCkpICsgIlwiIHBy
b3BlcnR5IGluIGEgY2xvc2VkIHdpbmRvdy4iKTsKICAgICAgICAgc2xvdC5zZXRVbmRlZmluZWQo
KTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpAQCAtNjQ0LDcgKzY0NSw2IEBAIGNsYXNz
IERpYWxvZ0hhbmRsZXIgewogcHVibGljOgogICAgIGV4cGxpY2l0IERpYWxvZ0hhbmRsZXIoRXhl
Y1N0YXRlKiBleGVjKQogICAgICAgICA6IG1fZXhlYyhleGVjKQotICAgICAgICAsIG1fZ2xvYmFs
T2JqZWN0KDApCiAgICAgewogICAgIH0KIApAQCAtNjUzLDI1ICs2NTMsMjcgQEAgcHVibGljOgog
CiBwcml2YXRlOgogICAgIEV4ZWNTdGF0ZSogbV9leGVjOwotICAgIEpTRE9NV2luZG93KiBtX2ds
b2JhbE9iamVjdDsKKyAgICBSZWZQdHI8RnJhbWU+IG1fZnJhbWU7CiB9OwogCiBpbmxpbmUgdm9p
ZCBEaWFsb2dIYW5kbGVyOjpkaWFsb2dDcmVhdGVkKERPTVdpbmRvdyogZGlhbG9nKQogeworICAg
IG1fZnJhbWUgPSBkaWFsb2ctPmZyYW1lKCk7CiAgICAgLy8gRklYTUU6IFRoaXMgbG9va3MgbGlr
ZSBhIGxlYWsgYmV0d2VlbiB0aGUgbm9ybWFsIHdvcmxkIGFuZCBhbiBpc29sYXRlZAogICAgIC8v
ICAgICAgICB3b3JsZCBpZiBkaWFsb2dBcmd1bWVudHMgY29tZXMgZnJvbSBhbiBpc29sYXRlZCB3
b3JsZC4KLSAgICBtX2dsb2JhbE9iamVjdCA9IHRvSlNET01XaW5kb3coZGlhbG9nLT5mcmFtZSgp
LCBub3JtYWxXb3JsZChtX2V4ZWMtPmdsb2JhbERhdGEoKSkpOworICAgIEpTRE9NV2luZG93KiBn
bG9iYWxPYmplY3QgPSB0b0pTRE9NV2luZG93KG1fZnJhbWUuZ2V0KCksIG5vcm1hbFdvcmxkKG1f
ZXhlYy0+Z2xvYmFsRGF0YSgpKSk7CiAgICAgaWYgKEpTVmFsdWUgZGlhbG9nQXJndW1lbnRzID0g
bV9leGVjLT5hcmd1bWVudCgxKSkKLSAgICAgICAgbV9nbG9iYWxPYmplY3QtPnB1dERpcmVjdCht
X2V4ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihtX2V4ZWMsICJkaWFsb2dBcmd1bWVudHMi
KSwgZGlhbG9nQXJndW1lbnRzKTsKKyAgICAgICAgZ2xvYmFsT2JqZWN0LT5wdXREaXJlY3QobV9l
eGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZpZXIobV9leGVjLCAiZGlhbG9nQXJndW1lbnRzIiks
IGRpYWxvZ0FyZ3VtZW50cyk7CiB9CiAKIGlubGluZSBKU1ZhbHVlIERpYWxvZ0hhbmRsZXI6OnJl
dHVyblZhbHVlKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fZ2xvYmFsT2JqZWN0KQorICAgIEpTRE9N
V2luZG93KiBnbG9iYWxPYmplY3QgPSB0b0pTRE9NV2luZG93KG1fZnJhbWUuZ2V0KCksIG5vcm1h
bFdvcmxkKG1fZXhlYy0+Z2xvYmFsRGF0YSgpKSk7CisgICAgaWYgKCFnbG9iYWxPYmplY3QpCiAg
ICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIElkZW50aWZpZXIgaWRlbnRpZmllciht
X2V4ZWMsICJyZXR1cm5WYWx1ZSIpOwogICAgIFByb3BlcnR5U2xvdCBzbG90OwotICAgIGlmICgh
bV9nbG9iYWxPYmplY3QtPkpTR2xvYmFsT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QobV9leGVj
LCBpZGVudGlmaWVyLCBzbG90KSkKKyAgICBpZiAoIWdsb2JhbE9iamVjdC0+SlNHbG9iYWxPYmpl
Y3Q6OmdldE93blByb3BlcnR5U2xvdChtX2V4ZWMsIGlkZW50aWZpZXIsIHNsb3QpKQogICAgICAg
ICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICByZXR1cm4gc2xvdC5nZXRWYWx1ZShtX2V4ZWMs
IGlkZW50aWZpZXIpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dTaGVsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dTaGVsbC5jcHAJKHJldmlzaW9uIDkzMzcxKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDYg
KzU3LDkgQEAgSlNET01XaW5kb3dTaGVsbDo6fkpTRE9NV2luZG93U2hlbGwoKQogCiB2b2lkIEpT
RE9NV2luZG93U2hlbGw6OnNldFdpbmRvdyhQYXNzUmVmUHRyPERPTVdpbmRvdz4gZG9tV2luZG93
KQogeworICAgIC8vIFJlcGxhY2luZyBKU0RPTVdpbmRvdyB2aWEgdGVsbGluZyBKU0RPTVdpbmRv
d1NoZWxsIHRvIHVzZSB0aGUgc2FtZSBET01XaW5kb3cgaXQgYWxyZWFkeSB1c2VzIG1ha2VzIG5v
IHNlbnNlLAorICAgIC8vIHNvIHdlJ2QgYmV0dGVyIG5ldmVyIHRyeSB0by4KKyAgICBBU1NFUlQo
IW1fd2luZG93IHx8IGRvbVdpbmRvdy5nZXQoKSAhPSBtX3dpbmRvdy0+aW1wbCgpKTsKICAgICAv
LyBFeHBsaWNpdGx5IHByb3RlY3QgdGhlIGdsb2JhbCBvYmplY3QncyBwcm90b3R5cGUgc28gaXQg
aXNuJ3QgY29sbGVjdGVkCiAgICAgLy8gd2hlbiB3ZSBhbGxvY2F0ZSB0aGUgZ2xvYmFsIG9iamVj
dC4gKE9uY2UgdGhlIGdsb2JhbCBvYmplY3QgaXMgZnVsbHkKICAgICAvLyBjb25zdHJ1Y3RlZCwg
aXQgY2FuIG1hcmsgaXRzIG93biBwcm90b3R5cGUuKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAJ
KHJldmlzaW9uIDkzMzcxKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTczMSw2ICs3MzEsOSBAQCB2b2lkIEZyYW1lOjpjbGVhckZvcm1lckRPTVdp
bmRvdyhET01XaW5kCiAKIHZvaWQgRnJhbWU6OnBhZ2VEZXN0cm95ZWQoKQogeworICAgIC8vIEZJ
WE1FOiBSZW5hbWUgdGhpcyBmdW5jdGlvbiwgc2luY2UgaXQncyBjYWxsZWQgbm90IG9ubHkgZnJv
bSBQYWdlIGRlc3RydWN0b3IsIGJ1dCBpbiBzZXZlcmFsIG90aGVyIGNhc2VzLgorICAgIC8vIFRo
aXMgY2xlYW51cCBpcyBuZWVkZWQgd2hlbmV2ZXIgd2UgcmVtb3ZlIGEgZnJhbWUgZnJvbSBwYWdl
LgorCiAgICAgaWYgKEZyYW1lKiBwYXJlbnQgPSB0cmVlKCktPnBhcmVudCgpKQogICAgICAgICBw
YXJlbnQtPmxvYWRlcigpLT5jaGVja0xvYWRDb21wbGV0ZSgpOwogCkBAIC03NDksNyArNzUyLDEw
IEBAIHZvaWQgRnJhbWU6OnBhZ2VEZXN0cm95ZWQoKQogICAgIGlmIChwYWdlKCkgJiYgcGFnZSgp
LT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZEZyYW1lKCkgPT0gdGhpcykKICAgICAgICAgcGFn
ZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+c2V0Rm9jdXNlZEZyYW1lKDApOwogCi0gICAgc2NyaXB0
KCktPmNsZWFyV2luZG93U2hlbGwoKTsKKyAgICAvLyBGSVhNRTogUmVtb3Zpbmcga2VlcGFsaXZl
IHdpbGwgbWFrZSBiZWhhdmlvciBiZXR0ZXIgbWF0Y2ggRmlyZWZveC4KKyAgICAvLyBTb21lIGNv
ZGUgdGhhdCB1c2VkIHRvIGJlIGhlcmUgaW5kaXJlY3RseSB0cmlnZ2VyZWQga2VlcGFsaXZlLCBh
bmQgd2UgZG9uJ3Qgd2FudCB0byBjaGFuZ2UgYmVoYXZpb3IgYXQgdGhlIG1vbWVudC4KKyAgICBr
ZWVwQWxpdmUoKTsKKwogICAgIHNjcmlwdCgpLT5jbGVhclNjcmlwdE9iamVjdHMoKTsKICAgICBz
Y3JpcHQoKS0+dXBkYXRlUGxhdGZvcm1TY3JpcHRPYmplY3RzKCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104769</attachid>
            <date>2011-08-22 17:12:08 -0700</date>
            <delta_ts>2011-08-22 17:32:33 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>ModalDialog.txt</filename>
            <type>text/plain</type>
            <size>6797</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNTU2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTEtMDgtMjIgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgc2hvd01vZGFsRGlhbG9nIGRv
ZXMgbm90IGNvcnJlY3RseSByZXR1cm4gdGhlIGRlZmluZWQgcmV0dXJuVmFsdWUgaW4gY2FzZSBk
b21haW4gcmVsYXhpbmcgaXMgdXNlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTMxOTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg2Mjk0Nzg+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2Fubm90IHRl
c3QgZG9tYWluIHJlbGF4aW5nLCB3ZSBvbmx5IGhhdmUgMTI3LjAuMC4xIGFuZCBsb2NhbGhvc3Qu
CisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6IChXZWJDb3Jl
OjpKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90KTogUHJpbnQgYW4KKyAgICAgICAgZXJy
b3Igd2hlbiBwcmV2ZW50aW5nIGFjY2VzcyB0byBwcm9wZXJ0aWVzIG9mIGEgY2xvc2VkIHdpbmRv
dy4gQWRkZWQgYSBGSVhNRSBhYm91dCBhIGRpZmZlcmVuY2UKKyAgICAgICAgd2l0aCBGaXJlZm94
LgorCisgICAgICAgIChXZWJDb3JlOjpEaWFsb2dIYW5kbGVyOjpEaWFsb2dIYW5kbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRpYWxvZ0hhbmRsZXI6OmRpYWxvZ0NyZWF0ZWQpOgorICAgICAgICAo
V2ViQ29yZTo6RGlhbG9nSGFuZGxlcjo6cmV0dXJuVmFsdWUpOgorICAgICAgICBDaGFuZ2VkIHRv
IGZldGNoIHJldHVyblZhbHVlIGZyb20gdGhlIGdsb2JhbCBvYmplY3QgdGhhdCdzIGluIHRoZSBm
cmFtZSB3aGVuIHRoZSBkaWFsb2cgaXMKKyAgICAgICAgZGlzbWlzc2VkLiBBIGRpYWxvZyBjYW4g
bmF2aWdhdGUgaXRzZWxmLCBhbmQgaXQgYWxzbyBjcmVhdGVzIGEgbmV3IEpTRE9NV2luZG93IG9u
IGZpcnQgbG9hZAorICAgICAgICBpZiB0aGUgb3JpZ2luIGRvZXNuJ3QgbWF0Y2ggb3BlbmVyIG9y
aWdpbiAoYXMgaXMgdGhlIGNhc2Ugd2l0aCBkb21haW4gcmVsYXhpbmcpLgorCisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHA6IChXZWJDb3JlOjpKU0RPTVdpbmRvd1No
ZWxsOjpzZXRXaW5kb3cpOiBBZGRlZCBhbiBhc3NlcnRpb24KKyAgICAgICAgYWdhaW5zdCBhIHZl
cnkgY29uZnVzaW5nIGNhc2UgdGhhdCBzaG91bGQgbm8gbG9uZ2VyIG9jY3VyLgorCisgICAgICAg
ICogcGFnZS9GcmFtZS5jcHA6IChXZWJDb3JlOjpGcmFtZTo6cGFnZURlc3Ryb3llZCk6IERvbid0
IGNsZWFyIHRoZSB3aW5kb3cgc2hlbGwsIGl0IGRvZXNuJ3QKKyAgICAgICAgc2VlbSBuZWNlc3Nh
cnksIGJ1dCBwcmV2ZW50cyBEaWFsb2dIYW5kbGVyIGZyb20gZmV0Y2hpbmcgdGhlIHJldHVybiB2
YWx1ZS4gQWRkZWQgYSBrZWVwQWxpdmUKKyAgICAgICAgY2FsbCB0byBhdm9pZCBjaGFuZ2luZyBs
aWZlIHN1cHBvcnQgdGltZXIgYmVoYXZpb3IgaW4gdGhpcyBwYXRjaC4KKwogMjAxMS0wOC0yMiAg
UGV0ZXIgS2FzdGluZyAgPHBrYXN0aW5nQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjkzNTM4LgpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAkocmV2aXNpb24gOTMzNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEyNyw3ICsxMjcsOSBAQCBib29sIEpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3Qo
RXhlCiAKICAgICBjb25zdCBIYXNoRW50cnkqIGVudHJ5OwogCi0gICAgLy8gV2UgZG9uJ3Qgd2Fu
dCBhbnkgcHJvcGVydGllcyBvdGhlciB0aGFuICJjbG9zZSIgYW5kICJjbG9zZWQiIG9uIGEgY2xv
c2VkIHdpbmRvdy4KKyAgICAvLyBXZSBkb24ndCB3YW50IGFueSBwcm9wZXJ0aWVzIG90aGVyIHRo
YW4gImNsb3NlIiBhbmQgImNsb3NlZCIgb24gYSBmcmFtZWxlc3Mgd2luZG93IChpLmUuIG9uZSB3
aG9zZSBwYWdlIGdvdCBjbG9zZWQsCisgICAgLy8gb3Igd2hvc2UgaWZyYW1lIGdvdCByZW1vdmVk
KS4KKyAgICAvLyBGSVhNRTogVGhpcyBkb2Vzbid0IGZ1bGx5IG1hdGNoIEZpcmVmb3gsIHdoaWNo
IGFsbG93cyBhdCBsZWFzdCB0b1N0cmluZyBpbiBhZGRpdGlvbiB0byB0aG9zZS4KICAgICBpZiAo
IWltcGwoKS0+ZnJhbWUoKSkgewogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGNvZGUgaXMgc2Fm
ZSBmb3IgY3Jvc3MtZG9tYWluIGFuZCBzYW1lIGRvbWFpbiB1c2UuCiAgICAgICAgIC8vIEl0IGln
bm9yZXMgYW55IGN1c3RvbSBwcm9wZXJ0aWVzIHRoYXQgbWlnaHQgYmUgc2V0IG9uIHRoZSBET01X
aW5kb3cgKGluY2x1ZGluZyBhIGN1c3RvbSBwcm90b3R5cGUpLgpAQCAtMTQyLDggKzE0NCw3IEBA
IGJvb2wgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xvdChFeGUKICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgICAgICB9CiAKLSAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZl
IGEgbWVzc2FnZSBoZXJlIHRoYXQgZXhwbGFpbnMgd2h5IHRoZSBwcm9wZXJ0eSBhY2Nlc3MvZnVu
Y3Rpb24gY2FsbCB3YXMKLSAgICAgICAgLy8gbm90IGFsbG93ZWQuIAorICAgICAgICBhc0pTRE9N
V2luZG93KGV4ZWMtPmR5bmFtaWNHbG9iYWxPYmplY3QoKSktPnByaW50RXJyb3JNZXNzYWdlKCJU
cmllZCB0byBhY2Nlc3MgXCIiICsgU3RyaW5nKHByb3BlcnR5TmFtZS51c3RyaW5nKCkuaW1wbCgp
KSArICJcIiBwcm9wZXJ0eSBpbiBhIGNsb3NlZCB3aW5kb3cuIik7CiAgICAgICAgIHNsb3Quc2V0
VW5kZWZpbmVkKCk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KQEAgLTY0NCw3ICs2NDUs
NiBAQCBjbGFzcyBEaWFsb2dIYW5kbGVyIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBEaWFsb2dI
YW5kbGVyKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgOiBtX2V4ZWMoZXhlYykKLSAgICAgICAg
LCBtX2dsb2JhbE9iamVjdCgwKQogICAgIHsKICAgICB9CiAKQEAgLTY1MywyNSArNjUzLDI5IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBFeGVjU3RhdGUqIG1fZXhlYzsKLSAgICBKU0RPTVdp
bmRvdyogbV9nbG9iYWxPYmplY3Q7CisgICAgUmVmUHRyPEZyYW1lPiBtX2ZyYW1lOwogfTsKIAog
aW5saW5lIHZvaWQgRGlhbG9nSGFuZGxlcjo6ZGlhbG9nQ3JlYXRlZChET01XaW5kb3cqIGRpYWxv
ZykKIHsKKyAgICBtX2ZyYW1lID0gZGlhbG9nLT5mcmFtZSgpOwogICAgIC8vIEZJWE1FOiBUaGlz
IGxvb2tzIGxpa2UgYSBsZWFrIGJldHdlZW4gdGhlIG5vcm1hbCB3b3JsZCBhbmQgYW4gaXNvbGF0
ZWQKICAgICAvLyAgICAgICAgd29ybGQgaWYgZGlhbG9nQXJndW1lbnRzIGNvbWVzIGZyb20gYW4g
aXNvbGF0ZWQgd29ybGQuCi0gICAgbV9nbG9iYWxPYmplY3QgPSB0b0pTRE9NV2luZG93KGRpYWxv
Zy0+ZnJhbWUoKSwgbm9ybWFsV29ybGQobV9leGVjLT5nbG9iYWxEYXRhKCkpKTsKKyAgICBKU0RP
TVdpbmRvdyogZ2xvYmFsT2JqZWN0ID0gdG9KU0RPTVdpbmRvdyhtX2ZyYW1lLmdldCgpLCBub3Jt
YWxXb3JsZChtX2V4ZWMtPmdsb2JhbERhdGEoKSkpOwogICAgIGlmIChKU1ZhbHVlIGRpYWxvZ0Fy
Z3VtZW50cyA9IG1fZXhlYy0+YXJndW1lbnQoMSkpCi0gICAgICAgIG1fZ2xvYmFsT2JqZWN0LT5w
dXREaXJlY3QobV9leGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZpZXIobV9leGVjLCAiZGlhbG9n
QXJndW1lbnRzIiksIGRpYWxvZ0FyZ3VtZW50cyk7CisgICAgICAgIGdsb2JhbE9iamVjdC0+cHV0
RGlyZWN0KG1fZXhlYy0+Z2xvYmFsRGF0YSgpLCBJZGVudGlmaWVyKG1fZXhlYywgImRpYWxvZ0Fy
Z3VtZW50cyIpLCBkaWFsb2dBcmd1bWVudHMpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBEaWFsb2dI
YW5kbGVyOjpyZXR1cm5WYWx1ZSgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX2dsb2JhbE9iamVjdCkK
KyAgICBKU0RPTVdpbmRvdyogZ2xvYmFsT2JqZWN0ID0gdG9KU0RPTVdpbmRvdyhtX2ZyYW1lLmdl
dCgpLCBub3JtYWxXb3JsZChtX2V4ZWMtPmdsb2JhbERhdGEoKSkpOworICAgIGlmICghZ2xvYmFs
T2JqZWN0KQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICBpZiAoIWFzSlNET01X
aW5kb3cobV9leGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5hbGxvd3NBY2Nlc3NGcm9tKGds
b2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpKSkKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7
CiAgICAgSWRlbnRpZmllciBpZGVudGlmaWVyKG1fZXhlYywgInJldHVyblZhbHVlIik7CiAgICAg
UHJvcGVydHlTbG90IHNsb3Q7Ci0gICAgaWYgKCFtX2dsb2JhbE9iamVjdC0+SlNHbG9iYWxPYmpl
Y3Q6OmdldE93blByb3BlcnR5U2xvdChtX2V4ZWMsIGlkZW50aWZpZXIsIHNsb3QpKQorICAgIGlm
ICghZ2xvYmFsT2JqZWN0LT5KU0dsb2JhbE9iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90KG1fZXhl
YywgaWRlbnRpZmllciwgc2xvdCkpCiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAg
IHJldHVybiBzbG90LmdldFZhbHVlKG1fZXhlYywgaWRlbnRpZmllcik7CiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAkocmV2aXNp
b24gOTMzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxs
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiArNTcsOSBAQCBKU0RPTVdpbmRvd1NoZWxsOjp+
SlNET01XaW5kb3dTaGVsbCgpCiAKIHZvaWQgSlNET01XaW5kb3dTaGVsbDo6c2V0V2luZG93KFBh
c3NSZWZQdHI8RE9NV2luZG93PiBkb21XaW5kb3cpCiB7CisgICAgLy8gUmVwbGFjaW5nIEpTRE9N
V2luZG93IHZpYSB0ZWxsaW5nIEpTRE9NV2luZG93U2hlbGwgdG8gdXNlIHRoZSBzYW1lIERPTVdp
bmRvdyBpdCBhbHJlYWR5IHVzZXMgbWFrZXMgbm8gc2Vuc2UsCisgICAgLy8gc28gd2UnZCBiZXR0
ZXIgbmV2ZXIgdHJ5IHRvLgorICAgIEFTU0VSVCghbV93aW5kb3cgfHwgZG9tV2luZG93LmdldCgp
ICE9IG1fd2luZG93LT5pbXBsKCkpOwogICAgIC8vIEV4cGxpY2l0bHkgcHJvdGVjdCB0aGUgZ2xv
YmFsIG9iamVjdCdzIHByb3RvdHlwZSBzbyBpdCBpc24ndCBjb2xsZWN0ZWQKICAgICAvLyB3aGVu
IHdlIGFsbG9jYXRlIHRoZSBnbG9iYWwgb2JqZWN0LiAoT25jZSB0aGUgZ2xvYmFsIG9iamVjdCBp
cyBmdWxseQogICAgIC8vIGNvbnN0cnVjdGVkLCBpdCBjYW4gbWFyayBpdHMgb3duIHByb3RvdHlw
ZS4pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkocmV2aXNpb24gOTMzNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzMxLDYgKzczMSw5IEBA
IHZvaWQgRnJhbWU6OmNsZWFyRm9ybWVyRE9NV2luZG93KERPTVdpbmQKIAogdm9pZCBGcmFtZTo6
cGFnZURlc3Ryb3llZCgpCiB7CisgICAgLy8gRklYTUU6IFJlbmFtZSB0aGlzIGZ1bmN0aW9uLCBz
aW5jZSBpdCdzIGNhbGxlZCBub3Qgb25seSBmcm9tIFBhZ2UgZGVzdHJ1Y3RvciwgYnV0IGluIHNl
dmVyYWwgb3RoZXIgY2FzZXMuCisgICAgLy8gVGhpcyBjbGVhbnVwIGlzIG5lZWRlZCB3aGVuZXZl
ciB3ZSByZW1vdmUgYSBmcmFtZSBmcm9tIHBhZ2UuCisKICAgICBpZiAoRnJhbWUqIHBhcmVudCA9
IHRyZWUoKS0+cGFyZW50KCkpCiAgICAgICAgIHBhcmVudC0+bG9hZGVyKCktPmNoZWNrTG9hZENv
bXBsZXRlKCk7CiAKQEAgLTc0OSw3ICs3NTIsMTAgQEAgdm9pZCBGcmFtZTo6cGFnZURlc3Ryb3ll
ZCgpCiAgICAgaWYgKHBhZ2UoKSAmJiBwYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2Vk
RnJhbWUoKSA9PSB0aGlzKQogICAgICAgICBwYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5zZXRG
b2N1c2VkRnJhbWUoMCk7CiAKLSAgICBzY3JpcHQoKS0+Y2xlYXJXaW5kb3dTaGVsbCgpOworICAg
IC8vIEZJWE1FOiBSZW1vdmluZyBrZWVwYWxpdmUgd2lsbCBtYWtlIGJlaGF2aW9yIGJldHRlciBt
YXRjaCBGaXJlZm94LgorICAgIC8vIFNvbWUgY29kZSB0aGF0IHVzZWQgdG8gYmUgaGVyZSBpbmRp
cmVjdGx5IHRyaWdnZXJlZCBrZWVwYWxpdmUsIGFuZCB3ZSBkb24ndCB3YW50IHRvIGNoYW5nZSBi
ZWhhdmlvciBhdCB0aGUgbW9tZW50LgorICAgIGtlZXBBbGl2ZSgpOworCiAgICAgc2NyaXB0KCkt
PmNsZWFyU2NyaXB0T2JqZWN0cygpOwogICAgIHNjcmlwdCgpLT51cGRhdGVQbGF0Zm9ybVNjcmlw
dE9iamVjdHMoKTsKIAo=
</data>
<flag name="review"
          id="100724"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>