1 | /* |
2 | * Copyright (C) 2015 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 | |
26 | #include "config.h" |
27 | #include "UIScriptController.h" |
28 | |
29 | #include "JSUIScriptController.h" |
30 | #include "UIScriptContext.h" |
31 | #include <JavaScriptCore/JSValueRef.h> |
32 | #include <JavaScriptCore/OpaqueJSString.h> |
33 | |
34 | namespace WTR { |
35 | |
36 | DeviceOrientation* toDeviceOrientation(JSContextRef context, JSValueRef value) |
37 | { |
38 | static DeviceOrientation values[] = { |
39 | DeviceOrientation::Portrait, |
40 | DeviceOrientation::PortraitUpsideDown, |
41 | DeviceOrientation::LandscapeLeft, |
42 | DeviceOrientation::LandscapeRight |
43 | }; |
44 | |
45 | auto option = adopt(JSValueToStringCopy(context, value, nullptr)); |
46 | if (option.get()->string() == "portrait" ) |
47 | return &values[0]; |
48 | |
49 | if (option.get()->string() == "portrait-upsidedown" ) |
50 | return &values[1]; |
51 | |
52 | if (option.get()->string() == "landscape-left" ) |
53 | return &values[2]; |
54 | |
55 | if (option.get()->string() == "landscape-right" ) |
56 | return &values[3]; |
57 | |
58 | return nullptr; |
59 | } |
60 | |
61 | UIScriptController::UIScriptController(UIScriptContext& context) |
62 | : m_context(&context) |
63 | { |
64 | } |
65 | |
66 | #if !PLATFORM(IOS_FAMILY) |
67 | void UIScriptController::checkForOutstandingCallbacks() |
68 | { |
69 | } |
70 | #endif |
71 | |
72 | void UIScriptController::contextDestroyed() |
73 | { |
74 | m_context = nullptr; |
75 | } |
76 | |
77 | void UIScriptController::makeWindowObject(JSContextRef context, JSObjectRef windowObject, JSValueRef* exception) |
78 | { |
79 | setProperty(context, windowObject, "uiController" , this, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete, exception); |
80 | } |
81 | |
82 | JSClassRef UIScriptController::wrapperClass() |
83 | { |
84 | return JSUIScriptController::uIScriptControllerClass(); |
85 | } |
86 | |
87 | #if !PLATFORM(COCOA) |
88 | void UIScriptController::doAsyncTask(JSValueRef) |
89 | { |
90 | } |
91 | |
92 | void simulateAccessibilitySettingsChangeNotification(JSValueRef) |
93 | { |
94 | } |
95 | |
96 | void UIScriptController::doAfterPresentationUpdate(JSValueRef) |
97 | { |
98 | } |
99 | |
100 | void UIScriptController::doAfterNextStablePresentationUpdate(JSValueRef) |
101 | { |
102 | } |
103 | |
104 | void UIScriptController::doAfterVisibleContentRectUpdate(JSValueRef) |
105 | { |
106 | } |
107 | #endif |
108 | |
109 | void UIScriptController::setDidStartFormControlInteractionCallback(JSValueRef callback) |
110 | { |
111 | m_context->registerCallback(callback, CallbackTypeDidStartFormControlInteraction); |
112 | platformSetDidStartFormControlInteractionCallback(); |
113 | } |
114 | |
115 | JSValueRef UIScriptController::didStartFormControlInteractionCallback() const |
116 | { |
117 | return m_context->callbackWithID(CallbackTypeDidStartFormControlInteraction); |
118 | } |
119 | |
120 | void UIScriptController::setDidEndFormControlInteractionCallback(JSValueRef callback) |
121 | { |
122 | m_context->registerCallback(callback, CallbackTypeDidEndFormControlInteraction); |
123 | platformSetDidEndFormControlInteractionCallback(); |
124 | } |
125 | |
126 | JSValueRef UIScriptController::didEndFormControlInteractionCallback() const |
127 | { |
128 | return m_context->callbackWithID(CallbackTypeDidEndFormControlInteraction); |
129 | } |
130 | |
131 | void UIScriptController::setDidShowForcePressPreviewCallback(JSValueRef callback) |
132 | { |
133 | m_context->registerCallback(callback, CallbackTypeDidShowForcePressPreview); |
134 | platformSetDidShowForcePressPreviewCallback(); |
135 | } |
136 | |
137 | JSValueRef UIScriptController::didShowForcePressPreviewCallback() const |
138 | { |
139 | return m_context->callbackWithID(CallbackTypeDidShowForcePressPreview); |
140 | } |
141 | |
142 | void UIScriptController::setDidDismissForcePressPreviewCallback(JSValueRef callback) |
143 | { |
144 | m_context->registerCallback(callback, CallbackTypeDidDismissForcePressPreview); |
145 | platformSetDidDismissForcePressPreviewCallback(); |
146 | } |
147 | |
148 | JSValueRef UIScriptController::didDismissForcePressPreviewCallback() const |
149 | { |
150 | return m_context->callbackWithID(CallbackTypeDidDismissForcePressPreview); |
151 | } |
152 | |
153 | void UIScriptController::setWillBeginZoomingCallback(JSValueRef callback) |
154 | { |
155 | m_context->registerCallback(callback, CallbackTypeWillBeginZooming); |
156 | platformSetWillBeginZoomingCallback(); |
157 | } |
158 | |
159 | JSValueRef UIScriptController::willBeginZoomingCallback() const |
160 | { |
161 | return m_context->callbackWithID(CallbackTypeWillBeginZooming); |
162 | } |
163 | |
164 | void UIScriptController::setDidEndZoomingCallback(JSValueRef callback) |
165 | { |
166 | m_context->registerCallback(callback, CallbackTypeDidEndZooming); |
167 | platformSetDidEndZoomingCallback(); |
168 | } |
169 | |
170 | JSValueRef UIScriptController::didEndZoomingCallback() const |
171 | { |
172 | return m_context->callbackWithID(CallbackTypeDidEndZooming); |
173 | } |
174 | |
175 | void UIScriptController::setDidEndScrollingCallback(JSValueRef callback) |
176 | { |
177 | m_context->registerCallback(callback, CallbackTypeDidEndScrolling); |
178 | platformSetDidEndScrollingCallback(); |
179 | } |
180 | |
181 | JSValueRef UIScriptController::didEndScrollingCallback() const |
182 | { |
183 | return m_context->callbackWithID(CallbackTypeDidEndScrolling); |
184 | } |
185 | |
186 | void UIScriptController::setDidShowKeyboardCallback(JSValueRef callback) |
187 | { |
188 | m_context->registerCallback(callback, CallbackTypeDidShowKeyboard); |
189 | platformSetDidShowKeyboardCallback(); |
190 | } |
191 | |
192 | JSValueRef UIScriptController::didShowKeyboardCallback() const |
193 | { |
194 | return m_context->callbackWithID(CallbackTypeDidShowKeyboard); |
195 | } |
196 | |
197 | void UIScriptController::setDidHideKeyboardCallback(JSValueRef callback) |
198 | { |
199 | m_context->registerCallback(callback, CallbackTypeDidHideKeyboard); |
200 | platformSetDidHideKeyboardCallback(); |
201 | } |
202 | |
203 | JSValueRef UIScriptController::didHideKeyboardCallback() const |
204 | { |
205 | return m_context->callbackWithID(CallbackTypeDidHideKeyboard); |
206 | } |
207 | |
208 | void UIScriptController::(JSValueRef callback) |
209 | { |
210 | m_context->registerCallback(callback, CallbackTypeDidShowMenu); |
211 | platformSetDidShowMenuCallback(); |
212 | } |
213 | |
214 | JSValueRef UIScriptController::() const |
215 | { |
216 | return m_context->callbackWithID(CallbackTypeDidShowMenu); |
217 | } |
218 | |
219 | void UIScriptController::(JSValueRef callback) |
220 | { |
221 | m_context->registerCallback(callback, CallbackTypeDidHideMenu); |
222 | platformSetDidHideMenuCallback(); |
223 | } |
224 | |
225 | JSValueRef UIScriptController::() const |
226 | { |
227 | return m_context->callbackWithID(CallbackTypeDidHideMenu); |
228 | } |
229 | |
230 | void UIScriptController::setWillPresentPopoverCallback(JSValueRef callback) |
231 | { |
232 | m_context->registerCallback(callback, CallbackTypeWillPresentPopover); |
233 | platformSetWillPresentPopoverCallback(); |
234 | } |
235 | |
236 | JSValueRef UIScriptController::willPresentPopoverCallback() const |
237 | { |
238 | return m_context->callbackWithID(CallbackTypeWillPresentPopover); |
239 | } |
240 | |
241 | void UIScriptController::setDidDismissPopoverCallback(JSValueRef callback) |
242 | { |
243 | m_context->registerCallback(callback, CallbackTypeDidDismissPopover); |
244 | platformSetDidDismissPopoverCallback(); |
245 | } |
246 | |
247 | JSValueRef UIScriptController::didDismissPopoverCallback() const |
248 | { |
249 | return m_context->callbackWithID(CallbackTypeDidDismissPopover); |
250 | } |
251 | |
252 | #if !PLATFORM(COCOA) |
253 | |
254 | void UIScriptController::zoomToScale(double, JSValueRef) |
255 | { |
256 | } |
257 | |
258 | void UIScriptController::setViewScale(double) |
259 | { |
260 | } |
261 | |
262 | void UIScriptController::setMinimumEffectiveWidth(double) |
263 | { |
264 | } |
265 | |
266 | void UIScriptController::setAllowsViewportShrinkToFit(bool) |
267 | { |
268 | } |
269 | |
270 | void UIScriptController::resignFirstResponder() |
271 | { |
272 | } |
273 | |
274 | void UIScriptController::simulateAccessibilitySettingsChangeNotification(JSValueRef) |
275 | { |
276 | } |
277 | |
278 | JSObjectRef UIScriptController::contentsOfUserInterfaceItem(JSStringRef interfaceItem) const |
279 | { |
280 | return nullptr; |
281 | } |
282 | |
283 | void UIScriptController::setDefaultCalendarType(JSStringRef calendarIdentifier) |
284 | { |
285 | } |
286 | |
287 | JSObjectRef UIScriptController::calendarType() const |
288 | { |
289 | return nullptr; |
290 | } |
291 | |
292 | void UIScriptController::toggleCapsLock(JSValueRef) |
293 | { |
294 | } |
295 | |
296 | #endif // !PLATFORM(COCOA) |
297 | |
298 | void UIScriptController::playBackEventStream(JSStringRef stream, JSValueRef callback) |
299 | { |
300 | platformPlayBackEventStream(stream, callback); |
301 | } |
302 | |
303 | #if !PLATFORM(IOS_FAMILY) |
304 | void UIScriptController::touchDownAtPoint(long x, long y, long touchCount, JSValueRef) |
305 | { |
306 | } |
307 | |
308 | void UIScriptController::liftUpAtPoint(long x, long y, long touchCount, JSValueRef) |
309 | { |
310 | } |
311 | |
312 | void UIScriptController::singleTapAtPoint(long x, long y, JSValueRef) |
313 | { |
314 | } |
315 | |
316 | void UIScriptController::singleTapAtPointWithModifiers(long x, long y, JSValueRef modifierArray, JSValueRef callback) |
317 | { |
318 | } |
319 | |
320 | void UIScriptController::doubleTapAtPoint(long x, long y, JSValueRef) |
321 | { |
322 | } |
323 | |
324 | void UIScriptController::dragFromPointToPoint(long startX, long startY, long endX, long endY, double durationSeconds, JSValueRef callback) |
325 | { |
326 | } |
327 | |
328 | void UIScriptController::longPressAtPoint(long x, long y, JSValueRef) |
329 | { |
330 | } |
331 | |
332 | void UIScriptController::stylusDownAtPoint(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, JSValueRef callback) |
333 | { |
334 | } |
335 | |
336 | void UIScriptController::stylusMoveToPoint(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, JSValueRef callback) |
337 | { |
338 | } |
339 | |
340 | void UIScriptController::stylusUpAtPoint(long x, long y, JSValueRef callback) |
341 | { |
342 | } |
343 | |
344 | void UIScriptController::stylusTapAtPoint(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, JSValueRef callback) |
345 | { |
346 | } |
347 | |
348 | void UIScriptController::stylusTapAtPointWithModifiers(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, JSValueRef modifierArray, JSValueRef callback) |
349 | { |
350 | } |
351 | |
352 | void UIScriptController::sendEventStream(JSStringRef eventsJSON, JSValueRef callback) |
353 | { |
354 | } |
355 | |
356 | void UIScriptController::enterText(JSStringRef) |
357 | { |
358 | } |
359 | |
360 | void UIScriptController::typeCharacterUsingHardwareKeyboard(JSStringRef, JSValueRef) |
361 | { |
362 | } |
363 | |
364 | void UIScriptController::keyDown(JSStringRef, JSValueRef) |
365 | { |
366 | } |
367 | |
368 | void UIScriptController::dismissFormAccessoryView() |
369 | { |
370 | } |
371 | |
372 | void UIScriptController::dismissFilePicker(JSValueRef) |
373 | { |
374 | } |
375 | |
376 | void UIScriptController::setTimePickerValue(long, long) |
377 | { |
378 | } |
379 | |
380 | void UIScriptController::selectFormAccessoryPickerRow(long) |
381 | { |
382 | } |
383 | |
384 | JSRetainPtr<JSStringRef> UIScriptController::textContentType() const |
385 | { |
386 | return nullptr; |
387 | } |
388 | |
389 | JSRetainPtr<JSStringRef> UIScriptController::selectFormPopoverTitle() const |
390 | { |
391 | return nullptr; |
392 | } |
393 | |
394 | JSRetainPtr<JSStringRef> UIScriptController::formInputLabel() const |
395 | { |
396 | return nullptr; |
397 | } |
398 | |
399 | bool UIScriptController::isPresentingModally() const |
400 | { |
401 | return false; |
402 | } |
403 | |
404 | double UIScriptController::contentOffsetX() const |
405 | { |
406 | return 0; |
407 | } |
408 | |
409 | double UIScriptController::contentOffsetY() const |
410 | { |
411 | return 0; |
412 | } |
413 | |
414 | bool UIScriptController::scrollUpdatesDisabled() const |
415 | { |
416 | return false; |
417 | } |
418 | |
419 | void UIScriptController::setScrollUpdatesDisabled(bool) |
420 | { |
421 | } |
422 | |
423 | void UIScriptController::scrollToOffset(long x, long y) |
424 | { |
425 | } |
426 | |
427 | void UIScriptController::immediateScrollToOffset(long x, long y) |
428 | { |
429 | } |
430 | |
431 | void UIScriptController::immediateScrollElementAtContentPointToOffset(long x, long y, long xScrollOffset, long yScrollOffset) |
432 | { |
433 | } |
434 | |
435 | void UIScriptController::immediateZoomToScale(double scale) |
436 | { |
437 | } |
438 | |
439 | void UIScriptController::keyboardAccessoryBarNext() |
440 | { |
441 | } |
442 | |
443 | void UIScriptController::keyboardAccessoryBarPrevious() |
444 | { |
445 | } |
446 | |
447 | void UIScriptController::applyAutocorrection(JSStringRef, JSStringRef, JSValueRef) |
448 | { |
449 | } |
450 | |
451 | bool UIScriptController::isShowingKeyboard() const |
452 | { |
453 | return false; |
454 | } |
455 | |
456 | double UIScriptController::zoomScale() const |
457 | { |
458 | return 1; |
459 | } |
460 | |
461 | double UIScriptController::minimumZoomScale() const |
462 | { |
463 | return 1; |
464 | } |
465 | |
466 | double UIScriptController::maximumZoomScale() const |
467 | { |
468 | return 1; |
469 | } |
470 | |
471 | Optional<bool> UIScriptController::stableStateOverride() const |
472 | { |
473 | return WTF::nullopt; |
474 | } |
475 | |
476 | void UIScriptController::setStableStateOverride(Optional<bool>) |
477 | { |
478 | } |
479 | |
480 | JSObjectRef UIScriptController::contentVisibleRect() const |
481 | { |
482 | return nullptr; |
483 | } |
484 | |
485 | JSObjectRef UIScriptController::textSelectionRangeRects() const |
486 | { |
487 | return nullptr; |
488 | } |
489 | |
490 | JSObjectRef UIScriptController::textSelectionCaretRect() const |
491 | { |
492 | return nullptr; |
493 | } |
494 | |
495 | JSObjectRef UIScriptController::selectionStartGrabberViewRect() const |
496 | { |
497 | return nullptr; |
498 | } |
499 | |
500 | JSObjectRef UIScriptController::selectionCaretViewRect() const |
501 | { |
502 | return nullptr; |
503 | } |
504 | |
505 | JSObjectRef UIScriptController::selectionRangeViewRects() const |
506 | { |
507 | return nullptr; |
508 | } |
509 | |
510 | JSObjectRef UIScriptController::selectionEndGrabberViewRect() const |
511 | { |
512 | return nullptr; |
513 | } |
514 | |
515 | JSObjectRef UIScriptController::inputViewBounds() const |
516 | { |
517 | return nullptr; |
518 | } |
519 | |
520 | void UIScriptController::removeAllDynamicDictionaries() |
521 | { |
522 | } |
523 | |
524 | JSRetainPtr<JSStringRef> UIScriptController::scrollingTreeAsText() const |
525 | { |
526 | return nullptr; |
527 | } |
528 | |
529 | JSObjectRef UIScriptController::propertiesOfLayerWithID(uint64_t layerID) const |
530 | { |
531 | return nullptr; |
532 | } |
533 | |
534 | void UIScriptController::platformSetDidStartFormControlInteractionCallback() |
535 | { |
536 | } |
537 | |
538 | void UIScriptController::platformSetDidEndFormControlInteractionCallback() |
539 | { |
540 | } |
541 | |
542 | void UIScriptController::platformSetDidShowForcePressPreviewCallback() |
543 | { |
544 | } |
545 | |
546 | void UIScriptController::platformSetDidDismissForcePressPreviewCallback() |
547 | { |
548 | } |
549 | |
550 | void UIScriptController::platformSetWillBeginZoomingCallback() |
551 | { |
552 | } |
553 | |
554 | void UIScriptController::platformSetDidEndZoomingCallback() |
555 | { |
556 | } |
557 | |
558 | void UIScriptController::platformSetDidEndScrollingCallback() |
559 | { |
560 | } |
561 | |
562 | void UIScriptController::platformSetDidShowKeyboardCallback() |
563 | { |
564 | } |
565 | |
566 | void UIScriptController::platformSetDidHideKeyboardCallback() |
567 | { |
568 | } |
569 | |
570 | void UIScriptController::() |
571 | { |
572 | } |
573 | |
574 | void UIScriptController::() |
575 | { |
576 | } |
577 | |
578 | bool UIScriptController::isShowingPopover() const |
579 | { |
580 | return false; |
581 | } |
582 | |
583 | void UIScriptController::platformSetWillPresentPopoverCallback() |
584 | { |
585 | } |
586 | |
587 | void UIScriptController::platformSetDidDismissPopoverCallback() |
588 | { |
589 | } |
590 | |
591 | JSObjectRef UIScriptController::() const |
592 | { |
593 | return nullptr; |
594 | } |
595 | |
596 | JSObjectRef UIScriptController::(JSStringRef) const |
597 | { |
598 | return nullptr; |
599 | } |
600 | |
601 | bool UIScriptController::() const |
602 | { |
603 | return false; |
604 | } |
605 | |
606 | bool UIScriptController::() const |
607 | { |
608 | return false; |
609 | } |
610 | |
611 | void UIScriptController::platformClearAllCallbacks() |
612 | { |
613 | } |
614 | |
615 | void UIScriptController::retrieveSpeakSelectionContent(JSValueRef) |
616 | { |
617 | } |
618 | |
619 | JSRetainPtr<JSStringRef> UIScriptController::accessibilitySpeakSelectionContent() const |
620 | { |
621 | return nullptr; |
622 | } |
623 | |
624 | void UIScriptController::setSafeAreaInsets(double top, double right, double bottom, double left) |
625 | { |
626 | } |
627 | |
628 | void UIScriptController::drawSquareInEditableImage() |
629 | { |
630 | } |
631 | |
632 | long UIScriptController::numberOfStrokesInEditableImage() |
633 | { |
634 | return 0; |
635 | } |
636 | |
637 | JSObjectRef UIScriptController::attachmentInfo(JSStringRef) |
638 | { |
639 | return nullptr; |
640 | } |
641 | |
642 | void UIScriptController::setKeyboardInputModeIdentifier(JSStringRef) |
643 | { |
644 | } |
645 | |
646 | void UIScriptController::setHardwareKeyboardAttached(bool) |
647 | { |
648 | } |
649 | |
650 | #endif |
651 | |
652 | #if !PLATFORM(COCOA) |
653 | |
654 | void UIScriptController::simulateRotation(DeviceOrientation*, JSValueRef callback) |
655 | { |
656 | } |
657 | |
658 | void UIScriptController::simulateRotationLikeSafari(DeviceOrientation*, JSValueRef callback) |
659 | { |
660 | } |
661 | |
662 | void UIScriptController::findString(JSStringRef, unsigned long options, unsigned long maxCount) |
663 | { |
664 | } |
665 | |
666 | void UIScriptController::removeViewFromWindow(JSValueRef) |
667 | { |
668 | } |
669 | |
670 | void UIScriptController::addViewToWindow(JSValueRef) |
671 | { |
672 | } |
673 | |
674 | void UIScriptController::beginBackSwipe(JSValueRef callback) |
675 | { |
676 | } |
677 | |
678 | void UIScriptController::completeBackSwipe(JSValueRef callback) |
679 | { |
680 | } |
681 | |
682 | void UIScriptController::setShareSheetCompletesImmediatelyWithResolution(bool) |
683 | { |
684 | } |
685 | |
686 | bool UIScriptController::isShowingDataListSuggestions() const |
687 | { |
688 | return false; |
689 | } |
690 | |
691 | void UIScriptController::overridePreference(JSStringRef, JSStringRef) |
692 | { |
693 | } |
694 | |
695 | JSRetainPtr<JSStringRef> UIScriptController::lastUndoLabel() const |
696 | { |
697 | return nullptr; |
698 | } |
699 | |
700 | JSRetainPtr<JSStringRef> UIScriptController::firstRedoLabel() const |
701 | { |
702 | return nullptr; |
703 | } |
704 | |
705 | #endif // !PLATFORM(COCOA) |
706 | |
707 | #if !PLATFORM(MAC) |
708 | |
709 | void UIScriptController::replaceTextAtRange(JSStringRef, int, int) |
710 | { |
711 | } |
712 | |
713 | void UIScriptController::platformPlayBackEventStream(JSStringRef, JSValueRef) |
714 | { |
715 | } |
716 | |
717 | void UIScriptController::firstResponderSuppressionForWebView(bool) |
718 | { |
719 | } |
720 | |
721 | void UIScriptController::makeWindowContentViewFirstResponder() |
722 | { |
723 | } |
724 | |
725 | bool UIScriptController::isWindowContentViewFirstResponder() const |
726 | { |
727 | return false; |
728 | } |
729 | |
730 | #endif |
731 | |
732 | void UIScriptController::uiScriptComplete(JSStringRef result) |
733 | { |
734 | m_context->requestUIScriptCompletion(result); |
735 | platformClearAllCallbacks(); |
736 | } |
737 | |
738 | } |
739 | |