Commit Graph

1250 Commits

Author SHA1 Message Date
John Mark Bell
d00b3c79c8 Squash aliasing warnings
svn path=/trunk/netsurf/; revision=13640
2012-03-24 22:30:28 +00:00
John Mark Bell
da94e952c9 Suppress strict aliasing moans
svn path=/trunk/netsurf/; revision=13636
2012-03-24 22:26:44 +00:00
John Mark Bell
a45972a104 Squash warning -- this API appears to be unused
svn path=/trunk/netsurf/; revision=13632
2012-03-24 22:16:03 +00:00
John Mark Bell
73bfb6201e Fix up meta refresh parser
svn path=/trunk/netsurf/; revision=13631
2012-03-24 22:08:13 +00:00
John Mark Bell
fd04db8566 Fix up html_process_style_element
svn path=/trunk/netsurf/; revision=13626
2012-03-24 21:06:30 +00:00
Daniel Silverstone
24894214bc Include dom/dom.h where it might be needed
svn path=/trunk/netsurf/; revision=13625
2012-03-24 20:55:22 +00:00
John Mark Bell
883907d612 s/XML_ELEMENT_NODE/DOM_ELEMENT_NODE
svn path=/trunk/netsurf/; revision=13624
2012-03-24 20:48:02 +00:00
John Mark Bell
d2fd3cc8f6 Fix up html_find_stylesheets
svn path=/trunk/netsurf/; revision=13623
2012-03-24 20:43:19 +00:00
François Revel
6822d7914a Fix exc undeclared.
svn path=/trunk/netsurf/; revision=13615
2012-03-24 20:06:08 +00:00
Vincent Sanders
710b90d43a continuting work in progress
svn path=/trunk/netsurf/; revision=13610
2012-03-24 19:35:59 +00:00
John Mark Bell
682eba9a56 Port box construction to libdom
svn path=/trunk/netsurf/; revision=13608
2012-03-24 18:47:51 +00:00
John Mark Bell
72baec3aec Remove bogus dependencies on box.h
svn path=/trunk/netsurf/; revision=13607
2012-03-24 17:42:29 +00:00
Vincent Sanders
07d445a5ca conversion to libdom
work in progress with FIXME blocks  

svn path=/trunk/netsurf/; revision=13606
2012-03-24 17:11:17 +00:00
Daniel Silverstone
d1194be49f Migrate frame types so that desktop/browser.h does not include render/html.h
svn path=/trunk/netsurf/; revision=13605
2012-03-24 17:09:21 +00:00
Vincent Sanders
b21f85a072 initial move to libdom
svn path=/trunk/netsurf/; revision=13573
2012-03-23 23:18:04 +00:00
Michael Drake
654ad81d8b Delete some trailing whitespace.
svn path=/trunk/netsurf/; revision=13555
2012-03-23 16:30:50 +00:00
Vincent Sanders
1490b52a6b NetSurf options rework (a=vince r=daniels,jmb)
svn path=/trunk/netsurf/; revision=13548
2012-03-22 09:34:34 +00:00
Michael Drake
e8b0c03cdb Don't override UA stylesheet origin with User origin.
svn path=/trunk/netsurf/; revision=13508
2012-03-06 18:02:55 +00:00
Michael Drake
20583d7288 Enable User CSS file.
svn path=/trunk/netsurf/; revision=13507
2012-03-06 17:44:24 +00:00
Michael Drake
ee378aa3f1 Set/get drag type via API.
svn path=/trunk/netsurf/; revision=13496
2012-02-28 12:54:00 +00:00
Michael Drake
c9a30d073e Check drag type via accessor.
svn path=/trunk/netsurf/; revision=13495
2012-02-28 12:21:36 +00:00
Michael Drake
046ee36430 Use browser window scale accessor.
svn path=/trunk/netsurf/; revision=13493
2012-02-27 22:44:59 +00:00
Michael Drake
d2253eee8f Don't need root bw here any more.
svn path=/trunk/netsurf/; revision=13396
2012-01-11 14:29:44 +00:00
Michael Drake
04ece30fa9 Pass pointer constraints for drag out to front ends. Ensure content scrollbar drag termination always informs the browser window layer that the drag is over.
svn path=/trunk/netsurf/; revision=13395
2012-01-11 14:20:26 +00:00
Michael Drake
c08ee82076 Allow drag handlers to inform browser window layer of any pointer range constraints.
svn path=/trunk/netsurf/; revision=13394
2012-01-10 22:02:19 +00:00
Vincent Sanders
df18a97143 Change GTK plotting to use cairo surfaces throughout
svn path=/trunk/netsurf/; revision=13354
2011-12-30 00:58:35 +00:00
Michael Drake
f7f3e33f80 Remove core print specific option from html redraw.
svn path=/trunk/netsurf/; revision=13339
2011-12-23 23:24:47 +00:00
Michael Drake
a85662f1ce Make html_redraw obey background image redraw requirement.
svn path=/trunk/netsurf/; revision=13336
2011-12-23 22:44:30 +00:00
Michael Drake
081217a321 Add core options to disable fetch of foreground & background images.
Remove broken background image option from RISC OS front end.

