Commit graph

44 commits

Author SHA1 Message Date
Oliver Schmidt
66fa843389 Added support for <input type='hidden'>.
Hidden form fields are aded to the page attribute buffer like text form fields so there's no need for special treatment in formsubmit(). However they are not added as widgets to the window so there's no user interaction.
2013-03-13 10:50:11 +01:00
Oliver Schmidt
c7b8bac006 Reorganized web page attribute data handling.
- Up to now the web browser used several fixed size arrays to hold the various types attribute data of the web page. This turned out to be way to inflexible for any non-trivial web page. Therefore now all attribute data is stored in a single buffer one after the other as they arrive from the parser only occupying the memory actually needed. This allows for pages with many links with rather short URLs as well as pages with few link with long URLs as well as pages with several simple forms as well as pages with one form with many form inputs.

- Using the actual web page buffer to hold the text buffers of text entry fields was in general a cool idea but in reality it  is often necessary to enter text longer than the size of the text entry field. Therefore the text buffer is now stored in the new unified attribute data buffer.

- Splitting up the process of canonicalizing a link URL and actually navigating to the resulting URL allowed to get rid of the 'tmpurl' buffer used during form submit. Now the form action is canonicalized like a usual link, then the form input name/value pairs are written right into the 'url' buffer and afterwards the navigation is triggered.

- Support for the 'render states' was completely removed. The only actually supported render state was centered output. The new unified attribute buffer would have complicated enumerating all widgets added to the page in order to adjust their position. Therefore I decided to drop the whole feature as the <center> tag is barely used anymore and newer center attributes are to hard to parse.
2013-03-06 16:29:36 +01:00
Oliver Schmidt
65a4472a0d Limit content of web browser version of http-strings to web browser.
In general it seems a bad idea to have two http-strings.c files as this precludes to have them both in the Contiki library. However as it stands it seems most reasonable to have one http-strings.c file be a clean superset of all usecases in order to allow them to run together in a single binary. As webserver/http-strings.c already contained strings not present in webbrowser/http-strings.c it seems reasonable to consider webserver/http-strings.c as the superset described. From that perspective it is appropriate to remove all strings from webbrowser/http-strings.c which are not used by the web browser in order to save memory otherwise wasted.
2013-03-06 15:12:02 +01:00
Oliver Schmidt
d71ce70c54 Made sure that HTML form values get initialized properly. 2013-02-19 21:40:21 +01:00
Oliver Schmidt
d5d646528e Added support for self closing tags.
XHTML requires self closing tags to be used for empty tags, so we need to recognize them.
2013-02-19 00:49:01 +01:00
Oliver Schmidt
374c89be01 Added newline on </div>.
The tag <div> (in contrast to the tag <span>) is normally used to denote content placed on a line by its own. So it makes sense to trigger a newline when </div> is processed.
2013-02-19 00:43:16 +01:00
Oliver Schmidt
4938877dd9 Lifted restrictions on accepted MIME type.
The "normal" web is moving forward quickly reducing the interoperability of the Contiki web browser to nearly zero. The Mobile Web fits the capabilities of the Contiki web browser much better. Modern smartphones don't need the Mobile Web anymore but there are large areas in world with rather low end mobile phones and limited mobile bandwidth where the Mobile Web will be necessary for quite some time.

From that perspective it is reasonable to increase the Contiki web browser's interoperability with the Mobie Web - namely WAP 2.0 aka XHTML MP. XHTML MP is delivered as MIME types 'application/vnd.wap.xhtml+xml' or 'application/xhtml+xml'. Therefore we (try to) parse the document if the MIME type contains the substring 'html' (which is true 'text/html' too).
2013-02-19 00:25:36 +01:00
Oliver Schmidt
15fb63ba9a Harmonized ststus texts and and added status on wrong MIME type. 2013-02-18 23:08:05 +01:00
Adam Dunkels
944537fccf Removed all old RCS tags in the Contiki source tree. Those RCS tags are not used any more, as we are now using git to manage the Contiki source tree 2012-10-26 15:54:49 +02:00
Adam Dunkels
a3e56371a5 Bumped version number 2012-07-12 11:33:12 +02:00
Nicholas J Humfrey
efab964451 Converted u8_t to uint8_t and u16_t to uint16_t in the apps directory. 2012-02-21 08:33:25 -05:00
adamdunkels
5585d72c86 A simple but substantial change: uIP used the htons()/HTONS() macro
functions for converting between host and network byte order. These
names are the de facto standard names for this functionality because
of the original BSD TCP/IP implementation. But they cause problems for
uIP/Contiki: some platforms define these names themselves (Mac OS,
most notably), causing compilation problems for Contiki on those
platforms.

