ChangeLog

 12019-06-06 Sam Weinig <weinig@apple.com>
 2
 3 Remove Dashboard support
 4 https://bugs.webkit.org/show_bug.cgi?id=198615
 5
 6 Reviewed by Ryosuke Niwa.
 7
 8 * Source/cmake/OptionsMac.cmake:
 9 * Source/cmake/WebKitFeatures.cmake:
 10
1112019-06-10 Philippe Normand <pnormand@igalia.com>
212
313 [WPE][Qt] Port to new wpe_fdo_egl_exported_image API
246280

Source/JavaScriptCore/ChangeLog

 12019-06-06 Sam Weinig <weinig@apple.com>
 2
 3 Remove Dashboard support
 4 https://bugs.webkit.org/show_bug.cgi?id=198615
 5
 6 Reviewed by Ryosuke Niwa.
 7
 8 * Configurations/FeatureDefines.xcconfig:
 9
1102019-06-10 Devin Rousso <drousso@apple.com>
211
312 Web Automation: add notifications for when remote automation is enabled/disabled
246280

Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig

@@ENABLE_DARK_MODE_CSS_iphonesimulator = E
120120ENABLE_DARK_MODE_CSS_iosmac = ENABLE_DARK_MODE_CSS;
121121ENABLE_DARK_MODE_CSS_macosx = ENABLE_DARK_MODE_CSS;
122122
123 ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(WK_PLATFORM_NAME));
124 ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
125 
126123ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;
127124
128125ENABLE_DATALIST_ELEMENT = ENABLE_DATALIST_ELEMENT;

@@ENABLE_WIRELESS_PLAYBACK_TARGET = ENABLE
448445
449446ENABLE_XSLT = ENABLE_XSLT;
450447
451 FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCESSIBILITY_ISOLATED_TREE) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_CONIC_GRADIENTS) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_PAINTING_API) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS_TYPED_OM) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_C_LOOP) $(ENABLE_DARK_MODE_CSS) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_MEMORY_SAMPLER) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION) $(ENABLE_NOTIFICATIONS) $(ENABLE_OVERFLOW_SCROLLING_TOUCH) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_EVENTS) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESIZE_OBSERVER) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_LOAD_STATISTICS) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SANDBOX_EXTENSIONS) $(ENABLE_SERVER_PRECONNECT) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SHAREABLE_RESOURCE) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USERSELECT_ALL) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS) $(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS) $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WEB_API_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_CRYPTO) $(ENABLE_WEB_PROCESS_SANDBOX) $(ENABLE_WEB_RTC) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
 448FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCESSIBILITY_ISOLATED_TREE) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_CONIC_GRADIENTS) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_PAINTING_API) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS_TYPED_OM) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_C_LOOP) $(ENABLE_DARK_MODE_CSS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_MEMORY_SAMPLER) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION) $(ENABLE_NOTIFICATIONS) $(ENABLE_OVERFLOW_SCROLLING_TOUCH) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_EVENTS) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESIZE_OBSERVER) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_LOAD_STATISTICS) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SANDBOX_EXTENSIONS) $(ENABLE_SERVER_PRECONNECT) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SHAREABLE_RESOURCE) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USERSELECT_ALL) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS) $(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS) $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WEB_API_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_CRYPTO) $(ENABLE_WEB_PROCESS_SANDBOX) $(ENABLE_WEB_RTC) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
246280

Source/WTF/ChangeLog

 12019-06-06 Sam Weinig <weinig@apple.com>
 2
 3 Remove Dashboard support
 4 https://bugs.webkit.org/show_bug.cgi?id=198615
 5
 6 Reviewed by Ryosuke Niwa.
 7
 8 * wtf/FeatureDefines.h:
 9
1102019-06-10 Timothy Hatcher <timothy@apple.com>
211
312 Integrate dark mode support for iOS.
246280

Source/WTF/wtf/FeatureDefines.h

@@the public iOS SDK. See <https://webkit.
225225#define ENABLE_CONTENT_EXTENSIONS 1
226226#endif
227227
228 #if !defined(ENABLE_DASHBOARD_SUPPORT)
229 #define ENABLE_DASHBOARD_SUPPORT 1
230 #endif
231 
232228#if !defined(ENABLE_FULLSCREEN_API)
233229#define ENABLE_FULLSCREEN_API 1
234230#endif

@@the public iOS SDK. See <https://webkit.
470466#define ENABLE_DARK_MODE_CSS 0
471467#endif
472468
473 #if !defined(ENABLE_DASHBOARD_SUPPORT)
474 #define ENABLE_DASHBOARD_SUPPORT 0
475 #endif
476 
477469#if !defined(ENABLE_DATALIST_ELEMENT)
478470#define ENABLE_DATALIST_ELEMENT 0
479471#endif
246280

Source/WebCore/ChangeLog

 12019-06-06 Sam Weinig <weinig@apple.com>
 2
 3 Remove Dashboard support
 4 https://bugs.webkit.org/show_bug.cgi?id=198615
 5
 6 Reviewed by Ryosuke Niwa.
 7
 8 * Configurations/FeatureDefines.xcconfig:
 9 * WebCore.xcodeproj/project.pbxproj:
 10 * css/CSSCalculationValue.cpp:
 11 (WebCore::hasDoubleValue):
 12 * css/CSSComputedStyleDeclaration.cpp:
 13 (WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
 14 * css/CSSPrimitiveValue.cpp:
 15 (WebCore::isValidCSSUnitTypeForDoubleConversion):
 16 (WebCore::isStringType):
 17 (WebCore::CSSPrimitiveValue::cleanup):
 18 (WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):
 19 (WebCore::CSSPrimitiveValue::equals const):
 20 * css/CSSPrimitiveValue.h:
 21 * css/CSSProperties.json:
 22 * css/CSSValueKeywords.in:
 23 * css/DashboardRegion.h: Removed.
 24 * css/StyleBuilderCustom.h:
 25 (WebCore::convertToIntLength): Deleted.
 26 (WebCore::StyleBuilderCustom::applyValueWebkitDashboardRegion): Deleted.
 27 * css/StyleResolver.cpp:
 28 * css/parser/CSSPropertyParser.cpp:
 29 (WebCore::CSSPropertyParser::parseSingleValue):
 30 (WebCore::consumeWebkitDashboardRegion): Deleted.
 31 * dom/DataTransfer.cpp:
 32 (WebCore::DataTransfer::createForUpdatingDropTarget):
 33 * dom/Document.cpp:
 34 (WebCore::Document::invalidateRenderingDependentRegions):
 35 (WebCore::Document::annotatedRegions const): Deleted.
 36 (WebCore::Document::setAnnotatedRegions): Deleted.
 37 (WebCore::Document::updateAnnotatedRegions): Deleted.
 38 (WebCore::Document::invalidateScrollbarDependentRegions): Deleted.
 39 (WebCore::Document::updateZOrderDependentRegions): Deleted.
 40 * dom/Document.h:
 41 (WebCore::Document::setHasAnnotatedRegions): Deleted.
 42 (WebCore::Document::setAnnotatedRegionsDirty): Deleted.
 43 (WebCore::Document::annotatedRegionsDirty const): Deleted.
 44 (WebCore::Document::hasAnnotatedRegions const): Deleted.
 45 * html/HTMLCanvasElement.cpp:
 46 (WebCore::HTMLCanvasElement::createContext2d):
 47 * html/HTMLEmbedElement.cpp:
 48 (WebCore::HTMLEmbedElement::rendererIsNeeded):
 49 * html/HTMLImageLoader.cpp:
 50 (WebCore::HTMLImageLoader::sourceURI const):
 51 * html/canvas/CanvasGradient.cpp:
 52 (WebCore::CanvasGradient::addColorStop):
 53 * html/canvas/CanvasGradient.h:
 54 (WebCore::CanvasGradient::setDashboardCompatibilityMode): Deleted.
 55 (): Deleted.
 56 * html/canvas/CanvasRenderingContext2D.cpp:
 57 (WebCore::CanvasRenderingContext2D::create):
 58 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
 59 * html/canvas/CanvasRenderingContext2D.h:
 60 * html/canvas/CanvasRenderingContext2DBase.cpp:
 61 (WebCore::CanvasRenderingContext2DBase::CanvasRenderingContext2DBase):
 62 (WebCore::CanvasRenderingContext2DBase::fill):
 63 (WebCore::CanvasRenderingContext2DBase::stroke):
 64 (WebCore::CanvasRenderingContext2DBase::clip):
 65 (WebCore::CanvasRenderingContext2DBase::createLinearGradient):
 66 (WebCore::CanvasRenderingContext2DBase::createRadialGradient):
 67 (WebCore::CanvasRenderingContext2DBase::prepareGradientForDashboard const): Deleted.
 68 (WebCore::CanvasRenderingContext2DBase::clearPathForDashboardBackwardCompatibilityMode): Deleted.
 69 * html/canvas/CanvasRenderingContext2DBase.h:
 70 * html/canvas/OffscreenCanvasRenderingContext2D.cpp:
 71 (WebCore::OffscreenCanvasRenderingContext2D::OffscreenCanvasRenderingContext2D):
 72 * html/canvas/PaintRenderingContext2D.cpp:
 73 (WebCore::PaintRenderingContext2D::PaintRenderingContext2D):
 74 * page/Chrome.cpp:
 75 (WebCore::ChromeClient::annotatedRegionsChanged): Deleted.
 76 * page/ChromeClient.h:
 77 * page/FrameView.cpp:
 78 (WebCore::FrameView::didLayout):
 79 (WebCore::FrameView::didPaintContents):
 80 * page/Settings.yaml:
 81 * page/mac/EventHandlerMac.mm:
 82 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks const):
 83 * rendering/RenderInline.cpp:
 84 (WebCore::RenderInline::addAnnotatedRegions): Deleted.
 85 * rendering/RenderInline.h:
 86 * rendering/RenderLayer.cpp:
 87 (WebCore::RenderLayer::scrollTo):
 88 (WebCore::RenderLayer::setHasHorizontalScrollbar):
 89 (WebCore::RenderLayer::setHasVerticalScrollbar):
 90 (WebCore::RenderLayer::updateScrollbarsAfterLayout):
 91 * rendering/RenderListBox.cpp:
 92 (WebCore::RenderListBox::setHasVerticalScrollbar):
 93 * rendering/RenderObject.cpp:
 94 (WebCore::RenderObject::addAnnotatedRegions): Deleted.
 95 (WebCore::RenderObject::collectAnnotatedRegions): Deleted.
 96 * rendering/RenderObject.h:
 97 (WebCore::AnnotatedRegionValue::operator== const): Deleted.
 98 (WebCore::AnnotatedRegionValue::operator!= const): Deleted.
 99 * rendering/style/RenderStyle.cpp:
 100 (WebCore::rareNonInheritedDataChangeRequiresLayout):
 101 (WebCore::RenderStyle::initialDashboardRegions): Deleted.
 102 (WebCore::RenderStyle::noneDashboardRegions): Deleted.
 103 (WebCore::RenderStyle::setDashboardRegion): Deleted.
 104 * rendering/style/RenderStyle.h:
 105 (WebCore::RenderStyle::dashboardRegions const): Deleted.
 106 (WebCore::RenderStyle::setDashboardRegions): Deleted.
 107 * rendering/style/StyleDashboardRegion.h: Removed.
 108 * rendering/style/StyleRareNonInheritedData.cpp:
 109 (WebCore::StyleRareNonInheritedData::operator== const):
 110 * rendering/style/StyleRareNonInheritedData.h:
 111 * xml/XMLHttpRequest.cpp:
 112 (WebCore::XMLHttpRequest::send):
 113 (WebCore::XMLHttpRequest::setRequestHeader):
 114 (WebCore::XMLHttpRequest::usesDashboardBackwardCompatibilityMode const): Deleted.
 115 * xml/XMLHttpRequest.h:
 116
11172019-06-10 Antti Koivisto <antti@apple.com>
2118
3119 Event region should be set on scrolledContentsLayer if it exists
246280

Source/WebCore/Headers.cmake

@@set(WebCore_PRIVATE_FRAMEWORK_HEADERS
13131313 rendering/style/StyleColorScheme.h
13141314 rendering/style/StyleContentAlignmentData.h
13151315 rendering/style/StyleCustomPropertyData.h
1316  rendering/style/StyleDashboardRegion.h
13171316 rendering/style/StyleDeprecatedFlexibleBoxData.h
13181317 rendering/style/StyleFilterData.h
13191318 rendering/style/StyleFlexibleBoxData.h
246280

Source/WebCore/Configurations/FeatureDefines.xcconfig

@@ENABLE_DARK_MODE_CSS_iphonesimulator = E
120120ENABLE_DARK_MODE_CSS_iosmac = ENABLE_DARK_MODE_CSS;
121121ENABLE_DARK_MODE_CSS_macosx = ENABLE_DARK_MODE_CSS;
122122
123 ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(WK_PLATFORM_NAME));
124 ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
125 
126123ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;
127124
128125ENABLE_DATALIST_ELEMENT = ENABLE_DATALIST_ELEMENT;

@@ENABLE_WIRELESS_PLAYBACK_TARGET = ENABLE
448445
449446ENABLE_XSLT = ENABLE_XSLT;
450447
451 FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCESSIBILITY_ISOLATED_TREE) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_CONIC_GRADIENTS) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_PAINTING_API) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS_TYPED_OM) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_C_LOOP) $(ENABLE_DARK_MODE_CSS) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_MEMORY_SAMPLER) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION) $(ENABLE_NOTIFICATIONS) $(ENABLE_OVERFLOW_SCROLLING_TOUCH) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_EVENTS) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESIZE_OBSERVER) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_LOAD_STATISTICS) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SANDBOX_EXTENSIONS) $(ENABLE_SERVER_PRECONNECT) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SHAREABLE_RESOURCE) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USERSELECT_ALL) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS) $(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS) $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WEB_API_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_CRYPTO) $(ENABLE_WEB_PROCESS_SANDBOX) $(ENABLE_WEB_RTC) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
 448FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCESSIBILITY_ISOLATED_TREE) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_CONIC_GRADIENTS) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_PAINTING_API) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS_TYPED_OM) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_C_LOOP) $(ENABLE_DARK_MODE_CSS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_MEMORY_SAMPLER) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION) $(ENABLE_NOTIFICATIONS) $(ENABLE_OVERFLOW_SCROLLING_TOUCH) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_EVENTS) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESIZE_OBSERVER) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_LOAD_STATISTICS) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SANDBOX_EXTENSIONS) $(ENABLE_SERVER_PRECONNECT) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SHAREABLE_RESOURCE) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USERSELECT_ALL) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS) $(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS) $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WEB_API_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_CRYPTO) $(ENABLE_WEB_PROCESS_SANDBOX) $(ENABLE_WEB_RTC) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
246280

Source/WebCore/PAL/ChangeLog

 12019-06-06 Sam Weinig <weinig@apple.com>
 2
 3 Remove Dashboard support
 4 https://bugs.webkit.org/show_bug.cgi?id=198615
 5
 6 Reviewed by Ryosuke Niwa.
 7
 8 * Configurations/FeatureDefines.xcconfig:
 9
1102019-06-10 Timothy Hatcher <timothy@apple.com>
211
312 Integrate dark mode support for iOS.
246280

Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig

@@ENABLE_DARK_MODE_CSS_iphonesimulator = E
120120ENABLE_DARK_MODE_CSS_iosmac = ENABLE_DARK_MODE_CSS;
121121ENABLE_DARK_MODE_CSS_macosx = ENABLE_DARK_MODE_CSS;
122122
123 ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(WK_PLATFORM_NAME));
124 ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
125 
126123ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;
127124
128125ENABLE_DATALIST_ELEMENT = ENABLE_DATALIST_ELEMENT;

@@ENABLE_WIRELESS_PLAYBACK_TARGET = ENABLE
448445
449446ENABLE_XSLT = ENABLE_XSLT;
450447
451 FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCESSIBILITY_ISOLATED_TREE) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_CONIC_GRADIENTS) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_PAINTING_API) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS_TYPED_OM) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_C_LOOP) $(ENABLE_DARK_MODE_CSS) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_MEMORY_SAMPLER) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION) $(ENABLE_NOTIFICATIONS) $(ENABLE_OVERFLOW_SCROLLING_TOUCH) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_EVENTS) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESIZE_OBSERVER) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_LOAD_STATISTICS) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SANDBOX_EXTENSIONS) $(ENABLE_SERVER_PRECONNECT) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SHAREABLE_RESOURCE) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USERSELECT_ALL) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS) $(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS) $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WEB_API_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_CRYPTO) $(ENABLE_WEB_PROCESS_SANDBOX) $(ENABLE_WEB_RTC) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
 448FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCESSIBILITY_ISOLATED_TREE) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_CONIC_GRADIENTS) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_PAINTING_API) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS_TYPED_OM) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_C_LOOP) $(ENABLE_DARK_MODE_CSS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_MEMORY_SAMPLER) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION) $(ENABLE_NOTIFICATIONS) $(ENABLE_OVERFLOW_SCROLLING_TOUCH) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_EVENTS) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESIZE_OBSERVER) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_LOAD_STATISTICS) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SANDBOX_EXTENSIONS) $(ENABLE_SERVER_PRECONNECT) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SHAREABLE_RESOURCE) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USERSELECT_ALL) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS) $(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS) $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WEB_API_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_CRYPTO) $(ENABLE_WEB_PROCESS_SANDBOX) $(ENABLE_WEB_RTC) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
246280

Source/WebCore/WebCore.xcodeproj/project.pbxproj

31943194 A80E6D030A1989CA007FB8C5 /* CSSMediaRule.h in Headers */ = {isa = PBXBuildFile; fileRef = A80E6CD90A1989CA007FB8C5 /* CSSMediaRule.h */; settings = {ATTRIBUTES = (Private, ); }; };
31953195 A80E6D040A1989CA007FB8C5 /* Counter.h in Headers */ = {isa = PBXBuildFile; fileRef = A80E6CDA0A1989CA007FB8C5 /* Counter.h */; settings = {ATTRIBUTES = (Private, ); }; };
31963196 A80E6D080A1989CA007FB8C5 /* CSSInitialValue.h in Headers */ = {isa = PBXBuildFile; fileRef = A80E6CDE0A1989CA007FB8C5 /* CSSInitialValue.h */; };
3197  A80E6D0B0A1989CA007FB8C5 /* DashboardRegion.h in Headers */ = {isa = PBXBuildFile; fileRef = A80E6CE10A1989CA007FB8C5 /* DashboardRegion.h */; };
31983197 A80E6D0C0A1989CA007FB8C5 /* CSSStyleRule.h in Headers */ = {isa = PBXBuildFile; fileRef = A80E6CE20A1989CA007FB8C5 /* CSSStyleRule.h */; settings = {ATTRIBUTES = (Private, ); }; };
31993198 A80E6D0D0A1989CA007FB8C5 /* CSSRule.h in Headers */ = {isa = PBXBuildFile; fileRef = A80E6CE30A1989CA007FB8C5 /* CSSRule.h */; settings = {ATTRIBUTES = (Private, ); }; };
32003199 A80E6DFC0A199067007FB8C5 /* StyleProperties.h in Headers */ = {isa = PBXBuildFile; fileRef = A80E6DFA0A199067007FB8C5 /* StyleProperties.h */; settings = {ATTRIBUTES = (Private, ); }; };

37643763 BC5EB5E50E81BF6D00B25965 /* StyleSurroundData.h in Headers */ = {isa = PBXBuildFile; fileRef = BC5EB5E40E81BF6D00B25965 /* StyleSurroundData.h */; settings = {ATTRIBUTES = (Private, ); }; };
37653764 BC5EB6680E81CB7100B25965 /* RenderStyleConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = BC5EB6670E81CB7100B25965 /* RenderStyleConstants.h */; settings = {ATTRIBUTES = (Private, ); }; };
37663765 BC5EB67B0E81D3BE00B25965 /* StyleBoxData.h in Headers */ = {isa = PBXBuildFile; fileRef = BC5EB67A0E81D3BE00B25965 /* StyleBoxData.h */; settings = {ATTRIBUTES = (Private, ); }; };
3767  BC5EB67F0E81D4A700B25965 /* StyleDashboardRegion.h in Headers */ = {isa = PBXBuildFile; fileRef = BC5EB67E0E81D4A700B25965 /* StyleDashboardRegion.h */; settings = {ATTRIBUTES = (Private, ); }; };
37683766 BC5EB69A0E81DA6300B25965 /* StyleVisualData.h in Headers */ = {isa = PBXBuildFile; fileRef = BC5EB6980E81DA6300B25965 /* StyleVisualData.h */; settings = {ATTRIBUTES = (Private, ); }; };
37693767 BC5EB69F0E81DAEB00B25965 /* FillLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = BC5EB69D0E81DAEB00B25965 /* FillLayer.h */; settings = {ATTRIBUTES = (Private, ); }; };
37703768 BC5EB6A30E81DC4F00B25965 /* StyleBackgroundData.h in Headers */ = {isa = PBXBuildFile; fileRef = BC5EB6A10E81DC4F00B25965 /* StyleBackgroundData.h */; settings = {ATTRIBUTES = (Private, ); }; };

1161611614 A80E6CDC0A1989CA007FB8C5 /* CSSRule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CSSRule.cpp; sourceTree = "<group>"; };
1161711615 A80E6CDE0A1989CA007FB8C5 /* CSSInitialValue.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CSSInitialValue.h; sourceTree = "<group>"; };
1161811616 A80E6CDF0A1989CA007FB8C5 /* CSSRuleList.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CSSRuleList.cpp; sourceTree = "<group>"; };
11619  A80E6CE10A1989CA007FB8C5 /* DashboardRegion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DashboardRegion.h; sourceTree = "<group>"; };
1162011617 A80E6CE20A1989CA007FB8C5 /* CSSStyleRule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CSSStyleRule.h; sourceTree = "<group>"; };
1162111618 A80E6CE30A1989CA007FB8C5 /* CSSRule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CSSRule.h; sourceTree = "<group>"; };
1162211619 A80E6DF90A199067007FB8C5 /* StyleProperties.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StyleProperties.cpp; sourceTree = "<group>"; };

1289912896 BC5EB6670E81CB7100B25965 /* RenderStyleConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderStyleConstants.h; sourceTree = "<group>"; };
1290012897 BC5EB67A0E81D3BE00B25965 /* StyleBoxData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleBoxData.h; sourceTree = "<group>"; };
1290112898 BC5EB67C0E81D42000B25965 /* StyleBoxData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleBoxData.cpp; sourceTree = "<group>"; };
12902  BC5EB67E0E81D4A700B25965 /* StyleDashboardRegion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleDashboardRegion.h; sourceTree = "<group>"; };
1290312899 BC5EB6970E81DA6300B25965 /* StyleVisualData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleVisualData.cpp; sourceTree = "<group>"; };
1290412900 BC5EB6980E81DA6300B25965 /* StyleVisualData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleVisualData.h; sourceTree = "<group>"; };
1290512901 BC5EB69C0E81DAEB00B25965 /* FillLayer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FillLayer.cpp; sourceTree = "<group>"; };

2491624912 1C0AA16A21940DC700896829 /* StyleColorScheme.h */,
2491724913 9DAC7C561AF2CB6400437C44 /* StyleContentAlignmentData.h */,
2491824914 BC779E151BB226A200CAA8BF /* StyleCustomPropertyData.h */,
24919  BC5EB67E0E81D4A700B25965 /* StyleDashboardRegion.h */,
2492024915 BC5EB8B60E8201BD00B25965 /* StyleDeprecatedFlexibleBoxData.cpp */,
2492124916 BC5EB8B70E8201BD00B25965 /* StyleDeprecatedFlexibleBoxData.h */,
2492224917 319AE061142D6B24006563A1 /* StyleFilterData.cpp */,

2673926734 9444CBDD1D8861580073A074 /* CSSVariableData.h */,
2674026735 9444CBDC1D8861580073A074 /* CSSVariableReferenceValue.cpp */,
2674126736 9444CBDB1D8861580073A074 /* CSSVariableReferenceValue.h */,
26742  A80E6CE10A1989CA007FB8C5 /* DashboardRegion.h */,
2674326737 9479492A1E032EDB00018D85 /* DeprecatedCSSOMCounter.h */,
2674426738 930705C709E0C95F00B17FE4 /* DeprecatedCSSOMCounter.idl */,
2674526739 9479493B1E045CE100018D85 /* DeprecatedCSSOMPrimitiveValue.cpp */,

2877928773 4B1E13E721790D660042CF98 /* CustomPaintCanvas.h in Headers */,
2878028774 4B7AE4932177B56F00C59959 /* CustomPaintImage.h in Headers */,
2878128775 A8CB413E0E8633FD0032C4F0 /* DashArray.h in Headers */,
28782  A80E6D0B0A1989CA007FB8C5 /* DashboardRegion.h in Headers */,
2878328776 97BC6A211505F081001B74AC /* Database.h in Headers */,
2878428777 97BC6A241505F081001B74AC /* DatabaseAuthorizer.h in Headers */,
2878528778 97BC6A251505F081001B74AC /* DatabaseCallback.h in Headers */,

