1 | /* |
2 | * Copyright (C) 2015-2018 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 INC. AND ITS CONTRIBUTORS ``AS IS'' |
14 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, |
15 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
16 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS |
17 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
18 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
19 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
20 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
21 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
22 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |
23 | * THE POSSIBILITY OF SUCH DAMAGE. |
24 | */ |
25 | #ifndef JSUIScriptController_h |
26 | #define JSUIScriptController_h |
27 | |
28 | #include "JSWrapper.h" |
29 | |
30 | namespace WTR { |
31 | |
32 | class UIScriptController; |
33 | |
34 | class JSUIScriptController : public JSWrapper { |
35 | public: |
36 | static JSClassRef uIScriptControllerClass(); |
37 | |
38 | private: |
39 | static const JSStaticFunction* staticFunctions(); |
40 | static const JSStaticValue* staticValues(); |
41 | |
42 | // Functions |
43 | |
44 | static JSValueRef doAsyncTask(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
45 | static JSValueRef uiScriptComplete(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
46 | static JSValueRef doAfterPresentationUpdate(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
47 | static JSValueRef doAfterNextStablePresentationUpdate(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
48 | static JSValueRef doAfterVisibleContentRectUpdate(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
49 | static JSValueRef simulateAccessibilitySettingsChangeNotification(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
50 | static JSValueRef touchDownAtPoint(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
51 | static JSValueRef liftUpAtPoint(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
52 | static JSValueRef singleTapAtPoint(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
53 | static JSValueRef singleTapAtPointWithModifiers(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
54 | static JSValueRef doubleTapAtPoint(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
55 | static JSValueRef dragFromPointToPoint(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
56 | static JSValueRef longPressAtPoint(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
57 | static JSValueRef stylusDownAtPoint(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
58 | static JSValueRef stylusMoveToPoint(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
59 | static JSValueRef stylusUpAtPoint(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
60 | static JSValueRef stylusTapAtPoint(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
61 | static JSValueRef stylusTapAtPointWithModifiers(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
62 | static JSValueRef enterText(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
63 | static JSValueRef typeCharacterUsingHardwareKeyboard(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
64 | static JSValueRef keyDown(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
65 | static JSValueRef toggleCapsLock(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
66 | static JSValueRef sendEventStream(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
67 | static JSValueRef beginBackSwipe(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
68 | static JSValueRef completeBackSwipe(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
69 | static JSValueRef playBackEventStream(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
70 | static JSValueRef dismissFormAccessoryView(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
71 | static JSValueRef dismissFilePicker(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
72 | static JSValueRef selectFormAccessoryPickerRow(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
73 | static JSValueRef setTimePickerValue(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
74 | static JSValueRef setShareSheetCompletesImmediatelyWithResolution(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
75 | static JSValueRef keyboardAccessoryBarNext(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
76 | static JSValueRef keyboardAccessoryBarPrevious(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
77 | static JSValueRef applyAutocorrection(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
78 | static JSValueRef contentsOfUserInterfaceItem(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
79 | static JSValueRef (JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
80 | static JSValueRef zoomToScale(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
81 | static JSValueRef setViewScale(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
82 | static JSValueRef setMinimumEffectiveWidth(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
83 | static JSValueRef setAllowsViewportShrinkToFit(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
84 | static JSValueRef resignFirstResponder(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
85 | static JSValueRef scrollToOffset(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
86 | static JSValueRef immediateScrollToOffset(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
87 | static JSValueRef immediateZoomToScale(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
88 | static JSValueRef immediateScrollElementAtContentPointToOffset(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
89 | static JSValueRef setDefaultCalendarType(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
90 | static JSValueRef setKeyboardInputModeIdentifier(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
91 | static JSValueRef replaceTextAtRange(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
92 | static JSValueRef removeAllDynamicDictionaries(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
93 | static JSValueRef propertiesOfLayerWithID(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
94 | static JSValueRef retrieveSpeakSelectionContent(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
95 | static JSValueRef simulateRotation(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
96 | static JSValueRef simulateRotationLikeSafari(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
97 | static JSValueRef findString(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
98 | static JSValueRef removeViewFromWindow(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
99 | static JSValueRef addViewToWindow(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
100 | static JSValueRef overridePreference(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
101 | static JSValueRef setSafeAreaInsets(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
102 | static JSValueRef firstResponderSuppressionForWebView(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
103 | static JSValueRef makeWindowContentViewFirstResponder(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
104 | static JSValueRef setHardwareKeyboardAttached(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
105 | static JSValueRef attachmentInfo(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
106 | static JSValueRef drawSquareInEditableImage(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef[], JSValueRef*); |
107 | |
108 | // Attributes |
109 | |
110 | static JSValueRef textContentType(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
111 | static JSValueRef didStartFormControlInteractionCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
112 | static bool setDidStartFormControlInteractionCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
113 | static JSValueRef didEndFormControlInteractionCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
114 | static bool setDidEndFormControlInteractionCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
115 | static JSValueRef didShowForcePressPreviewCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
116 | static bool setDidShowForcePressPreviewCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
117 | static JSValueRef didDismissForcePressPreviewCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
118 | static bool setDidDismissForcePressPreviewCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
119 | static JSValueRef selectFormPopoverTitle(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
120 | static JSValueRef formInputLabel(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
121 | static JSValueRef isShowingDataListSuggestions(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
122 | static JSValueRef didShowKeyboardCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
123 | static bool setDidShowKeyboardCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
124 | static JSValueRef didHideKeyboardCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
125 | static bool setDidHideKeyboardCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
126 | static JSValueRef isShowingKeyboard(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
127 | static JSValueRef (JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
128 | static bool (JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
129 | static JSValueRef (JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
130 | static bool (JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
131 | static JSValueRef (JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
132 | static JSValueRef (JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
133 | static JSValueRef (JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
134 | static JSValueRef isShowingPopover(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
135 | static JSValueRef willPresentPopoverCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
136 | static bool setWillPresentPopoverCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
137 | static JSValueRef didDismissPopoverCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
138 | static bool setDidDismissPopoverCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
139 | static JSValueRef willBeginZoomingCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
140 | static bool setWillBeginZoomingCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
141 | static JSValueRef didEndZoomingCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
142 | static bool setDidEndZoomingCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
143 | static JSValueRef isPresentingModally(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
144 | static JSValueRef contentOffsetX(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
145 | static JSValueRef contentOffsetY(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
146 | static JSValueRef scrollUpdatesDisabled(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
147 | static bool setScrollUpdatesDisabled(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
148 | static JSValueRef didEndScrollingCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
149 | static bool setDidEndScrollingCallback(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
150 | static JSValueRef zoomScale(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
151 | static JSValueRef minimumZoomScale(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
152 | static JSValueRef maximumZoomScale(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
153 | static JSValueRef stableStateOverride(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
154 | static bool setStableStateOverride(JSContextRef, JSObjectRef, JSStringRef, JSValueRef, JSValueRef*); |
155 | static JSValueRef contentVisibleRect(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
156 | static JSValueRef textSelectionRangeRects(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
157 | static JSValueRef textSelectionCaretRect(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
158 | static JSValueRef selectionStartGrabberViewRect(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
159 | static JSValueRef selectionEndGrabberViewRect(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
160 | static JSValueRef selectionCaretViewRect(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
161 | static JSValueRef selectionRangeViewRects(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
162 | static JSValueRef calendarType(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
163 | static JSValueRef inputViewBounds(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
164 | static JSValueRef scrollingTreeAsText(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
165 | static JSValueRef accessibilitySpeakSelectionContent(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
166 | static JSValueRef isWindowContentViewFirstResponder(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
167 | static JSValueRef numberOfStrokesInEditableImage(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
168 | static JSValueRef lastUndoLabel(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
169 | static JSValueRef firstRedoLabel(JSContextRef, JSObjectRef, JSStringRef, JSValueRef*); |
170 | }; |
171 | |
172 | UIScriptController* toUIScriptController(JSContextRef, JSValueRef); |
173 | |
174 | } // namespace WTR |
175 | |
176 | #endif // JSUIScriptController_h |
177 | |