svn path=/trunk/netsurf/; revision=13332
2011-12-23 19:48:09 +00:00
Michael Drake
b97ccb1f0f Log URL of external CSS which fails to fetch.
svn path=/trunk/netsurf/; revision=13239
2011-12-04 15:11:30 +00:00
John Mark Bell
f2993e6ed0 content_get_url -> hlcache_handle_get_url, content__get_url -> content_get_url
svn path=/trunk/netsurf/; revision=13236
2011-12-04 14:55:23 +00:00
Michael Drake
6a7e602bbd Avoid assertion crash when html object recieves favicon message.
svn path=/trunk/netsurf/; revision=13220
2011-12-02 15:08:25 +00:00
Michael Drake
751bf78241 Pass drops into iframes.
svn path=/trunk/netsurf/; revision=13217
2011-12-01 23:52:45 +00:00
Michael Drake
02780e1f2d Currently untested (and unused) "drop file on content" handling, and HTML implementation.
svn path=/trunk/netsurf/; revision=13214
2011-12-01 21:49:57 +00:00
Michael Drake
4856a4c1fb Pass scroll wheel action into contents. Handle scrolling of box scrollbars and iframes.
svn path=/trunk/netsurf/; revision=13200
2011-11-29 17:47:29 +00:00
Michael Drake
60a9d3af3b Only make space for vertical box scrollbar if box has height set.
svn path=/trunk/netsurf/; revision=13179
2011-11-24 17:22:25 +00:00
John Mark Bell
4ba282c9c9 Fix bug #3433954: make containing_block available to layout_table so it can resolve percentage height specified on an absolutely-positioned table.
svn path=/trunk/netsurf/; revision=13130
2011-11-06 11:26:52 +00:00
John Mark Bell
3776e49f02 Fix bug #3433840: <img style="display: table" src="..."> will crash if the image fetch completes before initial layout.
A number of things wrong here:
1) The BOX_TABLE generated for the img shouldn't ever have been associated with the object (it should have been associated with the implied BOX_TABLE_CELL)
2) The layout engine's decision to treat BOX_TABLE/BOX_INLINE_CONTAINER with associated objects differently from non-replaced TABLE/INLINE_CONTAINERs seems wrong (looking though SVN history, it appears that this was introduced as part of the very first frames implementation, since replaced (twice!))
3) Now we fetch objects in parallel with building the box tree, we're open to this kind of race condition.

svn path=/trunk/netsurf/; revision=13128
2011-11-05 21:03:52 +00:00
John Mark Bell
30c91aa4e7 Fix bug #3433787: ignore empty meta refresh content attribute.
Squash memory leaks in error cases. 

