<?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>32819</bug_id>
          
          <creation_ts>2009-12-21 03:59:15 -0800</creation_ts>
          <short_desc>[GTK] Change the tooltip implementation</short_desc>
          <delta_ts>2010-01-14 03:57:11 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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="Alejandro G. Castro">alex</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>gustavo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>173938</commentid>
    <comment_count>0</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-21 03:59:15 -0800</bug_when>
    <thetext>Check the comments in the bug 15793 for more information about the current solution. The proposal is to use the query-tooltip signal to handle it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173949</commentid>
    <comment_count>1</comment_count>
      <attachid>45324</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-21 04:36:00 -0800</bug_when>
    <thetext>Created attachment 45324
Initial proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173952</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-21 04:38:06 -0800</bug_when>
    <thetext>Attachment 45324 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitwebview.cpp:2634:  Missing space after ,  [whitespace/comma] [3]
WebKit/gtk/webkit/webkitwebview.cpp:2635:  webkit_web_view_query_tooltip is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit/gtk/webkit/webkitwebview.cpp:2686:  Missing space after ,  [whitespace/comma] [3]
WebKit/gtk/webkit/webkitwebview.cpp:2687:  Use 0 instead of NULL.  [readability/null] [5]
WebKit/gtk/webkit/webkitwebview.cpp:2689:  Use 0 instead of NULL.  [readability/null] [5]
WebKit/gtk/webkit/webkitwebview.cpp:4045:  webkit_web_view_set_tooltip_text is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit/gtk/webkit/webkitwebview.cpp:4052:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174239</commentid>
    <comment_count>3</comment_count>
      <attachid>45378</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-22 03:01:59 -0800</bug_when>
    <thetext>Created attachment 45378
Proposed patch

Style review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174240</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-22 03:04:47 -0800</bug_when>
    <thetext>Attachment 45378 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitwebview.cpp:2635:  webkit_web_view_query_tooltip is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit/gtk/webkit/webkitwebview.cpp:4045:  webkit_web_view_set_tooltip_text is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178451</commentid>
    <comment_count>5</comment_count>
      <attachid>45378</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-01-07 17:04:00 -0800</bug_when>
    <thetext>Comment on attachment 45378
Proposed patch

&gt; +#if GTK_CHECK_VERSION(2, 12, 0)
&gt; +    priv-&gt;tooltipText = 0;
&gt; +    gtk_widget_set_has_tooltip(GTK_WIDGET(webView), TRUE);
&gt; +    g_signal_connect(webView, &quot;query-tooltip&quot;, G_CALLBACK(webkit_web_view_query_tooltip), 0);
&gt; +#endif

You should override the GtkWidget class method instead of connecting to the signal.

&gt; +void webkit_web_view_set_tooltip_text(WebKitWebView* webView, const char* tooltip)
&gt; +{
&gt; +    WebKitWebViewPrivate* priv = webView-&gt;priv;
&gt; +    g_free(priv-&gt;tooltipText);
&gt; +    if (tooltip &amp;&amp; *tooltip != &apos;\0&apos;)
&gt; +        priv-&gt;tooltipText = g_strdup(tooltip);
&gt; +    else
&gt; +        priv-&gt;tooltipText = 0;
&gt; +}

What about the &apos;has-tooltip&apos; property? You should probably set it to TRUE/FALSE, as appropriate, here. Otherwise the tooltips will only be displayed when the webview has keyboard focus, as I understand it. The patch looks awesome otherwise, nice work!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179332</commentid>
    <comment_count>6</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2010-01-11 04:38:42 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 45378 [details])
&gt; &gt; +#if GTK_CHECK_VERSION(2, 12, 0)
&gt; &gt; +    priv-&gt;tooltipText = 0;
&gt; &gt; +    gtk_widget_set_has_tooltip(GTK_WIDGET(webView), TRUE);
&gt; &gt; +    g_signal_connect(webView, &quot;query-tooltip&quot;, G_CALLBACK(webkit_web_view_query_tooltip), 0);
&gt; &gt; +#endif
&gt; 
&gt; You should override the GtkWidget class method instead of connecting to the
&gt; signal.
&gt; 

Yep, I&apos;ll do it.

&gt; &gt; +void webkit_web_view_set_tooltip_text(WebKitWebView* webView, const char* tooltip)
&gt; &gt; +{
&gt; &gt; +    WebKitWebViewPrivate* priv = webView-&gt;priv;
&gt; &gt; +    g_free(priv-&gt;tooltipText);
&gt; &gt; +    if (tooltip &amp;&amp; *tooltip != &apos;\0&apos;)
&gt; &gt; +        priv-&gt;tooltipText = g_strdup(tooltip);
&gt; &gt; +    else
&gt; &gt; +        priv-&gt;tooltipText = 0;
&gt; &gt; +}
&gt; 
&gt; What about the &apos;has-tooltip&apos; property? You should probably set it to
&gt; TRUE/FALSE, as appropriate, here. Otherwise the tooltips will only be displayed
&gt; when the webview has keyboard focus, as I understand it. The patch looks
&gt; awesome otherwise, nice work!

AFAIK the property is a widget property and you just have to set it to TRUE once in order to receive the tooltip events. But now that you point out this, one interesting thing would be to avoid the gtkwidget check and use just the webkit one, i.e. set query-tooltip always to FALSE and use gtk_tooltip_trigger_tooltip_query. I&apos;ll try to do this.

Thanks for the comments :).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179424</commentid>
    <comment_count>7</comment_count>
      <attachid>46288</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2010-01-11 10:41:45 -0800</bug_when>
    <thetext>Created attachment 46288
Proposed patch

I did both modifications, with this approach we do not ask gtk to send queries if webkit did not set a string in the tooltip. I guess it is a better option to avoid launching the query signal when we know there is no string to be rendered. I&apos;ve also reviewed the gtk+ version check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179429</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-11 10:46:51 -0800</bug_when>
    <thetext>Attachment 46288 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitwebview.cpp:1281:  webkit_web_view_query_tooltip is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit/gtk/webkit/webkitwebview.cpp:4044:  webkit_web_view_set_tooltip_text is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180655</commentid>
    <comment_count>9</comment_count>
      <attachid>46288</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-01-14 03:03:36 -0800</bug_when>
    <thetext>Comment on attachment 46288
Proposed patch

