1. 20 Mar, 1998 1 commit
    • Andrew Hodgkinson's avatar
      Programming warehouse link removed from all hotlists - the page has gone. · 76dfaa46
      Andrew Hodgkinson authored
      Some compile-time hacks in place to use MemLib, a dynamic area based
      malloc replacement which shrinks its heap when possible. All builds
      have these switched off at the moment. Seemed to work with just Browse,
      though there would be problems with message blocks stored in dynamic
      areas because of the Wimp's '&3800000' check - however, it failed when
      HTMLLib was made to use it, too. Don't know why yet.
      
      ItemInfo.[c/h] source added, with Res file additions for testbed Browse
      and Phoenix.
      
      Small fetch windows now work properly regardless of toolbar settings
      in the Choices.
      
      Reload now reloads all images too, rather than only reloading them for
      as long as the main page was being fetched.
      
      Added a simple 'Find' facility.
      
      Realised that event handlers in eventlib are called in reverse order
      of registration, so the miscellaneous event handler is now registered
      first rather than last.
      
      Multiuser code added (most only active if SINGLE_USER is undefined). As
      part of this, hotlist code now knows about read-only items (done for the
      Customer-style 'Resources' file, but works generally anyway).
      handle_add_hotlist doesn't try to save the hotlist itself anymore (the
      hotlist_add function does all that through hotlist_modified anyway).
      
      Customer build Choices and Controls updated slightly (e.g. ClaimHelp
      off, hotlist to save on quit only).
      
      Customer build now uses Phoenix-style buttons. Sprites files which
      worked at the time (but will probably be out of date now) and included
      most of the original Customer-style sprites are in
      'Utils.Icons.Customer'.
      
      Choices, Messages and Res files for all builds now stripped down to only
      single user items or single plus multiuser for Customer build and testbed
      build. Before, all contained a few multiuser bits in at least the Choices
      file if not more.
      
      Grammatical error ("Fetching frames contents" (sic.)) corrected in
      default message, Toolbars.c, and all of the Messages files.
      
      Customer build brought back to a servicable level (including
      implementation of the Find dialogue box with animation and fixing
      up authorisation and 'Stop' state in the tristate). Quite a few
      missing #ifndef REMOTE_HOTLIST bits from hotlist code added...
      
      Customer build will not use <Choices$Write> or Boot:Choices for any
      file finding now. UseProxy defaults to 'yes', MaxImages to 2. Res
      file includes Proxy Address setting (save_save_choices() now writes
      the ProxyAddress line).
      76dfaa46
  2. 15 Jan, 1998 1 commit
  3. 06 Jan, 1998 2 commits
  4. 12 Dec, 1997 2 commits
    • David Brown's avatar
      Implemented Launch Proxy option. · b2dfeb54
      David Brown authored
      b2dfeb54
    • Andrew Hodgkinson's avatar
      There are a few known significant problems with this code but it's being... · b36c2bb4
      Andrew Hodgkinson authored
      There are a few known significant problems with this code but it's being checked in so the Choices can be worked on. Note that Res files etc. are not up to date across all builds. Progress is as follows...
      
      Bug report prompted me to do this - now ignore <p> tags straight after
      <li> tags, so '<ul><li><p>Some text' works as the author (or automatic
      generator, more commonly) intended.
      
      A <p> tag before a table will be acted upon now (it was ignored before).
      Something like <li><p><table...> will give a line break and paragraph
      space after the <li> despite the changes mentioned above, as in other browsers.
      Both browsers differ from Navigator, where the table appears alongside
      the <li> tag.
      
      Multiple BR tags work as in MSIE / Navigator (they don't collapse to
      zero height anymore).
      
      For the above, line height (and so, <br><br> or <p> spacing) is now
      calculated inside reformat_text_line_height, and is used with either
      a token to get the text height at a given size (e.g. for general line
      spacing or multiple BR tags) or NULL for normal size text (e.g. for
      P spacing, though this value is in practice later scaled by 7/8ths in
      reformat_check_height). Note this behaviour is exhibited by MSIE 4;
      v3 gave two BRs the same spacing as one P (i.e. not font size
      dependent).
      
      Save dialogues can have an option button or couple of radios to
      switch between various formats (e.g. URI or URL, sprite or original
      format). See 'Docs.Notes' for more. The back-end to this is now
      implemented (i.e. at the moment, save as URI or URL, save as original
      image format). Note that when saving background images, a leafname
      based on the original fetch URL is now offered rather than a generic
      'Background'.
      
      Internal URL scheme changed to be all lower case, so relativisation
      through URL_Fetcher still makes sense... :-/
      
      Holding down 'shift' when clicking on stop reverses the interpretation
      of the Controls file 'StopWebServe' entry.
      
      Fixed row / column count for exporting tables as text; fixed a few
      bits and pieces of internal URL scheme stuff which got broken when
      HTMLLib started using URL_Fetcher's relativisation.
      b36c2bb4
  5. 03 Dec, 1997 2 commits
  6. 01 Dec, 1997 1 commit
    • David Brown's avatar
      Implemented size and age expiry of image history. There are two ways of achieving this. · 7a90c692
      David Brown authored
      i)  There can be two sets of gadgets, one set for page history and another set
          for image history.
      
      ii) There can be one set of gadgets for both settings and two radio buttons to
          select between them.
      
      Only one of these may be present at the same time.  Currently the radio button
      version is the one that is in place.  To change to the other version delete the
      radio buttons and copy the gadgets from the ChoicesTMP window into the
      appropriate window.
      7a90c692
  7. 21 Nov, 1997 3 commits
  8. 20 Nov, 1997 2 commits
    • Andrew Hodgkinson's avatar
      Following the last check-in - all build resources brought up to date. · cc9d8863
      Andrew Hodgkinson authored
      Adjust-click on forwards/backwards buttons did not work in the intermediate
      build, and now does.
      
      Adjust-click on form submission buttons where the submit method is POST
      will now work correctly, as the new view inherits the extradata block
      of the old. Failure of this is signalled through
      make_no_fetch_memory_error, code 16 (see updated Errors file in Docs).
      Note the name change of extradata in this context; more details below.
      
      The passing of forms POST data and extra headers for sending in an
      HTTP request via. the URL module was all done through pointers into
      flex blocks, and was therefore very unsafe. All relevant functions now
      use pointers to pointers to the data.
      
      To remove confusion on the umpteen uses of the word 'extradata', the field
      in browser_data has been renamed to 'post_data'. The 'extradata' parameters
      used within FetchPage.c were all disconnected from the extra header info /
      form POST data stuff that extradata is usually associated with, and have
      thus also been renamed, in this case to 'appnddata' (Append Data).
      
      As well as X-NoProxy, the browser sends the 'proper' HTTP headers
      Pragma:no-cache and Cache-Control:no-cache.
      
      A redirection from a POST request was not handled correctly; despite
      what HTTP specs say, you're supposed to use GET for the new URL. The
      browser was, but when it chopped off the redundant header data in the
      request didn't terminate it and left Content-Type in anyway...! Fixed.
      
      Ctrl+Tab implemented - URL completion. Comes from the hotlist URLs,
      hotlist titles, history hosts, paths, full URLs and lastly titles.
      See code comments for more (history_find_match, hotlist_find_match).
      
      TableSupport option added to Choices; it is read, can be set by the
      front-end, but doesn't actually do anything else yet.
      
      Reversed Choices' semantics on 'don't expire by...' for History. Added
      'needs_redraw' flag to choices_get_contents so that, for example, if the
      table border types change, browsers get redrawn.
      cc9d8863
    • David Brown's avatar
      b6e800c2
  9. 19 Nov, 1997 1 commit
    • Andrew Hodgkinson's avatar
      This is an intermediate check-in to allow work on Choices for the new table... · 7caf92e2
      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.
      7caf92e2
  10. 05 Nov, 1997 1 commit
    • Kevin Bracey's avatar
      Added system font option to choices. · 702eb5d8
      Kevin Bracey authored
      Stopped UNIFONT forcing system font use and added calls to Font_WideFormat.
      Made sure the system font option is read before fm_init is called!
      
      User agent string now set if Netscape faking is disabled (format used is
      "Acorn Browse/1.26 (RISC OS 3.71)".
      702eb5d8
  11. 17 Oct, 1997 2 commits
  12. 16 Oct, 1997 1 commit
    • Andrew Hodgkinson's avatar
      Now handles PARAM tags. Sorted out Plug-In bug that was related to Java... · 2093c108
      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).
      2093c108
  13. 15 Oct, 1997 1 commit
  14. 13 Oct, 1997 1 commit
  15. 08 Oct, 1997 2 commits
  16. 07 Oct, 1997 4 commits
  17. 03 Oct, 1997 1 commit
    • Andrew Hodgkinson's avatar
      Version in Messages taken to 1.22 (03 Oct). · 4d616ea4
      Andrew Hodgkinson authored
      Updated Res files in appropriate builds to hold various (similar) Choices
      designs.
      
      Choices related menus were flagged as Shared, but none of the dialogues
      (including ColourDBox) were - potential future problems, though shouldn't
      cause any leaks at present. This has been sorted out anyway.
      
      Encoding function encoding_init no longer returns an error from
      toolbox_create_object, so the Encoding menu and all those attached
      to it do not have to be present (e.g. the Customer build).
      
      SUB, SUP, STRIKE and U supported. U underlines the baseline of the body text
      font, whilst STRIKE will go through roughly the middle of the lower case
      chars even if the font is SUP or SUB. Note that Navigator appears to shift
      the underline point for SUB and SUP; it may be necessary to copy this
      behaviour, but testing on real sites must proceed before that. There could
      also be a problem with the automatic lowering of font size, which Navigator
      doesn't do, so any FONT SIZE = -n commands could make it too small. Again,
      this needs testing on real sites.
      
      'http://' is added to URLs with no protocol specified, unless they start with
      'ftp.', in which case the new behaviour is to add 'ftp://'.
      
      Choices code altered to do less error checking on components! They should be
      able to be missing without raising errors. Referencing of the subwindow
      array changed from *(subwindows + number) to subwindows[number].
      
      Made trace_tag_name code look pretty...
      
      reformat_useless_token now checks tagno is non-zero.
      
      User Agent string setting now done through URL_GetURL, on a per-session
      basis.
      
      Ellipsis character removed from all Messages files, replaced with '...'.
      There's little difference between the two in an outline font, and in System
      font the latter looks much better. Smart quotes left in, as they look
      better in all cases.
      4d616ea4
  18. 02 Oct, 1997 1 commit
  19. 01 Oct, 1997 2 commits
  20. 29 Sep, 1997 1 commit