summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-23LibJS: Implement Array length setterLinus Groh
2020-04-23LibWeb: Use proper length values for CanvasRenderingContext2D functionsEmanuele Torre
2020-04-23Base: Close head tag in canvas-path.html and give the document a titleEmanuele Torre
2020-04-22TextEditor: Add "Find Previous" 16x16 iconBrendan Coles
2020-04-22LibJS: Improve UpdateExpression::execute()Linus Groh
- Let undefined variables throw a ReferenceError by using Identifier::execute() rather than doing variable lookup manually and ASSERT()ing - Coerce value to number rather than ASSERT()ing - Make code DRY - Add tests
2020-04-22LibJS: Add Array.prototype.lastIndexOfKesse Jones
2020-04-22FileManager: Fix buildAndreas Kling
2020-04-22Kernel: Make Process and Thread non-copyable and non-movableAndreas Kling
2020-04-22AK: Tweak exchange() implementationAndreas Kling
Make it constexpr and do perfect forwarding.
2020-04-22LibLine: Do not ignore ^C and do not finish() after interruptAnotherTest
2020-04-22FileManager: Exit the application cleanly when failing to open initial directoryangel
Co-Authored-By: Andreas Kling <kling@serenityos.org>
2020-04-22FileManager: Graceful handling of access errorsangel
A neat error message is displayed when failing to open a directory!
2020-04-22LibGUI: Added error events to FileSystemModelangel
This will allow us to catch errors early on FileManager
2020-04-22Base: Add missing Syntax color settings for Joi themeBrendan Coles
2020-04-22LibJS: Parse while statementsLinus Groh
2020-04-22Base: Add Sunshine themeBrendan Coles
2020-04-22LibWeb: support confirm() with no argumentsNick Tiberi
2020-04-22LibLine: Avoid OOB access when one of the suggestions is the prefixAnotherTest
2020-04-22LibWeb: Invalidate the canvas element after put_image_data()Andreas Kling
This makes sure we repaint it right away so we can see the changes.
2020-04-22WindowServer+LibGUI: Notify DisplayLinks at 60 fps no matter whatAndreas Kling
The original implementation only sent out notifications when there was something being drawn on screen. If nothing was going on, we'd get too lazy and just not notify display links. This obviously break requestAnimationFrame(), so now we just drive the DisplayLinks at 60 fps no matter what. :^)
2020-04-21LibWeb: Add ImageData objects and implement 2D context putImageData()Andreas Kling
An ImageData is a wrapper around a Bitmap wrapper around a JS::Uint8ClampedArray.
2020-04-21LibWeb: Hack requestAnimationFrame() to provide a (very fake) timestampAndreas Kling
2020-04-21LibJS: Add Uint8ClampedArray :^)Andreas Kling
This is a special kind of byte array that clamps its values to 0...255 It will be used for HTML ImageData objects. I made Object::put_by_index() and get_by_index() virtual for this. We'll probably need to make non-numeric property name lookups virtual as well, but this solves my current problem well enough.
2020-04-21WindowServer+SystemMenu: Check the current system theme on startupAndreas Kling
2020-04-21SystemMenu: Make the system theme menu items checkable (and exclusive)Andreas Kling
2020-04-21LibGUI: Make it easier to create checkable GUI::ActionsAndreas Kling
This patch adds GUI::Action::create_checkable() helpers that work just like the existing create() helpers, but the actions become checkable(!) Clients are no longer required to manage the checked state of their actions manually, but instead they will be checked/unchecked as needed by GUI::Action itself before the activation hook is fired.
2020-04-21WindowServer: Allow the system menu to be open when a modal is shownangel
2020-04-21WindowServer: Don't process menu bar events when modal is openangel
This prevents accesing the parent window menubar when a modal is currently open, which was not a desired behavior.
2020-04-21WindowServer: Don't ignore modal events when showing menusangel
PR #1495 fixes #1464 but only accounts for window menus. In File Manager, for example, attempting to pop up the context menu on the file name text box of the properties modal window, will result in the same behavior. Removing the code altogether solves the problem, altough I'm not sure if it could have any bad implications. I was thinking it might allow interaction with a parent window menu if it remains open just before the popup window is shown, but I have not seen a way to replicate this behavior.
2020-04-21LibGUI: Make MenuBar a Core::ObjectAndreas Kling
This makes it show up in Inspector with all the menus inside it. :^)
2020-04-21LibCore: Make Core::File::open() return a Result<NNRP<File>, String>Andreas Kling
It was impractical to return a RefPtr<File> since that left us no way to extract the error string. This is usually needed for the UI, so the old static open() got basically no use.
2020-04-21AK: Simplify Result class so we can start using itAndreas Kling
There were some ideas about how to use this class but we never actually started using it, so let's just simplify it and get it ready for use. The basic idea is: a function returns a Result<ValueType, ErrorType>. Callers check if the result object is_error(). If so, an ErrorType can be fetched with the error() getter. Otherwise, a ValueType is fetched with the value() getter. That's it. :^)
2020-04-21AK: Remove unused Error templateAndreas Kling
2020-04-21WindowServer: Unset active input window on active window change (#1901)angel
This was not done previously and resulted in modal windows not being able to accept input unless they were clicked one time if their parent windows were the active input window.
2020-04-21LibJS: Implement Function.prototype.bind()Jack Karamanian
2020-04-21LibJS: Prepend callee's bound arguments to the CallFrame and set theJack Karamanian
this_value to the callee's bound |this| in CallExpression::execute()
2020-04-21LibJS: Allow Function objects to be constructed with a bound |this|Jack Karamanian
value and bound arguments This allows Function objects produced by Function.prototype.bind, as well as arrow functions to track their |this| values and bound arguments.
2020-04-21PaintBrush: Initial support for transparency. (#1883)Nicolas Van Bossuyt
2020-04-21Base: Add QuickShow application to system menuHüseyin ASLITÜRK
2020-04-21LibGUI: MessageBox change height to icon croppingHüseyin ASLITÜRK
2020-04-21LibGUI: Don't accelerate TextEditor autoscroll on wiggle (#1897)Valtteri Koskivuori
This little tweak fixes the issue where the scrolling speeds up significantly if the user wiggles their cursor. Just something obvious I spotted while watching the video :^)
2020-04-21TextEditor: Add "Find Next" 16x16 iconBrendan Coles
2020-04-21LibJS: Rename global_call_fram to global_call_frameLinus Groh
Seems to be a typo.
2020-04-20Meta: Build Lagom js and run LibJS tests on TravisLinus Groh
2020-04-20LibJS: Let run-tests return 1 when not all tests passLinus Groh
2020-04-20LibGUI: Add Select all action to TextEditorangel
Previously, TextEditor processed the Select all command directly on the keydown event handler. For this reason, WindowManager would not process it as an action for the focused control and an action with the same keyboard shortcut from the parent could override the TextEditor's one even when it is focused. For instance, when pressing Ctrl+A on the FileManager's path bar, all files were selected instead, which is not the expected behavior. Now the Select all command is an actual action on TextEditor, so that WindowManager can process it correctly before any other actions. I also added an icon for it!
2020-04-20LibGUI: Fix unpleasant selection behavior when dragging far to the leftAndreas Kling
If you select some text and drag the cursor outside the widget on the left hand side, we would previously suddenly snap the selection cursor to the end of the line instead of keeping it at the start of the line as you would expect. This patch fixes that. :^)
2020-04-20LibGUI: Keep scrolling while drag-selecting outside a TextEditorAndreas Kling
If you start selecting text and move the cursor outside the TextEditor widget area without letting go of the mouse button, we will now keep scrolling a little bit every 100ms.
2020-04-20LibJS: Remove default parameter from assertThrowsError() for nowAndreas Kling
We don't support these yet, and it broke all the tests. :^)
2020-04-20LibLine: Autocomplete already-complete suggestionsAnotherTest
Suggesting whatever the user has input is not quite sane :^)