summaryrefslogtreecommitdiff
path: root/Libraries
AgeCommit message (Collapse)Author
2020-04-23DesktopServices: Add irc URL protocol handlerBrendan Coles
2020-04-23LibJS: Implement Array length setterLinus Groh
2020-04-23LibWeb: Use proper length values for CanvasRenderingContext2D functionsEmanuele Torre
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-22LibLine: Do not ignore ^C and do not finish() after interruptAnotherTest
2020-04-22LibGUI: Added error events to FileSystemModelangel
This will allow us to catch errors early on FileManager
2020-04-22LibJS: Parse while statementsLinus Groh
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-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-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-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-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-21LibJS: Rename global_call_fram to global_call_frameLinus Groh
Seems to be a typo.
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 :^)
2020-04-20LibLine: Handle ctrl-{left,right}_arrow by jumping between wordsAnotherTest
Words are delimited by spaces. Perhaps this should be a configurable behaviour?
2020-04-20LibVT: Handle ctrl+arrow keysAnotherTest
Prior to this commit, we would treat them the same.
2020-04-20LibJS: Add JSDoc to test-common.jsLinus Groh
2020-04-20LibLine: Properly handle ^C and do not return after being interruptedAnotherTest
this commit fixes a...surprisingly long-standing ^C bug, where it would return the buffer instead of voiding it and starting over :^)
2020-04-20LibLine: Implement searching via up/down arrow keysAnotherTest
2020-04-20LibLine: Implement ^R searchingAnotherTest
This commit adds searching in the editor history with ^R. It does so by instantiating...another Line::Editor inside the current Line::Editor :^)
2020-04-20LibJS: Add Array.prototype.reverseKesse Jones
2020-04-20Debugger: Add source-level operationsItamar
- Print current source location, if available - Add a breakpoint at a source location - "sl" command - step to the next line in source
2020-04-20LibDebug: Parse line number information from DWARF formatItamar
DWARF line number information, if generated, is stored in the .debug_line section of an object file. The information is encoded as instructions for a VM that is defined in the DWARF specification. By executing these instructions, we can extract the encoded line number information.
2020-04-20LibELF: Make ELF::Loader RefCountedItamar
2020-04-20FileManager+LibGUI: Allow drop on entire DirectoryViewangel
Previously, drag and drop would only work when dragging between node items on a DirectoryView. This commit makes it possible to drag files to the empty area of the DirectoryView and copy files more easily between windows.
2020-04-20LibJS: Add Array.prototype.indexOfKesse Jones
2020-04-20LibJS: Add tests for String.prototype.repeat()Linus Groh
2020-04-20LibJS: Throw RangeError in String.prototype.repeat() if count is invalidLinus Groh
2020-04-20LibJS: Add assertThrowsError() test functionLinus Groh
2020-04-19LibCore: Add StandardPaths thing to retrieve various standard locationsAndreas Kling
Fixes #1853.
2020-04-19LibLine: Clear trailing trivia when cycling if the suggestion has anyAnotherTest
2020-04-19LibGfx: Let the PNG decoder fail if the header is missing or too shortAndreas Kling
2020-04-19LibJS: Do not assume that a call frame exists in {get,set}_variableAnotherTest
2020-04-19LibJS: Allow passing "js" flags to run-testsAndreas Kling
This allows us to run "run-tests -g" for testing with GC after every heap allocation. This may flush out bugs that would otherwise not occur if GC'ing only occasionally.