- 03 Sep, 1997 2 commits
-
-
David Brown authored
-
Andrew Hodgkinson authored
- i.e. it includes the changes that were part of the intermediate check-in done yesterday (02/09/97). New function to go from URL to pathname in urlutils, also changed return values on those functions which alter the given buffer to return nothing, rather than the buffer address (which wasn't helpful). Fixed nasty in the Message_DataLoad code (it thought all loads were app to app - oops; can in fact just check your_ref, which is 0 if this is a DataOpen or DataLoad direct from the Filer. PRM 3-253). Implemented Load Images and View Source buttons. Small fetch window - configurable in Choices (UseSmall) is the use of a special 'small' window for fetches. Configurable as if you Shift+Select click it'll open one of these, which some people might hate, so you can turn the feature off and the fetch will progress in the browser window you clicked on, as normal. Default is for this to be on, since it matches the behaviour of other browsers. This means all Res files have been updated, except for the Customer build, which can't fetch external objects as it is a full screen variant. New pointers for the hotlist autoscroll, including full specification of their active point offsets in Controls. This means all Sprites files have been updated. New sprites for HTML and URI files, so all !Sprites and !Sprites22 have been updated. (Suggested by KBracey) You can now drag objects to the toolbars of a window to fetch into the ancestor (useful for framesets). Function windows_close_browser now returns void; it only returned an int as it used to be a Toolbox event handler and I obviously forgot to get rid of this when I turned it into a general purpose function. !Run/!RunD/etc. files updated yet again, since the browser now supports different application names. Corrected fault where Browse$CookiePath was being unset - should've been Browse$CookieFile and Browse$CookieFileFormat. 420K is no longer enough, so they've all been given 512K for the non-debug versions (OK since malloc will fill up any excess allocation before starting to extend the slot size itself). Fixed global history bug - the history would become corrupted whenever it exceeded the maximum size specified in Choices. Fetcher now supports HTTP return code 301 (Moved Permanently). Wrapped in #ifndef STRICT_PARSER. I've started on some general documentation, aside from the overdetailed PSI memory information (which needs updating). Once this gets some substance to it and achieves a recognisable, maintainable structure, it'll get added to CVS - for now, there's no point (you'd have trouble making sense of the various unsorted fragments!). Right. Time to get rid of SaveDBox.
-
- 02 Sep, 1997 4 commits
-
-
Kevin Bracey authored
-
Andrew Hodgkinson authored
This version is being checked in because the Hotlist manager in the test build provokes a Wimp bug. All the variant resource files are out of sync and there are several outstanding bugs in the main code, so I'd personally avoid this build like the plague unless you're mad enough to want to examine the Wimp problem ;-)
-
David Brown authored
-
Andrew Hodgkinson authored
-
- 01 Sep, 1997 1 commit
-
-
Andrew Hodgkinson authored
-
- 31 Aug, 1997 1 commit
-
-
Andrew Hodgkinson authored
Created Protocols source file and moved a lot of message handling from handle_messages - the latter now serves as a high level distributor to lower level functions in Protocols. Incidentally, URL files (as used by the ANT suite) can be loaded by dragging to the browser in the same way as URI files - Not A Lot Of People Know That, etc. Merged new hotlist display type Res file to existing resources, added support for DataSave message so items can be dragged from the hotlist to a specific window (RAM transfer for URI and URL files; ScrapFile for HTML and Text but deleted afterwards and there are appropriate guards to stop Reload just saying 'not found'; images run through ScrapFile and there is no choice but to leave them there and do a conventional fetch). All !RunD files now give a WimpSlot of 2304K. Some small changes to the Argo and Ursula build Res files to make the menu trees more sensible. Controls files now take 'file:/' instead of 'file://' in Protocols section. Definitions at top of URLutils.c *not* altered, as then you end up with invalid URLs - so it will accept 'file:/', but always generate 'file://'. This is because some browsers exports 'file:/'. Sigh. make_no_[..._]memory_error functions now return a _kernel_oserror * rather than void. It's always &erb returned, but it enables users to use a more elegant 'return make_no_memory_error(1);', say, rather than something like 'make_no_memory_error(1); return &erb;'. I obviously should've written it like that at the outset, but never mind. All callers have been appropriately updated. The urlutils_leafname_from_url function now replaces illegal characters (A7000 Welcome Guide p54...) in the leaf with legal alternatives. Internal URL scheme is now a bit cleaner, with everything properly defined in URLutils.h. All references to http:, file: and ftp:, with or without a following '//' use the definitions in here now. More tidying and some reorganising of Hotlist source. Auto-open delay is now a Choices item. Some dependencies on statics removed (e.g. the counting functions don't accumulate into the global item_number now). The redraw functions used Wimp_TextOp - oops, so this has been amended to use whatever is supported on your Wimp. This is now in a new function (utils_text_width()), which the History menu routines also use (there was a bug in the width routine there anyway, which is therefore fixed in passing). Several other routines used Wimp_TextOp directly too, and they have been altered to use the new function as well. In hotlist code, one of the larger changes is in the API to hotlist_draw_r() (formerly _hotlist_draw()) which now takes item widths and heights as parameters - discovering these is quite slow, so doing it every time the function calls itself recursively is a little less efficient than passing the values in from elsewhere. Note that underscore prefixed functions are being slowly renamed to _r suffixed functions, to match the convention established by Tony Cheal with is table routines. This makes it much more obvious when something is recursive, as the same naming convention is used in every browser source file. Finally, note that I intend to ditch SaveDBox and use an alternate window with manual control of the messaging in Protocols.c. This will allow various improvements which at present the SaveDBox operational methods preclude. I'm going to have to do at least an alternate Window object for the SaveDBox module to use soon in any case. Getting rid of SaveDBox will help reduce, if only slightly, demands on the RMA.
-
- 29 Aug, 1997 2 commits
-
-
David Brown authored
-
David Brown authored
-
- 28 Aug, 1997 3 commits
-
-
Andrew Hodgkinson authored
Open URL implementation more or less complete, though may undergo UI revision at a later date to allow named frames to be targetted. Hope to use the ideas in this code as the foundation for other general dialogues. In token stream dump for TRACE builds, table head items were not indented as far as they should have been - this is fixed; and manual toolbar redraw routines have been removed. They never worked, were commented out, and would never be used in that form anyway. DragBox source added, but it isn't at all complete and won't work - this is an 'in spare time' thing. We need custom drag boxes constrained to windows for the hotlist, and unconstrained for frame border resizing... Hey ho. Ancestor window extents match visible areas if there are frames (no more scrolling framesets...!). Frame resizing works whilst new documents fetch without pulling the extent down now. However, frame horizontal extents never shrink until a reload which is nasty, and this is all due for a rewrite. Frames border redrawing routine moved out of Redraw.c and into Frames.c. Bug regarding the mouse rectangle and frame border widths (rectangle was too large, so you could squash the edges) for edge-drag frame resizes fixed. Window width change reformat tolerance fixed; you could creep the window width down or up forever without any reformat, and centred objects would move but not be redrawn (thereby giving rise to subsequent redraw errors). Filetype on objects saved through Shift+Click correct. Save Source dialogue recognises if that source is plain text, rather than assuming HTML. A browser that fetches a file remembers the old store size it had before the save, so even though the data is now ditched, it reports the same amount of data fetched afterwards (looked awful when this could, for example, suddenly say '0' after a file save). Progress indicator is now fully aware of one or many file saves inside a frameset and reports the number of saves, a colon, and the cumulative saved data count, instead of reporting the sum total of fetched data in all frames, including non-file save stuff (note that for just 1 save, '1:' is not shown as a special case for the most common condition). A bug related to this, where you could in fact only do one fetch per frame*set*, has been corrected (only one fetch allowed per frame still, this is unlikely to ever change). Hotlist support added (D.Brown's source), with various bits of integration and modification still in progress there. Note additions to the Messages files. On the subject of Messages, the whole mucky business about what goes in Messages or Choices (and a few bugs where lookup_choice was used instead of lookup_token or vice versa) has been sorted out. Messages contains, more or less, just that. Choices contains user configurable stuff which generally can't mess things up too badly. A new file, Controls, is a Messages file holding the non-user configurable choices, which can generally make things go badly wrong if misused. A lot of these are tied to the Res file. StrongED users can get these to automatically fold out the various sections (EMail me for details). Sorry, but at the time of writing, Zap doesn't do folding... =8*P Two bugs with images. Asking for images to be shown in browser B when browser A uses the same ones and was loaded first didn't work correctly, and now does (a bit weird - browser A does the fetch and browser B does the display...). Second one occurred when the background image was also used on the page as a foreground image. This has been fixed by flagging background images in the image_info structure, and checking this before cross referencing. This bit also allowed the image_restart_fetches API to be extended, so that just background or foreground images may be fetched if they weren't already and the user asked the browser to show them. Before, the whole lot had to be fetched together (so turning on 'display backgrounds' will now kick off an image fetch if required, you don't need to reload the page anymore). Makefile copy options tweaked to be 'newer' (so if you're testing with some temporary Choices file or something, it won't write over it at the end of every export), and REMOTE_HOTLIST flag added for Customer builds - means the Hotlist.c functions aren't needed; the old, hotlist-by-file method is used. Added support for Customer build (see later), though there were very few additions needed in practice. Table printing fixed - in many ways it wasn't broken, it was image printing causing the oddities ever since the global image pool was introduced (this is, again, fixed). The 'reformat to fit page' option didn't work as coded any more; tables store cell addresses in the HStreams, so you can't then do a background reformat in a different browser. Hence, it now has to reformat to the page width, print, then put the page back again, all in the actual displayed browser. This doesn't feel as slow in use as it perhaps should, considering what is going on... Note that a line of a defined fraction (see Print.h) of page height will now split over page boundaries, so tall images or tall tables don't cause problems now (aside from the obvious problem of having the line split over a page at all!). There was a bug in the routine to print from a given start point until 'n' pages had been filled, in that it always filled 'n + 1' - now fixed. Finally, as part of the printing tweaks, a new dialogue exists - PrintStyle - with a similarly named source file added to deal with it. Global history auto save / load done, but only to the Choices file path - the whole browser is still strictly single user at present, with all the extra work for a multiuser Customer environment yet to be done. This has shown up a global history corruption problem which I haven't fixed yet. Rationalising TBEvents.h - things are migrating out of it, and into more appropriate sources (e.g. definitions relating to the Open URL dialogue are going into OpenURL.h, etc.). Event codes were at one stage deliberately diverged in numberspace from the component IDs of typical gadgets raising the events, to avoid anyone getting confused and thinking the IDs and event codes must match. However, this is in fact unlikely and it is much easier to remember the fewer numbers that result from tying the two together where possible. This has resulted in changes to event codes raised in the following objects of all Res files: Authorise, Find, OpenURL, and PrintStyle. And finally - !Run[D] files for all variants updated to require the latest toolbox and fetcher modules. All Res files updated for hotlists etc. and sprites files updated appropriately. All Messages, Choices and Controls files brought in sync., and an Customer build has been added (based on the Desktop build binary with different resources). That's all for now...
-
David Brown authored
-
Andrew Hodgkinson authored
-
- 27 Aug, 1997 2 commits
-
-
David Brown authored
-
Andrew Hodgkinson authored
-
- 18 Aug, 1997 7 commits
-
-
Kevin Bracey authored
-
Kevin Bracey authored
-
Kevin Bracey authored
Added right-align support.
-
Kevin Bracey authored
-
Andrew Hodgkinson authored
Forgot to mention last time that frames can now be resized by dragging the borders and there's a partial implementation of saving foreign objects out of the page. Shift-click on a link to fetch to a file; objects that can't be rendered on the page will automatically generate a Save dialogue whether shift is held down or not. The action of Shift+Click on images has now been moved to Ctrl+Click. Anyway, in *this* check-in, the Resources directory has got some attention - added pointer sprites, a few message tokens, etc.
-
Andrew Hodgkinson authored
-
Andrew Hodgkinson authored
Limits.h, and ensured consistent comment styling throughout all sources. Fetch.c/h split to Fetch, FetchHTML and URLveneer. URLstat.c/h produced to cope with this. OpenURL and Find sources created from bits in the Windows source file that shouldn't have been there... These will get filled out shortly. Note that a few functions in Fetch are due to be renamed and moved; probably to Tokenutils.
-
- 12 Aug, 1997 1 commit
-
-
Andrew Hodgkinson authored
Quite a few general source changes throughout many files to sort out swapped toolbars. There will be more work on this shortly. svcprint.c has been modified to allow it to output to a file in PipeFS, so TML-less machines can still use the standard browser debug routines (albeit in a less than elegant fashion). Comments in that source file give more details. Plus a few more bug fixes.
-
- 08 Aug, 1997 1 commit
-
-
Andrew Hodgkinson authored
(adding up to a greater whole), which include removal of the dastardly 'invalid image number' errors that trace builds would raise from time to time. Frame highlights are now better controlled (releaseably so). Generally, this build represents the first genuinely promising version of the browser for quite some time, despite the known library problems with comment handling etc.
-
- 05 Aug, 1997 1 commit
-
-
Andrew Hodgkinson authored
Fixed problems with unsourced images in tables and a couple of other bugs here and there - nothing earth shattering... Just wanted to keep the CVS source up to date.
-
- 01 Aug, 1997 1 commit
-
-
Kevin Bracey authored
-
- 31 Jul, 1997 4 commits
-
-
Andrew Hodgkinson authored
HTTP, and have enough WimpSlot allocated.
-
Andrew Hodgkinson authored
Customer work complete, and this version just shipped. Had to comment out the code in Main.c that sets the user agent string to fake Netscape, as the persistent problems with forms in tables showed up much more on a modem link - net result was that the customer's log in page at didn't work. Not faking Netscape gives an authorisation dialogue instead, allowing access to the site even if not by the most elegant of methods.
-
Andrew Hodgkinson authored
Customer work complete, and this version just shipped. Had to comment out the code in Main.c that sets the user agent string to fake Netscape, as the persistent problems with forms in tables showed up much more on a modem link - net result was that the customer's log in page didn't work. Not faking Netscape gives an authorisation dialogue instead, allowing access to the site even if not by the most elegant of methods.
-
Andrew Hodgkinson authored
Debugging complete, and this version just shipped. Had to comment out the code in Main.c that sets the user agent string to fake Netscape, as the persistent problems with forms in tables showed up much more on a modem link - net result was that the customer log in page didn't work. Not faking Netscape gives an authorisation dialogue instead, allowing access to the site even if not by the most elegant of methods.
-
- 30 Jul, 1997 4 commits
-
-
Andrew Hodgkinson authored
-
Andrew Hodgkinson authored
-
Andrew Hodgkinson authored
-
Kevin Bracey authored
-
- 25 Jul, 1997 2 commits
-
-
Andrew Hodgkinson authored
Forgot to add the JavaScript, Customer and Meta source files at last check in...! Put in a few utilities in a new Utils directory also, which includes a TaskObey script that will take a backup of the Makefile, strip out the dependencies list, and (assuming the CVS call doesn't crash), restore the Makefile with dependencies intact from the backup.
-
Andrew Hodgkinson authored
-
- 24 Jul, 1997 4 commits
-
-
Kevin Bracey authored
-
Andrew Hodgkinson authored
CUSTOMER_SPECIAL. All code for customer to go under this. Redirections to /login.html now go to /simple.html instead, and the Messages file has additions to report errors if required for debugging regarding the JavaScript encountered on the page.
-
Andrew Hodgkinson authored
Altered dialler status reporting to be more efficient (only installs the null handler when it needs the online time)
-
Andrew Hodgkinson authored
-