[iOS] Upstream changes to WebKit Public and Private headers
authoraestes@apple.com <aestes@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 15 Dec 2013 21:13:54 +0000 (21:13 +0000)
committeraestes@apple.com <aestes@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 15 Dec 2013 21:13:54 +0000 (21:13 +0000)
https://bugs.webkit.org/show_bug.cgi?id=125745

Reviewed by Dan Bernstein.

* Configurations/WebKit.xcconfig: Ignore headers that are completely
excluded on iOS. This prevents empty headers from being installed into
the iOS SDK.
* DOM/WebDOMOperationsPrivate.h: Upstream iOS changes.
* History/WebBackForwardListPrivate.h: Ditto.
* History/WebHistoryItem.h: Ditto.
* History/WebHistoryItemPrivate.h: Ditto.
* Misc/WebCache.h: Ditto.
* Misc/WebIconDatabase.h: Ditto.
* Misc/WebIconDatabasePrivate.h: Ditto.
* Misc/WebKitNSStringExtras.h: Ditto.
* Misc/WebLocalizableStrings.h: Ditto.
* Misc/WebNSEventExtras.h: Ditto.
* Misc/WebNSFileManagerExtras.h: Ditto.
* Misc/WebNSPasteboardExtras.h: Ditto.
* Misc/WebNSURLExtras.h: Ditto.
* Misc/WebNSViewExtras.h: Ditto.
* Misc/WebNSWindowExtras.h: Ditto.
* Panels/WebPanelAuthenticationHandler.h: Ditto.
* Plugins/WebPlugin.h: Ditto.
* Plugins/WebPluginContainer.h: Ditto.
* Plugins/WebPluginContainerPrivate.h: Ditto.
* Plugins/WebPluginDatabase.h: Ditto.
* Plugins/WebPluginPrivate.h: Ditto.
* Plugins/WebPluginViewFactory.h: Ditto.
* Plugins/WebPluginsPrivate.h: Ditto.
* Storage/WebDatabaseManagerPrivate.h: Ditto.
* WebCoreSupport/WebApplicationCache.h: Ditto.
* WebCoreSupport/WebJavaScriptTextInputPanel.h: Ditto.
* WebCoreSupport/WebKeyGenerator.h: Ditto.
* WebCoreSupport/WebSecurityOriginPrivate.h: Ditto.
* WebView/WebDashboardRegion.h: Ditto.
* WebView/WebDataSource.h: Ditto.
* WebView/WebDataSourcePrivate.h: Ditto.
* WebView/WebDocument.h: Ditto.
* WebView/WebDocumentPrivate.h: Ditto.
* WebView/WebDynamicScrollBarsView.h: Ditto.
* WebView/WebEditingDelegate.h: Ditto.
* WebView/WebEditingDelegatePrivate.h: Ditto.
* WebView/WebFormDelegate.h: Ditto.
* WebView/WebFrameLoadDelegate.h: Ditto.
* WebView/WebFramePrivate.h: Ditto.
* WebView/WebFrameView.h: Ditto.
* WebView/WebFrameViewPrivate.h: Ditto.
* WebView/WebHTMLRepresentation.h: Ditto.
* WebView/WebHTMLView.h: Ditto.
* WebView/WebHTMLViewPrivate.h: Ditto.
* WebView/WebPolicyDelegate.h: Ditto.
* WebView/WebPreferenceKeysPrivate.h: Ditto.
* WebView/WebPreferences.h: Ditto.
* WebView/WebPreferencesPrivate.h: Ditto.
* WebView/WebRenderLayer.h: Ditto.
* WebView/WebResourceLoadDelegatePrivate.h: Ditto.
* WebView/WebResourcePrivate.h: Ditto.
* WebView/WebUIDelegate.h: Ditto.
* WebView/WebUIDelegatePrivate.h: Ditto.
* WebView/WebView.h: Ditto.
* WebView/WebViewPrivate.h: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160622 268f45cc-cd09-0410-ab3c-d52691b4dbfc

57 files changed:
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/Configurations/WebKit.xcconfig
Source/WebKit/mac/DOM/WebDOMOperationsPrivate.h
Source/WebKit/mac/History/WebBackForwardListPrivate.h
Source/WebKit/mac/History/WebHistoryItem.h
Source/WebKit/mac/History/WebHistoryItemPrivate.h
Source/WebKit/mac/Misc/WebCache.h
Source/WebKit/mac/Misc/WebIconDatabase.h
Source/WebKit/mac/Misc/WebIconDatabasePrivate.h
Source/WebKit/mac/Misc/WebKitNSStringExtras.h
Source/WebKit/mac/Misc/WebLocalizableStrings.h
Source/WebKit/mac/Misc/WebNSEventExtras.h
Source/WebKit/mac/Misc/WebNSFileManagerExtras.h
Source/WebKit/mac/Misc/WebNSPasteboardExtras.h
Source/WebKit/mac/Misc/WebNSURLExtras.h
Source/WebKit/mac/Misc/WebNSViewExtras.h
Source/WebKit/mac/Misc/WebNSWindowExtras.h
Source/WebKit/mac/Panels/WebPanelAuthenticationHandler.h
Source/WebKit/mac/Plugins/WebPlugin.h
Source/WebKit/mac/Plugins/WebPluginContainer.h
Source/WebKit/mac/Plugins/WebPluginContainerPrivate.h
Source/WebKit/mac/Plugins/WebPluginDatabase.h
Source/WebKit/mac/Plugins/WebPluginPrivate.h
Source/WebKit/mac/Plugins/WebPluginViewFactory.h
Source/WebKit/mac/Plugins/WebPluginsPrivate.h
Source/WebKit/mac/Storage/WebDatabaseManagerPrivate.h
Source/WebKit/mac/WebCoreSupport/WebApplicationCache.h
Source/WebKit/mac/WebCoreSupport/WebJavaScriptTextInputPanel.h
Source/WebKit/mac/WebCoreSupport/WebKeyGenerator.h
Source/WebKit/mac/WebCoreSupport/WebSecurityOriginPrivate.h
Source/WebKit/mac/WebView/WebDashboardRegion.h
Source/WebKit/mac/WebView/WebDataSource.h
Source/WebKit/mac/WebView/WebDataSourcePrivate.h
Source/WebKit/mac/WebView/WebDocument.h
Source/WebKit/mac/WebView/WebDocumentPrivate.h
Source/WebKit/mac/WebView/WebDynamicScrollBarsView.h
Source/WebKit/mac/WebView/WebEditingDelegate.h
Source/WebKit/mac/WebView/WebEditingDelegatePrivate.h
Source/WebKit/mac/WebView/WebFormDelegate.h
Source/WebKit/mac/WebView/WebFrameLoadDelegate.h
Source/WebKit/mac/WebView/WebFramePrivate.h
Source/WebKit/mac/WebView/WebFrameView.h
Source/WebKit/mac/WebView/WebFrameViewPrivate.h
Source/WebKit/mac/WebView/WebHTMLRepresentation.h
Source/WebKit/mac/WebView/WebHTMLView.h
Source/WebKit/mac/WebView/WebHTMLViewPrivate.h
Source/WebKit/mac/WebView/WebPolicyDelegate.h
Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
Source/WebKit/mac/WebView/WebPreferences.h
Source/WebKit/mac/WebView/WebPreferencesPrivate.h
Source/WebKit/mac/WebView/WebRenderLayer.h
Source/WebKit/mac/WebView/WebResourceLoadDelegatePrivate.h
Source/WebKit/mac/WebView/WebResourcePrivate.h
Source/WebKit/mac/WebView/WebUIDelegate.h
Source/WebKit/mac/WebView/WebUIDelegatePrivate.h
Source/WebKit/mac/WebView/WebView.h
Source/WebKit/mac/WebView/WebViewPrivate.h

index 5128e9c..e2bba03 100644 (file)
@@ -1,5 +1,71 @@
 2013-12-15  Andy Estes  <aestes@apple.com>
 
+        [iOS] Upstream changes to WebKit Public and Private headers
+        https://bugs.webkit.org/show_bug.cgi?id=125745
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/WebKit.xcconfig: Ignore headers that are completely
+        excluded on iOS. This prevents empty headers from being installed into
+        the iOS SDK.
+        * DOM/WebDOMOperationsPrivate.h: Upstream iOS changes.
+        * History/WebBackForwardListPrivate.h: Ditto.
+        * History/WebHistoryItem.h: Ditto.
+        * History/WebHistoryItemPrivate.h: Ditto.
+        * Misc/WebCache.h: Ditto.
+        * Misc/WebIconDatabase.h: Ditto.
+        * Misc/WebIconDatabasePrivate.h: Ditto.
+        * Misc/WebKitNSStringExtras.h: Ditto.
+        * Misc/WebLocalizableStrings.h: Ditto.
+        * Misc/WebNSEventExtras.h: Ditto.
+        * Misc/WebNSFileManagerExtras.h: Ditto.
+        * Misc/WebNSPasteboardExtras.h: Ditto.
+        * Misc/WebNSURLExtras.h: Ditto.
+        * Misc/WebNSViewExtras.h: Ditto.
+        * Misc/WebNSWindowExtras.h: Ditto.
+        * Panels/WebPanelAuthenticationHandler.h: Ditto.
+        * Plugins/WebPlugin.h: Ditto.
+        * Plugins/WebPluginContainer.h: Ditto.
+        * Plugins/WebPluginContainerPrivate.h: Ditto.
+        * Plugins/WebPluginDatabase.h: Ditto.
+        * Plugins/WebPluginPrivate.h: Ditto.
+        * Plugins/WebPluginViewFactory.h: Ditto.
+        * Plugins/WebPluginsPrivate.h: Ditto.
+        * Storage/WebDatabaseManagerPrivate.h: Ditto.
+        * WebCoreSupport/WebApplicationCache.h: Ditto.
+        * WebCoreSupport/WebJavaScriptTextInputPanel.h: Ditto.
+        * WebCoreSupport/WebKeyGenerator.h: Ditto.
+        * WebCoreSupport/WebSecurityOriginPrivate.h: Ditto.
+        * WebView/WebDashboardRegion.h: Ditto.
+        * WebView/WebDataSource.h: Ditto.
+        * WebView/WebDataSourcePrivate.h: Ditto.
+        * WebView/WebDocument.h: Ditto.
+        * WebView/WebDocumentPrivate.h: Ditto.
+        * WebView/WebDynamicScrollBarsView.h: Ditto.
+        * WebView/WebEditingDelegate.h: Ditto.
+        * WebView/WebEditingDelegatePrivate.h: Ditto.
+        * WebView/WebFormDelegate.h: Ditto.
+        * WebView/WebFrameLoadDelegate.h: Ditto.
+        * WebView/WebFramePrivate.h: Ditto.
+        * WebView/WebFrameView.h: Ditto.
+        * WebView/WebFrameViewPrivate.h: Ditto.
+        * WebView/WebHTMLRepresentation.h: Ditto.
+        * WebView/WebHTMLView.h: Ditto.
+        * WebView/WebHTMLViewPrivate.h: Ditto.
+        * WebView/WebPolicyDelegate.h: Ditto.
+        * WebView/WebPreferenceKeysPrivate.h: Ditto.
+        * WebView/WebPreferences.h: Ditto.
+        * WebView/WebPreferencesPrivate.h: Ditto.
+        * WebView/WebRenderLayer.h: Ditto.
+        * WebView/WebResourceLoadDelegatePrivate.h: Ditto.
+        * WebView/WebResourcePrivate.h: Ditto.
+        * WebView/WebUIDelegate.h: Ditto.
+        * WebView/WebUIDelegatePrivate.h: Ditto.
+        * WebView/WebView.h: Ditto.
+        * WebView/WebViewPrivate.h: Ditto.
+
+2013-12-15  Andy Estes  <aestes@apple.com>
+
         [iOS] Upstream changes to FeatureDefines.xcconfig
         https://bugs.webkit.org/show_bug.cgi?id=125742
 
index 11c750a..229857e 100644 (file)
@@ -25,7 +25,7 @@
 #include "Version.xcconfig"
 
 EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME));
-EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *.nib *.pdf *.tiff;
+EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *.nib *.pdf *.tiff WebIconDatabase.h WebIconDatabasePrivate.h WebNSEventExtras.h WebNSPasteboardExtras.h WebNSWindowExtras.h WebPanelAuthenticationHandler.h WebPluginsPrivate.h WebJavaScriptTextInputPanel.h WebKeyGenerator.h WebDashboardRegion.h WebDynamicScrollBarsView.h;
 EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator = $(EXCLUDED_SOURCE_FILE_NAMES_iphoneos);
 EXCLUDED_SOURCE_FILE_NAMES_macosx = *IOS.mm MemoryMeasure.h WebGeolocationCoreLocationProvider.h WebGeolocationProviderIOS.h WebNSStringDrawing.h WebNSStringExtrasIOS.h WebNSStringExtrasIPhone.h WebUIKitSupport.h WebCaretChangeListener.h WebFixedPositionContent.h WebFrameIOS.h WebFrameIPhone.h WebGeolocationPrivate.h WebMIMETypeRegistry.h WebSelectionRect.h WebVisiblePosition.h WebUIKitDelegate.h WebPDFViewIOS.h WebPDFViewIPhone.h WebPDFViewPlaceholder.h;
 
index 3c7d6a0..7afec59 100644 (file)
@@ -46,4 +46,9 @@ typedef BOOL (^WebArchiveSubframeFilter)(WebFrame* subframe);
 
 @interface DOMNode (WebDOMNodeOperationsPrivate)
 - (WebArchive *)webArchiveByFilteringSubframes:(WebArchiveSubframeFilter)webArchiveSubframeFilter;
+#if TARGET_OS_IPHONE
+- (BOOL)isHorizontalWritingMode;
+- (void)hidePlaceholder;
+- (void)showPlaceholderIfNecessary;
+#endif
 @end
