1. 03 Sep, 1997 1 commit
    • Andrew Hodgkinson's avatar
      This log message covers changes from the version before last up until now · 5d3733cf
      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.
      5d3733cf
  2. 02 Sep, 1997 4 commits
  3. 01 Sep, 1997 1 commit
  4. 31 Aug, 1997 1 commit
    • Andrew Hodgkinson's avatar
      Created Protocols source file and moved a lot of message handling from... · f3e8124f
      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...
      f3e8124f
  5. 29 Aug, 1997 2 commits
  6. 28 Aug, 1997 3 commits
    • Andrew Hodgkinson's avatar
      Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-) · 532155bd
      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...
      532155bd
    • David Brown's avatar
    • Andrew Hodgkinson's avatar
      87bedb4b
  7. 27 Aug, 1997 2 commits
  8. 18 Aug, 1997 7 commits
  9. 12 Aug, 1997 1 commit
    • Andrew Hodgkinson's avatar
      Quite a few general source changes throughout many files to sort out swapped... · b5ed816d
      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.
      b5ed816d
  10. 08 Aug, 1997 1 commit
    • Andrew Hodgkinson's avatar
      Checking in mostly because its Friday... Quite a few little bug fixes · b4491718
      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.
      b4491718
  11. 05 Aug, 1997 1 commit
  12. 01 Aug, 1997 1 commit
  13. 31 Jul, 1997 4 commits
  14. 30 Jul, 1997 4 commits
  15. 25 Jul, 1997 2 commits
  16. 24 Jul, 1997 5 commits