<?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>17714</bug_id>
          
          <creation_ts>2008-03-07 16:03:32 -0800</creation_ts>
          <short_desc>anchor elements href=&quot;#&quot; and  &quot;name&quot; attribute cause the page to jump to the end</short_desc>
          <delta_ts>2008-03-16 13:35:47 -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>Layout and Rendering</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>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="jasneet">jasneet</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>jasneet</cc>
    
    <cc>webkit</cc>
    
    <cc>yuzhu.shen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>73045</commentid>
    <comment_count>0</comment_count>
    <who name="jasneet">jasneet</who>
    <bug_when>2008-03-07 16:03:32 -0800</bug_when>
    <thetext>I Steps:
Go to
the attached reduction.
Click on &quot;Click me&quot;

II Issue:
Notice that on clicking &quot;Click me&quot;, the page jumps to the end. This happens only in Safari

III Conclusion: combination of href=&quot;#&quot; and name=&quot;&quot; is causing the issue. 

IV Other browsers:
IE7: ok
FF: ok
Opera: ok

V Nightly tested: 30236</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73046</commentid>
    <comment_count>1</comment_count>
      <attachid>19597</attachid>
    <who name="jasneet">jasneet</who>
    <bug_when>2008-03-07 16:05:07 -0800</bug_when>
    <thetext>Created attachment 19597
reduction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73096</commentid>
    <comment_count>2</comment_count>
    <who name="Robert Blaut">webkit</who>
    <bug_when>2008-03-08 14:24:42 -0800</bug_when>
    <thetext>Confirmed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73301</commentid>
    <comment_count>3</comment_count>
    <who name="Yuzhu Shen">yuzhu.shen</who>
    <bug_when>2008-03-11 05:55:53 -0700</bug_when>
    <thetext>
This issue is similar with bug 14867. Because of revision 30243, however, bug 14867 is ok now.

In revision 30243, FrameLoader::gotoAnchor() is modified:
DeprecatedString ref = m_URL.encodedHtmlRef(); --&gt; String ref = m_URL.ref();

With this change, WebKit now interprets the fragment identifier of &lt;a href=&quot;#&quot;&gt; as an empty string (length = 0) instead of a null string. 

As I commented in bug 14867, WebKit searches the anchor node in two steps: (in bool FrameLoader::gotoAnchor(const String&amp; name))
1) searches any node whose id attribute is the same as the fragment identifier.
   If the fragment identifier is an empty string, it returns directly.

2) searches in a set of &lt;a&gt; elements that have name attributes, using HTMLCollection::namedItem().
   It should be noted that namedItem() first searches for an object with a matching id attribute. If a match is not found, the method then searches for an
 object with a matching name attribute.

   Consider the following node:
   &lt;a name=&quot;&quot;&gt;...&lt;/a&gt;

   Its id attribute is not specified (returned as a null string when querying it), so it won&apos;t match. However, if we are searching with a empty string, it will match the name attribute.

As a result, clicking the &quot;Goto Top&quot; link in the page below will bring you to the anchor &quot;Oops!&quot; but not the top of the page.

=======================================
...
&lt;a href=&quot;#&quot;&gt;Goto Top&lt;/a&gt;
...
...
&lt;a name=&quot;&quot;&gt;Oops!&lt;/a&gt;
...
=======================================</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73302</commentid>
    <comment_count>4</comment_count>
      <attachid>19660</attachid>
    <who name="Yuzhu Shen">yuzhu.shen</who>
    <bug_when>2008-03-11 06:01:36 -0700</bug_when>
    <thetext>Created attachment 19660
The patch for this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73308</commentid>
    <comment_count>5</comment_count>
      <attachid>19660</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-03-11 07:43:56 -0700</bug_when>
    <thetext>Comment on attachment 19660
The patch for this bug.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73965</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-03-16 13:35:47 -0700</bug_when>
    <thetext>Committed revision 31083.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>19597</attachid>
            <date>2008-03-07 16:05:07 -0800</date>
            <delta_ts>2008-03-07 16:05:07 -0800</delta_ts>
            <desc>reduction</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>243</size>
            <attacher name="jasneet">jasneet</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiI+DQo8aHRtbD4NCjxib2R5Pg0KCTxhIGhyZWY9IiMiPkNsaWNrIG1lPC9hPg0KCTxkaXYg
c3R5bGU9ImhlaWdodDoxMDAwcHgiPjwvZGl2Pg0KCTxhIG5hbWU9IiI+U2FmYXJpIHNob3dzIHRo
aXMgb24gY2xpY2ssIGkuZS4sIGp1bXBzIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2U8L2E+DQo8
L2JvZHk+DQo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19660</attachid>
            <date>2008-03-11 06:01:36 -0700</date>
            <delta_ts>2008-03-11 07:43:56 -0700</delta_ts>
            <desc>The patch for this bug.</desc>
            <filename>patch-bug-17714.txt</filename>
            <type>text/plain</type>
            <size>3638</size>
            <attacher name="Yuzhu Shen">yuzhu.shen</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMDk1NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDgtMDMtMTEgIFl1emh1IFNoZW4gIDx5dXpodS5zaGVuQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBG
aXggYnVnIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzE0CisgICAg
ICAgIDxpbWcgaHJlZj0iIyI+IHNob3VsZCBnbyB0byB0b3Agb2YgdGhlIHBhZ2UuCisKKyAgICAg
ICAgVGVzdDogZmFzdC9odG1sL2VtcHR5LWZyYWdtZW50LWlkLWdvdG8tdG9wLmh0bWwKKworICAg
ICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6Z290b0FuY2hvcik6CisKIDIwMDgtMDMtMTAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBCZXRoIERha2luLgpJbmRleDogV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcAkocmV2aXNpb24gMzA5NTEpCisrKyBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MDEsNyArMTUwMSw3IEBAIGJvb2wgRnJhbWVMb2Fk
ZXI6OmdvdG9BbmNob3IoY29uc3QgU3RyaW4KICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5zZXRH
b3RvQW5jaG9yTmVlZGVkQWZ0ZXJTdHlsZXNoZWV0c0xvYWQoZmFsc2UpOwogCiAgICAgTm9kZSog
YW5jaG9yTm9kZSA9IG1fZnJhbWUtPmRvY3VtZW50KCktPmdldEVsZW1lbnRCeUlkKEF0b21pY1N0
cmluZyhuYW1lKSk7Ci0gICAgaWYgKCFhbmNob3JOb2RlKQorICAgIGlmICghYW5jaG9yTm9kZSAm
JiAhbmFtZS5pc0VtcHR5KCkpCiAgICAgICAgIGFuY2hvck5vZGUgPSBtX2ZyYW1lLT5kb2N1bWVu
dCgpLT5hbmNob3JzKCktPm5hbWVkSXRlbShuYW1lLCAhbV9mcmFtZS0+ZG9jdW1lbnQoKS0+aW5D
b21wYXRNb2RlKCkpOwogCiAjaWYgRU5BQkxFKFNWRykKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDMwOTU1
KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMDgtMDMtMTEgIFl1emh1IFNoZW4gIDx5dXpodS5zaGVuQGdtYWlsLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWc6IGh0dHA6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzE0CisgICAgICAgIFRlc3Qgd2hldGhl
ciBjbGlja2luZyA8aW1nIGhyZWY9IiMiPiBnb2VzIHRvIHRvcCBvZiB0aGUgcGFnZS4KKworICAg
ICAgICAqIGZhc3QvaHRtbC9lbXB0eS1mcmFnbWVudC1pZC1nb3RvLXRvcC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvaHRtbC9lbXB0eS1mcmFnbWVudC1pZC1nb3RvLXRvcC5o
dG1sOiBBZGRlZC4KKwogMjAwOC0wMy0xMCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEJldGggRGFraW4uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2h0bWwvZW1wdHktZnJhZ21lbnQtaWQtZ290by10b3AtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvaHRtbC9lbXB0eS1mcmFnbWVudC1pZC1nb3RvLXRvcC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2h0bWwvZW1wdHktZnJh
Z21lbnQtaWQtZ290by10b3AtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBA
Citkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDogMApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9odG1s
L2VtcHR5LWZyYWdtZW50LWlkLWdvdG8tdG9wLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9odG1sL2VtcHR5LWZyYWdtZW50LWlkLWdvdG8tdG9wLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2h0bWwvZW1wdHktZnJhZ21lbnQtaWQtZ290by10b3AuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMCBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7Cisg
ICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgICAgICAg
ICAgd2luZG93LnNjcm9sbFRvKDAsIDEwMDApOworCisgICAgICAgICAgICAgICAgdmFyIGNsaWNr
RXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiSFRNTEV2ZW50cyIpOworICAgICAgICAgICAg
ICAgIGNsaWNrRXZlbnQuaW5pdEV2ZW50KCJjbGljayIsICJ0cnVlIiwgInRydWUiKTsKKworICAg
ICAgICAgICAgICAgIHZhciBnb3RvVG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdvdG9U
b3AiKTsKKyAgICAgICAgICAgICAgICBnb3RvVG9wLmRpc3BhdGNoRXZlbnQoY2xpY2tFdmVudCk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBkb2N1bWVu
dC53cml0ZSgiPGRpdj5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcDogIiArIGRvY3VtZW50LmJvZHku
c2Nyb2xsVG9wICsiPC9kaXY+Iik7CisgICAgICAgICAgICB9CisgICAgICAgICB9CisgICAgPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisgICAgV2hlbiBjbGlja2lu
ZyB0aGUgbGluayAiR290byBUb3AiIGF0IHRoZSBtaWRkbGUgb2YgdGhlIHBhZ2UsIGl0IHNob3Vs
ZCBnbyBoZXJlLgorICAgIDxkaXYgc3R5bGU9ImhlaWdodDoxNTAwcHg7IHdpZHRoOjUwMHB4OyBi
YWNrZ3JvdW5kOiNmZmRkZmYiPjwvZGl2PgorICAgIDxhIGlkPSJnb3RvVG9wIiBuYW1lPSJnb3Rv
VG9wIiBocmVmPSIjIj5Hb3RvIFRvcDwvYT4KKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6MzAwMHB4
OyB3aWR0aDo1MDBweDsgYmFja2dyb3VuZDojZmZmZmRkIj48L2Rpdj4KKyAgICA8YSBuYW1lPSJ5
b3VzaG91bGRub3RmaW5kbWUiPk9vcHMhIEhlcmUgaXMgdGhlIGJvdHRvbSBvZiB0aGUgcGFnZS48
L2E+CisgICAgPGEgaWQ9IiIgbmFtZT0ieW91c2hvdWxkbm90ZmluZG1lZWl0aGVyIj5Pb3BzITwv
YT4KKyAgICA8YSBuYW1lPSIiPk9vcHMhPC9hPgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="8601"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>