svn path=/trunk/netsurf/; revision=13127
2011-11-05 18:36:21 +00:00
Michael Drake
62e551f34d Give INLINE_END boxes their own id reference.
svn path=/trunk/netsurf/; revision=13094
2011-10-29 12:03:54 +00:00
Michael Drake
ab45ecd228 Use lwc_string for box->id.
svn path=/trunk/netsurf/; revision=13093
2011-10-29 11:37:05 +00:00
Vincent Sanders
c970cc6dd4 fix infinite loop when copying private data
svn path=/trunk/netsurf/; revision=13071
2011-10-19 15:28:47 +00:00
John Mark Bell
6e23106b45 Convert more boxes before yielding
svn path=/trunk/netsurf/; revision=13023
2011-10-09 16:54:34 +00:00
John Mark Bell
165cca27b0 Fix leaky refcounting
svn path=/trunk/netsurf/; revision=13002
2011-10-08 10:42:13 +00:00
John Mark Bell
4e574f1252 Improve performance of style selection
svn path=/trunk/netsurf/; revision=13000
2011-10-08 00:21:59 +00:00
John Mark Bell
ac5d2a904c Improve error handling
svn path=/trunk/netsurf/; revision=12998
2011-10-08 00:14:14 +00:00
Vincent Sanders
230779848e metadata links stored in contents
browser uses metadata links for favicons

svn path=/trunk/netsurf/; revision=12977
2011-10-07 18:12:47 +00:00
Vincent Sanders
52ad2c1e25 initial favicon support
svn path=/trunk/netsurf/; revision=12975
2011-10-06 23:31:55 +00:00
John Mark Bell
d5bb9d98e7 Build resource: map at start time
Remove stylesheet url globals -- the core will always use resource:{default,quirks,adblock}.css as appropriate

