Commit graph

15567 commits

Author SHA1 Message Date
Timur Sultanov 33d19a562f LibELF: Look up symbols in all global modules
dlsym() called with RTLD_DEFAULT (nullptr) should look up
symbol in all global modules instead of only looking into the
executable file
2022-04-03 23:25:39 +01:00
Igor Pissolati 7ae116b81b LibWeb: Bring BorderRadiusStyleValue::to_string() closer to spec 2022-04-04 00:03:15 +02:00
Humberto Alves 5506932788 Shell: Refresh PATH cache after running shellrc files
This fixes the highlight of runnable commands, whenever PATH variable
is changed in one of the shellrc files.
2022-04-03 23:28:01 +02:00
GeekFiftyFive e292a038b7 ThemeEditor: Open files with ReadWrite
Open theme files with ReadWrite in order to fix issue when saving.
2022-04-03 23:27:23 +02:00
Linus Groh 4f35c206e4 lscpu: Show hypervisor_vendor_id if present 2022-04-03 23:20:33 +02:00
Linus Groh 0f27432ec6 Kernel+SystemMonitor+lscpu: Rename 'CPUID' -> 'Vendor ID'
This is what the Intel manual, as well as Linux's cpuinfo calls it.
2022-04-03 23:20:33 +02:00
Simon Wanner 509362c103 LibWeb: Include all row-groups in column width calculations
This was noticeable for example on fonts.serenityos.net, where the
thead and tfoot would not get the same column widths as the tbody.
2022-04-03 23:12:13 +02:00
Simon Wanner d28f3e0735 LibWeb: Handle failed browsing context creation in HTMLObjectElement
If the document is not attached to a browsing context we can't create
a new nested browsing context.

This can happen when the resource load for the <object> finishes after
the user navigated away from the current document, for example by
reloading ACID 3 while it's running.
2022-04-03 23:12:13 +02:00
Simon Wanner 450c0df938 LibWeb: Make resolved styles handle calculated length-percentages
This could lead to a crash when inspecting for example the <body>
on holidaycss.js.org, because it has `width: calc(100% - 1em)`
2022-04-03 23:12:13 +02:00
Simon Wanner fe0f0b0acf LibWeb: Add a null-check for page() in ESO::is_scripting_enabled()
This could lead to a crash when spamming reload on a page with a
<script> element.
2022-04-03 23:12:13 +02:00
Enver Balalic 7381474835 LibWeb: Don't break text lines if white-space: nowrap
If white-space is nowrap then we don't want to break a text_node
into multiple line boxes. This fixes the width calculation in the
min-content case for white-space: nowrap elements. Before this
the min-width would be the width of the biggest line box.
2022-04-03 21:51:15 +02:00
Tim Schumacher 3237efc661 LibC: Implement __fseterr 2022-04-03 19:15:14 +02:00
Tim Schumacher 4f706d819a LibC: Implement __freadptrinc 2022-04-03 19:15:14 +02:00
Tim Schumacher 89ed0649f7 LibC: Implement __freadahead 2022-04-03 19:15:14 +02:00
Tim Schumacher 9b543ddb16 LibC: Implement __freadptr 2022-04-03 19:15:14 +02:00
kleines Filmröllchen 8da0cf7912 Applets: Add a network graph applet
This resource graph applet shows incoming network traffic graphically,
and the tooltip shows both TX and RX. The data of all adapters is
combined. The scale of the applet auto-adapts to the shown traffic load.

