Andreas Kling
a457b90733
UserspaceEmulator: Tidy up the MallocRegionMetadata construction a bit
...
Use designated initializers to make it very obvious what's being set,
and also give the metadata a backpointer to the region for convenience.
2021-03-09 12:00:53 +01:00
Andreas Kling
915e8dbe71
UserspaceEmulator: Defer marking MmapRegion as malloc block
...
We don't want to audit accesses into the region *while* we're setting
up malloc tracking for it. Fetching the chunk size from the header
was tripping up the auditing code.
2021-03-09 11:41:28 +01:00
Andreas Kling
0b5a915725
UserspaceEmulator: Keep the MMU regions list sorted
2021-03-09 11:31:18 +01:00
Andreas Kling
728d947601
UserspaceEmulator: Remember VM region names for MAP_ANONYMOUS
...
For some reason we only remembered the names of MAP_FILE mmap regions.
2021-03-09 11:31:18 +01:00
Andreas Kling
735a6482ac
UserspaceEmulator: Implement sys$set_mmap_name()
2021-03-09 11:31:18 +01:00
Andreas Kling
b940dd4fa8
UserspaceEmulator: Never try to mprotect(PROT_EXEC) MmapRegion backing
...
We never want to map host memory executable anyway, so let's always
mask off the PROT_EXEC bit.
2021-03-09 11:31:18 +01:00
Andreas Kling
9588f01739
UserspaceEmulator+LibC: Use sys$emuctl() to pass malloc info to UE
...
Get rid of the awkward secret handshake sequence between malloc and UE
and simply use sys$emuctl() to notify UE of malloc, free and realloc.
2021-03-09 11:31:18 +01:00
Andreas Kling
4faeaf101c
LibC: Don't scrub memory in malloc/free when running in UE
...
Since UE is keeping track of the heap anyway, we can skip the scrubbing
and drastically improve the speed of malloc and free when emulating.
2021-03-09 08:59:10 +01:00
Andreas Kling
84725ef3a5
Kernel+UserspaceEmulator: Add sys$emuctl() system call
...
This returns ENOSYS if you are running in the real kernel, and some
other result if you are running in UserspaceEmulator.
There are other ways we could check if we're inside an emulator, but
it seemed easier to just ask. :^)
2021-03-09 08:58:26 +01:00
Luke
d650b38eb9
LibWeb: Expose new CSS interfaces on the window object
2021-03-09 07:57:33 +01:00
Bui Quang Minh
ec063f4f63
HackStudio: Add language client check in identifier click
2021-03-09 07:54:30 +01:00
Mițca Dumitru
b07310dc8b
LibM: Add nan{f, l}
2021-03-09 07:28:06 +01:00
Mițca Dumitru
efe4845c56
LibM: Implement more rounding functions
...
This patch implements the entire rint family, while taking into account
the current rounding mode, and implements ceil, round, trunc, and floor
for types which they weren't before.
2021-03-09 07:28:06 +01:00
Mițca Dumitru
88d342d007
LibM: Implement the frexp family
2021-03-09 07:28:06 +01:00
Mițca Dumitru
b274120b3c
LibM: Implement copysign for float and long double
2021-03-09 07:28:06 +01:00
Mițca Dumitru
87b61b0eef
LibM: Add scalbn and associated functions
...
Also implement ldexp in terms of them, and add ldexpl
2021-03-09 07:28:06 +01:00
Mițca Dumitru
352b383280
LibM: Add ilogb and logb
2021-03-09 07:28:06 +01:00
Mițca Dumitru
190952675e
LibM: Specialiase FloatExtractor for long double as well
2021-03-09 07:28:06 +01:00
Mițca Dumitru
a13f2b7df3
LibC: Add defines to float.h
...
This doesn't define FLT_EVAL_METHOD as I'm not sure what I should actually use for that
2021-03-09 07:28:06 +01:00
Mițca Dumitru
857b0e1dc3
LibC: Add imaxdiv and lldiv
2021-03-09 07:28:06 +01:00
Mițca Dumitru
42a8186728
LibM: Define floating point comparsion macros
2021-03-09 07:28:06 +01:00
Mițca Dumitru
70737b42b2
LibM: Define math_errhandling
and associated macros
2021-03-09 07:28:06 +01:00
Ben Wiederhake
1e857de263
UserspaceEmulator: Support munmap/mprotect with partial mappings
...
Fixes #5663 .
2021-03-08 22:57:36 +01:00
Ben Wiederhake
45443f24ec
UserspaceEmulator: Enable splitting regions at arbitrary points
...
This is not yet useful in and of itself, but enables the feature in the next commit.
2021-03-08 22:57:36 +01:00
Ben Wiederhake
7cc8f20a30
UserspaceEmulator: Convert backing storage from malloc to mmap
...
This saves a few bytes for each guest-mmaped region, especially since these are likely to be page-aligned.
2021-03-08 22:57:36 +01:00
Andreas Kling
968ad0f8d1
LibWeb: Some improvements to CSS height:auto computation for blocks
...
Auto block heights are now computed according to something that kinda
resembles the specification.
Blocks with inline children and height:auto have their height computed
based on the top of the first line box and the bottom of the last line
box. Very straightforward.
Blocks with block children and height:auto have their height computed
based on the top of the first in-flow block child's margin box, and the
bottom of the last in-flow block child's margin box.
2021-03-08 22:53:28 +01:00
Brian Gianforcaro
bac0dd5e3d
LibGUI: Use AK_ENUM_BITWISE_OPERATORS for the FocusPolicy enum
2021-03-08 18:47:40 +01:00
Andreas Kling
dda6eb0f1f
LibWeb: Implement StyleSheet.type
...
This just returns "text/css" on CSSStyleSheet, nothing exciting.
2021-03-08 16:16:28 +01:00
Andreas Kling
2cff070108
LibWeb: Map all the IDL string types to AK::String for now
...
DOMString, CSSOMString and USVString can all map to AK::String for now,
until we figure something better out.
2021-03-08 16:14:56 +01:00
Andreas Kling
bc116f3b13
LibWeb: Give CSSLoader a backpointer to its owner element
...
This allows CSSLoader to set up the style sheet owner node internally,
and avoids an awkward weak link between CSSLoader and Document.
2021-03-08 16:03:14 +01:00
Andreas Kling
d07fcba69b
LibWeb: Implement StyleSheet.ownerNode :^)
2021-03-08 16:03:14 +01:00
Andreas Kling
a9830d9a55
LibWeb: Start exposing CSS style sheets to JavaScript :^)
...
This patch adds bindings for the following objects:
- StyleSheet
- StyleSheetList
- CSSStyleSheet
You can get to a document's style sheets via Document.styleSheets
and iterate through them using StyleSheetList's item() and length().
That's it in terms of functionality at this point, but still neat. :^)
2021-03-08 11:50:36 +01:00
Andreas Kling
0d515dea5d
LibWeb: Allow specifying a custom C++ implementation for IDL attributes
...
The "ImplementedAs" extended attribute can now be specified on IDL
attributes to provide the name of a custom C++ implementation instead
of assuming it will have the same name as the attribute.
2021-03-08 11:50:36 +01:00
Andreas Kling
79bc07e5af
LibWeb: Make generated wrapper code cast IDL longs to i32 for now
...
This makes it possible to use "long" and "unsigned long" in IDL.
2021-03-08 11:50:36 +01:00
Brendan Coles
69b98f7d32
Base: Add sysctl man page
2021-03-08 09:48:34 +01:00
AnotherTest
fb68aa1480
Shell: Don't blindly dereference the result of Parser::parse()
...
It _may_ return nullptr if there's nothing to return.
Fixes #5691 .
2021-03-08 09:28:15 +01:00
Emanuele Torre
1f81bc6879
Everywhere: Remove unnecessary whitespace at the end of some lines.
2021-03-08 09:20:53 +01:00
Mițca Dumitru
5265a2d23e
LibC: Remove stdbool.h as it is provided by the compiler
2021-03-08 08:56:15 +01:00
Mițca Dumitru
35829304d6
LibC: Define static_assert in assert.h when it's being used in C
2021-03-08 08:56:15 +01:00
AnotherTest
8cc279ed74
LibCrypto: Fail with overflow when bitfield has too many unused bits
...
There cannot be more unused bits than the entirety of the input.
Found by OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31706#c1
2021-03-08 08:32:07 +01:00
Jelle Raaijmakers
f9f9cda025
LibCompress: Rename libcompression.so to libcompress.so
2021-03-07 18:14:54 +01:00
Andreas Kling
e6f886677e
LibWeb: Fix clang-format issue in CSS/StyleResolver.cpp
2021-03-07 17:53:20 +01:00
Andreas Kling
fefb05f6f3
LibWeb: Split CSS::StyleSheet into StyleSheet and CSSStyleSheet
...
This is a little convoluted but matches the CSSOM specification.
2021-03-07 17:45:15 +01:00
Andreas Kling
0af4762662
LibWeb: Rename StyleRule => CSSStyleRule
...
This matches the CSSOM specification.
2021-03-07 17:45:15 +01:00
Linus Groh
3532e1788f
open: Fix opening "." (again)
...
We can't always rely on the initial URL's path(), so use either the
user-specified argument or the URL path for determining the realpath,
depending on whether we got a file:// URL argument.
Fixes #4950 .
2021-03-07 17:39:58 +01:00
Ben Wiederhake
8f3bed4671
Tests: Make syscall-fuzzer less brittle
2021-03-07 17:31:25 +01:00
Linus Groh
a0362d827c
FileManager: Disable view change actions when directory is unreadable
...
Closes #3556 .
2021-03-07 16:19:36 +01:00
thankyouverycool
1ccf9de6b9
Serendipity: Couple more tips and some clean-up
2021-03-07 15:41:32 +01:00
Andreas Kling
2d7d5f2b55
Serendipity: Make main window a normal window
...
..instead of a tool window. Tool windows are meant as accessories to
an application's main/primary windows, not to be primary windows
themselves.
Fixes #5667 .
2021-03-07 14:19:20 +01:00
Andreas Kling
1375c57c4a
Serendipity: Simplify GML and fix button alignment
2021-03-07 14:12:23 +01:00