summaryrefslogtreecommitdiff
path: root/Libraries
AgeCommit message (Collapse)Author
2020-06-01LibLine: Handle interrupts againAnotherTest
This commit makes LibLine handle interrupts (as reported via interrupted() and resized()) again. There is a little catch with the shell: ``` $ ls | pipe> <C-c> (prompt stays here until a key is pressed) ```
2020-06-01LibWeb+Browser: Use the new HTML parser by defaultAndreas Kling
You can still run the old parser with "br -O", but the new one is good enough to be the default parser now. We'll fix issues as we go and eventually remove the old one completely. :^)
2020-06-01LibGUI: Tweak AboutDialog a bit, remove big Buggie from system variantAndreas Kling
One Buggie is enough, it looks a lot less confused without the big one. Also make the dialog a bit shorter since there was a lot of dead space.
2020-06-01LibWeb: Put whining about tokenizer errors behind an #ifdefAndreas Kling
Real web content has *tons* of tokenizer errors and we don't need to complain every time as that makes the debug log unbearable.
2020-06-01LibWeb: More parser cases in the "in body" and "after after body" modesAndreas Kling
2020-06-01LibWeb: Handle more cases in the SelfClosingStartTag tokenizer stateAndreas Kling
2020-06-01LibWeb: Implement more of the "after head" insertion modeAndreas Kling
2020-06-01LibJS: Replace some parser assertions by syntax errorsSergey Bugaev
When parsing JavaScript, we can get pretty much any sequnce of tokens, and we shouldn't crash if it's not something that we normally expect. Instead, emit syntax errors.
2020-06-01LibJS: Fix undefined behavior in HeapBlockSergey Bugaev
In C++, it's invalid to cast a block of memory to a complex type without invoking its constructor. It's even more invalid to simply cast a pointer to a block of memory to a pointer to *an abstract type*. To fix this, make sure FreelistEntry is a concrete type, and call its constructor whenever appropriate.
2020-06-01LibJS: Fix casting a value to ScriptFunction without checking it's oneSergey Bugaev
2020-06-01LibJS: Fix out-of-bounds read when parsing escape sequencesSergey Bugaev
We cannot look at i+1'th character until we verify it's there.
2020-06-01LibJS: Rewrite Parser.parse_object_expression()Matthew Olsson
This rewrite drastically increases the accuracy of object literals. Additionally, an "assertIsSyntaxError" function has been added to test-common.js to assist in testing syntax errors.
2020-05-31LibJS: Add String.fromCharCode()Linus Groh
2020-05-30LibWeb: Implement more of the ScriptDataEndTagName tokenizer stateAndreas Kling
Some of this is extremely repetitive. We'll need to rethink how we do queue/emit to improve this.
2020-05-30LibWeb: Handle "dd" and "dt" end tags during "in body"Andreas Kling
2020-05-30LibJS: Show run-tests progress in the taskbarAndreas Kling
Use the window progress escape sequence to indicate how far along in the test collection we are while running tests. :^)
2020-05-30LibVT: Allow updating the window progress via an escape sequenceAndreas Kling
You can now request an update of the terminal's window progress by sending this escape sequence: <esc>]9;<value>;<max_value>;<escape><backslash> I'm sure we can find many interesting uses for this! :^)
2020-05-30WindowServer+LibGUI: Add per-window progressAndreas Kling
Each window now has an associated progress integer that can be updated via the SetWindowProgress IPC call. This can be used by clients to indicate the progress of ongoing tasks. Any number in the range 0 through 100 indicate a progress percentage. Any other number means "no progress"
2020-05-30LibIPC: Fix server crashes on client disconnectsSergey Bugaev
The server should always survive client communication errors.
2020-05-30LibWeb: Support parsing "select" elements (outside of tables)Andreas Kling
2020-05-30LibWeb: Hack the parser to dodge <template> elements in <head> for nowAndreas Kling
2020-05-30LibWeb: Fix typo in StackOfOpenElements::topmost_special_node_below()Andreas Kling
Backwards iteration works better if we actually go backwards! :^)
2020-05-30LibWeb: Don't crash when encountering <svg> or <math> elementsAndreas Kling
Just treat them like unknown elements for now. :^)
2020-05-30LibWeb: Parse "textarea" tags during the "in body" insertion modeAndreas Kling
Had to handle some more cases in the tokenizer to support this.
2020-05-30LibWeb: Add missing special tag case in the "in body" insertion modeAndreas Kling
2020-05-30LibWeb: Correctly determine whether a block has only inline childrenAndreas Kling
There's more to life than inline-vs-block, so we have to take all the non-block non-inline display types into account when computing whether a block should say children_are_inline() == true.
2020-05-30LibWeb: Implement more table-related insertion modesAndreas Kling
2020-05-30LibTLS: Avoid busy-wait between ClientHello and ServerHelloAnotherTest
This commit also adds a timeout timer to cancel the connection if the server does not respond to the hello request in 10 seconds.
2020-05-30LibWeb: Handle AAA situation where there's no formatting element foundAndreas Kling
In this case, we're supposed to return from the AAA and then jump to a different behavior in the "in body" insertion mode. So now we do that.
2020-05-30LibWeb: Implement some more RAWTEXT stuff in the tokenizerAndreas Kling
2020-05-30LibGfx: Use a bit of constexpr in ColorAndreas Kling
This avoids a bunch of strlen()'s when we're parsing web colors.
2020-05-30LibWeb: Implement more of the tokenizer statesTheDumpap
Slowly adding more unimplemented options for tokenizer states.
2020-05-30LibVT: Fix emitting \0 when pressing a modifier keySergey Bugaev
This causes the kernel to return EOF, which in turn confuses everything. This is a regression from the LibVT port of VirtualConsole.
2020-05-30LibCore: Update Core::ArgsParser to the new error message formatSergey Bugaev
2020-05-30LibC: Rewrite getopt()Sergey Bugaev
Fixes https://github.com/SerenityOS/serenity/issues/91
2020-05-30LibWeb: Implement enough parsing to parse the HTML spec front page :^)Andreas Kling
We can now actually open http://html.spec.whatwg.org/ in Browser.
2020-05-30LibWeb: Use the globals from HTML::AttributeNames in style resolutionAndreas Kling
Using these avoids the FlyString lookups, so we should basically always prefer them over string literal attribute names.
2020-05-30LibWeb: Handle end-of-file token during "in body" insertion modeAndreas Kling
2020-05-30LibWeb: Add default UA style for <hgroup> elementAndreas Kling
2020-05-30LibWeb: Flesh out the "in head" insertion mode and add missing casesAndreas Kling
2020-05-30LibWeb: Handle two kinds of deferred script executionsAndreas Kling
This patch adds two script lists to Document: - Scripts to execute when parsing has finished - Scripts to execute as soon as possible Since we don't actually load scripts asynchronously yet (we just do a synchronous load when parsing the <script> element for simplicity), these are already loaded by the time we get to "The end" of parsing.
2020-05-30LibWeb: Don't render list item markers for "list-style-type: none"Andreas Kling
2020-05-30LibWeb: Turn <input type=button> into an actual button :^)Andreas Kling
2020-05-30LibWeb: Naive support for CSS "background" shorthandAndreas Kling
Many sites simply use "background" as an alias for "background-color" so let's at least support that.
2020-05-30LibWeb: Fix accidental swallow of self-closing tag tokensAndreas Kling
Instead of dropping self-closing tags on the floor, we now emit them into the token stream. :^)
2020-05-30LibWeb: Parse "form" tags during the "in body" insertion modeAndreas Kling
2020-05-30LibWeb: Tokenizing a semicolon-less HTML entity is (just a) parse errorAndreas Kling
No need to blow chunks over this.
2020-05-30LibWeb: Handle an error condition for "a" start tag during "in body"Andreas Kling
If we have an <a> element on the list of active formatting elements when hitting another "a" start tag, that's a parse error. Recover by using the AAA.
2020-05-30LibWeb: Parser should prefer the longest matchable HTML entityAndreas Kling
If we can match both "&copy" and "&copy;" we should prefer the latter. Also remove invalid FIXME's about case insensitive entities.
2020-05-30AK+LibC: Add TODO() as an alternative to ASSERT_NOT_REACHED()Andreas Kling
I've been using this in the new HTML parser and it makes it much easier to understand the state of unfinished code branches. TODO() is for places where it's okay to end up but we need to implement something there. ASSERT_NOT_REACHED() is for places where it's not okay to end up, and something has gone wrong.