Commit Graph

285 Commits

Author SHA1 Message Date
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
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
6167cc8508 HTML handler for contextual content requests.
svn path=/trunk/netsurf/; revision=12754
2011-09-06 18:08:18 +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
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
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
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
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
bc91b72c56 Clean up text input code. Now desktop/textinput.{c|h} is concerend with browser windows only. HTML content specific stuff moved to render/textinput.{c|h} and disassociated from browser windows.
svn path=/trunk/netsurf/; revision=12587
2011-07-07 17:50:04 +00:00
Michael Drake
f9566b6405 Set/unset selection context's browser window on content_open/content_close.
svn path=/trunk/netsurf/; revision=12551
2011-07-01 11:16:43 +00:00
Michael Drake
c9fe1b604e HTML contents manage box scrollbars, rather than browser_windows.
svn path=/trunk/netsurf/; revision=12519
2011-06-27 22:21:15 +00:00
Michael Drake
5a4c8916ef If iframes are reformatted due to containing document reflow, don't need to redraw them since they will be redrawn when the containing document is redrawn. Make iframe handling more robust.
svn path=/trunk/netsurf/; revision=12497
2011-06-24 09:30:33 +00:00
John Mark Bell
a7c2dff805 Lose dead code
svn path=/trunk/netsurf/; revision=12417
2011-05-16 21:44:31 +00:00
Vincent Sanders
83f9e707eb refactor content handler initilisation to use named initialisors
svn path=/trunk/netsurf/; revision=12341
2011-05-09 15:32:34 +00:00
Vincent Sanders
8be1e85e91 consolidate content redraw
more cleanups ready for image content refactor

svn path=/trunk/netsurf/; revision=12317
2011-05-08 19:54:35 +00:00
Michael Drake
8f6c343309 Simplify status bar text.
svn path=/trunk/netsurf/; revision=12313
2011-05-08 19:11:34 +00:00
John Mark Bell
e71691bae8 Merge branches/jmb/content-factory to trunk
svn path=/trunk/netsurf/; revision=12283
2011-05-06 20:40:09 +00:00
Michael Drake
1304964f92 Reduce number of page reflows and viewport
redraws as images are fetched:
+ Flag known-sized boxes generated by images.
+ Treat them as replaced all through layout.
+ Only reflow the document for fetched images
  if we don't already have the box at the
  right size.

svn path=/trunk/netsurf/; revision=12243
2011-04-27 13:50:49 +00:00
John Mark Bell
237a62a9e7 Fix bug #3238323: pass correct context pointer for html_object_callback
svn path=/trunk/netsurf/; revision=12126
2011-03-23 20:39:18 +00:00
John Mark Bell
408f78b737 Move schedule.h to utils/
svn path=/trunk/netsurf/; revision=12039
2011-03-13 22:50:54 +00:00
Daniel Silverstone
93e9bfe323 Shunt the schedule function definitions to desktop/schedule.h. Shunt the hlcache/llcache to using schedule to get their cleanups run.
svn path=/trunk/netsurf/; revision=12029
2011-03-13 18:26:46 +00:00
John Mark Bell
a2d7cc9df1 Remove pointless search
svn path=/trunk/netsurf/; revision=11965
2011-03-11 10:33:42 +00:00
John Mark Bell
1edcef6141 Remove redundant parameter from content_open API
svn path=/trunk/netsurf/; revision=11964
2011-03-10 23:13:03 +00:00
John Mark Bell
8f3ed71cba Keep child objects of a HTML content in a list, instead of an array
svn path=/trunk/netsurf/; revision=11963
2011-03-10 23:08:34 +00:00
Michael Drake
3e7ea29e4b Move clone to box flags.
svn path=/trunk/netsurf/; revision=11890
2011-03-02 19:30:08 +00:00
John Mark Bell
daa8697651 Parallelise fetch and conversion of imported stylesheets
svn path=/trunk/netsurf/; revision=11817
2011-02-26 00:58:54 +00:00
John Mark Bell
ec39ae69d6 Correct handling of action="": should submit to the document URL, not the base URL.
svn path=/trunk/netsurf/; revision=11799
2011-02-25 19:56:28 +00:00
John Mark Bell
d9280e8d72 Fix bug #2076786: do not apply fallback content to failed objects
svn path=/trunk/netsurf/; revision=11797
2011-02-25 19:14:38 +00:00
John Mark Bell
c74936c3e8 Castrate favicon fetching. I've lost count of how much pain this has caused.
svn path=/trunk/netsurf/; revision=11782
2011-02-24 00:03:19 +00:00
John Mark Bell
ad2279811a Fix bug #3182729: meta refresh of embedded html pages resulted in mismatched API expectations
svn path=/trunk/netsurf/; revision=11688
2011-02-15 21:49:28 +00:00
Michael Drake
9336ea3ac8 Increase computed time before scheduled redraws.
svn path=/trunk/netsurf/; revision=11674
2011-02-14 11:14:40 +00:00
Michael Drake
08ed4c207f Update to new libcss API for simultanious selection for base element and its pseudo elements.
svn path=/trunk/netsurf/; revision=11215
2011-01-05 19:36:05 +00:00
Michael Drake
adeb661582 Fix comment.
svn path=/trunk/netsurf/; revision=10935
2010-11-03 15:44:01 +00:00
John Mark Bell
d4d866c43f Fix crash when top-level content is not HTML and there is a fragment identifier in the URL.
Constify.

svn path=/trunk/netsurf/; revision=10881
2010-10-11 06:54:37 +00:00
James Bursa
b6418a9048 Change back to using tree directly because element navigation functions require libxml2 2.7.3 which is not available everywhere.
svn path=/trunk/netsurf/; revision=10790
2010-09-16 21:03:16 +00:00
James Bursa
bce1f4c231 Use libxml functions to loop through elements in html_head() instead of checking all nodes. Remove logging.
svn path=/trunk/netsurf/; revision=10788
2010-09-16 20:46:29 +00:00
John Mark Bell
6867be128c Pedantic whitespace change
svn path=/trunk/netsurf/; revision=10590
2010-06-30 20:08:59 +00:00
Michael Drake
b010a25771 + Refactor input handling from browser window code into content
handlers.
+ Disentangle all box tree manipulation from browser window
  code and put it where it belongs.
+ Move other content specific and other irrelevant code from
  browser window handling to appropriate places.
+ Put mouse state enum in new mouse header, since it's not just
  used by browser window code, and it is used by treeview
  windows on the treeview branch.

svn path=/trunk/netsurf/; revision=10561
2010-06-04 09:35:08 +00:00
Daniel Silverstone
5e887908b3 Consolidate several 'myrealloc' functions into ns_realloc, rename one which *is* different, thereby eliminating the word 'myrealloc' from the NS codebase
svn path=/trunk/netsurf/; revision=10530
2010-04-30 16:06:03 +00:00
John Mark Bell
000e6ad3de It turns out that realloc(ptr, 0) --> free(ptr) is not actually required by the C standard (whereas realloc(NULL, size) --> malloc(size) is).
Therefore, explicitly model the behaviour expected by our libraries (that realloc of 0 size is equivalent to free).

svn path=/trunk/netsurf/; revision=10524
2010-04-30 07:00:58 +00:00