3155831551 1C0AA16D21940DC800896829 /* StyleColorScheme.h in Headers */,
3155931552 9DAC7C571AF2CB6400437C44 /* StyleContentAlignmentData.h in Headers */,
3156031553 BC779E171BB227CA00CAA8BF /* StyleCustomPropertyData.h in Headers */,
31561  BC5EB67F0E81D4A700B25965 /* StyleDashboardRegion.h in Headers */,
3156231554 A8C4A7FD09D563270003AC8D /* StyledElement.h in Headers */,
3156331555 BC5EB8B90E8201BD00B25965 /* StyleDeprecatedFlexibleBoxData.h in Headers */,
3156431556 319AE064142D6B24006563A1 /* StyleFilterData.h in Headers */,
246280

Source/WebCore/css/CSSCalculationValue.cpp

@@static bool hasDoubleValue(CSSPrimitiveV
143143 case CSSPrimitiveValue::CSS_CALC_PERCENTAGE_WITH_LENGTH:
144144 case CSSPrimitiveValue::CSS_PROPERTY_ID:
145145 case CSSPrimitiveValue::CSS_VALUE_ID:
146 #if ENABLE(DASHBOARD_SUPPORT)
147  case CSSPrimitiveValue::CSS_DASHBOARD_REGION:
148 #endif
149146 return false;
150147 };
151148 ASSERT_NOT_REACHED();
246280

Source/WebCore/css/CSSComputedStyleDeclaration.cpp

8484#include "CSSGridTemplateAreasValue.h"
8585#include "RenderGrid.h"
8686
87 #if ENABLE(DASHBOARD_SUPPORT)
88 #include "DashboardRegion.h"
89 #endif
90 
9187namespace WebCore {
9288
9389WTF_MAKE_ISO_ALLOCATED_IMPL(CSSComputedStyleDeclaration);

@@static const CSSPropertyID computedPrope
305301#if ENABLE(CURSOR_VISIBILITY)
306302 CSSPropertyWebkitCursorVisibility,
307303#endif
308 #if ENABLE(DASHBOARD_SUPPORT)
309  CSSPropertyWebkitDashboardRegion,
310 #endif
311304 CSSPropertyAlignContent,
312305 CSSPropertyAlignItems,
313306 CSSPropertyAlignSelf,

@@RefPtr<CSSValue> ComputedStyleExtractor:
35593552 if (style.boxSizing() == BoxSizing::ContentBox)
35603553 return cssValuePool.createIdentifierValue(CSSValueContentBox);
35613554 return cssValuePool.createIdentifierValue(CSSValueBorderBox);
3562 #if ENABLE(DASHBOARD_SUPPORT)
3563  case CSSPropertyWebkitDashboardRegion:
3564  {
3565  const Vector<StyleDashboardRegion>& regions = style.dashboardRegions();
3566  unsigned count = regions.size();
3567  if (count == 1 && regions[0].type == StyleDashboardRegion::None)
3568  return cssValuePool.createIdentifierValue(CSSValueNone);
3569 
3570  RefPtr<DashboardRegion> firstRegion;
3571  DashboardRegion* previousRegion = nullptr;
3572  for (unsigned i = 0; i < count; i++) {
3573  auto region = DashboardRegion::create();
3574  StyleDashboardRegion styleRegion = regions[i];
3575 
3576  region->m_label = styleRegion.label;
3577  LengthBox offset = styleRegion.offset;
3578  region->setTop(zoomAdjustedPixelValue(offset.top().value(), style));
3579  region->setRight(zoomAdjustedPixelValue(offset.right().value(), style));
3580  region->setBottom(zoomAdjustedPixelValue(offset.bottom().value(), style));
3581  region->setLeft(zoomAdjustedPixelValue(offset.left().value(), style));
3582  region->m_isRectangle = (styleRegion.type == StyleDashboardRegion::Rectangle);
3583  region->m_isCircle = (styleRegion.type == StyleDashboardRegion::Circle);
3584 
3585  if (previousRegion)
3586  previousRegion->m_next = region.copyRef();
3587  else
3588  firstRegion = region.copyRef();
3589  previousRegion = region.ptr();
3590  }
3591  return cssValuePool.createValue(WTFMove(firstRegion));
3592  }
3593 #endif
35943555 case CSSPropertyAnimationDelay:
35953556 return delayValue(style.animations());
35963557 case CSSPropertyAnimationDirection: {
246280

Source/WebCore/css/CSSPrimitiveValue.cpp

4545#include <wtf/text/StringBuilder.h>
4646#include <wtf/text/StringConcatenateNumbers.h>
4747
48 #if ENABLE(DASHBOARD_SUPPORT)
49 #include "DashboardRegion.h"
50 #endif
51 
52 
5348namespace WebCore {
5449
5550static inline bool isValidCSSUnitTypeForDoubleConversion(CSSPrimitiveValue::UnitType unitType)

@@static inline bool isValidCSSUnitTypeFor
110105 case CSSPrimitiveValue::CSS_UNKNOWN:
111106 case CSSPrimitiveValue::CSS_URI:
112107 case CSSPrimitiveValue::CSS_VALUE_ID:
113 #if ENABLE(DASHBOARD_SUPPORT)
114  case CSSPrimitiveValue::CSS_DASHBOARD_REGION:
115 #endif
116108 return false;
117109 }
118110

@@static inline bool isStringType(CSSPrimi
175167 case CSSPrimitiveValue::CSS_VMAX:
176168 case CSSPrimitiveValue::CSS_VMIN:
177169 case CSSPrimitiveValue::CSS_VW:
178 #if ENABLE(DASHBOARD_SUPPORT)
179  case CSSPrimitiveValue::CSS_DASHBOARD_REGION:
180 #endif
181170 return false;
182171 }
183172

@@void CSSPrimitiveValue::init(Ref<Quad>&&
437426 m_value.quad = &quad.leakRef();
438427}
439428
440 #if ENABLE(DASHBOARD_SUPPORT)
441 void CSSPrimitiveValue::init(RefPtr<DashboardRegion>&& r)
442 {
443  m_primitiveUnitType = CSS_DASHBOARD_REGION;
444  m_hasCachedCSSText = false;
445  m_value.region = r.leakRef();
446 }
447 #endif
448 
449429void CSSPrimitiveValue::init(Ref<Pair>&& p)
450430{
451431 m_primitiveUnitType = CSS_PAIR;

@@void CSSPrimitiveValue::cleanup()
496476 case CSS_PAIR:
497477 m_value.pair->deref();
498478 break;
499 #if ENABLE(DASHBOARD_SUPPORT)
500  case CSS_DASHBOARD_REGION:
501  if (m_value.region)
502  m_value.region->deref();
503  break;
504 #endif
505479 case CSS_CALC:
506480 m_value.calc->deref();
507481 break;

@@ALWAYS_INLINE String CSSPrimitiveValue::
10451019 return color().cssText();
10461020 case CSS_PAIR:
10471021 return pairValue()->cssText();
1048 #if ENABLE(DASHBOARD_SUPPORT)
1049  case CSS_DASHBOARD_REGION: {
1050  StringBuilder result;
1051  for (DashboardRegion* region = dashboardRegionValue(); region; region = region->m_next.get()) {
1052  if (!result.isEmpty())
1053  result.append(' ');
1054  result.appendLiteral("dashboard-region(");
1055  result.append(region->m_label);
1056  if (region->m_isCircle)
1057  result.appendLiteral(" circle");
1058  else if (region->m_isRectangle)
1059  result.appendLiteral(" rectangle");
1060  else
1061  break;
1062  if (region->top()->m_primitiveUnitType == CSS_VALUE_ID && region->top()->valueID() == CSSValueInvalid) {
1063  ASSERT(region->right()->m_primitiveUnitType == CSS_VALUE_ID);
1064  ASSERT(region->bottom()->m_primitiveUnitType == CSS_VALUE_ID);
1065  ASSERT(region->left()->m_primitiveUnitType == CSS_VALUE_ID);
1066  ASSERT(region->right()->valueID() == CSSValueInvalid);
1067  ASSERT(region->bottom()->valueID() == CSSValueInvalid);
1068  ASSERT(region->left()->valueID() == CSSValueInvalid);
1069  } else {
1070  result.append(' ');
1071  result.append(region->top()->cssText());
1072  result.append(' ');
1073  result.append(region->right()->cssText());
1074  result.append(' ');
1075  result.append(region->bottom()->cssText());
1076  result.append(' ');
1077  result.append(region->left()->cssText());
1078  }
1079  result.append(')');
1080  }
1081  return result.toString();
1082  }
1083 #endif
10841022 case CSS_CALC:
10851023 return m_value.calc->cssText();
10861024 case CSS_SHAPE:

@@bool CSSPrimitiveValue::equals(const CSS
11751113 return color() == other.color();
11761114 case CSS_PAIR:
11771115 return m_value.pair && other.m_value.pair && m_value.pair->equals(*other.m_value.pair);
1178 #if ENABLE(DASHBOARD_SUPPORT)
1179  case CSS_DASHBOARD_REGION:
1180  return m_value.region && other.m_value.region && m_value.region->equals(*other.m_value.region);
1181 #endif
11821116 case CSS_CALC:
11831117 return m_value.calc && other.m_value.calc && m_value.calc->equals(*other.m_value.calc);
11841118 case CSS_SHAPE:
246280

Source/WebCore/css/CSSPrimitiveValue.h

@@class CSSBasicShape;
3737class CSSCalcValue;
3838class CSSToLengthConversionData;
3939class Counter;
40 class DashboardRegion;
4140class DeprecatedCSSOMPrimitiveValue;
4241class Pair;
4342class Quad;

@@public:
112111 CSS_DPCM = 32,
113112 CSS_FR = 33,
114113 CSS_PAIR = 100, // We envision this being exposed as a means of getting computed style values for pairs (border-spacing/radius, background-position, etc.)
115 #if ENABLE(DASHBOARD_SUPPORT)
116  CSS_DASHBOARD_REGION = 101, // FIXME: Dashboard region should not be a primitive value.
117 #endif
118114 CSS_UNICODE_RANGE = 102,
119115
120116 // These are from CSS3 Values and Units, but that isn't a finished standard yet

@@public:
268264 CSSBasicShape* shapeValue() const { return m_primitiveUnitType != CSS_SHAPE ? nullptr : m_value.shape; }
269265 CSSValueID valueID() const { return m_primitiveUnitType == CSS_VALUE_ID ? m_value.valueID : CSSValueInvalid; }
270266
271 #if ENABLE(DASHBOARD_SUPPORT)
272  DashboardRegion* dashboardRegionValue() const { return m_primitiveUnitType != CSS_DASHBOARD_REGION ? nullptr : m_value.region; }
273 #endif
274 
275267 template<typename T> inline operator T() const; // Defined in CSSPrimitiveValueMappings.h
276268
277269 String customCSSText() const;

@@private:
321313 void init(Ref<Quad>&&);
322314 void init(Ref<Rect>&&);
323315
324 #if ENABLE(DASHBOARD_SUPPORT)
325  void init(RefPtr<DashboardRegion>&&); // FIXME: Dashboard region should not be a primitive value.
326 #endif
327 
328316 Optional<double> doubleValueInternal(UnitType targetUnitType) const;
329317
330318 double computeLengthDouble(const CSSToLengthConversionData&) const;

@@private:
342330 Quad* quad;
343331 const Color* color;
344332 Pair* pair;
345  DashboardRegion* region;
346333 CSSBasicShape* shape;
347334 CSSCalcValue* calc;
348335 const CSSFontFamily* fontFamily;
246280

Source/WebCore/css/CSSProperties.json

68866886 },
68876887 "status": "non-standard"
68886888 },
6889  "-webkit-dashboard-region": {
6890  "codegen-properties": {
6891  "name-for-methods": "DashboardRegions",
6892  "custom": "Value",
6893  "enable-if": "ENABLE_DASHBOARD_SUPPORT"
6894  },
6895  "status": "non-standard"
6896  },
68976889 "-webkit-overflow-scrolling": {
68986890 "inherited": true,
68996891 "values": [
246280

Source/WebCore/css/CSSValueKeywords.in

@@repeating-conic-gradient
12231223-webkit-named-image
12241224filter
12251225-webkit-filter
1226 dashboard-region
12271226#if defined(ENABLE_CSS_PAINTING_API) && ENABLE_CSS_PAINTING_API
12281227paint
12291228#endif
246280

Source/WebCore/css/DashboardRegion.h

1 /*
2  * (C) 1999-2003 Lars Knoll (knoll@kde.org)
3  * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved.
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public License
16  * along with this library; see the file COPYING.LIB. If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  * Boston, MA 02110-1301, USA.
19  */
20 
21 #pragma once
22 
23 #if ENABLE(DASHBOARD_SUPPORT)
24 
25 #include "Rect.h"
26 
27 namespace WebCore {
28 
29 class DashboardRegion final : public RectBase, public RefCounted<DashboardRegion> {
30 public:
31  static Ref<DashboardRegion> create() { return adoptRef(*new DashboardRegion); }
32  bool equals(const DashboardRegion& other) const
33  {
34  return m_label == other.m_label && m_geometryType == other.m_geometryType
35  && m_isCircle == other.m_isCircle && m_isRectangle == other.m_isRectangle
36  && m_next ? other.m_next && m_next->equals(*other.m_next) : !other.m_next;
37  }
38 
39  RefPtr<DashboardRegion> m_next;
40  String m_label;
41  String m_geometryType;
42  bool m_isCircle : 1;
43  bool m_isRectangle : 1;
44 
45 private:
46  DashboardRegion() : m_isCircle(false), m_isRectangle(false) { }
47 };
48 
49 } // namespace WebCore
50 
51 #endif
246280

Source/WebCore/css/StyleBuilderCustom.h

3737#include "Counter.h"
3838#include "CounterContent.h"
3939#include "CursorList.h"
40 #include "DashboardRegion.h"
4140#include "ElementAncestorIterator.h"
4241#include "FontVariantBuilder.h"
4342#include "Frame.h"

@@public:
129128 static void applyValueVerticalAlign(StyleResolver&, CSSValue&);
130129 static void applyInitialTextAlign(StyleResolver&);
131130 static void applyValueTextAlign(StyleResolver&, CSSValue&);
132 #if ENABLE(DASHBOARD_SUPPORT)
133  static void applyValueWebkitDashboardRegion(StyleResolver&, CSSValue&);
134 #endif
135131 static void applyValueWebkitLocale(StyleResolver&, CSSValue&);
136132 static void applyValueWebkitTextOrientation(StyleResolver&, CSSValue&);
137133#if ENABLE(TEXT_AUTOSIZING)

@@inline void StyleBuilderCustom::applyVal
328324 styleResolver.style()->setVerticalAlignLength(primitiveValue.convertToLength<FixedIntegerConversion | PercentConversion | CalculatedConversion>(styleResolver.state().cssToLengthConversionData()));
329325}
330326
331 #if ENABLE(DASHBOARD_SUPPORT)
332 
333 static Length convertToIntLength(const CSSPrimitiveValue* primitiveValue, const CSSToLengthConversionData& conversionData)
334 {
335  return primitiveValue ? primitiveValue->convertToLength<FixedIntegerConversion | PercentConversion | CalculatedConversion>(conversionData) : Length(Undefined);
336 }
337 
338 inline void StyleBuilderCustom::applyValueWebkitDashboardRegion(StyleResolver& styleResolver, CSSValue& value)
339 {
340  auto& primitiveValue = downcast<CSSPrimitiveValue>(value);
341  if (primitiveValue.valueID() == CSSValueNone) {
342  styleResolver.style()->setDashboardRegions(RenderStyle::noneDashboardRegions());
343  return;
344  }
345 
346  auto* region = primitiveValue.dashboardRegionValue();
347  if (!region)
348  return;
349 
350  auto* first = region;
351  while (region) {
352  Length top = convertToIntLength(region->top(), styleResolver.state().cssToLengthConversionData().copyWithAdjustedZoom(1.0f));
353  Length right = convertToIntLength(region->right(), styleResolver.state().cssToLengthConversionData().copyWithAdjustedZoom(1.0f));
354  Length bottom = convertToIntLength(region->bottom(), styleResolver.state().cssToLengthConversionData().copyWithAdjustedZoom(1.0f));
355  Length left = convertToIntLength(region->left(), styleResolver.state().cssToLengthConversionData().copyWithAdjustedZoom(1.0f));
356 
357  if (top.isUndefined())
358  top = Length();
359  if (right.isUndefined())
360  right = Length();
361  if (bottom.isUndefined())
362  bottom = Length();
363  if (left.isUndefined())
364  left = Length();
365 
366  if (region->m_isCircle)
367  styleResolver.style()->setDashboardRegion(StyleDashboardRegion::Circle, region->m_label, WTFMove(top), WTFMove(right), WTFMove(bottom), WTFMove(left), region != first);
368  else if (region->m_isRectangle)
369  styleResolver.style()->setDashboardRegion(StyleDashboardRegion::Rectangle, region->m_label, WTFMove(top), WTFMove(right), WTFMove(bottom), WTFMove(left), region != first);
370 
371  region = region->m_next.get();
372  }
373 
374  styleResolver.document().setHasAnnotatedRegions(true);
375 }
376 
377 #endif // ENABLE(DASHBOARD_SUPPORT)
378 
379327#if ENABLE(CSS_IMAGE_RESOLUTION)
380328
381329inline void StyleBuilderCustom::applyInheritImageResolution(StyleResolver& styleResolver)
246280

Source/WebCore/css/StyleResolver.cpp

113113#include <wtf/Vector.h>
114114#include <wtf/text/AtomicStringHash.h>
115115
116 
117 #if ENABLE(DASHBOARD_SUPPORT)
118 #endif
119 
120 #if ENABLE(VIDEO_TRACK)
121 #endif
122 
123116namespace WebCore {
124117
125118using namespace HTMLNames;
246280

Source/WebCore/css/parser/CSSPropertyParser.cpp

6363#include "CSSVariableParser.h"
6464#include "CSSVariableReferenceValue.h"
6565#include "Counter.h"
66 #if ENABLE(DASHBOARD_SUPPORT)
67 #include "DashboardRegion.h"
68 #endif
6966#include "FontFace.h"
7067#include "HashTools.h"
7168// FIXME-NEWPARSER: Replace Pair and Rect with actual CSSValue subclasses (CSSValuePair and CSSQuadValue).

@@static RefPtr<CSSValue> consumeColorSche
37923789
37933790#endif
37943791
3795 #if ENABLE(DASHBOARD_SUPPORT)
3796 
3797 static RefPtr<CSSValue> consumeWebkitDashboardRegion(CSSParserTokenRange& range, CSSParserMode mode)
3798 {
3799  if (range.atEnd())
3800  return nullptr;
3801 
3802  if (range.peek().id() == CSSValueNone)
3803  return consumeIdent(range);
3804 
3805  auto firstRegion = DashboardRegion::create();
3806  DashboardRegion* region = nullptr;
3807 
3808  bool requireCommas = false;
3809 
3810  while (!range.atEnd()) {
3811  if (!region)
3812  region = firstRegion.ptr();
3813  else {
3814  auto nextRegion = DashboardRegion::create();
3815  region->m_next = nextRegion.copyRef();
3816  region = nextRegion.ptr();
3817  }
3818 
3819  if (range.peek().functionId() != CSSValueDashboardRegion)
3820  return nullptr;
3821 
3822  CSSParserTokenRange rangeCopy = range;
3823  CSSParserTokenRange args = consumeFunction(rangeCopy);
3824  if (rangeCopy.end() == args.end())
3825  return nullptr; // No ) was found. Be strict about this, since tests are.
3826 
3827  // First arg is a label.
3828  if (args.peek().type() != IdentToken)
3829  return nullptr;
3830  region->m_label = args.consumeIncludingWhitespace().value().toString();
3831 
3832  // Comma is optional, so don't fail if we can't consume one.
3833  requireCommas = consumeCommaIncludingWhitespace(args);
3834 
3835  // Second arg is a type.
3836  if (args.peek().type() != IdentToken)
3837  return nullptr;
3838  region->m_geometryType = args.consumeIncludingWhitespace().value().toString();
3839  if (equalLettersIgnoringASCIICase(region->m_geometryType, "circle"))
3840  region->m_isCircle = true;
3841  else if (equalLettersIgnoringASCIICase(region->m_geometryType, "rectangle"))
3842  region->m_isRectangle = true;
3843  else
3844  return nullptr;
3845 
3846  if (args.atEnd()) {
3847  // This originally used CSSValueInvalid by accident. It might be more logical to use something else.
3848  RefPtr<CSSPrimitiveValue> amount = CSSValuePool::singleton().createIdentifierValue(CSSValueInvalid);
3849  region->setTop(amount.copyRef());
3850  region->setRight(amount.copyRef());
3851  region->setBottom(amount.copyRef());
3852  region->setLeft(WTFMove(amount));
3853  range = rangeCopy;
3854  continue;
3855  }
3856 
3857  // Next four arguments must be offset numbers or auto.
3858  for (int i = 0; i < 4; ++i) {
3859  if (args.atEnd() || (requireCommas && !consumeCommaIncludingWhitespace(args)))
3860  return nullptr;
3861 
3862  if (args.atEnd())
3863  return nullptr;
3864 
3865  RefPtr<CSSPrimitiveValue> amount;
3866  if (args.peek().id() == CSSValueAuto)
3867  amount = consumeIdent(args);
3868  else
3869  amount = consumeLength(args, mode, ValueRangeAll);
3870 
3871  if (!i)
3872  region->setTop(WTFMove(amount));
3873  else if (i == 1)
3874  region->setRight(WTFMove(amount));
3875  else if (i == 2)
3876  region->setBottom(WTFMove(amount));
3877  else
3878  region->setLeft(WTFMove(amount));
3879  }
3880 
3881  if (!args.atEnd())
3882  return nullptr;
3883 
3884  range = rangeCopy;
3885  }
3886 
3887  return CSSValuePool::singleton().createValue(RefPtr<DashboardRegion>(WTFMove(firstRegion)));
3888 }
3889 
3890 #endif
3891 
38923792RefPtr<CSSValue> CSSPropertyParser::parseSingleValue(CSSPropertyID property, CSSPropertyID currentShorthand)
38933793{
38943794 if (CSSParserFastPaths::isKeywordPropertyID(property)) {

@@RefPtr<CSSValue> CSSPropertyParser::pars
43454245 return nullptr;
43464246 return consumeColorScheme(m_range);
43474247#endif
4348 #if ENABLE(DASHBOARD_SUPPORT)
4349  case CSSPropertyWebkitDashboardRegion:
4350  return consumeWebkitDashboardRegion(m_range, m_context.mode);
4351 #endif
43524248 default:
43534249 return nullptr;
43544250 }
246280

Source/WebCore/dom/DataTransfer.cpp

@@Ref<DataTransfer> DataTransfer::createFo
485485
486486Ref<DataTransfer> DataTransfer::createForUpdatingDropTarget(Document& document, std::unique_ptr<Pasteboard>&& pasteboard, DragOperation sourceOperation, bool draggingFiles)
487487{
488  auto mode = DataTransfer::StoreMode::Protected;
489 #if ENABLE(DASHBOARD_SUPPORT)
490  if (document.settings().usesDashboardBackwardCompatibilityMode() && document.securityOrigin().isLocal())
491  mode = DataTransfer::StoreMode::Readonly;
492 #else
493  UNUSED_PARAM(document);
494 #endif
495  auto dataTransfer = adoptRef(*new DataTransfer(mode, WTFMove(pasteboard), draggingFiles ? Type::DragAndDropFiles : Type::DragAndDropData));
 488 auto dataTransfer = adoptRef(*new DataTransfer(DataTransfer::StoreMode::Protected, WTFMove(pasteboard), draggingFiles ? Type::DragAndDropFiles : Type::DragAndDropData));
496489 dataTransfer->setSourceOperation(sourceOperation);
497490 dataTransfer->m_originIdentifier = document.originIdentifierForPasteboard();
498491 return dataTransfer;
246280

Source/WebCore/dom/Document.cpp

@@void Document::elementInActiveChainDidDe
40524052 m_activeElement = m_activeElement->parentElement();
40534053}
40544054
4055 #if ENABLE(DASHBOARD_SUPPORT)
4056 const Vector<AnnotatedRegionValue>& Document::annotatedRegions() const
 4055void Document::invalidateRenderingDependentRegions()
40574056{
4058  return m_annotatedRegions;
4059 }
4060 
4061 void Document::setAnnotatedRegions(const Vector<AnnotatedRegionValue>& regions)
4062 {
4063  m_annotatedRegions = regions;
4064  setAnnotatedRegionsDirty(false);
4065 }
4066 
4067 void Document::updateAnnotatedRegions()
4068 {
4069  if (!hasAnnotatedRegions())
4070  return;
4071 
4072  Vector<AnnotatedRegionValue> newRegions;
4073  renderBox()->collectAnnotatedRegions(newRegions); // FIXME.
4074  if (newRegions == annotatedRegions())
4075  return;
4076 
4077  setAnnotatedRegions(newRegions);
4078 
4079  if (Page* page = this->page())
4080  page->chrome().client().annotatedRegionsChanged();
4081 }
4082 #endif
4083 
4084 void Document::invalidateRenderingDependentRegions(AnnotationsAction annotationsAction)
4085 {
4086 #if ENABLE(DASHBOARD_SUPPORT)
4087  // FIXME: we don't have a good invalidation/update policy for Dashboard regions. They get eagerly updated
4088  // on forced layouts, and don't need to be.
4089  if (annotationsAction == AnnotationsAction::Update)
4090  updateAnnotatedRegions();
4091  else
4092  setAnnotatedRegionsDirty();
4093 #else
4094  UNUSED_PARAM(annotationsAction);
4095 #endif
4096 
40974057#if PLATFORM(IOS_FAMILY) && ENABLE(TOUCH_EVENTS)
40984058 setTouchEventRegionsNeedUpdate();
40994059#endif

@@void Document::invalidateRenderingDepend
41084068#endif
41094069}
41104070
4111 void Document::invalidateScrollbarDependentRegions()
4112 {
4113 #if ENABLE(DASHBOARD_SUPPORT)
4114  if (hasAnnotatedRegions())
4115  setAnnotatedRegionsDirty();
4116 #endif
4117 }
4118 
4119 void Document::updateZOrderDependentRegions()
4120 {
4121 #if ENABLE(DASHBOARD_SUPPORT)
4122  if (annotatedRegionsDirty())
4123  updateAnnotatedRegions();
4124 #endif
4125 }
4126 
41274071bool Document::setFocusedElement(Element* element, FocusDirection direction, FocusRemovalEventsMode eventsMode)
41284072{
41294073 RefPtr<Element> newFocusedElement = element;
246280

Source/WebCore/dom/Document.h

@@using PlatformDisplayID = uint32_t;
218218class TransformSource;
219219#endif
220220
221 #if ENABLE(DASHBOARD_SUPPORT)
222 struct AnnotatedRegionValue;
223 #endif
224 
225221#if ENABLE(TOUCH_EVENTS) || ENABLE(IOS_TOUCH_EVENTS)
226222class Touch;
227223class TouchList;

@@public:
11291125
11301126 WEBCORE_EXPORT String displayStringModifiedByEncoding(const String&) const;
11311127
1132 #if ENABLE(DASHBOARD_SUPPORT)
1133  void setHasAnnotatedRegions(bool f) { m_hasAnnotatedRegions = f; }
1134  WEBCORE_EXPORT const Vector<AnnotatedRegionValue>& annotatedRegions() const;
1135 #endif
1136 
1137  enum class AnnotationsAction { Invalidate, Update };
1138  void invalidateRenderingDependentRegions(AnnotationsAction = AnnotationsAction::Invalidate);
1139  void invalidateScrollbarDependentRegions();
1140  void updateZOrderDependentRegions();
 1128 void invalidateRenderingDependentRegions();
11411129
11421130 void removeAllEventListeners() final;
11431131

@@private:
16131601
16141602 void wheelEventHandlersChanged();
16151603
1616 #if ENABLE(DASHBOARD_SUPPORT)
1617  void setAnnotatedRegionsDirty(bool f = true) { m_annotatedRegionsDirty = f; }
1618  bool annotatedRegionsDirty() const { return m_annotatedRegionsDirty; }
1619  bool hasAnnotatedRegions () const { return m_hasAnnotatedRegions; }
1620  void setAnnotatedRegions(const Vector<AnnotatedRegionValue>&);
1621  void updateAnnotatedRegions();
1622 #endif
1623 
16241604 HttpEquivPolicy httpEquivPolicy() const;
16251605 AXObjectCache* existingAXObjectCacheSlow() const;
16261606

@@private:
17701750 bool m_allowsColorSchemeTransformations { true };
17711751#endif
17721752
1773 #if ENABLE(DASHBOARD_SUPPORT)
1774  Vector<AnnotatedRegionValue> m_annotatedRegions;
1775  bool m_hasAnnotatedRegions { false };
1776  bool m_annotatedRegionsDirty { false };
1777 #endif
1778 
17791753 HashMap<String, RefPtr<HTMLCanvasElement>> m_cssCanvasElements;
17801754
17811755 HashSet<Element*> m_documentSuspensionCallbackElements;
246280

Source/WebCore/html/HTMLCanvasElement.cpp

@@CanvasRenderingContext2D* HTMLCanvasElem
329329 ASSERT_UNUSED(HTMLCanvasElement::is2dType(type), type);
330330 ASSERT(!m_context);
331331
332  bool usesDashboardCompatibilityMode = false;
333 #if ENABLE(DASHBOARD_SUPPORT)
334  usesDashboardCompatibilityMode = document().settings().usesDashboardBackwardCompatibilityMode();
335 #endif
336 
337332 // Make sure we don't use more pixel memory than the system can support.
338333 size_t requestedPixelMemory = 4 * width() * height();
339334 if (activePixelMemory + requestedPixelMemory > maxActivePixelMemory()) {

@@CanvasRenderingContext2D* HTMLCanvasElem
345340 return nullptr;
346341 }
347342
348  m_context = CanvasRenderingContext2D::create(*this, document().inQuirksMode(), usesDashboardCompatibilityMode);
 343 m_context = CanvasRenderingContext2D::create(*this, document().inQuirksMode());
349344
350345 downcast<CanvasRenderingContext2D>(*m_context).setUsesDisplayListDrawing(m_usesDisplayListDrawing);
351346 downcast<CanvasRenderingContext2D>(*m_context).setTracksDisplayListReplay(m_tracksDisplayListReplay);
246280

Source/WebCore/html/HTMLEmbedElement.cpp

@@bool HTMLEmbedElement::rendererIsNeeded(
214214 }
215215 }
216216
217 #if ENABLE(DASHBOARD_SUPPORT)
218  // Workaround for <rdar://problem/6642221>.
219  if (document().settings().usesDashboardBackwardCompatibilityMode())
220  return true;
221 #endif
222 
223217 return HTMLPlugInImageElement::rendererIsNeeded(style);
224218}
225219
246280

Source/WebCore/html/HTMLImageLoader.cpp

@@void HTMLImageLoader::dispatchLoadEvent(
6363
6464String HTMLImageLoader::sourceURI(const AtomicString& attr) const
6565{
66 #if ENABLE(DASHBOARD_SUPPORT)
67  if (element().document().settings().usesDashboardBackwardCompatibilityMode() && attr.length() > 7 && attr.startsWith("url(\"") && attr.endsWith("\")"))
68  return attr.string().substring(5, attr.length() - 7);
69 #endif
70 
7166 return stripLeadingAndTrailingHTMLSpaces(attr);
7267}
7368
246280

Source/WebCore/html/canvas/CanvasGradient.cpp

@@ExceptionOr<void> CanvasGradient::addCol
4949 // Passing null for canvas ensures that currentColor is treated as black,
5050 // as required by the standard.
5151 Color color = parseColorOrCurrentColor(colorString, nullptr /*canvas*/);
52  if (!color.isValid()) {
53 #if ENABLE(DASHBOARD_SUPPORT)
54  if (m_dashboardCompatibilityMode)
55  return { };
56 #endif
 52 if (!color.isValid())
5753 return Exception { SyntaxError };
58  }
5954
6055 m_gradient->addColorStop(value, color);
6156 return { };
246280

Source/WebCore/html/canvas/CanvasGradient.h

@@public:
4747
4848 ExceptionOr<void> addColorStop(float value, const String& color);
4949
50 #if ENABLE(DASHBOARD_SUPPORT)
51  void setDashboardCompatibilityMode() { m_dashboardCompatibilityMode = true; }
52 #endif
53 
5450private:
5551 CanvasGradient(const FloatPoint& p0, const FloatPoint& p1);
5652 CanvasGradient(const FloatPoint& p0, float r0, const FloatPoint& p1, float r1);
5753
5854 Ref<Gradient> m_gradient;
59 #if ENABLE(DASHBOARD_SUPPORT)
60  bool m_dashboardCompatibilityMode { false };
61 #endif
6255};
6356
6457}
246280

Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp

@@using namespace HTMLNames;
5858
5959WTF_MAKE_ISO_ALLOCATED_IMPL(CanvasRenderingContext2D);
6060
61 std::unique_ptr<CanvasRenderingContext2D> CanvasRenderingContext2D::create(CanvasBase& canvas, bool usesCSSCompatibilityParseMode, bool usesDashboardCompatibilityMode)
 61std::unique_ptr<CanvasRenderingContext2D> CanvasRenderingContext2D::create(CanvasBase& canvas, bool usesCSSCompatibilityParseMode)
6262{
63  auto renderingContext = std::unique_ptr<CanvasRenderingContext2D>(new CanvasRenderingContext2D(canvas, usesCSSCompatibilityParseMode, usesDashboardCompatibilityMode));
 63 auto renderingContext = std::unique_ptr<CanvasRenderingContext2D>(new CanvasRenderingContext2D(canvas, usesCSSCompatibilityParseMode));
6464
6565 InspectorInstrumentation::didCreateCanvasRenderingContext(*renderingContext);
6666
6767 return renderingContext;
6868}
6969
70 CanvasRenderingContext2D::CanvasRenderingContext2D(CanvasBase& canvas, bool usesCSSCompatibilityParseMode, bool usesDashboardCompatibilityMode)
71  : CanvasRenderingContext2DBase(canvas, usesCSSCompatibilityParseMode, usesDashboardCompatibilityMode)
 70CanvasRenderingContext2D::CanvasRenderingContext2D(CanvasBase& canvas, bool usesCSSCompatibilityParseMode)
 71 : CanvasRenderingContext2DBase(canvas, usesCSSCompatibilityParseMode)
7272{
7373}
7474
246280

Source/WebCore/html/canvas/CanvasRenderingContext2D.h

@@class TextMetrics;
4040class CanvasRenderingContext2D final : public CanvasRenderingContext2DBase {
4141 WTF_MAKE_ISO_ALLOCATED(CanvasRenderingContext2D);
4242public:
43  static std::unique_ptr<CanvasRenderingContext2D> create(CanvasBase&, bool usesCSSCompatibilityParseMode, bool usesDashboardCompatibilityMode);
 43 static std::unique_ptr<CanvasRenderingContext2D> create(CanvasBase&, bool usesCSSCompatibilityParseMode);
4444
4545 virtual ~CanvasRenderingContext2D();
4646

@@public:
7070 bool is2d() const override { return true; }
7171
7272private:
73  CanvasRenderingContext2D(CanvasBase&, bool usesCSSCompatibilityParseMode, bool usesDashboardCompatibilityMode);
 73 CanvasRenderingContext2D(CanvasBase&, bool usesCSSCompatibilityParseMode);
7474
7575 // The relationship between FontCascade and CanvasRenderingContext2D::FontProxy must hold certain invariants.
7676 // Therefore, all font operations must pass through the State.

@@private:
8080
8181 void drawFocusIfNeededInternal(const Path&, Element&);
8282
83  void prepareGradientForDashboard(CanvasGradient& gradient) const;
84 
8583 TextDirection toTextDirection(CanvasRenderingContext2DBase::Direction, const RenderStyle** computedStyle = nullptr) const;
8684
8785 FloatPoint textOffset(float width, TextDirection);
246280

Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp

@@private:
137137 CanvasRenderingContext2DBase* m_canvasContext;
138138};
139139
140 CanvasRenderingContext2DBase::CanvasRenderingContext2DBase(CanvasBase& canvas, bool usesCSSCompatibilityParseMode, bool usesDashboardCompatibilityMode)
 140CanvasRenderingContext2DBase::CanvasRenderingContext2DBase(CanvasBase& canvas, bool usesCSSCompatibilityParseMode)
141141 : CanvasRenderingContext(canvas)
142142 , m_stateStack(1)
143143 , m_usesCSSCompatibilityParseMode(usesCSSCompatibilityParseMode)
144 #if ENABLE(DASHBOARD_SUPPORT)
145  , m_usesDashboardCompatibilityMode(usesDashboardCompatibilityMode)
146 #endif
147144{
148 #if !ENABLE(DASHBOARD_SUPPORT)
149  ASSERT_UNUSED(usesDashboardCompatibilityMode, !usesDashboardCompatibilityMode);
150 #endif
151145}
152146
153147void CanvasRenderingContext2DBase::unwindStateStack()

@@static WindRule toWindRule(CanvasFillRul
10571051void CanvasRenderingContext2DBase::fill(CanvasFillRule windingRule)
10581052{
10591053 fillInternal(m_path, windingRule);
1060  clearPathForDashboardBackwardCompatibilityMode();
10611054}
10621055
10631056void CanvasRenderingContext2DBase::stroke()
10641057{
10651058 strokeInternal(m_path);
1066  clearPathForDashboardBackwardCompatibilityMode();
10671059}
10681060
10691061void CanvasRenderingContext2DBase::clip(CanvasFillRule windingRule)
10701062{
10711063 clipInternal(m_path, windingRule);
1072  clearPathForDashboardBackwardCompatibilityMode();
10731064}
10741065
10751066void CanvasRenderingContext2DBase::fill(Path2D& path, CanvasFillRule windingRule)

@@template<class T> void CanvasRenderingCo
18791870 compositeBuffer(*buffer, bufferRect, op);
18801871}
18811872
1882 void CanvasRenderingContext2DBase::prepareGradientForDashboard(CanvasGradient& gradient) const
1883 {
1884 #if ENABLE(DASHBOARD_SUPPORT)
1885  if (m_usesDashboardCompatibilityMode)
1886  gradient.setDashboardCompatibilityMode();
1887 #else
1888  UNUSED_PARAM(gradient);
1889 #endif
1890 }
1891 
18921873static CanvasRenderingContext2DBase::Style toStyle(const CanvasStyle& style)
18931874{
18941875 if (auto gradient = style.canvasGradient())

@@ExceptionOr<Ref<CanvasGradient>> CanvasR
19311912 if (!std::isfinite(x0) || !std::isfinite(y0) || !std::isfinite(x1) || !std::isfinite(y1))
19321913 return Exception { NotSupportedError };
19331914
1934  auto gradient = CanvasGradient::create(FloatPoint(x0, y0), FloatPoint(x1, y1));
1935  prepareGradientForDashboard(gradient.get());
1936  return gradient;
 1915 return CanvasGradient::create(FloatPoint(x0, y0), FloatPoint(x1, y1));
19371916}
19381917
19391918ExceptionOr<Ref<CanvasGradient>> CanvasRenderingContext2DBase::createRadialGradient(float x0, float y0, float r0, float x1, float y1, float r1)

@@ExceptionOr<Ref<CanvasGradient>> CanvasR
19441923 if (r0 < 0 || r1 < 0)
19451924 return Exception { IndexSizeError };
19461925
1947  auto gradient = CanvasGradient::create(FloatPoint(x0, y0), r0, FloatPoint(x1, y1), r1);
1948  prepareGradientForDashboard(gradient.get());
1949  return gradient;
 1926 return CanvasGradient::create(FloatPoint(x0, y0), r0, FloatPoint(x1, y1), r1);
19501927}
19511928
19521929ExceptionOr<RefPtr<CanvasPattern>> CanvasRenderingContext2DBase::createPattern(CanvasImageSource&& image, const String& repetition)

@@Ref<Path2D> CanvasRenderingContext2DBase
23702347 return Path2D::create(m_path);
23712348}
23722349
2373 inline void CanvasRenderingContext2DBase::clearPathForDashboardBackwardCompatibilityMode()
2374 {
2375 #if ENABLE(DASHBOARD_SUPPORT)
2376  if (m_usesDashboardCompatibilityMode)
2377  m_path.clear();
2378 #endif
2379 }
2380 
23812350} // namespace WebCore
246280

Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h

