<?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>22493</bug_id>
          
          <creation_ts>2008-11-25 13:47:35 -0800</creation_ts>
          <short_desc>Abstract away JSC:: usage in WebCore/html</short_desc>
          <delta_ts>2008-11-25 18:21:33 -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>WebCore Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Fisher (:fishd, Google)">fishd</reporter>
          <assigned_to name="Darin Fisher (:fishd, Google)">fishd</assigned_to>
          <cc>ggaren</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>100272</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2008-11-25 13:47:35 -0800</bug_when>
    <thetext>Abstract away the JSC:: in WebCore/html/

My proposal is to define the following types:

  typedef RefPtr&lt;JSC::Bindings::Instance&gt; ScriptInstance;
  typedef PassRefPtr&lt;JSC::Bindings::Instance&gt; PassScriptInstance;

Then, I will use these types in HTMLPlugInElement.{h,cpp}.  The result will enable V8 bindings to work with HTMLPlugInElement without any modifications or #ifdefs.

The key here is that V8 bindings does not have something like JSC::Bindings::Instance.  Instead, the HTMLPlugInElement&apos;s getInstance method simply vends a V8Object that is pre-bound to the underlying NPObject returned by the plugin&apos;s getValue function.

I thought about changing the JSC build to also vend a JSValue* from HTMLPlugInElement::getInstance, but that wouldn&apos;t work out too well since there is not an ExecState available at the time when getInstance is called.  Hence, the typedef solution that I&apos;m proposing, which seems to allow the greatest flexibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100288</commentid>
    <comment_count>1</comment_count>
      <attachid>25501</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2008-11-25 14:09:49 -0800</bug_when>
    <thetext>Created attachment 25501
v1 patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100345</commentid>
    <comment_count>2</comment_count>
      <attachid>25501</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2008-11-25 17:15:58 -0800</bug_when>
    <thetext>Comment on attachment 25501
v1 patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100346</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2008-11-25 17:19:49 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/38774</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100362</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2008-11-25 18:21:33 -0800</bug_when>
    <thetext>Windows bustage fix:
http://trac.webkit.org/changeset/38777

