Age | Commit message (Collapse) | Author |
|
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)
```
|
|
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. :^)
|
|
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.
|
|
Real web content has *tons* of tokenizer errors and we don't need to
complain every time as that makes the debug log unbearable.
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
We cannot look at i+1'th character until we verify it's there.
|
|
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.
|
|
|
|
Some of this is extremely repetitive. We'll need to rethink how we
do queue/emit to improve this.
|
|
|
|
Use the window progress escape sequence to indicate how far along in
the test collection we are while running tests. :^)
|
|
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! :^)
|
|
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"
|
|
The server should always survive client communication errors.
|
|
|
|
|
|
Backwards iteration works better if we actually go backwards! :^)
|
|
Just treat them like unknown elements for now. :^)
|
|
Had to handle some more cases in the tokenizer to support this.
|
|
|
|
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.
|
|
|
|
This commit also adds a timeout timer to cancel the connection if the
server does not respond to the hello request in 10 seconds.
|
|
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.
|
|
|
|
This avoids a bunch of strlen()'s when we're parsing web colors.
|
|
Slowly adding more unimplemented options for tokenizer states.
|
|
This causes the kernel to return EOF, which in turn confuses everything. This is
a regression from the LibVT port of VirtualConsole.
|
|
|
|
Fixes https://github.com/SerenityOS/serenity/issues/91
|
|
We can now actually open http://html.spec.whatwg.org/ in Browser.
|
|
Using these avoids the FlyString lookups, so we should basically always
prefer them over string literal attribute names.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
Many sites simply use "background" as an alias for "background-color"
so let's at least support that.
|
|
Instead of dropping self-closing tags on the floor, we now emit them
into the token stream. :^)
|
|
|
|
No need to blow chunks over this.
|
|
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.
|
|
If we can match both "©" and "©" we should prefer the latter.
Also remove invalid FIXME's about case insensitive entities.
|
|
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.
|