@@using CanvasImageSource = Variant<RefPtr
8080class CanvasRenderingContext2DBase : public CanvasRenderingContext, public CanvasPath {
8181 WTF_MAKE_ISO_ALLOCATED(CanvasRenderingContext2DBase);
8282public:
83  CanvasRenderingContext2DBase(CanvasBase&, bool usesCSSCompatibilityParseMode, bool usesDashboardCompatibilityMode);
 83 CanvasRenderingContext2DBase(CanvasBase&, bool usesCSSCompatibilityParseMode);
8484 virtual ~CanvasRenderingContext2DBase();
8585
8686 float lineWidth() const;

@@protected:
366366
367367 template<class T> void fullCanvasCompositedDrawImage(T&, const FloatRect&, const FloatRect&, CompositeOperator);
368368
369  void prepareGradientForDashboard(CanvasGradient&) const;
370 
371369 ExceptionOr<RefPtr<ImageData>> getImageData(ImageBuffer::CoordinateSystem, float sx, float sy, float sw, float sh) const;
372370 void putImageData(ImageData&, ImageBuffer::CoordinateSystem, float dx, float dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight);
373371

@@protected:
379377 PlatformLayer* platformLayer() const override;
380378#endif
381379
382  void clearPathForDashboardBackwardCompatibilityMode();
383 
384380 static const unsigned MaxSaveCount = 1024 * 16;
385381 Vector<State, 1> m_stateStack;
386382 unsigned m_unrealizedSaveCount { 0 };
387383 bool m_usesCSSCompatibilityParseMode;
388 #if ENABLE(DASHBOARD_SUPPORT)
389  bool m_usesDashboardCompatibilityMode;
390 #endif
391384 bool m_usesDisplayListDrawing { false };
392385 bool m_tracksDisplayListReplay { false };
393386 mutable std::unique_ptr<struct DisplayListDrawingContext> m_recordingContext;
246280

Source/WebCore/html/canvas/OffscreenCanvasRenderingContext2D.cpp

@@namespace WebCore {
4040WTF_MAKE_ISO_ALLOCATED_IMPL(OffscreenCanvasRenderingContext2D);
4141
4242OffscreenCanvasRenderingContext2D::OffscreenCanvasRenderingContext2D(CanvasBase& canvas)
43  : CanvasRenderingContext2DBase(canvas, false, false)
 43 : CanvasRenderingContext2DBase(canvas, false)
4444{
4545}
4646
246280

Source/WebCore/html/canvas/PaintRenderingContext2D.cpp

@@std::unique_ptr<PaintRenderingContext2D>
4040}
4141
4242PaintRenderingContext2D::PaintRenderingContext2D(CanvasBase& canvas)
43  : CanvasRenderingContext2DBase(canvas, false, false)
 43 : CanvasRenderingContext2DBase(canvas, false)
4444{
4545}
4646
246280

Source/WebCore/page/Chrome.cpp

@@void Chrome::windowScreenDidChange(Platf
525525#endif
526526}
527527
528 #if ENABLE(DASHBOARD_SUPPORT)
529 void ChromeClient::annotatedRegionsChanged()
530 {
531 }
532 #endif
533 
534528bool ChromeClient::shouldReplaceWithGeneratedFileForUpload(const String&, String&)
535529{
536530 return false;
246280

Source/WebCore/page/ChromeClient.h

@@public:
234234 // the new cache.
235235 virtual void reachedApplicationCacheOriginQuota(SecurityOrigin&, int64_t totalSpaceNeeded) = 0;
236236
237 #if ENABLE(DASHBOARD_SUPPORT)
238  virtual void annotatedRegionsChanged();
239 #endif
240 
241237 virtual bool shouldReplaceWithGeneratedFileForUpload(const String& path, String& generatedFilename);
242238 virtual String generateReplacementFile(const String& path);
243239
246280

Source/WebCore/page/FrameView.cpp

@@void FrameView::didLayout(WeakPtr<Render
12761276 cache->postNotification(layoutRoot.get(), AXObjectCache::AXLayoutComplete);
12771277#endif
12781278
1279  frame().document()->invalidateRenderingDependentRegions(Document::AnnotationsAction::Update);
 1279 frame().document()->invalidateRenderingDependentRegions();
12801280
12811281 updateCanBlitOnScrollRecursively();
12821282

@@void FrameView::didPaintContents(Graphic
41074107 m_paintBehavior = paintingState.paintBehavior;
41084108 m_lastPaintTime = MonotonicTime::now();
41094109
4110  // Regions may have changed as a result of the visibility/z-index of element changing.
4111  frame().document()->updateZOrderDependentRegions();
4112 
41134110 if (paintingState.isTopLevelPainter)
41144111 sCurrentPaintTimeStamp = MonotonicTime();
41154112
246280

Source/WebCore/page/Settings.yaml

@@javaScriptCanAccessClipboard:
115115 initial: false
116116shouldPrintBackgrounds:
117117 initial: false
118 usesDashboardBackwardCompatibilityMode:
119  initial: false
120  conditional: DASHBOARD_SUPPORT
121118clipboardAccessPolicy:
122119 type: ClipboardAccessPolicy
123120 initial: ClipboardAccessPolicy::RequiresUserGesture
246280

Source/WebCore/page/mac/EventHandlerMac.mm

@@bool EventHandler::tabsToAllFormControls
752752
753753bool EventHandler::needsKeyboardEventDisambiguationQuirks() const
754754{
755 #if ENABLE(DASHBOARD_SUPPORT)
756  if (m_frame.settings().usesDashboardBackwardCompatibilityMode())
757  return true;
758 #endif
759 
760755 if (m_frame.settings().needsKeyboardEventDisambiguationQuirks())
761756 return true;
762757
246280

Source/WebCore/rendering/RenderInline.cpp

5151#include <wtf/IsoMallocInlines.h>
5252#include <wtf/SetForScope.h>
5353
54 #if ENABLE(DASHBOARD_SUPPORT)
55 #include "Frame.h"
56 #endif
57 
5854namespace WebCore {
5955
6056WTF_MAKE_ISO_ALLOCATED_IMPL(RenderInline);

@@void RenderInline::paintOutlineForLine(G
13941390 }
13951391}
13961392
1397 #if ENABLE(DASHBOARD_SUPPORT)
1398 void RenderInline::addAnnotatedRegions(Vector<AnnotatedRegionValue>& regions)
1399 {
1400  // Convert the style regions to absolute coordinates.
1401  if (style().visibility() != Visibility::Visible)
1402  return;
1403 
1404  const Vector<StyleDashboardRegion>& styleRegions = style().dashboardRegions();
1405  unsigned i, count = styleRegions.size();
1406  for (i = 0; i < count; i++) {
1407  StyleDashboardRegion styleRegion = styleRegions[i];
1408 
1409  LayoutRect linesBoundingBox = this->linesBoundingBox();
1410  LayoutUnit w = linesBoundingBox.width();
1411  LayoutUnit h = linesBoundingBox.height();
1412 
1413  AnnotatedRegionValue region;
1414  region.label = styleRegion.label;
1415  region.bounds = LayoutRect(linesBoundingBox.x() + styleRegion.offset.left().value(),
1416  linesBoundingBox.y() + styleRegion.offset.top().value(),
1417  w - styleRegion.offset.left().value() - styleRegion.offset.right().value(),
1418  h - styleRegion.offset.top().value() - styleRegion.offset.bottom().value());
1419  region.type = styleRegion.type;
1420 
1421  RenderObject* container = containingBlock();
1422  if (!container)
1423  container = this;
1424 
1425  region.clip = container->computeAbsoluteRepaintRect(region.bounds);
1426  if (region.clip.height() < 0) {
1427  region.clip.setHeight(0);
1428  region.clip.setWidth(0);
1429  }
1430 
1431  FloatPoint absPos = container->localToAbsolute();
1432  region.bounds.setX(absPos.x() + region.bounds.x());
1433  region.bounds.setY(absPos.y() + region.bounds.y());
1434 
1435  regions.append(region);
1436  }
1437 }
1438 #endif
1439 
14401393} // namespace WebCore
246280

Source/WebCore/rendering/RenderInline.h

@@private:
151151
152152 void imageChanged(WrappedImagePtr, const IntRect* = 0) final;
153153
154 #if ENABLE(DASHBOARD_SUPPORT)
155  void addAnnotatedRegions(Vector<AnnotatedRegionValue>&) final;
156 #endif
157 
158154 void paintOutlineForLine(GraphicsContext&, const LayoutPoint&, const LayoutRect& prevLine, const LayoutRect& thisLine, const LayoutRect& nextLine, const Color&);
159155
160156 bool willChangeCreatesStackingContext() const
246280

Source/WebCore/rendering/RenderLayer.cpp

@@void RenderLayer::scrollTo(const ScrollP
25222522 }
25232523
25242524 // Update regions, scrolling may change the clip of a particular region.
2525  renderer().document().invalidateRenderingDependentRegions(Document::AnnotationsAction::Update);
 2525 renderer().document().invalidateRenderingDependentRegions();
25262526 DebugPageOverlays::didLayout(renderer().frame());
25272527 }
25282528

@@void RenderLayer::setHasHorizontalScroll
33393339 m_hBar->styleChanged();
33403340 if (m_vBar)
33413341 m_vBar->styleChanged();
3342 
3343  renderer().document().invalidateScrollbarDependentRegions();
33443342}
33453343
33463344void RenderLayer::setHasVerticalScrollbar(bool hasScrollbar)

@@void RenderLayer::setHasVerticalScrollba
33663364 m_hBar->styleChanged();
33673365 if (m_vBar)
33683366 m_vBar->styleChanged();
3369 
3370  renderer().document().invalidateScrollbarDependentRegions();
33713367}
33723368
33733369ScrollableArea* RenderLayer::enclosingScrollableArea() const

@@void RenderLayer::updateScrollbarsAfterL
36383634
36393635 updateSelfPaintingLayer();
36403636
3641  renderer().document().invalidateScrollbarDependentRegions();
36423637 renderer().repaint();
36433638
36443639 if (renderer().style().overflowX() == Overflow::Auto || renderer().style().overflowY() == Overflow::Auto) {
246280

Source/WebCore/rendering/RenderListBox.cpp

@@void RenderListBox::setHasVerticalScroll
953953
954954 if (m_vBar)
955955 m_vBar->styleChanged();
956 
957  document().invalidateScrollbarDependentRegions();
958956}
959957
960958bool RenderListBox::scrolledToTop() const
246280

Source/WebCore/rendering/RenderObject.cpp

@@int RenderObject::innerLineHeight() cons
16141614 return style().computedLineHeight();
16151615}
16161616
1617 #if ENABLE(DASHBOARD_SUPPORT)
1618 void RenderObject::addAnnotatedRegions(Vector<AnnotatedRegionValue>& regions)
1619 {
1620  // Convert the style regions to absolute coordinates.
1621  if (style().visibility() != Visibility::Visible || !is<RenderBox>(*this))
1622  return;
1623 
1624  auto& box = downcast<RenderBox>(*this);
1625  FloatPoint absPos = localToAbsolute();
1626 
1627  const Vector<StyleDashboardRegion>& styleRegions = style().dashboardRegions();
1628  for (const auto& styleRegion : styleRegions) {
1629  LayoutUnit w = box.width();
1630  LayoutUnit h = box.height();
1631 
1632  AnnotatedRegionValue region;
1633  region.label = styleRegion.label;
1634  region.bounds = LayoutRect(styleRegion.offset.left().value(),
1635  styleRegion.offset.top().value(),
1636  w - styleRegion.offset.left().value() - styleRegion.offset.right().value(),
1637  h - styleRegion.offset.top().value() - styleRegion.offset.bottom().value());
1638  region.type = styleRegion.type;
1639 
1640  region.clip = computeAbsoluteRepaintRect(region.bounds);
1641  if (region.clip.height() < 0) {
1642  region.clip.setHeight(0);
1643  region.clip.setWidth(0);
1644  }
1645 
1646  region.bounds.setX(absPos.x() + styleRegion.offset.left().value());
1647  region.bounds.setY(absPos.y() + styleRegion.offset.top().value());
1648 
1649  regions.append(region);
1650  }
1651 }
1652 
1653 void RenderObject::collectAnnotatedRegions(Vector<AnnotatedRegionValue>& regions)
1654 {
1655  // RenderTexts don't have their own style, they just use their parent's style,
1656  // so we don't want to include them.
1657  if (is<RenderText>(*this))
1658  return;
1659 
1660  addAnnotatedRegions(regions);
1661  for (RenderObject* current = downcast<RenderElement>(*this).firstChild(); current; current = current->nextSibling())
1662  current->collectAnnotatedRegions(regions);
1663 }
1664 #endif
1665 
16661617int RenderObject::caretMinOffset() const
16671618{
16681619 return 0;
246280

Source/WebCore/rendering/RenderObject.h

@@enum class ShouldAllowCrossOriginScrolli
8585
8686struct ScrollRectToVisibleOptions;
8787
88 #if ENABLE(DASHBOARD_SUPPORT)
89 struct AnnotatedRegionValue {
90  bool operator==(const AnnotatedRegionValue& o) const
91  {
92  return type == o.type && bounds == o.bounds && clip == o.clip && label == o.label;
93  }
94  bool operator!=(const AnnotatedRegionValue& o) const
95  {
96  return !(*this == o);
97  }
98 
99  LayoutRect bounds;
100  String label;
101  LayoutRect clip;
102  int type;
103 };
104 #endif
105 
10688// Base class for all rendering tree objects.
10789class RenderObject : public CachedImageClient, public CanMakeWeakPtr<RenderObject> {
10890 WTF_MAKE_ISO_ALLOCATED(RenderObject);

@@public:
569551 // repaint and do not need a relayout
570552 virtual void updateFromElement() { }
571553
572 #if ENABLE(DASHBOARD_SUPPORT)
573  virtual void addAnnotatedRegions(Vector<AnnotatedRegionValue>&);
574  void collectAnnotatedRegions(Vector<AnnotatedRegionValue>&);
575 #endif
576 
577554 bool isComposited() const;
578555
579556 bool hitTest(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestFilter = HitTestAll);
246280

Source/WebCore/rendering/style/RenderStyle.cpp

@@static bool rareNonInheritedDataChangeRe
616616 || first.gridItem != second.gridItem)
617617 return true;
618618
619 #if ENABLE(DASHBOARD_SUPPORT)
620  // If regions change, trigger a relayout to re-calc regions.
621  if (first.dashboardRegions != second.dashboardRegions)
622  return true;
623 #endif
624 
625619 if (!arePointingToEqualData(first.willChange, second.willChange)) {
626620 changedContextSensitiveProperties.add(StyleDifferenceContextSensitiveProperty::WillChange);
627621 // Don't return; keep looking for another change

@@const AtomicString& RenderStyle::textEmp
15381532 return nullAtom();
15391533}
15401534
1541 #if ENABLE(DASHBOARD_SUPPORT)
1542 
1543 const Vector<StyleDashboardRegion>& RenderStyle::initialDashboardRegions()
1544 {
1545  static NeverDestroyed<Vector<StyleDashboardRegion>> emptyList;
1546  return emptyList;
1547 }
1548 
1549 const Vector<StyleDashboardRegion>& RenderStyle::noneDashboardRegions()
1550 {
1551  static NeverDestroyed<Vector<StyleDashboardRegion>> noneList;
1552  static bool noneListInitialized = false;
1553  if (!noneListInitialized) {
1554  noneList.get().append(StyleDashboardRegion { emptyString(), { }, StyleDashboardRegion::None });
1555  noneListInitialized = true;
1556  }
1557  return noneList;
1558 }
1559 
1560 #endif
1561 
15621535void RenderStyle::adjustAnimations()
15631536{
15641537 auto* animationList = m_rareNonInheritedData->animations.get();

@@bool RenderStyle::shouldPlaceBlockDirect
24032376 return !isLeftToRightDirection() && isHorizontalWritingMode();
24042377}
24052378
2406 #if ENABLE(DASHBOARD_SUPPORT)
2407 
2408 void RenderStyle::setDashboardRegion(int type, const String& label, Length&& top, Length&& right, Length&& bottom, Length&& left, bool append)
2409 {
2410  if (!append)
2411  m_rareNonInheritedData.access().dashboardRegions.clear();
2412  m_rareNonInheritedData.access().dashboardRegions.append({ label, { WTFMove(top), WTFMove(right), WTFMove(bottom), WTFMove(left) }, type });
2413 }
2414 
2415 #endif
2416 
24172379Vector<PaintType, 3> RenderStyle::paintTypesForPaintOrder(PaintOrder order)
24182380{
24192381 Vector<PaintType, 3> paintOrder;
246280

Source/WebCore/rendering/style/RenderStyle.h

7777#include "StyleGridData.h"
7878#include "StyleGridItemData.h"
7979
80 #if ENABLE(DASHBOARD_SUPPORT)
81 #include "StyleDashboardRegion.h"
82 #endif
83 
8480#if ENABLE(TEXT_AUTOSIZING)
8581#include "TextSizeAdjustment.h"
8682#endif

@@public:
834830 void setMinHeight(Length&& length) { SET_VAR(m_boxData, m_minHeight, WTFMove(length)); }
835831 void setMaxHeight(Length&& length) { SET_VAR(m_boxData, m_maxHeight, WTFMove(length)); }
836832
837 #if ENABLE(DASHBOARD_SUPPORT)
838  const Vector<StyleDashboardRegion>& dashboardRegions() const { return m_rareNonInheritedData->dashboardRegions; }
839  void setDashboardRegions(const Vector<StyleDashboardRegion>& regions) { SET_VAR(m_rareNonInheritedData, dashboardRegions, regions); }
840  void setDashboardRegion(int type, const String& label, Length&& top, Length&& right, Length&& bottom, Length&& left, bool append);
841 #endif
842 
843833 void resetBorder() { resetBorderImage(); resetBorderTop(); resetBorderRight(); resetBorderBottom(); resetBorderLeft(); resetBorderRadius(); }
844834 void resetBorderTop() { SET_VAR(m_surroundData, border.m_top, BorderValue()); }
845835 void resetBorderRight() { SET_VAR(m_surroundData, border.m_right, BorderValue()); }

@@public:
16941684 static bool initialUseTouchOverflowScrolling() { return false; }
16951685#endif
16961686
1697 #if ENABLE(DASHBOARD_SUPPORT)
1698  static const Vector<StyleDashboardRegion>& initialDashboardRegions();
1699  static const Vector<StyleDashboardRegion>& noneDashboardRegions();
1700 #endif
1701 
17021687 static const FilterOperations& initialFilter() { static NeverDestroyed<FilterOperations> ops; return ops; }
17031688 static const FilterOperations& initialAppleColorFilter() { static NeverDestroyed<FilterOperations> ops; return ops; }
17041689
246280

Source/WebCore/rendering/style/StyleDashboardRegion.h

1 /*
2  * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3  * (C) 2000 Antti Koivisto (koivisto@kde.org)
4  * (C) 2000 Dirk Mueller (mueller@kde.org)
5  * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
6  * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Library General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Library General Public License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public License
19  * along with this library; see the file COPYING.LIB. If not, write to
20  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21  * Boston, MA 02110-1301, USA.
22  *
23  */
24 
25 #pragma once
26 
27 #if ENABLE(DASHBOARD_SUPPORT)
28 
29 #include "LengthBox.h"
30 #include <wtf/text/WTFString.h>
31 
32 namespace WebCore {
33 
34 // Dashboard region attributes. Not inherited.
35 
36 struct StyleDashboardRegion {
37  String label;
38  LengthBox offset;
39  int type;
40 
41  enum {
42  None,
43  Circle,
44  Rectangle
45  };
46 
47  bool operator==(const StyleDashboardRegion& o) const
48  {
49  return type == o.type && offset == o.offset && label == o.label;
50  }
51 
52  bool operator!=(const StyleDashboardRegion& o) const
53  {
54  return !(*this == o);
55  }
56 };
57 
58 } // namespace WebCore
59 
60 #endif // ENABLE(DASHBOARD_SUPPORT)
246280

Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp

@@bool StyleRareNonInheritedData::operator
223223 && perspectiveOriginY == o.perspectiveOriginY
224224 && lineClamp == o.lineClamp
225225 && initialLetter == o.initialLetter
226 #if ENABLE(DASHBOARD_SUPPORT)
227  && dashboardRegions == o.dashboardRegions
228 #endif
229226 && deprecatedFlexibleBox == o.deprecatedFlexibleBox
230227 && flexibleBox == o.flexibleBox
231228 && marquee == o.marquee
246280

Source/WebCore/rendering/style/StyleRareNonInheritedData.h

@@class StyleScrollSnapPort;
6060class StyleTransformData;
6161
6262struct LengthSize;
63 struct StyleDashboardRegion;
6463
6564// Page size type.
6665// StyleRareNonInheritedData::pageSize is meaningful only when

@@public:
107106
108107 IntSize initialLetter;
109108
110 #if ENABLE(DASHBOARD_SUPPORT)
111  Vector<StyleDashboardRegion> dashboardRegions;
112 #endif
113 
114109 DataRef<StyleDeprecatedFlexibleBoxData> deprecatedFlexibleBox; // Flexible box properties
115110 DataRef<StyleFlexibleBoxData> flexibleBox;
116111 DataRef<StyleMarqueeData> marquee; // Marquee properties
246280

Source/WebCore/xml/XMLHttpRequest.cpp

@@SecurityOrigin* XMLHttpRequest::security
148148 return scriptExecutionContext()->securityOrigin();
149149}
150150
151 #if ENABLE(DASHBOARD_SUPPORT)
152 
153 bool XMLHttpRequest::usesDashboardBackwardCompatibilityMode() const
154 {
155  if (scriptExecutionContext()->isWorkerGlobalScope())
156  return false;
157  return document()->settings().usesDashboardBackwardCompatibilityMode();
158 }
159 
160 #endif
161 
162151ExceptionOr<OwnedString> XMLHttpRequest::responseText()
163152{
164153 if (responseType() != ResponseType::EmptyString && responseType() != ResponseType::Text)

@@ExceptionOr<void> XMLHttpRequest::send(D
465454
466455 if (m_method != "GET" && m_method != "HEAD") {
467456 if (!m_requestHeaders.contains(HTTPHeaderName::ContentType)) {
468 #if ENABLE(DASHBOARD_SUPPORT)
469  if (usesDashboardBackwardCompatibilityMode())
470  m_requestHeaders.set(HTTPHeaderName::ContentType, "application/x-www-form-urlencoded"_s);
471  else
472 #endif
473  // FIXME: this should include the charset used for encoding.
474  m_requestHeaders.set(HTTPHeaderName::ContentType, document.isHTMLDocument() ? "text/html;charset=UTF-8"_s : "application/xml;charset=UTF-8"_s);
 457 // FIXME: this should include the charset used for encoding.
 458 m_requestHeaders.set(HTTPHeaderName::ContentType, document.isHTMLDocument() ? "text/html;charset=UTF-8"_s : "application/xml;charset=UTF-8"_s);
475459 } else {
476460 String contentType = m_requestHeaders.get(HTTPHeaderName::ContentType);
477461 replaceCharsetInMediaTypeIfNeeded(contentType);

@@ExceptionOr<void> XMLHttpRequest::send(c
496480 if (!body.isNull() && m_method != "GET" && m_method != "HEAD") {
497481 String contentType = m_requestHeaders.get(HTTPHeaderName::ContentType);
498482 if (contentType.isNull()) {
499 #if ENABLE(DASHBOARD_SUPPORT)
500  if (usesDashboardBackwardCompatibilityMode())
501  m_requestHeaders.set(HTTPHeaderName::ContentType, "application/x-www-form-urlencoded"_s);
502  else
503 #endif
504  m_requestHeaders.set(HTTPHeaderName::ContentType, HTTPHeaderValues::textPlainContentType());
 483 m_requestHeaders.set(HTTPHeaderName::ContentType, HTTPHeaderValues::textPlainContentType());
505484 } else {
506485 replaceCharsetInMediaTypeIfNeeded(contentType);
507486 m_requestHeaders.set(HTTPHeaderName::ContentType, contentType);

@@ExceptionOr<void> XMLHttpRequest::overri
801780
802781ExceptionOr<void> XMLHttpRequest::setRequestHeader(const String& name, const String& value)
803782{
804  if (readyState() != OPENED || m_sendFlag) {
805 #if ENABLE(DASHBOARD_SUPPORT)
806  if (usesDashboardBackwardCompatibilityMode())
807  return { };
808 #endif
 783 if (readyState() != OPENED || m_sendFlag)
809784 return Exception { InvalidStateError };
810  }
811785
812786 String normalizedValue = stripLeadingAndTrailingHTTPSpaces(value);
813787 if (!isValidHTTPToken(name) || !isValidHTTPHeaderValue(normalizedValue))
814788 return Exception { SyntaxError };
815789
816790 bool allowUnsafeHeaderField = false;
817 #if ENABLE(DASHBOARD_SUPPORT)
818  allowUnsafeHeaderField = usesDashboardBackwardCompatibilityMode();
819 #endif
820 
821791 // FIXME: The allowSettingAnyXHRHeaderFromFileURLs setting currently only applies to Documents, not workers.
822792 if (securityOrigin()->canLoadLocalResources() && scriptExecutionContext()->isDocument() && document()->settings().allowSettingAnyXHRHeaderFromFileURLs())
823793 allowUnsafeHeaderField = true;
246280

Source/WebCore/xml/XMLHttpRequest.h

@@private:
149149 Document* document() const;
150150 SecurityOrigin* securityOrigin() const;
151151
152 #if ENABLE(DASHBOARD_SUPPORT)
153  bool usesDashboardBackwardCompatibilityMode() const;
154 #endif
155 
156152 // ThreadableLoaderClient
157153 void didSendData(unsigned long long bytesSent, unsigned long long totalBytesToBeSent) override;
158154 void didReceiveResponse(unsigned long identifier, const ResourceResponse&) override;
246280

Source/WebKit/ChangeLog

 12019-06-06 Sam Weinig <weinig@apple.com>
 2
 3 Remove Dashboard support
 4 https://bugs.webkit.org/show_bug.cgi?id=198615
 5
 6 Reviewed by Ryosuke Niwa.
 7
 8 * Configurations/FeatureDefines.xcconfig:
 9 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
 10 (WKBundleSetUseDashboardCompatibilityMode): Deleted.
 11 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
 12 * WebProcess/InjectedBundle/InjectedBundle.cpp:
 13 (WebKit::InjectedBundle::setUseDashboardCompatibilityMode): Deleted.
 14 * WebProcess/InjectedBundle/InjectedBundle.h:
 15 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
 16 (WebKit::WebChromeClient::annotatedRegionsChanged): Deleted.
 17 * WebProcess/WebCoreSupport/WebChromeClient.h:
 18
1192019-06-10 Wenson Hsieh <wenson_hsieh@apple.com>
220
321 [iOS] fast/xsl tests are flaky when run after certain viewport shrink-to-fit tests
246280

Source/WebKit/Configurations/FeatureDefines.xcconfig

@@ENABLE_DARK_MODE_CSS_iphonesimulator = E
120120ENABLE_DARK_MODE_CSS_iosmac = ENABLE_DARK_MODE_CSS;
121121ENABLE_DARK_MODE_CSS_macosx = ENABLE_DARK_MODE_CSS;
122122
123 ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(WK_PLATFORM_NAME));
124 ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
125 
126123ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;
127124
128125ENABLE_DATALIST_ELEMENT = ENABLE_DATALIST_ELEMENT;

@@ENABLE_WIRELESS_PLAYBACK_TARGET = ENABLE
448445
449446ENABLE_XSLT = ENABLE_XSLT;
450447
451 FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCESSIBILITY_ISOLATED_TREE) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_CONIC_GRADIENTS) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_PAINTING_API) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS_TYPED_OM) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_C_LOOP) $(ENABLE_DARK_MODE_CSS) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_MEMORY_SAMPLER) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION) $(ENABLE_NOTIFICATIONS) $(ENABLE_OVERFLOW_SCROLLING_TOUCH) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_EVENTS) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESIZE_OBSERVER) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_LOAD_STATISTICS) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SANDBOX_EXTENSIONS) $(ENABLE_SERVER_PRECONNECT) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SHAREABLE_RESOURCE) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USERSELECT_ALL) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS) $(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS) $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WEB_API_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_CRYPTO) $(ENABLE_WEB_PROCESS_SANDBOX) $(ENABLE_WEB_RTC) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
 448FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCESSIBILITY_ISOLATED_TREE) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_CONIC_GRADIENTS) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_PAINTING_API) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS_TYPED_OM) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_C_LOOP) $(ENABLE_DARK_MODE_CSS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_MEMORY_SAMPLER) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION) $(ENABLE_NOTIFICATIONS) $(ENABLE_OVERFLOW_SCROLLING_TOUCH) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_EVENTS) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESIZE_OBSERVER) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_LOAD_STATISTICS) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SANDBOX_EXTENSIONS) $(ENABLE_SERVER_PRECONNECT) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SHAREABLE_RESOURCE) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USERSELECT_ALL) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS) $(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS) $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WEB_API_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_CRYPTO) $(ENABLE_WEB_PROCESS_SANDBOX) $(ENABLE_WEB_RTC) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
