- 13 Oct, 1997 2 commits
-
-
David Brown authored
Minimal support for font choices added, fixed problem with colour changing with browsers with no background colour specified. Options for Objects implemented.
-
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...
-
- 08 Oct, 1997 1 commit
-
-
David Brown authored
-
- 06 Oct, 1997 1 commit
-
-
Andrew Hodgkinson authored
Calling HtmlEndParse at the end of html_get_next_token and setting up->context to NULL was wrong; fetch_fetcher would end up recalling html_get_next_token later which would then call HtmlParse even though the document parse had just finished! The HtmlEndParse call has now been moved to fetch_stop. Altered reformatter to claim fonts inside a browser, rather than claiming them for nothing and losing them afterwards. Got rid of TAG == TABLE and ISBODY tests, replacing with tagno == TAG_TABLE. Removed all references to TD, TH, TR and TABLE in the style word.
-
- 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.
-
- 01 Oct, 1997 1 commit
-
-
Andrew Hodgkinson authored
Changed some error handling in Choices, a little bit of reformatting, removed unnecessary tempstring in Main, and played about with the choices Res file objects.
-
- 29 Sep, 1997 1 commit
-
-
David Brown authored
-
- 22 Sep, 1997 3 commits
-
-
Andrew Hodgkinson authored
New save choices function with supporting code in Save.c; 'Save choices' option in the Choices menu is now implemented.
-
Andrew Hodgkinson authored
Choices and Controls files are now loaded into malloc space (use chf and cof to address them). Previously only in Main.c, task_dir is now globally visible. Choices updated to allow 16ths of a point in the font size specification and the System font face has been removed - it isn't used. The use of serif and sans serif fonts has been rationalised across builds (e.g. Desktop builds use what they say, but the Customer build uses Homerton as the default body (serif, so to speak) font as it matches the box's look and feel better). Font loading altered a bit to work properly! Font library defines some standard startup fonts without using Choices, which Choices can then override.
-
Andrew Hodgkinson authored
Now working on source merged with Kevin Bracey's internationalisation support. UNIFONT is undefined in the Make File for now. All Res and Choices files updated appropriately. Having sorted out the old Choices and Messages to form Choices, Controls and Messages, this build has had the same cleaning up done internally. This includes greater consistency in naming schemes and the removal of the inconsitent choices items - e.g. Choices file entries saying 'delay images' and 'plain backgrounds' where internally all the flags say 'show images' and 'show backgrounds'. ChoiceDefs.h and CtrlDefs.h added to clarify the meaning of some fields, though usage of these is not 100% in the source (there are cases where parameters are passed through to functions as ints, and those functions still check these against hard coded values rather than the #define stuff). Fetcher status return bits (connected, sent request, etc.) now reflected in status bar. Progress during fetchs to files are reported by %, where the size of th...
-
- 18 Sep, 1997 2 commits
-
-
Kevin Bracey authored
Encoding support added: if UNIFONT is defined then the browser will attempt to use the system font to render Unicode characters (new International module required). If not defined, the browser will just handle Acorn Latin-1 characters, but HTMLLib will convert other encodings into Latin-1. Must keep the UNIFONT define in sync with HTMLLib (if defined HTMLLib outputs UTF-8, otherwise Acorn Latin-1). Still needed: Reverse encoding (converting form input etc back into the server's character set). Reparse when encoding changes. Setting of charset from an attribute on the <A> tag.
-
Andrew Hodgkinson authored
Image deletion routines rewritten; nasty animated GIF bug now gone (it kept trying to update the cross-referenced image in the browser that no longer existed, and I've no idea how animated GIFs ever managed to *not* blow up if a cross referencing browser was shut down; and I've tested this...). There are now as many image structures as there are total images in the visible browsers, and no more; cross referenced images in the to-be-deleted browser have their ownership moved to the cross referencer before the cross referencee is wiped, with any required fetches being transferred with them. Reformatter sped up a bit by getting rid of strlen on the main text field of tokens in all places bar one, where it is called extremely rarely. This means direct app-to-app transfer of, say, a 359K text file to the browser won't run like a drain as it tries to do strlen on a 359K string over and over again! Most of the time the performance benefits won't really be noticable, ...
-
- 14 Sep, 1997 1 commit
-
-
Andrew Hodgkinson authored
Got the deferred reformatter working properly. It doesn't do that 'OK, the page is fetched and reformatted, but just to annoy you, I'm going to wait 5 seconds and then suddenly reformat the whole thing again' trick anymore. The fetcher was calling the reformatter in a delayed form even when the reformatter was already running, so it would carry on past the reformat point or from below what had become and invalidated line, and some time later, get back to the delayed reformat. Now, reformatting is only delayed by the fetcher when the reformatter is not running. In practice this means body text reformats as it fetches, but large tables will show delayed reformatting - which was exactly the intended behaviour of the feature when it was originally thought of. fetch_token_data_address removed; it was only needed in two places, both of which already knew when to read tp->text and when to ignore it. Its functionality is duplicated in an 'if' involving reformat_istext, anyway. !Run[D] files taken back to requiring HTTP 0.33, since 0.36 introduces many weird and wonderful problems. Typo in Messages files, 'All current images (sic.) fetches finished' - 'images' is now 'image'. Shift+Click saving - you could save to an application. No problem. But the equivalent (just clicking on a link that led to an unknown datatype and getting the save dialogue that way) didn't work. It does now. Another problem was saving to an application that didn't support the datatype - oops, the dialogue would close but the fetch would sit there waiting to be told where to save. It doesn't close now (as expected). NB, doing several simultaneous fetches to a text editor may have problems as the editors are too clever for their own good. Despite receiving DataLoad messages for <Wimp$Scrap> for files of different types, sizes and datestamps, the editors can decide it's still the same file and: Zap - Hats off, it gets it right, almost. You do get warned 'Multiple copies - one on disc is newer' as everything after the first text loads, but they do load, and in separate windows. StrongED - Does not load the subsequent files, so the browser gives 'Data transfer failed' errors and opens up Scrap. Turning off 'Don't load same file twice' fixes it - each file is loaded in a new window with no warnings. At least in the first case, you don't lose data, since the files are kept in Scrap. Edit - Each time it loads the file, it *replaces* the other one in memory, using the same window for each. This is the worst behaviour as it isn't configurable (well, I don't know of a way to change it...) and results in data loss as successive texts get trounced by the new data. I can't see how I can fix this in the browser as it's basically silly behaviour on behalf of the editors. Other applications which don't try to work out if it's a new file or not are fine! When conducting image fetches, proxying is allowed unless reloading. When conducting page fetches, proxying was never allowed - so web cache stuff would have been, er, interesting. It now sets X-NoProxy: in the request header when reloading, but otherwise this is not included. AnimSpeed is, at last, independent of browser poll speed. They used to be tied together. Guess how the animation code used to work ;-) 'Can't handle this datatype' - deprecated now that save dialogues can be popped up. The 'can't save objects in full screen mode' error would never be shown due to a bug, anyway; this now replaces 'can't handle', which has been removed from all Messages files. RefoWait, RefoHang and RefoTime moved from Controls back to Choices. Trying to get rid of strlen in the reformatter - it can get very slow (e.g. strlen of 8K chunks of text, or if a 330K text file is transferred from a text editor straight to the browser, strlen of a 330K string...). There will be unfinished bits of code in the reformatter that may seem unnecessary - they've just not been plugged in yet (since they don't actually work). Don't remove them!
-
- 12 Sep, 1997 1 commit
-
-
Andrew Hodgkinson authored
As warned in the last log, pretty much all event codes and component IDs have now changed along with many of the names, to provide a consistent name and numberspace for events and components. This also minimises number clashes (e.g. as was, the Save File origin when opened from a Hotlist menu with an already-used component ID). To get full details on this, please carefully read through TBEvents.h. Res files, Sprites files and Messages files have been updated again both due to the above, and routine additions (e.g. message support for a few Hotlist bits and pieces). !Run[D] files updated for FTP 0.11 and HTTP 0.36. In the Makefile, the Customer objects list was missing Save - must have moved something when I should've copied it, when adding in SaveFile or SaveObject in all probability. Now fixed. Couple of other bits and bobs fixed in the build environment (e.g. stuff saying !Argo instead of !Customer). Oh, and I've altered the MakeFile copy options again to the best compromise I can come up with. Newer is turned on for everything except !Run[D] and !RunImage, since both of those change between debug builds - otherwise if you'd built debug and non-debug versions, it was not possible to switch between them - one version would have the newer timestamp and thus never get overwritten. The default hotlist has had a few items added - that'll be about the end of it, I think; there's more than enough stuff in there now. Saving of the hotlist from the document menu and of URI files, directories and selections from the hotlist menu tree is now implemented - this new save system rocks... Oh, and you can save all images and backgrounds as sprites. Saving of items with Shift+Click to other applications directly now works, and is robust. Unique Scrap filenames are used, with data load bounces (e.g. if some pra - er, person quits the app they're sending to) working correctly - that is, give an error, keep the file, rename it to something safe, and open the directory it lies in. As opposed to normal app-to-app bounces, where the scrap file is deleted (see PRM 3-254). This means you can now look at README files in FTP sites, say, without using a disc intermediate. Or you can send pictures straight to ChangeFSI, fetch HTML links into editors, and so-on, and so-on - it's all very funky. Known problems include the ambiguous 'invalid component ID' instead of 'file open' for *normal* (straight to disc) shift+click saves, and I think I'll introduce a unique name guarantee of some sort to stop 'file open' in the first place. Odd that the really tricky part (app-to-app) should be least likely to suffer from this!
-
- 09 Sep, 1997 1 commit
-
-
Andrew Hodgkinson authored
Only the Browse resources are currently valid. Added Utils.Icons - has a few archives inside containing the resources (well, some of them) used to build various UI sprites for various builds. Archived because these are unlikely to change much, and putting them on CVS was a move to, well, archive the stuff... SaveDBox objects vanquished and requirements in !Run[D] files removed. The data save code fits much more neatly in amongst the data load protocol stuff now (with the slight exception of having to split the SaveObject source into SaveObject and SaveFile - the former handles multiple persistent dialogues for Shift+Click on links and the like, the latter handles 'one at a time' transient dialogues for save source and similar). Export Link is now supported, too, and writes a 'proper' version URI file. You'll find that double-clicking on old URI files will work as the URI handler picks them up, whilst new version ones don't; how...
-
- 02 Sep, 1997 1 commit
-
-
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 ;-)
-
- 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 *no...
-
- 28 Aug, 1997 1 commit
-
-
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...
-
- 18 Aug, 1997 1 commit
-
-
Andrew Hodgkinson authored
-
- 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.
-
- 25 Jul, 1997 1 commit
-
-
Andrew Hodgkinson authored
-
- 24 Jul, 1997 3 commits
-
-
Kevin Bracey authored
-
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
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.
-
- 18 Jul, 1997 1 commit
-
-
Ben Laughton authored
-