forked from lightpanda-io/browser
-
Notifications
You must be signed in to change notification settings - Fork 0
[pull] main from lightpanda-io:main #29
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
Open
pull
wants to merge
758
commits into
TheRakeshPurohit:main
Choose a base branch
from
lightpanda-io:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Fix insecure_disable_tls_host_verification in serve more
Upgrade to Zig 0.14.1
ci: use GLACIER IR class storage for release
ci: execute cdp bench on main only
Simple window.top implementation (not frame-aware)
Outputs in logfmt in release and a "pretty" print in debug mode. The format along with the log level will become arguments to the binary at some point in the future.
Replace std.log with a structured logger
Co-authored-by: Karl Seguin <[email protected]>
Replace SessionState directly with the Page.
cookies: accept localhost domain
Instead of taking a callback function, addEventListener can take an object that exposes a `handleEvent` function. When used this way, `this` is automatically bound. I don't think the current behavior is correct when `handleEvent` is defined as a property (getter), but I couldn't figure out how to make it work the way WPT expects, and it hopefully isn't a common usage pattern. Also added option support to removeEventListener.
This is a hint to the brower that the listener won't call preventDefault. In theory, we should enforce this. But in practice, ignoring it should be ok.
Removes some duplication between xhr/event_target and dom/event_target. Implement 'once' option of addEventListener.
AddEventListener object listener
add Screen and ScreenOrientation
Minimal CSSStyleSheet
Adds a dummy PerformanceObserver. Only the supportedEntryTypes static attribute is supported, and it currently returns an empty array. This hopefully prevents code from trying to use it. For example, before using it, reddit checks if specific types are supported and, if not, doesn't use it. This introduced complexity in the js runtime. Our current approach to attributes only works with primitive types. Non-primitive types can't be attached to a FunctionTemplate (v8 will crash saying only primitive types can be set). Plus, all non primitive types require a context to create anyways. We now detect "primitive" attributes and "complex" attributes. Primitive attributes are setup as before. Complex attributes are setup per-context, requiring another loop through our types to detect & setup on each context creation.
Add dummy PerformanceObserver
When V8 calls the ResolveModuleCallback that we give it, it passes the specifier which is essentially the string given to `from`: ``` import {x} from './blah.js'; ``` We were taking that specifier and giving it to the page. The page knew the currently executing script, an thus could resolve the full URL. Given the full URL, it could either return the JS content from its module cache or fetch the source. At best though, this isn't efficient. If two files import the same module, yes we cache the src, but we still ask v8 to re-compile it. At worse, it crashes due to resource exhaustion in the case of cyclical dependencies. ResolveModuleCallback should instead detect that it has already loaded the module and return the previously loaded module. Essentially, we shouldn't be caching the JavaScript source, we should be caching the v8 module. However, in order to do this, we need more than the specifier, which might only be a relative path (and thus isn't unique). So, in addition to a module cache, we now also maintain an module identifier lookup. Given a module, we can get its full path. Thankfully ResolveModuleCallback gives us the referring module, so we can look up that modules URL, stitch it to the specifier, and get the full url (the unique identifier) within the JS runtime. Need more real world testing, and a fully working example before I celebrate, but for sites with many import, this appears to improve performance by many orders of magnitude.
add HTML Template's content attribute
Fix module loading
update dockerfile to multi-arch
Currently, a timeout that sets a timeout can cause loop.run to block forever. Also, cleanup URL stitch with leading './'. The resulting URL was valid, but since we use the URL as the module cache key, it's important to resolve various representations of the same URL in the same way.
In #798 module caching was added. This was necessary as the same module loaded multiple time should result in the same v8 module instance. To make this work, modules became cached by their full URL. The full URL of one module was also used to determine the full URL of nested modules (full url + specifier). With inline scripts, the page URL was used as the full URL. While this is correct when resolving nested modules, it's incorrect for caching the module itself. Two inline modules on a page share the same URL, but they aren't the same and should be cached. To fix this, inline modules still inherit the page URL, in order to resolve the correct URL for nested modules, but are themselves never cached.
add ErrorEvent webapi
Fix module caching
…lash_stitch Don't allow timeouts to be registered when shutting down
http: send an Accept: */* header
add PerformanceEntry and PerformanceMark
add AbstractRange and Range
add CSS utility interface
Return Random Array from crypto.GetRandomValues
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.1)
Can you help keep this open source service alive? 💖 Please sponsor : )