diff --git a/src/frameworks/AddressBook/CMakeLists.txt b/src/frameworks/AddressBook/CMakeLists.txt
index 8376642e9..e1d15498c 100644
--- a/src/frameworks/AddressBook/CMakeLists.txt
+++ b/src/frameworks/AddressBook/CMakeLists.txt
@@ -378,6 +378,7 @@ add_framework(AddressBook
src/ABPeoplePickerView.m
src/ABPeriodicTask.m
src/ABPeriodicUITask.m
+ src/ABPerson.m
src/ABPersonContactConverter.m
src/ABPersonEntriesFetcher.m
src/ABPersonEntriesList.m
@@ -424,6 +425,7 @@ add_framework(AddressBook
src/ABRenameGroupCommand.m
src/ABRolloverButton.m
src/ABMapsLaunchRequest.m
+ src/ABSearchElement.m
src/ABSearchElementOrderManager.m
src/ABSearchElementSetView.m
src/ABSearchElementUIController.m
diff --git a/src/frameworks/AddressBook/include/AddressBook/ABGlobals.h b/src/frameworks/AddressBook/include/AddressBook/ABGlobals.h
index e3cfea910..02ce639f0 100644
--- a/src/frameworks/AddressBook/include/AddressBook/ABGlobals.h
+++ b/src/frameworks/AddressBook/include/AddressBook/ABGlobals.h
@@ -28,6 +28,7 @@ extern NSString *const kABLastNameProperty;
extern NSString *const kABNicknameProperty;
extern NSString *const kABOrganizationProperty;
extern NSString *const kABPersonFlags;
+extern NSString *const kABSuffixProperty;
extern NSString *const kABDeletedRecords;
extern NSString *const kABInsertedRecords;
diff --git a/src/frameworks/AddressBook/include/AddressBook/ABPerson.h b/src/frameworks/AddressBook/include/AddressBook/ABPerson.h
new file mode 100644
index 000000000..3c184d011
--- /dev/null
+++ b/src/frameworks/AddressBook/include/AddressBook/ABPerson.h
@@ -0,0 +1,23 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@interface ABPerson : ABRecord
+@end
diff --git a/src/frameworks/AddressBook/include/AddressBook/ABSearchElement.h b/src/frameworks/AddressBook/include/AddressBook/ABSearchElement.h
new file mode 100644
index 000000000..42001bdab
--- /dev/null
+++ b/src/frameworks/AddressBook/include/AddressBook/ABSearchElement.h
@@ -0,0 +1,23 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@interface ABSearchElement : NSObject
+@end
diff --git a/src/frameworks/AddressBook/src/ABGlobals.m b/src/frameworks/AddressBook/src/ABGlobals.m
index c6b5c4b70..285e63af0 100644
--- a/src/frameworks/AddressBook/src/ABGlobals.m
+++ b/src/frameworks/AddressBook/src/ABGlobals.m
@@ -38,6 +38,7 @@ NSString *const kABOtherDatesProperty=@"ABOtherDatesProperty";
NSString *const kABPhoneProperty=@"ABPhoneProperty";
NSString *const kABTitleProperty=@"ABTitleProperty";
NSString *const kABURLsProperty=@"ABURLsProperty";
+NSString *const kABSuffixProperty = @"Suffix";
NSString *const kABPersonFlags=@"ABPersonFlags";
diff --git a/src/frameworks/AddressBook/src/ABPerson.m b/src/frameworks/AddressBook/src/ABPerson.m
new file mode 100644
index 000000000..cdb6757cb
--- /dev/null
+++ b/src/frameworks/AddressBook/src/ABPerson.m
@@ -0,0 +1,36 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+#import
+#import
+
+@implementation ABPerson
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/frameworks/AddressBook/src/ABSearchElement.m b/src/frameworks/AddressBook/src/ABSearchElement.m
new file mode 100644
index 000000000..a173eed9c
--- /dev/null
+++ b/src/frameworks/AddressBook/src/ABSearchElement.m
@@ -0,0 +1,36 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+#import
+#import
+
+@implementation ABSearchElement
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/frameworks/CoreImage/include/CoreImage/CIFilter.h b/src/frameworks/CoreImage/include/CoreImage/CIFilter.h
index 4b3aadf10..4f5de6fd1 100644
--- a/src/frameworks/CoreImage/include/CoreImage/CIFilter.h
+++ b/src/frameworks/CoreImage/include/CoreImage/CIFilter.h
@@ -19,6 +19,8 @@
#include
+extern NSString *const kCIInputRadiusKey;
+
@interface CIFilter : NSObject
@end
diff --git a/src/frameworks/CoreImage/src/CIFilter.m b/src/frameworks/CoreImage/src/CIFilter.m
index 488392ab6..5f032b02f 100644
--- a/src/frameworks/CoreImage/src/CIFilter.m
+++ b/src/frameworks/CoreImage/src/CIFilter.m
@@ -29,6 +29,7 @@ NSString * const kCIInputContrastKey = @"inputContrast";
NSString * const kCIInputExtentKey = @"inputExtent";
NSString * const kCIInputImageKey = @"inputImage";
NSString * const kCIInputSaturationKey = @"inputSaturation";
+NSString *const kCIInputRadiusKey = @"inputRadius";
NSString * const kCIOutputImageKey = @"outputImage";
NSString * const kCIApplyOptionDefinition = @"definition";
diff --git a/src/frameworks/CoreServices/include/CoreServices/CoreServices.h b/src/frameworks/CoreServices/include/CoreServices/CoreServices.h
index 6a5afd19e..622b04ab2 100644
--- a/src/frameworks/CoreServices/include/CoreServices/CoreServices.h
+++ b/src/frameworks/CoreServices/include/CoreServices/CoreServices.h
@@ -13,6 +13,6 @@
#include
#include
#include
+#include
#endif
-
diff --git a/src/frameworks/CoreServices/include/SearchKit/Analysis.h b/src/frameworks/CoreServices/include/SearchKit/Analysis.h
new file mode 100644
index 000000000..132a9392e
--- /dev/null
+++ b/src/frameworks/CoreServices/include/SearchKit/Analysis.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+extern const CFStringRef kSKMinTermLength;
+extern const CFStringRef kSKMaximumTerms;
+extern const CFStringRef kSKProximityIndexing;
diff --git a/src/frameworks/CoreServices/include/SearchKit/SearchKit.h b/src/frameworks/CoreServices/include/SearchKit/SearchKit.h
index e69de29bb..0dd7bbd59 100644
--- a/src/frameworks/CoreServices/include/SearchKit/SearchKit.h
+++ b/src/frameworks/CoreServices/include/SearchKit/SearchKit.h
@@ -0,0 +1,25 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#ifndef _CORESERVICES_SEARCHKIT_H_
+#define _CORESERVICES_SEARCHKIT_H_
+
+#include
+
+#endif
diff --git a/src/frameworks/CoreServices/src/SearchKit/Analysis.m b/src/frameworks/CoreServices/src/SearchKit/Analysis.m
new file mode 100644
index 000000000..dae279186
--- /dev/null
+++ b/src/frameworks/CoreServices/src/SearchKit/Analysis.m
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+const CFStringRef kSKMinTermLength = CFSTR("kSKMinTermLength");
+const CFStringRef kSKMaximumTerms = CFSTR("kSKMaximumTerms");
+const CFStringRef kSKProximityIndexing = CFSTR("kSKProximityIndexing");
diff --git a/src/frameworks/CoreServices/src/SearchKit/CMakeLists.txt b/src/frameworks/CoreServices/src/SearchKit/CMakeLists.txt
index 93d35ed79..5bcb49c07 100644
--- a/src/frameworks/CoreServices/src/SearchKit/CMakeLists.txt
+++ b/src/frameworks/CoreServices/src/SearchKit/CMakeLists.txt
@@ -13,7 +13,7 @@ add_framework(SearchKit
PARENT "CoreServices"
SOURCES
- empty.c
+ Analysis.m
DEPENDENCIES
CoreFoundation
diff --git a/src/frameworks/CoreServices/src/SearchKit/empty.c b/src/frameworks/CoreServices/src/SearchKit/empty.c
deleted file mode 100644
index e69de29bb..000000000
diff --git a/src/frameworks/ImageIO/include/ImageIO/CGImageSource.h b/src/frameworks/ImageIO/include/ImageIO/CGImageSource.h
index dd8facf80..b5762731e 100644
--- a/src/frameworks/ImageIO/include/ImageIO/CGImageSource.h
+++ b/src/frameworks/ImageIO/include/ImageIO/CGImageSource.h
@@ -15,6 +15,8 @@ typedef struct CF_BRIDGED_TYPE(id) O2ImageSource *CGImageSourceRef;
#import
#import
+IMAGEIO_EXTERN const CFStringRef kCGImageSourceShouldAllowFloat;
+
IMAGEIO_EXTERN CGImageSourceRef CGImageSourceCreateWithData(CFDataRef data, CFDictionaryRef options);
IMAGEIO_EXTERN CGImageSourceRef CGImageSourceCreateWithURL(CFURLRef url, CFDictionaryRef options);
diff --git a/src/frameworks/ImageIO/src/CGImageSource.m b/src/frameworks/ImageIO/src/CGImageSource.m
index 447a9fdc7..cca69aa01 100644
--- a/src/frameworks/ImageIO/src/CGImageSource.m
+++ b/src/frameworks/ImageIO/src/CGImageSource.m
@@ -4,6 +4,7 @@
const CFStringRef kCGImageSourceCreateThumbnailFromImageAlways = CFSTR("kCGImageSourceCreateThumbnailFromImageAlways");
const CFStringRef kCGImageSourceCreateThumbnailFromImageIfAbsent = CFSTR("kCGImageSourceCreateThumbnailFromImageIfAbsent");
const CFStringRef kCGImageSourceCreateThumbnailWithTransform = CFSTR("kCGImageSourceCreateThumbnailWithTransform");
+const CFStringRef kCGImageSourceShouldAllowFloat = CFSTR("kCGImageSourceShouldAllowFloat");
const CFStringRef kCGImageSourceShouldCache = CFSTR("kCGImageSourceShouldCache");
const CFStringRef kCGImageSourceThumbnailMaxPixelSize = CFSTR("kCGImageSourceThumbnailMaxPixelSize");
diff --git a/src/frameworks/PDFKit/include/PDFKit/PDFDocument.h b/src/frameworks/PDFKit/include/PDFKit/PDFDocument.h
index 2ce1c5b2e..086b5350f 100644
--- a/src/frameworks/PDFKit/include/PDFKit/PDFDocument.h
+++ b/src/frameworks/PDFKit/include/PDFKit/PDFDocument.h
@@ -17,7 +17,15 @@
along with Darling. If not, see .
*/
-#include
+#import
+#import
+
+typedef NSString *PDFDocumentAttribute;
+
+PDFKIT_EXPORT PDFDocumentAttribute const PDFDocumentAuthorAttribute;
+PDFKIT_EXPORT PDFDocumentAttribute const PDFDocumentCreationDateAttribute;
+PDFKIT_EXPORT PDFDocumentAttribute const PDFDocumentKeywordsAttribute;
+PDFKIT_EXPORT PDFDocumentAttribute const PDFDocumentTitleAttribute;
@interface PDFDocument : NSObject
diff --git a/src/frameworks/PDFKit/include/PDFKit/PDFKitExport.h b/src/frameworks/PDFKit/include/PDFKit/PDFKitExport.h
new file mode 100644
index 000000000..279a6022a
--- /dev/null
+++ b/src/frameworks/PDFKit/include/PDFKit/PDFKitExport.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#ifdef __cplusplus
+#define PDFKIT_EXPORT extern "C"
+#else
+#define PDFKIT_EXPORT extern
+#endif // __cplusplus
diff --git a/src/frameworks/PDFKit/src/PDFDocument.m b/src/frameworks/PDFKit/src/PDFDocument.m
index 85326ca75..780bb1d81 100644
--- a/src/frameworks/PDFKit/src/PDFDocument.m
+++ b/src/frameworks/PDFKit/src/PDFDocument.m
@@ -19,6 +19,11 @@
#import
+PDFDocumentAttribute const PDFDocumentAuthorAttribute = @"Author";
+PDFDocumentAttribute const PDFDocumentCreationDateAttribute = @"CreationDate";
+PDFDocumentAttribute const PDFDocumentKeywordsAttribute = @"Keywords";
+PDFDocumentAttribute const PDFDocumentTitleAttribute = @"Title";
+
@implementation PDFDocument
- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
diff --git a/src/frameworks/WebKit/CMakeLists.txt b/src/frameworks/WebKit/CMakeLists.txt
index c20b787ff..95ccf6f6d 100644
--- a/src/frameworks/WebKit/CMakeLists.txt
+++ b/src/frameworks/WebKit/CMakeLists.txt
@@ -47,7 +47,12 @@ add_framework(WebKit
src/_WKWebsiteDataStore.m
src/_WKWebsiteDataStoreConfiguration.m
src/_WKWebsitePolicies.m
+ src/DOMNode.m
+ src/DOMObject.m
src/WebView.m
+ src/WebDownload.m
+ src/WebHistory.m
+ src/WebScriptObject.m
src/WKCustomProtocolLoader.m
src/WKCustomProtocol.m
src/WKNetworkSessionDelegate.m
@@ -160,4 +165,5 @@ add_framework(WebKit
system
objc
Foundation
+ CFNetwork
)
diff --git a/src/frameworks/WebKit/include/WebKit/DOMNode.h b/src/frameworks/WebKit/include/WebKit/DOMNode.h
new file mode 100644
index 000000000..74dfd1f13
--- /dev/null
+++ b/src/frameworks/WebKit/include/WebKit/DOMNode.h
@@ -0,0 +1,23 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@interface DOMNode : DOMObject
+@end
diff --git a/src/frameworks/WebKit/include/WebKit/DOMObject.h b/src/frameworks/WebKit/include/WebKit/DOMObject.h
new file mode 100644
index 000000000..94ed78a72
--- /dev/null
+++ b/src/frameworks/WebKit/include/WebKit/DOMObject.h
@@ -0,0 +1,23 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@interface DOMObject : WebScriptObject
+@end
diff --git a/src/frameworks/WebKit/include/WebKit/WebDownload.h b/src/frameworks/WebKit/include/WebKit/WebDownload.h
new file mode 100644
index 000000000..3a2409d15
--- /dev/null
+++ b/src/frameworks/WebKit/include/WebKit/WebDownload.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+#import
+
+@interface WebDownload : NSURLDownload
+@end
diff --git a/src/frameworks/WebKit/include/WebKit/WebHistory.h b/src/frameworks/WebKit/include/WebKit/WebHistory.h
new file mode 100644
index 000000000..fc1b54ab0
--- /dev/null
+++ b/src/frameworks/WebKit/include/WebKit/WebHistory.h
@@ -0,0 +1,23 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@interface WebHistory : NSObject
+@end
diff --git a/src/frameworks/WebKit/include/WebKit/WebKit.h b/src/frameworks/WebKit/include/WebKit/WebKit.h
index ac288acf9..f2ff8afbc 100644
--- a/src/frameworks/WebKit/include/WebKit/WebKit.h
+++ b/src/frameworks/WebKit/include/WebKit/WebKit.h
@@ -190,6 +190,8 @@
#import
#import
+extern NSString *WebKitErrorDomain;
+
@protocol DOMEventListener
@end
diff --git a/src/frameworks/WebKit/include/WebKit/WebScriptObject.h b/src/frameworks/WebKit/include/WebKit/WebScriptObject.h
new file mode 100644
index 000000000..49b211b44
--- /dev/null
+++ b/src/frameworks/WebKit/include/WebKit/WebScriptObject.h
@@ -0,0 +1,23 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@interface WebScriptObject : NSObject
+@end
diff --git a/src/frameworks/WebKit/include/WebKit/WebView.h b/src/frameworks/WebKit/include/WebKit/WebView.h
index af399ade3..028cfd796 100644
--- a/src/frameworks/WebKit/include/WebKit/WebView.h
+++ b/src/frameworks/WebKit/include/WebKit/WebView.h
@@ -1,6 +1,9 @@
#import
extern NSString *WebElementImageKey;
-extern NSString *WebElementLinkURLKey;
+extern NSString *WebElementLinkLabelKey;
extern NSString *WebElementLinkTargetFrameKey;
extern NSString *WebElementLinkTitleKey;
+extern NSString *WebElementLinkURLKey;
+
+extern NSString *const WebViewDidChangeSelectionNotification;
diff --git a/src/frameworks/WebKit/src/DOMNode.m b/src/frameworks/WebKit/src/DOMNode.m
new file mode 100644
index 000000000..5022015b4
--- /dev/null
+++ b/src/frameworks/WebKit/src/DOMNode.m
@@ -0,0 +1,36 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+#import
+#import
+
+@implementation DOMNode
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/frameworks/WebKit/src/DOMObject.m b/src/frameworks/WebKit/src/DOMObject.m
new file mode 100644
index 000000000..16d42b6b3
--- /dev/null
+++ b/src/frameworks/WebKit/src/DOMObject.m
@@ -0,0 +1,36 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+#import
+#import
+
+@implementation DOMObject
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/frameworks/WebKit/src/WebDownload.m b/src/frameworks/WebKit/src/WebDownload.m
new file mode 100644
index 000000000..833365e56
--- /dev/null
+++ b/src/frameworks/WebKit/src/WebDownload.m
@@ -0,0 +1,36 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+#import
+#import
+
+@implementation WebDownload
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/frameworks/WebKit/src/WebHistory.m b/src/frameworks/WebKit/src/WebHistory.m
new file mode 100644
index 000000000..d43310dff
--- /dev/null
+++ b/src/frameworks/WebKit/src/WebHistory.m
@@ -0,0 +1,36 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+#import
+#import
+
+@implementation WebHistory
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/frameworks/WebKit/src/WebKit.m b/src/frameworks/WebKit/src/WebKit.m
index 5ecf6d726..44eb3e0de 100644
--- a/src/frameworks/WebKit/src/WebKit.m
+++ b/src/frameworks/WebKit/src/WebKit.m
@@ -52,6 +52,8 @@
@end
+NSString *WebKitErrorDomain = @"WebKitErrorDomain";
+
static int verbose = 0;
__attribute__((constructor))
diff --git a/src/frameworks/WebKit/src/WebScriptObject.m b/src/frameworks/WebKit/src/WebScriptObject.m
new file mode 100644
index 000000000..45a010f10
--- /dev/null
+++ b/src/frameworks/WebKit/src/WebScriptObject.m
@@ -0,0 +1,36 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2025 Darling Developers
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+#import
+#import
+
+@implementation WebScriptObject
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/frameworks/WebKit/src/WebView.m b/src/frameworks/WebKit/src/WebView.m
index d25bbf0dc..bd0094df1 100644
--- a/src/frameworks/WebKit/src/WebView.m
+++ b/src/frameworks/WebKit/src/WebView.m
@@ -1,6 +1,9 @@
#import
NSString *WebElementImageKey = @"WebElementImage";
-NSString *WebElementLinkURLKey = @"WebElementLinkURL";
+NSString *WebElementLinkLabelKey = @"WebElementLinkLabel";
NSString *WebElementLinkTargetFrameKey = @"WebElementTargetFrame";
NSString *WebElementLinkTitleKey = @"WebElementLinkTitle";
+NSString *WebElementLinkURLKey = @"WebElementLinkURL";
+
+NSString *const WebViewDidChangeSelectionNotification = @"WebViewDidChangeSelectionNotification";