This commit changes all htons to uip_htons instead. Same goes for
htonl, ntohs, and ntohl. All-caps versions as well.
2010-10-19 18:29:03 +00:00
oliverschmidt
05f938e7c1 Converting the last screen line from ASCII to PETSCII as it was done up to now almost never makes sense. Either the conent to be converted is not the last screen line or the last screen line was already converted (and is incorrectly converted back). Therefore now only a partial line not already converted before gets converted. 2010-07-21 21:03:06 +00:00
nifi
f537fac5f0 Made arguments const to allow constant strings as arguments 2010-06-14 14:08:17 +00:00
nifi
b54c6e673b Updated API for uiplib and resolv to use uip_ipaddr_t instead of uint16_t for compability with IPv6 2010-05-31 15:22:08 +00:00
oliverschmidt
340de209c7 Allow to build the webbrowser without history support - by setting WWW_CONF_HISTORY_SIZE to 0. 2010-02-13 10:39:57 +00:00
oliverschmidt
dbfa1efdcf Allow to build the web browser without DNS support - like i.e. the email client and the IRC client. 2010-02-01 19:44:30 +00:00
adamdunkels
4938df5c05 Update to Contiki version number 2.4 2010-01-29 18:03:55 +00:00
adamdunkels
40003196ef #include ctk-textentry-cmdline.h, plus a bunch of whitespace removed 2009-02-25 08:52:27 +00:00
oliverschmidt
7aa23e002a Removed unused variable (and some whitespaces). 2008-11-10 21:57:26 +00:00
adamdunkels
8526049749 Bugfix: the web client previously implicitly depended on uip_buf to be larger than an HTTP GET request. This made the web client fail when uip_buf was smaller, and lead to memory corruption. Also, there was a bug when HTTP request headers would arrive when the GET request was being sent out. 2008-11-09 12:39:31 +00:00
adamdunkels
80c71c9f03 Updated version number in server and user agent strings 2008-11-09 12:27:58 +00:00
adamdunkels
a53bce4236 Reduce the default number of pagewidgets to make file compile out-of-the-box on MSP430 2008-11-09 10:58:06 +00:00
oliverschmidt
614fa668cd Removed SELFSTART_PROCESS as AUTOSTART_ENABLE generally serves that purpose - and AUTOSTART_ENABLE gets already set as required :-) 2008-02-08 22:48:28 +00:00
oliverschmidt
0a8f384a40 Allow to optionally (triggered with SELFSTART_PROCESS) self start the application. 2008-02-07 16:28:11 +00:00
oliverschmidt
a5ab7ee5b7 Don't depend on program handler if building without wget support. 2007-12-15 21:56:23 +00:00
oliverschmidt
52436163aa Made webbrowser configuration defaults visible. 2007-11-30 21:53:50 +00:00
oliverschmidt
c8e7967710 Provided webbrowser configuration defaults. 2007-11-30 21:51:59 +00:00
oliverschmidt
e4a568c1fc Introduced WWW_CONF_WITH_WGET to make the "URL forwarding" to wget.prg optional (and minor formatting changes). 2007-11-30 16:09:40 +00:00
oliverschmidt
3c68e9c8f2 Removed obsolete declaration and added PROCESS_NAME(). 2007-11-30 11:16:45 +00:00
oliverschmidt
a57eb88f62 Removed compiler warning. 2007-11-18 01:41:00 +00:00
oliverschmidt
d609db3580 Removed compiler warnings. 2007-11-18 01:36:59 +00:00
oliverschmidt
de7b87868d Removed compiler warnings. 2007-11-18 01:24:39 +00:00
matsutsuka
582a7476d4 *-dsc.c files have been changed to remove forward reference for struct_icon variable, bacause it is strange that this variable is used wholly inside the C source file and declared extern for the forward reference. 2007-09-06 01:36:10 +00:00
matsutsuka
9d4fc0a1a8 Support for z80(sdcc) port.
In order to support, some core modules are modified as follows:

core/sys/dsc.h
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.
- DSC_HEADER is changed to remove extra semicolon.

core/sys/process.h
- process_data_t is expressed by void* in signatures (known bug on sdcc).

