Bug 43246

Summary: Web Inspector: incorrect absolute protocol-less URLs in tooltips of links in the ElementsTreeOutline
Product: WebKit Reporter: Alexander Pavlov (apavlov) <apavlov>
Component: Web Inspector (Deprecated)Assignee: Alexander Pavlov (apavlov) <apavlov>
Status: RESOLVED FIXED    
Severity: Normal CC: bweinstein, joepeck, keishi, pfeldman, pmuellr, rik, timothy, yurys
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
[PATCH] Suggested solution joepeck: review+

Description Alexander Pavlov (apavlov) 2010-07-30 06:24:58 PDT
In a page loaded from http://example.com,
<a href="//example.org/foo">...</a> is given the following tooltip in the ElementsTreeOutline:
"http://example.com//example.org/foo", which should be "http://example.org/foo" instead.
Comment 1 Alexander Pavlov (apavlov) 2010-08-03 06:57:17 PDT
Created attachment 63333 [details]
[PATCH] Suggested solution
Comment 2 Joseph Pecoraro 2010-08-03 09:51:04 PDT
Hmm, I didn't even know about this style of link. Is it specified somewhere?
I took a look at the HTML5 spec and nothing popped out at me. I'd appreciate
a link if have one.

Also, I notice a number of calls to completeURL (in frames) just use the
documentURL. Does that respect a <base> element if there is one? Meaning,
does the documentURL property update if there is a <base href="..."> or
xml:base attribute, or must those be determined dynamically?
Comment 3 Alexander Pavlov (apavlov) 2010-08-03 10:15:15 PDT
(In reply to comment #2)
> Hmm, I didn't even know about this style of link. Is it specified somewhere?
> I took a look at the HTML5 spec and nothing popped out at me. I'd appreciate
> a link if have one.

Please see http://www.faqs.org/rfcs/rfc1808.html (2.4.3) for the reference.

> Also, I notice a number of calls to completeURL (in frames) just use the
> documentURL. Does that respect a <base> element if there is one? Meaning,
> does the documentURL property update if there is a <base href="..."> or
> xml:base attribute, or must those be determined dynamically?

I'm not entitled to answer this question :) The only thing I've done in this direction was the introduction of the documentURL property which is determined in InspectorDOMAgent as document->url(). I do not know whether the parser takes <base href...> into account when computing document->url() but anyway, I believe it is the right point where this should be done.
Comment 4 Joseph Pecoraro 2010-08-03 10:39:05 PDT
Comment on attachment 63333 [details]
[PATCH] Suggested solution

> (use the baseURL protocol).

NIT: might be better if it was "(use the baseURL's protocol).".


> Please see http://www.faqs.org/rfcs/rfc1808.html (2.4.3) for the reference.

Thanks, this is great =). I see this format under Relative URLs.


> > Also, I notice a number of calls to completeURL (in frames) just use the
> > documentURL. Does that respect a <base> element if there is one? Meaning,
> > does the documentURL property update if there is a <base href="..."> or
> > xml:base attribute, or must those be determined dynamically?
> 
> I'm not entitled to answer this question :)

I think "entitled" is the wrong word. But I understand what you mean =).


> The only thing I've done in this direction was the introduction of the documentURL property
> which is determined in InspectorDOMAgent as document->url(). I do not know whether the
> parser takes <base href...> into account when computing document->url() but anyway, I
> believe it is the right point where this should be done.

I just whipped up a quick test, and the Inspector's tooltips do not work correctly with
<base>. I just filed the following:

  Web Inspector: Relative URL Link Tooltips do not respect <base>
  https://bugs.webkit.org/show_bug.cgi?id=43434

Let me know if its something you are interested in working on. The thing is so few people
use <base> that it might not be a good use of time. Still, it is a bug.

r=me for this fix. Thanks!
Comment 5 Alexander Pavlov (apavlov) 2010-08-03 10:54:45 PDT
Committing to http://svn.webkit.org/repository/webkit/trunk ...
        M       WebCore/ChangeLog
        M       WebCore/inspector/front-end/inspector.js
Committed r64565