Closed Bug 18719 Opened 26 years ago Closed 25 years ago

[Feature] URL resolution order: move some out of web shell

Categories

(SeaMonkey :: UI Design, defect, P3)

defect

Tracking

(Not tracked)

VERIFIED INVALID

People

(Reporter: johng, Assigned: radha)

Details

Most of the work on resolving a URL happens in the web shell, but some of these things are not generic (like how it handles keywords) and therefore it might be better to move them out of the web shell and into javascript (probably). Moving some of these non-generic items out of the web shell would probably be good for 3rd parties but might add work to folks trying to ship the Netscape branded product - unclear when this feature should be implemented. Here are the details (courtesy of Radha from meeting with Judson and Bill) of what happens when and where.. 1) The first crack at the url bar contents will be given to custom keyword code that already resides in navigator.js. If the url bar contents match a bookmark entry, it will be loaded. 2) If #1 step fails, we will make a uri out of the url bar contents. Following are the steps we will take to make a uri out of it and process it. 2.1) Check if the contents of the url is just a single word with no '.', ':', or '//' if (single word with no :,.,//) { 2.2 Try to do a DNS resolution. if (2.2 succeeds) { 2.3 Load the matching intranet server 2.4 Job done, cleanup } else { //DNS resolution failed 2.5 In the exit path (OnEnd*(...) function), prepend "keyword:" to the contents of the urlbar and try to resolve it.. This time, the keywords protocol handler will resolve it. The results from the keyword server will be displayed on the screen. 2.6 Job done, clean up } } // single word else if (Multiple words with no ., :, //) 2.7 Prepend "keyword:" to the contents, give it to the keyword protocol handler to resolve and display results 2.8 Job done, clean up } else if (a fully or partially qualified url with : or . or //) { 2.9 Try to resolve it as it. In this case, most of the steps followed in the above scenarios will be followed. if (2.9 succeeds) { 2.10 If there was a intranet site with that name, it will get resolved. If there was a website with that name, it will get resolved. 2.11 Job done, cleanup } else { // 2.9 fails 2.12 In the return path (some OnEnd*(....) function) prepend a "keyword:" and send it to keyword server. } } // Partially or fully qualified url. Though I have put down the steps like a function logic,all this code is not going to reside in one function.
Don't forget about changing a URL that starts with "ftp." (with no protocol specified) to be "ftp://ftp." + the rest. For example, "ftp.netscape.com" would be morphed into "ftp://ftp.netscape.com/".
Do we need to do this before beta?
Assignee: don → radha
Target Milestone: M15
OK, after John's last message, I'm moving this out after beta 1. Radha, how much work (i.e. time :-) will this take to do? And are you the right person for it?
As usual, part of what is described here, (ie., keyword protocol handler work etc..) falls in to valeski's plate. xpapps team is responsible for cleaning up the webshell code. I w'd say who ever wires up the browser functionalities in the new docshell world, s'd do this. Time wise, I think it is a 1-2 days work.
Target Milestone: M15 → M17
Status: NEW → ASSIGNED
In the new docshell/SH world, I belive this is no longer required
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → INVALID
QA Contact: don → sairuh
QA Contact: sairuh → claudius
mass-verifying Invalid bugs which haven't changed since 2001-12-31. use the search string "PinballWizard" if you want to filter out this msg.
Status: RESOLVED → VERIFIED
Product: Core → Mozilla Application Suite
You need to log in before you can comment on or make changes to this bug.