diff -r 000000000000 -r dd21522fd290 webengine/osswebengine/WebKit/WebView/WebFrameInternal.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webengine/osswebengine/WebKit/WebView/WebFrameInternal.h Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,171 @@ +/* + * Copyright (C) 2005, 2006 Apple Computer, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// This header contains WebFrame declarations that can be used anywhere in WebKit, but are neither SPI nor API. + +#import "WebFramePrivate.h" +#import "WebPreferencesPrivate.h" + +#ifdef __cplusplus +#import +#import +#endif + +@class DOMCSSStyleDeclaration; +@class DOMElement; +@class DOMNode; +@class DOMRange; +@class WebFrameView; +@class WebFrameBridge; +@class WebHistoryItem; +@class WebScriptDebugger; + +#ifdef __cplusplus + +namespace WebCore { + class CSSStyleDeclaration; + class Document; + class DocumentLoader; + class Element; + class Frame; + class Frame; + class FrameLoader; + class HistoryItem; + class HTMLElement; + class Node; + class Page; + class Range; +} + +typedef WebCore::HistoryItem WebCoreHistoryItem; + +WebCore::CSSStyleDeclaration* core(DOMCSSStyleDeclaration *); +DOMCSSStyleDeclaration *kit(WebCore::CSSStyleDeclaration*); + +WebCore::Frame* core(WebFrame *); +WebFrame *kit(WebCore::Frame *); + +WebCore::Element* core(DOMElement *); +DOMElement *kit(WebCore::Element*); + +WebCore::Node* core(DOMNode *); +DOMNode *kit(WebCore::Node*); + +WebCore::Document* core(DOMDocument *); +DOMDocument *kit(WebCore::Document*); + +WebCore::HTMLElement* core(DOMHTMLElement *); +DOMHTMLElement *kit(WebCore::HTMLElement*); + +WebCore::Range* core(DOMRange *); +DOMRange *kit(WebCore::Range*); + +WebCore::Page* core(WebView *); +WebView *kit(WebCore::Page*); + +WebCore::EditableLinkBehavior core(WebKitEditableLinkBehavior); +WebKitEditableLinkBehavior kit(WebCore::EditableLinkBehavior); + +WebView *getWebView(WebFrame *webFrame); + +@interface WebFramePrivate : NSObject +{ +@public + WebFrameView *webFrameView; + + WebFrameBridge *bridge; + + WebScriptDebugger *scriptDebugger; + id internalLoadDelegate; +} +@end + +#else +struct WebCoreHistoryItem; +#endif + +@interface WebFrame (WebInternal) + +- (void)_updateBackground; +- (void)_setInternalLoadDelegate:(id)internalLoadDelegate; +- (id)_internalLoadDelegate; +#ifndef BUILDING_ON_TIGER +- (void)_unmarkAllBadGrammar; +#endif +- (void)_unmarkAllMisspellings; +// Note that callers should not perform any ops on these views that could change the set of frames +- (NSArray *)_documentViews; + +- (BOOL)_hasSelection; +- (void)_clearSelection; +- (WebFrame *)_findFrameWithSelection; +- (void)_clearSelectionInOtherFrames; +#ifdef __cplusplus +- (id)_initWithWebFrameView:(WebFrameView *)fv webView:(WebView *)v bridge:(WebFrameBridge *)bridge; +#endif + +- (BOOL)_isMainFrame; + +#ifdef __cplusplus + +- (WebCore::FrameLoader*)_frameLoader; +- (WebDataSource *)_dataSourceForDocumentLoader:(WebCore::DocumentLoader*)loader; + +- (void)_addDocumentLoader:(WebCore::DocumentLoader*)loader toUnarchiveState:(WebArchive *)archive; + +#endif + +- (WebFrameBridge *)_bridge; + +- (void)_loadURL:(NSURL *)URL referrer:(NSString *)referrer intoChild:(WebFrame *)childFrame; + +- (void)_viewWillMoveToHostWindow:(NSWindow *)hostWindow; +- (void)_viewDidMoveToHostWindow; + +- (void)_addChild:(WebFrame *)child; + ++ (CFAbsoluteTime)_timeOfLastCompletedLoad; + +- (int)_numPendingOrLoadingRequests:(BOOL)recurse; + +- (void)_reloadForPluginChanges; + +- (void)_attachScriptDebugger; +- (void)_detachScriptDebugger; + +// dataSource reports null for the initial empty document's data source; this is needed +// to preserve compatibility with Mail and Safari among others. But internal to WebKit, +// we need to be able to get the initial data source as well, so the _dataSource method +// should be used instead. +- (WebDataSource *)_dataSource; + +@end + +@interface NSObject (WebInternalFrameLoadDelegate) +- (void)webFrame:(WebFrame *)webFrame didFinishLoadWithError:(NSError *)error; +@end