Commit Graph

1159 Commits

Author SHA1 Message Date
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
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
51f6d5475b Set bw for textplain selection.
svn path=/trunk/netsurf/; revision=12554
2011-07-02 12:34:35 +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
fb4955e162 Make text/plain contents aware of the browser window they are opened in.
svn path=/trunk/netsurf/; revision=12546
2011-06-30 18:27:24 +00:00
Michael Drake
eddae6af06 Remove plotter table global. Pass a redraw context around redraw functions. Knockout could be handled better. Note: untested on most front ends.
svn path=/trunk/netsurf/; revision=12543
2011-06-30 15:48:07 +00:00
Michael Drake
d284ac14d9 Front end gets root browser window on notification of scrollbar widget drag start.
svn path=/trunk/netsurf/; revision=12533
2011-06-28 21:16:37 +00:00
Michael Drake
3128ecf2a5 Unify content_redraw params in content_redraw_data struct. Core and RISC OS content handlers updated.
svn path=/trunk/netsurf/; revision=12529
2011-06-28 20:17:39 +00:00
Michael Drake
4d19457c59 Prevent iframes with display:inline and percentage width from getting a width of AUTO during minmax layout phase.
svn path=/trunk/netsurf/; revision=12528
2011-06-28 19:42:31 +00:00
Michael Drake
b57c2e0bee Move rectangle type to utils/types.h
svn path=/trunk/netsurf/; revision=12525
2011-06-28 15:18:48 +00:00
Michael Drake
25e7c86fb7 Make search_term_highlighted a core function.
svn path=/trunk/netsurf/; revision=12524
2011-06-28 12:30:56 +00:00
Michael Drake
5c9155e606 Core form select widget now associated with HTML contents. Don't use current_redraw_browser for select widget redraw. Fixes core select widget in iframes.
svn path=/trunk/netsurf/; revision=12522
2011-06-28 11:15:39 +00:00
Michael Drake
e70d4947ea Use interface for turning off drag.
svn path=/trunk/netsurf/; revision=12521
2011-06-28 10:07:53 +00:00
Michael Drake
f8462b3344 Pass the content object down through html_redraw. Make overflow scrollbars used content for scrollbar, rather than browser window. Fixes overflow scrollbars in iframes.
svn path=/trunk/netsurf/; revision=12520
2011-06-28 08:56:37 +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
23eea5de9f Fix bw->drag_type to be aware of remaining drag types.
svn path=/trunk/netsurf/; revision=12514
2011-06-27 17:29:49 +00:00
Michael Drake
92323b7808 Code style fix. Thanks Kinnison.
svn path=/trunk/netsurf/; revision=12504
2011-06-24 13:04:05 +00:00
Michael Drake
2fb134bac7 Fix mouse action offsets within scaled iframes.
svn path=/trunk/netsurf/; revision=12503
2011-06-24 12:23:10 +00:00
Michael Drake
c59b5d627f Correct offset for scaled iframe redraw.
svn path=/trunk/netsurf/; revision=12498
2011-06-24 09:51:17 +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
Michael Drake
188712d142 Reformat floated iframe browser windows only after the iframe box has been linked into the box tree from the block formatting context block.
svn path=/trunk/netsurf/; revision=12476
2011-06-14 21:09:38 +00:00
Michael Drake
53f4da3420 First pass at core iframes. Currently lacking scrollbars.
svn path=/trunk/netsurf/; revision=12474
2011-06-14 20:00:18 +00:00
Michael Drake
ae46764ec4 Remove box_applet.
svn path=/trunk/netsurf/; revision=12427
2011-05-18 16:01:02 +00:00
John Mark Bell
3bcbde2503 Add some parentheses
svn path=/trunk/netsurf/; revision=12423
2011-05-16 22:30:27 +00:00
John Mark Bell
a7c2dff805 Lose dead code
svn path=/trunk/netsurf/; revision=12417
2011-05-16 21:44:31 +00:00
Michael Drake
5e823ede7c Use height type enum.
svn path=/trunk/netsurf/; revision=12413
2011-05-16 10:29:34 +00:00
Michael Drake
297f1dfebb Restore clipping rectangle before rendering scrollbars. Fixes broken rendering due to interaction between text selection and scroll.
svn path=/trunk/netsurf/; revision=12379
2011-05-11 09:21:43 +00:00
Michael Drake
d41dcfa780 Fix content drags within scrollable areas. Various tidyups.
svn path=/trunk/netsurf/; revision=12378
2011-05-11 08:34:33 +00:00
Michael Drake
5bd37ecf2c Elements replaced with HTML don't affect parent descendants.
svn path=/trunk/netsurf/; revision=12365
2011-05-10 11:11:54 +00:00
Michael Drake
523e77e38d Fix box scrollbars to accurately represent ratio of visible area's length to full area's length, in the length of the scroll bar slider.
svn path=/trunk/netsurf/; revision=12364
2011-05-10 10:41:57 +00:00
Michael Drake
ac447fc293 s/scroll/scrollbar/ and improve scrollbar widget comments.
svn path=/trunk/netsurf/; revision=12363
2011-05-09 22:49:17 +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
Michael Drake
769011911c Optimise first pass of layout. Reduces number of nsfont_width calls by up to the page's word count.
svn path=/trunk/netsurf/; revision=12239
2011-04-26 15:03:44 +00:00
Michael Drake
8d2bb4bd3a Change how blocks are positioned vertically (esp. margin handling).
svn path=/trunk/netsurf/; revision=12235
2011-04-22 21:57:18 +00:00
John Mark Bell
b5f94b26dc Apply same hack for :before as for :after
svn path=/trunk/netsurf/; revision=12224
2011-04-22 14:48:54 +00:00
John Mark Bell
ff60007458 Fix build with NDEBUG defined
svn path=/trunk/netsurf/; revision=12154
2011-04-03 22:23:14 +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
Michael Drake
ad2116a730 Handle scaled rendering of text/plain with plot origin offset too.
svn path=/trunk/netsurf/; revision=12098
2011-03-17 18:49:25 +00:00
Michael Drake
ff600fbf8c Fix text/plain rendering's plot range calc to take account of vertical plot offset (y).
svn path=/trunk/netsurf/; revision=12097
2011-03-17 18:15:32 +00:00
Michael Drake
1c7d7f6cbe Fix scaled text-plain contents.
svn path=/trunk/netsurf/; revision=12059
2011-03-15 15:29:28 +00:00
Michael Drake
14ab7bb98f Make text size a separate #define.
svn path=/trunk/netsurf/; revision=12058
2011-03-15 15:10:10 +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
Michael Drake
a0d7e79c8c Allow box margins to collapse through zero-height boxes.
svn path=/trunk/netsurf/; revision=11981
2011-03-12 18:44:43 +00:00
Vincent Sanders
74f108ee4d Saturated maths in css fixed point
svn path=/trunk/netsurf/; revision=11975
2011-03-12 17:46:11 +00:00
Daniel Silverstone
68e12d28f9 Remove pointless nasty skanky broken box tree duplication from hell
svn path=/trunk/netsurf/; revision=11970
2011-03-12 16:18:18 +00:00
Michael Drake
e406481623 Update left/right margins comment.
svn path=/trunk/netsurf/; revision=11967
2011-03-12 12:27:17 +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
06ff431df7 Handle scaling of text plots in core.
svn path=/trunk/netsurf/; revision=11935
2011-03-08 18:47:15 +00:00
Chris Young
aa35550b86 plugins aren't images
svn path=/trunk/netsurf/; revision=11926
2011-03-06 15:34:48 +00:00
Chris Young
5ac45472c7 Fix broken CONTENT_PLUGIN API.
Add a default content handler for Amiga using the plugin interface, which passes
unknown files (currently images only) through DataTypes.