246280

Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp

@@void InjectedBundle::setPrivateBrowsingE
355355 (*iter)->enableLegacyPrivateBrowsing(enabled);
356356}
357357
358 void InjectedBundle::setUseDashboardCompatibilityMode(WebPageGroupProxy* pageGroup, bool enabled)
359 {
360 #if ENABLE(DASHBOARD_SUPPORT)
361  for (auto& page : PageGroup::pageGroup(pageGroup->identifier())->pages())
362  page->settings().setUsesDashboardBackwardCompatibilityMode(enabled);
363 #endif
364 }
365 
366358void InjectedBundle::setPopupBlockingEnabled(WebPageGroupProxy* pageGroup, bool enabled)
367359{
368360 const HashSet<Page*>& pages = PageGroup::pageGroup(pageGroup->identifier())->pages();
246280

Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.h

@@public:
105105 void setPluginsEnabled(WebPageGroupProxy*, bool);
106106 void setJavaScriptCanAccessClipboard(WebPageGroupProxy*, bool);
107107 void setPrivateBrowsingEnabled(WebPageGroupProxy*, bool);
108  void setUseDashboardCompatibilityMode(WebPageGroupProxy*, bool);
109108 void setPopupBlockingEnabled(WebPageGroupProxy*, bool);
110109 void setAuthorAndUserStylesEnabled(WebPageGroupProxy*, bool);
111110 void setSpatialNavigationEnabled(WebPageGroupProxy*, bool);
246280

Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundle.cpp

@@void WKBundleSetPrivateBrowsingEnabled(W
171171 WebKit::toImpl(bundleRef)->setPrivateBrowsingEnabled(WebKit::toImpl(pageGroupRef), enabled);
172172}
173173
174 void WKBundleSetUseDashboardCompatibilityMode(WKBundleRef bundleRef, WKBundlePageGroupRef pageGroupRef, bool enabled)
175 {
176  WebKit::toImpl(bundleRef)->setUseDashboardCompatibilityMode(WebKit::toImpl(pageGroupRef), enabled);
177 }
178 
179174void WKBundleSetPopupBlockingEnabled(WKBundleRef bundleRef, WKBundlePageGroupRef pageGroupRef, bool enabled)
180175{
181176 WebKit::toImpl(bundleRef)->setPopupBlockingEnabled(WebKit::toImpl(pageGroupRef), enabled);
246280

Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h

@@WK_EXPORT void WKBundleSetMinimumLogical
5050WK_EXPORT void WKBundleSetFrameFlatteningEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
5151WK_EXPORT void WKBundleSetJavaScriptCanAccessClipboard(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
5252WK_EXPORT void WKBundleSetPrivateBrowsingEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
53 WK_EXPORT void WKBundleSetUseDashboardCompatibilityMode(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
5453WK_EXPORT void WKBundleSetPopupBlockingEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
5554WK_EXPORT void WKBundleSetAuthorAndUserStylesEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
5655WK_EXPORT void WKBundleSetSpatialNavigationEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
246280

Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp

@@void WebChromeClient::reachedApplication
775775 cacheStorage.storeUpdatedQuotaForOrigin(&origin, newQuota);
776776}
777777
778 #if ENABLE(DASHBOARD_SUPPORT)
779 
780 void WebChromeClient::annotatedRegionsChanged()
781 {
782  notImplemented();
783 }
784 
785 #endif
786 
787778bool WebChromeClient::shouldReplaceWithGeneratedFileForUpload(const String& path, String& generatedFilename)
788779{
789780 generatedFilename = m_page.injectedBundleUIClient().shouldGenerateFileForUpload(&m_page, path);
246280

Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h

@@private:
143143 void reachedMaxAppCacheSize(int64_t spaceNeeded) final;
144144 void reachedApplicationCacheOriginQuota(WebCore::SecurityOrigin&, int64_t spaceNeeded) final;
145145
146 #if ENABLE(DASHBOARD_SUPPORT)
147  void annotatedRegionsChanged() final;
148 #endif
149 
150146 bool shouldReplaceWithGeneratedFileForUpload(const String& path, String& generatedFilename) final;
151147 String generateReplacementFile(const String& path) final;
152148
246280

Source/WebKitLegacy/mac/ChangeLog

 12019-06-06 Sam Weinig <weinig@apple.com>
 2
 3 Remove Dashboard support
 4 https://bugs.webkit.org/show_bug.cgi?id=198615
 5
 6 Reviewed by Ryosuke Niwa.
 7
 8 Removes implementation, but keeps privatly exported interfaces and enums
 9 around until we can confirm there are no more users of them.
 10
 11 * Configurations/FeatureDefines.xcconfig:
 12 * Plugins/WebBaseNetscapePluginView.mm:
 13 (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:]):
 14 * WebCoreSupport/WebChromeClient.h:
 15 * WebCoreSupport/WebChromeClient.mm:
 16 (WebChromeClient::annotatedRegionsChanged): Deleted.
 17 * WebView/WebClipView.mm:
 18 (-[WebClipView _focusRingVisibleRect]):
 19 (-[WebClipView scrollWheel:]):
 20 * WebView/WebDashboardRegion.h:
 21 * WebView/WebDashboardRegion.mm:
 22 * WebView/WebHTMLView.mm:
 23 (-[WebHTMLView _updateMouseoverWithEvent:]):
 24 (-[WebHTMLView acceptsFirstMouse:]):
 25 (-[WebHTMLView setDataSource:]):
 26 * WebView/WebPreferences.mm:
 27 (cacheModelForMainBundle):
 28 * WebView/WebUIDelegatePrivate.h:
 29 * WebView/WebView.mm:
 30 (-[WebView _needsPreHTML5ParserQuirks]):
 31 (-[WebView _preferencesChanged:]):
 32 (-[WebView _addScrollerDashboardRegions:]):
 33 (-[WebView _dashboardRegions]):
 34 (-[WebView _setDashboardBehavior:to:]):
 35 (-[WebView _dashboardBehavior:]):
 36 (-[WebView _addControlRect:clip:fromView:toDashboardRegions:]): Deleted.
 37 (-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]): Deleted.
 38 (-[WebView _addScrollerDashboardRegions:from:]): Deleted.
 39 * WebView/WebViewData.h:
 40 * WebView/WebViewData.mm:
 41 (-[WebViewPrivate init]):
 42 * WebView/WebViewPrivate.h:
 43
1442019-06-10 Timothy Hatcher <timothy@apple.com>
245
346 Integrate dark mode support for iOS.
246280

Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig

@@ENABLE_DARK_MODE_CSS_iphonesimulator = E
120120ENABLE_DARK_MODE_CSS_iosmac = ENABLE_DARK_MODE_CSS;
121121ENABLE_DARK_MODE_CSS_macosx = ENABLE_DARK_MODE_CSS;
122122
123 ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(WK_PLATFORM_NAME));
124 ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
125 
126123ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;
127124
128125ENABLE_DATALIST_ELEMENT = ENABLE_DATALIST_ELEMENT;

@@ENABLE_WIRELESS_PLAYBACK_TARGET = ENABLE
448445
449446ENABLE_XSLT = ENABLE_XSLT;
450447
451 FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCESSIBILITY_ISOLATED_TREE) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_CONIC_GRADIENTS) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_PAINTING_API) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS_TYPED_OM) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_C_LOOP) $(ENABLE_DARK_MODE_CSS) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_MEMORY_SAMPLER) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION) $(ENABLE_NOTIFICATIONS) $(ENABLE_OVERFLOW_SCROLLING_TOUCH) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_EVENTS) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESIZE_OBSERVER) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_LOAD_STATISTICS) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SANDBOX_EXTENSIONS) $(ENABLE_SERVER_PRECONNECT) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SHAREABLE_RESOURCE) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USERSELECT_ALL) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS) $(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS) $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WEB_API_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_CRYPTO) $(ENABLE_WEB_PROCESS_SANDBOX) $(ENABLE_WEB_RTC) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
 448FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCESSIBILITY_ISOLATED_TREE) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_CONIC_GRADIENTS) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_PAINTING_API) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS_TYPED_OM) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_C_LOOP) $(ENABLE_DARK_MODE_CSS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_MEMORY_SAMPLER) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION) $(ENABLE_NOTIFICATIONS) $(ENABLE_OVERFLOW_SCROLLING_TOUCH) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_EVENTS) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESIZE_OBSERVER) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_LOAD_STATISTICS) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SANDBOX_EXTENSIONS) $(ENABLE_SERVER_PRECONNECT) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SHAREABLE_RESOURCE) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USERSELECT_ALL) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS) $(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS) $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WEB_API_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_CRYPTO) $(ENABLE_WEB_PROCESS_SANDBOX) $(ENABLE_WEB_RTC) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
