summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-25HexEditor: Fix "Selected Bytes" count for backwards selectionLinus Groh
2020-05-25LibWeb: Add navigator.language and navigator.languagesLinus Groh
Hardcoded to "en-US" and ["en-US"] respectively.
2020-05-25WindowServer: Don't crash when minimizing EyesSergey Bugaev
Or any other window that globally tracks the mouse cursor.
2020-05-25Kernel: Fix returning random children from waitid(WNOHANG)Sergey Bugaev
In case WNOHANG was specified, we want to always set should_unblock to true (which we do since commit 4402207b983b6ad4e317ef5affa4a78f10903a26), not wait_finished -- the latter causes us to immediately return this child to our caller, which is not what we want -- perhaps we should return another child which has actually exited or stopped, or nobody at all. To avoid confusion, also rename wait_finished to fits_the_spec. This fixes service keepalive functionality in SystemServer.
2020-05-25Browser: Add output styles to values printed in the consoleFalseHonesty
This patch adds spans around most of the console's output, allowing for a global document stylesheet to customize the highlighting of the console's output. It also adds some basic styling for values like strings, numbers, and arrays using the system Palette. Note: This patch simply adds support for highlighting output values, the lines of JS code printed to console are still unformatted.
2020-05-25LibGUI: Add flag to TextDocument's word break locator methodsFalseHonesty
TextDocument::first_word_break_before was refactored out to be able to be used in multiple places throughout the project. It turns out that its behaviour needs to be slightly different depending on where its called, so it now has a start_at_column_before flag to decide which letter it "thinks" was clicked.
2020-05-25LibWeb: Add missing copyright headerAndreas Kling
2020-05-25Shell: Warn the user about active jobs on exitAnotherTest
And make sure that the user means to exit and kill current jobs before exiting.
2020-05-25Shell: Parse and correctly evaluate 'command &' and 'command &&'AnotherTest
This commit adds the InBackground and ShortCircuitOnFailure attributes to commands, which respectively cause the command to be run in the background, and abort the command chain with exit status != 0.
2020-05-25Shell: Kill existing jobs when exitingAnotherTest
2020-05-25Shell: Add the `disown' shell builtinAnotherTest
2020-05-24LibWeb: Finally parse enough that we can actually handle welcome.html!Andreas Kling
We made it, at last! What a long journey this was. :^)
2020-05-24LibWeb: Yet more work towards parsing www/welcome.html :^)Andreas Kling
2020-05-24LibWeb: A whole bunch of work towards spec-compliant <script> elementsAndreas Kling
This is still very unfinished, but there's at least a skeleton of code.
2020-05-24LibWeb: Add HTMLScriptElement to the forwarding headerAndreas Kling
2020-05-24LibWeb: Add some helpers to the DOM Node classAndreas Kling
This patch adds the following things needed by the HTML spec: - Node::child_text_content() - Node::is_connected() - Node::root()
2020-05-24LibWeb: Add a way to opt out of TreeNode::append_child() notificationsAndreas Kling
This will be used temporarily by the new HTML parser while we're bringing it up.
2020-05-24LibWeb: Parse enough to handle a <style> inside a <head> :^)Andreas Kling
2020-05-24LibWeb: Support comments in the "in head" insertion modeAndreas Kling
2020-05-24LibWeb: More work on the HTML parser and tokenizerAndreas Kling
The parser can now switch the state of the tokenizer! Very webby. :^)
2020-05-24LibWeb: Start implementing character token parsingAndreas Kling
Now that we've gotten rid of the misguided character buffering in the tokenizer, it actually spits out character tokens that we have to deal with in the parser. This patch implements enough to bring us back to speed with simple.html
2020-05-24LibWeb: Factor out the "stack of open elements" into its own classAndreas Kling
This will allow us to write more expressive parsing code. :^)
2020-05-24LibWeb: Remove tokenizer's premature character buffering optimizationAndreas Kling
2020-05-24LibJS: Make Array.prototype.includes() genericLinus Groh
2020-05-24LibJS: Make Array.prototype.lastIndexOf() genericLinus Groh
2020-05-24LibJS: Make Array.prototype.indexOf() genericLinus Groh
2020-05-24Demos: Add Eyes demoSergey Bugaev
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-24LibGfx: Add Painter::fill_ellipse()Sergey Bugaev
2020-05-24LibJS: Use the new math constantsSergey Bugaev
Instead of evaluating their values at runtime.
2020-05-24LibM: Add M_SQRT2 and M_SQRT1_2Sergey Bugaev
2020-05-24LibJS: add Array.prototype.reduceRight()Marcin Gasperowicz
This patch adds `Array.prototype.reduceRight()` method to LibJS Runtime. The implementation is (to my best knowledge) conformant to https://tc39.es/ecma262/#sec-array.prototype.reduceright. Short test in `LibJS/Tests/Array.prototype-generic-functions.js` demonstrates that the function can be applied to other objects besides `Array`.
2020-05-24LibJS: Refactor AccessorLinus Groh
This changes Accessor's m_{getter,setter} from Value to Function* which seems like a better API to me - a getter/setter must either be a function or missing, and the creation of an accessor with other values must be prevented by the parser and Object.defineProperty() anyway. Also add Accessor::set_{getter,setter}() so we can reuse an already created accessor when evaluating an ObjectExpression with getter/setter shorthand syntax.
2020-05-24Browser: Add new icons for the add/remove bookmark toolbar buttonAndreas Kling
Here's a freshly drawn icon without antialiasing so it fits better with the system visual style. :^)
2020-05-24LibWeb: Fix copy-paste error in HTMLDocumentParser (#2358)Daniel Gustafsson
When watching the video of the new HTML parser I noticed a small copy and paste error. In one of the cases in `handle_after_head` the code was checking for end tags when it should check for start tags. I haven't tested this change, just looking at the spec.
2020-05-24functrace: use Core::ArgsParserItamar
2020-05-24Debugger: Use Core::ArgsParserItamar
2020-05-24Debugger: Re-introduce the sdb aliasItamar
2020-05-24LibDebug: Make sure to not single step the program twiceItamar
After hitting a breakpoint, we single step the program to execute the instruction we breaked on and re-enable the breakpoint. We also single step the program when the user of LibDebug returned a DebugDecision::SingleStep. Previously, if we hit a breakpoint and then were asked to to a DebugDecision::SingleStep, we would single step twice. This bug can actually crash programs, because it might cause us to skip over a patched INT3 instruction in the second single-step. Interestingely enough, this bug manifested as functrace crashing certain programs: after hitting a breakpoint on a CALL instruction, functrace single steps the program to see where the CALL jumps to (yes, this can be optimized :D). functrace crashed when a CALL instruction jumps to another CALL, because it inserts breakpoints on CALL instructions, and so the INT3 in the 2nd CALL was skipped over, and we executed garbage :). This commit fixes this by making sure not to single-step twice.
2020-05-24LibDebug: Tolerate missing debug informationItamar
We previously crashed when programs were missing certain debug information.
2020-05-24LibWeb: Improve support for white-space CSS property (#2348)Jack Byrne
Add reasonable support for all values of white-space CSS property. Values of the property are translated into a 3-tuple of rules: do_collapse: whether whitespace is to be collapsed do_wrap_lines: whether to wrap on word boundaries when lines get too long do_wrap_breaks: whether to wrap on linebreaks The previously separate handling of per-line splitting and per-word splitting have been unified. The Word structure is now a more general Chunk, which represents different amounts of text depending on splitting rules.
2020-05-24LibWeb: HtmlTokenizer.cpp: fix ON_WHITESPACE macroEmanuele Torre
The "audible bell" character ('\a' U+0007) was treated as whitespace while the "line feed" character ('\n' U+000a) was not. '\a' is no longer considered whitespace. '\n' is now considered whitespace.
2020-05-24Browser: Set the console's interpreter when a tab's document changesFalseHonesty
Previously, once a console was opened for a tab, its interpreter would never change, leaving it with a stale interpreter. Now, when the tab's HtmlView loads a new document, the console will receive that document's interpreter.
2020-05-24LibWeb: Add hook to HtmlView when a new document is setFalseHonesty
2020-05-24Browser: Add JS ConsoleFalseHonesty
The JavaScript console can be opened with Control+I, or using the menu option. The console is currently a text box with JS syntax highlighting which will send commands to the document's interpreter. All output is printed to an HTML view in the console. The output is an HtmlView to easily allow complex output, such as expandable views for JS Objects in the long run.
2020-05-24LibGUI: Use word breaks to intelligently navigate a TextEditorFalseHonesty
Previously, holding Control while using the left/right arrow keys to navigate through a TextEditor would only be helpful if the document had spans. Now, if there are no spans, it will navigate to the next "word break", defined to be the threshold where text changes from alphanumeric to non-alphanumeric, or vice versa.
2020-05-24LibGUI: Add word break locator methods to TextDocumentFalseHonesty
TextDocument now has utilities to locate a word break both before and after any TextPosition.
2020-05-24Keymap: Added keymap file for Japanese keyboard, without IMEMagentah
configuration keys.
2020-05-24LibWeb: Implement enough HTML parsing to handle a small simple DOM :^)Andreas Kling
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-24LibWeb: Start building the tree building part of the new HTML parserAndreas Kling
This patch adds a new HTMLDocumentParser class. It keeps a tokenizer object internally and feeds itself with one token at a time from it. The names and idioms in this class are expressed as closely to the actual HTML parsing spec as possible, to make development as easy and bug free as possible. :^) This is going to become pretty large, but it's pretty cool!
2020-05-24LibWeb: Add HTMLFormElement to forwarding headerAndreas Kling