Andreas Kling
d058addd74
LibWeb: Handle "dd" and "dt" end tags during "in body"
2020-05-30 23:00:35 +02:00
Andreas Kling
1a15ca2de4
Browser: Show download progress in the taskbar if available
2020-05-30 23:00:35 +02:00
Andreas Kling
853d900ee8
pro: Show download progress in the terminal window if available :^)
2020-05-30 23:00:35 +02:00
Andreas Kling
29ab518003
LibJS: Show run-tests progress in the taskbar
...
Use the window progress escape sequence to indicate how far along in
the test collection we are while running tests. :^)
2020-05-30 23:00:35 +02:00
Andreas Kling
165f69023b
LibVT: Allow updating the window progress via an escape sequence
...
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-30 23:00:35 +02:00
Andreas Kling
e263dc8427
Taskbar: Show window progress as a progress bar behind the window title
...
If a window in the taskbar has progress, we'll now draw that progress
in the form of a progress bar behind the window title on the taskbar
button for the window.
2020-05-30 23:00:35 +02:00
Andreas Kling
1d6ec51bee
WindowServer+LibGUI: Add per-window progress
...
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-30 23:00:35 +02:00
Sergey Bugaev
8449f0a15b
LibIPC: Fix server crashes on client disconnects
...
The server should always survive client communication errors.
2020-05-30 22:31:08 +02:00
AnotherTest
4aa3d08e21
Userland/js: Prompt for more input on labels and object keys
...
Closes #2452
2020-05-30 20:35:48 +02:00
Andreas Kling
ca6fbefbc9
LibWeb: Support parsing "select" elements (outside of tables)
2020-05-30 19:58:52 +02:00
Andreas Kling
60352c7b9b
LibWeb: Hack the parser to dodge <template> elements in <head> for now
2020-05-30 19:23:04 +02:00
Andreas Kling
1212485348
LibWeb: Fix typo in StackOfOpenElements::topmost_special_node_below()
...
Backwards iteration works better if we actually go backwards! :^)
2020-05-30 18:49:48 +02:00
Andreas Kling
ca23db10ef
LibWeb: Don't crash when encountering <svg> or <math> elements
...
Just treat them like unknown elements for now. :^)
2020-05-30 18:46:39 +02:00
Andreas Kling
756829555a
LibWeb: Parse "textarea" tags during the "in body" insertion mode
...
Had to handle some more cases in the tokenizer to support this.
2020-05-30 18:40:23 +02:00
Andreas Kling
f4778d1ba0
LibWeb: Add missing special tag case in the "in body" insertion mode
2020-05-30 18:26:44 +02:00
Andreas Kling
e5ec05bd3a
LibWeb: Correctly determine whether a block has only inline children
...
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-30 18:26:44 +02:00
Andreas Kling
5818ef2c80
LibWeb: Implement more table-related insertion modes
2020-05-30 18:26:44 +02:00
AnotherTest
d54d2892a9
LibTLS: Avoid busy-wait between ClientHello and ServerHello
...
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-30 18:26:13 +02:00
Sergey Bugaev
e5e8e8ab96
Base: Add Faux Pas and Silver themes
2020-05-30 17:51:24 +02:00
Andreas Kling
8c96b8174b
LibWeb: Handle AAA situation where there's no formatting element found
...
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-30 17:47:50 +02:00
Andreas Kling
c9dd459822
LibWeb: Implement some more RAWTEXT stuff in the tokenizer
2020-05-30 17:47:50 +02:00
Andreas Kling
d0eb35e5c3
LibGfx: Use a bit of constexpr in Color
...
This avoids a bunch of strlen()'s when we're parsing web colors.
2020-05-30 17:47:50 +02:00
Andreas Kling
4e80f22cc0
AK: Make some StringView constructors constexpr
2020-05-30 17:47:50 +02:00
TheDumpap
d92c9d3772
LibWeb: Implement more of the tokenizer states
...
Slowly adding more unimplemented options for tokenizer states.
2020-05-30 17:47:50 +02:00
Sergey Bugaev
c742306b6f
Userland: Port nc(1) to use Core::ArgsParser
2020-05-30 15:01:18 +02:00
Sergey Bugaev
e12388c349
Userland: Treat all text/* MIME types as text when pasting
...
It's a bit weird to get a newline after plain text but not after, say, a URL
list.
2020-05-30 15:01:18 +02:00
Sergey Bugaev
66c6e0035e
LibVT: Fix emitting \0 when pressing a modifier key
...
This causes the kernel to return EOF, which in turn confuses everything. This is
a regression from the LibVT port of VirtualConsole.
2020-05-30 15:01:18 +02:00
Sergey Bugaev
52711921c6
Base: Document getopt
2020-05-30 15:01:18 +02:00
Sergey Bugaev
b4ca45b5ec
LibCore: Update Core::ArgsParser to the new error message format
2020-05-30 15:01:18 +02:00
Sergey Bugaev
2930fbcfcf
LibC: Rewrite getopt()
...
Fixes https://github.com/SerenityOS/serenity/issues/91
2020-05-30 15:01:18 +02:00
Andreas Kling
f662b1ea37
LibWeb: Implement enough parsing to parse the HTML spec front page :^)
...
We can now actually open http://html.spec.whatwg.org/ in Browser.
2020-05-30 13:07:47 +02:00
Andreas Kling
7f22e2a3c4
LibWeb: Use the globals from HTML::AttributeNames in style resolution
...
Using these avoids the FlyString lookups, so we should basically always
prefer them over string literal attribute names.
2020-05-30 13:06:26 +02:00
Andreas Kling
770372ad02
LibWeb: Handle end-of-file token during "in body" insertion mode
2020-05-30 12:40:12 +02:00
Andreas Kling
5833359065
LibWeb: Add default UA style for <hgroup> element
2020-05-30 12:39:51 +02:00
Andreas Kling
368044eabd
LibWeb: Flesh out the "in head" insertion mode and add missing cases
2020-05-30 12:28:12 +02:00
Andreas Kling
e82226f3fb
LibWeb: Handle two kinds of deferred script executions
...
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-30 12:26:15 +02:00
Andreas Kling
6f85422e8a
Base: Add HTML spec (multipage) to the default Browser bookmarks :^)
2020-05-30 12:25:37 +02:00
Andreas Kling
0d5be35c1f
LibWeb: Don't render list item markers for "list-style-type: none"
2020-05-30 12:04:15 +02:00
Andreas Kling
e1e9fb8290
LibWeb: Turn <input type=button> into an actual button :^)
2020-05-30 11:59:10 +02:00
Andreas Kling
3c6801c3a5
LibWeb: Naive support for CSS "background" shorthand
...
Many sites simply use "background" as an alias for "background-color"
so let's at least support that.
2020-05-30 11:58:05 +02:00
Andreas Kling
62885b5646
LibWeb: Fix accidental swallow of self-closing tag tokens
...
Instead of dropping self-closing tags on the floor, we now emit them
into the token stream. :^)
2020-05-30 11:31:49 +02:00
Andreas Kling
fbd52047bb
LibWeb: Parse "form" tags during the "in body" insertion mode
2020-05-30 11:31:49 +02:00
Andreas Kling
851a0f983a
LibWeb: Tokenizing a semicolon-less HTML entity is (just a) parse error
...
No need to blow chunks over this.
2020-05-30 11:31:49 +02:00
Andreas Kling
b9d5d45eff
LibWeb: Handle an error condition for "a" start tag during "in body"
...
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-30 11:31:49 +02:00
Andreas Kling
c8e0426ab9
LibWeb: Parser should prefer the longest matchable HTML entity
...
If we can match both "©" and "©" we should prefer the latter.
Also remove invalid FIXME's about case insensitive entities.
2020-05-30 11:31:49 +02:00
Andreas Kling
1ef5d609d9
AK+LibC: Add TODO() as an alternative to ASSERT_NOT_REACHED()
...
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.
2020-05-30 11:31:49 +02:00
Andreas Kling
cfbd95f42a
LibWeb: Turn a bunch of ASSERT_NOT_REACHED() in the parser into TODO()
2020-05-30 11:31:49 +02:00
Andreas Kling
6854f726ce
LibWeb: Improve support for "a" and "li" during "in body" insertion
...
We can now parse welcome.html once again, without resorting to hacks
or fallbacks during "in body" :^)
2020-05-30 11:31:49 +02:00
Andreas Kling
30d64fccde
LibWeb: Parse "li" start tags in the "in body" insertion mode
2020-05-30 11:31:49 +02:00
Andreas Kling
643464c455
AK: Make {String,FlyString}::is_one_of() const
...
Also, make the zero-argument variant private since it's not meant to be
called by clients directly.
2020-05-30 11:31:49 +02:00