Commit graph

2559 commits

Author SHA1 Message Date
Dan Klishch 4578004ad6 JSSpecCompiler: Do not frame nodes with < and > when dumping AST
Let's not pretend we are outputting some invalid HTML.
2023-10-02 21:15:08 +02:00
Dan Klishch 14a86c8fd6 JSSpecCompiler: Elide nested TreeList nodes 2023-10-02 21:15:08 +02:00
Nico Weber 5e15c29e22 MacPDF: Use "MacPDF" in MainMenu.xib
I forgot to rename it there, whoops.
2023-09-30 19:37:39 -06:00
Nico Weber 76f0a09b5e MacPDF: Rename LagomPDFDocument to MacPDFDocument 2023-09-30 19:37:26 -06:00
Nico Weber f99771d46f MacPDF: Rename LagomPDFView to MacPDFView 2023-09-30 19:37:26 -06:00
Nico Weber a0b939cef4 MacPDF: Show correct page number in title bar after restore 2023-09-30 08:08:11 +02:00
Nico Weber e5283cd648 MacPDF: Define AK_DONT_REPLACE_STD
The bots complain that `forward()` could be either from libc++'s
include/c++/v1/__utility/forward.h or from AK/StdLibExtras.h.

I don't see this locally, but Ladybird also defined AK_DONT_REPLACE_STD,
so let's see if this does the trick.
2023-09-30 08:08:11 +02:00
Nico Weber e4d2aa82e2 MacPDF: Don't hardcode my serenity directory
https://www.africau.edu/images/default/sample.pdf is a good
document for testing that the built-in fonts load.
2023-09-30 08:08:11 +02:00
Nico Weber 8a7d3cb3f4 MacPDF: Override -[NSDocument isEntireFileLoaded]
We keep the NSData object around and stream for it, so that looks
like a good thing to do.
2023-09-30 08:08:11 +02:00
Nico Weber e9b0ebe55a MacPDF: Use Serenity license headers, remove Xcode boilerplate 2023-09-30 08:08:11 +02:00
Nico Weber 91e0438fca MacPDF: Make buildable from CMake
Use `Meta/serenity.sh build lagom MacPDF` to build, and either of
`open Build/lagom/bin/MacPDF.app` or
`Build/lagom/bin/MacPDF.app/Contents/MacOS/MacPDF` to run.

Xcode used to insert a bunch of things to Info.plist. Now it can
no longer do that, so manually put them there
2023-09-30 08:08:11 +02:00
Nico Weber 0216f34179 MacPDF: Move some files around
1. main.m is now main.mm
2. MainMenu.xib is now no longer in a Base.lproj subfolder
3. Remove SerenityPDF.entitlements since it won't be used in our CMake
   build
2023-09-30 08:08:11 +02:00
Nico Weber 5af30b8f63 MacPDF: Tweak "#pragma mark" comments 2023-09-30 08:08:11 +02:00
Nico Weber d2bda064da MacPDF: Pre-populate "Go to Page..." dialog with current page 2023-09-30 08:08:11 +02:00
Nico Weber e67d8cfb2a MacPDF: Show current page and page count in subtitle 2023-09-30 08:08:11 +02:00
Nico Weber bd19fcc039 MacPDF: Add a "Go to Page..." menu item
xib changes:
* Add a "Go" toplevel submenu
* Put a "Go to Page..." menu item in it
* Add showGoToPageDialog: to first responder
* Bind action of new menu item to that

The dialog is just a janky NSAlert for now.
2023-09-30 08:08:11 +02:00
Nico Weber fe4fe5ceff MacPDF: Support opening password-protected PDFs
This is a bit janky for several reasons:
* `initialize` is now no longer called on a bg thread
* sheet UI is janky both visually and from an implementation PoV