svn path=/trunk/netsurf/; revision=11924
2011-03-06 13:58:02 +00:00
Michael Drake
28dc80a3a5 Esimated width is fine for last box.
svn path=/trunk/netsurf/; revision=11922
2011-03-05 23:03:44 +00:00
Michael Drake
8c8ef2268d Ensure box has appropriate space before cloning.
svn path=/trunk/netsurf/; revision=11921
2011-03-05 22:55:52 +00:00
Michael Drake
9be22ab590 Make sure the last clone box for a wrapped text is properly measuered.
svn path=/trunk/netsurf/; revision=11920
2011-03-05 22:18:06 +00:00
Sven Weidauer
208b98bb44 Created content handler CONTENT_APPLE_IMAGE for Mac OS X that can handle all image file formats supported by Apples ImageIO framework. Right now used only for JPEG to get rid of libjpeg dependency.
svn path=/trunk/netsurf/; revision=11911
2011-03-05 09:49:15 +00:00
Michael Drake
9e1916ad61 Fix comment.
svn path=/trunk/netsurf/; revision=11891
2011-03-02 19:36:13 +00:00
Michael Drake
3e7ea29e4b Move clone to box flags.
svn path=/trunk/netsurf/; revision=11890
2011-03-02 19:30:08 +00:00
Michael Drake
be366b0e6b Move strip_leading_newline to box flags.
svn path=/trunk/netsurf/; revision=11889
2011-03-02 19:16:03 +00:00
Michael Drake
3707be6292 Move printed to box flags.
svn path=/trunk/netsurf/; revision=11888
2011-03-02 18:41:17 +00:00
Michael Drake
77f67bccb6 Move style_owned to box flags.
svn path=/trunk/netsurf/; revision=11887
2011-03-02 18:27:41 +00:00
Michael Drake
f744c9dfa0 Make box flags and move new line indicator to it.
svn path=/trunk/netsurf/; revision=11886
2011-03-02 17:50:51 +00:00
Michael Drake
db69e8045b When wrapping text, don't duplicate strings. Special case for text inside textareas, since they require it.
svn path=/trunk/netsurf/; revision=11881
2011-03-01 22:14:02 +00:00
Michael Drake
3b366c53f9 More useful assert and remove box_dump call.
svn path=/trunk/netsurf/; revision=11880
2011-03-01 21:48:38 +00:00
Michael Drake
e3f00b8546 Cache space widths.
svn path=/trunk/netsurf/; revision=11877
2011-03-01 20:00:41 +00:00
Michael Drake
f1343377ff Split splitting out into layout_text_box_split().
svn path=/trunk/netsurf/; revision=11869
2011-03-01 13:42:27 +00:00
Michael Drake
e35aecb9aa Optimise wrapped text layout.
svn path=/trunk/netsurf/; revision=11852
2011-02-28 13:18:27 +00:00
John Mark Bell
86a2e0076d Fix bug #3194007: stop emitting duplicate READY/DONE events.
* Make content handlers responsible for setting READY/DONE state & emitting events.
	* Stop content_convert doing this when there is a registered convert function for the content type.