svn path=/trunk/netsurf/; revision=12949
2011-10-05 08:32:52 +00:00
Michael Drake
3b4b986739 Don't try to LOG url of errored stylesheet content.
svn path=/trunk/netsurf/; revision=12946
2011-10-04 13:55:28 +00:00
Michael Drake
08b42089ca Pass nsurls through html_fetch_object.
svn path=/trunk/netsurf/; revision=12945
2011-10-04 10:23:47 +00:00
Michael Drake
5b23bcae95 Set iframe url pointer to NULL after unref at other end too.
svn path=/trunk/netsurf/; revision=12943
2011-10-03 22:12:51 +00:00
Michael Drake
012e0838cb Set url pointers to NULL after unref.
svn path=/trunk/netsurf/; revision=12942
2011-10-03 22:06:47 +00:00
John Mark Bell
8e0015798c Remove unused API
svn path=/trunk/netsurf/; revision=12941
2011-10-03 22:02:33 +00:00
Michael Drake
382beb779e Can't talloc_free nsurls. Thanks jmb.
svn path=/trunk/netsurf/; revision=12940
2011-10-03 21:58:50 +00:00
Michael Drake
19f0f7053b More talloc destructors for nsurls.
svn path=/trunk/netsurf/; revision=12939
2011-10-03 21:49:28 +00:00
John Mark Bell
3043c58aaf Fix handling of preformatted text
svn path=/trunk/netsurf/; revision=12938
2011-10-03 21:32:32 +00:00
Michael Drake
2c41d4b44e Add talloc destructor for object_params.
svn path=/trunk/netsurf/; revision=12937
2011-10-03 21:04:54 +00:00
John Mark Bell
3049f37e24 Parallelise object fetches
svn path=/trunk/netsurf/; revision=12934
2011-10-03 20:38:23 +00:00
Michael Drake
898b01e721 More conversion to nsurl. (box->href, object params, imagemaps, (i)frames)
svn path=/trunk/netsurf/; revision=12933
2011-10-03 20:28:29 +00:00
Michael Drake
36eff6da2b Port more internals to nsurl. Front ends may need updating.
svn path=/trunk/netsurf/; revision=12926
2011-10-03 15:56:47 +00:00
Vincent Sanders
7744edaa30 add html objects in better order
svn path=/trunk/netsurf/; revision=12923
2011-10-03 08:51:57 +00:00
John Mark Bell
74395ac888 Restartable box tree constructor. Yield between elements.
svn path=/trunk/netsurf/; revision=12912
2011-09-29 19:15:54 +00:00
Michael Drake
9854ad6313 Add layout_get_object_dimensions param documentation missing from last commit.
svn path=/trunk/netsurf/; revision=12871
2011-09-23 17:42:25 +00:00
Michael Drake
9e91992478 Handle min/max-width on replaced elements.
svn path=/trunk/netsurf/; revision=12870
2011-09-23 17:34:04 +00:00
Michael Drake
dcfd80956f Use fixed insted of floating point to get percentage of available_width, for width calc.
svn path=/trunk/netsurf/; revision=12869
2011-09-23 16:50:20 +00:00
Michael Drake
e4a91f380c Move css_fixed and css_unit variables to where they're used.
svn path=/trunk/netsurf/; revision=12868
2011-09-23 16:40:58 +00:00
Michael Drake
9028673259 Simplify layout_get_object_dimensions.
svn path=/trunk/netsurf/; revision=12867
2011-09-23 16:35:37 +00:00
Michael Drake
b0ea2a46e9 Use layout_find_dimensions to get inline object width/height.
svn path=/trunk/netsurf/; revision=12866
2011-09-23 15:48:40 +00:00
John Mark Bell
f27d5a3e15 Remove gui_multitask
svn path=/trunk/netsurf/; revision=12828
2011-09-21 00:25:09 +00:00
John Mark Bell
339bed7272 Virtualise content handler finalisation calls. Remove pointless implementations.
svn path=/trunk/netsurf/; revision=12797
2011-09-15 22:47:50 +00:00
John Mark Bell
3d71da088b Clean up content_factory_register_handler API -- content handlers no longer use the mime type, so don't require it to be interned up front
svn path=/trunk/netsurf/; revision=12796
2011-09-15 22:31:16 +00:00
Michael Drake
2e012a4952 Don't try to render overflow scrollbars for the root element.
svn path=/trunk/netsurf/; revision=12774
2011-09-07 19:26:42 +00:00
Michael Drake
6167cc8508 HTML handler for contextual content requests.
svn path=/trunk/netsurf/; revision=12754
2011-09-06 18:08:18 +00:00
Michael Drake
318803d382 Pass html_content to imagemap_get, instead of hlcache_handle.
svn path=/trunk/netsurf/; revision=12752
2011-09-06 16:26:02 +00:00
Michael Drake
fb8d73567a Move to new frame dimensions. Need to avoid poking inside bw struct here.
svn path=/trunk/netsurf/; revision=12748
2011-09-06 10:27:42 +00:00
John Mark Bell
6807fa854d Sniff content types where appropriate.
We never sniff for CSS, nor for non-page artefacts (e.g. treeview icons)

svn path=/trunk/netsurf/; revision=12707
2011-09-04 06:28:09 +00:00
John Mark Bell
9ee4f6146e Remove mime_type parameter from content handler content_type callback API
svn path=/trunk/netsurf/; revision=12704
2011-09-03 09:27:42 +00:00
Michael Drake
6e3e168d08 Avoid instance of using bw->current_content outside desktop/.
svn path=/trunk/netsurf/; revision=12690
2011-08-31 17:53:40 +00:00
Vincent Sanders
2348b13492 refactor bitmap out of generic content structure
svn path=/trunk/netsurf/; revision=12686
2011-08-31 12:12:41 +00:00
Michael Drake
cdbed58a72 Remove last use of current_redraw_browser.
svn path=/trunk/netsurf/; revision=12652
2011-08-24 13:23:31 +00:00
Michael Drake
63c07ee28d Core part of search improvement:
+ Split up browser window and content related elements of html & text search.
+ Associate search contexts with contents, rather than browser windows.
+ Remove highlighting of search terms dependency on current_redraw_browser.
+ Fixes issues with search contexts being applied to the wrong content.


