<?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>17324</bug_id>
          
          <creation_ts>2008-02-12 01:28:13 -0800</creation_ts>
          <short_desc>Remove PLATFORM ifdefs from ContextMenu.cpp</short_desc>
          <delta_ts>2008-06-07 11:19:16 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Christian Dywan">christian</assigned_to>
          <cc>alp</cc>
    
    <cc>christian</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>70366</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-02-12 01:28:13 -0800</bug_when>
    <thetext>Remove PLATFORM(GTK) ifdefs from ContextMenu.cpp

Uggggly.

platform/ContextMenu.cpp:49:#if PLATFORM(GTK)
platform/ContextMenu.cpp:81:#if PLATFORM(MAC)
platform/ContextMenu.cpp:88:#if PLATFORM(MAC)
platform/ContextMenu.cpp:93:#if PLATFORM(MAC)
platform/ContextMenu.cpp:100:#if PLATFORM(MAC)
platform/ContextMenu.cpp:151:#if PLATFORM(MAC)
platform/ContextMenu.cpp:166:#if PLATFORM(GTK)
platform/ContextMenu.cpp:299:#if PLATFORM(MAC)
platform/ContextMenu.cpp:323:#if PLATFORM(GTK)
platform/ContextMenu.cpp:333:#if PLATFORM(GTK)
platform/ContextMenu.cpp:367:#if PLATFORM(MAC)
platform/ContextMenu.cpp:372:#if PLATFORM(MAC)
platform/ContextMenu.cpp:379:#if PLATFORM(GTK)
platform/ContextMenu.cpp:457:#if PLATFORM(MAC)
platform/ContextMenu.cpp:463:#if PLATFORM(MAC)
platform/ContextMenu.cpp:472:#if PLATFORM(GTK)
platform/ContextMenu.cpp:495:#if PLATFORM(MAC)
platform/ContextMenu.cpp:501:#if PLATFORM(GTK)
platform/ContextMenu.cpp:590:#if PLATFORM(GTK)
platform/ContextMenu.cpp:652:#if PLATFORM(GTK)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70367</commentid>
    <comment_count>1</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-02-12 01:32:20 -0800</bug_when>
    <thetext>Agreed. ContextMenu.cpp needs to be split up and put into the platform layers, though we still need to allow a mechanism for WebCore to insert menu entries as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82559</commentid>
    <comment_count>2</comment_count>
      <attachid>21560</attachid>
    <who name="Christian Dywan">christian</who>
    <bug_when>2008-06-07 09:31:55 -0700</bug_when>
    <thetext>Created attachment 21560
Move webkit code to ContextMenuClient

This patch moves code that needs access to webkit to ContextMenuClientGtk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82562</commentid>
    <comment_count>3</comment_count>
      <attachid>21560</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-06-07 10:36:17 -0700</bug_when>
    <thetext>Comment on attachment 21560
Move webkit code to ContextMenuClient

Assuming the code still works, the move looks fine.

new WebKit::ContextMenuClient (webView)

seems to have an extra space.

And:
+        WebKitWebView *m_webView;

Is in a WebCore file, but puts the * in the opposite place as the rest of WebCore. :)

It would be nice to land with those to changes, but in general looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82564</commentid>
    <comment_count>4</comment_count>
      <attachid>21560</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-06-07 10:56:41 -0700</bug_when>
    <thetext>Comment on attachment 21560
Move webkit code to ContextMenuClient

It seems to me that a better approach would be to move the menu items into ContextMenu{Gtk,Mac,Win,Wx,Qt}.cpp, instead of moving the logic up into WebKit. WebKit&apos;s for the most part supposed to be a thin API layer that wraps WebCore, so I don&apos;t think moving this kind of logic there is the right direction to go in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82567</commentid>
    <comment_count>5</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2008-06-07 11:16:28 -0700</bug_when>
    <thetext>Landed in r34426, with style fixes as suggested by Eric.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82568</commentid>
    <comment_count>6</comment_count>
      <attachid>21560</attachid>
    <who name="Christian Dywan">christian</who>
    <bug_when>2008-06-07 11:19:16 -0700</bug_when>
    <thetext>Comment on attachment 21560
Move webkit code to ContextMenuClient

Clearing review flag.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21560</attachid>
            <date>2008-06-07 09:31:55 -0700</date>
            <delta_ts>2008-06-07 11:19:16 -0700</delta_ts>
            <desc>Move webkit code to ContextMenuClient</desc>
            <filename>contextmenu.diff</filename>
            <type>text/plain</type>
            <size>12663</size>
            <attacher name="Christian Dywan">christian</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuY3BwIGIvV2ViQ29yZS9w
