Commit Graph

55 Commits

Author SHA1 Message Date
Vincent Sanders
92fff918cc fix "may be used uninitialised" warning 2019-11-06 08:23:27 +00:00
Vincent Sanders
7c63f5f66b improve error returns throughout complete save and remove user warnings 2019-11-04 23:39:13 +00:00
Michael Drake
5aeca580f4 save complete: Change de-duplication to compare URLs, rather than contents.
We seem to have more than one content for the same resource.

For example:

* save `<img src="about:logo"><img src="about:logo">` as img-test.html
* run `rm -rf test-save && make && ./nsgtk img-test.html`
* ctrl+s
* save as "test-save" in the current netsurf dir.
* run `md5sum test-save/*`

before and after this commit.  The de-duplication works with URLs,
where it wasn't working with hlcache_handles or contents.
2019-10-26 12:51:17 +01:00
Michael Drake
044ddd5d43 save complete: ctx_find_content: compare contents, not hlcache_handles
There can be multiple hlcache_handles per sharable content.
2019-10-26 12:42:38 +01:00
Vincent Sanders
da7c750efd fix some formatting in save complete 2019-10-24 22:21:43 +01:00
Vincent Sanders
699cc7deee ensure save_complete resources are correctly finalised before quit 2019-10-24 22:20:57 +01:00
Vincent Sanders
bb60859535 resolve leak of attribute value lwc string in complete save 2019-10-24 22:19:52 +01:00
Vincent Sanders
d0359bc957 fix save_complete usage of posix regex so it does not run off the end of strings 2019-10-21 23:44:01 +01:00
Vincent Sanders
4745fcf1c7 add regex compatability to utils and enable it for serenity OS 2019-10-12 14:50:49 +01:00
Vincent Sanders
35bc2ccbb8 change content get_source_data interfaces to return uint8_t and size_t
previously these interfaces returned char * and unsigned int which was
undesirable.
2019-05-05 22:50:25 +01:00
Vincent Sanders
216fb88f58 clean up html content handler header use
Improve header use in preperation for making browser window a corewindow
2018-05-11 13:18:54 +01:00
Vincent Sanders
2a03ea3049 move html and text content handlers where they belong 2018-05-10 13:37:02 +01:00
Vincent Sanders
ec94d5f812 move history bitmap thumbnail into the page information structure 2017-09-10 10:31:06 +01:00
Vincent Sanders
75018632a9 Use coccinelle to change logging macro calls in c files
for F in $(git ls-files '*.c');do spatch --sp-file foo.cocci --in-place ${F};done

@@ expression E; @@
-LOG(E);
+NSLOG(netsurf, INFO, E);
@@ expression E, E1; @@
-LOG(E, E1);
+NSLOG(netsurf, INFO, E, E1);
@@ expression E, E1, E2; @@
-LOG(E, E1, E2);
+NSLOG(netsurf, INFO, E, E1, E2);
@@ expression E, E1, E2, E3; @@
-LOG(E, E1, E2, E3);
+NSLOG(netsurf, INFO, E, E1, E2, E3);
@@ expression E, E1, E2, E3, E4; @@
-LOG(E, E1, E2, E3, E4);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4);
@@ expression E, E1, E2, E3, E4, E5; @@
-LOG(E, E1, E2, E3, E4, E5);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5);
@@ expression E, E1, E2, E3, E4, E5, E6; @@
-LOG(E, E1, E2, E3, E4, E5, E6);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6);
@@ expression E, E1, E2, E3, E4, E5, E6, E7; @@
-LOG(E, E1, E2, E3, E4, E5, E6, E7);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6, E7);
2017-09-06 18:45:27 +01:00
Vincent Sanders
d9a2c7b9c1 fix some doxygen errors 2017-02-24 14:02:31 +00:00
Vincent Sanders
17de8d91ac change save complete to use ascii character manipulation 2016-09-11 10:27:11 +01:00
Vincent Sanders
8861923455 Allow include directories to be added by sub makefiles 2016-06-06 14:47:27 +01:00
Vincent Sanders
76a68d7dd0 Update content to split public and internal API 2016-06-06 09:01:38 +01:00
Vincent Sanders
fe7eb85614 move misc header into public API 2016-05-30 11:23:32 +01:00
Vincent Sanders
6722943b81 move the CSS content handler 2016-05-26 11:18:41 +01:00
Vincent Sanders
6a36d4ec2b remove all core usage of warn_user API 2016-04-26 12:50:16 +01:00
Vincent Sanders
7ba291037b move regex helper to be with teh single remaining call site 2016-04-20 23:33:31 +01:00
Vincent Sanders
c105738fa3 Change LOG() macro to be varadic
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.

