WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
UNCONFIRMED
51387
when open a link with empty target frame, always create a new window
https://bugs.webkit.org/show_bug.cgi?id=51387
Summary
when open a link with empty target frame, always create a new window
ZhangYong
Reported
2010-12-21 01:46:35 PST
when a link looks like <a href="about.html">link</a> it implies that the "target" of this link is empty. In IE and firefox, this link will be opened inside current frame. And in webkit, the real target was reset to current document's target name. If this target is "_blank", this link will be opened in a new window( which is not correct).
Attachments
Add attachment
proposed patch, testcase, etc.
Alexey Proskuryakov
Comment 1
2010-12-21 11:53:33 PST
Thank you for the report! Do you have a test case or an example URL showing the problem? does this affect any live Web sites?
ZhangYong
Comment 2
2010-12-21 18:07:58 PST
try this:
http://club3.kdnet.net/dispbbs.asp?boardid=1&id=6659651
(note it is in Chinese!) Click the page number (at the bottom of the page), it will open a new tab while IE&firefox will open in current tab. I've fix this problem, code as below: @@ -288,8 +288,11 @@ void FrameLoader::urlSelected(const ResourceRequest& request, const String& pass return; String target = passedTarget; - if (target.isEmpty()) + if (target.isEmpty()) { target = m_frame->document()->baseTarget(); + if (target == "_blank") + target = "_self"; + } FrameLoadRequest frameRequest(request, target);
ZhangYong
Comment 3
2011-01-05 01:12:00 PST
sorry, the patch need a fix @@ -288,8 +288,11 @@ void FrameLoader::urlSelected(const ResourceRequest& request, const String& pass return; String target = passedTarget; - if (target.isEmpty()) + if (target.isEmpty()) { target = m_frame->document()->baseTarget(); + if (target.isEmpty()) + target = "_self"; + } FrameLoadRequest frameRequest(request, target); (In reply to
comment #2
)
> try this: >
http://club3.kdnet.net/dispbbs.asp?boardid=1&id=6659651
> (note it is in Chinese!) > > Click the page number (at the bottom of the page), it will open a new tab while IE&firefox will open in current tab. > > I've fix this problem, code as below: > > @@ -288,8 +288,11 @@ void FrameLoader::urlSelected(const ResourceRequest& request, const String& pass > return; > > String target = passedTarget; > - if (target.isEmpty()) > + if (target.isEmpty()) { > target = m_frame->document()->baseTarget(); > + if (target == "_blank") > + target = "_self"; > + } > > FrameLoadRequest frameRequest(request, target);
Alexey Proskuryakov
Comment 4
2011-01-05 01:21:09 PST
Would you be willing to submit a patch with a test case, as described in <
http://webkit.org/coding/contributing.html
>?
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug