<?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>98503</bug_id>
          
          <creation_ts>2012-10-05 02:37:27 -0700</creation_ts>
          <short_desc>[WK2][WKTR] Avoid duplication of UIClient callbacks for main page and other pages</short_desc>
          <delta_ts>2012-10-05 09:16:52 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>98256</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>735525</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-05 02:37:27 -0700</bug_when>
    <thetext>We currently often have to use different UIClient callbacks for the main page and for other pages. The reason for this is that the callbacks for the main page are passed the Controller as clientInfo, while the other pages callbacks are passed the PlatformWebView as clientInfo.

This causes code duplication and it is error prone. Someone may not pay attention to this detail and use the same callback for both the main view and the other views, and therefore not properly cast the clientInfo callback argument.

As a matter of fact, the existing runModal() callback is wrong: it is used for both the Main page UIClient and the other pages UIClient. However, the callback unconditionally casts clientInfo to a PlatformWebView (which is wrong for the main page).

I propose that we have a TestController as clientInfo for other pages UIClient callbacks, for consistency and to avoid useless code duplication. We just need to introduce a static HashTable so that we can retrieve the PlatformWebView corresponding to a given page in those callbacks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735549</commentid>
    <comment_count>1</comment_count>
      <attachid>167302</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-05 03:46:11 -0700</bug_when>
    <thetext>Created attachment 167302
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735551</commentid>
    <comment_count>2</comment_count>
      <attachid>167302</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-05 03:54:20 -0700</bug_when>
    <thetext>Comment on attachment 167302
Patch

I will try the pass the main view for the main page callbacks instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735587</commentid>
    <comment_count>3</comment_count>
      <attachid>167314</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-05 05:25:43 -0700</bug_when>
    <thetext>Created attachment 167314
Patch

Much simpler proposal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735688</commentid>
    <comment_count>4</comment_count>
      <attachid>167314</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-05 09:16:47 -0700</bug_when>
    <thetext>Comment on attachment 167314
Patch

Clearing flags on attachment: 167314

Committed r130515: &lt;http://trac.webkit.org/changeset/130515&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735689</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-05 09:16:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167302</attachid>
            <date>2012-10-05 03:46:11 -0700</date>
            <delta_ts>2012-10-05 05:25:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98503_uiclient_callbacks.patch</filename>
            <type>text/plain</type>
            <size>7589</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxOTIy
MWIxLi45ODM4YTVlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTItMTAtMDUgIENocmlzdG9waGUgRHVtZXogIDxj
aHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBbV0syXVtXS1RSXSBBdm9pZCBk
dXBsaWNhdGlvbiBvZiBVSUNsaWVudCBjYWxsYmFja3MgZm9yIG1haW4gcGFnZSBhbmQgb3RoZXIg
cGFnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4
NTAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXZv
aWQgdGhlIG5lZWQgZm9yIGR1cGxpY2F0aW5nIFVJQ2xpZW50IGNhbGxiYWNrcyBmb3IgbWFpbiBw
YWdlCisgICAgICAgIGFuZCBvdGhlciBwYWdlcyBieSBwYXNzaW5nIHRoZSBUZXN0Q29udHJvbGxl
ciBhcyBjbGllbnRJbmZvCisgICAgICAgIGZvciB0aG9zZSBjYWxsYmFja3MuCisKKyAgICAgICAg
UHJldmlvdXNseSwgY2FsbGJhY2tzIGZvciB0aGUgbWFpbiBwYWdlIHdlcmUgcGFzc2VkIHRoZQor
ICAgICAgICBUZXN0Q29udHJvbGxlciBhcyBjbGllbnRJbmZvIHdoaWxlIHRoZSBjYWxsYmFja3Mg
Zm9yIG90aGVyIHBhZ2VzCisgICAgICAgIHdlcmUgcGFzc2VkIHRoZSBQbGF0Zm9ybVdlYlZpZXcg
YXMgY2xpZW50SW5mby4gVGhpcyB3YXMgZXJyb3IgcHJvbmUKKyAgICAgICAgYW5kIGxlYWRzIHRv
IHVzZWxlc3MgY29kZSBkdXBsaWNhdGlvbi4KKworICAgICAgICBBIHN0YXRpYyBoYXNoIHRhYmxl
IHdhcyBpbnRyb2R1Y2VkIHRvIHN0b3JlIHRoZSBleGlzdGluZworICAgICAgICBQbGF0Zm9ybVdl
YlZpZXcgb2JqZWN0cyBhbmQgdGhlaXIgbWFwcGluZyB0byBhIFdLUGFnZVJlZi4gVGhpcworICAg
ICAgICBoYXNoIHRhYmxlIGlzIG5vdyB1c2VkIGJ5IGNhbGxiYWNrcyB0byByZXRyaWV2ZSB0aGUg
dmlldworICAgICAgICBmcm9tIHRoZWlyIFdLUGFnZVJlZiBhcmd1bWVudCBhbmQgYXZvaWQgdGhl
IG5lZWQgZm9yIHBhc3NpbmcKKyAgICAgICAgdGhlIHZpZXcgb2JqZWN0IGFzIGNsaWVudEluZm8u
CisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKFdUUik6CisgICAgICAgIChXVFI6OmdldFdpbmRvd0ZyYW1lKToKKyAgICAgICAgKFdUUjo6
c2V0V2luZG93RnJhbWUpOgorICAgICAgICAoV1RSOjpydW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWwpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cnVuTW9kYWwpOgorICAgICAgICAo
V1RSOjpjbG9zZU90aGVyUGFnZSk6CisgICAgICAgIChXVFI6OmZvY3VzKToKKyAgICAgICAgKFdU
Ujo6dW5mb2N1cyk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpjcmVhdGVPdGhlclBh
Z2UpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZSk6CisKIDIwMTIt
MTAtMDUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBb
UXRdIEVuYWJsZSBDU1MgY29tcG9zaXRpbmcgYnkgZGVmYXVsdApkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBhNGEwMGVkLi45MzFmOWJmIDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2lu
Y2x1ZGUgPGN0eXBlLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nPgor
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAog
I2lmIFBMQVRGT1JNKE1BQykKQEAgLTY5LDYgKzcwLDcgQEAgc3RhdGljIFdLVVJMUmVmIGJsYW5r
VVJMKCkKIH0KIAogc3RhdGljIFRlc3RDb250cm9sbGVyKiBjb250cm9sbGVyOworc3RhdGljIEhh
c2hNYXA8V0tQYWdlUmVmLCBQbGF0Zm9ybVdlYlZpZXcqPiB2aWV3czsKIAogVGVzdENvbnRyb2xs
ZXImIFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKQogewpAQCAtMTA3LDMzICsxMDksMjMgQEAgVGVz
dENvbnRyb2xsZXI6On5UZXN0Q29udHJvbGxlcigpCiB7CiB9CiAKLXN0YXRpYyBXS1JlY3QgZ2V0
V2luZG93RnJhbWVNYWluUGFnZShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKK3N0YXRpYyBXS1JlY3QgZ2V0V2luZG93RnJhbWUoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZv
aWQqKQogewotICAgIFBsYXRmb3JtV2ViVmlldyogdmlldyA9IHN0YXRpY19jYXN0PFRlc3RDb250
cm9sbGVyKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpLT5tYWluV2ViVmlldygpOwor
ICAgIFBsYXRmb3JtV2ViVmlldyogdmlldyA9IHZpZXdzLmdldChwYWdlKTsKKyAgICBBU1NFUlQo
dmlldyk7CiAgICAgcmV0dXJuIHZpZXctPndpbmRvd0ZyYW1lKCk7CiB9CiAKLXN0YXRpYyB2b2lk
IHNldFdpbmRvd0ZyYW1lTWFpblBhZ2UoV0tQYWdlUmVmIHBhZ2UsIFdLUmVjdCBmcmFtZSwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbykKK3N0YXRpYyB2b2lkIHNldFdpbmRvd0ZyYW1lKFdLUGFnZVJl
ZiBwYWdlLCBXS1JlY3QgZnJhbWUsIGNvbnN0IHZvaWQqKQogewotICAgIFBsYXRmb3JtV2ViVmll
dyogdmlldyA9IHN0YXRpY19jYXN0PFRlc3RDb250cm9sbGVyKj4oY29uc3RfY2FzdDx2b2lkKj4o
Y2xpZW50SW5mbykpLT5tYWluV2ViVmlldygpOworICAgIFBsYXRmb3JtV2ViVmlldyogdmlldyA9
IHZpZXdzLmdldChwYWdlKTsKKyAgICBBU1NFUlQodmlldyk7CiAgICAgdmlldy0+c2V0V2luZG93
RnJhbWUoZnJhbWUpOwogfQogCi1zdGF0aWMgV0tSZWN0IGdldFdpbmRvd0ZyYW1lT3RoZXJQYWdl
KFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQorc3RhdGljIGJvb2wgcnVu
QmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNz
YWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewotICAgIFBs
YXRmb3JtV2ViVmlldyogdmlldyA9IHN0YXRpY19jYXN0PFBsYXRmb3JtV2ViVmlldyo+KGNvbnN0
X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKTsKLSAgICByZXR1cm4gdmlldy0+d2luZG93RnJhbWUo
KTsKLX0KLQotc3RhdGljIHZvaWQgc2V0V2luZG93RnJhbWVPdGhlclBhZ2UoV0tQYWdlUmVmIHBh
Z2UsIFdLUmVjdCBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBQbGF0Zm9y
bVdlYlZpZXcqIHZpZXcgPSBzdGF0aWNfY2FzdDxQbGF0Zm9ybVdlYlZpZXcqPihjb25zdF9jYXN0
PHZvaWQqPihjbGllbnRJbmZvKSk7Ci0gICAgdmlldy0+c2V0V2luZG93RnJhbWUoZnJhbWUpOwot
fQotCi1zdGF0aWMgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoV0tQYWdlUmVmIHBh
Z2UsIFdLU3RyaW5nUmVmIG1lc3NhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQgKmNs
aWVudEluZm8pCi17Ci0gICAgVGVzdENvbnRyb2xsZXIqIHRlc3RDb250cm9sbGVyID0gc3RhdGlj
X2Nhc3Q8VGVzdENvbnRyb2xsZXIqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7Cisg
ICAgY29uc3QgVGVzdENvbnRyb2xsZXIqIHRlc3RDb250cm9sbGVyID0gc3RhdGljX2Nhc3Q8Y29u
c3QgVGVzdENvbnRyb2xsZXIqPihjbGllbnRJbmZvKTsKICAgICBwcmludGYoIkNPTkZJUk0gTkFW
SUdBVElPTjogJXNcbiIsIHRvU1REKG1lc3NhZ2UpLmNfc3RyKCkpOwogICAgIHJldHVybiB0ZXN0
Q29udHJvbGxlci0+YmVmb3JlVW5sb2FkUmV0dXJuVmFsdWUoKTsKIH0KQEAgLTE0NSwzMCArMTM3
LDMyIEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgZXhjZWVkZWREYXRhYmFzZVF1b3RhKFdL
UGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tTZWN1cml0CiB9CiAKIAotdm9pZCBUZXN0Q29udHJvbGxl
cjo6cnVuTW9kYWwoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit2b2lk
IFRlc3RDb250cm9sbGVyOjpydW5Nb2RhbChXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCopCiB7
Ci0gICAgUGxhdGZvcm1XZWJWaWV3KiB2aWV3ID0gc3RhdGljX2Nhc3Q8UGxhdGZvcm1XZWJWaWV3
Kj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOworICAgIFBsYXRmb3JtV2ViVmlldyog
dmlldyA9IHZpZXdzLmdldChwYWdlKTsKKyAgICBBU1NFUlQodmlldyk7CiAgICAgdmlldy0+c2V0
V2luZG93SXNLZXkoZmFsc2UpOwogICAgIHJ1bk1vZGFsKHZpZXcpOwogICAgIHZpZXctPnNldFdp
bmRvd0lzS2V5KHRydWUpOwogfQogCi1zdGF0aWMgdm9pZCBjbG9zZU90aGVyUGFnZShXS1BhZ2VS
ZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3N0YXRpYyB2b2lkIGNsb3NlT3RoZXJQ
YWdlKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKikKIHsKICAgICBXS1BhZ2VDbG9zZShwYWdl
KTsKLSAgICBQbGF0Zm9ybVdlYlZpZXcqIHZpZXcgPSBzdGF0aWNfY2FzdDxQbGF0Zm9ybVdlYlZp
ZXcqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7Ci0gICAgZGVsZXRlIHZpZXc7Cisg
ICAgZGVsZXRlIHZpZXdzLnRha2UocGFnZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGZvY3VzKFdLUGFn
ZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQorc3RhdGljIHZvaWQgZm9jdXMoV0tQ
YWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqKQogewotICAgIFBsYXRmb3JtV2ViVmlldyogdmlldyA9
IHN0YXRpY19jYXN0PFBsYXRmb3JtV2ViVmlldyo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudElu
Zm8pKTsKKyAgICBQbGF0Zm9ybVdlYlZpZXcqIHZpZXcgPSB2aWV3cy5nZXQocGFnZSk7CisgICAg
QVNTRVJUKHZpZXcpOwogICAgIHZpZXctPnNldFdpbmRvd0lzS2V5KHRydWUpOwogfQogCi1zdGF0
aWMgdm9pZCB1bmZvY3VzKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQor
c3RhdGljIHZvaWQgdW5mb2N1cyhXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCopCiB7Ci0gICAg
UGxhdGZvcm1XZWJWaWV3KiB2aWV3ID0gc3RhdGljX2Nhc3Q8UGxhdGZvcm1XZWJWaWV3Kj4oY29u
c3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOworICAgIFBsYXRmb3JtV2ViVmlldyogdmlldyA9
IHZpZXdzLmdldChwYWdlKTsKKyAgICBBU1NFUlQodmlldyk7CiAgICAgdmlldy0+c2V0V2luZG93
SXNLZXkoZmFsc2UpOwogfQogCkBAIC0xNzcsMTYgKzE3MSwxOCBAQCBzdGF0aWMgdm9pZCBkZWNp
ZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdLUGFnZVJlZiwgV0tGcmFt
ZVJlZiwgVwogICAgIFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5oYW5kbGVHZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0KHBlcm1pc3Npb25SZXF1ZXN0KTsKIH0KIAotV0tQYWdlUmVmIFRlc3RD
b250cm9sbGVyOjpjcmVhdGVPdGhlclBhZ2UoV0tQYWdlUmVmIG9sZFBhZ2UsIFdLVVJMUmVxdWVz
dFJlZiwgV0tEaWN0aW9uYXJ5UmVmLCBXS0V2ZW50TW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0
b24sIGNvbnN0IHZvaWQqKQorV0tQYWdlUmVmIFRlc3RDb250cm9sbGVyOjpjcmVhdGVPdGhlclBh
Z2UoV0tQYWdlUmVmIG9sZFBhZ2UsIFdLVVJMUmVxdWVzdFJlZiwgV0tEaWN0aW9uYXJ5UmVmLCBX
S0V2ZW50TW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24sIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pCiB7CisgICAgY29uc3QgVGVzdENvbnRyb2xsZXIqIHRlc3RDb250cm9sbGVyID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgVGVzdENvbnRyb2xsZXIqPihjbGllbnRJbmZvKTsKICAgICBQbGF0Zm9ybVdl
YlZpZXcqIHZpZXcgPSBuZXcgUGxhdGZvcm1XZWJWaWV3KFdLUGFnZUdldENvbnRleHQob2xkUGFn
ZSksIFdLUGFnZUdldFBhZ2VHcm91cChvbGRQYWdlKSk7CiAgICAgV0tQYWdlUmVmIG5ld1BhZ2Ug
PSB2aWV3LT5wYWdlKCk7CisgICAgdmlld3MuYWRkKG5ld1BhZ2UsIHZpZXcpOwogCiAgICAgdmll
dy0+cmVzaXplVG8oODAwLCA2MDApOwogCiAgICAgV0tQYWdlVUlDbGllbnQgb3RoZXJQYWdlVUlD
bGllbnQgPSB7CiAgICAgICAgIGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uLAotICAgICAg
ICB2aWV3LAorICAgICAgICB0ZXN0Q29udHJvbGxlciwKICAgICAgICAgMCwgLy8gY3JlYXRlTmV3
UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwCiAgICAgICAgIDAsIC8vIHNob3dQYWdlCiAgICAg
ICAgIGNsb3NlT3RoZXJQYWdlLApAQCAtMjA5LDggKzIwNSw4IEBAIFdLUGFnZVJlZiBUZXN0Q29u
dHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS1VSTFJlcXVlc3RS
ZWYsIFdLCiAgICAgICAgIDAsIC8vIHNldFN0YXR1c0JhcklzVmlzaWJsZQogICAgICAgICAwLCAv
LyBpc1Jlc2l6YWJsZQogICAgICAgICAwLCAvLyBzZXRJc1Jlc2l6YWJsZQotICAgICAgICBnZXRX
aW5kb3dGcmFtZU90aGVyUGFnZSwKLSAgICAgICAgc2V0V2luZG93RnJhbWVPdGhlclBhZ2UsCisg
ICAgICAgIGdldFdpbmRvd0ZyYW1lLAorICAgICAgICBzZXRXaW5kb3dGcmFtZSwKICAgICAgICAg
cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsLAogICAgICAgICAwLCAvLyBkaWREcmF3CiAgICAg
ICAgIDAsIC8vIHBhZ2VEaWRTY3JvbGwKQEAgLTM1NCw2ICszNTAsNyBAQCB2b2lkIFRlc3RDb250
cm9sbGVyOjppbml0aWFsaXplKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiAgICAgICAg
IFdLQ29udGV4dFNldEFkZGl0aW9uYWxQbHVnaW5zRGlyZWN0b3J5KG1fY29udGV4dC5nZXQoKSwg
dGVzdFBsdWdpbkRpcmVjdG9yeSgpKTsKIAogICAgIG1fbWFpbldlYlZpZXcgPSBhZG9wdFB0cihu
ZXcgUGxhdGZvcm1XZWJWaWV3KG1fY29udGV4dC5nZXQoKSwgbV9wYWdlR3JvdXAuZ2V0KCkpKTsK
KyAgICB2aWV3cy5hZGQobV9tYWluV2ViVmlldy0+cGFnZSgpLCBtX21haW5XZWJWaWV3LmdldCgp
KTsKIAogICAgIFdLUGFnZVVJQ2xpZW50IHBhZ2VVSUNsaWVudCA9IHsKICAgICAgICAga1dLUGFn
ZVVJQ2xpZW50Q3VycmVudFZlcnNpb24sCkBAIC0zODAsOCArMzc3LDggQEAgdm9pZCBUZXN0Q29u
dHJvbGxlcjo6aW5pdGlhbGl6ZShpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKQogICAgICAg
ICAwLCAvLyBzZXRTdGF0dXNCYXJJc1Zpc2libGUKICAgICAgICAgMCwgLy8gaXNSZXNpemFibGUK
ICAgICAgICAgMCwgLy8gc2V0SXNSZXNpemFibGUKLSAgICAgICAgZ2V0V2luZG93RnJhbWVNYWlu
UGFnZSwKLSAgICAgICAgc2V0V2luZG93RnJhbWVNYWluUGFnZSwKKyAgICAgICAgZ2V0V2luZG93
RnJhbWUsCisgICAgICAgIHNldFdpbmRvd0ZyYW1lLAogICAgICAgICBydW5CZWZvcmVVbmxvYWRD
b25maXJtUGFuZWwsCiAgICAgICAgIDAsIC8vIGRpZERyYXcKICAgICAgICAgMCwgLy8gcGFnZURp
ZFNjcm9sbAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167314</attachid>
            <date>2012-10-05 05:25:43 -0700</date>
            <delta_ts>2012-10-05 09:16:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98503_uiclient_callbacks2.patch</filename>
            <type>text/plain</type>
            <size>5287</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxOTIy
MWIxLi5iZDc2ODllIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMTAtMDUgIENocmlzdG9waGUgRHVtZXogIDxj
aHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBbV0syXVtXS1RSXSBBdm9pZCBk
dXBsaWNhdGlvbiBvZiBVSUNsaWVudCBjYWxsYmFja3MgZm9yIG1haW4gcGFnZSBhbmQgb3RoZXIg
cGFnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4
NTAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXZv
aWQgdGhlIG5lZWQgZm9yIGR1cGxpY2F0aW5nIFVJQ2xpZW50IGNhbGxiYWNrcyBmb3IgbWFpbiBw
YWdlCisgICAgICAgIGFuZCBvdGhlciBwYWdlcyBieSBwYXNzaW5nIHRoZSB2aWV3IGFzIGNsaWVu
dEluZm8KKyAgICAgICAgZm9yIHRob3NlIGNhbGxiYWNrcy4KKworICAgICAgICBQcmV2aW91c2x5
LCBjYWxsYmFja3MgZm9yIHRoZSBtYWluIHBhZ2Ugd2VyZSBwYXNzZWQgdGhlCisgICAgICAgIFRl
c3RDb250cm9sbGVyIGFzIGNsaWVudEluZm8gd2hpbGUgdGhlIGNhbGxiYWNrcyBmb3Igb3RoZXIg
cGFnZXMKKyAgICAgICAgd2VyZSBwYXNzZWQgdGhlIFBsYXRmb3JtV2ViVmlldyBhcyBjbGllbnRJ
bmZvLiBUaGlzIHdhcyBlcnJvciBwcm9uZQorICAgICAgICBhbmQgbGVhZHMgdG8gdXNlbGVzcyBj
b2RlIGR1cGxpY2F0aW9uLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHA6CisgICAgICAgIChXVFI6OmdldFdpbmRvd0ZyYW1lKToKKyAgICAgICAgKFdUUjo6
c2V0V2luZG93RnJhbWUpOgorICAgICAgICAoV1RSOjpydW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWwpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKToKKyAg
ICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUpOgorICAgICAgICAoV1RSOjpU
ZXN0Q29udHJvbGxlcjo6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3QpOgorCiAyMDEyLTEwLTA1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+
CiAKICAgICAgICAgW1F0XSBFbmFibGUgQ1NTIGNvbXBvc2l0aW5nIGJ5IGRlZmF1bHQKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggYTRhMDBlZC4uZTk5Yzgy
ZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTEwNywz
NSArMTA3LDIyIEBAIFRlc3RDb250cm9sbGVyOjp+VGVzdENvbnRyb2xsZXIoKQogewogfQogCi1z
dGF0aWMgV0tSZWN0IGdldFdpbmRvd0ZyYW1lTWFpblBhZ2UoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0
IHZvaWQqIGNsaWVudEluZm8pCi17Ci0gICAgUGxhdGZvcm1XZWJWaWV3KiB2aWV3ID0gc3RhdGlj
X2Nhc3Q8VGVzdENvbnRyb2xsZXIqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSktPm1h
aW5XZWJWaWV3KCk7Ci0gICAgcmV0dXJuIHZpZXctPndpbmRvd0ZyYW1lKCk7Ci19Ci0KLXN0YXRp
YyB2b2lkIHNldFdpbmRvd0ZyYW1lTWFpblBhZ2UoV0tQYWdlUmVmIHBhZ2UsIFdLUmVjdCBmcmFt
ZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBQbGF0Zm9ybVdlYlZpZXcqIHZpZXcg
PSBzdGF0aWNfY2FzdDxUZXN0Q29udHJvbGxlcio+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudElu
Zm8pKS0+bWFpbldlYlZpZXcoKTsKLSAgICB2aWV3LT5zZXRXaW5kb3dGcmFtZShmcmFtZSk7Ci19
Ci0KLXN0YXRpYyBXS1JlY3QgZ2V0V2luZG93RnJhbWVPdGhlclBhZ2UoV0tQYWdlUmVmIHBhZ2Us
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCitzdGF0aWMgV0tSZWN0IGdldFdpbmRvd0ZyYW1lKFdL
UGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewogICAgIFBsYXRmb3JtV2Vi
VmlldyogdmlldyA9IHN0YXRpY19jYXN0PFBsYXRmb3JtV2ViVmlldyo+KGNvbnN0X2Nhc3Q8dm9p
ZCo+KGNsaWVudEluZm8pKTsKICAgICByZXR1cm4gdmlldy0+d2luZG93RnJhbWUoKTsKIH0KIAot
c3RhdGljIHZvaWQgc2V0V2luZG93RnJhbWVPdGhlclBhZ2UoV0tQYWdlUmVmIHBhZ2UsIFdLUmVj
dCBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3N0YXRpYyB2b2lkIHNldFdpbmRvd0Zy
YW1lKFdLUGFnZVJlZiBwYWdlLCBXS1JlY3QgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
CiB7CiAgICAgUGxhdGZvcm1XZWJWaWV3KiB2aWV3ID0gc3RhdGljX2Nhc3Q8UGxhdGZvcm1XZWJW
aWV3Kj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwogICAgIHZpZXctPnNldFdpbmRv
d0ZyYW1lKGZyYW1lKTsKIH0KIAotc3RhdGljIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBh
bmVsKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS0ZyYW1lUmVmIGZyYW1l
LCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQorc3RhdGljIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29u
ZmlybVBhbmVsKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS0ZyYW1lUmVm
IGZyYW1lLCBjb25zdCB2b2lkKikKIHsKLSAgICBUZXN0Q29udHJvbGxlciogdGVzdENvbnRyb2xs
ZXIgPSBzdGF0aWNfY2FzdDxUZXN0Q29udHJvbGxlcio+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVu
dEluZm8pKTsKICAgICBwcmludGYoIkNPTkZJUk0gTkFWSUdBVElPTjogJXNcbiIsIHRvU1REKG1l
c3NhZ2UpLmNfc3RyKCkpOwotICAgIHJldHVybiB0ZXN0Q29udHJvbGxlci0+YmVmb3JlVW5sb2Fk
UmV0dXJuVmFsdWUoKTsKKyAgICByZXR1cm4gVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLmJlZm9y
ZVVubG9hZFJldHVyblZhbHVlKCk7CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgZXhj
ZWVkZWREYXRhYmFzZVF1b3RhKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tTZWN1cml0eU9yaWdp
blJlZiwgV0tTdHJpbmdSZWYsIFdLU3RyaW5nUmVmLCB1bnNpZ25lZCBsb25nIGxvbmcsIHVuc2ln
bmVkIGxvbmcgbG9uZywgdW5zaWduZWQgbG9uZyBsb25nLCB1bnNpZ25lZCBsb25nIGxvbmcsIGNv
bnN0IHZvaWQqKQpAQCAtMjA5LDggKzE5Niw4IEBAIFdLUGFnZVJlZiBUZXN0Q29udHJvbGxlcjo6
Y3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS1VSTFJlcXVlc3RSZWYsIFdLCiAg
ICAgICAgIDAsIC8vIHNldFN0YXR1c0JhcklzVmlzaWJsZQogICAgICAgICAwLCAvLyBpc1Jlc2l6
YWJsZQogICAgICAgICAwLCAvLyBzZXRJc1Jlc2l6YWJsZQotICAgICAgICBnZXRXaW5kb3dGcmFt
ZU90aGVyUGFnZSwKLSAgICAgICAgc2V0V2luZG93RnJhbWVPdGhlclBhZ2UsCisgICAgICAgIGdl
dFdpbmRvd0ZyYW1lLAorICAgICAgICBzZXRXaW5kb3dGcmFtZSwKICAgICAgICAgcnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsLAogICAgICAgICAwLCAvLyBkaWREcmF3CiAgICAgICAgIDAsIC8v
IHBhZ2VEaWRTY3JvbGwKQEAgLTM1Nyw3ICszNDQsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpp
bml0aWFsaXplKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiAKICAgICBXS1BhZ2VVSUNs
aWVudCBwYWdlVUlDbGllbnQgPSB7CiAgICAgICAgIGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJz
aW9uLAotICAgICAgICB0aGlzLAorICAgICAgICBtX21haW5XZWJWaWV3LmdldCgpLAogICAgICAg
ICAwLCAvLyBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAKICAgICAgICAgMCwg
Ly8gc2hvd1BhZ2UKICAgICAgICAgMCwgLy8gY2xvc2UKQEAgLTM4MCw4ICszNjcsOCBAQCB2b2lk
IFRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10p
CiAgICAgICAgIDAsIC8vIHNldFN0YXR1c0JhcklzVmlzaWJsZQogICAgICAgICAwLCAvLyBpc1Jl
c2l6YWJsZQogICAgICAgICAwLCAvLyBzZXRJc1Jlc2l6YWJsZQotICAgICAgICBnZXRXaW5kb3dG
cmFtZU1haW5QYWdlLAotICAgICAgICBzZXRXaW5kb3dGcmFtZU1haW5QYWdlLAorICAgICAgICBn
ZXRXaW5kb3dGcmFtZSwKKyAgICAgICAgc2V0V2luZG93RnJhbWUsCiAgICAgICAgIHJ1bkJlZm9y
ZVVubG9hZENvbmZpcm1QYW5lbCwKICAgICAgICAgMCwgLy8gZGlkRHJhdwogICAgICAgICAwLCAv
LyBwYWdlRGlkU2Nyb2xsCkBAIC0xMDM2LDkgKzEwMjMsOSBAQCB2b2lkIFRlc3RDb250cm9sbGVy
OjpkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0SWZQb3NzaWJsZSgp
CiAgICAgbV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0cy5jbGVhcigpOwogfQogCi12b2lk
IFRlc3RDb250cm9sbGVyOjpkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdChXS1BhZ2VSZWYgcGFnZSwgV0tTZWN1cml0eU9yaWdpblJlZiBvcmlnaW4sIFdLTm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWYgcmVxdWVzdCwgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OmRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0KFdLUGFnZVJlZiBwYWdlLCBXS1NlY3VyaXR5T3JpZ2luUmVmIG9yaWdpbiwg
V0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZiByZXF1ZXN0LCBjb25zdCB2b2lkKikK
IHsKLSAgICBzdGF0aWNfY2FzdDxUZXN0Q29udHJvbGxlcio+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNs
aWVudEluZm8pKS0+ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Qo
cGFnZSwgb3JpZ2luLCByZXF1ZXN0KTsKKyAgICBUZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkuZGVj
aWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QocGFnZSwgb3JpZ2luLCBy
ZXF1ZXN0KTsKIH0KIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6ZGVjaWRlUG9saWN5Rm9yTm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3QoV0tQYWdlUmVmLCBXS1NlY3VyaXR5T3JpZ2luUmVmLCBX
S05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0UmVmIHJlcXVlc3QpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>