Looks great to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180666</commentid>
    <comment_count>10</comment_count>
      <attachid>46288</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-14 03:57:06 -0800</bug_when>
    <thetext>Comment on attachment 46288
Proposed patch

Clearing flags on attachment: 46288

Committed r53256: &lt;http://trac.webkit.org/changeset/53256&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180667</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-14 03:57:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45324</attachid>
            <date>2009-12-21 04:36:00 -0800</date>
            <delta_ts>2009-12-22 03:01:59 -0800</delta_ts>
            <desc>Initial proposed patch</desc>
            <filename>tooptips_review.patch</filename>
            <type>text/plain</type>
            <size>5781</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggNmZkMmZkMy4uOGRjYzBhMCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0xMi0yMSAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXZpZXcgdGhlIHRvb2x0aXAgaW1wbGVt
ZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMyODE5CisKKyAgICAgICAgQ2hhbmdlIHRoZSBHVEsgdG9vbHRpcCBpbXBsZW1lbnRhdGlvbiB0
byBhdm9pZCB0aGUgd29ya2Fyb3VuZCB0aGF0CisgICAgICAgIHdlIGFyZSBjdXJyZW50bHkgdXNp
bmcuIE5vdyB3ZSB1c2UgYSBuZXcgcHJpdmF0ZSBBUEkgdG8gc2V0IHRoZQorICAgICAgICB0ZXh0
IGFuZCBhbGwgdGhlIHRvb2x0aXAgaGFuZGxpbmcgaXMgZG9uZSBpbiB0aGUgd2VidmlldyB3aWRn
ZXQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwOgorICAg
ICAgICAqIHdlYmtpdC93ZWJraXRwcml2YXRlLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdl
YnZpZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X3NldF90b29sdGlwX3RleHQpOiBB
ZGRlZCwgbmV3IHByaXZhdGUgQVBJLgorICAgICAgICAod2Via2l0X3dlYl92aWV3X3F1ZXJ5X3Rv
b2x0aXApOiBBZGRlZAorCiAyMDA5LTEyLTIwICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0
YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBM
b3Blei4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcApp
bmRleCAwZjQ2YjkyLi4xMzQyYzI4IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuY3BwCkBAIC00NDIsMjIgKzQ0Miw2IEBAIHZvaWQgQ2hyb21lQ2xpZW50
OjpzY3JvbGxiYXJzTW9kZURpZENoYW5nZSgpIGNvbnN0CiAKIHZvaWQgQ2hyb21lQ2xpZW50Ojpt
b3VzZURpZE1vdmVPdmVyRWxlbWVudChjb25zdCBIaXRUZXN0UmVzdWx0JiBoaXQsIHVuc2lnbmVk
IG1vZGlmaWVyRmxhZ3MpCiB7Ci0jaWYgR1RLX0NIRUNLX1ZFUlNJT04oMiwxMiwwKQotICAgIC8v
IElmIGEgdG9vbHRpcCBtdXN0IGJlIGRpc3BsYXllZCBpdCB3aWxsIGJlLCBhZnRlcndhcmRzLCB3
aGVuCi0gICAgLy8gc2V0VG9vbFRpcCBpcyBjYWxsZWQ7IHRoaXMgaXMganVzdCBhIHdvcmstYXJv
dW5kIHRvIG1ha2Ugc3VyZQotICAgIC8vIGl0IHVwZGF0ZXMgaXRzIGxvY2F0aW9uIGNvcnJlY3Rs
eTsgc2VlCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
NzkzLgotICAgIGdfb2JqZWN0X3NldChtX3dlYlZpZXcsICJoYXMtdG9vbHRpcCIsIEZBTFNFLCBO
VUxMKTsKLQotICAgIEdka0Rpc3BsYXkqIGdka0Rpc3BsYXk7Ci0gICAgR3RrV2lkZ2V0KiB3aW5k
b3cgPSBndGtfd2lkZ2V0X2dldF90b3BsZXZlbChHVEtfV0lER0VUKG1fd2ViVmlldykpOwotICAg
IGlmIChHVEtfV0lER0VUX1RPUExFVkVMKHdpbmRvdykpCi0gICAgICAgIGdka0Rpc3BsYXkgPSBn
dGtfd2lkZ2V0X2dldF9kaXNwbGF5KHdpbmRvdyk7Ci0gICAgZWxzZQotICAgICAgICBnZGtEaXNw
bGF5ID0gZ2RrX2Rpc3BsYXlfZ2V0X2RlZmF1bHQoKTsKLSAgICBndGtfdG9vbHRpcF90cmlnZ2Vy
X3Rvb2x0aXBfcXVlcnkoZ2RrRGlzcGxheSk7Ci0jZW5kaWYKLQogICAgIC8vIGNoZWNrIGlmIHRo
ZSBlbGVtZW50IGlzIGEgbGluay4uLgogICAgIGJvb2wgaXNMaW5rID0gaGl0LmlzTGl2ZUxpbmso
KTsKICAgICBpZiAoaXNMaW5rKSB7CkBAIC00NzgsMTAgKzQ2Miw3IEBAIHZvaWQgQ2hyb21lQ2xp
ZW50Ojptb3VzZURpZE1vdmVPdmVyRWxlbWVudChjb25zdCBIaXRUZXN0UmVzdWx0JiBoaXQsIHVu
c2lnbmVkIG1vCiB2b2lkIENocm9tZUNsaWVudDo6c2V0VG9vbFRpcChjb25zdCBTdHJpbmcmIHRv
b2xUaXAsIFRleHREaXJlY3Rpb24pCiB7CiAjaWYgR1RLX0NIRUNLX1ZFUlNJT04oMiwxMiwwKQot
ICAgIGlmICh0b29sVGlwLmlzRW1wdHkoKSkKLSAgICAgICAgZ19vYmplY3Rfc2V0KG1fd2ViVmll
dywgImhhcy10b29sdGlwIiwgRkFMU0UsIE5VTEwpOwotICAgIGVsc2UKLSAgICAgICAgZ3RrX3dp
ZGdldF9zZXRfdG9vbHRpcF90ZXh0KEdUS19XSURHRVQobV93ZWJWaWV3KSwgdG9vbFRpcC51dGY4
KCkuZGF0YSgpKTsKKyAgICB3ZWJraXRfd2ViX3ZpZXdfc2V0X3Rvb2x0aXBfdGV4dChtX3dlYlZp
ZXcsIHRvb2xUaXAudXRmOCgpLmRhdGEoKSk7CiAjZWxzZQogICAgIC8vIFRPRE86IFN1cHBvcnQg
b2xkZXIgR1RLKyB2ZXJzaW9ucwogICAgIC8vIFNlZSBodHRwOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTc5MwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
cHJpdmF0ZS5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCmluZGV4IGUxN2U3
OWUuLmU5ZDYxYTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUu
aAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKQEAgLTE1Miw2ICsxNTIs
NyBAQCBleHRlcm4gIkMiIHsKICAgICAgICAgV2ViS2l0V2ViUmVzb3VyY2UqIG1haW5SZXNvdXJj
ZTsKICAgICAgICAgY2hhciogbWFpblJlc291cmNlSWRlbnRpZmllcjsKICAgICAgICAgR0hhc2hU
YWJsZSogc3ViUmVzb3VyY2VzOworICAgICAgICBjaGFyKiB0b29sdGlwVGV4dDsKICAgICB9Owog
CiAgICAgI2RlZmluZSBXRUJLSVRfV0VCX0ZSQU1FX0dFVF9QUklWQVRFKG9iaikgICAgKEdfVFlQ
RV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2JqKSwgV0VCS0lUX1RZUEVfV0VCX0ZSQU1FLCBXZWJL
aXRXZWJGcmFtZVByaXZhdGUpKQpAQCAtMjU0LDYgKzI1NSw5IEBAIGV4dGVybiAiQyIgewogICAg
IEdMaXN0KgogICAgIHdlYmtpdF93ZWJfdmlld19nZXRfc3VicmVzb3VyY2VzKFdlYktpdFdlYlZp
ZXcqKTsKIAorICAgIHZvaWQKKyAgICB3ZWJraXRfd2ViX3ZpZXdfc2V0X3Rvb2x0aXBfdGV4dChX
ZWJLaXRXZWJWaWV3KiwgY29uc3QgY2hhciopOworCiAgICAgV2ViS2l0RG93bmxvYWQqCiAgICAg
d2Via2l0X2Rvd25sb2FkX25ld193aXRoX2hhbmRsZShXZWJLaXROZXR3b3JrUmVxdWVzdCogcmVx
dWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3Bw
CmluZGV4IDJkMmU2ZTcuLjJiN2EzOTIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3Bw
CkBAIC0xMDUzLDYgKzEwNTMsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfZmluYWxp
emUoR09iamVjdCogb2JqZWN0KQogICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBXRUJLSVRf
V0VCX1ZJRVcob2JqZWN0KTsKICAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZp
ZXctPnByaXY7CiAKKyAgICBnX2ZyZWUocHJpdi0+dG9vbHRpcFRleHQpOwogICAgIGdfZnJlZShw
cml2LT5tYWluUmVzb3VyY2VJZGVudGlmaWVyKTsKICAgICBnX2ZyZWUocHJpdi0+ZW5jb2Rpbmcp
OwogICAgIGdfZnJlZShwcml2LT5jdXN0b21FbmNvZGluZyk7CkBAIC0yNjMwLDYgKzI2MzEsMjAg
QEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3NldHRpbmdzX25vdGlmeShXZWJLaXRXZWJT
ZXR0aW5ncyogd2ViU2V0dGluZ3MsIEdQYXIKICAgICBnX3ZhbHVlX3Vuc2V0KCZ2YWx1ZSk7CiB9
CiAKKyNpZiBHVEtfQ0hFQ0tfVkVSU0lPTigyLDEyLDApCitzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0
X3dlYl92aWV3X3F1ZXJ5X3Rvb2x0aXAoR3RrV2lkZ2V0ICp3aWRnZXQsIGdpbnQgeCwgZ2ludCB5
LCBnYm9vbGVhbiBrZXlib2FyZF9tb2RlLCBHdGtUb29sdGlwICp0b29sdGlwLCBncG9pbnRlciB1
c2VyX2RhdGEpCit7CisgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSBXRUJLSVRfV0VC
X1ZJRVdfR0VUX1BSSVZBVEUod2lkZ2V0KTsKKworICAgIGlmIChwcml2LT50b29sdGlwVGV4dCkg
eworICAgICAgICBndGtfdG9vbHRpcF9zZXRfdGV4dCh0b29sdGlwLCBwcml2LT50b29sdGlwVGV4
dCk7CisgICAgICAgIHJldHVybiBUUlVFOworICAgIH0KKworICAgIHJldHVybiBGQUxTRTsKK30K
KyNlbmRpZgorCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfaW5pdChXZWJLaXRXZWJWaWV3
KiB3ZWJWaWV3KQogewogICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gV0VCS0lUX1dF
Ql9WSUVXX0dFVF9QUklWQVRFKHdlYlZpZXcpOwpAQCAtMjY2Nyw2ICsyNjgyLDEyIEBAIHN0YXRp
YyB2b2lkIHdlYmtpdF93ZWJfdmlld19pbml0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAg
cHJpdi0+d2ViV2luZG93RmVhdHVyZXMgPSB3ZWJraXRfd2ViX3dpbmRvd19mZWF0dXJlc19uZXco
KTsKIAogICAgIHByaXYtPnN1YlJlc291cmNlcyA9IGdfaGFzaF90YWJsZV9uZXdfZnVsbChnX3N0
cl9oYXNoLCBnX3N0cl9lcXVhbCwgZ19mcmVlLCBnX29iamVjdF91bnJlZik7CisKKyNpZiBHVEtf
Q0hFQ0tfVkVSU0lPTigyLDEyLDApCisgICAgcHJpdi0+dG9vbHRpcFRleHQgPSBOVUxMOworICAg
IGd0a193aWRnZXRfc2V0X2hhc190b29sdGlwKEdUS19XSURHRVQod2ViVmlldyksIFRSVUUpOwor
ICAgIGdfc2lnbmFsX2Nvbm5lY3Qod2ViVmlldywgInF1ZXJ5LXRvb2x0aXAiLCBHX0NBTExCQUNL
KHdlYmtpdF93ZWJfdmlld19xdWVyeV90b29sdGlwKSwgTlVMTCk7CisjZW5kaWYKIH0KIAogR3Rr
V2lkZ2V0KiB3ZWJraXRfd2ViX3ZpZXdfbmV3KHZvaWQpCkBAIC00MDIxLDYgKzQwNDIsMTYgQEAg
c3RhdGljIEludFBvaW50IGRvY3VtZW50UG9pbnRGb3JXaW5kb3dQb2ludChGcmFtZSogZnJhbWUs
IGNvbnN0IEludFBvaW50JiB3aW5kb3cKICAgICByZXR1cm4gdmlldyA/IHZpZXctPndpbmRvd1Rv
Q29udGVudHMod2luZG93UG9pbnQpIDogd2luZG93UG9pbnQ7CiB9CiAKK3ZvaWQgd2Via2l0X3dl
Yl92aWV3X3NldF90b29sdGlwX3RleHQoV2ViS2l0V2ViVmlldyogd2ViVmlldywgY29uc3QgY2hh
ciogdG9vbHRpcCkKK3sKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZpZXct
PnByaXY7CisgICAgZ19mcmVlKHByaXYtPnRvb2x0aXBUZXh0KTsKKyAgICBpZiAodG9vbHRpcCAm
JiAqdG9vbHRpcCAhPSAnXDAnKQorICAgICAgICBwcml2LT50b29sdGlwVGV4dCA9IGdfc3RyZHVw
KHRvb2x0aXApOworICAgIGVsc2UKKyAgICAgICAgcHJpdi0+dG9vbHRpcFRleHQgPSBOVUxMOwor
fQorCiAvKioKICAqIHdlYmtpdF93ZWJfdmlld19nZXRfaGl0X3Rlc3RfcmVzdWx0OgogICogQHdl
YlZpZXc6IGEgI1dlYktpdFdlYlZpZXcK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45378</attachid>
            <date>2009-12-22 03:01:59 -0800</date>
            <delta_ts>2010-01-11 10:41:45 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>tooptips_review.patch</filename>
            <type>text/plain</type>
            <size>5811</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggNmZkMmZkMy4uOGRjYzBhMCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0xMi0yMSAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXZpZXcgdGhlIHRvb2x0aXAgaW1wbGVt
ZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMyODE5CisKKyAgICAgICAgQ2hhbmdlIHRoZSBHVEsgdG9vbHRpcCBpbXBsZW1lbnRhdGlvbiB0
byBhdm9pZCB0aGUgd29ya2Fyb3VuZCB0aGF0CisgICAgICAgIHdlIGFyZSBjdXJyZW50bHkgdXNp
bmcuIE5vdyB3ZSB1c2UgYSBuZXcgcHJpdmF0ZSBBUEkgdG8gc2V0IHRoZQorICAgICAgICB0ZXh0
IGFuZCBhbGwgdGhlIHRvb2x0aXAgaGFuZGxpbmcgaXMgZG9uZSBpbiB0aGUgd2VidmlldyB3aWRn
ZXQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwOgorICAg
ICAgICAqIHdlYmtpdC93ZWJraXRwcml2YXRlLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdl
YnZpZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X3NldF90b29sdGlwX3RleHQpOiBB
ZGRlZCwgbmV3IHByaXZhdGUgQVBJLgorICAgICAgICAod2Via2l0X3dlYl92aWV3X3F1ZXJ5X3Rv
b2x0aXApOiBBZGRlZAorCiAyMDA5LTEyLTIwICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0
YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBM
b3Blei4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcApp
bmRleCAwZjQ2YjkyLi5hMzliNDY5IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuY3BwCkBAIC00NDIsMjIgKzQ0Miw2IEBAIHZvaWQgQ2hyb21lQ2xpZW50
OjpzY3JvbGxiYXJzTW9kZURpZENoYW5nZSgpIGNvbnN0CiAKIHZvaWQgQ2hyb21lQ2xpZW50Ojpt
b3VzZURpZE1vdmVPdmVyRWxlbWVudChjb25zdCBIaXRUZXN0UmVzdWx0JiBoaXQsIHVuc2lnbmVk
IG1vZGlmaWVyRmxhZ3MpCiB7Ci0jaWYgR1RLX0NIRUNLX1ZFUlNJT04oMiwxMiwwKQotICAgIC8v
IElmIGEgdG9vbHRpcCBtdXN0IGJlIGRpc3BsYXllZCBpdCB3aWxsIGJlLCBhZnRlcndhcmRzLCB3
aGVuCi0gICAgLy8gc2V0VG9vbFRpcCBpcyBjYWxsZWQ7IHRoaXMgaXMganVzdCBhIHdvcmstYXJv
dW5kIHRvIG1ha2Ugc3VyZQotICAgIC8vIGl0IHVwZGF0ZXMgaXRzIGxvY2F0aW9uIGNvcnJlY3Rs
eTsgc2VlCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
NzkzLgotICAgIGdfb2JqZWN0X3NldChtX3dlYlZpZXcsICJoYXMtdG9vbHRpcCIsIEZBTFNFLCBO
VUxMKTsKLQotICAgIEdka0Rpc3BsYXkqIGdka0Rpc3BsYXk7Ci0gICAgR3RrV2lkZ2V0KiB3aW5k
b3cgPSBndGtfd2lkZ2V0X2dldF90b3BsZXZlbChHVEtfV0lER0VUKG1fd2ViVmlldykpOwotICAg
IGlmIChHVEtfV0lER0VUX1RPUExFVkVMKHdpbmRvdykpCi0gICAgICAgIGdka0Rpc3BsYXkgPSBn
dGtfd2lkZ2V0X2dldF9kaXNwbGF5KHdpbmRvdyk7Ci0gICAgZWxzZQotICAgICAgICBnZGtEaXNw
bGF5ID0gZ2RrX2Rpc3BsYXlfZ2V0X2RlZmF1bHQoKTsKLSAgICBndGtfdG9vbHRpcF90cmlnZ2Vy
X3Rvb2x0aXBfcXVlcnkoZ2RrRGlzcGxheSk7Ci0jZW5kaWYKLQogICAgIC8vIGNoZWNrIGlmIHRo
ZSBlbGVtZW50IGlzIGEgbGluay4uLgogICAgIGJvb2wgaXNMaW5rID0gaGl0LmlzTGl2ZUxpbmso
KTsKICAgICBpZiAoaXNMaW5rKSB7CkBAIC00NzcsMTEgKzQ2MSw4IEBAIHZvaWQgQ2hyb21lQ2xp
ZW50Ojptb3VzZURpZE1vdmVPdmVyRWxlbWVudChjb25zdCBIaXRUZXN0UmVzdWx0JiBoaXQsIHVu
c2lnbmVkIG1vCiAKIHZvaWQgQ2hyb21lQ2xpZW50OjpzZXRUb29sVGlwKGNvbnN0IFN0cmluZyYg
dG9vbFRpcCwgVGV4dERpcmVjdGlvbikKIHsKLSNpZiBHVEtfQ0hFQ0tfVkVSU0lPTigyLDEyLDAp
Ci0gICAgaWYgKHRvb2xUaXAuaXNFbXB0eSgpKQotICAgICAgICBnX29iamVjdF9zZXQobV93ZWJW
aWV3LCAiaGFzLXRvb2x0aXAiLCBGQUxTRSwgTlVMTCk7Ci0gICAgZWxzZQotICAgICAgICBndGtf
d2lkZ2V0X3NldF90b29sdGlwX3RleHQoR1RLX1dJREdFVChtX3dlYlZpZXcpLCB0b29sVGlwLnV0
ZjgoKS5kYXRhKCkpOworI2lmIEdUS19DSEVDS19WRVJTSU9OKDIsIDEyLCAwKQorICAgIHdlYmtp
dF93ZWJfdmlld19zZXRfdG9vbHRpcF90ZXh0KG1fd2ViVmlldywgdG9vbFRpcC51dGY4KCkuZGF0
YSgpKTsKICNlbHNlCiAgICAgLy8gVE9ETzogU3VwcG9ydCBvbGRlciBHVEsrIHZlcnNpb25zCiAg
ICAgLy8gU2VlIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzkzCmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmggYi9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRwcml2YXRlLmgKaW5kZXggZTE3ZTc5ZS4uZTlkNjFhNiAxMDA2NDQKLS0t
IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCisrKyBiL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHByaXZhdGUuaApAQCAtMTUyLDYgKzE1Miw3IEBAIGV4dGVybiAiQyIgewogICAg
ICAgICBXZWJLaXRXZWJSZXNvdXJjZSogbWFpblJlc291cmNlOwogICAgICAgICBjaGFyKiBtYWlu
UmVzb3VyY2VJZGVudGlmaWVyOwogICAgICAgICBHSGFzaFRhYmxlKiBzdWJSZXNvdXJjZXM7Cisg
ICAgICAgIGNoYXIqIHRvb2x0aXBUZXh0OwogICAgIH07CiAKICAgICAjZGVmaW5lIFdFQktJVF9X
RUJfRlJBTUVfR0VUX1BSSVZBVEUob2JqKSAgICAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRF
KChvYmopLCBXRUJLSVRfVFlQRV9XRUJfRlJBTUUsIFdlYktpdFdlYkZyYW1lUHJpdmF0ZSkpCkBA
IC0yNTQsNiArMjU1LDkgQEAgZXh0ZXJuICJDIiB7CiAgICAgR0xpc3QqCiAgICAgd2Via2l0X3dl
Yl92aWV3X2dldF9zdWJyZXNvdXJjZXMoV2ViS2l0V2ViVmlldyopOwogCisgICAgdm9pZAorICAg
IHdlYmtpdF93ZWJfdmlld19zZXRfdG9vbHRpcF90ZXh0KFdlYktpdFdlYlZpZXcqLCBjb25zdCBj
aGFyKik7CisKICAgICBXZWJLaXREb3dubG9hZCoKICAgICB3ZWJraXRfZG93bmxvYWRfbmV3X3dp
dGhfaGFuZGxlKFdlYktpdE5ldHdvcmtSZXF1ZXN0KiByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZSogaGFuZGxlLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwIGIv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKaW5kZXggMmQyZTZlNy4uOTU3NjRj
OCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKKysrIGIv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAgLTEwNTMsNiArMTA1Myw3IEBA
IHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19maW5hbGl6ZShHT2JqZWN0KiBvYmplY3QpCiAg
ICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IFdFQktJVF9XRUJfVklFVyhvYmplY3QpOwogICAg
IFdlYktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsKIAorICAgIGdfZnJl
ZShwcml2LT50b29sdGlwVGV4dCk7CiAgICAgZ19mcmVlKHByaXYtPm1haW5SZXNvdXJjZUlkZW50
aWZpZXIpOwogICAgIGdfZnJlZShwcml2LT5lbmNvZGluZyk7CiAgICAgZ19mcmVlKHByaXYtPmN1
c3RvbUVuY29kaW5nKTsKQEAgLTI2MzAsNiArMjYzMSwyMCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRf
d2ViX3ZpZXdfc2V0dGluZ3Nfbm90aWZ5KFdlYktpdFdlYlNldHRpbmdzKiB3ZWJTZXR0aW5ncywg
R1BhcgogICAgIGdfdmFsdWVfdW5zZXQoJnZhbHVlKTsKIH0KIAorI2lmIEdUS19DSEVDS19WRVJT
SU9OKDIsIDEyLCAwKQorc3RhdGljIGdib29sZWFuIHdlYmtpdF93ZWJfdmlld19xdWVyeV90b29s
dGlwKEd0a1dpZGdldCAqd2lkZ2V0LCBnaW50IHgsIGdpbnQgeSwgZ2Jvb2xlYW4ga2V5Ym9hcmRf
bW9kZSwgR3RrVG9vbHRpcCAqdG9vbHRpcCwgZ3BvaW50ZXIgdXNlcl9kYXRhKQoreworICAgIFdl
YktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gV0VCS0lUX1dFQl9WSUVXX0dFVF9QUklWQVRFKHdp
ZGdldCk7CisKKyAgICBpZiAocHJpdi0+dG9vbHRpcFRleHQpIHsKKyAgICAgICAgZ3RrX3Rvb2x0
aXBfc2V0X3RleHQodG9vbHRpcCwgcHJpdi0+dG9vbHRpcFRleHQpOworICAgICAgICByZXR1cm4g
VFJVRTsKKyAgICB9CisKKyAgICByZXR1cm4gRkFMU0U7Cit9CisjZW5kaWYKKwogc3RhdGljIHZv
aWQgd2Via2l0X3dlYl92aWV3X2luaXQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKIHsKICAgICBX
ZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IFdFQktJVF9XRUJfVklFV19HRVRfUFJJVkFURSh3
ZWJWaWV3KTsKQEAgLTI2NjcsNiArMjY4MiwxMiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3Zp
ZXdfaW5pdChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgIHByaXYtPndlYldpbmRvd0ZlYXR1
cmVzID0gd2Via2l0X3dlYl93aW5kb3dfZmVhdHVyZXNfbmV3KCk7CiAKICAgICBwcml2LT5zdWJS
ZXNvdXJjZXMgPSBnX2hhc2hfdGFibGVfbmV3X2Z1bGwoZ19zdHJfaGFzaCwgZ19zdHJfZXF1YWws
IGdfZnJlZSwgZ19vYmplY3RfdW5yZWYpOworCisjaWYgR1RLX0NIRUNLX1ZFUlNJT04oMiwgMTIs
IDApCisgICAgcHJpdi0+dG9vbHRpcFRleHQgPSAwOworICAgIGd0a193aWRnZXRfc2V0X2hhc190
b29sdGlwKEdUS19XSURHRVQod2ViVmlldyksIFRSVUUpOworICAgIGdfc2lnbmFsX2Nvbm5lY3Qo
d2ViVmlldywgInF1ZXJ5LXRvb2x0aXAiLCBHX0NBTExCQUNLKHdlYmtpdF93ZWJfdmlld19xdWVy
eV90b29sdGlwKSwgMCk7CisjZW5kaWYKIH0KIAogR3RrV2lkZ2V0KiB3ZWJraXRfd2ViX3ZpZXdf
bmV3KHZvaWQpCkBAIC00MDIxLDYgKzQwNDIsMTYgQEAgc3RhdGljIEludFBvaW50IGRvY3VtZW50
UG9pbnRGb3JXaW5kb3dQb2ludChGcmFtZSogZnJhbWUsIGNvbnN0IEludFBvaW50JiB3aW5kb3cK
ICAgICByZXR1cm4gdmlldyA/IHZpZXctPndpbmRvd1RvQ29udGVudHMod2luZG93UG9pbnQpIDog
d2luZG93UG9pbnQ7CiB9CiAKK3ZvaWQgd2Via2l0X3dlYl92aWV3X3NldF90b29sdGlwX3RleHQo
V2ViS2l0V2ViVmlldyogd2ViVmlldywgY29uc3QgY2hhciogdG9vbHRpcCkKK3sKKyAgICBXZWJL
aXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZpZXctPnByaXY7CisgICAgZ19mcmVlKHByaXYt
PnRvb2x0aXBUZXh0KTsKKyAgICBpZiAodG9vbHRpcCAmJiAqdG9vbHRpcCAhPSAnXDAnKQorICAg
ICAgICBwcml2LT50b29sdGlwVGV4dCA9IGdfc3RyZHVwKHRvb2x0aXApOworICAgIGVsc2UKKyAg
ICAgICAgcHJpdi0+dG9vbHRpcFRleHQgPSAwOworfQorCiAvKioKICAqIHdlYmtpdF93ZWJfdmll
d19nZXRfaGl0X3Rlc3RfcmVzdWx0OgogICogQHdlYlZpZXc6IGEgI1dlYktpdFdlYlZpZXcK
</data>
<flag name="review"
          id="27407"
          type_id="1"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46288</attachid>
            <date>2010-01-11 10:41:45 -0800</date>
            <delta_ts>2010-01-14 03:57:05 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>change_tooltips.patch</filename>
            <type>text/plain</type>
            <size>6550</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggNmQ0NDZhMy4uOTNmNDA4MCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wMS0xMSAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXZpZXcgdGhlIHRvb2x0aXAgaW1wbGVt
ZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMyODE5CisKKyAgICAgICAgQ2hhbmdlIHRoZSBHVEsgdG9vbHRpcCBpbXBsZW1lbnRhdGlvbiB0
byBhdm9pZCB0aGUgd29ya2Fyb3VuZCB0aGF0CisgICAgICAgIHdlIGFyZSBjdXJyZW50bHkgdXNp
bmcuIE5vdyB3ZSB1c2UgYSBuZXcgcHJpdmF0ZSBBUEkgdG8gc2V0IHRoZQorICAgICAgICB0ZXh0
IGFuZCBhbGwgdGhlIHRvb2x0aXAgaGFuZGxpbmcgaXMgZG9uZSBpbiB0aGUgd2VidmlldyB3aWRn
ZXQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwOgorICAg
ICAgICAqIHdlYmtpdC93ZWJraXRwcml2YXRlLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdl
YnZpZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X3NldF90b29sdGlwX3RleHQpOiBB
ZGRlZCwgbmV3IHByaXZhdGUgQVBJLgorICAgICAgICAod2Via2l0X3dlYl92aWV3X3F1ZXJ5X3Rv
b2x0aXApOiBBZGRlZAorCiAyMDEwLTAxLTA4ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNA
Z25vbWUub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KZGlmZiAtLWdpdCBh
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAppbmRleCAwZjQ2YjkyLi5mNjdm
YzY0IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0
ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3Bw
CkBAIC00NDIsMjIgKzQ0Miw2IEBAIHZvaWQgQ2hyb21lQ2xpZW50OjpzY3JvbGxiYXJzTW9kZURp
ZENoYW5nZSgpIGNvbnN0CiAKIHZvaWQgQ2hyb21lQ2xpZW50Ojptb3VzZURpZE1vdmVPdmVyRWxl
bWVudChjb25zdCBIaXRUZXN0UmVzdWx0JiBoaXQsIHVuc2lnbmVkIG1vZGlmaWVyRmxhZ3MpCiB7
Ci0jaWYgR1RLX0NIRUNLX1ZFUlNJT04oMiwxMiwwKQotICAgIC8vIElmIGEgdG9vbHRpcCBtdXN0
IGJlIGRpc3BsYXllZCBpdCB3aWxsIGJlLCBhZnRlcndhcmRzLCB3aGVuCi0gICAgLy8gc2V0VG9v
bFRpcCBpcyBjYWxsZWQ7IHRoaXMgaXMganVzdCBhIHdvcmstYXJvdW5kIHRvIG1ha2Ugc3VyZQot
ICAgIC8vIGl0IHVwZGF0ZXMgaXRzIGxvY2F0aW9uIGNvcnJlY3RseTsgc2VlCi0gICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzkzLgotICAgIGdfb2JqZWN0
X3NldChtX3dlYlZpZXcsICJoYXMtdG9vbHRpcCIsIEZBTFNFLCBOVUxMKTsKLQotICAgIEdka0Rp
c3BsYXkqIGdka0Rpc3BsYXk7Ci0gICAgR3RrV2lkZ2V0KiB3aW5kb3cgPSBndGtfd2lkZ2V0X2dl
dF90b3BsZXZlbChHVEtfV0lER0VUKG1fd2ViVmlldykpOwotICAgIGlmIChHVEtfV0lER0VUX1RP
UExFVkVMKHdpbmRvdykpCi0gICAgICAgIGdka0Rpc3BsYXkgPSBndGtfd2lkZ2V0X2dldF9kaXNw
bGF5KHdpbmRvdyk7Ci0gICAgZWxzZQotICAgICAgICBnZGtEaXNwbGF5ID0gZ2RrX2Rpc3BsYXlf
Z2V0X2RlZmF1bHQoKTsKLSAgICBndGtfdG9vbHRpcF90cmlnZ2VyX3Rvb2x0aXBfcXVlcnkoZ2Rr
RGlzcGxheSk7Ci0jZW5kaWYKLQogICAgIC8vIGNoZWNrIGlmIHRoZSBlbGVtZW50IGlzIGEgbGlu
ay4uLgogICAgIGJvb2wgaXNMaW5rID0gaGl0LmlzTGl2ZUxpbmsoKTsKICAgICBpZiAoaXNMaW5r
KSB7CkBAIC00NzcsMTYgKzQ2MSw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50Ojptb3VzZURpZE1vdmVP
dmVyRWxlbWVudChjb25zdCBIaXRUZXN0UmVzdWx0JiBoaXQsIHVuc2lnbmVkIG1vCiAKIHZvaWQg
Q2hyb21lQ2xpZW50OjpzZXRUb29sVGlwKGNvbnN0IFN0cmluZyYgdG9vbFRpcCwgVGV4dERpcmVj
dGlvbikKIHsKLSNpZiBHVEtfQ0hFQ0tfVkVSU0lPTigyLDEyLDApCi0gICAgaWYgKHRvb2xUaXAu
aXNFbXB0eSgpKQotICAgICAgICBnX29iamVjdF9zZXQobV93ZWJWaWV3LCAiaGFzLXRvb2x0aXAi
LCBGQUxTRSwgTlVMTCk7Ci0gICAgZWxzZQotICAgICAgICBndGtfd2lkZ2V0X3NldF90b29sdGlw
X3RleHQoR1RLX1dJREdFVChtX3dlYlZpZXcpLCB0b29sVGlwLnV0ZjgoKS5kYXRhKCkpOwotI2Vs
c2UKLSAgICAvLyBUT0RPOiBTdXBwb3J0IG9sZGVyIEdUSysgdmVyc2lvbnMKLSAgICAvLyBTZWUg
aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3OTMKLSAgICBub3RJbXBs
ZW1lbnRlZCgpOwotI2VuZGlmCisgICAgd2Via2l0X3dlYl92aWV3X3NldF90b29sdGlwX3RleHQo
bV93ZWJWaWV3LCB0b29sVGlwLnV0ZjgoKS5kYXRhKCkpOwogfQogCiB2b2lkIENocm9tZUNsaWVu
dDo6cHJpbnQoRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0cHJpdmF0ZS5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCmluZGV4IGUx
N2U3OWUuLmU5ZDYxYTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZh
dGUuaAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKQEAgLTE1Miw2ICsx
NTIsNyBAQCBleHRlcm4gIkMiIHsKICAgICAgICAgV2ViS2l0V2ViUmVzb3VyY2UqIG1haW5SZXNv
dXJjZTsKICAgICAgICAgY2hhciogbWFpblJlc291cmNlSWRlbnRpZmllcjsKICAgICAgICAgR0hh
c2hUYWJsZSogc3ViUmVzb3VyY2VzOworICAgICAgICBjaGFyKiB0b29sdGlwVGV4dDsKICAgICB9
OwogCiAgICAgI2RlZmluZSBXRUJLSVRfV0VCX0ZSQU1FX0dFVF9QUklWQVRFKG9iaikgICAgKEdf
VFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2JqKSwgV0VCS0lUX1RZUEVfV0VCX0ZSQU1FLCBX
ZWJLaXRXZWJGcmFtZVByaXZhdGUpKQpAQCAtMjU0LDYgKzI1NSw5IEBAIGV4dGVybiAiQyIgewog
ICAgIEdMaXN0KgogICAgIHdlYmtpdF93ZWJfdmlld19nZXRfc3VicmVzb3VyY2VzKFdlYktpdFdl
YlZpZXcqKTsKIAorICAgIHZvaWQKKyAgICB3ZWJraXRfd2ViX3ZpZXdfc2V0X3Rvb2x0aXBfdGV4
dChXZWJLaXRXZWJWaWV3KiwgY29uc3QgY2hhciopOworCiAgICAgV2ViS2l0RG93bmxvYWQqCiAg
ICAgd2Via2l0X2Rvd25sb2FkX25ld193aXRoX2hhbmRsZShXZWJLaXROZXR3b3JrUmVxdWVzdCog
cmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcu
Y3BwCmluZGV4IDJkMmU2ZTcuLmJkOGRiYjkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcu
Y3BwCkBAIC0xMDUzLDYgKzEwNTMsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfZmlu
YWxpemUoR09iamVjdCogb2JqZWN0KQogICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBXRUJL
SVRfV0VCX1ZJRVcob2JqZWN0KTsKICAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdl
YlZpZXctPnByaXY7CiAKKyAgICBnX2ZyZWUocHJpdi0+dG9vbHRpcFRleHQpOwogICAgIGdfZnJl
ZShwcml2LT5tYWluUmVzb3VyY2VJZGVudGlmaWVyKTsKICAgICBnX2ZyZWUocHJpdi0+ZW5jb2Rp
bmcpOwogICAgIGdfZnJlZShwcml2LT5jdXN0b21FbmNvZGluZyk7CkBAIC0xMjc2LDYgKzEyNzcs
MjAgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2RyYWdfZGF0YV9nZXQoR3RrV2lkZ2V0
KiB3aWRnZXQsIEdka0RyYWdDb250ZXh0KiBjb24KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY2xpcGJvYXJkX2NvbnRlbnRzX3JlY2VpdmVkLCBjb250ZW50c19yZXF1ZXN0KTsK
IH0KIAorI2lmIEdUS19DSEVDS19WRVJTSU9OKDIsIDEyLCAwKQorc3RhdGljIGdib29sZWFuIHdl
YmtpdF93ZWJfdmlld19xdWVyeV90b29sdGlwKEd0a1dpZGdldCAqd2lkZ2V0LCBnaW50IHgsIGdp
bnQgeSwgZ2Jvb2xlYW4ga2V5Ym9hcmRfbW9kZSwgR3RrVG9vbHRpcCAqdG9vbHRpcCkKK3sKKyAg
ICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IFdFQktJVF9XRUJfVklFV19HRVRfUFJJVkFU
RSh3aWRnZXQpOworCisgICAgaWYgKHByaXYtPnRvb2x0aXBUZXh0KSB7CisgICAgICAgIGd0a190
b29sdGlwX3NldF90ZXh0KHRvb2x0aXAsIHByaXYtPnRvb2x0aXBUZXh0KTsKKyAgICAgICAgcmV0
dXJuIFRSVUU7CisgICAgfQorCisgICAgcmV0dXJuIEZBTFNFOworfQorI2VuZGlmCisKIHN0YXRp
YyB2b2lkIHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KFdlYktpdFdlYlZpZXdDbGFzcyogd2Vi
Vmlld0NsYXNzKQogewogICAgIEd0a0JpbmRpbmdTZXQqIGJpbmRpbmdfc2V0OwpAQCAtMjE0NSw2
ICsyMTYwLDkgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQoV2ViS2l0
V2ViVmlld0NsYXNzKiB3ZWJWaWV3Q2xhc3MpCiAgICAgd2lkZ2V0Q2xhc3MtPnNjcmVlbl9jaGFu
Z2VkID0gd2Via2l0X3dlYl92aWV3X3NjcmVlbl9jaGFuZ2VkOwogICAgIHdpZGdldENsYXNzLT5k
cmFnX2VuZCA9IHdlYmtpdF93ZWJfdmlld19kcmFnX2VuZDsKICAgICB3aWRnZXRDbGFzcy0+ZHJh
Z19kYXRhX2dldCA9IHdlYmtpdF93ZWJfdmlld19kcmFnX2RhdGFfZ2V0OworI2lmIEdUS19DSEVD
S19WRVJTSU9OKDIsIDEyLCAwKQorICAgIHdpZGdldENsYXNzLT5xdWVyeV90b29sdGlwID0gd2Vi
a2l0X3dlYl92aWV3X3F1ZXJ5X3Rvb2x0aXA7CisjZW5kaWYKIAogICAgIEd0a0NvbnRhaW5lckNs
YXNzKiBjb250YWluZXJDbGFzcyA9IEdUS19DT05UQUlORVJfQ0xBU1Mod2ViVmlld0NsYXNzKTsK
ICAgICBjb250YWluZXJDbGFzcy0+YWRkID0gd2Via2l0X3dlYl92aWV3X2NvbnRhaW5lcl9hZGQ7
CkBAIC0yNjY3LDYgKzI2ODUsOCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfaW5pdChX
ZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgIHByaXYtPndlYldpbmRvd0ZlYXR1cmVzID0gd2Vi
a2l0X3dlYl93aW5kb3dfZmVhdHVyZXNfbmV3KCk7CiAKICAgICBwcml2LT5zdWJSZXNvdXJjZXMg
PSBnX2hhc2hfdGFibGVfbmV3X2Z1bGwoZ19zdHJfaGFzaCwgZ19zdHJfZXF1YWwsIGdfZnJlZSwg
Z19vYmplY3RfdW5yZWYpOworCisgICAgcHJpdi0+dG9vbHRpcFRleHQgPSAwOwogfQogCiBHdGtX
aWRnZXQqIHdlYmtpdF93ZWJfdmlld19uZXcodm9pZCkKQEAgLTQwMjEsNiArNDA0MSwyNyBAQCBz
dGF0aWMgSW50UG9pbnQgZG9jdW1lbnRQb2ludEZvcldpbmRvd1BvaW50KEZyYW1lKiBmcmFtZSwg
Y29uc3QgSW50UG9pbnQmIHdpbmRvdwogICAgIHJldHVybiB2aWV3ID8gdmlldy0+d2luZG93VG9D
b250ZW50cyh3aW5kb3dQb2ludCkgOiB3aW5kb3dQb2ludDsKIH0KIAordm9pZCB3ZWJraXRfd2Vi
X3ZpZXdfc2V0X3Rvb2x0aXBfdGV4dChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25zdCBjaGFy
KiB0b29sdGlwKQoreworI2lmIEdUS19DSEVDS19WRVJTSU9OKDIsIDEyLCAwKQorICAgIFdlYktp
dFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsKKyAgICBnX2ZyZWUocHJpdi0+
dG9vbHRpcFRleHQpOworICAgIGlmICh0b29sdGlwICYmICp0b29sdGlwICE9ICdcMCcpIHsKKyAg
ICAgICAgcHJpdi0+dG9vbHRpcFRleHQgPSBnX3N0cmR1cCh0b29sdGlwKTsKKyAgICAgICAgZ3Rr
X3dpZGdldF9zZXRfaGFzX3Rvb2x0aXAoR1RLX1dJREdFVCh3ZWJWaWV3KSwgVFJVRSk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgcHJpdi0+dG9vbHRpcFRleHQgPSAwOworICAgICAgICBndGtfd2lk
Z2V0X3NldF9oYXNfdG9vbHRpcChHVEtfV0lER0VUKHdlYlZpZXcpLCBGQUxTRSk7CisgICAgfQor
CisgICAgZ3RrX3dpZGdldF90cmlnZ2VyX3Rvb2x0aXBfcXVlcnkoR1RLX1dJREdFVCh3ZWJWaWV3
KSk7CisjZWxzZQorICAgIC8vIFRPRE86IFN1cHBvcnQgb2xkZXIgR1RLKyB2ZXJzaW9ucworICAg
IC8vIFNlZSBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc5MworICAg
IG5vdEltcGxlbWVudGVkKCk7CisjZW5kaWYKK30KKwogLyoqCiAgKiB3ZWJraXRfd2ViX3ZpZXdf
Z2V0X2hpdF90ZXN0X3Jlc3VsdDoKICAqIEB3ZWJWaWV3OiBhICNXZWJLaXRXZWJWaWV3Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>