index 7e76e9b..8e8bfe8 100644 (file)
@@ -26,8 +26,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Cocoa/Cocoa.h>
-
+#import <Foundation/Foundation.h>
 #import <WebKit/WebBackForwardList.h>
 
 @interface WebBackForwardList (WebBackForwardListPrivate)
 */    
 - (void)removeItem:(WebHistoryItem *)item;
 
+#if TARGET_OS_IPHONE
+// These methods are used by MobileSafari to save the back/forward state
+// to disk.
+- (NSDictionary *)dictionaryRepresentation;
+- (void)setToMatchDictionaryRepresentation:(NSDictionary *)dictionary;
+#endif
+
 @end
index aee4fc1..2e65a71 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Cocoa/Cocoa.h>
+#import <Foundation/Foundation.h>
+
+#if !TARGET_OS_IPHONE
+#import <AppKit/AppKit.h>
+#endif
 
 @class WebHistoryItemPrivate;
 @class NSURL;
@@ -103,11 +107,13 @@ extern NSString *WebHistoryItemChangedNotification;
 */
 @property (nonatomic, copy) NSString *alternateTitle;
 
+#if !TARGET_OS_IPHONE
 /*!
     @property icon
     @abstract The favorite icon of the page represented by this item.
     @discussion This icon returned will be determined by the WebKit.
 */
 @property (nonatomic, readonly, strong) NSImage *icon;
+#endif
 
 @end
index 007383b..7d98f03 100644 (file)
 
 #import <WebKit/WebHistoryItem.h>
 
+#if TARGET_OS_IPHONE
+#import <Foundation/NSCalendarDate.h>
+
+extern NSString *WebViewportInitialScaleKey;
+extern NSString *WebViewportMinimumScaleKey;
+extern NSString *WebViewportMaximumScaleKey;
+extern NSString *WebViewportUserScalableKey;
+extern NSString *WebViewportWidthKey;
+extern NSString *WebViewportHeightKey;
+extern NSString *WebViewportMinimalUIKey;
+#endif
+
 @interface WebHistoryItem (WebPrivate)
 
+#if !TARGET_OS_IPHONE
 + (void)_releaseAllPendingPageCaches;
+#endif
 
 - (id)initWithURL:(NSURL *)URL title:(NSString *)title;
 
@@ -51,6 +65,9 @@
 - (BOOL)isTargetItem;
 - (NSArray *)children;
 - (NSDictionary *)dictionaryRepresentation;
+#if TARGET_OS_IPHONE
+- (NSDictionary *)dictionaryRepresentationIncludingChildren:(BOOL)includesChildren;
+#endif
 
 // This should not be called directly for WebHistoryItems that are already included
 // in WebHistory. Use -[WebHistory setLastVisitedTimeInterval:forItem:] instead.
 - (size_t)_getDailyVisitCounts:(const int**)counts;
 - (size_t)_getWeeklyVisitCounts:(const int**)counts;
 
+#if TARGET_OS_IPHONE
+- (void)_setScale:(float)scale isInitial:(BOOL)aFlag;
+- (float)_scale;
+- (BOOL)_scaleIsInitial;
+- (NSDictionary *)_viewportArguments;
+- (void)_setViewportArguments:(NSDictionary *)arguments;
+- (CGPoint)_scrollPoint;
+- (void)_setScrollPoint:(CGPoint)scrollPoint;
+
+- (uint32_t)_bookmarkID;
+- (void)_setBookmarkID:(uint32_t)bookmarkID;
+- (NSString *)_sharedLinkUniqueIdentifier;
+- (void)_setSharedLinkUniqueIdentifier:(NSString *)identifier;
+#endif
+
 - (BOOL)_isInPageCache;
 - (BOOL)_hasCachedPageExpired;
 
index 1b5662b..cd79100 100644 (file)
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
+#if TARGET_OS_IPHONE
+@class WebFrame;
+#endif
+
 @interface WebCache : NSObject
 {
 }
 
 + (NSArray *)statistics;
 + (void)empty;
+#if TARGET_OS_IPHONE
++ (void)emptyInMemoryResources;
++ (void)sizeOfDeadResources:(int *)resources;
++ (void)clearCachedCredentials;
+// SPI to add a CGImageRef directly to the WebCore cache.
++ (bool)addImageToCache:(CGImageRef)image forURL:(NSURL *)url;
++ (bool)addImageToCache:(CGImageRef)image forURL:(NSURL *)url forFrame:(WebFrame *)frame;
++ (void)removeImageFromCacheForURL:(NSURL *)url;
++ (void)removeImageFromCacheForURL:(NSURL *)url forFrame:(WebFrame *)frame;
++ (CGImageRef)imageForURL:(NSURL *)url;
+#endif
 + (void)setDisabled:(BOOL)disabled;
 + (BOOL)isDisabled;
 
index 8dc3d45..536a00c 100644 (file)
@@ -142,5 +142,3 @@ extern NSSize WebIconLargeSize;  // 128 x 128
 - (id)delegate;
 
 @end
-
-
index e7bdadb..a9f3a6c 100644 (file)
@@ -26,6 +26,8 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#if !TARGET_OS_IPHONE
+
 #import <WebKit/WebIconDatabase.h>
 
 // FIXME: Some of the following is not API and should be moved
@@ -68,3 +70,4 @@ extern NSString *WebIconDatabaseDidRemoveAllIconsNotification;
 
 @end
 
+#endif // !TARGET_OS_IPHONE
index ddc49f0..0678e94 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Cocoa/Cocoa.h>
+#import <Foundation/Foundation.h>
+
+#if !TARGET_OS_IPHONE
+#import <AppKit/AppKit.h>
+#endif
 
 extern NSString *WebKitLocalCacheDefaultsKey;
 
 @interface NSString (WebKitExtras)
 
+#if !TARGET_OS_IPHONE
 - (void)_web_drawAtPoint:(NSPoint)point font:(NSFont *)font textColor:(NSColor *)textColor allowingFontSmoothing:(BOOL)fontSmoothingIsAllowed;
 - (void)_web_drawAtPoint:(NSPoint)point font:(NSFont *)font textColor:(NSColor *)textColor;
 - (void)_web_drawDoubledAtPoint:(NSPoint)textPoint withTopColor:(NSColor *)topColor bottomColor:(NSColor *)bottomColor font:(NSFont *)font;
 
 - (float)_web_widthWithFont:(NSFont *)font;
+#endif
 
 // Handles home directories that have symlinks in their paths.
 // This works around 2774250.
@@ -44,7 +50,9 @@ extern NSString *WebKitLocalCacheDefaultsKey;
 
 - (NSString *)_web_stringByStrippingReturnCharacters;
 
+#if !TARGET_OS_IPHONE
 + (NSStringEncoding)_web_encodingForResource:(Handle)resource;
+#endif
 
 - (BOOL)_webkit_isCaseInsensitiveEqualToString:(NSString *)string;
 - (BOOL)_webkit_hasCaseInsensitivePrefix:(NSString *)suffix;
@@ -55,7 +63,13 @@ extern NSString *WebKitLocalCacheDefaultsKey;
 - (NSString *)_webkit_stringByTrimmingWhitespace;
 - (NSString *)_webkit_stringByCollapsingNonPrintingCharacters;
 - (NSString *)_webkit_stringByCollapsingWhitespaceCharacters;
+#if !TARGET_OS_IPHONE
 - (NSString *)_webkit_fixedCarbonPOSIXPath;
+#endif
+
+#if TARGET_OS_IPHONE
++ (NSString *)_web_stringWithData:(NSData *)data textEncodingName:(NSString *)textEncodingName;
+#endif
 
 + (NSString *)_webkit_localCacheDirectoryWithBundleIdentifier:(NSString*)bundleIdentifier;
 
index 15b0204..5c30bd2 100644 (file)
@@ -49,6 +49,10 @@ NSString *WebLocalizedString(WebLocalizableStringsBundle *bundle, const char *ke
 CFStringRef WebLocalizedString(WebLocalizableStringsBundle *bundle, const char *key);
 #endif
 
+#if TARGET_OS_IPHONE
+void LoadWebLocalizedStrings(void); // The first WebLocalizedString call can take over 20ms unless this function is called beforehand.
+#endif
+
 #ifdef __cplusplus
 }
 #endif
index e35ff52..5b9d3c5 100644 (file)
@@ -26,6 +26,8 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#if !TARGET_OS_IPHONE
+
 #import <AppKit/AppKit.h>
 
 @interface NSEvent (WebExtras)
@@ -39,3 +41,5 @@
 -(BOOL)_web_isTabKeyEvent;
 
 @end
+
+#endif
index e9a0fec..45529ea 100644 (file)
 #import <Foundation/Foundation.h>
 
 @interface NSFileManager (WebNSFileManagerExtras)
+#if !TARGET_OS_IPHONE
 - (void)_webkit_setMetadataURL:(NSString *)URLString referrer:(NSString *)referrer atPath:(NSString *)path;
 - (NSString *)_webkit_startupVolumeName;
+#endif
 - (NSString *)_webkit_pathWithUniqueFilenameForPath:(NSString *)path;
-@end
-
 
+#if TARGET_OS_IPHONE
+- (NSString *)_webkit_createTemporaryDirectoryWithTemplatePrefix:(NSString *)prefix;
+#endif
+@end
index b994512..3da761c 100644 (file)
@@ -26,6 +26,8 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#if !TARGET_OS_IPHONE
+
 #import <Foundation/Foundation.h>
 
 @class DOMElement;
@@ -87,3 +89,5 @@ extern NSString *WebURLNamePboardType;
 #ifdef __cplusplus
 }
 #endif
+
+#endif // !TARGET_OS_IPHONE
index 964db84..bf2baa9 100644 (file)
 
 - (NSURL *)_webkit_URLFromURLOrSchemelessFileURL;
 
+#if TARGET_OS_IPHONE
+- (NSURL *)_webkit_youTubeURL;
+
++ (NSURL *)uniqueURLWithRelativePart:(NSString *)relativePart;
+#endif
 @end
 
 @interface NSString (WebNSURLExtras)
@@ -94,4 +99,9 @@
 - (NSString *)_webkit_URLFragment;
 - (NSString *)_webkit_scriptIfJavaScriptURL;
 
+#if TARGET_OS_IPHONE
+- (NSString *)_webkit_unescapedQueryValue;
+- (NSDictionary *)_webkit_queryKeysAndValues;
+#endif
+
 @end
index a9c2717..38b319e 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#import <Foundation/Foundation.h>
+
+#if !TARGET_OS_IPHONE
 #import <AppKit/AppKit.h>
+#else
+#import <WebKit/WAKAppKitStubs.h>
+#import <WebKit/WAKView.h>
+#endif
 
 #define WebDragImageAlpha 0.75f
 
 // Returns the nearest enclosing view of the given class, or nil if none.
 - (NSView *)_web_superviewOfClass:(Class)viewClass;
 - (WebFrameView *)_web_parentWebFrameView;
+#if !TARGET_OS_IPHONE
 - (WebView *)_webView;
+#endif
 
+#if !TARGET_OS_IPHONE
 // returns whether a drag should begin starting with mouseDownEvent; if the time
 // passes expiration or the mouse moves less than the hysteresis before the mouseUp event,
 // returns NO, else returns YES.
                    pasteboard:(NSPasteboard *)pasteboard 
                        source:(id)source
                        offset:(NSPoint *)dragImageOffset;
+#endif
 
 - (BOOL)_web_firstResponderIsSelfOrDescendantView;
 
 - (NSRect)_web_convertRect:(NSRect)aRect toView:(NSView *)aView;
 
 @end
+
+#if TARGET_OS_IPHONE
+@class WebFrame;
+@class WebView;
+
+@interface NSView (WebDocumentViewExtras)
+- (WebFrame *)_frame;
+- (WebView *)_webView;
+@end
+#endif
index e6e1b01..fdc74d9 100644 (file)
@@ -26,6 +26,8 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#if !TARGET_OS_IPHONE
+
 #import <Cocoa/Cocoa.h>
 
 @interface NSWindow (WebExtras)
@@ -33,3 +35,5 @@
 - (void)centerOverMainWindow;
 - (void)makeResponder:(NSResponder *)responder firstResponderIfDescendantOfView:(NSView *)view;
 @end
+
+#endif
index d54a086..c34b587 100644 (file)
@@ -26,6 +26,8 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#if !TARGET_OS_IPHONE
+
 #import <Foundation/Foundation.h>
 #import <Foundation/NSURLCredentialStorage.h>
 
@@ -43,3 +45,5 @@
 - (void)cancelAuthentication:(NSURLAuthenticationChallenge *)challenge;
 
 @end
+
+#endif
index 9534583..c2798ee 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Cocoa/Cocoa.h>
+#import <Foundation/Foundation.h>
 #import <JavaScriptCore/WebKitAvailability.h>
 
+#if !TARGET_OS_IPHONE
+#import <AppKit/AppKit.h>
+#endif
+
 /*!
     WebPlugIn is an informal protocol that enables interaction between an application
     and web related plug-ins it may contain.
 */
 - (void)webPlugInDestroy;
 
+#if !TARGET_OS_IPHONE
 /*!
     @method webPlugInSetIsSelected:
     @discusssion Informs the plug-in whether or not it is selected.  This is typically
     used to allow the plug-in to alter it's appearance when selected.
 */
 - (void)webPlugInSetIsSelected:(BOOL)isSelected;
+#endif
 
 /*!
     @property objectForWebScript
index bda6204..30457e9 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Cocoa/Cocoa.h>
+#import <Foundation/Foundation.h>
+
+#if !TARGET_OS_IPHONE
+#import <AppKit/AppKit.h>
+#endif
 
 /*!
     This informal protocol enables a plug-in to request that its containing application
 */
 - (void)webPlugInContainerShowStatus:(NSString *)message;
 