This change was required because runtime.h is now exposed via ScriptInstance.h, forcing it to be a &quot;private&quot; header that WebKit.vcproj can see.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25501</attachid>
            <date>2008-11-25 14:09:49 -0800</date>
            <delta_ts>2008-11-25 17:15:58 -0800</delta_ts>
            <desc>v1 patch</desc>
            <filename>si_1.diff</filename>
            <type>text/plain</type>
            <size>13112</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM4NzYw
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDgtMTEt
MjUgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI0OTMKKyAgICAgICAgQWJzdHJhY3QgYXdheSBKU0M6OiB1c2FnZSBp
biBXZWJDb3JlL2h0bWwKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6cGx1Z2luSW5zdGFuY2UpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL1NjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250
cm9sbGVyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Y3JlYXRl
U2NyaXB0SW5zdGFuY2VGb3JXaWRnZXQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdElu
c3RhbmNlLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFBsdWdJbkVsZW1lbnQ6On5IVE1MUGx1Z0luRWxlbWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudDo6Z2V0SW5zdGFuY2UpOgorICAg
ICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaDoKKwogMjAwOC0xMS0yNSAgRGF2aWQgTGV2
aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFBy
b3NrdXJ5YWtvdi4KSW5kZXg6IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDM4
NzU1KQorKysgV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTksNyArMTk5LDcgQEAKIAkJMUE1NjlEMUEwRDdFMkI4MjAwN0MzOTgzIC8qIG9iamNf
dXRpbGl0eS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBNTY5Q0VCMEQ3RTJCODIwMDdDMzk4MyAvKiBvYmpjX3V0aWxpdHkubW0gKi87IH07CiAJCTFB
NTY5RDFCMEQ3RTJCODIwMDdDMzk4MyAvKiBXZWJTY3JpcHRPYmplY3QuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTY5Q0VDMEQ3RTJCODIwMDdDMzk4
MyAvKiBXZWJTY3JpcHRPYmplY3QuaCAqLzsgfTsKIAkJMUE1NjlEMUMwRDdFMkI4MjAwN0MzOTgz
IC8qIHJ1bnRpbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUE1NjlDRUQwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWUuY3BwICovOyB9OwotCQkx
QTU2OUQxRDBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NjlDRUUwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1
bnRpbWUuaCAqLzsgfTsKKwkJMUE1NjlEMUQwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTY5Q0VFMEQ3
RTJCODIwMDdDMzk4MyAvKiBydW50aW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUE1NjlEMUUwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWVf
YXJyYXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUE1NjlDRUYwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWVfYXJyYXkuY3BwICovOyB9OwogCQkx
QTU2OUQxRjBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NjlDRjAwRDdFMkI4MjAwN0MzOTgz
IC8qIHJ1bnRpbWVfYXJyYXkuaCAqLzsgfTsKIAkJMUE1NjlEMjAwRDdFMkI4MjAwN0MzOTgzIC8q
IHJ1bnRpbWVfbWV0aG9kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBNTY5Q0YxMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX21ldGhvZC5jcHAg
Ki87IH07CkBAIC0xODA0LDYgKzE4MDQsNyBAQAogCQk5MzRDQzBFMTBFRDM5RDZGMDBBNjU4RjIg
LyogU2NyaXB0VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTM0Q0MwREYwRUQzOUQ2RjAwQTY1OEYyIC8qIFNjcmlwdFZhbHVlLmNwcCAqLzsg
fTsKIAkJOTM0Q0MwRTIwRUQzOUQ2RjAwQTY1OEYyIC8qIFNjcmlwdFZhbHVlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzRDQzBFMDBFRDM5RDZGMDBB
NjU4RjIgLyogU2NyaXB0VmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk5MzRDQzEwQTBFREIyMjM5MDBBNjU4RjIgLyogU2NyaXB0U291cmNl
Q29kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM0
Q0MxMDkwRURCMjIzOTAwQTY1OEYyIC8qIFNjcmlwdFNvdXJjZUNvZGUuaCAqLzsgfTsKKwkJOTM0
Q0MxMTcwRURDQUM3MzAwQTY1OEYyIC8qIFNjcmlwdEluc3RhbmNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzRDQzExNjBFRENBQzczMDBBNjU4RjIg
LyogU2NyaXB0SW5zdGFuY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk5MzREOUJBNTBCOEMxMTZCMDA3QjQyQTkgLyogV2ViQ29yZU5TU3RyaW5n
RXh0cmFzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTM0RDlCQTQwQjhDMTE2QjAwN0I0MkE5IC8qIFdlYkNvcmVOU1N0cmluZ0V4dHJhcy5tbSAqLzsg
fTsKIAkJOTM0RDlCQTcwQjhDMTE3NTAwN0I0MkE5IC8qIFdlYkNvcmVOU1N0cmluZ0V4dHJhcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM0RDlCQTYw
QjhDMTE3NTAwN0I0MkE5IC8qIFdlYkNvcmVOU1N0cmluZ0V4dHJhcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzNEY3MTM4MEQ1QTZFRkYwMDAx
OEQ2OSAvKiBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM0RjcxMzcwRDVBNkVGRjAwMDE4RDY5IC8q
IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQmFzZS5jcHAgKi87IH07CkBAIC02NTkwLDYgKzY1OTEs
NyBAQAogCQk5MzRDQzBERjBFRDM5RDZGMDBBNjU4RjIgLyogU2NyaXB0VmFsdWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0VmFsdWUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5MzRDQzBFMDBFRDM5RDZGMDBBNjU4RjIgLyogU2NyaXB0
VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0VmFsdWUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTM0Q0MxMDkwRURCMjIzOTAwQTY1OEYyIC8q
IFNjcmlwdFNvdXJjZUNvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Ny
aXB0U291cmNlQ29kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5MzRDQzExNjBF
RENBQzczMDBBNjU4RjIgLyogU2NyaXB0SW5zdGFuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU2NyaXB0SW5zdGFuY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTM0RDlCQTQwQjhDMTE2QjAwN0I0MkE5IC8qIFdlYkNvcmVOU1N0cmluZ0V4dHJhcy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJDb3JlTlNTdHJpbmdF
eHRyYXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzNEQ5QkE2MEI4QzExNzUw
MDdCNDJBOSAvKiBXZWJDb3JlTlNTdHJpbmdFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYkNvcmVOU1N0cmluZ0V4dHJhcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5MzRGNzEzNzBENUE2RUZGMDAwMThENjkgLyogQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VCYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTMwODAsNiArMTMwODIsNyBAQAogCQkJCTkzQjcwRDUzMDlFQjBDN0MwMDlEODQ2OCAvKiBT
Y3JpcHRDb250cm9sbGVyLmNwcCAqLywKIAkJCQk5M0I3MEQ1NDA5RUIwQzdDMDA5RDg0NjggLyog
U2NyaXB0Q29udHJvbGxlci5oICovLAogCQkJCUE4M0UxQzcyMEU0OTA0MkIwMDE0MEI5QyAvKiBT
Y3JpcHRDb250cm9sbGVyTWFjLm1tICovLAorCQkJCTkzNENDMTE2MEVEQ0FDNzMwMEE2NThGMiAv
KiBTY3JpcHRJbnN0YW5jZS5oICovLAogCQkJCTkzNENDMTA5MEVEQjIyMzkwMEE2NThGMiAvKiBT
Y3JpcHRTb3VyY2VDb2RlLmggKi8sCiAJCQkJNDE2RjQ1RUYwRUQ3QjMxMTAwODIxNUI2IC8qIFNj
cmlwdFN0cmluZy5oICovLAogCQkJCTkzNENDMERGMEVEMzlENkYwMEE2NThGMiAvKiBTY3JpcHRW
YWx1ZS5jcHAgKi8sCkBAIC0xNjQwNiw2ICsxNjQwOSw3IEBACiAJCQkJMDgwQUVDODQwRUQ4NzA4
QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMDgyMDNBQTAwRUQ4QzM1MzAwQjhCNjFBIC8qIFdNTEFjY2Vzc0VsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTkzNENDMTBBMEVEQjIyMzkwMEE2NThGMiAvKiBTY3JpcHRTb3VyY2VDb2Rl
LmggaW4gSGVhZGVycyAqLywKKwkJCQk5MzRDQzExNzBFRENBQzczMDBBNjU4RjIgLyogU2NyaXB0
SW5zdGFuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogYmluZGluZ3MvanMvSlNQbHVnaW5FbGVt
ZW50RnVuY3Rpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBiaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1l
bnRGdW5jdGlvbnMuY3BwCShyZXZpc2lvbiAzODc1NSkKKysrIGJpbmRpbmdzL2pzL0pTUGx1Z2lu
RWxlbWVudEZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDggQEAgc3Rh
dGljIEluc3RhbmNlKiBwbHVnaW5JbnN0YW5jZShOb2RlKiBubwogICAgIGlmICghKG5vZGUtPmhh
c1RhZ05hbWUob2JqZWN0VGFnKSB8fCBub2RlLT5oYXNUYWdOYW1lKGVtYmVkVGFnKSB8fCBub2Rl
LT5oYXNUYWdOYW1lKGFwcGxldFRhZykpKQogICAgICAgICByZXR1cm4gMDsKICAgICBIVE1MUGx1
Z0luRWxlbWVudCogcGx1Z0luRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxQbHVnSW5FbGVtZW50
Kj4obm9kZSk7Ci0gICAgSW5zdGFuY2UqIGluc3RhbmNlID0gcGx1Z0luRWxlbWVudC0+Z2V0SW5z
dGFuY2UoKTsKKyAgICAvLyBUaGUgcGx1Z2luIGVsZW1lbnQgaG9sZHMgYW4gb3duaW5nIHJlZmVy
ZW5jZSwgc28gd2UgZG9uJ3QgaGF2ZSB0by4KKyAgICBJbnN0YW5jZSogaW5zdGFuY2UgPSBwbHVn
SW5FbGVtZW50LT5nZXRJbnN0YW5jZSgpLmdldCgpOwogICAgIGlmICghaW5zdGFuY2UgfHwgIWlu
c3RhbmNlLT5yb290T2JqZWN0KCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHJldHVybiBpbnN0
YW5jZTsKSW5kZXg6IGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgJKHJldmlzaW9uIDM4NzU1KQorKysgYmlu
ZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw2ICsyMyw3
IEBACiAjZGVmaW5lIFNjcmlwdENvbnRyb2xsZXJfaAogCiAjaW5jbHVkZSAiSlNET01XaW5kb3dT
aGVsbC5oIgorI2luY2x1ZGUgIlNjcmlwdEluc3RhbmNlLmgiCiAjaW5jbHVkZSA8cnVudGltZS9Q
cm90ZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00Miw3ICs0Myw2IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogCiAgICAgbmFtZXNwYWNl
IEJpbmRpbmdzIHsKLSAgICAgICAgY2xhc3MgSW5zdGFuY2U7CiAgICAgICAgIGNsYXNzIFJvb3RP
YmplY3Q7CiAgICAgfQogfQpAQCAtMTA5LDcgKzEwOSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNs
ZWFyU2NyaXB0T2JqZWN0cygpOwogICAgIHZvaWQgY2xlYW51cFNjcmlwdE9iamVjdHNGb3JQbHVn
aW4odm9pZCopOwogCi0gICAgUGFzc1JlZlB0cjxKU0M6OkJpbmRpbmdzOjpJbnN0YW5jZT4gY3Jl
YXRlU2NyaXB0SW5zdGFuY2VGb3JXaWRnZXQoV2lkZ2V0Kik7CisgICAgUGFzc1NjcmlwdEluc3Rh
bmNlIGNyZWF0ZVNjcmlwdEluc3RhbmNlRm9yV2lkZ2V0KFdpZGdldCopOwogICAgIEpTQzo6Qmlu
ZGluZ3M6OlJvb3RPYmplY3QqIGJpbmRpbmdSb290T2JqZWN0KCk7CiAKICAgICBQYXNzUmVmUHRy
PEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3Q+IGNyZWF0ZVJvb3RPYmplY3Qodm9pZCogbmF0aXZl
SGFuZGxlKTsKSW5kZXg6IGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXJNYWMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlck1hYy5tbQkocmV2aXNpb24gMzg3
NTUpCisrKyBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyTWFjLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC02Myw3ICs2Myw3IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M6OkJpbmRpbmdzOwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8SlNDOjpCaW5kaW5nczo6SW5zdGFuY2U+IFNj
cmlwdENvbnRyb2xsZXI6OmNyZWF0ZVNjcmlwdEluc3RhbmNlRm9yV2lkZ2V0KFdpZGdldCogd2lk
Z2V0KQorUGFzc1NjcmlwdEluc3RhbmNlIFNjcmlwdENvbnRyb2xsZXI6OmNyZWF0ZVNjcmlwdElu
c3RhbmNlRm9yV2lkZ2V0KFdpZGdldCogd2lkZ2V0KQogewogICAgIE5TVmlldyogd2lkZ2V0Vmll
dyA9IHdpZGdldC0+cGxhdGZvcm1XaWRnZXQoKTsKICAgICBpZiAoIXdpZGdldFZpZXcpCkluZGV4
OiBiaW5kaW5ncy9qcy9TY3JpcHRJbnN0YW5jZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGJpbmRpbmdzL2pz
L1NjcmlwdEluc3RhbmNlLmgJKHJldmlzaW9uIDApCisrKyBiaW5kaW5ncy9qcy9TY3JpcHRJbnN0
YW5jZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChj
KSAyMDA4LCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqIAorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICogCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU2NyaXB0SW5z
dGFuY2VfaAorI2RlZmluZSBTY3JpcHRJbnN0YW5jZV9oCisKKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CisjaW5jbHVkZSAicnVudGltZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3R5cGVk
ZWYgUmVmUHRyPEpTQzo6QmluZGluZ3M6Okluc3RhbmNlPiBTY3JpcHRJbnN0YW5jZTsKK3R5cGVk
ZWYgUGFzc1JlZlB0cjxKU0M6OkJpbmRpbmdzOjpJbnN0YW5jZT4gUGFzc1NjcmlwdEluc3RhbmNl
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBTY3JpcHRJbnN0YW5jZV9o
CkluZGV4OiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBodG1sL0hU
TUxQbHVnSW5FbGVtZW50LmNwcAkocmV2aXNpb24gMzg3NTUpCisrKyBodG1sL0hUTUxQbHVnSW5F
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTkgKzMyLDEyIEBACiAjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5o
IgorI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgog
I2luY2x1ZGUgIldpZGdldC5oIgotI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKLQotI2lm
IFVTRShKU0MpCi0jaW5jbHVkZSAicnVudGltZS5oIgotI2VuZGlmCiAKICNpZiBFTkFCTEUoTkVU
U0NBUEVfUExVR0lOX0FQSSkKLSNpbmNsdWRlICJKU05vZGUuaCIKLSNpbmNsdWRlICJOUF9qc29i
amVjdC5oIgogI2luY2x1ZGUgIm5wcnVudGltZV9pbXBsLmgiCi0jaW5jbHVkZSAicnVudGltZV9y
b290LmgiCiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjEsOSArNTQsNyBAQCBI
VE1MUGx1Z0luRWxlbWVudDo6SFRNTFBsdWdJbkVsZW1lbnQoY29uCiAKIEhUTUxQbHVnSW5FbGVt
ZW50Ojp+SFRNTFBsdWdJbkVsZW1lbnQoKQogewotI2lmIFVTRShKU0MpCiAgICAgQVNTRVJUKCFt
X2luc3RhbmNlKTsgLy8gY2xlYXJlZCBpbiBkZXRhY2goKQotI2VuZGlmCiAKICNpZiBFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBpZiAobV9OUE9iamVjdCkgewpAQCAtNzMsMTQgKzY0
LDEzIEBAIEhUTUxQbHVnSW5FbGVtZW50Ojp+SFRNTFBsdWdJbkVsZW1lbnQoKQogI2VuZGlmCiB9
CiAKLSNpZiBVU0UoSlNDKQogdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6ZGV0YWNoKCkKIHsKICAg
ICBtX2luc3RhbmNlLmNsZWFyKCk7CiAgICAgSFRNTEZyYW1lT3duZXJFbGVtZW50OjpkZXRhY2go
KTsKIH0KIAotSlNDOjpCaW5kaW5nczo6SW5zdGFuY2UqIEhUTUxQbHVnSW5FbGVtZW50OjpnZXRJ
bnN0YW5jZSgpIGNvbnN0CitQYXNzU2NyaXB0SW5zdGFuY2UgSFRNTFBsdWdJbkVsZW1lbnQ6Omdl
dEluc3RhbmNlKCkgY29uc3QKIHsKICAgICBGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFt
ZSgpOwogICAgIGlmICghZnJhbWUpCkBAIC04OSwxNSArNzksMTQgQEAgSlNDOjpCaW5kaW5nczo6
SW5zdGFuY2UqIEhUTUxQbHVnSW5FbGVtZQogICAgIC8vIElmIHRoZSBob3N0IGR5bmFtaWNhbGx5
IHR1cm5zIG9mZiBKYXZhU2NyaXB0IChvciBKYXZhKSB3ZSB3aWxsIHN0aWxsIHJldHVybgogICAg
IC8vIHRoZSBjYWNoZWQgYWxsb2NhdGVkIEJpbmRpbmdzOjpJbnN0YW5jZS4gIE5vdCBzdXBwb3J0
aW5nIHRoaXMgZWRnZS1jYXNlIGlzIE9LLgogICAgIGlmIChtX2luc3RhbmNlKQotICAgICAgICBy
ZXR1cm4gbV9pbnN0YW5jZS5nZXQoKTsKKyAgICAgICAgcmV0dXJuIG1faW5zdGFuY2U7CiAKICAg
ICBSZW5kZXJXaWRnZXQqIHJlbmRlcldpZGdldCA9IHJlbmRlcldpZGdldEZvckpTQmluZGluZ3Mo
KTsKICAgICBpZiAocmVuZGVyV2lkZ2V0ICYmIHJlbmRlcldpZGdldC0+d2lkZ2V0KCkpCiAgICAg
ICAgIG1faW5zdGFuY2UgPSBmcmFtZS0+c2NyaXB0KCktPmNyZWF0ZVNjcmlwdEluc3RhbmNlRm9y
V2lkZ2V0KHJlbmRlcldpZGdldC0+d2lkZ2V0KCkpOwogCi0gICAgcmV0dXJuIG1faW5zdGFuY2Uu
Z2V0KCk7CisgICAgcmV0dXJuIG1faW5zdGFuY2U7CiB9Ci0jZW5kaWYKIAogU3RyaW5nIEhUTUxQ
bHVnSW5FbGVtZW50OjphbGlnbigpIGNvbnN0CiB7CkluZGV4OiBodG1sL0hUTUxQbHVnSW5FbGVt
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCShyZXZpc2lvbiAz
ODc1NSkKKysrIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjQs
MTQgKzI0LDcgQEAKICNkZWZpbmUgSFRNTFBsdWdJbkVsZW1lbnRfaAogCiAjaW5jbHVkZSAiSFRN
TEZyYW1lT3duZXJFbGVtZW50LmgiCi0KLSNpZiBVU0UoSlNDKQotbmFtZXNwYWNlIEpTQyB7Ci0g
ICAgbmFtZXNwYWNlIEJpbmRpbmdzIHsKLSAgICAgICAgY2xhc3MgSW5zdGFuY2U7Ci0gICAgfQot
fQotI2VuZGlmCisjaW5jbHVkZSAiU2NyaXB0SW5zdGFuY2UuaCIKIAogI2lmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQogc3RydWN0IE5QT2JqZWN0OwpAQCAtNjksMTAgKzYyLDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAKICAg
ICB2aXJ0dWFsIFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncygpIGNvbnN0
ID0gMDsKLSNpZiBVU0UoSlNDKQogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKLSAgICBKU0M6
OkJpbmRpbmdzOjpJbnN0YW5jZSogZ2V0SW5zdGFuY2UoKSBjb25zdDsKLSNlbmRpZgorICAgIFBh
c3NTY3JpcHRJbnN0YW5jZSBnZXRJbnN0YW5jZSgpIGNvbnN0OwogCiAjaWYgRU5BQkxFKE5FVFND
QVBFX1BMVUdJTl9BUEkpCiAgICAgdmlydHVhbCBOUE9iamVjdCogZ2V0TlBPYmplY3QoKTsKQEAg
LTgyLDkgKzczLDcgQEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyB2b2lkIHVwZGF0ZVdpZGdldENh
bGxiYWNrKE5vZGUqKTsKIAogICAgIEF0b21pY1N0cmluZyBtX25hbWU7Ci0jaWYgVVNFKEpTQykK
LSAgICBtdXRhYmxlIFJlZlB0cjxKU0M6OkJpbmRpbmdzOjpJbnN0YW5jZT4gbV9pbnN0YW5jZTsK
LSNlbmRpZgorICAgIG11dGFibGUgU2NyaXB0SW5zdGFuY2UgbV9pbnN0YW5jZTsKICNpZiBFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBOUE9iamVjdCogbV9OUE9iamVjdDsKICNlbmRp
Zgo=
</data>
<flag name="review"
          id="11849"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>