<?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>16654</bug_id>
          
          <creation_ts>2007-12-28 20:18:28 -0800</creation_ts>
          <short_desc>[GTK] Signal &quot;navigation-requested&quot; does not react correctly on return TRUE from callbacks</short_desc>
          <delta_ts>2008-01-03 22:35:28 -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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Lars Strojny">lars</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alp</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>65545</commentid>
    <comment_count>0</comment_count>
    <who name="Lars Strojny">lars</who>
    <bug_when>2007-12-28 20:18:28 -0800</bug_when>
    <thetext>Signal &quot;navigation-requested&quot; is supposed to stop emitting the signal (and therefore the default handler should not be called). This is currently not the case. A working workround is to call g_signal_stop_emission_by_name() on the webview object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65735</commentid>
    <comment_count>1</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2007-12-30 05:30:10 -0800</bug_when>
    <thetext>What he means is that there&apos;s no way to prevent the default handler from running and returning its value unless you stop the signal manually or connect with g_signal_connect_after (making your value &apos;win&apos;).

I think the signal should have a boolean accumulator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65737</commentid>
    <comment_count>2</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2007-12-30 05:46:01 -0800</bug_when>
    <thetext>Obviously can&apos;t be boolean, since that&apos;s not the return type. Maybe our own ad-hoc acc?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65754</commentid>
    <comment_count>3</comment_count>
      <attachid>18193</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2007-12-30 09:29:24 -0800</bug_when>
    <thetext>Created attachment 18193
WebKitNavigationResponse accumulator.

        * WebView/webkitwebview.cpp: use our own accumulator for signals
        returning WebKitNavigationResponse. The emission will be stopped
        when any callback returns anything but
        WEBKIT_NAVIGATION_RESPONSE_ACCEPT.
---
 WebKit/gtk/ChangeLog                 |   13 +++++++++++++
 WebKit/gtk/WebView/webkitwebview.cpp |   20 +++++++++++++++++++-
 2 files changed, 32 insertions(+), 1 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65969</commentid>
    <comment_count>4</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-01-01 18:42:15 -0800</bug_when>
    <thetext>Couldn&apos;t we just use a boolean accumulator if we defined WEBKIT_NAVIGATION_RESPONSE_ACCEPT as 0? Seems like a sensible default value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66056</commentid>
    <comment_count>5</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2008-01-02 11:30:56 -0800</bug_when>
    <thetext>Not sure if it would freak out because of the difference in types (I can check), but that would be a hack no matter how you look at it. I think our own accumulator is the right thing to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66175</commentid>
    <comment_count>6</comment_count>
      <attachid>18193</attachid>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-01-03 22:30:40 -0800</bug_when>
    <thetext>Comment on attachment 18193
WebKitNavigationResponse accumulator.

Fair enough.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66176</commentid>
    <comment_count>7</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-01-03 22:35:28 -0800</bug_when>
    <thetext>Landed in r29147 with several whitespace and formatting fixes.

(I guess it was this way to match the formatting patch which wasn&apos;t accepted, so will fix up before landing, but more careful next time please!)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18193</attachid>
            <date>2007-12-30 09:29:24 -0800</date>
            <delta_ts>2008-01-03 22:30:40 -0800</delta_ts>
            <desc>WebKitNavigationResponse accumulator.</desc>
            <filename>0001-2007-12-30-Xan-Lopez-xan-gnome.org.patch</filename>
            <type>text/plain</type>
            <size>3075</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBjZjhlOWUxYzlkNGY0OWVjODczOTE0YzQ4ZmQyNDI2Mzc3MWM3OWEwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhhbkBnbm9tZS5vcmc+CkRhdGU6IFN1biwg
