Commit graph

612 commits

Author SHA1 Message Date
Sergey Bugaev fd985b1f48 Base: Document readlink(1) and readlink(2) :^) 2020-06-17 15:02:03 +02:00
Hüseyin ASLITÜRK 016fc9c133 Base: Add a new icon for zoom reset 2020-06-16 14:42:18 +02:00
Hüseyin ASLITÜRK cfaed04464 Base: Typo correction in trq.json 2020-06-16 13:15:17 +02:00
Paul Roukema eb11ab2480 Base: Add some interlaced PNGs to the local copies of the pngsuite tests 2020-06-13 19:47:43 +02:00
Hüseyin ASLITÜRK 8733da652e Base: Add numpad keys to keymap files 2020-06-13 12:36:30 +02:00
Andreas Kling c91981eba8 LibWeb: Handle negative values when collapsing vertical margins
In the presence of negative margins, we subtract the largest negative
margin from max(0, largest positive margin).
2020-06-12 18:47:18 +02:00
Andreas Kling 21b1f1653d LibWeb: Implement very basic margin collapsing
We now collapse a block's top margin with the previous sibling's
bottom margin so that the larger margin wins.
2020-06-12 18:47:18 +02:00
Andreas Kling 260427f0ad LibWeb: Some improvements to absolute positioning
Absolutely positioned blocks now register themselves with their
containing block (and note that the containing block of an absolutely
positioned box is the nearest non-statically positioned block ancestor
or the ICB as fallback.)

Containing blocks then drive the layout of their tracked absolutely
positioned descendants as a separate layout pass.

This is very far from perfect but the general direction seems good.
2020-06-12 13:43:46 +02:00
Andreas Kling 2b489f492d Base: Put the ACID2 test on the browser bookmarks bar :^) 2020-06-10 16:14:09 +02:00
Sergey Bugaev f2d40ac2b2 Base: Document new SystemServer abilities 2020-06-09 21:12:34 +02:00
Hüseyin ASLITÜRK ddeb0ab1ad Applications: Add new KeyboardSettings application
GUI application to manage Keyboard settings.
2020-06-08 09:28:18 +02:00
Hüseyin ASLITÜRK 57a99015a1 Base: Add Keyboard application icons 2020-06-08 09:28:18 +02:00
Hüseyin ASLITÜRK eba285bdb8 Base: Move DisplaySettings app to Settings menu 2020-06-08 09:28:18 +02:00
nanoproductions 07e726729c
Base: Add "Discord" theme (#2515)
A new theme for Serenity which brings colors from the Discord theme
colors. Some colors were modified to ensure great looks on Serenity.
2020-06-06 14:45:10 +02:00
Sergey Bugaev 4643f51eaa Base: Document find(1) 2020-06-06 14:42:31 +02:00
Andreas Kling 422bbe98a5 LibWeb: Start adding support for the <iframe> element! :^)
This patch introduces a bunch of things:

- Subframes (Web::Frame::create_subframe())
- HTMLIFrameElement (loads and owns the hosted Web::Frame)
- LayoutFrame (layout and rendering of the hosted frame)

There's still a huge number of things missing, like scrolling, overflow
handling, event handling, scripting, etc. But we can make a little
iframe in a document and it actually renders another document there.
I think that's pretty cool! :^)
2020-06-05 23:36:02 +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
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 ed20800320 Base: New icon for KeyboardMapper application 2020-06-03 21:52:40 +02:00
FalseHonesty f958c693ee HackStudio: Support debugging variables with Enum types
Variables with enum types can now be both viewed and modified in the
variables view!
2020-06-03 08:12:50 +02:00
Andreas Kling ffae239e91 Base: Fix bad URL in welcome page 2020-06-02 22:05:29 +02:00
Andreas Kling d4ddb0013c LibWeb: Share decoded images at the Resource level :^)
This patch adds ImageResource as a subclass of Resource. This new class
also keeps a Gfx::ImageDecoder so that we can share decoded bitmaps
between all clients of an image resource inside LibWeb.

With this, we now share both encoded and decoded data for images. :^)

I had to change how the purgeable-volatile flag is updated to keep the
volatile-images-outside-the-visible-viewport optimization working.
HTMLImageElement now inherits from ImageResourceClient (a subclass of
ResourceClient with additional image-specific stuff) and informs its
ImageResource about whether it's inside the viewport or outside.

