1. 02 Dec, 1997 1 commit
    • Andrew Hodgkinson's avatar
      Implemented Message_PlugIn_ReshapeRequest, Message_PlugIn_Status and · 960e879c
      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).
      960e879c
  2. 06 Oct, 1997 1 commit
    • Andrew Hodgkinson's avatar
      Calling HtmlEndParse at the end of html_get_next_token and setting up->context... · 2e86b9d4
      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.
      2e86b9d4
  3. 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 *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.
      f3e8124f
  4. 18 Aug, 1997 1 commit
    • Andrew Hodgkinson's avatar
      Updated Makefile to work better in folding text editors. More or less rewrote · c46c55b2
      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.
      c46c55b2
  5. 31 Jul, 1997 1 commit
    • Andrew Hodgkinson's avatar
      Customer work complete, and this version just shipped. Had to comment out the... · 739c44af
      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.
      739c44af
  6. 30 Jul, 1997 1 commit
  7. 25 Jul, 1997 1 commit
  8. 18 Jul, 1997 1 commit