Commit graph

10115 commits

Author SHA1 Message Date
Sergey Bugaev
80f671e16c Lagom: Fix target name 2020-06-01 17:37:44 +02:00
Tom
b5f827d560 HPET: Fix accessing HPET registers
This resolves a bochs panic during bootup:

[Kernel]: HPET @ P0x07ff0fc0
00691951632p[HPET  ] >>PANIC<< Unsupported HPET read at address 0x0000fed00100

These changes however don't fully resolve #2162
2020-06-01 17:35:51 +02:00
Matthew Olsson
ab576e610c LibJS: Rewrite Parser.parse_object_expression()
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-06-01 13:11:21 +02:00
Sergey Bugaev
05b7fec517 Kernel: Tighten up some promise checks
Since we're not keeping compatibility with OpenBSD about what promises are
required for which syscalls, tighten things up so that they make more sense.
2020-05-31 21:38:50 +02:00
Sergey Bugaev
a77405665f Kernel: Fix overflow in Process::validate_{read,write}_typed()
Userspace could pass us a large count to overflow the check. I'm not enough of a
haxx0r to write an actual exploit though.
2020-05-31 21:38:50 +02:00
Sergey Bugaev
c3db694d9b AK: Always inline some Checked methods
Once again, we need to hint the compiler that it should inline the function, and
then it is able to eliminate the assertion.
2020-05-31 21:38:50 +02:00
FalseHonesty
75e42648e1 HackStudio: Allow changing variable values in debugger
This patch adds a context menu to variables in the debugger variable
tree view that has an option to set the value of a variable. An input
box will pop up asking for the new value of the variable, which
is then parsed and used to set the actual variable.
2020-05-31 10:52:25 +02:00
Andreas Kling
ab40cc60d1 Kernel: Fix glitched audio output in SB16 driver
We were not setting the DMA transfer mode correctly. I have absolutely
no clue how this could ever have worked, but it did work for months
until it suddenly didn't.

Anyways, this fixes that. The sound is still a little bit glitchy and
that could probably be fixed by using the SB16's auto-initialized mode.
2020-05-31 03:40:58 +02:00
Linus Groh
e33820b557 LibJS: Add String.fromCharCode() 2020-05-31 02:19:52 +02:00
AnotherTest
8c05e78b6c Shell: Treat ^D as builtin_exit when not in a continuation 2020-05-30 23:01:36 +02:00
Andreas Kling
f3b09ddd8e LibWeb: Implement more of the ScriptDataEndTagName tokenizer state
Some of this is extremely repetitive. We'll need to rethink how we
do queue/emit to improve this.
2020-05-30 23:00:35 +02:00
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