webengine/osswebengine/WebKit/win/Interfaces/DOMPrivate.idl
changeset 0 dd21522fd290
equal deleted inserted replaced
-1:000000000000 0:dd21522fd290
       
     1 /*
       
     2  * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
       
     3  *
       
     4  * Redistribution and use in source and binary forms, with or without
       
     5  * modification, are permitted provided that the following conditions
       
     6  * are met:
       
     7  * 1. Redistributions of source code must retain the above copyright
       
     8  *    notice, this list of conditions and the following disclaimer.
       
     9  * 2. Redistributions in binary form must reproduce the above copyright
       
    10  *    notice, this list of conditions and the following disclaimer in the
       
    11  *    documentation and/or other materials provided with the distribution.
       
    12  *
       
    13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
       
    14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
       
    15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
       
    16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
       
    17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
       
    18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
       
    19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
       
    20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
       
    21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
       
    22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
       
    23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
       
    24  */
       
    25 
       
    26 cpp_quote("/*")
       
    27 cpp_quote(" * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.")
       
    28 cpp_quote(" *")
       
    29 cpp_quote(" * Redistribution and use in source and binary forms, with or without")
       
    30 cpp_quote(" * modification, are permitted provided that the following conditions")
       
    31 cpp_quote(" * are met:")
       
    32 cpp_quote(" * 1. Redistributions of source code must retain the above copyright")
       
    33 cpp_quote(" *    notice, this list of conditions and the following disclaimer.")
       
    34 cpp_quote(" * 2. Redistributions in binary form must reproduce the above copyright")
       
    35 cpp_quote(" *    notice, this list of conditions and the following disclaimer in the")
       
    36 cpp_quote(" *    documentation and/or other materials provided with the distribution.")
       
    37 cpp_quote(" *")
       
    38 cpp_quote(" * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY")
       
    39 cpp_quote(" * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE")
       
    40 cpp_quote(" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR")
       
    41 cpp_quote(" * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR")
       
    42 cpp_quote(" * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,")
       
    43 cpp_quote(" * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,")
       
    44 cpp_quote(" * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR")
       
    45 cpp_quote(" * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY")
       
    46 cpp_quote(" * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT")
       
    47 cpp_quote(" * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE")
       
    48 cpp_quote(" * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ")
       
    49 cpp_quote(" */")
       
    50 
       
    51 import "oaidl.idl";
       
    52 import "ocidl.idl";
       
    53 import "DOMCore.idl";
       
    54 
       
    55 [
       
    56     object,
       
    57     oleautomation,
       
    58     uuid(7FF28EC8-6DA1-498d-9A43-7E67C2D3128F),
       
    59     pointer_default(unique)
       
    60 ]
       
    61 interface IDOMElementPrivate : IUnknown
       
    62 {
       
    63     [local] HRESULT coreElement(void** element);
       
    64     HRESULT isEqual([in] IDOMElement* other, [out, retval] BOOL* result);
       
    65     HRESULT isFocused([out, retval] BOOL* result);
       
    66     HRESULT innerText([out, retval] BSTR* result);
       
    67 }
       
    68 
       
    69 /*
       
    70     All the methods in this category are used by Safari forms autofill and should not be used for any other purpose.
       
    71     They are stopgap measures until we finish transitioning form controls to not use NSView. Each one should become
       
    72     replaceable by public DOM API, and when that happens Safari will switch to implementations using that public API,
       
    73     and these will be deleted.
       
    74 
       
    75     @interface DOMHTMLInputElement(FormsAutoFillTransition)
       
    76 */
       
    77 [
       
    78     object,
       
    79     oleautomation,
       
    80     uuid(2DF339BC-B48E-4d35-B93A-299756ED0B4B),
       
    81     pointer_default(unique)
       
    82 ]
       
    83 interface IFormsAutoFillTransition : IUnknown
       
    84 {
       
    85     /*
       
    86         - (BOOL)_isTextField;
       
    87     */
       
    88     HRESULT isTextField([out, retval] BOOL* result);
       
    89 
       
    90     /*
       
    91         - (NSRect)_rectOnScreen; // bounding box of the text field, in screen coordinates
       
    92     */
       
    93     HRESULT rectOnScreen([out, retval] LPRECT rect);
       
    94 
       
    95     /*
       
    96         - (void)_replaceCharactersInRange:(NSRange)targetRange withString:(NSString *)replacementString selectingFromIndex:(int)index;
       
    97     */
       
    98     HRESULT replaceCharactersInRange([in] int startTarget, [in] int endTarget, [in] BSTR replacementString, [in] int index);
       
    99 
       
   100     /*
       
   101         - (NSRange)_selectedRange;
       
   102     */
       
   103     HRESULT selectedRange([out] int* start, [out] int* end);
       
   104 
       
   105     /*
       
   106         - (void)_setAutofilled:(BOOL)filled;
       
   107     */
       
   108     HRESULT setAutofilled([in] BOOL filled);
       
   109 }
       
   110 
       
   111 /*
       
   112     // These changes are necessary to detect whether a form input was modified by a user
       
   113     // or javascript
       
   114     @interface DOMHTMLInputElement (FormPromptAdditions)
       
   115 
       
   116     @interface DOMHTMLTextAreaElement (FormPromptAdditions)
       
   117 */
       
   118 [
       
   119     object,
       
   120     oleautomation,
       
   121     uuid(C8C5F0CD-07B0-4a32-BFA8-AE465E80DD3C),
       
   122     pointer_default(unique)
       
   123 ]
       
   124 interface IFormPromptAdditions : IUnknown
       
   125 {
       
   126     /*
       
   127         - (BOOL)_isUserEdited;
       
   128     */
       
   129     HRESULT isUserEdited([out, retval] BOOL* result);
       
   130 }
       
   131 
       
   132 /*
       
   133     All the methods in this category are used by Safari forms autofill and should not be used for any other purpose.
       
   134     They are stopgap measures until we finish transitioning form controls to not use NSView. Each one should become
       
   135     replaceable by public DOM API, and when that happens Safari will switch to implementations using that public API,
       
   136     and these will be deleted.
       
   137 
       
   138     @interface DOMHTMLSelectElement(FormsAutoFillTransition)
       
   139 */
       
   140 [
       
   141     object,
       
   142     oleautomation,
       
   143     uuid(6959F712-1563-4661-8D8C-F4C739C55839),
       
   144     pointer_default(unique)
       
   145 ]
       
   146 interface IFormsAutoFillTransitionSelect : IUnknown
       
   147 {
       
   148     /*
       
   149         - (void)_activateItemAtIndex:(int)index;
       
   150     */
       
   151     HRESULT activateItemAtIndex([in] int index);
       
   152 }