diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2018-11-03 10:26:55 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2018-11-03 10:26:55 +0000 |
commit | 642822cf396c3dca7f165ed1bd37572627de4a83 (patch) | |
tree | c1a02f56a4f09fefface203bbff25fa77deeb554 /developer-weekend | |
parent | e2cf96804b51f8d306cfb76d4c7d88d75c0d7d58 (diff) | |
download | netsurf-wiki-642822cf396c3dca7f165ed1bd37572627de4a83.tar.gz netsurf-wiki-642822cf396c3dca7f165ed1bd37572627de4a83.tar.bz2 |
Nov 2018 dev weekend: Corewindow / browser window plans.
Diffstat (limited to 'developer-weekend')
-rw-r--r-- | developer-weekend/nov-2018.mdwn | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/developer-weekend/nov-2018.mdwn b/developer-weekend/nov-2018.mdwn index ebb0250..2cda3a2 100644 --- a/developer-weekend/nov-2018.mdwn +++ b/developer-weekend/nov-2018.mdwn @@ -22,7 +22,7 @@ Topics * Make monkey actually run functional tests * Discuss ick CI system -* corewindow for browser window chnage requirements +* corewindow for browser window change requirements * javascript console logging * gtk download window @@ -61,6 +61,36 @@ kinnison described five things that needed to be done: * test plan language/definitions * events from the core browser window to frontends + +### Corewindow for browser window change requirements + +Everything except browser window has been moved over to corewindow. + +The API is OK, but a little cumbersome to use, but it needs to flexible enough +for lots of use cases. + +The main outstanding feature is that the browser window needs the front end +to handle scaling at render time. This isn't supported by core window. + +The reason for this is mostly due to HTML layout engine currently doing +scale by resizing viewport available width according to scale, reflowing, +and redrawing with the scale applied. This was an optimisation to avoid +needing to redo layout (measuring text) on scale changes. But it doesn't +really work except on the RISC OS font manager, where text size scales +linearly with pt size. + +Plan: + +1. Sink scale into browser window, so gui_windows can only set and get scale. +2. Restructure front ends to have correct separation of gui, browser and core + window. +3. Move browser windows over to core window. + +So front ends will only know about scale for e.g. saying scale in the title +bar. All the complexity will move to browser_window. (For now; we should +be able to improve matters with the new layout engine.) + + Activity ======== |