Commit graph

10422 commits

Author SHA1 Message Date
Nico Weber
7675812efd build-root-filesystem: Explicitly add +rX for group and others to copied files.
This lets Serenity boot even when the repository is cloned with a
umask of 027.
2020-06-05 09:30:42 +02:00
Nico Weber
309a91847f build-root-filesystem: Move "cp -R" block up.
I want to add a "chmod -R" right after the cp command.
This needs to happen before all the other chmods, to not
undo their effect.
2020-06-05 09:30:42 +02:00
Nico Weber
8630ef6df6 WindowServer: Make perror() strings slightly more detailed.
If one fails, it's now easier to see which one it is.
2020-06-05 09:29:19 +02:00
Nico Weber
1539a976c8 run.sh: Pass -drive instead of -hda to qemu.
run.sh currently makes qemu print this as the very first output:

WARNING: Image format was not specified for '_disk_image' and probing guessed raw.
         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
         Specify the 'raw' format explicitly to remove the restrictions.

This is scary for people who don't know that this is normal, and
write operations to block 0 being restricted could be confusing
for some operations happening from within serenity too at some point.

So specify the 'raw' format explicitly, like the warning suggests.
Requires using -drive instead of -hda.

From `man qemu-system`:

    Instead of -hda, -hdb, -hdc, -hdd, you can use:
        qemu-system-x86_64 -drive file=file,index=0,media=disk

So use that, and also pass format=raw.
2020-06-05 09:29:02 +02:00
Andreas Kling
d127492f0e TextEditor: Allow "TextEditor foo.txt" to create a new file
Attempting to open a non-existent file from the command line should not
fail, it should just open a new text document with that name. Note that
the file is not created until you actually save it.
2020-06-04 22:15:10 +02:00
Andreas Kling
b59f4632d5 LibWeb: Unbreak character reference and DOCTYPE parsing post-UTF-8
Oops, these were still using the byte-offset cursor. My goodness is it
unergonomic to index into UTF-8 strings, but Dr. Bugaev says it's good.

There is lots of room for improvement here. Just like the rest of the
tokenizer and parser. We'll have to do a few optimization passes over
them once they mature.
2020-06-04 22:09:36 +02:00
Andreas Kling
b6288163f1 LibWeb: Make the new HTML parser parse input as UTF-8
We already convert the input to UTF-8 before starting the tokenizer,
so all this patch had to do was switch the tokenizer to use an Utf8View
for its input (and to emit 32-bit codepoints.)
2020-06-04 21:12:17 +02:00
Andreas Kling
23dad305e9 AK: Allow default-constructing Utf8View and Utf8CodepointIterator 2020-06-04 21:12:17 +02:00
Andreas Kling
d4bbc00901 AK: Add StringBuilder::append_codepoint(u32)
Also, implement append(Utf32View) using it.
2020-06-04 21:12:17 +02:00
Tom
0bc92c259d Kernel: Detect APs and boot them into protected mode
This isn't fully working, the APs pretend like they're
fully initialized and are just halted permanently for now.
2020-06-04 18:15:23 +02:00
Tom
93b9832fac AK: Add atomic free functions
This allows for using atomic operations on any variables,
not only those wrapped in AK::Atomic<T>
2020-06-04 18:15:23 +02:00
Tom
841364b609 Kernel: Add mechanism to identity map the lowest 2MB 2020-06-04 18:15:23 +02:00
Andreas Kling
19190267a6 LibWeb: Fix incorrectly consumed characters after reference tokens
The NumericCharacterReferenceEnd tokenizer state should not advance
the input stream.
2020-06-04 16:49:21 +02:00
Andreas Kling
959de19418 LibWeb: Process style sheets in document order
Until now we would simply apply stylesheets in the order they finished
loading. This patch adds a StyleSheetList object that hangs off of each
Document and contains all the style sheets in document order.

There's still a lot of work to do for a proper cascade, but at least
this makes us consistently wrong every time. :^)
2020-06-04 16:06:32 +02:00
Andreas Kling
ec1891837f LibWeb: Fix <body> and <img> elements not parsing their class attribute
Subclasses that override Element::parse_attribute() must always call to
base class since otherwise we might forget to parse some attributes.

This makes class selectors work on <body> and <img> elements. :^)
2020-06-04 16:04:52 +02:00
Andreas Kling
5be613c9c8 LibGUI: Fix bad KeyEvent::m_key initializer to unbreak SDL2 port 2020-06-04 16:02:40 +02:00
AnotherTest
b67acf9c88 LibTLS: Simplify record padding logic and ASSERT more assumptions 2020-06-04 15:58:04 +02:00
AnotherTest
63cc2f58ea LibCrypto: Correctly pad blocks with FinalBlockSize < size < BlockSize
This fixes #2488
2020-06-04 15:58:04 +02:00
AnotherTest
a3f51089d2 test-crypto: Add a test for #2488 2020-06-04 15:58:04 +02:00
Linus Groh
c883bab62a LibM: Add exp2() and exp2f() 2020-06-04 15:45:11 +02:00
Linus Groh
ead76377b0 LibM: Add INFINITY macro 2020-06-04 15:45:11 +02:00
Linus Groh
8a94813007 LibM: Add NAN macro 2020-06-04 15:45:11 +02:00
Hüseyin ASLITÜRK
d315281d56 PixelPaint: Use new app-pixel-paint.png for app icon 2020-06-04 12:34:31 +02:00
Hüseyin ASLITÜRK
9e829a198c Base: Use new app-pixel-paint.png for app icon in system menu 2020-06-04 12:34:31 +02:00
Hüseyin ASLITÜRK
f32e971d8b Base: Rename app-paintbrush.png to app-pixel-paint.png 2020-06-04 12:34:31 +02:00
Andreas Kling
ca33bc7895 LibWeb: Fix tokenization of attributes with empty attributes
We were neglecting to emit start tags for tags where the last attribute
had no value.