The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.

A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Vincent Sanders
6b645664fe add missing includes 2014-12-27 22:48:37 +00:00
Vincent Sanders
7c4c73f1b0 Desktop doxygen fixes 2014-11-09 21:49:33 +00:00
Vincent Sanders
d06df231bc Update the core to use the split operations table headers
Second in the series to decouple the core API usage from the frontends.
2014-10-16 22:33:43 +01:00
Vincent Sanders
89a02c3a8f when walking the css imports ensure the content is present before dereferencing it
css import entries may not have a valid content if the resource failed to load
or was unsuitable in some otehr way. The save_complete iterator did not cope with this.

fixes #2166
2014-07-08 13:25:54 +01:00
Vincent Sanders
966ed9449c fix riscos mkpath and error reporting in save complete 2014-05-17 23:14:43 +01:00
Vincent Sanders
c56642819e add file operations table and make all frontends use it.
This rationalises the path construction and basename file
operations. The default implementation is POSIX which works for all
frontends except windows, riscos and amiga which have differeing path
separators and rules.

These implementations are significantly more robust than the previous
nine implementations and also do not use unsafe strncpy or buffers
with arbitrary length limits.

These implementations also carry full documentation comments.
2014-05-07 16:24:51 +01:00
Vincent Sanders
654da2ffb5 move utf8 conversion routines to use nserror instead of their own error enum 2014-01-28 21:40:13 +00:00
Vincent Sanders
0475693394 create table for fetcher operations and move all operations into it 2014-01-23 00:00:18 +00:00
Vincent Sanders
38cb39339a move filename_from_path and path_add_part into gui operation tables 2014-01-16 00:01:25 +00:00
Vincent Sanders
b415c2f9ff fixup logic error in save complete as directed by jmb 2014-01-06 22:22:41 +00:00
John-Mark Bell
32468516e3 Speculatively start image fetches as we parse the document. 2014-01-05 14:34:49 +00:00
John-Mark Bell
97978e858b Use custom fetcher for inline CSS 2013-02-27 03:11:10 +00:00
John-Mark Bell
405fa12f8d Fix handling of inline stylesheets with @import 2013-02-26 09:14:32 +00:00
John-Mark Bell
ea3f09a724 Correctly emit entities when serialising to HTML. 2012-12-30 23:37:06 +00:00
Michael Drake
2385f8269a Fix to escape comments in save complete output. 2012-11-06 10:02:17 +00:00
John-Mark Bell
f824ab8af4 Port save complete to libdom. 2012-11-03 23:19:45 +00:00
John-Mark Bell
1ecc94b187 Use case insensitive string comparisions for nodes 2012-07-15 01:39:25 +01:00
Daniel Silverstone
ef238c17fe For now, build a shonky libxml tree. Later, rewrite save_complete for libdom
svn path=/trunk/netsurf/; revision=13664
2012-03-25 10:13:53 +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
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
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
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
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
John Mark Bell
b175b0ddf8 Fix stupid
svn path=/trunk/netsurf/; revision=11976
2011-03-12 17:47:46 +00:00
Michael Drake
513793a060 Fix inventory file leafname.
svn path=/trunk/netsurf/; revision=10624
2010-07-09 21:36:55 +00:00
Chris Young
d6eb28d5de Replace unnecessarily complicated path concatenation with something simpler and
easily adaptable to different platform path structures.

svn path=/trunk/netsurf/; revision=10621
2010-07-09 19:45:44 +00:00
Michael Drake
4c4c2c5f97 Fix typo.
svn path=/trunk/netsurf/; revision=10478
2010-04-24 21:16:12 +00:00