blob: 4ee0add840d24d4feaae5f28a1ddd7129a5544f6 [file] [log] [blame]
/*
* Copyright (C) 2012 Google Inc. All rights reserved.
* Copyright (C) 2013 Apple 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.
*
* 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.
*/
[
OmitConstructor
] interface Internals {
DOMString address(Node node);
DOMString elementRenderTreeAsText(Element element) raises(DOMException);
boolean isPreloaded(DOMString url);
boolean isLoadingFromMemoryCache(DOMString url);
unsigned long numberOfScopedHTMLStyleChildren(Node scope) raises(DOMException);
CSSStyleDeclaration computedStyleIncludingVisitedInfo(Node node) raises(DOMException);
#if defined(ENABLE_SHADOW_DOM) && ENABLE_SHADOW_DOM
ShadowRoot ensureShadowRoot(Element host) raises (DOMException);
ShadowRoot createShadowRoot(Element host) raises (DOMException);
ShadowRoot shadowRoot(Element host) raises (DOMException);
ShadowRoot youngestShadowRoot(Element host) raises (DOMException);
ShadowRoot oldestShadowRoot(Element host) raises (DOMException);
ShadowRoot youngerShadowRoot(Node root) raises (DOMException);
ShadowRoot olderShadowRoot(Node root) raises (DOMException);
#else
Node ensureShadowRoot(Element host) raises (DOMException);
Node createShadowRoot(Element host) raises (DOMException);
Node shadowRoot(Element host) raises (DOMException);
Node youngestShadowRoot(Element host) raises (DOMException);
Node oldestShadowRoot(Element host) raises (DOMException);
Node youngerShadowRoot(Node root) raises (DOMException);
#endif
DOMString shadowRootType(Node root) raises (DOMException);
boolean hasShadowInsertionPoint(Node root) raises (DOMException);
boolean hasContentElement(Node root) raises (DOMException);
unsigned long countElementShadow(Node Root) raises (DOMException);
Element includerFor(Node node) raises (DOMException);
DOMString shadowPseudoId(Element element) raises (DOMException);
void setShadowPseudoId(Element element, DOMString id) raises (DOMException);
Element createContentElement() raises(DOMException);
boolean isValidContentSelect(Element contentElement) raises(DOMException);
Node treeScopeRootNode(Node node) raises (DOMException);
Node parentTreeScope(Node node) raises (DOMException);
boolean hasSelectorForIdInShadow(Element host, DOMString id) raises (DOMException);
boolean hasSelectorForClassInShadow(Element host, DOMString className) raises (DOMException);
boolean hasSelectorForAttributeInShadow(Element host, DOMString attributeName) raises (DOMException);
boolean hasSelectorForPseudoClassInShadow(Element host, DOMString pseudoClass) raises (DOMException);
// CSS Animation testing.
unsigned long numberOfActiveAnimations();
void suspendAnimations(Document document) raises (DOMException);
void resumeAnimations(Document document) raises (DOMException);
boolean pauseAnimationAtTimeOnElement(DOMString animationName, double pauseTime, Element element) raises (DOMException);
boolean pauseAnimationAtTimeOnPseudoElement(DOMString animationName, double pauseTime, Element element, DOMString pseudoId) raises (DOMException);
// CSS Transition testing.
boolean pauseTransitionAtTimeOnElement(DOMString propertyName, double pauseTime, Element element) raises (DOMException);
boolean pauseTransitionAtTimeOnPseudoElement(DOMString property, double pauseTime, Element element, DOMString pseudoId) raises (DOMException);
Node nextSiblingByWalker(Node node) raises(DOMException);
Node firstChildByWalker(Node node) raises(DOMException);
Node lastChildByWalker(Node node) raises(DOMException);
Node nextNodeByWalker(Node node) raises(DOMException);
Node previousNodeByWalker(Node node) raises(DOMException);
boolean attached(Node node) raises(DOMException);
DOMString visiblePlaceholder(Element element);
#if defined(ENABLE_INPUT_TYPE_COLOR) && ENABLE_INPUT_TYPE_COLOR
void selectColorInColorChooser(Element element, DOMString colorValue);
#endif
DOMString[] formControlStateOfPreviousHistoryItem() raises(DOMException);
void setFormControlStateOfPreviousHistoryItem(sequence<DOMString> values) raises(DOMException);
void setEnableMockPagePopup(boolean enabled) raises(DOMException);
#if defined(ENABLE_PAGE_POPUP) && ENABLE_PAGE_POPUP
readonly attribute PagePopupController pagePopupController;
#endif
ClientRect absoluteCaretBounds() raises(DOMException);
ClientRect boundingBox(Element element) raises(DOMException);
ClientRectList inspectorHighlightRects(Document document) raises (DOMException);
unsigned long markerCountForNode(Node node, DOMString markerType) raises(DOMException);
Range markerRangeForNode(Node node, DOMString markerType, unsigned long index) raises(DOMException);
DOMString markerDescriptionForNode(Node node, DOMString markerType, unsigned long index) raises(DOMException);
void addTextMatchMarker(Range range, boolean isActive);
void setScrollViewPosition(Document document, long x, long y) raises(DOMException);
void setPagination(Document document, DOMString mode, long gap, optional long pageLength) raises(DOMException);
DOMString configurationForViewport(Document document,
float devicePixelRatio,
long deviceWidth,
long deviceHeight,
long availableWidth,
long availableHeight) raises(DOMException);
boolean wasLastChangeUserEdit(Element textField) raises (DOMException);
boolean elementShouldAutoComplete(Element inputElement) raises (DOMException);
DOMString suggestedValue(Element inputElement) raises (DOMException);
void setSuggestedValue(Element inputElement, DOMString value) raises (DOMException);
void setEditingValue(Element inputElement, DOMString value) raises (DOMException);
void setAutofilled(Element inputElement, boolean enabled) raises(DOMException);
void paintControlTints(Document document) raises (DOMException);
void scrollElementToRect(Element element, long x, long y, long w, long h) raises (DOMException);
Range rangeFromLocationAndLength(Element scope, long rangeLocation, long rangeLength) raises (DOMException);
unsigned long locationFromRange(Element scope, Range range) raises (DOMException);
unsigned long lengthFromRange(Element scope, Range range) raises (DOMException);
DOMString rangeAsText(Range range) raises (DOMException);
void setDelegatesScrolling(boolean enabled, Document document) raises (DOMException);
#if defined(ENABLE_TOUCH_ADJUSTMENT) && ENABLE_TOUCH_ADJUSTMENT
WebKitPoint touchPositionAdjustedToBestClickableNode(long x, long y, long width, long height, Document document) raises (DOMException);
Node touchNodeAdjustedToBestClickableNode(long x, long y, long width, long height, Document document) raises (DOMException);
WebKitPoint touchPositionAdjustedToBestContextMenuNode(long x, long y, long width, long height, Document document) raises (DOMException);
Node touchNodeAdjustedToBestContextMenuNode(long x, long y, long width, long height, Document document) raises (DOMException);
ClientRect bestZoomableAreaForTouchPoint(long x, long y, long width, long height, Document document) raises (DOMException);
#endif
long lastSpellCheckRequestSequence(Document document) raises (DOMException);
long lastSpellCheckProcessedSequence(Document document) raises (DOMException);
sequence<DOMString> userPreferredLanguages();
void setUserPreferredLanguages(sequence<DOMString> languages);
unsigned long wheelEventHandlerCount(Document document) raises (DOMException);
unsigned long touchEventHandlerCount(Document document) raises (DOMException);
#if defined(ENABLE_TOUCH_EVENT_TRACKING) && ENABLE_TOUCH_EVENT_TRACKING
ClientRectList touchEventTargetClientRects(Document document) raises (DOMException);
#endif
NodeList nodesFromRect(Document document, long x, long y,
unsigned long topPadding, unsigned long rightPadding, unsigned long bottomPadding, unsigned long leftPadding,
boolean ignoreClipping, boolean allowShadowContent, boolean allowChildFrameContent) raises (DOMException);
void emitInspectorDidBeginFrame();
void emitInspectorDidCancelFrame();
boolean hasSpellingMarker(Document document, long from, long length) raises (DOMException);
boolean hasGrammarMarker(Document document, long from, long length) raises (DOMException);
boolean hasAutocorrectedMarker(Document document, long from, long length) raises (DOMException);
void setContinuousSpellCheckingEnabled(boolean enabled) raises (DOMException);
void setAutomaticQuoteSubstitutionEnabled(boolean enabled) raises (DOMException);
void setAutomaticLinkDetectionEnabled(boolean enabled) raises (DOMException);
void setAutomaticDashSubstitutionEnabled(boolean enabled) raises (DOMException);
void setAutomaticTextReplacementEnabled(boolean enabled) raises (DOMException);
void setAutomaticSpellingCorrectionEnabled(boolean enabled) raises (DOMException);
boolean isOverwriteModeEnabled(Document document) raises (DOMException);
void toggleOverwriteModeEnabled(Document document) raises (DOMException);
unsigned long numberOfScrollableAreas(Document document) raises (DOMException);
boolean isPageBoxVisible(Document document, long pageNumber) raises (DOMException);
readonly attribute InternalSettings settings;
readonly attribute unsigned long workerThreadCount;
// Flags for layerTreeAsText.
const unsigned short LAYER_TREE_INCLUDES_VISIBLE_RECTS = 1;
const unsigned short LAYER_TREE_INCLUDES_TILE_CACHES = 2;
const unsigned short LAYER_TREE_INCLUDES_REPAINT_RECTS = 4;
const unsigned short LAYER_TREE_INCLUDES_PAINTING_PHASES = 8;
DOMString layerTreeAsText(Document document, optional unsigned short flags) raises (DOMException);
DOMString scrollingStateTreeAsText(Document document) raises (DOMException);
DOMString mainThreadScrollingReasons(Document document) raises (DOMException);
ClientRectList nonFastScrollableRects(Document document) raises (DOMException);
DOMString repaintRectsAsText(Document document) raises (DOMException);
void garbageCollectDocumentResources(Document document) raises (DOMException);
void allowRoundingHacks();
void insertAuthorCSS(Document document, DOMString css);
void insertUserCSS(Document document, DOMString css);
#if defined(ENABLE_BATTERY_STATUS) && ENABLE_BATTERY_STATUS
void setBatteryStatus(Document document, DOMString eventType, boolean charging, double chargingTime, double dischargingTime, double level) raises (DOMException);
#endif
#if defined(ENABLE_NETWORK_INFO) && ENABLE_NETWORK_INFO
void setNetworkInformation(Document document, DOMString eventType, double bandwidth, boolean metered) raises (DOMException);
#endif
#if defined(ENABLE_PROXIMITY_EVENTS) && ENABLE_PROXIMITY_EVENTS
void setDeviceProximity(Document document, DOMString eventType, double value, double min, double max) raises (DOMException);
#endif
[Conditional=INSPECTOR] unsigned long numberOfLiveNodes();
[Conditional=INSPECTOR] unsigned long numberOfLiveDocuments();
[Conditional=INSPECTOR] sequence<DOMString> consoleMessageArgumentCounts(Document document);
[Conditional=INSPECTOR] DOMWindow openDummyInspectorFrontend(DOMString url);
[Conditional=INSPECTOR] void closeDummyInspectorFrontend();
[Conditional=INSPECTOR] void setInspectorResourcesDataSizeLimits(long maximumResourcesContentSize, long maximumSingleResourceContentSize) raises(DOMException);
[Conditional=INSPECTOR] void setJavaScriptProfilingEnabled(boolean creates) raises(DOMException);
DOMString counterValue(Element element);
long pageNumber(Element element, optional float pageWidth, optional float pageHeight);
DOMString[] shortcutIconURLs(Document document);
DOMString[] allIconURLs(Document document);
long numberOfPages(optional double pageWidthInPixels, optional double pageHeightInPixels);
DOMString pageProperty(DOMString propertyName, long pageNumber) raises (DOMException);
DOMString pageSizeAndMarginsInPixels(long pageIndex, long width, long height, long marginTop, long marginRight, long marginBottom, long marginLeft) raises (DOMException);
void setPageScaleFactor(float scaleFactor, long x, long y) raises(DOMException);
void setHeaderHeight(Document document, float height);
void setFooterHeight(Document document, float height);
#if defined(ENABLE_FULLSCREEN_API) && ENABLE_FULLSCREEN_API
void webkitWillEnterFullScreenForElement(Document document, Element element);
void webkitDidEnterFullScreenForElement(Document document, Element element);
void webkitWillExitFullScreenForElement(Document document, Element element);
void webkitDidExitFullScreenForElement(Document document, Element element);
#endif
void registerURLSchemeAsBypassingContentSecurityPolicy(DOMString scheme);
void removeURLSchemeRegisteredAsBypassingContentSecurityPolicy(DOMString scheme);
MallocStatistics mallocStatistics();
TypeConversions typeConversions();
DOMString[] getReferencedFilePaths();
// These functions both reset the tracked repaint rects. They are inteded to be used in the following order:
// startTrackingRepaints, repaintRectsAsText, stopTrackingRepaints.
void startTrackingRepaints(Document document) raises (DOMException);
void stopTrackingRepaints(Document document) raises (DOMException);
// Returns a string with information about the mouse cursor used at the specified client location.
DOMString getCurrentCursorInfo(Document document) raises (DOMException);
DOMString markerTextForListItem(Element element) raises (DOMException);
SerializedScriptValue deserializeBuffer(ArrayBuffer buffer);
ArrayBuffer serializeObject(SerializedScriptValue obj);
void setUsesOverlayScrollbars(boolean enabled);
void forceReload(boolean endToEnd);
[Conditional=VIDEO] void simulateAudioInterruption(Node node);
[Conditional=ENCRYPTED_MEDIA_V2] void initializeMockCDM();
[Conditional=SPEECH_SYNTHESIS] void enableMockSpeechSynthesizer();
DOMString getImageSourceURL(Element element) raises(DOMException);
[Conditional=VIDEO_TRACK] DOMString captionsStyleSheetOverride() raises (DOMException);
[Conditional=VIDEO_TRACK] void setCaptionsStyleSheetOverride(DOMString override) raises (DOMException);
[Conditional=VIDEO_TRACK] void setPrimaryAudioTrackLanguageOverride(DOMString language) raises(DOMException);
[Conditional=VIDEO_TRACK] void setCaptionDisplayMode(DOMString mode) raises (DOMException);
[Conditional=VIDEO] TimeRanges createTimeRanges(Float32Array startTimes, Float32Array
endTimes);
[Conditional=VIDEO] double closestTimeToTimeRanges(double time, TimeRanges ranges);
boolean isSelectPopupVisible(Node node);
};