But hey, it works for now.
2023-09-30 08:08:11 +02:00
Nico Weber 97dbdbc9b0 MacPDF: Fill bitmap cache on demand in -[LagomPDFView drawRect]
Removes one needless paint on document restore, and makes sure
that window resizing invalidates the cache (since this now checks
the bitmap's size).
2023-09-30 08:08:11 +02:00
Nico Weber 2799dedb1b MacPDF: Save and restore current page
This works great when quitting and reopening the app,
but when closing a window and the reopening from Recent Files,
the current page isn't restored. In Preview.app, it is.
2023-09-30 08:08:11 +02:00
Nico Weber 5401f3aecc MacPDF: Clean up some includes 2023-09-30 08:08:11 +02:00
Nico Weber f5e81c8a99 MacPDF: Make pdfs without embedded fonts work again
A prior change removed some (very hacky) code needed for this
2023-09-30 08:08:11 +02:00
Nico Weber 87f31cab70 MacPDF: Remove application restore logging again 2023-09-30 08:08:11 +02:00
Nico Weber d3e8d87672 MacPDF: Add some temporary logging for application restoring
In the end, apparently I had "Close windows when quitting an
application" enabled in Desktop & Dock in System Settings. With that
turned off, it just worked (...but I still need to serialize the current
page in the view).

Even with it turned off, cmd-opt-q would "Quit and Keep Windows",
so I could've also used that for testing.
2023-09-30 08:08:11 +02:00
Nico Weber 751ed5e1ee MacPDF: Larger default window size 2023-09-30 08:08:11 +02:00
Nico Weber 43859f07ec MacPDF: Opt in to both automatic and sudden termination
Automatic termination means that the app no longer shows up as
opened in the doc when the last Window is closed, but it's actually
still running and opens immediately when clicked again.

Sudden termination means that the app can close quickly on logout.
I think it means the runtime just calls _exit() and assumes all
data is saved continuously.
2023-09-30 08:08:11 +02:00
Nico Weber 819a602ee1 MacPDF: Actually show contents of opened PDFs
xib change: connected _pdfView outlet to LagomPDFView instance.
2023-09-30 08:08:11 +02:00
Nico Weber 0a01a2c82b MacPDF: Start converting to document architecture
Cmd-O now produces an Open... dialog, and opening a PDF file reads it
(and then creates the old LagomPDFView object, which then reads
a hardcoded PDF again and displays that. One thing at a time.)

"Open Recent>" is also populated and seems to work.

See the guide:
https://developer.apple.com/library/archive/documentation/DataManagement/Conceptual/DocBasedAppProgrammingGuideForOSX/Introduction/Introduction.html
2023-09-30 08:08:11 +02:00
Nico Weber 77b311f00a MacPDF: FixedPoint hack fix courtesy of trflynn
Also some minor cleanups, and pick a different default document.
2023-09-30 08:08:11 +02:00
Nico Weber ef91ced481 MacPDF: Change current page with arrow left/right 2023-09-30 08:08:11 +02:00
Nico Weber c4c4ead9d2 MacPDF: Highdpi! 2023-09-30 08:08:11 +02:00
Nico Weber 6e0dea3a12 MacPDF: Style tweaks; one less leak 2023-09-30 08:08:11 +02:00
Nico Weber 4d9233dacc MacPDF: Fewer leaks; cache bitmap; refactor a bit 2023-09-30 08:08:11 +02:00
Nico Weber 2831654b00 MacPDF: Initial commit
This is mostly the output of the Xcode new app wizard.
2023-09-30 08:08:11 +02:00
Niklas Poslovski 485ae28ba7 AK: Add support for backtraces on Haiku 2023-09-29 15:11:52 +01:00
Sam Atkins b0317bb3a1 LibWeb: Implement Flex and FlexStyleValue types 2023-09-28 20:33:20 +01:00
Aliaksandr Kalenik e7a3040c9f LibWeb: Do not use JS::Handle for TimerHandler
There is no need to use JS::Handle for timer handler because it is
visited from JS::HeapFunction in HTML::Timer.
2023-09-27 16:33:21 +02:00
Shannon Booth 3bd04d2c58 LibWeb: Port Attr interface from DeprecatedString to String
There are an unfortunate number of DeprecatedString conversions required
here, but these should all fall away and look much more pretty again
when other places are also ported away from DeprecatedString.

Leaves only the Element IDL interface left :^)
2023-09-25 15:39:29 +02:00
Bastiaan van der Plaat 469563b398 GMLCompiler: Add icon_from_path and frame_style properties 2023-09-24 20:05:33 -06:00
Bastiaan van der Plaat a4e272d2c8 GMLCompiler: Fix bug where backslash in escaped sequence was preserved 2023-09-24 20:05:33 -06:00
Bastiaan van der Plaat 8f2319e966 Ladybird+LibWeb: Rename FileDirectoryLoader to GeneratedPagesLoader 2023-09-24 19:59:00 -06:00
Sam Atkins 1c4a05f8a4 LibWeb: Treat "revert" as a CSS-wide keyword
This isn't included in the base definition of a CSS-wide keyword, but
the CASCADE-4 spec which adds it says:

> The revert CSS-wide keyword rolls back the cascade to the cascaded
  value of the earlier origin.

So it is one. While I'm at it, rename `is_builtin()` to match the spec
terminology. It's not used currently, but will be in the next commit.
2023-09-25 00:46:21 +01:00
Sam Atkins aea112da71 LibWeb: Replace OverflowStyleValue with ShorthandStyleValue 2023-09-25 00:46:21 +01:00
Sam Atkins e905072e47 LibWeb: Replace GridTrackPlacementShorthandStyleValue with ShorthandSV 2023-09-25 00:46:21 +01:00
Sam Atkins 8efac89a16 LibWeb: Replace TextDecorationStyleValue with ShorthandStyleValue 2023-09-25 00:46:21 +01:00
Sam Atkins 6e311902de LibWeb: Replace PlaceItemsStyleValue with ShorthandStyleValue 2023-09-25 00:46:21 +01:00
Sam Atkins 8143d48161 LibWeb: Replace PlaceSelfStyleValue with ShorthandStyleValue
Turns out we were parsing `place-self` as a PlaceItemsStyleValue
sometimes, whoops.
2023-09-25 00:46:21 +01:00
Sam Atkins 1b0939b418 LibWeb: Replace PlaceContentStyleValue with ShorthandStyleValue 2023-09-25 00:46:21 +01:00
Sam Atkins 6758decc74 LibWeb: Replace ListStyleStyleValue with ShorthandStyleValue 2023-09-25 00:46:21 +01:00
Sam Atkins f5cb2e8dc2 LibWeb: Replace GridTrackSizeListShorthandStyleValue with ShorthandSV 2023-09-25 00:46:21 +01:00
Sam Atkins 48f3603119 LibWeb: Replace GridAreaShorthandStyleValue with ShorthandStyleValue 2023-09-25 00:46:21 +01:00