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. 30 Oct, 1997 1 commit
    • Andrew Hodgkinson's avatar
      Removed 'The Onion' link from some Hotlist files. Time showed that the site... · 62293187
      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.
      62293187
  3. 24 Oct, 1997 1 commit
    • Andrew Hodgkinson's avatar
      Various fixes in the code required for Shockwave support (many invalid... · 7b1aa501
      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...
      7b1aa501
  4. 22 Oct, 1997 1 commit
    • Andrew Hodgkinson's avatar
      fetch_get_raw_data will notice if up->fetching is zero and return a 'finished'... · 3a920561
      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.
      3a920561
  5. 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
  6. 13 Oct, 1997 2 commits
  7. 09 Oct, 1997 1 commit
    • Andrew Hodgkinson's avatar
      !Run[D] files updated for new fetchers and GopherFetcher; protocols list in... · 91cb9e09
      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 to it, but this may be arranged later.
      
      Customer name changed to Customer by request.
      
      Customer browser now gets its own resources (SYSTEM=Customer), but
      otherwise is unchanged, with the Ursula build now giving the
      'spinning acorn' with a Bookworm-style toolbar. This is used for the
      Desktop !Browse build.
      
      !Sprites[22] files updated to include GIF, JPEG and PNG sprites;
      !Run[D] files and !Boot files set appropriate File$Type_xxx variables.
      Sprites in all sprites files have been checked for unnecessary palettes,
      which have been removed where present.
      91cb9e09
  8. 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
  9. 05 Oct, 1997 1 commit
    • Andrew Hodgkinson's avatar
      Big steps forward in vertical white space handling as a result of improvements... · 5db9badc
      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.
      5db9badc