summaryrefslogtreecommitdiff
path: root/Base
AgeCommit message (Collapse)Author
2020-03-19LibWeb: Add <canvas> element and start fleshing out CRC2DAndreas Kling
This patch adds HTMLCanvasElement along with a LayoutCanvas object. The DOM and layout parts are very similar to <img> elements. The <canvas> element holds a Gfx::Bitmap which is sized according to the "width" and "height" attributes on the element. Calling .getContext("2d") on a <canvas> element gives you a context object that draws into the underlying Gfx::Bitmap of the <canvas>. The context weakly points to the <canvas> which allows it to outlive the canvas element if needed. This is really quite cool. :^)
2020-03-19LibJS: Prefer FunctionDeclaration if a statement begins with "function"Andreas Kling
2020-03-18LibWeb: Fire "mousedown" and "mousemove" events in the DOM :^)Andreas Kling
2020-03-18LibWeb: Start working on DOM event supportAndreas Kling
This patch adds the EventTarget class and makes Node inherit from it. You can register event listeners on an EventTarget, and when you call dispatch_event() on it, the event listeners will get invoked. An event listener is basically a wrapper around a JS::Function*. This is pretty far from how DOM events should eventually work, but it's a place to start and we'll build more on top of this. :^)
2020-03-18SystemServer: Add WorkingDirectory supportItamar
Services can now have their initial working directory configured via `SystemServer.ini`. This commit also configures Terminal's working directory to be /home/anon
2020-03-17LibJS: Implement typeof operatorConrad Pankoff
2020-03-17Base: Add Joi thememarprok
2020-03-16LibJS: Replace the global print() function with console.log() :^)Andreas Kling
2020-03-16js: Fix simple scopes example0xtechnobabble
Weirdly enough, the "simple-scopes" test doesn't return undefined anymore, at first I thought the scoping was somehow broken, turns out the interpreter doesn't consider the returned y as the last evaluated value anymore, possibly because it's undefined (?).
2020-03-16LibJS: Implement abstract equality and inequality0xtechnobabble
2020-03-16LibGUI: Use themes for syntax highlightingOriko
2020-03-16Keymap: Add a US Dvorak keyboard layoutPřemysl Janouch
It is yet undecided how to name regional variants.
2020-03-15LibJS: Add ObjectPrototype and implement hasOwnProperty()Andreas Kling
All Objects will now have ObjectPrototype as their prototype, unless overridden.
2020-03-15LibJS: Add StringPrototype and make it the prototype of StringObjectAndreas Kling
This patch adds String.prototype.charAt() to demonstrate that prototype property lookup works, and that you can call a prototype function on an object, and it will do what you expect. :^)
2020-03-15Keymap: Add DE keymap layoutmyphs
This makes it easier to work with the german keyboard layout. Some keys are left unset because their corresponding letters aren't supported yet.
2020-03-14LibJS: Unescape strings in Token::string_value()Stephan Unverwerth
2020-03-14LibWeb: Implement Document.getElementById()Andreas Kling
This was pleasantly simple! We don't have an ElementWrapper yet, so it just returns a NodeWrapper, but it still basically works. :^)
2020-03-14LibWeb: Start implementing basic JavaScript DOM bindingsAndreas Kling
This patch introduces the Wrapper and Wrappable classes. Node now inherits from Wrappable, and can be wrapped in a GC-allocated Bindings::NodeWrapper object. The only property we expose right now is the very simple nodeName property. When a Document's JS::Interpreter is first instantiated, we add a "document" property with a DocumentWrapper object to the global object. This is pretty cool! :^)
2020-03-14LibWeb: Parse <script> elements and run any JavaScript found insideAndreas Kling
This patch begins integrating LibJS into LibWeb. Document holds the JS::Interpreter for now, and it is created on demand when you first call Document::interpreter(). We also add a simple "alert()" function to the global object.
2020-03-14LibJS: Lex single quote strings, escaped chars and unterminated stringsStephan Unverwerth
2020-03-14LibJS: Add operator precedence parsingStephan Unverwerth
Obey precedence and associativity rules when parsing expressions with chained operators.
2020-03-13HackStudio: Add Javascript projectsOriko
2020-03-13Solitaire: Add about dialog and 32x32 iconTill Mayer
2020-03-12LibJS: Replace $gc() hack with a NativeFunction on the global objectAndreas Kling
To make this work, also start passing Interpreter& to native functions.
2020-03-12LibJS: Add NativeFunction, a callable wrapper around a C++ lambdaAndreas Kling
This can be used to implement arbitrary functionality, callable from JavaScript. To make this work, I had to change the way CallExpression passes arguments to the callee. Instead of a HashMap<String, Value>, we now pass an ordered list of Argument { String name; Value value; }. This patch includes a native "print(argument)" function. :^)
2020-03-12Meta: Add for-loop JavaScript test programConrad Pankoff
2020-03-12LibJS: Add test for function with argumentshowar6hill
2020-03-12LibJS: Implement basic MemberExpression parsingAndreas Kling
At last we can parse "hello friends".length :^)
2020-03-12js: Take the script file as a command-line argumentAndreas Kling
Now that we have the beginnings of a parser, let's take the script to run as a command-line argument and move all the test scripts into /home/anon/js :^) To run a script, simply use "js": $ js my-script.js To get an AST dump before execution, you can use "js -A"
2020-03-09Games: Added solitaireTill Mayer
Added a solitaire game. Currently there are graphics missing on some of the cards, but the game is fully functional. Press F12 to show the game-over animation manually.
2020-03-07LibWeb: Rename directory LibHTML => LibWebAndreas Kling
Let's rename this to LibWeb since it aims to provide more parts of the web platform than just HTML. :^)
2020-03-07LibCore: Remove all remaining C prefix referencesShannon Booth
LibCore's GZip is also moved into the Core namespace with this change.
2020-03-05Keymap: Add ABNT2 keymap (#1347)Andreas Kling
2020-03-05Keymap: Add GB keymap layoutBenJilks
Replaced GBP with a hash symbol, as unicode is not supported
2020-03-05Inspector: Add special icon for timer objectsAndreas Kling
2020-03-05Inspector: Add a special icon for layout classesAndreas Kling
2020-03-03Base: Add anon user to the phys groupAndreas Kling
This allows anon to shut down and reboot the system. Fixes #775.
2020-03-01Keymaps: Added keymap for norwegian keyboardsMathias Danielsen
2020-02-29About: Adopt Buggie :^)Andreas Kling
Simon Struthers drew a SerenityOS ladybug and since it's so cute, I figured we could adopt it!
2020-02-28Kernel+LibC: Rename shared buffer syscalls to use a prefixAndreas Kling
This feels a lot more consistent and Unixy: create_shared_buffer() => shbuf_create() share_buffer_with() => shbuf_allow_pid() share_buffer_globally() => shbuf_allow_all() get_shared_buffer() => shbuf_get() release_shared_buffer() => shbuf_release() seal_shared_buffer() => shbuf_seal() get_shared_buffer_size() => shbuf_get_size() Also, "shared_buffer_id" is shortened to "shbuf_id" all around.
2020-02-23SystemMenu: Move SystemDialog into SystemMenu and remove INI configthatlittlegit
I probably would've done INI config removal in another commit, but it fit well here because I didn't want to pledge wpath for SystemMenu if I didn't need to. Frankly, that's something that I think should be done: allow ConfigFile to be used read-only.
2020-02-23SystemDialog+Base: Add icon for SystemDialogthatlittlegit
2020-02-23SystemDialog: Revamp to be more Win95-likethatlittlegit
Only thing I don't like right now is the fact that we rely on the shell.
2020-02-20Base: Add a man page for lspcihowar6hill
2020-02-20host: Use ArgsParser to parse arguments, and add man page (#1252)howar6hill
Fixes #1246.
2020-02-20LibGfx+LibGUI: Allow theming the focus outline of AbstractButtonTibor Nagy
2020-02-20LibGfx+LibGUI: Allow theming the text cursorTibor Nagy
2020-02-19Userland: Add userdel program (#1217)howar6hill
2020-02-19Base: Add ruler colors to system themesTibor Nagy
2020-02-18Man: Use ArgsParser to parse argumentshowar6hill