bGF0Zm9ybS9Db250ZXh0TWVudS5jcHAKaW5kZXggZTMxYmU1NC4uOWMxNGY4MyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9Db250ZXh0TWVudS5jcHAKQEAgLTQ2LDE0ICs0Niw2IEBACiAjaW5jbHVkZSAiVGV4dEl0ZXJh
dG9yLmgiCiAjaW5jbHVkZSA8bWVtb3J5PgogCi0jaWYgUExBVEZPUk0oR1RLKQotLy8gRklYTUU6
IFdlIHNob3VsZG4ndCB1c2UgV2ViS2l0IGZyb20gV2ViQ29yZS4KLSNpbmNsdWRlICJ3ZWJraXRw
cml2YXRlLmgiCi0jaW5jbHVkZSAid2Via2l0d2Vidmlldy5oIgotI2luY2x1ZGUgPGdsaWIvZ2kx
OG4uaD4KLSNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2VuZGlmCi0KIHVzaW5nIG5hbWVz
cGFjZSBzdGQ7CiB1c2luZyBuYW1lc3BhY2UgV1RGOwogdXNpbmcgbmFtZXNwYWNlIFVuaWNvZGU7
CkBAIC0xNjEsOTUgKzE1Myw2IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZUFuZEFwcGVuZFNwZWVjaFN1
Yk1lbnUoY29uc3QgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBDb250ZXh0TWVuCiAKICAgICBzcGVl
Y2hNZW51SXRlbS5zZXRTdWJNZW51KCZzcGVlY2hNZW51KTsKIH0KLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oR1RLKQotc3RhdGljIGJvb2wgY3JlYXRlQW5kQXBwZW5kSW5wdXRNZXRob2RzU3ViTWVu
dShjb25zdCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIENvbnRleHRNZW51SXRlbSYgaW5wdXRNZXRo
b2RzTWVudUl0ZW0pCi17Ci0gICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IFdlYktpdDo6a2l0
KHJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+cGFnZSgp
KTsKLSAgICBpZiAoIXdlYlZpZXcpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdka1Nj
cmVlbiogc2NyZWVuID0gZ3RrX3dpZGdldF9oYXNfc2NyZWVuKEdUS19XSURHRVQod2ViVmlldykp
ID8gZ3RrX3dpZGdldF9nZXRfc2NyZWVuKEdUS19XSURHRVQod2ViVmlldykpIDogZ2RrX3NjcmVl
bl9nZXRfZGVmYXVsdCgpOwotICAgIGlmICghc2NyZWVuKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICBHdGtTZXR0aW5ncyogc2V0dGluZ3MgPSBndGtfc2V0dGluZ3NfZ2V0X2Zvcl9zY3Jl
ZW4oc2NyZWVuKTsKLSAgICBnYm9vbGVhbiBzaG93TWVudTsKLSAgICBnX29iamVjdF9nZXQoR19P
QkpFQ1Qoc2V0dGluZ3MpLCAiZ3RrLXNob3ctaW5wdXQtbWV0aG9kLW1lbnUiLCAmc2hvd01lbnUs
IE5VTEwpOwotICAgIGlmICghc2hvd01lbnUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAg
IFdlYktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gV0VCS0lUX1dFQl9WSUVXX0dFVF9QUklWQVRF
KHdlYlZpZXcpOwotICAgIEd0a1dpZGdldCogaW1Db250ZXh0TWVudSA9IGd0a19tZW51X25ldygp
OwotICAgIGd0a19pbV9tdWx0aWNvbnRleHRfYXBwZW5kX21lbnVpdGVtcyhHVEtfSU1fTVVMVElD
T05URVhUKHByaXYtPmltQ29udGV4dCksIEdUS19NRU5VX1NIRUxMKGltQ29udGV4dE1lbnUpKTsK
LQotICAgIENvbnRleHRNZW51IGlucHV0TWV0aG9kc01lbnUocmVzdWx0KTsKLSAgICBpbnB1dE1l
dGhvZHNNZW51LnNldFBsYXRmb3JtRGVzY3JpcHRpb24oR1RLX01FTlUoaW1Db250ZXh0TWVudSkp
OwotICAgIGlucHV0TWV0aG9kc01lbnVJdGVtLnNldFN1Yk1lbnUoJmlucHV0TWV0aG9kc01lbnUp
OwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLS8vIFZhbHVlcyB0YWtlbiBmcm9tIGd0a3RleHR1
dGlsLmMKLXR5cGVkZWYgc3RydWN0IHsKLSAgY29uc3QgY2hhciAqbGFiZWw7Ci0gIGd1bmljaGFy
IGNoOwotfSBHdGtVbmljb2RlTWVudUVudHJ5Owotc3RhdGljIGNvbnN0IEd0a1VuaWNvZGVNZW51
RW50cnkgYmlkaV9tZW51X2VudHJpZXNbXSA9IHsKLSAgeyBOXygiTFJNIF9MZWZ0LXRvLXJpZ2h0
IG1hcmsiKSwgMHgyMDBFIH0sCi0gIHsgTl8oIlJMTSBfUmlnaHQtdG8tbGVmdCBtYXJrIiksIDB4
MjAwRiB9LAotICB7IE5fKCJMUkUgTGVmdC10by1yaWdodCBfZW1iZWRkaW5nIiksIDB4MjAyQSB9
LAotICB7IE5fKCJSTEUgUmlnaHQtdG8tbGVmdCBlX21iZWRkaW5nIiksIDB4MjAyQiB9LAotICB7
IE5fKCJMUk8gTGVmdC10by1yaWdodCBfb3ZlcnJpZGUiKSwgMHgyMDJEIH0sCi0gIHsgTl8oIlJM
TyBSaWdodC10by1sZWZ0IG9fdmVycmlkZSIpLCAweDIwMkUgfSwKLSAgeyBOXygiUERGIF9Qb3Ag
ZGlyZWN0aW9uYWwgZm9ybWF0dGluZyIpLCAweDIwMkMgfSwKLSAgeyBOXygiWldTIF9aZXJvIHdp
ZHRoIHNwYWNlIiksIDB4MjAwQiB9LAotICB7IE5fKCJaV0ogWmVybyB3aWR0aCBfam9pbmVyIiks
IDB4MjAwRCB9LAotICB7IE5fKCJaV05KIFplcm8gd2lkdGggX25vbi1qb2luZXIiKSwgMHgyMDBD
IH0KLX07Ci0KLXN0YXRpYyB2b2lkIGluc2VydENvbnRyb2xDaGFyYWN0ZXIoR3RrV2lkZ2V0KiB3
aWRnZXQsIEZyYW1lKiBmcmFtZSkKLXsKLSAgICBHdGtVbmljb2RlTWVudUVudHJ5KiBlbnRyeSA9
IChHdGtVbmljb2RlTWVudUVudHJ5KilnX29iamVjdF9nZXRfZGF0YShHX09CSkVDVCh3aWRnZXQp
LCAiZ3RrLXVuaWNvZGUtbWVudS1lbnRyeSIpOwotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0K
LXN0YXRpYyBib29sIGNyZWF0ZUFuZEFwcGVuZFVuaWNvZGVTdWJNZW51KGNvbnN0IEhpdFRlc3RS
ZXN1bHQmIHJlc3VsdCwgQ29udGV4dE1lbnVJdGVtJiB1bmljb2RlTWVudUl0ZW0pCi17Ci0gICAg
V2ViS2l0V2ViVmlldyogd2ViVmlldyA9IFdlYktpdDo6a2l0KHJlc3VsdC5pbm5lck5vblNoYXJl
ZE5vZGUoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+cGFnZSgpKTsKLSAgICBpZiAoIXdlYlZpZXcp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdka1NjcmVlbiogc2NyZWVuID0gZ3RrX3dp
ZGdldF9oYXNfc2NyZWVuKEdUS19XSURHRVQod2ViVmlldykpID8gZ3RrX3dpZGdldF9nZXRfc2Ny
ZWVuKEdUS19XSURHRVQod2ViVmlldykpIDogZ2RrX3NjcmVlbl9nZXRfZGVmYXVsdCgpOwotICAg
IGlmICghc2NyZWVuKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBHdGtTZXR0aW5ncyog
c2V0dGluZ3MgPSBndGtfc2V0dGluZ3NfZ2V0X2Zvcl9zY3JlZW4oc2NyZWVuKTsKLSAgICBnYm9v
bGVhbiBzaG93TWVudTsKLSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1Qoc2V0dGluZ3MpLCAiZ3Rr
LXNob3ctdW5pY29kZS1tZW51IiwgJnNob3dNZW51LCBOVUxMKTsKLSAgICBpZiAoIXNob3dNZW51
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBHdGtXaWRnZXQqIHVuaWNvZGVDb250ZXh0
TWVudSA9IGd0a19tZW51X25ldygpOwotICAgIHVuc2lnbmVkIGk7Ci0gICAgZm9yIChpID0gMDsg
aSA8IEdfTl9FTEVNRU5UUyhiaWRpX21lbnVfZW50cmllcyk7IGkrKykgewotICAgICAgICBHdGtX
aWRnZXQqIG1lbnVpdGVtID0gZ3RrX21lbnVfaXRlbV9uZXdfd2l0aF9tbmVtb25pYyhfKGJpZGlf
bWVudV9lbnRyaWVzW2ldLmxhYmVsKSk7Ci0gICAgICAgIGdfb2JqZWN0X3NldF9kYXRhKEdfT0JK
RUNUKG1lbnVpdGVtKSwgImd0ay11bmljb2RlLW1lbnUtZW50cnkiLCAoZ3BvaW50ZXIpJmJpZGlf
bWVudV9lbnRyaWVzW2ldKTsKLSAgICAgICAgZ19zaWduYWxfY29ubmVjdChtZW51aXRlbSwgImFj
dGl2YXRlIiwgR19DQUxMQkFDSyhpbnNlcnRDb250cm9sQ2hhcmFjdGVyKSwgKGdwb2ludGVyKXJl
c3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSk7Ci0gICAgICAg
IGd0a193aWRnZXRfc2hvdyhtZW51aXRlbSk7Ci0gICAgICAgIGd0a19tZW51X3NoZWxsX2FwcGVu
ZChHVEtfTUVOVV9TSEVMTCh1bmljb2RlQ29udGV4dE1lbnUpLCBtZW51aXRlbSk7Ci0gICAgICAg
IC8vIEZJWE1FOiBNYWtlIHRoZSBpdGVtIHNlbnNpdGl2ZSBhcyBpbnNlcnRDb250cm9sQ2hhcmFj
dGVyKCkgaXMgaW1wbGVtZW50ZWQKLSAgICAgICAgZ3RrX3dpZGdldF9zZXRfc2Vuc2l0aXZlKG1l
bnVpdGVtLCBGQUxTRSk7Ci0gICAgfQotCi0gICAgQ29udGV4dE1lbnUgdW5pY29kZU1lbnUocmVz
dWx0KTsKLSAgICB1bmljb2RlTWVudS5zZXRQbGF0Zm9ybURlc2NyaXB0aW9uKEdUS19NRU5VKHVu
aWNvZGVDb250ZXh0TWVudSkpOwotICAgIHVuaWNvZGVNZW51SXRlbS5zZXRTdWJNZW51KCZ1bmlj
b2RlTWVudSk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLSNlbHNlCiAKIHN0YXRpYyB2b2lkIGNy
ZWF0ZUFuZEFwcGVuZFdyaXRpbmdEaXJlY3Rpb25TdWJNZW51KGNvbnN0IEhpdFRlc3RSZXN1bHQm
IHJlc3VsdCwgQ29udGV4dE1lbnVJdGVtJiB3cml0aW5nRGlyZWN0aW9uTWVudUl0ZW0pCiB7CkBA
IC00OTcsMjggKzQwMCwxMiBAQCB2b2lkIENvbnRleHRNZW51Ojpwb3B1bGF0ZSgpCiAgICAgICAg
ICAgICAgICAgY29udGV4dE1lbnVJdGVtVGFnU3BlZWNoTWVudSgpKTsKICAgICAgICAgICAgIGNy
ZWF0ZUFuZEFwcGVuZFNwZWVjaFN1Yk1lbnUobV9oaXRUZXN0UmVzdWx0LCBTcGVlY2hNZW51SXRl
bSk7CiAgICAgICAgICAgICBhcHBlbmRJdGVtKFNwZWVjaE1lbnVJdGVtKTsKLSNlbmRpZgotI2lm
IFBMQVRGT1JNKEdUSykKLSAgICAgICAgfQotCi0gICAgICAgIENvbnRleHRNZW51SXRlbSBJbnB1
dE1ldGhvZHNNZW51SXRlbShBY3Rpb25UeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdJbnB1dE1ldGhv
ZHMsIGNvbnRleHRNZW51SXRlbVRhZ0lucHV0TWV0aG9kcygpKTsKLSAgICAgICAgYm9vbCBzaG93
SW5wdXRNZXRob2RzTWVudSA9IGluUGFzc3dvcmRGaWVsZCA/IGZhbHNlIDogY3JlYXRlQW5kQXBw
ZW5kSW5wdXRNZXRob2RzU3ViTWVudShtX2hpdFRlc3RSZXN1bHQsIElucHV0TWV0aG9kc01lbnVJ
dGVtKTsKLSAgICAgICAgQ29udGV4dE1lbnVJdGVtIFVuaWNvZGVNZW51SXRlbShBY3Rpb25UeXBl
LCBDb250ZXh0TWVudUl0ZW1UYWdVbmljb2RlLCBjb250ZXh0TWVudUl0ZW1UYWdVbmljb2RlKCkp
OwotICAgICAgICBib29sIHNob3dVbmljb2RlTWVudSA9IGNyZWF0ZUFuZEFwcGVuZFVuaWNvZGVT
dWJNZW51KG1faGl0VGVzdFJlc3VsdCwgVW5pY29kZU1lbnVJdGVtKTsKLQotICAgICAgICBpZiAo
c2hvd0lucHV0TWV0aG9kc01lbnUgfHwgc2hvd1VuaWNvZGVNZW51KQotICAgICAgICAgICAgYXBw
ZW5kSXRlbSgqc2VwYXJhdG9ySXRlbSgpKTsKLSAgICAgICAgaWYgKHNob3dJbnB1dE1ldGhvZHNN
ZW51KQotICAgICAgICAgICAgYXBwZW5kSXRlbShJbnB1dE1ldGhvZHNNZW51SXRlbSk7Ci0gICAg
ICAgIGlmIChzaG93VW5pY29kZU1lbnUpCi0gICAgICAgICAgICBhcHBlbmRJdGVtKFVuaWNvZGVN
ZW51SXRlbSk7Ci0jZWxzZQogICAgICAgICAgICAgQ29udGV4dE1lbnVJdGVtIFdyaXRpbmdEaXJl
Y3Rpb25NZW51SXRlbShTdWJtZW51VHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnV3JpdGluZ0RpcmVj
dGlvbk1lbnUsIAogICAgICAgICAgICAgICAgIGNvbnRleHRNZW51SXRlbVRhZ1dyaXRpbmdEaXJl
Y3Rpb25NZW51KCkpOwogICAgICAgICAgICAgY3JlYXRlQW5kQXBwZW5kV3JpdGluZ0RpcmVjdGlv
blN1Yk1lbnUobV9oaXRUZXN0UmVzdWx0LCBXcml0aW5nRGlyZWN0aW9uTWVudUl0ZW0pOwogICAg
ICAgICAgICAgYXBwZW5kSXRlbShXcml0aW5nRGlyZWN0aW9uTWVudUl0ZW0pOwotICAgICAgICB9
CiAjZW5kaWYKKyAgICAgICAgfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9Db250ZXh0TWVudUNsaWVudEd0ay5jcHAgYi9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0NvbnRleHRNZW51Q2xpZW50R3RrLmNwcAppbmRleCA2YTJmZWIyLi41M2ZmODAy
IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0NvbnRleHRNZW51Q2xpZW50
R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0NvbnRleHRNZW51Q2xpZW50
R3RrLmNwcApAQCAtMjIsMTggKzIyLDEzOCBAQAogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgogCisjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KKyNpbmNsdWRl
IDxnbGliL2dpMThuLmg+CisjaW5jbHVkZSA8Z3RrL2d0ay5oPgorI2luY2x1ZGUgIndlYmtpdHBy
aXZhdGUuaCIKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCitDb250ZXh0TWVudUNsaWVudDo6Q29udGV4dE1lbnVDbGllbnQoV2ViS2l0V2ViVmlldyAq
d2ViVmlldykKKyAgICA6IG1fd2ViVmlldyh3ZWJWaWV3KQoreworfQorCiB2b2lkIENvbnRleHRN
ZW51Q2xpZW50Ojpjb250ZXh0TWVudURlc3Ryb3llZCgpCiB7CiAgICAgZGVsZXRlIHRoaXM7CiB9
CiAKK3N0YXRpYyBHdGtXaWRnZXQqIGlucHV0TWV0aG9kc01lbnVJdGVtIChXZWJLaXRXZWJWaWV3
KiB3ZWJWaWV3KQoreworICAgIEd0a1dpZGdldCogd2lkZ2V0ID0gR1RLX1dJREdFVCAod2ViVmll
dyk7CisgICAgR2RrU2NyZWVuKiBzY3JlZW4gPSB3aWRnZXQgJiYgZ3RrX3dpZGdldF9oYXNfc2Ny
ZWVuKHdpZGdldCkgPyBndGtfd2lkZ2V0X2dldF9zY3JlZW4od2lkZ2V0KSA6IGdka19zY3JlZW5f
Z2V0X2RlZmF1bHQoKTsKKyAgICBpZiAoIXNjcmVlbikKKyAgICAgICAgcmV0dXJuIDA7CisKKyAg
ICBHdGtTZXR0aW5ncyogc2V0dGluZ3MgPSBndGtfc2V0dGluZ3NfZ2V0X2Zvcl9zY3JlZW4oc2Ny
ZWVuKTsKKyAgICBnYm9vbGVhbiBzaG93TWVudTsKKyAgICBnX29iamVjdF9nZXQoR19PQkpFQ1Qo
c2V0dGluZ3MpLCAiZ3RrLXNob3ctaW5wdXQtbWV0aG9kLW1lbnUiLCAmc2hvd01lbnUsIE5VTEwp
OworICAgIGlmICghc2hvd01lbnUpCisgICAgICAgIHJldHVybiAwOworCisgICAgR3RrV2lkZ2V0
KiBtZW51aXRlbSA9IGd0a19pbWFnZV9tZW51X2l0ZW1fbmV3X3dpdGhfbW5lbW9uaWMoCisgICAg
ICAgIF8oIklucHV0IF9NZXRob2RzIikpOworCisgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHBy
aXYgPSBXRUJLSVRfV0VCX1ZJRVdfR0VUX1BSSVZBVEUod2ViVmlldyk7CisgICAgR3RrV2lkZ2V0
KiBpbUNvbnRleHRNZW51ID0gZ3RrX21lbnVfbmV3KCk7CisgICAgZ3RrX2ltX211bHRpY29udGV4
dF9hcHBlbmRfbWVudWl0ZW1zKEdUS19JTV9NVUxUSUNPTlRFWFQocHJpdi0+aW1Db250ZXh0KSwg
R1RLX01FTlVfU0hFTEwoaW1Db250ZXh0TWVudSkpOworCisgICAgZ3RrX21lbnVfaXRlbV9zZXRf
c3VibWVudShHVEtfTUVOVV9JVEVNKG1lbnVpdGVtKSwgaW1Db250ZXh0TWVudSk7CisKKyAgICBy
ZXR1cm4gbWVudWl0ZW07Cit9CisKKy8vIFZhbHVlcyB0YWtlbiBmcm9tIGd0a3RleHR1dGlsLmMK
K3R5cGVkZWYgc3RydWN0IHsKKyAgY29uc3QgY2hhciAqbGFiZWw7CisgIGd1bmljaGFyIGNoOwor
fSBHdGtVbmljb2RlTWVudUVudHJ5Oworc3RhdGljIGNvbnN0IEd0a1VuaWNvZGVNZW51RW50cnkg
YmlkaV9tZW51X2VudHJpZXNbXSA9IHsKKyAgeyBOXygiTFJNIF9MZWZ0LXRvLXJpZ2h0IG1hcmsi
KSwgMHgyMDBFIH0sCisgIHsgTl8oIlJMTSBfUmlnaHQtdG8tbGVmdCBtYXJrIiksIDB4MjAwRiB9
LAorICB7IE5fKCJMUkUgTGVmdC10by1yaWdodCBfZW1iZWRkaW5nIiksIDB4MjAyQSB9LAorICB7
IE5fKCJSTEUgUmlnaHQtdG8tbGVmdCBlX21iZWRkaW5nIiksIDB4MjAyQiB9LAorICB7IE5fKCJM
Uk8gTGVmdC10by1yaWdodCBfb3ZlcnJpZGUiKSwgMHgyMDJEIH0sCisgIHsgTl8oIlJMTyBSaWdo
dC10by1sZWZ0IG9fdmVycmlkZSIpLCAweDIwMkUgfSwKKyAgeyBOXygiUERGIF9Qb3AgZGlyZWN0
aW9uYWwgZm9ybWF0dGluZyIpLCAweDIwMkMgfSwKKyAgeyBOXygiWldTIF9aZXJvIHdpZHRoIHNw
YWNlIiksIDB4MjAwQiB9LAorICB7IE5fKCJaV0ogWmVybyB3aWR0aCBfam9pbmVyIiksIDB4MjAw
RCB9LAorICB7IE5fKCJaV05KIFplcm8gd2lkdGggX25vbi1qb2luZXIiKSwgMHgyMDBDIH0KK307
CisKK3N0YXRpYyB2b2lkIGluc2VydENvbnRyb2xDaGFyYWN0ZXIoR3RrV2lkZ2V0KiB3aWRnZXQp
Cit7CisgICAgR3RrVW5pY29kZU1lbnVFbnRyeSogZW50cnkgPSAoR3RrVW5pY29kZU1lbnVFbnRy
eSopZ19vYmplY3RfZ2V0X2RhdGEoR19PQkpFQ1Qod2lkZ2V0KSwgImd0ay11bmljb2RlLW1lbnUt
ZW50cnkiKTsKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitzdGF0aWMgR3RrV2lkZ2V0KiB1
bmljb2RlTWVudUl0ZW0oV2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sKKyAgICBHdGtXaWRnZXQq
IHdpZGdldCA9IEdUS19XSURHRVQgKHdlYlZpZXcpOworICAgIEdka1NjcmVlbiogc2NyZWVuID0g
d2lkZ2V0ICYmIGd0a193aWRnZXRfaGFzX3NjcmVlbih3aWRnZXQpID8gZ3RrX3dpZGdldF9nZXRf
c2NyZWVuKHdpZGdldCkgOiBnZGtfc2NyZWVuX2dldF9kZWZhdWx0KCk7CisgICAgaWYgKCFzY3Jl
ZW4pCisgICAgICAgIHJldHVybiAwOworCisgICAgR3RrU2V0dGluZ3MqIHNldHRpbmdzID0gZ3Rr
X3NldHRpbmdzX2dldF9mb3Jfc2NyZWVuKHNjcmVlbik7CisgICAgZ2Jvb2xlYW4gc2hvd01lbnU7
CisgICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNUKHNldHRpbmdzKSwgImd0ay1zaG93LXVuaWNvZGUt
bWVudSIsICZzaG93TWVudSwgTlVMTCk7CisgICAgaWYgKCFzaG93TWVudSkKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICBHdGtXaWRnZXQqIG1lbnVpdGVtID0gZ3RrX2ltYWdlX21lbnVfaXRlbV9u
ZXdfd2l0aF9tbmVtb25pYygKKyAgICAgICAgXygiX0luc2VydCBVbmljb2RlIENvbnRyb2wgQ2hh
cmFjdGVyIikpOworCisgICAgR3RrV2lkZ2V0KiB1bmljb2RlQ29udGV4dE1lbnUgPSBndGtfbWVu
dV9uZXcoKTsKKyAgICB1bnNpZ25lZCBpOworICAgIGZvciAoaSA9IDA7IGkgPCBHX05fRUxFTUVO
VFMoYmlkaV9tZW51X2VudHJpZXMpOyBpKyspIHsKKyAgICAgICAgR3RrV2lkZ2V0KiBtZW51aXRl
bSA9IGd0a19tZW51X2l0ZW1fbmV3X3dpdGhfbW5lbW9uaWMoXyhiaWRpX21lbnVfZW50cmllc1tp
XS5sYWJlbCkpOworICAgICAgICBnX29iamVjdF9zZXRfZGF0YShHX09CSkVDVChtZW51aXRlbSks
ICJndGstdW5pY29kZS1tZW51LWVudHJ5IiwgKGdwb2ludGVyKSZiaWRpX21lbnVfZW50cmllc1tp
XSk7CisgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QobWVudWl0ZW0sICJhY3RpdmF0ZSIsIEdfQ0FM
TEJBQ0soaW5zZXJ0Q29udHJvbENoYXJhY3RlciksIDApOworICAgICAgICBndGtfd2lkZ2V0X3No
b3cobWVudWl0ZW0pOworICAgICAgICBndGtfbWVudV9zaGVsbF9hcHBlbmQoR1RLX01FTlVfU0hF
TEwodW5pY29kZUNvbnRleHRNZW51KSwgbWVudWl0ZW0pOworICAgICAgICAvLyBGSVhNRTogTWFr
ZSB0aGUgaXRlbSBzZW5zaXRpdmUgYXMgaW5zZXJ0Q29udHJvbENoYXJhY3RlcigpIGlzIGltcGxl
bWVudGVkCisgICAgICAgIGd0a193aWRnZXRfc2V0X3NlbnNpdGl2ZShtZW51aXRlbSwgRkFMU0Up
OworICAgIH0KKworICAgIGd0a19tZW51X2l0ZW1fc2V0X3N1Ym1lbnUoR1RLX01FTlVfSVRFTSht
ZW51aXRlbSksIHVuaWNvZGVDb250ZXh0TWVudSk7CisKKyAgICByZXR1cm4gbWVudWl0ZW07Cit9
CisKIFBsYXRmb3JtTWVudURlc2NyaXB0aW9uIENvbnRleHRNZW51Q2xpZW50OjpnZXRDdXN0b21N
ZW51RnJvbURlZmF1bHRJdGVtcyhDb250ZXh0TWVudSogbWVudSkKIHsKLSAgICByZXR1cm4gbWVu
dS0+cmVsZWFzZVBsYXRmb3JtRGVzY3JpcHRpb24oKTsKKyAgICBHdGtNZW51KiBndGttZW51ID0g
bWVudS0+cmVsZWFzZVBsYXRmb3JtRGVzY3JpcHRpb24oKTsKKworICAgIEhpdFRlc3RSZXN1bHQg
cmVzdWx0ID0gbWVudS0+aGl0VGVzdFJlc3VsdCgpOworICAgIFdlYktpdFdlYlZpZXcqIHdlYlZp
ZXcgPSBtX3dlYlZpZXc7CisKKyAgICBpZiAocmVzdWx0LmlzQ29udGVudEVkaXRhYmxlKCkpIHsK
KworICAgICAgICBHdGtXaWRnZXQqIGltQ29udGV4dE1lbnUgPSBpbnB1dE1ldGhvZHNNZW51SXRl
bSh3ZWJWaWV3KTsKKyAgICAgICAgR3RrV2lkZ2V0KiB1bmljb2RlQ29udGV4dE1lbnUgPSB1bmlj
b2RlTWVudUl0ZW0od2ViVmlldyk7CisKKyAgICAgICAgaWYgKGltQ29udGV4dE1lbnUgJiYgdW5p
Y29kZUNvbnRleHRNZW51KSB7CisgICAgICAgICAgICBHdGtXaWRnZXQqIHNlcGFyYXRvciA9IGd0
a19zZXBhcmF0b3JfbWVudV9pdGVtX25ldygpOworICAgICAgICAgICAgZ3RrX21lbnVfc2hlbGxf
YXBwZW5kKEdUS19NRU5VX1NIRUxMKGd0a21lbnUpLCBzZXBhcmF0b3IpOworICAgICAgICAgICAg
Z3RrX3dpZGdldF9zaG93KHNlcGFyYXRvcik7CisgICAgICAgIH0KKworICAgICAgICBpZiAoaW1D
b250ZXh0TWVudSkgeworICAgICAgICAgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kKEdUS19NRU5V
X1NIRUxMKGd0a21lbnUpLCBpbUNvbnRleHRNZW51KTsKKyAgICAgICAgICAgIGd0a193aWRnZXRf
c2hvdyhpbUNvbnRleHRNZW51KTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICh1bmljb2RlQ29u
dGV4dE1lbnUpIHsKKyAgICAgICAgICAgIGd0a19tZW51X3NoZWxsX2FwcGVuZChHVEtfTUVOVV9T
SEVMTChndGttZW51KSwgdW5pY29kZUNvbnRleHRNZW51KTsKKyAgICAgICAgICAgIGd0a193aWRn
ZXRfc2hvdyh1bmljb2RlQ29udGV4dE1lbnUpOworICAgICAgICB9CisKKyAgICB9CisKKyAgICBy
ZXR1cm4gZ3RrbWVudTsKIH0KIAogdm9pZCBDb250ZXh0TWVudUNsaWVudDo6Y29udGV4dE1lbnVJ
dGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVJdGVtKiwgY29uc3QgQ29udGV4dE1lbnUqKQpkaWZmIC0t
Z2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9Db250ZXh0TWVudUNsaWVudEd0ay5oIGIv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9Db250ZXh0TWVudUNsaWVudEd0ay5oCmluZGV4IGMw
ZTgwNjkuLjlkNThjZWYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ29u
dGV4dE1lbnVDbGllbnRHdGsuaAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0NvbnRl
eHRNZW51Q2xpZW50R3RrLmgKQEAgLTI4LDYgKzI4LDggQEAKIAogI2luY2x1ZGUgIkNvbnRleHRN
ZW51Q2xpZW50LmgiCiAKKyNpbmNsdWRlICJ3ZWJraXR3ZWJ2aWV3LmgiCisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBDb250ZXh0TWVudTsKIH0KQEAgLTM3LDYgKzM5LDggQEAgbmFt
ZXNwYWNlIFdlYktpdCB7CiAgICAgY2xhc3MgQ29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMgV2Vi
Q29yZTo6Q29udGV4dE1lbnVDbGllbnQKICAgICB7CiAgICAgcHVibGljOgorICAgICAgICBDb250
ZXh0TWVudUNsaWVudChXZWJLaXRXZWJWaWV3Kik7CisKICAgICAgICAgdmlydHVhbCB2b2lkIGNv
bnRleHRNZW51RGVzdHJveWVkKCk7CiAKICAgICAgICAgdmlydHVhbCBXZWJDb3JlOjpQbGF0Zm9y
bU1lbnVEZXNjcmlwdGlvbiBnZXRDdXN0b21NZW51RnJvbURlZmF1bHRJdGVtcyhXZWJDb3JlOjpD
b250ZXh0TWVudSopOwpAQCAtNDgsNiArNTIsOSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAg
ICAgdmlydHVhbCB2b2lkIGxvb2tVcEluRGljdGlvbmFyeShXZWJDb3JlOjpGcmFtZSopOwogICAg
ICAgICB2aXJ0dWFsIHZvaWQgc3BlYWsoY29uc3QgV2ViQ29yZTo6U3RyaW5nJik7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBzdG9wU3BlYWtpbmcoKTsKKworICAgIHByaXZhdGU6CisgICAgICAgIFdl
YktpdFdlYlZpZXcgKm1fd2ViVmlldzsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnZpZXcuY3BwCmluZGV4IDlkZTc3ZjUuLjQ1ZTYwM2UgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnZpZXcuY3BwCkBAIC0xMzk0LDcgKzEzOTQsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3Zp
ZXdfaW5pdChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgIHdlYlZpZXctPnByaXYgPSBwcml2
OwogCiAgICAgcHJpdi0+aW1Db250ZXh0ID0gZ3RrX2ltX211bHRpY29udGV4dF9uZXcoKTsKLSAg
ICBwcml2LT5jb3JlUGFnZSA9IG5ldyBQYWdlKG5ldyBXZWJLaXQ6OkNocm9tZUNsaWVudCh3ZWJW
aWV3KSwgbmV3IFdlYktpdDo6Q29udGV4dE1lbnVDbGllbnQsIG5ldyBXZWJLaXQ6OkVkaXRvckNs
aWVudCh3ZWJWaWV3KSwgbmV3IFdlYktpdDo6RHJhZ0NsaWVudCwgbmV3IFdlYktpdDo6SW5zcGVj
dG9yQ2xpZW50KTsKKyAgICBwcml2LT5jb3JlUGFnZSA9IG5ldyBQYWdlKG5ldyBXZWJLaXQ6OkNo
cm9tZUNsaWVudCh3ZWJWaWV3KSwgbmV3IFdlYktpdDo6Q29udGV4dE1lbnVDbGllbnQgKHdlYlZp
ZXcpLCBuZXcgV2ViS2l0OjpFZGl0b3JDbGllbnQod2ViVmlldyksIG5ldyBXZWJLaXQ6OkRyYWdD
bGllbnQsIG5ldyBXZWJLaXQ6Okluc3BlY3RvckNsaWVudCk7CiAKICAgICBwcml2LT5ob3Jpem9u
dGFsQWRqdXN0bWVudCA9IEdUS19BREpVU1RNRU5UKGd0a19hZGp1c3RtZW50X25ldygwLjAsIDAu
MCwgMC4wLCAwLjAsIDAuMCwgMC4wKSk7CiAgICAgcHJpdi0+dmVydGljYWxBZGp1c3RtZW50ID0g
R1RLX0FESlVTVE1FTlQoZ3RrX2FkanVzdG1lbnRfbmV3KDAuMCwgMC4wLCAwLjAsIDAuMCwgMC4w
LCAwLjApKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>