[webkit-changes] [208995] trunk/Source/WebCore
Title: [208995] trunk/Source/WebCore Revision 208995 Author svil...@igalia.com Date 2016-11-28 03:28:41 -0800 (Mon, 28 Nov 2016) Log Message [css-grid] Move attributes from RenderGrid to the new Grid class https://bugs.webkit.org/show_bug.cgi?id=165065 Reviewed by Darin Adler. A new class called Grid was added in 208973. This is the first of a couple of patches moving private attributes from RenderGrid to Grid. Apart from that this is adding a couple of new helper functions that will decouple the existence of in-flow items from the actual data structures storing that information. Last but not least, the Grid::insert() method does not only insert the item in the m_grid data structure, but also stores the GridArea associated to that item, so there is no need to do it in two different calls. No new tests required as this is a refactoring. * rendering/RenderGrid.cpp: (WebCore::RenderGrid::Grid::insert): Added a new parameter. (WebCore::RenderGrid::Grid::setSmallestTracksStart): (WebCore::RenderGrid::Grid::smallestTrackStart): (WebCore::RenderGrid::Grid::gridItemArea): (WebCore::RenderGrid::Grid::setGridItemArea): (WebCore::RenderGrid::Grid::clear): Clear the newly added attributes. (WebCore::RenderGrid::repeatTracksSizingIfNeeded): (WebCore::RenderGrid::computeUsedBreadthOfGridTracks): (WebCore::RenderGrid::rawGridTrackSize): (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions): (WebCore::RenderGrid::computeEmptyTracksForAutoRepeat): (WebCore::RenderGrid::placeItemsOnGrid): (WebCore::RenderGrid::populateExplicitGridAndOrderIterator): (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid): (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid): (WebCore::RenderGrid::clearGrid): (WebCore::RenderGrid::offsetAndBreadthForPositionedChild): (WebCore::RenderGrid::cachedGridSpan): (WebCore::RenderGrid::cachedGridArea): Deleted. * rendering/RenderGrid.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderGrid.cpp trunk/Source/WebCore/rendering/RenderGrid.h Diff Modified: trunk/Source/WebCore/ChangeLog (208994 => 208995) --- trunk/Source/WebCore/ChangeLog 2016-11-28 04:30:44 UTC (rev 208994) +++ trunk/Source/WebCore/ChangeLog 2016-11-28 11:28:41 UTC (rev 208995) @@ -1,3 +1,44 @@ +2016-11-24 Sergio Villar Senin+ +[css-grid] Move attributes from RenderGrid to the new Grid class +https://bugs.webkit.org/show_bug.cgi?id=165065 + +Reviewed by Darin Adler. + +A new class called Grid was added in 208973. This is the first of a couple of patches moving +private attributes from RenderGrid to Grid. + +Apart from that this is adding a couple of new helper functions that will decouple the +existence of in-flow items from the actual data structures storing that information. + +Last but not least, the Grid::insert() method does not only insert the item in the m_grid +data structure, but also stores the GridArea associated to that item, so there is no need to +do it in two different calls. + +No new tests required as this is a refactoring. + +* rendering/RenderGrid.cpp: +(WebCore::RenderGrid::Grid::insert): Added a new parameter. +(WebCore::RenderGrid::Grid::setSmallestTracksStart): +(WebCore::RenderGrid::Grid::smallestTrackStart): +(WebCore::RenderGrid::Grid::gridItemArea): +(WebCore::RenderGrid::Grid::setGridItemArea): +(WebCore::RenderGrid::Grid::clear): Clear the newly added attributes. +(WebCore::RenderGrid::repeatTracksSizingIfNeeded): +(WebCore::RenderGrid::computeUsedBreadthOfGridTracks): +(WebCore::RenderGrid::rawGridTrackSize): +(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions): +(WebCore::RenderGrid::computeEmptyTracksForAutoRepeat): +(WebCore::RenderGrid::placeItemsOnGrid): +(WebCore::RenderGrid::populateExplicitGridAndOrderIterator): +(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid): +(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid): +(WebCore::RenderGrid::clearGrid): +(WebCore::RenderGrid::offsetAndBreadthForPositionedChild): +(WebCore::RenderGrid::cachedGridSpan): +(WebCore::RenderGrid::cachedGridArea): Deleted. +* rendering/RenderGrid.h: + 2016-11-27 Sam Weinig Remove unused DOMRequestState Modified: trunk/Source/WebCore/rendering/RenderGrid.cpp (208994 => 208995) --- trunk/Source/WebCore/rendering/RenderGrid.cpp 2016-11-28 04:30:44 UTC (rev 208994) +++ trunk/Source/WebCore/rendering/RenderGrid.cpp 2016-11-28 11:28:41 UTC (rev 208995) @@ -71,11 +71,39 @@ for (const auto& column : area.columns) m_grid[row][column].append(); } + +setGridItemArea(child, area); } +void RenderGrid::Grid::setSmallestTracksStart(int rowStart, int columnStart) +{ +m_smallestRowStart = rowStart; +
[webkit-changes] [208996] trunk/LayoutTests
Title: [208996] trunk/LayoutTests Revision 208996 Author pvol...@apple.com Date 2016-11-28 05:53:30 -0800 (Mon, 28 Nov 2016) Log Message [Win] WebCrypto tests are failing. https://bugs.webkit.org/show_bug.cgi?id=165090 Unreviewed test gardening. * platform/win/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/win/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (208995 => 208996) --- trunk/LayoutTests/ChangeLog 2016-11-28 11:28:41 UTC (rev 208995) +++ trunk/LayoutTests/ChangeLog 2016-11-28 13:53:30 UTC (rev 208996) @@ -1,3 +1,12 @@ +2016-11-28 Per Arne Vollan+ +[Win] WebCrypto tests are failing. +https://bugs.webkit.org/show_bug.cgi?id=165090 + +Unreviewed test gardening. + +* platform/win/TestExpectations: + 2016-11-27 Ryan Haddad Rebaseline inspector/dom/getAccessibilityPropertiesForNode.html for macOS. Modified: trunk/LayoutTests/platform/win/TestExpectations (208995 => 208996) --- trunk/LayoutTests/platform/win/TestExpectations 2016-11-28 11:28:41 UTC (rev 208995) +++ trunk/LayoutTests/platform/win/TestExpectations 2016-11-28 13:53:30 UTC (rev 208996) @@ -593,6 +593,7 @@ # TODO crypto.subtle is not yet enabled crypto/webkitSubtle/ [ Skip ] crypto/subtle/ [ Skip ] +crypto/workers/subtle/ [ Skip ] # TODO Missing WebSpeech implementation webkit.org/b/136224 fast/speechsynthesis [ Skip ] @@ -3620,3 +3621,6 @@ # webrtc not supported imported/w3c/web-platform-tests/webrtc [ Skip ] + +# WebCrypto tests are failing. +webkit.org/b/165090 imported/w3c/WebCryptoAPI [ Skip ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [208998] trunk
Title: [208998] trunk Revision 208998 Author an...@apple.com Date 2016-11-28 07:58:35 -0800 (Mon, 28 Nov 2016) Log Message Remove FIRST_LINE_INHERITED fake pseudo style https://bugs.webkit.org/show_bug.cgi?id=165071 Reviewed by Andreas Kling. Source/WebCore: These are create during layout an then cached to the RenderStyle. Cache computed first line style to RenderObject rare data instead, avoiding style mutation an other confusing messiness. * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::computeFirstLineStyle): (WebCore::RenderElement::firstLineStyle): Cache the first line style. (WebCore::RenderElement::invalidateCachedFirstLineStyle): (WebCore::RenderElement::styleWillChange): Invalidate subtree if we have cached first line style. (WebCore::RenderElement::getUncachedPseudoStyle): (WebCore::RenderElement::uncachedFirstLineStyle): Deleted. (WebCore::RenderElement::cachedFirstLineStyle): Deleted. * rendering/RenderElement.h: * rendering/RenderObject.cpp: (WebCore::RenderObject::rareDataMap): (WebCore::RenderObject::rareData): (WebCore::RenderObject::ensureRareData): * rendering/RenderObject.h: Stop copying rare data objects. * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresLayout): Use the normal mechanism for invalidating layout for first-line instead of a hack in pseudoStyleCacheIsInvalid. * rendering/style/RenderStyleConstants.h: * style/RenderTreeUpdater.cpp: (WebCore::pseudoStyleCacheIsInvalid): Simplify. LayoutTests: Expand the test case a bit. * fast/css/pseudo-cache-stale-expected.html: * fast/css/pseudo-cache-stale.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/css/pseudo-cache-stale-expected.html trunk/LayoutTests/fast/css/pseudo-cache-stale.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderElement.cpp trunk/Source/WebCore/rendering/RenderElement.h trunk/Source/WebCore/rendering/RenderObject.cpp trunk/Source/WebCore/rendering/RenderObject.h trunk/Source/WebCore/rendering/style/RenderStyle.cpp trunk/Source/WebCore/rendering/style/RenderStyleConstants.h trunk/Source/WebCore/style/RenderTreeUpdater.cpp Diff Modified: trunk/LayoutTests/ChangeLog (208997 => 208998) --- trunk/LayoutTests/ChangeLog 2016-11-28 15:00:41 UTC (rev 208997) +++ trunk/LayoutTests/ChangeLog 2016-11-28 15:58:35 UTC (rev 208998) @@ -1,3 +1,15 @@ +2016-11-28 Antti Koivisto+ +Remove FIRST_LINE_INHERITED fake pseudo style +https://bugs.webkit.org/show_bug.cgi?id=165071 + +Reviewed by Andreas Kling. + +Expand the test case a bit. + +* fast/css/pseudo-cache-stale-expected.html: +* fast/css/pseudo-cache-stale.html: + 2016-11-28 Per Arne Vollan [Win] WebCrypto tests are failing. Modified: trunk/LayoutTests/fast/css/pseudo-cache-stale-expected.html (208997 => 208998) --- trunk/LayoutTests/fast/css/pseudo-cache-stale-expected.html 2016-11-28 15:00:41 UTC (rev 208997) +++ trunk/LayoutTests/fast/css/pseudo-cache-stale-expected.html 2016-11-28 15:58:35 UTC (rev 208998) @@ -10,5 +10,8 @@ This sentence should be extra-extra-large. + +This sentence should be extra-extra-large too. + Modified: trunk/LayoutTests/fast/css/pseudo-cache-stale.html (208997 => 208998) --- trunk/LayoutTests/fast/css/pseudo-cache-stale.html 2016-11-28 15:00:41 UTC (rev 208997) +++ trunk/LayoutTests/fast/css/pseudo-cache-stale.html 2016-11-28 15:58:35 UTC (rev 208998) @@ -15,6 +15,10 @@ font-size: xx-large; } +.green #first-line-inherit:first-line { +font-size: xx-large; +} + .green input::placeholder { color: green; } @@ -26,6 +30,9 @@ This sentence should be extra-extra-large. + +This sentence should be extra-extra-large too. +
[webkit-changes] [209002] tags/Safari-603.1.13
Title: [209002] tags/Safari-603.1.13 Revision 209002 Author matthew_han...@apple.com Date 2016-11-28 11:52:38 -0800 (Mon, 28 Nov 2016) Log Message Roll back the Safari-603.1.13 tag to r208793, which is the revision that the tag was created in. Modified Paths tags/Safari-603.1.13/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig tags/Safari-603.1.13/Source/WebCore/Configurations/FeatureDefines.xcconfig tags/Safari-603.1.13/Source/WebKit/mac/ChangeLog tags/Safari-603.1.13/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig tags/Safari-603.1.13/Source/WebKit/mac/WebView/WebView.mm tags/Safari-603.1.13/Source/WebKit2/ChangeLog tags/Safari-603.1.13/Source/WebKit2/Configurations/FeatureDefines.xcconfig tags/Safari-603.1.13/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj tags/Safari-603.1.13/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig Diff Modified: tags/Safari-603.1.13/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig (209001 => 209002) --- tags/Safari-603.1.13/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig 2016-11-28 19:11:38 UTC (rev 209001) +++ tags/Safari-603.1.13/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig 2016-11-28 19:52:38 UTC (rev 209002) @@ -90,7 +90,7 @@ ENABLE_GAMEPAD_DEPRECATED = ; ENABLE_GEOLOCATION = ENABLE_GEOLOCATION; ENABLE_ICONDATABASE[sdk=macosx*] = ENABLE_ICONDATABASE; -ENABLE_INTERSECTION_OBSERVER = ; +ENABLE_INTERSECTION_OBSERVER = ENABLE_INTERSECTION_OBSERVER; ENABLE_SERVICE_CONTROLS[sdk=macosx*] = ENABLE_SERVICE_CONTROLS; ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE; ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS; Modified: tags/Safari-603.1.13/Source/WebCore/Configurations/FeatureDefines.xcconfig (209001 => 209002) --- tags/Safari-603.1.13/Source/WebCore/Configurations/FeatureDefines.xcconfig 2016-11-28 19:11:38 UTC (rev 209001) +++ tags/Safari-603.1.13/Source/WebCore/Configurations/FeatureDefines.xcconfig 2016-11-28 19:52:38 UTC (rev 209002) @@ -90,7 +90,7 @@ ENABLE_GAMEPAD_DEPRECATED = ; ENABLE_GEOLOCATION = ENABLE_GEOLOCATION; ENABLE_ICONDATABASE[sdk=macosx*] = ENABLE_ICONDATABASE; -ENABLE_INTERSECTION_OBSERVER = ; +ENABLE_INTERSECTION_OBSERVER = ENABLE_INTERSECTION_OBSERVER; ENABLE_SERVICE_CONTROLS[sdk=macosx*] = ENABLE_SERVICE_CONTROLS; ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE; ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS; Modified: tags/Safari-603.1.13/Source/WebKit/mac/ChangeLog (209001 => 209002) --- tags/Safari-603.1.13/Source/WebKit/mac/ChangeLog 2016-11-28 19:11:38 UTC (rev 209001) +++ tags/Safari-603.1.13/Source/WebKit/mac/ChangeLog 2016-11-28 19:52:38 UTC (rev 209002) @@ -1,13 +1,3 @@ -2016-11-18 Matthew Hanson- -Merge r208877. rdar://problem/29326204 - -2016-11-17 Dan Bernstein - -Try to fix some non-macOS builds. - -* WebView/WebView.mm: - 2016-11-14 Alex Christensen Move SecurityOrigin::createFromDatabaseIdentifier to SecurityOriginData Modified: tags/Safari-603.1.13/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig (209001 => 209002) --- tags/Safari-603.1.13/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig 2016-11-28 19:11:38 UTC (rev 209001) +++ tags/Safari-603.1.13/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig 2016-11-28 19:52:38 UTC (rev 209002) @@ -90,7 +90,7 @@ ENABLE_GAMEPAD_DEPRECATED = ; ENABLE_GEOLOCATION = ENABLE_GEOLOCATION; ENABLE_ICONDATABASE[sdk=macosx*] = ENABLE_ICONDATABASE; -ENABLE_INTERSECTION_OBSERVER = ; +ENABLE_INTERSECTION_OBSERVER = ENABLE_INTERSECTION_OBSERVER; ENABLE_SERVICE_CONTROLS[sdk=macosx*] = ENABLE_SERVICE_CONTROLS; ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE; ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS; Modified: tags/Safari-603.1.13/Source/WebKit/mac/WebView/WebView.mm (209001 => 209002) --- tags/Safari-603.1.13/Source/WebKit/mac/WebView/WebView.mm 2016-11-28 19:11:38 UTC (rev 209001) +++ tags/Safari-603.1.13/Source/WebKit/mac/WebView/WebView.mm 2016-11-28 19:52:38 UTC (rev 209002) @@ -118,6 +118,7 @@ #import <_javascript_Core/APICast.h> #import <_javascript_Core/Exception.h> #import <_javascript_Core/JSValueRef.h> +#import #import #import #import @@ -231,7 +232,6 @@ #import "WebNSPasteboardExtras.h" #import "WebNSPrintOperationExtras.h" #import "WebPDFView.h" -#import #import #import #import Modified: tags/Safari-603.1.13/Source/WebKit2/ChangeLog (209001 => 209002) --- tags/Safari-603.1.13/Source/WebKit2/ChangeLog 2016-11-28 19:11:38 UTC (rev 209001) +++ tags/Safari-603.1.13/Source/WebKit2/ChangeLog 2016-11-28 19:52:38 UTC (rev 209002) @@ -1,18 +1,3 @@ -2016-11-16 Matthew Hanson - -Merge r208835. rdar://problem/29277451 - -2016-11-16 Brent Fulgham - -Unreviewed
[webkit-changes] [209005] trunk/Source/WebCore
Title: [209005] trunk/Source/WebCore Revision 209005 Author bfulg...@apple.com Date 2016-11-28 12:27:39 -0800 (Mon, 28 Nov 2016) Log Message ImageData does not match specification https://bugs.webkit.org/show_bug.cgi?id=164663 Reviewed by Simon Fraser. The W3C specification https://www.w3.org/TR/2dcontext/ clearly states that the width and height attributes of the ImageData type should be unsigned. Our current implementation has signed integer values. In practice, we have enforced the unsigned requirement by throwing a TypeError if you attempt to construct an ImageData with negative width or height. This change simply updates the IDL and impelemntation to match the spec. Test coverage is already provided by fast/canvas/canvas-imageData.html * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneDeserializer::readTerminal): Serialize as uint32_t values. * html/ImageData.idl: Revise width and height to be unsigned long. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp trunk/Source/WebCore/html/ImageData.idl Diff Modified: trunk/Source/WebCore/ChangeLog (209004 => 209005) --- trunk/Source/WebCore/ChangeLog 2016-11-28 20:18:01 UTC (rev 209004) +++ trunk/Source/WebCore/ChangeLog 2016-11-28 20:27:39 UTC (rev 209005) @@ -1,3 +1,25 @@ +2016-11-28 Brent Fulgham+ +ImageData does not match specification +https://bugs.webkit.org/show_bug.cgi?id=164663 + +Reviewed by Simon Fraser. + +The W3C specification https://www.w3.org/TR/2dcontext/ clearly states that +the width and height attributes of the ImageData type should be unsigned. +Our current implementation has signed integer values. + +In practice, we have enforced the unsigned requirement by throwing a TypeError +if you attempt to construct an ImageData with negative width or height. + +This change simply updates the IDL and impelemntation to match the spec. + +Test coverage is already provided by fast/canvas/canvas-imageData.html + +* bindings/js/SerializedScriptValue.cpp: +(WebCore::CloneDeserializer::readTerminal): Serialize as uint32_t values. +* html/ImageData.idl: Revise width and height to be unsigned long. + 2016-11-28 Dave Hyatt [CSS Parser] flex-basis should be pixel units not percentages. Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp (209004 => 209005) --- trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp 2016-11-28 20:18:01 UTC (rev 209004) +++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp 2016-11-28 20:27:39 UTC (rev 209005) @@ -2264,10 +2264,10 @@ return getJSValue(FileList::create(WTFMove(files)).get()); } case ImageDataTag: { -int32_t width; +uint32_t width; if (!read(width)) return JSValue(); -int32_t height; +uint32_t height; if (!read(height)) return JSValue(); uint32_t length; Modified: trunk/Source/WebCore/html/ImageData.idl (209004 => 209005) --- trunk/Source/WebCore/html/ImageData.idl 2016-11-28 20:18:01 UTC (rev 209004) +++ trunk/Source/WebCore/html/ImageData.idl 2016-11-28 20:27:39 UTC (rev 209005) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008, 2009 Apple Inc. All rights reserved. + * Copyright (C) 2008-2009, 2016 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -34,7 +34,7 @@ Exposed=(Window,Worker), ImplementationLacksVTable, ] interface ImageData { -readonly attribute long width; -readonly attribute long height; +readonly attribute unsigned long width; +readonly attribute unsigned long height; readonly attribute Uint8ClampedArray data; }; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209006] trunk/Source/WebCore
Title: [209006] trunk/Source/WebCore Revision 209006 Author hy...@apple.com Date 2016-11-28 12:28:15 -0800 (Mon, 28 Nov 2016) Log Message [CSS Parser] Filters and Reflections Fixes https://bugs.webkit.org/show_bug.cgi?id=165103 Reviewed by Zalan Bujtas. * css/parser/CSSPropertyParser.cpp: (WebCore::consumeReflect): Support the "none" keyword for box-reflect. * css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::isValidPrimitiveFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilterFunction): Don't rely on range checking, since invert isn't grouped with the other function values. Actually check every keyword. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (209005 => 209006) --- trunk/Source/WebCore/ChangeLog 2016-11-28 20:27:39 UTC (rev 209005) +++ trunk/Source/WebCore/ChangeLog 2016-11-28 20:28:15 UTC (rev 209006) @@ -1,3 +1,20 @@ +2016-11-28 Dave Hyatt+ +[CSS Parser] Filters and Reflections Fixes +https://bugs.webkit.org/show_bug.cgi?id=165103 + +Reviewed by Zalan Bujtas. + +* css/parser/CSSPropertyParser.cpp: +(WebCore::consumeReflect): +Support the "none" keyword for box-reflect. + +* css/parser/CSSPropertyParserHelpers.cpp: +(WebCore::CSSPropertyParserHelpers::isValidPrimitiveFilterFunction): +(WebCore::CSSPropertyParserHelpers::consumeFilterFunction): +Don't rely on range checking, since invert isn't grouped with the other +function values. Actually check every keyword. + 2016-11-28 Brent Fulgham ImageData does not match specification Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (209005 => 209006) --- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp 2016-11-28 20:27:39 UTC (rev 209005) +++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp 2016-11-28 20:28:15 UTC (rev 209006) @@ -2620,6 +2620,9 @@ static RefPtr consumeReflect(CSSParserTokenRange& range, const CSSParserContext& context) { +if (range.peek().id() == CSSValueNone) +return consumeIdent(range); + RefPtr direction = consumeIdent (range); if (!direction) return nullptr; Modified: trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp (209005 => 209006) --- trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp 2016-11-28 20:27:39 UTC (rev 209005) +++ trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp 2016-11-28 20:28:15 UTC (rev 209006) @@ -1182,14 +1182,33 @@ || id == CSSValueWebkitGradient || id == CSSValueWebkitCrossFade || id == CSSValueWebkitCanvas || id == CSSValueCrossFade || id == CSSValueWebkitNamedImage || id == CSSValueWebkitFilter || id == CSSValueFilter; } + +static bool isValidPrimitiveFilterFunction(CSSValueID filterFunction) +{ +switch (filterFunction) { +case CSSValueBlur: +case CSSValueBrightness: +case CSSValueContrast: +case CSSValueDropShadow: +case CSSValueGrayscale: +case CSSValueHueRotate: +case CSSValueInvert: +case CSSValueOpacity: +case CSSValueSaturate: +case CSSValueSepia: +return true; +default: +return false; +} +} RefPtr consumeFilterFunction(CSSParserTokenRange& range, const CSSParserContext& context) { CSSValueID filterType = range.peek().functionId(); -if (filterType < CSSValueInvert || filterType > CSSValueDropShadow) +if (!isValidPrimitiveFilterFunction(filterType)) return nullptr; CSSParserTokenRange args = consumeFunction(range); -auto filterValue = CSSFunctionValue::create(filterType); +RefPtr filterValue = CSSFunctionValue::create(filterType); RefPtr parsedValue; if (filterType == CSSValueDropShadow) @@ -1196,7 +1215,7 @@ parsedValue = consumeSingleShadow(args, context.mode, false, false); else { if (args.atEnd()) -return filterValue.ptr(); +return filterValue; if (filterType == CSSValueBrightness) { parsedValue = consumePercent(args, ValueRangeAll); if (!parsedValue) @@ -1219,8 +1238,8 @@ } if (!parsedValue || !args.atEnd()) return nullptr; -filterValue->append(*parsedValue); -return filterValue.ptr(); +filterValue->append(parsedValue.releaseNonNull()); +return filterValue; } RefPtr consumeFilter(CSSParserTokenRange& range, const CSSParserContext& context) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209010] trunk/Source/WebKit2
Title: [209010] trunk/Source/WebKit2 Revision 209010 Author commit-qu...@webkit.org Date 2016-11-28 12:46:44 -0800 (Mon, 28 Nov 2016) Log Message Support for HTML Media Capture API https://bugs.webkit.org/show_bug.cgi?id=43239 Patch by Andrew Goldon 2016-11-28 Reviewed by Tim Horton. In order to enable media capture on iOS, we must first use the AVFoundation API to check/request capture permission from the user for Safari. Then, Safari must request permission on behalf of the webpage to use the capture devices. Additionally, Safari must present UI when the capture is taking place, so WebKit needs to notify the client of a capture session beginning and ending. To do this, we added four methods to WKUIDelegatePrivate to request permission from the user, check for permissions, notify that a capture session has begun, and notify that a capture session has ended. Additionally, we added a private method to WKWebView that allows the client to stop a capture session. * UIProcess/API/APIUIClient.h: (API::UIClient::didBeginCaptureSession): Notifies the client of a capture session beginning. (API::UIClient::didEndCaptureSession): Notifies the client of a capture session ending. * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Added new delegate methods to request permission, check for permission, notify of a capture session beginning, and notify of a capture session ending. * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _stopMediaCapture]): Cancels a media capture session. * UIProcess/API/Cocoa/WKWebViewPrivate.h: * UIProcess/Cocoa/UIDelegate.h: * UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::setDelegate): Added the new delegate methods. (WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest): First checks if the user has authorized the client application access capture devices, then uses the WKUIDelegate to request permission for a site from the user. (WebKit::UIDelegate::UIClient::checkUserMediaPermissionForOrigin): Checks the client for permission to access capture devices. (WebKit::UIDelegate::UIClient::didBeginCaptureSession): Notifies the client of a capture session beginning. (WebKit::UIDelegate::UIClient::didEndCaptureSession): Notifies the client of a capture session ending. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::isPlayingMediaDidChange): Calls UIDelegate method to notify the client of a capture session beginning/ending. Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/API/APIUIClient.h trunk/Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.h trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp Diff Modified: trunk/Source/WebKit2/ChangeLog (209009 => 209010) --- trunk/Source/WebKit2/ChangeLog 2016-11-28 20:45:27 UTC (rev 209009) +++ trunk/Source/WebKit2/ChangeLog 2016-11-28 20:46:44 UTC (rev 209010) @@ -1,3 +1,48 @@ +2016-11-28 Andrew Gold + +Support for HTML Media Capture API +https://bugs.webkit.org/show_bug.cgi?id=43239 + +Reviewed by Tim Horton. + +In order to enable media capture on iOS, we must first use the AVFoundation API to +check/request capture permission from the user for Safari. Then, Safari must request +permission on behalf of the webpage to use the capture devices. Additionally, Safari +must present UI when the capture is taking place, so WebKit needs to notify the client +of a capture session beginning and ending. To do this, we added four methods to +WKUIDelegatePrivate to request permission from the user, check for permissions, notify +that a capture session has begun, and notify that a capture session has ended. Additionally, +we added a private method to WKWebView that allows the client to stop a capture session. + +* UIProcess/API/APIUIClient.h: +(API::UIClient::didBeginCaptureSession): Notifies the client of a capture session beginning. +(API::UIClient::didEndCaptureSession): Notifies the client of a capture session ending. + +* UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Added new delegate methods to request permission, +check for permission, notify of a capture session beginning, and notify of a capture session +ending. + +* UIProcess/API/Cocoa/WKWebView.mm: +(-[WKWebView _stopMediaCapture]): Cancels a media capture session. +* UIProcess/API/Cocoa/WKWebViewPrivate.h: + +* UIProcess/Cocoa/UIDelegate.h: +* UIProcess/Cocoa/UIDelegate.mm: +(WebKit::UIDelegate::setDelegate): Added the new delegate methods. +(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest): +First checks if the user has authorized the client application access
[webkit-changes] [209012] trunk/Tools
Title: [209012] trunk/Tools Revision 209012 Author dba...@webkit.org Date 2016-11-28 13:37:07 -0800 (Mon, 28 Nov 2016) Log Message Teach webkitpy how to read CSSProperties.json r209001 https://bugs.webkit.org/show_bug.cgi?id=165108 Reviewed by Simon Fraser. Fix webkitpy logic so that it can read CSS property names from CSSProperties.json following r209001. Following r209001 CSSPropertyNames.in no longer exists as it was replaced with CSSProperties.json. We need to modify the webkitpy machinery that processed CSSPropertyNames.in to process CSSProperties.json. * Scripts/webkitpy/w3c/test_converter.py: (_W3CTestConverter.__init__): Make self._css_property_file and self._css_property_value_file local variables as it is unnecessary for them to be instance variables. Call read_webkit_prefixed_css_property_list() to read the property names from file CSSProperties.json. Call legacy_read_webkit_prefixed_css_property_list() to read CSS keyword values from CSSValueKeywords.in. (_W3CTestConverter.read_webkit_prefixed_css_property_list): Added. (_W3CTestConverter): (_W3CTestConverter.legacy_read_webkit_prefixed_css_property_list): Renamed from read_webkit_prefixed_css_property_list. * Scripts/webkitpy/w3c/test_importer_unittest.py: (TestImporterTest.test_harnesslinks_conversion): Substitute CSSProperties.json for CSSPropertyNames.in. Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/w3c/test_converter.py trunk/Tools/Scripts/webkitpy/w3c/test_importer_unittest.py Diff Modified: trunk/Tools/ChangeLog (209011 => 209012) --- trunk/Tools/ChangeLog 2016-11-28 21:26:10 UTC (rev 209011) +++ trunk/Tools/ChangeLog 2016-11-28 21:37:07 UTC (rev 209012) @@ -1,3 +1,26 @@ +2016-11-28 Daniel Bates+ +Teach webkitpy how to read CSSProperties.json r209001 +https://bugs.webkit.org/show_bug.cgi?id=165108 + +Reviewed by Simon Fraser. + +Fix webkitpy logic so that it can read CSS property names from CSSProperties.json following r209001. + +Following r209001 CSSPropertyNames.in no longer exists as it was replaced with CSSProperties.json. +We need to modify the webkitpy machinery that processed CSSPropertyNames.in to process CSSProperties.json. + +* Scripts/webkitpy/w3c/test_converter.py: +(_W3CTestConverter.__init__): Make self._css_property_file and self._css_property_value_file local +variables as it is unnecessary for them to be instance variables. Call read_webkit_prefixed_css_property_list() +to read the property names from file CSSProperties.json. Call legacy_read_webkit_prefixed_css_property_list() to +read CSS keyword values from CSSValueKeywords.in. +(_W3CTestConverter.read_webkit_prefixed_css_property_list): Added. +(_W3CTestConverter): +(_W3CTestConverter.legacy_read_webkit_prefixed_css_property_list): Renamed from read_webkit_prefixed_css_property_list. +* Scripts/webkitpy/w3c/test_importer_unittest.py: +(TestImporterTest.test_harnesslinks_conversion): Substitute CSSProperties.json for CSSPropertyNames.in. + 2016-11-28 Eric Carlson [MediaStream] Don't request user permission for a device if it has already been granted in the current browsing context Modified: trunk/Tools/Scripts/webkitpy/w3c/test_converter.py (209011 => 209012) --- trunk/Tools/Scripts/webkitpy/w3c/test_converter.py 2016-11-28 21:26:10 UTC (rev 209011) +++ trunk/Tools/Scripts/webkitpy/w3c/test_converter.py 2016-11-28 21:37:07 UTC (rev 209012) @@ -27,6 +27,7 @@ # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. +import json import logging import re @@ -73,16 +74,16 @@ self.convert_test_harness_links = convert_test_harness_links # These settings might vary between WebKit and Blink -self._css_property_file = self.path_from_webkit_root('Source', 'WebCore', 'css', 'CSSPropertyNames.in') -self._css_property_value_file = self.path_from_webkit_root('Source', 'WebCore', 'css', 'CSSValueKeywords.in') +css_property_file = self.path_from_webkit_root('Source', 'WebCore', 'css', 'CSSProperties.json') +css_property_value_file = self.path_from_webkit_root('Source', 'WebCore', 'css', 'CSSValueKeywords.in') self.test_harness_re = re.compile('/resources/testharness') -self.prefixed_properties = self.read_webkit_prefixed_css_property_list(self._css_property_file) +self.prefixed_properties = self.read_webkit_prefixed_css_property_list(css_property_file) prop_regex = '([\s{]|^)(' + "|".join(prop.replace('-webkit-', '') for prop in self.prefixed_properties) + ')(\s+:|:)' self.prop_re = re.compile(prop_regex) -self.prefixed_property_values = self.read_webkit_prefixed_css_property_list(self._css_property_value_file) +self.prefixed_property_values =
[webkit-changes] [209008] trunk
Title: [209008] trunk Revision 209008 Author eric.carl...@apple.com Date 2016-11-28 12:45:12 -0800 (Mon, 28 Nov 2016) Log Message [MediaStream] Don't request user permission for a device if it has already been granted in the current browsing context https://bugs.webkit.org/show_bug.cgi?id=164760 Source/WebKit2: Reviewed by Youenn Fablet. * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::FrameAuthorizationState::FrameAuthorizationState): (WebKit::FrameAuthorizationState::hasPermissionToUseCaptureDevice): (WebKit::FrameAuthorizationState::setHasPermissionToUseCaptureDevice): (WebKit::FrameAuthorizationState::reset): (WebKit::FrameAuthorizationState::securityOriginsAreEqual): (WebKit::UserMediaPermissionRequestManagerProxy::stateForRequest): (WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests): (WebKit::UserMediaPermissionRequestManagerProxy::createRequest): (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied): (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): * UIProcess/UserMediaPermissionRequestManagerProxy.h: (WebKit::FrameAuthorizationState::~FrameAuthorizationState): (WebKit::FrameAuthorizationState::frameID): * UIProcess/UserMediaPermissionRequestProxy.cpp: (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): * UIProcess/UserMediaPermissionRequestProxy.h: (WebKit::UserMediaPermissionRequestProxy::create): (WebKit::UserMediaPermissionRequestProxy::frameID): (WebKit::UserMediaPermissionRequestProxy::userMediaDocumentSecurityOrigin): (WebKit::UserMediaPermissionRequestProxy::topLevelDocumentSecurityOrigin): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didCommitLoadForFrame): * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp: (WebKit::UserMediaPermissionRequestManager::removeMediaRequestFromMaps): Tools: Reviewed by Youenn Fablet. Allow scripts to determine the number of times the user has been prompted for capture device access. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::setUserMediaPersistentPermissionForOrigin): (WTR::InjectedBundle::userMediaPermissionRequestCountForOrigin): (WTR::InjectedBundle::resetUserMediaPermissionRequestCountForOrigin): (WTR::InjectedBundle::setUserMediaPermissionForOrigin): Deleted. * WebKitTestRunner/InjectedBundle/InjectedBundle.h: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setUserMediaPersistentPermissionForOrigin): (WTR::TestRunner::userMediaPermissionRequestCountForOrigin): (WTR::TestRunner::resetUserMediaPermissionRequestCountForOrigin): (WTR::TestRunner::setUserMediaPermissionForOrigin): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): (WTR::OriginSettings::incrementRequestCount): (WTR::OriginSettings::resetRequestCount): (WTR::OriginSettings::requestCount): (WTR::TestController::saltForOrigin): (WTR::TestController::setUserMediaPersistentPermissionForOrigin): (WTR::TestController::handleCheckOfUserMediaPermissionForOrigin): (WTR::TestController::settingsForOrigin): (WTR::TestController::userMediaPermissionRequestCountForOrigin): (WTR::TestController::resetUserMediaPermissionRequestCountForOrigin): (WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible): (WTR::TestController::setUserMediaPermissionForOrigin): Deleted. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): LayoutTests: Reviewed by Youenn Fablet. * fast/mediastream/MediaDevices-getUserMedia-expected.txt: * fast/mediastream/MediaDevices-getUserMedia.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/mediastream/MediaDevices-enumerateDevices.html trunk/LayoutTests/http/tests/media/media-stream/enumerate-devices-source-id-persistent.html trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/UserMediaPermissionRequestManagerProxy.cpp trunk/Source/WebKit2/UIProcess/UserMediaPermissionRequestManagerProxy.h trunk/Source/WebKit2/UIProcess/UserMediaPermissionRequestProxy.cpp trunk/Source/WebKit2/UIProcess/UserMediaPermissionRequestProxy.h trunk/Tools/ChangeLog trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h trunk/Tools/WebKitTestRunner/TestController.cpp trunk/Tools/WebKitTestRunner/TestController.h trunk/Tools/WebKitTestRunner/TestInvocation.cpp Added Paths
[webkit-changes] [209009] trunk/Source/WebCore
Title: [209009] trunk/Source/WebCore Revision 209009 Author cdu...@apple.com Date 2016-11-28 12:45:27 -0800 (Mon, 28 Nov 2016) Log Message Limit HTML Form validation popovers to 4 lines https://bugs.webkit.org/show_bug.cgi?id=165098 Reviewed by Darin Adler. Limit HTML Form validation popovers to 4 lines as per recent feedback. * platform/ios/ValidationBubbleIOS.mm: (WebCore::ValidationBubble::ValidationBubble): * platform/mac/ValidationBubbleMac.mm: (WebCore::ValidationBubble::ValidationBubble): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/ios/ValidationBubbleIOS.mm trunk/Source/WebCore/platform/mac/ValidationBubbleMac.mm Diff Modified: trunk/Source/WebCore/ChangeLog (209008 => 209009) --- trunk/Source/WebCore/ChangeLog 2016-11-28 20:45:12 UTC (rev 209008) +++ trunk/Source/WebCore/ChangeLog 2016-11-28 20:45:27 UTC (rev 209009) @@ -1,3 +1,18 @@ +2016-11-28 Chris Dumez+ +Limit HTML Form validation popovers to 4 lines +https://bugs.webkit.org/show_bug.cgi?id=165098 + + +Reviewed by Darin Adler. + +Limit HTML Form validation popovers to 4 lines as per recent feedback. + +* platform/ios/ValidationBubbleIOS.mm: +(WebCore::ValidationBubble::ValidationBubble): +* platform/mac/ValidationBubbleMac.mm: +(WebCore::ValidationBubble::ValidationBubble): + 2016-11-28 Dave Hyatt [CSS Parser] Filters and Reflections Fixes Modified: trunk/Source/WebCore/platform/ios/ValidationBubbleIOS.mm (209008 => 209009) --- trunk/Source/WebCore/platform/ios/ValidationBubbleIOS.mm 2016-11-28 20:45:12 UTC (rev 209008) +++ trunk/Source/WebCore/platform/ios/ValidationBubbleIOS.mm 2016-11-28 20:45:27 UTC (rev 209009) @@ -72,7 +72,7 @@ RetainPtr label = adoptNS([[getUILabelClass() alloc] initWithFrame:CGRectZero]); [label setText:message]; [label setLineBreakMode:NSLineBreakByWordWrapping]; -[label setNumberOfLines:0]; // No limit. +[label setNumberOfLines:4]; [popoverView addSubview:label.get()]; CGSize labelSize = [label sizeThatFits:CGSizeMake(maxLabelWidth, CGFLOAT_MAX)]; Modified: trunk/Source/WebCore/platform/mac/ValidationBubbleMac.mm (209008 => 209009) --- trunk/Source/WebCore/platform/mac/ValidationBubbleMac.mm 2016-11-28 20:45:12 UTC (rev 209008) +++ trunk/Source/WebCore/platform/mac/ValidationBubbleMac.mm 2016-11-28 20:45:27 UTC (rev 209009) @@ -51,6 +51,7 @@ [label setDrawsBackground:NO]; [label setBordered:NO]; [label setStringValue:message]; +[label setMaximumNumberOfLines:4]; [popoverView addSubview:label.get()]; NSSize labelSize = [label sizeThatFits:NSMakeSize(maxLabelWidth, CGFLOAT_MAX)]; [label setFrame:NSMakeRect(horizontalPadding, verticalPadding, labelSize.width, labelSize.height)]; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209007] trunk/Source/JavaScriptCore
Title: [209007] trunk/Source/_javascript_Core Revision 209007 Author mark@apple.com Date 2016-11-28 12:44:25 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in LLIntSlowPaths.cpp. https://bugs.webkit.org/show_bug.cgi?id=164969 Reviewed by Geoffrey Garen. * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getByVal): (JSC::LLInt::setUpCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::LLINT_SLOW_PATH_DECL): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209006 => 209007) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 20:28:15 UTC (rev 209006) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 20:44:25 UTC (rev 209007) @@ -1,3 +1,16 @@ +2016-11-28 Mark Lam + +Fix exception scope verification failures in LLIntSlowPaths.cpp. +https://bugs.webkit.org/show_bug.cgi?id=164969 + +Reviewed by Geoffrey Garen. + +* llint/LLIntSlowPaths.cpp: +(JSC::LLInt::getByVal): +(JSC::LLInt::setUpCall): +(JSC::LLInt::varargsSetup): +(JSC::LLInt::LLINT_SLOW_PATH_DECL): + 2016-11-26 Yusuke Suzuki[WTF] Import std::optional reference implementation as WTF::Optional Modified: trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp (209006 => 209007) --- trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp 2016-11-28 20:28:15 UTC (rev 209006) +++ trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp 2016-11-28 20:44:25 UTC (rev 209007) @@ -814,7 +814,7 @@ uint32_t i = subscript.asUInt32(); if (isJSString(baseValue) && asString(baseValue)->canGetIndex(i)) return asString(baseValue)->getIndex(exec, i); - +scope.release(); return baseValue.get(exec, i); } @@ -822,6 +822,7 @@ RETURN_IF_EXCEPTION(scope, JSValue()); auto property = subscript.toPropertyKey(exec); RETURN_IF_EXCEPTION(scope, JSValue()); +scope.release(); return baseValue.get(exec, property); } @@ -1306,7 +1307,8 @@ CodeBlock** codeBlockSlot = execCallee->addressOfCodeBlock(); JSObject* error = functionExecutable->prepareForExecution(vm, callee, scope, kind, *codeBlockSlot); -if (error) +ASSERT(throwScope.exception() == error); +if (UNLIKELY(error)) LLINT_CALL_THROW(exec, error); codeBlock = *codeBlockSlot; ASSERT(codeBlock); @@ -1446,6 +1448,7 @@ execCallee->uncheckedR(CallFrameSlot::callee) = calleeAsValue; exec->setCurrentVPC(pc); +throwScope.release(); return setUpCall(execCallee, pc, kind, calleeAsValue); } @@ -1479,8 +1482,10 @@ execCallee->setCodeBlock(0); exec->setCurrentVPC(pc); -if (!isHostFunction(calleeAsValue, globalFuncEval)) +if (!isHostFunction(calleeAsValue, globalFuncEval)) { +throwScope.release(); return setUpCall(execCallee, pc, CodeForCall, calleeAsValue); +} vm.hostCallReturnValue = eval(execCallee); LLINT_CALL_RETURN(exec, execCallee, LLInt::getCodePtr(getHostCallReturnValue)); @@ -1585,6 +1590,7 @@ } bool hasProperty = scope->hasProperty(exec, ident); +LLINT_CHECK_EXCEPTION(); if (hasProperty && scope->isGlobalLexicalEnvironment() && !isInitialization(getPutInfo.initializationMode())) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209011] trunk/Source/JavaScriptCore
Title: [209011] trunk/Source/_javascript_Core Revision 209011 Author mark@apple.com Date 2016-11-28 13:26:10 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in ArrayConstructor.cpp and ArrayPrototype.cpp. https://bugs.webkit.org/show_bug.cgi?id=164972 Reviewed by Geoffrey Garen. * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): * runtime/ArrayPrototype.cpp: (JSC::getProperty): (JSC::putLength): (JSC::speciesWatchpointsValid): (JSC::speciesConstructArray): (JSC::shift): (JSC::unshift): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::fastJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::ArrayPrototype::attemptToInitializeSpeciesWatchpoint): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/ArrayConstructor.cpp trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209010 => 209011) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 20:46:44 UTC (rev 209010) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 21:26:10 UTC (rev 209011) @@ -1,3 +1,37 @@ +2016-11-24 Mark Lam + +Fix exception scope verification failures in ArrayConstructor.cpp and ArrayPrototype.cpp. +https://bugs.webkit.org/show_bug.cgi?id=164972 + +Reviewed by Geoffrey Garen. + +* runtime/ArrayConstructor.cpp: +(JSC::constructArrayWithSizeQuirk): +* runtime/ArrayPrototype.cpp: +(JSC::getProperty): +(JSC::putLength): +(JSC::speciesWatchpointsValid): +(JSC::speciesConstructArray): +(JSC::shift): +(JSC::unshift): +(JSC::arrayProtoFuncToString): +(JSC::arrayProtoFuncToLocaleString): +(JSC::slowJoin): +(JSC::fastJoin): +(JSC::arrayProtoFuncJoin): +(JSC::arrayProtoFuncPop): +(JSC::arrayProtoFuncPush): +(JSC::arrayProtoFuncReverse): +(JSC::arrayProtoFuncShift): +(JSC::arrayProtoFuncSlice): +(JSC::arrayProtoFuncSplice): +(JSC::arrayProtoFuncUnShift): +(JSC::arrayProtoFuncIndexOf): +(JSC::arrayProtoFuncLastIndexOf): +(JSC::concatAppendOne): +(JSC::arrayProtoPrivateFuncConcatMemcpy): +(JSC::ArrayPrototype::attemptToInitializeSpeciesWatchpoint): + 2016-11-28 Mark Lam Fix exception scope verification failures in LLIntSlowPaths.cpp. Modified: trunk/Source/_javascript_Core/runtime/ArrayConstructor.cpp (209010 => 209011) --- trunk/Source/_javascript_Core/runtime/ArrayConstructor.cpp 2016-11-28 20:46:44 UTC (rev 209010) +++ trunk/Source/_javascript_Core/runtime/ArrayConstructor.cpp 2016-11-28 21:26:10 UTC (rev 209011) @@ -70,12 +70,15 @@ { VM& vm = exec->vm(); auto scope = DECLARE_THROW_SCOPE(vm); -if (!length.isNumber()) +if (!length.isNumber()) { +scope.release(); return constructArrayNegativeIndexed(exec, profile, globalObject, , 1, newTarget); +} uint32_t n = length.toUInt32(exec); if (n != length.toNumber(exec)) return throwException(exec, scope, createRangeError(exec, ASCIILiteral("Array size is not a small enough positive integer."))); +scope.release(); return constructEmptyArray(exec, profile, globalObject, n, newTarget); } Modified: trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp (209010 => 209011) --- trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp 2016-11-28 20:46:44 UTC (rev 209010) +++ trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp 2016-11-28 21:26:10 UTC (rev 209011) @@ -149,6 +149,9 @@ static ALWAYS_INLINE JSValue getProperty(ExecState* exec, JSObject* object, unsigned index) { +VM& vm = exec->vm(); +auto scope = DECLARE_THROW_SCOPE(vm); + if (JSValue result = object->tryGetIndexQuickly(index)) return result; // We want to perform get and has in the same operation. @@ -156,10 +159,15 @@ // only time it is observable is when we encounter an opaque objects (ProxyObject and JSModuleNamespaceObject) // somewhere in the prototype chain. PropertySlot slot(object, PropertySlot::InternalMethodType::HasProperty); -if (!object->getPropertySlot(exec, index, slot)) -return JSValue(); -if (UNLIKELY(slot.isTaintedByOpaqueObject())) +bool hasProperty = object->getPropertySlot(exec, index, slot); +ASSERT(!scope.exception() || !hasProperty); +if (!hasProperty) +return { }; +if (UNLIKELY(slot.isTaintedByOpaqueObject())) { +scope.release();
[webkit-changes] [209000] trunk/Source/WebCore
Title: [209000] trunk/Source/WebCore Revision 209000 Author hy...@apple.com Date 2016-11-28 10:28:50 -0800 (Mon, 28 Nov 2016) Log Message [CSS Parser] Support -webkit-animation-trigger https://bugs.webkit.org/show_bug.cgi?id=165095 Reviewed by Zalan Bujtas. * css/CSSValueKeywords.in: * css/parser/CSSPropertyParser.cpp: (WebCore::consumeWebkitAnimationTrigger): (WebCore::consumeAnimationValue): (WebCore::CSSPropertyParser::parseSingleValue): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/CSSValueKeywords.in trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (208999 => 209000) --- trunk/Source/WebCore/ChangeLog 2016-11-28 17:22:30 UTC (rev 208999) +++ trunk/Source/WebCore/ChangeLog 2016-11-28 18:28:50 UTC (rev 209000) @@ -1,3 +1,16 @@ +2016-11-28 Dave Hyatt+ +[CSS Parser] Support -webkit-animation-trigger +https://bugs.webkit.org/show_bug.cgi?id=165095 + +Reviewed by Zalan Bujtas. + +* css/CSSValueKeywords.in: +* css/parser/CSSPropertyParser.cpp: +(WebCore::consumeWebkitAnimationTrigger): +(WebCore::consumeAnimationValue): +(WebCore::CSSPropertyParser::parseSingleValue): + 2016-11-28 Antti Koivisto Remove FIRST_LINE_INHERITED fake pseudo style Modified: trunk/Source/WebCore/css/CSSValueKeywords.in (208999 => 209000) --- trunk/Source/WebCore/css/CSSValueKeywords.in 2016-11-28 17:22:30 UTC (rev 208999) +++ trunk/Source/WebCore/css/CSSValueKeywords.in 2016-11-28 18:28:50 UTC (rev 209000) @@ -1150,6 +1150,7 @@ scale-down // background-image, etc. +container-scroll cross-fade image-set linear-gradient Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (208999 => 209000) --- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp 2016-11-28 17:22:30 UTC (rev 208999) +++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp 2016-11-28 18:28:50 UTC (rev 209000) @@ -30,6 +30,9 @@ #include "config.h" #include "CSSPropertyParser.h" +#if ENABLE(CSS_ANIMATIONS_LEVEL_2) +#include "CSSAnimationTriggerScrollValue.h" +#endif #include "CSSAspectRatioValue.h" #include "CSSBasicShapes.h" #include "CSSBorderImage.h" @@ -1315,6 +1318,40 @@ return nullptr; } +#if ENABLE(CSS_ANIMATIONS_LEVEL_2) +static RefPtr consumeWebkitAnimationTrigger(CSSParserTokenRange& range, CSSParserMode mode) +{ +if (range.peek().id() == CSSValueAuto) +return consumeIdent(range); + +if (range.peek().functionId() != CSSValueContainerScroll) +return nullptr; + +CSSParserTokenRange rangeCopy = range; +CSSParserTokenRange args = consumeFunction(rangeCopy); + +RefPtr startValue = consumeLength(args, mode, ValueRangeAll, UnitlessQuirk::Forbid); +if (!startValue) +return nullptr; + +if (args.atEnd()) { +range = rangeCopy; +return CSSAnimationTriggerScrollValue::create(startValue.releaseNonNull()); +} + +if (!consumeCommaIncludingWhitespace(args)) +return nullptr; + +RefPtr endValue = consumeLength(args, mode, ValueRangeAll, UnitlessQuirk::Forbid); +if (!endValue || !args.atEnd()) +return nullptr; + +range = rangeCopy; + +return CSSAnimationTriggerScrollValue::create(startValue.releaseNonNull(), endValue.releaseNonNull()); +} +#endif + static RefPtr consumeAnimationValue(CSSPropertyID property, CSSParserTokenRange& range, const CSSParserContext& context) { switch (property) { @@ -1339,6 +1376,10 @@ case CSSPropertyAnimationTimingFunction: case CSSPropertyTransitionTimingFunction: return consumeAnimationTimingFunction(range, context); +#if ENABLE(CSS_ANIMATIONS_LEVEL_2) +case CSSPropertyWebkitAnimationTrigger: +return consumeWebkitAnimationTrigger(range, context.mode); +#endif default: ASSERT_NOT_REACHED(); return nullptr; @@ -3563,6 +3604,9 @@ case CSSPropertyTransitionProperty: case CSSPropertyAnimationTimingFunction: case CSSPropertyTransitionTimingFunction: +#if ENABLE(CSS_ANIMATIONS_LEVEL_2) +case CSSPropertyWebkitAnimationTrigger: +#endif return consumeAnimationPropertyList(property, m_range, m_context); #if ENABLE(CSS_GRID_LAYOUT) case CSSPropertyGridColumnGap: ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209003] trunk/Source/WebCore
Title: [209003] trunk/Source/WebCore Revision 209003 Author hy...@apple.com Date 2016-11-28 11:55:19 -0800 (Mon, 28 Nov 2016) Log Message [CSS Parser] flex-basis should be pixel units not percentages. https://bugs.webkit.org/show_bug.cgi?id=165100 Reviewed by Zalan Bujtas. * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::consumeFlex): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (209002 => 209003) --- trunk/Source/WebCore/ChangeLog 2016-11-28 19:52:38 UTC (rev 209002) +++ trunk/Source/WebCore/ChangeLog 2016-11-28 19:55:19 UTC (rev 209003) @@ -1,3 +1,13 @@ +2016-11-28 Dave Hyatt+ +[CSS Parser] flex-basis should be pixel units not percentages. +https://bugs.webkit.org/show_bug.cgi?id=165100 + +Reviewed by Zalan Bujtas. + +* css/parser/CSSPropertyParser.cpp: +(WebCore::CSSPropertyParser::consumeFlex): + 2016-11-28 Daniel Bates Replace CSSPropertyNames.in with a JSON file Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (209002 => 209003) --- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp 2016-11-28 19:52:38 UTC (rev 209002) +++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp 2016-11-28 19:55:19 UTC (rev 209003) @@ -4380,7 +4380,7 @@ if (flexShrink == unsetValue) flexShrink = 1; if (!flexBasis) -flexBasis = CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitTypes::CSS_PERCENTAGE); +flexBasis = CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitTypes::CSS_PX); } if (!m_range.atEnd()) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209017] branches/safari-602-branch/Source/WebCore
Title: [209017] branches/safari-602-branch/Source/WebCore Revision 209017 Author matthew_han...@apple.com Date 2016-11-28 14:19:08 -0800 (Mon, 28 Nov 2016) Log Message Merge r209013. rdar://problem/29404778 Modified Paths branches/safari-602-branch/Source/WebCore/ChangeLog branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp Diff Modified: branches/safari-602-branch/Source/WebCore/ChangeLog (209016 => 209017) --- branches/safari-602-branch/Source/WebCore/ChangeLog 2016-11-28 22:16:20 UTC (rev 209016) +++ branches/safari-602-branch/Source/WebCore/ChangeLog 2016-11-28 22:19:08 UTC (rev 209017) @@ -1,3 +1,20 @@ +2016-11-28 Matthew Hanson+ +Merge r209013. rdar://problem/29404778 + +2016-11-28 Beth Dakin + +Blacklist Netflix for TouchBar support +https://bugs.webkit.org/show_bug.cgi?id=165104 +-and corresponding- +rdar://problem/29404778 + +Reviewed by Darin Adler. + +* html/HTMLMediaElement.cpp: +(WebCore::needsPlaybackControlsManagerQuirk): +(WebCore::HTMLMediaElement::updatePlaybackControlsManager): + 2016-11-14 Matthew Hanson Merge r208691. rdar://problem/29250304 Modified: branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp (209016 => 209017) --- branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-28 22:16:20 UTC (rev 209016) +++ branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-28 22:19:08 UTC (rev 209017) @@ -7347,6 +7347,15 @@ return renderer && renderer->visibleInViewportState() == RenderElement::VisibleInViewport; } +static bool needsPlaybackControlsManagerQuirk(bool needsQuirks, const URL& url) +{ +if (!needsQuirks) +return false; + +String host = url.host(); +return equalLettersIgnoringASCIICase(host, "www.netflix.com"); +} + void HTMLMediaElement::updatePlaybackControlsManager() { Page* page = document().page(); @@ -7353,8 +7362,11 @@ if (!page) return; +auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager); +bool quirkDisablesPlaybackControlsManager = needsPlaybackControlsManagerQuirk(page->settings().needsSiteSpecificQuirks(), page->mainFrame().document()->url()); + // FIXME: Ensure that the renderer here should be up to date. -if (auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager)) +if (bestMediaElement && !quirkDisablesPlaybackControlsManager) page->chrome().client().setUpPlaybackControlsManager(*bestMediaElement); else page->chrome().client().clearPlaybackControlsManager(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209019] trunk/Source/WebCore
Title: [209019] trunk/Source/WebCore Revision 209019 Author timothy_hor...@apple.com Date 2016-11-28 14:24:08 -0800 (Mon, 28 Nov 2016) Log Message Obvious change in saturation/color when swiping to a previously visited page https://bugs.webkit.org/show_bug.cgi?id=165112 Reviewed by Simon Fraser. * platform/graphics/cocoa/IOSurface.mm: (WebCore::IOSurface::createFromImage): IOSurface::createFromImage should take into account the colorspace of the originating image, instead of just hardcoding sRGB. Otherwise, on a non-sRGB display, the display-space snapshot that we take for back-forward swipe is converted to sRGB, then the colorspace information is lost (without a way to maintain it inside the IOSurface), and displayed as layer contents interpreted as display space (instead of sRGB). Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm Diff Modified: trunk/Source/WebCore/ChangeLog (209018 => 209019) --- trunk/Source/WebCore/ChangeLog 2016-11-28 22:21:29 UTC (rev 209018) +++ trunk/Source/WebCore/ChangeLog 2016-11-28 22:24:08 UTC (rev 209019) @@ -1,3 +1,21 @@ +2016-11-28 Tim Horton+ +Obvious change in saturation/color when swiping to a previously visited page +https://bugs.webkit.org/show_bug.cgi?id=165112 + + +Reviewed by Simon Fraser. + +* platform/graphics/cocoa/IOSurface.mm: +(WebCore::IOSurface::createFromImage): +IOSurface::createFromImage should take into account the colorspace of the +originating image, instead of just hardcoding sRGB. + +Otherwise, on a non-sRGB display, the display-space snapshot that we take +for back-forward swipe is converted to sRGB, then the colorspace information +is lost (without a way to maintain it inside the IOSurface), and displayed +as layer contents interpreted as display space (instead of sRGB). + 2016-11-28 Chris Dumez Unreviewed, fix crashes on Yosemite after r209009 Modified: trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm (209018 => 209019) --- trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm 2016-11-28 22:21:29 UTC (rev 209018) +++ trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm 2016-11-28 22:24:08 UTC (rev 209019) @@ -91,7 +91,7 @@ size_t width = CGImageGetWidth(image); size_t height = CGImageGetHeight(image); -auto surface = IOSurface::create(IntSize(width, height), sRGBColorSpaceRef()); +auto surface = IOSurface::create(IntSize(width, height), CGImageGetColorSpace(image)); if (!surface) return nullptr; auto surfaceContext = surface->ensurePlatformContext(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209020] trunk/Source
Title: [209020] trunk/Source Revision 209020 Author mark@apple.com Date 2016-11-28 14:29:39 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in ObjectConstructor.cpp and ObjectPrototype.cpp. https://bugs.webkit.org/show_bug.cgi?id=165051 Reviewed by Saam Barati. Source/_javascript_Core: Also, 1. Replaced returning JSValue() with returning { }. 2. Replaced uses of exec->propertyNames() with vm.propertyNames. * runtime/ObjectConstructor.cpp: (JSC::constructObject): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::ownEnumerablePropertyKeys): (JSC::toPropertyDescriptor): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::ownPropertyKeys): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): Source/WebCore: No new tests because this is covered by the existing test http/tests/security/cross-frame-access-object-prototype.html with the help of a new ASSERT in ObjectPrototype.cpp. Fixed jsDOMWindowGetOwnPropertySlotRestrictedAccess() to return false when it throws an exception. * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/ObjectConstructor.cpp trunk/Source/_javascript_Core/runtime/ObjectPrototype.cpp trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209019 => 209020) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 22:24:08 UTC (rev 209019) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 22:29:39 UTC (rev 209020) @@ -1,3 +1,44 @@ +2016-11-28 Mark Lam + +Fix exception scope verification failures in ObjectConstructor.cpp and ObjectPrototype.cpp. +https://bugs.webkit.org/show_bug.cgi?id=165051 + +Reviewed by Saam Barati. + +Also, +1. Replaced returning JSValue() with returning { }. +2. Replaced uses of exec->propertyNames() with vm.propertyNames. + +* runtime/ObjectConstructor.cpp: +(JSC::constructObject): +(JSC::objectConstructorGetPrototypeOf): +(JSC::objectConstructorGetOwnPropertyDescriptor): +(JSC::objectConstructorGetOwnPropertyDescriptors): +(JSC::objectConstructorGetOwnPropertyNames): +(JSC::objectConstructorGetOwnPropertySymbols): +(JSC::objectConstructorKeys): +(JSC::ownEnumerablePropertyKeys): +(JSC::toPropertyDescriptor): +(JSC::defineProperties): +(JSC::objectConstructorDefineProperties): +(JSC::objectConstructorCreate): +(JSC::setIntegrityLevel): +(JSC::objectConstructorSeal): +(JSC::objectConstructorPreventExtensions): +(JSC::objectConstructorIsSealed): +(JSC::objectConstructorIsFrozen): +(JSC::ownPropertyKeys): +* runtime/ObjectPrototype.cpp: +(JSC::objectProtoFuncValueOf): +(JSC::objectProtoFuncHasOwnProperty): +(JSC::objectProtoFuncIsPrototypeOf): +(JSC::objectProtoFuncDefineGetter): +(JSC::objectProtoFuncDefineSetter): +(JSC::objectProtoFuncLookupGetter): +(JSC::objectProtoFuncLookupSetter): +(JSC::objectProtoFuncToLocaleString): +(JSC::objectProtoFuncToString): + 2016-11-26 Mark Lam Fix exception scope verification failures in miscellaneous files. Modified: trunk/Source/_javascript_Core/runtime/ObjectConstructor.cpp (209019 => 209020) --- trunk/Source/_javascript_Core/runtime/ObjectConstructor.cpp 2016-11-28 22:24:08 UTC (rev 209019) +++ trunk/Source/_javascript_Core/runtime/ObjectConstructor.cpp 2016-11-28 22:29:39 UTC (rev 209020) @@ -133,6 +133,7 @@ return constructEmptyObject(exec, globalObject->objectStructureForObjectConstructor()); // 3. Return ToObject(value). +scope.release(); return arg.toObject(exec, globalObject); } @@ -164,7 +165,8 @@ auto scope = DECLARE_THROW_SCOPE(vm); JSObject* object = exec->argument(0).toObject(exec); RETURN_IF_EXCEPTION(scope, encodedJSValue()); -return JSValue::encode(object->getPrototype(exec->vm(), exec)); +scope.release(); +return
[webkit-changes] [209021] trunk/Source/WebCore
Title: [209021] trunk/Source/WebCore Revision 209021 Author hy...@apple.com Date 2016-11-28 14:30:11 -0800 (Mon, 28 Nov 2016) Log Message [CSS Parser] Fix bugs in the @supports parser https://bugs.webkit.org/show_bug.cgi?id=165115 Reviewed by Zalan Bujtas. * css/parser/CSSParserFastPaths.cpp: (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue): Clean up the display property to match the old parser to ensure that @supports conditions on display are the same. * css/parser/CSSSupportsParser.cpp: (WebCore::CSSSupportsParser::consumeCondition): (WebCore::CSSSupportsParser::consumeNegation): (WebCore::CSSSupportsParser::consumeConditionInParenthesis): * css/parser/CSSSupportsParser.h: What follows are all bugs in Blink that need to be fixed to pass our tests. Fix the supports parser to allow the whitespace after not/or/and to be optional. Allow the whitespace following parenthetical conditions to be optional. With whitespace being optional, this means that "not(" will parse as a FunctionToken type, as will "or(" and "and(". Handle this situation by checking for FunctionToken along with IdentToken and parameterizing consumeConditionInParenthesis to do the right thing when it starts with a FunctionToken instead of an IdentToken. Fix the general enclosure FunctionToken for forward compatibility to require that the function still be enclosed within parentheses. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp trunk/Source/WebCore/css/parser/CSSSupportsParser.cpp trunk/Source/WebCore/css/parser/CSSSupportsParser.h Diff Modified: trunk/Source/WebCore/ChangeLog (209020 => 209021) --- trunk/Source/WebCore/ChangeLog 2016-11-28 22:29:39 UTC (rev 209020) +++ trunk/Source/WebCore/ChangeLog 2016-11-28 22:30:11 UTC (rev 209021) @@ -1,3 +1,36 @@ +2016-11-28 Dave Hyatt+ +[CSS Parser] Fix bugs in the @supports parser +https://bugs.webkit.org/show_bug.cgi?id=165115 + +Reviewed by Zalan Bujtas. + +* css/parser/CSSParserFastPaths.cpp: +(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue): +Clean up the display property to match the old parser to ensure +that @supports conditions on display are the same. + +* css/parser/CSSSupportsParser.cpp: +(WebCore::CSSSupportsParser::consumeCondition): +(WebCore::CSSSupportsParser::consumeNegation): +(WebCore::CSSSupportsParser::consumeConditionInParenthesis): +* css/parser/CSSSupportsParser.h: +What follows are all bugs in Blink that need to be fixed to pass our +tests. + +Fix the supports parser to allow the whitespace after not/or/and to +be optional. Allow the whitespace following parenthetical conditions +to be optional. + +With whitespace being optional, this means that "not(" will parse +as a FunctionToken type, as will "or(" and "and(". Handle this situation +by checking for FunctionToken along with IdentToken and parameterizing +consumeConditionInParenthesis to do the right thing when it starts with +a FunctionToken instead of an IdentToken. + +Fix the general enclosure FunctionToken for forward compatibility to require that +the function still be enclosed within parentheses. + 2016-11-28 Mark Lam Fix exception scope verification failures in ObjectConstructor.cpp and ObjectPrototype.cpp. Modified: trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp (209020 => 209021) --- trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp 2016-11-28 22:29:39 UTC (rev 209020) +++ trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp 2016-11-28 22:30:11 UTC (rev 209021) @@ -548,7 +548,7 @@ // inline-table | table-row-group | table-header-group | table-footer-group | table-row | // table-column-group | table-column | table-cell | table-caption | -webkit-box | -webkit-inline-box | none // flex | inline-flex | -webkit-flex | -webkit-inline-flex | grid | inline-grid -return (valueID >= CSSValueInline && valueID <= CSSValueInlineFlex) || valueID == CSSValueWebkitFlex || valueID == CSSValueWebkitInlineFlex || valueID == CSSValueNone +return (valueID >= CSSValueInline && valueID <= CSSValueContents) || valueID == CSSValueNone #if ENABLE(CSS_GRID_LAYOUT) || (RuntimeEnabledFeatures::sharedFeatures().isCSSGridLayoutEnabled() && (valueID == CSSValueGrid || valueID == CSSValueInlineGrid)) #endif Modified: trunk/Source/WebCore/css/parser/CSSSupportsParser.cpp (209020 => 209021) --- trunk/Source/WebCore/css/parser/CSSSupportsParser.cpp 2016-11-28 22:29:39 UTC (rev 209020) +++ trunk/Source/WebCore/css/parser/CSSSupportsParser.cpp 2016-11-28 22:30:11 UTC (rev 209021) @@ -46,14 +46,16 @@ CSSSupportsParser::SupportsResult CSSSupportsParser::consumeCondition(CSSParserTokenRange range) { -if
[webkit-changes] [209022] trunk/Source/JavaScriptCore
Title: [209022] trunk/Source/_javascript_Core Revision 209022 Author mark@apple.com Date 2016-11-28 14:35:39 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in runtime/String* files. https://bugs.webkit.org/show_bug.cgi?id=165067 Reviewed by Saam Barati. * runtime/StringConstructor.cpp: (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): * runtime/StringObject.cpp: (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::StringObject::defineOwnProperty): * runtime/StringPrototype.cpp: (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::replaceUsingRegExpSearch): (JSC::replaceUsingStringSearch): (JSC::repeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncConcat): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::toLocaleCase): (JSC::trimString): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/StringConstructor.cpp trunk/Source/_javascript_Core/runtime/StringObject.cpp trunk/Source/_javascript_Core/runtime/StringPrototype.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209021 => 209022) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 22:30:11 UTC (rev 209021) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 22:35:39 UTC (rev 209022) @@ -1,5 +1,45 @@ 2016-11-28 Mark Lam +Fix exception scope verification failures in runtime/String* files. +https://bugs.webkit.org/show_bug.cgi?id=165067 + +Reviewed by Saam Barati. + +* runtime/StringConstructor.cpp: +(JSC::stringFromCodePoint): +(JSC::constructWithStringConstructor): +* runtime/StringObject.cpp: +(JSC::StringObject::put): +(JSC::StringObject::putByIndex): +(JSC::StringObject::defineOwnProperty): +* runtime/StringPrototype.cpp: +(JSC::jsSpliceSubstrings): +(JSC::jsSpliceSubstringsWithSeparators): +(JSC::replaceUsingRegExpSearch): +(JSC::replaceUsingStringSearch): +(JSC::repeatCharacter): +(JSC::replace): +(JSC::stringProtoFuncReplaceUsingStringSearch): +(JSC::stringProtoFuncCharAt): +(JSC::stringProtoFuncCodePointAt): +(JSC::stringProtoFuncConcat): +(JSC::stringProtoFuncIndexOf): +(JSC::stringProtoFuncLastIndexOf): +(JSC::splitStringByOneCharacterImpl): +(JSC::stringProtoFuncSplitFast): +(JSC::stringProtoFuncSubstring): +(JSC::stringProtoFuncToLowerCase): +(JSC::stringProtoFuncToUpperCase): +(JSC::toLocaleCase): +(JSC::trimString): +(JSC::stringProtoFuncIncludes): +(JSC::builtinStringIncludesInternal): +(JSC::stringProtoFuncIterator): +(JSC::normalize): +(JSC::stringProtoFuncNormalize): + +2016-11-28 Mark Lam + Fix exception scope verification failures in ObjectConstructor.cpp and ObjectPrototype.cpp. https://bugs.webkit.org/show_bug.cgi?id=165051 Modified: trunk/Source/_javascript_Core/runtime/StringConstructor.cpp (209021 => 209022) --- trunk/Source/_javascript_Core/runtime/StringConstructor.cpp 2016-11-28 22:30:11 UTC (rev 209021) +++ trunk/Source/_javascript_Core/runtime/StringConstructor.cpp 2016-11-28 22:35:39 UTC (rev 209022) @@ -114,6 +114,7 @@ } } +scope.release(); return JSValue::encode(jsString(exec, builder.toString())); } @@ -128,7 +129,9 @@ if (!exec->argumentCount()) return JSValue::encode(StringObject::create(vm, structure)); -return JSValue::encode(StringObject::create(vm, structure, exec->uncheckedArgument(0).toString(exec))); +JSString* str = exec->uncheckedArgument(0).toString(exec); +RETURN_IF_EXCEPTION(scope, encodedJSValue()); +return JSValue::encode(StringObject::create(vm, structure, str)); } ConstructType StringConstructor::getConstructData(JSCell*, ConstructData& constructData) Modified: trunk/Source/_javascript_Core/runtime/StringObject.cpp (209021 => 209022) --- trunk/Source/_javascript_Core/runtime/StringObject.cpp 2016-11-28 22:30:11 UTC (rev 209021) +++ trunk/Source/_javascript_Core/runtime/StringObject.cpp 2016-11-28 22:35:39 UTC (rev 209022) @@ -67,13 +67,18 @@ StringObject* thisObject = jsCast(cell); -if (UNLIKELY(isThisValueAltered(slot, thisObject))) +if (UNLIKELY(isThisValueAltered(slot, thisObject))) { +scope.release(); return
[webkit-changes] [209027] trunk/Source/JavaScriptCore
Title: [209027] trunk/Source/_javascript_Core Revision 209027 Author mark@apple.com Date 2016-11-28 15:07:33 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in JSTypedArrayViewPrototype.cpp. https://bugs.webkit.org/show_bug.cgi?id=165049 Reviewed by Saam Barati. * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncSort): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSTypedArrayViewPrototype.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209026 => 209027) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:00:38 UTC (rev 209026) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:07:33 UTC (rev 209027) @@ -1,5 +1,28 @@ 2016-11-28 Mark Lam +Fix exception scope verification failures in JSTypedArrayViewPrototype.cpp. +https://bugs.webkit.org/show_bug.cgi?id=165049 + +Reviewed by Saam Barati. + +* runtime/JSTypedArrayViewPrototype.cpp: +(JSC::typedArrayViewPrivateFuncSort): +(JSC::typedArrayViewProtoFuncSet): +(JSC::typedArrayViewProtoFuncCopyWithin): +(JSC::typedArrayViewProtoFuncIncludes): +(JSC::typedArrayViewProtoFuncLastIndexOf): +(JSC::typedArrayViewProtoFuncIndexOf): +(JSC::typedArrayViewProtoFuncJoin): +(JSC::typedArrayViewProtoGetterFuncBuffer): +(JSC::typedArrayViewProtoGetterFuncLength): +(JSC::typedArrayViewProtoGetterFuncByteLength): +(JSC::typedArrayViewProtoGetterFuncByteOffset): +(JSC::typedArrayViewProtoFuncReverse): +(JSC::typedArrayViewPrivateFuncSubarrayCreate): +(JSC::typedArrayViewProtoFuncSlice): + +2016-11-28 Mark Lam + Fix exception scope verification failures in runtime/Map* files. https://bugs.webkit.org/show_bug.cgi?id=165050 Modified: trunk/Source/_javascript_Core/runtime/JSTypedArrayViewPrototype.cpp (209026 => 209027) --- trunk/Source/_javascript_Core/runtime/JSTypedArrayViewPrototype.cpp 2016-11-28 23:00:38 UTC (rev 209026) +++ trunk/Source/_javascript_Core/runtime/JSTypedArrayViewPrototype.cpp 2016-11-28 23:07:33 UTC (rev 209027) @@ -100,6 +100,7 @@ VM& vm = exec->vm(); auto scope = DECLARE_THROW_SCOPE(vm); JSValue thisValue = exec->argument(0); +scope.release(); CALL_GENERIC_TYPEDARRAY_PROTOTYPE_FUNCTION(genericTypedArrayViewPrivateFuncSort); } @@ -110,6 +111,7 @@ JSValue thisValue = exec->thisValue(); if (UNLIKELY(!thisValue.isObject())) return throwVMTypeError(exec, scope, ASCIILiteral("Receiver should be a typed array view but was not an object")); +scope.release(); CALL_GENERIC_TYPEDARRAY_PROTOTYPE_FUNCTION(genericTypedArrayViewProtoFuncSet); } @@ -120,6 +122,7 @@ JSValue thisValue = exec->thisValue(); if (!thisValue.isObject()) return throwVMTypeError(exec, scope, ASCIILiteral("Receiver should be a typed array view but was not an object")); +scope.release(); CALL_GENERIC_TYPEDARRAY_PROTOTYPE_FUNCTION(genericTypedArrayViewProtoFuncCopyWithin); } @@ -130,6 +133,7 @@ JSValue thisValue = exec->thisValue(); if (!thisValue.isObject()) return throwVMError(exec, scope, createTypeError(exec, "Receiver should be a typed array view but was not an object")); +scope.release(); CALL_GENERIC_TYPEDARRAY_PROTOTYPE_FUNCTION(genericTypedArrayViewProtoFuncIncludes); } @@ -140,6 +144,7 @@ JSValue thisValue = exec->thisValue(); if (!thisValue.isObject()) return throwVMTypeError(exec, scope, ASCIILiteral("Receiver should be a typed array view but was not an object")); +scope.release(); CALL_GENERIC_TYPEDARRAY_PROTOTYPE_FUNCTION(genericTypedArrayViewProtoFuncLastIndexOf); } @@ -150,6 +155,7 @@ JSValue thisValue = exec->thisValue(); if (!thisValue.isObject()) return throwVMTypeError(exec, scope, ASCIILiteral("Receiver should be a typed array view but was not an object")); +scope.release(); CALL_GENERIC_TYPEDARRAY_PROTOTYPE_FUNCTION(genericTypedArrayViewProtoFuncIndexOf); } @@ -160,6 +166,7 @@ JSValue thisValue = exec->thisValue(); if (!thisValue.isObject()) return throwVMTypeError(exec, scope, ASCIILiteral("Receiver should be a typed array view but was not an object")); +scope.release();
[webkit-changes] [209028] trunk/Source/JavaScriptCore
Title: [209028] trunk/Source/_javascript_Core Revision 209028 Author mark@apple.com Date 2016-11-28 15:14:43 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in JSScope.cpp. https://bugs.webkit.org/show_bug.cgi?id=165047 Reviewed by Saam Barati. * runtime/JSScope.cpp: (JSC::JSScope::resolve): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSScope.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209027 => 209028) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:07:33 UTC (rev 209027) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:14:43 UTC (rev 209028) @@ -1,5 +1,15 @@ 2016-11-28 Mark Lam +Fix exception scope verification failures in JSScope.cpp. +https://bugs.webkit.org/show_bug.cgi?id=165047 + +Reviewed by Saam Barati. + +* runtime/JSScope.cpp: +(JSC::JSScope::resolve): + +2016-11-28 Mark Lam + Fix exception scope verification failures in JSTypedArrayViewPrototype.cpp. https://bugs.webkit.org/show_bug.cgi?id=165049 Modified: trunk/Source/_javascript_Core/runtime/JSScope.cpp (209027 => 209028) --- trunk/Source/_javascript_Core/runtime/JSScope.cpp 2016-11-28 23:07:33 UTC (rev 209027) +++ trunk/Source/_javascript_Core/runtime/JSScope.cpp 2016-11-28 23:14:43 UTC (rev 209028) @@ -26,6 +26,7 @@ #include "config.h" #include "JSScope.h" +#include "Exception.h" #include "JSGlobalObject.h" #include "JSLexicalEnvironment.h" #include "JSModuleEnvironment.h" @@ -229,19 +230,26 @@ if (++it == end) { JSScope* globalScopeExtension = scope->globalObject(vm)->globalScopeExtension(); if (UNLIKELY(globalScopeExtension)) { -if (object->hasProperty(exec, ident)) +bool hasProperty = object->hasProperty(exec, ident); +RETURN_IF_EXCEPTION(throwScope, nullptr); +if (hasProperty) return object; JSObject* extensionScopeObject = JSScope::objectAtScope(globalScopeExtension); -if (extensionScopeObject->hasProperty(exec, ident)) +hasProperty = extensionScopeObject->hasProperty(exec, ident); +RETURN_IF_EXCEPTION(throwScope, nullptr); +if (hasProperty) return extensionScopeObject; } return object; } -if (object->hasProperty(exec, ident)) { -if (!isUnscopable(exec, scope, object, ident)) +bool hasProperty = object->hasProperty(exec, ident); +RETURN_IF_EXCEPTION(throwScope, nullptr); +if (hasProperty) { +bool unscopable = isUnscopable(exec, scope, object, ident); +ASSERT(!throwScope.exception() || !unscopable); +if (!unscopable) return object; -ASSERT_WITH_MESSAGE_UNUSED(throwScope, !throwScope.exception(), "When an exception occurs, the result of isUnscopable becomes false"); } } } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209013] trunk/Source/WebCore
Title: [209013] trunk/Source/WebCore Revision 209013 Author bda...@apple.com Date 2016-11-28 13:42:56 -0800 (Mon, 28 Nov 2016) Log Message Blacklist Netflix for TouchBar support https://bugs.webkit.org/show_bug.cgi?id=165104 -and corresponding- rdar://problem/29404778 Reviewed by Darin Adler. * html/HTMLMediaElement.cpp: (WebCore::needsPlaybackControlsManagerQuirk): (WebCore::HTMLMediaElement::updatePlaybackControlsManager): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLMediaElement.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (209012 => 209013) --- trunk/Source/WebCore/ChangeLog 2016-11-28 21:37:07 UTC (rev 209012) +++ trunk/Source/WebCore/ChangeLog 2016-11-28 21:42:56 UTC (rev 209013) @@ -1,3 +1,16 @@ +2016-11-28 Beth Dakin+ +Blacklist Netflix for TouchBar support +https://bugs.webkit.org/show_bug.cgi?id=165104 +-and corresponding- +rdar://problem/29404778 + +Reviewed by Darin Adler. + +* html/HTMLMediaElement.cpp: +(WebCore::needsPlaybackControlsManagerQuirk): +(WebCore::HTMLMediaElement::updatePlaybackControlsManager): + 2016-11-28 Chris Dumez Limit HTML Form validation popovers to 4 lines Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (209012 => 209013) --- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-28 21:37:07 UTC (rev 209012) +++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-28 21:42:56 UTC (rev 209013) @@ -7139,6 +7139,15 @@ return renderer && renderer->visibleInViewportState() == RenderElement::VisibleInViewport; } +static bool needsPlaybackControlsManagerQuirk(bool needsQuirks, const URL& url) +{ +if (!needsQuirks) +return false; + +String host = url.host(); +return equalLettersIgnoringASCIICase(host, "www.netflix.com"); +} + void HTMLMediaElement::updatePlaybackControlsManager() { Page* page = document().page(); @@ -7145,8 +7154,11 @@ if (!page) return; +auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager); +bool quirkDisablesPlaybackControlsManager = needsPlaybackControlsManagerQuirk(page->settings().needsSiteSpecificQuirks(), page->mainFrame().document()->url()); + // FIXME: Ensure that the renderer here should be up to date. -if (auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager)) +if (bestMediaElement && !quirkDisablesPlaybackControlsManager) page->chrome().client().setUpPlaybackControlsManager(*bestMediaElement); else page->chrome().client().clearPlaybackControlsManager(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209024] trunk
Title: [209024] trunk Revision 209024 Author ryanhad...@apple.com Date 2016-11-28 14:41:23 -0800 (Mon, 28 Nov 2016) Log Message Unreviewed, rolling out r209008. This change appears to have caused two fast/mediastrem LayoutTests to fail. Reverted changeset: "[MediaStream] Don't request user permission for a device if it has already been granted in the current browsing context" https://bugs.webkit.org/show_bug.cgi?id=164760 http://trac.webkit.org/changeset/209008 Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/mediastream/MediaDevices-enumerateDevices.html trunk/LayoutTests/http/tests/media/media-stream/enumerate-devices-source-id-persistent.html trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/UserMediaPermissionRequestManagerProxy.cpp trunk/Source/WebKit2/UIProcess/UserMediaPermissionRequestManagerProxy.h trunk/Source/WebKit2/UIProcess/UserMediaPermissionRequestProxy.cpp trunk/Source/WebKit2/UIProcess/UserMediaPermissionRequestProxy.h trunk/Tools/ChangeLog trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h trunk/Tools/WebKitTestRunner/TestController.cpp trunk/Tools/WebKitTestRunner/TestController.h trunk/Tools/WebKitTestRunner/TestInvocation.cpp Removed Paths trunk/LayoutTests/http/tests/media/media-stream/get-user-media-prompt-expected.txt trunk/LayoutTests/http/tests/media/media-stream/get-user-media-prompt.html Diff Modified: trunk/LayoutTests/ChangeLog (209023 => 209024) --- trunk/LayoutTests/ChangeLog 2016-11-28 22:39:10 UTC (rev 209023) +++ trunk/LayoutTests/ChangeLog 2016-11-28 22:41:23 UTC (rev 209024) @@ -1,3 +1,17 @@ +2016-11-28 Ryan Haddad+ +Unreviewed, rolling out r209008. + +This change appears to have caused two fast/mediastrem +LayoutTests to fail. + +Reverted changeset: + +"[MediaStream] Don't request user permission for a device if +it has already been granted in the current browsing context" +https://bugs.webkit.org/show_bug.cgi?id=164760 +http://trac.webkit.org/changeset/209008 + 2016-11-28 Eric Carlson [MediaStream] Don't request user permission for a device if it has already been granted in the current browsing context Modified: trunk/LayoutTests/fast/mediastream/MediaDevices-enumerateDevices.html (209023 => 209024) --- trunk/LayoutTests/fast/mediastream/MediaDevices-enumerateDevices.html 2016-11-28 22:39:10 UTC (rev 209023) +++ trunk/LayoutTests/fast/mediastream/MediaDevices-enumerateDevices.html 2016-11-28 22:41:23 UTC (rev 209024) @@ -58,7 +58,7 @@ { if (window.testRunner) { testRunner.setUserMediaPermission(true); -testRunner.setUserMediaPersistentPermissionForOrigin(false, document.location.href, ""); +testRunner.setUserMediaPermissionForOrigin(false, document.location.href, ""); } navigator.mediaDevices @@ -77,7 +77,7 @@ function grantPermission() { if (window.testRunner) -testRunner.setUserMediaPersistentPermissionForOrigin(true, document.location.href, ""); +testRunner.setUserMediaPermissionForOrigin(true, document.location.href, ""); debug(`*** Calling mediaDevices.enumerateDevices with persistent access, and without a media stream track`); havePermission = true; Modified: trunk/LayoutTests/http/tests/media/media-stream/enumerate-devices-source-id-persistent.html (209023 => 209024) --- trunk/LayoutTests/http/tests/media/media-stream/enumerate-devices-source-id-persistent.html 2016-11-28 22:39:10 UTC (rev 209023) +++ trunk/LayoutTests/http/tests/media/media-stream/enumerate-devices-source-id-persistent.html 2016-11-28 22:41:23 UTC (rev 209024) @@ -11,7 +11,7 @@ if (window.testRunner) { testRunner.setUserMediaPermission(true); -testRunner.setUserMediaPersistentPermissionForOrigin(true, "http://localhost:8000", location.href); +testRunner.setUserMediaPermissionForOrigin(true, "http://localhost:8000", location.href); } function setup() Deleted: trunk/LayoutTests/http/tests/media/media-stream/get-user-media-prompt-expected.txt (209023 => 209024) --- trunk/LayoutTests/http/tests/media/media-stream/get-user-media-prompt-expected.txt 2016-11-28 22:39:10 UTC (rev 209023) +++ trunk/LayoutTests/http/tests/media/media-stream/get-user-media-prompt-expected.txt 2016-11-28 22:41:23 UTC (rev 209024) @@ -1,29 +0,0 @@ -Tests that user is only prompted once per device in the current browsing context. - -On success, you
[webkit-changes] [209025] trunk/Source
Title: [209025] trunk/Source Revision 209025 Author mark@apple.com Date 2016-11-28 14:56:08 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in more miscellaneous files. https://bugs.webkit.org/show_bug.cgi?id=165102 Reviewed by Saam Barati. Source/_javascript_Core: * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): Source/WebCore: No new tests because these are fixes to failures detected by existing tests when exception check verification is enabled. * bindings/js/IDBBindingUtilities.cpp: (WebCore::toJS): * bindings/js/JSCommandLineAPIHostCustom.cpp: (WebCore::getJSListenerFunctions): * bindings/js/JSCryptoKeySerializationJWK.cpp: (WebCore::buildJSONForRSAComponents): (WebCore::addUsagesToJSON): * bindings/js/JSDOMBinding.h: (WebCore::toJS): * bridge/runtime_array.cpp: (JSC::RuntimeArray::put): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/wasm/js/WebAssemblyInstanceConstructor.cpp trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/IDBBindingUtilities.cpp trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp trunk/Source/WebCore/bindings/js/JSCryptoKeySerializationJWK.cpp trunk/Source/WebCore/bindings/js/JSDOMBinding.h trunk/Source/WebCore/bridge/runtime_array.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209024 => 209025) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 22:41:23 UTC (rev 209024) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 22:56:08 UTC (rev 209025) @@ -1,5 +1,15 @@ 2016-11-28 Mark Lam +Fix exception scope verification failures in more miscellaneous files. +https://bugs.webkit.org/show_bug.cgi?id=165102 + +Reviewed by Saam Barati. + +* wasm/js/WebAssemblyInstanceConstructor.cpp: +(JSC::constructJSWebAssemblyInstance): + +2016-11-28 Mark Lam + Fix exception scope verification failures in runtime/Weak* files. https://bugs.webkit.org/show_bug.cgi?id=165096 Modified: trunk/Source/_javascript_Core/wasm/js/WebAssemblyInstanceConstructor.cpp (209024 => 209025) --- trunk/Source/_javascript_Core/wasm/js/WebAssemblyInstanceConstructor.cpp 2016-11-28 22:41:23 UTC (rev 209024) +++ trunk/Source/_javascript_Core/wasm/js/WebAssemblyInstanceConstructor.cpp 2016-11-28 22:56:08 UTC (rev 209025) @@ -80,7 +80,9 @@ VariableEnvironment declaredVariables; VariableEnvironment lexicalVariables; auto* moduleRecord = JSModuleRecord::create(state, vm, globalObject->moduleRecordStructure(), moduleKey, sourceCode, declaredVariables, lexicalVariables); +RETURN_IF_EXCEPTION(scope, encodedJSValue()); auto* moduleNamespaceObject = JSModuleNamespaceObject::create(state, globalObject, globalObject->moduleNamespaceObjectStructure(), moduleRecord, instanceExports); +RETURN_IF_EXCEPTION(scope, encodedJSValue()); auto* structure = InternalFunction::createSubclassStructure(state, state->newTarget(), globalObject->WebAssemblyInstanceStructure()); RETURN_IF_EXCEPTION(scope, encodedJSValue()); Modified: trunk/Source/WebCore/ChangeLog (209024 => 209025) --- trunk/Source/WebCore/ChangeLog 2016-11-28 22:41:23 UTC (rev 209024) +++ trunk/Source/WebCore/ChangeLog 2016-11-28 22:56:08 UTC (rev 209025) @@ -1,3 +1,25 @@ +2016-11-28 Mark Lam + +Fix exception scope verification failures in more miscellaneous files. +https://bugs.webkit.org/show_bug.cgi?id=165102 + +Reviewed by Saam Barati. + +No new tests because these are fixes to failures detected by existing tests when +exception check verification is enabled. + +* bindings/js/IDBBindingUtilities.cpp: +(WebCore::toJS): +* bindings/js/JSCommandLineAPIHostCustom.cpp: +(WebCore::getJSListenerFunctions): +* bindings/js/JSCryptoKeySerializationJWK.cpp: +(WebCore::buildJSONForRSAComponents): +(WebCore::addUsagesToJSON): +* bindings/js/JSDOMBinding.h: +(WebCore::toJS): +* bridge/runtime_array.cpp: +(JSC::RuntimeArray::put): + 2016-11-28 Dave Hyatt[CSS Parser] Fix bugs in the @supports parser Modified: trunk/Source/WebCore/bindings/js/IDBBindingUtilities.cpp (209024 => 209025) --- trunk/Source/WebCore/bindings/js/IDBBindingUtilities.cpp 2016-11-28 22:41:23 UTC (rev 209024) +++ trunk/Source/WebCore/bindings/js/IDBBindingUtilities.cpp 2016-11-28 22:56:08 UTC (rev 209025) @@ -101,8 +101,10 @@ unsigned size = inArray.size(); auto outArray = constructEmptyArray(, 0, , size); RETURN_IF_EXCEPTION(scope, JSValue()); -for (size_t i = 0; i < size; ++i) +for (size_t i = 0; i < size; ++i) { outArray->putDirectIndex(, i, toJS(state, globalObject, inArray.at(i).get())); +RETURN_IF_EXCEPTION(scope, JSValue()); +}
[webkit-changes] [209016] trunk/Source/WebCore
Title: [209016] trunk/Source/WebCore Revision 209016 Author cdu...@apple.com Date 2016-11-28 14:16:20 -0800 (Mon, 28 Nov 2016) Log Message Unreviewed, fix crashes on Yosemite after r209009 NSTextField's maximumNumberOfLines was introduced in ElCapitan so disable it at compile-time on previous OSes for now. * platform/mac/ValidationBubbleMac.mm: (WebCore::ValidationBubble::ValidationBubble): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mac/ValidationBubbleMac.mm Diff Modified: trunk/Source/WebCore/ChangeLog (209015 => 209016) --- trunk/Source/WebCore/ChangeLog 2016-11-28 22:13:57 UTC (rev 209015) +++ trunk/Source/WebCore/ChangeLog 2016-11-28 22:16:20 UTC (rev 209016) @@ -1,3 +1,13 @@ +2016-11-28 Chris Dumez+ +Unreviewed, fix crashes on Yosemite after r209009 + +NSTextField's maximumNumberOfLines was introduced in ElCapitan so +disable it at compile-time on previous OSes for now. + +* platform/mac/ValidationBubbleMac.mm: +(WebCore::ValidationBubble::ValidationBubble): + 2016-11-28 Keith Rollin Unreviewed, rolling out r208607. Modified: trunk/Source/WebCore/platform/mac/ValidationBubbleMac.mm (209015 => 209016) --- trunk/Source/WebCore/platform/mac/ValidationBubbleMac.mm 2016-11-28 22:13:57 UTC (rev 209015) +++ trunk/Source/WebCore/platform/mac/ValidationBubbleMac.mm 2016-11-28 22:16:20 UTC (rev 209016) @@ -51,7 +51,9 @@ [label setDrawsBackground:NO]; [label setBordered:NO]; [label setStringValue:message]; +#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100 [label setMaximumNumberOfLines:4]; +#endif [popoverView addSubview:label.get()]; NSSize labelSize = [label sizeThatFits:NSMakeSize(maxLabelWidth, CGFLOAT_MAX)]; [label setFrame:NSMakeRect(horizontalPadding, verticalPadding, labelSize.width, labelSize.height)]; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209018] trunk/Source/JavaScriptCore
Title: [209018] trunk/Source/_javascript_Core Revision 209018 Author mark@apple.com Date 2016-11-28 14:21:29 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in miscellaneous files. https://bugs.webkit.org/show_bug.cgi?id=165055 Reviewed by Saam Barati. * runtime/MathObject.cpp: (JSC::mathProtoFuncIMul): * runtime/ModuleLoaderPrototype.cpp: (JSC::moduleLoaderPrototypeParseModule): (JSC::moduleLoaderPrototypeRequestedModules): * runtime/NativeErrorConstructor.cpp: (JSC::Interpreter::constructWithNativeErrorConstructor): * runtime/NumberConstructor.cpp: (JSC::constructWithNumberConstructor): * runtime/SetConstructor.cpp: (JSC::constructSet): * runtime/SetIteratorPrototype.cpp: (JSC::SetIteratorPrototypeFuncNext): * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayEntry::put): * runtime/TemplateRegistry.cpp: (JSC::TemplateRegistry::getTemplateObject): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/MathObject.cpp trunk/Source/_javascript_Core/runtime/ModuleLoaderPrototype.cpp trunk/Source/_javascript_Core/runtime/NativeErrorConstructor.cpp trunk/Source/_javascript_Core/runtime/NumberConstructor.cpp trunk/Source/_javascript_Core/runtime/SetConstructor.cpp trunk/Source/_javascript_Core/runtime/SetIteratorPrototype.cpp trunk/Source/_javascript_Core/runtime/SparseArrayValueMap.cpp trunk/Source/_javascript_Core/runtime/TemplateRegistry.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209017 => 209018) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 22:19:08 UTC (rev 209017) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 22:21:29 UTC (rev 209018) @@ -1,3 +1,29 @@ +2016-11-26 Mark Lam + +Fix exception scope verification failures in miscellaneous files. +https://bugs.webkit.org/show_bug.cgi?id=165055 + +Reviewed by Saam Barati. + +* runtime/MathObject.cpp: +(JSC::mathProtoFuncIMul): +* runtime/ModuleLoaderPrototype.cpp: +(JSC::moduleLoaderPrototypeParseModule): +(JSC::moduleLoaderPrototypeRequestedModules): +* runtime/NativeErrorConstructor.cpp: +(JSC::Interpreter::constructWithNativeErrorConstructor): +* runtime/NumberConstructor.cpp: +(JSC::constructWithNumberConstructor): +* runtime/SetConstructor.cpp: +(JSC::constructSet): +* runtime/SetIteratorPrototype.cpp: +(JSC::SetIteratorPrototypeFuncNext): +* runtime/SparseArrayValueMap.cpp: +(JSC::SparseArrayValueMap::putEntry): +(JSC::SparseArrayEntry::put): +* runtime/TemplateRegistry.cpp: +(JSC::TemplateRegistry::getTemplateObject): + 2016-11-28 Mark Lam Fix exception scope verification failures in ReflectObject.cpp. Modified: trunk/Source/_javascript_Core/runtime/MathObject.cpp (209017 => 209018) --- trunk/Source/_javascript_Core/runtime/MathObject.cpp 2016-11-28 22:19:08 UTC (rev 209017) +++ trunk/Source/_javascript_Core/runtime/MathObject.cpp 2016-11-28 22:21:29 UTC (rev 209018) @@ -297,6 +297,7 @@ auto scope = DECLARE_THROW_SCOPE(vm); int32_t left = exec->argument(0).toInt32(exec); RETURN_IF_EXCEPTION(scope, encodedJSValue()); +scope.release(); int32_t right = exec->argument(1).toInt32(exec); return JSValue::encode(jsNumber(left * right)); } Modified: trunk/Source/_javascript_Core/runtime/ModuleLoaderPrototype.cpp (209017 => 209018) --- trunk/Source/_javascript_Core/runtime/ModuleLoaderPrototype.cpp 2016-11-28 22:19:08 UTC (rev 209017) +++ trunk/Source/_javascript_Core/runtime/ModuleLoaderPrototype.cpp 2016-11-28 22:21:29 UTC (rev 209018) @@ -133,6 +133,7 @@ ASSERT(moduleProgramNode); ModuleAnalyzer moduleAnalyzer(exec, moduleKey, sourceCode, moduleProgramNode->varDeclarations(), moduleProgramNode->lexicalVariables()); +RETURN_IF_EXCEPTION(scope, encodedJSValue()); JSModuleRecord* moduleRecord = moduleAnalyzer.analyze(*moduleProgramNode); return JSValue::encode(moduleRecord); @@ -143,15 +144,18 @@ VM& vm = exec->vm(); auto scope = DECLARE_THROW_SCOPE(vm); JSModuleRecord* moduleRecord = jsDynamicCast(exec->argument(0)); -if (!moduleRecord) +if (!moduleRecord) { +scope.release(); return JSValue::encode(constructEmptyArray(exec, nullptr)); +} JSArray* result = constructEmptyArray(exec, nullptr, moduleRecord->requestedModules().size()); RETURN_IF_EXCEPTION(scope, encodedJSValue()); size_t i = 0; -for (auto& key : moduleRecord->requestedModules()) +for (auto& key : moduleRecord->requestedModules()) { result->putDirectIndex(exec, i++, jsString(exec, key.get())); - +RETURN_IF_EXCEPTION(scope, encodedJSValue()); +} return JSValue::encode(result); } Modified:
[webkit-changes] [209015] trunk/Source/JavaScriptCore
Title: [209015] trunk/Source/_javascript_Core Revision 209015 Author mark@apple.com Date 2016-11-28 14:13:57 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in ReflectObject.cpp. https://bugs.webkit.org/show_bug.cgi?id=165066 Reviewed by Saam Barati. * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectEnumerate): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectSet): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/ReflectObject.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209014 => 209015) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 21:57:56 UTC (rev 209014) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 22:13:57 UTC (rev 209015) @@ -1,3 +1,20 @@ +2016-11-28 Mark Lam + +Fix exception scope verification failures in ReflectObject.cpp. +https://bugs.webkit.org/show_bug.cgi?id=165066 + +Reviewed by Saam Barati. + +* runtime/ReflectObject.cpp: +(JSC::reflectObjectConstruct): +(JSC::reflectObjectDefineProperty): +(JSC::reflectObjectEnumerate): +(JSC::reflectObjectGet): +(JSC::reflectObjectGetOwnPropertyDescriptor): +(JSC::reflectObjectGetPrototypeOf): +(JSC::reflectObjectOwnKeys): +(JSC::reflectObjectSet): + 2016-11-24 Mark Lam Fix exception scope verification failures in ArrayConstructor.cpp and ArrayPrototype.cpp. Modified: trunk/Source/_javascript_Core/runtime/ReflectObject.cpp (209014 => 209015) --- trunk/Source/_javascript_Core/runtime/ReflectObject.cpp 2016-11-28 21:57:56 UTC (rev 209014) +++ trunk/Source/_javascript_Core/runtime/ReflectObject.cpp 2016-11-28 22:13:57 UTC (rev 209015) @@ -125,6 +125,7 @@ }); RETURN_IF_EXCEPTION(scope, encodedJSValue()); +scope.release(); return JSValue::encode(construct(exec, target, constructType, constructData, arguments, newTarget)); } @@ -141,8 +142,10 @@ RETURN_IF_EXCEPTION(scope, encodedJSValue()); PropertyDescriptor descriptor; -if (!toPropertyDescriptor(exec, exec->argument(2), descriptor)) -return JSValue::encode(jsUndefined()); +bool success = toPropertyDescriptor(exec, exec->argument(2), descriptor); +ASSERT(!scope.exception() == success); +if (UNLIKELY(!success)) +return encodedJSValue(); ASSERT((descriptor.attributes() & Accessor) || (!descriptor.isAccessorDescriptor())); ASSERT(!scope.exception()); @@ -149,6 +152,7 @@ // Reflect.defineProperty should not throw an error when the defineOwnProperty operation fails. bool shouldThrow = false; JSObject* targetObject = asObject(target); +scope.release(); return JSValue::encode(jsBoolean(targetObject->methodTable(vm)->defineOwnProperty(targetObject, exec, propertyName, descriptor, shouldThrow))); } @@ -162,6 +166,7 @@ JSValue target = exec->argument(0); if (!target.isObject()) return JSValue::encode(throwTypeError(exec, scope, ASCIILiteral("Reflect.enumerate requires the first argument be an object"))); +scope.release(); return JSValue::encode(JSPropertyNameIterator::create(exec, exec->lexicalGlobalObject()->propertyNameIteratorStructure(), asObject(target))); } @@ -183,6 +188,7 @@ receiver = exec->argument(2); PropertySlot slot(receiver, PropertySlot::InternalMethodType::Get); +scope.release(); return JSValue::encode(target.get(exec, propertyName, slot)); } @@ -199,6 +205,7 @@ auto key = exec->argument(1).toPropertyKey(exec); RETURN_IF_EXCEPTION(scope, encodedJSValue()); +scope.release(); return JSValue::encode(objectConstructorGetOwnPropertyDescriptor(exec, asObject(target), key)); } @@ -211,7 +218,8 @@ JSValue target = exec->argument(0); if (!target.isObject()) return JSValue::encode(throwTypeError(exec, scope, ASCIILiteral("Reflect.getPrototypeOf requires the first argument be an object"))); -return JSValue::encode(asObject(target)->getPrototype(exec->vm(), exec)); +scope.release(); +return JSValue::encode(asObject(target)->getPrototype(vm, exec)); } // https://tc39.github.io/ecma262/#sec-reflect.isextensible @@ -238,6 +246,7 @@ JSValue target = exec->argument(0); if (!target.isObject()) return JSValue::encode(throwTypeError(exec, scope, ASCIILiteral("Reflect.ownKeys requires the first argument be an object"))); +scope.release(); return JSValue::encode(ownPropertyKeys(exec, jsCast(target), PropertyNameMode::StringsAndSymbols, DontEnumPropertiesMode::Include)); } @@ -277,6 +286,7 @@ // Do not raise any readonly errors that happen in strict mode. bool shouldThrowIfCantSet = false;
[webkit-changes] [209026] trunk/Source/JavaScriptCore
Title: [209026] trunk/Source/_javascript_Core Revision 209026 Author mark@apple.com Date 2016-11-28 15:00:38 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in runtime/Map* files. https://bugs.webkit.org/show_bug.cgi?id=165050 Reviewed by Saam Barati. * runtime/MapConstructor.cpp: (JSC::constructMap): * runtime/MapIteratorPrototype.cpp: (JSC::MapIteratorPrototypeFuncNext): * runtime/MapPrototype.cpp: (JSC::privateFuncMapIteratorNext): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/MapConstructor.cpp trunk/Source/_javascript_Core/runtime/MapIteratorPrototype.cpp trunk/Source/_javascript_Core/runtime/MapPrototype.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209025 => 209026) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 22:56:08 UTC (rev 209025) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:00:38 UTC (rev 209026) @@ -1,5 +1,19 @@ 2016-11-28 Mark Lam +Fix exception scope verification failures in runtime/Map* files. +https://bugs.webkit.org/show_bug.cgi?id=165050 + +Reviewed by Saam Barati. + +* runtime/MapConstructor.cpp: +(JSC::constructMap): +* runtime/MapIteratorPrototype.cpp: +(JSC::MapIteratorPrototypeFuncNext): +* runtime/MapPrototype.cpp: +(JSC::privateFuncMapIteratorNext): + +2016-11-28 Mark Lam + Fix exception scope verification failures in more miscellaneous files. https://bugs.webkit.org/show_bug.cgi?id=165102 Modified: trunk/Source/_javascript_Core/runtime/MapConstructor.cpp (209025 => 209026) --- trunk/Source/_javascript_Core/runtime/MapConstructor.cpp 2016-11-28 22:56:08 UTC (rev 209025) +++ trunk/Source/_javascript_Core/runtime/MapConstructor.cpp 2016-11-28 23:00:38 UTC (rev 209026) @@ -76,6 +76,7 @@ if (adderFunctionCallType == CallType::None) return JSValue::encode(throwTypeError(exec, scope)); +scope.release(); forEachInIterable(exec, iterable, [&](VM& vm, ExecState* exec, JSValue nextItem) { auto scope = DECLARE_THROW_SCOPE(vm); if (!nextItem.isObject()) { @@ -92,6 +93,7 @@ MarkedArgumentBuffer arguments; arguments.append(key); arguments.append(value); +scope.release(); call(exec, adderFunction, adderFunctionCallType, adderFunctionCallData, map, arguments); }); Modified: trunk/Source/_javascript_Core/runtime/MapIteratorPrototype.cpp (209025 => 209026) --- trunk/Source/_javascript_Core/runtime/MapIteratorPrototype.cpp 2016-11-28 22:56:08 UTC (rev 209025) +++ trunk/Source/_javascript_Core/runtime/MapIteratorPrototype.cpp 2016-11-28 23:00:38 UTC (rev 209026) @@ -56,8 +56,11 @@ return JSValue::encode(throwTypeError(callFrame, scope, ASCIILiteral("Cannot call MapIterator.next() on a non-MapIterator object"))); JSValue result; -if (iterator->next(callFrame, result)) +if (iterator->next(callFrame, result)) { +scope.release(); return JSValue::encode(createIteratorResultObject(callFrame, result, false)); +} +scope.release(); return JSValue::encode(createIteratorResultObject(callFrame, jsUndefined(), true)); } Modified: trunk/Source/_javascript_Core/runtime/MapPrototype.cpp (209025 => 209026) --- trunk/Source/_javascript_Core/runtime/MapPrototype.cpp 2016-11-28 22:56:08 UTC (rev 209025) +++ trunk/Source/_javascript_Core/runtime/MapPrototype.cpp 2016-11-28 23:00:38 UTC (rev 209026) @@ -192,6 +192,8 @@ EncodedJSValue JSC_HOST_CALL privateFuncMapIteratorNext(ExecState* exec) { +VM& vm = exec->vm(); +auto scope = DECLARE_THROW_SCOPE(vm); ASSERT(jsDynamicCast(exec->thisValue())); JSMapIterator* iterator = jsCast (exec->thisValue()); JSValue key, value; @@ -198,6 +200,8 @@ if (iterator->nextKeyValue(exec, key, value)) { JSArray* resultArray = jsCast (exec->uncheckedArgument(0)); resultArray->putDirectIndex(exec, 0, key); +RETURN_IF_EXCEPTION(scope, encodedJSValue()); +scope.release(); resultArray->putDirectIndex(exec, 1, value); return JSValue::encode(jsBoolean(false)); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209029] tags/Safari-603.1.13/Source/WebKit2
Title: [209029] tags/Safari-603.1.13/Source/WebKit2 Revision 209029 Author matthew_han...@apple.com Date 2016-11-28 15:17:55 -0800 (Mon, 28 Nov 2016) Log Message Merge r208835. rdar://problem/29277451 Modified Paths tags/Safari-603.1.13/Source/WebKit2/ChangeLog tags/Safari-603.1.13/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj Diff Modified: tags/Safari-603.1.13/Source/WebKit2/ChangeLog (209028 => 209029) --- tags/Safari-603.1.13/Source/WebKit2/ChangeLog 2016-11-28 23:14:43 UTC (rev 209028) +++ tags/Safari-603.1.13/Source/WebKit2/ChangeLog 2016-11-28 23:17:55 UTC (rev 209029) @@ -1,3 +1,18 @@ +2016-11-28 Matthew Hanson+ +Merge r208835. rdar://problem/29277451 + +2016-11-16 Brent Fulgham + +Unreviewed build fix after r208589 + +The generated com.apple.WebKit.plugin-common.sb file was not getting copied into +the Resources folder, so was not deployed with WebKit. We need to treat it like +com.apple.WebProcess.sb and the other generated files. + +* WebKit2.xcodeproj/project.pbxproj: Tell Xcode to include the generated file in +the framework Resources. + 2016-11-15 Jon Lee Report active video and audio capture devices separately Modified: tags/Safari-603.1.13/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (209028 => 209029) --- tags/Safari-603.1.13/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2016-11-28 23:14:43 UTC (rev 209028) +++ tags/Safari-603.1.13/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2016-11-28 23:17:55 UTC (rev 209029) @@ -1083,6 +1083,7 @@ 75A8D2D6187D1C0E00C39C9E /* WKWebsiteDataStoreInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 75A8D2D4187D1C0100C39C9E /* WKWebsiteDataStoreInternal.h */; }; 762B748D120BC75C00819339 /* WKPreferencesRefPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 762B7484120BBA2D00819339 /* WKPreferencesRefPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; 7A5E394A1D5BD8BE00B4B7CE /* com.macromedia.Flash Player ESR.plugin.sb in Resources */ = {isa = PBXBuildFile; fileRef = 7A5E39491D5BD8A700B4B7CE /* com.macromedia.Flash Player ESR.plugin.sb */; }; + 7A772C8D1DDD4A25000F34F1 /* com.apple.WebKit.plugin-common.sb in Resources */ = {isa = PBXBuildFile; fileRef = 7A1506721DD56298001F4B58 /* com.apple.WebKit.plugin-common.sb */; }; 7A791EFA1C7CFCF100C4C52B /* WebResourceLoadStatisticsStoreMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A791EF91C7CFB3700C4C52B /* WebResourceLoadStatisticsStoreMessageReceiver.cpp */; }; 7A791EFB1C7CFD0100C4C52B /* WebResourceLoadStatisticsStoreMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A791EF81C7CFB1000C4C52B /* WebResourceLoadStatisticsStoreMessages.h */; }; 7A791EFC1C7D08C500C4C52B /* WebResourceLoadStatisticsStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A9CD8C01C77984900D9F6C7 /* WebResourceLoadStatisticsStore.cpp */; }; @@ -3258,7 +3259,7 @@ 7CAB93791D459E4B0070F540 /* NetworkCacheCodersCocoa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkCacheCodersCocoa.cpp; sourceTree = ""; }; 7CB16FE21724B9B5007A0A95 /* com.apple.ist.ds.appleconnect.webplugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = com.apple.ist.ds.appleconnect.webplugin.sb; sourceTree = ""; }; 7CB16FE31724B9B5007A0A95 /* com.apple.QuickTime Plugin.plugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "com.apple.QuickTime Plugin.plugin.sb"; sourceTree = ""; }; - 7CB16FE41724B9B5007A0A95 /* com.apple.WebKit.plugin-common.sb.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "com.apple.WebKit.plugin-common.sb.in"; sourceTree = ""; }; + 7CB16FE41724B9B5007A0A95 /* com.apple.WebKit.plugin-common.sb.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "com.apple.WebKit.plugin-common.sb.in"; sourceTree = ""; }; 7CB16FE51724B9B5007A0A95 /* com.macromedia.Flash Player.plugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "com.macromedia.Flash Player.plugin.sb"; sourceTree = ""; }; 7CB16FE61724B9B5007A0A95 /* com.microsoft.SilverlightPlugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = com.microsoft.SilverlightPlugin.sb; sourceTree = ""; }; 7CB16FE71724B9B5007A0A95 /* com.oracle.java.JavaAppletPlugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = com.oracle.java.JavaAppletPlugin.sb; sourceTree = ""; }; @@ -8691,6 +8692,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( +7A772C8D1DDD4A25000F34F1 /* com.apple.WebKit.plugin-common.sb in Resources */, E115C716190F8A2500ECC516 /* com.apple.WebKit.Databases.sb in Resources */,
[webkit-changes] [209014] trunk/Source/WebCore
Title: [209014] trunk/Source/WebCore Revision 209014 Author krol...@apple.com Date 2016-11-28 13:57:56 -0800 (Mon, 28 Nov 2016) Log Message Unreviewed, rolling out r208607. The actual changes aren't inline with what was requested. Reverted changeset: "Reduce number of platformMemoryUsage calls" https://bugs.webkit.org/show_bug.cgi?id=164375 http://trac.webkit.org/changeset/208607 Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/MemoryPressureHandler.cpp trunk/Source/WebCore/platform/MemoryPressureHandler.h Diff Modified: trunk/Source/WebCore/ChangeLog (209013 => 209014) --- trunk/Source/WebCore/ChangeLog 2016-11-28 21:42:56 UTC (rev 209013) +++ trunk/Source/WebCore/ChangeLog 2016-11-28 21:57:56 UTC (rev 209014) @@ -1,3 +1,15 @@ +2016-11-28 Keith Rollin+ +Unreviewed, rolling out r208607. + +The actual changes aren't inline with what was requested. + +Reverted changeset: + +"Reduce number of platformMemoryUsage calls" +https://bugs.webkit.org/show_bug.cgi?id=164375 +http://trac.webkit.org/changeset/208607 + 2016-11-28 Beth Dakin Blacklist Netflix for TouchBar support Modified: trunk/Source/WebCore/platform/MemoryPressureHandler.cpp (209013 => 209014) --- trunk/Source/WebCore/platform/MemoryPressureHandler.cpp 2016-11-28 21:42:56 UTC (rev 209013) +++ trunk/Source/WebCore/platform/MemoryPressureHandler.cpp 2016-11-28 21:57:56 UTC (rev 209014) @@ -75,25 +75,19 @@ #define MEMORYPRESSURE_LOG(...) WTFLogAlways(__VA_ARGS__) #endif -if (s_loggingEnabled) { -size_t currentMemory = platformMemoryUsage(); -if (currentMemory == static_cast(-1) || m_initialMemory == static_cast(-1)) { -MEMORYPRESSURE_LOG("Memory pressure relief: " STRING_SPECIFICATION ": (Unable to get dirty memory information for process)", m_logString); -return; -} +size_t currentMemory = platformMemoryUsage(); +if (currentMemory == static_cast(-1) || m_initialMemory == static_cast(-1)) { +MEMORYPRESSURE_LOG("Memory pressure relief: " STRING_SPECIFICATION ": (Unable to get dirty memory information for process)", m_logString); +return; +} -long memoryDiff = currentMemory - m_initialMemory; -if (memoryDiff < 0) -MEMORYPRESSURE_LOG("Memory pressure relief: " STRING_SPECIFICATION ": -dirty %ld bytes (from %zu to %zu)", m_logString, (memoryDiff * -1), m_initialMemory, currentMemory); -else if (memoryDiff > 0) -MEMORYPRESSURE_LOG("Memory pressure relief: " STRING_SPECIFICATION ": +dirty %ld bytes (from %zu to %zu)", m_logString, memoryDiff, m_initialMemory, currentMemory); -else -MEMORYPRESSURE_LOG("Memory pressure relief: " STRING_SPECIFICATION ": =dirty (at %zu bytes)", m_logString, currentMemory); -#if !RELEASE_LOG_DISABLED -} else { -MEMORYPRESSURE_LOG("Memory pressure relief: " STRING_SPECIFICATION, m_logString); -#endif -} +long memoryDiff = currentMemory - m_initialMemory; +if (memoryDiff < 0) +MEMORYPRESSURE_LOG("Memory pressure relief: " STRING_SPECIFICATION ": -dirty %ld bytes (from %zu to %zu)", m_logString, (memoryDiff * -1), m_initialMemory, currentMemory); +else if (memoryDiff > 0) +MEMORYPRESSURE_LOG("Memory pressure relief: " STRING_SPECIFICATION ": +dirty %ld bytes (from %zu to %zu)", m_logString, memoryDiff, m_initialMemory, currentMemory); +else +MEMORYPRESSURE_LOG("Memory pressure relief: " STRING_SPECIFICATION ": =dirty (at %zu bytes)", m_logString, currentMemory); } #if !PLATFORM(COCOA) && !OS(LINUX) && !PLATFORM(WIN) Modified: trunk/Source/WebCore/platform/MemoryPressureHandler.h (209013 => 209014) --- trunk/Source/WebCore/platform/MemoryPressureHandler.h 2016-11-28 21:42:56 UTC (rev 209013) +++ trunk/Source/WebCore/platform/MemoryPressureHandler.h 2016-11-28 21:57:56 UTC (rev 209014) @@ -90,13 +90,22 @@ public: explicit ReliefLogger(const char *log) : m_logString(log) +#if !RELEASE_LOG_DISABLED +, m_initialMemory(platformMemoryUsage()) +#else , m_initialMemory(s_loggingEnabled ? platformMemoryUsage() : 0) +#endif { } ~ReliefLogger() { +#if !RELEASE_LOG_DISABLED logMemoryUsageChange(); +#else +if (s_loggingEnabled) +logMemoryUsageChange(); +#endif } const char* logString() const { return m_logString; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209023] trunk/Source/JavaScriptCore
Title: [209023] trunk/Source/_javascript_Core Revision 209023 Author mark@apple.com Date 2016-11-28 14:39:10 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in runtime/Weak* files. https://bugs.webkit.org/show_bug.cgi?id=165096 Reviewed by Geoffrey Garen. * runtime/WeakMapConstructor.cpp: (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::protoFuncWeakMapSet): * runtime/WeakSetConstructor.cpp: (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::protoFuncWeakSetAdd): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/WeakMapConstructor.cpp trunk/Source/_javascript_Core/runtime/WeakMapPrototype.cpp trunk/Source/_javascript_Core/runtime/WeakSetConstructor.cpp trunk/Source/_javascript_Core/runtime/WeakSetPrototype.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209022 => 209023) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 22:35:39 UTC (rev 209022) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 22:39:10 UTC (rev 209023) @@ -1,5 +1,21 @@ 2016-11-28 Mark Lam +Fix exception scope verification failures in runtime/Weak* files. +https://bugs.webkit.org/show_bug.cgi?id=165096 + +Reviewed by Geoffrey Garen. + +* runtime/WeakMapConstructor.cpp: +(JSC::constructWeakMap): +* runtime/WeakMapPrototype.cpp: +(JSC::protoFuncWeakMapSet): +* runtime/WeakSetConstructor.cpp: +(JSC::constructWeakSet): +* runtime/WeakSetPrototype.cpp: +(JSC::protoFuncWeakSetAdd): + +2016-11-28 Mark Lam + Fix exception scope verification failures in runtime/String* files. https://bugs.webkit.org/show_bug.cgi?id=165067 Modified: trunk/Source/_javascript_Core/runtime/WeakMapConstructor.cpp (209022 => 209023) --- trunk/Source/_javascript_Core/runtime/WeakMapConstructor.cpp 2016-11-28 22:35:39 UTC (rev 209022) +++ trunk/Source/_javascript_Core/runtime/WeakMapConstructor.cpp 2016-11-28 22:39:10 UTC (rev 209023) @@ -65,7 +65,7 @@ if (iterable.isUndefinedOrNull()) return JSValue::encode(weakMap); -JSValue adderFunction = weakMap->JSObject::get(exec, exec->propertyNames().set); +JSValue adderFunction = weakMap->JSObject::get(exec, vm.propertyNames->set); RETURN_IF_EXCEPTION(scope, encodedJSValue()); CallData adderFunctionCallData; @@ -73,6 +73,7 @@ if (adderFunctionCallType == CallType::None) return JSValue::encode(throwTypeError(exec, scope)); +scope.release(); forEachInIterable(exec, iterable, [&](VM& vm, ExecState* exec, JSValue nextItem) { auto scope = DECLARE_THROW_SCOPE(vm); if (!nextItem.isObject()) { @@ -89,6 +90,7 @@ MarkedArgumentBuffer arguments; arguments.append(key); arguments.append(value); +scope.release(); call(exec, adderFunction, adderFunctionCallType, adderFunctionCallData, weakMap, arguments); }); Modified: trunk/Source/_javascript_Core/runtime/WeakMapPrototype.cpp (209022 => 209023) --- trunk/Source/_javascript_Core/runtime/WeakMapPrototype.cpp 2016-11-28 22:35:39 UTC (rev 209022) +++ trunk/Source/_javascript_Core/runtime/WeakMapPrototype.cpp 2016-11-28 22:39:10 UTC (rev 209023) @@ -105,6 +105,7 @@ auto scope = DECLARE_THROW_SCOPE(vm); WeakMapData* map = getWeakMapData(callFrame, callFrame->thisValue()); +ASSERT(!!scope.exception() == !map); if (!map) return JSValue::encode(jsUndefined()); JSValue key = callFrame->argument(0); Modified: trunk/Source/_javascript_Core/runtime/WeakSetConstructor.cpp (209022 => 209023) --- trunk/Source/_javascript_Core/runtime/WeakSetConstructor.cpp 2016-11-28 22:35:39 UTC (rev 209022) +++ trunk/Source/_javascript_Core/runtime/WeakSetConstructor.cpp 2016-11-28 22:39:10 UTC (rev 209023) @@ -65,7 +65,7 @@ if (iterable.isUndefinedOrNull()) return JSValue::encode(weakSet); -JSValue adderFunction = weakSet->JSObject::get(exec, exec->propertyNames().add); +JSValue adderFunction = weakSet->JSObject::get(exec, vm.propertyNames->add); RETURN_IF_EXCEPTION(scope, encodedJSValue()); CallData adderFunctionCallData; @@ -73,6 +73,7 @@ if (adderFunctionCallType == CallType::None) return JSValue::encode(throwTypeError(exec, scope)); +scope.release(); forEachInIterable(exec, iterable, [&](VM&, ExecState* exec, JSValue nextValue) { MarkedArgumentBuffer arguments; arguments.append(nextValue); Modified: trunk/Source/_javascript_Core/runtime/WeakSetPrototype.cpp (209022 => 209023) --- trunk/Source/_javascript_Core/runtime/WeakSetPrototype.cpp 2016-11-28 22:35:39 UTC (rev 209022) +++ trunk/Source/_javascript_Core/runtime/WeakSetPrototype.cpp 2016-11-28 22:39:10 UTC (rev 209023) @@ -92,6 +92,7 @@ auto scope = DECLARE_THROW_SCOPE(vm); WeakMapData* map =
[webkit-changes] [209030] trunk/Source/JavaScriptCore
Title: [209030] trunk/Source/_javascript_Core Revision 209030 Author mark@apple.com Date 2016-11-28 15:23:40 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in runtime/Operations.cpp/h. https://bugs.webkit.org/show_bug.cgi?id=165046 Reviewed by Saam Barati. Also switched to using returning { } instead of JSValue(). * runtime/Operations.cpp: (JSC::jsAddSlowCase): (JSC::jsIsObjectTypeOrNull): * runtime/Operations.h: (JSC::jsStringFromRegisterArray): (JSC::jsStringFromArguments): (JSC::jsLess): (JSC::jsLessEq): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/Operations.cpp trunk/Source/_javascript_Core/runtime/Operations.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209029 => 209030) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:17:55 UTC (rev 209029) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:23:40 UTC (rev 209030) @@ -1,5 +1,23 @@ 2016-11-28 Mark Lam +Fix exception scope verification failures in runtime/Operations.cpp/h. +https://bugs.webkit.org/show_bug.cgi?id=165046 + +Reviewed by Saam Barati. + +Also switched to using returning { } instead of JSValue(). + +* runtime/Operations.cpp: +(JSC::jsAddSlowCase): +(JSC::jsIsObjectTypeOrNull): +* runtime/Operations.h: +(JSC::jsStringFromRegisterArray): +(JSC::jsStringFromArguments): +(JSC::jsLess): +(JSC::jsLessEq): + +2016-11-28 Mark Lam + Fix exception scope verification failures in JSScope.cpp. https://bugs.webkit.org/show_bug.cgi?id=165047 Modified: trunk/Source/_javascript_Core/runtime/Operations.cpp (209029 => 209030) --- trunk/Source/_javascript_Core/runtime/Operations.cpp 2016-11-28 23:17:55 UTC (rev 209029) +++ trunk/Source/_javascript_Core/runtime/Operations.cpp 2016-11-28 23:23:40 UTC (rev 209030) @@ -46,17 +46,28 @@ VM& vm = callFrame->vm(); auto scope = DECLARE_THROW_SCOPE(vm); JSValue p1 = v1.toPrimitive(callFrame); -RETURN_IF_EXCEPTION(scope, JSValue()); +RETURN_IF_EXCEPTION(scope, { }); JSValue p2 = v2.toPrimitive(callFrame); -RETURN_IF_EXCEPTION(scope, JSValue()); +RETURN_IF_EXCEPTION(scope, { }); -if (p1.isString()) -return jsString(callFrame, asString(p1), p2.toString(callFrame)); +if (p1.isString()) { +JSString* p2String = p2.toString(callFrame); +RETURN_IF_EXCEPTION(scope, { }); +scope.release(); +return jsString(callFrame, asString(p1), p2String); +} -if (p2.isString()) -return jsString(callFrame, p1.toString(callFrame), asString(p2)); +if (p2.isString()) { +JSString* p1String = p1.toString(callFrame); +RETURN_IF_EXCEPTION(scope, { }); +scope.release(); +return jsString(callFrame, p1String, asString(p2)); +} -return jsNumber(p1.toNumber(callFrame) + p2.toNumber(callFrame)); +double p1Number = p1.toNumber(callFrame); +RETURN_IF_EXCEPTION(scope, { }); +scope.release(); +return jsNumber(p1Number + p2.toNumber(callFrame)); } JSValue jsTypeStringForValue(VM& vm, JSGlobalObject* globalObject, JSValue v) @@ -96,6 +107,7 @@ bool jsIsObjectTypeOrNull(CallFrame* callFrame, JSValue v) { +VM& vm = callFrame->vm(); if (!v.isCell()) return v.isNull(); @@ -103,11 +115,11 @@ if (type == StringType || type == SymbolType) return false; if (type >= ObjectType) { -if (asObject(v)->structure(callFrame->vm())->masqueradesAsUndefined(callFrame->lexicalGlobalObject())) +if (asObject(v)->structure(vm)->masqueradesAsUndefined(callFrame->lexicalGlobalObject())) return false; CallData callData; JSObject* object = asObject(v); -if (object->methodTable(callFrame->vm())->getCallData(object, callData) != CallType::None) +if (object->methodTable(vm)->getCallData(object, callData) != CallType::None) return false; } return true; Modified: trunk/Source/_javascript_Core/runtime/Operations.h (209029 => 209030) --- trunk/Source/_javascript_Core/runtime/Operations.h 2016-11-28 23:17:55 UTC (rev 209029) +++ trunk/Source/_javascript_Core/runtime/Operations.h 2016-11-28 23:23:40 UTC (rev 209030) @@ -126,7 +126,9 @@ for (unsigned i = 0; i < count; ++i) { JSValue v = strings[-static_cast(i)].jsValue(); -if (!ropeBuilder.append(v.toString(exec))) +JSString* string = v.toString(exec); +RETURN_IF_EXCEPTION(scope, { }); +if (!ropeBuilder.append(string)) return throwOutOfMemoryError(exec, scope); } @@ -138,11 +140,15 @@ VM* vm = >vm(); auto scope = DECLARE_THROW_SCOPE(*vm); JSRopeString::RopeBuilder ropeBuilder(*vm); -ropeBuilder.append(thisValue.toString(exec)); +JSString* str =
[webkit-changes] [209032] trunk/Source/JavaScriptCore
Title: [209032] trunk/Source/_javascript_Core Revision 209032 Author mark@apple.com Date 2016-11-28 15:38:17 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in JSFunction.cpp. https://bugs.webkit.org/show_bug.cgi?id=165021 Reviewed by Saam Barati. * runtime/JSFunction.cpp: (JSC::JSFunction::put): (JSC::JSFunction::defineOwnProperty): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSFunction.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209031 => 209032) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:30:59 UTC (rev 209031) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:38:17 UTC (rev 209032) @@ -1,5 +1,16 @@ 2016-11-28 Mark Lam +Fix exception scope verification failures in JSFunction.cpp. +https://bugs.webkit.org/show_bug.cgi?id=165021 + +Reviewed by Saam Barati. + +* runtime/JSFunction.cpp: +(JSC::JSFunction::put): +(JSC::JSFunction::defineOwnProperty): + +2016-11-28 Mark Lam + Fix exception scope verification failures in runtime/JSGenericTypedArrayView* files. https://bugs.webkit.org/show_bug.cgi?id=165022 Modified: trunk/Source/_javascript_Core/runtime/JSFunction.cpp (209031 => 209032) --- trunk/Source/_javascript_Core/runtime/JSFunction.cpp 2016-11-28 23:30:59 UTC (rev 209031) +++ trunk/Source/_javascript_Core/runtime/JSFunction.cpp 2016-11-28 23:38:17 UTC (rev 209032) @@ -425,13 +425,16 @@ JSFunction* thisObject = jsCast(cell); -if (UNLIKELY(isThisValueAltered(slot, thisObject))) +if (UNLIKELY(isThisValueAltered(slot, thisObject))) { +scope.release(); return ordinarySetSlow(exec, thisObject, propertyName, value, slot.thisValue(), slot.isStrictMode()); +} if (thisObject->isHostOrBuiltinFunction()) { LazyPropertyType propType = thisObject->reifyBoundNameIfNeeded(vm, exec, propertyName); if (propType == LazyPropertyType::IsLazyProperty) slot.disableCaching(); +scope.release(); return Base::put(thisObject, exec, propertyName, value, slot); } @@ -454,6 +457,7 @@ // FIXME: Investigate if the `hasProperty()` call is even needed, as in the `!hasCallerAndArgumentsProperties()` case, // these properties are not lazy and should not need to be reified. (https://bugs.webkit.org/show_bug.cgi?id=163579) bool okay = thisObject->hasProperty(exec, propertyName); +RETURN_IF_EXCEPTION(scope, false); ASSERT_UNUSED(okay, okay); scope.release(); return Base::put(thisObject, exec, propertyName, value, slot); @@ -497,6 +501,7 @@ JSFunction* thisObject = jsCast (object); if (thisObject->isHostOrBuiltinFunction()) { thisObject->reifyBoundNameIfNeeded(vm, exec, propertyName); +scope.release(); return Base::defineOwnProperty(object, exec, propertyName, descriptor, throwException); } @@ -507,6 +512,7 @@ thisObject->methodTable(vm)->getOwnPropertySlot(thisObject, exec, propertyName, slot); if (thisObject->m_rareData) thisObject->m_rareData->clear("Store to prototype property of a function"); +scope.release(); return Base::defineOwnProperty(object, exec, propertyName, descriptor, throwException); } @@ -515,11 +521,13 @@ if (!thisObject->jsExecutable()->hasCallerAndArgumentsProperties()) { if (thisObject->jsExecutable()->isClass()) { thisObject->reifyLazyPropertyIfNeeded(vm, exec, propertyName); +scope.release(); return Base::defineOwnProperty(object, exec, propertyName, descriptor, throwException); } PropertySlot slot(thisObject, PropertySlot::InternalMethodType::VMInquiry); if (!Base::getOwnPropertySlot(thisObject, exec, propertyName, slot)) thisObject->putDirectAccessor(exec, propertyName, thisObject->globalObject(vm)->throwTypeErrorArgumentsCalleeAndCallerGetterSetter(), DontDelete | DontEnum | Accessor); +scope.release(); return Base::defineOwnProperty(object, exec, propertyName, descriptor, throwException); } valueCheck = !descriptor.value() || sameValue(exec, descriptor.value(), retrieveArguments(exec, thisObject)); @@ -527,16 +535,19 @@ if (!thisObject->jsExecutable()->hasCallerAndArgumentsProperties()) { if (thisObject->jsExecutable()->isClass()) { thisObject->reifyLazyPropertyIfNeeded(vm, exec, propertyName); +scope.release(); return Base::defineOwnProperty(object, exec, propertyName, descriptor, throwException); } PropertySlot slot(thisObject, PropertySlot::InternalMethodType::VMInquiry);
[webkit-changes] [209040] tags/Safari-603.1.13.1/Source/WebKit/mac
Title: [209040] tags/Safari-603.1.13.1/Source/WebKit/mac Revision 209040 Author matthew_han...@apple.com Date 2016-11-28 15:55:34 -0800 (Mon, 28 Nov 2016) Log Message Merge r208877. rdar://problem/29326204 Modified Paths tags/Safari-603.1.13.1/Source/WebKit/mac/ChangeLog tags/Safari-603.1.13.1/Source/WebKit/mac/WebView/WebView.mm Diff Modified: tags/Safari-603.1.13.1/Source/WebKit/mac/ChangeLog (209039 => 209040) --- tags/Safari-603.1.13.1/Source/WebKit/mac/ChangeLog 2016-11-28 23:55:32 UTC (rev 209039) +++ tags/Safari-603.1.13.1/Source/WebKit/mac/ChangeLog 2016-11-28 23:55:34 UTC (rev 209040) @@ -1,3 +1,13 @@ +2016-11-28 Matthew Hanson+ +Merge r208877. rdar://problem/29326204 + +2016-11-17 Dan Bernstein + +Try to fix some non-macOS builds. + +* WebView/WebView.mm: + 2016-11-14 Alex Christensen Move SecurityOrigin::createFromDatabaseIdentifier to SecurityOriginData Modified: tags/Safari-603.1.13.1/Source/WebKit/mac/WebView/WebView.mm (209039 => 209040) --- tags/Safari-603.1.13.1/Source/WebKit/mac/WebView/WebView.mm 2016-11-28 23:55:32 UTC (rev 209039) +++ tags/Safari-603.1.13.1/Source/WebKit/mac/WebView/WebView.mm 2016-11-28 23:55:34 UTC (rev 209040) @@ -118,7 +118,6 @@ #import <_javascript_Core/APICast.h> #import <_javascript_Core/Exception.h> #import <_javascript_Core/JSValueRef.h> -#import #import #import #import @@ -232,6 +231,7 @@ #import "WebNSPasteboardExtras.h" #import "WebNSPrintOperationExtras.h" #import "WebPDFView.h" +#import #import #import #import ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209041] tags/Safari-603.1.13.1
Title: [209041] tags/Safari-603.1.13.1 Revision 209041 Author matthew_han...@apple.com Date 2016-11-28 15:55:37 -0800 (Mon, 28 Nov 2016) Log Message Merge r208906. rdar://problem/29324149 Modified Paths tags/Safari-603.1.13.1/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig tags/Safari-603.1.13.1/Source/WebCore/Configurations/FeatureDefines.xcconfig tags/Safari-603.1.13.1/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig tags/Safari-603.1.13.1/Source/WebKit2/Configurations/FeatureDefines.xcconfig tags/Safari-603.1.13.1/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig Diff Modified: tags/Safari-603.1.13.1/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig (209040 => 209041) --- tags/Safari-603.1.13.1/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig 2016-11-28 23:55:34 UTC (rev 209040) +++ tags/Safari-603.1.13.1/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig 2016-11-28 23:55:37 UTC (rev 209041) @@ -90,7 +90,7 @@ ENABLE_GAMEPAD_DEPRECATED = ; ENABLE_GEOLOCATION = ENABLE_GEOLOCATION; ENABLE_ICONDATABASE[sdk=macosx*] = ENABLE_ICONDATABASE; -ENABLE_INTERSECTION_OBSERVER = ENABLE_INTERSECTION_OBSERVER; +ENABLE_INTERSECTION_OBSERVER = ; ENABLE_SERVICE_CONTROLS[sdk=macosx*] = ENABLE_SERVICE_CONTROLS; ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE; ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS; Modified: tags/Safari-603.1.13.1/Source/WebCore/Configurations/FeatureDefines.xcconfig (209040 => 209041) --- tags/Safari-603.1.13.1/Source/WebCore/Configurations/FeatureDefines.xcconfig 2016-11-28 23:55:34 UTC (rev 209040) +++ tags/Safari-603.1.13.1/Source/WebCore/Configurations/FeatureDefines.xcconfig 2016-11-28 23:55:37 UTC (rev 209041) @@ -90,7 +90,7 @@ ENABLE_GAMEPAD_DEPRECATED = ; ENABLE_GEOLOCATION = ENABLE_GEOLOCATION; ENABLE_ICONDATABASE[sdk=macosx*] = ENABLE_ICONDATABASE; -ENABLE_INTERSECTION_OBSERVER = ENABLE_INTERSECTION_OBSERVER; +ENABLE_INTERSECTION_OBSERVER = ; ENABLE_SERVICE_CONTROLS[sdk=macosx*] = ENABLE_SERVICE_CONTROLS; ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE; ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS; Modified: tags/Safari-603.1.13.1/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig (209040 => 209041) --- tags/Safari-603.1.13.1/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig 2016-11-28 23:55:34 UTC (rev 209040) +++ tags/Safari-603.1.13.1/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig 2016-11-28 23:55:37 UTC (rev 209041) @@ -90,7 +90,7 @@ ENABLE_GAMEPAD_DEPRECATED = ; ENABLE_GEOLOCATION = ENABLE_GEOLOCATION; ENABLE_ICONDATABASE[sdk=macosx*] = ENABLE_ICONDATABASE; -ENABLE_INTERSECTION_OBSERVER = ENABLE_INTERSECTION_OBSERVER; +ENABLE_INTERSECTION_OBSERVER = ; ENABLE_SERVICE_CONTROLS[sdk=macosx*] = ENABLE_SERVICE_CONTROLS; ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE; ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS; Modified: tags/Safari-603.1.13.1/Source/WebKit2/Configurations/FeatureDefines.xcconfig (209040 => 209041) --- tags/Safari-603.1.13.1/Source/WebKit2/Configurations/FeatureDefines.xcconfig 2016-11-28 23:55:34 UTC (rev 209040) +++ tags/Safari-603.1.13.1/Source/WebKit2/Configurations/FeatureDefines.xcconfig 2016-11-28 23:55:37 UTC (rev 209041) @@ -90,7 +90,7 @@ ENABLE_GAMEPAD_DEPRECATED = ; ENABLE_GEOLOCATION = ENABLE_GEOLOCATION; ENABLE_ICONDATABASE[sdk=macosx*] = ENABLE_ICONDATABASE; -ENABLE_INTERSECTION_OBSERVER = ENABLE_INTERSECTION_OBSERVER; +ENABLE_INTERSECTION_OBSERVER = ; ENABLE_SERVICE_CONTROLS[sdk=macosx*] = ENABLE_SERVICE_CONTROLS; ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE; ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS; Modified: tags/Safari-603.1.13.1/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig (209040 => 209041) --- tags/Safari-603.1.13.1/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig 2016-11-28 23:55:34 UTC (rev 209040) +++ tags/Safari-603.1.13.1/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig 2016-11-28 23:55:37 UTC (rev 209041) @@ -90,7 +90,7 @@ ENABLE_GAMEPAD_DEPRECATED = ; ENABLE_GEOLOCATION = ENABLE_GEOLOCATION; ENABLE_ICONDATABASE[sdk=macosx*] = ENABLE_ICONDATABASE; -ENABLE_INTERSECTION_OBSERVER = ENABLE_INTERSECTION_OBSERVER; +ENABLE_INTERSECTION_OBSERVER = ; ENABLE_SERVICE_CONTROLS[sdk=macosx*] = ENABLE_SERVICE_CONTROLS; ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE; ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209044] branches/safari-602.3.12.0-branch/Source/WebCore
Title: [209044] branches/safari-602.3.12.0-branch/Source/WebCore Revision 209044 Author bshaf...@apple.com Date 2016-11-28 15:58:06 -0800 (Mon, 28 Nov 2016) Log Message Merge r209013. rdar://problem/29404778 Modified Paths branches/safari-602.3.12.0-branch/Source/WebCore/ChangeLog branches/safari-602.3.12.0-branch/Source/WebCore/html/HTMLMediaElement.cpp Diff Modified: branches/safari-602.3.12.0-branch/Source/WebCore/ChangeLog (209043 => 209044) --- branches/safari-602.3.12.0-branch/Source/WebCore/ChangeLog 2016-11-28 23:56:06 UTC (rev 209043) +++ branches/safari-602.3.12.0-branch/Source/WebCore/ChangeLog 2016-11-28 23:58:06 UTC (rev 209044) @@ -1,3 +1,20 @@ +2016-11-28 Babak Shafiei+ +Merge r209013. rdar://problem/29404778 + +2016-11-28 Beth Dakin + +Blacklist Netflix for TouchBar support +https://bugs.webkit.org/show_bug.cgi?id=165104 +-and corresponding- +rdar://problem/29404778 + +Reviewed by Darin Adler. + +* html/HTMLMediaElement.cpp: +(WebCore::needsPlaybackControlsManagerQuirk): +(WebCore::HTMLMediaElement::updatePlaybackControlsManager): + 2016-11-14 Matthew Hanson Merge r208691. rdar://problem/29250304 Modified: branches/safari-602.3.12.0-branch/Source/WebCore/html/HTMLMediaElement.cpp (209043 => 209044) --- branches/safari-602.3.12.0-branch/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-28 23:56:06 UTC (rev 209043) +++ branches/safari-602.3.12.0-branch/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-28 23:58:06 UTC (rev 209044) @@ -7347,6 +7347,15 @@ return renderer && renderer->visibleInViewportState() == RenderElement::VisibleInViewport; } +static bool needsPlaybackControlsManagerQuirk(bool needsQuirks, const URL& url) +{ +if (!needsQuirks) +return false; + +String host = url.host(); +return equalLettersIgnoringASCIICase(host, "www.netflix.com"); +} + void HTMLMediaElement::updatePlaybackControlsManager() { Page* page = document().page(); @@ -7353,8 +7362,11 @@ if (!page) return; +auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager); +bool quirkDisablesPlaybackControlsManager = needsPlaybackControlsManagerQuirk(page->settings().needsSiteSpecificQuirks(), page->mainFrame().document()->url()); + // FIXME: Ensure that the renderer here should be up to date. -if (auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager)) +if (bestMediaElement && !quirkDisablesPlaybackControlsManager) page->chrome().client().setUpPlaybackControlsManager(*bestMediaElement); else page->chrome().client().clearPlaybackControlsManager(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209034] trunk/Source/JavaScriptCore
Title: [209034] trunk/Source/_javascript_Core Revision 209034 Author mark@apple.com Date 2016-11-28 15:40:53 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in JSDataView.cpp. https://bugs.webkit.org/show_bug.cgi?id=165020 Reviewed by Saam Barati. * runtime/JSDataView.cpp: (JSC::JSDataView::put): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSDataView.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209033 => 209034) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:38:39 UTC (rev 209033) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:40:53 UTC (rev 209034) @@ -1,5 +1,15 @@ 2016-11-28 Mark Lam +Fix exception scope verification failures in JSDataView.cpp. +https://bugs.webkit.org/show_bug.cgi?id=165020 + +Reviewed by Saam Barati. + +* runtime/JSDataView.cpp: +(JSC::JSDataView::put): + +2016-11-28 Mark Lam + Fix exception scope verification failures in JSFunction.cpp. https://bugs.webkit.org/show_bug.cgi?id=165021 Modified: trunk/Source/_javascript_Core/runtime/JSDataView.cpp (209033 => 209034) --- trunk/Source/_javascript_Core/runtime/JSDataView.cpp 2016-11-28 23:38:39 UTC (rev 209033) +++ trunk/Source/_javascript_Core/runtime/JSDataView.cpp 2016-11-28 23:40:53 UTC (rev 209034) @@ -126,13 +126,16 @@ auto scope = DECLARE_THROW_SCOPE(vm); JSDataView* thisObject = jsCast(cell); -if (UNLIKELY(isThisValueAltered(slot, thisObject))) +if (UNLIKELY(isThisValueAltered(slot, thisObject))) { +scope.release(); return ordinarySetSlow(exec, thisObject, propertyName, value, slot.thisValue(), slot.isStrictMode()); +} if (propertyName == vm.propertyNames->byteLength || propertyName == vm.propertyNames->byteOffset) return typeError(exec, scope, slot.isStrictMode(), ASCIILiteral("Attempting to write to read-only typed array property.")); +scope.release(); return Base::put(thisObject, exec, propertyName, value, slot); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209050] trunk/Source/WebCore
Title: [209050] trunk/Source/WebCore Revision 209050 Author cdu...@apple.com Date 2016-11-28 17:08:46 -0800 (Mon, 28 Nov 2016) Log Message [iOS] Use UIKit SPI to force popover presentation style on iPhone for html validation popovers https://bugs.webkit.org/show_bug.cgi?id=165107 Reviewed by Simon Fraser. Use UIKit SPI to force popover presentation style on iPhone for html validation popovers as this results in simpler code and achieves the same behavior. * platform/ValidationBubble.h: * platform/ios/ValidationBubbleIOS.mm: (WebCore::ValidationBubble::setAnchorRect): (-[WebValidationBubbleDelegate adaptivePresentationStyleForPresentationController:traitCollection:]): Deleted. * platform/spi/ios/UIKitSPI.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/ValidationBubble.h trunk/Source/WebCore/platform/ios/ValidationBubbleIOS.mm trunk/Source/WebCore/platform/spi/ios/UIKitSPI.h Diff Modified: trunk/Source/WebCore/ChangeLog (209049 => 209050) --- trunk/Source/WebCore/ChangeLog 2016-11-29 01:08:29 UTC (rev 209049) +++ trunk/Source/WebCore/ChangeLog 2016-11-29 01:08:46 UTC (rev 209050) @@ -1,5 +1,21 @@ 2016-11-28 Chris Dumez+[iOS] Use UIKit SPI to force popover presentation style on iPhone for html validation popovers +https://bugs.webkit.org/show_bug.cgi?id=165107 + +Reviewed by Simon Fraser. + +Use UIKit SPI to force popover presentation style on iPhone for html validation +popovers as this results in simpler code and achieves the same behavior. + +* platform/ValidationBubble.h: +* platform/ios/ValidationBubbleIOS.mm: +(WebCore::ValidationBubble::setAnchorRect): +(-[WebValidationBubbleDelegate adaptivePresentationStyleForPresentationController:traitCollection:]): Deleted. +* platform/spi/ios/UIKitSPI.h: + +2016-11-28 Chris Dumez + [Mac] Clicking on an HTML validation bubble should dismiss it https://bugs.webkit.org/show_bug.cgi?id=165117 Modified: trunk/Source/WebCore/platform/ValidationBubble.h (209049 => 209050) --- trunk/Source/WebCore/platform/ValidationBubble.h 2016-11-29 01:08:29 UTC (rev 209049) +++ trunk/Source/WebCore/platform/ValidationBubble.h 2016-11-29 01:08:46 UTC (rev 209050) @@ -37,7 +37,6 @@ OBJC_CLASS NSPopover; #elif PLATFORM(IOS) OBJC_CLASS UIViewController; -OBJC_CLASS WebValidationBubbleDelegate; #endif #if PLATFORM(MAC) @@ -73,7 +72,6 @@ RetainPtr m_popover; #elif PLATFORM(IOS) RetainPtr m_popoverController; -RetainPtr m_popoverDelegate; UIViewController *m_presentingViewController; #endif }; Modified: trunk/Source/WebCore/platform/ios/ValidationBubbleIOS.mm (209049 => 209050) --- trunk/Source/WebCore/platform/ios/ValidationBubbleIOS.mm 2016-11-29 01:08:29 UTC (rev 209049) +++ trunk/Source/WebCore/platform/ios/ValidationBubbleIOS.mm 2016-11-29 01:08:46 UTC (rev 209050) @@ -34,25 +34,10 @@ SOFT_LINK_FRAMEWORK(UIKit); SOFT_LINK_CLASS(UIKit, UILabel); +SOFT_LINK_CLASS(UIKit, UIPopoverPresentationController); SOFT_LINK_CLASS(UIKit, UIView); SOFT_LINK_CLASS(UIKit, UIViewController); -@interface WebValidationBubbleDelegate : NSObject { -} -@end - -@implementation WebValidationBubbleDelegate - -- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller traitCollection:(UITraitCollection *)traitCollection -{ -UNUSED_PARAM(controller); -UNUSED_PARAM(traitCollection); -// This is needed to force UIKit to use a popover on iPhone as well. -return UIModalPresentationNone; -} - -@end - namespace WebCore { static const CGFloat horizontalPadding = 8; @@ -95,8 +80,8 @@ void ValidationBubble::setAnchorRect(const IntRect& anchorRect, UIViewController* presentingViewController) { UIPopoverPresentationController *presentationController = [m_popoverController popoverPresentationController]; -m_popoverDelegate = adoptNS([[WebValidationBubbleDelegate alloc] init]); -presentationController.delegate = m_popoverDelegate.get(); +// This is needed to force UIKit to use a popover on iPhone as well. +[getUIPopoverPresentationControllerClass() _setAlwaysAllowPopoverPresentations:YES]; presentationController.passthroughViews = [NSArray arrayWithObjects:presentingViewController.view, m_view, nil]; presentationController.permittedArrowDirections = UIPopoverArrowDirectionUp; Modified: trunk/Source/WebCore/platform/spi/ios/UIKitSPI.h (209049 => 209050) --- trunk/Source/WebCore/platform/spi/ios/UIKitSPI.h 2016-11-29 01:08:29 UTC (rev 209049) +++ trunk/Source/WebCore/platform/spi/ios/UIKitSPI.h 2016-11-29 01:08:46 UTC (rev 209050) @@ -27,6 +27,7 @@ #import #import +#import #import #else @@ -57,4 +58,10 @@ @end +@interface UIPopoverPresentationController() + ++ (void)_setAlwaysAllowPopoverPresentations:(BOOL)flag; + +@end + #endif
[webkit-changes] [209049] trunk/Source/WebCore
Title: [209049] trunk/Source/WebCore Revision 209049 Author cdu...@apple.com Date 2016-11-28 17:08:29 -0800 (Mon, 28 Nov 2016) Log Message [Mac] Clicking on an HTML validation bubble should dismiss it https://bugs.webkit.org/show_bug.cgi?id=165117 Reviewed by Simon Fraser. Clicking on an HTML validation bubble should dismiss it. It previously did nothing. No new tests, this is not easily testable as EventSender.keyDown() sends the event to the view, not to a particular screen location. * platform/mac/ValidationBubbleMac.mm: (-[WebValidationPopover mouseDown:]): (WebCore::ValidationBubble::ValidationBubble): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mac/ValidationBubbleMac.mm Diff Modified: trunk/Source/WebCore/ChangeLog (209048 => 209049) --- trunk/Source/WebCore/ChangeLog 2016-11-29 01:03:48 UTC (rev 209048) +++ trunk/Source/WebCore/ChangeLog 2016-11-29 01:08:29 UTC (rev 209049) @@ -1,3 +1,21 @@ +2016-11-28 Chris Dumez+ +[Mac] Clicking on an HTML validation bubble should dismiss it +https://bugs.webkit.org/show_bug.cgi?id=165117 + + +Reviewed by Simon Fraser. + +Clicking on an HTML validation bubble should dismiss it. It previously +did nothing. + +No new tests, this is not easily testable as EventSender.keyDown() sends +the event to the view, not to a particular screen location. + +* platform/mac/ValidationBubbleMac.mm: +(-[WebValidationPopover mouseDown:]): +(WebCore::ValidationBubble::ValidationBubble): + 2016-11-27 Sam Weinig Make CanvasRenderingContext2D use WebIDL unions / Variants for createPattern and drawImage Modified: trunk/Source/WebCore/platform/mac/ValidationBubbleMac.mm (209048 => 209049) --- trunk/Source/WebCore/platform/mac/ValidationBubbleMac.mm 2016-11-29 01:03:48 UTC (rev 209048) +++ trunk/Source/WebCore/platform/mac/ValidationBubbleMac.mm 2016-11-29 01:08:29 UTC (rev 209049) @@ -31,6 +31,19 @@ #import #import +@interface WebValidationPopover : NSPopover +@end + +@implementation WebValidationPopover + +- (void)mouseDown:(NSEvent *)event +{ +UNUSED_PARAM(event); +[self close]; +} + +@end + namespace WebCore { static const CGFloat horizontalPadding = 5; @@ -59,7 +72,7 @@ [label setFrame:NSMakeRect(horizontalPadding, verticalPadding, labelSize.width, labelSize.height)]; [popoverView setFrame:NSMakeRect(0, 0, labelSize.width + horizontalPadding * 2, labelSize.height + verticalPadding * 2)]; -m_popover = adoptNS([[NSPopover alloc] init]); +m_popover = adoptNS([[WebValidationPopover alloc] init]); [m_popover setContentViewController:controller.get()]; [m_popover setBehavior:NSPopoverBehaviorTransient]; [m_popover setAnimates:NO]; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209051] tags/Safari-602.3.12.0.1/
Title: [209051] tags/Safari-602.3.12.0.1/ Revision 209051 Author bshaf...@apple.com Date 2016-11-28 17:26:14 -0800 (Mon, 28 Nov 2016) Log Message New tag. Added Paths tags/Safari-602.3.12.0.1/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209053] branches/safari-602.3.12.0-branch/Source
Title: [209053] branches/safari-602.3.12.0-branch/Source Revision 209053 Author bshaf...@apple.com Date 2016-11-28 17:53:25 -0800 (Mon, 28 Nov 2016) Log Message Versioning. Modified Paths branches/safari-602.3.12.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig branches/safari-602.3.12.0-branch/Source/WebCore/Configurations/Version.xcconfig branches/safari-602.3.12.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig branches/safari-602.3.12.0-branch/Source/WebKit/mac/Configurations/Version.xcconfig branches/safari-602.3.12.0-branch/Source/WebKit2/Configurations/Version.xcconfig Diff Modified: branches/safari-602.3.12.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig (209052 => 209053) --- branches/safari-602.3.12.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2016-11-29 01:32:24 UTC (rev 209052) +++ branches/safari-602.3.12.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2016-11-29 01:53:25 UTC (rev 209053) @@ -25,7 +25,7 @@ MINOR_VERSION = 3; TINY_VERSION = 12; MICRO_VERSION = 0; -NANO_VERSION = 1; +NANO_VERSION = 2; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. Modified: branches/safari-602.3.12.0-branch/Source/WebCore/Configurations/Version.xcconfig (209052 => 209053) --- branches/safari-602.3.12.0-branch/Source/WebCore/Configurations/Version.xcconfig 2016-11-29 01:32:24 UTC (rev 209052) +++ branches/safari-602.3.12.0-branch/Source/WebCore/Configurations/Version.xcconfig 2016-11-29 01:53:25 UTC (rev 209053) @@ -25,7 +25,7 @@ MINOR_VERSION = 3; TINY_VERSION = 12; MICRO_VERSION = 0; -NANO_VERSION = 1; +NANO_VERSION = 2; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. Modified: branches/safari-602.3.12.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (209052 => 209053) --- branches/safari-602.3.12.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2016-11-29 01:32:24 UTC (rev 209052) +++ branches/safari-602.3.12.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2016-11-29 01:53:25 UTC (rev 209053) @@ -2,7 +2,7 @@ MINOR_VERSION = 3; TINY_VERSION = 12; MICRO_VERSION = 0; -NANO_VERSION = 1; +NANO_VERSION = 2; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The system version prefix is based on the current system version. Modified: branches/safari-602.3.12.0-branch/Source/WebKit/mac/Configurations/Version.xcconfig (209052 => 209053) --- branches/safari-602.3.12.0-branch/Source/WebKit/mac/Configurations/Version.xcconfig 2016-11-29 01:32:24 UTC (rev 209052) +++ branches/safari-602.3.12.0-branch/Source/WebKit/mac/Configurations/Version.xcconfig 2016-11-29 01:53:25 UTC (rev 209053) @@ -25,7 +25,7 @@ MINOR_VERSION = 3; TINY_VERSION = 12; MICRO_VERSION = 0; -NANO_VERSION = 1; +NANO_VERSION = 2; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. Modified: branches/safari-602.3.12.0-branch/Source/WebKit2/Configurations/Version.xcconfig (209052 => 209053) --- branches/safari-602.3.12.0-branch/Source/WebKit2/Configurations/Version.xcconfig 2016-11-29 01:32:24 UTC (rev 209052) +++ branches/safari-602.3.12.0-branch/Source/WebKit2/Configurations/Version.xcconfig 2016-11-29 01:53:25 UTC (rev 209053) @@ -25,7 +25,7 @@ MINOR_VERSION = 3; TINY_VERSION = 12; MICRO_VERSION = 0; -NANO_VERSION = 1; +NANO_VERSION = 2; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209031] trunk/Source/JavaScriptCore
Title: [209031] trunk/Source/_javascript_Core Revision 209031 Author mark@apple.com Date 2016-11-28 15:30:59 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in runtime/JSGenericTypedArrayView* files. https://bugs.webkit.org/show_bug.cgi?id=165022 Reviewed by Saam Barati. * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView::set): (JSC::JSGenericTypedArrayView::defineOwnProperty): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewConstructorInlines.h trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewInlines.h trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewPrototypeFunctions.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209030 => 209031) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:23:40 UTC (rev 209030) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:30:59 UTC (rev 209031) @@ -1,5 +1,26 @@ 2016-11-28 Mark Lam +Fix exception scope verification failures in runtime/JSGenericTypedArrayView* files. +https://bugs.webkit.org/show_bug.cgi?id=165022 + +Reviewed by Saam Barati. + +* runtime/JSGenericTypedArrayViewConstructorInlines.h: +(JSC::constructGenericTypedArrayViewFromIterator): +(JSC::constructGenericTypedArrayViewWithArguments): +(JSC::constructGenericTypedArrayView): +* runtime/JSGenericTypedArrayViewInlines.h: +(JSC::JSGenericTypedArrayView::set): +(JSC::JSGenericTypedArrayView::defineOwnProperty): +* runtime/JSGenericTypedArrayViewPrototypeFunctions.h: +(JSC::speciesConstruct): +(JSC::genericTypedArrayViewProtoFuncSet): +(JSC::genericTypedArrayViewProtoFuncJoin): +(JSC::genericTypedArrayViewProtoFuncSlice): +(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): + +2016-11-28 Mark Lam + Fix exception scope verification failures in runtime/Operations.cpp/h. https://bugs.webkit.org/show_bug.cgi?id=165046 Modified: trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewConstructorInlines.h (209030 => 209031) --- trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewConstructorInlines.h 2016-11-28 23:23:40 UTC (rev 209030) +++ trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewConstructorInlines.h 2016-11-28 23:30:59 UTC (rev 209031) @@ -100,14 +100,15 @@ } ViewClass* result = ViewClass::createUninitialized(exec, structure, storage.size()); -if (!result) -RETURN_IF_EXCEPTION(scope, nullptr); +ASSERT(!!scope.exception() == !result); +if (UNLIKELY(!result)) +return nullptr; for (unsigned i = 0; i < storage.size(); ++i) { -if (!result->setIndex(exec, i, storage.at(i))) { -ASSERT(scope.exception()); +bool success = result->setIndex(exec, i, storage.at(i)); +ASSERT(scope.exception() || success); +if (!success) return nullptr; -} } return result; @@ -133,6 +134,7 @@ length = (buffer->byteLength() - offset) / ViewClass::elementSize; } +scope.release(); return ViewClass::create(exec, structure, buffer, offset, length); } ASSERT(!offset && !lengthOpt); @@ -154,6 +156,7 @@ // So we use VMInquiry. And purge the opaque object cases (proxy and namespace object) by isTaintedByOpaqueObject() guard. PropertySlot lengthSlot(object, PropertySlot::InternalMethodType::VMInquiry); object->getPropertySlot(exec, vm.propertyNames->length, lengthSlot); +RETURN_IF_EXCEPTION(scope, nullptr); JSValue iteratorFunc = object->get(exec, vm.propertyNames->iteratorSymbol); RETURN_IF_EXCEPTION(scope, nullptr); @@ -178,6 +181,7 @@ JSValue iterator = call(exec, iteratorFunc, callType, callData, object, arguments); RETURN_IF_EXCEPTION(scope, nullptr); +scope.release(); return constructGenericTypedArrayViewFromIterator(exec, structure, iterator); } @@ -187,11 +191,11 @@ ViewClass* result = ViewClass::createUninitialized(exec, structure, length); -if (!result) { -ASSERT(scope.exception()); +ASSERT(!!scope.exception() == !result); +if (UNLIKELY(!result)) return
[webkit-changes] [209045] trunk/Source/WebCore
Title: [209045] trunk/Source/WebCore Revision 209045 Author bda...@apple.com Date 2016-11-28 16:14:53 -0800 (Mon, 28 Nov 2016) Log Message Blacklist Netflix for TouchBar support https://bugs.webkit.org/show_bug.cgi?id=165104 -and corresponding- rdar://problem/29404778 Reviewed by Tim Horton. This patch moves the algorithm to bestMediaElementForShowingPlaybackControlsManager() so that Now Playing can also use it. * html/HTMLMediaElement.cpp: (WebCore::needsPlaybackControlsManagerQuirk): (WebCore::HTMLMediaElement::bestMediaElementForShowingPlaybackControlsManager): (WebCore::HTMLMediaElement::updatePlaybackControlsManager): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLMediaElement.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (209044 => 209045) --- trunk/Source/WebCore/ChangeLog 2016-11-28 23:58:06 UTC (rev 209044) +++ trunk/Source/WebCore/ChangeLog 2016-11-29 00:14:53 UTC (rev 209045) @@ -1,3 +1,20 @@ +2016-11-28 Beth Dakin+ +Blacklist Netflix for TouchBar support +https://bugs.webkit.org/show_bug.cgi?id=165104 +-and corresponding- +rdar://problem/29404778 + +Reviewed by Tim Horton. + +This patch moves the algorithm to +bestMediaElementForShowingPlaybackControlsManager() so that Now Playing can also +use it. +* html/HTMLMediaElement.cpp: +(WebCore::needsPlaybackControlsManagerQuirk): +(WebCore::HTMLMediaElement::bestMediaElementForShowingPlaybackControlsManager): +(WebCore::HTMLMediaElement::updatePlaybackControlsManager): + 2016-11-28 Mark Lam Fix exception scope verification failures in more miscellaneous files. Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (209044 => 209045) --- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-28 23:58:06 UTC (rev 209044) +++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-29 00:14:53 UTC (rev 209045) @@ -567,6 +567,15 @@ updatePlaybackControlsManager(); } +static bool needsPlaybackControlsManagerQuirk(Page& page) +{ +if (!page.settings().needsSiteSpecificQuirks()) +return false; + +String host = page.mainFrame().document()->url().host(); +return equalLettersIgnoringASCIICase(host, "www.netflix.com") || host.endsWithIgnoringASCIICase(".netflix.com"); +} + HTMLMediaElement* HTMLMediaElement::bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose purpose) { auto allSessions = PlatformMediaSessionManager::sharedManager().currentSessionsMatching([] (const PlatformMediaSession& session) { @@ -591,7 +600,15 @@ if (!strongestSessionCandidate.isVisibleInViewportOrFullscreen && !strongestSessionCandidate.isPlayingAudio && atLeastOneNonCandidateMayBeConfusedForMainContent) return nullptr; -return >element(); +HTMLMediaElement* strongestElementCandidate = >element(); +if (strongestElementCandidate) { +if (Page* page = strongestElementCandidate->document().page()) { +if (needsPlaybackControlsManagerQuirk(*page)) +return nullptr; +} +} + +return strongestElementCandidate; } void HTMLMediaElement::registerWithDocument(Document& document) @@ -7139,15 +7156,6 @@ return renderer && renderer->visibleInViewportState() == RenderElement::VisibleInViewport; } -static bool needsPlaybackControlsManagerQuirk(bool needsQuirks, const URL& url) -{ -if (!needsQuirks) -return false; - -String host = url.host(); -return equalLettersIgnoringASCIICase(host, "www.netflix.com"); -} - void HTMLMediaElement::updatePlaybackControlsManager() { Page* page = document().page(); @@ -7154,11 +7162,8 @@ if (!page) return; -auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager); -bool quirkDisablesPlaybackControlsManager = needsPlaybackControlsManagerQuirk(page->settings().needsSiteSpecificQuirks(), page->mainFrame().document()->url()); - // FIXME: Ensure that the renderer here should be up to date. -if (bestMediaElement && !quirkDisablesPlaybackControlsManager) +if (auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager)) page->chrome().client().setUpPlaybackControlsManager(*bestMediaElement); else page->chrome().client().clearPlaybackControlsManager(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209048] trunk/Source/WebCore
Title: [209048] trunk/Source/WebCore Revision 209048 Author wei...@apple.com Date 2016-11-28 17:03:48 -0800 (Mon, 28 Nov 2016) Log Message Make CanvasRenderingContext2D use WebIDL unions / Variants for createPattern and drawImage https://bugs.webkit.org/show_bug.cgi?id=165086 Reviewed by Darin Adler. * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::size): Add overloads of size for each type of CanvasSource. (WebCore::CanvasRenderingContext2D::drawImage): (WebCore::CanvasRenderingContext2D::createPattern): * html/canvas/CanvasRenderingContext2D.h: * html/canvas/CanvasRenderingContext2D.idl: Use variants to reduce code duplication and match spec language in drawImage and createPattern. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.h trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.idl Diff Modified: trunk/Source/WebCore/ChangeLog (209047 => 209048) --- trunk/Source/WebCore/ChangeLog 2016-11-29 00:23:07 UTC (rev 209047) +++ trunk/Source/WebCore/ChangeLog 2016-11-29 01:03:48 UTC (rev 209048) @@ -1,3 +1,19 @@ +2016-11-27 Sam Weinig+ +Make CanvasRenderingContext2D use WebIDL unions / Variants for createPattern and drawImage +https://bugs.webkit.org/show_bug.cgi?id=165086 + +Reviewed by Darin Adler. + +* html/canvas/CanvasRenderingContext2D.cpp: +(WebCore::size): +Add overloads of size for each type of CanvasSource. +(WebCore::CanvasRenderingContext2D::drawImage): +(WebCore::CanvasRenderingContext2D::createPattern): +* html/canvas/CanvasRenderingContext2D.h: +* html/canvas/CanvasRenderingContext2D.idl: +Use variants to reduce code duplication and match spec language in drawImage and createPattern. + 2016-11-28 Beth Dakin Blacklist Netflix for TouchBar support Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp (209047 => 209048) --- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp 2016-11-29 00:23:07 UTC (rev 209047) +++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp 2016-11-29 01:03:48 UTC (rev 209048) @@ -1318,7 +1318,7 @@ ImageSizeBeforeDevicePixelRatio }; -static LayoutSize size(HTMLImageElement& imageElement, ImageSizeType sizeType) +static LayoutSize size(HTMLImageElement& imageElement, ImageSizeType sizeType = ImageSizeBeforeDevicePixelRatio) { LayoutSize size; if (CachedImage* cachedImage = imageElement.cachedImage()) { @@ -1330,6 +1330,11 @@ return size; } +static FloatSize size(HTMLCanvasElement& canvasElement) +{ +return FloatSize(canvasElement.size()); +} + #if ENABLE(VIDEO) static FloatSize size(HTMLVideoElement& video) { @@ -1347,21 +1352,38 @@ std::max(rect.height(), -rect.height())); } -ExceptionOr CanvasRenderingContext2D::drawImage(HTMLImageElement& imageElement, float x, float y) +ExceptionOr CanvasRenderingContext2D::drawImage(CanvasImageSource&& image, float dx, float dy) { -LayoutSize destRectSize = size(imageElement, ImageSizeAfterDevicePixelRatio); -return drawImage(imageElement, x, y, destRectSize.width(), destRectSize.height()); +return WTF::switchOn(image, +[&] (RefPtr& imageElement) -> ExceptionOr { +LayoutSize destRectSize = size(*imageElement, ImageSizeAfterDevicePixelRatio); +LayoutSize sourceRectSize = size(*imageElement, ImageSizeBeforeDevicePixelRatio); +return this->drawImage(*imageElement, FloatRect { 0, 0, sourceRectSize.width(), sourceRectSize.height() }, FloatRect { dx, dy, destRectSize.width(), destRectSize.height() }); +}, +[&] (auto& element) -> ExceptionOr { +FloatSize elementSize = size(*element); +return this->drawImage(*element, FloatRect { 0, 0, elementSize.width(), elementSize.height() }, FloatRect { dx, dy, elementSize.width(), elementSize.height() }); +} +); } -ExceptionOr CanvasRenderingContext2D::drawImage(HTMLImageElement& imageElement, float x, float y, float width, float height) +ExceptionOr CanvasRenderingContext2D::drawImage(CanvasImageSource&& image, float dx, float dy, float dw, float dh) { -LayoutSize sourceRectSize = size(imageElement, ImageSizeBeforeDevicePixelRatio); -return drawImage(imageElement, FloatRect { 0, 0, sourceRectSize.width(), sourceRectSize.height() }, FloatRect { x, y, width, height }); +return WTF::switchOn(image, +[&] (auto& element) -> ExceptionOr { +FloatSize elementSize = size(*element); +return this->drawImage(*element, FloatRect { 0, 0, elementSize.width(), elementSize.height() }, FloatRect { dx, dy, dw, dh }); +} +); } -ExceptionOr CanvasRenderingContext2D::drawImage(HTMLImageElement& imageElement, float sx, float sy, float sw, float sh, float dx, float dy, float dw, float
[webkit-changes] [209037] trunk/Source/JavaScriptCore
Title: [209037] trunk/Source/_javascript_Core Revision 209037 Author mark@apple.com Date 2016-11-28 15:53:33 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in IteratorOperations.h. https://bugs.webkit.org/show_bug.cgi?id=165015 Reviewed by Saam Barati. * runtime/IteratorOperations.h: (JSC::forEachInIterable): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/IteratorOperations.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209036 => 209037) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:50:16 UTC (rev 209036) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:53:33 UTC (rev 209037) @@ -1,5 +1,15 @@ 2016-11-28 Mark Lam +Fix exception scope verification failures in IteratorOperations.h. +https://bugs.webkit.org/show_bug.cgi?id=165015 + +Reviewed by Saam Barati. + +* runtime/IteratorOperations.h: +(JSC::forEachInIterable): + +2016-11-28 Mark Lam + Fix exception scope verification failures in JSArray* files. https://bugs.webkit.org/show_bug.cgi?id=165016 Modified: trunk/Source/_javascript_Core/runtime/IteratorOperations.h (209036 => 209037) --- trunk/Source/_javascript_Core/runtime/IteratorOperations.h 2016-11-28 23:50:16 UTC (rev 209036) +++ trunk/Source/_javascript_Core/runtime/IteratorOperations.h 2016-11-28 23:53:33 UTC (rev 209037) @@ -54,7 +54,7 @@ RETURN_IF_EXCEPTION(scope, void()); while (true) { JSValue next = iteratorStep(exec, iterator); -if (next.isFalse() || UNLIKELY(scope.exception())) +if (UNLIKELY(scope.exception()) || next.isFalse()) return; JSValue nextValue = iteratorValue(exec, next); @@ -62,6 +62,7 @@ callback(vm, exec, nextValue); if (UNLIKELY(scope.exception())) { +scope.release(); iteratorClose(exec, iterator); return; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209038] branches/safari-602.3.12.0-branch/
Title: [209038] branches/safari-602.3.12.0-branch/ Revision 209038 Author bshaf...@apple.com Date 2016-11-28 15:54:02 -0800 (Mon, 28 Nov 2016) Log Message New Branch. Added Paths branches/safari-602.3.12.0-branch/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209033] tags/Safari-603.1.13.1/
Title: [209033] tags/Safari-603.1.13.1/ Revision 209033 Author matthew_han...@apple.com Date 2016-11-28 15:38:39 -0800 (Mon, 28 Nov 2016) Log Message Remove tag. Removed Paths tags/Safari-603.1.13.1/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209052] tags/Safari-603.1.13.1/Source/WebKit2
Title: [209052] tags/Safari-603.1.13.1/Source/WebKit2 Revision 209052 Author bshaf...@apple.com Date 2016-11-28 17:32:24 -0800 (Mon, 28 Nov 2016) Log Message Roll out r208835. rdar://problem/29277451 Modified Paths tags/Safari-603.1.13.1/Source/WebKit2/ChangeLog tags/Safari-603.1.13.1/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj Diff Modified: tags/Safari-603.1.13.1/Source/WebKit2/ChangeLog (209051 => 209052) --- tags/Safari-603.1.13.1/Source/WebKit2/ChangeLog 2016-11-29 01:26:14 UTC (rev 209051) +++ tags/Safari-603.1.13.1/Source/WebKit2/ChangeLog 2016-11-29 01:32:24 UTC (rev 209052) @@ -1,3 +1,7 @@ +2016-11-28 Babak Shafiei+ +Roll out r208835. rdar://problem/29277451 + 2016-11-28 Matthew Hanson Merge r208835. rdar://problem/29277451 Modified: tags/Safari-603.1.13.1/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (209051 => 209052) --- tags/Safari-603.1.13.1/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2016-11-29 01:26:14 UTC (rev 209051) +++ tags/Safari-603.1.13.1/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2016-11-29 01:32:24 UTC (rev 209052) @@ -1083,7 +1083,6 @@ 75A8D2D6187D1C0E00C39C9E /* WKWebsiteDataStoreInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 75A8D2D4187D1C0100C39C9E /* WKWebsiteDataStoreInternal.h */; }; 762B748D120BC75C00819339 /* WKPreferencesRefPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 762B7484120BBA2D00819339 /* WKPreferencesRefPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; 7A5E394A1D5BD8BE00B4B7CE /* com.macromedia.Flash Player ESR.plugin.sb in Resources */ = {isa = PBXBuildFile; fileRef = 7A5E39491D5BD8A700B4B7CE /* com.macromedia.Flash Player ESR.plugin.sb */; }; - 7A772C8D1DDD4A25000F34F1 /* com.apple.WebKit.plugin-common.sb in Resources */ = {isa = PBXBuildFile; fileRef = 7A1506721DD56298001F4B58 /* com.apple.WebKit.plugin-common.sb */; }; 7A791EFA1C7CFCF100C4C52B /* WebResourceLoadStatisticsStoreMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A791EF91C7CFB3700C4C52B /* WebResourceLoadStatisticsStoreMessageReceiver.cpp */; }; 7A791EFB1C7CFD0100C4C52B /* WebResourceLoadStatisticsStoreMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A791EF81C7CFB1000C4C52B /* WebResourceLoadStatisticsStoreMessages.h */; }; 7A791EFC1C7D08C500C4C52B /* WebResourceLoadStatisticsStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A9CD8C01C77984900D9F6C7 /* WebResourceLoadStatisticsStore.cpp */; }; @@ -3259,7 +3258,7 @@ 7CAB93791D459E4B0070F540 /* NetworkCacheCodersCocoa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkCacheCodersCocoa.cpp; sourceTree = ""; }; 7CB16FE21724B9B5007A0A95 /* com.apple.ist.ds.appleconnect.webplugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = com.apple.ist.ds.appleconnect.webplugin.sb; sourceTree = ""; }; 7CB16FE31724B9B5007A0A95 /* com.apple.QuickTime Plugin.plugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "com.apple.QuickTime Plugin.plugin.sb"; sourceTree = ""; }; - 7CB16FE41724B9B5007A0A95 /* com.apple.WebKit.plugin-common.sb.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "com.apple.WebKit.plugin-common.sb.in"; sourceTree = ""; }; + 7CB16FE41724B9B5007A0A95 /* com.apple.WebKit.plugin-common.sb.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "com.apple.WebKit.plugin-common.sb.in"; sourceTree = ""; }; 7CB16FE51724B9B5007A0A95 /* com.macromedia.Flash Player.plugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "com.macromedia.Flash Player.plugin.sb"; sourceTree = ""; }; 7CB16FE61724B9B5007A0A95 /* com.microsoft.SilverlightPlugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = com.microsoft.SilverlightPlugin.sb; sourceTree = ""; }; 7CB16FE71724B9B5007A0A95 /* com.oracle.java.JavaAppletPlugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = com.oracle.java.JavaAppletPlugin.sb; sourceTree = ""; }; @@ -8692,7 +8691,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( -7A772C8D1DDD4A25000F34F1 /* com.apple.WebKit.plugin-common.sb in Resources */, E115C716190F8A2500ECC516 /* com.apple.WebKit.Databases.sb in Resources */, E17AE2C316B9C63A001C42F1 /* com.apple.WebKit.NetworkProcess.sb in Resources */, E11D35AE16B63D1B006D23D7 /* com.apple.WebProcess.sb in Resources */, ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209035] tags/Safari-603.1.13.1/
Title: [209035] tags/Safari-603.1.13.1/ Revision 209035 Author matthew_han...@apple.com Date 2016-11-28 15:42:25 -0800 (Mon, 28 Nov 2016) Log Message New tag. Added Paths tags/Safari-603.1.13.1/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209036] trunk/Source/JavaScriptCore
Title: [209036] trunk/Source/_javascript_Core Revision 209036 Author mark@apple.com Date 2016-11-28 15:50:16 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in JSArray* files. https://bugs.webkit.org/show_bug.cgi?id=165016 Reviewed by Saam Barati. * runtime/JSArray.cpp: (JSC::JSArray::defineOwnProperty): (JSC::JSArray::put): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::unshiftCountWithAnyIndexingType): * runtime/JSArrayBuffer.cpp: (JSC::JSArrayBuffer::put): (JSC::JSArrayBuffer::defineOwnProperty): * runtime/JSArrayInlines.h: (JSC::getLength): (JSC::toLength): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSArray.cpp trunk/Source/_javascript_Core/runtime/JSArrayBuffer.cpp trunk/Source/_javascript_Core/runtime/JSArrayInlines.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209035 => 209036) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:42:25 UTC (rev 209035) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:50:16 UTC (rev 209036) @@ -1,5 +1,26 @@ 2016-11-28 Mark Lam +Fix exception scope verification failures in JSArray* files. +https://bugs.webkit.org/show_bug.cgi?id=165016 + +Reviewed by Saam Barati. + +* runtime/JSArray.cpp: +(JSC::JSArray::defineOwnProperty): +(JSC::JSArray::put): +(JSC::JSArray::setLength): +(JSC::JSArray::pop): +(JSC::JSArray::push): +(JSC::JSArray::unshiftCountWithAnyIndexingType): +* runtime/JSArrayBuffer.cpp: +(JSC::JSArrayBuffer::put): +(JSC::JSArrayBuffer::defineOwnProperty): +* runtime/JSArrayInlines.h: +(JSC::getLength): +(JSC::toLength): + +2016-11-28 Mark Lam + Fix exception scope verification failures in JSDataView.cpp. https://bugs.webkit.org/show_bug.cgi?id=165020 Modified: trunk/Source/_javascript_Core/runtime/JSArray.cpp (209035 => 209036) --- trunk/Source/_javascript_Core/runtime/JSArray.cpp 2016-11-28 23:42:25 UTC (rev 209035) +++ trunk/Source/_javascript_Core/runtime/JSArray.cpp 2016-11-28 23:50:16 UTC (rev 209036) @@ -186,7 +186,9 @@ // l.i. Set oldLen to oldLen – 1. // l.ii. Let deleteSucceeded be the result of calling the [[Delete]] internal method of A passing ToString(oldLen) and false as arguments. // l.iii. If deleteSucceeded is false, then -if (!array->setLength(exec, newLen, throwException)) { +bool success = array->setLength(exec, newLen, throwException); +ASSERT(!scope.exception() || !success); +if (!success) { // 1. Set newLenDesc.[[Value] to oldLen+1. // 2. If newWritable is false, set newLenDesc.[[Writable] to false. // 3. Call the default [[DefineOwnProperty]] internal method (8.12.9) on A passing "length", newLenDesc, and false as arguments. @@ -220,9 +222,11 @@ // e.i. Set oldLenDesc.[[Value]] to index + 1. // e.ii. Call the default [[DefineOwnProperty]] internal method (8.12.9) on A passing "length", oldLenDesc, and false as arguments. This call will always return true. // f. Return true. +scope.release(); return array->defineOwnIndexedProperty(exec, index, descriptor, throwException); } +scope.release(); return array->JSObject::defineOwnNonIndexProperty(exec, propertyName, descriptor, throwException); } @@ -246,18 +250,23 @@ JSArray* thisObject = jsCast(cell); -if (UNLIKELY(isThisValueAltered(slot, thisObject))) +if (UNLIKELY(isThisValueAltered(slot, thisObject))) { +scope.release(); return ordinarySetSlow(exec, thisObject, propertyName, value, slot.thisValue(), slot.isStrictMode()); +} if (propertyName == exec->propertyNames().length) { unsigned newLength = value.toUInt32(exec); +RETURN_IF_EXCEPTION(scope, false); if (value.toNumber(exec) != static_cast(newLength)) { throwException(exec, scope, createRangeError(exec, ASCIILiteral("Invalid array length"))); return false; } +scope.release(); return thisObject->setLength(exec, newLength, slot.isStrictMode()); } +scope.release(); return JSObject::put(thisObject, exec, propertyName, value, slot); } @@ -517,6 +526,7 @@ if (!newLength) return true; if (newLength >= MIN_SPARSE_ARRAY_INDEX) { +scope.release(); return setLengthWithArrayStorage( exec, newLength, throwException, ensureArrayStorage(vm)); @@ -533,6 +543,7 @@ if (newLength >= MAX_ARRAY_INDEX // This case ensures that we can do fast push. || (newLength >= MIN_SPARSE_ARRAY_INDEX && !isDenseEnoughForVector(newLength, countElements( { +
[webkit-changes] [209042] branches/safari-602.3.12.0-branch/Source
Title: [209042] branches/safari-602.3.12.0-branch/Source Revision 209042 Author bshaf...@apple.com Date 2016-11-28 15:56:04 -0800 (Mon, 28 Nov 2016) Log Message Versioning. Modified Paths branches/safari-602.3.12.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig branches/safari-602.3.12.0-branch/Source/WebCore/Configurations/Version.xcconfig branches/safari-602.3.12.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig branches/safari-602.3.12.0-branch/Source/WebKit/mac/Configurations/Version.xcconfig branches/safari-602.3.12.0-branch/Source/WebKit2/Configurations/Version.xcconfig Diff Modified: branches/safari-602.3.12.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig (209041 => 209042) --- branches/safari-602.3.12.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2016-11-28 23:55:37 UTC (rev 209041) +++ branches/safari-602.3.12.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2016-11-28 23:56:04 UTC (rev 209042) @@ -25,8 +25,8 @@ MINOR_VERSION = 3; TINY_VERSION = 12; MICRO_VERSION = 0; -NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +NANO_VERSION = 1; +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-602.3.12.0-branch/Source/WebCore/Configurations/Version.xcconfig (209041 => 209042) --- branches/safari-602.3.12.0-branch/Source/WebCore/Configurations/Version.xcconfig 2016-11-28 23:55:37 UTC (rev 209041) +++ branches/safari-602.3.12.0-branch/Source/WebCore/Configurations/Version.xcconfig 2016-11-28 23:56:04 UTC (rev 209042) @@ -25,8 +25,8 @@ MINOR_VERSION = 3; TINY_VERSION = 12; MICRO_VERSION = 0; -NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +NANO_VERSION = 1; +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-602.3.12.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (209041 => 209042) --- branches/safari-602.3.12.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2016-11-28 23:55:37 UTC (rev 209041) +++ branches/safari-602.3.12.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2016-11-28 23:56:04 UTC (rev 209042) @@ -2,8 +2,8 @@ MINOR_VERSION = 3; TINY_VERSION = 12; MICRO_VERSION = 0; -NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +NANO_VERSION = 1; +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The system version prefix is based on the current system version. SYSTEM_VERSION_PREFIX[sdk=iphone*] = 8; Modified: branches/safari-602.3.12.0-branch/Source/WebKit/mac/Configurations/Version.xcconfig (209041 => 209042) --- branches/safari-602.3.12.0-branch/Source/WebKit/mac/Configurations/Version.xcconfig 2016-11-28 23:55:37 UTC (rev 209041) +++ branches/safari-602.3.12.0-branch/Source/WebKit/mac/Configurations/Version.xcconfig 2016-11-28 23:56:04 UTC (rev 209042) @@ -25,8 +25,8 @@ MINOR_VERSION = 3; TINY_VERSION = 12; MICRO_VERSION = 0; -NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +NANO_VERSION = 1; +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-602.3.12.0-branch/Source/WebKit2/Configurations/Version.xcconfig (209041 => 209042) --- branches/safari-602.3.12.0-branch/Source/WebKit2/Configurations/Version.xcconfig 2016-11-28 23:55:37 UTC (rev 209041) +++ branches/safari-602.3.12.0-branch/Source/WebKit2/Configurations/Version.xcconfig 2016-11-28 23:56:04 UTC (rev 209042) @@ -25,8 +25,8 @@ MINOR_VERSION = 3; TINY_VERSION = 12; MICRO_VERSION = 0; -NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +NANO_VERSION = 1; +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209043] trunk/Source/JavaScriptCore
Title: [209043] trunk/Source/_javascript_Core Revision 209043 Author mark@apple.com Date 2016-11-28 15:56:06 -0800 (Mon, 28 Nov 2016) Log Message Fix exception scope verification failures in runtime/Intl* files. https://bugs.webkit.org/show_bug.cgi?id=165014 Reviewed by Saam Barati. * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::lookupSupportedLocales): * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/IntlCollatorConstructor.cpp trunk/Source/_javascript_Core/runtime/IntlCollatorPrototype.cpp trunk/Source/_javascript_Core/runtime/IntlDateTimeFormatConstructor.cpp trunk/Source/_javascript_Core/runtime/IntlDateTimeFormatPrototype.cpp trunk/Source/_javascript_Core/runtime/IntlNumberFormatConstructor.cpp trunk/Source/_javascript_Core/runtime/IntlNumberFormatPrototype.cpp trunk/Source/_javascript_Core/runtime/IntlObject.cpp trunk/Source/_javascript_Core/runtime/IntlObjectInlines.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (209042 => 209043) --- trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:56:04 UTC (rev 209042) +++ trunk/Source/_javascript_Core/ChangeLog 2016-11-28 23:56:06 UTC (rev 209043) @@ -1,3 +1,34 @@ +2016-11-21 Mark Lam + +Fix exception scope verification failures in runtime/Intl* files. +https://bugs.webkit.org/show_bug.cgi?id=165014 + +Reviewed by Saam Barati. + +* runtime/IntlCollatorConstructor.cpp: +(JSC::constructIntlCollator): +(JSC::IntlCollatorConstructorFuncSupportedLocalesOf): +* runtime/IntlCollatorPrototype.cpp: +(JSC::IntlCollatorPrototypeFuncResolvedOptions): +* runtime/IntlDateTimeFormatConstructor.cpp: +(JSC::constructIntlDateTimeFormat): +(JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): +* runtime/IntlDateTimeFormatPrototype.cpp: +(JSC::IntlDateTimeFormatFuncFormatDateTime): +(JSC::IntlDateTimeFormatPrototypeGetterFormat): +(JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): +* runtime/IntlNumberFormatConstructor.cpp: +(JSC::constructIntlNumberFormat): +(JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): +* runtime/IntlNumberFormatPrototype.cpp: +(JSC::IntlNumberFormatFuncFormatNumber): +(JSC::IntlNumberFormatPrototypeGetterFormat): +(JSC::IntlNumberFormatPrototypeFuncResolvedOptions): +* runtime/IntlObject.cpp: +(JSC::lookupSupportedLocales): +* runtime/IntlObjectInlines.h: +(JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): + 2016-11-28 Mark Lam Fix exception scope verification failures in IteratorOperations.h. Modified: trunk/Source/_javascript_Core/runtime/IntlCollatorConstructor.cpp (209042 => 209043) --- trunk/Source/_javascript_Core/runtime/IntlCollatorConstructor.cpp 2016-11-28 23:56:04 UTC (rev 209042) +++ trunk/Source/_javascript_Core/runtime/IntlCollatorConstructor.cpp 2016-11-28 23:56:06 UTC (rev 209043) @@ -96,6 +96,7 @@ ASSERT(collator); // 4. Return InitializeCollator(collator, locales, options). +scope.release(); collator->initializeCollator(*state, state->argument(0), state->argument(1)); return JSValue::encode(collator); } @@ -148,6 +149,7 @@ // 3. Return SupportedLocales(%Collator%.[[availableLocales]], requestedLocales, options). JSGlobalObject* globalObject = state->callee()->globalObject(); +scope.release(); return JSValue::encode(supportedLocales(*state, globalObject->intlCollatorAvailableLocales(), requestedLocales, state->argument(1))); } Modified: trunk/Source/_javascript_Core/runtime/IntlCollatorPrototype.cpp (209042 => 209043) --- trunk/Source/_javascript_Core/runtime/IntlCollatorPrototype.cpp 2016-11-28 23:56:04 UTC (rev 209042) +++ trunk/Source/_javascript_Core/runtime/IntlCollatorPrototype.cpp 2016-11-28 23:56:06 UTC (rev 209043) @@ -145,6 +145,7 @@ if (!collator) return
[webkit-changes] [209039] tags/Safari-603.1.13.1/Source
Title: [209039] tags/Safari-603.1.13.1/Source Revision 209039 Author matthew_han...@apple.com Date 2016-11-28 15:55:32 -0800 (Mon, 28 Nov 2016) Log Message Versioning. Modified Paths tags/Safari-603.1.13.1/Source/_javascript_Core/Configurations/Version.xcconfig tags/Safari-603.1.13.1/Source/WebCore/Configurations/Version.xcconfig tags/Safari-603.1.13.1/Source/WebInspectorUI/Configurations/Version.xcconfig tags/Safari-603.1.13.1/Source/WebKit/mac/Configurations/Version.xcconfig tags/Safari-603.1.13.1/Source/WebKit2/Configurations/Version.xcconfig Diff Modified: tags/Safari-603.1.13.1/Source/_javascript_Core/Configurations/Version.xcconfig (209038 => 209039) --- tags/Safari-603.1.13.1/Source/_javascript_Core/Configurations/Version.xcconfig 2016-11-28 23:54:02 UTC (rev 209038) +++ tags/Safari-603.1.13.1/Source/_javascript_Core/Configurations/Version.xcconfig 2016-11-28 23:55:32 UTC (rev 209039) @@ -24,9 +24,9 @@ MAJOR_VERSION = 603; MINOR_VERSION = 1; TINY_VERSION = 13; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: tags/Safari-603.1.13.1/Source/WebCore/Configurations/Version.xcconfig (209038 => 209039) --- tags/Safari-603.1.13.1/Source/WebCore/Configurations/Version.xcconfig 2016-11-28 23:54:02 UTC (rev 209038) +++ tags/Safari-603.1.13.1/Source/WebCore/Configurations/Version.xcconfig 2016-11-28 23:55:32 UTC (rev 209039) @@ -24,9 +24,9 @@ MAJOR_VERSION = 603; MINOR_VERSION = 1; TINY_VERSION = 13; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: tags/Safari-603.1.13.1/Source/WebInspectorUI/Configurations/Version.xcconfig (209038 => 209039) --- tags/Safari-603.1.13.1/Source/WebInspectorUI/Configurations/Version.xcconfig 2016-11-28 23:54:02 UTC (rev 209038) +++ tags/Safari-603.1.13.1/Source/WebInspectorUI/Configurations/Version.xcconfig 2016-11-28 23:55:32 UTC (rev 209039) @@ -1,9 +1,9 @@ MAJOR_VERSION = 603; MINOR_VERSION = 1; TINY_VERSION = 13; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The system version prefix is based on the current system version. SYSTEM_VERSION_PREFIX[sdk=iphone*] = 8; Modified: tags/Safari-603.1.13.1/Source/WebKit/mac/Configurations/Version.xcconfig (209038 => 209039) --- tags/Safari-603.1.13.1/Source/WebKit/mac/Configurations/Version.xcconfig 2016-11-28 23:54:02 UTC (rev 209038) +++ tags/Safari-603.1.13.1/Source/WebKit/mac/Configurations/Version.xcconfig 2016-11-28 23:55:32 UTC (rev 209039) @@ -24,9 +24,9 @@ MAJOR_VERSION = 603; MINOR_VERSION = 1; TINY_VERSION = 13; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: tags/Safari-603.1.13.1/Source/WebKit2/Configurations/Version.xcconfig (209038 => 209039) --- tags/Safari-603.1.13.1/Source/WebKit2/Configurations/Version.xcconfig 2016-11-28 23:54:02 UTC (rev 209038) +++ tags/Safari-603.1.13.1/Source/WebKit2/Configurations/Version.xcconfig 2016-11-28 23:55:32 UTC (rev 209039) @@ -24,9 +24,9 @@ MAJOR_VERSION = 603; MINOR_VERSION = 1; TINY_VERSION = 13; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209046] branches/safari-602-branch/Source/WebCore
Title: [209046] branches/safari-602-branch/Source/WebCore Revision 209046 Author matthew_han...@apple.com Date 2016-11-28 16:22:43 -0800 (Mon, 28 Nov 2016) Log Message Merge r209045. rdar://problem/29404778 Modified Paths branches/safari-602-branch/Source/WebCore/ChangeLog branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp Diff Modified: branches/safari-602-branch/Source/WebCore/ChangeLog (209045 => 209046) --- branches/safari-602-branch/Source/WebCore/ChangeLog 2016-11-29 00:14:53 UTC (rev 209045) +++ branches/safari-602-branch/Source/WebCore/ChangeLog 2016-11-29 00:22:43 UTC (rev 209046) @@ -1,5 +1,26 @@ 2016-11-28 Matthew Hanson+Merge r209045. rdar://problem/29404778 + +2016-11-28 Beth Dakin + +Blacklist Netflix for TouchBar support +https://bugs.webkit.org/show_bug.cgi?id=165104 +-and corresponding- +rdar://problem/29404778 + +Reviewed by Tim Horton. + +This patch moves the algorithm to +bestMediaElementForShowingPlaybackControlsManager() so that Now Playing can also +use it. +* html/HTMLMediaElement.cpp: +(WebCore::needsPlaybackControlsManagerQuirk): +(WebCore::HTMLMediaElement::bestMediaElementForShowingPlaybackControlsManager): +(WebCore::HTMLMediaElement::updatePlaybackControlsManager): + +2016-11-28 Matthew Hanson + Merge r209013. rdar://problem/29404778 2016-11-28 Beth Dakin Modified: branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp (209045 => 209046) --- branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-29 00:14:53 UTC (rev 209045) +++ branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-29 00:22:43 UTC (rev 209046) @@ -631,6 +631,15 @@ updatePlaybackControlsManager(); } +static bool needsPlaybackControlsManagerQuirk(Page& page) +{ +if (!page.settings().needsSiteSpecificQuirks()) +return false; + +String host = page.mainFrame().document()->url().host(); +return equalLettersIgnoringASCIICase(host, "www.netflix.com") || host.endsWithIgnoringASCIICase(".netflix.com"); +} + HTMLMediaElement* HTMLMediaElement::bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose purpose) { auto allSessions = PlatformMediaSessionManager::sharedManager().currentSessionsMatching([] (const PlatformMediaSession& session) { @@ -655,7 +664,15 @@ if (!strongestSessionCandidate.isVisibleInViewportOrFullscreen && !strongestSessionCandidate.isPlayingAudio && atLeastOneNonCandidateMayBeConfusedForMainContent) return nullptr; -return >element(); +HTMLMediaElement* strongestElementCandidate = >element(); +if (strongestElementCandidate) { +if (Page* page = strongestElementCandidate->document().page()) { +if (needsPlaybackControlsManagerQuirk(*page)) +return nullptr; +} +} + +return strongestElementCandidate; } void HTMLMediaElement::registerWithDocument(Document& document) @@ -7347,15 +7364,6 @@ return renderer && renderer->visibleInViewportState() == RenderElement::VisibleInViewport; } -static bool needsPlaybackControlsManagerQuirk(bool needsQuirks, const URL& url) -{ -if (!needsQuirks) -return false; - -String host = url.host(); -return equalLettersIgnoringASCIICase(host, "www.netflix.com"); -} - void HTMLMediaElement::updatePlaybackControlsManager() { Page* page = document().page(); @@ -7362,11 +7370,8 @@ if (!page) return; -auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager); -bool quirkDisablesPlaybackControlsManager = needsPlaybackControlsManagerQuirk(page->settings().needsSiteSpecificQuirks(), page->mainFrame().document()->url()); - // FIXME: Ensure that the renderer here should be up to date. -if (bestMediaElement && !quirkDisablesPlaybackControlsManager) +if (auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager)) page->chrome().client().setUpPlaybackControlsManager(*bestMediaElement); else page->chrome().client().clearPlaybackControlsManager(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209047] branches/safari-602.3.12.0-branch/Source/WebCore
Title: [209047] branches/safari-602.3.12.0-branch/Source/WebCore Revision 209047 Author bshaf...@apple.com Date 2016-11-28 16:23:07 -0800 (Mon, 28 Nov 2016) Log Message Merge r209045. rdar://problem/29404778 Modified Paths branches/safari-602.3.12.0-branch/Source/WebCore/ChangeLog branches/safari-602.3.12.0-branch/Source/WebCore/html/HTMLMediaElement.cpp Diff Modified: branches/safari-602.3.12.0-branch/Source/WebCore/ChangeLog (209046 => 209047) --- branches/safari-602.3.12.0-branch/Source/WebCore/ChangeLog 2016-11-29 00:22:43 UTC (rev 209046) +++ branches/safari-602.3.12.0-branch/Source/WebCore/ChangeLog 2016-11-29 00:23:07 UTC (rev 209047) @@ -1,5 +1,26 @@ 2016-11-28 Babak Shafiei+Merge r209045. rdar://problem/29404778 + +2016-11-28 Beth Dakin + +Blacklist Netflix for TouchBar support +https://bugs.webkit.org/show_bug.cgi?id=165104 +-and corresponding- +rdar://problem/29404778 + +Reviewed by Tim Horton. + +This patch moves the algorithm to +bestMediaElementForShowingPlaybackControlsManager() so that Now Playing can also +use it. +* html/HTMLMediaElement.cpp: +(WebCore::needsPlaybackControlsManagerQuirk): +(WebCore::HTMLMediaElement::bestMediaElementForShowingPlaybackControlsManager): +(WebCore::HTMLMediaElement::updatePlaybackControlsManager): + +2016-11-28 Babak Shafiei + Merge r209013. rdar://problem/29404778 2016-11-28 Beth Dakin Modified: branches/safari-602.3.12.0-branch/Source/WebCore/html/HTMLMediaElement.cpp (209046 => 209047) --- branches/safari-602.3.12.0-branch/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-29 00:22:43 UTC (rev 209046) +++ branches/safari-602.3.12.0-branch/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-29 00:23:07 UTC (rev 209047) @@ -631,6 +631,15 @@ updatePlaybackControlsManager(); } +static bool needsPlaybackControlsManagerQuirk(Page& page) +{ +if (!page.settings().needsSiteSpecificQuirks()) +return false; + +String host = page.mainFrame().document()->url().host(); +return equalLettersIgnoringASCIICase(host, "www.netflix.com") || host.endsWithIgnoringASCIICase(".netflix.com"); +} + HTMLMediaElement* HTMLMediaElement::bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose purpose) { auto allSessions = PlatformMediaSessionManager::sharedManager().currentSessionsMatching([] (const PlatformMediaSession& session) { @@ -655,7 +664,15 @@ if (!strongestSessionCandidate.isVisibleInViewportOrFullscreen && !strongestSessionCandidate.isPlayingAudio && atLeastOneNonCandidateMayBeConfusedForMainContent) return nullptr; -return >element(); +HTMLMediaElement* strongestElementCandidate = >element(); +if (strongestElementCandidate) { +if (Page* page = strongestElementCandidate->document().page()) { +if (needsPlaybackControlsManagerQuirk(*page)) +return nullptr; +} +} + +return strongestElementCandidate; } void HTMLMediaElement::registerWithDocument(Document& document) @@ -7347,15 +7364,6 @@ return renderer && renderer->visibleInViewportState() == RenderElement::VisibleInViewport; } -static bool needsPlaybackControlsManagerQuirk(bool needsQuirks, const URL& url) -{ -if (!needsQuirks) -return false; - -String host = url.host(); -return equalLettersIgnoringASCIICase(host, "www.netflix.com"); -} - void HTMLMediaElement::updatePlaybackControlsManager() { Page* page = document().page(); @@ -7362,11 +7370,8 @@ if (!page) return; -auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager); -bool quirkDisablesPlaybackControlsManager = needsPlaybackControlsManagerQuirk(page->settings().needsSiteSpecificQuirks(), page->mainFrame().document()->url()); - // FIXME: Ensure that the renderer here should be up to date. -if (bestMediaElement && !quirkDisablesPlaybackControlsManager) +if (auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager)) page->chrome().client().setUpPlaybackControlsManager(*bestMediaElement); else page->chrome().client().clearPlaybackControlsManager(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209055] trunk/Source/WebKit2
Title: [209055] trunk/Source/WebKit2 Revision 209055 Author matthew_han...@apple.com Date 2016-11-28 18:20:20 -0800 (Mon, 28 Nov 2016) Log Message Roll r208589 back in. The rollout will be on the Safari-603.1.13.1 tag. rdar://problem/29277451 Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/Configurations/WebKit.xcconfig trunk/Source/WebKit2/DerivedSources.make trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj trunk/Source/WebKit2/WebProcess/com.apple.WebProcess.sb.in Added Paths trunk/Source/WebKit2/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in Removed Paths trunk/Source/WebKit2/Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb Diff Modified: trunk/Source/WebKit2/ChangeLog (209054 => 209055) --- trunk/Source/WebKit2/ChangeLog 2016-11-29 02:16:37 UTC (rev 209054) +++ trunk/Source/WebKit2/ChangeLog 2016-11-29 02:20:20 UTC (rev 209055) @@ -1,7 +1,3 @@ -2016-11-28 Matthew Hanson- -Roll out r208589. rdar://problem/29277451 - 2016-11-28 Ryan Haddad Unreviewed, rolling out r209008. Modified: trunk/Source/WebKit2/Configurations/WebKit.xcconfig (209054 => 209055) --- trunk/Source/WebKit2/Configurations/WebKit.xcconfig 2016-11-29 02:16:37 UTC (rev 209054) +++ trunk/Source/WebKit2/Configurations/WebKit.xcconfig 2016-11-29 02:20:20 UTC (rev 209055) @@ -52,7 +52,7 @@ SECTORDER_FLAGS_Production[sdk=iphoneos*] = -Wl,-order_file,$(SDKROOT)/AppleInternal/OrderFiles/WebKit.order; SECTORDER_FLAGS_Production[sdk=macosx*] = -Wl,-order_file,mac/WebKit2.order; -EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = PluginProcessShim.dylib SecItemShim.dylib WebProcessShim.dylib *.pdf Resources/mac/* com.apple.WebKit.Databases.sb com.apple.WebKit.NetworkProcess.sb com.apple.WebProcess.sb PlugInSandboxProfiles/*.sb; +EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = PluginProcessShim.dylib SecItemShim.dylib WebProcessShim.dylib *.pdf Resources/mac/* com.apple.WebKit.Databases.sb com.apple.WebKit.NetworkProcess.sb com.apple.WebProcess.sb com.apple.WebKit.plugin-common.sb PlugInSandboxProfiles/*.sb; INSTALLHDRS_SCRIPT_PHASE = YES; Modified: trunk/Source/WebKit2/DerivedSources.make (209054 => 209055) --- trunk/Source/WebKit2/DerivedSources.make 2016-11-29 02:16:37 UTC (rev 209054) +++ trunk/Source/WebKit2/DerivedSources.make 2016-11-29 02:20:20 UTC (rev 209055) @@ -203,6 +203,7 @@ SANDBOX_PROFILES = \ com.apple.WebProcess.sb \ com.apple.WebKit.Databases.sb \ + com.apple.WebKit.plugin-common.sb \ com.apple.WebKit.NetworkProcess.sb all: $(SANDBOX_PROFILES) Copied: trunk/Source/WebKit2/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in (from rev 209054, trunk/Source/WebKit2/Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb) (0 => 209055) --- trunk/Source/WebKit2/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in (rev 0) +++ trunk/Source/WebKit2/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in 2016-11-29 02:20:20 UTC (rev 209055) @@ -0,0 +1,382 @@ +; Copyright (C) 2013-2016 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. + +(version 1) +(deny default) +(allow system-audit file-read-metadata) + +(import "system.sb") + +;; Utility functions +(define (home-literal home-relative-literal) +(literal (string-append (param "HOME_DIR") home-relative-literal))) + +(define (home-library-regex home-library-relative-regex) +(regex (string-append "^" (regex-quote (param "HOME_LIBRARY_DIR")) home-library-relative-regex))) + +(define (home-library-subpath home-library-relative-subpath) +(subpath (string-append (param "HOME_LIBRARY_DIR") home-library-relative-subpath))) + +(define
[webkit-changes] [209056] tags/Safari-603.1.13.1/Source/WebKit2
Title: [209056] tags/Safari-603.1.13.1/Source/WebKit2 Revision 209056 Author matthew_han...@apple.com Date 2016-11-28 18:24:19 -0800 (Mon, 28 Nov 2016) Log Message Roll out r208589. rdar://problem/29277451 Modified Paths tags/Safari-603.1.13.1/Source/WebKit2/ChangeLog tags/Safari-603.1.13.1/Source/WebKit2/Configurations/WebKit.xcconfig tags/Safari-603.1.13.1/Source/WebKit2/DerivedSources.make tags/Safari-603.1.13.1/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj tags/Safari-603.1.13.1/Source/WebKit2/WebProcess/com.apple.WebProcess.sb.in Added Paths tags/Safari-603.1.13.1/Source/WebKit2/Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb Removed Paths tags/Safari-603.1.13.1/Source/WebKit2/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in Diff Modified: tags/Safari-603.1.13.1/Source/WebKit2/ChangeLog (209055 => 209056) --- tags/Safari-603.1.13.1/Source/WebKit2/ChangeLog 2016-11-29 02:20:20 UTC (rev 209055) +++ tags/Safari-603.1.13.1/Source/WebKit2/ChangeLog 2016-11-29 02:24:19 UTC (rev 209056) @@ -1,3 +1,7 @@ +2016-11-28 Matthew Hanson+ +Rollout r208589. rdar://problem/29277451 + 2016-11-28 Babak Shafiei Roll out r208835. rdar://problem/29277451 Modified: tags/Safari-603.1.13.1/Source/WebKit2/Configurations/WebKit.xcconfig (209055 => 209056) --- tags/Safari-603.1.13.1/Source/WebKit2/Configurations/WebKit.xcconfig 2016-11-29 02:20:20 UTC (rev 209055) +++ tags/Safari-603.1.13.1/Source/WebKit2/Configurations/WebKit.xcconfig 2016-11-29 02:24:19 UTC (rev 209056) @@ -52,7 +52,7 @@ SECTORDER_FLAGS_Production[sdk=iphoneos*] = -Wl,-order_file,$(SDKROOT)/AppleInternal/OrderFiles/WebKit.order; SECTORDER_FLAGS_Production[sdk=macosx*] = -Wl,-order_file,mac/WebKit2.order; -EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = PluginProcessShim.dylib SecItemShim.dylib WebProcessShim.dylib *.pdf Resources/mac/* com.apple.WebKit.Databases.sb com.apple.WebKit.NetworkProcess.sb com.apple.WebProcess.sb com.apple.WebKit.plugin-common.sb PlugInSandboxProfiles/*.sb; +EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = PluginProcessShim.dylib SecItemShim.dylib WebProcessShim.dylib *.pdf Resources/mac/* com.apple.WebKit.Databases.sb com.apple.WebKit.NetworkProcess.sb com.apple.WebProcess.sb PlugInSandboxProfiles/*.sb; INSTALLHDRS_SCRIPT_PHASE = YES; Modified: tags/Safari-603.1.13.1/Source/WebKit2/DerivedSources.make (209055 => 209056) --- tags/Safari-603.1.13.1/Source/WebKit2/DerivedSources.make 2016-11-29 02:20:20 UTC (rev 209055) +++ tags/Safari-603.1.13.1/Source/WebKit2/DerivedSources.make 2016-11-29 02:24:19 UTC (rev 209056) @@ -203,7 +203,6 @@ SANDBOX_PROFILES = \ com.apple.WebProcess.sb \ com.apple.WebKit.Databases.sb \ - com.apple.WebKit.plugin-common.sb \ com.apple.WebKit.NetworkProcess.sb all: $(SANDBOX_PROFILES) Deleted: tags/Safari-603.1.13.1/Source/WebKit2/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in (209055 => 209056) --- tags/Safari-603.1.13.1/Source/WebKit2/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in 2016-11-29 02:20:20 UTC (rev 209055) +++ tags/Safari-603.1.13.1/Source/WebKit2/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in 2016-11-29 02:24:19 UTC (rev 209056) @@ -1,382 +0,0 @@ -; Copyright (C) 2013-2016 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. - -(version 1) -(deny default) -(allow system-audit file-read-metadata) - -(import "system.sb") - -;; Utility functions -(define (home-literal home-relative-literal) -(literal (string-append (param "HOME_DIR") home-relative-literal))) - -(define (home-library-regex home-library-relative-regex) -(regex (string-append "^" (regex-quote (param "HOME_LIBRARY_DIR"))
[webkit-changes] [209057] trunk/Source/WebKit2
Title: [209057] trunk/Source/WebKit2 Revision 209057 Author bfulg...@apple.com Date 2016-11-28 18:29:41 -0800 (Mon, 28 Nov 2016) Log Message Generated sandbox profile is not being put in the correct Resources directory https://bugs.webkit.org/show_bug.cgi?id=165126 Reviewed by Tim Horton. * WebKit2.xcodeproj/project.pbxproj: Copy the generated file to the 'PlugInSandboxProfiles' sub-directory. Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj Diff Modified: trunk/Source/WebKit2/ChangeLog (209056 => 209057) --- trunk/Source/WebKit2/ChangeLog 2016-11-29 02:24:19 UTC (rev 209056) +++ trunk/Source/WebKit2/ChangeLog 2016-11-29 02:29:41 UTC (rev 209057) @@ -1,3 +1,13 @@ +2016-11-28 Brent Fulgham+ +Generated sandbox profile is not being put in the correct Resources directory +https://bugs.webkit.org/show_bug.cgi?id=165126 + +Reviewed by Tim Horton. + +* WebKit2.xcodeproj/project.pbxproj: Copy the generated file to the 'PlugInSandboxProfiles' +sub-directory. + 2016-11-28 Ryan Haddad Unreviewed, rolling out r209008. Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (209056 => 209057) --- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2016-11-29 02:24:19 UTC (rev 209056) +++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2016-11-29 02:29:41 UTC (rev 209057) @@ -2024,6 +2024,7 @@ 7CB16FF21724BA28007A0A95 /* com.macromedia.Flash Player.plugin.sb in Copy Plug-in Sandbox Profiles */, 7CB16FF31724BA2F007A0A95 /* com.microsoft.SilverlightPlugin.sb in Copy Plug-in Sandbox Profiles */, 7CB16FF41724BA30007A0A95 /* com.oracle.java.JavaAppletPlugin.sb in Copy Plug-in Sandbox Profiles */, +7A772C8D1DDD4A25000F34F1 /* com.apple.WebKit.plugin-common.sb in Copy Plug-in Sandbox Profiles */, ); name = "Copy Plug-in Sandbox Profiles"; runOnlyForDeploymentPostprocessing = 0; @@ -8714,7 +8715,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( -7A772C8D1DDD4A25000F34F1 /* com.apple.WebKit.plugin-common.sb in Resources */, E115C716190F8A2500ECC516 /* com.apple.WebKit.Databases.sb in Resources */, E17AE2C316B9C63A001C42F1 /* com.apple.WebKit.NetworkProcess.sb in Resources */, E11D35AE16B63D1B006D23D7 /* com.apple.WebProcess.sb in Resources */, ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209054] trunk/Source/WebKit2
Title: [209054] trunk/Source/WebKit2 Revision 209054 Author matthew_han...@apple.com Date 2016-11-28 18:16:37 -0800 (Mon, 28 Nov 2016) Log Message Roll out r208589. rdar://problem/29277451 Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/Configurations/WebKit.xcconfig trunk/Source/WebKit2/DerivedSources.make trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj trunk/Source/WebKit2/WebProcess/com.apple.WebProcess.sb.in Added Paths trunk/Source/WebKit2/Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb Removed Paths trunk/Source/WebKit2/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in Diff Modified: trunk/Source/WebKit2/ChangeLog (209053 => 209054) --- trunk/Source/WebKit2/ChangeLog 2016-11-29 01:53:25 UTC (rev 209053) +++ trunk/Source/WebKit2/ChangeLog 2016-11-29 02:16:37 UTC (rev 209054) @@ -1,3 +1,7 @@ +2016-11-28 Matthew Hanson+ +Roll out r208589. rdar://problem/29277451 + 2016-11-28 Ryan Haddad Unreviewed, rolling out r209008. Modified: trunk/Source/WebKit2/Configurations/WebKit.xcconfig (209053 => 209054) --- trunk/Source/WebKit2/Configurations/WebKit.xcconfig 2016-11-29 01:53:25 UTC (rev 209053) +++ trunk/Source/WebKit2/Configurations/WebKit.xcconfig 2016-11-29 02:16:37 UTC (rev 209054) @@ -52,7 +52,7 @@ SECTORDER_FLAGS_Production[sdk=iphoneos*] = -Wl,-order_file,$(SDKROOT)/AppleInternal/OrderFiles/WebKit.order; SECTORDER_FLAGS_Production[sdk=macosx*] = -Wl,-order_file,mac/WebKit2.order; -EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = PluginProcessShim.dylib SecItemShim.dylib WebProcessShim.dylib *.pdf Resources/mac/* com.apple.WebKit.Databases.sb com.apple.WebKit.NetworkProcess.sb com.apple.WebProcess.sb com.apple.WebKit.plugin-common.sb PlugInSandboxProfiles/*.sb; +EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = PluginProcessShim.dylib SecItemShim.dylib WebProcessShim.dylib *.pdf Resources/mac/* com.apple.WebKit.Databases.sb com.apple.WebKit.NetworkProcess.sb com.apple.WebProcess.sb PlugInSandboxProfiles/*.sb; INSTALLHDRS_SCRIPT_PHASE = YES; Modified: trunk/Source/WebKit2/DerivedSources.make (209053 => 209054) --- trunk/Source/WebKit2/DerivedSources.make 2016-11-29 01:53:25 UTC (rev 209053) +++ trunk/Source/WebKit2/DerivedSources.make 2016-11-29 02:16:37 UTC (rev 209054) @@ -203,7 +203,6 @@ SANDBOX_PROFILES = \ com.apple.WebProcess.sb \ com.apple.WebKit.Databases.sb \ - com.apple.WebKit.plugin-common.sb \ com.apple.WebKit.NetworkProcess.sb all: $(SANDBOX_PROFILES) Deleted: trunk/Source/WebKit2/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in (209053 => 209054) --- trunk/Source/WebKit2/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in 2016-11-29 01:53:25 UTC (rev 209053) +++ trunk/Source/WebKit2/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in 2016-11-29 02:16:37 UTC (rev 209054) @@ -1,382 +0,0 @@ -; Copyright (C) 2013-2016 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. - -(version 1) -(deny default) -(allow system-audit file-read-metadata) - -(import "system.sb") - -;; Utility functions -(define (home-literal home-relative-literal) -(literal (string-append (param "HOME_DIR") home-relative-literal))) - -(define (home-library-regex home-library-relative-regex) -(regex (string-append "^" (regex-quote (param "HOME_LIBRARY_DIR")) home-library-relative-regex))) - -(define (home-library-subpath home-library-relative-subpath) -(subpath (string-append (param "HOME_LIBRARY_DIR") home-library-relative-subpath))) - -(define (home-library-literal home-library-relative-literal) -(literal (string-append (param "HOME_LIBRARY_DIR") home-library-relative-literal))) - -(define
[webkit-changes] [209004] tags/Safari-603.1.13.1/
Title: [209004] tags/Safari-603.1.13.1/ Revision 209004 Author matthew_han...@apple.com Date 2016-11-28 12:18:01 -0800 (Mon, 28 Nov 2016) Log Message New tag. Added Paths tags/Safari-603.1.13.1/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209062] trunk
Title: [209062] trunk Revision 209062 Author mattba...@apple.com Date 2016-11-28 23:08:09 -0800 (Mon, 28 Nov 2016) Log Message Web Inspector: Debugger should have an option for showing asynchronous call stacks https://bugs.webkit.org/show_bug.cgi?id=163230 Reviewed by Joseph Pecoraro. Source/_javascript_Core: * inspector/ScriptCallFrame.cpp: (Inspector::ScriptCallFrame::isNative): Encapsulate check for native code source URL. * inspector/ScriptCallFrame.h: * inspector/ScriptCallStack.cpp: (Inspector::ScriptCallStack::firstNonNativeCallFrame): (Inspector::ScriptCallStack::buildInspectorArray): * inspector/ScriptCallStack.h: Replace use of Console::StackTrace with Array. * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::disable): (Inspector::InspectorDebuggerAgent::setAsyncStackTraceDepth): Set number of async frames to store (including boundary frames). A value of zero disables recording of async call stacks. (Inspector::InspectorDebuggerAgent::buildAsyncStackTrace): Helper function for building a linked list StackTraces. (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): Store a call stack for the script that scheduled the async call. If the call repeats (e.g. setInterval), the starting reference count is set to 1. This ensures that dereffing after dispatch won't clear the stack. If another async call is currently being dispatched, increment the AsyncCallData reference count for that call. (Inspector::InspectorDebuggerAgent::didCancelAsyncCall): Decrement the reference count for the canceled call. (Inspector::InspectorDebuggerAgent::willDispatchAsyncCall): Set the identifier for the async callback currently being dispatched, so that if the debugger pauses during dispatch a stack trace can be associated with the pause location. If an async call is already being dispatched, which could be the case when a script schedules an async call in a nested runloop, do nothing. (Inspector::InspectorDebuggerAgent::didDispatchAsyncCall): Decrement the reference count for the canceled call. (Inspector::InspectorDebuggerAgent::didPause): If a stored stack trace exists for this location, convert to a protocol object and send to the frontend. (Inspector::InspectorDebuggerAgent::didClearGlobalObject): (Inspector::InspectorDebuggerAgent::clearAsyncStackTraceData): (Inspector::InspectorDebuggerAgent::refAsyncCallData): Increment AsyncCallData reference count. (Inspector::InspectorDebuggerAgent::derefAsyncCallData): Decrement AsyncCallData reference count. If zero, deref its parent (if it exists) and remove the AsyncCallData entry. * inspector/agents/InspectorDebuggerAgent.h: * inspector/protocol/Console.json: * inspector/protocol/Network.json: Replace use of Console.StackTrace with array of Console.CallFrame. * inspector/protocol/Debugger.json: New protocol command and event data. Source/WebCore: Test: inspector/debugger/async-stack-trace.html * inspector/InspectorInstrumentation.cpp: (WebCore::didScheduleAsyncCall): Helper function used by by instrumentation hooks. Informs the debugger agent that an asynchronous call was scheduled for the current script execution state. (WebCore::InspectorInstrumentation::didInstallTimerImpl): (WebCore::InspectorInstrumentation::didRemoveTimerImpl): (WebCore::InspectorInstrumentation::willFireTimerImpl): (WebCore::InspectorInstrumentation::didFireTimerImpl): Asynchronous stack trace plumbing for timers (setTimeout, setInterval). (WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl): (WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl): (WebCore::InspectorInstrumentation::willFireAnimationFrameImpl): (WebCore::InspectorInstrumentation::didFireAnimationFrameImpl): Asynchronous stack trace plumbing for requestAnimationFrame. Source/WebInspectorUI: * Localizations/en.lproj/localizedStrings.js: New string for generic async call stack boundary label: "(async)". * UserInterface/Controllers/DebuggerManager.js: Create async stack depth setting and set default depth. (WebInspector.DebuggerManager.prototype.get asyncStackTraceDepth): (WebInspector.DebuggerManager.prototype.set asyncStackTraceDepth): Make async stack depth setting accessible to the frontend. (WebInspector.DebuggerManager.prototype.initializeTarget): Set async stack depth value on the target. (WebInspector.DebuggerManager.prototype.debuggerDidPause): Plumbing for the async stack trace payload. * UserInterface/Models/ConsoleMessage.js: (WebInspector.ConsoleMessage): Updated for new StackTrace.fromPayload use. * UserInterface/Models/DebuggerData.js: (WebInspector.DebuggerData): (WebInspector.DebuggerData.prototype.get asyncStackTrace): (WebInspector.DebuggerData.prototype.updateForPause): (WebInspector.DebuggerData.prototype.updateForResume): More plumbing. * UserInterface/Models/StackTrace.js: Update frontend model for use as new protocol object Console.StackTrace, which was previously an alias for a simple array of Console.CallFrames.
[webkit-changes] [209063] trunk/Source/WebKit2
Title: [209063] trunk/Source/WebKit2 Revision 209063 Author carlo...@webkit.org Date 2016-11-28 23:27:01 -0800 (Mon, 28 Nov 2016) Log Message [GTK] BadDamage X Window System error in WebKit::AcceleratedBackingStoreX11::update when called from WebPageProxy::exitAcceleratedCompositingMode https://bugs.webkit.org/show_bug.cgi?id=164303 Reviewed by Michael Catanzaro. Trap also BadDrawable and BadDamage X errors when creating the surface and damage. * UIProcess/gtk/AcceleratedBackingStoreX11.cpp: (WebKit::AcceleratedBackingStoreX11::update): Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/gtk/AcceleratedBackingStoreX11.cpp Diff Modified: trunk/Source/WebKit2/ChangeLog (209062 => 209063) --- trunk/Source/WebKit2/ChangeLog 2016-11-29 07:08:09 UTC (rev 209062) +++ trunk/Source/WebKit2/ChangeLog 2016-11-29 07:27:01 UTC (rev 209063) @@ -1,3 +1,15 @@ +2016-11-28 Carlos Garcia Campos+ +[GTK] BadDamage X Window System error in WebKit::AcceleratedBackingStoreX11::update when called from WebPageProxy::exitAcceleratedCompositingMode +https://bugs.webkit.org/show_bug.cgi?id=164303 + +Reviewed by Michael Catanzaro. + +Trap also BadDrawable and BadDamage X errors when creating the surface and damage. + +* UIProcess/gtk/AcceleratedBackingStoreX11.cpp: +(WebKit::AcceleratedBackingStoreX11::update): + 2016-11-28 Chris Dumez [Mac][WK2] Enable HTML interactive form validation Modified: trunk/Source/WebKit2/UIProcess/gtk/AcceleratedBackingStoreX11.cpp (209062 => 209063) --- trunk/Source/WebKit2/UIProcess/gtk/AcceleratedBackingStoreX11.cpp 2016-11-29 07:08:09 UTC (rev 209062) +++ trunk/Source/WebKit2/UIProcess/gtk/AcceleratedBackingStoreX11.cpp 2016-11-29 07:27:01 UTC (rev 209063) @@ -158,6 +158,7 @@ float deviceScaleFactor = m_webPage.deviceScaleFactor(); size.scale(deviceScaleFactor); +XErrorTrapper trapper(display, XErrorTrapper::Policy::Crash, { BadDrawable, BadDamage }); ASSERT(downcast(PlatformDisplay::sharedDisplay()).native() == GDK_DISPLAY_XDISPLAY(gdk_display_get_default())); GdkVisual* visual = gdk_screen_get_rgba_visual(gdk_screen_get_default()); if (!visual) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209059] trunk/Source/WebCore
Title: [209059] trunk/Source/WebCore Revision 209059 Author jiewen_...@apple.com Date 2016-11-28 20:49:54 -0800 (Mon, 28 Nov 2016) Log Message ASSERTION FAILED: m_scriptExecutionContext->isContextThread() seen with LayoutTest crypto/subtle/rsa-oaep-generate-key-encrypt-decrypt.html https://bugs.webkit.org/show_bug.cgi?id=165124 Reviewed by Daniel Bates. We should only dereference callbacks after being back to the Document/Worker threads as it might destroy promises in the work queue which will then trigger the assertion. Covered by existing tests. * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt): (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt): * crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp: (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt): (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt): * crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt): (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/crypto/mac/CryptoAlgorithmAES_CBCMac.cpp trunk/Source/WebCore/crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp trunk/Source/WebCore/crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (209058 => 209059) --- trunk/Source/WebCore/ChangeLog 2016-11-29 04:29:55 UTC (rev 209058) +++ trunk/Source/WebCore/ChangeLog 2016-11-29 04:49:54 UTC (rev 209059) @@ -1,3 +1,26 @@ +2016-11-28 Jiewen Tan+ +ASSERTION FAILED: m_scriptExecutionContext->isContextThread() seen with LayoutTest crypto/subtle/rsa-oaep-generate-key-encrypt-decrypt.html +https://bugs.webkit.org/show_bug.cgi?id=165124 + + +Reviewed by Daniel Bates. + +We should only dereference callbacks after being back to the Document/Worker threads as +it might destroy promises in the work queue which will then trigger the assertion. + +Covered by existing tests. + +* crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: +(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt): +(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt): +* crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp: +(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt): +(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt): +* crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: +(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt): +(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt): + 2016-11-28 Darin Adler Streamline and speed up tokenizer and segmented string classes Modified: trunk/Source/WebCore/crypto/mac/CryptoAlgorithmAES_CBCMac.cpp (209058 => 209059) --- trunk/Source/WebCore/crypto/mac/CryptoAlgorithmAES_CBCMac.cpp 2016-11-29 04:29:55 UTC (rev 209058) +++ trunk/Source/WebCore/crypto/mac/CryptoAlgorithmAES_CBCMac.cpp 2016-11-29 04:49:54 UTC (rev 209059) @@ -82,13 +82,15 @@ ASSERT(aesParameters.ivVector().size() == kCCBlockSizeAES128); auto result = transformAES_CBC(kCCEncrypt, aesParameters.ivVector().data(), aesKey.key(), plainText.data(), plainText.size()); if (result.hasException()) { -context.postTask([exceptionCallback = WTFMove(exceptionCallback), ec = result.releaseException().code()](ScriptExecutionContext& context) { +// We should only derenference callbacks after being back to the Document/Worker threads. +context.postTask([exceptionCallback = WTFMove(exceptionCallback), ec = result.releaseException().code(), callback = WTFMove(callback)](ScriptExecutionContext& context) { exceptionCallback(ec); context.deref(); }); return; } -context.postTask([callback = WTFMove(callback), result = result.releaseReturnValue()](ScriptExecutionContext& context) { +// We should only derenference callbacks after being back to the Document/Worker threads. +context.postTask([callback = WTFMove(callback), result = result.releaseReturnValue(), exceptionCallback = WTFMove(exceptionCallback)](ScriptExecutionContext& context) { callback(result); context.deref(); }); @@ -104,13 +106,15 @@ assert(aesParameters.ivVector().size() == kCCBlockSizeAES128); auto result = transformAES_CBC(kCCDecrypt, aesParameters.ivVector().data(), aesKey.key(), cipherText.data(), cipherText.size()); if (result.hasException()) { -context.postTask([exceptionCallback = WTFMove(exceptionCallback), ec = result.releaseException().code()](ScriptExecutionContext& context) { +// We should only derenference callbacks after being back to the Document/Worker threads. +context.postTask([exceptionCallback = WTFMove(exceptionCallback), ec = result.releaseException().code(), callback =
[webkit-changes] [209061] trunk/Source/WebCore
Title: [209061] trunk/Source/WebCore Revision 209061 Author jiewen_...@apple.com Date 2016-11-28 21:49:36 -0800 (Mon, 28 Nov 2016) Log Message Unreviewed, followup patch after r209059. * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt): (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt): * crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp: (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt): (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt): * crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt): (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/crypto/mac/CryptoAlgorithmAES_CBCMac.cpp trunk/Source/WebCore/crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp trunk/Source/WebCore/crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (209060 => 209061) --- trunk/Source/WebCore/ChangeLog 2016-11-29 05:37:12 UTC (rev 209060) +++ trunk/Source/WebCore/ChangeLog 2016-11-29 05:49:36 UTC (rev 209061) @@ -1,5 +1,19 @@ 2016-11-28 Jiewen Tan+Unreviewed, followup patch after r209059. + +* crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: +(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt): +(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt): +* crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp: +(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt): +(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt): +* crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: +(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt): +(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt): + +2016-11-28 Jiewen Tan + ASSERTION FAILED: m_scriptExecutionContext->isContextThread() seen with LayoutTest crypto/subtle/rsa-oaep-generate-key-encrypt-decrypt.html https://bugs.webkit.org/show_bug.cgi?id=165124 Modified: trunk/Source/WebCore/crypto/mac/CryptoAlgorithmAES_CBCMac.cpp (209060 => 209061) --- trunk/Source/WebCore/crypto/mac/CryptoAlgorithmAES_CBCMac.cpp 2016-11-29 05:37:12 UTC (rev 209060) +++ trunk/Source/WebCore/crypto/mac/CryptoAlgorithmAES_CBCMac.cpp 2016-11-29 05:49:36 UTC (rev 209061) @@ -82,7 +82,7 @@ ASSERT(aesParameters.ivVector().size() == kCCBlockSizeAES128); auto result = transformAES_CBC(kCCEncrypt, aesParameters.ivVector().data(), aesKey.key(), plainText.data(), plainText.size()); if (result.hasException()) { -// We should only derenference callbacks after being back to the Document/Worker threads. +// We should only dereference callbacks after being back to the Document/Worker threads. context.postTask([exceptionCallback = WTFMove(exceptionCallback), ec = result.releaseException().code(), callback = WTFMove(callback)](ScriptExecutionContext& context) { exceptionCallback(ec); context.deref(); @@ -89,7 +89,7 @@ }); return; } -// We should only derenference callbacks after being back to the Document/Worker threads. +// We should only dereference callbacks after being back to the Document/Worker threads. context.postTask([callback = WTFMove(callback), result = result.releaseReturnValue(), exceptionCallback = WTFMove(exceptionCallback)](ScriptExecutionContext& context) { callback(result); context.deref(); @@ -106,7 +106,7 @@ assert(aesParameters.ivVector().size() == kCCBlockSizeAES128); auto result = transformAES_CBC(kCCDecrypt, aesParameters.ivVector().data(), aesKey.key(), cipherText.data(), cipherText.size()); if (result.hasException()) { -// We should only derenference callbacks after being back to the Document/Worker threads. +// We should only dereference callbacks after being back to the Document/Worker threads. context.postTask([exceptionCallback = WTFMove(exceptionCallback), ec = result.releaseException().code(), callback = WTFMove(callback)](ScriptExecutionContext& context) { exceptionCallback(ec); context.deref(); @@ -113,7 +113,7 @@ }); return; } -// We should only derenference callbacks after being back to the Document/Worker threads. +// We should only dereference callbacks after being back to the Document/Worker threads. context.postTask([callback = WTFMove(callback), result = result.releaseReturnValue(), exceptionCallback = WTFMove(exceptionCallback)](ScriptExecutionContext& context) { callback(result); context.deref(); Modified: trunk/Source/WebCore/crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp (209060 => 209061) ---
[webkit-changes] [209060] trunk/Source/WebKit2
Title: [209060] trunk/Source/WebKit2 Revision 209060 Author cdu...@apple.com Date 2016-11-28 21:37:12 -0800 (Mon, 28 Nov 2016) Log Message [Mac][WK2] Enable HTML interactive form validation https://bugs.webkit.org/show_bug.cgi?id=165123 Reviewed by Simon Fraser. Enable HTML interactive form validation now that we have a native UI for it. * Shared/WebPreferencesDefinitions.h: Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h Diff Modified: trunk/Source/WebKit2/ChangeLog (209059 => 209060) --- trunk/Source/WebKit2/ChangeLog 2016-11-29 04:49:54 UTC (rev 209059) +++ trunk/Source/WebKit2/ChangeLog 2016-11-29 05:37:12 UTC (rev 209060) @@ -1,3 +1,16 @@ +2016-11-28 Chris Dumez+ +[Mac][WK2] Enable HTML interactive form validation +https://bugs.webkit.org/show_bug.cgi?id=165123 + + +Reviewed by Simon Fraser. + +Enable HTML interactive form validation now that we have a native UI +for it. + +* Shared/WebPreferencesDefinitions.h: + 2016-11-28 Brent Fulgham Generated sandbox profile is not being put in the correct Resources directory Modified: trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h (209059 => 209060) --- trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h 2016-11-29 04:49:54 UTC (rev 209059) +++ trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h 2016-11-29 05:37:12 UTC (rev 209060) @@ -54,6 +54,12 @@ #define DEFAULT_PDFPLUGIN_ENABLED false #endif +#if PLATFORM(MAC) +#define DEFAULT_HTML_INTERACTIVE_FORM_VALIDATION_ENABLED true +#else +#define DEFAULT_HTML_INTERACTIVE_FORM_VALIDATION_ENABLED false +#endif + #if PLATFORM(IOS) #define DEFAULT_ALLOWS_PICTURE_IN_PICTURE_MEDIA_PLAYBACK true #define DEFAULT_BACKSPACE_KEY_NAVIGATION_ENABLED false @@ -238,6 +244,7 @@ macro(CustomElementsEnabled, customElementsEnabled, Bool, bool, true, "", "") \ macro(EncryptedMediaAPIEnabled, encryptedMediaAPIEnabled, Bool, bool, false, "", "") \ macro(IntersectionObserverEnabled, intersectionObserverEnabled, Bool, bool, false, "Intersection Observer", "Enable Intersection Observer support") \ +macro(InteractiveFormValidationEnabled, interactiveFormValidationEnabled, Bool, bool, DEFAULT_HTML_INTERACTIVE_FORM_VALIDATION_ENABLED, "HTML Interactive Form Validation", "HTML interactive form validation") \ \ #define FOR_EACH_WEBKIT_DOUBLE_PREFERENCE(macro) \ @@ -305,7 +312,6 @@ #define FOR_EACH_WEBKIT_EXPERIMENTAL_FEATURE_PREFERENCE(macro) \ macro(CSSGridLayoutEnabled, cssGridLayoutEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "CSS Grid", "CSS Grid Layout Module support") \ macro(SpringTimingFunctionEnabled, springTimingFunctionEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "CSS Spring Animations", "CSS Spring Animation prototype") \ -macro(InteractiveFormValidationEnabled, interactiveFormValidationEnabled, Bool, bool, false, "HTML Interactive Form Validation", "HTML interactive form validation prototype") \ macro(GamepadsEnabled, gamepadsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Gamepads", "Web Gamepad API support") \ macro(ModernMediaControlsEnabled, modernMediaControlsEnabled, Bool, bool, false, "Modern Media Controls", "Use modern media controls look") \ macro(VariationFontsEnabled, variationFontsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Variation Fonts", "Enable variation fonts") \ ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [209064] trunk/Source/WebCore
Title: [209064] trunk/Source/WebCore Revision 209064 Author carlo...@webkit.org Date 2016-11-28 23:34:44 -0800 (Mon, 28 Nov 2016) Log Message [GTK] Crash in WebCore::PlatformDisplayX11::supportsXComposite when running under Wayland https://bugs.webkit.org/show_bug.cgi?id=164917 Reviewed by Michael Catanzaro. WebKitGTK+ appplications are expected to call gtk_init(), because WebKitGTK+, like GTK+ itself, requires a display to work. We currently fallback to create a X11 display when X11 is enabled in cases where GTK+ doesn't have a default display (gtk_init() wasn't called or failed). That's why we end up creating an X11 display under Wayland when both Wayland and X11 option are enabled. The code assumes X11 display creation will always work if X11 is enabled, but that's not true now that we support also Wayland at runtime. So, we should try to get a native display before creating the PlatformDisplay. Rendering will not work in any case when gtk_init() is not called, but in most of the cases those applications are not actually going to render anything, so this way at least we will not crash. * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): Use create() method for X11 and Wayland if we couldn't get a native display from GTK+. If everything fails create a display with no native. (WebCore::PlatformDisplay::PlatformDisplay): Add NativeDisplayOwned parameter. * platform/graphics/PlatformDisplay.h: * platform/graphics/wayland/PlatformDisplayWayland.cpp: (WebCore::PlatformDisplayWayland::create): Try to create a native Wayland display or return nullptr. (WebCore::PlatformDisplayWayland::PlatformDisplayWayland): Initialize NativeDisplayOwned parameter. (WebCore::PlatformDisplayWayland::~PlatformDisplayWayland): Destroy the display if owned. (WebCore::PlatformDisplayWayland::initialize): Return early if native display is nullptr. * platform/graphics/wayland/PlatformDisplayWayland.h: * platform/graphics/x11/PlatformDisplayX11.cpp: (WebCore::PlatformDisplayX11::create): Try to create a native X11 display or return nullptr. (WebCore::PlatformDisplayX11::PlatformDisplayX11): Use NativeDisplayOwned now. (WebCore::PlatformDisplayX11::~PlatformDisplayX11): Ditto. * platform/graphics/x11/PlatformDisplayX11.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/PlatformDisplay.cpp trunk/Source/WebCore/platform/graphics/PlatformDisplay.h trunk/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp trunk/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.h trunk/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp trunk/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.h Diff Modified: trunk/Source/WebCore/ChangeLog (209063 => 209064) --- trunk/Source/WebCore/ChangeLog 2016-11-29 07:27:01 UTC (rev 209063) +++ trunk/Source/WebCore/ChangeLog 2016-11-29 07:34:44 UTC (rev 209064) @@ -1,3 +1,36 @@ +2016-11-28 Carlos Garcia Campos+ +[GTK] Crash in WebCore::PlatformDisplayX11::supportsXComposite when running under Wayland +https://bugs.webkit.org/show_bug.cgi?id=164917 + +Reviewed by Michael Catanzaro. + +WebKitGTK+ appplications are expected to call gtk_init(), because WebKitGTK+, like GTK+ itself, requires a +display to work. We currently fallback to create a X11 display when X11 is enabled in cases where GTK+ doesn't +have a default display (gtk_init() wasn't called or failed). That's why we end up creating an X11 display under +Wayland when both Wayland and X11 option are enabled. The code assumes X11 display creation will always work if +X11 is enabled, but that's not true now that we support also Wayland at runtime. So, we should try to get a +native display before creating the PlatformDisplay. Rendering will not work in any case when gtk_init() is not +called, but in most of the cases those applications are not actually going to render anything, so this way at +least we will not crash. + +* platform/graphics/PlatformDisplay.cpp: +(WebCore::PlatformDisplay::createPlatformDisplay): Use create() method for X11 and Wayland if we couldn't get a +native display from GTK+. If everything fails create a display with no native. +(WebCore::PlatformDisplay::PlatformDisplay): Add NativeDisplayOwned parameter. +* platform/graphics/PlatformDisplay.h: +* platform/graphics/wayland/PlatformDisplayWayland.cpp: +(WebCore::PlatformDisplayWayland::create): Try to create a native Wayland display or return nullptr. +(WebCore::PlatformDisplayWayland::PlatformDisplayWayland): Initialize NativeDisplayOwned parameter. +(WebCore::PlatformDisplayWayland::~PlatformDisplayWayland): Destroy the display if owned. +(WebCore::PlatformDisplayWayland::initialize): Return early if native display is nullptr. +*