Changes between Initial Version and Version 1 of NetworkCleanupDiscussion2015


Ignore:
Timestamp:
Nov 11, 2015 10:39:50 PM (7 years ago)
Author:
Joseph Pecoraro
Comment:

Initial Load

Legend:

Unmodified
Added
Removed
Modified
  • NetworkCleanupDiscussion2015

    v1 v1  
     1== Network Loading Refactoring ==
     2
     3    - Intro
     4        - I (Alex) have been doing a lot of work in it recently - "Its horrible."
     5        - I think we made a mistake using ResourceHandle in WebKit2
     6        - NSURLConnection (Mac) is deprecated
     7        - NSURLSession is the replacement, converting to it now
     8            - fits much better
     9
     10    - Sessions on other ports?
     11        - GTK / EFL - Not sure.
     12        - Another port (Samsung Windows) uses the chromium networking stack.
     13        - webkit-dev thread about how to get this working with libsoup => talk to Carlos Garcia
     14
     15    - WebKit2, ResourceLoader proxies to the NetworkProcess
     16        - easy cleanup if we eliminate non-NetworkProcess path
     17        - some loads in WebProcess (ApplicationCache)
     18
     19== Issues ==
     20
     21    - Confusion
     22        - few people understand how the loaders work (FrameLoader, MainFrameLoader, DocLoader)
     23    - Careful when moving to Sessions
     24        - NSURLConnection hooks may be exposed to WebKit1 Mac APIs, fragile
     25    - Before refactoring, someone has to understand everything
     26        - fix one loader bug and introduce others
     27    - Update the loader diagram http://www.webkit.org/blog-files/loader-diagram.svg
     28        - lots of changes (DocLoader => CachedResourceLoaders)
     29        - main resource is cached now
     30        - ThreadableDocumentLoader => XHR / fetch / workers / background loading
     31        - other loaders (PingLoader)
     32
     33== Goals ==
     34
     35    - sandbox the web process from making any network requests
     36    - make NetworkProcess mandatory WebKit2
     37    - Memory Cache (Antii)
     38        - want to move work off of the Main Thread in WebProcess (when communicating with NetworkProcess)
     39        - want to improve cooperation between WebProcess and NetworkProcess caches (MemoryCache and NetworkCache)