This is pretty awesome! :^)
2020-06-02 20:32:38 +02:00
Keith daa3f59a55
Base: Fix misspelling in getopt(3) (#2473) 2020-06-02 07:40:26 +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
Sergey Bugaev e5e8e8ab96 Base: Add Faux Pas and Silver themes 2020-05-30 17:51:24 +02:00
Sergey Bugaev 52711921c6 Base: Document getopt 2020-05-30 15:01:18 +02:00
Andreas Kling 6f85422e8a Base: Add HTML spec (multipage) to the default Browser bookmarks :^) 2020-05-30 12:25:37 +02:00
Sergey Bugaev 3847d00727 Kernel+Userland: Support remounting filesystems :^)
This makes it possible to change flags of a mount after the fact, with the
caveats outlined in the man page.
2020-05-29 07:53:30 +02:00
Sergey Bugaev 53647e347f Kernel+Base: Mount root filesystem read-only :^)
We remount /home and /root as read-write, to keep the ability to modify files
there. /tmp remains read-write, as it is mounted from a TmpFS.
2020-05-29 07:53:30 +02:00
Sergey Bugaev 39cde80545 Base: Document MS_RDONLY
Also fix a couple of issues with the man pages.
2020-05-29 07:53:30 +02:00
AnotherTest ca6e361279 Base: Add manpage for xargs 2020-05-28 11:01:08 +02:00
Nick Vella e53fa97cfb LibGUI, About: Implement system-wide W2k-esque About dialog
The new About dialog reads version information from /res/version.ini,
which is generated at build time.
2020-05-27 11:44:19 +02:00
Sergey Bugaev ae21b8ee56 Base: Replace TTYServer with text mode Shell
Now that we have SystemServer that can (re)spawn the Shell, we don't need a
separate server just for that.

The two shells (on tty0 and tty1) are configured to only be started when booting
in text mode. This means you can now simply say boot_mode=text on the kernel
command line, and SystemServer will set up the system and spawn a comfy root
shell for you :^)
2020-05-27 11:19:38 +02:00
Sergey Bugaev 856e4853f4 SystemServer: Add BootModes and Environment service options
SystemServer will now look at the boot mode, as specified on the kernel command
line, and only launch the services configured for that boot mode.
2020-05-27 11:19:38 +02:00
Sergey Bugaev f746bbda17 Base: Document the sigaction promise
Also add a few generic words about pledge().
2020-05-26 14:35:10 +02:00
FalseHonesty b352a6b59d LibWeb: Implement vendor specific CSS color style for System Palette
Add "-libweb-palette-foo-bar" CSS color properties to allow CSS to
style itself using the currently selected System Theme.
2020-05-26 10:17:50 +02:00
Linus Groh 67b742bf32 LibWeb: Add document.querySelector() 2020-05-26 00:12:20 +02:00
Hüseyin ASLITÜRK 6e505b853e Base: Add more characters to Katica and Csilla
Symbols for Latin-1 Unicode completed for Katica and Csilla Thin fonts.
2020-05-26 00:11:26 +02:00
Sergey Bugaev 174ac5d348 Demos: Add Eyes demo
This is a neat clone of xeyes. It demoes the new ellipse filling functionality,
as well as the existing global mouse cursor tracking functionality :^)
2020-05-24 23:30:12 +02:00
Andreas Kling bdc19563ef Browser: Add new icons for the add/remove bookmark toolbar button
Here's a freshly drawn icon without antialiasing so it fits better with
the system visual style. :^)
2020-05-24 18:46:48 +02:00
Magentah a1fe34bcd8 Keymap: Added keymap file for Japanese keyboard, without IME
configuration keys.
2020-05-24 02:13:22 +02:00
Andreas Kling e44c87cfff LibWeb: Implement enough HTML parsing to handle a small simple DOM :^)
We can now parse a little DOM like this:

<!DOCTYPE html>
<html>
    <head></head>
    <body>
        <div></div>
    </body>
</html>

This is pretty slow work, but the incremental progress is satisfying!
2020-05-24 00:49:22 +02:00
Andreas Kling 634ce37663 LibWeb: Make hit-testing work with display: inline-block;
When hit testing encountered a block with inline children, we assumed
that the inline children are nothing but text boxes. An inline-block
box is actually a block child of a block with inline children, so we
have to handle that scenario as well. :^)

Fixes #2353.
2020-05-23 21:08:25 +02:00
Bryan Steele b5c0703e14 Base: Add a really bad, but yummy Slice of Pizza emoji 🍕 2020-05-23 19:49:42 +02:00
Spencer Dixon ecb03716d4 Base: Add red heart emoji ❤️ 2020-05-23 16:33:05 +02:00
Andreas Kling 6caa5661f3 LibWeb: Teach HTMLTokenizer how to tokenize attributes
Properly tokenize single-quoted, double-quoted and unquoted attributes!
2020-05-23 01:22:15 +02:00
Andreas Kling 272b35d2e1 LibWeb: Begin work on a spec-compliant HTML parser
In order to actually view the web as it is, we're gonna need a proper
HTML parser. So let's build one!

This patch introduces the Web::HTMLTokenizer class, which currently
operates on a StringView input stream where it fetches (ASCII only atm)
codepoints and tokenizes acccording to the HTML spec tokenization algo.

The tokenizer state machine looks a bit weird but is written in a way
that tries to mimic the spec as closely as possible, in order to make
development easier and bugs less likely.

This initial version is far from finished, but it can parse a trivial
document with a DOCTYPE and open/close tags. :^)
2020-05-22 21:46:13 +02:00
Linus Groh 65d94a1e74 Base: Add simple setInterval() test 2020-05-21 15:18:08 +02:00
Hüseyin ASLITÜRK 8790d6bafc Base: Extend fonts to 384 character to support LatinExtendedA 2020-05-21 01:19:42 +02:00