core/sys/autostart.h
- autostart_processes is changed to remove extra semicolon.

core/sys/cc.h
- CC_CONF_ASSIGN_AGGREGATE is introduced.
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
  of sdcc bug for an increment.

core/net/hc.c
core/net/uip_arp.c
core/net/uaodv.c
- Aggregation assignments are changed to uip_ipaddr_copy.

core/net/psock.c
core/net/uipbuf.c
core/net/dhcpc.c
apps/shell/shell.c
core/ctk/vnc-server.c
core/ctk/vnc-out.c
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

core/net/uip-over-mesh.c
- An extra semicolon is removed.

apps/dhcp/dhcp-dsc.c
apps/shell/shell-dsc.
apps/ftp/ftp-dsc.c
apps/process-list/process-list-dsc.c
apps/email/email-dsc.c
apps/webserver/webserver-dsc.c
apps/vnc/vnc-dsc.c
apps/vnc/vnc-viewer.h
apps/webbrowser/www-dsc.c
apps/about/about-dsc.c
apps/irc/irc-dsc.c
apps/telnet/telnet-dsc.c
apps/telnetd/telnetd-dsc.c
apps/netconf/netconf-dsc.c
apps/directory/directory-dsc.c
pps/calc/calc-dsc.c
- Modify an extern type to a real declaration, which is static
  to prevent a compile error.

core/net/mac/xmac.c
- Variables cannot be defined in a head of block on sdcc.

core/ctk/ctk.h
core/ctk/ctk.c
apps/program-handler/program-handler.c
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.

Makefile.include
- Add a set of configuration for an assembler.
- $(CLEAN) variable is introduced for customized cleanup.

apps/process-list/process-list.c
- PROCESSLIST_CONF_HEIGHT is introduced to address smaller screen size.

core/lib/ctk-filedialog.c
- FILES_CONF_HEIGHT is introduced to address smaller screen size.
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

apps/vnc/vnc-viewer.c
- A cast is added to prevent a compile error.
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

apps/webbrowser/webclient.c
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
  of sdcc bug for an increment.

core/loader/elfloader.c
- A cast is added to prevent a compile error.

core/net/rime/rimeaddr.c
- An initialization is added to prevent a compile error.

core/net/rime/rudolph0.c
- NULL is changed to 0, because NULL causes a compile error.

core/net/rime/route-discovery.c
- Add an argument to match the definition of nf_callbacks.

cpu/z80/strcasecmp.h
cpu/z80/strcasecmp.c
cpu/z80/contiki-sdcc-conf.h
cpu/z80/mtarch.c
cpu/z80/mtarch.h
cpu/z80/Makefile.z80
- New files to make compilation availble on sdcc.
- Added support for multithreading.
2007-08-30 14:39:16 +00:00
oliverschmidt
661a58cddb Make lists of source files for each app available individually - i.e. for creation of dynamically loadable modules. 2007-04-05 19:50:43 +00:00
oliverschmidt
acade90174 Removed inconsistent source formatting. 2006-10-06 21:39:45 +00:00
oliverschmidt
eac68071eb Changed the maximum length of a single word from 40 to match the page width. Browsers wider than 40 cols can now render longer words. Browsers smaller than 40 cols avoid display inconsistencies on long words (and save memory). Additionally simplified word truncation code. 2006-10-06 21:34:59 +00:00
oliverschmidt
0a1e2d7b3e Discard word right in fromt of </script>, </style> and </select>. 2006-10-06 21:30:41 +00:00
oliverschmidt
51aacc981b Removed now unused var. 2006-10-06 21:28:18 +00:00
oliverschmidt
e8ff2ba595 With the change to always position the cursor at the end of the exsisting text on entering the textentry field edit state it became necessary to avoid initializing textentry fields with blanks insteads of zeros.
Unfortunately I overlooked the dynamically created textentry fields for web forms. Changing their behaviour was a little more complicated as the length of the existing text was used to determine the size of the textentry field. Now this size is passed explicitly.
2006-10-06 21:14:28 +00:00
oliverschmidt
5bd04b9c0d Avoid compiler warnings. 2006-08-14 23:31:40 +00:00
adamdunkels
cbb910ab52 Added arg.c 2006-06-17 23:08:04 +00:00
adamdunkels
c9e808d638 Import of the contiki-2.x development code from the SICS internal CVS server 2006-06-17 22:41:10 +00:00