+#if !TARGET_OS_IPHONE
 /*!
     @property webPlugInContainerSelectionColor
     @abstract The color that should be used for any special drawing when
     plug-in is selected.
 */
 @property (nonatomic, readonly, strong) NSColor *webPlugInContainerSelectionColor;
+#endif
 
 /*!
     @property webFrame
index 1b8de41..ba02195 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Cocoa/Cocoa.h>
+#import <Foundation/Foundation.h>
 
+#if !TARGET_OS_IPHONE
+#import <AppKit/AppKit.h>
+#endif
+
+#if !TARGET_OS_IPHONE
 #if !defined(ENABLE_PLUGIN_PROXY_FOR_VIDEO)
 #define ENABLE_PLUGIN_PROXY_FOR_VIDEO 0
 #endif
+#endif
 
 #if ENABLE_PLUGIN_PROXY_FOR_VIDEO
 @class WebMediaPlayerProxy;
 - (void)_webPluginContainerPostMediaPlayerNotification:(int)notification forElement:(DOMElement *)element;
 #endif
 
+#if TARGET_OS_IPHONE
+// Call when the plug-in shows/hides its full-screen UI.
+- (void)webPlugInContainerWillShowFullScreenForView:(id)plugInView;
+- (void)webPlugInContainerDidHideFullScreenForView:(id)plugInView;
+
+/*!
+ @method processingUserGesture
+ @discussion The processingUserGesture method allows the plug-in to find out if
+ a user gesture is currently being processed. The plug-in may use this information
+ to allow or deny certain actions.  This method will not be implemented by containers that
+ are not WebKit based.
+ @result Returns a boolean value, YES to indicate that a user gesture is being processed,
+ NO otherwise.
+ */
+- (BOOL)processingUserGesture;
+#endif
+
 @end
index 2f7ccd7..fd81529 100644 (file)
 
 #import <Foundation/Foundation.h>
 
+#if TARGET_OS_IPHONE
+#import <WebKit/WAKAppKitStubs.h>
+#endif
+
 @class WebBasePluginPackage;
 @class WebFrame;
 
index 56e4a3a..286609b 100644 (file)
 
 @interface NSObject (WebPlugInPrivate)
 
+#if TARGET_OS_IPHONE
+
+// FIXME: Comment me
+- (Class)webPlugInFullScreenWindowClass;
+
+// FIXME: Comment me
+- (void)webPlugInWillEnterFullScreenWithFrame:(CGRect)newFrame;
+
+// FIXME: Comment me
+- (void)webPlugInWillLeaveFullScreenWithFrame:(CGRect)newFrame;
+
+// FIXME: Comment me
+- (BOOL)webPlugInReceivesEventsDirectly;
+
+// FIXME: Comment me
+- (void)webPlugInLayout;
+
+// FIXME: Comment me
+- (void)webPlugInDidDraw;
+
+/*!
+ @method webPlugInStopForPageCache
+ @abstract Tell the plug-in to stop normal operation because the page the plug-in
+ belongs to is entering a cache.
+ @discussion A page in the PageCache can be quickly resumed. This is much like
+ pausing and resuming a plug-in except the frame containing the plug-in will
+ not be visible, is not active, and may even have been torn down. The API contract
+ for messages before and after this message are the same as -webPlugInStop.
+ */
+- (void)webPlugInStopForPageCache;
+
+#endif
+
 @end
index a215906..f5a47ef 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Cocoa/Cocoa.h>
+#import <Foundation/Foundation.h>
 #import <JavaScriptCore/WebKitAvailability.h>
 
+#if !TARGET_OS_IPHONE
+#import <AppKit/AppKit.h>
+#endif
+
 /*!
     @constant WebPlugInBaseURLKey REQUIRED. The base URL of the document containing
     the plug-in's view.
@@ -81,6 +85,11 @@ extern NSString *WebPlugInShouldLoadMainResourceKey AVAILABLE_IN_WEBKIT_VERSION_
     @param arguments The arguments dictionary with the mentioned keys and objects. This method is required to implement.
     @result Returns an NSView object that conforms to the WebPlugIn informal protocol.
 */
+#if !TARGET_OS_IPHONE
 + (NSView *)plugInViewWithArguments:(NSDictionary *)arguments;
+#else
+// +plugInViewWithArguments: returns a UIView subclass
++ (id)plugInViewWithArguments:(NSDictionary *)arguments;
+#endif
 
 @end
index fc0067d..cc3f369 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#if !TARGET_OS_IPHONE
+
 // WebPluginWillPresentNativeUserInterfaceNotification is sent by plugins to notify the WebKit client
 // application that the plugin will present a dialog or some other "native" user interface to the user.
 // This is currently only needed by Dashboard, which must hide itself when a plugin presents a dialog
 // box (4318632).
 extern NSString *WebPluginWillPresentNativeUserInterfaceNotification;
+
+#endif
index 6ce7e25..cce3b4c 100644 (file)
@@ -44,6 +44,13 @@ extern NSString *WebDatabaseDidModifyOriginNotification;
 extern NSString *WebDatabaseDidModifyDatabaseNotification;
 extern NSString *WebDatabaseIdentifierKey;
 
+#if TARGET_OS_IPHONE
+#import <WebKit/WebUIKitSupport.h>
+
+// Posted when origins have changed.
+extern CFStringRef WebDatabaseOriginsDidChangeNotification;
+#endif
+
 @class WebSecurityOrigin;
 
 @interface WebDatabaseManager : NSObject
@@ -63,6 +70,9 @@ extern NSString *WebDatabaseIdentifierKey;
 - (BOOL)deleteOrigin:(WebSecurityOrigin *)origin;
 - (BOOL)deleteDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin;
 
+#if TARGET_OS_IPHONE
++ (void)scheduleEmptyDatabaseRemoval;
+#endif
 @end
 
 #endif
index 494d0c4..ec4bfb0 100644 (file)
@@ -29,6 +29,9 @@
 
 @interface WebApplicationCache: NSObject
 
+#if TARGET_OS_IPHONE
++ (void)initializeWithBundleIdentifier:(NSString *)bundleIdentifier;
+#endif
 + (long long)maximumSize;
 + (void)setMaximumSize:(long long)size;
 
index 1dfd2e4..4a66868 100644 (file)
@@ -26,6 +26,8 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#if !TARGET_OS_IPHONE
+
 #import <Cocoa/Cocoa.h>
 
 @interface WebJavaScriptTextInputPanel : NSWindowController
@@ -41,3 +43,5 @@
 - (IBAction)pressedOK:(id)sender;
 
 @end
