AnotherTest
5d1425718e
LibLine: Treat leftover data in buffer as a read event
...
Fixes #4328 .
2020-12-18 19:20:37 +01:00
AnotherTest
5e6b9cbc91
LibLine: Be less lazy when moving prompt origin row
...
Fixes the issue where adding multiple lines in one refresh cycle would
break cursor positioning.
2020-12-18 19:20:37 +01:00
Brendan Coles
27a5c51f3f
LibCore: UDPServer::bind: Replace bind failure assert() with perror()
2020-12-18 19:20:30 +01:00
Linus Groh
fe88f46bc9
LibGUI: Don't assume main widget exists in Window::handle_resize_event()
...
Just like the other event handler functions, handle_resize_event()
shouldn't assume that the window has a main widget (which is being
resized in this case).
Fixes #4450 .
2020-12-18 19:20:15 +01:00
Nico Weber
573d5b7ff2
LibGfx: Give Size and Rect * and *= operators
2020-12-18 17:35:30 +01:00
Nico Weber
b67eed5b80
LibGfx: Fix type of scale factor in Point scale operators
2020-12-18 17:35:30 +01:00
Sahan Fernando
8dc0d9b7b7
LibGUI: Make autoformatting performed on InsertTextCommand visible to on_edit_action
2020-12-18 16:25:42 +01:00
Andreas Kling
18f1f4e1a2
LibWeb: Only preserve full whitspace for white-space: pre{,-wrap}
2020-12-18 11:04:29 +01:00
Andreas Kling
b322452ef4
LibWeb: Silence BFC spam about not knowing how to place boxes
...
This gets way too noisy on some pages, and isn't even interesting.
2020-12-18 10:25:50 +01:00
Andreas Kling
6d7892cfc4
LibWeb: Whitespace that causes a line to wrap should be hidden
...
We were only pruning trailing whitespace on lines. This patch makes it
so we also don't add whitespace as the leading line box fragment on new
lines.
This logic is pretty crufty and I think we can do better, but for now
I've just made it handle this extra case so we can stop having lines
that start with a space character. :^)
2020-12-17 21:10:57 +01:00
Brendan Coles
853664bd3c
LibC: stdlib: Add clearenv() function
2020-12-17 19:39:56 +01:00
Linus Groh
3436317c08
LibWeb: Escape text nodes in innerHTML getter
2020-12-17 19:39:48 +01:00
Linus Groh
4833f0066e
LibWeb: Include element attributes in innerHTML getter
2020-12-17 19:39:48 +01:00
Andreas Kling
4c8dbc908c
LibWeb: Notify the PageClient when the children of <title> change
2020-12-17 02:02:00 +01:00
Andreas Kling
2a5877b02c
LibWeb: Fix shrink-to-fit layout for position:absolute
...
We were following the spec incorrectly. The comment was right, but the
code was wrong.
2020-12-17 01:47:42 +01:00
Andreas Kling
a5422a210f
LibWeb: Use the correct containing block for position:absolute width
2020-12-17 01:46:51 +01:00
Andreas Kling
f0a4a6bb11
LibWeb: Always break around inline-blocks in AllPossibleLineBreaks mode
2020-12-17 01:42:03 +01:00
Andreas Kling
f35f605a24
LibWeb: Make sure the ICB is at least as tall as the viewport
...
This is a hack until we implement a proper overflow mechanism. For now,
this allows us to right-click below the lowest content on the page.
2020-12-17 00:58:23 +01:00
Andreas Kling
598efa60a3
LibGUI: Table views with SelectRows should scroll entire rows into view
2020-12-17 00:54:58 +01:00
Andreas Kling
f0138fcb25
LibGUI: Move selection behavior from TableView up to AbstractView
...
Let's make SelectionBehavior a view concept where views can either
select individual items (row, index) or whole rows. Maybe some day
we'll do whole columns, but I don't think we need that now.
2020-12-17 00:54:58 +01:00
Andreas Kling
226ac8a47b
LibGUI: Don't fill IconView item text background unless actually wanted
...
We were always filling the rect behind item texts, even when the widget
had fill_with_background_color() == false.
2020-12-16 19:39:26 +01:00
Andreas Kling
4236127fb9
LibGUI: Make the IconView cursor rect show up on the desktop
...
It was getting lost in some bogus coordinate conversion math while
trying to constrain unusually long item texts.
2020-12-16 19:39:26 +01:00
Andreas Kling
50aab509ce
LibGUI: Add ScrollableWidget helpers for rect conversion
...
to_content_rect() and to_widget_rect() help you convert rects from one
coordinate space to the other.
2020-12-16 19:39:26 +01:00
Conrad Pankoff
bb4e4921c0
LibCore: Expose some Socket properties to make then inspectable
2020-12-16 17:12:13 +01:00
Andreas Kling
525509cfe6
LibWeb: The fallback 'color' value should be black, not transparent
...
Fixes #4425 .
2020-12-16 15:46:43 +01:00
Andreas Kling
2759d518b7
FileManager+LibGUI: Draw the item text for desktop icons with shadow
...
This makes it look nice regardless of wallpaper or background color.
2020-12-16 12:16:14 +01:00
Andreas Kling
0fef901513
LibGUI: Show app icons for executables with associated .af files
...
This is a rather ugly hack just to get app icons to show up in the
FileManager. It would be a lot nicer to embed icons in executables
instead but it's not obvious to me how to do that.
2020-12-16 12:08:55 +01:00
Andreas Kling
c44dbabda1
LibGUI: Generate nicer icons for symlinked files
...
Instead of symlinks showing up with the "filetype-symlink" icon, we now
generate a new icon by taking the target file's icon and slapping a
small arrow emblem on top of it.
This looks rather nice. :^)
2020-12-16 12:08:48 +01:00
Andreas Kling
3d5e30a1e6
LibGUI: Add GUI::Icon::sizes()
...
This gives you a Vector<int> with all the sizes contained in the Icon.
2020-12-16 11:53:23 +01:00
Andreas Kling
72bd672da0
LibWeb: Remove use of specified_style() in Layout::ImageBox
2020-12-15 20:50:58 +01:00
Andreas Kling
613764b83c
LibWeb: Actually apply recomputed style to element's layout node
...
Otherwise fetching stuff via LayoutNode::style() will have stale values
since we were only updating the specified_style() here.
LayoutNode::specified_style() should eventually go away since there's
no need to carry those uncooked values around with the layout tree.
2020-12-15 20:49:11 +01:00
Andreas Kling
ef61430738
LibWeb: Update text-decoration hack to use text-decoration-line
...
We have a hack that propagates text-decoration-line through inheritance
even though it's not an inherited property. Once we implement the CSS
cascade properly we can stop doing this.
2020-12-15 20:48:16 +01:00
Andreas Kling
17c529e6c5
LibWeb: Generate the CSS::ValueID enum and its helper functions
2020-12-15 20:40:10 +01:00
Andreas Kling
92d8e559ba
LibWeb: Oops, not all length boxes should default to 'auto' values
...
Only the offset box (left/top/right/bottom) box defaults to 'auto'.
Both the padding and margin boxes default to '0' for all values.
2020-12-15 20:01:00 +01:00
Andreas Kling
30685a7714
LibWeb: Add equals() for LengthStyleValue and ColorStyleValue
...
The default equals() does to_string() on both sides which is pretty
silly when they are of the same type.
2020-12-15 19:40:06 +01:00
Andreas Kling
58bade25dd
LibWeb: Add hack to disable StyleInvalidator while parsing document
...
Running a StyleInvalidator for every attribute set in a new document
was making it impossible to load larger sites. :^)
2020-12-15 19:33:53 +01:00
Andreas Kling
23f70535e2
LibWeb: Dimension inline-block and replaced boxes during splitting
...
Don't wait until fragment layout to compute width/height of boxes on
the line, just do it while we're splitting into lines.
2020-12-15 19:33:53 +01:00
Andreas Kling
4a9dcd974a
LibWeb: Remove unused Element::set_attributes()
2020-12-15 19:33:53 +01:00
Andreas Kling
9c76c4f0cf
LibWeb: Use IdentifierStyleValue for CSS 'list-style-type'
2020-12-15 19:33:53 +01:00
Andreas Kling
c630ae517e
LibWeb: Put final foreground/background colors in LayoutStyle
...
This way we don't have to look them up in the CSS::StyleProperties
every time we want to paint with them.
2020-12-15 19:33:53 +01:00
Andreas Kling
78a51933ad
LibWeb: Use IdentifierStyleValue for CSS 'text-transform'
2020-12-15 19:33:53 +01:00
Andreas Kling
4d7ce81835
LibWeb: Use IdentifierStyleValue for CSS 'text-decoration-line'
...
Also 'text-decoration' is actually a shorthand, so treat it that way.
2020-12-15 19:33:53 +01:00
Andreas Kling
7e78e4b232
LibWeb: Make CSS "background: none" work again
...
This broke since "none" is now always going to be an identifier value.
2020-12-15 19:33:53 +01:00
Linus Groh
5e7945e26f
LibWeb: Add a simple StyleInvalidator class
...
This patch adds a simple, naive & inefficient class for document-wide
style invalidation, e.g. after element attribute updates. During
construction it collects a HashMap of a document's elements and their
matching rules, during destruction it does the same and then compares
the results; dirtying all elements that have a different number or order
of matching rules afterwards.
Much room for improvement, but it solves the problem of stale element
styling after attribute updates for now :^)
Fixes #4404 .
2020-12-14 23:38:08 +01:00
Itamar
9a9d655abe
Chess: Add LibCore as a dependency
...
This fixes Dynamic Loader crash because of an unresolved LibCore symbol
2020-12-14 23:05:53 +01:00
Itamar
93b68f5566
LibELF: Move the implementation of find_demangled_function to ELF::Image
2020-12-14 23:05:53 +01:00
Itamar
0220b5361e
LibC: Also build a static version of libc
2020-12-14 23:05:53 +01:00
Itamar
dfdd977a82
LibC: Link statically with libstdc++
...
This allows us to have the implementation of __cxa_demangle in libc.so.
2020-12-14 23:05:53 +01:00
Itamar
a74dad14a8
LibCoreDump: Add library for parsing coredump files
2020-12-14 23:05:53 +01:00
Itamar
50219429fd
LibELF: Allow using ELF::Loader for ET_CORE objects
2020-12-14 23:05:53 +01:00