Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GSoC 2019 Webkit2 work #4

Open
wants to merge 44 commits into
base: haiku
Choose a base branch
from
Open

GSoC 2019 Webkit2 work #4

wants to merge 44 commits into from

Commits on Jan 28, 2021

  1. Import Haiku sources

    Bulk import without cleanup. The goal is only to preserve the next
    commits in the GSoC 2019 webkit2 branch.
    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    2c1cc02 View commit details
    Browse the repository at this point in the history
  2. Import Haiku sources: new files

    Again, no cleanup is attempted. Just archiving the GSoC 2019 WebKit2
    work in the next commits
    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    defbe5d View commit details
    Browse the repository at this point in the history
  3. Fix build after merge.

    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    cc34ddc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6a05b63 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a9fdabd View commit details
    Browse the repository at this point in the history
  6. Add an OSAllocatorHaiku

    This lets us use our native APIs to reserve address space without
    allocating memory for it immediately. Gets HaikuLauncher down to about
    30MB of RAM used to display Google homepage, instead of 40MB before on
    32bit systems.
    
    Untested yet on 64bit but it should free about 1GB there.
    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    a0ddfc3 View commit details
    Browse the repository at this point in the history
  7. BSecureSocket: reimplement and make it work

    Replace our broken implementation by one done by waddlesplash based on
    the curl one:
    - Does not need to run two threads
    - Does not crash
    - Supports SSL
    
    There is one limitation: we don't have a way to wait for a socket to be
    either readable or writable. So get away with timeouts for now. I'll
    revisit that after I figure out a way to add a WaitForReadableOrWritable
    to BSocket and BSecureSocket (trying to not break the ABI while doing
    so).
    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    8e12da5 View commit details
    Browse the repository at this point in the history
  8. Fix management of include directories

    Thanks to the work done on updating to webkit2, we now have working
    "forwarding headers" generation. This means the public headers for
    WebCore are copied to a directory where WebKitLegacy and WebKit2 can
    easily locate them. This allows to cleanup a lot of the include path
    tricks we were playing to get things working before.
    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    37a0fb8 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    9d779ec View commit details
    Browse the repository at this point in the history
  10. Build fixes cherry picked from webkit2 branch

    This completes the cleanup of the forwarding headers setup. I had missed
    these the last time because I had not done a full clean build.
    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    3b12f65 View commit details
    Browse the repository at this point in the history
  11. Make ProcessID on Haiku an int32_t

    Add a static_assert to make sure pid_t fits there.
    Add conversion functions but I think they will not be needed (C integer
    promotion will do the magic)
    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    e228eaa View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    5bcd5fe View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    b791175 View commit details
    Browse the repository at this point in the history
  14. Initial implementation to load blank url and now trying to load html …

    …string Note:destructors not handled yet
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    1d019d6 View commit details
    Browse the repository at this point in the history
  15. Process launching done succesffuly

    For now have ignored the case of posting a message to main run loop.
    So it isn't doing much yet.
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    c350f03 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    e7375c8 View commit details
    Browse the repository at this point in the history
  17. ProcessLauncherHaiku: implement using BRoster::Launch

    Who wants to use fork/exec when we have much nicer native APIs?
    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    6382b8f View commit details
    Browse the repository at this point in the history
  18. Add resources to WebProcess

    We need a MIME signature so the roster can find it.
    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    d08ef16 View commit details
    Browse the repository at this point in the history
  19. IPC for haiku

    - Added a message handler to look out for incoming messages to runloop
    - Created new aux support so we can attach all handlers to the main apps looper
    - Added a message stashing feature so it stashes the messages and interprets them when the loop is ready to run
    - used maps to store loopers and BApplications to forward message to appropriate loopers
    - Created a message from ui process to network process that notifies the pid of webprocess
    - Added NetworkSession so it doesnt crash
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    b9b8bde View commit details
    Browse the repository at this point in the history
  20. Fix build of webkit2 after rebase

    - Add minimal support for ANGLE as build is broken when disabling it
    - Fix various minor things in Haiku specific files
    - A bit more cleanup of include files and forwarding headers management
    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    9e71993 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    82456bb View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    2c2632e View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    b00af9c View commit details
    Browse the repository at this point in the history
  24. Partial implementation of mouse events

    1)This makes few important changes in adding the view
    2)Partial mouse events which is kept aside now as main focus is put on webpage rendering
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    a59bed5 View commit details
    Browse the repository at this point in the history
  25. Widget and shared memory

    1) Few callbacks for finished loading and forward and backward stop etc is now fully functional
    2) status text is partially done
    3)shared memory done with mapping part pending(i need to understand a little bit more)
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    10fbda8 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    8f702a3 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    0c8a449 View commit details
    Browse the repository at this point in the history
  28. Finish fixing the build.

    Fix various include path, do not include ANGLE headers when not needed.
    Some headers are added to the forwarding headers that probably shouldn't
    need to be there (date time chooser stuff, and not sure about image and
    image buffer). But it gets things working at least and it's more clean
    than what we had before.
    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    adf525b View commit details
    Browse the repository at this point in the history
  29. Clenaup commits

    1) removed unwanted comments
    2) removed unwanted methods
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    3ba1998 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    2932abe View commit details
    Browse the repository at this point in the history
  31. Fixed Few Network Process elements and State changers

    1) Loading, changing title and adding redirected url are added to minibrowser
    2) Get data and run on main thread - fixes network process run on main thread problem
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    4851b80 View commit details
    Browse the repository at this point in the history
  32. Redesign Minibrowser

    1) Put widgets in window thread
    2) webkit events on main thread
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    ba6e0cf View commit details
    Browse the repository at this point in the history
  33. Enabling Coordinated Graphics

    1) Enabled 3D Rendering
    2) Shareable Bitmap to get data and initialize a bitmap
    3) Added few drawing mechanisms to webview
    4) Backing store update
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    202fd7d View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    63374f2 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    826d07c View commit details
    Browse the repository at this point in the history
  36. Backing store: fix uninitialized pointer

    Use a NativeImagePtr so the constructor will automatically initialize
    it.
    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    f8bb7a5 View commit details
    Browse the repository at this point in the history
  37. Fix a memory leak

    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    034de83 View commit details
    Browse the repository at this point in the history
  38. Fix and re-enable WebKitLegacy

    We still need it for now and it's not that hard to keep it working.
    Link it with OpenGL and disable coordinated graphics as we don't need
    that for now.
    pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    139f794 View commit details
    Browse the repository at this point in the history
  39. Fixed Few Network Process elements and State changers

    1) Loading, changing title and adding redirected url are added to minibrowser
    2) Get data and run on main thread - fixes network process run on main thread problem
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    e34157b View commit details
    Browse the repository at this point in the history
  40. Sizing and optimization

    1) Removed that painful wait between network and webprocess connection
    
    2) Resizing a webpage ( very slow )
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    61f22dc View commit details
    Browse the repository at this point in the history
  41. Cleanup commit

    1) Cleanup all the unwanted debug messages
    
    2) More predictable rendering
    
    Next commit would focus on Indentation
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    784a736 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    7b37a14 View commit details
    Browse the repository at this point in the history
  43. Fixed indentation problems

    1) Inconsistent use of spaces and tabs
    
    I had to clean up this manually as i couldnt find a good extension
    So i will clean even more files if i come across them
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    2267042 View commit details
    Browse the repository at this point in the history
  44. Easy API

    1) Moved handhskaing as a part of internal WebView API
    
    2) Placed Invalidation right after backing store changes
    i think this is the best place to invalidate- now paints without having to switch workspaces
    RAJAGOPALAN-GANGADHARAN authored and pulkomandy committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    a0f5532 View commit details
    Browse the repository at this point in the history