svn path=/trunk/netsurf/; revision=12646
2011-08-24 12:29:30 +00:00
Michael Drake
92d355ed30 Replaced elements' children are not laid out, so don't look at their descendants. Fixes #3380281.
svn path=/trunk/netsurf/; revision=12642
2011-08-23 10:42:03 +00:00
John Mark Bell
664a9381ce Fix bug #3390958: forcibly discard references to any child objects if we fail to complete conversion of an HTML content
svn path=/trunk/netsurf/; revision=12641
2011-08-20 01:13:51 +00:00
John Mark Bell
63cc03a5dc Fix GCC 4.6 warnings in core
svn path=/trunk/netsurf/; revision=12629
2011-07-26 21:30:38 +00:00
Michael Drake
16b92d1613 Selection is now subordinate to html and text content types, and disassociated from browser windows. Note: search currently uses hlcache_handle_get_content() to go from bw to h to get at c for search highlighting via selection.
svn path=/trunk/netsurf/; revision=12626
2011-07-26 13:53:42 +00:00
John Mark Bell
dc6c58ec41 Fix transition from LOADING to ERROR state after content has been locked for conversion
svn path=/trunk/netsurf/; revision=12614
2011-07-20 21:39:51 +00:00
John Mark Bell
cfd56cadf2 Plug another hole in the logic for stopping HTML contents
svn path=/trunk/netsurf/; revision=12613
2011-07-20 20:16:01 +00:00
John Mark Bell
43b6856ba7 Make html_stop handle being called during construction of the box tree (i.e. as the result of a call to gui_multitask from the LOADING state)
Fixup accounting of active objects when stopped in the READY state and ensure correct transition to the DONE state when necessary

svn path=/trunk/netsurf/; revision=12612
2011-07-19 23:08:55 +00:00
John Mark Bell
1cd92d6d50 Fix race when stopping an HTML content mid-load
svn path=/trunk/netsurf/; revision=12611
2011-07-19 20:23:59 +00:00
Michael Drake
5fd24d7557 Revert r12609 and assert parent content state.
svn path=/trunk/netsurf/; revision=12610
2011-07-19 13:43:48 +00:00
Michael Drake
d66afbca4a Don't try to redraw newly fetched objects' areas in parent html document if parent doc is still in LOADING state.
svn path=/trunk/netsurf/; revision=12609
2011-07-19 13:15:03 +00:00
Michael Drake
8faa353087 Don't need current_redraw_browser for box scrollbars any more.
svn path=/trunk/netsurf/; revision=12602
2011-07-13 13:51:22 +00:00
Michael Drake
9c91893028 Fix selection for non-gui browser windows (iframes).
Selection no longer uses current_redraw_browser.
Fix long-standing selection bugs on platforms that use action on release behaviour.

svn path=/trunk/netsurf/; revision=12598
2011-07-13 13:20:26 +00:00
John Mark Bell
b34502af82 Refactor http utilities
svn path=/trunk/netsurf/; revision=12595
2011-07-08 08:38:17 +00:00
Michael Drake
2d1f2ee06a Remove remaining internal browser window usage from render/textinput.
svn path=/trunk/netsurf/; revision=12593
2011-07-07 20:22:57 +00:00
Michael Drake
9f0d5f9dcd Remove unused structure.
svn path=/trunk/netsurf/; revision=12592
2011-07-07 19:21:05 +00:00
Michael Drake
5560356e0e Remove unnecessary #include.
svn path=/trunk/netsurf/; revision=12591
2011-07-07 19:14:31 +00:00
Michael Drake
12d826a050 Function namespacing.
svn path=/trunk/netsurf/; revision=12590
2011-07-07 19:12:53 +00:00
Michael Drake
50f52cfc51 Remove ghost caret.
svn path=/trunk/netsurf/; revision=12589
2011-07-07 18:38:35 +00:00