Co-authored-by: bgianfo <bgianf@serenityos.org>
2022-04-03 09:49:08 -07:00
Lenny Maiorani 9afc7d5379 LibCompress: Change DeflateSpecialCodeLengths to constexpr variables 2022-04-03 17:36:48 +01:00
Lenny Maiorani 35af46ee62 LibChess: Change UCI::Command::Type to enum class 2022-04-03 17:36:48 +01:00
Ali Chraghi 0eaed09517 TextEditor: Update file argument parser regex pattern 2022-04-03 18:54:47 +04:30
Linus Groh 5b48912d35 LibJS: Remove a bunch of gratuitous JS namespace qualifiers 2022-04-03 15:19:33 +01:00
Valtteri Koskivuori f2c02077ba Userland: Remove a few gratuitous IPC namespace qualifiers
Spotted this while trying to search for specific IPC encode/decode
implementations. Now they are all the same, so searching is easier.
2022-04-03 15:18:20 +01:00
Valtteri Koskivuori 45a81f5a2c Browser+LibWeb+WebContent: Add ability to inspect local storage
The storage inspector now has a new tab for local storage. The next step
would be to persist local storage and receive real-time notifications
for changes to update the table view.
2022-04-03 13:13:10 +01:00
Valtteri Koskivuori f2b4c044db LibIPC: Add encoder and decoder for AK::OrderedHashMap
Seems like a useful thing to have.
2022-04-03 13:13:10 +01:00
Ben Maxwell 8070a98288 DisplaySettings+WindowServer: Allow updating theme without background
With this change you can now set the theme and background color at the
same time in the Display Settings. Before if both were changed
before hitting 'apply' the theme background color would overwrite
the custom background.
2022-04-03 12:58:46 +02:00
Ben Maxwell e6ad55ab53 DisplaySettings: Stop theme tab from overriding background color
Fixes #13448
2022-04-03 12:58:46 +02:00
Enver Balalic d8ec9a5501 LibWeb: Fix computing_width of a block when LayoutMode::MaxContent
We had an issue with computing a width of a block in MaxContent
mode because we would set the width of the containing block to
infinity which would make everything in the try_compute_width
block infinity as well.

This adds a special case for width = 'auto' when
width_of_containing_block is infinity and removes the width of
containing block from the equation entirely.
2022-04-03 12:58:08 +02:00
Rob Ryan c1b311835b LibWeb: Not dispatching page_did_click_link event breaks page refresh
The WebView url wouldn't update so reload in Tab would still use the
previous URL before any left click navigation.

I am unsure if there was any good reason not to dispatch the event when
there are no modifiers.
2022-04-03 12:41:48 +02:00
Rob Ryan 0b5adfef8c Calculator: Update mimic_pressed for refactor into the Button class 2022-04-03 12:21:50 +02:00
Rob Ryan 554709fec6 LibGUI: Extend mimic pressed across keyboard shortcuts for buttons
Primary motivation for this was to get a visual indication in the
browser for Ctrl-R refresh. This extends what ForLoveOfCats had done
for calculator button shortcuts across all buttons with shortcuts.

When an action is triggered without an activator each associated button
will be set as mimic pressed.
2022-04-03 12:21:50 +02:00
kleines Filmröllchen 7af87e8e6b SystemMonitor: Move process window to GML
Extra stuff done in this commit to facilitate the above (if you want to
really push my commit count, ask for more atomicisation):
- Register a bunch of widgets that are used in the process window.
- Allow setting the pid after the fact for the process state widget.
2022-04-03 12:21:05 +02:00
kleines Filmröllchen 452bbcaa84 LibCore: Turn size properties from an object into a size 2 array
Previously, size properties were a JSON object of the form { "width": x,
"height": y }. Now they are a JSON array [x, y]. Reasons for this
change:
- Much more concise.
- More intuitive, as existing multi-dimensional properties (like
  margins) already use this array format.
