summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-11LibWeb: Bring CSS::Parser::parse_as_comma_separated_list...() to specSam Atkins
Previous implementation was returning everything in a single Vector, when what we really want is a Vector of Vectors, one for each comma- separated part of the list.
2021-07-11LibWeb: Use EOF code point instead of Optional in CSS TokenizerSam Atkins
Optional seems like a good idea, but in many places we were not checking if it had a value, which was causing crashes when the Tokenizer was given malformed input. Using an EOF value along with is_eof() makes things a lot simpler.
2021-07-11LibWeb: Convert CSS::Parser methods to return desired typesSam Atkins
This is very much stubbed out for now. Most notably is Parser::convert_rule() where most of the conversion will happen from the parser's internal rule classes to CSSRule and its children.
2021-07-11LibWeb: Remove broken CSS:Parser::is_combinator()Sam Atkins
A single DELIM token is only one character long, so the check for a "||" DELIM didn't work. We now just do the check inline.
2021-07-11LibWeb: Fix greedy CSS Tokenizer whitespace parsingSam Atkins
Whitespace parsing was too greedy, consuming the first non- whitespace character after it.
2021-07-11LibWeb: Fix Off-by-one error in CSS::Parser::next_token()Sam Atkins
2021-07-11LibWeb: Convert QualifiedStyleRule to a RefPtr type in new ParserSam Atkins
2021-07-11LibWeb: Add new CSS attribute match types to new parserSam Atkins
2021-07-11LibWeb: Add remaining CSS AttributeMatchTypesSam Atkins
This adds: - ContainsString [att*=val] - StartsWithSegment [att|=val] - StartsWithString [att^=val] - EndsWithString [att$=val] Renamed AttributeMatchType::Contains to ::ContainsWord for clarity.
2021-07-11LibWeb: Use StyleComponentValueRules for StyleBlockRule's valuesSam Atkins
Noticed while doing this that attribute selectors have two different ways of saying "starts with", and so AttributeMatchType::StartsWith needs a better name. But I'll change that when I add the missing types. These class names are a mouthful to fit in a commit message. :^)
2021-07-11LibWeb: Convert some CSS parser *Rule classes to using pointersSam Atkins
Previously these were all passed around by value, but some of them (StyleComponentValueRule and StyleBlockRule) want to include each other as fields, so this had to change.
2021-07-11LibWeb: Make CSS selector parsing use StyleComponentValueRulesSam Atkins
Also added some pseudo-classes that were handled in the deprecated parser: - :disabled - :enabled - :checked - :nth-child - :nth-last-child - :not
2021-07-11LibWeb: Add convenience methods to CSS::Parser::TokenSam Atkins
Some of these will be removed later, when we move to using is() exclusively.
2021-07-11LibWeb: Make CSS::QualifiedStyleRule's prelude StyleComponentValueRuleSam Atkins
2021-07-11LibJS: Uncomment Number.isInteger() tests that now pass :^)Linus Groh
2021-07-11LibJS: Uncomment Object.{freeze,seal}() tests that now pass :^)Linus Groh
2021-07-11LibJS: Use expected() instead of syntax_error("Expected ...")Ali Mohammad Pur
2021-07-11LibJS: Rework Identifier parsing to match the spec more closelyAli Mohammad Pur
2021-07-11LibJS: Add support for binding patterns in catch clausesAli Mohammad Pur
`try { ... } catch({a=foo}) {}` is valid, and now we parse and evaluate it correctly :^)
2021-07-11LibJS: Implement parsing and evaluation for AssignmentPatternsAli Mohammad Pur
e.g. `[...foo] = bar` can now be evaluated :^)
2021-07-11LibJS: Allow 'name = value' in object literals as the spec doesAli Mohammad Pur
Currently, these are _always_ a syntax error, future commits will make it valid in certain contexts.
2021-07-11LibJS: Fix computed property ending token in binding pattern parsingAli Mohammad Pur
The syntax is supposed to be '[expression]', not '[expression['.
2021-07-11LibJS: Treat default parameter values as being in function contextAli Mohammad Pur
e.g. `new.target` should be permitted in `function foo(x = new.target) {}`.
2021-07-11TableView: Do not select input on keydownJelle Raaijmakers
In the Spreadsheet app, selecting a cell and typing something (like "1") would create an empty editing delegate, set "1" as its value and immediately select the entire contents of the text box. If your goal was to type "123", that "1" was selected and will be replaced by "23". This changes the behavior of TableView to not select the editing delegate's contents if its creation was a result of a keydown event.
2021-07-11Meta: Use gl=off for QEMU by defaultGunnar Beutner
2021-07-11Meta: Use the SDL backend for QEMU on WindowsGunnar Beutner
2021-07-11Kernel: Use "new (nothrow)" for SharedInodeVMObjectAndreas Kling
2021-07-11Kernel: Standardize the header include style to 'include <Kernel/...>'Brian Gianforcaro
This is the overwhelming standard in the project, but there were some cases in the kernel which were not following it, lets fix those cases!
2021-07-11Kernel: Remove unused header includes in root kernel treeBrian Gianforcaro
2021-07-11Kernel: Remove unused header includes in Bus subtreeBrian Gianforcaro
2021-07-11Kernel: Remove unused header includes in ACPI subtreeBrian Gianforcaro
2021-07-11Kernel: Remove unused header includes in Heap subtreeBrian Gianforcaro
2021-07-11Kernel: Remove unused header includes in Graphics subtreeBrian Gianforcaro
2021-07-11Kernel: Remove unused header includes in Interrupts subtreeBrian Gianforcaro
2021-07-11Kernel: Remove unused header includes in TTY subtreeBrian Gianforcaro
2021-07-11Kernel: Remove unused header includes in Storage subtreeBrian Gianforcaro
2021-07-11Kernel: Remove unused header includes in Arch subtreeBrian Gianforcaro
2021-07-11Kernel: Remove unused header includes in FileSystem subtreeBrian Gianforcaro
2021-07-11Kernel: Remove unused header includes in Net subtreeBrian Gianforcaro
2021-07-11Kernel: Remove unused header includes in Devices subtreeBrian Gianforcaro
2021-07-11Kernel: Remove unused header includes in Time subtreeBrian Gianforcaro
2021-07-11Kernel: Remove unused header includes in VM subtreeBrian Gianforcaro
2021-07-11Meta: Only try to use SDL when there are multiple displaysx-yl
SDL brings with it an annoying issue whereby trying to resize the window before Serenity starts up prevents it from automatically resizing to fit the screen. This patch makes the previous behavior (i.e using the GTK backend) the default unless SERENITY_SCREENS is greater than 1.
2021-07-11Kernel: Fix condition on whether to initialize a display adapter or notLiav A
2021-07-11Kernel/Graphics: Move Intel graphics related code to a separate folderLiav A
2021-07-11SoundPlayer: Show the context menu right under the cursorKarol Kosek
The context menu used the mouse position by window, which resulted in a pop-up menu in the upper left corner of the screen.
2021-07-11Kernel: Print end-inclusive ranges in MemoryManager initializationAndrew Kaster
This brings the physical and virtual addresses printed to dmesg more in line with inclusive ranges printed elsewhere in the project.
2021-07-11Userland+Tests: Convert test_io to be LibTest basedAndrew Kaster
Add a few extra tests as well, to make sure we don't have any future TmpFs regressions.
2021-07-11Kernel: Fix TmpFS resize behavior around INT32_MAX for 32-bit systemsAndrew Kaster
We need some overflow checks due to the implementation of TmpFS. When size_t is 32 bits and off_t is 64 bits, we might overflow our KBuffer max size and confuse the KBuffer set_size code, causing a VERIFY failure. Make sure that resulting offset + size will fit in a size_t. Another constraint, we make sure that the resulting offset + size will be less than half of the maximum value of a size_t, because we double the KBuffer size each time we resize it.
2021-07-11Utilities+Tests: Convert test_efault to be LibTest basedAndrew Kaster
This test exposed a kernel panic in is_user_range calculations, so let's convert it to be a LibTest test so we can prevent regressions in mmap, the page allocator, and the memory manager.