+
+#endif
index 7728699..d517625 100644 (file)
@@ -23,6 +23,8 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#if !TARGET_OS_IPHONE
+
 typedef enum {
     WebCertificateParseResultSucceeded  = 0,
     WebCertificateParseResultFailed     = 1,
@@ -39,3 +41,5 @@ typedef enum {
 @end
 
 #endif
+
+#endif
index fae4c33..4225502 100644 (file)
@@ -41,6 +41,9 @@
 - (NSString *)host;
 
 - (NSString *)databaseIdentifier;
+#if TARGET_OS_IPHONE
+- (NSString *)toString;
+#endif
 - (NSString *)stringValue;
 
 // Returns zero if the port is the default port for the protocol, non-zero otherwise.
index 49a575c..2a7aa4d 100644 (file)
@@ -23,6 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
+#if !TARGET_OS_IPHONE
+
 #if !defined(ENABLE_DASHBOARD_SUPPORT)
 #define ENABLE_DASHBOARD_SUPPORT 1
 #endif
@@ -49,3 +51,5 @@ typedef enum {
 @end
 
 #endif
+
+#endif
index 21073e8..c70eeb2 100644 (file)
@@ -26,8 +26,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Cocoa/Cocoa.h>
-
+#import <Foundation/Foundation.h>
 #import <WebKit/WebDocument.h>
 
 @class NSMutableURLRequest;
index 8a9fa35..c35cdb5 100644 (file)
@@ -36,7 +36,9 @@
 
 @interface WebDataSource (WebPrivate)
 
+#if !TARGET_OS_IPHONE
 - (NSFileWrapper *)_fileWrapperForURL:(NSURL *)URL;
+#endif
 - (void)_addSubframeArchives:(NSArray *) archives;
 - (NSError *)_mainDocumentError;
 - (NSString *)_responseMIMEType;
@@ -45,6 +47,9 @@
 
 - (void)_setDeferMainResourceDataLoad:(BOOL)flag;
 
+#if TARGET_OS_IPHONE
+- (void)_setOverrideTextEncodingName:(NSString *)encoding;
+#endif
 - (void)_setAllowToBeMemoryMapped;
 - (void)setDataSourceDelegate:(NSObject<WebDataSourcePrivateDelegate> *)dataSourceDelegate;
 - (NSObject<WebDataSourcePrivateDelegate> *)dataSourceDelegate;
index b18215a..bf1d4c8 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Cocoa/Cocoa.h>
+#import <Foundation/Foundation.h>
+
+#if !TARGET_OS_IPHONE
+#import <AppKit/AppKit.h>
+#else
+#import <WebKit/WAKAppKitStubs.h>
+#endif
 
 @class NSError;
 @class WebDataSource;
 */
 - (NSString *)string;
 
+#if !TARGET_OS_IPHONE
 /*!
     @method attributedString
     @result Attributed string that represents the entire document.
 */
 - (NSAttributedString *)attributedString;
+#endif
 
 /*!
     @method selectedString
 */
 - (NSString *)selectedString;
 
+#if !TARGET_OS_IPHONE
 /*!
     @method selectedAttributedString
     @result Attributed string that represents the current selection.
 */
 - (NSAttributedString *)selectedAttributedString;
+#endif
 
 
 /*!
index a495e4b..df51380 100644 (file)
 @class DOMDocument;
 @class PDFDocument;
 
+#if !TARGET_OS_IPHONE
 @protocol WebDocumentImage <NSObject>
 - (NSImage *)image;
 @end
+#endif
 
 // This method is deprecated as it now lives on WebFrame.
 @protocol WebDocumentDOM <NSObject>
 @end
 
 @protocol WebDocumentSelection <WebDocumentText>
+#if !TARGET_OS_IPHONE
 - (NSArray *)pasteboardTypesForSelection;
 - (void)writeSelectionWithPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard;
+#endif
 
 // Array of rects that tightly enclose the selected text, in coordinates of selectinView.
 - (NSArray *)selectionTextRects;
 // Rect tightly enclosing the entire selected area, in coordinates of selectionView.
 - (NSRect)selectionRect;
 
+#if !TARGET_OS_IPHONE
 // NSImage of the portion of the selection that's in view. This does not draw backgrounds. 
 // The text is all black according to the parameter.
 - (NSImage *)selectionImageForcingBlackText:(BOOL)forceBlackText;
+#else
+- (CGImageRef)selectionImageForcingBlackText:(BOOL)forceBlackText;
+#endif
 
 // Rect tightly enclosing the entire selected area, in coordinates of selectionView.
 // NOTE: This method is equivalent to selectionRect and shouldn't be used; use selectionRect instead.
 
 @interface WebHTMLView (WebDocumentPrivateProtocols) <WebDocumentSelection, WebDocumentIncrementalSearching>
 @end
+
+#if TARGET_OS_IPHONE
+@protocol WebPDFDocumentRepresentation <WebDocumentRepresentation>
+/*!
+    @method supportedMIMETypes
+    @abstract Returns list of MIME types handled by this view.
+    @result Array of strings representing the supported MIME types.
+*/
++ (NSArray *)supportedMIMETypes;
+@end
+
+@protocol WebPDFDocumentView <WebDocumentView>
+/*!
+    @method supportedMIMETypes
+    @abstract Returns list of MIME types handled by this view.
+    @result Array of strings representing the supported MIME types.
+*/
++ (NSArray *)supportedMIMETypes;
+@end
+#endif
index 30b4daa..a487e16 100644 (file)
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#if TARGET_OS_IPHONE
+// In iOS WebKit, WebDynamicScrollBarsView is a WAKScrollView.
+// See WebCore/WAKAppKitStubs.h.
+#else
 // This is a Private header (containing SPI), despite the fact that its name
 // does not contain the word Private.
 
@@ -62,3 +66,5 @@ struct WebDynamicScrollBarsViewPrivate;
 - (BOOL)horizontalScrollingAllowed;
 - (BOOL)verticalScrollingAllowed;
 @end
+
+#endif // !TARGET_OS_IPHONE
index 60de008..5a7b345 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Cocoa/Cocoa.h>
+#import <Foundation/Foundation.h>
+
+#if !TARGET_OS_IPHONE
+#import <AppKit/AppKit.h>
+#endif
 
 @class DOMCSSStyleDeclaration;
 @class DOMRange;
index d926b93..a694c2e 100644 (file)
 
 @interface NSObject (WebViewEditingDelegatePrivate)
 - (BOOL)webView:(WebView *)webView shouldShowDeleteInterfaceForElement:(DOMHTMLElement *)element;
+#if !TARGET_OS_IPHONE
 - (void)webView:(WebView *)webView didWriteSelectionToPasteboard:(NSPasteboard *)pasteboard;
+#else
+- (NSArray *)supportedPasteboardTypesForCurrentSelection;
+- (DOMDocumentFragment *)documentFragmentForPasteboardItemAtIndex:(NSInteger)index;
+#endif
 - (BOOL)webView:(WebView *)webView shouldMoveRangeAfterDelete:(DOMRange *)range replacingRange:(DOMRange *)rangeToBeReplaced;
 @end
index b7496e9..83c3f0e 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#import <Foundation/Foundation.h>
+
+#if !TARGET_OS_IPHONE
 #import <AppKit/AppKit.h>
+#endif
 
 @class DOMElement;
 @class DOMHTMLFormElement;
 @class DOMHTMLInputElement;
 @class DOMHTMLTextAreaElement;
+#if TARGET_OS_IPHONE
+@class DOMNode;
+#endif
 @class WebFrame;
 
 /*!
@@ -57,8 +64,9 @@
 - (void)didFocusTextField:(DOMHTMLInputElement *)element inFrame:(WebFrame *)frame;
 
 - (BOOL)textField:(DOMHTMLInputElement *)element doCommandBySelector:(SEL)commandSelector inFrame:(WebFrame *)frame;
+#if !TARGET_OS_IPHONE
 - (BOOL)textField:(DOMHTMLInputElement *)element shouldHandleEvent:(NSEvent *)event inFrame:(WebFrame *)frame;
-
+#endif
 // Sent when a form is just about to be submitted (before the load is started)
 // listener must be sent continue when the delegate is done.
 - (void)frame:(WebFrame *)frame sourceFrame:(WebFrame *)sourceFrame willSubmitForm:(DOMElement *)form
index 54753ce..8d38135 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Cocoa/Cocoa.h>
+#import <Foundation/Foundation.h>
 #import <JavaScriptCore/JSBase.h>
 #import <JavaScriptCore/WebKitAvailability.h>
 
+#if !TARGET_OS_IPHONE
+#import <AppKit/AppKit.h>
+#endif
+
 @class NSError;
 @class WebFrame;
 @class WebScriptObject;
     @param image The icon image. Also known as a "favicon".
     @param frame The frame for which a page icon has been received
 */
+#if !TARGET_OS_IPHONE
 - (void)webView:(WebView *)sender didReceiveIcon:(NSImage *)image forFrame:(WebFrame *)frame;
+#endif
 
 /*!
     @method webView:didFinishLoadForFrame:
index 0dd6dcc..ef943be 100644 (file)
 #import <WebKit/WebFrame.h>
 #import <JavaScriptCore/JSBase.h>
 
+#if !TARGET_OS_IPHONE
 #if !defined(ENABLE_NETSCAPE_PLUGIN_API)
 #define ENABLE_NETSCAPE_PLUGIN_API 1
 #endif
+#endif
+
+#if TARGET_OS_IPHONE
+#include <CoreText/CoreText.h>
+#include <WebKit/WAKAppKitStubs.h>
+#endif
 
 @class DOMDocumentFragment;
 @class DOMNode;
 @class WebScriptObject;
 @class WebScriptWorld;
 
+#if TARGET_OS_IPHONE
+@class DOMElement;
+@class DOMRange;
+@class WebEvent;
+#endif
+
 // Keys for accessing the values in the page cache dictionary.
 extern NSString *WebPageCacheEntryDateKey;
 extern NSString *WebPageCacheDataSourceKey;
@@ -71,11 +84,117 @@ typedef enum {
 
 - (BOOL)_isDescendantOfFrame:(WebFrame *)frame;
 - (void)_setShouldCreateRenderers:(BOOL)shouldCreateRenderers;
+#if !TARGET_OS_IPHONE
 - (NSColor *)_bodyBackgroundColor;
+#else
+- (CGColorRef)_bodyBackgroundColor;
+#endif
 - (BOOL)_isFrameSet;
 - (BOOL)_firstLayoutDone;
 - (BOOL)_isVisuallyNonEmpty;
 - (WebFrameLoadType)_loadType;
+#if TARGET_OS_IPHONE
+- (BOOL)needsLayout; // Needed for Mail <rdar://problem/6228038>
+- (void)_setLoadsSynchronously:(BOOL)flag;
+- (BOOL)_loadsSynchronously;
+- (unsigned)formElementsCharacterCount;
+- (void)setTimeoutsPaused:(BOOL)flag;
+
+/*!
+    @method setPluginsPaused
+    @abstract Stop/start all plugins based on the flag passed if we have a WebHTMLView
+    @param flag YES to stop plugins on the html view, NO to start them
+ */
+- (void)setPluginsPaused:(BOOL)flag;
+- (void)prepareForPause;
+- (void)resumeFromPause;
+- (void)updateLayout;
+- (void)selectNSRange:(NSRange)range;
+- (void)selectWithoutClosingTypingNSRange:(NSRange)range;
+- (NSRange)selectedNSRange;
+- (void)forceLayoutAdjustingViewSize:(BOOL)adjust;
+- (void)_handleKeyEvent:(WebEvent *)event;
+- (void)_selectAll;
+- (void)_setSelectionFromNone;
+- (void)_saveViewState;
+- (void)_restoreViewState;
+- (void)sendOrientationChangeEvent:(int)newOrientation;
+- (void)setNeedsLayout;
+- (CGSize)renderedSizeOfNode:(DOMNode *)node constrainedToWidth:(float)width;
+- (DOMNode *)deepestNodeAtViewportLocation:(CGPoint)aViewportLocation;
+- (DOMNode *)scrollableNodeAtViewportLocation:(CGPoint)aViewportLocation;
+- (DOMNode *)approximateNodeAtViewportLocation:(CGPoint *)aViewportLocation;
+- (CGRect)renderRectForPoint:(CGPoint)point isReplaced:(BOOL *)isReplaced fontSize:(float *)fontSize;
+
+- (void)_setProhibitsScrolling:(BOOL)flag;
+
+- (void)revealSelectionAtExtent:(BOOL)revealExtent;
+- (void)resetSelection;
+- (BOOL)hasEditableSelection;
+
+- (int)preferredHeight;
+// Returns the line height of the inner node of a text control.
+// For other nodes, the value is the same as lineHeight.
+- (int)innerLineHeight:(DOMNode *)node;
+- (void)setIsActive:(BOOL)flag;
+- (void)setSelectionChangeCallbacksDisabled:(BOOL)flag;
+- (NSRect)caretRect;
+- (NSRect)rectForScrollToVisible; // return caretRect if selection is caret, selectionRect otherwise
+- (void)setCaretColor:(CGColorRef)color;
+- (NSView *)documentView;
+- (int)layoutCount;
+- (BOOL)isTelephoneNumberParsingAllowed;
+- (BOOL)isTelephoneNumberParsingEnabled;
+- (BOOL)mediaDataLoadsAutomatically;
+- (void)setMediaDataLoadsAutomatically:(BOOL)flag;
+
+- (DOMRange *)selectedDOMRange;
+- (void)setSelectedDOMRange:(DOMRange *)range affinity:(NSSelectionAffinity)affinity closeTyping:(BOOL)closeTyping;
+- (NSSelectionAffinity)selectionAffinity;
+- (void)expandSelectionToElementContainingCaretSelection;
+- (DOMRange *)elementRangeContainingCaretSelection;
+- (void)expandSelectionToWordContainingCaretSelection;
+- (void)expandSelectionToStartOfWordContainingCaretSelection;
+- (unichar)characterInRelationToCaretSelection:(int)amount;
+- (unichar)characterBeforeCaretSelection;
+- (unichar)characterAfterCaretSelection;
+- (DOMRange *)wordRangeContainingCaretSelection;
+- (NSString *)wordInRange:(DOMRange *)range;
+- (int)wordOffsetInRange:(DOMRange *)range;
+- (BOOL)spaceFollowsWordInRange:(DOMRange *)range;
+- (NSArray *)wordsInCurrentParagraph;
+- (BOOL)selectionAtDocumentStart;
+- (BOOL)selectionAtSentenceStart;
+- (BOOL)selectionAtWordStart;
+- (DOMRange *)rangeByMovingCurrentSelection:(int)amount;
+- (DOMRange *)rangeByExtendingCurrentSelection:(int)amount;
+- (void)selectNSRange:(NSRange)range onElement:(DOMElement *)element;
+- (DOMRange *)markedTextDOMRange;
+- (void)setMarkedText:(NSString *)text selectedRange:(NSRange)newSelRange;
+- (void)setMarkedText:(NSString *)text forCandidates:(BOOL)forCandidates;
+- (void)confirmMarkedText:(NSString *)text;
+- (void)setText:(NSString *)text asChildOfElement:(DOMElement *)element;
+- (void)setDictationPhrases:(NSArray *)dictationPhrases metadata:(id)metadata asChildOfElement:(DOMElement *)element;
+- (NSArray *)interpretationsForCurrentRoot;
+- (void)getDictationResultRanges:(NSArray **)ranges andMetadatas:(NSArray **)metadatas;
+- (id)dictationResultMetadataForRange:(DOMRange *)range;
+- (void)recursiveSetUpdateAppearanceEnabled:(BOOL)enabled;
+
+// WebCoreFrameBridge methods used by iOS applications and frameworks
++ (NSString *)stringWithData:(NSData *)data textEncodingName:(NSString *)textEncodingName;
+
+- (NSRect)caretRectAtNode:(DOMNode *)node offset:(int)offset affinity:(NSSelectionAffinity)affinity;
+- (DOMRange *)characterRangeAtPoint:(NSPoint)point;
+- (NSRange)convertDOMRangeToNSRange:(DOMRange *)range;
+- (DOMRange *)convertNSRangeToDOMRange:(NSRange)nsrange;
+- (NSRect)firstRectForDOMRange:(DOMRange *)range;
+- (CTFontRef)fontForSelection:(BOOL *)hasMultipleFonts;
+- (void)sendScrollEvent;
+- (void)_userScrolled;
+- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)string forceUserGesture:(BOOL)forceUserGesture;
+- (NSString *)stringForRange:(DOMRange *)range;
+- (void)_replaceSelectionWithText:(NSString *)text selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace matchStyle:(BOOL)matchStyle;
+#endif // TARGET_OS_IPHONE
 
 // These methods take and return NSRanges based on the root editable element as the positional base.
 // This fits with AppKit's idea of an input context. These methods are slow compared to their DOMRange equivalents.
@@ -83,6 +202,13 @@ typedef enum {
 - (NSRange)_selectedNSRange;
 - (void)_selectNSRange:(NSRange)range;
 
+#if TARGET_OS_IPHONE
+// FIXME: selection
+- (NSArray *)_rectsForRange:(DOMRange *)domRange;
+- (DOMRange *)_selectionRangeForPoint:(CGPoint)point;
+- (DOMRange *)_selectionRangeForFirstPoint:(CGPoint)first secondPoint:(CGPoint)second;
+#endif
+
 - (BOOL)_isDisplayingStandaloneImage;
 
 - (unsigned)_pendingFrameUnloadEventCount;
@@ -103,16 +229,23 @@ typedef enum {
 - (void)_setVisibleSize:(CGSize)size;
 - (void)_setTextAutosizingWidth:(CGFloat)width;
 
+#if TARGET_OS_IPHONE
+- (void)_replaceSelectionWithWebArchive:(WebArchive *)webArchive selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace;
+#endif
+
 - (void)_replaceSelectionWithFragment:(DOMDocumentFragment *)fragment selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace matchStyle:(BOOL)matchStyle;
 - (void)_replaceSelectionWithText:(NSString *)text selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace;
 - (void)_replaceSelectionWithMarkupString:(NSString *)markupString baseURLString:(NSString *)baseURLString selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace;
 
+#if !TARGET_OS_IPHONE
 - (void)_smartInsertForString:(NSString *)pasteString replacingRange:(DOMRange *)rangeToReplace beforeString:(NSString **)beforeString afterString:(NSString **)afterString;
+#endif
 
 - (NSMutableDictionary *)_cacheabilityDictionary;
 
 - (BOOL)_allowsFollowingLink:(NSURL *)URL;
 
+#if !TARGET_OS_IPHONE
 // Sets whether the scrollbars, if any, should be shown inside the document's border 
 // (thus overlapping some content) or outside the webView's border (default behavior). 
 // Changing this flag changes the size of the contentView and maintains the size of the frameView.
@@ -122,6 +255,7 @@ typedef enum {
 // This does not affect the scrollability of the document.
 - (void)setAlwaysHideHorizontalScroller:(BOOL)flag;
 - (void)setAlwaysHideVerticalScroller:(BOOL)flag;
+#endif
 
 // Sets the name presented to accessibility clients for the web area object.
 - (void)setAccessibleName:(NSString *)name;
@@ -137,6 +271,19 @@ typedef enum {
 // Printing.
 - (NSArray *)_computePageRectsWithPrintScaleFactor:(float)printWidthScaleFactor pageSize:(NSSize)pageSize;
 
+#if TARGET_OS_IPHONE
+- (DOMDocumentFragment *)_documentFragmentForText:(NSString *)text;
+// These have the side effect of adding subresources to our WebDataSource where appropriate.
+- (DOMDocumentFragment *)_documentFragmentForWebArchive:(WebArchive *)webArchive;
+- (DOMDocumentFragment *)_documentFragmentForImageData:(NSData *)data withRelativeURLPart:(NSString *)relativeURLPart andMIMEType:(NSString *)mimeType;
+
+- (BOOL)focusedNodeHasContent;
+
+- (void)_dispatchDidReceiveTitle:(NSString *)title;
+- (void)removeUnchangeableStyles;
+- (BOOL)hasRichlyEditableSelection;
+#endif
+
 - (JSValueRef)jsWrapperForNode:(DOMNode *)node inScriptWorld:(WebScriptWorld *)world;
 
 - (NSDictionary *)elementAtPoint:(NSPoint)point;
index e89068e..8b04172 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#if !TARGET_OS_IPHONE
 #import <Cocoa/Cocoa.h>
+#else
+#import <WebKit/WAKAppKitStubs.h>
+#endif
 
 @class WebDataSource;
 @class WebFrame;
@@ -62,6 +66,7 @@
 */
 @property (nonatomic) BOOL allowsScrolling;
 
+#if !TARGET_OS_IPHONE
 /*!
     @property canPrintHeadersAndFooters
     @abstract Whether this frame can print headers and footers
@@ -74,6 +79,7 @@
     @result A newly created print operation object
 */
 - (NSPrintOperation *)printOperationWithPrintInfo:(NSPrintInfo *)printInfo;
+#endif
 
 /*!
     @property documentViewShouldHandlePrint
index 93d36ec..537bddf 100644 (file)
  */
 - (Class)_customScrollViewClass;
 
+#if !TARGET_OS_IPHONE
 /*!
     @method _setCustomScrollViewClass:
     @result Switches the WebFrameView's scroll view class, this class needs to be a subclass of WebDynamicScrollBarsView.
     Passing nil will switch back to the default WebDynamicScrollBarsView class.
  */
 - (void)_setCustomScrollViewClass:(Class)scrollViewClass;
+#endif
 
 @end
index b07d648..d567112 100644 (file)
@@ -53,7 +53,9 @@
 + (NSArray *)supportedImageMIMETypes;
 + (NSArray *)unsupportedTextMIMETypes;
 
+#if !TARGET_OS_IPHONE
 - (NSAttributedString *)attributedStringFrom:(DOMNode *)startNode startOffset:(int)startOffset to:(DOMNode *)endNode endOffset:(int)endOffset;
+#endif
 
 - (DOMElement *)elementWithName:(NSString *)name inForm:(DOMElement *)form;
 - (BOOL)elementDoesAutoComplete:(DOMElement *)element;
index a191cef..a4084a6 100644 (file)
     WebHTMLView is a NSControl because it hosts NSCells that are painted by WebCore's Aqua theme
     renderer (and those cells must be hosted by an enclosing NSControl in order to paint properly).
 */
+#if !TARGET_OS_IPHONE
 @interface WebHTMLView : NSControl <WebDocumentView, WebDocumentSearching>
+#else
+@interface WebHTMLView : NSView <WebDocumentView, WebDocumentSearching>
+#endif
 {
 @private
     WebHTMLViewPrivate *_private;
@@ -57,7 +61,9 @@
 */
 - (void)reapplyStyles;
 
+#if !TARGET_OS_IPHONE
 - (void)outdent:(id)sender;
+#endif
 
 @end
 
index 1c5625a..ee60d5a 100644 (file)
 
 #import <WebKit/WebHTMLView.h>
 
+#if !TARGET_OS_IPHONE
 #if !defined(ENABLE_NETSCAPE_PLUGIN_API)
 #define ENABLE_NETSCAPE_PLUGIN_API 1
 #endif
+#endif
 
 @class DOMDocumentFragment;
 @class DOMNode;
@@ -54,31 +56,41 @@ extern const float _WebHTMLViewPrintingMaximumShrinkFactor;
 
 - (void)close;
 
+#if !TARGET_OS_IPHONE
 // Modifier (flagsChanged) tracking SPI
 + (void)_postFlagsChangedEvent:(NSEvent *)flagsChangedEvent;
 - (void)_updateMouseoverWithFakeEvent;
 
 - (void)_setAsideSubviews;
 - (void)_restoreSubviews;
+#endif
 
 - (BOOL)_insideAnotherHTMLView;
 - (void)_clearLastHitViewIfSelf;
+#if !TARGET_OS_IPHONE
 - (void)_updateMouseoverWithEvent:(NSEvent *)event;
 
 + (NSArray *)_insertablePasteboardTypes;
 + (NSArray *)_selectionPasteboardTypes;
 - (void)_writeSelectionToPasteboard:(NSPasteboard *)pasteboard;
+#endif
 
 - (void)_frameOrBoundsChanged;
 
+#if !TARGET_OS_IPHONE
 - (void)_handleAutoscrollForMouseDragged:(NSEvent *)event;
+#endif
 - (WebPluginController *)_pluginController;
 
 // FIXME: _selectionRect is deprecated in favor of selectionRect, which is in protocol WebDocumentSelection.
 // We can't remove this yet because it's still in use by Mail.
 - (NSRect)_selectionRect;
 
+#if !TARGET_OS_IPHONE
 - (void)_startAutoscrollTimer:(NSEvent *)event;
+#else
+- (void)_startAutoscrollTimer:(WebEvent *)event;
+#endif
 - (void)_stopAutoscrollTimer;
 
 - (BOOL)_canEdit;
@@ -93,6 +105,7 @@ extern const float _WebHTMLViewPrintingMaximumShrinkFactor;
 
 - (void)_setToolTip:(NSString *)string;
 
+#if !TARGET_OS_IPHONE
 // SPI used by Mail.
 // FIXME: These should all be moved to WebView; we won't always have a WebHTMLView.
 - (NSImage *)_selectionDraggingImage;
@@ -108,6 +121,7 @@ extern const float _WebHTMLViewPrintingMaximumShrinkFactor;
 - (void)_setHighlighter:(id <WebHTMLHighlighter>)highlighter ofType:(NSString *)type;
 - (void)_removeHighlighterOfType:(NSString *)type;
 - (DOMDocumentFragment *)_documentFragmentFromPasteboard:(NSPasteboard *)pasteboard forType:(NSString *)pboardType inContext:(DOMRange *)context subresources:(NSArray **)subresources;
+#endif
 
 #if ENABLE_NETSCAPE_PLUGIN_API
 - (void)_resumeNullEventsForAllNetscapePlugins;
@@ -117,10 +131,12 @@ extern const float _WebHTMLViewPrintingMaximumShrinkFactor;
 - (BOOL)_isUsingAcceleratedCompositing;
 - (NSView *)_compositingLayersHostingView;
 
+#if !TARGET_OS_IPHONE
 // SPI for printing (should be converted to API someday). When the WebHTMLView isn't being printed
 // directly, this method must be called before paginating, or the computed height might be incorrect.
 // Typically this would be called from inside an override of -[NSView knowsPageRange:].
 - (void)_layoutForPrinting;
+#endif
 - (CGFloat)_adjustedBottomOfPageWithTop:(CGFloat)top bottom:(CGFloat)bottom limit:(CGFloat)bottomLimit;
 - (BOOL)_isInPrintMode;
 - (BOOL)_beginPrintModeWithPageWidth:(float)pageWidth height:(float)pageHeight shrinkToFit:(BOOL)shrinkToFit;
@@ -133,6 +149,12 @@ extern const float _WebHTMLViewPrintingMaximumShrinkFactor;
 - (BOOL)_beginScreenPaginationModeWithPageSize:(CGSize)pageSize shrinkToFit:(BOOL)shrinkToFit;
 - (void)_endScreenPaginationMode;
 
+#if !TARGET_OS_IPHONE
 - (BOOL)_canSmartReplaceWithPasteboard:(NSPasteboard *)pasteboard;
+#endif
+
+#if TARGET_OS_IPHONE
+- (id)accessibilityRootElement;
+#endif
 
 @end
index 846d28d..0041a65 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Cocoa/Cocoa.h>
+#import <Foundation/Foundation.h>
+
+#if TARGET_OS_IPHONE
+#import <AppKit/AppKit.h>
+#endif
 
 @class NSError;
 @class NSURLResponse;
index b5a1355..c4df227 100644 (file)
 #define WebKitUsesEncodingDetectorPreferenceKey @"WebKitUsesEncodingDetector"
 #define WebKitUserStyleSheetEnabledPreferenceKey @"WebKitUserStyleSheetEnabledPreferenceKey"
 #define WebKitUserStyleSheetLocationPreferenceKey @"WebKitUserStyleSheetLocationPreferenceKey"
+#if !TARGET_OS_IPHONE
 #define WebKitShouldPrintBackgroundsPreferenceKey @"WebKitShouldPrintBackgroundsPreferenceKey"
 #define WebKitTextAreasAreResizablePreferenceKey @"WebKitTextAreasAreResizable"
+#endif
 #define WebKitShrinksStandaloneImagesToFitPreferenceKey @"WebKitShrinksStandaloneImagesToFit"
 #define WebKitJavaEnabledPreferenceKey @"WebKitJavaEnabled"
 #define WebKitJavaScriptEnabledPreferenceKey @"WebKitJavaScriptEnabled"
 #define WebKitDisplayImagesKey @"WebKitDisplayImagesKey"
 #define WebKitLoadSiteIconsKey @"WebKitLoadSiteIconsKey"
 #define WebKitBackForwardCacheExpirationIntervalKey @"WebKitBackForwardCacheExpirationIntervalKey"
+#if !TARGET_OS_IPHONE
 #define WebKitTabToLinksPreferenceKey @"WebKitTabToLinksPreferenceKey"
+#endif
 #define WebKitPrivateBrowsingEnabledPreferenceKey @"WebKitPrivateBrowsingEnabled"
 #define WebSmartInsertDeleteEnabled @"WebSmartInsertDeleteEnabled"
+#if !TARGET_OS_IPHONE
 #define WebContinuousSpellCheckingEnabled @"WebContinuousSpellCheckingEnabled"
 #define WebGrammarCheckingEnabled @"WebGrammarCheckingEnabled"
+#endif
 #define WebAutomaticQuoteSubstitutionEnabled @"WebAutomaticQuoteSubstitutionEnabled"
 #define WebAutomaticLinkDetectionEnabled @"WebAutomaticLinkDetectionEnabled"
 #define WebAutomaticDashSubstitutionEnabled @"WebAutomaticDashSubstitutionEnabled"
 #define WebKitShouldDisplayTextDescriptionsPreferenceKey @"WebKitShouldDisplayTextDescriptions"
 #define WebKitNotificationsEnabledKey @"WebKitNotificationsEnabled"
 #define WebKitSuppressesIncrementalRenderingKey @"WebKitSuppressesIncrementalRendering"
+#if TARGET_OS_IPHONE
+#define WebKitMediaPlaybackAllowsAirPlayPreferenceKey @"WebKitMediaPlaybackAllowsAirPlay"
+#define WebKitAudioSessionCategoryOverride @"WebKitAudioSessionCategoryOverride"
+#endif
 #define WebKitRegionBasedColumnsEnabledKey @"WebKitRegionBasedColumnsEnabled"
 #define WebKitShouldRespectImageOrientationKey @"WebKitShouldRespectImageOrientation"
 #define WebKitRequestAnimationFrameEnabledPreferenceKey @"WebKitRequestAnimationFrameEnabled"
 #define WebKitUseLegacyTextAlignPositionedElementBehaviorPreferenceKey @"WebKitUseLegacyTextAlignPositionedElementBehavior"
 #define WebKitMediaSourceEnabledPreferenceKey @"WebKitMediaSourceEnabled"
 
+#if !TARGET_OS_IPHONE
 // These are private both because callers should be using the cover methods and because the
 // cover methods themselves are private.
 #define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey @"WebKitRespectStandardStyleKeyEquivalents"
 #define WebKitShowsToolTipOverTruncatedTextPreferenceKey @"WebKitShowsToolTipOverTruncatedText"
 #define WebKitPDFDisplayModePreferenceKey @"WebKitPDFDisplayMode"
 #define WebKitPDFScaleFactorPreferenceKey @"WebKitPDFScaleFactor"
+#endif
 #define WebKitUseSiteSpecificSpoofingPreferenceKey @"WebKitUseSiteSpecificSpoofing"
 #define WebKitEditableLinkBehaviorPreferenceKey @"WebKitEditableLinkBehavior"
 #define WebKitCacheModelPreferenceKey @"WebKitCacheModelPreferenceKey"
 
 #define WebKitMinimumZoomFontSizePreferenceKey @"WebKitMinimumZoomFontSizePreferenceKey"
 
+#if TARGET_OS_IPHONE
+#define WebKitMaximumImageSizePreferenceKey @"WebKitMaximumImageSize"
+#define WebKitStandalonePreferenceKey @"WebKitStandalonePreferenceKey"
+#define WebKitTelephoneParsingEnabledPreferenceKey @"WebKitTelephoneParsingEnabledPreferenceKey"
+#define WebKitAlwaysUseBaselineOfPrimaryFontPreferenceKey @"WebKitAlwaysUseBaselineOfPrimaryFontPreferenceKey"
+#define WebKitAllowMultiElementImplicitFormSubmissionPreferenceKey @"WebKitAllowMultiElementImplicitFormSubmissionPreferenceKey"
+#define WebKitNSURLMemoryCacheSizePreferenceKey @"WebKitNSURLMemoryCacheSizePreferenceKey"
+#define WebKitNSURLDiskCacheSizePreferenceKey @"WebKitNSURLDiskCacheSizePreferenceKey"
+#define WebKitAlwaysRequestGeolocationPermissionPreferenceKey @"WebKitAlwaysRequestGeolocationPermission"
+#define WebKitLayoutIntervalPreferenceKey @"WebKitLayoutIntervalPreferenceKey"
+#define WebKitMaxParseDurationPreferenceKey @"WebKitMaxParseDurationPreferenceKey"
+#define WebKitStorageTrackerEnabledPreferenceKey @"WebKitStorageTrackerEnabledPreferenceKey"
+#define WebKitAlwaysUseAcceleratedOverflowScrollPreferenceKey @"WebKitAlwaysUseAcceleratedOverflowScroll"
+#define WebKitInterpolationQualityPreferenceKey @"WebKitInterpolationQualityPreferenceKey"
+#define WebKitPasswordEchoEnabledPreferenceKey @"WebKitEnablePasswordEchoPreferenceKey"
+#define WebKitPasswordEchoDurationPreferenceKey @"WebKitPasswordEchoDurationPreferenceKey"
+#define WebKitNetworkDataUsageTrackingEnabledPreferenceKey @"WebKitNetworkDataUsageTrackingEnabledPreferenceKey"
+#define WebKitNetworkInterfaceNamePreferenceKey @"WebKitNetworkInterfaceNamePreferenceKey"
+#endif
+
 #define WebKitDiskImageCacheEnabledPreferenceKey @"WebKitDiskImageCacheEnabled"
 #define WebKitDiskImageCacheMinimumImageSizePreferenceKey @"WebKitDiskImageCacheMinimumImageSize"
 #define WebKitDiskImageCacheMaximumCacheSizePreferenceKey @"WebKitDiskImageCacheMaximumCacheSize"
 #define WebKitDiskImageCacheSavedCacheDirectoryKey @"WebKitDiskImageCacheSavedCacheDirectory"
+
+#if TARGET_OS_IPHONE
+#if ENABLE(REMOTE_INSPECTOR)
+#define WebKitTextFieldRemoteInspectionEnabledPreferenceKey @"WebKitTextFieldRemoteInspectionEnabled"
+#endif
+#endif
index 668d912..4dd5934 100644 (file)
@@ -206,10 +206,12 @@ extern NSString *WebPreferencesChangedNotification;
 */
 @property (nonatomic) BOOL autosaves;
 
+#if !TARGET_OS_IPHONE
 /*!
     @property shouldPrintBackgrounds
 */
 @property (nonatomic) BOOL shouldPrintBackgrounds;
+#endif
 
 /*!
     @property privateBrowsingEnabled:
@@ -218,12 +220,14 @@ extern NSString *WebPreferencesChangedNotification;
  */
 @property (nonatomic) BOOL privateBrowsingEnabled;
 
+#if !TARGET_OS_IPHONE
 /*!
     @property tabsToLinks
     @abstract If tabsToLinks is YES, the tab key will focus links and form controls.
     The option key temporarily reverses this preference.
 */
 @property (nonatomic) BOOL tabsToLinks;
+#endif
 
 /*!
     @property usesPageCache
index 4f62631..132226a 100644 (file)
  */
 
 #import <WebKit/WebPreferences.h>
+
+#if !TARGET_OS_IPHONE
 #import <Quartz/Quartz.h>
+#endif
 
 typedef enum {
     WebKitEditableLinkDefaultBehavior,
@@ -76,6 +79,7 @@ extern NSString *WebPreferencesCacheModelChangedInternalNotification;
 - (BOOL)usesEncodingDetector;
 - (void)setUsesEncodingDetector:(BOOL)flag;
 
+#if !TARGET_OS_IPHONE
 - (BOOL)respectStandardStyleKeyEquivalents;
 - (void)setRespectStandardStyleKeyEquivalents:(BOOL)flag;
 
@@ -90,6 +94,7 @@ extern NSString *WebPreferencesCacheModelChangedInternalNotification;
 
 - (PDFDisplayMode)PDFDisplayMode;
 - (void)setPDFDisplayMode:(PDFDisplayMode)mode;
+#endif
 
 - (BOOL)shrinksStandaloneImagesToFit;
 - (void)setShrinksStandaloneImagesToFit:(BOOL)flag;
@@ -109,6 +114,11 @@ extern NSString *WebPreferencesCacheModelChangedInternalNotification;
 - (BOOL)databasesEnabled;
 - (void)setDatabasesEnabled:(BOOL)databasesEnabled;
 
+#if TARGET_OS_IPHONE
+- (BOOL)storageTrackerEnabled;
+- (void)setStorageTrackerEnabled:(BOOL)storageTrackerEnabled;
+#endif
+
 - (BOOL)localStorageEnabled;
 - (void)setLocalStorageEnabled:(BOOL)localStorageEnabled;
 
@@ -139,9 +149,11 @@ extern NSString *WebPreferencesCacheModelChangedInternalNotification;
 - (BOOL)isSpatialNavigationEnabled;
 - (void)setSpatialNavigationEnabled:(BOOL)flag;
 
+#if !TARGET_OS_IPHONE
 // zero means do AutoScale
 - (float)PDFScaleFactor;
 - (void)setPDFScaleFactor:(float)scale;
+#endif
 
 - (int64_t)applicationCacheTotalQuota;
 - (void)setApplicationCacheTotalQuota:(int64_t)quota;
@@ -242,11 +254,60 @@ extern NSString *WebPreferencesCacheModelChangedInternalNotification;
 - (BOOL)mockScrollbarsEnabled;
 - (void)setMockScrollbarsEnabled:(BOOL)flag;
 
+#if TARGET_OS_IPHONE
+// This is a global setting.
+- (unsigned)audioSessionCategoryOverride;
+- (void)setAudioSessionCategoryOverride:(unsigned)override;
+
+// WARNING: this affect network performance. This must not be enabled for production use.
+// Enabling this makes WebCore reports the network data usage.
+// This is a global setting.
+- (void)setNetworkDataUsageTrackingEnabled:(bool)trackingEnabled;
+- (BOOL)networkDataUsageTrackingEnabled;
+
+- (void)setNetworkInterfaceName:(NSString *)name;
+- (NSString *)networkInterfaceName;
+
+- (void)setMediaPlaybackAllowsAirPlay:(BOOL)flag;
+- (BOOL)mediaPlaybackAllowsAirPlay;
+#endif
+
 // This is a global setting.
 - (BOOL)seamlessIFramesEnabled;
 - (void)setSeamlessIFramesEnabled:(BOOL)enabled;
 
 // Other private methods
+#if TARGET_OS_IPHONE
+- (size_t)_maximumImageSize;
+- (BOOL)_standalone;
+- (void)_setStandalone:(BOOL)flag;
+- (void)_setTelephoneNumberParsingEnabled:(BOOL)flag;
+- (BOOL)_telephoneNumberParsingEnabled;
+- (void)_setAlwaysUseBaselineOfPrimaryFont:(BOOL)flag;
+- (BOOL)_alwaysUseBaselineOfPrimaryFont;
+- (void)_setAllowMultiElementImplicitFormSubmission:(BOOL)flag;
+- (BOOL)_allowMultiElementImplicitFormSubmission;
+- (void)_setAlwaysRequestGeolocationPermission:(BOOL)flag;
+- (BOOL)_alwaysRequestGeolocationPermission;
+- (void)_setAlwaysUseAcceleratedOverflowScroll:(BOOL)flag;
+- (BOOL)_alwaysUseAcceleratedOverflowScroll;
+- (void)_setLayoutInterval:(int)l;
+- (int)_layoutInterval;
+- (void)_setMaxParseDuration:(float)d;
+- (float)_maxParseDuration;
+- (void)_setPageCacheSize:(int)size;
+- (int)_pageCacheSize;
+- (void)_setObjectCacheSize:(int)size;
+- (int)_objectCacheSize;
+- (void)_setNSURLMemoryCacheSize:(int)size;
+- (int)_NSURLMemoryCacheSize;
+- (void)_setNSURLDiskCacheSize:(int)size;
+- (int)_NSURLDiskCacheSize;
+- (void)_setInterpolationQuality:(int)quality;
+- (int)_interpolationQuality;
+- (BOOL)_allowPasswordEcho;
+- (float)_passwordEchoDuration;
+#endif
 - (void)_postPreferencesChangedNotification;
 - (void)_postPreferencesChangedAPINotification;
 + (WebPreferences *)_getInstanceForIdentifier:(NSString *)identifier;
@@ -301,6 +362,11 @@ extern NSString *WebPreferencesCacheModelChangedInternalNotification;
 - (void)setRegionBasedColumnsEnabled:(BOOL)flag;
 - (BOOL)regionBasedColumnsEnabled;
 
+#if TARGET_OS_IPHONE
+- (void)_invalidateCachedPreferences;
+- (void)_synchronizeWebStoragePolicyWithCookiePolicy;
+#endif
+
 - (void)setBackspaceKeyNavigationEnabled:(BOOL)flag;
 - (BOOL)backspaceKeyNavigationEnabled;
 
index e09983d..a11403e 100644 (file)
 
 #import <Foundation/Foundation.h>
 
+#if TARGET_OS_IPHONE
+#import <Foundation/NSGeometry.h>
+#endif
+
 @class WebFrame;
 
 @interface WebRenderLayer : NSObject
index 6308f55..27705a0 100644 (file)
  @result return YES if WebKit should paint the default broken image.
  */
 - (BOOL)webView:(WebView*)sender shouldPaintBrokenImageForURL:(NSURL*)imageURL;
+
+#if TARGET_OS_IPHONE
+- (id)webThreadWebView:(WebView *)sender identifierForInitialRequest:(NSURLRequest *)request fromDataSource:(WebDataSource *)dataSource;
+- (NSURLRequest *)webThreadWebView:(WebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse fromDataSource:(WebDataSource *)dataSource;
+- (void)webThreadWebView:(WebView *)sender resource:(id)identifier didReceiveContentLength:(WebNSInteger)length fromDataSource:(WebDataSource *)dataSource;
+- (void)webThreadWebView:(WebView *)sender resource:(id)identifier didReceiveResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)dataSource;
+- (void)webThreadWebView:(WebView *)webView didLoadResourceFromMemoryCache:(NSURLRequest *)request response:(NSURLResponse *)response length:(WebNSInteger)length fromDataSource:(WebDataSource *)dataSource;
+- (void)webThreadWebView:(WebView *)sender resource:(id)identifier didFinishLoadingFromDataSource:(WebDataSource *)dataSource;
+- (void)webThreadWebView:(WebView *)sender resource:(id)identifier didFailLoadingWithError:(NSError *)error fromDataSource:(WebDataSource *)dataSource;
+- (NSCachedURLResponse *)webThreadWebView:(WebView *)sender resource:(id)identifier willCacheResponse:(NSCachedURLResponse *)response fromDataSource:(WebDataSource *)dataSource;
+
+/*!
+ @method webView:connectionPropertiesForResource:
+ @abstract Provide a CFStream level properties dictionary to be used by a connection
+ @result return an NSDictionary with the desired stream properties or nil
+ */
+- (NSDictionary *)webView:(WebView *)sender connectionPropertiesForResource:(id)identifier dataSource:(WebDataSource *)dataSource;
+#endif
+
 @end
index 80d9835..09d5af8 100644 (file)
@@ -42,7 +42,9 @@
 
 - (void)_ignoreWhenUnarchiving;
 
+#if !TARGET_OS_IPHONE
 - (NSFileWrapper *)_fileWrapperRepresentation;
+#endif
 - (NSURLResponse *)_response;
 - (NSString *)_stringValue;
 
index 1502ca7..1a0e8b4 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import <Cocoa/Cocoa.h>
+#import <Foundation/Foundation.h>
 #import <Foundation/NSURLRequest.h>
 #import <JavaScriptCore/WebKitAvailability.h>
 
+#if !TARGET_OS_IPHONE
+#import <AppKit/AppKit.h>
+#else
+#import <WebKit/WAKAppKitStubs.h>
+#endif
+
 /*!
     @enum WebMenuItemTag
     @discussion Each menu item in the default menu items array passed in
@@ -135,6 +141,11 @@ typedef NS_OPTIONS(NSUInteger, WebDragSourceAction) {
 */
 - (void)cancel;
 
+#if TARGET_OS_IPHONE
+- (void)chooseFilename:(NSString *)filename displayString:(NSString *)displayString iconImage:(CGImageRef)imageRef;
+- (void)chooseFilenames:(NSArray *)filenames displayString:(NSString *)displayString iconImage:(CGImageRef)imageRef;
+#endif
+
 @end
 
 @class WebFrame;
@@ -437,6 +448,7 @@ typedef NS_OPTIONS(NSUInteger, WebDragSourceAction) {
 */
 - (NSArray *)webView:(WebView *)sender contextMenuItemsForElement:(NSDictionary *)element defaultMenuItems:(NSArray *)defaultMenuItems;
 
+#if !TARGET_OS_IPHONE
 /*!
     @method webView:validateUserInterfaceItem:defaultValidation:
     @abstract Controls UI validation
@@ -448,6 +460,7 @@ typedef NS_OPTIONS(NSUInteger, WebDragSourceAction) {
     NSValidatedUserInterfaceItem for information about UI validation.
 */
 - (BOOL)webView:(WebView *)webView validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item defaultValidation:(BOOL)defaultValidation;
+#endif
 
 /*!
     @method webView:shouldPerformAction:fromSender:
@@ -462,6 +475,7 @@ typedef NS_OPTIONS(NSUInteger, WebDragSourceAction) {
 */
 - (BOOL)webView:(WebView *)webView shouldPerformAction:(SEL)action fromSender:(id)sender;
 
+#if !TARGET_OS_IPHONE
 /*!
     @method webView:dragDestinationActionMaskForDraggingInfo:
     @abstract Controls behavior when dragging to a WebView
@@ -506,6 +520,7 @@ typedef NS_OPTIONS(NSUInteger, WebDragSourceAction) {
     the contents of the dragging pasteboard.
 */
 - (void)webView:(WebView *)webView willPerformDragSourceAction:(WebDragSourceAction)action fromPoint:(NSPoint)point withPasteboard:(NSPasteboard *)pasteboard;
+#endif /* !TARGET_OS_IPHONE */
 
 /*!
     @method webView:printFrameView:
index ebb007d..5214f37 100644 (file)
 #import <WebKit/WebAllowDenyPolicyListener.h>
 #import <WebKit/WebUIDelegate.h>
 
+#if !TARGET_OS_IPHONE
 #if !defined(ENABLE_DASHBOARD_SUPPORT)
 #define ENABLE_DASHBOARD_SUPPORT 1
 #endif
+#endif
 
 #if !defined(ENABLE_FULLSCREEN_API)
+#if !TARGET_OS_IPHONE
 #define ENABLE_FULLSCREEN_API 1
+#else
+#define ENABLE_FULLSCREEN_API 0
+#endif
 #endif
 
 // Mail on Tiger expects the old value for WebMenuItemTagSearchInGoogle
@@ -174,14 +180,18 @@ extern NSString *WebConsoleMessageErrorMessageLevel;
 - (void)webView:(WebView *)webView dashboardRegionsChanged:(NSDictionary *)regions;
 #endif
 
+#if !TARGET_OS_IPHONE
 - (void)webView:(WebView *)sender dragImage:(NSImage *)anImage at:(NSPoint)viewLocation offset:(NSSize)initialOffset event:(NSEvent *)event pasteboard:(NSPasteboard *)pboard source:(id)sourceObj slideBack:(BOOL)slideFlag forView:(NSView *)view;
+#endif
 - (void)webView:(WebView *)sender didDrawRect:(NSRect)rect;
 - (void)webView:(WebView *)sender didScrollDocumentInFrameView:(WebFrameView *)frameView;
 // FIXME: If we ever make this method public, it should include a WebFrame parameter.
 - (BOOL)webViewShouldInterruptJavaScript:(WebView *)sender;
+#if !TARGET_OS_IPHONE
 - (void)webView:(WebView *)sender willPopupMenu:(NSMenu *)menu;
 - (void)webView:(WebView *)sender contextMenuItemSelected:(NSMenuItem *)item forElement:(NSDictionary *)element;
 - (void)webView:(WebView *)sender saveFrameView:(WebFrameView *)frameView showingPanel:(BOOL)showingPanel;
+#endif
 - (BOOL)webView:(WebView *)sender didPressMissingPluginButton:(DOMElement *)element;
 /*!
     @method webView:frame:exceededDatabaseQuotaForSecurityOrigin:database:
@@ -244,4 +254,15 @@ extern NSString *WebConsoleMessageErrorMessageLevel;
 
 - (void)webView:(WebView *)sender didDrawFrame:(WebFrame *)frame;
 
+#if TARGET_OS_IPHONE
+/*!
+ @method webViewSupportedOrientationsUpdated:
+ @param sender The WebView sending the delegate method
+ @abstract Notify the client that the content has updated the orientations it claims to support.
+ */
+- (void)webViewSupportedOrientationsUpdated:(WebView *)sender;
+
+- (BOOL)webViewCanCheckGeolocationAuthorizationStatus:(WebView *)sender;
+#endif
+
 @end
index 596861c..1d7caeb 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#if !TARGET_OS_IPHONE
 #import <Cocoa/Cocoa.h>
+#else
+#import <WebKit/WAKAppKitStubs.h>
+#if !defined(IBAction)
+#define IBAction void
+#endif
+#endif
 
 @class DOMCSSStyleDeclaration;
 @class DOMDocument;
@@ -69,7 +76,9 @@ extern NSString *WebElementLinkLabelKey;        // NSString of the text within t
 */
 extern NSString *WebViewProgressStartedNotification;
 extern NSString *WebViewProgressEstimateChangedNotification;
+#if !TARGET_OS_IPHONE
 extern NSString *WebViewProgressFinishedNotification;
+#endif
 
 /*!
     @class WebView
@@ -144,6 +153,7 @@ extern NSString *WebViewProgressFinishedNotification;
 */
 + (void)setMIMETypesShownAsHTML:(NSArray *)MIMETypes;
 
+#if !TARGET_OS_IPHONE
 /*!
     @method URLFromPasteboard:
     @abstract Returns a URL from a pasteboard
@@ -163,6 +173,7 @@ extern NSString *WebViewProgressFinishedNotification;
     which is the text inside the anchor tag.
 */
 + (NSString *)URLTitleFromPasteboard:(NSPasteboard *)pasteboard;
+#endif
 
 /*!
     @method registerURLSchemeAsLocal:
@@ -442,6 +453,7 @@ extern NSString *WebViewProgressFinishedNotification;
 */
 - (NSDictionary *)elementAtPoint:(NSPoint)point;
 
+#if !TARGET_OS_IPHONE
 /*!
     @property pasteboardTypesForSelection
     @abstract The pasteboard types that the WebView can use for the current selection
@@ -485,6 +497,7 @@ extern NSString *WebViewProgressFinishedNotification;
     @abstract Removes the drag caret from the WebView
 */
 - (void)removeDragCaret;
+#endif /* !TARGET_OS_IPHONE */
 
 /*!
     @property drawsBackground
@@ -519,16 +532,21 @@ extern NSString *WebViewProgressFinishedNotification;
 */
 @property (nonatomic, readonly, copy) NSString *mainFrameTitle;
 
+#if !TARGET_OS_IPHONE
 /*!
     @property mainFrameIcon
     @abstract The site icon for the current page loaded in the mainFrame, or nil.
 */
 @property (nonatomic, readonly, strong) NSImage *mainFrameIcon;
+#endif
 
 @end
 
-
+#if TARGET_OS_IPHONE
+@interface WebView (WebIBActions)
+#else
 @interface WebView (WebIBActions) <NSUserInterfaceValidations>
+#endif
 - (IBAction)takeStringURLFrom:(id)sender;
 - (IBAction)stopLoading:(id)sender;
 - (IBAction)reload:(id)sender;
@@ -543,8 +561,13 @@ extern NSString *WebViewProgressFinishedNotification;
 - (IBAction)makeTextSmaller:(id)sender;
 @property (nonatomic, readonly) BOOL canMakeTextStandardSize;
 - (IBAction)makeTextStandardSize:(id)sender;
+#if !TARGET_OS_IPHONE
 - (IBAction)toggleContinuousSpellChecking:(id)sender;
 - (IBAction)toggleSmartInsertDelete:(id)sender;
+#endif
+#if TARGET_OS_IPHONE
+- (void)stopLoadingAndClear;
+#endif
 @end
 
 
@@ -570,7 +593,9 @@ extern NSString * const WebViewDidChangeSelectionNotification;
 @property (nonatomic, strong) DOMCSSStyleDeclaration *typingStyle;
 @property (nonatomic) BOOL smartInsertDeleteEnabled;
 @property (nonatomic, getter=isContinuousSpellCheckingEnabled) BOOL continuousSpellCheckingEnabled;
+#if !TARGET_OS_IPHONE
 @property (nonatomic, readonly) NSInteger spellCheckerDocumentTag;
+#endif
 @property (nonatomic, readonly, strong) NSUndoManager *undoManager;
 @property (nonatomic, strong) id editingDelegate;
 - (DOMCSSStyleDeclaration *)styleDeclarationWithText:(NSString *)text;
@@ -621,6 +646,14 @@ extern NSString * const WebViewDidChangeSelectionNotification;
 
 - (void)overWrite:(id)sender;
 
+#if TARGET_OS_IPHONE
+- (void)clearText:(id)sender;
+- (void)insertDictationPhrases:(NSArray *)dictationPhrases metadata:(id)metadata;
+- (void)toggleBold:(id)sender;
+- (void)toggleItalic:(id)sender;
+- (void)toggleUnderline:(id)sender;
+#endif
+
 /* 
 The following methods are declared in NSResponder.h.
 WebView overrides each method in this list, providing
@@ -691,3 +724,40 @@ a custom implementation for each.
 */
  
 @end
+
+#if TARGET_OS_IPHONE
+
+@interface WebView (WebViewIOS)
++ (void)enableWebThread;
++ (void)garbageCollectNow;
++ (void)purgeInactiveFontData;
++ (void)drainLayerPool;
++ (void)discardAllCompiledCode;
++ (void)registerForMemoryNotifications;
++ (void)releaseFastMallocMemoryOnCurrentThread;
++ (BOOL)isCharacterSmartReplaceExempt:(unichar)character isPreviousCharacter:(BOOL)b;
+
+/*!
+ * @method willEnterBackgroundWithCompletionHandler:
+ * @discussion This is invoked when the app gets a did enter background
+ * notification. It frees up caches on the web thread and invokes the handler
+ * block on the main thread when done.
+ *
+ * @param handler The block to invoke on the main thread once the cleanup is
+ * done.
+ */
++ (void)willEnterBackgroundWithCompletionHandler:(void(^)(void))handler;
+
+/*!
+ * @method updateLayoutIgnorePendingStyleSheets:
+ * @discussion This method forces the page to layout even if there are external
+ * pending style sheets.
+ */
+- (void)updateLayoutIgnorePendingStyleSheets;
+@end
+
+@interface NSObject (WebViewClassDelegate)
+- (BOOL)viewClass:(Class *)vClass andRepresentationClass:(Class *)rClass forMIMEType:(NSString *)MIMEType;
+@end
+
+#endif /* TARGET_OS_IPHONE */
index 501f9a5..b81d196 100644 (file)
 #import <WebKit/WebFramePrivate.h>
 #import <JavaScriptCore/JSBase.h>
 
+#if TARGET_OS_IPHONE
+#import <CoreGraphics/CGColor.h>
+#endif
+
+#if !TARGET_OS_IPHONE
 #if !defined(ENABLE_DASHBOARD_SUPPORT)
 #define ENABLE_DASHBOARD_SUPPORT 1
 #endif
+#endif
 
 #if !defined(ENABLE_REMOTE_INSPECTOR)
 // FIXME: Should we just remove this ENABLE flag everywhere?
 @class WebScriptWorld;
 @class WebSecurityOrigin;
 @class WebTextIterator;
+#if TARGET_OS_IPHONE
+@class CALayer;
+@class WebFixedPositionContent;
 
+@protocol WebCaretChangeListener;
+#endif
 @protocol WebDeviceOrientationProvider;
 @protocol WebFormDelegate;
 @protocol WebUserMediaClient;
 
+#if !TARGET_OS_IPHONE
 extern NSString *_WebCanGoBackKey;
 extern NSString *_WebCanGoForwardKey;
 extern NSString *_WebEstimatedProgressKey;
@@ -62,6 +74,12 @@ extern NSString *_WebMainFrameIconKey;
 extern NSString *_WebMainFrameTitleKey;
 extern NSString *_WebMainFrameURLKey;
 extern NSString *_WebMainFrameDocumentKey;
+#endif
+
+#if TARGET_OS_IPHONE
+extern NSString * const WebViewProgressEstimatedProgressKey;
+extern NSString * const WebViewProgressBackgroundColorKey;
+#endif
 
 // pending public WebElementDictionary keys
 extern NSString *WebElementTitleKey;             // NSString of the title of the element (used by Safari)
@@ -121,6 +139,11 @@ typedef enum {
     WebPaginationModeRightToLeft,
     WebPaginationModeTopToBottom,
     WebPaginationModeBottomToTop,
+#if TARGET_OS_IPHONE
+    // FIXME: Remove these once UIKit has switched to the above.
+    WebPaginationModeHorizontal = WebPaginationModeLeftToRight,
+    WebPaginationModeVertical = WebPaginationModeTopToBottom,
+#endif
 } WebPaginationMode;
 
 enum {
@@ -143,12 +166,14 @@ typedef enum {
     WebNotificationPermissionDenied
 } WebNotificationPermission;
 
+#if !TARGET_OS_IPHONE
 @interface WebController : NSTreeController {
     IBOutlet WebView *webView;
 }
 - (WebView *)webView;
 - (void)setWebView:(WebView *)newWebView;
 @end
+#endif
 
 @interface WebView (WebViewEditingActionsPendingPublic)
 
@@ -158,8 +183,10 @@ typedef enum {
 
 @interface WebView (WebPendingPublic)
 
+#if !TARGET_OS_IPHONE
 - (void)scheduleInRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode;
 - (void)unscheduleFromRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode;
+#endif
 
 - (BOOL)findString:(NSString *)string options:(WebFindOptions)options;
 - (DOMRange *)DOMRangeOfString:(NSString *)string relativeTo:(DOMRange *)previousRange options:(WebFindOptions)options;
@@ -170,6 +197,9 @@ typedef enum {
 - (BOOL)tabKeyCyclesThroughElements;
 
 - (void)scrollDOMRangeToVisible:(DOMRange *)range;
+#if TARGET_OS_IPHONE
+- (void)scrollDOMRangeToVisible:(DOMRange *)range withInset:(CGFloat)inset;
+#endif
 
 /*!
 @method setScriptDebugDelegate:
@@ -201,12 +231,14 @@ typedef enum {
 
 - (BOOL)shouldClose;
 
+#if !TARGET_OS_IPHONE
 /*!
     @method aeDescByEvaluatingJavaScriptFromString:
     @param script The text of the JavaScript.
     @result The result of the script, converted to an NSAppleEventDescriptor, or nil for failure.
 */
 - (NSAppleEventDescriptor *)aeDescByEvaluatingJavaScriptFromString:(NSString *)script;
+#endif
 
 // Support for displaying multiple text matches.
 // These methods might end up moving into a protocol, so different document types can specify
@@ -284,9 +316,33 @@ typedef enum {
     @abstract indicate this WebView on screen for a remote inspector.
 */
 - (void)setIndicatingForRemoteInspector:(BOOL)enabled;
+#if TARGET_OS_IPHONE
+/*!
+    @method setHostApplicationBundleId:name
+    @param bundleId The application that this WebView was created for.
+    @param name That application's localized display name.
+    @abstract When a WebView is created out of process for an application,
+    you can clarify to a Remote Debugger which application this WebView
+    is intended to belong to; the application which hosts the WebView.
+*/
+- (void)setHostApplicationBundleId:(NSString *)bundleId name:(NSString *)name;
+
+/*!
+    @method hostApplicationBundleId
+    @result Returns the host application bundle id.
+*/
+- (NSString *)hostApplicationBundleId;
+
+/*!
+    @method hostApplicationName
+    @result Returns the host application name.
+*/
+- (NSString *)hostApplicationName;
 #endif
 
+#endif // ENABLE_REMOTE_INSPECTOR
 
+#if !TARGET_OS_IPHONE
 /*!
     @method setBackgroundColor:
     @param backgroundColor Color to use as the default background.
@@ -303,6 +359,10 @@ typedef enum {
     in a non-opaque window, since the color is drawn using NSCompositeCopy.
 */
 - (NSColor *)backgroundColor;
+#else
+- (void)setBackgroundColor:(CGColorRef)backgroundColor;
+- (CGColorRef)backgroundColor;
+#endif
 
 /*!
 Could be worth adding to the API.
@@ -329,7 +389,9 @@ Could be worth adding to the API.
  */
 - (void)_dispatchPendingLoadRequests;
 
+#if !TARGET_OS_IPHONE
 + (NSArray *)_supportedFileExtensions;
+#endif
 
 /*!
     @method canShowFile:
@@ -339,14 +401,21 @@ Could be worth adding to the API.
 */
 + (BOOL)canShowFile:(NSString *)path;
 
+#if !TARGET_OS_IPHONE
 /*!
     @method suggestedFileExtensionForMIMEType:
     @param MIMEType The MIME type to check.
     @result The extension based on the MIME type
 */
 + (NSString *)suggestedFileExtensionForMIMEType: (NSString *)MIMEType;
+#endif
 
 + (NSString *)_standardUserAgentWithApplicationName:(NSString *)applicationName;
+#if TARGET_OS_IPHONE
++ (NSString *)_standardUserAgentWithApplicationName:(NSString *)applicationName osMarketingVersion:(NSString *)osMarketingVersion;
+- (void)_setBrowserUserAgentProductVersion:(NSString *)productVersion buildVersion:(NSString *)buildVersion bundleVersion:(NSString *)bundleVersion;
+- (void)_setUIWebViewUserAgentWithBuildVersion:(NSString *)buildVersion;
+#endif
 
 /*!
     @method canCloseAllWebViews
@@ -355,6 +424,51 @@ Could be worth adding to the API.
 */
 + (BOOL)canCloseAllWebViews;
 
+#if TARGET_OS_IPHONE
+- (id)initSimpleHTMLDocumentWithStyle:(NSString *)style frame:(CGRect)frame preferences:(WebPreferences *)preferences groupName:(NSString *)groupName;
+- (id)_formDelegateForwarder;
+- (id)_formDelegateForSelector:(SEL)selector;
+- (id)_webMailDelegate;
+- (void)setWebMailDelegate:(id)delegate;
+- (id <WebCaretChangeListener>)caretChangeListener;
+- (void)setCaretChangeListener:(id <WebCaretChangeListener>)listener;
+
+- (NSSet *)caretChangeListeners;
+- (void)addCaretChangeListener:(id <WebCaretChangeListener>)listener;
+- (void)removeCaretChangeListener:(id <WebCaretChangeListener>)listener;
+- (void)removeAllCaretChangeListeners;
+
+- (void)caretChanged;
+
+- (void)_dispatchUnloadEvent;
+
+- (DOMCSSStyleDeclaration *)styleAtSelectionStart;
+
+- (NSUInteger)_renderTreeSize;
+
+/*!
+ * @method _handleMemoryWarning
+ * @discussion Try to release memory since we got a memory warning from the system. This method is
+ * also used by other internal clients. See <rdar://9582500>.
+ */
++ (void)_handleMemoryWarning;
+
+- (void)_setResourceLoadSchedulerSuspended:(BOOL)suspend;
++ (void)_setTileCacheLayerPoolCapacity:(unsigned)capacity;
+
++ (void)_setAcceleratedImageDecoding:(BOOL)enabled;
++ (BOOL)_acceleratedImageDecoding;
++ (void)_setAllowCookies:(BOOL)allow;
++ (BOOL)_allowCookies;
++ (BOOL)_isUnderMemoryPressure;
++ (void)_clearMemoryPressure;
++ (BOOL)_shouldWaitForMemoryClearMessage;
++ (void)_releaseMemoryNow;
++ (void)_clearPrivateBrowsingSessionCookieStorage;
+
+- (void)_replaceCurrentHistoryItem:(WebHistoryItem *)item;
+#endif
+
 // May well become public
 - (void)_setFormDelegate:(id<WebFormDelegate>)delegate;
 - (id<WebFormDelegate>)_formDelegate;
@@ -405,13 +519,17 @@ Could be worth adding to the API.
 + (NSString *)_decodeData:(NSData *)data;
 
 + (void)_setAlwaysUsesComplexTextCodePath:(BOOL)f;
+#if !TARGET_OS_IPHONE
 // This is the old name of the above method. Needed for Safari versions that call it.
 + (void)_setAlwaysUseATSU:(BOOL)f;
+#endif
 
 + (void)_setAllowsRoundingHacks:(BOOL)allowsRoundingHacks;
 + (BOOL)_allowsRoundingHacks;
 
+#if !TARGET_OS_IPHONE
 - (NSCachedURLResponse *)_cachedResponseForURL:(NSURL *)URL;
+#endif
 
 #if ENABLE_DASHBOARD_SUPPORT
 - (void)_addScrollerDashboardRegions:(NSMutableDictionary *)regions;
@@ -424,11 +542,37 @@ Could be worth adding to the API.
 + (void)_setShouldUseFontSmoothing:(BOOL)f;
 + (BOOL)_shouldUseFontSmoothing;
 
+#if !TARGET_OS_IPHONE
 // These two methods are useful for a test harness that needs a consistent appearance for the focus rings
 // regardless of OS X version.
 + (void)_setUsesTestModeFocusRingColor:(BOOL)f;
 + (BOOL)_usesTestModeFocusRingColor;
+#endif
+
+#if TARGET_OS_IPHONE
+- (void)_setUIKitDelegate:(id)delegate;
+- (id)_UIKitDelegate;
+- (void)_clearDelegates;
+
+- (NSURL *)_displayURL;
+
++ (NSArray *)_productivityDocumentMIMETypes;
+
+- (void)_setAllowsMessaging:(BOOL)aFlag;
+- (BOOL)_allowsMessaging;
+
+- (void)_setNetworkStateIsOnline:(BOOL)isOnLine;
+
+- (void)_setCustomFixedPositionLayoutRectInWebThread:(CGRect)rect synchronize:(BOOL)synchronize;
+- (void)_setCustomFixedPositionLayoutRect:(CGRect)rect;
+
+- (WebFixedPositionContent*)_fixedPositionContent;
+
+- (void)_viewGeometryDidChange;
+- (void)_overflowScrollPositionChangedTo:(CGPoint)offset forNode:(DOMNode *)node isUserScroll:(BOOL)userScroll;
+#endif
 
+#if !TARGET_OS_IPHONE
 /*!
     @method setAlwaysShowVerticalScroller:
     @result Forces the vertical scroller to be visible if flag is YES, otherwise
@@ -467,6 +611,77 @@ Could be worth adding to the API.
     @abstract Sets additional plugin search paths for a specific WebView.
  */
 - (void)_setAdditionalWebPlugInPaths:(NSArray *)newPaths;
+#endif /* !TARGET_OS_IPHONE */
+
+#if TARGET_OS_IPHONE
+/*!
+    @method _pluginsAreRunning
+    @result Returns YES if any plug-ins in the WebView are running.
+ */
+- (BOOL)_pluginsAreRunning;
+/*!
+    @method _destroyAllPlugIns
+    @abstract Destroys all plug-ins in all of the WebView's frames.
+ */
+- (void)_destroyAllPlugIns;
+/*!
+    @method _startAllPlugIns
+    @abstract Starts all plug-ins in all of the WebView's frames.
+ */
+- (void)_startAllPlugIns;
+/*!
+    @method _stopAllPlugIns
+    @abstract Stops all plug-ins in all of the WebView's frames.
+ */
+- (void)_stopAllPlugIns;
+/*!
+    @method _stopAllPlugInsForPageCache
+    @abstract Stops all plug-ins in all of the WebView's frames.
+    Called when the page is entering the PageCache and lets the
+    plug-in know this by sending -webPlugInStopForPageCache.
+*/
+- (void)_stopAllPlugInsForPageCache;
+/*!
+    @method _restorePlugInsFromCache
+    @abstract Reconnects plug-ins from all of the WebView's frames to the
+    WebView and performs any other necessary reinitialization.
+ */
+- (void)_restorePlugInsFromCache;
+
+/*!
+    @method _setMediaLayer:forPluginView:
+    @abstract Set the layer that renders plug-in content for the given pluginView.
+    If layer is NULL, removes any existing layer. Returns YES if the set or
+    remove was successful.
+ */
+- (BOOL)_setMediaLayer:(CALayer*)layer forPluginView:(NSView*)pluginView;
+
+/*!
+    @method _clearBackForwardCache
+    @abstract Clear's this WebView's back/forward cache on the WebThread.
+ */
+- (void)_clearBackForwardCache;
+
+/*!
+ @method _wantsTelephoneNumberParsing
+ @abstract Does this WebView want phone number parsing? (This could ultimately be disallowed by the document itself).
+ */
+
+- (BOOL)_wantsTelephoneNumberParsing;
+
+/*!
+ @method _setWantsTelephoneNumberParsing
+ @abstract Explicitly disable WebKit phone number parsing on this WebView, or say that you want it enabled if possible.
+ */
+
+- (void)_setWantsTelephoneNumberParsing:(BOOL)flag;
+
+/*!
+    @method _setNeedsUnrestrictedGetMatchedCSSRules
+    @abstract Explicitly enables/disables cross origin CSS rules matching.
+ */
+- (void)_setNeedsUnrestrictedGetMatchedCSSRules:(BOOL)flag;
+#endif /* TARGET_OS_IPHONE */
 
 /*!
     @method _setInViewSourceMode:
@@ -520,7 +735,9 @@ Could be worth adding to the API.
 - (void)handleAuthenticationForResource:(id)identifier challenge:(NSURLAuthenticationChallenge *)challenge fromDataSource:(WebDataSource *)dataSource;
 #endif
 
+#if !TARGET_OS_IPHONE
 - (void)_clearUndoRedoOperations;
+#endif
 
 /* Used to do fast (lower quality) scaling of images so that window resize can be quick. */
 - (BOOL)_inFastImageScalingMode;
@@ -542,7 +759,9 @@ Could be worth adding to the API.
 - (void)setMemoryCacheDelegateCallsEnabled:(BOOL)suspend;
 - (BOOL)areMemoryCacheDelegateCallsEnabled;
 
+#if !TARGET_OS_IPHONE
 + (NSCursor *)_pointingHandCursor;
+#endif
 
 // SPI for DumpRenderTree
 - (BOOL)_postsAcceleratedCompositingNotifications;
@@ -568,8 +787,10 @@ Could be worth adding to the API.
 - (void)resetTrackedRepaints;
 - (NSArray*)trackedRepaintRects; // Returned array contains rectValue NSValues.
 
+#if !TARGET_OS_IPHONE
 // Which pasteboard text is coming from in editing delegate methods such as shouldInsertNode.
 - (NSPasteboard *)_insertionPasteboard;
+#endif
 
 // Whitelists access from an origin (sourceOrigin) to a set of one or more origins described by the parameters:
 // - destinationProtocol: The protocol to grant access to.
@@ -653,8 +874,10 @@ Could be worth adding to the API.
 - (CGFloat)_gapBetweenPages;
 - (NSUInteger)_pageCount;
 
+#if !TARGET_OS_IPHONE
 - (void)_setCustomBackingScaleFactor:(CGFloat)overrideScaleFactor;
 - (CGFloat)_backingScaleFactor;
+#endif
 
 // Deprecated. Use the methods in pending public above instead.
 - (NSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)limit;
@@ -696,6 +919,7 @@ Could be worth adding to the API.
 
 @end
 
+#if !TARGET_OS_IPHONE
 @interface WebView (WebViewPrintingPrivate)
 /*!
     @method _adjustPrintingMarginsForHeaderAndFooter:
@@ -747,6 +971,7 @@ Could be worth adding to the API.
 - (void)setAutomaticSpellingCorrectionEnabled:(BOOL)flag;
 - (void)toggleAutomaticSpellingCorrection:(id)sender;
 @end
+#endif /* !TARGET_OS_IPHONE */
 
 @interface WebView (WebViewEditingInMail)
 - (void)_insertNewlineInQuotedContent;
@@ -762,6 +987,15 @@ Could be worth adding to the API.
 - (id<WebDeviceOrientationProvider>)_deviceOrientationProvider;
 @end
 
+#if TARGET_OS_IPHONE
+@protocol WebGeolocationProvider;
+
+@protocol WebGeolocationProviderInitializationListener <NSObject>
+- (void)initializationAllowedWebView:(WebView *)webView provider:(id<WebGeolocationProvider>)provider;
+- (void)initializationDeniedWebView:(WebView *)webView provider:(id<WebGeolocationProvider>)provider;
+@end
+#endif
+
 @interface WebView (WebViewUserMedia)
 - (void)_setUserMediaClient:(id<WebUserMediaClient>)userMediaClient;
 - (id<WebUserMediaClient>)_userMediaClient;
@@ -771,6 +1005,12 @@ Could be worth adding to the API.
 - (void)registerWebView:(WebView *)webView;
 - (void)unregisterWebView:(WebView *)webView;
 - (WebGeolocationPosition *)lastPosition;
+#if TARGET_OS_IPHONE
+- (void)setEnableHighAccuracy:(BOOL)enableHighAccuracy;
+- (void)initializeGeolocationForWebView:(WebView *)webView listener:(id<WebGeolocationProviderInitializationListener>)listener;
+- (void)cancelWarmUpForWebView:(WebView *)webView;
+- (void)stopTrackingWebView:(WebView *)webView;
+#endif
 @end
 
 @protocol WebNotificationProvider
@@ -794,6 +1034,9 @@ Could be worth adding to the API.
 
 - (void)_geolocationDidChangePosition:(WebGeolocationPosition *)position;
 - (void)_geolocationDidFailWithMessage:(NSString *)errorMessage;
+#if TARGET_OS_IPHONE
+- (void)_resetAllGeolocationPermission;
+#endif
 @end
 
 @interface WebView (WebViewNotification)
@@ -807,6 +1050,16 @@ Could be worth adding to the API.
 - (uint64_t)_notificationIDForTesting:(JSValueRef)jsNotification;
 @end
 
+#if TARGET_OS_IPHONE
+@interface WebView (WebViewIOSPDF)
++ (Class)_getPDFRepresentationClass;
++ (void)_setPDFRepresentationClass:(Class)pdfRepresentationClass;
+
++ (Class)_getPDFViewClass;
++ (void)_setPDFViewClass:(Class)pdfViewClass;
+@end
+#endif
+
 @interface NSObject (WebViewFrameLoadDelegatePrivate)
 - (void)webView:(WebView *)sender didFirstLayoutInFrame:(WebFrame *)frame;