2022-04-03 12:21:05 +02:00
kleines Filmröllchen ee4cec4ea9 SystemMonitor: Open PCI database in parallel
This was causing a bunch of lag (at least half a second, very
noticeable) when first opening the hardware tab, as we would only load
the PCI database when initializing the widget lazily. By starting the
PCI database open on another thread, we avoid this entirely, as nobody
can click the hardware tab this fast :^)
2022-04-03 12:21:05 +02:00
kleines Filmröllchen 81d5e93b92 SystemMonitor: Move storage tab into custom widget 2022-04-03 12:21:05 +02:00
kleines Filmröllchen 99005ca90f SystemMonitor: Move hardware tab to custom widget
This is just a LazyWidget with fancy initialization code that works
perfectly in isolation.
2022-04-03 12:21:05 +02:00
kleines Filmröllchen 5a2716baea SystemMonitor: Move entire main UI to GML
:^)
2022-04-03 12:21:05 +02:00
kleines Filmröllchen 98ed18124d SystemMonitor: Register GraphWidget's stack_values property 2022-04-03 12:21:05 +02:00
kleines Filmröllchen a7d9d416d5 SystemMonitor: Register a graph_widget pseudo-property in MemoryStatsW
The property graph_widget on MemoryStatsWidget is a-pseudo property that
specifies the name of the graph widget which should be attached to the
MemoryStatsWidget. When the property is set, the widget looks up the
graph with that name in its parent, therefore automatically linking to
the correct widget given that it's a sibling or descendant of a sibling.
2022-04-03 12:21:05 +02:00
kleines Filmröllchen abfddd01d4 SystemMonitor: Register MemoryStatsWidget
This also requires that the associated graph widget may be null.
2022-04-03 12:21:05 +02:00
kleines Filmröllchen abf2ed4c52 SystemMonitor: Register GraphWidget 2022-04-03 12:21:05 +02:00
kleines Filmröllchen e6fe66594e LibGUI: Register LazyWidget 2022-04-03 12:21:05 +02:00
kleines Filmröllchen 6d00932612 SystemMonitor: Move NetworkStatisticsWidget into namespace + register it
We don't want to clobber the global namespace with registered widgets.
2022-04-03 12:21:05 +02:00
kleines Filmröllchen 7e34b88ed4 LibGUI: Fully support TabWidget in GML
TabWidgets couldn't be used in GML properly, as the GML creation
routines didn't actually call the necessary functions in the TabWidget
to get a new tab added. This commit fixes that by making the name of the
tab a normal property, the previously introduced "title", which can be
trivially set from GML. Therefore, try_add_widget() loses an argument
(while try_add_tab doesn't, because it newly constructs the widget).
This allows us to get rid of the silly "fixing my widget tree after the
fact" code in Help and will make it super easy to use TabWidget in
future GML. :^)
2022-04-03 12:21:05 +02:00
kleines Filmröllchen 0410414455 LibGUI: Add a title to all Widgets
This title is a generic user-facing name for the widget. For now, it's
only used by TabWidget for tab names.
2022-04-03 12:21:05 +02:00
Brendan Coles fd6d87df82 netstat: Resolve ports to service names 2022-04-03 12:08:41 +02:00
Linus Groh 83e8dfae38 LibJS: Use AK::Time in system_utc_epoch_nanoseconds()
This also uses <time.h> APIs internally, but wraps them in a much nicer
interface.
2022-04-03 01:10:31 +01:00
Simon Wanner ea9857a423 LibWeb: Add the requestIdleCallback/cancelIdleCallback API 2022-04-02 23:52:25 +01:00
Simon Wanner 836d2ff259 LibWeb: Implement the infrastructure necessary for requestIdleCallback
This includes a bug fix for the event loop processing steps which has
not been merged yet: https://github.com/whatwg/html/pull/7768
2022-04-02 23:52:25 +01:00
Simon Wanner 73da139cd7 LibWeb: Expose IdleDeadline on the window object 2022-04-02 23:52:25 +01:00
James Mintram cd2f67c4ea top: Add support for quitting top by pressing q 2022-04-02 23:48:17 +01:00
Olivier De Cannière 3818840ee6 Browser: Add Ctrl-<number> actions to changes tabs
It is now possible to quickly switch to specific tabs directly without
having to 'search linearly'.

Pressing Ctrl plus a number from 1 to 8 switches to the tab of that
index. Pressing Ctrl-9 swithes to the last tab.

This feature already exists in Firefox and Chrome.
2022-04-02 23:38:32 +02:00