Give input focus to drawing area on click. (credit: Paul Blokus)
RISC OS Development Builds
The development build available on this page is built automatically from the latest source code in SVN. It is likely to be unstable and may crash your machine.
- NetSurf for RISC OS 2.5 MB 02 Jul 2009 23:30 UTC
By regularly running a recent development build you can help us improve NetSurf by providing feedback to the authors.
Any bug reports or feature requests should be posted on the NetSurf issue tracker. If you aren't running RISC OS, you can fetch the latest source and build NetSurf for your system.
Recent SVN Activity
All times are in UTC.
Minor positional changes. This code probably needs a rethink as it doesn't correctly advance for two-byte UTF8 chars.
Fix stupid
Silence warnings
Make this more legible and squash leaks.
fix keymap
use event data to redraw only the necessary part of the tree
Fix by tlsa for content which is updated by the core like animated gifs and forms
handle subsequent redraw start calls
Less brain-dead constant for the benefit of ARM platforms.
Remove dependency on a library providing ntohl/htonl.
Better guard for the Norcroft hackery. When building for Windows, replace strncasecmp with calls to _strnicmp
I really hate the __STRICT_ANSI__ nonsense. I've lost count of the number of times this has caused me problems. Cut this off before it causes more.
Imported working MUI backend
Inevitably, Windows requires winsock.h instead of the BSD stack headers.
Add support for mingw-based cross compilation for Windows. Define pre-processor variables BUILD_{HOST,TARGET}_<platform>
Makefile cross-compile pkg-config
Temporary workaround for MorphOS until hpdf.library is updated
Added nsmui
Typo and doxygen comment.
Add licence info. Update polygon plotter documentation.
MorphOS/MUI sources
Added MorphOS to makefile rules
Added MorphOS to makefile rules
Assume we have all implementation attributes implemented.
Make dom_string more usable and fix some bugs of dom_string and nodelist.
add encapsulation privacy for gui_window tab; remember to make clean
No function should call dom_node_destroy except dom_node_unref. And the first test case of DOM level 1 Core module passed!
pass mouse action to the textarea if the tree is edited
redraw properly on edit end
added keypress handling for treeview
start and stop editing a tree element
added document page for treeview
Similar fix for empty rules in normal stylesheets.
Blank inline styles, or inline styles that only contain invalid data will have no bytecode. This is perfectly legitimate, so should not result in an error.
Fixup parsing of empty inline styles -- previously, it would emit the START_STYLESHEET and START_RULESET events twice.
Ensure that charset detection always returns CSS_OK unless there's a fatal error. Otherwise, it's possible to fail to process any of a short stylesheet (sheet.length < "@charset ").
remove redundant clg call
Use read instead of fread. The reason: fread return the read object but the read API return the read bytes, I need the later.
Add a missing function! The testcase find it.
Fix for boxes declared display: none. There has to be a better fix than this.
Fix named ancestor detection
Now, the test files can be compiled and run.
Support :link pseudo class
Constify ro_uri_launch() If the URL is too long to fit into a non-indirected ANT URLLoad message, then skip the ANT URLLoad broadcast and jump straight to using URI_Dispatch. We don't support indirected ANT URLLoad messages as their potential for memory leakage is too great.
Move resolve_url to internal css implementation file, and rename to css_resolve_url. Ensure we use this when creating inline styles.
Len already includes the NUL, so stop trying to manually terminate url/title.
Provide URL resolution callback for libcss. No need to resolve @import URL -- it's already absolute.
It probably helps to remember that @import also contains URL data.
Make all URIs absolute
Add transformer, testcases and test library to the libdom branch.
Delete the unused test files.
Make the transform script works again.
Add new install headers.
Add a new param for xml parser to pass in the lwc_context.
Complete most of the testcase stubs, except remaining one: is_equals_uri.
merged trunk to treeview branch
changed tree_scroll_visible tree_scroll_visible working again for GTK
Ensure line_height is set, even if it is garbage
Merged revisions 8081-8217 via svnmerge from svn://svn.netsurf-browser.org/trunk/netsurf ........ r8098 | chris_y | 2009-06-28 11:15:32 +0100 (Sun, 28 Jun 2009) | 2 lines Add a note about font styles ........ r8107 | chris_y | 2009-06-28 15:43:10 +0100 (Sun, 28 Jun 2009) | 2 lines Updated Italian translation from Samir Hawamdeh ........ r8122 | vince | 2009-06-28 19:32:47 +0100 (Sun, 28 Jun 2009) | 2 lines Make framebuffer port use libnsfb ........ r8125 | tlsa | 2009-06-28 21:17:1
Initialized merge tracking via "svnmerge" with revisions "1-8080" from svn://svn.netsurf-browser.org/trunk/netsurf
Bring in line with new bitmap plotter API
Stop double-free of imported stylesheets: when you register them with their parent, you relinquish ownership.
Wrap calls to html_fetch_object where interned strings are used. This avoids overrunning the string as it may not be NUL terminated.
simplify icon requiring
Stop running over the end of lwc string data.
Copy specified URL to ensure it's NUL terminated. Correctly handle sheets we failed to fetch (replace them with a blank one)
Fix test data: Test 4 is testing the root node, so needs to compare against a fully computed style. The paragraph node in test 5 is the first child of its parent, so the background colour is expected to be as specified.
launch action and node element deletion handled by one user callback
use delete_callback on node_element update history_global_callback cares for shared data not to be removed remove urldb calls from tree.c user can set any bitmap now (not only thumbnails from urldb)
Process @import list. This approach may well have a negative impact on page load times.
Make line-height calculation use css_used_font_size()
Hack for percentage font sizes
It somewhat helps to ensure that you convert units to their external representation. Oddly enough, not doing so causes comedy breakage.
Improvements to css_len2px -- actually calculates values for EM/EX units. Move css_len2* to css/utils.c, rather than making them inline. Introduce css_used_font_size() to calculate the used font-size. Move css_screen_dpi to css/utils.* A couple of fixes to the GTK frontend code.
Fix redraw colours. Also about time I committed the even more hacked up box_get_style() so it works until I decide what css_computed_style_compose() should be doing.
Utility function to convert from CSS color to NS colour
Update testdata.
complete code modifications for basic compile
Update plotters documentation for merged bitmap plotter.
mkdir, strcasestr
Simplify RISC OS bitmap plotter.
Improve bitmap plotter API
refactor namespace transparent; conditional #include for win32
Ensure byte offset is initialised
Convert fixed point font size to int
css_screen_dpi is now fixed point. It helps if you remember this.
Convert fixed-point values to integers. The current approach ensures we lose as much precision as possible.
s/background-image/list-style-image/
More test data changes.
remove unused structure definition
Fix tests.
conditional includes; wrapper for strndup
Introduce an initial value of border-*-color in the computed style. When a style is composed, this will be resolved to whatever color: computed to.
Fix tests.
Delete unset color and border color because they'll be inherit.
Fix test.
Enable selector tests. Update tests.
spaces to tabs; bare instructions for cross-compile; Makefile config references;
Remove debug code
Re-enable the Use OS Pointers option as I have fixed the crash.
Should be static, attempt to fix odd crash.
It helps to check for CSS_NEEDDATA. Add more checks to ensure that we're dealing with Elements when traversing the tree.
Finish dumping of computed styles
added delete callback for history
change code to be wrapped correctly
style changes - compare pointers with NULL
added callback possibility for node elements deletion removed tree_create_leaf_node_shared
Free path once we're finished with it.
take tree offset into account while plotting
plot background for selection
get rid of tree_draw_line
rearrange functions to match order from tree.h and static declarations
More properties
Dump more computed properties
More minor changes from Samir
Dump clip, content, counter-{increment,reset}
Ensure that the parent is an element node before returning it (only required so we don't return the Document when asked for the parent of the root element)
Fix setting of computed display: none
Ensure that the root element has its styling set to the initial values.
Use menu pointer image.
Complete adoptNode and rewrite importNode.
Don't act on press and release.
Enable key repeat. Thanks to Bernd Roesch.
Make panning routine handle scrolling by more than viewport size. Fix gui_window_set_scroll to treat values as absolute. Delete stray semicolon.
moving closer to compilation; include path; inapplicable functions
Fix a typo for debug build.
Complete: 1. getElementByID 2. importNode 3. Document's constructor and destructor structure 4. Document module initialise and finalise function
preliminary adjustment of makefile stub implementation of windows front; thanks to Vince
Make the libDOM compile again. And remove dom_document_get_namednodemap & dom_document_remove_namednodemap.
css_stylesheet_append_data() can also legitimately return CSS_NEEDDATA.
It helps if you add the content handler functions to the dispatch table
Fixup after font_pango API changes
Reinstate font_pango.c. A few bits disabled here.
Reinstate core textarea. Something approximating code that compiles. It won't work though, as bits are disabled.
Mostly disable bits of this relating to CSS pending a decision as to how to make this work with libcss.
Port to libcss API. Much of the collapsing border stuff disabled as it's trying to modify the computed style.
move tree URL node code to a seperate file make desktop/options.c use new API getter for tree root getter for folder property
Cripple loosen.c. It expects to be able to modify a box's style. This isn't possible now. Therefore, this needs a rethink.
Port list.[ch] to libcss
Complete port of layout.c
make functions which don't need always pointer to tree cope with it update comments
copy trunk
Stop strange characters appearing in the URL bar when you press certain non-text keys. Some of these keys need to be supported properly.
Branch for Ilkka Lehtoranta
Minor fixes from Samir Hawamdeh
clip before redrawing
recalculate for remaining functions from public API
First 1000 lines of layout.c ported to libcss
Fix throbber not to show inactive frame during activity animation.
Make choices file "Choices-fb".
Depends on SDL. Probably wants changing once the .so magic happens.
s/libnsfb-0/libnsfb/
Port to libcss API
recalculate on delink
Make framebuffer port use libnsfb
Port to libcss
Need to include css.h
make the building document refer to libnsfb
Port box normalisation code to libcss
new branch for windows port
fix the internal font plotter
More use of accessors instead of expecting to be able to poke around in the computed style. Fix up some function calls broken by the SPECIAL_PARAMS changing. Completely disable parse_inline_colour -- any new implementation needs to match HTML 5.
Remove box_solve_display(). This computation should be performed by libcss. Note: I've not yet decided what to do about the hackery for absolute boxes that this function performed. It's highly unlikely that libcss will do this.
Fix bugs in box_get_style(). Add an internment context pointer to the HTML content handler
Follow text plotter API change. The font functions are still using the old API, but that'll be dealt with later
s/css_computed_whitespace/css_computed_white_space/
Follow change to text plotter API
s/struct css_style/const css_computed_style/
Something approximating box_get_style(). All the presentational hints nastiness has been moved to css/select.c and surrounded with #if 0. This needs sorting out properly. I've also completely disabled the markup_track stuff as I don't understand it.
Updated Italian translation from Samir Hawamdeh
Introduce some wrapper routines for style selection
clean up file namespace
add copyright header to framebuffer file fix references to removed headers
Beginnings of port of this file to libcss. Loads left to do, however.
Constify URL parameter to html_fetch_object
Port to libcss APIs. Disable style dumping, as we don't have any API to do that yet.
Don't even attempt to compile desktop/textarea.c or font_pango.c.
Port to property accessors
Add a note about font styles
default theme handling of search bar buttons
add movable representative websearch / throbber items to customization in edit mode
encapsulation - restore privacy of gtk gui_window struct
"encapsulation" - restore privacy of nsgtk_scaffolding
Attempt to port the settings creation to the new CSS engine. May need some FIXTOINT() sprinkling around.
Reintroduce css_len2p{t,x}, porting them to the new scheme. Make css_screen_dpi a css_fixed (maybe int would be better)
Fix cast
Refactor dom_implementation. Now, the allocator and lwc_context is passed in by the client to the parser, and then the parser pass them to the impl.create_document and impl.create_document_type. Then the whole stuff is on the way.
Calls to font-related functions that expect css_base_style to exist will be sorely disappointed. For now, replace with NULL and a #warning.
Forget to hook up the vtables.
Make DocumentFragment complete.
Utilise css_computed_<propertyname> as appropriate. CSS_<propertyname>_UNKNOWN no longer exists -- computed styles will always contain the right thing. Fix up get_pointer_shape (also make it handle a NULL style pointer gracefully)
Make font functions take a css_computed_style *. Long term, the whole way of handling fonts and text strings needs improving, as the current approach has accreted over time and is showing its limitations.
Recreate TOP, RIGHT, BOTTOM, LEFT, as enumerated values. Replace box's pointer to a css_style with a pointer to css_computed_style.
Import new CSS content handler from ns-to-libcss branch. Fixup buildsystem appropriately.
Remove old CSS code
Clean branch for port to libcss. The old one is too broken to pursue.
Strip down the options file section. People should be using the GUI for everything else - that's what it's for.
Set new installs to start on the Workbench screen, this can be changed from the GUI now and is a bit friendlier than being prompted for a screenmode on first launch.
free memory as an option in tree_update_node_element
Don't update screen ModeID if it is 0, as it gets written in a format which NetSurf then interprets as a valid ModeID.
functions for traversing the tree restore history_global_find using new API restore global_history_get_recent
ignore non-editable flag on first time node_element update API changes
calculate node sizes on creation fix root to be expanded
Fix list-style shorthand parser
A few inherit tests.
List property tests.
Fix test data
Fix font shorthand parser to reject spurious instances of inherit
Font property tests.
Fix comma separated list parsing
Fix border + outline shorthand property parsers
Completed Amiga preferences GUI.
futher uneeded files removed
Outline and border tests.
remove now unused code
fix cursor key input
Merged revisions 7764-7977,7979-8058 via svnmerge from svn://svn.netsurf-browser.org/branches/paulblokus/textinput ........ r7769 | paulblokus | 2009-06-11 22:26:16 +0100 (Thu, 11 Jun 2009) | 4 lines replace global history window with an empty window for future tests add the necessary files first lines ported ........ r7771 | paulblokus | 2009-06-11 23:51:46 +0100 (Thu, 11 Jun 2009) | 1 line more functions ........ r7772 | paulblokus | 2009-06-12 02:07:36 +0100 (Fri, 12 Jun 2009) | 1
Complete dom_entity_ref and dom_processing_instruct.
Initialized merge tracking via "svnmerge" with revisions "1-7762" from svn://svn.netsurf-browser.org/branches/paulblokus/textinput
Complte DocumentType, compilable and this interface is XML related, so complete it when we support XML.
Test one more line.
Fix azimuth parser
More aural tests.
Make bootstrap code workable again. Note: 1. Remove all the memory alloc params (alloc, pw) out of the function calls. 2. Put the alloc and pw in src/bootstrap/implregistry.c as two static variables. 3. So, the alloc and pw for bootstrap code is at src/bootstrap/implregistry.c, and the alloc and pw for document/documenttype and other DOM element are in dom_implementation_source.
Convert group and other label strings also to local charset. Free all the strings when the options GUI is closed
Fix cue and pause shorthand parsers
Comment out non-automated tests for now. Add some aural property tests.
Fix padding shorthand parser in the face of inherit. Document same fix to margin shorthand parser.
Use XML binding instead. And make the binding compile again. Next is the xmlparser.
Move old shorthands test into margin test. Add a few general tests.
Refactoring bootstrap API and make the whole libdom can't compile, now. Note: I shut down the XML binding build for a while from now on.
A few more margin tests.
Tests for padding property.
Complete dom_cdata_section.
Make NodeList using lwc_string.
Complte dom_comment .
Complete: 1. Text.wholeText 2. Text.replaceWholeText
Something approximating a merge from trunk into this branch. It doesn't appear any more broken than before. That said, there's small mountain of stuff that needs doing. Perhaps it'd be better to start again after divorcing the plotters from all knowledge of CSS. That would then limit most of the impact of the CSS backend changes to render/
recalculate nodes on link/delink
Initialized merge tracking via "svnmerge" with revisions "1-6533" from svn://svn.netsurf-browser.org/trunk/netsurf
Make it compile again (mostly, s/css_colour/css_color/g)
Purge "colour" from the public API -- it's just confusing
Reduce inlining in lexer
Less pointless inlining
make tree_set_node_expanded recalculate the nodes
little bug from previous commit
URL nodes code using public API remove initialisation code change comments style added expansion/selection setters functionality for single nodes non-removable root
Fix margin shorthand parser
Tests for background property.
Export tab done
Advanced tab all working
It helps if you remember to disable debug again
Support for parsing inline styles
Fix hubbub binding (based in part on a patch from Jeroen Habraken)
Inherit tests. At least one currently fails.
Add lpu to the requirements
Fix test data.
Tests for Margin shorthand prop. Comment out test that is currently expected to fail.
Tidying code
add theming to search bar buttons
rearrange functions in tree.h hide functions irrelevant for the client more style changes
Make selection ignore selectors generated by rules in inactive @media blocks.
Nested block support.
improve arrangement of theme adding code; update theme combo in real time
clear glade toolbar; the url completion was luckily an option rather than a bug :o)
improve comprehensibility of code
merger of favs branch; make favicon visible in toolbar
add theme folder
merger of favs branch; preliminary - merge retrieval code
merge save branch
complete main merger of search branch; modify list handling to avoid multi-tab looping
merger of search branch - make web search item visible in custom toolbar
Documentation and context restoration on error
Documentation and context restoration on error
Documentation and context restoration on error
Documentation and context restoration on error
Documentation and context recovery on error
Padding shorthand property parser
Documentation and context restoration on error
Margin shorthand parser
Documentation and context restoration on error
Pedantic whitespace removal
List-style shorthand parser
create_folder_node
Documentation and context restoration on error. Factor out common counter-increment and counter-reset parser
Layout of Advanced tab done, does not set values or act on gadget clicks
get rid of node_element_data more API changes style changes get NS compile at all after changes
Font shorthand property
Disable the anim speed gadget if anims themselves are disabled. Also disable the disc cache options as there is no disc cache.
merger of search branch - preliminary, merge search code
API cleanup added tree_create function
Documentation and context restoration on error. Make font-family parser use generic comma-separated list parser
Cache tab done, missing history option added to the General tab.
Factor out common parts of pause-after and pause-before parsers. cue and pause shorthands
merge glade branch into global gtk branch
Factor out common part of cue-after and cue-before parsers
Factor comma-separated list parsing out of voice-family parser
merge customization/theme branch into global gtk branch
merged trunk into my branch
new 'global' gtk branch to merge most of the lesser branches into
added ro_ prefix to RISC OS textarea code
changes suggested by jmb
code tidying; memory management
Documentation and restoration of context on error.
complete gtk theme download installation; confirmation message; container unpacking integrity; adjust theme filename length
Fix test data
Any declaration with non-whitespace tokens unconsumed after parsing the property value and potential !important is invalid.
allow longer filenames in theme; add to documentation of cli theme packager
Show full width of azimuth named angle bits.
A few test cases for important. Not exactly sure how important is handled when not at end of declaration. Add some tests for azimuth:behind; since that was not tested. I'm not sure how the byte code is meant to handle behind, with no angle set.
tidying up
refactor utility theme unpacking function for gui work; reinstate original utility function for non-gui work; add messages
connect container/theme handling to gtk_theme
I18n of recently added messages
Development Build Packages
NetSurf development builds for RISC OS are also available though the RiscPKG packaging system. To use the package, add the linepkg http://www.netsurf-browser.org/downloads/development/riscpkg/packages
to Choices:RiscPkg.Sources. See the RiscPkg documentation for more information.
