summaryrefslogtreecommitdiff
path: root/developer-weekend/feb-2017.mdwn
blob: c4dbaabb3dc74a050e8117f2be1f6d30797fb7e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
[[!meta title="Developer Weekend (Feb 2017)"]]
[[!meta author="Daniel Silverstone"]]
[[!meta date="2017-02-04 12:00:00"]]

[[!toc]]

Attendees
=========

* John-Mark Bell (Yes, he's not dead)
* Michael Drake
* Vincent Sanders
* Daniel Silverstone

Apologies
=========

* Chris Young (Still not quite up to visiting)

Topics
======

GIF Stuff
---------

John-Mark and Vince have had a trawl through the `libnsgif` stuff and
basically decided "OH GODS NO!" and want to replace the lzw stuff.

Content Sharing
---------------

We decided that any content which implicitly or explicitly contains context
(for example HTML, Animated GIFs, audio, video, etc) cannot be shared.

GIFs could start out unshared, and if they determine later that they are not
animated, they could flip to a shared context.  Ditto they could, on
`CONTENT_DONE`, switch from copied data to referencing the whole content stored
in `llcache`.

CSS Media Queries
-----------------

John-Mark is getting on with these

Actions:

> **TODO** jmb to fill out

Plotter API work
----------------

After discussion, Vince is working on updating the plotter API to thread the
plot context through everything, for widgetery (or however you spell that)

Actions:

* define plotetr API which passes context to each call (done)
* update all core uses of API to match changes (in progress)
* update core plotters (knockout and print) to meet new API
* update each frontend plotters to provide API

`libnslayout`
-------------

Michael started looking at the new layout engine again.

* Recalled the state of things when it was last touched.
* Cleaning up what's there.
* Revewing the current state of the specs that this library needs to implement.
  * Decided to focus on CSS2.2 first, and worry about level 3/4 stuff later,
    since they can be treated mostly as extras.
  * Downloaded a copy of the current CSS2.2 document.
* Planning the structure of the new layout engine.

Cookies
-------

netsurf cookies currently adheres to RFC2109 (kinda) and we should implement  RFC6265

Vince has investigated and this is necessary for using cookies at least partially safely with javascript. without this implementation javascript acess is not secure.

JavaScript and Events
---------------------

Daniel continues his epic horror-party into `addEventListener()` and friends.

Activity:

* Fixed bug in nsgenbind which meant generic onFOO handlers were always being
  registered for 'click'. **MERGED**
* Added support for event listeners to duktape binding
* Added `EventTarget` IDL implementation to duktape binding
* Added test case for `DOMNodeInserted` which sadly doesn't work on modern
  browsers due to them switching to mutation observers.
* Updated `Docs/UnimplementedJavascript.txt` for `EventTarget`

Tests
-----

Daniel found and corrected some hiccoughs in the `test/` tree:

* We were linking the system libidn rather than using `utils/punycode.c`
  **MERGED**
* We were at risk of going over-time on some hash table tests.
  **MERGED**

Frontends
---------

cocoa - to be put on notice. noone is maintaining it. if noone responds on developer or user list then CI will stop building and updating to build will not be required. If the frontend does not build at teh next developer weekend it will be removed from git.

atari - toolchains are badly in need of a refresh. will be removed if noone wants to maintain it.