summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-28LibHTML: Implement naive hit testingAndreas Kling
We don't have proper line boxes yet, so we can't easily hit test inline text.
2019-09-28Base: Add a little hyperlink to the small HTML test pageAndreas Kling
This will be useful for testing rendering, hit testing, etc.
2019-09-28LibHTML: Add virtual Node::tag_name()Andreas Kling
This is analogous to the DOM's Node.tagName and makes it easy to ask "hey, what kinda thing is this Node?"
2019-09-28LibHTML: Make <a> tags blue and underline by defaultAndreas Kling
In the future, this should only apply to "a:link", but since we don't have pseudo-classes yet, all "a" tags will do for now.
2019-09-28LibHTML: Implement basic support for "text-decoration: underline"Andreas Kling
2019-09-28LibHTML: Respect the CSS "color" property for textAndreas Kling
Also remove the color values from the ComputedStyle object and get them via StyleProperties instead. At the moment, we only handle colors that Color::from_string() parses.
2019-09-28Meta: Tweak the Qt Creator project updater a bitAndreas Kling
2019-09-28TelnetServer: Accept arbitrary command with -cLarkin Nickle
For example, this allows you to do something like `TelnetServer -c /usr/bin/nyancat` to have the TelnetServer run `/usr/bin/nyancat` instead of `/bin/Shell`.
2019-09-28SystemMonitor: Display whether an fd is cloexec and blockingSergey Bugaev
2019-09-28Kernel: Expose blocking and cloexec fd flags in ProcFSSergey Bugaev
2019-09-28Base: Add man pages for create_shared_buffer() and share_buffer_with()Andreas Kling
2019-09-28LibMarkdown: Support escaping of special charactersAndreas Kling
This allows you to escape function\_names\_like\_this() :^)
2019-09-28LibHTML: Make h1 and h2 tags use Pebbleton Bold by default :^)Andreas Kling
2019-09-28Base: Add a bold variant of the Pebbleton 11px fontAndreas Kling
2019-09-28Help: Don't crash on startup when non-md man pages are present :^)Andreas Kling
2019-09-28Applications: Add a new Help appSergey Bugaev
This is a neat simple app that can display the Serenity manual ^)
2019-09-28Userland+LibHTML: Add the html commandSergey Bugaev
This is a simple command that can be used to display HTML from a given file, or from the standard input, in an HtmlView. It replaces the `tho` (test HTML output) command.
2019-09-28LibHTML: Introduce the HtmlView widgetSergey Bugaev
This is a GWidget that can display contents of an HTML document. It replaces the Frame class.
2019-09-28LibHTML: Tweak the default CSS styleSergey Bugaev
2019-09-28LibHTML: Parse HTML escape sequencesSergey Bugaev
2019-09-28LibHTML: Hide debugging output unless HTML_DEBUG is definedSergey Bugaev
2019-09-28LibHTML: Implement renderingSergey Bugaev
2019-09-28LibHTML: Implement LayoutTextSergey Bugaev
2019-09-28LibHTML: Implement LayoutInline::layout()Sergey Bugaev
This currently uses a gross hack where it subtracts 11px from the previous sibling bottom to calculate its top. This should be fixed by switching to a proper two-phase line layouting model, were we first distribute inline elements into lines and figure out their horizontal positions and heights; then compute the needed line heights and position inline elements there vertically.
2019-09-28LibHTML: Fix LayoutDocument height computationSergey Bugaev
2019-09-28LibHTML: Fix LayoutBlock vertical position & height computationsSergey Bugaev
2019-09-28LibHTML: Add Document::normalize()Sergey Bugaev
This method wraps the document tree in <html> and <body> elements if needed.
2019-09-28LibHTML: Move layout tree building to NodeSergey Bugaev
This also fixes another bug with inline wrappers. Namely, we should only add inline wrappers if a block node has both non-block (inline or text) and block children.
2019-09-28LibHTML: Implement basic style inheritanceSergey Bugaev
2019-09-28LibHTML: Add ComputedStyle::full_margin()Sergey Bugaev
This is an utility to easily get the full margin size (the sum of margin proper, border and padding) of an element in pixels.
2019-09-28LibHTML: Get rid of ComputedStyle::offset()Sergey Bugaev
This is redundant since we already have LayoutNode::rect().
2019-09-28LibHTML: Fix moving inline elements to unrelated block elementsSergey Bugaev
LayoutBlock::inline_wrapper() is supposed to return an inline wrapper, a special anonymous block element intended to wrap inline children of a block element that also has block children. Add a check for whether the existing block child element is anonymous (refers to a DOM node), and if it's not create a new anonymous wrapper.
2019-09-28LibHTML: Add StyleProperties::string_or_fallback()Sergey Bugaev
This is an utility to go with the existing length_or_fallback().
2019-09-28AK: Add StringBuilder::string_view() and StringBuilder::clear()Sergey Bugaev
The former allows you to inspect the string while it's being built. It's an explicit method rather than `operator StringView()` because you must remember you can only look at it in between modifications; appending to the StringBuilder invalidates the StringView. The latter lets you clear the state of a StringBuilder explicitly, to start from an empty string again.
2019-09-28LibHTML: Get rid of the style treeSergey Bugaev
We now create a layout tree directly from the DOM tree. This way we don't actually lose text nodes ^)
2019-09-28LibHTML: Add install.shSergey Bugaev
2019-09-28Base: Write some initial man pagesSergey Bugaev
It ain't much, but it's honest work!
2019-09-28Userland: Add a man commandSergey Bugaev
2019-09-28Userland: Add an md commandSergey Bugaev
This command uses LibMarkdown to parse and render Markdown documents either for the terminal using escape sequences, or to HTML. For example, you can now do: $ md ReadMe.md to read the Serenity ReadMe file ^)
2019-09-28Libraries: Add LibMarkdownSergey Bugaev
2019-09-28Terminal: Add underline supportSergey Bugaev
2019-09-28Kernel: Make proper use of the new keep_empty argumentSergey Bugaev
2019-09-28AK: Add a keep_empty argument to String[View]::substring{_view}Sergey Bugaev
2019-09-28Kernel: Fix BIOS date/time on hardwareConrad Pankoff
It turns out some BIOS vendors don't support non-BCD date/time mode, but we were relying on it being available. We no longer do this, but instead check whether the BIOS claims to provide BCD or regular binary values for its date/time data.
2019-09-28Userland: Add disk_benchmark program to test read/write speedsConrad Pankoff
2019-09-28Kernel: Support writing doubly-indirect ext2 blocksConrad Pankoff
2019-09-28Kernel: Repair unaligned regions supplied by the boot loaderConrad Pankoff
We were just blindly trusting that the bootloader would only give us page-aligned memory regions. This is apparently not always the case, so now we can try to repair those regions. Fixes #601
2019-09-27Meta: Spread the ccache joy far and wide!Dan MacDonald
2019-09-27Kernel: Fix partial munmap() deallocating still-in-use VMAndreas Kling
We were always returning the full VM range of the partially-unmapped Region to the range allocator. This caused us to re-use those addresses for subsequent VM allocations. This patch also skips creating a new VMObject in partial munmap(). Instead we just make split regions that point into the same VMObject. This fixes the mysterious GCC ICE on large C++ programs.
2019-09-27Kernel: No need to manually deallocate kernel stack Region in ~Thread()Andreas Kling
Since we're keeping this Region in an OwnPtr, it will be torn down when we get to ~OwnPtr anyway.