svn path=/trunk/netsurf/; revision=11850
2011-02-27 20:11:39 +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
b1a2212a95 Fix bug #3140968: form submission with the GET method must replace the query segment of the action URL.
svn path=/trunk/netsurf/; revision=11800
2011-02-25 19:57:23 +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
Michael Drake
38ec3a917d Don't consider top/left of descendant box when applying box overflow scrollbars.
svn path=/trunk/netsurf/; revision=11792
2011-02-24 22:00:24 +00:00
Michael Drake
9125bd1fa4 Apply margin before clear.
svn path=/trunk/netsurf/; revision=11786
2011-02-24 15:45:10 +00:00
Michael Drake
b68dc734e1 Handle text-indent in layout_minmax_line(). (Fixes #3187505; scattering of social networking icons on BBC News.)
svn path=/trunk/netsurf/; revision=11785
2011-02-24 13:46:12 +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
Michael Drake
2ef37af60c When box has no style, handle descendant calc as for overflow: visible.
svn path=/trunk/netsurf/; revision=11770
2011-02-23 13:11:19 +00:00
Michael Drake
cbaada8305 Fix silly.
svn path=/trunk/netsurf/; revision=11764
2011-02-22 22:14:22 +00:00
Michael Drake
8a223ef1b2 Fix text clipping bug.
svn path=/trunk/netsurf/; revision=11763
2011-02-22 22:07:28 +00:00
Michael Drake
7eaa663d74 Child bbox is relative to current box.
svn path=/trunk/netsurf/; revision=11756
2011-02-22 15:34:36 +00:00
Michael Drake
7f1108df32 Child's descendant bbox only affects current box's bbox if the child has overflow:visible.
svn path=/trunk/netsurf/; revision=11755
2011-02-22 15:12:18 +00:00
Michael Drake
474cbe917e Add function to get a box's border edge bbox, and use it to find initial descendant bbox.
svn path=/trunk/netsurf/; revision=11754
2011-02-22 14:57:04 +00:00
Michael Drake
9a8341cb39 Simplify descendant bbox calculations.
svn path=/trunk/netsurf/; revision=11753
2011-02-22 11:38:19 +00:00
Michael Drake
cd40c260b9 Remove knockout from html_redraw, and use it in browser_window_redraw and thumbnail_redraw.
svn path=/trunk/netsurf/; revision=11746
2011-02-21 14:48:55 +00:00
John Mark Bell
b76ef4333a Don't crash if there's no box associated with a textarea
svn path=/trunk/netsurf/; revision=11711
2011-02-19 14:59:30 +00:00
Michael Drake
bbdb7cd440 Fix fixed point percentage macro not to overflow. Thanks to jmb and vince.
svn path=/trunk/netsurf/; revision=11702
2011-02-16 20:41:55 +00:00
Michael Drake
06e6ec4eb1 If percentage is negative, resort to floating point.
svn path=/trunk/netsurf/; revision=11700
2011-02-16 17:14:47 +00:00