246280

Source/WebKitLegacy/mac/Plugins/WebBaseNetscapePluginView.mm

@@- (id)initWithFrame:(NSRect)frame
9696 _baseURL = adoptNS([baseURL copy]);
9797 _MIMEType = adoptNS([MIME copy]);
9898
99  // Enable "kiosk mode" when instantiating the QT plug-in inside of Dashboard. See <rdar://problem/6878105>
100  if ([[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.dashboard.client"] &&
101  [_pluginPackage.get() bundleIdentifier] == "com.apple.QuickTime Plugin.plugin") {
102  RetainPtr<NSMutableArray> mutableKeys = adoptNS([keys mutableCopy]);
103  RetainPtr<NSMutableArray> mutableValues = adoptNS([values mutableCopy]);
104 
105  [mutableKeys.get() addObject:@"kioskmode"];
106  [mutableValues.get() addObject:@"true"];
107  [self setAttributeKeys:mutableKeys.get() andValues:mutableValues.get()];
108  } else
109  [self setAttributeKeys:keys andValues:values];
 99 [self setAttributeKeys:keys andValues:values];
110100
111101 if (loadManually)
112102 _mode = NP_FULL;
246280

Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h

@@private:
126126 void reachedMaxAppCacheSize(int64_t spaceNeeded) final;
127127 void reachedApplicationCacheOriginQuota(WebCore::SecurityOrigin&, int64_t totalSpaceNeeded) final;
128128
129 #if ENABLE(DASHBOARD_SUPPORT)
130  void annotatedRegionsChanged() final;
131 #endif
132 
133129 void runOpenPanel(WebCore::Frame&, WebCore::FileChooser&) override;
134130 void showShareSheet(WebCore::ShareDataWithParsedURL&, CompletionHandler<void(bool)>&&) override;
135131
246280

Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm

@@void WebChromeClient::reachedApplication
706706 END_BLOCK_OBJC_EXCEPTIONS;
707707}
708708
709 #if ENABLE(DASHBOARD_SUPPORT)
710 
711 void WebChromeClient::annotatedRegionsChanged()
712 {
713  BEGIN_BLOCK_OBJC_EXCEPTIONS;
714  CallUIDelegate(m_webView, @selector(webView:dashboardRegionsChanged:), [m_webView _dashboardRegions]);
715  END_BLOCK_OBJC_EXCEPTIONS;
716 }
717 
718 #endif
719 
720709#if ENABLE(INPUT_TYPE_COLOR)
721710
722711std::unique_ptr<ColorChooser> WebChromeClient::createColorChooser(ColorChooserClient& client, const Color& initialColor)
246280

Source/WebKitLegacy/mac/WebView/WebClipView.mm

@@- (NSRect)additionalClip
165165- (NSRect)_focusRingVisibleRect
166166{
167167 NSRect rect = [self visibleRect];
168  if (_haveAdditionalClip) {
 168 if (_haveAdditionalClip)
169169 rect = NSIntersectionRect(rect, _additionalClip);
170  }
171170 return rect;
172171}
173172
174 - (void)scrollWheel:(NSEvent *)event
175 {
176  NSView *docView = [self documentView];
177  if ([docView respondsToSelector:@selector(_webView)]) {
178 #if ENABLE(DASHBOARD_SUPPORT)
179  WebView *wv = [docView _webView];
180  if ([wv _dashboardBehavior:WebDashboardBehaviorAllowWheelScrolling]) {
181  [super scrollWheel:event];
182  }
183 #endif
184  return;
185  }
186  [super scrollWheel:event];
187 }
188 
189173@end
246280

Source/WebKitLegacy/mac/WebView/WebDashboardRegion.h

2323 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2424 */
2525
 26// FIXME: Remove this file once it is verified no one is dependent on it.
 27
2628#if !defined(ENABLE_DASHBOARD_SUPPORT)
2729#define ENABLE_DASHBOARD_SUPPORT 1
2830#endif
246280

Source/WebKitLegacy/mac/WebView/WebDashboardRegion.mm

2323 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2424 */
2525
 26// FIXME: Remove this file once it is verified no one is dependent on it.
 27
2628#import "WebDashboardRegion.h"
2729
2830#if ENABLE(DASHBOARD_SUPPORT)
246280

Source/WebKitLegacy/mac/WebView/WebHTMLView.mm

@@- (void)_updateMouseoverWithEvent:(NSEve
19831983 // If it is one of those cases where the page is not active and the mouse is not pressed, then we can
19841984 // fire a much more restricted and efficient scrollbars-only version of the event.
19851985
1986  if ([[self window] isKeyWindow]
1987  || mouseEventIsPartOfClickOrDrag(event)
1988 #if ENABLE(DASHBOARD_SUPPORT)
1989  || [[self _webView] _dashboardBehavior:WebDashboardBehaviorAlwaysSendMouseEventsToAllWindows]
1990 #endif
1991  ) {
 1986 if ([[self window] isKeyWindow] || mouseEventIsPartOfClickOrDrag(event))
19921987 coreFrame->eventHandler().mouseMoved(event, [[self _webView] _pressureEvent]);
1993  } else {
 1988 else {
19941989 [self removeAllToolTips];
19951990 coreFrame->eventHandler().passMouseMovedEventToScrollbars(event, [[self _webView] _pressureEvent]);
19961991 }

@@- (BOOL)acceptsFirstMouse:(NSEvent *)eve
41474142
41484143 NSView *hitView = [self _hitViewForEvent:event];
41494144 WebHTMLView *hitHTMLView = [hitView isKindOfClass:[self class]] ? (WebHTMLView *)hitView : nil;
4150 
4151 #if ENABLE(DASHBOARD_SUPPORT)
4152  if ([[self _webView] _dashboardBehavior:WebDashboardBehaviorAlwaysAcceptsFirstMouse])
4153  return YES;
4154 #endif
4155 
 4145
41564146 if (hitHTMLView) {
41574147 bool result = false;
41584148 if (Frame* coreFrame = core([hitHTMLView _frame])) {

@@- (void)setDataSource:(WebDataSource *)d
46874677#if PLATFORM(MAC)
46884678 if (!_private->installedTrackingArea) {
46894679 NSTrackingAreaOptions options = NSTrackingMouseMoved | NSTrackingMouseEnteredAndExited | NSTrackingInVisibleRect | NSTrackingCursorUpdate;
4690  if (_NSRecommendedScrollerStyle() == NSScrollerStyleLegacy
4691 #if ENABLE(DASHBOARD_SUPPORT)
4692  || [[self _webView] _dashboardBehavior:WebDashboardBehaviorAlwaysSendMouseEventsToAllWindows]
4693 #endif
4694  )
 4680 if (_NSRecommendedScrollerStyle() == NSScrollerStyleLegacy)
46954681 options |= NSTrackingActiveAlways;
46964682 else
46974683 options |= NSTrackingActiveInKeyWindow;
246280

Source/WebKitLegacy/mac/WebView/WebPreferences.mm

@@static WebCacheModel cacheModelForMainBu
115115 static const char* const documentBrowserIDs[] = {
116116 "com.apple.Dictionary",
117117 "com.apple.Xcode",
118  "com.apple.dashboard.client",
119118 "com.apple.helpviewer",
120119 "com.culturedcode.xyle",
121120 "com.macrabbit.CSSEdit",
246280

Source/WebKitLegacy/mac/WebView/WebUIDelegatePrivate.h

@@@interface NSObject (WebUIDelegatePrivat
203203- (NSView *)webView:(WebView *)webView plugInViewWithArguments:(NSDictionary *)arguments;
204204
205205#if ENABLE_DASHBOARD_SUPPORT
 206// FIXME: Remove this method once it is verified no one is dependent on it.
206207// regions is an dictionary whose keys are regions label and values are arrays of WebDashboardRegions.
207208- (void)webView:(WebView *)webView dashboardRegionsChanged:(NSDictionary *)regions;
208209#endif
246280

Source/WebKitLegacy/mac/WebView/WebView.mm

304304#import <wtf/FastMalloc.h>
305305#endif
306306
307 #if ENABLE(DASHBOARD_SUPPORT)
308 #import <WebKitLegacy/WebDashboardRegion.h>
309 #endif
310 
311307#if ENABLE(REMOTE_INSPECTOR)
312308#import <JavaScriptCore/RemoteInspector.h>
313309#if PLATFORM(IOS_FAMILY)

@@- (BOOL)_needsPreHTML5ParserQuirks
27992795 // Mail.app must continue to display HTML email that contains quirky markup.
28002796 static bool isAppleMail = MacApplication::isAppleMail();
28012797
2802  return isApplicationNeedingParserQuirks
2803  || isAppleMail
2804 #if ENABLE(DASHBOARD_SUPPORT)
2805  // Pre-HTML5 parser quirks are required to remain compatible with many
2806  // Dashboard widgets. See <rdar://problem/8175982>.
2807  || (_private->page && _private->page->settings().usesDashboardBackwardCompatibilityMode())
2808 #endif
2809  || [[self preferences] usePreHTML5ParserQuirks];
 2798 return isApplicationNeedingParserQuirks || isAppleMail || [[self preferences] usePreHTML5ParserQuirks];
28102799#else
28112800 return [[self preferences] usePreHTML5ParserQuirks];
28122801#endif

@@- (void)_preferencesChanged:(WebPreferen
30573046 // This parses the user stylesheet synchronously so anything that may affect it should be done first.
30583047 if ([preferences userStyleSheetEnabled]) {
30593048 NSString* location = [[preferences userStyleSheetLocation] _web_originalDataAsString];
3060  if ([location isEqualToString:@"apple-dashboard://stylesheet"])
3061  location = @"file:///System/Library/PrivateFrameworks/DashboardClient.framework/Resources/widget.css";
30623049 settings.setUserStyleSheetLocation([NSURL URLWithString:(location ? location : @"")]);
30633050 } else
30643051 settings.setUserStyleSheetLocation([NSURL URLWithString:@""]);

@@- (void)_didCommitLoadForFrame:(WebFrame
37683755
37693756#if ENABLE(DASHBOARD_SUPPORT)
37703757
3771 #define DASHBOARD_CONTROL_LABEL @"control"
3772 
3773 - (void)_addControlRect:(NSRect)bounds clip:(NSRect)clip fromView:(NSView *)view toDashboardRegions:(NSMutableDictionary *)regions
3774 {
3775  NSRect adjustedBounds = bounds;
3776  adjustedBounds.origin = [self convertPoint:bounds.origin fromView:view];
3777  adjustedBounds.origin.y = [self bounds].size.height - adjustedBounds.origin.y;
3778  adjustedBounds.size = bounds.size;
3779 
3780  NSRect adjustedClip;
3781  adjustedClip.origin = [self convertPoint:clip.origin fromView:view];
3782  adjustedClip.origin.y = [self bounds].size.height - adjustedClip.origin.y;
3783  adjustedClip.size = clip.size;
3784 
3785  WebDashboardRegion *region = [[WebDashboardRegion alloc] initWithRect:adjustedBounds
3786  clip:adjustedClip type:WebDashboardRegionTypeScrollerRectangle];
3787  NSMutableArray *scrollerRegions = [regions objectForKey:DASHBOARD_CONTROL_LABEL];
3788  if (!scrollerRegions) {
3789  scrollerRegions = [[NSMutableArray alloc] init];
3790  [regions setObject:scrollerRegions forKey:DASHBOARD_CONTROL_LABEL];
3791  [scrollerRegions release];
3792  }
3793  [scrollerRegions addObject:region];
3794  [region release];
3795 }
3796 
3797 - (void)_addScrollerDashboardRegionsForFrameView:(FrameView*)frameView dashboardRegions:(NSMutableDictionary *)regions
3798 {
3799  NSView *documentView = [[kit(&frameView->frame()) frameView] documentView];
3800 
3801  for (const auto& widget: frameView->children()) {
3802  if (is<FrameView>(widget)) {
3803  [self _addScrollerDashboardRegionsForFrameView:&downcast<FrameView>(widget.get()) dashboardRegions:regions];
3804  continue;
3805  }
3806 
3807  if (!widget->isScrollbar())
3808  continue;
3809 
3810  // FIXME: This should really pass an appropriate clip, but our first try got it wrong, and
3811  // it's not common to need this to be correct in Dashboard widgets.
3812  NSRect bounds = widget->frameRect();
3813  [self _addControlRect:bounds clip:bounds fromView:documentView toDashboardRegions:regions];
3814  }
3815 }
3816 
3817 - (void)_addScrollerDashboardRegions:(NSMutableDictionary *)regions from:(NSArray *)views
3818 {
3819  // Add scroller regions for NSScroller and WebCore scrollbars
3820  NSUInteger count = [views count];
3821  for (NSUInteger i = 0; i < count; i++) {
3822  NSView *view = [views objectAtIndex:i];
3823 
3824  if ([view isKindOfClass:[WebHTMLView class]]) {
3825  if (Frame* coreFrame = core([(WebHTMLView*)view _frame])) {
3826  if (FrameView* coreView = coreFrame->view())
3827  [self _addScrollerDashboardRegionsForFrameView:coreView dashboardRegions:regions];
3828  }
3829  } else if ([view isKindOfClass:[NSScroller class]]) {
3830  // AppKit places absent scrollers at -100,-100
3831  if ([view frame].origin.y < 0)
3832  continue;
3833  [self _addControlRect:[view bounds] clip:[view visibleRect] fromView:view toDashboardRegions:regions];
3834  }
3835  [self _addScrollerDashboardRegions:regions from:[view subviews]];
3836  }
3837 }
 3758// FIXME: Remove these once it is verified no one is dependent on it.
38383759
38393760- (void)_addScrollerDashboardRegions:(NSMutableDictionary *)regions
38403761{
3841  [self _addScrollerDashboardRegions:regions from:[self subviews]];
38423762}
38433763
38443764- (NSDictionary *)_dashboardRegions
38453765{
3846  // Only return regions from main frame.
3847  Frame* mainFrame = [self _mainCoreFrame];
3848  if (!mainFrame)
3849  return nil;
3850 
3851  const Vector<AnnotatedRegionValue>& regions = mainFrame->document()->annotatedRegions();
3852  size_t size = regions.size();
3853 
3854  NSMutableDictionary *webRegions = [NSMutableDictionary dictionaryWithCapacity:size];
3855  for (size_t i = 0; i < size; i++) {
3856  const AnnotatedRegionValue& region = regions[i];
3857 
3858  if (region.type == StyleDashboardRegion::None)
3859  continue;
3860 
3861  NSString *label = region.label;
3862  WebDashboardRegionType type = WebDashboardRegionTypeNone;
3863  if (region.type == StyleDashboardRegion::Circle)
3864  type = WebDashboardRegionTypeCircle;
3865  else if (region.type == StyleDashboardRegion::Rectangle)
3866  type = WebDashboardRegionTypeRectangle;
3867  NSMutableArray *regionValues = [webRegions objectForKey:label];
3868  if (!regionValues) {
3869  regionValues = [[NSMutableArray alloc] initWithCapacity:1];
3870  [webRegions setObject:regionValues forKey:label];
3871  [regionValues release];
3872  }
3873 
3874  WebDashboardRegion *webRegion = [[WebDashboardRegion alloc] initWithRect:snappedIntRect(region.bounds) clip:snappedIntRect(region.clip) type:type];
3875  [regionValues addObject:webRegion];
3876  [webRegion release];
3877  }
3878 
3879  [self _addScrollerDashboardRegions:webRegions];
3880 
3881  return webRegions;
 3766 return nil;
38823767}
38833768
38843769- (void)_setDashboardBehavior:(WebDashboardBehavior)behavior to:(BOOL)flag
38853770{
3886  // FIXME: Remove this blanket assignment once Dashboard and Dashcode implement
3887  // specific support for the backward compatibility mode flag.
3888  if (behavior == WebDashboardBehaviorAllowWheelScrolling && flag == NO && _private->page)
3889  _private->page->settings().setUsesDashboardBackwardCompatibilityMode(true);
3890 
3891  switch (behavior) {
3892  case WebDashboardBehaviorAlwaysSendMouseEventsToAllWindows: {
3893  _private->dashboardBehaviorAlwaysSendMouseEventsToAllWindows = flag;
3894  break;
3895  }
3896  case WebDashboardBehaviorAlwaysSendActiveNullEventsToPlugIns: {
3897  _private->dashboardBehaviorAlwaysSendActiveNullEventsToPlugIns = flag;
3898  break;
3899  }
3900  case WebDashboardBehaviorAlwaysAcceptsFirstMouse: {
3901  _private->dashboardBehaviorAlwaysAcceptsFirstMouse = flag;
3902  break;
3903  }
3904  case WebDashboardBehaviorAllowWheelScrolling: {
3905  _private->dashboardBehaviorAllowWheelScrolling = flag;
3906  break;
3907  }
3908  case WebDashboardBehaviorUseBackwardCompatibilityMode: {
3909  if (_private->page)
3910  _private->page->settings().setUsesDashboardBackwardCompatibilityMode(flag);
3911 #if ENABLE(LEGACY_CSS_VENDOR_PREFIXES)
3912  RuntimeEnabledFeatures::sharedFeatures().setLegacyCSSVendorPrefixesEnabled(flag);
3913 #endif
3914  break;
3915  }
3916  }
3917 
3918  // Pre-HTML5 parser quirks should be enabled if Dashboard is in backward
3919  // compatibility mode. See <rdar://problem/8175982>.
3920  if (_private->page)
3921  _private->page->settings().setUsePreHTML5ParserQuirks([self _needsPreHTML5ParserQuirks]);
39223771}
39233772
39243773- (BOOL)_dashboardBehavior:(WebDashboardBehavior)behavior
39253774{
3926  switch (behavior) {
3927  case WebDashboardBehaviorAlwaysSendMouseEventsToAllWindows: {
3928  return _private->dashboardBehaviorAlwaysSendMouseEventsToAllWindows;
3929  }
3930  case WebDashboardBehaviorAlwaysSendActiveNullEventsToPlugIns: {
3931  return _private->dashboardBehaviorAlwaysSendActiveNullEventsToPlugIns;
3932  }
3933  case WebDashboardBehaviorAlwaysAcceptsFirstMouse: {
3934  return _private->dashboardBehaviorAlwaysAcceptsFirstMouse;
3935  }
3936  case WebDashboardBehaviorAllowWheelScrolling: {
3937  return _private->dashboardBehaviorAllowWheelScrolling;
3938  }
3939  case WebDashboardBehaviorUseBackwardCompatibilityMode: {
3940  return _private->page && _private->page->settings().usesDashboardBackwardCompatibilityMode();
3941  }
3942  }
39433775 return NO;
39443776}
39453777
246280

Source/WebKitLegacy/mac/WebView/WebViewData.h

@@@interface WebViewPrivate : NSObject {
269269 BOOL hasSpellCheckerDocumentTag;
270270 NSInteger spellCheckerDocumentTag;
271271
272 #if ENABLE(DASHBOARD_SUPPORT)
273  BOOL dashboardBehaviorAlwaysSendMouseEventsToAllWindows;
274  BOOL dashboardBehaviorAlwaysSendActiveNullEventsToPlugIns;
275  BOOL dashboardBehaviorAlwaysAcceptsFirstMouse;
276  BOOL dashboardBehaviorAllowWheelScrolling;
277 #endif
278 
279272#if PLATFORM(IOS_FAMILY)
280273 BOOL isStopping;
281274
246280

Source/WebKitLegacy/mac/WebView/WebViewData.mm

@@- (id)init
198198 // The default value should be synchronized with WebCore/page/Settings.cpp.
199199 validationMessageTimerMagnification = 50;
200200
201 #if ENABLE(DASHBOARD_SUPPORT)
202  dashboardBehaviorAllowWheelScrolling = YES;
203 #endif
204 
205201#if PLATFORM(IOS_FAMILY)
206202 isStopping = NO;
207203 _geolocationProvider = [WebGeolocationProviderIOS sharedGeolocationProvider];
246280

Source/WebKitLegacy/mac/WebView/WebViewPrivate.h

@@extern NSString *WebQuickLookUTIKey;
124124extern NSString * const WebViewWillCloseNotification;
125125
126126#if ENABLE_DASHBOARD_SUPPORT
 127// FIXME: Remove this once it is verified no one is dependent on it.
127128typedef enum {
128129 WebDashboardBehaviorAlwaysSendMouseEventsToAllWindows,
129130 WebDashboardBehaviorAlwaysSendActiveNullEventsToPlugIns,

@@Could be worth adding to the API.
554555#endif
555556
556557#if ENABLE_DASHBOARD_SUPPORT
 558// FIXME: Remove these once we have verified no one is calling them
557559- (void)_addScrollerDashboardRegions:(NSMutableDictionary *)regions;
558560- (NSDictionary *)_dashboardRegions;
559561
246280

Source/cmake/OptionsMac.cmake

@@WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_
1616WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_SELECTORS_LEVEL4 PRIVATE OFF)
1717WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS3_TEXT PRIVATE OFF)
1818WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CURSOR_VISIBILITY PRIVATE ON)
19 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DASHBOARD_SUPPORT PRIVATE ON)
2019WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DATACUE_VALUE PRIVATE ON)
2120WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT PRIVATE ON)
2221WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILTERS_LEVEL_2 PRIVATE ON)
246280

Source/cmake/WebKitFeatures.cmake

@@macro(WEBKIT_OPTION_BEGIN)
120120 WEBKIT_OPTION_DEFINE(ENABLE_CUSTOM_SCHEME_HANDLER "Toggle Custom Scheme Handler support" PRIVATE OFF)
121121 WEBKIT_OPTION_DEFINE(ENABLE_C_LOOP "Enable CLoop interpreter" PRIVATE ${ENABLE_C_LOOP_DEFAULT})
122122 WEBKIT_OPTION_DEFINE(ENABLE_DARK_MODE_CSS "Toggle Dark Mode CSS support" PRIVATE OFF)
123  WEBKIT_OPTION_DEFINE(ENABLE_DASHBOARD_SUPPORT "Toggle dashboard support" PRIVATE OFF)
124123 WEBKIT_OPTION_DEFINE(ENABLE_DATACUE_VALUE "Toggle datacue value support" PRIVATE OFF)
125124 WEBKIT_OPTION_DEFINE(ENABLE_DATALIST_ELEMENT "Toggle Datalist Element support" PRIVATE OFF)
126125 WEBKIT_OPTION_DEFINE(ENABLE_DATA_INTERACTION "Toggle data interaction support" PRIVATE OFF)
246280

Tools/ChangeLog

 12019-06-06 Sam Weinig <weinig@apple.com>
 2
 3 Remove Dashboard support
 4 https://bugs.webkit.org/show_bug.cgi?id=198615
 5
 6 Reviewed by Ryosuke Niwa.
 7
 8 * DumpRenderTree/TestRunner.cpp:
 9 (TestRunner::staticFunctions):
 10 (setUseDashboardCompatibilityModeCallback): Deleted.
 11 * DumpRenderTree/TestRunner.h:
 12 * DumpRenderTree/mac/Configurations/Base.xcconfig:
 13 * DumpRenderTree/mac/DumpRenderTree.mm:
 14 (resetWebViewToConsistentStateBeforeTesting):
 15 * DumpRenderTree/mac/TestRunnerMac.mm:
 16 (TestRunner::setUseDashboardCompatibilityMode): Deleted.
 17 * ImageDiff/cg/Configurations/Base.xcconfig:
 18 * Scripts/webkitperl/FeatureList.pm:
 19 * TestWebKitAPI/Configurations/Base.xcconfig:
 20 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
 21 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
 22 * TestWebKitAPI/Tests/mac/DeviceScaleFactorInDashboardRegions.mm: Removed.
 23 * WebKitTestRunner/Configurations/Base.xcconfig:
 24 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
 25 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
 26 (WTR::InjectedBundle::beginTesting):
 27 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
 28 (WTR::TestRunner::setUseDashboardCompatibilityMode): Deleted.
 29 * WebKitTestRunner/InjectedBundle/TestRunner.h:
 30
1312019-06-10 Wenson Hsieh <wenson_hsieh@apple.com>
232
333 [iOS] fast/xsl tests are flaky when run after certain viewport shrink-to-fit tests
246280

Tools/DumpRenderTree/TestRunner.cpp

@@static JSValueRef setPagePausedCallback(
12661266}
12671267#endif
12681268
1269 static JSValueRef setUseDashboardCompatibilityModeCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
1270 {
1271  // Has mac implementation
1272  if (argumentCount < 1)
1273  return JSValueMakeUndefined(context);
1274 
1275  TestRunner* controller = static_cast<TestRunner*>(JSObjectGetPrivate(thisObject));
1276  controller->setUseDashboardCompatibilityMode(JSValueToBoolean(context, arguments[0]));
1277 
1278  return JSValueMakeUndefined(context);
1279 }
1280 
12811269static JSValueRef setUserStyleSheetEnabledCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
12821270{
12831271 // Has mac implementation

@@JSStaticFunction* TestRunner::staticFunc
22542242 { "setTelephoneNumberParsingEnabled", setTelephoneNumberParsingEnabledCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
22552243 { "setPagePaused", setPagePausedCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
22562244#endif
2257  { "setUseDashboardCompatibilityMode", setUseDashboardCompatibilityModeCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
22582245 { "setUserStyleSheetEnabled", setUserStyleSheetEnabledCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
22592246 { "setUserStyleSheetLocation", setUserStyleSheetLocationCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
22602247 { "setValueForUser", setValueForUserCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
246280

Tools/DumpRenderTree/TestRunner.h

@@public:
118118 void setPopupBlockingEnabled(bool);
119119 void setPrivateBrowsingEnabled(bool);
120120 void setTabKeyCyclesThroughElements(bool);
121  void setUseDashboardCompatibilityMode(bool flag);
122121 void setUserStyleSheetEnabled(bool flag);
123122 void setUserStyleSheetLocation(JSStringRef path);
124123 void setValueForUser(JSContextRef, JSValueRef nodeObject, JSStringRef value);
246280

Tools/DumpRenderTree/mac/DumpRenderTree.mm

@@static void resetWebViewToConsistentStat
18611861 [policyDelegate setControllerToNotifyDone:0];
18621862 [uiDelegate resetToConsistentStateBeforeTesting:options];
18631863 [frameLoadDelegate resetToConsistentState];
1864 #if !PLATFORM(IOS_FAMILY)
1865  [webView _setDashboardBehavior:WebDashboardBehaviorUseBackwardCompatibilityMode to:NO];
1866 #endif
18671864 [webView _clearMainFrameName];
18681865 [[webView undoManager] removeAllActions];
18691866 [WebView _removeAllUserContentFromGroup:[webView groupName]];
246280

Tools/DumpRenderTree/mac/TestRunnerMac.mm

@@void TestRunner::setPagePaused(bool paus
591591}
592592#endif
593593
594 void TestRunner::setUseDashboardCompatibilityMode(bool flag)
595 {
596 #if !PLATFORM(IOS_FAMILY)
597  [[mainFrame webView] _setDashboardBehavior:WebDashboardBehaviorUseBackwardCompatibilityMode to:flag];
598 #endif
599 }
600 
601594void TestRunner::setUserStyleSheetEnabled(bool flag)
602595{
603596 [[WebPreferences standardPreferences] setUserStyleSheetEnabled:flag];
246280

Tools/DumpRenderTree/mac/Configurations/Base.xcconfig

@@PLATFORM_HEADER_SEARCH_PATHS[sdk=iphone*
4444PLATFORM_HEADER_SEARCH_PATHS[sdk=macosx*] = mac/InternalHeaders $(NEXT_ROOT)/usr/local/include/WebCoreTestSupport;
4545GCC_NO_COMMON_BLOCKS = YES;
4646ENABLE_STRICT_OBJC_MSGSEND=YES;
47 GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) U_DISABLE_RENAMING=1 U_SHOW_CPLUSPLUS_API=0 $(GCC_PREPROCESSOR_DEFINITIONS_$(PLATFORM_NAME));
48 GCC_PREPROCESSOR_DEFINITIONS_macosx = ENABLE_DASHBOARD_SUPPORT;
 47GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) U_DISABLE_RENAMING=1 U_SHOW_CPLUSPLUS_API=0;
4948DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;
5049PREBINDING = NO
5150GCC_C_LANGUAGE_STANDARD = gnu99
246280

Tools/DumpRenderTree/win/TestRunnerWin.cpp

@@void TestRunner::setTabKeyCyclesThroughE
692692 viewPrivate->setTabKeyCyclesThroughElements(shouldCycle ? TRUE : FALSE);
693693}
694694
695 void TestRunner::setUseDashboardCompatibilityMode(bool flag)
696 {
697  // Not implemented on Windows.
698 }
699 
700695void TestRunner::setUserStyleSheetEnabled(bool flag)
701696{
702697 COMPtr<IWebView> webView;
246280

Tools/ImageDiff/cg/Configurations/Base.xcconfig

@@CLANG_ENABLE_OBJC_WEAK = YES;
3535CLANG_WARN_CXX0X_EXTENSIONS = NO;
3636GCC_NO_COMMON_BLOCKS = YES;
3737ENABLE_STRICT_OBJC_MSGSEND=YES;
38 GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) $(GCC_PREPROCESSOR_DEFINITIONS_$(PLATFORM_NAME));
39 GCC_PREPROCESSOR_DEFINITIONS_macosx = ENABLE_DASHBOARD_SUPPORT;
 38GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES);
4039DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;
4140PREBINDING = NO
4241GCC_C_LANGUAGE_STANDARD = gnu99
246280

Tools/Scripts/webkitperl/FeatureList.pm

@@my (
8080 $cursorVisibilitySupport,
8181 $customSchemeHandlerSupport,
8282 $darkModeCSSSupport,
83  $dashboardSupportSupport,
8483 $dataInteractionSupport,
8584 $datacueValueSupport,
8685 $datalistElementSupport,

@@my @features = (
279278 { option => "dark-mode-css", desc => "Toggle Dark Mode CSS support",
280279 define => "ENABLE_DARK_MODE_CSS", value => \$darkModeCSSSupport },
281280
282  { option => "dashboard-support", desc => "Toggle dashboard support",
283  define => "ENABLE_DASHBOARD_SUPPORT", value => \$dashboardSupportSupport },
284 
285281 { option => "datacue-value", desc => "Toggle datacue value support",
286282 define => "ENABLE_DATACUE_VALUE", value => \$datacueValueSupport },
287283
246280

Tools/TestWebKitAPI/Configurations/Base.xcconfig

@@HEADER_SEARCH_PATHS = ${BUILT_PRODUCTS_D
3737
3838GCC_NO_COMMON_BLOCKS = YES;
3939GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) $(FEATURE_DEFINES) U_DISABLE_RENAMING=1 U_SHOW_CPLUSPLUS_API=0 $(GCC_PREPROCESSOR_DEFINITIONS_$(PLATFORM_NAME));
40 GCC_PREPROCESSOR_DEFINITIONS_macosx = ENABLE_DASHBOARD_SUPPORT;
4140DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;
4241PREBINDING = NO
4342GCC_C_LANGUAGE_STANDARD = gnu99
246280

Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig

@@ENABLE_DARK_MODE_CSS_iphonesimulator = E
120120ENABLE_DARK_MODE_CSS_iosmac = ENABLE_DARK_MODE_CSS;
121121ENABLE_DARK_MODE_CSS_macosx = ENABLE_DARK_MODE_CSS;
122122
123 ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(WK_PLATFORM_NAME));
124 ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
125 
126123ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;
127124
128125ENABLE_DATALIST_ELEMENT = ENABLE_DATALIST_ELEMENT;

@@ENABLE_WIRELESS_PLAYBACK_TARGET = ENABLE
448445
449446ENABLE_XSLT = ENABLE_XSLT;
450447
451 FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCESSIBILITY_ISOLATED_TREE) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_CONIC_GRADIENTS) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_PAINTING_API) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS_TYPED_OM) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_C_LOOP) $(ENABLE_DARK_MODE_CSS) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_MEMORY_SAMPLER) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION) $(ENABLE_NOTIFICATIONS) $(ENABLE_OVERFLOW_SCROLLING_TOUCH) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_EVENTS) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESIZE_OBSERVER) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_LOAD_STATISTICS) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SANDBOX_EXTENSIONS) $(ENABLE_SERVER_PRECONNECT) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SHAREABLE_RESOURCE) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USERSELECT_ALL) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS) $(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS) $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WEB_API_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_CRYPTO) $(ENABLE_WEB_PROCESS_SANDBOX) $(ENABLE_WEB_RTC) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
 448FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCESSIBILITY_ISOLATED_TREE) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_CONIC_GRADIENTS) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_PAINTING_API) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS_TYPED_OM) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_C_LOOP) $(ENABLE_DARK_MODE_CSS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_MEMORY_SAMPLER) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION) $(ENABLE_NOTIFICATIONS) $(ENABLE_OVERFLOW_SCROLLING_TOUCH) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_EVENTS) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESIZE_OBSERVER) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_LOAD_STATISTICS) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SANDBOX_EXTENSIONS) $(ENABLE_SERVER_PRECONNECT) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SHAREABLE_RESOURCE) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USERSELECT_ALL) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS) $(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS) $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WEB_API_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_CRYPTO) $(ENABLE_WEB_PROCESS_SANDBOX) $(ENABLE_WEB_RTC) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
246280

Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj

507507 7CCE7EB61A411A7E00447C4C /* CancelLoadFromResourceLoadDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 26DF5A5D15A29BAA003689C2 /* CancelLoadFromResourceLoadDelegate.mm */; };
508508 7CCE7EB71A411A7E00447C4C /* CloseNewWindowInNavigationPolicyDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 290A9BB51735DE8A00D71BBC /* CloseNewWindowInNavigationPolicyDelegate.mm */; };
509509 7CCE7EB81A411A7E00447C4C /* ContextMenuCanCopyURL.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5142B2701517C88B00C32B19 /* ContextMenuCanCopyURL.mm */; };
510  7CCE7EB91A411A7E00447C4C /* DeviceScaleFactorInDashboardRegions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3776BC62150946BC0043A66D /* DeviceScaleFactorInDashboardRegions.mm */; };
511510 7CCE7EBA1A411A7E00447C4C /* DeviceScaleFactorOnBack.mm in Sources */ = {isa = PBXBuildFile; fileRef = 939BA91614103412001A01BD /* DeviceScaleFactorOnBack.mm */; };
512511 7CCE7EBB1A411A7E00447C4C /* DOMHTMLTableCellCellAbove.mm in Sources */ = {isa = PBXBuildFile; fileRef = 37E1064A1697676400B78BD0 /* DOMHTMLTableCellCellAbove.mm */; };
513512 7CCE7EBC1A411A7E00447C4C /* DOMNodeFromJSObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3751AF7A169518F800764319 /* DOMNodeFromJSObject.mm */; };

15671566 3760C4F0211249AF00233ACC /* AttrStyle.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = AttrStyle.mm; sourceTree = "<group>"; };
15681567 3760C4F221124BD000233ACC /* AttrStyle.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = AttrStyle.html; sourceTree = "<group>"; };
15691568 376C8C041D6E197C007D2BB9 /* FrameHandle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FrameHandle.cpp; sourceTree = "<group>"; };
1570  3776BC62150946BC0043A66D /* DeviceScaleFactorInDashboardRegions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DeviceScaleFactorInDashboardRegions.mm; sourceTree = "<group>"; };
15711569 3781746C2198AE2400062C26 /* WKProcessPoolConfiguration.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = WKProcessPoolConfiguration.mm; sourceTree = "<group>"; };
15721570 378E64711632646D00B6C676 /* InjectedBundleFrameHitTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundleFrameHitTest.cpp; sourceTree = "<group>"; };
15731571 378E64751632655D00B6C676 /* InjectedBundleFrameHitTest_Bundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundleFrameHitTest_Bundle.cpp; sourceTree = "<group>"; };

36293627 5142B2701517C88B00C32B19 /* ContextMenuCanCopyURL.mm */,
36303628 37FB72951DB2E82F00E41BE4 /* ContextMenuDefaultItemsHaveTags.mm */,
36313629 7AEAD47C1E20113800416EFE /* CrossPartitionFileSchemeAccess.mm */,
3632  3776BC62150946BC0043A66D /* DeviceScaleFactorInDashboardRegions.mm */,
36333630 939BA91614103412001A01BD /* DeviceScaleFactorOnBack.mm */,
36343631 37E1064A1697676400B78BD0 /* DOMHTMLTableCellCellAbove.mm */,
36353632 2D51A0C51C8BF00400765C45 /* DOMHTMLVideoElementWrapper.mm */,

41924189 2D1646E21D1862CD00015A1A /* DeferredViewInWindowStateChange.mm in Sources */,
41934190 2D2D13B3229F408B005068AF /* DeviceManagementRestrictions.mm in Sources */,
41944191 46918EFC2237283C00468DFE /* DeviceOrientation.mm in Sources */,
4195  7CCE7EB91A411A7E00447C4C /* DeviceScaleFactorInDashboardRegions.mm in Sources */,
41964192 7CCE7EBA1A411A7E00447C4C /* DeviceScaleFactorOnBack.mm in Sources */,
41974193 7C83E04D1D0A641800FEBCF3 /* DFACombiner.cpp in Sources */,
41984194 7C83E04E1D0A641800FEBCF3 /* DFAMinimizer.cpp in Sources */,
246280

Tools/TestWebKitAPI/Tests/mac/DeviceScaleFactorInDashboardRegions.mm