Also fix a parse error TODO that I hit while looking at this.
2020-06-04 12:00:09 +02:00
Kyle McLean
b9549078cc LibWeb: Handle "html" end tag during "in body" 2020-06-04 09:09:33 +02:00
Kyle McLean
a3bf3a5d68 LibWeb: Handle "xmp" start tag during "in body" 2020-06-04 09:09:33 +02:00
Kyle McLean
c70bd0ba58 LibWeb: Handle "nobr" start tag during "in body" 2020-06-04 09:09:33 +02:00
Kyle McLean
22521e57fd LibWeb: Handle "form" end tag during "in body" if stack of open elements does not contain "template" 2020-06-04 09:09:33 +02:00
Kyle McLean
4edd0643a6 LibWeb: Handle NULL character during "in body" 2020-06-04 09:09:33 +02:00
Kyle McLean
5e3972a946 LibWeb: Parse "body" end tags during "in body" 2020-06-04 09:09:33 +02:00
Kyle McLean
1ad81e4833 LibWeb: Parse "br" end tags during "in body" 2020-06-04 09:09:33 +02:00
Kyle McLean
9fca4b56d3 LibWeb: Parse end tags for "applet", "marquee", and "object" during "in body" 2020-06-04 09:09:33 +02:00
Matthew Olsson
5046f15824 LibJS: Fix Parser.parse_template_literal looping forever
parse_template_literal now breaks out of the loop if it sees something
it doesn't expect. Additionally, it now checks for EOFs.
2020-06-04 08:22:27 +02:00
Andreas Kling
a586a84450 LibC: Make sure that ioctl() requests are #defined as macros
This fixes terminal UI resizing in the vim port. The problem was that
vim had "#ifdef TIOCGWINSZ" around the code that figures out the size
of the terminal.

Since all of our ioctl() requests were enum values, this code was not
compiled into vim at all. This patch fixes that. :^)
2020-06-03 22:56:46 +02:00
Andreas Kling
3c2fbc825c LibWeb: Call children_changed() on text nodes when flushing characters
Now that we flush characters in a single place, we can call the Text's
children_changed() from there instead of having a goofy targeted hack
for <style> elements. :^)
2020-06-03 22:13:29 +02:00
Andreas Kling
21957745f7 LibWeb: Special-case initialization of HTML::AttributeNames::class_
Just do it after all the others instead of trying to be clever.
2020-06-03 22:06:52 +02:00
Andreas Kling
6c09420571 KeyboardMapper: Add missing #pragma once 2020-06-03 22:06:08 +02:00
Andreas Kling
c40de9275a LibWeb: Buffer text node character insertions in the new parser
Instead of appending character-at-a-time, we now buffer character
insertions in a StringBuilder, and flush them to the relevant node
whenever we start inserting into a new node (and when parsing ends.)
2020-06-03 21:53:08 +02:00
Andreas Kling
2149820260 LibWeb: Use HTML::AttributeNames::foo instead of FlyString("foo")
To avoid the costly instantiation of FlyStrings whenever we're looking
up attributes, use the premade HTML::AttributeNames globals. :^)
2020-06-03 21:53:00 +02:00
Hüseyin ASLITÜRK
ff55d00261 Base: Fix incorrect json value for escape character 2020-06-03 21:52:40 +02:00
Hüseyin ASLITÜRK
d3578fdf9b Applications: Add new KeyboardMapper application
New editing app for keymap files.
2020-06-03 21:52:40 +02:00
Hüseyin ASLITÜRK
92d03931d6 Userland: keymap, use LibKeyboard to read keymap files 2020-06-03 21:52:40 +02:00
Hüseyin ASLITÜRK
3bf5602521 LibKeyboard: Add new library for keyboard applications
Move shared code base from keymap and KeyboardMapper to this library.
2020-06-03 21:52:40 +02:00
Hüseyin ASLITÜRK
9ec6ac31b8 WindowsServer: Add scancode value to KeyEvent 2020-06-03 21:52:40 +02:00
Hüseyin ASLITÜRK
c6f1962919 LibGUI: Add scancode value to KeyEvent 2020-06-03 21:52:40 +02:00
Hüseyin ASLITÜRK
46b92fa173 Kernel: Add scancode value to KeyEvent 2020-06-03 21:52:40 +02:00
Hüseyin ASLITÜRK
ed20800320 Base: New icon for KeyboardMapper application 2020-06-03 21:52:40 +02:00
Hüseyin ASLITÜRK
eead3878a1 LibGUI: Add save action to CommonActions list 2020-06-03 21:52:40 +02:00