summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2021-07-10LibVideo/VP9: Finish implementing block decoding (6.4.4)FalseHonesty
Though technically block decoding calls into some other incomplete methods, so it isn't functionally complete yet. However, we are very close to being done with the 6.4.X sections :)
2021-07-10LibVideo/VP9: Implement parsing Token and MoreCoefs treesFalseHonesty
These elements were being used in the new tokens implementation, so support for them in the TreeParser has been added. Additionally, this uncovered a bug where the nonzero contexts were being cleared with the wrong size.
2021-07-10LibVideo/VP9: Implement token parsing (6.4.24-6.4.26)FalseHonesty
Note that this now requires a couple new syntax types to be parsed in the TreeParser, so a follow-up commit will implement that behavior.
2021-07-10LibVideo/VP9: Implement sections 6.1.2 and 8.4.1-8.4.4FalseHonesty
These section implement the behavior to refresh the probability tables after parsing a frame.
2021-07-10LibVideo/VP9: Begin reference frame update process (8.10)FalseHonesty
This was required for correctly parsing more than one frame's height/width data properly. Additionally, start handling failure a little more gracefully. Since we don't fully parse a tile before starting to parse the next tile, we will now no longer make it past the first tile mark, meaning we should not handle that scenario well.
2021-07-10LibVideo/VP9: Rename Decoder -> Parser & create an actual Decoder classFalseHonesty
The class that was previously named Decoder handled section 6.X.X of the spec, which actually deals with parsing out the syntax of the data, not the actual decoding logic which is specified in section 8.X.X. The new Decoder class will be in charge of owning and running the Parser, as well as implementing all of the decoding behavior.
2021-07-10LibVideo/VP9: Start parsing residuals (6.4.21-6.4.23)FalseHonesty
Additionally, this uncovered a couple bugs with existing code, so those have been fixed. Currently, parsing a whole video does fail because we are now using a new calculation for frame width, but it hasn't been fully implemented yet.
2021-07-10LibVideo/VP9: Refactor how above & left contexts are stored & clearedFalseHonesty
These make more sense as Vectors, and it makes it much easier to manage their sizing.
2021-07-10LibVideo/VP9: Specify which spec section defines certain behaviorsFalseHonesty
2021-07-10LibVideo/VP9: Clean up formatting & use range-based for loopsFalseHonesty
2021-07-10LibVideo/VP9: Implement simple FIXMEs that use now supported dataFalseHonesty
2021-07-10LibVideo/VP9: Implement more TreeParser probability calculationsFalseHonesty
Now TreeParser has mostly complete probability calculation implementations for all currently used syntax elements. Some of these calculation methods aren't actually finished because they use data we have yet to parse in the Decoder, but they're close to finished.
2021-07-10LibVideo/VP9: Implement syntax element counting for supported elementsFalseHonesty
With the progress made in the Decoder thus far, we have the ability to support most of the syntax element counters in the tree parser. Additionally, it will now crash when trying to count unsupported elements.
2021-07-10WindowServer: Flush display buffer when flashingTom
If the device requires a flush and we modify the front buffer, we need to flush those changes to the front buffer. This makes the flashing work using the VirtIOGPU. Also fix a minor bug where we flushed the front buffer instead of the back buffer after flipping, which caused the VirtIOGPU to not work as expected when using the SDL backend and disabling buffer flipping.
2021-07-10PixelPaint: Check modifier on mousemove in LineToolMarcus Nilsson
Previously m_constrain_angle could end up not being reset if the keyup-event was lost, for example when opening a dialog. Instead check the modifiers in on_mousemove().
2021-07-10SpaceAnalyzer: Show folder total sizeKarol Kosek
2021-07-10LibJS: Pad abs(year) < 1000 with zeros in Date.prototype.toString()Linus Groh
2021-07-10LibJS: Make parse_simplified_iso8601() use Optional<int> instead of -1Linus Groh
...for the non-success state. This fixes a crash when parsing dates with the year -1, as we would assert successful parsing ("year != -1"). Mixing Optional and -1 seems worse and more complicated than just using Optional for all the values, so I did that instead.
2021-07-10LibJS: Make Date.now() return a floor()'d milliseconds valueLinus Groh
It is defined as follows: 21.4.3.1 Date.now ( ) https://tc39.es/ecma262/#sec-date.now The now function returns the time value designating the UTC date and time of the occurrence of the call to now. "Time value" is defined as: 21.4.1.1 Time Values and Time Range https://tc39.es/ecma262/#sec-time-values-and-time-range An ECMAScript time value is a Number, either a finite integral Number representing an instant in time to millisecond precision or NaN representing no specific instant. By flooring the value we match the behavior in the Temporal proposal's Temporal.ZonedDateTime.prototype.epochMilliseconds getter: 4. Let ms be RoundTowardsZero(ℝ(ns) / 10^6). With that being defined as: 13.30 RoundTowardsZero ( x ) https://tc39.es/proposal-temporal/#sec-temporal-roundtowardszero 1. Return the mathematical value that is the same sign as x and whose magnitude is floor(abs(x)). This is makes the last of the currently 15 Temporal tests in test262 work, which compares Temporal.now.instant() with Date.now() :^)
2021-07-10expr: Make Match expressions comply with POSIXAli Mohammad Pur
They should print the contents of capture group 1, if it exists.
2021-07-10LibRegex: Use the parser state capture group count in BREAli Mohammad Pur
Otherwise the users won't know how many capture groups are in the parsed regular expression.
2021-07-10LibRegex: Correctly parse BRE bracket expressionsAli Mohammad Pur
Commonly, bracket expressions are in fact, enclosed in brackets.
2021-07-10chres: Make screen an optional parameterNico Weber
Most people have only one screen.
2021-07-10chres: Unbreak scale factor setting after aa15bf81e48637Nico Weber
2021-07-10Utilities: Use alpha channel instead of opacity in shotAziz Berkay Yesilyurt
The way overlay was drawn is not the correct way to achieve window transparency in selection mode. With this change, shot window becomes truely transparent.
2021-07-10LibGUI: Only repaint the affected indices on AbstractView item hoverAndreas Kling
Previously, moving the cursor over items in an item view would cause it to repaint itself completely. Now we only repaint the two affected items (the old hovered item and the new hovered item.)
2021-07-10LibGUI: Tighten paint invalidation rects in item views :^)Andreas Kling
AbstractView now has a paint_invalidation_rect(index) function that subclasses can override to provide a tighter invalidation rect for an index.
2021-07-10LibGUI: Add AbstractView::editing_rect() to allow custom editing rectsAndreas Kling
This allows view classes to customize the editing rect for an index.
2021-07-10LibJS: Implement RegExp.prototype.hasIndices proposalTimothy Flynn
https://tc39.es/proposal-regexp-match-indices/
2021-07-10LibJS: Parse the RegExp.prototype.hasIndices flagTimothy Flynn
2021-07-10LibJS: Remove ECMAScriptFlags value from JS_ENUMERATE_REGEXP_FLAGSTimothy Flynn
All regex flags supported by LibJS currently correspond to a LibRegex option, but this is not the case for the RegExp.prototype.hasIndices proposal, which is handled entirely in RegExpBuiltinExec. Remove the flag mapping to prepare for this. This incurs a bit of an optimization loss in the flag getters, as we now do a substring search, but we can revisit the getter implementation if it becomes an issue.
2021-07-10LibJS: Implement RegExp.prototype.source according to the specTimothy Flynn
RegExp.prototype.source must check if "this" object is the RegExp.prototype object before raising a TypeError.
2021-07-10LibJS: Implement RegExp.prototype.<flag name> according to the specTimothy Flynn
The flag getters (e.g. RegExp.prototype.unicode) must specially handle when "this" object is the RegExp.prototype object.
2021-07-10LibJS: Add Temporal.Instant.prototype.valueOfIdan Horowitz
2021-07-10LibJS: Add a couple of missing specification links to Temporal.InstantIdan Horowitz
2021-07-10FontEditor: Tweak offensive padding :^)Andreas Kling
2021-07-10Terminal: Put debug spam in unimplemented_control_code() behind a flagAndreas Kling
2021-07-10TextEditor: Remove unused includesTimothy
2021-07-10LibGUI: Convert TextEditor to east-const styleTimothy
2021-07-10TextEditor: Convert to east-const styleTimothy
2021-07-10TextEditor+LibGUI: Use unveil and FileSystemAccessServerTimothy
Making use of the new FileSystemAccessServer we are able to use unveil without restricting our ability to open and save files. A file argument will be unveiled automatically however all other files require user action via the FileSystemAccessServer to gain access.
2021-07-10FileSystemAccessServer: Add service for accessing veiled files nicelyTimothy
Adds new service FileSystemAccessServer which allows programs to request a file descriptor for any file on the file system. The user can be prompted to choose the path with a FilePicker, or the path can be provided by the application which will show a MessageBox showing the pid and name of the calling process and allows the user to approve or deny the request.
2021-07-10Taskbar: Scale window icon bitmap if it's not 16x16LuK1337
Fixes: #5806
2021-07-10grep: Use Basic POSIX regexps by default and make -E not the defaultAli Mohammad Pur
2021-07-10expr: Use Basic Posix regular expressionsAli Mohammad Pur
Dr.POSIX requires expr to use BREs, so let's use BREs. Fixes #8506.
2021-07-10LibRegex: Add support for non-extended regular expressions in regcomp()Ali Mohammad Pur
Fixes part of #8506.
2021-07-10LibRegex: Add support for the Basic POSIX regular expressionsAli Mohammad Pur
This implements the internal regex stuff for #8506.
2021-07-10LibRegex: Make the bytecode transformation functions staticAli Mohammad Pur
They were pretty confusing when compared with other non-transforming functions.
2021-07-10LibWeb: Avoid HashMap copy in BrowsingContext::set_frame_nesting_levelsAndreas Kling
2021-07-10Userland: Add fopen error handling to lessRalf Donau