1 /*
2  * Copyright (C) 2012 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 #import "config.h"
27 
28 #import "PlatformUtilities.h"
29 #import "SyntheticBackingScaleFactorWindow.h"
30 #import "Test.h"
31 #import <WebKit/WebDashboardRegion.h>
32 #import <wtf/RetainPtr.h>
33 
34 static bool gotDashboardRegions;
35 static NSDictionary *regions;
36 
37 @interface DeviceScaleFactorInDashboardRegionsUIDelegate : NSObject <WebUIDelegate> {
38 }
39 @end
40 
41 @implementation DeviceScaleFactorInDashboardRegionsUIDelegate
42 
43 - (void)webView:(WebView *)webView dashboardRegionsChanged:(NSDictionary *)newRegions
44 {
45  gotDashboardRegions = true;
46  regions = [newRegions retain];
47 }
48 
49 @end
50 
51 namespace TestWebKitAPI {
52 
53 TEST(WebKitLegacy, DeviceScaleFactorInDashboardRegions)
54 {
55  NSRect viewFrame = NSMakeRect(0, 0, 800, 600);
56  RetainPtr<SyntheticBackingScaleFactorWindow> window = adoptNS([[SyntheticBackingScaleFactorWindow alloc] initWithContentRect:viewFrame styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES]);
57  [window.get() setReleasedWhenClosed:NO];
58  [window.get() setBackingScaleFactor:2];
59 
60  RetainPtr<WebView> webView = adoptNS([[WebView alloc] initWithFrame:viewFrame frameName:nil groupName:nil]);
61  RetainPtr<DeviceScaleFactorInDashboardRegionsUIDelegate> uiDelegate = adoptNS([DeviceScaleFactorInDashboardRegionsUIDelegate new]);
62  webView.get().UIDelegate = uiDelegate.get();
63  [window.get().contentView addSubview:webView.get()];
64 
65  [webView.get().mainFrame loadHTMLString:@"<div style='position: absolute; top: 10px; left: 10px; width: 50px; height: 50px; -webkit-dashboard-region: dashboard-region(control rectangle);'></div>" baseURL:[NSURL URLWithString:@"about:blank"]];
66 
67  Util::run(&gotDashboardRegions);
68 
69  NSRect controlRegionRect = [[[regions objectForKey:@"control"] objectAtIndex:0] dashboardRegionRect];
70 
71  EXPECT_EQ(10, controlRegionRect.origin.x);
72  EXPECT_EQ(10, controlRegionRect.origin.y);
73  EXPECT_EQ(50, controlRegionRect.size.width);
74  EXPECT_EQ(50, controlRegionRect.size.height);
75 
76  [regions release];
77 }
78 
79 } // namespace TestWebKitAPI
246280

Tools/WebKitTestRunner/Configurations/Base.xcconfig

@@CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIO
5656HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include $(BUILT_PRODUCTS_DIR)/WebCoreTestSupport $(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders $(NEXT_ROOT)/usr/local/include/WebCoreTestSupport $(PLATFORM_HEADER_SEARCH_PATHS);
5757PLATFORM_HEADER_SEARCH_PATHS[sdk=iphone*] = $(SRCROOT)/../../Source/WebKit/Platform/spi/ios;
5858GCC_NO_COMMON_BLOCKS = YES;
59 GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) U_DISABLE_RENAMING=1 U_SHOW_CPLUSPLUS_API=0 ENABLE_DASHBOARD_SUPPORT;
 59GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) U_DISABLE_RENAMING=1 U_SHOW_CPLUSPLUS_API=0;
6060DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;
6161PREBINDING = NO
6262GCC_C_LANGUAGE_STANDARD = gnu99
246280

Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp

@@void InjectedBundle::beginTesting(WKDict
494494 WKBundleSetAllowUniversalAccessFromFileURLs(m_bundle, m_pageGroup, true);
495495 WKBundleSetJavaScriptCanAccessClipboard(m_bundle, m_pageGroup, true);
496496 WKBundleSetPrivateBrowsingEnabled(m_bundle, m_pageGroup, false);
497  WKBundleSetUseDashboardCompatibilityMode(m_bundle, m_pageGroup, false);
498497 WKBundleSetAuthorAndUserStylesEnabled(m_bundle, m_pageGroup, true);
499498 WKBundleSetFrameFlatteningEnabled(m_bundle, m_pageGroup, false);
500499 WKBundleSetMinimumLogicalFontSize(m_bundle, m_pageGroup, 9);
246280

Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp

@@void TestRunner::setPrivateBrowsingEnabl
536536 WKBundleSetPrivateBrowsingEnabled(injectedBundle.bundle(), injectedBundle.pageGroup(), enabled);
537537}
538538
539 void TestRunner::setUseDashboardCompatibilityMode(bool enabled)
540 {
541 #if ENABLE(DASHBOARD_SUPPORT)
542  auto& injectedBundle = InjectedBundle::singleton();
543  WKBundleSetUseDashboardCompatibilityMode(injectedBundle.bundle(), injectedBundle.pageGroup(), enabled);
544 #else
545  UNUSED_PARAM(enabled);
546 #endif
547 }
548 
549539void TestRunner::setPopupBlockingEnabled(bool enabled)
550540{
551541 auto& injectedBundle = InjectedBundle::singleton();
246280

Tools/WebKitTestRunner/InjectedBundle/TestRunner.h

@@public:
113113 void setPluginsEnabled(bool);
114114 void setJavaScriptCanAccessClipboard(bool);
115115 void setPrivateBrowsingEnabled(bool);
116  void setUseDashboardCompatibilityMode(bool);
117116 void setPopupBlockingEnabled(bool);
118117 void setAuthorAndUserStylesEnabled(bool);
119118 void setCustomPolicyDelegate(bool enabled, bool permissive = false);
246280

Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl

@@interface TestRunner {
8686 void setPluginsEnabled(boolean value);
8787 void setJavaScriptCanAccessClipboard(boolean value);
8888 void setPrivateBrowsingEnabled(boolean value);
89  void setUseDashboardCompatibilityMode(boolean value);
9089 void setPopupBlockingEnabled(boolean value);
9190 void setAuthorAndUserStylesEnabled(boolean value);
9291 void setCustomPolicyDelegate(boolean enabled, boolean permissive);
246280

LayoutTests/ChangeLog

 12019-06-06 Sam Weinig <weinig@apple.com>
 2
 3 Remove Dashboard support
 4 https://bugs.webkit.org/show_bug.cgi?id=198615
 5
 6 Reviewed by Ryosuke Niwa.
 7
 8 * TestExpectations:
 9 * cssom/cssvalue-comparison-expected.txt:
 10 * cssom/cssvalue-comparison.html:
 11 * fast/canvas/canvas-gradient-addStop-error-expected.txt:
 12 * fast/canvas/canvas-gradient-addStop-error.html:
 13 * fast/canvas/fill-stroke-clip-reset-path-expected.txt:
 14 * fast/canvas/fill-stroke-clip-reset-path.html:
 15 * fast/css/dashboard-regions-attr-crash-expected.txt: Removed.
 16 * fast/css/dashboard-regions-attr-crash.html: Removed.
 17 * fast/css/dashboard-regions-undefined-length-assertion-expected.txt: Removed.
 18 * fast/css/dashboard-regions-undefined-length-assertion.html: Removed.
 19 * fast/xmlhttprequest/set-dangerous-headers-in-dashboard-expected.txt: Removed.
 20 * fast/xmlhttprequest/set-dangerous-headers-in-dashboard.html: Removed.
 21 * http/tests/xmlhttprequest/default-content-type-dashboard-expected.txt: Removed.
 22 * http/tests/xmlhttprequest/default-content-type-dashboard.html: Removed.
 23 * http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard-expected.txt: Removed.
 24 * http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html: Removed.
 25 * legacy-animation-engine/cssom/cssvalue-comparison-expected.txt:
 26 * legacy-animation-engine/cssom/cssvalue-comparison.html:
 27 * mathml/mathml-in-dashboard-expected.txt: Removed.
 28 * mathml/mathml-in-dashboard.html: Removed.
 29 * platform/gtk/TestExpectations:
 30 * platform/ios-simulator-wk2/TestExpectations:
 31 * platform/ios-wk1/TestExpectations:
 32 * platform/ios/TestExpectations:
 33 * platform/ios/mathml/mathml-in-dashboard-expected.txt: Removed.
 34 * platform/mac/TestExpectations:
 35 * platform/mac/fast/css/dashboard-region-parser-expected.txt: Removed.
 36 * platform/mac/fast/css/dashboard-region-parser.html: Removed.
 37 * platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk-expected.txt: Removed.
 38 * platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html: Removed.
 39 * platform/mac/mathml/mathml-in-dashboard-expected.png: Removed.
 40 * platform/mac/mathml/mathml-in-dashboard-expected.txt: Removed.
 41 * platform/mac/svg/custom/embedded-svg-disallowed-in-dashboard-expected.png: Removed.
 42 * platform/mac/svg/custom/manually-parsed-embedded-svg-disallowed-in-dashboard-expected.png: Removed.
 43 * platform/mac/svg/custom/manually-parsed-svg-disallowed-in-dashboard-expected.png: Removed.
 44 * platform/mac/svg/custom/svg-disallowed-in-dashboard-object-expected.png: Removed.
 45 * platform/win/TestExpectations:
 46 * platform/wincairo/TestExpectations:
 47 * svg/custom/embedded-svg-allowed-in-dashboard-expected.txt: Removed.
 48 * svg/custom/embedded-svg-allowed-in-dashboard.xml: Removed.
 49 * svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard-expected.txt: Removed.
 50 * svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html: Removed.
 51 * svg/custom/manually-parsed-svg-allowed-in-dashboard-expected.txt: Removed.
 52 * svg/custom/manually-parsed-svg-allowed-in-dashboard.html: Removed.
 53 * svg/custom/svg-allowed-in-dashboard-object-expected.txt: Removed.
 54 * svg/custom/svg-allowed-in-dashboard-object.html: Removed.
 55
1562019-06-10 Antti Koivisto <antti@apple.com>
257
358 Event region should be set on scrolledContentsLayer if it exists
246280

LayoutTests/TestExpectations

@@fast/forms/search/search-results-hidden-
8787# These tests don't have to be platform-specific, but they are only implemented on Mac now.
8888fast/images/eps-as-image.html [ Skip ]
8989
90 # Only Mac supports Dashboard widgets.
91 fast/xmlhttprequest/set-dangerous-headers-in-dashboard.html [ WontFix ]
92 
9390# Only applicable on macOS
9491css-dark-mode [ Skip ]
9592fast/css/apple-system-control-colors.html [ Skip ]
246280

LayoutTests/cssom/cssvalue-comparison-expected.txt

@@PASS Two CSSValues "image-set(url(dummy:
104104PASS Two CSSValues "grayscale(100%) sepia(100%)" for property "-webkit-filter" are equal.
105105PASS Two CSSValues "sepia(10%) grayscale(50%)" for property "-webkit-filter" are equal.
106106PASS Two CSSValues "grayscale(100%) sepia(100%)" and "sepia(10%) grayscale(50%)" for property "-webkit-filter" are not equal.
107 PASS Two CSSValues "dashboard-region(label circle)" for property "-webkit-dashboard-region" are equal.
108 PASS Two CSSValues "dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)" for property "-webkit-dashboard-region" are equal.
109 PASS Two CSSValues "dashboard-region(label circle)" and "dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)" for property "-webkit-dashboard-region" are not equal.
110107
246280

LayoutTests/cssom/cssvalue-comparison.html

@@function run() {
6060 {"-webkit-line-box-contain" : ["inline-box", "font", "glyphs", "replaced"]}, // line-box-contain
6161 {"background-image" : ["-webkit-image-set(url(dummy://test.png) 1x, url(dummy://test.png) 2x)", "-webkit-image-set(url(dummy://small.png) 2x, url(dummy://big.png) 3x)"]}, // image set
6262 {"background-image" : ["image-set(url(dummy://test.png) 1x, url(dummy://test.png) 2x)", "image-set(url(dummy://small.png) 2x, url(dummy://big.png) 3x)"]}, // image set
63  {"-webkit-filter" : ["grayscale(100%) sepia(100%)", "sepia(10%) grayscale(50%)"]}, // filter
64  {"-webkit-dashboard-region" : ["dashboard-region(label circle)", "dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)"]} // dashboard region
 63 {"-webkit-filter" : ["grayscale(100%) sepia(100%)", "sepia(10%) grayscale(50%)"]} // filter
6564 ];
6665
6766 for (var index in tests) {
246280

LayoutTests/fast/canvas/canvas-gradient-addStop-error-expected.txt

1 A couple of tests to ensure that adding a stop with an invalid color to a gradient throws exceptions normally, but not in dashboard.
 1A couple of tests to ensure that adding a stop with an invalid color to a gradient throws exceptions normally.
22
33On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
44

@@On success, you will see a series of "PA
66Ensure exceptions are thrown in normal pages
77PASS gradient.addColorStop(1, 'rgb(NaN%, NaN%, NaN%)') threw exception SyntaxError: The string did not match the expected pattern..
88PASS gradient.addColorStop(1, 'rgb(NaN%, NaN%, NaN%)') threw exception SyntaxError: The string did not match the expected pattern..
9 Switching to dashboard compatibility mode. Invalid color strings should no longer cause an exception.
10 PASS gradient.addColorStop(1, 'rgb(NaN%, NaN%, NaN%)') is undefined.
11 PASS gradient.addColorStop(1, 'rgb(NaN%, NaN%, NaN%)') is undefined.
129PASS successfullyParsed is true
1310
1411TEST COMPLETE
246280

LayoutTests/fast/canvas/canvas-gradient-addStop-error.html

55</head>
66<body>
77<script>
8 description("A couple of tests to ensure that adding a stop with an invalid color to a gradient throws exceptions normally, but not in dashboard.");
 8description("A couple of tests to ensure that adding a stop with an invalid color to a gradient throws exceptions normally.");
99debug("Ensure exceptions are thrown in normal pages");
1010var ctx = document.createElement('canvas').getContext('2d');
1111var gradient = ctx.createLinearGradient(0, 0, 0, 100);
1212shouldThrow("gradient.addColorStop(1, 'rgb(NaN%, NaN%, NaN%)')");
1313var gradient = ctx.createRadialGradient(0, 0, 0, 100, 0, 0);
1414shouldThrow("gradient.addColorStop(1, 'rgb(NaN%, NaN%, NaN%)')");
15 
16 if (this.testRunner) {
17  debug("Switching to dashboard compatibility mode. Invalid color strings should no longer cause an exception.");
18  testRunner.setUseDashboardCompatibilityMode(true);
19 } else {
20  debug("The following tests will fail in the browser as we can only enable dashboard compatibility mode in DRT.")
21 }
22 // Create a new context so that will be created using dashboard compatibility mode.
23 ctx = document.createElement('canvas').getContext('2d');
24 var gradient = ctx.createLinearGradient(0, 0, 0, 100);
25 shouldBeUndefined("gradient.addColorStop(1, 'rgb(NaN%, NaN%, NaN%)')");
26 var gradient = ctx.createRadialGradient(0, 0, 0, 100, 0, 0);
27 shouldBeUndefined("gradient.addColorStop(1, 'rgb(NaN%, NaN%, NaN%)')");
2815</script>
2916<script src="../../resources/js-test-post.js"></script>
3017</body>
246280

LayoutTests/fast/canvas/fill-stroke-clip-reset-path-expected.txt

11All three of these small canvases should be green, not red.
22
33
4 All three of these small canvases should be green, not red, too, but these test the Dashboard compatibility mode so they work properly only under DumpRenderTree.
5 
6 
246280

LayoutTests/fast/canvas/fill-stroke-clip-reset-path.html

11<html>
22<head>
33<script>
4 function testOne(operation, quirk)
 4function testOne(operation)
55{
66 if (window.testRunner){
77 testRunner.dumpAsText(true);
8  if (testRunner.setUseDashboardCompatibilityMode)
9  testRunner.setUseDashboardCompatibilityMode(quirk);
108 }
119
12  var canvas = document.getElementById(operation + "-" + (quirk ? "" : "no-") + "quirk");
 10 var canvas = document.getElementById(operation);
1311 var context = canvas.getContext('2d');
1412
15  context.fillStyle = quirk ? "green" : "red";
 13 context.fillStyle = "red";
1614 context.fillRect(0, 0, 1000, 1000);
1715
1816 context.moveTo(0, 0);

@@function testOne(operation, quirk)
2220 context.closePath();
2321 context[operation]();
2422
25  context.fillStyle = quirk ? "red" : "green";
 23 context.fillStyle = "green";
2624 context.fill();
2725}
2826function test()
2927{
30  testOne("fill", false);
31  testOne("stroke", false);
32  testOne("clip", false);
33  testOne("fill", true);
34  testOne("stroke", true);
35  testOne("clip", true);
 28 testOne("fill");
 29 testOne("stroke");
 30 testOne("clip");
3631}
3732</script>
3833</head>
3934<body onload="test()">
4035<p>All three of these small canvases should be green, not red.</p>
41 <canvas id="fill-no-quirk" width="20" height="20"></canvas>
42 <canvas id="stroke-no-quirk" width="20" height="20"></canvas>
43 <canvas id="clip-no-quirk" width="20" height="20"></canvas>
44 <p>All three of these small canvases should be green, not red, too, but these test the Dashboard compatibility mode so they work properly only under DumpRenderTree.</p>
45 <canvas id="fill-quirk" width="20" height="20"></canvas>
46 <canvas id="stroke-quirk" width="20" height="20"></canvas>
47 <canvas id="clip-quirk" width="20" height="20"></canvas>
 36<canvas id="fill" width="20" height="20"></canvas>
 37<canvas id="stroke" width="20" height="20"></canvas>
 38<canvas id="clip" width="20" height="20"></canvas>
4839</body>
4940</html>
246280

LayoutTests/fast/css/dashboard-regions-attr-crash-expected.txt

1 Test for http://bugs.webkit.org/show_bug.cgi?id=8469 CRASH: WebCore::CSSParser::parseDashboardRegions when attr() is passed.
2 
3 If the test passes it won't crash
4 
5 
6 
246280

LayoutTests/fast/css/dashboard-regions-attr-crash.html

1 <html>
2 <head>
3 <script>
4  if (window.testRunner)
5  testRunner.dumpAsText();
6 </script>
7 </head>
8 <body>
9 <p>Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=8469">http://bugs.webkit.org/show_bug.cgi?id=8469</a> CRASH: WebCore::CSSParser::parseDashboardRegions when attr() is passed</i>.</p>
10 <p>If the test passes it won't crash</p>
11 <br style="-webkit-dashboard-region: dashboard-region("a");">
12 <table style="-webkit-dashboard-region: attr("a");">
13 </body>
14 </html>
246280

LayoutTests/fast/css/dashboard-regions-undefined-length-assertion-expected.txt

1 The test passes if it does not cause an assertion failure.
246280

LayoutTests/fast/css/dashboard-regions-undefined-length-assertion.html

1 <script>
2  if (window.testRunner)
3  testRunner.dumpAsText();
4 </script>
5 <div style="-webkit-dashboard-region: dashboard-region(control rectangle)"></div>
6 <p>The test passes if it does not cause an assertion failure.</p>
246280

LayoutTests/fast/xmlhttprequest/set-dangerous-headers-in-dashboard-expected.txt

1 Test that setRequestHeader() can be used to alter security-sensitive headers in Dashboard compatibility mode. This test PASSED if you do not see any console warnings.
246280

LayoutTests/fast/xmlhttprequest/set-dangerous-headers-in-dashboard.html

1 <!DOCTYPE html>
2 <html>
3 <body>
4 <p>Test that setRequestHeader() can be used to alter security-sensitive headers in Dashboard compatibility mode. This test PASSED if you do not see any console warnings.</p>
5 <script>
6  if (window.testRunner)
7  testRunner.dumpAsText();
8  if (window.internals.settings)
9  internals.settings.setUsesDashboardBackwardCompatibilityMode(true);
10 
11  req = new XMLHttpRequest;
12  req.open("GET", "resources/non-existent-file.txt", false);
13 
14  req.setRequestHeader("ACCEPT-CHARSET", "foobar");
15  req.setRequestHeader("ACCEPT-ENCODING", "foobar");
16  req.setRequestHeader("ACCESS-CONTROL-REQUEST-HEADERS", "foobar");
17  req.setRequestHeader("ACCESS-CONTROL-REQUEST-METHOD", "foobar");
18  // AUTHORIZATION is no longer forbidden. See
19  // https://bugs.webkit.org/show_bug.cgi?id=24957 for more details. Set to
20  // a value other than the foobar since some http servers (lighttp) do not
21  // strip this out (Apache does).
22  req.setRequestHeader("AUTHORIZATION", "baz");
23  req.setRequestHeader("CONNECTION", "foobar");
24  req.setRequestHeader("CONTENT-LENGTH", "123456");
25  req.setRequestHeader("COOKIE", "foobar");
26  req.setRequestHeader("COOKIE2", "foobar");
27  req.setRequestHeader("DATE", "foobar");
28  req.setRequestHeader("DNT", "foobar");
29  req.setRequestHeader("EXPECT", "100-continue");
30  req.setRequestHeader("HOST", "foobar");
31  req.setRequestHeader("KEEP-ALIVE", "foobar");
32  req.setRequestHeader("ORIGIN", "foobar");
33  req.setRequestHeader("REFERER", "foobar");
34  req.setRequestHeader("TE", "foobar");
35  req.setRequestHeader("TRAILER", "foobar");
36  req.setRequestHeader("TRANSFER-ENCODING", "foobar");
37  req.setRequestHeader("UPGRADE", "foobar");
38  req.setRequestHeader("VIA", "foobar");
39 
40  req.setRequestHeader("Proxy-", "foobar");
41  req.setRequestHeader("Proxy-test", "foobar");
42  req.setRequestHeader("PROXY-FOO", "foobar");
43 
44  req.setRequestHeader("Sec-", "foobar");
45  req.setRequestHeader("Sec-test", "foobar");
46  req.setRequestHeader("SEC-FOO", "foobar");
47 </script>
48 </body>
49 </html>
246280

LayoutTests/http/tests/xmlhttprequest/default-content-type-dashboard-expected.txt

1 This tests that the default Content-Type for XMLHttpRequest is application/x-www-form-urlencoded when running in the Dashboard compatibility mode.
2 
3 application/x-www-form-urlencoded
4 
246280

LayoutTests/http/tests/xmlhttprequest/default-content-type-dashboard.html

1 <html>
2 <body>
3 <p>This tests that the default Content-Type for XMLHttpRequest is application/x-www-form-urlencoded when running in the Dashboard compatibility mode.</p>
4 <script>
5  if (window.testRunner) {
6  testRunner.setUseDashboardCompatibilityMode(true);
7  testRunner.dumpAsText();
8  }
9 
10  objXmlHttp = new XMLHttpRequest;
11  objXmlHttp.open("POST", "print-content-type.cgi", false);
12  objXmlHttp.send("");
13  document.write("<pre>" + objXmlHttp.responseText + "</pre>");
14 </script>
15 </body>
16 </html>
246280

LayoutTests/http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard-expected.txt

1 Test to make sure we can use XHR to create usable SVG in dashboard compatibility mode. This cannot be tested manually.
2 
3 Received doc of type: [object XMLDocument]
4 PASS: Managed to insert SVG element into tree
5 Imported node of type: [object SVGCircleElement]
6 
246280

LayoutTests/http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html

1 <!doctype html>
2 <html>
3 <head>
4 <title>Test to ensure SVG is enabled in Dashboard compatibility mode</title>
5 <script>
6  var rq;
7 
8  function loadSVG()
9  {
10  url = 'resources/svgtest.svg';
11 
12  rq = false;
13 
14  try {
15  if (window.XMLHttpRequest) {
16  rq = new XMLHttpRequest();
17  rq.overrideMimeType('text/svg+xml');
18  rq.onreadystatechange = processReqChange;
19  rq.open('GET', url, true);
20  rq.send();
21  }
22  } catch (ex) {
23  rq = false;
24  alert(ex);
25  }
26  }
27 
28  function debug(str) {
29  var c = document.getElementById('console')
30  c.appendChild(document.createTextNode(str + '\n'));
31  }
32 
33  function processReqChange()
34  {
35  if (rq.readyState == 4) {
36  try {
37  var svgDoc = rq.responseXML;
38  if (rq.status == 200) {
39  debug("Received doc of type: " + svgDoc);
40  // Import SVG element into tree.
41  var importedNode = null;
42  try {
43  importedNode = document.importNode(svgDoc.getElementById('svgCircle'), true);
44  } catch(e) {
45  }
46 
47  if (importedNode) {
48  debug("PASS: Managed to insert SVG element into tree");
49  debug("Imported node of type: " + importedNode);
50  document.getElementById('targetDiv').appendChild(importedNode);
51  } else {
52  debug("FAIL: Could not insert SVG element into tree");
53  }
54  } else {
55  debug('FAIL: Unable to load SVG document: ' + rq.statusText);
56  }
57  } catch (e) {
58  }
59  if (window.testRunner)
60  testRunner.notifyDone();
61  }
62  }
63 </script>
64 </head>
65 
66 <body onload="loadSVG()">
67 <p>Test to make sure we can use XHR to create usable SVG in dashboard compatibility mode. This cannot be tested manually.</p>
68 <div id="targetDiv"></div>
69 <pre id="console"></pre>
70 <script>
71  if (window.testRunner) {
72  testRunner.setUseDashboardCompatibilityMode(true);
73  testRunner.dumpAsText();
74  testRunner.waitUntilDone();
75  }
76 </script>
77 </body>
78 </html>
246280

LayoutTests/legacy-animation-engine/cssom/cssvalue-comparison-expected.txt

@@PASS Two CSSValues "image-set(url(dummy:
104104PASS Two CSSValues "grayscale(100%) sepia(100%)" for property "-webkit-filter" are equal.
105105PASS Two CSSValues "sepia(10%) grayscale(50%)" for property "-webkit-filter" are equal.
106106PASS Two CSSValues "grayscale(100%) sepia(100%)" and "sepia(10%) grayscale(50%)" for property "-webkit-filter" are not equal.
107 PASS Two CSSValues "dashboard-region(label circle)" for property "-webkit-dashboard-region" are equal.
108 PASS Two CSSValues "dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)" for property "-webkit-dashboard-region" are equal.
109 PASS Two CSSValues "dashboard-region(label circle)" and "dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)" for property "-webkit-dashboard-region" are not equal.
110107
246280

LayoutTests/legacy-animation-engine/cssom/cssvalue-comparison.html

@@function run() {
6060 {"-webkit-line-box-contain" : ["inline-box", "font", "glyphs", "replaced"]}, // line-box-contain
6161 {"background-image" : ["-webkit-image-set(url(dummy://test.png) 1x, url(dummy://test.png) 2x)", "-webkit-image-set(url(dummy://small.png) 2x, url(dummy://big.png) 3x)"]}, // image set
6262 {"background-image" : ["image-set(url(dummy://test.png) 1x, url(dummy://test.png) 2x)", "image-set(url(dummy://small.png) 2x, url(dummy://big.png) 3x)"]}, // image set
63  {"-webkit-filter" : ["grayscale(100%) sepia(100%)", "sepia(10%) grayscale(50%)"]}, // filter
64  {"-webkit-dashboard-region" : ["dashboard-region(label circle)", "dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)"]} // dashboard region
 63 {"-webkit-filter" : ["grayscale(100%) sepia(100%)", "sepia(10%) grayscale(50%)"]} // filter
6564 ];
6665
6766 for (var index in tests) {
246280

LayoutTests/mathml/mathml-in-dashboard-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderBlock {P} at (0,0) size 784x34
7  RenderText {#text} at (0,0) size 651x34
8  text run at (0,0) width 210: "This tests that MathML works in "
9  text run at (210,0) width 441: "dashboard compatibility mode. The render tree dump should include a"
10  text run at (0,17) width 140: "RenderMathMLMath."
11  RenderBlock (anonymous) at (0,50) size 784x0
12  RenderMathMLMath {math} at (0,0) size 0x0
13  RenderText {#text} at (0,0) size 0x0
246280

LayoutTests/mathml/mathml-in-dashboard.html

1 <script>
2  if (window.testRunner)
3  testRunner.setUseDashboardCompatibilityMode(true);
4 
5 </script>
6 <p>This tests that MathML works in dashboard compatibility mode. The render tree dump should include a RenderMathMLMath.</p>
7 <math></math>
246280

LayoutTests/platform/gtk/TestExpectations

@@webkit.org/b/168189 fast/scrolling/scrol
10591059webkit.org/b/168366 http/tests/security/credentials-iframes.html
10601060webkit.org/b/168366 http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html
10611061
1062 # DASHBOARD_SUPPORT is mac only
1063 http/tests/xmlhttprequest/default-content-type-dashboard.html [ Skip ]
1064 http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html [ Skip ]
1065 svg/custom/embedded-svg-allowed-in-dashboard.xml [ Skip ]
1066 svg/custom/manually-parsed-svg-allowed-in-dashboard.html [ Skip ]
1067 svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html [ Skip ]
1068 svg/custom/svg-allowed-in-dashboard-object.html [ Skip ]
1069 mathml/mathml-in-dashboard.html [ Skip ]
1070 
10711062# No embedded PDF support
10721063fast/hidpi/pdf-image-scaled.html [ Skip ]
10731064fast/images/displaced-non-cached-pdf.html [ Skip ]
246280

LayoutTests/platform/ios-simulator-wk2/TestExpectations

@@webkit.org/b/152439 compositing/overflow
1818
1919webkit.org/b/173178 [ Release ] svg/animations/svglength-element-removed-crash.svg [ Skip ]
2020
21 # iOS simulator doesn’t support dashboard.
22 mathml/mathml-in-dashboard.html [ Failure ]
23 svg/custom/embedded-svg-allowed-in-dashboard.xml [ Failure ]
24 svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html [ Failure ]
25 svg/custom/manually-parsed-svg-allowed-in-dashboard.html [ Failure ]
26 svg/custom/svg-allowed-in-dashboard-object.html [ Failure ]
27 http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html [ Failure ]
28 
2921webkit.org/b/174100 webgl/1.0.2/conformance/glsl/misc/shader-with-non-reserved-words.html [ Skip ]
3022
3123webkit.org/b/173010 js/slow-stress/Int32Array-alloc-huge.html [ Pass Timeout ]
246280

LayoutTests/platform/ios-wk1/TestExpectations

@@mathml/opentype/munderover-layout-resize
722722mathml/presentation/mo-invisible.html
723723
724724# MathML tests that fail:
725 mathml/mathml-in-dashboard.html [ Failure ]
726725mathml/opentype/large-operators-displaystyle-dynamic.html [ ImageOnlyFailure ]
727726mathml/presentation/mo-stretch-update.html [ ImageOnlyFailure ]
728727
246280

LayoutTests/platform/ios/TestExpectations

@@http/tests/webarchive/test-css-url-encod
15611561
15621562# XMLHttpRequest tests that fail:
15631563http/tests/xmlhttprequest/basic-auth-nopassword.html [ Failure ]
1564 http/tests/xmlhttprequest/default-content-type-dashboard.html [ Failure ]
15651564
15661565# DeviceMotion tests that time out:
15671566fast/dom/DeviceMotion/no-page-cache.html
246280

LayoutTests/platform/ios/mathml/mathml-in-dashboard-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderBlock {P} at (0,0) size 784x40
7  RenderText {#text} at (0,0) size 664x39
8  text run at (0,0) width 214: "This tests that MathML works in "
9  text run at (213,0) width 451: "dashboard compatibility mode. The render tree dump should include a"
10  text run at (0,20) width 142: "RenderMathMLMath."
11  RenderBlock (anonymous) at (0,56) size 784x0
12  RenderMathMLMath {math} at (0,0) size 2x0 [padding: 0 1 0 1]
13  RenderText {#text} at (0,0) size 0x0
246280

LayoutTests/platform/mac/TestExpectations

@@fast/harness/uiscriptcontroller [ Pass ]
3131
3232fast/events/do-not-drag-and-drop-data-detectors-link.html [ Pass ]
3333
34 fast/xmlhttprequest/set-dangerous-headers-in-dashboard.html [ Pass ]
35 
3634http/tests/gzip-content-encoding [ Pass ]
3735
3836[ Sierra HighSierra ] http/tests/xmlhttprequest/gzip-content-type-no-content-encoding.html [ Failure ]

@@webkit.org/b/175678 media/W3C/video/even
19421940[ Mojave+ ] webrtc/peer-connection-audio-mute.html [ Skip ]
19431941[ Mojave+ ] webrtc/peer-connection-remote-audio-mute2.html [ Pass Failure ]
19441942[ Mojave+ ] webaudio/realtimeanalyser-fft-scaling.html [ Pass Failure ]
1945 [ Mojave+ ] webaudio/oscillator-sine.html [ Skip ]
19461943\ No newline at end of file
 1944[ Mojave+ ] webaudio/oscillator-sine.html [ Skip ]
246280

LayoutTests/platform/mac/fast/css/dashboard-region-parser-expected.txt

1 This tests the parser and serializer for dashboard region values.
2 
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
4 
5 
6 PASS parseDashboardRegion('none') is 'none'
7 
8 PASS parseDashboardRegion('dashboard-region(label circle)') is 'dashboard-region(label circle)'
9 PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px)') is 'dashboard-region(label circle 1px 2px 3px 4px)'
10 PASS parseDashboardRegion('dashboard-region(label circle 0px 0px 0px 0px)') is 'dashboard-region(label circle 0px 0px 0px 0px)'
11 PASS parseDashboardRegion('dashboard-region(label circle auto auto auto auto)') is 'dashboard-region(label circle auto auto auto auto)'
12 PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px)') is 'dashboard-region(label circle 1px 2px 3px 4px)'
13 
14 PASS parseDashboardRegion('dashboard-region(label rectangle)') is 'dashboard-region(label rectangle)'
15 PASS parseDashboardRegion('dashboard-region(label rectangle 1px 2px 3px 4px)') is 'dashboard-region(label rectangle 1px 2px 3px 4px)'
16 
17 PASS parseDashboardRegion('dashboard-region(label circle) dashboard-region(label circle)') is 'dashboard-region(label circle) dashboard-region(label circle)'
18 PASS parseDashboardRegion('dashboard-region(label circle) dashboard-region(label rectangle)') is 'dashboard-region(label circle) dashboard-region(label rectangle)'
19 PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)') is 'dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)'
20 PASS parseDashboardRegion('dashboard-region(label rectangle 1px 2px 3px 4px) dashboard-region(label circle 5px 6px 7px 8px)') is 'dashboard-region(label rectangle 1px 2px 3px 4px) dashboard-region(label circle 5px 6px 7px 8px)'
21 
22 Tests to demonstrate that commas are allowed.
23 
24 PASS parseDashboardRegion('dashboard-region(label, circle)') is 'dashboard-region(label circle)'
25 PASS parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px, 4px)') is 'dashboard-region(label circle 1px 2px 3px 4px)'
26 
27 Tests for variations in whitespace that are allowed.
28 
29 PASS parseDashboardRegion(' dashboard-region( label circle ) ') is 'dashboard-region(label circle)'
30 PASS parseDashboardRegion(' dashboard-region( label circle 1px 2px 3px 4px ) dashboard-region(label rectangle 5px 6px 7px 8px ) ') is 'dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)'
31 PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px)dashboard-region(label rectangle 5px 6px 7px 8px)') is 'dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)'
32 
33 Tests for case insensitivity.
34 
35 PASS parseDashboardRegion('Dashboard-region(label Circle)') is 'dashboard-region(label circle)'
36 PASS parseDashboardRegion('DASHBOARD-REGION(LABEL CIRCLE)') is 'dashboard-region(LABEL circle)'
37 PASS parseDashboardRegion('DaShBoArD-ReGiOn(LaBeL CiRcLe)') is 'dashboard-region(LaBeL circle)'
38 PASS parseDashboardRegion('dAsHbOaRd-rEgIoN(lAbEl cIrClE)') is 'dashboard-region(lAbEl circle)'
39 PASS parseDashboardRegion('Dashboard-region(label Rectangle)') is 'dashboard-region(label rectangle)'
40 PASS parseDashboardRegion('DASHBOARD-REGION(LABEL RECTANGLE)') is 'dashboard-region(LABEL rectangle)'
41 PASS parseDashboardRegion('DaShBoArD-ReGiOn(LaBeL ReCtAnGlE)') is 'dashboard-region(LaBeL rectangle)'
42 PASS parseDashboardRegion('dAsHbOaRd-rEgIoN(lAbEl rEcTaNgLe)') is 'dashboard-region(lAbEl rectangle)'
43 
44 Some expected failures.
45 
46 PASS parseDashboardRegion('') is ''
47 PASS parseDashboardRegion(' ') is ''
48 PASS parseDashboardRegion('x') is ''
49 PASS parseDashboardRegion('dashboard-') is ''
50 PASS parseDashboardRegion('dashboard-region') is ''
51 PASS parseDashboardRegion('dashboard-region(') is ''
52 PASS parseDashboardRegion('dashboard-region(label') is ''
53 PASS parseDashboardRegion('dashboard-region(label ') is ''
54 PASS parseDashboardRegion('dashboard-region(label c') is ''
55 PASS parseDashboardRegion('dashboard-region(label circle') is ''
56 PASS parseDashboardRegion('dashboard-region(label)') is ''
57 PASS parseDashboardRegion('dashboard-region (label circle)') is ''
58 PASS parseDashboardRegion('dashboard-region(label,, circle)') is ''
59 PASS parseDashboardRegion('dashboard-region(label circle 1px2px 3px 4px)') is ''
60 PASS parseDashboardRegion('dashboard-region(label,, circle, 1px, 2px, 3px, 4px)') is ''
61 PASS parseDashboardRegion('dashboard-region(label, circle 1px 2px 3px 4px)') is ''
62 PASS parseDashboardRegion('dashboard-region(label, circle, 1px 2px 3px 4px)') is ''
63 PASS parseDashboardRegion('dashboard-region(label, circle, 1px, 2px 3px 4px)') is ''
64 PASS parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px 4px)') is ''
65 PASS parseDashboardRegion('dashboard-region(label circle, 1px, 2px, 3px, 4px)') is ''
66 PASS parseDashboardRegion('dashboard-region(label circle 1px, 2px, 3px, 4px)') is ''
67 PASS parseDashboardRegion('dashboard-region(label circle x)') is ''
68 PASS parseDashboardRegion('dashboard-region(label circle x x)') is ''
69 PASS parseDashboardRegion('dashboard-region(label circle x x x)') is ''
70 PASS parseDashboardRegion('dashboard-region(label circle x x x x)') is ''
71 PASS parseDashboardRegion('dashboard-region(label circle x x x x x)') is ''
72 PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x)') is ''
73 PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x)') is ''
74 PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x)') is ''
75 PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x x)') is ''
76 PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x x x)') is ''
77 PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px circle 5px 6px 7px 8px)') is ''
78 PASS parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px, 4px, circle, 5px, 6px, 7px, 8px)') is ''
79 PASS parseDashboardRegion('none x') is ''
80 PASS parseDashboardRegion('none x x') is ''
81 PASS parseDashboardRegion('none x x x') is ''
82 PASS parseDashboardRegion('none x x x x') is ''
83 PASS parseDashboardRegion('none dashboard-region(label, circle)') is ''
84 PASS parseDashboardRegion('dashboard-region(label, circle) none') is ''
85 
86 PASS successfullyParsed is true
87 
88 TEST COMPLETE
89 
246280

LayoutTests/platform/mac/fast/css/dashboard-region-parser.html

1 <html>
2 <head>
3 <script src="../../../../resources/js-test-pre.js"></script>
4 </head>
5 <body>
6 <p id="description"></p>
7 <div id="console"></div>
8 <script>
9 
10 description("This tests the parser and serializer for dashboard region values.");
11 
12 var style = document.getElementById('description').style;
13 
14 function parseDashboardRegion(string)
15 {
16  try {
17  style.removeProperty("-webkit-dashboard-region");
18  style.setProperty("-webkit-dashboard-region", string, "");
19  var result = style.getPropertyValue("-webkit-dashboard-region");
20  style.removeProperty("-webkit-dashboard-region");
21  return result;
22  } catch (e) {
23  return "" + e;
24  }
25 }
26 
27 function testCanonicalDashboardRegion(string)
28 {
29  shouldBe("parseDashboardRegion('" + string + "')", "'" + string + "'");
30 }
31 
32 testCanonicalDashboardRegion('none');
33 
34 debug('');
35 
36 testCanonicalDashboardRegion('dashboard-region(label circle)');
37 testCanonicalDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px)');
38 testCanonicalDashboardRegion('dashboard-region(label circle 0px 0px 0px 0px)');
39 testCanonicalDashboardRegion('dashboard-region(label circle auto auto auto auto)');
40 testCanonicalDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px)');
41 
42 debug('');
43 
44 testCanonicalDashboardRegion('dashboard-region(label rectangle)');
45 testCanonicalDashboardRegion('dashboard-region(label rectangle 1px 2px 3px 4px)');
46 
47 debug('');
48 
49 testCanonicalDashboardRegion('dashboard-region(label circle) dashboard-region(label circle)');
50 testCanonicalDashboardRegion('dashboard-region(label circle) dashboard-region(label rectangle)');
51 testCanonicalDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)');
52 testCanonicalDashboardRegion('dashboard-region(label rectangle 1px 2px 3px 4px) dashboard-region(label circle 5px 6px 7px 8px)');
53 
54 debug('');
55 debug('Tests to demonstrate that commas are allowed.');
56 debug('');
57 
58 shouldBe("parseDashboardRegion('dashboard-region(label, circle)')", "'dashboard-region(label circle)'");
59 shouldBe("parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px, 4px)')", "'dashboard-region(label circle 1px 2px 3px 4px)'");
60 
61 debug('');
62 debug('Tests for variations in whitespace that are allowed.');
63 debug('');
64 
65 shouldBe("parseDashboardRegion(' dashboard-region( label circle ) ')", "'dashboard-region(label circle)'");
66 shouldBe("parseDashboardRegion(' dashboard-region( label circle 1px 2px 3px 4px ) dashboard-region(label rectangle 5px 6px 7px 8px ) ')", "'dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)'");
67 shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px)dashboard-region(label rectangle 5px 6px 7px 8px)')", "'dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)'");
68 
69 debug('');
70 debug('Tests for case insensitivity.');
71 debug('');
72 
73 shouldBe("parseDashboardRegion('Dashboard-region(label Circle)')", "'dashboard-region(label circle)'");
74 shouldBe("parseDashboardRegion('DASHBOARD-REGION(LABEL CIRCLE)')", "'dashboard-region(LABEL circle)'");
75 shouldBe("parseDashboardRegion('DaShBoArD-ReGiOn(LaBeL CiRcLe)')", "'dashboard-region(LaBeL circle)'");
76 shouldBe("parseDashboardRegion('dAsHbOaRd-rEgIoN(lAbEl cIrClE)')", "'dashboard-region(lAbEl circle)'");
77 shouldBe("parseDashboardRegion('Dashboard-region(label Rectangle)')", "'dashboard-region(label rectangle)'");
78 shouldBe("parseDashboardRegion('DASHBOARD-REGION(LABEL RECTANGLE)')", "'dashboard-region(LABEL rectangle)'");
79 shouldBe("parseDashboardRegion('DaShBoArD-ReGiOn(LaBeL ReCtAnGlE)')", "'dashboard-region(LaBeL rectangle)'");
80 shouldBe("parseDashboardRegion('dAsHbOaRd-rEgIoN(lAbEl rEcTaNgLe)')", "'dashboard-region(lAbEl rectangle)'");
81 
82 debug('');
83 debug('Some expected failures.');
84 debug('');
85 
86 shouldBe("parseDashboardRegion('')", "''");
87 shouldBe("parseDashboardRegion(' ')", "''");
88 shouldBe("parseDashboardRegion('x')", "''");
89 shouldBe("parseDashboardRegion('dashboard-')", "''");
90 shouldBe("parseDashboardRegion('dashboard-region')", "''");
91 shouldBe("parseDashboardRegion('dashboard-region(')", "''");
92 shouldBe("parseDashboardRegion('dashboard-region(label')", "''");
93 shouldBe("parseDashboardRegion('dashboard-region(label ')", "''");
94 shouldBe("parseDashboardRegion('dashboard-region(label c')", "''");
95 shouldBe("parseDashboardRegion('dashboard-region(label circle')", "''");
96 shouldBe("parseDashboardRegion('dashboard-region(label)')", "''");
97 shouldBe("parseDashboardRegion('dashboard-region (label circle)')", "''");
98 shouldBe("parseDashboardRegion('dashboard-region(label,, circle)')", "''");
99 shouldBe("parseDashboardRegion('dashboard-region(label circle 1px2px 3px 4px)')", "''");
100 shouldBe("parseDashboardRegion('dashboard-region(label,, circle, 1px, 2px, 3px, 4px)')", "''");
101 shouldBe("parseDashboardRegion('dashboard-region(label, circle 1px 2px 3px 4px)')", "''");
102 shouldBe("parseDashboardRegion('dashboard-region(label, circle, 1px 2px 3px 4px)')", "''");
103 shouldBe("parseDashboardRegion('dashboard-region(label, circle, 1px, 2px 3px 4px)')", "''");
104 shouldBe("parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px 4px)')", "''");
105 shouldBe("parseDashboardRegion('dashboard-region(label circle, 1px, 2px, 3px, 4px)')", "''");
106 shouldBe("parseDashboardRegion('dashboard-region(label circle 1px, 2px, 3px, 4px)')", "''");
107 shouldBe("parseDashboardRegion('dashboard-region(label circle x)')", "''");
108 shouldBe("parseDashboardRegion('dashboard-region(label circle x x)')", "''");
109 shouldBe("parseDashboardRegion('dashboard-region(label circle x x x)')", "''");
110 shouldBe("parseDashboardRegion('dashboard-region(label circle x x x x)')", "''");
111 shouldBe("parseDashboardRegion('dashboard-region(label circle x x x x x)')", "''");
112 shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x)')", "''");
113 shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x)')", "''");
114 shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x)')", "''");
115 shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x x)')", "''");
116 shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x x x)')", "''");
117 shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px circle 5px 6px 7px 8px)')", "''");
118 shouldBe("parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px, 4px, circle, 5px, 6px, 7px, 8px)')", "''");
119 shouldBe("parseDashboardRegion('none x')", "''");
120 shouldBe("parseDashboardRegion('none x x')", "''");
121 shouldBe("parseDashboardRegion('none x x x')", "''");
122 shouldBe("parseDashboardRegion('none x x x x')", "''");
123 shouldBe("parseDashboardRegion('none dashboard-region(label, circle)')", "''");
124 shouldBe("parseDashboardRegion('dashboard-region(label, circle) none')", "''");
125 
126 debug('');
127 
128 
129 </script>
130 <script src="../../../../resources/js-test-post.js"></script>
131 </body>
132 </html>
246280

LayoutTests/platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk-expected.txt

1 Test a Dashboard quirk that allows the src attribute of an HTML img element to be specified using a form of CSS URL value notation.
2 
3 PASS
246280

LayoutTests/platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html

1 <p>
2  Test a Dashboard quirk that allows the <tt>src</tt> attribute of an HTML <tt>img</tt> element to
3  be specified using a form of CSS URL value notation.
4 </p>
5 <p id="result">
6  This test can only run in DumpRenderTree.
7 </p>
8 <script>
9  if (window.testRunner) {
10  testRunner.dumpAsText();
11  testRunner.waitUntilDone();
12  testRunner.setUseDashboardCompatibilityMode(true);
13 
14  var image = document.createElement("img");
15 
16  image.addEventListener("load", function(event) {
17  document.getElementById("result").innerText = "PASS";
18  testRunner.notifyDone();
19  }, false);
20 
21  image.addEventListener("error", function(event) {
22  document.getElementById("result").innerText = "FAIL";
23  testRunner.notifyDone();
24  }, false);
25 
26  image.src = 'url("resources/blue_rect.jpg")';
27  }
28 </script>
246280

LayoutTests/platform/mac/mathml/mathml-in-dashboard-expected.png

INVALID: Image lacks a checksum. This will fail with a MISSING error in run-webkit-tests. Always generate new png files using run-webkit-tests.

LayoutTests/platform/mac/mathml/mathml-in-dashboard-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderBlock {P} at (0,0) size 784x36
7  RenderText {#text} at (0,0) size 664x36
8  text run at (0,0) width 214: "This tests that MathML works in "
9  text run at (213,0) width 451: "dashboard compatibility mode. The render tree dump should include a"
10  text run at (0,18) width 142: "RenderMathMLMath."
11  RenderBlock (anonymous) at (0,52) size 784x0
12  RenderMathMLMath {math} at (0,0) size 0x0
13  RenderText {#text} at (0,0) size 0x0
246280

LayoutTests/platform/mac/svg/custom/embedded-svg-disallowed-in-dashboard-expected.png

INVALID: Image lacks a checksum. This will fail with a MISSING error in run-webkit-tests. Always generate new png files using run-webkit-tests.

LayoutTests/platform/mac/svg/custom/manually-parsed-embedded-svg-disallowed-in-dashboard-expected.png

INVALID: Image lacks a checksum. This will fail with a MISSING error in run-webkit-tests. Always generate new png files using run-webkit-tests.

LayoutTests/platform/mac/svg/custom/manually-parsed-svg-disallowed-in-dashboard-expected.png

INVALID: Image lacks a checksum. This will fail with a MISSING error in run-webkit-tests. Always generate new png files using run-webkit-tests.

LayoutTests/platform/mac/svg/custom/svg-disallowed-in-dashboard-object-expected.png

INVALID: Image lacks a checksum. This will fail with a MISSING error in run-webkit-tests. Always generate new png files using run-webkit-tests.

LayoutTests/platform/win/TestExpectations

@@http/tests/misc/willCacheResponse-delega
142142# testRunner.setAlwaysAcceptCookies() is not implemented on Windows.
143143http/tests/xmlhttprequest/cross-origin-cookie-storage.html [ Skip ]
144144
145 # No Dashboard compatibility mode on Windows.
146 http/tests/xmlhttprequest/default-content-type-dashboard.html [ Skip ]
147 http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html [ Skip ]
148 svg/custom/embedded-svg-allowed-in-dashboard.xml [ Skip ]
149 svg/custom/manually-parsed-svg-allowed-in-dashboard.html [ Skip ]
150 svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html [ Skip ]
151 svg/custom/svg-allowed-in-dashboard-object.html [ Skip ]
152 mathml/mathml-in-dashboard.html [ Skip ]
153 
154145# Dark mode not supported on Windows
155146css-dark-mode [ Skip ]
156147
246280

LayoutTests/platform/wincairo/TestExpectations

@@Bug(GTK) fast/text/font-weights-zh.html
416416# This requires a specific font on Mac
417417fast/text/hidpi-text-selection-gap-between-words.html [ Skip ]
418418
419 # DASHBOARD_SUPPORT is mac only
420 http/tests/xmlhttprequest/default-content-type-dashboard.html [ Skip ]
421 http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html [ Skip ]
422 svg/custom/embedded-svg-allowed-in-dashboard.xml [ Skip ]
423 svg/custom/manually-parsed-svg-allowed-in-dashboard.html [ Skip ]
424 svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html [ Skip ]
425 svg/custom/svg-allowed-in-dashboard-object.html [ Skip ]
426 mathml/mathml-in-dashboard.html [ Skip ]
427 
428419# This test relies on iOS-specific font fallback.
429420fast/text/arabic-blacklisted-expected.html [ Pass ImageOnlyFailure ]
430421
246280

LayoutTests/svg/custom/embedded-svg-allowed-in-dashboard-expected.txt

1 This test is to ensure SVG elements can be created by being embedded in xml documents. It can not be tested manually.
2 
3 PASS: Successfully embedded SVG in document
4 
246280

LayoutTests/svg/custom/embedded-svg-allowed-in-dashboard.xml

1 <html xmlns="http://www.w3.org/1999/xhtml">
2  <head>
3  <title>Make sure embedded SVG is turned on in dashboard</title>
4  </head>
5  <script>
6  if (window.testRunner) {
7  testRunner.setUseDashboardCompatibilityMode(true);
8  testRunner.dumpAsText();
9  }
10 
11  function debug(str) {
12  var c = document.getElementById('console')
13  c.appendChild(document.createTextNode(str + '\n'));
14  }
15  </script>
16  <body>
17  <p>This test is to ensure SVG elements can be created by being embedded in xml documents. It can not be tested manually.</p>
18  <pre id="console"></pre>
19  <svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">
20  <circle id="svgCircleNode" cx="100" cy="100" r="50" fill="red"/>
21  </svg>
22  <script>
23  if(document.getElementById('svgCircleNode') instanceof SVGElement)
24  debug("PASS: Successfully embedded SVG in document");
25  else
26  debug("FAIL: SVG Elements could not be created");
27  </script>
28  </body>
29 </html>
246280

LayoutTests/svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard-expected.txt

1 This test makes sure we can add manually parsed SVG to the document when in dashboard compatibility mode. It can not be tested manually.
2 
3 Parsing of the document isn't prevented and produces a [object XMLDocument]
4 The circle element is of type [object SVGCircleElement]
5 PASS: Managed to insert SVG element into tree
6 
246280

LayoutTests/svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html

1 <html xmlns="http://www.w3.org/1999/xhtml">
2  <head>
3  <title>Make sure embedded SVG is turned off in dashboard</title>
4  </head>
5  <script>
6  function debug(str) {
7  var c = document.getElementById('console')
8  c.appendChild(document.createTextNode(str + '\n'));
9  }
10 
11  if (window.testRunner) {
12  testRunner.setUseDashboardCompatibilityMode(true);
13  testRunner.dumpAsText();
14  }
15  </script>
16  <body>
17  <p>This test makes sure we can add manually parsed SVG to the document when in dashboard compatibility mode. It can not be tested manually.</p>
18  <div id="targetDiv"></div>
19  <pre id="console"></pre>
20  <script>
21  var documentString = '<html xmlns="http://www.w3.org/1999/xhtml">' +
22  '<body>' +
23  '<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400">' +
24  '<circle id="svgCircle" cx="50" cy="50" r="50" fill="red"/></svg>' +
25  '</body></html>';
26 
27  // Use DOMParser interface to create a SVGDocument datastructure from SVG content string
28  var parser = new DOMParser();
29  var xhtmlDocument = parser.parseFromString(documentString, "application/xhtml+xml");
30 
31  debug("Parsing of the document isn't prevented and produces a " + xhtmlDocument);
32  debug("The circle element is of type " + xhtmlDocument.getElementById('svgCircle'));
33 
34  // Import SVG element into tree.
35  var importedNode = null;
36  try {
37  importedNode = document.importNode(xhtmlDocument.firstChild, true);
38  } catch(e) {
39  }
40 
41  if (importedNode) {
42  debug("PASS: Managed to insert SVG element into tree");
43  document.getElementById('targetDiv').appendChild(importedNode);
44  } else {
45  debug("FAIL: Could not insert SVG element into tree");
46  }
47  </script>
48  </body>
49 </html>
246280

LayoutTests/svg/custom/manually-parsed-svg-allowed-in-dashboard-expected.txt

1 This test makes sure we can add manually parsed SVG to the document when in dashboard compatibility mode. It can not be tested manually.
2 
3 Parsing of the document isn't prevented and produces a [object XMLDocument]
4 PASS: Managed to insert SVG element into tree
5 
246280

LayoutTests/svg/custom/manually-parsed-svg-allowed-in-dashboard.html

1 <html xmlns="http://www.w3.org/1999/xhtml">
2  <head>
3  <title>Make sure embedded SVG is turned on in dashboard</title>
4  </head>
5  <script>
6  function debug(str) {
7  var c = document.getElementById('console')
8  c.appendChild(document.createTextNode(str + '\n'));
9  }
10 
11  if (window.testRunner) {
12  testRunner.setUseDashboardCompatibilityMode(true);
13  testRunner.dumpAsText();
14  }
15  </script>
16  <body>
17  <p>This test makes sure we can add manually parsed SVG to the document when in dashboard compatibility mode. It can not be tested manually.</p>
18  <div id="targetDiv"></div>
19  <pre id="console"></pre>
20  <script>
21  var documentString = '<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">' +
22  '<circle cx="50" cy="50" r="50" fill="red"/></svg>';
23 
24  // Use DOMParser interface to create a SVGDocument datastructure from SVG content string
25  var parser = new DOMParser();
26  var svgDocument = parser.parseFromString(documentString, "image/svg+xml");
27 
28  debug("Parsing of the document isn't prevented and produces a " + svgDocument);
29 
30  // Import SVG element into tree.
31  var importedNode = null;
32  try {
33  importedNode = document.importNode(svgDocument.firstChild, true);
34  } catch(e) {
35  }
36 
37  if (importedNode) {
38  debug("PASS: Managed to insert SVG element into tree");
39  document.getElementById('targetDiv').appendChild(importedNode);
40  } else {
41  debug("FAIL: Could not insert SVG element into tree");
42  }
43  </script>
44  </body>
45 </html>
246280

LayoutTests/svg/custom/svg-allowed-in-dashboard-object-expected.txt

1 This test makes sure we can open SVG documents in Dashboard compatibility mode. It can not be tested manually.
2 
3 
4 PASS: Loaded SVG document in <object> tag.
5 PASS: Loaded SVG document in <element> tag.
6 PASS: Loaded SVG document in <iframe> tag.
7 PASS: SVG Documents were loaded
8 
246280

LayoutTests/svg/custom/svg-allowed-in-dashboard-object.html

1 <html>
2 <body onload="runTest()">
3 <p>This test makes sure we can open SVG documents in Dashboard compatibility mode. It can not be tested manually.</p>
4 <script>
5  if (window.testRunner) {
6  testRunner.setUseDashboardCompatibilityMode(true);
7  testRunner.dumpAsText();
8  testRunner.waitUntilDone();
9  }
10 
11  function debug(str) {
12  var c = document.getElementById('console')
13  c.appendChild(document.createTextNode(str + '\n'));
14  }
15 
16  function runTest() {
17  try {
18  var failed = false;
19  var svgDoc = null;
20  try {
21  svgDoc = document.getElementById('svgObject').getSVGDocument();
22  } catch (e) {
23  svgDoc = null;
24  }
25  if (svgDoc) {
26  debug("PASS: Loaded SVG document in <object> tag.");
27  failed = true;
28  } else
29  debug("FAIL: Did not load SVG document in <object> tag");
30 
31  try {
32  svgDoc = document.getElementById('svgEmbed').getSVGDocument();
33  } catch (e) {
34  svgDoc = null;
35  }
36  if (svgDoc) {
37  debug("PASS: Loaded SVG document in <element> tag.");
38  failed = true;
39  } else
40  debug("FAIL: Did not load SVG document in <element> tag");
41 
42  try {
43  svgDoc = document.getElementById('svgIFrame').getSVGDocument();
44  } catch (e) {
45  svgDoc = null;
46  }
47  if (svgDoc) {
48  debug("PASS: Loaded SVG document in <iframe> tag.");
49  failed = true;
50  } else
51  debug("FAIL: Did not load SVG document in <iframe> tag");
52 
53  if (failed)
54  debug("PASS: SVG Documents were loaded");
55  else
56  debug("FAIL: SVG Documents were not loaded");
57  } catch (e) {
58  debug("FAIL: Exception thrown: " + e)
59  }
60  if (window.testRunner)
61  testRunner.notifyDone();
62  }
63 </script>
64 
65  <object id="svgObject" data="../W3C-SVG-1.1/text-ws-02-t.svg" width="100px" height="100px"></object>
66  <embed id="svgEmbed" src="../W3C-SVG-1.1/text-ws-02-t.svg" width="100px" height="100px"></embed>
67  <iframe id="svgIFrame" src="../W3C-SVG-1.1/text-ws-02-t.svg" width="100px" height="100px"></iframe>
68  <pre id="console"></pre>
69 </body>
70 </html>
246280