summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-22LibWeb: Expose StyleValue parsing method in CSS ParserSam Atkins
Now that StyleResolver is going to deal with StyleComponentValueRules, it will need to be able to parse those into StyleValues, using `parse_css_value()`. Also added StyleValue::is_builtin_or_dynamic(), which returns true for values that are valid anywhere - things like `initial` and `inherit`, along with `var()`, `attr()` and `calc()` - which we want to test for easily.
2021-07-22LibWeb: Convert StyleResolver.{h,cpp} to east constSam Atkins
2021-07-22LibWeb: Generate a ValueListStyleValue when parsing CSS valuesSam Atkins
We skip whitespace tokens while doing this. As far as I can tell, whitespace is not useful once we get to this point, and it legally may or may not appear between any two tokens. By not including it in the ValueListStyleValue, we make the "if it has 3 parts"-type checks a lot more straightforward.
2021-07-22LibWeb: Add CSS ValueListStyleValueSam Atkins
As the new CSS parser tokenizes its input, we can no longer easily rely on a StringStyleValue for multi-value properties. (eg, border) ValueListStyleValue lets us wrap all of the ComponentValues that the Parser produced for one declaration, as a single StyleValue, to then be parsed into StyleValues by the StyleResolver. Originally, I wanted it to be a list of StyleValues, but several properties use syntax that makes use of non-StyleValue tokens, eg: ```css /* Syntax using a / */ font: 12px/14px sans-serif; /* Multiple values separated by commas */ background: url(catdog.png), url(another-image.jpg), blue; ``` Passing the ComponentValue tokens themselves means that all that information is carried over. The alternative might be to create a StyleValue subclass for each property and parse them fully inside the Parser. (eg, `FontStyleValue`) I decided against `ListStyleValue` as a name, to avoid confusion with list styles. It's not ideal, but names are hard.
2021-07-22LibAudio: Implement loaded_samples() in the FLAC LoaderKarol Kosek
This makes aplay show current playback position.
2021-07-22LibAudio: Read custom block sizes and sample rates as big endianKarol Kosek
This fixes stucking in a loop at the end of the file, as (a) custom block sizes are usually placed there, as the remaining size might not be simply calculated as a power of two, and (b) the number of bytes to read was incorrect (the program said the block size was 32525, where flac -a said it's actually 3200). Unfortunately, I couldn't trigger the bug for the sample rates, so it may be not true, but I'd doubt it, giving the fact that flac almost everywhere uses big endian numbers.
2021-07-22LibAudio: Don't read too much bytes in FLACKarol Kosek
This fixes crash when reading the end of the file. The logic is mostly borrowed from WavLoader.
2021-07-22AK: Rewrite {AnyOf,AllOf,Find}.h to use the IteratorPairWith conceptAli Mohammad Pur
This makes it so these algorithms are usable with arbitrary iterators, as opposed to just instances of AK::SimpleIterator. This commit also makes the requirement of ::index() in find_index() explicit, as previously it was accepting any iterator.
2021-07-22AK: Convert AnyOf/AllOf to east-const styleAli Mohammad Pur
2021-07-22AK: Implement {any,all}_of(IterableContainer&&, Predicate)Ali Mohammad Pur
This is a generally nicer-to-use version of the existing {any,all}_of() that doesn't require the user to explicitly provide two iterators. As a bonus, it also allows arbitrary iterators (as opposed to the hard requirement of providing SimpleIterators in the iterator version).
2021-07-22AK: Add a concept for iterable containersAli Mohammad Pur
This concept describes a type with a begin()/end() pair that can function as an iterator, given the following criteria: - The return type of begin() is comparable with the return type of end(), and the comparison (with operator!=) yields a bool - The object returned from begin() can be pre-incremented - The iterator has an operator*() implementation
2021-07-22AK: Add a deduction guide to VectorAli Mohammad Pur
Note that this does not generate a vector with inline capacity.
2021-07-22AK: Add a CommonType<Ts...> type traitAli Mohammad Pur
Also adds a simple-ish test for CommonType.
2021-07-22LibGUI: Handle multiple lines of text in MessageBoxTimothy
The total height of text is calculated from the glyph height, the number of lines, and a padding modifier.
2021-07-22Ports: Add ScummVM game SoltysKenneth Myhra
2021-07-22Ports: Add ScummVM game SfinxKenneth Myhra
2021-07-22Ports: Add ScummVM game Nippon Safes IncKenneth Myhra
2021-07-22Ports: Add ScummVM game Lure of the TemptressKenneth Myhra
2021-07-22Ports: Add ScummVM game DreamWebKenneth Myhra
2021-07-22Ports: Add ScummVM game Dráscula: The Vampire Strikes BackKenneth Myhra
2021-07-22Ports: Add ScummVM game Hi-Res Adventure #1: Mystery HouseKenneth Myhra
2021-07-22Ports: Add ScummVM game The Griffon LegendKenneth Myhra
2021-07-22Ports: Add ScummVM game Flight of the Amazon QueenKenneth Myhra
This adds the ScummVM game Flight of the Amazon Queen. Since all files are on the root of the zip file we utilize 'pre_fetch' to create the directory 'workdir'. In 'post_fetch' we move all the files into 'workdir' except for the zip file and 'package.sh'. Doing this lets us use the 'clean' command without any modifications.
2021-07-22Ports: Add overridable pre_fetch method in .port_include.shKenneth Myhra
This adds an overridable pre_fetch method which is called from the fetch method at the very beginning. The pre_fetch method can be overridden in your package.sh script so that you can do any necessary preparations before the fetch method is called.
2021-07-22Kernel: Fix the variable declaration for some linker script symbolsGunnar Beutner
Despite what the declaration would have us believe these are not "u8*". If they were we wouldn't have to use the & operator to get the address of them and then cast them to "u8*"/FlatPtr afterwards.
2021-07-22js: Implement pretty-printing of Temporal.PlainDateTime objectsLinus Groh
2021-07-22js: Implement pretty-printing of Temporal.PlainDate objectsLinus Groh
2021-07-22LibJS/Tests: Fix this value error test description in a PlainDate testLinus Groh
2021-07-22LibJS/Tests: Replace snake_case with pascalCase in two PlainDate testsLinus Groh
2021-07-22LibJS: Add missing step number in PlainDatePrototypeLinus Groh
2021-07-22LibJS: Implement Temporal.PlainDateTime.prototype.calendarLinus Groh
2021-07-22LibJS: Implement Temporal.PlainDateTime.prototype.valueOf()Linus Groh
2021-07-22LibJS: Implement Temporal.PlainDateTime.prototype[@@toStringTag]Linus Groh
2021-07-22LibJS: Start implementing Temporal.PlainDateTimeLinus Groh
This commit adds the PlainDateTime object itself, its constructor and prototype (currently empty), and the CreateTemporalDateTime abstract operation.
2021-07-22AK: Make TypeBoundsChecker<UnsignedIntegralT, FloatingPointT> workLinus Groh
By replacing MakeUnsigned<Source> in this specific specialization with a simple negativity check this now works for floating point source types. Previously it would attempt a comparison of the destination type and void.
2021-07-22LibJS: Add missing spec links to System{Instant,UTCEpochNanoseconds}Linus Groh
2021-07-22LibJS: Remove pointless 'explicit' from a couple of constructorsLinus Groh
2021-07-22LibJS: Fix value of Temporal.PlainDate.lengthLinus Groh
Should be 3 (year, month, day, optional calendar-like), not 0.
2021-07-22WindowServer: Fix rendering overlays when there's no desktop windowTom
We were missing to account for areas that are not covered by any window. If any of these areas are covered by an overlay we need to render the wallpaper into transparency and also render the overlay over them. This fixes not rendering overlays properly when e.g. the FileManager (desktop) crashed as there is no longer any window underneath.
2021-07-22Userland: Use /proc/kernel_base to determine the kernel base addressGunnar Beutner
This removes all the hard-coded kernel base addresses from userspace tools. One downside for this is that e.g. Profiler no longer uses a different color for kernel symbols when run as a non-root user.
2021-07-22Kernel: Add /proc/kernel_base (superuser only)Andreas Kling
This file contains the kernel base address as a decimal integer.
2021-07-22Kernel: Make committed physical page allocation return NonnullRefPtrAndreas Kling
Since we're taking from the committed set of pages, there should never be a reason for this call to fail. Also add a Badge to disallow taking committed pages from anywhere but the Region class.
2021-07-22LaunchServer: Remove debug spam about incoming connectionsAndreas Kling
2021-07-22FileOperation: Use LexicalPath::join() for all path joiningSam Atkins
2021-07-22FileManager: Switch FileOperationProgressWidget::did_error() to SV&Sam Atkins
2021-07-22FileManager: Show progress dialog for file deletionsSam Atkins
Progress dialogs are nice! :^) Showing a proper file-deletion animation would be nice, but that is outside the scope of my abilities.
2021-07-22FileOperation: Implement 'Delete' operationSam Atkins
2021-07-22FileOperation: Combine 'sources' and 'destination' CL argumentsSam Atkins
The upcoming 'Delete' operation has no destination, so this was the best solution we could come up with for now. Perhaps ArgsParser could support sub-commands, so we would define 'Copy', 'Move' and 'Delete' each as sub-commands with their own argument definitions. That would make things like git's variety of commands possible.
2021-07-22FileManager: Rename FileOperation::Cut to FileOperation::MoveSam Atkins
2021-07-22FileManager: Set file op progress window's text based on the operationSam Atkins