]> git.saurik.com Git - iphone-api.git/blob - WebCore/DOMPrivate.h
Add support for new WinterBoard Settings features.
[iphone-api.git] / WebCore / DOMPrivate.h
1 /*
2 * Copyright (C) 2004-2006 Apple Computer, Inc. All rights reserved.
3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26
27 #import <WebCore/DOMCSS.h>
28 #import <WebCore/DOMCSSStyleDeclaration.h>
29 #import <WebCore/DOMElement.h>
30 #import <WebCore/DOMEvents.h>
31 #import <WebCore/DOMHTML.h>
32 #import <WebCore/DOMHTMLDocument.h>
33 #import <WebCore/DOMHTMLInputElement.h>
34 #import <WebCore/DOMHTMLSelectElement.h>
35 #import <WebCore/DOMNode.h>
36 #import <WebCore/DOMRGBColor.h>
37 #import <WebCore/DOMRange.h>
38
39 #import <WebCore/DOMDocumentPrivate.h>
40 #import <WebCore/DOMElementPrivate.h>
41 #import <WebCore/DOMHTMLAnchorElementPrivate.h>
42 #import <WebCore/DOMHTMLAreaElementPrivate.h>
43 #import <WebCore/DOMHTMLBodyElementPrivate.h>
44 #import <WebCore/DOMHTMLButtonElementPrivate.h>
45 #import <WebCore/DOMHTMLDocumentPrivate.h>
46 #import <WebCore/DOMHTMLFormElementPrivate.h>
47 #if ENABLE(SVG_DOM_OBJC_BINDINGS)
48 #import <WebCore/DOMHTMLFrameElementPrivate.h>
49 #endif
50 #import <WebCore/DOMHTMLImageElementPrivate.h>
51 #import <WebCore/DOMHTMLInputElementPrivate.h>
52 #import <WebCore/DOMHTMLLinkElementPrivate.h>
53 #import <WebCore/DOMHTMLOptionsCollectionPrivate.h>
54 #import <WebCore/DOMHTMLPreElementPrivate.h>
55 #import <WebCore/DOMHTMLStyleElementPrivate.h>
56 #import <WebCore/DOMHTMLTextAreaElementPrivate.h>
57 #import <WebCore/DOMKeyboardEventPrivate.h>
58 #import <WebCore/DOMMouseEventPrivate.h>
59 #import <WebCore/DOMNodeIteratorPrivate.h>
60 #import <WebCore/DOMNodePrivate.h>
61 #import <WebCore/DOMProcessingInstructionPrivate.h>
62 #import <WebCore/DOMRangePrivate.h>
63 #import <WebCore/DOMUIEventPrivate.h>
64 #import <WebCore/DOMWheelEventPrivate.h>
65
66 #import <GraphicsServices/GSFont.h>
67
68 @interface DOMNode (DOMNodeExtensionsPendingPublic)
69 @end
70
71 // FIXME: this should be removed as soon as all internal Apple uses of it have been replaced with
72 // calls to the public method - (NSColor *)color.
73 @interface DOMRGBColor (WebPrivate)
74 @end
75
76 // FIXME: this should be removed as soon as all internal Apple uses of it have been replaced with
77 // calls to the public method - (NSString *)text.
78 @interface DOMRange (WebPrivate)
79 - (NSString *)_text;
80 @end
81
82 @interface DOMRange (DOMRangeExtensions)
83 - (CGRect)boundingBox;
84 - (NSArray *)lineBoxRects;
85 @end
86
87 @interface DOMElement (WebPrivate)
88 - (GSFontRef)_font;
89 - (NSURL *)_getURLAttribute:(NSString *)name;
90 - (CGRect)_windowClipRect; // Clip rect in NSWindow coords (used by plugins)
91 - (BOOL)isFocused;
92 @end
93
94 @interface DOMCSSStyleDeclaration (WebPrivate)
95 - (NSString *)_fontSizeDelta;
96 - (void)_setFontSizeDelta:(NSString *)fontSizeDelta;
97 @end
98
99 @interface DOMHTMLDocument (WebPrivate)
100 - (DOMDocumentFragment *)_createDocumentFragmentWithMarkupString:(NSString *)markupString baseURLString:(NSString *)baseURLString;
101 - (DOMDocumentFragment *)_createDocumentFragmentWithText:(NSString *)text;
102 @end
103
104 // All the methods in this category are used by Safari forms autofill and should not be used for any other purpose.
105 // They are stopgap measures until we finish transitioning form controls to not use NSView. Each one should become
106 // replaceable by public DOM API, and when that happens Safari will switch to implementations using that public API,
107 // and these will be deleted.
108 @interface DOMHTMLInputElement (FormsAutoFillTransition)
109 - (BOOL)_isTextField;
110 - (void)_replaceCharactersInRange:(NSRange)targetRange withString:(NSString *)replacementString selectingFromIndex:(int)index;
111 - (NSRange)_selectedRange;
112 - (void)_setAutofilled:(BOOL)filled;
113 @end
114
115 // These changes are necessary to detect whether a form input was modified by a user
116 // or javascript
117 @interface DOMHTMLInputElement (FormPromptAdditions)
118 - (BOOL)_isEdited;
119 @end
120
121 @interface DOMHTMLTextAreaElement (FormPromptAdditions)
122 - (BOOL)_isEdited;
123 @end
124
125 // All the methods in this category are used by Safari forms autofill and should not be used for any other purpose.
126 // They are stopgap measures until we finish transitioning form controls to not use NSView. Each one should become
127 // replaceable by public DOM API, and when that happens Safari will switch to implementations using that public API,
128 // and these will be deleted.
129 @interface DOMHTMLSelectElement (FormsAutoFillTransition)
130 - (void)_activateItemAtIndex:(int)index;
131 @end