MzAgRGVjIDIwMDcgMTk6Mjc6MTEgKzAyMDAKU3ViamVjdDogW1BBVENIXSAyMDA3LTEyLTMwICBY
YW4gTG9wZXogIDx4YW5AZ25vbWUub3JnPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KCiAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2
NTQKICAgICAgICBbR1RLXSBTaWduYWwgIm5hdmlnYXRpb24tcmVxdWVzdGVkIiBkb2VzIG5vdCBy
ZWFjdCBjb3JyZWN0bHkgb24KICAgICAgICByZXR1cm4gVFJVRSBmcm9tIGNhbGxiYWNrcwoKICAg
ICAgICAqIFdlYlZpZXcvd2Via2l0d2Vidmlldy5jcHA6IHVzZSBvdXIgb3duIGFjY3VtdWxhdG9y
IGZvciBzaWduYWxzCiAgICAgICAgcmV0dXJuaW5nIFdlYktpdE5hdmlnYXRpb25SZXNwb25zZS4g
VGhlIGVtaXNzaW9uIHdpbGwgYmUgc3RvcHBlZAogICAgICAgIHdoZW4gYW55IGNhbGxiYWNrIHJl
dHVybnMgYW55dGhpbmcgYnV0CiAgICAgICAgV0VCS0lUX05BVklHQVRJT05fUkVTUE9OU0VfQUND
RVBULgotLS0KIFdlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICB8ICAgMTMgKysr
KysrKysrKysrKwogV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtpdHdlYnZpZXcuY3BwIHwgICAyMCAr
KysrKysrKysrKysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAx
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKaW5kZXggNDM2YTQ2Mi4uMzIwN2UzNyAxMDA2NDQKLS0tIGEvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAwNy0xMi0zMCAgWGFuIExvcGV6ICA8eGFuQGdub21lLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjY1NAorICAgICAgICBbR1RLXSBTaWduYWwgIm5hdmlnYXRpb24t
cmVxdWVzdGVkIiBkb2VzIG5vdCByZWFjdCBjb3JyZWN0bHkgb24KKyAgICAgICAgcmV0dXJuIFRS
VUUgZnJvbSBjYWxsYmFja3MKKyAgICAgICAgCisgICAgICAgICogV2ViVmlldy93ZWJraXR3ZWJ2
aWV3LmNwcDogdXNlIG91ciBvd24gYWNjdW11bGF0b3IgZm9yIHNpZ25hbHMKKyAgICAgICAgcmV0
dXJuaW5nIFdlYktpdE5hdmlnYXRpb25SZXNwb25zZS4gVGhlIGVtaXNzaW9uIHdpbGwgYmUgc3Rv
cHBlZAorICAgICAgICB3aGVuIGFueSBjYWxsYmFjayByZXR1cm5zIGFueXRoaW5nIGJ1dAorICAg
ICAgICBXRUJLSVRfTkFWSUdBVElPTl9SRVNQT05TRV9BQ0NFUFQuCisKIDIwMDctMTItMjYgIEph
biBNaWNoYWVsIEFsb256byAgPGptYWxvbnpvQHVucGx1Z2dhYmxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBBbHAgVG9rZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYlZpZXcvd2Vi
a2l0d2Vidmlldy5jcHAgYi9XZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0d2Vidmlldy5jcHAKaW5k
ZXggNjVlYmE5My4uNjNjODg5MCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtp
dHdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9ndGsvV2ViVmlldy93ZWJraXR3ZWJ2aWV3LmNwcApA
QCAtNDU2LDYgKzQ1NiwyNCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfZmluYWxpemUo
R09iamVjdCogb2JqZWN0KQogICAgIEdfT0JKRUNUX0NMQVNTKHdlYmtpdF93ZWJfdmlld19wYXJl
bnRfY2xhc3MpLT5maW5hbGl6ZShvYmplY3QpOwogfQogCitzdGF0aWMgZ2Jvb2xlYW4KK3dlYmtp
dF9uYXZpZ2F0aW9uX3JlcXVlc3RfaGFuZGxlZChHU2lnbmFsSW52b2NhdGlvbkhpbnQgKmloaW50
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdWYWx1ZSAgICAgICAgICAgICAg
ICAqcmV0dXJuX2FjY3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
R1ZhbHVlICAgICAgICAgICpoYW5kbGVyX3JldHVybiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBncG9pbnRlciAgICAgICAgICAgICAgIGR1bW15KQoreworICBnYm9vbGVhbiBj
b250aW51ZV9lbWlzc2lvbiA9IFRSVUU7CisgIGludCBzaWduYWxfaGFuZGxlZDsKKyAgCisgIHNp
Z25hbF9oYW5kbGVkID0gZ192YWx1ZV9nZXRfaW50IChoYW5kbGVyX3JldHVybik7CisgIGdfdmFs
dWVfc2V0X2ludCAocmV0dXJuX2FjY3UsIHNpZ25hbF9oYW5kbGVkKTsKKworICBpZihzaWduYWxf
aGFuZGxlZCAhPSBXRUJLSVRfTkFWSUdBVElPTl9SRVNQT05TRV9BQ0NFUFQpCisgICAgICBjb250
aW51ZV9lbWlzc2lvbiA9IEZBTFNFOworICAKKyAgcmV0dXJuIGNvbnRpbnVlX2VtaXNzaW9uOwor
fQorCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJLaXRXZWJWaWV3
Q2xhc3MqIHdlYlZpZXdDbGFzcykKIHsKICAgICBHdGtCaW5kaW5nU2V0KiBiaW5kaW5nX3NldDsK
QEAgLTQ3Miw3ICs0OTAsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5p
dChXZWJLaXRXZWJWaWV3Q2xhc3MqIHdlYlZpZXdDbGFzcykKICAgICAgICAgICAgIEdfVFlQRV9G
Uk9NX0NMQVNTKHdlYlZpZXdDbGFzcyksCiAgICAgICAgICAgICAoR1NpZ25hbEZsYWdzKShHX1NJ
R05BTF9SVU5fTEFTVCB8IEdfU0lHTkFMX0FDVElPTiksCiAgICAgICAgICAgICBHX1NUUlVDVF9P
RkZTRVQgKFdlYktpdFdlYlZpZXdDbGFzcywgbmF2aWdhdGlvbl9yZXF1ZXN0ZWQpLAotICAgICAg
ICAgICAgTlVMTCwKKyAgICAgICAgICAgIHdlYmtpdF9uYXZpZ2F0aW9uX3JlcXVlc3RfaGFuZGxl
ZCwKICAgICAgICAgICAgIE5VTEwsCiAgICAgICAgICAgICB3ZWJraXRfbWFyc2hhbF9JTlRfX09C
SkVDVF9PQkpFQ1QsCiAgICAgICAgICAgICBHX1RZUEVfSU5ULCAyLAotLSAKMS41LjMuNwoK
</data>
<flag name="review"
          id="7910"
          type_id="1"
          status="+"
          setter="alp"
    />
          </attachment>
      

    </bug>

</bugzilla>