Closed
Bug 77337
Opened 24 years ago
Closed 22 years ago
[FIX]view-source: does not allow viewing of many text files
Categories
(Core :: DOM: HTML Parser, defect, P2)
Tracking
()
VERIFIED
FIXED
mozilla1.2beta
People
(Reporter: tpowellmoz, Assigned: bzbarsky)
References
Details
(Keywords: arch)
Attachments
(1 file, 1 obsolete file)
22.50 KB,
patch
|
jst
:
review+
darin.moz
:
superreview+
|
Details | Diff | Splinter Review |
On the 2001042304 WinNT build, you can add view-source: in front of URLs to attempt to view the source of a page. However, it apparently only supports viewing of HTML files. JavaScript files (.js), Cascading Style Sheets (.css), XML and other files that have a mime type of text/something get prompted to download. This severely limits the usefulness of view source. Expected Result: view-source: of a text file should be shown. Actual Result: Mozilla prompts for download and does not show the source.
Comment 1•24 years ago
|
||
Cc:ing Vidur, Jud and Rick for thier input.
![]() |
Assignee | |
Comment 2•24 years ago
|
||
bug 76671 is about viewing source of text/sgml specifically. I just played with this. XML files workforme -- I get the source. We _do_ fail for text/css and text/plain. As for .js, that should be served as application/x-javascript.... so it's not really a text type. But we could try to show it anyway, I suppose.... The relevant code seems to be at http://lxr.mozilla.org/seamonkey/source/htmlparser/src/nsViewSourceHTML.cpp#390 and http://lxr.mozilla.org/seamonkey/source/htmlparser/src/nsParser.cpp#1065 Reading that, it _looks_ like CSS and text/plain should work, being valid (though not primary) detects....
Comment 3•24 years ago
|
||
In Communicator view-source: allowed you to view ANYTHING as text. Of course, it would still attempt to highlight HTML tags :-)
Reporter | ||
Comment 4•24 years ago
|
||
Just to clarify, I tried to view an XSL file. This caused Mozilla to prompt for download and reported that the mimetype was text/xml. So I couldn't view this type of xml file. Regular xml files may be okay. JavaScript as application/x-javascript? I've seen it as text/javascript quite a bit. In either case, it's a text file and should be viewable. I'm sure there's other types that should also be supported. I just picked the main ones that I miss. Added 4xp keyword. As Neil points out, this worked in communicator 4 with pretty much any text file. Proposing for mozilla 0.9.1 since the lack of this feature makes it more difficult for web developers.
Keywords: 4xp,
mozilla0.9.1
Comment 5•24 years ago
|
||
I think this should be fixed soon too. Is it well-assigned? Maybe someone could debug a bit and see where things go awry? I'll try to get to it after the 0.9 madness ends. /be
This should be easy to fix. Will take a look.
Status: NEW → ASSIGNED
Comment 8•24 years ago
|
||
getting the downloading/helper app dialog also occurs when trying to view source of image files [might be a different bug?].
The docshell is failing to create a content viewer for conten-type:application/x-javascript. Rick?
![]() |
Assignee | |
Comment 10•24 years ago
|
||
I think the reason the "regression" keyword was there is that text/plain at least used to work and no longer does.
Keywords: regression
![]() |
Assignee | |
Comment 11•24 years ago
|
||
I have a patch attached to bug 77080 that allows loading of text/plain (again), text/css, text/javascript, and application/x-javascript in view source. However, that only works in a debug build. In an optimized build it fails for some reason for application/x-javascript. Note that a fix that will work for all text/* types will have to be a little more clever than what we do now.
Comment 12•24 years ago
|
||
Boris: Do you think I should mark this bug a dup of 77080?
![]() |
Assignee | |
Comment 13•24 years ago
|
||
Well, to me this bug sounded like an rfe to let viewsource of _all_ text/* types... tpowell@databeam.com, is that the case? If not, then it's a dup -- bug 77080 implements viewing text/plain, various xml/xul types, JS, and CSS in viewsource.
Reporter | ||
Comment 14•24 years ago
|
||
Boris: Yes, this bug is about view-source support for all text/* files. XSL files (text/xml) are not currently shown, for example. View-source should support pretty much any text file, such as program source code (perl .pl, .pm, C++ .cpp, .c, etc.) Of course, most of these should also display in the browser as plain text, so view-source should be basically the same thing.
![]() |
Assignee | |
Comment 15•24 years ago
|
||
Adding dependecy. Should be looked at once 77080 is fixed.
Depends on: 77080
![]() |
Assignee | |
Comment 16•24 years ago
|
||
OK. bug 77080 is fixed now. What sort of files do we currently _not_ load in viewsource that we should?
Comment 17•23 years ago
|
||
*** Bug 82369 has been marked as a duplicate of this bug. ***
Comment 18•23 years ago
|
||
*** Bug 82182 has been marked as a duplicate of this bug. ***
Updated•23 years ago
|
Priority: -- → P2
Comment 19•23 years ago
|
||
*** Bug 86090 has been marked as a duplicate of this bug. ***
Comment 20•23 years ago
|
||
I don't know the best place to mention it but I would like the view source window to work for mail messages as well. I tried changing line 446 of mailCommands.js from getBrowserURL() to "chrome://navigator/content/viewSource.xul" but I just got a wierd invalid MIME type dialog - Mozilla didn't have a clue :-(
![]() |
Assignee | |
Comment 21•23 years ago
|
||
neil, what mime type did it come up with for the message?
Comment 22•23 years ago
|
||
*** Bug 91666 has been marked as a duplicate of this bug. ***
Comment 23•23 years ago
|
||
*** Bug 92187 has been marked as a duplicate of this bug. ***
Comment 24•23 years ago
|
||
Boris: message/rfc822; x-view-type=view-source
Comment 25•23 years ago
|
||
Another example: bugzilla buglists! e.g. http://bugzilla.mozilla.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=greenrd%40hotmail.com&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&bug_file_loc=&bug_file_loc_type=allwordssubstr&status_whiteboard=&status_whiteboard_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=Reuse+same+sort+as+last+time lynx reports headers as: HTTP/1.0 200 OK Date: Mon, 20 Aug 2001 23:08:05 GMT Server: Apache/1.3.19 (Unix) mod_throttle/3.1.2 Content-disposition: inline; filename=bugzilla_bug_list.html Set-Cookie: LASTORDER=bugs.bug_status%2C%20bugs.priority%2C%20map_assigned_to.login_name%2C%20bugs.bug_id ; path=/; expires=Sun, 30-Jun-2029 00:00:00 GMT Set-Cookie: BUGLIST=95941:95942:96131:91968:96124:81772:96120:89309:76799:92329 Content-Type: text/html X-Cache: MISS from wwwcache.lancs.ac.uk X-Cache-Lookup: MISS from wwwcache.lancs.ac.uk:8080 Proxy-Connection: close Content-type is text/html so it may be necessary to reopen bug 86090 or file a new bug for this case. However, I'm no expert - please tell me what to do.
![]() |
Assignee | |
Comment 27•23 years ago
|
||
Robin: probably bug 76816 is what you're seeing.
Comment 28•23 years ago
|
||
The original bug is a dup of bug #56898.
Comment 29•23 years ago
|
||
Cannot view source of eBay auction item pages, such as: <http://cgi.ebay.com/aw-cgi/eBayISAPI.dll?ViewItem&item=1654096985> Type is: application/x-unknown-content-type Is this the same bug?
Comment 30•23 years ago
|
||
the reason that this is failing is because the content type is *not* "allication/x-unknown-content-type" it is "application/x-unknown-content-type; x-view-type=view-source" unfortunately, we *only* have a content converted registered to handle x-unk-content-type *not* with the 'x-view-type' extension :-( So, somehow we need to educate the stream converter service about this content-type syntax. -- rick
Comment 31•23 years ago
|
||
Bugs targeted at mozilla1.0 without the mozilla1.0 keyword moved to mozilla1.0.1 (you can query for this string to delete spam or retrieve the list of bugs I've moved)
Target Milestone: mozilla1.0 → mozilla1.0.1
Comment 32•23 years ago
|
||
When I try to view source of a message whose message-id ends in .com, then choose view-source from the context menu, Mozilla asks me to save the .com file :-)
Comment 33•23 years ago
|
||
*** Bug 118096 has been marked as a duplicate of this bug. ***
Comment 34•23 years ago
|
||
As this was AutoMoved (tm) to a post 1.0 milestone, and Brendan Eich thought (8 months ago) it should be fixed "soon", I think this should be considered for retargeting. (Like, 0.9.8 :)
![]() |
Assignee | |
Comment 35•23 years ago
|
||
Removing regression keyword since the regression was fixed in bug 77080. Note that Brendan asked whether this bug is well-assigned. It is not, in my opinion. The problem is that the current architecture requires us to list every type that we have an internal handler for in nsContentDLF.cpp. For example, consider a file at url "http://foo" served as text/x-csrc. We can't handle this type internally, so it's not listed in nsContentDLF.cpp. The request in this bug is that a link to "view-source:http://foo" (the only way to view source of such a page that I can find) do something reasonable. This is only possible if we change the type set on the channel in nsContentDLF to text/plain for text/* types for the view-source command (I'll try this next week and see if it works) or if we change the way the whole content handler setup works. We could probably just add "message/rfc822; x-view-type=view-source" to the list and let the parser know about it and it would work (again, I'll try this next week). I'm guessing that Brendan was asking for this to be fixed "soon" because doing it right will take some rearchitecting...
Keywords: regression → arch
Comment 36•23 years ago
|
||
On the ebay URL posted in comment 29, I notice the server sends no Content-Length or Content-Type (and even more screwed up, sends Server: and Date: twice). It does set Content-Type via a meta, though: <!--A http-equiv="Content-Type" content="text/html; charset=UTF-1--> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=ISO8859-1"> <meta http-equiv="Expires" content="Sat, 05 Jan 2002, 05:14:19 GMT"> (With an invalid charset... wow, ebay web monkeys are pretty lame). Is it possible to use the meta header to set the Content-Type for whereever view source reads it from. Not a final fix, but would eliminate some cases of this bug.
![]() |
Assignee | |
Comment 37•23 years ago
|
||
> Is it possible to use the meta header to set the Content-Type Not unless we decide that the page is text/html and parse it as such. :) At the moment, this decision is made by the unknown content decoder (for display purposes) which only kicks in for application/x-unknown-content-type. Then comment #30 takes effect. The unknown decoder needs to know about view source in the current setup....
Comment 38•23 years ago
|
||
bzbarsky, do you want to take this bug? /be
![]() |
Assignee | |
Comment 39•23 years ago
|
||
Frankly, I have neither the time nor the knowledge of the code required to fix this in full generality... I can do things a mimetype at a time like bug 77080, but I would be unable to work on a general solution till well into summer, if then.
Comment 40•23 years ago
|
||
What would happen if in line 230 of nsContentDLF.cpp the channel's content type was set to text/plain instead of the previous content type? Would we then lose out on syntax highlighting? Also I think resetting the content type in line 231 is a bit strange, is this just to avoid duplicating the code in line 238?
![]() |
Assignee | |
Comment 41•23 years ago
|
||
> Would we then lose out on syntax highlighting? Yes. In fact the only reason the type is not text/plain to start with in the view-source case is so that syntax highlighting will work. So one possible solution is to scan for the type in our "list of known types" in the view-source case and then just set the type to text/plain if the type is not found. This will break things like view-source:view-source:http://foo, but that does not work anyway, so.... Seem like a reasonable course of action?
Comment 42•23 years ago
|
||
> Seem like a reasonable course of action?
To me, it does. But what do I know...
Comment 43•23 years ago
|
||
*** Bug 126154 has been marked as a duplicate of this bug. ***
Comment 44•23 years ago
|
||
Another side-effect of this bug: because MailNews can't use a view source window it actually opens a browser window. Turn off the pref to hide the tab bar when only one tab is open, then do a view source of a message :-)
Comment 45•23 years ago
|
||
Looks like we do handle .js/.css/.xml/.html. That covers majority of the used cases.
Comment 46•23 years ago
|
||
Is this also the bug that prevents view source from working on HTML files over file:? That's pretty severe for page development and the nsbeta1 might need to be reconsidered if that needs to be taken into account.
![]() |
Assignee | |
Comment 47•23 years ago
|
||
Jeremy, that falls under comment 30. Those issues are better tracked by bug 86835 which is more clealy focused on the unknown content decoder.
Comment 48•23 years ago
|
||
Soooo, this would be fixed, or at least workable around, by either of the following: * an option to turn off syntax highlighting, and just see everything as text/plain * an option to pass 'view source' to an external text/plain viewer or editor (see bug #8589). Since either of these would also provide a workaround for a large collection of other bugs, maybe I'll take a pass at implementation of the latter... looks like there aren't too many code paths to learn...
![]() |
Assignee | |
Comment 49•23 years ago
|
||
> * an option to turn off syntax highlighting, and just see everything as > text/plain The option to turn off highlighting already exists and even has UI. Making it just view as text/plain is simple, though it would screw up HTML pages that depend on <meta> tags for charset info. > * an option to pass 'view source' to an external text/plain viewer or editor > (see bug #8589). This is what I've been thinking of too... One option is to change how the uriloader works a bit. Right now, it uses "major/minor; options" as a key to look up a handler (the MIME type is the key). It may be a thought to instead try: major/minor; options major/*; options */*; options in that order. That way, for example, we could define "*/*; x-view-type=view-source" as being handled internally (to fix this bug) or as being handled by a helper (to fix bug 8589).
Comment 50•23 years ago
|
||
Win 95 OSR2 Moz 0.9.9+ Nightly 2002.04.05 This bug is classified "Browser", but I Have something similar with "Mail & Newsgroups". When I read a newsgroup message off-line, View/Message source doen't display anything. When on-line, the source is normally displayed. Do you accept this bug, or does it required to open a new number ?
Comment 51•23 years ago
|
||
It must be a new bug because message source doesn't use view-source.
Comment 52•23 years ago
|
||
*** Bug 140979 has been marked as a duplicate of this bug. ***
Updated•22 years ago
|
Target Milestone: mozilla1.2alpha → mozilla1.2beta
![]() |
Assignee | |
Comment 53•22 years ago
|
||
This fixes all the testcases I have been able to get my hands on, from this and duplicate bugs, namely: ftp://ftp.mozilla.org/Welcome http://bugzilla.mozilla.org/attachment.cgi?id=81518&action=view news://news.mozilla.org:119/3C34FF3D.2010309@netscape.com http://wp.netscape.com/h.js http://cgi.ebay.com/aw-cgi/eBayISAPI.dll?ViewItem&item=1247292051 http://bugzilla.mozilla.org/buglist.cgi?bug_id=77337 (this last is "fixed" in that it loads source, but bug 76816 should maybe stay open for doing a better job showing that source). I backed out the patch for bug 86835 because it's no longer needed with these changes (note that the UnknownDecoder still knows about view source).
![]() |
Assignee | |
Comment 54•22 years ago
|
||
taking, too.
Assignee: harishd → bzbarsky
Status: ASSIGNED → NEW
Summary: view-source: does not allow viewing of many text files → [FIX]view-source: does not allow viewing of many text files
![]() |
Assignee | |
Comment 55•22 years ago
|
||
Attachment #97489 -
Attachment is obsolete: true
Comment 56•22 years ago
|
||
Comment on attachment 97635 [details] [diff] [review] Minor tweak to handle servers sending us application/x-view-source content (why??) sr=darin (looks good to me)
Attachment #97635 -
Flags: superreview+
Comment 57•22 years ago
|
||
Comment on attachment 97635 [details] [diff] [review] Minor tweak to handle servers sending us application/x-view-source content (why??) r=jst
Attachment #97635 -
Flags: review+
![]() |
Assignee | |
Comment 58•22 years ago
|
||
Fixed.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Comment 59•22 years ago
|
||
so one could view source of an image/gif now, right? in that case you should remove the observes="isImage" from the view source menuitem...
![]() |
Assignee | |
Comment 60•22 years ago
|
||
One _could_ do it (it would be shown as plaintext and be kinda useless). I think one _shouldn't_ do it, however.
Comment 61•22 years ago
|
||
Why not? How is timeless (bug 84542 comment 4) otherwise going to find out that the Mozilla banner is GIF89a?
![]() |
Assignee | |
Comment 62•22 years ago
|
||
Because viewing source on a 100kb image will take up a good chunk of CPU time and memory... just try it. And images come a hell of a lot larger than that all the time. Timeless can use a friggin' image manipulation program if he wants data like that on the image, imo. Again, these are my opinions. The UI module owner should have the final say on what the front end does.
Comment 63•22 years ago
|
||
biesi, timeless can type view-source:http://mozilla.org/images/mozilla-banner.gif if he wants.
Comment 64•22 years ago
|
||
Mozilla has way too many geek features already, timeless can cope otherwise. Nuff said! /be
Comment 65•22 years ago
|
||
neil, at the time I made that comment no nightly with the patch was available, and I had no easy way to test the patch.
Comment 66•22 years ago
|
||
Just tried that view-source: URL I gave earlier: Yes, it is GIF89a :-)
Status: RESOLVED → VERIFIED
![]() |
Assignee | |
Comment 67•22 years ago
|
||
*** Bug 173620 has been marked as a duplicate of this bug. ***
![]() |
Assignee | |
Comment 68•22 years ago
|
||
*** Bug 173620 has been marked as a duplicate of this bug. ***
![]() |
Assignee | |
Comment 69•22 years ago
|
||
*** Bug 56898 has been marked as a duplicate of this bug. ***
![]() |
Assignee | |
Comment 70•22 years ago
|
||
*** Bug 135624 has been marked as a duplicate of this bug. ***
Comment 71•19 years ago
|
||
Apologies if I've missed something, but line 328 in nsNetModule looks a little suspicious: static PRUint32 g_StreamConverterCount = sizeof(g_StreamConverterCount)/sizeof(const char*); Surely the formula should be sizeof(g_StreamConverterArray)/sizeof(const char*);? I'm trying to debug why FF isn't starting on a new platform, it's something to do with static member initialisation in libnecko so I came across this from my lxr searching. I have no idea how this patch worked for all the test cases though, as it looks to me like g_StreamConverterCount will be 1 and most of the converters will not be registered.
![]() |
Assignee | |
Comment 72•19 years ago
|
||
> line 328 in nsNetModule looks a little suspicious See bug 315159. > I have no idea how this patch worked for all the test cases though The converters are registered as contracts; just not in the graph-making code.
You need to log in
before you can comment on or make changes to this bug.
Description
•