diff options
Diffstat (limited to 'Tools/Scripts/webkitperl')
7 files changed, 645 insertions, 262 deletions
diff --git a/Tools/Scripts/webkitperl/FeatureList.pm b/Tools/Scripts/webkitperl/FeatureList.pm index c104d1f31..0e39102ed 100644 --- a/Tools/Scripts/webkitperl/FeatureList.pm +++ b/Tools/Scripts/webkitperl/FeatureList.pm @@ -44,35 +44,42 @@ BEGIN { my ( $threeDRenderingSupport, $accelerated2DCanvasSupport, - $animationAPISupport, $batteryStatusSupport, $blobSupport, + $canvasPathSupport, + $canvasProxySupport, $channelMessagingSupport, $cspNextSupport, - $css3BackgroundSupport, $css3ConditionalRulesSupport, $css3TextSupport, + $css3TextLineBreakSupport, + $css4ImagesSupport, $cssBoxDecorationBreakSupport, $cssDeviceAdaptation, $cssExclusionsSupport, $cssFiltersSupport, - $cssHierarchiesSupport, $cssImageOrientationSupport, $cssImageResolutionSupport, + $cssImageSetSupport, $cssRegionsSupport, $cssShadersSupport, + $cssShapesSupport, + $cssStickyPositionSupport, $cssCompositingSupport, + $cssAnimationsTransformsUnprefixedSupport, $cssVariablesSupport, $customSchemeHandlerSupport, $dataTransferItemsSupport, - $datalistSupport, - $detailsSupport, + $datalistElementSupport, + $detailsElementSupport, $deviceOrientationSupport, $dialogElementSupport, $directoryUploadSupport, + $dom4EventsConstructor, $downloadAttributeSupport, $fileSystemSupport, $filtersSupport, + $fontLoadEventsSupport, $ftpDirSupport, $fullscreenAPISupport, $gamepadSupport, @@ -80,7 +87,6 @@ my ( $highDPICanvasSupport, $icondatabaseSupport, $iframeSeamlessSupport, - $imageResizerSupport, $indexedDatabaseSupport, $inputSpeechSupport, $inputTypeColorSupport, @@ -102,72 +108,79 @@ my ( $mediaSourceSupport, $mediaStatisticsSupport, $mediaStreamSupport, - $meterTagSupport, + $meterElementSupport, $mhtmlSupport, $microdataSupport, - $mutationObserversSupport, + $mouseCursorScaleSupport, $netscapePluginAPISupport, $networkInfoSupport, + $nosniffSupport, $notificationsSupport, $orientationEventsSupport, $pageVisibilityAPISupport, - $progressTagSupport, + $performanceTimelineSupport, + $progressElementSupport, $proximityEventsSupport, $quotaSupport, $resolutionMediaQuerySupport, $registerProtocolHandlerSupport, $requestAnimationFrameSupport, + $resourceTimingSupport, $scriptedSpeechSupport, + $seccompFiltersSupport, $shadowDOMSupport, $sharedWorkersSupport, $sqlDatabaseSupport, $styleScopedSupport, + $suidLinuxSandbox, $svgDOMObjCBindingsSupport, $svgFontsSupport, $svgSupport, $systemMallocSupport, - $templateTagSupport, + $templateElementSupport, $textAutosizingSupport, $tiledBackingStoreSupport, + $threadedHTMLParserSupport, $touchEventsSupport, $touchSliderSupport, $touchIconLoadingSupport, + $userTimingSupport, $vibrationSupport, $videoSupport, $videoTrackSupport, $webglSupport, $webAudioSupport, - $webIntentsSupport, - $webIntentsTagSupport, $webSocketsSupport, $webTimingSupport, $workersSupport, - $xhrResponseBlobSupport, $xhrTimeoutSupport, $xsltSupport, ); my @features = ( { option => "3d-rendering", desc => "Toggle 3D Rendering support", - define => "ENABLE_3D_RENDERING", default => (isAppleMacWebKit() || isQt()), value => \$threeDRenderingSupport }, + define => "ENABLE_3D_RENDERING", default => (isAppleMacWebKit() || isGtk() || isEfl()), value => \$threeDRenderingSupport }, { option => "accelerated-2d-canvas", desc => "Toggle Accelerated 2D Canvas support", define => "ENABLE_ACCELERATED_2D_CANVAS", default => 0, value => \$accelerated2DCanvasSupport }, - { option => "animation-api", desc => "Toggle Animation API support", - define => "ENABLE_ANIMATION_API", default => (isBlackBerry() || isEfl()), value => \$animationAPISupport }, - { option => "battery-status", desc => "Toggle Battery Status support", define => "ENABLE_BATTERY_STATUS", default => (isEfl() || isBlackBerry()), value => \$batteryStatusSupport }, { option => "blob", desc => "Toggle Blob support", - define => "ENABLE_BLOB", default => (isAppleMacWebKit() || isGtk() || isChromium() || isBlackBerry() || isEfl()), value => \$blobSupport }, + define => "ENABLE_BLOB", default => (isAppleMacWebKit() || isGtk() || isBlackBerry() || isEfl()), value => \$blobSupport }, + + { option => "canvas-path", desc => "Toggle Canvas Path support", + define => "ENABLE_CANVAS_PATH", default => 1, value => \$canvasPathSupport }, + + { option => "canvas-proxy", desc => "Toggle CanvasProxy support", + define => "ENABLE_CANVAS_PROXY", default => 0, value => \$canvasProxySupport }, { option => "channel-messaging", desc => "Toggle Channel Messaging support", define => "ENABLE_CHANNEL_MESSAGING", default => 1, value => \$channelMessagingSupport }, { option => "csp-next", desc => "Toggle Content Security Policy 1.1 support", - define => "ENABLE_CSP_NEXT", default => 0, value => \$cspNextSupport }, + define => "ENABLE_CSP_NEXT", default => isGtk(), value => \$cspNextSupport }, { option => "css-device-adaptation", desc => "Toggle CSS Device Adaptation support", define => "ENABLE_CSS_DEVICE_ADAPTATION", default => isEfl(), value => \$cssDeviceAdaptation }, @@ -175,26 +188,32 @@ my @features = ( { option => "css-exclusions", desc => "Toggle CSS Exclusions support", define => "ENABLE_CSS_EXCLUSIONS", default => 1, value => \$cssExclusionsSupport }, + { option => "css-shapes", desc => "Toggle CSS Shapes support", + define => "ENABLE_CSS_SHAPES", default => 1, value => \$cssShapesSupport }, + { option => "css-filters", desc => "Toggle CSS Filters support", define => "ENABLE_CSS_FILTERS", default => isAppleWebKit() || isBlackBerry(), value => \$cssFiltersSupport }, - { option => "css3-background", desc => "Toggle CSS3 Background support", - define => "ENABLE_CSS3_BACKGROUND", default => 0, value => \$css3BackgroundSupport }, - { option => "css3-conditional-rules", desc => "Toggle CSS3 Conditional Rules support (i.e. \@supports)", define => "ENABLE_CSS3_CONDITIONAL_RULES", default => 0, value => \$css3ConditionalRulesSupport }, { option => "css3-text", desc => "Toggle CSS3 Text support", - define => "ENABLE_CSS3_TEXT", default => isEfl(), value => \$css3TextSupport }, + define => "ENABLE_CSS3_TEXT", default => (isEfl() || isGtk()), value => \$css3TextSupport }, + + { option => "css3-text-line-break", desc => "Toggle CSS3 Text Line Break support", + define => "ENABLE_CSS3_TEXT_LINE_BREAK", default => 0, value => \$css3TextLineBreakSupport }, { option => "css-box-decoration-break", desc => "Toggle CSS box-decoration-break support", define => "ENABLE_CSS_BOX_DECORATION_BREAK", default => 1, value => \$cssBoxDecorationBreakSupport }, { option => "css-image-orientation", desc => "Toggle CSS image-orientation support", - define => "ENABLE_CSS_IMAGE_ORIENTATION", default => 0, value => \$cssImageOrientationSupport }, + define => "ENABLE_CSS_IMAGE_ORIENTATION", default => isGtk(), value => \$cssImageOrientationSupport }, { option => "css-image-resolution", desc => "Toggle CSS image-resolution support", - define => "ENABLE_CSS_IMAGE_RESOLUTION", default => 0, value => \$cssImageResolutionSupport }, + define => "ENABLE_CSS_IMAGE_RESOLUTION", default => (isBlackBerry() || isGtk()), value => \$cssImageResolutionSupport }, + + { option => "css-image-set", desc => "Toggle CSS image-set support", + define => "ENABLE_CSS_IMAGE_SET", default => (isEfl() || isGtk()), value => \$cssImageSetSupport }, { option => "css-regions", desc => "Toggle CSS Regions support", define => "ENABLE_CSS_REGIONS", default => 1, value => \$cssRegionsSupport }, @@ -202,33 +221,42 @@ my @features = ( { option => "css-shaders", desc => "Toggle CSS Shaders support", define => "ENABLE_CSS_SHADERS", default => isAppleMacWebKit(), value => \$cssShadersSupport }, + { option => "css-sticky-position", desc => "Toggle CSS sticky position support", + define => "ENABLE_CSS_STICKY_POSITION", default => (isGtk() || isEfl()), value => \$cssStickyPositionSupport }, + { option => "css-compositing", desc => "Toggle CSS Compositing support", define => "ENABLE_CSS_COMPOSITING", default => isAppleWebKit(), value => \$cssCompositingSupport }, + { option => "css-transforms-animations-unprefixed", desc => "Toggle support for unprefixed CSS animations and transforms", + define => "ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED", default => 1, value => \$cssAnimationsTransformsUnprefixedSupport }, + { option => "css-variables", desc => "Toggle CSS Variable support", - define => "ENABLE_CSS_VARIABLES", default => (isBlackBerry() || isEfl()), value => \$cssVariablesSupport }, + define => "ENABLE_CSS_VARIABLES", default => (isBlackBerry() || isEfl() || isGtk()), value => \$cssVariablesSupport }, { option => "custom-scheme-handler", desc => "Toggle Custom Scheme Handler support", define => "ENABLE_CUSTOM_SCHEME_HANDLER", default => (isBlackBerry() || isEfl()), value => \$customSchemeHandlerSupport }, - { option => "datalist", desc => "Toggle Datalist support", - define => "ENABLE_DATALIST_ELEMENT", default => isEfl(), value => \$datalistSupport }, + { option => "datalist-element", desc => "Toggle Datalist Element support", + define => "ENABLE_DATALIST_ELEMENT", default => isEfl(), value => \$datalistElementSupport }, { option => "data-transfer-items", desc => "Toggle Data Transfer Items support", define => "ENABLE_DATA_TRANSFER_ITEMS", default => 0, value => \$dataTransferItemsSupport }, - { option => "details", desc => "Toggle Details support", - define => "ENABLE_DETAILS_ELEMENT", default => 1, value => \$detailsSupport }, + { option => "details-element", desc => "Toggle Details Element support", + define => "ENABLE_DETAILS_ELEMENT", default => 1, value => \$detailsElementSupport }, { option => "device-orientation", desc => "Toggle Device Orientation support", define => "ENABLE_DEVICE_ORIENTATION", default => isBlackBerry(), value => \$deviceOrientationSupport }, - { option => "dialog", desc => "Toggle Dialog Element support", + { option => "dialog-element", desc => "Toggle Dialog Element support", define => "ENABLE_DIALOG_ELEMENT", default => 0, value => \$dialogElementSupport }, { option => "directory-upload", desc => "Toggle Directory Upload support", define => "ENABLE_DIRECTORY_UPLOAD", default => 0, value => \$directoryUploadSupport }, + { option => "dom4-events-constructor", desc => "Expose DOM4 Events constructors", + define => "ENABLE_DOM4_EVENTS_CONSTRUCTOR", default => (isAppleWebKit() || isGtk() || isEfl()), value => \$dom4EventsConstructor }, + { option => "download-attribute", desc => "Toggle Download Attribute support", define => "ENABLE_DOWNLOAD_ATTRIBUTE", default => (isBlackBerry() || isEfl()), value => \$downloadAttributeSupport }, @@ -236,16 +264,19 @@ my @features = ( define => "ENABLE_FILE_SYSTEM", default => isBlackBerry(), value => \$fileSystemSupport }, { option => "filters", desc => "Toggle Filters support", - define => "ENABLE_FILTERS", default => (isAppleWebKit() || isGtk() || isQt() || isEfl() || isBlackBerry()), value => \$filtersSupport }, + define => "ENABLE_FILTERS", default => (isAppleWebKit() || isGtk() || isEfl() || isBlackBerry()), value => \$filtersSupport }, + + { option => "font-load-events", desc => "Toggle Font Load Events support", + define => "ENABLE_FONT_LOAD_EVENTS", default => 0, value => \$fontLoadEventsSupport }, { option => "ftpdir", desc => "Toggle FTP Directory support", define => "ENABLE_FTPDIR", default => !isWinCE(), value => \$ftpDirSupport }, { option => "fullscreen-api", desc => "Toggle Fullscreen API support", - define => "ENABLE_FULLSCREEN_API", default => (isAppleMacWebKit() || isEfl() || isGtk() || isBlackBerry() || isQt()), value => \$fullscreenAPISupport }, + define => "ENABLE_FULLSCREEN_API", default => (isAppleMacWebKit() || isEfl() || isGtk() || isBlackBerry()), value => \$fullscreenAPISupport }, { option => "gamepad", desc => "Toggle Gamepad support", - define => "ENABLE_GAMEPAD", default => (isEfl() || isGtk() || isQt()), value => \$gamepadSupport }, + define => "ENABLE_GAMEPAD", default => (isEfl() || isGtk()), value => \$gamepadSupport }, { option => "geolocation", desc => "Toggle Geolocation support", define => "ENABLE_GEOLOCATION", default => (isAppleWebKit() || isGtk() || isBlackBerry()), value => \$geolocationSupport }, @@ -260,19 +291,19 @@ my @features = ( define => "ENABLE_IFRAME_SEAMLESS", default => 1, value => \$iframeSeamlessSupport }, { option => "indexed-database", desc => "Toggle Indexed Database support", - define => "ENABLE_INDEXED_DATABASE", default => 0, value => \$indexedDatabaseSupport }, + define => "ENABLE_INDEXED_DATABASE", default => (isGtk() || isEfl()), value => \$indexedDatabaseSupport }, { option => "input-speech", desc => "Toggle Input Speech support", define => "ENABLE_INPUT_SPEECH", default => 0, value => \$inputSpeechSupport }, { option => "input-type-color", desc => "Toggle Input Type Color support", - define => "ENABLE_INPUT_TYPE_COLOR", default => (isBlackBerry() || isEfl() || isQt()), value => \$inputTypeColorSupport }, + define => "ENABLE_INPUT_TYPE_COLOR", default => (isBlackBerry() || isEfl()), value => \$inputTypeColorSupport }, { option => "input-type-date", desc => "Toggle Input Type Date support", define => "ENABLE_INPUT_TYPE_DATE", default => 0, value => \$inputTypeDateSupport }, - { option => "input-type-datetime", desc => "Toggle Input Type Datetime support", - define => "ENABLE_INPUT_TYPE_DATETIME", default => 0, value => \$inputTypeDatetimeSupport }, + { option => "input-type-datetime", desc => "Toggle broken Input Type Datetime support", + define => "ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE", default => 0, value => \$inputTypeDatetimeSupport }, { option => "input-type-datetimelocal", desc => "Toggle Input Type Datetimelocal support", define => "ENABLE_INPUT_TYPE_DATETIMELOCAL", default => 0, value => \$inputTypeDatetimelocalSupport }, @@ -296,7 +327,7 @@ my @features = ( define => "ENABLE_LEGACY_NOTIFICATIONS", default => isBlackBerry(), value => \$legacyNotificationsSupport }, { option => "legacy-vendor-prefixes", desc => "Toggle Legacy Vendor Prefix support", - define => "ENABLE_LEGACY_VENDOR_PREFIXES", default => !isChromium(), value => \$legacyVendorPrefixSupport }, + define => "ENABLE_LEGACY_VENDOR_PREFIXES", default => 1, value => \$legacyVendorPrefixSupport }, { option => "legacy-web-audio", desc => "Toggle Legacy Web Audio support", define => "ENABLE_LEGACY_WEB_AUDIO", default => 1, value => \$legacyWebAudioSupport }, @@ -304,11 +335,8 @@ my @features = ( { option => "link-prefetch", desc => "Toggle Link Prefetch support", define => "ENABLE_LINK_PREFETCH", default => (isGtk() || isEfl()), value => \$linkPrefetchSupport }, - { option => "link-prerender", desc => "Toggle Link Prerender support", - define => "ENABLE_LINK_PRERENDER", default => 0, value => \$linkPrerenderSupport }, - { option => "mathml", desc => "Toggle MathML support", - define => "ENABLE_MATHML", default => 1, value => \$mathmlSupport }, + define => "ENABLE_MATHML", default => !isBlackBerry(), value => \$mathmlSupport }, { option => "media-capture", desc => "Toggle Media Capture support", define => "ENABLE_MEDIA_CAPTURE", default => isEfl(), value => \$mediaCaptureSupport }, @@ -320,19 +348,19 @@ my @features = ( define => "ENABLE_MEDIA_STATISTICS", default => 0, value => \$mediaStatisticsSupport }, { option => "media-stream", desc => "Toggle Media Stream support", - define => "ENABLE_MEDIA_STREAM", default => (isChromium() || isGtk() || isBlackBerry()), value => \$mediaStreamSupport }, + define => "ENABLE_MEDIA_STREAM", default => isBlackBerry(), value => \$mediaStreamSupport }, - { option => "meter-tag", desc => "Toggle Meter Tag support", - define => "ENABLE_METER_ELEMENT", default => !isAppleWinWebKit(), value => \$meterTagSupport }, + { option => "meter-element", desc => "Toggle Meter Element support", + define => "ENABLE_METER_ELEMENT", default => !isAppleWinWebKit(), value => \$meterElementSupport }, { option => "mhtml", desc => "Toggle MHTML support", - define => "ENABLE_MHTML", default => isGtk(), value => \$mhtmlSupport }, + define => "ENABLE_MHTML", default => (isGtk() || isEfl()), value => \$mhtmlSupport }, { option => "microdata", desc => "Toggle Microdata support", - define => "ENABLE_MICRODATA", default => (isEfl() || isBlackBerry()), value => \$microdataSupport }, + define => "ENABLE_MICRODATA", default => (isEfl() || isBlackBerry() || isGtk()), value => \$microdataSupport }, - { option => "mutation-observers", desc => "Toggle Mutation Observers support", - define => "ENABLE_MUTATION_OBSERVERS", default => 1, value => \$mutationObserversSupport }, + { option => "mouse-cursor-scale", desc => "Toggle Scaled mouse cursor support", + define => "ENABLE_MOUSE_CURSOR_SCALE", default => isEfl(), value => \$mouseCursorScaleSupport }, { option => "navigator-content-utils", desc => "Toggle Navigator Content Utils support", define => "ENABLE_NAVIGATOR_CONTENT_UTILS", default => (isBlackBerry() || isEfl()), value => \$registerProtocolHandlerSupport }, @@ -343,6 +371,9 @@ my @features = ( { option => "network-info", desc => "Toggle Network Info support", define => "ENABLE_NETWORK_INFO", default => (isEfl() || isBlackBerry()), value => \$networkInfoSupport }, + { option => "nosniff", desc => "Toggle support for 'X-Content-Type-Options: nosniff'", + define => "ENABLE_NOSNIFF", default => 0, value => \$nosniffSupport }, + { option => "notifications", desc => "Toggle Notifications support", define => "ENABLE_NOTIFICATIONS", default => isBlackBerry(), value => \$notificationsSupport }, @@ -350,10 +381,13 @@ my @features = ( define => "ENABLE_ORIENTATION_EVENTS", default => isBlackBerry(), value => \$orientationEventsSupport }, { option => "page-visibility-api", desc => "Toggle Page Visibility API support", - define => "ENABLE_PAGE_VISIBILITY_API", default => (isBlackBerry() || isEfl()), value => \$pageVisibilityAPISupport }, + define => "ENABLE_PAGE_VISIBILITY_API", default => (isBlackBerry() || isEfl() || isGtk()), value => \$pageVisibilityAPISupport }, + + { option => "performance-timeline", desc => "Toggle Performance Timeline support", + define => "ENABLE_PERFORMANCE_TIMELINE", default => isGtk(), value => \$performanceTimelineSupport }, - { option => "progress-tag", desc => "Toggle Progress Tag support", - define => "ENABLE_PROGRESS_ELEMENT", default => 1, value => \$progressTagSupport }, + { option => "progress-element", desc => "Toggle Progress Element support", + define => "ENABLE_PROGRESS_ELEMENT", default => 1, value => \$progressElementSupport }, { option => "proximity-events", desc => "Toggle Proximity Events support", define => "ENABLE_PROXIMITY_EVENTS", default => 0, value => \$proximityEventsSupport }, @@ -362,16 +396,22 @@ my @features = ( define => "ENABLE_QUOTA", default => 0, value => \$quotaSupport }, { option => "resolution-media-query", desc => "Toggle resolution media query support", - define => "ENABLE_RESOLUTION_MEDIA_QUERY", default => (isEfl() || isQt()), value => \$resolutionMediaQuerySupport }, + define => "ENABLE_RESOLUTION_MEDIA_QUERY", default => isEfl(), value => \$resolutionMediaQuerySupport }, + + { option => "resource-timing", desc => "Toggle Resource Timing support", + define => "ENABLE_RESOURCE_TIMING", default => isGtk(), value => \$resourceTimingSupport }, { option => "request-animation-frame", desc => "Toggle Request Animation Frame support", define => "ENABLE_REQUEST_ANIMATION_FRAME", default => (isAppleMacWebKit() || isGtk() || isEfl() || isBlackBerry()), value => \$requestAnimationFrameSupport }, + { option => "seccomp-filters", desc => "Toggle Seccomp Filter sandbox", + define => "ENABLE_SECCOMP_FILTERS", default => 0, value => \$seccompFiltersSupport }, + { option => "scripted-speech", desc => "Toggle Scripted Speech support", define => "ENABLE_SCRIPTED_SPEECH", default => 0, value => \$scriptedSpeechSupport }, { option => "shadow-dom", desc => "Toggle Shadow DOM support", - define => "ENABLE_SHADOW_DOM", default => (isGtk() || isEfl()), value => \$shadowDOMSupport }, + define => "ENABLE_SHADOW_DOM", default => 0, value => \$shadowDOMSupport }, { option => "shared-workers", desc => "Toggle Shared Workers support", define => "ENABLE_SHARED_WORKERS", default => (isAppleWebKit() || isGtk() || isBlackBerry() || isEfl()), value => \$sharedWorkersSupport }, @@ -380,31 +420,34 @@ my @features = ( define => "ENABLE_SQL_DATABASE", default => 1, value => \$sqlDatabaseSupport }, { option => "style-scoped", desc => "Toggle Style Scoped support", - define => "ENABLE_STYLE_SCOPED", default => isBlackBerry(), value => \$styleScopedSupport }, + define => "ENABLE_STYLE_SCOPED", default => (isBlackBerry() || isGtk()), value => \$styleScopedSupport }, + + { option => "suid-linux-sandbox", desc => "Toggle suid sandbox for linux", + define => "ENABLE_SUID_SANDBOX_LINUX", default => 0, value => \$suidLinuxSandbox }, { option => "svg", desc => "Toggle SVG support", define => "ENABLE_SVG", default => 1, value => \$svgSupport }, - { option => "svg-dom-objc-bindings", desc => "Toggle SVG DOM ObjC Bindings support", - define => "ENABLE_SVG_DOM_OBJC_BINDINGS", default => isAppleMacWebKit(), value => \$svgDOMObjCBindingsSupport }, - { option => "svg-fonts", desc => "Toggle SVG Fonts support", define => "ENABLE_SVG_FONTS", default => 1, value => \$svgFontsSupport }, { option => "system-malloc", desc => "Toggle system allocator instead of TCmalloc", - define => "USE_SYSTEM_MALLOC", default => isWinCE(), value => \$systemMallocSupport }, + define => "USE_SYSTEM_MALLOC", default => (isBlackBerry() || isWinCE()), value => \$systemMallocSupport }, - { option => "template-tag", desc => "Toggle Templates Tag support", - define => "ENABLE_TEMPLATE_ELEMENT", default => !isAppleWinWebKit(), value => \$templateTagSupport }, + { option => "template-element", desc => "Toggle HTMLTemplateElement support", + define => "ENABLE_TEMPLATE_ELEMENT", default => (isEfl() || isGtk()), value => \$templateElementSupport }, { option => "text-autosizing", desc => "Toggle Text Autosizing support", - define => "ENABLE_TEXT_AUTOSIZING", default => 0, value => \$textAutosizingSupport }, + define => "ENABLE_TEXT_AUTOSIZING", default => isBlackBerry(), value => \$textAutosizingSupport }, { option => "tiled-backing-store", desc => "Toggle Tiled Backing Store support", - define => "WTF_USE_TILED_BACKING_STORE", default => (isQt() || isEfl()), value => \$tiledBackingStoreSupport }, + define => "WTF_USE_TILED_BACKING_STORE", default => isEfl(), value => \$tiledBackingStoreSupport }, + + { option => "threaded-html-parser", desc => "Toggle threaded HTML parser support", + define => "ENABLE_THREADED_HTML_PARSER", default => 0, value => \$threadedHTMLParserSupport }, { option => "touch-events", desc => "Toggle Touch Events support", - define => "ENABLE_TOUCH_EVENTS", default => (isQt() || isBlackBerry() || isEfl()), value => \$touchEventsSupport }, + define => "ENABLE_TOUCH_EVENTS", default => (isBlackBerry() || isEfl()), value => \$touchEventsSupport }, { option => "touch-slider", desc => "Toggle Touch Slider support", define => "ENABLE_TOUCH_SLIDER", default => isBlackBerry(), value => \$touchSliderSupport }, @@ -412,6 +455,9 @@ my @features = ( { option => "touch-icon-loading", desc => "Toggle Touch Icon Loading Support", define => "ENABLE_TOUCH_ICON_LOADING", default => 0, value => \$touchIconLoadingSupport }, + { option => "user-timing", desc => "Toggle User Timing support", + define => "ENABLE_USER_TIMING", default => isGtk(), value => \$userTimingSupport }, + { option => "vibration", desc => "Toggle Vibration support", define => "ENABLE_VIBRATION", default => (isEfl() || isBlackBerry()), value => \$vibrationSupport }, @@ -422,16 +468,10 @@ my @features = ( define => "ENABLE_VIDEO_TRACK", default => (isAppleWebKit() || isGtk() || isEfl() || isBlackBerry()), value => \$videoTrackSupport }, { option => "webgl", desc => "Toggle WebGL support", - define => "ENABLE_WEBGL", default => (isAppleMacWebKit() || isGtk()), value => \$webglSupport }, + define => "ENABLE_WEBGL", default => (isAppleMacWebKit() || isGtk() || isEfl()), value => \$webglSupport }, { option => "web-audio", desc => "Toggle Web Audio support", - define => "ENABLE_WEB_AUDIO", default => 0, value => \$webAudioSupport }, - - { option => "web-intents", desc => "Toggle Web Intents support", - define => "ENABLE_WEB_INTENTS", default => isEfl(), value => \$webIntentsSupport }, - - { option => "web-intents-tag", desc => "Toggle Web Intents Tag support", - define => "ENABLE_WEB_INTENTS_TAG", default => isEfl(), value => \$webIntentsTagSupport }, + define => "ENABLE_WEB_AUDIO", default => (isEfl() || isGtk()), value => \$webAudioSupport }, { option => "web-sockets", desc => "Toggle Web Sockets support", define => "ENABLE_WEB_SOCKETS", default => 1, value => \$webSocketsSupport }, @@ -442,9 +482,6 @@ my @features = ( { option => "workers", desc => "Toggle Workers support", define => "ENABLE_WORKERS", default => (isAppleWebKit() || isGtk() || isBlackBerry() || isEfl()), value => \$workersSupport }, - { option => "xhr-response-blob", desc => "Toggle XHR Response BLOB support", - define => "ENABLE_XHR_RESPONSE_BLOB", default => isBlackBerry(), value => \$xhrResponseBlobSupport }, - { option => "xhr-timeout", desc => "Toggle XHR Timeout support", define => "ENABLE_XHR_TIMEOUT", default => (isEfl() || isGtk() || isAppleMacWebKit()), value => \$xhrTimeoutSupport }, diff --git a/Tools/Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl b/Tools/Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl index d4165620b..5b30fcbb8 100644 --- a/Tools/Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl +++ b/Tools/Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl @@ -980,11 +980,11 @@ index f5d5e74..3b6aa92 100644 END expectedReturn => [ [{ - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: Makefile index f5d5e74..3b6aa92 100644 ---- Makefile -+++ Makefile +--- Makefile\t(revision 0) ++++ Makefile\t(working copy) @@ -1,1 +1,1 @@ public: END indexPath => "Makefile", @@ -1008,11 +1008,11 @@ index 863339f..db418b2 100644 END expectedReturn => [ [{ - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: foo index 863339f..db418b2 100644 ---- foo -+++ foo +--- foo\t(revision 0) ++++ foo\t(working copy) @@ -1 +1,2 @@ Passed + @@ -1039,12 +1039,12 @@ index d45dd40..3494526 100644 END expectedReturn => [ [{ - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: foo.h new file mode 100644 index 0000000..3c9f114 ---- foo.h -+++ foo.h +--- foo.h\t(revision 0) ++++ foo.h\t(working copy) @@ -0,0 +1,34 @@ +<html> END @@ -1071,12 +1071,12 @@ index d45dd40..3494526 100644 END expectedReturn => [ [{ - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: foo deleted file mode 100644 index 1e50d1d..0000000 ---- foo -+++ foo +--- foo\t(revision 0) ++++ foo\t(working copy) @@ -1,1 +0,0 @@ -line1 END @@ -1103,11 +1103,11 @@ Index: Makefile_new END expectedReturn => [ [{ - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: Makefile index f5d5e74..3b6aa92 100644 ---- Makefile -+++ Makefile +--- Makefile\t(revision 0) ++++ Makefile\t(working copy) @@ -1,1 +1,1 @@ public: Index: Makefile_new =================================================================== @@ -1199,14 +1199,14 @@ END indexPath => "foo_new", isGit => 1, numTextChunks => 1, - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: foo_new similarity index 99% rename from foo rename to foo_new index 1e50d1d..1459d21 100644 ---- foo_new -+++ foo_new +--- foo_new\t(revision 0) ++++ foo_new\t(working copy) @@ -15,3 +15,4 @@ release r deployment dep deploy: line1 line2 diff --git a/Tools/Scripts/webkitperl/VCSUtils_unittest/parseDiffWithMockFiles.pl b/Tools/Scripts/webkitperl/VCSUtils_unittest/parseDiffWithMockFiles.pl index ee9fff903..2b1d1a201 100644 --- a/Tools/Scripts/webkitperl/VCSUtils_unittest/parseDiffWithMockFiles.pl +++ b/Tools/Scripts/webkitperl/VCSUtils_unittest/parseDiffWithMockFiles.pl @@ -1,6 +1,7 @@ #!/usr/bin/perl -w # # Copyright (C) 2011 Research In Motion Limited. All rights reserved. +# Copyright (C) 2013 Apple Inc. All rights reserved. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -26,6 +27,33 @@ use POSIX qw/getcwd/; use Test::More; use VCSUtils; +# We should consider moving escapeNewLineCharacters() and toMacLineEndings() +# to VCSUtils.pm if they're useful in other places. +sub escapeNewLineCharacters($) +{ + my ($text) = @_; + my @characters = split(//, $text); + my $result = ""; + foreach (@characters) { + if (/^\r$/) { + $result .= '\r'; + next; + } + if (/^\n$/) { + $result .= '\n'; + } + $result .= $_; + } + return $result; +} + +sub toMacLineEndings($) +{ + my ($text) = @_; + $text =~ s/\n/\r/g; + return $text; +} + my $gitDiffHeaderForNewFile = <<EOF; diff --git a/Makefile b/Makefile new file mode 100644 @@ -43,20 +71,20 @@ index 756e864..04d2ae1 100644 @@ -1,3 +1,4 @@ EOF -my $svnConvertedGitDiffHeader = <<EOF; +my $svnConvertedGitDiffHeader = <<"EOF"; Index: Makefile index 756e864..04d2ae1 100644 ---- Makefile -+++ Makefile +--- Makefile\t(revision 0) ++++ Makefile\t(working copy) @@ -1,3 +1,4 @@ EOF -my $svnConvertedGitDiffHeaderForNewFile = <<EOF; +my $svnConvertedGitDiffHeaderForNewFile = <<"EOF"; Index: Makefile new file mode 100644 index 0000000..756e864 ---- Makefile -+++ Makefile +--- Makefile\t(revision 0) ++++ Makefile\t(working copy) @@ -0,0 +1,17 @@ EOF @@ -92,6 +120,7 @@ EOF my $mockDir = File::Temp->tempdir("parseDiffXXXX", CLEANUP => 1); writeToFile(File::Spec->catfile($mockDir, "MakefileWithUnixEOL"), $MakefileContents); writeToFile(File::Spec->catfile($mockDir, "MakefileWithWindowsEOL"), toWindowsLineEndings($MakefileContents)); +writeToFile(File::Spec->catfile($mockDir, "MakefileWithMacEOL"), toMacLineEndings($MakefileContents)); # The array of test cases. my @testCaseHashRefs = ( @@ -145,6 +174,76 @@ undef], }, { # New test + diffName => "SVN: Patch adds Windows newline to EOF and IndexPath has Windows line endings", + inputText => <<"EOF", +Index: MakefileWithWindowsEOL +=================================================================== +--- MakefileWithWindowsEOL (revision 53052) ++++ MakefileWithWindowsEOL (working copy) +@@ -1,3 +1,4 @@\r + MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools\r + \r +-all: +\\ No newline at end of file ++all:\r ++\r +EOF + expectedReturn => [ +[{ + # Same as input text + svnConvertedText => <<"EOF", +Index: MakefileWithWindowsEOL +=================================================================== +--- MakefileWithWindowsEOL (revision 53052) ++++ MakefileWithWindowsEOL (working copy) +@@ -1,3 +1,4 @@\r + MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools\r + \r +-all: +\\ No newline at end of file ++all:\r ++\r +EOF + indexPath => "MakefileWithWindowsEOL", + isSvn => 1, + numTextChunks => 1, + sourceRevision => 53052 +}], +undef], + expectedNextLine => undef, +}, +{ + # New test + diffName => "SVN: Patch adds Mac newline to EOF and IndexPath has Mac line endings", + inputText => <<"EOF", +Index: MakefileWithMacEOL +=================================================================== +--- MakefileWithMacEOL (revision 53052) ++++ MakefileWithMacEOL (working copy) +@@ -1,3 +1,4 @@\r MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools\r \r-all: +\\ No newline at end of file ++all:\r+\r +EOF + expectedReturn => [ +[{ + # Same as input text + svnConvertedText => q(Index: MakefileWithMacEOL +=================================================================== +--- MakefileWithMacEOL (revision 53052) ++++ MakefileWithMacEOL (working copy) +@@ -1,3 +1,4 @@\r MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools\r \r-all: +\\ No newline at end of file ++all:\r+\r), + indexPath => "MakefileWithMacEOL", + isSvn => 1, + numTextChunks => 1, + sourceRevision => 53052 +}], +undef], + expectedNextLine => undef, +}, +{ + # New test diffName => "SVN: Patch with Unix line endings and IndexPath has Windows line endings", inputText => substituteString($svnDiffHeader, "Makefile", "MakefileWithWindowsEOL") . $diffBody, expectedReturn => [ @@ -235,6 +334,74 @@ undef], }, { # New test + diffName => "Git: Patch adds newline to EOF with Windows line endings and IndexPath has Windows line endings", + inputText => <<"EOF", +diff --git a/MakefileWithWindowsEOL b/MakefileWithWindowsEOL +index e7e8475..ae16fc3 100644 +--- a/MakefileWithWindowsEOL ++++ b/MakefileWithWindowsEOL +@@ -1,3 +1,4 @@\r + MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools\r + \r +-all: +\\ No newline at end of file ++all:\r ++\r +EOF + expectedReturn => [ +[{ + # Same as input text + svnConvertedText => <<"EOF", +Index: MakefileWithWindowsEOL +index e7e8475..ae16fc3 100644 +--- MakefileWithWindowsEOL\t(revision 0) ++++ MakefileWithWindowsEOL\t(working copy) +@@ -1,3 +1,4 @@\r + MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools\r + \r +-all: +\\ No newline at end of file ++all:\r ++\r +EOF + indexPath => "MakefileWithWindowsEOL", + isGit => 1, + numTextChunks => 1 +}], +undef], + expectedNextLine => undef, +}, +{ + # New test + diffName => "Git: Patch adds Mac newline to EOF and IndexPath has Mac line endings", + inputText => <<"EOF", +diff --git a/MakefileWithMacEOL b/MakefileWithMacEOL +index e7e8475..ae16fc3 100644 +--- a/MakefileWithMacEOL ++++ b/MakefileWithMacEOL +@@ -1,3 +1,4 @@\r MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools\r \r-all: +\\ No newline at end of file ++all:\r+\r +EOF + expectedReturn => [ +[{ + # Same as input text + svnConvertedText => qq(Index: MakefileWithMacEOL +index e7e8475..ae16fc3 100644 +--- MakefileWithMacEOL\t(revision 0) ++++ MakefileWithMacEOL\t(working copy) +@@ -1,3 +1,4 @@\r MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKitTools\r \r-all: +\\ No newline at end of file ++all:\r+\r), + indexPath => "MakefileWithMacEOL", + isGit => 1, + numTextChunks => 1 +}], +undef], + expectedNextLine => undef, +}, +{ + # New test diffName => "Git: Patch with Unix line endings and IndexPath has Windows line endings", inputText => substituteString($gitDiffHeader, "Makefile", "MakefileWithWindowsEOL") . $diffBody, expectedReturn => [ @@ -294,6 +461,8 @@ foreach my $testCase (@testCaseHashRefs) { my @got = VCSUtils::parseDiff($fileHandle, $line); my $expectedReturn = $testCase->{expectedReturn}; + $got[0][0]->{svnConvertedText} = escapeNewLineCharacters($got[0][0]->{svnConvertedText}); + $expectedReturn->[0][0]->{svnConvertedText} = escapeNewLineCharacters($expectedReturn->[0][0]->{svnConvertedText}); is_deeply(\@got, $expectedReturn, "$testNameStart return value."); my $gotNextLine = <$fileHandle>; diff --git a/Tools/Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl b/Tools/Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl index bc0d4d41c..841e28387 100644 --- a/Tools/Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl +++ b/Tools/Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl @@ -45,11 +45,35 @@ index f5d5e74..3b6aa92 100644 END expectedReturn => [ { - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: foo.h index f5d5e74..3b6aa92 100644 ---- foo.h -+++ foo.h +--- foo.h\t(revision 0) ++++ foo.h\t(working copy) +END + indexPath => "foo.h", +}, +"@@ -1 +1 @@\n"], + expectedNextLine => "-file contents\n", +}, +{ + diffName => "Modified file using --src-prefix and --dst-prefix option", + inputText => <<'END', +diff --git s/foo.h d/foo.h +index f5d5e74..3b6aa92 100644 +--- s/foo.h ++++ d/foo.h +@@ -1 +1 @@ +-file contents ++new file contents +END + expectedReturn => [ +{ + svnConvertedText => <<"END", +Index: foo.h +index f5d5e74..3b6aa92 100644 +--- foo.h\t(revision 0) ++++ foo.h\t(working copy) END indexPath => "foo.h", }, @@ -57,6 +81,54 @@ END expectedNextLine => "-file contents\n", }, { # New test + diffName => "Modified file which have space characters in path", + inputText => <<'END', +diff --git a/foo bar.h b/foo bar.h +index f5d5e74..3b6aa92 100644 +--- a/foo bar.h ++++ b/foo bar.h +@@ -1 +1 @@ +-file contents ++new file contents +END + expectedReturn => [ +{ + svnConvertedText => <<"END", +Index: foo bar.h +index f5d5e74..3b6aa92 100644 +--- foo bar.h\t(revision 0) ++++ foo bar.h\t(working copy) +END + indexPath => "foo bar.h", +}, +"@@ -1 +1 @@\n"], + expectedNextLine => "-file contents\n", +}, +{ # New test + diffName => "Modified file which have space characters in path using --no-prefix", + inputText => <<'END', +diff --git directory/foo bar.h directory/foo bar.h +index f5d5e74..3b6aa92 100644 +--- directory/foo bar.h ++++ directory/foo bar.h +@@ -1 +1 @@ +-file contents ++new file contents +END + expectedReturn => [ +{ + svnConvertedText => <<"END", +Index: directory/foo bar.h +index f5d5e74..3b6aa92 100644 +--- directory/foo bar.h\t(revision 0) ++++ directory/foo bar.h\t(working copy) +END + indexPath => "directory/foo bar.h", +}, +"@@ -1 +1 @@\n"], + expectedNextLine => "-file contents\n", +}, +{ # New test diffName => "new file", inputText => <<'END', diff --git a/foo.h b/foo.h @@ -69,12 +141,12 @@ index 0000000..3c9f114 END expectedReturn => [ { - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: foo.h new file mode 100644 index 0000000..3c9f114 ---- foo.h -+++ foo.h +--- foo.h\t(revision 0) ++++ foo.h\t(working copy) END indexPath => "foo.h", isNew => 1, @@ -97,12 +169,12 @@ index d45dd40..3494526 100644 END expectedReturn => [ { - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: foo deleted file mode 100644 index 1e50d1d..0000000 ---- foo -+++ foo +--- foo\t(revision 0) ++++ foo\t(working copy) END indexPath => "foo", isDeletion => 1, @@ -110,6 +182,34 @@ END "@@ -1,1 +0,0 @@\n"], expectedNextLine => "-line1\n", }, +{ + diffName => "delete file which have space characters in path using --no-prefix", + inputText => <<'END', +diff --git directory/foo bar.h directory/foo bar.h +deleted file mode 100644 +index 1e50d1d..0000000 +--- directory/foo bar.h ++++ /dev/null +@@ -1,1 +0,0 @@ +-line1 +diff --git a/configure.ac b/configure.ac +index d45dd40..3494526 100644 +END + expectedReturn => [ +{ + svnConvertedText => <<"END", +Index: directory/foo bar.h +deleted file mode 100644 +index 1e50d1d..0000000 +--- directory/foo bar.h\t(revision 0) ++++ directory/foo bar.h\t(working copy) +END + indexPath => "directory/foo bar.h", + isDeletion => 1, +}, +"@@ -1,1 +0,0 @@\n"], + expectedNextLine => "-line1\n", +}, { # New test diffName => "using --no-prefix", inputText => <<'END', @@ -122,11 +222,11 @@ index c925780..9e65c43 100644 END expectedReturn => [ { - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: foo.h index c925780..9e65c43 100644 ---- foo.h -+++ foo.h +--- foo.h\t(revision 0) ++++ foo.h\t(working copy) END indexPath => "foo.h", }, @@ -160,6 +260,30 @@ END "diff --git a/bar b/bar\n"], expectedNextLine => "index d45dd40..3494526 100644\n", }, +{ + diffName => "copy file which have space characters in path using --no-prefix (with similarity index 100%)", + inputText => <<'END', +diff --git directory/foo bar.h directory/foo baz.h +similarity index 100% +copy from directory/foo bar.h +copy to directory/foo baz.h +diff --git a/bar b/bar +index d45dd40..3494526 100644 +END + expectedReturn => [ +{ + svnConvertedText => <<'END', +Index: directory/foo baz.h +similarity index 100% +copy from directory/foo bar.h +copy to directory/foo baz.h +END + copiedFromPath => "directory/foo bar.h", + indexPath => "directory/foo baz.h", +}, +"diff --git a/bar b/bar\n"], + expectedNextLine => "index d45dd40..3494526 100644\n", +}, { # New test diffName => "copy (with similarity index < 100%)", inputText => <<'END', @@ -210,6 +334,31 @@ END "diff --git a/bar b/bar\n"], expectedNextLine => "index d45dd40..3494526 100644\n", }, +{ + diffName => "rename file which have space characters in path using --no-prefix (with similarity index 100%)", + inputText => <<'END', +diff --git directory/foo bar.h directory/foo baz.h +similarity index 100% +rename from directory/foo bar.h +rename to directory/foo baz.h +diff --git a/bar b/bar +index d45dd40..3494526 100644 +END + expectedReturn => [ +{ + svnConvertedText => <<'END', +Index: directory/foo baz.h +similarity index 100% +rename from directory/foo bar.h +rename to directory/foo baz.h +END + copiedFromPath => "directory/foo bar.h", + indexPath => "directory/foo baz.h", + shouldDeleteSource => 1, +}, +"diff --git a/bar b/bar\n"], + expectedNextLine => "index d45dd40..3494526 100644\n", +}, { # New test diffName => "rename (with similarity index < 100%)", inputText => <<'END', @@ -230,14 +379,14 @@ index d45dd40..3494526 100644 END expectedReturn => [ { - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: foo_new similarity index 99% rename from foo rename to foo_new index 1e50d1d..1459d21 100644 ---- foo_new -+++ foo_new +--- foo_new\t(revision 0) ++++ foo_new\t(working copy) END copiedFromPath => "foo", indexPath => "foo_new", @@ -359,11 +508,11 @@ index d03e242..435ad3a 100755 END expectedReturn => [ { - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: foo index d03e242..435ad3a 100755 ---- foo -+++ foo +--- foo\t(revision 0) ++++ foo\t(working copy) END indexPath => "foo", }, @@ -429,12 +578,12 @@ index 0000000..d03e242 END expectedReturn => [ { - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: foo new file mode 100755 index 0000000..d03e242 ---- foo -+++ foo +--- foo\t(revision 0) ++++ foo\t(working copy) END executableBitDelta => 1, indexPath => "foo", @@ -458,12 +607,12 @@ index d03e242..0000000 END expectedReturn => [ { - svnConvertedText => <<'END', + svnConvertedText => <<"END", Index: foo deleted file mode 100755 index d03e242..0000000 ---- foo -+++ foo +--- foo\t(revision 0) ++++ foo\t(working copy) END executableBitDelta => -1, indexPath => "foo", @@ -472,6 +621,37 @@ END "@@ -1 +0,0 @@\n"], expectedNextLine => "-file contents\n", }, +{ + # svn-apply rejected https://bug-111042-attachments.webkit.org/attachment.cgi?id=190663 + diffName => "Modified file which have space characters in path. svn-apply rejected attachment #190663.", + inputText => <<'END', +diff --git a/WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme b/WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme +index 72d60effb9bbba0520e520ec3c1aa43f348c6997..b7924b96d5978c1ad1053dca7e554023235d9a16 100644 +--- a/WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme ++++ b/WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme +@@ -161,7 +161,7 @@ + <EnvironmentVariables> + <EnvironmentVariable + key = "DYLD_INSERT_LIBRARIES" +- value = "$(BUILT_PRODUCTS_DIR)/WebProcessShim.dylib" ++ value = "$(BUILT_PRODUCTS_DIR)/SecItemShim.dylib" + isEnabled = "YES"> + </EnvironmentVariable> + </EnvironmentVariables> +END + expectedReturn => [ +{ + svnConvertedText => <<"END", +Index: WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme +index 72d60effb9bbba0520e520ec3c1aa43f348c6997..b7924b96d5978c1ad1053dca7e554023235d9a16 100644 +--- WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme\t(revision 0) ++++ WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme\t(working copy) +END + indexPath => "WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme", +}, +"@@ -161,7 +161,7 @@\n"], + expectedNextLine => " <EnvironmentVariables>\n", +}, ); my $testCasesCount = @testCaseHashRefs; diff --git a/Tools/Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl b/Tools/Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl new file mode 100644 index 000000000..0970e9aa2 --- /dev/null +++ b/Tools/Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl @@ -0,0 +1,120 @@ +#!/usr/bin/perl -w +# +# Copyright (C) 2013 Apple Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# This script tests parts of filter-build-webkit. +# This script runs the unittests specified in @testFiles. + +use strict; +use warnings; + +use English; +use FindBin; +use Test::More; +use lib File::Spec->catdir($FindBin::Bin, ".."); +use LoadAsModule qw(FilterBuildWebKit filter-build-webkit); + +sub description($); + +@FilterBuildWebKit::EXPORT_OK = qw(shouldIgnoreLine); +FilterBuildWebKit->import(@FilterBuildWebKit::EXPORT_OK); + +# +# Test whitespace +# +is(shouldIgnoreLine("", ""), 1, "Ignored: empty line"); +is(shouldIgnoreLine("", " "), 1, "Ignored: one space"); +is(shouldIgnoreLine("", "\t"), 1, "Ignored: one tab"); + +# +# Test input that should be ignored regardless of previous line +# +my @expectIgnoredLines = split(/$INPUT_RECORD_SEPARATOR/, <<'END'); +make: Nothing to be done for `all'. +JavaScriptCore/create_hash_table JavaScriptCore/runtime/ArrayConstructor.cpp -i > ArrayConstructor.lut.h +Creating hashtable for JavaScriptCore/runtime/ArrayConstructor.cpp +Wrote output to /Volumes/Data/Build/Release/DerivedSources/WebCore/ExportFileGenerator.cpp +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Volumes/Data/Build/ANGLE.build/Release/ANGLE.build/Objects-normal/i386/debug.o has no symbols +Showing first 200 notices only +printf "WebCore/Modules/encryptedmedia/MediaKeyMessageEvent.idl\nWebCore/Modules/encryptedmedia/MediaKeyNeededEvent.idl\nWebCore/Modules/encryptedmedia/MediaKeySession.idl\nWebCore/Modules/encryptedmedia/MediaKeys.idl\nWebCore/Modules/filesystem/DOMFileSystem.idl\nWebCore/Modules/filesystem/DOMFileSystemSync.idl\nWebCore/Modules/filesystem/DOMWindowFileSystem.idl\nWebCore/Modules/filesystem/DirectoryEntry.idl\nWebCore/Modules/filesystem/DirectoryEntrySync.idl\nWebCore/Modules/filesystem/DirectoryReader.idl\nWebCore/Modules/filesystem/DirectoryReaderSync.idl\nWebCore/Modules/filesystem/EntriesCallback.idl\nWebCore/Modules/filesystem/Entry.idl\nWebCore/Modules/filesystem/EntryArray.idl\nWebCore/Modules/filesystem/EntryArraySync.idl\nWebCore/Modules/filesystem/EntryCallback.idl\nWebCore/Modules/filesystem/EntrySync.idl\nWebCore/Modules/filesystem/ErrorCallback.idl\nWebCore/Modules/filesystem/FileCallback.idl\nWebCore/Modules/filesystem/FileEntry.idl\nWebCore/Modules/filesystem/FileEntrySync.idl\nWebCore/Modules/filesystem/FileSystemCallback.idl\nWebCore/Modules/filesystem/FileWriter.idl\nWebCore/Modules/filesystem/FileWriterCallback.idl\nWebCore/Modules/filesystem/FileWriterSync.idl\nWebCore/Modules/filesystem/Metadata.idl\nWebCore/Modules/filesystem/MetadataCallback.idl\nWebCore/Modules/filesystem/WorkerContextFileSystem.idl\nWebCore/Modules/geolocation/Coordinates.idl\nWebCore/Modules/geolocation/Geolocation.idl\nWebCore/Modules/geolocation/Geoposition.idl\nWebCore/Modules/geolocation/NavigatorGeolocation.idl\nWebCore/Modules/geolocation/PositionCallback.idl\nWebCore/Modules/geolocation/PositionError.idl\nWebCore/Modules/geolocation/PositionErrorCallback.idl\nWebCore/Modules/indexeddb/DOMWindowIndexedDatabase.idl\nWebCore/Modules/indexeddb/IDBAny.idl\nWebCore/Modules/indexeddb/IDBCursor.idl\nWebCore/Modules/indexeddb/IDBDatabase.idl\nWebCore/Modules/indexeddb/IDBFactory.idl\nWebCore/Modules/indexeddb/IDBIndex.idl\nWebCore/Modules/indexeddb/IDBKeyRange.idl\nWebCore/Modules/indexeddb/IDBObjectStore.idl\nWebCore/Modules/indexeddb/IDBRequest.idl\nWebCore/Modules/indexeddb/IDBTransaction.idl\nWebCore/Modules/indexeddb/IDBVersionChangeEvent.idl\nWebCore/Modules/indexeddb/WorkerContextIndexedDatabase.idl\nWebCore/Modules/mediasource/MediaSource.idl\nWebCore/Modules/mediasource/SourceBuffer.idl\nWebCore/Modules/mediasource/SourceBufferList.idl\nWebCore/Modules/notifications/DOMWindowNotifications.idl\nWebCore/Modules/notifications/Notification.idl\nWebCore/Modules/notifications/NotificationCenter.idl\nWebCore/Modules/notifications/NotificationPermissionCallback.idl\nWebCore/Modules/notifications/WorkerContextNotifications.idl\nWebCore/Modules/quota/DOMWindowQuota.idl\nWebCore/Modules/quota/NavigatorStorageQuota.idl\nWebCore/Modules/quota/StorageInfo.idl\nWebCore/Modules/quota/StorageErrorCallback.idl\nWebCore/Modules/quota/StorageQuota.idl\nWebCore/Modules/quota/StorageQuotaCallback.idl\nWebCore/Modules/quota/StorageUsageCallback.idl\nWebCore/Modules/quota/WorkerNavigatorStorageQuota.idl\nWebCore/Modules/speech/DOMWindowSpeechSynthesis.idl\nWebCore/Modules/speech/SpeechSynthesis.idl\nWebCore/Modules/speech/SpeechSynthesisEvent.idl\nWebCore/Modules/speech/SpeechSynthesisUtterance.idl\nWebCore/Modules/speech/SpeechSynthesisVoice.idl\nWebCore/Modules/webaudio/AudioBuffer.idl\nWebCore/Modules/webaudio/AudioBufferCallback.idl\nWebCore/Modules/webaudio/AudioBufferSourceNode.idl\nWebCore/Modules/webaudio/ChannelMergerNode.idl\nWebCore/Modules/webaudio/ChannelSplitterNode.idl\nWebCore/Modules/webaudio/AudioContext.idl\nWebCore/Modules/webaudio/AudioDestinationNode.idl\nWebCore/Modules/webaudio/GainNode.idl\nWebCore/Modules/webaudio/AudioListener.idl\nWebCore/Modules/webaudio/AudioNode.idl\nWebCore/Modules/webaudio/PannerNode.idl\nWebCore/Modules/webaudio/AudioParam.idl\nWebCore/Modules/webaudio/AudioProcessingEvent.idl\nWebCore/Modules/webaudio/BiquadFilterNode.idl\nWebCore/Modules/webaudio/ConvolverNode.idl\nWebCore/Modules/webaudio/DOMWindowWebAudio.idl\nWebCore/Modules/webaudio/DelayNode.idl\nWebCore/Modules/webaudio/DynamicsCompressorNode.idl\nWebCore/Modules/webaudio/ScriptProcessorNode.idl\nWebCore/Modules/webaudio/MediaElementAudioSourceNode.idl\nWebCore/Modules/webaudio/MediaStreamAudioSourceNode.idl\nWebCore/Modules/webaudio/OscillatorNode.idl\nWebCore/Modules/webaudio/OfflineAudioContext.idl\nWebCore/Modules/webaudio/OfflineAudioCompletionEvent.idl\nWebCore/Modules/webaudio/AnalyserNode.idl\nWebCore/Modules/webaudio/WaveShaperNode.idl\nWebCore/Modules/webaudio/WaveTable.idl\nWebCore/Modules/webdatabase/DOMWindowWebDatabase.idl\nWebCore/Modules/webdatabase/Database.idl\nWebCore/Modules/webdatabase/DatabaseCallback.idl\nWebCore/Modules/webdatabase/DatabaseSync.idl\nWebCore/Modules/webdatabase/SQLError.idl\nWebCore/Modules/webdatabase/SQLException.idl\nWebCore/Modules/webdatabase/SQLResultSet.idl\nWebCore/Modules/webdatabase/SQLResultSetRowList.idl\nWebCore/Modules/webdatabase/SQLStatementCallback.idl\nWebCore/Modules/webdatabase/SQLStatementErrorCallback.idl\nWebCore/Modules/webdatabase/SQLTransaction.idl\nWebCore/Modules/webdatabase/SQLTransactionCallback.idl\nWebCore/Modules/webdatabase/SQLTransactionErrorCallback.idl\nWebCore/Modules/webdatabase/SQLTransactionSync.idl\nWebCore/Modules/webdatabase/SQLTransactionSyncCallback.idl\nWebCore/Modules/webdatabase/WorkerContextWebDatabase.idl\nWebCore/Modules/websockets/CloseEvent.idl\nWebCore/Modules/websockets/DOMWindowWebSocket.idl\nWebCore/Modules/websockets/WebSocket.idl\nWebCore/Modules/websockets/WorkerContextWebSocket.idl\nWebCore/css/CSSCharsetRule.idl\nWebCore/css/CSSFontFaceLoadEvent.idl\nWebCore/css/CSSFontFaceRule.idl\nWebCore/css/CSSHostRule.idl\nWebCore/css/CSSImportRule.idl\nWebCore/css/CSSMediaRule.idl\nWebCore/css/CSSPageRule.idl\nWebCore/css/CSSPrimitiveValue.idl\nWebCore/css/CSSRule.idl\nWebCore/css/CSSRuleList.idl\nWebCore/css/CSSStyleDeclaration.idl\nWebCore/css/CSSStyleRule.idl\nWebCore/css/CSSStyleSheet.idl\nWebCore/css/CSSSupportsRule.idl\nWebCore/css/CSSUnknownRule.idl\nWebCore/css/CSSValue.idl\nWebCore/css/CSSValueList.idl\nWebCore/css/Counter.idl\nWebCore/css/DOMWindowCSS.idl\nWebCore/css/FontLoader.idl\nWebCore/css/MediaList.idl\nWebCore/css/MediaQueryList.idl\nWebCore/css/MediaQueryListListener.idl\nWebCore/css/RGBColor.idl\nWebCore/css/Rect.idl\nWebCore/css/StyleMedia.idl\nWebCore/css/StyleSheet.idl\nWebCore/css/StyleSheetList.idl\nWebCore/css/WebKitCSSFilterValue.idl\nWebCore/css/WebKitCSSFilterRule.idl\nWebCore/css/WebKitCSSKeyframeRule.idl\nWebCore/css/WebKitCSSKeyframesRule.idl\nWebCore/css/WebKitCSSMatrix.idl\nWebCore/css/WebKitCSSMixFunctionValue.idl\nWebCore/css/WebKitCSSRegionRule.idl\nWebCore/css/WebKitCSSTransformValue.idl\nWebCore/css/WebKitCSSViewportRule.idl\nWebCore/dom/Attr.idl\nWebCore/dom/BeforeLoadEvent.idl\nWebCore/dom/CDATASection.idl\nWebCore/dom/CharacterData.idl\nWebCore/dom/ClientRect.idl\nWebCore/dom/ClientRectList.idl\nWebCore/dom/Clipboard.idl\nWebCore/dom/Comment.idl\nWebCore/dom/CompositionEvent.idl\nWebCore/dom/CustomElementConstructor.idl\nWebCore/dom/CustomEvent.idl\nWebCore/dom/DOMCoreException.idl\nWebCore/dom/DOMError.idl\nWebCore/dom/DOMImplementation.idl\nWebCore/dom/DOMStringList.idl\nWebCore/dom/DOMStringMap.idl\nWebCore/dom/DataTransferItem.idl\nWebCore/dom/DataTransferItemList.idl\nWebCore/dom/DeviceMotionEvent.idl\nWebCore/dom/DeviceOrientationEvent.idl\nWebCore/dom/Document.idl\nWebCore/dom/DocumentFragment.idl\nWebCore/dom/DocumentType.idl\nWebCore/dom/Element.idl\nWebCore/dom/Entity.idl\nWebCore/dom/EntityReference.idl\nWebCore/dom/ErrorEvent.idl\nWebCore/dom/Event.idl\nWebCore/dom/EventException.idl\nWebCore/dom/EventListener.idl\nWebCore/dom/EventTarget.idl\nWebCore/dom/FocusEvent.idl\nWebCore/dom/HashChangeEvent.idl\nWebCore/dom/KeyboardEvent.idl\nWebCore/dom/MessageChannel.idl\nWebCore/dom/MessageEvent.idl\nWebCore/dom/MessagePort.idl\nWebCore/dom/MouseEvent.idl\nWebCore/dom/MutationEvent.idl\nWebCore/dom/MutationObserver.idl\nWebCore/dom/MutationRecord.idl\nWebCore/dom/DOMNamedFlowCollection.idl\nWebCore/dom/NamedNodeMap.idl\nWebCore/dom/Node.idl\nWebCore/dom/NodeFilter.idl\nWebCore/dom/NodeIterator.idl\nWebCore/dom/NodeList.idl\nWebCore/dom/Notation.idl\nWebCore/dom/OverflowEvent.idl\nWebCore/dom/PageTransitionEvent.idl\nWebCore/dom/PopStateEvent.idl\nWebCore/dom/ProcessingInstruction.idl\nWebCore/dom/ProgressEvent.idl\nWebCore/dom/ProgressEvent.idl\nWebCore/dom/PropertyNodeList.idl\nWebCore/dom/Range.idl\nWebCore/dom/RangeException.idl\nWebCore/dom/RequestAnimationFrameCallback.idl\nWebCore/dom/ShadowRoot.idl\nWebCore/dom/StringCallback.idl\nWebCore/dom/Text.idl\nWebCore/dom/TextEvent.idl\nWebCore/dom/Touch.idl\nWebCore/dom/TouchEvent.idl\nWebCore/dom/TouchList.idl\nWebCore/dom/TransitionEvent.idl\nWebCore/dom/TreeWalker.idl\nWebCore/dom/UIEvent.idl\nWebCore/dom/WebKitAnimationEvent.idl\nWebCore/dom/WebKitNamedFlow.idl\nWebCore/dom/WebKitTransitionEvent.idl\nWebCore/dom/WheelEvent.idl\nWebCore/fileapi/Blob.idl\nWebCore/fileapi/File.idl\nWebCore/fileapi/FileError.idl\nWebCore/fileapi/FileException.idl\nWebCore/fileapi/FileList.idl\nWebCore/fileapi/FileReader.idl\nWebCore/fileapi/FileReaderSync.idl\nWebCore/html/DOMFormData.idl\nWebCore/html/DOMSettableTokenList.idl\nWebCore/html/DOMTokenList.idl\nWebCore/html/DOMURL.idl\nWebCore/html/HTMLAllCollection.idl\nWebCore/html/HTMLAnchorElement.idl\nWebCore/html/HTMLAppletElement.idl\nWebCore/html/HTMLAreaElement.idl\nWebCore/html/HTMLAudioElement.idl\nWebCore/html/HTMLBRElement.idl\nWebCore/html/HTMLBaseElement.idl\nWebCore/html/HTMLBaseFontElement.idl\nWebCore/html/HTMLBodyElement.idl\nWebCore/html/HTMLButtonElement.idl\nWebCore/html/HTMLCanvasElement.idl\nWebCore/html/HTMLCollection.idl\nWebCore/html/HTMLDListElement.idl\nWebCore/html/HTMLDataListElement.idl\nWebCore/html/HTMLDetailsElement.idl\nWebCore/html/HTMLDialogElement.idl\nWebCore/html/HTMLDirectoryElement.idl\nWebCore/html/HTMLDivElement.idl\nWebCore/html/HTMLDocument.idl\nWebCore/html/HTMLElement.idl\nWebCore/html/HTMLEmbedElement.idl\nWebCore/html/HTMLFieldSetElement.idl\nWebCore/html/HTMLFontElement.idl\nWebCore/html/HTMLFormControlsCollection.idl\nWebCore/html/HTMLFormElement.idl\nWebCore/html/HTMLFrameElement.idl\nWebCore/html/HTMLFrameSetElement.idl\nWebCore/html/HTMLHRElement.idl\nWebCore/html/HTMLHeadElement.idl\nWebCore/html/HTMLHeadingElement.idl\nWebCore/html/HTMLHtmlElement.idl\nWebCore/html/HTMLIFrameElement.idl\nWebCore/html/HTMLImageElement.idl\nWebCore/html/HTMLInputElement.idl\nWebCore/html/HTMLKeygenElement.idl\nWebCore/html/HTMLLIElement.idl\nWebCore/html/HTMLLabelElement.idl\nWebCore/html/HTMLLegendElement.idl\nWebCore/html/HTMLLinkElement.idl\nWebCore/html/HTMLMapElement.idl\nWebCore/html/HTMLMarqueeElement.idl\nWebCore/html/HTMLMediaElement.idl\nWebCore/html/HTMLMenuElement.idl\nWebCore/html/HTMLMetaElement.idl\nWebCore/html/HTMLMeterElement.idl\nWebCore/html/HTMLModElement.idl\nWebCore/html/HTMLOListElement.idl\nWebCore/html/HTMLObjectElement.idl\nWebCore/html/HTMLOptGroupElement.idl\nWebCore/html/HTMLOptionElement.idl\nWebCore/html/HTMLOptionsCollection.idl\nWebCore/html/HTMLOutputElement.idl\nWebCore/html/HTMLParagraphElement.idl\nWebCore/html/HTMLParamElement.idl\nWebCore/html/HTMLPreElement.idl\nWebCore/html/HTMLProgressElement.idl\nWebCore/html/HTMLPropertiesCollection.idl\nWebCore/html/HTMLQuoteElement.idl\nWebCore/html/HTMLScriptElement.idl\nWebCore/html/HTMLSelectElement.idl\nWebCore/html/HTMLSourceElement.idl\nWebCore/html/HTMLSpanElement.idl\nWebCore/html/HTMLStyleElement.idl\nWebCore/html/HTMLTableCaptionElement.idl\nWebCore/html/HTMLTableCellElement.idl\nWebCore/html/HTMLTableColElement.idl\nWebCore/html/HTMLTableElement.idl\nWebCore/html/HTMLTableRowElement.idl\nWebCore/html/HTMLTableSectionElement.idl\nWebCore/html/HTMLTemplateElement.idl\nWebCore/html/HTMLTextAreaElement.idl\nWebCore/html/HTMLTitleElement.idl\nWebCore/html/HTMLTrackElement.idl\nWebCore/html/HTMLUListElement.idl\nWebCore/html/HTMLUnknownElement.idl\nWebCore/html/HTMLVideoElement.idl\nWebCore/html/ImageData.idl\nWebCore/html/MediaController.idl\nWebCore/html/MediaError.idl\nWebCore/html/MediaKeyError.idl\nWebCore/html/MediaKeyEvent.idl\nWebCore/html/MicroDataItemValue.idl\nWebCore/html/RadioNodeList.idl\nWebCore/html/TextMetrics.idl\nWebCore/html/TimeRanges.idl\nWebCore/html/ValidityState.idl\nWebCore/html/VoidCallback.idl\nWebCore/html/canvas/ArrayBuffer.idl\nWebCore/html/canvas/ArrayBufferView.idl\nWebCore/html/canvas/CanvasGradient.idl\nWebCore/html/canvas/CanvasPattern.idl\nWebCore/html/canvas/CanvasProxy.idl\nWebCore/html/canvas/CanvasRenderingContext.idl\nWebCore/html/canvas/CanvasRenderingContext2D.idl\nWebCore/html/canvas/DataView.idl\nWebCore/html/canvas/DOMPath.idl\nWebCore/html/canvas/EXTDrawBuffers.idl\nWebCore/html/canvas/EXTTextureFilterAnisotropic.idl\nWebCore/html/canvas/Float32Array.idl\nWebCore/html/canvas/Float64Array.idl\nWebCore/html/canvas/Int16Array.idl\nWebCore/html/canvas/Int32Array.idl\nWebCore/html/canvas/Int8Array.idl\nWebCore/html/canvas/OESElementIndexUint.idl\nWebCore/html/canvas/OESStandardDerivatives.idl\nWebCore/html/canvas/OESTextureFloat.idl\nWebCore/html/canvas/OESTextureHalfFloat.idl\nWebCore/html/canvas/OESVertexArrayObject.idl\nWebCore/html/canvas/Uint16Array.idl\nWebCore/html/canvas/Uint32Array.idl\nWebCore/html/canvas/Uint8Array.idl\nWebCore/html/canvas/Uint8ClampedArray.idl\nWebCore/html/canvas/WebGLActiveInfo.idl\nWebCore/html/canvas/WebGLBuffer.idl\nWebCore/html/canvas/WebGLCompressedTextureATC.idl\nWebCore/html/canvas/WebGLCompressedTexturePVRTC.idl\nWebCore/html/canvas/WebGLCompressedTextureS3TC.idl\nWebCore/html/canvas/WebGLContextAttributes.idl\nWebCore/html/canvas/WebGLContextEvent.idl\nWebCore/html/canvas/WebGLDepthTexture.idl\nWebCore/html/canvas/WebGLFramebuffer.idl\nWebCore/html/canvas/WebGLLoseContext.idl\nWebCore/html/canvas/WebGLProgram.idl\nWebCore/html/canvas/WebGLRenderbuffer.idl\nWebCore/html/canvas/WebGLRenderingContext.idl\nWebCore/html/canvas/WebGLShader.idl\nWebCore/html/canvas/WebGLShaderPrecisionFormat.idl\nWebCore/html/canvas/WebGLTexture.idl\nWebCore/html/canvas/WebGLUniformLocation.idl\nWebCore/html/canvas/WebGLVertexArrayObjectOES.idl\nWebCore/html/shadow/HTMLContentElement.idl\nWebCore/html/shadow/HTMLShadowElement.idl\nWebCore/html/track/TextTrack.idl\nWebCore/html/track/TextTrackCue.idl\nWebCore/html/track/TextTrackCueList.idl\nWebCore/html/track/TextTrackList.idl\nWebCore/html/track/TrackEvent.idl\nWebCore/inspector/InjectedScriptHost.idl\nWebCore/inspector/InspectorFrontendHost.idl\nWebCore/inspector/ScriptProfile.idl\nWebCore/inspector/ScriptProfileNode.idl\nWebCore/loader/appcache/DOMApplicationCache.idl\nWebCore/page/AbstractView.idl\nWebCore/page/BarInfo.idl\nWebCore/page/Console.idl\nWebCore/page/Crypto.idl\nWebCore/page/DOMSecurityPolicy.idl\nWebCore/page/DOMSelection.idl\nWebCore/page/DOMWindow.idl\nWebCore/page/EventSource.idl\nWebCore/page/History.idl\nWebCore/page/Location.idl\nWebCore/page/Navigator.idl\nWebCore/page/Performance.idl\nWebCore/page/PerformanceNavigation.idl\nWebCore/page/PerformanceTiming.idl\nWebCore/page/Screen.idl\nWebCore/page/SpeechInputEvent.idl\nWebCore/page/SpeechInputResult.idl\nWebCore/page/SpeechInputResultList.idl\nWebCore/page/WebKitPoint.idl\nWebCore/page/WorkerNavigator.idl\nWebCore/plugins/DOMMimeType.idl\nWebCore/plugins/DOMMimeTypeArray.idl\nWebCore/plugins/DOMPlugin.idl\nWebCore/plugins/DOMPluginArray.idl\nWebCore/storage/Storage.idl\nWebCore/storage/StorageEvent.idl\nWebCore/svg/ElementTimeControl.idl\nWebCore/svg/SVGAElement.idl\nWebCore/svg/SVGAltGlyphDefElement.idl\nWebCore/svg/SVGAltGlyphElement.idl\nWebCore/svg/SVGAltGlyphItemElement.idl\nWebCore/svg/SVGAngle.idl\nWebCore/svg/SVGAnimateColorElement.idl\nWebCore/svg/SVGAnimateElement.idl\nWebCore/svg/SVGAnimateMotionElement.idl\nWebCore/svg/SVGAnimateTransformElement.idl\nWebCore/svg/SVGAnimatedAngle.idl\nWebCore/svg/SVGAnimatedBoolean.idl\nWebCore/svg/SVGAnimatedEnumeration.idl\nWebCore/svg/SVGAnimatedInteger.idl\nWebCore/svg/SVGAnimatedLength.idl\nWebCore/svg/SVGAnimatedLengthList.idl\nWebCore/svg/SVGAnimatedNumber.idl\nWebCore/svg/SVGAnimatedNumberList.idl\nWebCore/svg/SVGAnimatedPreserveAspectRatio.idl\nWebCore/svg/SVGAnimatedRect.idl\nWebCore/svg/SVGAnimatedString.idl\nWebCore/svg/SVGAnimatedTransformList.idl\nWebCore/svg/SVGAnimationElement.idl\nWebCore/svg/SVGCircleElement.idl\nWebCore/svg/SVGClipPathElement.idl\nWebCore/svg/SVGColor.idl\nWebCore/svg/SVGComponentTransferFunctionElement.idl\nWebCore/svg/SVGCursorElement.idl\nWebCore/svg/SVGDefsElement.idl\nWebCore/svg/SVGDescElement.idl\nWebCore/svg/SVGDocument.idl\nWebCore/svg/SVGElement.idl\nWebCore/svg/SVGElementInstance.idl\nWebCore/svg/SVGElementInstanceList.idl\nWebCore/svg/SVGEllipseElement.idl\nWebCore/svg/SVGException.idl\nWebCore/svg/SVGExternalResourcesRequired.idl\nWebCore/svg/SVGFEBlendElement.idl\nWebCore/svg/SVGFEColorMatrixElement.idl\nWebCore/svg/SVGFEComponentTransferElement.idl\nWebCore/svg/SVGFECompositeElement.idl\nWebCore/svg/SVGFEConvolveMatrixElement.idl\nWebCore/svg/SVGFEDiffuseLightingElement.idl\nWebCore/svg/SVGFEDisplacementMapElement.idl\nWebCore/svg/SVGFEDistantLightElement.idl\nWebCore/svg/SVGFEDropShadowElement.idl\nWebCore/svg/SVGFEFloodElement.idl\nWebCore/svg/SVGFEFuncAElement.idl\nWebCore/svg/SVGFEFuncBElement.idl\nWebCore/svg/SVGFEFuncGElement.idl\nWebCore/svg/SVGFEFuncRElement.idl\nWebCore/svg/SVGFEGaussianBlurElement.idl\nWebCore/svg/SVGFEImageElement.idl\nWebCore/svg/SVGFEMergeElement.idl\nWebCore/svg/SVGFEMergeNodeElement.idl\nWebCore/svg/SVGFEMorphologyElement.idl\nWebCore/svg/SVGFEOffsetElement.idl\nWebCore/svg/SVGFEPointLightElement.idl\nWebCore/svg/SVGFESpecularLightingElement.idl\nWebCore/svg/SVGFESpotLightElement.idl\nWebCore/svg/SVGFETileElement.idl\nWebCore/svg/SVGFETurbulenceElement.idl\nWebCore/svg/SVGFilterElement.idl\nWebCore/svg/SVGFilterPrimitiveStandardAttributes.idl\nWebCore/svg/SVGFitToViewBox.idl\nWebCore/svg/SVGFontElement.idl\nWebCore/svg/SVGFontFaceElement.idl\nWebCore/svg/SVGFontFaceFormatElement.idl\nWebCore/svg/SVGFontFaceNameElement.idl\nWebCore/svg/SVGFontFaceSrcElement.idl\nWebCore/svg/SVGFontFaceUriElement.idl\nWebCore/svg/SVGForeignObjectElement.idl\nWebCore/svg/SVGGElement.idl\nWebCore/svg/SVGGlyphElement.idl\nWebCore/svg/SVGGlyphRefElement.idl\nWebCore/svg/SVGGradientElement.idl\nWebCore/svg/SVGHKernElement.idl\nWebCore/svg/SVGImageElement.idl\nWebCore/svg/SVGLangSpace.idl\nWebCore/svg/SVGLength.idl\nWebCore/svg/SVGLengthList.idl\nWebCore/svg/SVGLineElement.idl\nWebCore/svg/SVGLinearGradientElement.idl\nWebCore/svg/SVGLocatable.idl\nWebCore/svg/SVGMPathElement.idl\nWebCore/svg/SVGMarkerElement.idl\nWebCore/svg/SVGMaskElement.idl\nWebCore/svg/SVGMatrix.idl\nWebCore/svg/SVGMetadataElement.idl\nWebCore/svg/SVGMissingGlyphElement.idl\nWebCore/svg/SVGNumber.idl\nWebCore/svg/SVGNumberList.idl\nWebCore/svg/SVGPaint.idl\nWebCore/svg/SVGPathElement.idl\nWebCore/svg/SVGPathSeg.idl\nWebCore/svg/SVGPathSegArcAbs.idl\nWebCore/svg/SVGPathSegArcRel.idl\nWebCore/svg/SVGPathSegClosePath.idl\nWebCore/svg/SVGPathSegCurvetoCubicAbs.idl\nWebCore/svg/SVGPathSegCurvetoCubicRel.idl\nWebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.idl\nWebCore/svg/SVGPathSegCurvetoCubicSmoothRel.idl\nWebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl\nWebCore/svg/SVGPathSegCurvetoQuadraticRel.idl\nWebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl\nWebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl\nWebCore/svg/SVGPathSegLinetoAbs.idl\nWebCore/svg/SVGPathSegLinetoHorizontalAbs.idl\nWebCore/svg/SVGPathSegLinetoHorizontalRel.idl\nWebCore/svg/SVGPathSegLinetoRel.idl\nWebCore/svg/SVGPathSegLinetoVerticalAbs.idl\nWebCore/svg/SVGPathSegLinetoVerticalRel.idl\nWebCore/svg/SVGPathSegList.idl\nWebCore/svg/SVGPathSegMovetoAbs.idl\nWebCore/svg/SVGPathSegMovetoRel.idl\nWebCore/svg/SVGPatternElement.idl\nWebCore/svg/SVGPoint.idl\nWebCore/svg/SVGPointList.idl\nWebCore/svg/SVGPolygonElement.idl\nWebCore/svg/SVGPolylineElement.idl\nWebCore/svg/SVGPreserveAspectRatio.idl\nWebCore/svg/SVGRadialGradientElement.idl\nWebCore/svg/SVGRect.idl\nWebCore/svg/SVGRectElement.idl\nWebCore/svg/SVGRenderingIntent.idl\nWebCore/svg/SVGSVGElement.idl\nWebCore/svg/SVGScriptElement.idl\nWebCore/svg/SVGSetElement.idl\nWebCore/svg/SVGStopElement.idl\nWebCore/svg/SVGStringList.idl\nWebCore/svg/SVGStyleElement.idl\nWebCore/svg/SVGStyledElement.idl\nWebCore/svg/SVGSwitchElement.idl\nWebCore/svg/SVGSymbolElement.idl\nWebCore/svg/SVGTRefElement.idl\nWebCore/svg/SVGTSpanElement.idl\nWebCore/svg/SVGTests.idl\nWebCore/svg/SVGTextContentElement.idl\nWebCore/svg/SVGTextElement.idl\nWebCore/svg/SVGTextPathElement.idl\nWebCore/svg/SVGTextPositioningElement.idl\nWebCore/svg/SVGTitleElement.idl\nWebCore/svg/SVGTransform.idl\nWebCore/svg/SVGTransformList.idl\nWebCore/svg/SVGTransformable.idl\nWebCore/svg/SVGURIReference.idl\nWebCore/svg/SVGUnitTypes.idl\nWebCore/svg/SVGUseElement.idl\nWebCore/svg/SVGVKernElement.idl\nWebCore/svg/SVGViewElement.idl\nWebCore/svg/SVGViewSpec.idl\nWebCore/svg/SVGZoomAndPan.idl\nWebCore/svg/SVGZoomEvent.idl\nWebCore/testing/Internals.idl\nWebCore/testing/InternalSettings.idl\nWebCore/testing/MallocStatistics.idl\nWebCore/testing/MemoryInfo.idl\nWebCore/testing/TypeConversions.idl\nWebCore/workers/AbstractWorker.idl\nWebCore/workers/DedicatedWorkerContext.idl\nWebCore/workers/SharedWorker.idl\nWebCore/workers/SharedWorkerContext.idl\nWebCore/workers/Worker.idl\nWebCore/workers/WorkerContext.idl\nWebCore/workers/WorkerLocation.idl\nWebCore/xml/DOMParser.idl\nWebCore/xml/XMLHttpRequest.idl\nWebCore/xml/XMLHttpRequestException.idl\nWebCore/xml/XMLHttpRequestProgressEvent.idl\nWebCore/xml/XMLHttpRequestUpload.idl\nWebCore/xml/XMLSerializer.idl\nWebCore/xml/XPathEvaluator.idl\nWebCore/xml/XPathException.idl\nWebCore/xml/XPathExpression.idl\nWebCore/xml/XPathNSResolver.idl\nWebCore/xml/XPathResult.idl\nWebCore/xml/XSLTProcessor.idl\nInternalSettingsGenerated.idl\nWebCore/inspector/JavaScriptCallFrame.idl\n" > ./idl_files.tmp +perl JavaScriptCore/docs/make-bytecode-docs.pl JavaScriptCore/interpreter/Interpreter.cpp docs/bytecode.html +cat WebCore/css/CSSPropertyNames.in WebCore/css/SVGCSSPropertyNames.in > CSSPropertyNames.in +rm -f ./idl_files.tmp +python JavaScriptCore/KeywordLookupGenerator.py JavaScriptCore/parser/Keywords.table > KeywordLookup.h +sed -e s/\<WebCore/\<WebKit/ -e s/DOMDOMImplementation/DOMImplementation/ /Volumes/Data/Build/Release/WebCore.framework/PrivateHeaders/DOM.h > /Volumes/Data/Build/Release/WebKit.framework/Versions/A/Headers/DOM.h +END + +for my $line (@expectIgnoredLines) { + is(shouldIgnoreLine("", $line), 1, description("Ignored: " . $line)); +} + +# +# Test input starting with four spaces +# +my @buildSettingsLines = split(/$INPUT_RECORD_SEPARATOR/, <<'END'); +Build settings from command line: + ARCHS = i386 x86_64 + OBJROOT = /Volumes/Data/Build + ONLY_ACTIVE_ARCH = NO + SHARED_PRECOMPS_DIR = /Volumes/Data/Build/PrecompiledHeaders + SYMROOT = /Volumes/Data/Build +END + +for my $i (0..scalar(@buildSettingsLines) - 1) { + my $previousLine = $i ? $buildSettingsLines[$i - 1] : ""; + my $line = $buildSettingsLines[$i]; + is(shouldIgnoreLine($previousLine, $line), 1, description("Ignored: " . $line)); +} + +# +# Test input for undefined symbols error message +# +my @undefinedSymbolsLines = split(/$INPUT_RECORD_SEPARATOR/, <<'END'); +Undefined symbols for architecture x86_64: + "__ZN6WebKit12WebPageProxy28exposedRectChangedTimerFiredEPN7WebCore5TimerIS0_EE", referenced from: + __ZN6WebKit12WebPageProxyC2EPNS_10PageClientEN3WTF10PassRefPtrINS_15WebProcessProxyEEEPNS_12WebPageGroupEy in WebPageProxy.o +ld: symbol(s) not found for architecture x86_64 +clang: error: linker command failed with exit code 1 (use -v to see invocation) +END + +for my $i (0..scalar(@undefinedSymbolsLines) - 1) { + my $previousLine = $i ? $undefinedSymbolsLines[$i - 1] : ""; + my $line = $undefinedSymbolsLines[$i]; + is(shouldIgnoreLine($previousLine, $line), 0, description("Printed: " . $line)); +} + +done_testing(); + +sub description($) +{ + my ($line) = @_; + + my $maxLineLength = 200; + my $ellipsis = "..."; + my $truncateLength = $maxLineLength - length($ellipsis); + + my $description = length($line) > $maxLineLength ? substr($line, 0, $truncateLength) : $line; + $description .= $ellipsis if length($line) != length($description); + + return $description; +} diff --git a/Tools/Scripts/webkitperl/httpd.pm b/Tools/Scripts/webkitperl/httpd.pm index 58ff108d3..f61dfa00b 100644 --- a/Tools/Scripts/webkitperl/httpd.pm +++ b/Tools/Scripts/webkitperl/httpd.pm @@ -90,6 +90,14 @@ sub hasHTTPD return system(@command) == 0; } +sub getApacheVersion +{ + my $httpdPath = getHTTPDPath(); + my $version = `$httpdPath -v`; + $version =~ s/.*Server version: Apache\/(\d+\.\d+).*/$1/s; + return $version; +} + sub getDefaultConfigForTestDirectory { my ($testDirectory) = @_; @@ -112,11 +120,14 @@ sub getDefaultConfigForTestDirectory "-c", "TypesConfig \"$typesConfig\"", # Apache wouldn't run CGIs with permissions==700 otherwise "-c", "User \"#$<\"", - "-c", "LockFile \"$httpdLockFile\"", "-c", "PidFile \"$httpdPidFile\"", "-c", "ScoreBoardFile \"$httpdScoreBoardFile\"", ); + if (getApacheVersion() eq "2.2") { + push(@httpdArgs, "-c", "LockFile \"$httpdLockFile\""); + } + # FIXME: Enable this on Windows once <rdar://problem/5345985> is fixed # The version of Apache we use with Cygwin does not support SSL my $sslCertificate = "$testDirectory/http/conf/webkit-httpd.pem"; @@ -134,6 +145,7 @@ sub getHTTPDConfigPathForTestDirectory my $httpdConfig; my $httpdPath = getHTTPDPath(); my $httpdConfDirectory = "$testDirectory/http/conf/"; + my $apacheVersion = getApacheVersion(); if (isCygwin()) { my $libPHP4DllPath = "/usr/lib/apache/libphp4.dll"; @@ -144,9 +156,9 @@ sub getHTTPDConfigPathForTestDirectory } $httpdConfig = "cygwin-httpd.conf"; # This is an apache 1.3 config. } elsif (isDebianBased()) { - $httpdConfig = "apache2-debian-httpd.conf"; + $httpdConfig = "debian-httpd-$apacheVersion.conf"; } elsif (isFedoraBased()) { - $httpdConfig = "fedora-httpd.conf"; # This is an apache2 config, despite the name. + $httpdConfig = "fedora-httpd-$apacheVersion.conf"; } else { # All other ports use apache2, so just use our default apache2 config. $httpdConfig = "apache2-httpd.conf"; diff --git a/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests-expected.txt b/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests-expected.txt index d94b07406..c58560e98 100644 --- a/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests-expected.txt +++ b/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests-expected.txt @@ -138,11 +138,6 @@ 'Class2::func25' ], [ - '158', - '159', - 'Class1' - ], - [ '162', '164', 'Class1::func26' @@ -183,11 +178,6 @@ 'Class103::Class103' ], [ - '204', - '205', - 'Struct1' - ], - [ '208', '210', 'Struct1::func29' @@ -198,159 +188,34 @@ 'Struct2::func30' ], [ - '219', - '219', - 'NameSpace1' - ], - [ '220', '222', 'NameSpace1::func30' ], [ - '223', - '223', - 'NameSpace1' - ], - [ - '228', - '228', - 'NameSpace2' - ], - [ '229', '231', 'NameSpace1::NameSpace2::func31' ], [ - '232', - '232', - 'NameSpace2' - ], - [ - '237', - '240', - 'Class104' - ], - [ - '244', - '249', - 'Class105' - ], - [ - '253', - '254', - 'Class106' - ], - [ '255', '259', 'Class106::func32' ], [ - '260', - '261', - 'Class106' - ], - [ '262', '266', 'Class106::func33' ], [ - '267', - '268', - 'Class106' - ], - [ - '272', - '273', - 'NameSpace3' - ], - [ - '275', - '276', - 'NameSpace4' - ], - [ - '278', - '279', - 'NameSpace3' - ], - [ - '283', - '284', - 'NameSpace5' - ], - [ - '286', - '287', - 'NameSpace6' - ], - [ - '289', - '290', - 'Class107' - ], - [ '291', '295', 'NameSpace5::NameSpace6::Class107::func34' ], [ - '296', - '297', - 'Class107' - ], - [ - '299', - '300', - 'NameSpace6' - ], - [ - '302', - '303', - 'NameSpace5' - ], - [ - '307', - '307', - 'Class108' - ], - [ '308', '320', 'Class108::func35' ], - [ - '321', - '321', - 'Class108' - ], - [ - '340', - '354', - 'NameSpace7' - ], - [ - '356', - '369', - 'NameSpace8' - ], - [ - '371', - '371', - 'NameSpace7' - ], - [ - '373', - '386', - 'Class109' - ], - [ - '388', - '388', - 'NameSpace7' - ] ] } |