- 02 Dec, 1997 1 commit
-
-
Andrew Hodgkinson authored
Message_PlugIn_Busy. Plug-in code more robust when given invalid browser instance handles by the plug-in. Line spacing is now calculated on the basis of the normal style base serif font, with all other fonts being forced into that line height. This does mean that an unusually tall (say) sans serif font may get clipped. It appears to be the only way to get around wildly different baseline depths returned from the font metrics - you can't work out line spacing based on each different font style; the line spacing will vary. Table heighting (as opposed to widthing...) improved considerably; rowspan can no longer cause very tall cells in odd places. Having trouble getting rid of the single pixel breaks between vertically adjacent cells, though I've not tried too hard. Widthing, though, seems fairly badly broken at present... :-/ Set/clear of page_is_text flag made more robust (it looked as though there was the potential for this to get stuck in a set state, though I've never see the front-end behave in a manner which indicates this is the case). The reformatter will now decrease leading if this flag is set (plain text pages look daft with a line spacing that is OK for 'rich' text pages). No reformatting is done if the page width changes by dragging on the resize icon, though toggle size / full screen will still reformat even if the contents are only text (browser needs to sort out various width flags at this point). Cut down on excessive redrawing when reformatting due to a change in window dimensions is not done. If display_width hasn't changed, then no redraw is needed. If this causes redraw problems, then whatever is changing display_width needs investigating. It shouldn't be kludged (basically) by forcing a redraw instead of a reformat. TT/PRE/etc. text can now have a non-100% aspect ratio. 80-90% looks best (ArcWeb, for example, uses 86%). New option 'TTAspect' in the Choices files. Debug builds link to a non-debug Unicode library now; stops stderr being dumped to the bottom left of the screen if you've not redirected it in the Run file. RISC OS 3.1 seems to need more initial WimpSlot than later OS versions. The 64 deep nested table set gives a 'No stack for trap handler' error (which it really means in this case!) without 800K, even though 3.71 is happy with just 640K. So, the !Run file checks if Boot$OSVersion is exactly 300, 310 or 311, and sets the WimpSlot accordingly. !Run[D] files now require latest fetcher module versions (URL 0.21, File 0.31, HTTP 0.58).
-
- 19 Nov, 1997 1 commit
-
-
Andrew Hodgkinson authored
This is an intermediate check-in to allow work on Choices for the new table options and History choices as detailed below. Res files are not up to date except where indicated and there are several known bugs that will be fixed before the 'final' v1.27 is created. Any work on resources should only be done for the testbed !Browse. Client side image maps implemented. There is code to draw highlighted borders in CSIM.c, but this is not wired in yet; other than that, the implementation is functionally complete. As part of this, centralised the fetching of a targetted URL taking into account user request of a new view and full screen mode, in fetchpage_fetch_targetted. The forms library now uses this too, so form buttons respond to both adjust-clicks and TARGET attributes. Fixed APPLET handling where '.class' isn't present in the CODE attribute. Paragraphs squashed at the top of cells/pages - browser would insert white space before. Now append a ' ' to the end of History menu items to prevent the Wimp thinking the end of entries represents a keyboard shortcut (e.g. 'Home'). Netscape's handling of 'meta http-equiv="refresh"' is to start counting when the fetch has completed and everything else has died down. The browser will now not start counting until the animation handler is deregistered (so formatting is complete) to show similar behaviour (note that this checks the main handler, not the 'idle but returning to first frame' drift handler). URLs from requests for fetches by Plug-Ins are now relativised. Page width change tolerance prior to reformat upped from 16 to 32 OS units. Hoping to provoke a loosely connected bug with this change! TableOuter, TableInner and SeeFetches choices added to all Choices files, with appropriate loading and saving code in Main.c and Save.c. AuthorFTP and AuthorFSh messages added for FTP authentication, and dialogue handling code (the component in FetchHTML.c) updated to recognise an FTP fetch and alter the dialogue presentation appropriately. All Messages file version numbers taken up to 1.27 (20 Nov 1997). Following a UseNet suggestion, Ctrl+Toggle Size will increase the window size to fill the screen vertically only; horizontal size/positioning is not changed. Shift+Tab in the URL writable will cycle through alternative fetcher protocols (from both the Controls file and checking the fetcher modules are actually present). Hotlist doesn't require '://' in URLs when loading HTML, just ':/' - so 'file:/' URLs now will be reloaded correctly. History system rewritten completely. GHistSize and VHistSize options removed, and replaced by MaxSize and ExpiryAge. Now have global history menus with most recently visited items at the top, and local history menus which reflect the path that forward/back buttons would take. Browsers are robust to background expiry of the History though this is not implemented - date expiry and size checks are carried out on history_record only. This does mean that with two windows open one could have the history expired underneath it whilst another fetched, though; the code handles this and update toolbars (greying items) as necessary. It is possible to have the history limits so tight that even one entry will not fit and again the code copes with this, though values read from Choices are limit checked to ensure rather more useful results! Implemented 'Save' button in save dialogues. Remembers pathnames and just replaces the leaf now (hard coded exceptions for <Wimp$Scrap>... and <Wimp$ScrapDir>...) - it did before, but only if you'd typed the path in. Not many people did, given that you couldn't press Return or click on a Save button to use that path... In a similar vein, files of type Data or DOS will be checked for a '/xxx' type extension and the MimeMap module will be used to find a more meaningful filetype. If this can be handled, the file is loaded. This only works for files dragged to the browser - the behaviour with inline data in web pages will depend on the File module, and similarly, if File doesn't spot what is going on and claims that the object is data, the browser will just open a save dialogue for it. !RunD files taken up to 3072K WimpSlot. Hotlist's saved HTML page title wasn't internationalised - is now. This opened up a significant can of worms; on file write error, the file would never be closed, and if a caller of the save or load functions passed in a filename held in the global Messages lookup buffer then subsequent lookups in the callees would corrupt that filename. All sorted out now. Local (not very useful) or global (useful) histories can be saved as HTML, which opens up the possibility of sending your history to the hotlist by saving to it. Local and global histories can also be emptied, though this is probably not a feature that current release Desktop browsers need. Inheritance of local history and certain UI features is now done more or less for all cases where one browser window spawns another, too. Vertical alignment on images is rather less ropey than it was (e.g. ALIGN=TOP stands half a chance of working) but is still far from perfect. This was part of fixing a nasty little bug in Redraw.c's setting of an image position via. image_set_token_image_position, which was making (amongst possibly many other things) client side image maps fail. Image update where images had large borders was affected by a similar problem too (more cans with more worms...). Fixed image background filler functions; two problems. When cross referenced images were replaced by base images in a browser because the original owner was closing down, the original owner browser would stay registered with ImageLib. Fixed; secondly, when images were deleted from the image array causing those above to be renumbered, images registered with ImageLib did not have their numbers updated (this was the one that lead to the visible drop out of background images with PNGs on the Acorn Internet home page when there were two views of the page and the first was closed). This is now also sorted out.
-
- 30 Oct, 1997 1 commit
-
-
Andrew Hodgkinson authored
Removed 'The Onion' link from some Hotlist files. Time showed that the site wasn't entirely Family Friendly (TM)... Removed Shift Control (it's gone offline now), and corrected the Telegraph URL from ...the-telegraph... to just ...telegraph... StrongHelp manual generator now tries to work out the number of lines in the table on the root page more intelligently. Plug-in support extended to handle Shockwave. Quite a lot of underlying work for this, including a pseudo cache system for temporary files. Bug in redraw routines: they plotted background images within table cells, when nothing should have been drawn. Oops. When background images in cells are properly supported, this can get sorted out. Tweaked vertical plot position of HRs (up to 4 OS units too high before due to rounding). Various Res file bits and pieces, Ursula build taken up to v1.26 beta for release on the Browser site. *Note* not all resources are up to date! This will be done after AW97.
-
- 24 Oct, 1997 1 commit
-
-
Andrew Hodgkinson authored
Various fixes in the code required for Shockwave support (many invalid assumptions about the OBJECT tag structure). Not finished yet though. Played around with signal handling 'n' all that to try and get sensible errors reported for aborts etc. using code by KBracey. Need a ROM patch for _swix on RISC OS 3.7 upwards (or a local fixed copy of _swix), otherwise should sort out most of the problems seen (mostly 'no stack for trap handler' errors and a distinct lack of a register dump). Plug-In view on redraw / ASAP choices now work as they should (ASAP was previously broken). Version numbers in Messages incremented to 1.25 (23 Oct 1997). For Plug-In support, created new source file RMA.c/h to handle RMA claims and releases, in an attempt to ensure leakage never happens. As such, this source is *slightly* more advanced than that in the 1.25 AW '97 build, though functionally identical. Well, that is, at least you can confirm zero RMA leakage with '-debug LMem' in TRACE builds now! Intend to do a consistency check on comment syntax in all sources shortly - I need to rebuild my StrongHelp manuals; can't keep track of all of these new functions...
-
- 22 Oct, 1997 1 commit
-
-
Andrew Hodgkinson authored
fetch_get_raw_data will notice if up->fetching is zero and return a 'finished' status rather than trying to continue reading data for the fetch. Fetches should never fall through that far but at least it will cope if they do. 3D table borders are now supported. 2D borders are used if the inter-cell spacing is too small to fit the borders in (display resolution dependent) - the external table border is 2D if the internal borders are, else 3D. For cellspacing of 0, internal table borders must plot over the outer edge of pixels inside the cell; for all greater spacings, the borders take up all or part of the gap between them. The external border will always fit around the outside of the cells, including the cellspacing value in the gap between the outer cells and the border. Anti-alias colour for placeholder ALT text was incorrect. Fixed. I'd changed 'point' to 'points' in some of the Font Choices dialogues; now changed back to 'point'. The routine to find out how large an otherwise unsized object or image placeholder based on its ALT text has been centralised in Reformat.c, so that the image and object routines can both access it without code duplication (this means non-image objects will now have the correct size if they contain ALT text, rather than assuming a standard default size as before). ALT text in images that were also objects was never plotted either, though the placeholder size would have been correct. This has been fixed.
-
- 20 Oct, 1997 1 commit
-
-
Andrew Hodgkinson authored
Main.c, so the last log was incorrect; Navigate menu items wouldn't have been greyed out. Probably a(nother?) CVS update screw up on my part; now fixed. This sort of thing is happening far too often... Font manager would crash in system font or if a font face was not found in the previous release - that hacky business of returning weird font handles when system font is to be used instead ensured a rather less than valid array reference on behalf of fm_claim_basic_typefaces. Added in a few more calls to the 'check the button bar' routines, to ensure that things like Stop are greyed/ungreyed when needed. Cellpadding code could lead to rmarg overlapping lmarg, or the sum being greater than dwidth, or something like that (!) in the reformatter. Anyway the results were unpleasant; this has been sorted out by range checking right and left margins w.r.t. display width in the relevant section of the code. People who specify 'td width = 2000' in tables expecting to get something sensible now do, though I was half inclined to leave it alone... I can only assume that they don't know about % specification or it didn't work in their browser at authorship time, and the huge width served as an attempt to get the table to fill the available window width. Anyway, the table reformatter spots when the maximum width a cell requires is less than half of what it asks for, and ignores the width specifier if this is the case.
-
- 16 Oct, 1997 1 commit
-
-
Andrew Hodgkinson authored
Now handles PARAM tags. Sorted out Plug-In bug that was related to Java setting a 0 by 0 graphics window before calling Wimp_Poll (fixed in Java). Implemented queue for Plug-Ins so multiple broadcasts aren't sent for several Objects in one data chunk. Added Docs directory with some documentation in it. More things to keep checking for stylistic consistency, horray ;-) Corrected !Run[D] for Ursula build to need AcornURI but not TaskModule (URI handler needed for !Mail to pick up mailto: links). Added display_height field to browser_data, analogous to display_width, to cope with % sized objects by width and height (see how HRs are handled in Redraw.c for an example of how it was always fairly easy with width, but not height until this addition). Though you do have to reload to get a new size; reformat isn't enough. Must see to this some time... Fixed bug where basic typefaces were claimed *before* the Choices file had been read. For unusual Choices settings, this could create some 'interesting' problems now and again. This was part of narrower scope work in the Choices code to allow font changing without leaking font handles (now done; fm_shutdown only ditches fonts, it keeps internal structures - must then call fm_lose_fonts for all browsers to get the bitfields up to date, then rewrite the typeface definitions and reclaim basic fonts). Noticed that fm_claim_basic_typefaces would claim multiple instances of the same font if there were several cases of the same font mapped to different typeface styles - fixed. Implemented PlugInControl settings, but not SupportObject (fully).
-
- 13 Oct, 1997 2 commits
-
-
Andrew Hodgkinson authored
So I added it again.
-
Andrew Hodgkinson authored
More reformatter code bugs fixed; this one regarding width of items. Any kerned string was overestimated (causing redraw bugs and caret position problems in forms, apart from other minor bits elsewhere) and the default size of a writable icon wasn't especially clever. Crude Plug-In support; just about manages Java, but can't fetch on behalf of Plug-In (for example). Had to change the default file access URL construction to be 'file:/' instead of 'file://', or local file fetches that reference Java applets won't work. This is in its very early stages, and is being checked in mostly so that various Choices issues can be worked on.
-
- 09 Oct, 1997 1 commit
-
-
Andrew Hodgkinson authored
!Run[D] files updated for new fetchers and GopherFetcher; protocols list in Controls updated for Gopher. Debug builds now require 2760K rather than 2560K. Font$... variables set if not already, in anticipation of font Choices work. Additional bits in Choices section of Res file tidied and some name changes (e.g. Netscape -> Navigator(TM)). Frames support option added to Choices. Grouped 'support_frames' under the Fetch Controls section and added support_object in Global.h; appropriate entries placed in the Choices files, and are read at startup. At present, though, only the frames support flag is implemented. For some reason, Menu was the button to use on history popups if you wanted to show URLs instead of descriptions (or vice versa, depending on Choices settings). Now, Select and Menu will show the Choices defined setting, and Adjust will show the opposite. History menus are built backwards, so local histories have the most recently visited pages at the top. Global history has still no real order t...
-
- 05 Oct, 1997 1 commit
-
-
Andrew Hodgkinson authored
Big steps forward in vertical white space handling as a result of improvements in HTMLLib in this area ( -> all versions now 1.22 beta-2). As a result, the 'last_space' field in browser_data struct has been removed. Note that this relies quite heavily on setting of the PCDATA bit in the 'style' field of an HStream and the automatic collapsing of (for example) multiple P tags inside HTMLLib. Trace.c improved to recognise various bits in the 'style' field of an HStream structure. Phoenix defaults altered to a more 'standard' set of choices; Trinity as the serif font, with a slightly larger default font size. This is because there's a good chance it might get released to a wider audience than Acorn internal (though the animation and icon bar sprites will have to change before then...). MiscDefs updated for new SWI numbers in HTTP module; !Run[D] files thus updated to require HTTP 0.42 or later. At this point, all earlier modules are not backwards compatible in terms of direct calls to the HTTP module, though this only affects cookies_process_cookie at present. At the same time, checks for System$Path, InetDBase$Path, and setting of Inet$MimeMappings if not already defined have been added to the Run files along with RMEnsures of Resolver and MimeMap. Object and PlugIn c/h pairs created to handle OBJECT, EMBED and APPLET, and the RISC OS Plug-In interface respectively. Not part of the build process yet. Addition of 'odata' field in browser_data struct and definition of chunk CK_OBJB for memory_set_chunk_size() are in support of this.
-
- 18 Aug, 1997 1 commit
-
-
Andrew Hodgkinson authored
-
- 24 Jul, 1997 1 commit
-
-
Andrew Hodgkinson authored
Added various TaskObey files to make different browser variants (the Makefile has been updated to support this). At present, TARGET must be set for the Make file to work (some oddity in AMU causing problems here). Added Multiuser.h to cope with a non-SINGLE_USER build for Customer.
-