[webkit-changes] [225840] trunk/Source/JavaScriptCore

2017-12-12 Thread utatane . tea
Title: [225840] trunk/Source/_javascript_Core








Revision 225840
Author utatane@gmail.com
Date 2017-12-12 23:51:16 -0800 (Tue, 12 Dec 2017)


Log Message
[JSC] Optimize Object.assign by single transition acceleration
https://bugs.webkit.org/show_bug.cgi?id=180644

Reviewed by Saam Barati.

Handling single transition is critical. Since this get() function is only used
in Structure.cpp's 2 functions and it is quite small, we can annotate `inline`
to accelerate it.

This improves SixSpeed/object-assign.es6 by 2.8%.

baseline  patched

object-assign.es6  382.3548+-8.0461  371.6496+-5.7439  might be 1.0288x faster

* runtime/Structure.cpp:
(JSC::StructureTransitionTable::get const):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/Structure.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (225839 => 225840)

--- trunk/Source/_javascript_Core/ChangeLog	2017-12-13 06:19:57 UTC (rev 225839)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-12-13 07:51:16 UTC (rev 225840)
@@ -1,3 +1,23 @@
+2017-12-12  Yusuke Suzuki  
+
+[JSC] Optimize Object.assign by single transition acceleration
+https://bugs.webkit.org/show_bug.cgi?id=180644
+
+Reviewed by Saam Barati.
+
+Handling single transition is critical. Since this get() function is only used
+in Structure.cpp's 2 functions and it is quite small, we can annotate `inline`
+to accelerate it.
+
+This improves SixSpeed/object-assign.es6 by 2.8%.
+
+baseline  patched
+
+object-assign.es6  382.3548+-8.0461  371.6496+-5.7439  might be 1.0288x faster
+
+* runtime/Structure.cpp:
+(JSC::StructureTransitionTable::get const):
+
 2017-12-12  Filip Pizlo  
 
 Structure, StructureRareData, and PropertyTable should be in IsoSubspaces


Modified: trunk/Source/_javascript_Core/runtime/Structure.cpp (225839 => 225840)

--- trunk/Source/_javascript_Core/runtime/Structure.cpp	2017-12-13 06:19:57 UTC (rev 225839)
+++ trunk/Source/_javascript_Core/runtime/Structure.cpp	2017-12-13 07:51:16 UTC (rev 225840)
@@ -99,7 +99,7 @@
 return map()->get(std::make_pair(rep, attributes));
 }
 
-Structure* StructureTransitionTable::get(UniquedStringImpl* rep, unsigned attributes) const
+inline Structure* StructureTransitionTable::get(UniquedStringImpl* rep, unsigned attributes) const
 {
 if (isUsingSingleSlot()) {
 Structure* transition = singleTransition();






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225839] trunk/Source/WebInspectorUI

2017-12-12 Thread nvasilyev
Title: [225839] trunk/Source/WebInspectorUI








Revision 225839
Author nvasil...@apple.com
Date 2017-12-12 22:19:57 -0800 (Tue, 12 Dec 2017)


Log Message
Web Inspector: Styles Redesign: navigating away from empty value should remove CSS property
https://bugs.webkit.org/show_bug.cgi?id=180508

Reviewed by Devin Rousso.

Remove a property when navigating away from it (e.g. to the next/previous property,
or outside of the styles panel entirely) and either its name or value is empty:

color: [ ]->
<-[ ]: red
<-[color]:

Don't remove a property when navigating from an empty value to a non-empty name:

color: <-[ ]

Always remove a property when both name and value are empty.

* UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
(WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
* UserInterface/Views/SpreadsheetTextField.js:
(WI.SpreadsheetTextField.prototype._handleBlur):
(WI.SpreadsheetTextField.prototype.get valueBeforeEditing): Deleted.

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetStyleProperty.js
trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetTextField.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (225838 => 225839)

--- trunk/Source/WebInspectorUI/ChangeLog	2017-12-13 04:47:23 UTC (rev 225838)
+++ trunk/Source/WebInspectorUI/ChangeLog	2017-12-13 06:19:57 UTC (rev 225839)
@@ -1,3 +1,30 @@
+2017-12-12  Nikita Vasilyev  
+
+Web Inspector: Styles Redesign: navigating away from empty value should remove CSS property
+https://bugs.webkit.org/show_bug.cgi?id=180508
+
+Reviewed by Devin Rousso.
+
+Remove a property when navigating away from it (e.g. to the next/previous property,
+or outside of the styles panel entirely) and either its name or value is empty:
+
+color: [ ]->
+<-[ ]: red
+<-[color]:
+
+Don't remove a property when navigating from an empty value to a non-empty name:
+
+color: <-[ ]
+
+Always remove a property when both name and value are empty.
+
+* UserInterface/Views/SpreadsheetStyleProperty.js:
+(WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
+(WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
+* UserInterface/Views/SpreadsheetTextField.js:
+(WI.SpreadsheetTextField.prototype._handleBlur):
+(WI.SpreadsheetTextField.prototype.get valueBeforeEditing): Deleted.
+
 2017-12-12  Brian Burg  
 
 Web Inspector: support async setup() and async teardown() in AsyncTestSuite


Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetStyleProperty.js (225838 => 225839)

--- trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetStyleProperty.js	2017-12-13 04:47:23 UTC (rev 225838)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetStyleProperty.js	2017-12-13 06:19:57 UTC (rev 225839)
@@ -231,16 +231,11 @@
 let propertyName = this._nameTextField.value.trim();
 let propertyValue = this._valueTextField.value.trim();
 let willRemoveProperty = false;
-let newlyAdded = this._valueTextField.valueBeforeEditing === "";
+let isEditingName = textField === this._nameTextField;
 
-// Remove a property with an empty name or value. However, a newly added property
-// has an empty name and value at first. Don't remove it when moving focus from
-// the name to the value for the first time.
-if (!propertyName || (!newlyAdded && !propertyValue))
+if (!propertyName || (!propertyValue && !isEditingName && direction === "forward"))
 willRemoveProperty = true;
 
-let isEditingName = textField === this._nameTextField;
-
 if (!isEditingName && !willRemoveProperty)
 this._renderValue(propertyValue);
 
@@ -267,11 +262,15 @@
 this._remove();
 }
 
-spreadsheetTextFieldDidBlur(textField)
+spreadsheetTextFieldDidBlur(textField, event)
 {
-if (textField.value.trim() === "")
+let focusedOutsideThisProperty = event.relatedTarget !== this._nameElement && event.relatedTarget !== this._valueElement;
+if (focusedOutsideThisProperty && (!this._nameTextField.value.trim() || !this._valueTextField.value.trim())) {
 this._remove();
-else if (textField === this._valueTextField)
+return;
+}
+
+if (textField === this._valueTextField)
 this._renderValue(this._valueElement.textContent);
 }
 


Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetTextField.js (225838 => 225839)

--- trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetTextField.js	2017-12-13 04:47:23 UTC (rev 225838)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetTextField.js	2017-12-13 06:19:57 U

[webkit-changes] [225838] trunk/LayoutTests/imported/w3c

2017-12-12 Thread cdumez
Title: [225838] trunk/LayoutTests/imported/w3c








Revision 225838
Author cdu...@apple.com
Date 2017-12-12 20:47:23 -0800 (Tue, 12 Dec 2017)


Log Message
Re-sync imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-sw.https.html
https://bugs.webkit.org/show_bug.cgi?id=180698

Reviewed by Alex Christensen.

Re-sync imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-sw.https.html
after https://github.com/w3c/web-platform-tests/pull/8622.

* web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt:
* web-platform-tests/service-workers/service-worker/resources/interfaces-worker.sub.js:

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/interfaces-worker.sub.js




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (225837 => 225838)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2017-12-13 04:05:33 UTC (rev 225837)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2017-12-13 04:47:23 UTC (rev 225838)
@@ -1,3 +1,16 @@
+2017-12-12  Chris Dumez  
+
+Re-sync imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-sw.https.html
+https://bugs.webkit.org/show_bug.cgi?id=180698
+
+Reviewed by Alex Christensen.
+
+Re-sync imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-sw.https.html
+after https://github.com/w3c/web-platform-tests/pull/8622.
+
+* web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt:
+* web-platform-tests/service-workers/service-worker/resources/interfaces-worker.sub.js:
+
 2017-12-12  Youenn Fablet  
 
 Fetch Event header filtering should apply in CORS mode only


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt (225837 => 225838)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt	2017-12-13 04:05:33 UTC (rev 225837)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt	2017-12-13 04:47:23 UTC (rev 225838)
@@ -1,7 +1,7 @@
 
 PASS Interfaces and attributes in ServiceWorkerGlobalScope 
 PASS test setup (cache creation) 
-FAIL Event constructors assert_equals: Default FetchEvent.clientId should be null expected (object) null but got (string) ""
+FAIL Event constructors assert_equals: Default FetchEvent.isReload should be false expected (boolean) false but got (undefined) undefined
 PASS xhr is not exposed 
 PASS ServiceWorkerGlobalScope interface: existence and properties of interface object 
 PASS ServiceWorkerGlobalScope interface object length 


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/interfaces-worker.sub.js (225837 => 225838)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/interfaces-worker.sub.js	2017-12-13 04:05:33 UTC (rev 225837)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/interfaces-worker.sub.js	2017-12-13 04:47:23 UTC (rev 225838)
@@ -55,7 +55,7 @@
   false, 'Default FetchEvent.bubbles should be false');
 assert_equals(
   new FetchEvent('FetchEvent', {request: req}).clientId,
-  null, 'Default FetchEvent.clientId should be null');
+  '', 'Default FetchEvent.clientId should be the empty string');
 assert_equals(
   new FetchEvent('FetchEvent', {request: req}).isReload,
   false, 'Default FetchEvent.isReload should be false');






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225837] trunk/Source/WebCore

2017-12-12 Thread zalan
Title: [225837] trunk/Source/WebCore








Revision 225837
Author za...@apple.com
Date 2017-12-12 20:05:33 -0800 (Tue, 12 Dec 2017)


Log Message
is reports the input type.
https://bugs.webkit.org/show_bug.cgi?id=180721


Reviewed by Ryosuke Niwa.

This patch ensures that is consistently returns true even
when the input type changes from text to non-text (checkbox etc).

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::selectText):
* dom/Element.h:
(WebCore::Element::isTextFormControlElement const):
(WebCore::Element::isTextField const):
(WebCore::Element::isTextFormControl const): Deleted.
* editing/Editor.cpp:
(WebCore::Editor::selectionForCommand):
(WebCore::Editor::setBaseWritingDirection):
(WebCore::findFirstMarkable):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::selectAll):
* html/FormController.cpp:
(WebCore::FormController::formElementsCharacterCount const):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::directionality const):
* html/HTMLInputElement.h:
* html/HTMLTextAreaElement.h:
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::didEditInnerTextValue):
(WebCore::HTMLTextFormControlElement::selectedText const):
(WebCore::HTMLTextFormControlElement::setSelectionRange):
(WebCore::HTMLTextFormControlElement::selectionStart const):
(WebCore::HTMLTextFormControlElement::computeSelectionStart const):
(WebCore::HTMLTextFormControlElement::selectionEnd const):
(WebCore::HTMLTextFormControlElement::computeSelectionEnd const):
(WebCore::HTMLTextFormControlElement::selectionDirection const):
(WebCore::HTMLTextFormControlElement::computeSelectionDirection const):
(WebCore::HTMLTextFormControlElement::selection const):
(WebCore::HTMLTextFormControlElement::selectionChanged):
(WebCore::HTMLTextFormControlElement::lastChangeWasUserEdit const):
(WebCore::HTMLTextFormControlElement::setInnerTextValue):
(WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks const):
(WebCore::enclosingTextFormControl):
* html/HTMLTextFormControlElement.h:
(isType):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::isOverTextInsideFormControlElement const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/accessibility/AccessibilityObject.cpp
trunk/Source/WebCore/cssjit/SelectorCompiler.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/editing/Editor.cpp
trunk/Source/WebCore/editing/FrameSelection.cpp
trunk/Source/WebCore/html/FormController.cpp
trunk/Source/WebCore/html/HTMLElement.cpp
trunk/Source/WebCore/html/HTMLInputElement.h
trunk/Source/WebCore/html/HTMLTextAreaElement.h
trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp
trunk/Source/WebCore/html/HTMLTextFormControlElement.h
trunk/Source/WebCore/rendering/HitTestResult.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (225836 => 225837)

--- trunk/Source/WebCore/ChangeLog	2017-12-13 03:51:48 UTC (rev 225836)
+++ trunk/Source/WebCore/ChangeLog	2017-12-13 04:05:33 UTC (rev 225837)
@@ -1,3 +1,53 @@
+2017-12-12  Zalan Bujtas  
+
+is reports the input type.
+https://bugs.webkit.org/show_bug.cgi?id=180721
+
+
+Reviewed by Ryosuke Niwa.
+
+This patch ensures that is consistently returns true even
+when the input type changes from text to non-text (checkbox etc).
+
+* accessibility/AccessibilityObject.cpp:
+(WebCore::AccessibilityObject::selectText):
+* dom/Element.h:
+(WebCore::Element::isTextFormControlElement const):
+(WebCore::Element::isTextField const):
+(WebCore::Element::isTextFormControl const): Deleted.
+* editing/Editor.cpp:
+(WebCore::Editor::selectionForCommand):
+(WebCore::Editor::setBaseWritingDirection):
+(WebCore::findFirstMarkable):
+* editing/FrameSelection.cpp:
+(WebCore::FrameSelection::selectAll):
+* html/FormController.cpp:
+(WebCore::FormController::formElementsCharacterCount const):
+* html/HTMLElement.cpp:
+(WebCore::HTMLElement::directionality const):
+* html/HTMLInputElement.h:
+* html/HTMLTextAreaElement.h:
+* html/HTMLTextFormControlElement.cpp:
+(WebCore::HTMLTextFormControlElement::didEditInnerTextValue):
+(WebCore::HTMLTextFormControlElement::selectedText const):
+(WebCore::HTMLTextFormControlElement::setSelectionRange):
+(WebCore::HTMLTextFormControlElement::selectionStart const):
+(WebCore::HTMLTextFormControlElement::computeSelectionStart const):
+(WebCore::HTMLTextFormControlElement::selectionEnd const):
+(WebCore::HTMLTextFormControlElement::computeSelectionEnd const):
+(WebCore::HTMLTextFormControlElement::selectionDirection const):
+(WebCore::HTMLTextFormControlElement::computeSelectionDirection const):
+(WebCore::HTMLTextFormControlElement::selection const):
+(WebCore::HTMLTextFormControlElement::selectionChanged):
+(WebCore::HTMLTextForm

[webkit-changes] [225836] trunk/Source/WebCore

2017-12-12 Thread dino
Title: [225836] trunk/Source/WebCore








Revision 225836
Author d...@apple.com
Date 2017-12-12 19:51:48 -0800 (Tue, 12 Dec 2017)


Log Message
Unify some WebGL sources
https://bugs.webkit.org/show_bug.cgi?id=180726

Rubber-stamped by Keith, weeks ago.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* html/canvas/WebGLRenderingContextBase.cpp:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Sources.txt
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (225835 => 225836)

--- trunk/Source/WebCore/ChangeLog	2017-12-13 03:26:39 UTC (rev 225835)
+++ trunk/Source/WebCore/ChangeLog	2017-12-13 03:51:48 UTC (rev 225836)
@@ -1,3 +1,14 @@
+2017-12-12  Dean Jackson  
+
+Unify some WebGL sources
+https://bugs.webkit.org/show_bug.cgi?id=180726
+
+Rubber-stamped by Keith, weeks ago.
+
+* Sources.txt:
+* WebCore.xcodeproj/project.pbxproj:
+* html/canvas/WebGLRenderingContextBase.cpp:
+
 2017-12-12  Michael Catanzaro  
 
 Unreviewed, fix !ENABLE(MEDIA_STREAM) build after r225822


Modified: trunk/Source/WebCore/Sources.txt (225835 => 225836)

--- trunk/Source/WebCore/Sources.txt	2017-12-13 03:26:39 UTC (rev 225835)
+++ trunk/Source/WebCore/Sources.txt	2017-12-13 03:51:48 UTC (rev 225836)
@@ -1054,6 +1054,7 @@
 html/ValidationMessage.cpp
 html/WeekInputType.cpp
 
+html/canvas/ANGLEInstancedArrays.cpp
 html/canvas/CanvasGradient.cpp
 html/canvas/CanvasPath.cpp
 html/canvas/CanvasPattern.cpp
@@ -1062,9 +1063,48 @@
 html/canvas/CanvasRenderingContext2DBase.cpp
 html/canvas/CanvasStyle.cpp
 html/canvas/ImageBitmapRenderingContext.cpp
+html/canvas/OESElementIndexUint.cpp
+html/canvas/OESStandardDerivatives.cpp
+html/canvas/OESTextureFloat.cpp
+html/canvas/OESTextureFloatLinear.cpp
+html/canvas/OESTextureHalfFloat.cpp
+html/canvas/OESTextureHalfFloatLinear.cpp
+html/canvas/OESVertexArrayObject.cpp
 html/canvas/OffscreenCanvasRenderingContext2D.cpp
 html/canvas/Path2D.cpp
 html/canvas/PlaceholderRenderingContext.cpp
+html/canvas/WebGL2RenderingContext.cpp
+html/canvas/WebGLBuffer.cpp
+html/canvas/WebGLCompressedTextureATC.cpp
+html/canvas/WebGLCompressedTexturePVRTC.cpp
+html/canvas/WebGLCompressedTextureS3TC.cpp
+html/canvas/WebGLContextEvent.cpp
+html/canvas/WebGLContextGroup.cpp
+html/canvas/WebGLContextObject.cpp
+html/canvas/WebGLDebugRendererInfo.cpp
+html/canvas/WebGLDebugShaders.cpp
+html/canvas/WebGLDepthTexture.cpp
+html/canvas/WebGLDrawBuffers.cpp
+html/canvas/WebGLExtension.cpp
+html/canvas/WebGLFramebuffer.cpp
+html/canvas/WebGLLoseContext.cpp
+html/canvas/WebGLObject.cpp
+html/canvas/WebGLProgram.cpp
+html/canvas/WebGLQuery.cpp
+html/canvas/WebGLRenderbuffer.cpp
+html/canvas/WebGLRenderingContext.cpp
+html/canvas/WebGLRenderingContextBase.cpp
+html/canvas/WebGLSampler.cpp
+html/canvas/WebGLShader.cpp
+html/canvas/WebGLShaderPrecisionFormat.cpp
+html/canvas/WebGLSharedObject.cpp
+html/canvas/WebGLSync.cpp
+html/canvas/WebGLTexture.cpp
+html/canvas/WebGLTransformFeedback.cpp
+html/canvas/WebGLUniformLocation.cpp
+html/canvas/WebGLVertexArrayObject.cpp
+html/canvas/WebGLVertexArrayObjectBase.cpp
+html/canvas/WebGLVertexArrayObjectOES.cpp
 html/canvas/WebGPUBuffer.cpp
 html/canvas/WebGPUCommandBuffer.cpp
 html/canvas/WebGPUCommandQueue.cpp
@@ -1498,6 +1538,7 @@
 
 platform/encryptedmedia/CDMFactory.cpp
 
+platform/graphics/ANGLEWebKitBridge.cpp
 platform/graphics/BitmapImage.cpp
 platform/graphics/Color.cpp
 platform/graphics/ColorUtilities.cpp


Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (225835 => 225836)

--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2017-12-13 03:26:39 UTC (rev 225835)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2017-12-13 03:51:48 UTC (rev 225836)
@@ -52,11 +52,8 @@
 		00B9318813BA8DBA0035A948 /* XMLDocumentParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 00B9318213BA867F0035A948 /* XMLDocumentParser.h */; };
 		00B9318C13BA8DCC0035A948 /* XMLDocumentParserScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 00B9318613BA867F0035A948 /* XMLDocumentParserScope.h */; };
 		00C60E3F13D76D7E0092A275 /* MarkupTokenizerInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 00C60E3E13D76D7E0092A275 /* MarkupTokenizerInlines.h */; };
-		01D3CF8214BD0A3000FE9970 /* WebGLContextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01D3CF7C14BD0A3000FE9970 /* WebGLContextGroup.cpp */; };
 		01D3CF8314BD0A3000FE9970 /* WebGLContextGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 01D3CF7D14BD0A3000FE9970 /* WebGLContextGroup.h */; };
-		01D3CF8414BD0A3000FE9970 /* WebGLContextObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01D3CF7E14BD0A3000FE9970 /* WebGLContextObject.cpp */; };
 		01D3CF8514BD0A3000FE9970 /* WebGLContextObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 01D3CF7F14BD0A3000FE9970 /* WebGLContextObject.h */; };
-

[webkit-changes] [225835] trunk/Source/JavaScriptCore

2017-12-12 Thread fpizlo
Title: [225835] trunk/Source/_javascript_Core








Revision 225835
Author fpi...@apple.com
Date 2017-12-12 19:26:39 -0800 (Tue, 12 Dec 2017)


Log Message
Structure, StructureRareData, and PropertyTable should be in IsoSubspaces
https://bugs.webkit.org/show_bug.cgi?id=180732

Rubber stamped by Mark Lam.

We should eventually move all fixed-size cells into IsoSubspaces. I don't know if they are
scalable enough to support that, so we should do it carefully.

* heap/MarkedSpace.cpp:
* runtime/PropertyMapHashTable.h:
* runtime/Structure.h:
* runtime/StructureRareData.h:
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/heap/MarkedSpace.cpp
trunk/Source/_javascript_Core/runtime/PropertyMapHashTable.h
trunk/Source/_javascript_Core/runtime/Structure.h
trunk/Source/_javascript_Core/runtime/StructureRareData.h
trunk/Source/_javascript_Core/runtime/VM.cpp
trunk/Source/_javascript_Core/runtime/VM.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (225834 => 225835)

--- trunk/Source/_javascript_Core/ChangeLog	2017-12-13 03:04:22 UTC (rev 225834)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-12-13 03:26:39 UTC (rev 225835)
@@ -1,3 +1,21 @@
+2017-12-12  Filip Pizlo  
+
+Structure, StructureRareData, and PropertyTable should be in IsoSubspaces
+https://bugs.webkit.org/show_bug.cgi?id=180732
+
+Rubber stamped by Mark Lam.
+
+We should eventually move all fixed-size cells into IsoSubspaces. I don't know if they are
+scalable enough to support that, so we should do it carefully.
+
+* heap/MarkedSpace.cpp:
+* runtime/PropertyMapHashTable.h:
+* runtime/Structure.h:
+* runtime/StructureRareData.h:
+* runtime/VM.cpp:
+(JSC::VM::VM):
+* runtime/VM.h:
+
 2017-12-12  Saam Barati  
 
 We need to model effects of Spread(@PhantomCreateRest) in Clobberize/PreciseLocalClobberize


Modified: trunk/Source/_javascript_Core/heap/MarkedSpace.cpp (225834 => 225835)

--- trunk/Source/_javascript_Core/heap/MarkedSpace.cpp	2017-12-13 03:04:22 UTC (rev 225834)
+++ trunk/Source/_javascript_Core/heap/MarkedSpace.cpp	2017-12-13 03:26:39 UTC (rev 225835)
@@ -134,13 +134,10 @@
 // Manually inject size classes for objects we know will be allocated in high volume.
 // FIXME: All of these things should have IsoSubspaces.
 // https://bugs.webkit.org/show_bug.cgi?id=179876
-add(sizeof(UnlinkedFunctionExecutable));
 add(sizeof(UnlinkedFunctionCodeBlock));
 add(sizeof(FunctionCodeBlock));
 add(sizeof(JSString));
 add(sizeof(JSFunction));
-add(sizeof(PropertyTable));
-add(sizeof(Structure));
 
 {
 // Sort and deduplicate.


Modified: trunk/Source/_javascript_Core/runtime/PropertyMapHashTable.h (225834 => 225835)

--- trunk/Source/_javascript_Core/runtime/PropertyMapHashTable.h	2017-12-13 03:04:22 UTC (rev 225834)
+++ trunk/Source/_javascript_Core/runtime/PropertyMapHashTable.h	2017-12-13 03:26:39 UTC (rev 225835)
@@ -121,6 +121,12 @@
 typedef JSCell Base;
 static const unsigned StructureFlags = Base::StructureFlags | StructureIsImmortal;
 
+template
+static IsoSubspace* subspaceFor(VM& vm)
+{
+return &vm.propertyTableSpace;
+}
+
 static const bool needsDestruction = true;
 static void destroy(JSCell*);
 


Modified: trunk/Source/_javascript_Core/runtime/Structure.h (225834 => 225835)

--- trunk/Source/_javascript_Core/runtime/Structure.h	2017-12-13 03:04:22 UTC (rev 225834)
+++ trunk/Source/_javascript_Core/runtime/Structure.h	2017-12-13 03:26:39 UTC (rev 225835)
@@ -134,6 +134,12 @@
 static Structure* create(PolyProtoTag, VM&, JSGlobalObject*, JSObject* prototype, const TypeInfo&, const ClassInfo*, IndexingType = NonArray, unsigned inlineCapacity = 0);
 
 ~Structure();
+
+template
+static IsoSubspace* subspaceFor(VM& vm)
+{
+return &vm.structureSpace;
+}
 
 protected:
 void finishCreation(VM& vm)


Modified: trunk/Source/_javascript_Core/runtime/StructureRareData.h (225834 => 225835)

--- trunk/Source/_javascript_Core/runtime/StructureRareData.h	2017-12-13 03:04:22 UTC (rev 225834)
+++ trunk/Source/_javascript_Core/runtime/StructureRareData.h	2017-12-13 03:26:39 UTC (rev 225835)
@@ -43,6 +43,12 @@
 typedef JSCell Base;
 static const unsigned StructureFlags = Base::StructureFlags | StructureIsImmortal;
 
+template
+static IsoSubspace* subspaceFor(VM& vm)
+{
+return &vm.structureRareDataSpace;
+}
+
 static StructureRareData* create(VM&, Structure*);
 
 static const bool needsDestruction = true;


Modified: trunk/Source/_javascript_Core/runtime/VM.cpp (225834 => 225835)

--- trunk/Source/_javascript_Core/runtime/VM.cpp	2017-12-13 03:04:22 UTC (rev 225834)
+++ trunk/Source/_java

[webkit-changes] [225834] trunk

2017-12-12 Thread sbarati
Title: [225834] trunk








Revision 225834
Author sbar...@apple.com
Date 2017-12-12 19:04:22 -0800 (Tue, 12 Dec 2017)


Log Message
We need to model effects of Spread(@PhantomCreateRest) in Clobberize/PreciseLocalClobberize
https://bugs.webkit.org/show_bug.cgi?id=180725


Reviewed by Michael Saboff.

JSTests:

* stress/model-effects-properly-of-spread-over-phantom-create-rest.js: Added.
(f1):
(f2):
(let.o2.valueOf):

Source/_javascript_Core:

* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGPreciseLocalClobberize.h:
(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGClobberize.h
trunk/Source/_javascript_Core/dfg/DFGPreciseLocalClobberize.h


Added Paths

trunk/JSTests/stress/model-effects-properly-of-spread-over-phantom-create-rest.js




Diff

Modified: trunk/JSTests/ChangeLog (225833 => 225834)

--- trunk/JSTests/ChangeLog	2017-12-13 02:52:43 UTC (rev 225833)
+++ trunk/JSTests/ChangeLog	2017-12-13 03:04:22 UTC (rev 225834)
@@ -1,3 +1,16 @@
+2017-12-12  Saam Barati  
+
+We need to model effects of Spread(@PhantomCreateRest) in Clobberize/PreciseLocalClobberize
+https://bugs.webkit.org/show_bug.cgi?id=180725
+
+
+Reviewed by Michael Saboff.
+
+* stress/model-effects-properly-of-spread-over-phantom-create-rest.js: Added.
+(f1):
+(f2):
+(let.o2.valueOf):
+
 2017-12-12  Yusuke Suzuki  
 
 [JSC] Implement optimized WeakMap and WeakSet


Added: trunk/JSTests/stress/model-effects-properly-of-spread-over-phantom-create-rest.js (0 => 225834)

--- trunk/JSTests/stress/model-effects-properly-of-spread-over-phantom-create-rest.js	(rev 0)
+++ trunk/JSTests/stress/model-effects-properly-of-spread-over-phantom-create-rest.js	2017-12-13 03:04:22 UTC (rev 225834)
@@ -0,0 +1,25 @@
+"use strict";
+function f1(o) {
+let result = [];
+for (let key of Object.getOwnPropertyNames(o)) {
+result.push(key)
+}
+return result;
+}
+function f2(a1, a2, ...args) {
+let r = f1(a1);
+let index = r[a2 % r.length];
+a1[index](...args)
+}
+let theObj = {};
+let o2 = {
+valueOf: function (a, b) {
+a === 42
+b === theObj
+try {} catch (e) {}
+}
+};
+for (let i = 0; i < 1e5; ++i) {
+for (let j = 0; j < 100; j++) {}
+f2(o2, 897989, 42, theObj);
+}


Modified: trunk/Source/_javascript_Core/ChangeLog (225833 => 225834)

--- trunk/Source/_javascript_Core/ChangeLog	2017-12-13 02:52:43 UTC (rev 225833)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-12-13 03:04:22 UTC (rev 225834)
@@ -1,3 +1,16 @@
+2017-12-12  Saam Barati  
+
+We need to model effects of Spread(@PhantomCreateRest) in Clobberize/PreciseLocalClobberize
+https://bugs.webkit.org/show_bug.cgi?id=180725
+
+
+Reviewed by Michael Saboff.
+
+* dfg/DFGClobberize.h:
+(JSC::DFG::clobberize):
+* dfg/DFGPreciseLocalClobberize.h:
+(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):
+
 2017-12-12  Yusuke Suzuki  
 
 [JSC] Implement optimized WeakMap and WeakSet


Modified: trunk/Source/_javascript_Core/dfg/DFGClobberize.h (225833 => 225834)

--- trunk/Source/_javascript_Core/dfg/DFGClobberize.h	2017-12-13 02:52:43 UTC (rev 225833)
+++ trunk/Source/_javascript_Core/dfg/DFGClobberize.h	2017-12-13 03:04:22 UTC (rev 225834)
@@ -1312,6 +1312,9 @@
 }
 
 case Spread: {
+if (node->child1()->op() == PhantomCreateRest)
+read(Stack);
+
 if (node->child1().useKind() == ArrayUse) {
 // FIXME: We can probably CSE these together, but we need to construct the right rules
 // to prove that nobody writes to child1() in between two Spreads: https://bugs.webkit.org/show_bug.cgi?id=164531


Modified: trunk/Source/_javascript_Core/dfg/DFGPreciseLocalClobberize.h (225833 => 225834)

--- trunk/Source/_javascript_Core/dfg/DFGPreciseLocalClobberize.h	2017-12-13 02:52:43 UTC (rev 225833)
+++ trunk/Source/_javascript_Core/dfg/DFGPreciseLocalClobberize.h	2017-12-13 03:04:22 UTC (rev 225834)
@@ -120,8 +120,8 @@
 m_read(VirtualRegister(inlineCallFrame->stackOffset + CallFrameSlot::argumentCount));
 };
 
-auto readPhantomSpreadNode = [&] (Node* spread) {
-ASSERT(spread->op() == PhantomSpread);
+auto readSpreadOfPhantomCreateRest = [&] (Node* spread) {
+ASSERT(spread->op() == Spread || spread->op() == PhantomSpread);
 ASSERT(spread->child1()->op() == PhantomCreateRest);
 InlineCallFrame* inlineCallFrame = spread->child1()->origin.semantic.inlineCallFrame;
 unsigned numberOfArgumentsToSkip = spread->child1()->numberOfArgumentsToSkip();
@@ -135,7 +135,7 @@
 if (bitVector->get(i)) {
 Node* child = m_graph.varArgChild(arrayWithSpread, i).node();
 if (child-

[webkit-changes] [225833] trunk

2017-12-12 Thread dbates
Title: [225833] trunk








Revision 225833
Author dba...@webkit.org
Date 2017-12-12 18:52:43 -0800 (Tue, 12 Dec 2017)


Log Message
[WK] Add modern WebKit SPI to set auto fill button type and query if the auto fill button is enabled
https://bugs.webkit.org/show_bug.cgi?id=180686

Reviewed by Alex Christensen.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
(-[WKWebProcessPlugInNodeHandle isHTMLInputElementAutoFillButtonEnabled]):
(toAutoFillButtonType):
(-[WKWebProcessPlugInNodeHandle setHTMLInputElementAutoFillButtonEnabledWithButtonType:]):
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandlePrivate.h:

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/ClickAutoFillButton.mm:
(-[ClickAutoFillButton webProcessPlugIn:didCreateBrowserContextController:]):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
trunk/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm
trunk/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ClickAutoFillButton.mm


Added Paths

trunk/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandlePrivate.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (225832 => 225833)

--- trunk/Source/WebKit/ChangeLog	2017-12-13 02:49:00 UTC (rev 225832)
+++ trunk/Source/WebKit/ChangeLog	2017-12-13 02:52:43 UTC (rev 225833)
@@ -1,3 +1,18 @@
+2017-12-12  Daniel Bates  
+
+[WK] Add modern WebKit SPI to set auto fill button type and query if the auto fill button is enabled
+https://bugs.webkit.org/show_bug.cgi?id=180686
+
+Reviewed by Alex Christensen.
+
+* WebKit.xcodeproj/project.pbxproj:
+* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
+(-[WKWebProcessPlugInNodeHandle isHTMLInputElementAutoFillButtonEnabled]):
+(toAutoFillButtonType):
+(-[WKWebProcessPlugInNodeHandle setHTMLInputElementAutoFillButtonEnabledWithButtonType:]):
+* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h:
+* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandlePrivate.h:
+
 2017-12-12  John Wilander  
 
 Storage Access API: Implement frame-specific access in the network storage session layer


Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (225832 => 225833)

--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2017-12-13 02:49:00 UTC (rev 225832)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2017-12-13 02:52:43 UTC (rev 225833)
@@ -2025,6 +2025,7 @@
 		CE1A0BD51A48E6C60054EF74 /* ManagedConfigurationSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1A0BCF1A48E6C60054EF74 /* ManagedConfigurationSPI.h */; };
 		CE1A0BD61A48E6C60054EF74 /* TCCSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1A0BD01A48E6C60054EF74 /* TCCSPI.h */; };
 		CE1A0BD71A48E6C60054EF74 /* TextInputSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1A0BD11A48E6C60054EF74 /* TextInputSPI.h */; };
+		CEC8F9CB1FDF5870002635E7 /* WKWebProcessPlugInNodeHandlePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = CEC8F9CA1FDF5870002635E7 /* WKWebProcessPlugInNodeHandlePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		CEDA12E2152CD1AE00D9E08D /* WebAlternativeTextClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEDA12DF152CCAE800D9E08D /* WebAlternativeTextClient.cpp */; };
 		CEDA12E3152CD1B300D9E08D /* WebAlternativeTextClient.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA12DE152CCAE800D9E08D /* WebAlternativeTextClient.h */; };
 		CEE4AE2B1A5DCF430002F49B /* UIKitSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CEE4AE2A1A5DCF430002F49B /* UIKitSPI.h */; };
@@ -4487,6 +4488,7 @@
 		CE1A0BCF1A48E6C60054EF74 /* ManagedConfigurationSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ManagedConfigurationSPI.h; sourceTree = ""; };
 		CE1A0BD01A48E6C60054EF74 /* TCCSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TCCSPI.h; sourceTree = ""; };
 		CE1A0BD11A48E6C60054EF74 /* TextInputSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextInputSPI.h; sourceTree = ""; };
+		CEC8F9CA1FDF5870002635E7 /* WKWebProcessPlugInNodeHandlePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WKWebProcessPlugInNodeHandlePrivate.h; sourceTree = ""; };
 		CEDA12DE152CCAE800D9E08D /* WebAlternativeTextClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebAlternativeTextClient.h; sourceTree = ""; };
 		CEDA12DF152CCAE800D9E08D /* WebAlternativeTextClient.cpp */ = {isa = PBXFileReference; 

[webkit-changes] [225831] trunk/Source

2017-12-12 Thread fpizlo
Title: [225831] trunk/Source








Revision 225831
Author fpi...@apple.com
Date 2017-12-12 18:35:54 -0800 (Tue, 12 Dec 2017)


Log Message
It should be possible to flag a cell for unconditional finalization
https://bugs.webkit.org/show_bug.cgi?id=180636

Reviewed by Saam Barati.

Source/_javascript_Core:

UnconditionalFinalizers were annoying - you had to allocate them and you had to manage a
global linked list - but they had some nice properties:

- You only did the hardest work (creating the UnconditionalFinalizer) on first GC where you
  survived and needed it.
-> Just needing it wasn't enough.
-> Just surviving wasn't enough.

The new API based on IsoSubspaces meant that just surviving was enough to cause unconditional
finalizer logic to be invoked. I think that's not great. InferredType got around this by
making InferredStructure a cell, but this was a gross hack. For one, it meant that
InferredStructure would survive during the GC in which its finalizer obviated the need for its
existence. It's not really an idiom I want us to repeat because it sounds like the sort of
thing that turns out to be subtly broken.

We really need to have a way of indicating when you have entered into the state that requires
your unconditional finalizer to be invoked. Basically, we want to be able to track the set of
objects that need unconditional finalizers. Only the subset of that set that overlaps with the
set of marked objects needs to be accurate. The easiest way to do this is a hierarchy of
bitvectors: one to say which MarkedBlocks have objects that have unconditional finalizers, and
another level to say which atoms within a MarkedBlock have unconditional finalizers.

This change introduces IsoCellSet, which couples itself to the MarkedAllocator of some
IsoSubspace to allow maintaining a set of objects (well, cells - you could do this with
auxiliaries) that belong to that IsoSubspace. It'll have undefined behavior if you try to
add/remove/contains an object that isn't in that IsoSubspace. For objects in that subspace,
you can add/remove/contains and forEachMarkedCell. The cost of each IsoCellSet is at worst
about 0.8% increase in size to every object in the subspace that the set is attached to. So,
it makes sense to have a handful per subspace max. This change only needs one per subspace,
but you could imagine more if we do this for WeakReferenceHarvester.

To absolutely minimize the possibility that this incurs costs, the add/remove/contains
functions can be used from any thread so long as forEachMarkedCell isn't running. This means
that InferredType only needs to add itself to the set during visitChildren. Thus, it needs to
both survive and need it for the hardest work to take place. The work of adding does involve
a gnarly load chain that ends in a CAS: load block handle from block, load index, load
segment, load bitvector, load bit -> if not set, then CAS. That's five dependent loads!
However, it's perfect for running in parallel since the only write operations are to widely
dispersed cache lines that contain the bits underlying the set.

The best part is how forEachMarkedCell works. That skips blocks that don't have any objects
that need unconditional finalizers, and only touches the memory of marked objects that have
the unconditional finalizer bit set. It will walk those objects in roughly address order. I
previously found that this speeds up walking over a lot of objects when I made similar changes
for DOM GC (calling visitAdditionalChildren via forEachMarkedCell rather than by walking a
HashSet).

This change makes InferredStructure be a malloc object again, but now it's in an IsoHeap.

My expectation for this change is that it's perf-neutral. Long-term, it gives us a path
forward for eliminating UnconditionalFinalizer and WeakReferenceHarvester while using
IsoSubspace in more places.

* _javascript_Core.xcodeproj/project.pbxproj:
* Sources.txt:
* heap/AtomIndices.h: Added.
(JSC::AtomIndices::AtomIndices):
* heap/Heap.cpp:
(JSC::Heap::finalizeUnconditionalFinalizers):
* heap/Heap.h:
* heap/IsoCellSet.cpp: Added.
(JSC::IsoCellSet::IsoCellSet):
(JSC::IsoCellSet::~IsoCellSet):
(JSC::IsoCellSet::addSlow):
(JSC::IsoCellSet::didResizeBits):
(JSC::IsoCellSet::didRemoveBlock):
(JSC::IsoCellSet::sweepToFreeList):
* heap/IsoCellSet.h: Added.
* heap/IsoCellSetInlines.h: Added.
(JSC::IsoCellSet::add):
(JSC::IsoCellSet::remove):
(JSC::IsoCellSet::contains const):
(JSC::IsoCellSet::forEachMarkedCell):
* heap/IsoSubspace.cpp:
(JSC::IsoSubspace::didResizeBits):
(JSC::IsoSubspace::didRemoveBlock):
(JSC::IsoSubspace::didBeginSweepingToFreeList):
* heap/IsoSubspace.h:
* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::addBlock):
(JSC::MarkedAllocator::removeBlock):
* heap/MarkedAllocator.h:
* heap/MarkedAllocatorInlines.h:
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::Handle::sweep):
(JSC::MarkedBlock::Handle::isEmpty): Deleted.
* heap/MarkedBlock.

[webkit-changes] [225830] trunk/Source/WebCore

2017-12-12 Thread mcatanzaro
Title: [225830] trunk/Source/WebCore








Revision 225830
Author mcatanz...@igalia.com
Date 2017-12-12 17:57:45 -0800 (Tue, 12 Dec 2017)


Log Message
Unreviewed, fix !ENABLE(MEDIA_STREAM) build after r225822
https://bugs.webkit.org/show_bug.cgi?id=180666


* html/HTMLMediaElement.cpp:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLMediaElement.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (225829 => 225830)

--- trunk/Source/WebCore/ChangeLog	2017-12-13 01:54:26 UTC (rev 225829)
+++ trunk/Source/WebCore/ChangeLog	2017-12-13 01:57:45 UTC (rev 225830)
@@ -1,3 +1,11 @@
+2017-12-12  Michael Catanzaro  
+
+Unreviewed, fix !ENABLE(MEDIA_STREAM) build after r225822
+https://bugs.webkit.org/show_bug.cgi?id=180666
+
+
+* html/HTMLMediaElement.cpp:
+
 2017-12-12  Alex Christensen  
 
 Fix possible out-of-bounds read in protocolIsInHTTPFamily


Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (225829 => 225830)

--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2017-12-13 01:54:26 UTC (rev 225829)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2017-12-13 01:57:45 UTC (rev 225830)
@@ -6613,11 +6613,13 @@
 m_player->setShouldDisableSleep(shouldDisableSleep == SleepType::Display);
 }
 
+#if ENABLE(MEDIA_STREAM)
 static inline bool isRemoteMediaStreamVideoTrack(RefPtr& item)
 {
 auto* track = item.get();
 return track->privateTrack().type() == RealtimeMediaSource::Type::Video && !track->isCaptureTrack() && !track->isCanvas();
 }
+#endif
 
 HTMLMediaElement::SleepType HTMLMediaElement::shouldDisableSleep() const
 {






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225829] trunk

2017-12-12 Thread achristensen
Title: [225829] trunk








Revision 225829
Author achristen...@apple.com
Date 2017-12-12 17:54:26 -0800 (Tue, 12 Dec 2017)


Log Message
Fix possible out-of-bounds read in protocolIsInHTTPFamily
https://bugs.webkit.org/show_bug.cgi?id=180688

Reviewed by Daniel Bates.

Source/WebCore:

It wouldn't read very far out of bounds, and it would just change a bool return value,
but it's still out of bounds.  Covered by an API test that ASAN wouldn't like.

* platform/URL.cpp:
(WebCore::protocolIsInHTTPFamily):
Check bounds before reading a string.

Tools:

* TestWebKitAPI/Tests/WebCore/URL.cpp:
(TestWebKitAPI::TEST_F):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/URL.cpp
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebCore/URL.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (225828 => 225829)

--- trunk/Source/WebCore/ChangeLog	2017-12-13 01:39:36 UTC (rev 225828)
+++ trunk/Source/WebCore/ChangeLog	2017-12-13 01:54:26 UTC (rev 225829)
@@ -1,3 +1,17 @@
+2017-12-12  Alex Christensen  
+
+Fix possible out-of-bounds read in protocolIsInHTTPFamily
+https://bugs.webkit.org/show_bug.cgi?id=180688
+
+Reviewed by Daniel Bates.
+
+It wouldn't read very far out of bounds, and it would just change a bool return value,
+but it's still out of bounds.  Covered by an API test that ASAN wouldn't like.
+
+* platform/URL.cpp:
+(WebCore::protocolIsInHTTPFamily):
+Check bounds before reading a string.
+
 2017-12-12  Youenn Fablet  
 
 getUserMedia is resolving before the document knows it is capturing


Modified: trunk/Source/WebCore/platform/URL.cpp (225828 => 225829)

--- trunk/Source/WebCore/platform/URL.cpp	2017-12-13 01:39:36 UTC (rev 225828)
+++ trunk/Source/WebCore/platform/URL.cpp	2017-12-13 01:54:26 UTC (rev 225829)
@@ -873,12 +873,14 @@
 
 bool protocolIsInHTTPFamily(const String& url)
 {
+auto length = url.length();
 // Do the comparison without making a new string object.
-return isASCIIAlphaCaselessEqual(url[0], 'h')
+return length >= 5
+&& isASCIIAlphaCaselessEqual(url[0], 'h')
 && isASCIIAlphaCaselessEqual(url[1], 't')
 && isASCIIAlphaCaselessEqual(url[2], 't')
 && isASCIIAlphaCaselessEqual(url[3], 'p')
-&& (url[4] == ':' || (isASCIIAlphaCaselessEqual(url[4], 's') && url[5] == ':'));
+&& (url[4] == ':' || (isASCIIAlphaCaselessEqual(url[4], 's') && length >= 6 && url[5] == ':'));
 }
 
 const URL& blankURL()


Modified: trunk/Tools/ChangeLog (225828 => 225829)

--- trunk/Tools/ChangeLog	2017-12-13 01:39:36 UTC (rev 225828)
+++ trunk/Tools/ChangeLog	2017-12-13 01:54:26 UTC (rev 225829)
@@ -1,3 +1,13 @@
+2017-12-12  Alex Christensen  
+
+Fix possible out-of-bounds read in protocolIsInHTTPFamily
+https://bugs.webkit.org/show_bug.cgi?id=180688
+
+Reviewed by Daniel Bates.
+
+* TestWebKitAPI/Tests/WebCore/URL.cpp:
+(TestWebKitAPI::TEST_F):
+
 2017-12-12  JF Bastien  
 
 makeString: support more integral types


Modified: trunk/Tools/TestWebKitAPI/Tests/WebCore/URL.cpp (225828 => 225829)

--- trunk/Tools/TestWebKitAPI/Tests/WebCore/URL.cpp	2017-12-13 01:39:36 UTC (rev 225828)
+++ trunk/Tools/TestWebKitAPI/Tests/WebCore/URL.cpp	2017-12-13 01:54:26 UTC (rev 225829)
@@ -213,4 +213,22 @@
 EXPECT_EQ(url.string(), url5.string());
 }
 
+TEST_F(URLTest, ProtocolIsInHTTPFamily)
+{
+EXPECT_FALSE(protocolIsInHTTPFamily({}));
+EXPECT_FALSE(protocolIsInHTTPFamily(""));
+EXPECT_FALSE(protocolIsInHTTPFamily("a"));
+EXPECT_FALSE(protocolIsInHTTPFamily("ab"));
+EXPECT_FALSE(protocolIsInHTTPFamily("abc"));
+EXPECT_FALSE(protocolIsInHTTPFamily("abcd"));
+EXPECT_FALSE(protocolIsInHTTPFamily("abcde"));
+EXPECT_FALSE(protocolIsInHTTPFamily("abcdef"));
+EXPECT_FALSE(protocolIsInHTTPFamily("abcdefg"));
+EXPECT_TRUE(protocolIsInHTTPFamily("http:"));
+EXPECT_FALSE(protocolIsInHTTPFamily("http"));
+EXPECT_TRUE(protocolIsInHTTPFamily("https:"));
+EXPECT_FALSE(protocolIsInHTTPFamily("https"));
+EXPECT_TRUE(protocolIsInHTTPFamily("https://!@#$%^&*()"));
+}
+
 } // namespace TestWebKitAPI






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225828] trunk

2017-12-12 Thread commit-queue
Title: [225828] trunk








Revision 225828
Author commit-qu...@webkit.org
Date 2017-12-12 17:39:36 -0800 (Tue, 12 Dec 2017)


Log Message
getUserMedia is resolving before the document knows it is capturing
https://bugs.webkit.org/show_bug.cgi?id=180699

Patch by Youenn Fablet  on 2017-12-12
Reviewed by Eric Carlson.

Source/WebCore:

Covered by updated test.

Ensure the document state is capturing when getUserMedia promise is resolved by doing the following:
- Promise is resolved when MediaStream is producing data.
- MediaStream asks Document to update its state when MediaStream state is updated.

Introduce PendingActivationMediaStream for waiting for the MediaStream to produce data.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::statusDidChange):
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::allow):
(WebCore::UserMediaRequest::contextDestroyed):
(WebCore::UserMediaRequest::PendingActivationMediaStream::PendingActivationMediaStream):
(WebCore::UserMediaRequest::PendingActivationMediaStream::~PendingActivationMediaStream):
(WebCore::UserMediaRequest::PendingActivationMediaStream::characteristicsChanged):
(WebCore::UserMediaRequest::mediaStreamIsReady):
* Modules/mediastream/UserMediaRequest.h:
(WebCore::UserMediaRequest::PendingActivationMediaStream::create):
* platform/mediastream/RealtimeMediaSourceCenter.h:
* WebCore/WebCore.xcodeproj/project.pbxproj:

LayoutTests:

* webrtc/video.html: Adding a check that document is capturing within getUserMedia promise resolution callback.
Adding this check without the changes to WebCore makes the test flaky, sometimes the promise resolution happens
after document state is updated.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/webrtc/video.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp
trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp
trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.h
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h




Diff

Modified: trunk/LayoutTests/ChangeLog (225827 => 225828)

--- trunk/LayoutTests/ChangeLog	2017-12-13 01:20:06 UTC (rev 225827)
+++ trunk/LayoutTests/ChangeLog	2017-12-13 01:39:36 UTC (rev 225828)
@@ -1,3 +1,14 @@
+2017-12-12  Youenn Fablet  
+
+getUserMedia is resolving before the document knows it is capturing
+https://bugs.webkit.org/show_bug.cgi?id=180699
+
+Reviewed by Eric Carlson.
+
+* webrtc/video.html: Adding a check that document is capturing within getUserMedia promise resolution callback.
+Adding this check without the changes to WebCore makes the test flaky, sometimes the promise resolution happens
+after document state is updated.
+
 2017-12-12  John Wilander  
 
 Storage Access API: Implement frame-specific access in the network storage session layer


Modified: trunk/LayoutTests/webrtc/video.html (225827 => 225828)

--- trunk/LayoutTests/webrtc/video.html	2017-12-13 01:20:06 UTC (rev 225827)
+++ trunk/LayoutTests/webrtc/video.html	2017-12-13 01:39:36 UTC (rev 225828)
@@ -44,6 +44,8 @@
 testRunner.setUserMediaPermission(true);
 
 return navigator.mediaDevices.getUserMedia({video: {advanced: [{width:{min:1280}}, {height:{min:720} } ]}}).then((stream) => {
+if (window.internals)
+assert_true(internals.pageMediaState().includes('HasActiveVideoCaptureDevice'), "Unexpected HasActiveVideoCaptureDevice");
 return new Promise((resolve, reject) => {
 createConnections((firstConnection) => {
 var track = stream.getVideoTracks()[0];


Modified: trunk/Source/WebCore/ChangeLog (225827 => 225828)

--- trunk/Source/WebCore/ChangeLog	2017-12-13 01:20:06 UTC (rev 225827)
+++ trunk/Source/WebCore/ChangeLog	2017-12-13 01:39:36 UTC (rev 225828)
@@ -1,3 +1,32 @@
+2017-12-12  Youenn Fablet  
+
+getUserMedia is resolving before the document knows it is capturing
+https://bugs.webkit.org/show_bug.cgi?id=180699
+
+Reviewed by Eric Carlson.
+
+Covered by updated test.
+
+Ensure the document state is capturing when getUserMedia promise is resolved by doing the following:
+- Promise is resolved when MediaStream is producing data.
+- MediaStream asks Document to update its state when MediaStream state is updated.
+
+Introduce PendingActivationMediaStream for waiting for the MediaStream to produce data.
+
+* Modules/mediastream/MediaStream.cpp:
+(WebCore::MediaStream::statusDidChange):
+* Modules/mediastream/UserMediaRequest.cpp:
+(WebCore::UserMediaRequest::allow):
+(WebCore::UserMediaRequest::contextDestroyed):
+(WebCore::UserMediaRequest::PendingActivationMediaStream::PendingActivationMediaStream):
+(WebCore::UserMediaRequest::PendingActivationMediaStream::~PendingActivationMediaStream):
+(WebC

[webkit-changes] [225827] trunk

2017-12-12 Thread wilander
Title: [225827] trunk








Revision 225827
Author wilan...@apple.com
Date 2017-12-12 17:20:06 -0800 (Tue, 12 Dec 2017)


Log Message
Storage Access API: Implement frame-specific access in the network storage session layer
https://bugs.webkit.org/show_bug.cgi?id=180679


Reviewed by Alex Christensen.

Source/WebCore:

Tests: http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame.html
   http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-but-try-access-from-wrong-frame.html

This changes adds frameID and pageID to what is communicated for
storage access and also stored in the network process' table of
partitioning exceptions.

* dom/Document.cpp:
(WebCore::Document::hasStorageAccess):
Now makes use of the new m_hasFrameSpecificStorageAccess to check
if access has already been granted to this document's domain and
frame.
(WebCore::Document::requestStorageAccess):
Now submits frameID and pageID in the request call and sets
m_hasFrameSpecificStorageAccess upon granted access callback.
* dom/Document.h:
* page/ChromeClient.h:
* platform/network/NetworkStorageSession.h:
* platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::cookieStoragePartition const):
(WebCore::NetworkStorageSession::setPrevalentDomainsToPartitionOrBlockCookies):
(WebCore::NetworkStorageSession::isStorageAccessGranted const):
(WebCore::NetworkStorageSession::setStorageAccessGranted):
Now makes use of frameID and pageID for partitioning exceptions.
* platform/network/mac/CookieJarMac.mm:
(WebCore::cookiesInPartitionForURL):
(WebCore::setCookiesFromDOM):
Submits std::nullopt for frameID and pageID.
Follow-up work tracked in https://bugs.webkit.org/show_bug.cgi?id=180682.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::applySniffingPoliciesAndStoragePartitionIfNeeded):
Submits std::nullopt for frameID and pageID.
Follow-up work tracked in https://bugs.webkit.org/show_bug.cgi?id=180682.

Source/WebKit:

This changes adds frameID and pageID to what is communicated for
storage access and also stored in the network process' table of
partitioning exceptions.

* NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::create):
Now stores frameID and pageID for the task for easy retrieval
in the HSTS checks.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::updateStorageAccessForPrevalentDomains):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
These two methods now submit frameID and pageID to the
partitioning query call.
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
These two methods now submit frameID and pageID to the
partitioning query call.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::updateStorageAccessForPrevalentDomains):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestStorageAccess):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::requestStorageAccess):
* UIProcess/WebResourceLoadStatisticsStore.h:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::updateStorageAccessForPrevalentDomainsHandler):
(WebKit::WebsiteDataStore::enableResourceLoadStatisticsAndSetTestingCallback):
(WebKit::WebsiteDataStore::requestStorageAccess):
* UIProcess/WebsiteData/WebsiteDataStore.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::requestStorageAccess):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestStorageAccess):
* WebProcess/WebPage/WebPage.h:

LayoutTests:

Note that the expected results for
request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame.html
accepts the missing part where document.cookie is still partitioned
after storage access has been granted. Follow-up work tracked in
https://bugs.webkit.org/show_bug.cgi?id=180682.

* http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame-expected.txt: Added.
* http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxe

[webkit-changes] [225826] trunk/Source/WebKit

2017-12-12 Thread achristensen
Title: [225826] trunk/Source/WebKit








Revision 225826
Author achristen...@apple.com
Date 2017-12-12 17:18:20 -0800 (Tue, 12 Dec 2017)


Log Message
Modernize WebsiteDataStoreParameters and SandboxExtension::Handle decoding
https://bugs.webkit.org/show_bug.cgi?id=180621

Reviewed by Youenn Fablet.

* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/LoadParameters.cpp:
(WebKit::LoadParameters::decode):
* Shared/SandboxExtension.h:
(WebKit::decode):
(WebKit::SandboxExtension::Handle::decode): Deleted.
* Shared/Storage/StorageProcessCreationParameters.cpp:
(WebKit::StorageProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebsiteDataStoreParameters.cpp:
(WebKit::WebsiteDataStoreParameters::decode):
* Shared/WebsiteDataStoreParameters.h:
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::HandleArray::HandleArray):
(WebKit::SandboxExtension::HandleArray::encode const):
(WebKit::SandboxExtension::HandleArray::decode):
(WebKit::SandboxExtension::SandboxExtension):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp
trunk/Source/WebKit/Shared/LoadParameters.cpp
trunk/Source/WebKit/Shared/SandboxExtension.h
trunk/Source/WebKit/Shared/Storage/StorageProcessCreationParameters.cpp
trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp
trunk/Source/WebKit/Shared/WebsiteDataStoreParameters.cpp
trunk/Source/WebKit/Shared/WebsiteDataStoreParameters.h
trunk/Source/WebKit/Shared/mac/SandboxExtensionMac.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (225825 => 225826)

--- trunk/Source/WebKit/ChangeLog	2017-12-13 01:13:30 UTC (rev 225825)
+++ trunk/Source/WebKit/ChangeLog	2017-12-13 01:18:20 UTC (rev 225826)
@@ -1,3 +1,33 @@
+2017-12-12  Alex Christensen  
+
+Modernize WebsiteDataStoreParameters and SandboxExtension::Handle decoding
+https://bugs.webkit.org/show_bug.cgi?id=180621
+
+Reviewed by Youenn Fablet.
+
+* NetworkProcess/NetworkProcessCreationParameters.cpp:
+(WebKit::NetworkProcessCreationParameters::decode):
+* NetworkProcess/NetworkResourceLoadParameters.cpp:
+(WebKit::NetworkResourceLoadParameters::decode):
+* Shared/LoadParameters.cpp:
+(WebKit::LoadParameters::decode):
+* Shared/SandboxExtension.h:
+(WebKit::decode):
+(WebKit::SandboxExtension::Handle::decode): Deleted.
+* Shared/Storage/StorageProcessCreationParameters.cpp:
+(WebKit::StorageProcessCreationParameters::decode):
+* Shared/WebProcessCreationParameters.cpp:
+(WebKit::WebProcessCreationParameters::decode):
+* Shared/WebsiteDataStoreParameters.cpp:
+(WebKit::WebsiteDataStoreParameters::decode):
+* Shared/WebsiteDataStoreParameters.h:
+* Shared/mac/SandboxExtensionMac.mm:
+(WebKit::SandboxExtension::Handle::decode):
+(WebKit::SandboxExtension::HandleArray::HandleArray):
+(WebKit::SandboxExtension::HandleArray::encode const):
+(WebKit::SandboxExtension::HandleArray::decode):
+(WebKit::SandboxExtension::SandboxExtension):
+
 2017-12-12  John Wilander  
 
 Dispatch resource load statistics telemetry on the main thread


Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp (225825 => 225826)

--- trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp	2017-12-13 01:13:30 UTC (rev 225825)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp	2017-12-13 01:18:20 UTC (rev 225826)
@@ -124,12 +124,22 @@
 return false;
 if (!decoder.decode(result.cacheStoragePerOriginQuota))
 return false;
-if (!decoder.decode(result.cacheStorageDirectoryExtensionHandle))
+
+std::optional cacheStorageDirectoryExtensionHandle;
+decoder >> cacheStorageDirectoryExtensionHandle;
+if (!cacheStorageDirectoryExtensionHandle)
 return false;
+result.cacheStorageDirectoryExtensionHandle = WTFMove(*cacheStorageDirectoryExtensionHandle);
+
 if (!decoder.decode(result.diskCacheDirectory))
 return false;
-if (!decoder.decode(result.diskCacheDirectoryExtensionHandle))
+
+std::optional diskCacheDirectoryExtensionHandle;
+decoder >> diskCacheDirectoryExtensionHandle;
+if (!diskCacheDirectoryExtensionHandle)
 return false;
+result.diskCacheDirectoryExtensionHandle = WTFMove(*diskCacheDirectoryExtensionHandle);
+
 if (!decoder.decode(result.shouldEnableNetworkCache))
 return false;
 if (!decoder.decode(result.shouldEnableNetworkCacheEfficacyLogging))
@@ -143,12 +153

[webkit-changes] [225825] trunk/Source

2017-12-12 Thread jmarcell
Title: [225825] trunk/Source








Revision 225825
Author jmarc...@apple.com
Date 2017-12-12 17:13:30 -0800 (Tue, 12 Dec 2017)


Log Message
Versioning.

Modified Paths

trunk/Source/_javascript_Core/Configurations/Version.xcconfig
trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
trunk/Source/WebCore/Configurations/Version.xcconfig
trunk/Source/WebCore/PAL/Configurations/Version.xcconfig
trunk/Source/WebInspectorUI/Configurations/Version.xcconfig
trunk/Source/WebKit/Configurations/Version.xcconfig
trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: trunk/Source/_javascript_Core/Configurations/Version.xcconfig (225824 => 225825)

--- trunk/Source/_javascript_Core/Configurations/Version.xcconfig	2017-12-13 00:50:34 UTC (rev 225824)
+++ trunk/Source/_javascript_Core/Configurations/Version.xcconfig	2017-12-13 01:13:30 UTC (rev 225825)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 605;
 MINOR_VERSION = 1;
-TINY_VERSION = 17;
+TINY_VERSION = 18;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (225824 => 225825)

--- trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2017-12-13 00:50:34 UTC (rev 225824)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2017-12-13 01:13:30 UTC (rev 225825)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 605;
 MINOR_VERSION = 1;
-TINY_VERSION = 17;
+TINY_VERSION = 18;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/WebCore/Configurations/Version.xcconfig (225824 => 225825)

--- trunk/Source/WebCore/Configurations/Version.xcconfig	2017-12-13 00:50:34 UTC (rev 225824)
+++ trunk/Source/WebCore/Configurations/Version.xcconfig	2017-12-13 01:13:30 UTC (rev 225825)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 605;
 MINOR_VERSION = 1;
-TINY_VERSION = 17;
+TINY_VERSION = 18;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/WebCore/PAL/Configurations/Version.xcconfig (225824 => 225825)

--- trunk/Source/WebCore/PAL/Configurations/Version.xcconfig	2017-12-13 00:50:34 UTC (rev 225824)
+++ trunk/Source/WebCore/PAL/Configurations/Version.xcconfig	2017-12-13 01:13:30 UTC (rev 225825)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 605;
 MINOR_VERSION = 1;
-TINY_VERSION = 17;
+TINY_VERSION = 18;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/WebInspectorUI/Configurations/Version.xcconfig (225824 => 225825)

--- trunk/Source/WebInspectorUI/Configurations/Version.xcconfig	2017-12-13 00:50:34 UTC (rev 225824)
+++ trunk/Source/WebInspectorUI/Configurations/Version.xcconfig	2017-12-13 01:13:30 UTC (rev 225825)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 605;
 MINOR_VERSION = 1;
-TINY_VERSION = 17;
+TINY_VERSION = 18;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/WebKit/Configurations/Version.xcconfig (225824 => 225825)

--- trunk/Source/WebKit/Configurations/Version.xcconfig	2017-12-13 00:50:34 UTC (rev 225824)
+++ trunk/Source/WebKit/Configurations/Version.xcconfig	2017-12-13 01:13:30 UTC (rev 225825)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 605;
 MINOR_VERSION = 1;
-TINY_VERSION = 17;
+TINY_VERSION = 18;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig (225824 => 225825)

--- trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig	2017-12-13 00:50:34 UTC (rev 225824)
+++ trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig	2017-12-13 01:13:30 UTC (rev 225825)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 605;
 MINOR_VERSION = 1;
-TINY_VERSION = 17;
+TINY_VERSION = 18;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225824] trunk

2017-12-12 Thread jfbastien
Title: [225824] trunk








Revision 225824
Author jfbast...@apple.com
Date 2017-12-12 16:50:34 -0800 (Tue, 12 Dec 2017)


Log Message
makeString: support more integral types
https://bugs.webkit.org/show_bug.cgi?id=180720

Reviewed by Sam Weinig.

Source/WTF:

Only some integral types worked. Add more types by using template
magic. While we're here, also use the same magic for
floating-point types in the theoretical future where short float
or long double matter.

The core of the magic is a second, defaulted, template
parameter. It's declared in Forward.h (as void), and then in
classes where we want to enable_if we use it (in C++ speak we
create a partial class template specialization), otherwise we
leave it as void.

Also clean up some constructors which were being way too verbose
in stating that they were declarations for this template
specialization right here, when really we already knew that.

* wtf/Forward.h:
* wtf/text/StringConcatenate.h:
(WTF::StringTypeAdapter::StringTypeAdapter): Deleted.
(WTF::StringTypeAdapter::length): Deleted.
(WTF::StringTypeAdapter::is8Bit): Deleted.
(WTF::StringTypeAdapter::writeTo const): Deleted.
(WTF::StringTypeAdapter::toString const): Deleted.
(WTF::StringTypeAdapter::StringTypeAdapter): Deleted.
(WTF::StringTypeAdapter::length const): Deleted.
(WTF::StringTypeAdapter::is8Bit const): Deleted.
(WTF::StringTypeAdapter::writeTo const): Deleted.
(WTF::StringTypeAdapter::toString const): Deleted.
(WTF::StringTypeAdapter::StringTypeAdapter): Deleted.
(WTF::StringTypeAdapter>::StringTypeAdapter): Deleted.
(WTF::StringTypeAdapter>::length const): Deleted.
(WTF::StringTypeAdapter>::is8Bit const): Deleted.
(WTF::StringTypeAdapter>::writeTo const): Deleted.
(WTF::StringTypeAdapter>::toString const): Deleted.
(WTF::StringTypeAdapter::StringTypeAdapter): Deleted.
(WTF::StringTypeAdapter::length const): Deleted.
(WTF::StringTypeAdapter::is8Bit const): Deleted.
(WTF::StringTypeAdapter::writeTo const): Deleted.
(WTF::StringTypeAdapter::toString const): Deleted.
(WTF::StringTypeAdapter::StringTypeAdapter): Deleted.
* wtf/text/StringConcatenateNumbers.h:
(WTF::StringTypeAdapter::StringTypeAdapter):
(WTF::StringTypeAdapter::StringTypeAdapter): Deleted.
(WTF::StringTypeAdapter::length const): Deleted.
(WTF::StringTypeAdapter::is8Bit const): Deleted.
(WTF::StringTypeAdapter::writeTo const): Deleted.
(WTF::StringTypeAdapter::toString const): Deleted.
(WTF::StringTypeAdapter::StringTypeAdapter): Deleted.
(WTF::StringTypeAdapter::length const): Deleted.
(WTF::StringTypeAdapter::is8Bit const): Deleted.
(WTF::StringTypeAdapter::writeTo const): Deleted.
(WTF::StringTypeAdapter::toString const): Deleted.
(WTF::StringTypeAdapter::StringTypeAdapter): Deleted.
(WTF::StringTypeAdapter::length const): Deleted.
(WTF::StringTypeAdapter::is8Bit const): Deleted.
(WTF::StringTypeAdapter::writeTo const): Deleted.
(WTF::StringTypeAdapter::toString const): Deleted.
(WTF::StringTypeAdapter::StringTypeAdapter): Deleted.
(WTF::StringTypeAdapter::StringTypeAdapter): Deleted.
* wtf/text/StringView.h:
(WTF::StringTypeAdapter::StringTypeAdapter): Deleted.
(WTF::StringTypeAdapter::length): Deleted.
(WTF::StringTypeAdapter::is8Bit): Deleted.
(WTF::StringTypeAdapter::writeTo): Deleted.
(WTF::StringTypeAdapter::toString const): Deleted.

Tools:

Test a few more types can be made string'd.

* TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
(TestWebKitAPI::TEST):

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/Forward.h
trunk/Source/WTF/wtf/text/StringConcatenate.h
trunk/Source/WTF/wtf/text/StringConcatenateNumbers.h
trunk/Source/WTF/wtf/text/StringView.h
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WTF/StringConcatenate.cpp




Diff

Modified: trunk/Source/WTF/ChangeLog (225823 => 225824)

--- trunk/Source/WTF/ChangeLog	2017-12-13 00:43:07 UTC (rev 225823)
+++ trunk/Source/WTF/ChangeLog	2017-12-13 00:50:34 UTC (rev 225824)
@@ -1,3 +1,76 @@
+2017-12-12  JF Bastien  
+
+makeString: support more integral types
+https://bugs.webkit.org/show_bug.cgi?id=180720
+
+Reviewed by Sam Weinig.
+
+Only some integral types worked. Add more types by using template
+magic. While we're here, also use the same magic for
+floating-point types in the theoretical future where short float
+or long double matter.
+
+The core of the magic is a second, defaulted, template
+parameter. It's declared in Forward.h (as void), and then in
+classes where we want to enable_if we use it (in C++ speak we
+create a partial class template specialization), otherwise we
+leave it as void.
+
+Also clean up some constructors which were being way too verbose
+in stating that they were declarations for this template
+specialization right here, when really we already knew that.
+
+* wtf/Forward.h:
+* wtf/text/StringConcatenate.h:
+(WTF::StringTypeAdapter::StringTypeAdapter): Deleted.
+(W

[webkit-changes] [225823] tags/Safari-605.1.17/Source/JavaScriptCore

2017-12-12 Thread jmarcell
Title: [225823] tags/Safari-605.1.17/Source/_javascript_Core








Revision 225823
Author jmarc...@apple.com
Date 2017-12-12 16:43:07 -0800 (Tue, 12 Dec 2017)


Log Message
Revert r225695. rdar://problem/35914716

Modified Paths

tags/Safari-605.1.17/Source/_javascript_Core/ChangeLog
tags/Safari-605.1.17/Source/_javascript_Core/runtime/RegExp.cpp
tags/Safari-605.1.17/Source/_javascript_Core/runtime/RegExp.h
tags/Safari-605.1.17/Source/_javascript_Core/runtime/RegExpInlines.h
tags/Safari-605.1.17/Source/_javascript_Core/testRegExp.cpp
tags/Safari-605.1.17/Source/_javascript_Core/yarr/Yarr.h
tags/Safari-605.1.17/Source/_javascript_Core/yarr/YarrInterpreter.cpp
tags/Safari-605.1.17/Source/_javascript_Core/yarr/YarrJIT.cpp
tags/Safari-605.1.17/Source/_javascript_Core/yarr/YarrJIT.h
tags/Safari-605.1.17/Source/_javascript_Core/yarr/YarrPattern.cpp
tags/Safari-605.1.17/Source/_javascript_Core/yarr/YarrPattern.h




Diff

Modified: tags/Safari-605.1.17/Source/_javascript_Core/ChangeLog (225822 => 225823)

--- tags/Safari-605.1.17/Source/_javascript_Core/ChangeLog	2017-12-13 00:40:08 UTC (rev 225822)
+++ tags/Safari-605.1.17/Source/_javascript_Core/ChangeLog	2017-12-13 00:43:07 UTC (rev 225823)
@@ -1,5 +1,9 @@
 2017-12-12  Jason Marcell  
 
+Revert r225695. rdar://problem/35914716
+
+2017-12-12  Jason Marcell  
+
 Cherry-pick r225768. rdar://problem/34657871
 
 2017-12-11  Saam Barati  


Modified: tags/Safari-605.1.17/Source/_javascript_Core/runtime/RegExp.cpp (225822 => 225823)

--- tags/Safari-605.1.17/Source/_javascript_Core/runtime/RegExp.cpp	2017-12-13 00:40:08 UTC (rev 225822)
+++ tags/Safari-605.1.17/Source/_javascript_Core/runtime/RegExp.cpp	2017-12-13 00:43:07 UTC (rev 225823)
@@ -271,30 +271,6 @@
 return vm.regExpCache()->lookupOrCreate(patternString, flags);
 }
 
-
-static std::unique_ptr byteCodeCompilePattern(VM* vm, Yarr::YarrPattern& pattern)
-{
-return Yarr::byteCompile(pattern, &vm->m_regExpAllocator, &vm->m_regExpAllocatorLock);
-}
-
-void RegExp::byteCodeCompileIfNecessary(VM* vm)
-{
-if (m_regExpBytecode)
-return;
-
-Yarr::YarrPattern pattern(m_patternString, m_flags, &m_constructionError, vm->stackLimit());
-if (m_constructionError) {
-RELEASE_ASSERT_NOT_REACHED();
-#if COMPILER_QUIRK(CONSIDERS_UNREACHABLE_CODE)
-m_state = ParseError;
-return;
-#endif
-}
-ASSERT(m_numSubpatterns == pattern.m_numSubpatterns);
-
-m_regExpBytecode = byteCodeCompilePattern(vm, pattern);
-}
-
 void RegExp::compile(VM* vm, Yarr::YarrCharSize charSize)
 {
 ConcurrentJSLocker locker(m_lock);
@@ -327,11 +303,8 @@
 UNUSED_PARAM(charSize);
 #endif
 
-if (Options::dumpCompiledRegExpPatterns())
-dataLog("Can't JIT this regular _expression_: \"", m_patternString, "\"\n");
-
 m_state = ByteCode;
-m_regExpBytecode = byteCodeCompilePattern(vm, pattern);
+m_regExpBytecode = Yarr::byteCompile(pattern, &vm->m_regExpAllocator, &vm->m_regExpAllocatorLock);
 }
 
 int RegExp::match(VM& vm, const String& s, unsigned startOffset, Vector& ovector)
@@ -383,11 +356,8 @@
 UNUSED_PARAM(charSize);
 #endif
 
-if (Options::dumpCompiledRegExpPatterns())
-dataLog("Can't JIT this regular _expression_: \"", m_patternString, "\"\n");
-
 m_state = ByteCode;
-m_regExpBytecode = byteCodeCompilePattern(vm, pattern);
+m_regExpBytecode = Yarr::byteCompile(pattern, &vm->m_regExpAllocator, &vm->m_regExpAllocatorLock);
 }
 
 MatchResult RegExp::match(VM& vm, const String& s, unsigned startOffset)


Modified: tags/Safari-605.1.17/Source/_javascript_Core/runtime/RegExp.h (225822 => 225823)

--- tags/Safari-605.1.17/Source/_javascript_Core/runtime/RegExp.h	2017-12-13 00:40:08 UTC (rev 225822)
+++ tags/Safari-605.1.17/Source/_javascript_Core/runtime/RegExp.h	2017-12-13 00:43:07 UTC (rev 225823)
@@ -140,8 +140,6 @@
 
 RegExpState m_state;
 
-void byteCodeCompileIfNecessary(VM*);
-
 void compile(VM*, Yarr::YarrCharSize);
 void compileIfNecessary(VM&, Yarr::YarrCharSize);
 


Modified: tags/Safari-605.1.17/Source/_javascript_Core/runtime/RegExpInlines.h (225822 => 225823)

--- tags/Safari-605.1.17/Source/_javascript_Core/runtime/RegExpInlines.h	2017-12-13 00:40:08 UTC (rev 225822)
+++ tags/Safari-605.1.17/Source/_javascript_Core/runtime/RegExpInlines.h	2017-12-13 00:43:07 UTC (rev 225823)
@@ -110,25 +110,11 @@
 
 int result;
 #if ENABLE(YARR_JIT)
-#ifdef JIT_ALL_PARENS_EXPRESSIONS
-char patternContextBuffer[patternContextBufferSize];
-#define EXTRA_JIT_PARAMS  , patternContextBuffer, patternContextBufferSize
-#else
-#define EXTRA_JIT_PARAMS
-#endif
-
 if (m_state == JITCode) {
 if (s.is8Bit())
-result = m_regExpJITCode.execute(s.characters8(), startOffset, s.length(), offsetVector EXTRA_JIT_PARAMS).start;
+result = m_regExpJITCode.execute(s.characters8(), startOffset, s.length(), offsetVector).start;
 else
-result = m_regExpJITCode.execute(s

[webkit-changes] [225822] trunk/Source/WebCore

2017-12-12 Thread commit-queue
Title: [225822] trunk/Source/WebCore








Revision 225822
Author commit-qu...@webkit.org
Date 2017-12-12 16:40:08 -0800 (Tue, 12 Dec 2017)


Log Message
Playing webrtc video tracks should prevent from display to got to sleep
https://bugs.webkit.org/show_bug.cgi?id=180666

Patch by Youenn Fablet  on 2017-12-12
Reviewed by Darin Adler.

Done through manual testing by checking screen assertions taken on webrtc sites.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::shouldDisableSleep const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLMediaElement.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (225821 => 225822)

--- trunk/Source/WebCore/ChangeLog	2017-12-13 00:32:57 UTC (rev 225821)
+++ trunk/Source/WebCore/ChangeLog	2017-12-13 00:40:08 UTC (rev 225822)
@@ -1,3 +1,15 @@
+2017-12-12  Youenn Fablet  
+
+Playing webrtc video tracks should prevent from display to got to sleep
+https://bugs.webkit.org/show_bug.cgi?id=180666
+
+Reviewed by Darin Adler.
+
+Done through manual testing by checking screen assertions taken on webrtc sites.
+
+* html/HTMLMediaElement.cpp:
+(WebCore::HTMLMediaElement::shouldDisableSleep const):
+
 2017-12-12  Dean Jackson  
 
 Add CanvasRenderingContext2DBase class and OffscreenCanvasRenderingContext2D


Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (225821 => 225822)

--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2017-12-13 00:32:57 UTC (rev 225821)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2017-12-13 00:40:08 UTC (rev 225822)
@@ -6613,6 +6613,12 @@
 m_player->setShouldDisableSleep(shouldDisableSleep == SleepType::Display);
 }
 
+static inline bool isRemoteMediaStreamVideoTrack(RefPtr& item)
+{
+auto* track = item.get();
+return track->privateTrack().type() == RealtimeMediaSource::Type::Video && !track->isCaptureTrack() && !track->isCanvas();
+}
+
 HTMLMediaElement::SleepType HTMLMediaElement::shouldDisableSleep() const
 {
 // See https://bugs.webkit.org/show_bug.cgi?id=180197 before removing this guard.
@@ -6628,15 +6634,14 @@
 return SleepType::System;
 #endif
 
+bool shouldBeAbleToSleep = !hasVideo() || !hasAudio();
 #if ENABLE(MEDIA_STREAM)
-if (m_mediaStreamSrcObject) {
-// Do not block system from sleeping if element is only rendering local (capture) sources.
-if (WTF::allOf(m_mediaStreamSrcObject->getTracks(), [] (RefPtr& track) { return track && track->isCaptureTrack(); }))
-return SleepType::None;
-}
+// Remote media stream video tracks may have their corresponding audio tracks being played outside of the media element. Let's ensure to not IDLE the screen in that case.
+// FIXME: We should check that audio is being/to be played. Ideally, we would come up with a media stream agnostic heuristisc.
+shouldBeAbleToSleep = shouldBeAbleToSleep && !(m_mediaStreamSrcObject && WTF::anyOf(m_mediaStreamSrcObject->getTracks(), isRemoteMediaStreamVideoTrack));
 #endif
 
-if (!hasVideo() || !hasAudio())
+if (shouldBeAbleToSleep)
 return SleepType::None;
 
 if (m_elementIsHidden)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225821] trunk

2017-12-12 Thread sbarati
Title: [225821] trunk








Revision 225821
Author sbar...@apple.com
Date 2017-12-12 16:32:57 -0800 (Tue, 12 Dec 2017)


Log Message
ConstantFoldingPhase rule for GetMyArgumentByVal must check for negative indices
https://bugs.webkit.org/show_bug.cgi?id=180723


Reviewed by JF Bastien.

JSTests:

* stress/get-my-argument-by-val-constant-folding.js: Added.
(test):
(catch):

Source/_javascript_Core:

* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGConstantFoldingPhase.cpp


Added Paths

trunk/JSTests/stress/get-my-argument-by-val-constant-folding.js




Diff

Modified: trunk/JSTests/ChangeLog (225820 => 225821)

--- trunk/JSTests/ChangeLog	2017-12-13 00:31:15 UTC (rev 225820)
+++ trunk/JSTests/ChangeLog	2017-12-13 00:32:57 UTC (rev 225821)
@@ -1,3 +1,15 @@
+2017-12-12  Saam Barati  
+
+ConstantFoldingPhase rule for GetMyArgumentByVal must check for negative indices
+https://bugs.webkit.org/show_bug.cgi?id=180723
+
+
+Reviewed by JF Bastien.
+
+* stress/get-my-argument-by-val-constant-folding.js: Added.
+(test):
+(catch):
+
 2017-12-12  Caio Lima  
 
 [ESNext][BigInt] Implement BigInt literals and JSBigInt


Added: trunk/JSTests/stress/get-my-argument-by-val-constant-folding.js (0 => 225821)

--- trunk/JSTests/stress/get-my-argument-by-val-constant-folding.js	(rev 0)
+++ trunk/JSTests/stress/get-my-argument-by-val-constant-folding.js	2017-12-13 00:32:57 UTC (rev 225821)
@@ -0,0 +1,14 @@
+function test() {
+  for (var i = 0; i < 100; ++i) {
+try {
+  (function () {
+return arguments[-9];
+  })(42);
+} catch (e) {}
+  }
+}
+noInline(test);
+
+try {
+  test(42);
+} catch (e) {}


Modified: trunk/Source/_javascript_Core/ChangeLog (225820 => 225821)

--- trunk/Source/_javascript_Core/ChangeLog	2017-12-13 00:31:15 UTC (rev 225820)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-12-13 00:32:57 UTC (rev 225821)
@@ -1,3 +1,14 @@
+2017-12-12  Saam Barati  
+
+ConstantFoldingPhase rule for GetMyArgumentByVal must check for negative indices
+https://bugs.webkit.org/show_bug.cgi?id=180723
+
+
+Reviewed by JF Bastien.
+
+* dfg/DFGConstantFoldingPhase.cpp:
+(JSC::DFG::ConstantFoldingPhase::foldConstants):
+
 2017-12-04  Brian Burg  
 
 Web Inspector: modernize InjectedScript a bit


Modified: trunk/Source/_javascript_Core/dfg/DFGConstantFoldingPhase.cpp (225820 => 225821)

--- trunk/Source/_javascript_Core/dfg/DFGConstantFoldingPhase.cpp	2017-12-13 00:31:15 UTC (rev 225820)
+++ trunk/Source/_javascript_Core/dfg/DFGConstantFoldingPhase.cpp	2017-12-13 00:32:57 UTC (rev 225821)
@@ -342,11 +342,15 @@
 case GetMyArgumentByVal:
 case GetMyArgumentByValOutOfBounds: {
 JSValue indexValue = m_state.forNode(node->child2()).value();
-if (!indexValue || !indexValue.isInt32())
+if (!indexValue || !indexValue.isUInt32())
 break;
 
-unsigned index = indexValue.asUInt32() + node->numberOfArgumentsToSkip();
+Checked checkedIndex = indexValue.asUInt32();
+checkedIndex += node->numberOfArgumentsToSkip();
+if (checkedIndex.hasOverflowed())
+break;
 
+unsigned index = checkedIndex.unsafeGet();
 Node* arguments = node->child1().node();
 InlineCallFrame* inlineCallFrame = arguments->origin.semantic.inlineCallFrame;
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225820] trunk

2017-12-12 Thread bburg
Title: [225820] trunk








Revision 225820
Author bb...@apple.com
Date 2017-12-12 16:31:15 -0800 (Tue, 12 Dec 2017)


Log Message
Web Inspector: support async setup() and async teardown() in AsyncTestSuite
https://bugs.webkit.org/show_bug.cgi?id=180626

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

This can make some code simpler by removing Promise-related boilerplate. I'm splitting
this patch from the new use-site in the interest of making it easier to review.

* UserInterface/Test/TestSuite.js:
(AsyncTestSuite.prototype.runTestCases):
(AsyncTestSuite):

LayoutTests:

Update tests to cover async setup() and async teardown() in the case
of success, runtime failure, and explicit failure.

* inspector/unit-tests/async-test-suite-expected.txt:
* inspector/unit-tests/async-test-suite.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/inspector/unit-tests/async-test-suite-expected.txt
trunk/LayoutTests/inspector/unit-tests/async-test-suite.html
trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Test/TestSuite.js




Diff

Modified: trunk/LayoutTests/ChangeLog (225819 => 225820)

--- trunk/LayoutTests/ChangeLog	2017-12-13 00:11:45 UTC (rev 225819)
+++ trunk/LayoutTests/ChangeLog	2017-12-13 00:31:15 UTC (rev 225820)
@@ -1,5 +1,18 @@
 2017-12-12  Brian Burg  
 
+Web Inspector: support async setup() and async teardown() in AsyncTestSuite
+https://bugs.webkit.org/show_bug.cgi?id=180626
+
+Reviewed by Timothy Hatcher.
+
+Update tests to cover async setup() and async teardown() in the case
+of success, runtime failure, and explicit failure.
+
+* inspector/unit-tests/async-test-suite-expected.txt:
+* inspector/unit-tests/async-test-suite.html:
+
+2017-12-12  Brian Burg  
+
 Web Inspector: SyncTestSuite should complain if passed an async setup/test/teardown function
 https://bugs.webkit.org/show_bug.cgi?id=180717
 


Modified: trunk/LayoutTests/inspector/unit-tests/async-test-suite-expected.txt (225819 => 225820)

--- trunk/LayoutTests/inspector/unit-tests/async-test-suite-expected.txt	2017-12-13 00:11:45 UTC (rev 225819)
+++ trunk/LayoutTests/inspector/unit-tests/async-test-suite-expected.txt	2017-12-13 00:31:15 UTC (rev 225820)
@@ -105,3 +105,48 @@
 PASS: Promise did evaluate the async test function.
 PASS: Rejected value should be a runtime exception.
 
+== Running test suite: AsyncTestSuite.AsyncSetupAndAsyncTeardown
+-- Running test setup.
+-- Running test case: TestWithSetupAndTeardown
+PASS: Test should see side effects of running setup() action.
+-- Running test teardown.
+PASS: Teardown should see side effects of running setup() action.
+
+-- Running test case: TestRunningAfterTeardown
+PASS: Test should see side effects of previous test's teardown() action.
+PASS: Promise from asyncSetupAndAsyncTeardownTestSuite.runTestCases() should resolve.
+
+== Running test suite: AsyncTestSuite.AsyncSetupExplicitFailure
+-- Running test case: AsyncFunctionFailure
+!! EXCEPTION: AsyncFunctionFailure Exception Message
+Stack Trace: (suppressed)
+PASS: Promise from asyncSetupExplicitFailureTestSuite.runTestCases() should reject.
+PASS: Promise did evaluate the async setup function.
+PASS: Rejected value should be thrown exception.
+
+== Running test suite: AsyncTestSuite.AsyncSetupRuntimeFailure
+-- Running test setup.
+!! EXCEPTION: undefined is not an object (evaluating '({}).x.x')
+Stack Trace: (suppressed)
+PASS: Promise from asyncSetupRuntimeFailureTestSuite.runTestCases() should reject.
+PASS: Promise did evaluate the async setup function.
+PASS: Rejected value should be a runtime exception.
+
+== Running test suite: AsyncTestSuite.AsyncTeardownExplicitFailure
+-- Running test case: AsyncFunctionFailure
+-- Running test teardown.
+!! EXCEPTION: AsyncFunctionFailure Exception Message
+Stack Trace: (suppressed)
+PASS: Promise from asyncTeardownExplicitFailureTestSuite.runTestCases() should reject.
+PASS: Promise did evaluate the async teardown function.
+PASS: Rejected value should be thrown exception.
+
+== Running test suite: AsyncTestSuite.AsyncTeardownRuntimeFailure
+-- Running test case: AsyncFunctionFailure
+-- Running test teardown.
+!! EXCEPTION: undefined is not an object (evaluating '({}).x.x')
+Stack Trace: (suppressed)
+PASS: Promise from asyncTeardownRuntimeFailureTestSuite.runTestCases() should reject.
+PASS: Promise did evaluate the async teardown function.
+PASS: Rejected value should be a runtime exception.
+


Modified: trunk/LayoutTests/inspector/unit-tests/async-test-suite.html (225819 => 225820)

--- trunk/LayoutTests/inspector/unit-tests/async-test-suite.html	2017-12-13 00:11:45 UTC (rev 225819)
+++ trunk/LayoutTests/inspector/unit-tests/async-test-suite.html	2017-12-13 00:31:15 UTC (rev 225820)
@@ -290,7 +290,7 @@
 },
 teardown: (resolve, reject) => {
 ProtocolTest.assert(false, "Teardown action should not execute if its setup action threw an

[webkit-changes] [225819] trunk/Tools

2017-12-12 Thread commit-queue
Title: [225819] trunk/Tools








Revision 225819
Author commit-qu...@webkit.org
Date 2017-12-12 16:11:45 -0800 (Tue, 12 Dec 2017)


Log Message
Flakiness dashboard: Make GTK and WPE builds inherit expectations from WK2
https://bugs.webkit.org/show_bug.cgi?id=178782

Patch by Alicia Boya García  on 2017-12-12
Reviewed by Michael Catanzaro.

* TestResultServer/static-dashboards/flakiness_dashboard.js:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/TestResultServer/static-dashboards/flakiness_dashboard.js




Diff

Modified: trunk/Tools/ChangeLog (225818 => 225819)

--- trunk/Tools/ChangeLog	2017-12-12 23:54:34 UTC (rev 225818)
+++ trunk/Tools/ChangeLog	2017-12-13 00:11:45 UTC (rev 225819)
@@ -1,3 +1,12 @@
+2017-12-12  Alicia Boya García  
+
+Flakiness dashboard: Make GTK and WPE builds inherit expectations from WK2
+https://bugs.webkit.org/show_bug.cgi?id=178782
+
+Reviewed by Michael Catanzaro.
+
+* TestResultServer/static-dashboards/flakiness_dashboard.js:
+
 2017-12-12  Jonathan Bedard  
 
 MobileMiniBrowser using the wrong toolchain


Modified: trunk/Tools/TestResultServer/static-dashboards/flakiness_dashboard.js (225818 => 225819)

--- trunk/Tools/TestResultServer/static-dashboards/flakiness_dashboard.js	2017-12-12 23:54:34 UTC (rev 225818)
+++ trunk/Tools/TestResultServer/static-dashboards/flakiness_dashboard.js	2017-12-13 00:11:45 UTC (rev 225819)
@@ -75,12 +75,7 @@
 'GTK': {
 expectationsDirectory: 'gtk',
 subPlatforms: {
-'LINUX': {
-subPlatforms: {
-'WK1': { fallbackPlatforms: ['GTK'] },
-'WK2': { fallbackPlatforms: ['GTK', 'WK2'], expectationsDirectory: 'gtk-wk2' }
-}
-}
+'LINUX': { fallbackPlatforms: ['GTK', 'WK2'] }
 }
 },
 'WK2': {
@@ -90,7 +85,7 @@
 'WPE': {
 expectationsDirectory: 'wpe',
 subPlatforms: {
-'LINUX': { fallbackPlatforms: ['WPE'] }
+'LINUX': { fallbackPlatforms: ['WPE', 'WK2'] }
 }
 }
 };
@@ -350,6 +345,11 @@
 if (string.contains(builderNameUpperCase, 'WIN XP'))
 return 'APPLE_WIN_XP';
 
+if (string.contains(builderNameUpperCase, 'GTK LINUX'))
+return 'GTK_LINUX';
+if (string.contains(builderNameUpperCase, 'WPE LINUX'))
+return 'WPE_LINUX';
+
 if (string.contains(builderNameUpperCase, 'HIGHSIERRA'))
 return determineWKPlatform(builderNameUpperCase, 'APPLE_MAC_HIGHSIERRA');
 if (string.contains(builderNameUpperCase, 'SIERRA'))
@@ -362,10 +362,6 @@
 return determineWKPlatform(builderNameUpperCase, 'APPLE_MAC_LION');
 if (string.contains(builderNameUpperCase, ' IOS ') && string.contains(builderNameUpperCase, 'SIMULATOR'))
 return determineWKPlatform(builderNameUpperCase, 'APPLE_IOS_SIMULATOR');
-if (string.contains(builderNameUpperCase, 'GTK LINUX'))
-return determineWKPlatform(builderNameUpperCase, 'GTK_LINUX');
-if (string.contains(builderNameUpperCase, 'WPE LINUX'))
-return determineWKPlatform(builderNameUpperCase, 'WPE_LINUX');
 }
 
 function platformAndBuildType(builderName)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225818] trunk/Source/WebKit

2017-12-12 Thread wilander
Title: [225818] trunk/Source/WebKit








Revision 225818
Author wilan...@apple.com
Date 2017-12-12 15:54:34 -0800 (Tue, 12 Dec 2017)


Log Message
Dispatch resource load statistics telemetry on the main thread
https://bugs.webkit.org/show_bug.cgi?id=180602


Reviewed by Brent Fulgham.

* UIProcess/WebResourceLoadStatisticsTelemetry.cpp:
(WebKit::WebResourceLoadStatisticsTelemetry::calculateAndSubmit):
Now switches to the main thread for the telemetry submission
through a webpage proxy. The reason is that the webpage we
use may go away while we're still using it. This kind of
telemetry isn't associated with a specific webpage but the
infrastructure requires a webpage proxy.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/WebResourceLoadStatisticsTelemetry.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (225817 => 225818)

--- trunk/Source/WebKit/ChangeLog	2017-12-12 23:41:26 UTC (rev 225817)
+++ trunk/Source/WebKit/ChangeLog	2017-12-12 23:54:34 UTC (rev 225818)
@@ -1,3 +1,19 @@
+2017-12-12  John Wilander  
+
+Dispatch resource load statistics telemetry on the main thread
+https://bugs.webkit.org/show_bug.cgi?id=180602
+
+
+Reviewed by Brent Fulgham.
+
+* UIProcess/WebResourceLoadStatisticsTelemetry.cpp:
+(WebKit::WebResourceLoadStatisticsTelemetry::calculateAndSubmit):
+Now switches to the main thread for the telemetry submission
+through a webpage proxy. The reason is that the webpage we
+use may go away while we're still using it. This kind of
+telemetry isn't associated with a specific webpage but the
+infrastructure requires a webpage proxy.
+
 2017-12-12  Myles C. Maxfield  
 
 IPC code doesn't understand NSDictionaries with non-NSString keys


Modified: trunk/Source/WebKit/UIProcess/WebResourceLoadStatisticsTelemetry.cpp (225817 => 225818)

--- trunk/Source/WebKit/UIProcess/WebResourceLoadStatisticsTelemetry.cpp	2017-12-12 23:41:26 UTC (rev 225817)
+++ trunk/Source/WebKit/UIProcess/WebResourceLoadStatisticsTelemetry.cpp	2017-12-12 23:54:34 UTC (rev 225818)
@@ -246,28 +246,31 @@
 sortedPrevalentResourcesWithoutUserInteraction.uncheckedAppend(prevalentResource);
 }
 
-auto webPageProxy = nonEphemeralWebPageProxy();
-if (!webPageProxy) {
-if (notifyPagesWhenTelemetryWasCaptured)
-notifyPages(0, 0, 0);
-return;
-}
-
-if (notifyPagesWhenTelemetryWasCaptured) {
-notifyPages(sortedPrevalentResources, sortedPrevalentResourcesWithoutUserInteraction, prevalentResourcesDaysSinceUserInteraction.size());
-// The notify pages function is for testing so we don't need to do an actual submission.
-return;
-}
-
-webPageProxy->logDiagnosticMessageWithValue(DiagnosticLoggingKeys::resourceLoadStatisticsTelemetryKey(), ASCIILiteral("totalNumberOfPrevalentResources"), sortedPrevalentResources.size(), significantFiguresForLoggedValues, ShouldSample::No);
-webPageProxy->logDiagnosticMessageWithValue(DiagnosticLoggingKeys::resourceLoadStatisticsTelemetryKey(), ASCIILiteral("totalNumberOfPrevalentResourcesWithUserInteraction"), prevalentResourcesDaysSinceUserInteraction.size(), significantFiguresForLoggedValues, ShouldSample::No);
-
-if (prevalentResourcesDaysSinceUserInteraction.size() > 0)
-webPageProxy->logDiagnosticMessageWithValue(DiagnosticLoggingKeys::resourceLoadStatisticsTelemetryKey(), ASCIILiteral("topPrevalentResourceWithUserInteractionDaysSinceUserInteraction"), prevalentResourcesDaysSinceUserInteraction[0], significantFiguresForLoggedValues, ShouldSample::No);
-if (prevalentResourcesDaysSinceUserInteraction.size() > 1)
-webPageProxy->logDiagnosticMessageWithValue(DiagnosticLoggingKeys::resourceLoadStatisticsTelemetryKey(), ASCIILiteral("medianPrevalentResourcesWithUserInteractionDaysSinceUserInteraction"), median(prevalentResourcesDaysSinceUserInteraction), significantFiguresForLoggedValues, ShouldSample::No);
-
-submitTopLists(sortedPrevalentResources, sortedPrevalentResourcesWithoutUserInteraction, *webPageProxy);
+// Dispatch on the main thread to make sure the WebPageProxy we're using doesn't go away.
+RunLoop::main().dispatch([sortedPrevalentResources = WTFMove(sortedPrevalentResources), sortedPrevalentResourcesWithoutUserInteraction = WTFMove(sortedPrevalentResourcesWithoutUserInteraction), prevalentResourcesDaysSinceUserInteraction = WTFMove(prevalentResourcesDaysSinceUserInteraction)] () {
+auto webPageProxy = nonEphemeralWebPageProxy();
+if (!webPageProxy) {
+if (notifyPagesWhenTelemetryWasCaptured)
+notifyPages(0, 0, 0);
+return;
+}
+
+if (notifyPagesWhenTelemetryWasCaptured) {
+notifyPages(sortedPrevalentResources, sortedPrevalentResourcesWithoutUserInteraction, prevalentResourcesDaysSinceUser

[webkit-changes] [225815] trunk/Tools

2017-12-12 Thread jbedard
Title: [225815] trunk/Tools








Revision 225815
Author jbed...@apple.com
Date 2017-12-12 15:13:37 -0800 (Tue, 12 Dec 2017)


Log Message
MobileMiniBrowser using the wrong toolchain
https://bugs.webkit.org/show_bug.cgi?id=180716


Reviewed by Tim Horton.

Move Debug/Release configurations from xcodeproj into Base.xcconfig.

* MobileMiniBrowser/Configurations/Base.xcconfig:
* MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/MobileMiniBrowser/Configurations/Base.xcconfig
trunk/Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj




Diff

Modified: trunk/Tools/ChangeLog (225814 => 225815)

--- trunk/Tools/ChangeLog	2017-12-12 23:13:04 UTC (rev 225814)
+++ trunk/Tools/ChangeLog	2017-12-12 23:13:37 UTC (rev 225815)
@@ -1,3 +1,16 @@
+2017-12-12  Jonathan Bedard  
+
+MobileMiniBrowser using the wrong toolchain
+https://bugs.webkit.org/show_bug.cgi?id=180716
+
+
+Reviewed by Tim Horton.
+
+Move Debug/Release configurations from xcodeproj into Base.xcconfig.
+
+* MobileMiniBrowser/Configurations/Base.xcconfig:
+* MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
+
 2017-12-12  Youenn Fablet  
 
 Update ContentFiltering.LazilyLoadPlatformFrameworks test to account for libwebrtc using VideoProcessing framework


Modified: trunk/Tools/MobileMiniBrowser/Configurations/Base.xcconfig (225814 => 225815)

--- trunk/Tools/MobileMiniBrowser/Configurations/Base.xcconfig	2017-12-12 23:13:04 UTC (rev 225814)
+++ trunk/Tools/MobileMiniBrowser/Configurations/Base.xcconfig	2017-12-12 23:13:37 UTC (rev 225815)
@@ -28,13 +28,33 @@
 USE_INTERNAL_SDK_Debug = $(HAVE_INTERNAL_SDK);
 USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
+ALWAYS_SEARCH_USER_PATHS = NO;
+CLANG_ANALYZER_NONNULL = YES;
 CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
 CLANG_CXX_LIBRARY = libc++;
+CLANG_ENABLE_MODULES = YES;
+CLANG_ENABLE_OBJC_ARC = YES;
+CLANG_WARN_BOOL_CONVERSION = YES;
 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+CLANG_WARN_CONSTANT_CONVERSION = YES;
 CLANG_WARN_CXX0X_EXTENSIONS = NO;
+CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+CLANG_WARN_EMPTY_BODY = YES;
+CLANG_WARN_ENUM_CONVERSION = YES;
+CLANG_WARN_INFINITE_RECURSION = YES;
+CLANG_WARN_INT_CONVERSION = YES;
 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+CLANG_WARN_SUSPICIOUS_MOVES = YES;
+CLANG_WARN_UNREACHABLE_CODE = YES;
+CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+COPY_PHASE_STRIP = NO;
+DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ENABLE_NS_ASSERTIONS = NO;
+ENABLE_STRICT_OBJC_MSGSEND = YES;
 HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include;
 DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;
 PREBINDING = NO
@@ -41,18 +61,23 @@
 GCC_C_LANGUAGE_STANDARD = gnu99
 GCC_ENABLE_CPP_EXCEPTIONS = NO;
 GCC_ENABLE_CPP_RTTI = NO;
+GCC_NO_COMMON_BLOCKS = YES;
 GCC_PRECOMPILE_PREFIX_HEADER = YES
 GCC_TREAT_WARNINGS_AS_ERRORS = YES
-GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
-GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO
+GCC_VERSION = com.apple.compilers.llvm.clang.1_0
+GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+GCC_WARN_UNDECLARED_SELECTOR = YES;
+GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 GCC_WARN_UNUSED_FUNCTION = YES
 GCC_WARN_UNUSED_VARIABLE = YES
 GCC_WARN_64_TO_32_BIT_CONVERSION[arch=arm64*] = NO;
 GCC_WARN_64_TO_32_BIT_CONVERSION[arch=x86_64] = NO;
+MTL_ENABLE_DEBUG_INFO = NO;
+VALIDATE_PRODUCT = YES;
 WARNING_CFLAGS = -Wall -W -Wno-unused-parameter -Wundef
 
 SUPPORTED_PLATFORMS = iphoneos iphonesimulator;
-SDKROOT = iphonesimulator;
+SDKROOT = macosx.internal;
 
 OTHER_CFLAGS = $(ASAN_OTHER_CFLAGS);
 OTHER_CPLUSPLUSFLAGS = $(ASAN_OTHER_CPLUSPLUSFLAGS);


Modified: trunk/Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj (225814 => 225815)

--- trunk/Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj	2017-12-12 23:13:04 UTC (rev 225814)
+++ trunk/Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj	2017-12-12 23:13:37 UTC (rev 225815)
@@ -125,11 +125,11 @@
 			isa = PBXGroup;
 			children = (
 CD4DEEE11D78C6F400625986 /* Configurations */,
+CD1DAFC01D70E12D00017CF0 /* Frameworks */,
 CD1DAF941D709E3600017CF0 /* MobileMiniBrowser App */,
 CD498B3C1D76348000681FA7 /* MobileMiniBrowser Framework */,
 CD1DAFAE1D709E3600017CF0 /* MobileMiniBrowserUITests */,
 CD1DAF931D709E3600017CF0 /* Products */,
-CD1DAFC01D70E12D00017CF0 /* Frameworks */,
 			);
 			sourceTree = "";
 		};
@@ -137,8 +137,8 @@
 			isa = PBXGroup;
 			children = (
 CD1DAF921D709E3600017CF0 /* MobileMiniBrowser.app */,
+CD498B3B1D76348000681FA7 /* MobileMiniBrowser.framework */,
 CD1DAFAB1D709E3600017CF0 /* MobileMiniBrowserUITests.xctest */,
-CD498B3B1D76348000681FA7 /* MobileMiniBrowser.framework */,
 

[webkit-changes] [225814] trunk

2017-12-12 Thread bburg
Title: [225814] trunk








Revision 225814
Author bb...@apple.com
Date 2017-12-12 15:13:04 -0800 (Tue, 12 Dec 2017)


Log Message
Web Inspector: SyncTestSuite should complain if passed an async setup/test/teardown function
https://bugs.webkit.org/show_bug.cgi?id=180717

Reviewed by Devin Rousso.

Source/WebInspectorUI:

* UserInterface/Test/TestSuite.js:
(SyncTestSuite.prototype.addTestCase):
Raise an exception if test/setup/teardown is an async function. It won't work.

LayoutTests:

Add new test cases for more strict requirements for test case arguments.

* inspector/unit-tests/sync-test-suite-expected.txt:
* inspector/unit-tests/sync-test-suite.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/inspector/unit-tests/sync-test-suite-expected.txt
trunk/LayoutTests/inspector/unit-tests/sync-test-suite.html
trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Test/TestSuite.js




Diff

Modified: trunk/LayoutTests/ChangeLog (225813 => 225814)

--- trunk/LayoutTests/ChangeLog	2017-12-12 23:12:20 UTC (rev 225813)
+++ trunk/LayoutTests/ChangeLog	2017-12-12 23:13:04 UTC (rev 225814)
@@ -1,3 +1,15 @@
+2017-12-12  Brian Burg  
+
+Web Inspector: SyncTestSuite should complain if passed an async setup/test/teardown function
+https://bugs.webkit.org/show_bug.cgi?id=180717
+
+Reviewed by Devin Rousso.
+
+Add new test cases for more strict requirements for test case arguments.
+
+* inspector/unit-tests/sync-test-suite-expected.txt:
+* inspector/unit-tests/sync-test-suite.html:
+
 2017-12-12  Antoine Quint  
 
 [Web Animations] Expose promises on Animation interface


Modified: trunk/LayoutTests/inspector/unit-tests/sync-test-suite-expected.txt (225813 => 225814)

--- trunk/LayoutTests/inspector/unit-tests/sync-test-suite-expected.txt	2017-12-12 23:12:20 UTC (rev 225813)
+++ trunk/LayoutTests/inspector/unit-tests/sync-test-suite-expected.txt	2017-12-12 23:13:04 UTC (rev 225814)
@@ -13,6 +13,9 @@
 PASS: should not be able to specify non-Function `teardown` parameter.
 PASS: should not be able to specify non-Function `teardown` parameter.
 PASS: should not be able to specify non-Function `teardown` parameter.
+PASS: should not be able to specify async `test` parameter.
+PASS: should not be able to specify async `setup` parameter.
+PASS: should not be able to specify async `teardown` parameter.
 PASS: should not be able to run empty test suite.
 
 == Running test suite: SyncTestSuite.RunTwiceSuite


Modified: trunk/LayoutTests/inspector/unit-tests/sync-test-suite.html (225813 => 225814)

--- trunk/LayoutTests/inspector/unit-tests/sync-test-suite.html	2017-12-12 23:12:20 UTC (rev 225813)
+++ trunk/LayoutTests/inspector/unit-tests/sync-test-suite.html	2017-12-12 23:13:04 UTC (rev 225814)
@@ -135,6 +135,36 @@
 } catch (e) {
 ProtocolTest.log("PASS: should not be able to specify non-Function `teardown` parameter.");
 }
+try {
+badArgsSuite.addTestCase({
+name: "foo",
+async test() {},
+});
+ProtocolTest.log("FAIL: should not be able to specify async `test` parameter.");
+} catch (e) {
+ProtocolTest.log("PASS: should not be able to specify async `test` parameter.");
+}
+try {
+badArgsSuite.addTestCase({
+name: "foo",
+async setup() {},
+test() {},
+});
+ProtocolTest.log("FAIL: should not be able to specify async `setup` parameter.");
+} catch (e) {
+ProtocolTest.log("PASS: should not be able to specify async `setup` parameter.");
+}
+try {
+badArgsSuite.addTestCase({
+name: "foo",
+test() {},
+async teardown() {},
+});
+ProtocolTest.log("FAIL: should not be able to specify async `teardown` parameter.");
+} catch (e) {
+ProtocolTest.log("PASS: should not be able to specify async `teardown` parameter.");
+}
+
 let runEmptySuite = ProtocolTest.createSyncSuite("SyncTestSuite.RunEmptySuite");
 try {
 runEmptySuite.runTestCases();


Modified: trunk/Source/WebInspectorUI/ChangeLog (225813 => 225814)

--- trunk/Source/WebInspectorUI/ChangeLog	2017-12-12 23:12:20 UTC (rev 225813)
+++ trunk/Source/WebInspectorUI/ChangeLog	2017-12-12 23:13:04 UTC (rev 225814)
@@ -1,5 +1,16 @@
 2017-12-12  Brian Burg  
 
+Web Inspector: SyncTestSuite should complain if passed an async setup/test/teardown function
+https://bugs.webkit.org/show_bug.cgi?id=180717
+
+Reviewed by Devin Rousso.
+
+* UserInterface/Test/TestSuite.js:
+(SyncTestSuite.prototype.addTestCase):
+Raise an exception if test/setup/teardown is an async function. It won't work.
+
+2017-12-12  Brian Burg  
+
 Web Inspector: add InspectorTest.expectException() and use it
 https://bugs.webkit.org/show_bug.cgi?id=180719
 


Modified: trunk/Source/WebInspectorUI/UserInterface/

[webkit-changes] [225813] trunk/Source/WebCore

2017-12-12 Thread jer . noble
Title: [225813] trunk/Source/WebCore








Revision 225813
Author jer.no...@apple.com
Date 2017-12-12 15:12:20 -0800 (Tue, 12 Dec 2017)


Log Message
[EME] Support FPS-over-HLS in the Modern EME API
https://bugs.webkit.org/show_bug.cgi?id=180707

Reviewed by Eric Carlson.

Add support for the "skd" initDataType, where the initData is the URI provided in the
EXT-X-KEY tag in a HLS manifest:

* platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
(WebCore::CDMPrivateFairPlayStreaming::sinfName):
(WebCore::CDMPrivateFairPlayStreaming::skdName):
(WebCore::extractSinfData):
(WebCore::CDMPrivateFairPlayStreaming::sanitizeSkd):
(WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsSkd):
(WebCore::validInitDataTypes):
(WebCore::CDMFactory::platformRegisterFactories):
(WebCore::CDMPrivateFairPlayStreaming::supportsInitDataType const):
(WebCore::CDMPrivateFairPlayStreaming::supportsConfiguration const):
(WebCore::CDMPrivateFairPlayStreaming::supportsInitData const):
(WebCore::sinfName): Deleted.

Add support for creating a AVContentKeyRequest from a skd key URI rather than from
initialization data, and for extracting keyIDs from the AVContentKeyRequest identifier.

* platform/graphics/avfoundation/CDMFairPlayStreaming.h:
* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::keyIDs):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::requestLicense):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::updateLicense):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequest):

Add support for AVContentKeySession to MediaPlayerPrivateAVFoundationObjC, and for emitting
initializationData messages when encountering a loading request for a "skd" URI.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
(WebCore::MediaPlayerPrivateAVFoundationObjC::cdmInstanceAttached):
(WebCore::MediaPlayerPrivateAVFoundationObjC::cdmInstanceDetached):
(WebCore::MediaPlayerPrivateAVFoundationObjC::attemptToDecryptWithInstance):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp
trunk/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (225812 => 225813)

--- trunk/Source/WebCore/ChangeLog	2017-12-12 23:12:02 UTC (rev 225812)
+++ trunk/Source/WebCore/ChangeLog	2017-12-12 23:12:20 UTC (rev 225813)
@@ -1,3 +1,47 @@
+2017-12-12  Jer Noble  
+
+[EME] Support FPS-over-HLS in the Modern EME API
+https://bugs.webkit.org/show_bug.cgi?id=180707
+
+Reviewed by Eric Carlson.
+
+Add support for the "skd" initDataType, where the initData is the URI provided in the 
+EXT-X-KEY tag in a HLS manifest:
+
+* platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
+(WebCore::CDMPrivateFairPlayStreaming::sinfName):
+(WebCore::CDMPrivateFairPlayStreaming::skdName):
+(WebCore::extractSinfData):
+(WebCore::CDMPrivateFairPlayStreaming::sanitizeSkd):
+(WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsSkd):
+(WebCore::validInitDataTypes):
+(WebCore::CDMFactory::platformRegisterFactories):
+(WebCore::CDMPrivateFairPlayStreaming::supportsInitDataType const):
+(WebCore::CDMPrivateFairPlayStreaming::supportsConfiguration const):
+(WebCore::CDMPrivateFairPlayStreaming::supportsInitData const):
+(WebCore::sinfName): Deleted.
+
+Add support for creating a AVContentKeyRequest from a skd key URI rather than from
+initialization data, and for extracting keyIDs from the AVContentKeyRequest identifier.
+
+* platform/graphics/avfoundation/CDMFairPlayStreaming.h:
+* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
+* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
+(WebCore::CDMInstanceFairPlayStreamingAVFObjC::keyIDs):
+(WebCore::CDMInstanceFairPlayStreamingAVFObjC::requestLicense):
+(WebCore::CDMInstanceFairPlayStreamingAVFObjC::updateLicense):
+(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequest):
+
+Add support for AVContentKeySession to MediaPlayerPrivateAVFoundationObjC, and for emitting
+initializationData messages when encountering a loading requ

[webkit-changes] [225812] trunk

2017-12-12 Thread graouts
Title: [225812] trunk








Revision 225812
Author grao...@webkit.org
Date 2017-12-12 15:12:02 -0800 (Tue, 12 Dec 2017)


Log Message
[Web Animations] Expose promises on Animation interface
https://bugs.webkit.org/show_bug.cgi?id=180710


Reviewed by Dean Jackson.

Source/WebCore:

Expose the "ready" and "finished" promises on Animation. A future patch will fulfil or reject them.

* animation/WebAnimation.cpp:
(WebCore::WebAnimation::WebAnimation):
(WebCore::WebAnimation::readyPromiseResolve):
(WebCore::WebAnimation::finishedPromiseResolve):
* animation/WebAnimation.h:
* animation/WebAnimation.idl:

LayoutTests:

Rebase some WPT expectations with progressions due to exposing the "ready" and "finished" promises.

* http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt:
* http/wpt/web-animations/timing-model/animations/current-time-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt
trunk/LayoutTests/http/wpt/web-animations/timing-model/animations/current-time-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/animation/WebAnimation.cpp
trunk/Source/WebCore/animation/WebAnimation.h
trunk/Source/WebCore/animation/WebAnimation.idl




Diff

Modified: trunk/LayoutTests/ChangeLog (225811 => 225812)

--- trunk/LayoutTests/ChangeLog	2017-12-12 23:11:19 UTC (rev 225811)
+++ trunk/LayoutTests/ChangeLog	2017-12-12 23:12:02 UTC (rev 225812)
@@ -1,3 +1,16 @@
+2017-12-12  Antoine Quint  
+
+[Web Animations] Expose promises on Animation interface
+https://bugs.webkit.org/show_bug.cgi?id=180710
+
+
+Reviewed by Dean Jackson.
+
+Rebase some WPT expectations with progressions due to exposing the "ready" and "finished" promises.
+
+* http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt:
+* http/wpt/web-animations/timing-model/animations/current-time-expected.txt:
+
 2017-12-12  Myles C. Maxfield  
 
 IPC code doesn't understand NSDictionaries with non-NSString keys


Modified: trunk/LayoutTests/http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt (225811 => 225812)

--- trunk/LayoutTests/http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt	2017-12-12 23:11:19 UTC (rev 225811)
+++ trunk/LayoutTests/http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt	2017-12-12 23:12:02 UTC (rev 225812)
@@ -12,8 +12,8 @@
 PASS Animation interface: attribute currentTime 
 PASS Animation interface: attribute playbackRate 
 PASS Animation interface: attribute playState 
-FAIL Animation interface: attribute ready assert_true: The prototype object must have a property "ready" expected true got false
-FAIL Animation interface: attribute finished assert_true: The prototype object must have a property "finished" expected true got false
+PASS Animation interface: attribute ready 
+PASS Animation interface: attribute finished 
 FAIL Animation interface: attribute onfinish assert_true: The prototype object must have a property "onfinish" expected true got false
 FAIL Animation interface: attribute oncancel assert_true: The prototype object must have a property "oncancel" expected true got false
 FAIL Animation interface: operation cancel() assert_own_property: interface prototype object missing non-static operation expected property "cancel" missing
@@ -30,8 +30,8 @@
 PASS Animation interface: new Animation() must inherit property "currentTime" with the proper type 
 PASS Animation interface: new Animation() must inherit property "playbackRate" with the proper type 
 PASS Animation interface: new Animation() must inherit property "playState" with the proper type 
-FAIL Animation interface: new Animation() must inherit property "ready" with the proper type assert_inherits: property "ready" not found in prototype chain
-FAIL Animation interface: new Animation() must inherit property "finished" with the proper type assert_inherits: property "finished" not found in prototype chain
+PASS Animation interface: new Animation() must inherit property "ready" with the proper type 
+PASS Animation interface: new Animation() must inherit property "finished" with the proper type 
 FAIL Animation interface: new Animation() must inherit property "onfinish" with the proper type assert_inherits: property "onfinish" not found in prototype chain
 FAIL Animation interface: new Animation() must inherit property "oncancel" with the proper type assert_inherits: property "oncancel" not found in prototype chain
 FAIL Animation interface: new Animation() must inherit property "cancel()" with the proper type assert_inherits: property "cancel" not found in prototype chain


Modified: trunk/LayoutTests/http/wpt/web-animations/timing-model/animations/current-time-expected.txt (225811 => 225812)

--- trunk/LayoutTests/http/wpt/web-animations/timing-model/animations/current-time-expected.txt	2017-12-12 23:11:19 UTC (rev 225811)
+++ trunk

[webkit-changes] [225811] trunk

2017-12-12 Thread mmaxfield
Title: [225811] trunk








Revision 225811
Author mmaxfi...@apple.com
Date 2017-12-12 15:11:19 -0800 (Tue, 12 Dec 2017)


Log Message
IPC code doesn't understand NSDictionaries with non-NSString keys
https://bugs.webkit.org/show_bug.cgi?id=180307


Reviewed by Alex Christensen.

Source/WebKit:

Variable fonts have a dictionary inside its descriptor which represents the values
of all the axes of the variable font. Our IPC code wasn't expecting this.

* Shared/mac/ArgumentCodersMac.mm:
(IPC::encode):
(IPC::decode):

LayoutTests:

* fast/text/variations/ipc-expected.txt: Added.
* fast/text/variations/ipc.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Shared/mac/ArgumentCodersMac.mm


Added Paths

trunk/LayoutTests/fast/text/variations/ipc-expected.txt
trunk/LayoutTests/fast/text/variations/ipc.html




Diff

Modified: trunk/LayoutTests/ChangeLog (225810 => 225811)

--- trunk/LayoutTests/ChangeLog	2017-12-12 23:10:00 UTC (rev 225810)
+++ trunk/LayoutTests/ChangeLog	2017-12-12 23:11:19 UTC (rev 225811)
@@ -1,3 +1,14 @@
+2017-12-12  Myles C. Maxfield  
+
+IPC code doesn't understand NSDictionaries with non-NSString keys
+https://bugs.webkit.org/show_bug.cgi?id=180307
+
+
+Reviewed by Alex Christensen.
+
+* fast/text/variations/ipc-expected.txt: Added.
+* fast/text/variations/ipc.html: Added.
+
 2017-12-12  Brian Burg  
 
 Web Inspector: add InspectorTest.expectException() and use it


Added: trunk/LayoutTests/fast/text/variations/ipc-expected.txt (0 => 225811)

--- trunk/LayoutTests/fast/text/variations/ipc-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/text/variations/ipc-expected.txt	2017-12-12 23:11:19 UTC (rev 225811)
@@ -0,0 +1,2 @@
+This makes sure that variable fonts can be sent across IPC. The test passes if there is no crash.
+Hello


Added: trunk/LayoutTests/fast/text/variations/ipc.html (0 => 225811)

--- trunk/LayoutTests/fast/text/variations/ipc.html	(rev 0)
+++ trunk/LayoutTests/fast/text/variations/ipc.html	2017-12-12 23:11:19 UTC (rev 225811)
@@ -0,0 +1,36 @@
+
+
+
+
+@font-face {
+font-family: "Boxis";
+src: url("resources/Boxis-VF.ttf") format("truetype");
+}
+
+
+function test() {
+let target = document.getElementById("target");
+let x = target.offsetLeft + target.offsetWidth / 2;
+let y = target.offsetTop + target.offsetHeight / 2;
+if (window.eventSender) {
+eventSender.mouseMoveTo(x, y);
+eventSender.mouseDown();
+eventSender.mouseUp();
+}
+if (window.testRunner)
+testRunner.notifyDone();
+}
+
+
+
+This makes sure that variable fonts can be sent across IPC. The test passes if there is no crash.
+Hello
+
+if (window.testRunner) {
+testRunner.dumpAsText();
+testRunner.waitUntilDone();
+}
+window.addEventListener("load", test);
+
+
+


Modified: trunk/Source/WebKit/ChangeLog (225810 => 225811)

--- trunk/Source/WebKit/ChangeLog	2017-12-12 23:10:00 UTC (rev 225810)
+++ trunk/Source/WebKit/ChangeLog	2017-12-12 23:11:19 UTC (rev 225811)
@@ -1,3 +1,18 @@
+2017-12-12  Myles C. Maxfield  
+
+IPC code doesn't understand NSDictionaries with non-NSString keys
+https://bugs.webkit.org/show_bug.cgi?id=180307
+
+
+Reviewed by Alex Christensen.
+
+Variable fonts have a dictionary inside its descriptor which represents the values
+of all the axes of the variable font. Our IPC code wasn't expecting this.
+
+* Shared/mac/ArgumentCodersMac.mm:
+(IPC::encode):
+(IPC::decode):
+
 2017-12-12  Brent Fulgham  
 
 Unreviewed build fix after r225763.


Modified: trunk/Source/WebKit/Shared/mac/ArgumentCodersMac.mm (225810 => 225811)

--- trunk/Source/WebKit/Shared/mac/ArgumentCodersMac.mm	2017-12-12 23:10:00 UTC (rev 225810)
+++ trunk/Source/WebKit/Shared/mac/ArgumentCodersMac.mm	2017-12-12 23:11:19 UTC (rev 225811)
@@ -367,7 +367,6 @@
 id key = [keys objectAtIndex:i];
 id value = [values objectAtIndex:i];
 ASSERT(key);
-ASSERT([key isKindOfClass:[NSString class]]);
 ASSERT(value);
 ASSERT(isSerializableValue(value));
 
@@ -375,7 +374,7 @@
 if (typeFromObject(value) == NSType::Unknown)
 continue;
 
-encode(encoder, (NSString *)key);
+encode(encoder, key);
 encode(encoder, value);
 }
 }
@@ -389,7 +388,7 @@
 RetainPtr dictionary = adoptNS([[NSMutableDictionary alloc] initWithCapacity:size]);
 for (uint64_t i = 0; i < size; ++i) {
 // Try to decode the key name.
-RetainPtr key;
+RetainPtr key;
 if (!decode(decoder, key))
 return false;
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225810] trunk

2017-12-12 Thread bburg
Title: [225810] trunk








Revision 225810
Author bb...@apple.com
Date 2017-12-12 15:10:00 -0800 (Tue, 12 Dec 2017)


Log Message
Web Inspector: add InspectorTest.expectException() and use it
https://bugs.webkit.org/show_bug.cgi?id=180719

Reviewed by Matt Baker.

Source/WebInspectorUI:

This helps straighten out async test() functions that need
to test exceptional cases. Without this, every such method
needs try/catch boilerplate to leak the error outside the
scope of the catch-block and then assert that it exists.

* UserInterface/Test/TestHarness.js:
(TestHarness.prototype.expectException):
Added. This method takes a callback which is expected to raise
an exception either by throwing an Error instance or returning
a Promise that rejects with an Error instance. The method returns
a Promise that is either resolved with the expected exception
from one of the above sources, or is rejected with the non-exception
result that was returned or resolved by the callback.

LayoutTests:

* inspector/dom/highlightNode-expected.txt:
* inspector/dom/highlightNode.html:
Adopt the new helper method.

* inspector/unit-tests/test-harness-expect-functions-async-expected.txt: Added.
* inspector/unit-tests/test-harness-expect-functions-async.html: Added.
Add a separate async test suite for async expect* functions.

* inspector/unit-tests/test-harness-expect-functions-expected.txt:
* inspector/unit-tests/test-harness-expect-functions.html:
Standardize the naming for these two suites.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/inspector/dom/highlightNode-expected.txt
trunk/LayoutTests/inspector/dom/highlightNode.html
trunk/LayoutTests/inspector/unit-tests/test-harness-expect-functions-expected.txt
trunk/LayoutTests/inspector/unit-tests/test-harness-expect-functions.html
trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Test/TestHarness.js


Added Paths

trunk/LayoutTests/inspector/unit-tests/test-harness-expect-functions-async-expected.txt
trunk/LayoutTests/inspector/unit-tests/test-harness-expect-functions-async.html




Diff

Modified: trunk/LayoutTests/ChangeLog (225809 => 225810)

--- trunk/LayoutTests/ChangeLog	2017-12-12 23:01:52 UTC (rev 225809)
+++ trunk/LayoutTests/ChangeLog	2017-12-12 23:10:00 UTC (rev 225810)
@@ -1,3 +1,22 @@
+2017-12-12  Brian Burg  
+
+Web Inspector: add InspectorTest.expectException() and use it
+https://bugs.webkit.org/show_bug.cgi?id=180719
+
+Reviewed by Matt Baker.
+
+* inspector/dom/highlightNode-expected.txt:
+* inspector/dom/highlightNode.html:
+Adopt the new helper method.
+
+* inspector/unit-tests/test-harness-expect-functions-async-expected.txt: Added.
+* inspector/unit-tests/test-harness-expect-functions-async.html: Added.
+Add a separate async test suite for async expect* functions.
+
+* inspector/unit-tests/test-harness-expect-functions-expected.txt:
+* inspector/unit-tests/test-harness-expect-functions.html:
+Standardize the naming for these two suites.
+
 2017-12-12  Myles C. Maxfield  
 
 REGRESSION (Safari 11): custom  tag crashes a page


Modified: trunk/LayoutTests/inspector/dom/highlightNode-expected.txt (225809 => 225810)

--- trunk/LayoutTests/inspector/dom/highlightNode-expected.txt	2017-12-12 23:01:52 UTC (rev 225809)
+++ trunk/LayoutTests/inspector/dom/highlightNode-expected.txt	2017-12-12 23:10:00 UTC (rev 225810)
@@ -24,14 +24,14 @@
 Highlighted Element Data: {"tagName":"div","idValue":"id-one","size":{"width":150,"height":250},"role":""}
 
 -- Running test case: MissingNodeAndObjectIdShouldError
-PASS: Should produce an error.
+PASS: Should produce an exception.
 Error: Either nodeId or objectId must be specified
 
 -- Running test case: BadNodeId
-PASS: Should produce an error.
+PASS: Should produce an exception.
 Error: Could not find node with given id
 
 -- Running test case: BadObjectId
-PASS: Should produce an error.
+PASS: Should produce an exception.
 Error: Node for given objectId not found
 


Modified: trunk/LayoutTests/inspector/dom/highlightNode.html (225809 => 225810)

--- trunk/LayoutTests/inspector/dom/highlightNode.html	2017-12-12 23:01:52 UTC (rev 225809)
+++ trunk/LayoutTests/inspector/dom/highlightNode.html	2017-12-12 23:10:00 UTC (rev 225810)
@@ -111,11 +111,9 @@
 suite.addTestCase({
 name: "MissingNodeAndObjectIdShouldError",
 description: "Missing identifiers should cause an error.",
-test(resolve, reject) {
-DOMAgent.highlightNode(highlightConfig, undefined, undefined, (error) => {
-InspectorTest.expectThat(error, "Should produce an error.");
-InspectorTest.log("Error: " + error);
-resolve();
+async test() {
+await InspectorTest.expectException(async () => {
+await DOMAgent.highlightNode(highlightConfig, undefined, undefined);
 });
 }
 });
@@ -123

[webkit-changes] [225809] trunk

2017-12-12 Thread commit-queue
Title: [225809] trunk








Revision 225809
Author commit-qu...@webkit.org
Date 2017-12-12 15:01:52 -0800 (Tue, 12 Dec 2017)


Log Message
Fetch Event header filtering should apply in CORS mode only
https://bugs.webkit.org/show_bug.cgi?id=180708

Patch by Youenn Fablet  on 2017-12-12
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

* web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt:

Source/WebCore:

Covered by no-longer failing test.

* workers/service/context/ServiceWorkerFetch.cpp: cleaning headers only in case of CORS mode.

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (225808 => 225809)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2017-12-12 22:51:02 UTC (rev 225808)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2017-12-12 23:01:52 UTC (rev 225809)
@@ -1,3 +1,12 @@
+2017-12-12  Youenn Fablet  
+
+Fetch Event header filtering should apply in CORS mode only
+https://bugs.webkit.org/show_bug.cgi?id=180708
+
+Reviewed by Alex Christensen.
+
+* web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt:
+
 2017-12-12  Javier Fernandez  
 
 [css-grid] Implement alignment for absolute positioned grid items


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt (225808 => 225809)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt	2017-12-12 22:51:02 UTC (rev 225808)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt	2017-12-12 23:01:52 UTC (rev 225809)
@@ -8,7 +8,7 @@
 PASS Service Worker does not respond to fetch event 
 PASS Service Worker responds to fetch event with null response body 
 PASS Service Worker fetches other file in fetch event 
-FAIL Service Worker responds to fetch event with POST form assert_unreached: unexpected rejection: assert_equals: expected "POST:application/x-www-form-urlencoded:testName1=testValue1&testName2=testValue2" but got "POST:null:testName1=testValue1&testName2=testValue2" Reached unreachable code
+PASS Service Worker responds to fetch event with POST form 
 PASS Multiple calls of respondWith must throw InvalidStateErrors 
 PASS Service Worker event.respondWith must set the used flag 
 PASS Service Worker should expose FetchEvent URL fragments. 


Modified: trunk/Source/WebCore/ChangeLog (225808 => 225809)

--- trunk/Source/WebCore/ChangeLog	2017-12-12 22:51:02 UTC (rev 225808)
+++ trunk/Source/WebCore/ChangeLog	2017-12-12 23:01:52 UTC (rev 225809)
@@ -1,3 +1,14 @@
+2017-12-12  Youenn Fablet  
+
+Fetch Event header filtering should apply in CORS mode only
+https://bugs.webkit.org/show_bug.cgi?id=180708
+
+Reviewed by Alex Christensen.
+
+Covered by no-longer failing test.
+
+* workers/service/context/ServiceWorkerFetch.cpp: cleaning headers only in case of CORS mode.
+
 2017-12-12  Myles C. Maxfield  
 
 REGRESSION (Safari 11): custom  tag crashes a page


Modified: trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp (225808 => 225809)

--- trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp	2017-12-12 22:51:02 UTC (rev 225808)
+++ trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp	2017-12-12 23:01:52 UTC (rev 225809)
@@ -98,7 +98,8 @@
 auto httpReferrer = request.httpReferrer();
 // We are intercepting fetch calls after going through the HTTP layer, which adds some specific headers.
 // Let's clean them so that cross origin checks do not fail.
-cleanRedirectedRequestForAccessControl(request);
+if (options.mode == FetchOptions::Mode::Cors)
+cleanRedirectedRequestForAccessControl(request);
 
 auto requestHeaders = FetchHeaders::create(FetchHeaders::Guard::Immutable, HTTPHeaderMap { request.httpHeaderFields() });
 auto fetchRequest = FetchRequest::create(globalScope, FetchBody::fromFormData(request.httpBody()), WTFMove(requestHeaders),  WTFMove(request), WTFMove(options), WTFMove(httpReferrer));






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225808] trunk

2017-12-12 Thread mmaxfield
Title: [225808] trunk








Revision 225808
Author mmaxfi...@apple.com
Date 2017-12-12 14:51:02 -0800 (Tue, 12 Dec 2017)


Log Message
REGRESSION (Safari 11): custom  tag crashes a page
https://bugs.webkit.org/show_bug.cgi?id=177848

Reviewed by Darin Adler.

Source/WebCore:

We currently use the CSS property parsers to parse SVG's  element attributes. Instead,
we should be using the CSS descriptor parsers to parse these attributes. However, this is a
fairly involved task, so until I can finish that, this patch fixes the crash. The crash is simple;
the descriptors shouldn't accept the universal keywords ("initial", "inherit", etc.) and our
font-face machinery assumes this. So the fix is just detect these keywords and explicitly disallow
them.

Test: svg/text/font-style-keyword.html

* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::parseAttribute):

LayoutTests:

* svg/text/font-style-keyword-expected.txt: Added.
* svg/text/font-style-keyword.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/CSSValue.h
trunk/Source/WebCore/svg/SVGFontFaceElement.cpp


Added Paths

trunk/LayoutTests/svg/text/font-style-keyword-expected.txt
trunk/LayoutTests/svg/text/font-style-keyword.html




Diff

Modified: trunk/LayoutTests/ChangeLog (225807 => 225808)

--- trunk/LayoutTests/ChangeLog	2017-12-12 22:24:37 UTC (rev 225807)
+++ trunk/LayoutTests/ChangeLog	2017-12-12 22:51:02 UTC (rev 225808)
@@ -1,3 +1,13 @@
+2017-12-12  Myles C. Maxfield  
+
+REGRESSION (Safari 11): custom  tag crashes a page
+https://bugs.webkit.org/show_bug.cgi?id=177848
+
+Reviewed by Darin Adler.
+
+* svg/text/font-style-keyword-expected.txt: Added.
+* svg/text/font-style-keyword.html: Added.
+
 2017-12-12  Antoine Quint  
 
 [Web Animations] Implement the playState property on Animation


Added: trunk/LayoutTests/svg/text/font-style-keyword-expected.txt (0 => 225808)

--- trunk/LayoutTests/svg/text/font-style-keyword-expected.txt	(rev 0)
+++ trunk/LayoutTests/svg/text/font-style-keyword-expected.txt	2017-12-12 22:51:02 UTC (rev 225808)
@@ -0,0 +1 @@
+
Property changes on: trunk/LayoutTests/svg/text/font-style-keyword-expected.txt
___


Added: svn:eol-style
+native
\ No newline at end of property

Added: svn:keywords
+Author Date Id Rev URL
\ No newline at end of property

Added: trunk/LayoutTests/svg/text/font-style-keyword.html (0 => 225808)

--- trunk/LayoutTests/svg/text/font-style-keyword.html	(rev 0)
+++ trunk/LayoutTests/svg/text/font-style-keyword.html	2017-12-12 22:51:02 UTC (rev 225808)
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+if (window.testRunner)
+testRunner.dumpAsText();
+
+  
+
+  
+
+  
+
+
+  
+
+  
+
+
+  
+
+  
+
+
+  
+
+  
+
+  
+
+
+


Modified: trunk/Source/WebCore/ChangeLog (225807 => 225808)

--- trunk/Source/WebCore/ChangeLog	2017-12-12 22:24:37 UTC (rev 225807)
+++ trunk/Source/WebCore/ChangeLog	2017-12-12 22:51:02 UTC (rev 225808)
@@ -1,3 +1,22 @@
+2017-12-12  Myles C. Maxfield  
+
+REGRESSION (Safari 11): custom  tag crashes a page
+https://bugs.webkit.org/show_bug.cgi?id=177848
+
+Reviewed by Darin Adler.
+
+We currently use the CSS property parsers to parse SVG's  element attributes. Instead,
+we should be using the CSS descriptor parsers to parse these attributes. However, this is a
+fairly involved task, so until I can finish that, this patch fixes the crash. The crash is simple;
+the descriptors shouldn't accept the universal keywords ("initial", "inherit", etc.) and our
+font-face machinery assumes this. So the fix is just detect these keywords and explicitly disallow
+them.
+
+Test: svg/text/font-style-keyword.html
+
+* svg/SVGFontFaceElement.cpp:
+(WebCore::SVGFontFaceElement::parseAttribute):
+
 2017-12-12  Antoine Quint  
 
 [Web Animations] Implement the playState property on Animation


Modified: trunk/Source/WebCore/css/CSSValue.h (225807 => 225808)

--- trunk/Source/WebCore/css/CSSValue.h	2017-12-12 22:24:37 UTC (rev 225807)
+++ trunk/Source/WebCore/css/CSSValue.h	2017-12-12 22:51:02 UTC (rev 225808)
@@ -91,6 +91,7 @@
 bool isInitialValue() const { return m_classType == InitialClass; }
 bool isUnsetValue() const { return m_classType == UnsetClass; }
 bool isRevertValue() const { return m_classType == RevertClass; }
+bool isGlobalKeyword() const { return isInheritedValue() || isInitialValue() || isUnsetValue() || isRevertValue(); }
 bool treatAsInitialValue(CSSPropertyID) const;
 bool treatAsInheritedValue(CSSPropertyID) const;
 bool isLinearGradientValue() const { return m_classType == LinearGradientClass; }


Modified: trunk/Source/WebCore/svg/SVGFontFaceElemen

[webkit-changes] [225806] trunk/Source/WebInspectorUI

2017-12-12 Thread mcatanzaro
Title: [225806] trunk/Source/WebInspectorUI








Revision 225806
Author mcatanz...@igalia.com
Date 2017-12-12 14:23:17 -0800 (Tue, 12 Dec 2017)


Log Message
Don't require perl(File::Copy::Recursive)
https://bugs.webkit.org/show_bug.cgi?id=180479


Reviewed by Daniel Bates.

Fix the error handling. I added this at the last moment and failed to test. The logic is
inverted, causing an error to always be reported on success.

Add a missing 'mkdir -p' using File::Path::make_path. This has its own built-in error
reporting, so no need to add our own.

* Scripts/copy-user-interface-resources.pl:
(ditto):

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (225805 => 225806)

--- trunk/Source/WebInspectorUI/ChangeLog	2017-12-12 22:19:20 UTC (rev 225805)
+++ trunk/Source/WebInspectorUI/ChangeLog	2017-12-12 22:23:17 UTC (rev 225806)
@@ -1,5 +1,22 @@
 2017-12-12  Michael Catanzaro  
 
+Don't require perl(File::Copy::Recursive)
+https://bugs.webkit.org/show_bug.cgi?id=180479
+
+
+Reviewed by Daniel Bates.
+
+Fix the error handling. I added this at the last moment and failed to test. The logic is
+inverted, causing an error to always be reported on success.
+
+Add a missing 'mkdir -p' using File::Path::make_path. This has its own built-in error
+reporting, so no need to add our own.
+
+* Scripts/copy-user-interface-resources.pl:
+(ditto):
+
+2017-12-12  Michael Catanzaro  
+
 Unreviewed, don't print empty error message when copying resource fails
 
 Unsurprisingly, when system() fails, there is not any useful error to be printed, so don't.


Modified: trunk/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl (225805 => 225806)

--- trunk/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl	2017-12-12 22:19:20 UTC (rev 225805)
+++ trunk/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl	2017-12-12 22:23:17 UTC (rev 225806)
@@ -49,9 +49,10 @@
 } elsif ($^O ne 'MSWin32') {
 # Ditto copies the *contents* of the source directory, not the directory itself.
 opendir(my $dh, $source) or die "Can't open $source: $!";
+make_path($destination);
 while (readdir $dh) {
 if ($_ ne '..' and $_ ne '.') {
-system('cp', '-R', "${source}/$_", $destination) or die "Failed to copy ${source}/$_ to $destination";
+system('cp', '-R', "${source}/$_", $destination) == 0 or die "Failed to copy ${source}/$_ to $destination";
 }
 }
 closedir $dh;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225807] trunk

2017-12-12 Thread commit-queue
Title: [225807] trunk








Revision 225807
Author commit-qu...@webkit.org
Date 2017-12-12 14:24:37 -0800 (Tue, 12 Dec 2017)


Log Message
[Web Animations] Implement the playState property on Animation
https://bugs.webkit.org/show_bug.cgi?id=180711


Patch by Antoine Quint  on 2017-12-12
Reviewed by Dean Jackson.

Source/WebCore:

Expose the playState and pending properties. The playState property has a complete implementation but
has some test failures due to Animation lacking correct behavior while running animations which will
be fixed in a followup patch. The pending property is a placeholder until we implement pending play
and pause tasks in followup patches.

* animation/WebAnimation.cpp:
(WebCore::WebAnimation::playState const):
(WebCore::WebAnimation::effectEndTime const):
* animation/WebAnimation.h:
* animation/WebAnimation.idl:

LayoutTests:

Rebase some WPT expectations with progressions due to exposing the "playState" and "pending" properties.

* http/wpt/web-animations/interfaces/Animation/constructor-expected.txt:
* http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt:
* http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/http/wpt/web-animations/interfaces/Animation/constructor-expected.txt
trunk/LayoutTests/http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt
trunk/LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/animation/WebAnimation.cpp
trunk/Source/WebCore/animation/WebAnimation.h
trunk/Source/WebCore/animation/WebAnimation.idl




Diff

Modified: trunk/LayoutTests/ChangeLog (225806 => 225807)

--- trunk/LayoutTests/ChangeLog	2017-12-12 22:23:17 UTC (rev 225806)
+++ trunk/LayoutTests/ChangeLog	2017-12-12 22:24:37 UTC (rev 225807)
@@ -1,3 +1,17 @@
+2017-12-12  Antoine Quint  
+
+[Web Animations] Implement the playState property on Animation
+https://bugs.webkit.org/show_bug.cgi?id=180711
+
+
+Reviewed by Dean Jackson.
+
+Rebase some WPT expectations with progressions due to exposing the "playState" and "pending" properties.
+
+* http/wpt/web-animations/interfaces/Animation/constructor-expected.txt:
+* http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt:
+* http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt:
+
 2017-12-12  Youenn Fablet  
 
 Navigation requests should use navigate fetch mode


Modified: trunk/LayoutTests/http/wpt/web-animations/interfaces/Animation/constructor-expected.txt (225806 => 225807)

--- trunk/LayoutTests/http/wpt/web-animations/interfaces/Animation/constructor-expected.txt	2017-12-12 22:23:17 UTC (rev 225806)
+++ trunk/LayoutTests/http/wpt/web-animations/interfaces/Animation/constructor-expected.txt	2017-12-12 22:24:37 UTC (rev 225807)
@@ -1,7 +1,7 @@
 
 FAIL Animation can be constructed with null effect and null timeline assert_equals: Animation timeline should be null expected null but got object "[object DocumentTimeline]"
-FAIL Animation can be constructed with null effect and non-null timeline assert_equals: Animation.playState should be initially 'idle' expected (string) "idle" but got (undefined) undefined
-FAIL Animation can be constructed with null effect and no timeline parameter assert_equals: Animation.playState should be initially 'idle' expected (string) "idle" but got (undefined) undefined
+PASS Animation can be constructed with null effect and non-null timeline 
+PASS Animation can be constructed with null effect and no timeline parameter 
 FAIL Animation can be constructed with non-null effect and null timeline Can't find variable: KeyframeEffectReadOnly
 FAIL Animation can be constructed with non-null effect and non-null timeline Can't find variable: KeyframeEffectReadOnly
 FAIL Animation can be constructed with non-null effect and no timeline parameter Can't find variable: KeyframeEffectReadOnly


Modified: trunk/LayoutTests/http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt (225806 => 225807)

--- trunk/LayoutTests/http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt	2017-12-12 22:23:17 UTC (rev 225806)
+++ trunk/LayoutTests/http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt	2017-12-12 22:24:37 UTC (rev 225807)
@@ -11,7 +11,7 @@
 PASS Animation interface: attribute startTime 
 PASS Animation interface: attribute currentTime 
 PASS Animation interface: attribute playbackRate 
-FAIL Animation interface: attribute playState assert_true: The prototype object must have a property "playState" expected true got false
+PASS Animation interface: attribute playState 
 FAIL Animation interface: attribute ready assert_true: The prototype object must have a property "ready" expected true got false
 FAIL Animation interface: attribu

[webkit-changes] [225804] trunk/Source/JavaScriptCore

2017-12-12 Thread bburg
Title: [225804] trunk/Source/_javascript_Core








Revision 225804
Author bb...@apple.com
Date 2017-12-12 13:49:13 -0800 (Tue, 12 Dec 2017)


Log Message
Web Inspector: modernize InjectedScript a bit
https://bugs.webkit.org/show_bug.cgi?id=180367

Reviewed by Timothy Hatcher.

Stop using out parameters passed by pointer, use references instead.
Stop using OptOutput in favor of std::optional where possible.
If there is only one out-parameter and a void return type, then return the value.

* inspector/InjectedScript.h:
* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::evaluate):
(Inspector::InjectedScript::callFunctionOn):
(Inspector::InjectedScript::evaluateOnCallFrame):
(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::functionDetails):
(Inspector::InjectedScript::getPreview):
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getDisplayableProperties):
(Inspector::InjectedScript::getInternalProperties):
(Inspector::InjectedScript::getCollectionEntries):
(Inspector::InjectedScript::saveResult):
(Inspector::InjectedScript::setExceptionValue):
(Inspector::InjectedScript::clearExceptionValue):
(Inspector::InjectedScript::inspectObject):
(Inspector::InjectedScript::releaseObject):

* inspector/InjectedScriptBase.h:
* inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::InjectedScriptBase):
Declare m_environment with a default initializer.

(Inspector::InjectedScriptBase::makeCall):
(Inspector::InjectedScriptBase::makeEvalCall):
Just return the result, no need for an out-parameter.
Rearrange some code paths now that we can just return a result.
Return a Ref since it is either a result value or error value.
Use out_ prefixes in a few places to improve readability.

* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::getFunctionDetails):
(Inspector::InspectorDebuggerAgent::evaluateOnCallFrame):
* inspector/agents/InspectorHeapAgent.cpp:
(Inspector::InspectorHeapAgent::getPreview):
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::evaluate):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getPreview):
(Inspector::InspectorRuntimeAgent::getProperties):
(Inspector::InspectorRuntimeAgent::getDisplayableProperties):
(Inspector::InspectorRuntimeAgent::getCollectionEntries):
(Inspector::InspectorRuntimeAgent::saveResult):
Adapt to InjectedScript changes. In some cases we need to bridge OptOutput
and std::optional until the former is removed from generated method signatures.

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/inspector/InjectedScript.cpp
trunk/Source/_javascript_Core/inspector/InjectedScript.h
trunk/Source/_javascript_Core/inspector/InjectedScriptBase.cpp
trunk/Source/_javascript_Core/inspector/InjectedScriptBase.h
trunk/Source/_javascript_Core/inspector/agents/InspectorDebuggerAgent.cpp
trunk/Source/_javascript_Core/inspector/agents/InspectorHeapAgent.cpp
trunk/Source/_javascript_Core/inspector/agents/InspectorRuntimeAgent.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (225803 => 225804)

--- trunk/Source/_javascript_Core/ChangeLog	2017-12-12 21:36:48 UTC (rev 225803)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-12-12 21:49:13 UTC (rev 225804)
@@ -1,3 +1,60 @@
+2017-12-04  Brian Burg  
+
+Web Inspector: modernize InjectedScript a bit
+https://bugs.webkit.org/show_bug.cgi?id=180367
+
+Reviewed by Timothy Hatcher.
+
+Stop using out parameters passed by pointer, use references instead.
+Stop using OptOutput in favor of std::optional where possible.
+If there is only one out-parameter and a void return type, then return the value.
+
+* inspector/InjectedScript.h:
+* inspector/InjectedScript.cpp:
+(Inspector::InjectedScript::evaluate):
+(Inspector::InjectedScript::callFunctionOn):
+(Inspector::InjectedScript::evaluateOnCallFrame):
+(Inspector::InjectedScript::getFunctionDetails):
+(Inspector::InjectedScript::functionDetails):
+(Inspector::InjectedScript::getPreview):
+(Inspector::InjectedScript::getProperties):
+(Inspector::InjectedScript::getDisplayableProperties):
+(Inspector::InjectedScript::getInternalProperties):
+(Inspector::InjectedScript::getCollectionEntries):
+(Inspector::InjectedScript::saveResult):
+(Inspector::InjectedScript::setExceptionValue):
+(Inspector::InjectedScript::clearExceptionValue):
+(Inspector::InjectedScript::inspectObject):
+(Inspector::InjectedScript::releaseObject):
+
+* inspector/InjectedScriptBase.h:
+* inspector/InjectedScriptBase.cpp:
+(Inspector::InjectedScriptBase::InjectedScriptBase):
+Declare m_environment with a default initializer.
+
+(Inspector::InjectedScriptBase::makeCall):
+(Inspector::InjectedScriptBase::make

[webkit-changes] [225803] trunk/Tools

2017-12-12 Thread commit-queue
Title: [225803] trunk/Tools








Revision 225803
Author commit-qu...@webkit.org
Date 2017-12-12 13:36:48 -0800 (Tue, 12 Dec 2017)


Log Message
Update ContentFiltering.LazilyLoadPlatformFrameworks test to account for libwebrtc using VideoProcessing framework
https://bugs.webkit.org/show_bug.cgi?id=180713

Patch by Youenn Fablet  on 2017-12-12
Reviewed by Andy Estes.

Temporarily disabling a subcheck until we make the test more robust and/or libwebrtc weak linking VideoProcessing framework.

* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm




Diff

Modified: trunk/Tools/ChangeLog (225802 => 225803)

--- trunk/Tools/ChangeLog	2017-12-12 21:35:58 UTC (rev 225802)
+++ trunk/Tools/ChangeLog	2017-12-12 21:36:48 UTC (rev 225803)
@@ -1,3 +1,15 @@
+2017-12-12  Youenn Fablet  
+
+Update ContentFiltering.LazilyLoadPlatformFrameworks test to account for libwebrtc using VideoProcessing framework
+https://bugs.webkit.org/show_bug.cgi?id=180713
+
+Reviewed by Andy Estes.
+
+Temporarily disabling a subcheck until we make the test more robust and/or libwebrtc weak linking VideoProcessing framework.
+
+* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
+(-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
+
 2017-12-12  Caio Lima  
 
 [ESNext][BigInt] Implement BigInt literals and JSBigInt


Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm (225802 => 225803)

--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm	2017-12-12 21:35:58 UTC (rev 225802)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm	2017-12-12 21:36:48 UTC (rev 225803)
@@ -363,7 +363,10 @@
 EXPECT_EQ(static_cast(parentalControlsShouldBeLoaded), static_cast(parentalControlsLoaded));
 #endif
 #if HAVE(NETWORK_EXTENSION)
-EXPECT_EQ(static_cast(networkExtensionShouldBeLoaded), static_cast(networkExtensionLoaded));
+// FIXME: Libwebrtc is linking on some configurations to VideoProcessing framework which brings up NetworkExtension framework.
+// https://bugs.webkit.org/show_bug.cgi?id=180713
+// Disable this test until we find a more robust test or libwebrtc weak link VideoProcessing framework.
+// EXPECT_EQ(static_cast(networkExtensionShouldBeLoaded), static_cast(networkExtensionLoaded));
 #endif
 isDone = true;
 }];






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225802] trunk/Source/WebCore

2017-12-12 Thread jer . noble
Title: [225802] trunk/Source/WebCore








Revision 225802
Author jer.no...@apple.com
Date 2017-12-12 13:35:58 -0800 (Tue, 12 Dec 2017)


Log Message
[EME] Support reporting and restoring persistent usage data.
https://bugs.webkit.org/show_bug.cgi?id=180684

Reviewed by Eric Carlson.

Add support for reading and acknowledging persistent usage data from the MediaKeys storage
directory.

Add a mechanism for passing the storage location down to CDMPrivate and CDMInstance objects
inside of the CDM class itself:

* Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::createInstance):
(WebCore::CDM::storageDirectory const):
* Modules/encryptedmedia/CDM.h:

Support loading expired session data, acknowledging expired session data, closing sessions
and removing usable key data.

* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::isEqual):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::updateLicense):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::loadSession):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::closeSession):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::removeSessionData):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/encryptedmedia/CDM.cpp
trunk/Source/WebCore/Modules/encryptedmedia/CDM.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (225801 => 225802)

--- trunk/Source/WebCore/ChangeLog	2017-12-12 21:16:36 UTC (rev 225801)
+++ trunk/Source/WebCore/ChangeLog	2017-12-12 21:35:58 UTC (rev 225802)
@@ -1,3 +1,32 @@
+2017-12-12  Jer Noble  
+
+[EME] Support reporting and restoring persistent usage data.
+https://bugs.webkit.org/show_bug.cgi?id=180684
+
+Reviewed by Eric Carlson.
+
+Add support for reading and acknowledging persistent usage data from the MediaKeys storage
+directory.
+
+Add a mechanism for passing the storage location down to CDMPrivate and CDMInstance objects
+inside of the CDM class itself:
+
+* Modules/encryptedmedia/CDM.cpp:
+(WebCore::CDM::createInstance):
+(WebCore::CDM::storageDirectory const):
+* Modules/encryptedmedia/CDM.h:
+
+Support loading expired session data, acknowledging expired session data, closing sessions
+and removing usable key data.
+
+* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
+* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
+(WebCore::isEqual):
+(WebCore::CDMInstanceFairPlayStreamingAVFObjC::updateLicense):
+(WebCore::CDMInstanceFairPlayStreamingAVFObjC::loadSession):
+(WebCore::CDMInstanceFairPlayStreamingAVFObjC::closeSession):
+(WebCore::CDMInstanceFairPlayStreamingAVFObjC::removeSessionData):
+
 2017-12-12  Christopher Reid  
 
 WebGL TextureMapperShaderProgram shaders don't compile in MSVC


Modified: trunk/Source/WebCore/Modules/encryptedmedia/CDM.cpp (225801 => 225802)

--- trunk/Source/WebCore/Modules/encryptedmedia/CDM.cpp	2017-12-12 21:16:36 UTC (rev 225801)
+++ trunk/Source/WebCore/Modules/encryptedmedia/CDM.cpp	2017-12-12 21:35:58 UTC (rev 225802)
@@ -31,13 +31,17 @@
 #include "CDMFactory.h"
 #include "CDMPrivate.h"
 #include "Document.h"
+#include "FileSystem.h"
 #include "InitDataRegistry.h"
 #include "MediaKeysRequirement.h"
 #include "MediaPlayer.h"
 #include "NotImplemented.h"
+#include "Page.h"
 #include "ParsedContentType.h"
 #include "ScriptExecutionContext.h"
 #include "SecurityOrigin.h"
+#include "SecurityOriginData.h"
+#include "Settings.h"
 #include 
 
 namespace WebCore {
@@ -590,7 +594,9 @@
 {
 if (!m_private)
 return nullptr;
-return m_private->createInstance();
+auto instance = m_private->createInstance();
+instance->setStorageDirectory(storageDirectory());
+return instance;
 }
 
 bool CDM::supportsServerCertificates() const
@@ -632,6 +638,23 @@
 return m_private->sanitizeSessionId(sessionId);
 }
 
+String CDM::storageDirectory() const
+{
+auto* document = downcast(scriptExecutionContext());
+if (!document)
+return emptyString();
+
+auto* page = document->page();
+if (!page || page->usesEphemeralSession())
+return emptyString();
+
+auto storageDirectory = document->settings().mediaKeysStorageDirectory();
+if (storageDirectory.isEmpty())
+return emptyString();
+
+return FileSystem::pathByAppendingComponent(storageDirectory, SecurityOriginData::fromSecurityOrigin(document->securityOrigin()).databaseIdentifier());
 }
 
+}
+
 #endif


Modified: trunk/Source/WebCore/Modules/encryptedmedia/CDM.h (225801 => 225802)

--- trunk/Source/WebCore/Modules/encryptedmedia/CDM.h	2017-12-12 21:16:36 UTC (rev 22580

[webkit-changes] [225801] trunk/Source/WebKit

2017-12-12 Thread bfulgham
Title: [225801] trunk/Source/WebKit








Revision 225801
Author bfulg...@apple.com
Date 2017-12-12 13:16:36 -0800 (Tue, 12 Dec 2017)


Log Message
Unreviewed build fix after r225763.

Remove dangling close-parentheses character.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb




Diff

Modified: trunk/Source/WebKit/ChangeLog (225800 => 225801)

--- trunk/Source/WebKit/ChangeLog	2017-12-12 21:11:11 UTC (rev 225800)
+++ trunk/Source/WebKit/ChangeLog	2017-12-12 21:16:36 UTC (rev 225801)
@@ -1,3 +1,11 @@
+2017-12-12  Brent Fulgham  
+
+Unreviewed build fix after r225763.
+
+Remove dangling close-parentheses character.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
+
 2017-12-12  Zach Li  
 
 [WK2] Expose image via WKBundleHitTestResult API.


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb (225800 => 225801)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb	2017-12-12 21:11:11 UTC (rev 225800)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb	2017-12-12 21:16:36 UTC (rev 225801)
@@ -318,7 +318,7 @@
 (allow-create-directory
 (home-literal "/Library/Caches/com.apple.DictionaryServices"))
 
-(allow-network-common))
+(allow-network-common)
 
 ;  Sub-TLF: Sandbox change for apps for read-only access to the dictionary directory/data
 (allow file-read*






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225800] trunk/Source/WebCore

2017-12-12 Thread commit-queue
Title: [225800] trunk/Source/WebCore








Revision 225800
Author commit-qu...@webkit.org
Date 2017-12-12 13:11:11 -0800 (Tue, 12 Dec 2017)


Log Message
WebGL TextureMapperShaderProgram shaders don't compile in MSVC
https://bugs.webkit.org/show_bug.cgi?id=180709

Patch by Christopher Reid  on 2017-12-12
Reviewed by Myles C. Maxfield.

No new tests, no change in behavior.

Vertex and Fragment shaders were not compiling because TextureMapperShaderProgram.cpp was
stringifying "#if USE(OPENGL_ES_2) ... #endif" into the shaders rather than evaluating these
preprocessor directives before the STRINGIFY expansion.

Moved these #if conditions outside of STRINGIFY to remove compiler ambiguity.

* platform/graphics/texmap/TextureMapperShaderProgram.cpp:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (225799 => 225800)

--- trunk/Source/WebCore/ChangeLog	2017-12-12 21:01:57 UTC (rev 225799)
+++ trunk/Source/WebCore/ChangeLog	2017-12-12 21:11:11 UTC (rev 225800)
@@ -1,3 +1,20 @@
+2017-12-12  Christopher Reid  
+
+WebGL TextureMapperShaderProgram shaders don't compile in MSVC
+https://bugs.webkit.org/show_bug.cgi?id=180709
+
+Reviewed by Myles C. Maxfield.
+
+No new tests, no change in behavior.
+
+Vertex and Fragment shaders were not compiling because TextureMapperShaderProgram.cpp was
+stringifying "#if USE(OPENGL_ES_2) ... #endif" into the shaders rather than evaluating these
+preprocessor directives before the STRINGIFY expansion.
+
+Moved these #if conditions outside of STRINGIFY to remove compiler ambiguity.
+
+* platform/graphics/texmap/TextureMapperShaderProgram.cpp:
+
 2017-12-12  Zach Li  
 [WK2] Expose image via WKBundleHitTestResult API.
 https://bugs.webkit.org/show_bug.cgi?id=180552.


Modified: trunk/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp (225799 => 225800)

--- trunk/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp	2017-12-12 21:01:57 UTC (rev 225799)
+++ trunk/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp	2017-12-12 21:11:11 UTC (rev 225800)
@@ -58,10 +58,12 @@
 #if USE(OPENGL_ES_2)
 TEXTURE_SPACE_MATRIX_PRECISION_DIRECTIVE
 #endif
+#if USE(OPENGL_ES_2)
 STRINGIFY(
-#if USE(OPENGL_ES_2)
 precision TextureSpaceMatrixPrecision float;
+)
 #endif
+STRINGIFY(
 attribute vec4 a_vertex;
 varying vec2 v_texCoord;
 varying vec2 v_transformedTexCoord;
@@ -168,16 +170,21 @@
 #if USE(OPENGL_ES_2)
 TEXTURE_SPACE_MATRIX_PRECISION_DIRECTIVE
 #endif
+#if USE(OPENGL_ES_2)
 STRINGIFY(
-#if USE(OPENGL_ES_2)
 precision TextureSpaceMatrixPrecision float;
+)
 #endif
+STRINGIFY(
 uniform mat4 u_textureSpaceMatrix;
 uniform mat4 u_textureColorSpaceMatrix;
+)
 #if USE(OPENGL_ES_2)
+STRINGIFY(
 precision mediump float;
+)
 #endif
-);
+;
 
 // Input/output variables definition for both GLES and OpenGL < 3.2.
 static const char* fragmentTemplateLT320Vars =






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225798] trunk/Source

2017-12-12 Thread commit-queue
Title: [225798] trunk/Source








Revision 225798
Author commit-qu...@webkit.org
Date 2017-12-12 13:01:26 -0800 (Tue, 12 Dec 2017)


Log Message
[WK2] Expose image via WKBundleHitTestResult API.
https://bugs.webkit.org/show_bug.cgi?id=180552.
rdar://problem/23951521

Patch by Zach Li  on 2017-12-12
Reviewed by Simon Fraser.

Source/WebCore:

* platform/graphics/ImageSource.h:
This method will be used by clients outside WebCore, so
add WEBCORE_EXPORT.

Source/WebKit:

* WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
(WKBundleHitTestResultGetImage):
* WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:

* WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
(WebKit::InjectedBundleHitTestResult::image const):
Convert from WebCore::Image to WebImage by creating a WebImage
and paint the WebCore::Image into its graphics context. For now,
only handle bitmap images.
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/ImageSource.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp
trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h
trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp
trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundleHitTestResult.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (225797 => 225798)

--- trunk/Source/WebCore/ChangeLog	2017-12-12 21:00:37 UTC (rev 225797)
+++ trunk/Source/WebCore/ChangeLog	2017-12-12 21:01:26 UTC (rev 225798)
@@ -1,3 +1,14 @@
+2017-12-12  Zach Li  
+[WK2] Expose image via WKBundleHitTestResult API.
+https://bugs.webkit.org/show_bug.cgi?id=180552.
+rdar://problem/23951521
+
+Reviewed by Simon Fraser.
+
+* platform/graphics/ImageSource.h:
+This method will be used by clients outside WebCore, so
+add WEBCORE_EXPORT.
+
 2017-12-12  Simon Fraser  
 
 Remove ColorSpaceDeviceRGB and most users of the obsolete deviceRGB colorspace


Modified: trunk/Source/WebCore/platform/graphics/ImageSource.h (225797 => 225798)

--- trunk/Source/WebCore/platform/graphics/ImageSource.h	2017-12-12 21:00:37 UTC (rev 225797)
+++ trunk/Source/WebCore/platform/graphics/ImageSource.h	2017-12-12 21:01:26 UTC (rev 225798)
@@ -95,7 +95,7 @@
 std::optional hotSpot();
 
 // Image metadata which is calculated from the first ImageFrame.
-IntSize size();
+WEBCORE_EXPORT IntSize size();
 IntSize sizeRespectingOrientation();
 Color singlePixelSolidColor();
 SubsamplingLevel maximumSubsamplingLevel();


Modified: trunk/Source/WebKit/ChangeLog (225797 => 225798)

--- trunk/Source/WebKit/ChangeLog	2017-12-12 21:00:37 UTC (rev 225797)
+++ trunk/Source/WebKit/ChangeLog	2017-12-12 21:01:26 UTC (rev 225798)
@@ -1,3 +1,22 @@
+2017-12-12  Zach Li  
+
+[WK2] Expose image via WKBundleHitTestResult API.
+https://bugs.webkit.org/show_bug.cgi?id=180552.
+rdar://problem/23951521
+
+Reviewed by Simon Fraser.
+
+* WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+(WKBundleHitTestResultGetImage):
+* WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
+
+* WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+(WebKit::InjectedBundleHitTestResult::image const):
+Convert from WebCore::Image to WebImage by creating a WebImage
+and paint the WebCore::Image into its graphics context. For now,
+only handle bitmap images.
+* WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
+
 2017-12-12  Simon Fraser  
 
 Remove ColorSpaceDeviceRGB and most users of the obsolete deviceRGB colorspace


Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp (225797 => 225798)

--- trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp	2017-12-12 21:00:37 UTC (rev 225797)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp	2017-12-12 21:01:26 UTC (rev 225798)
@@ -31,6 +31,7 @@
 #include "WKAPICast.h"
 #include "WKBundleAPICast.h"
 #include "WebFrame.h"
+#include "WebImage.h"
 
 using namespace WebKit;
 
@@ -106,6 +107,12 @@
 return toAPI(toImpl(hitTestResultRef)->imageRect());
 }
 
+WKImageRef WKBundleHitTestResultCopyImage(WKBundleHitTestResultRef hitTestResultRef)
+{
+RefPtr webImage = toImpl(hitTestResultRef)->image();
+return toAPI(webImage.leakRef());
+}
+
 bool WKBundleHitTestResultGetIsSelected(WKBundleHitTestResultRef hitTestResultRef)
 {
 return toImpl(hitTestResultRef)->isSelected();


Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h (225797 => 225798)

--- trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h	2017-12-12 21:00:37 UTC (rev 225797)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleHitTestResu

[webkit-changes] [225797] trunk/Source

2017-12-12 Thread simon . fraser
Title: [225797] trunk/Source








Revision 225797
Author simon.fra...@apple.com
Date 2017-12-12 13:00:37 -0800 (Tue, 12 Dec 2017)


Log Message
Remove ColorSpaceDeviceRGB and most users of the obsolete deviceRGB colorspace
https://bugs.webkit.org/show_bug.cgi?id=180689

Reviewed by Tim Horton.

Source/WebCore:

Remove the ColorSpaceDeviceRGB enum and users.

ImageBuffer now uses sRGB instead of deviceRGB in the few cases that used the latter.

Switch Windows CG code to use sRGBColorSpaceRef() instead of deviceRGBColorSpaceRef().

Have linearRGBColorSpaceRef() use kCGColorSpaceLinearSRGB, which is present in iOS 9 and 10.11 and later.

* page/win/FrameCGWin.cpp:
(WebCore::imageFromRect):
* platform/graphics/Color.cpp:
(WebCore::operator<<):
* platform/graphics/ColorSpace.h:
* platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::transformColorSpace):
* platform/graphics/cg/ColorCG.cpp:
(WebCore::Color::Color):
(WebCore::leakCGColor):
(WebCore::createCGColorWithDeviceRGBA): Deleted.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::sRGBColorSpaceRef):
(WebCore::linearRGBColorSpaceRef):
(WebCore::extendedSRGBColorSpaceRef):
(WebCore::displayP3ColorSpaceRef):
(WebCore::deviceRGBColorSpaceRef): Deleted.
* platform/graphics/cg/GraphicsContextCG.h:
(WebCore::cachedCGColorSpace):
* platform/graphics/cocoa/GraphicsContextCocoa.mm:
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::CGContextWithHDC):
(WebCore::GraphicsContext::releaseWindowsContext):
(WebCore::GraphicsContext::drawWindowsBitmap):
* platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::create):
(WebCore::BitmapImage::getHBITMAPOfSize):
* platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
(WebCore::MockRealtimeVideoSourceMac::pixelBufferFromCGImage const):
* platform/win/DragImageCGWin.cpp:
(WebCore::allocImage):
(WebCore::createCgContextFromBitmap):
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::postApplyResource):
* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):

Source/WebKit:

Remove encoding of ColorSpaceDeviceRGB.

* Shared/WebCoreArgumentCoders.h:

Source/WebKitLegacy/mac:

Use sRGBColorSpaceRef() from WebCore.

* WebView/WebHTMLView.mm:
(imageFromRect):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/win/FrameCGWin.cpp
trunk/Source/WebCore/platform/graphics/Color.cpp
trunk/Source/WebCore/platform/graphics/ColorSpace.h
trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp
trunk/Source/WebCore/platform/graphics/cg/ColorCG.cpp
trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp
trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.h
trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm
trunk/Source/WebCore/platform/graphics/win/GraphicsContextCGWin.cpp
trunk/Source/WebCore/platform/graphics/win/ImageCGWin.cpp
trunk/Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.mm
trunk/Source/WebCore/platform/win/DragImageCGWin.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Shared/WebCoreArgumentCoders.h
trunk/Source/WebKitLegacy/mac/ChangeLog
trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (225796 => 225797)

--- trunk/Source/WebCore/ChangeLog	2017-12-12 20:43:32 UTC (rev 225796)
+++ trunk/Source/WebCore/ChangeLog	2017-12-12 21:00:37 UTC (rev 225797)
@@ -1,3 +1,55 @@
+2017-12-12  Simon Fraser  
+
+Remove ColorSpaceDeviceRGB and most users of the obsolete deviceRGB colorspace
+https://bugs.webkit.org/show_bug.cgi?id=180689
+
+Reviewed by Tim Horton.
+
+Remove the ColorSpaceDeviceRGB enum and users.
+
+ImageBuffer now uses sRGB instead of deviceRGB in the few cases that used the latter.
+
+Switch Windows CG code to use sRGBColorSpaceRef() instead of deviceRGBColorSpaceRef().
+
+Have linearRGBColorSpaceRef() use kCGColorSpaceLinearSRGB, which is present in iOS 9 and 10.11 and later.
+
+* page/win/FrameCGWin.cpp:
+(WebCore::imageFromRect):
+* platform/graphics/Color.cpp:
+(WebCore::operator<<):
+* platform/graphics/ColorSpace.h:
+* platform/graphics/ImageBuffer.cpp:
+(WebCore::ImageBuffer::transformColorSpace):
+* platform/graphics/cg/ColorCG.cpp:
+(WebCore::Color::Color):
+(WebCore::leakCGColor):
+(WebCore::createCGColorWithDeviceRGBA): Deleted.
+* platform/graphics/cg/GraphicsContextCG.cpp:
+(WebCore::sRGBColorSpaceRef):
+(WebCore::linearRGBColorSpaceRef):
+(WebCore::extendedSRGBColorSpaceRef):
+(WebCore::displayP3ColorSpaceRef):
+(WebCore::deviceRGBColorSpaceRef): Deleted.
+* platform/graphics/cg/GraphicsContextCG.h:
+(WebCore::cachedCGColorSpace):
+* platform/gra

[webkit-changes] [225796] trunk

2017-12-12 Thread commit-queue
Title: [225796] trunk








Revision 225796
Author commit-qu...@webkit.org
Date 2017-12-12 12:43:32 -0800 (Tue, 12 Dec 2017)


Log Message
Navigation requests should use navigate fetch mode
https://bugs.webkit.org/show_bug.cgi?id=179808

Patch by Youenn Fablet  on 2017-12-12
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

* web-platform-tests/service-workers/service-worker/fetch-request-redirect.https-expected.txt:
* web-platform-tests/service-workers/service-worker/navigation-redirect.https-expected.txt:
* web-platform-tests/service-workers/service-worker/register-same-scope-different-script-url.https-expected.txt:
* web-platform-tests/service-workers/service-worker/request-end-to-end.https-expected.txt:
This is a progression since test is failing at a later point. Test might need being updated to match latest fetch spec.
* web-platform-tests/service-workers/service-worker/resources/clients-get-worker.js:
(self.onfetch): Change upstreamed at https://github.com/w3c/web-platform-tests/pull/8289.

Source/WebCore:

Covered by existing tests.

* Modules/fetch/FetchRequest.cpp:
(WebCore::buildOptions): Update to throw only if init.mode is Navigate.
* Modules/fetch/FetchRequestInit.h:
(WebCore::FetchRequestInit::hasMembers const): If init is present, set default values as per spec.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::loadMainResource): Set fetch mode to navigate.
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Bypass preflight in case fetch mode is navigate.

LayoutTests:

* http/tests/workers/service/basic-fetch.https-expected.txt:
* http/tests/workers/service/resources/basic-fetch-worker.js:
* http/tests/workers/service/resources/basic-fetch.js:
(async.test):

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/http/tests/workers/service/basic-fetch.https-expected.txt
trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch-worker.js
trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch.js
trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/request-end-to-end.https-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/fetch/FetchRequest.cpp
trunk/Source/WebCore/Modules/fetch/FetchRequestInit.h
trunk/Source/WebCore/loader/DocumentLoader.cpp
trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (225795 => 225796)

--- trunk/LayoutTests/ChangeLog	2017-12-12 19:52:41 UTC (rev 225795)
+++ trunk/LayoutTests/ChangeLog	2017-12-12 20:43:32 UTC (rev 225796)
@@ -1,5 +1,17 @@
 2017-12-12  Youenn Fablet  
 
+Navigation requests should use navigate fetch mode
+https://bugs.webkit.org/show_bug.cgi?id=179808
+
+Reviewed by Chris Dumez.
+
+* http/tests/workers/service/basic-fetch.https-expected.txt:
+* http/tests/workers/service/resources/basic-fetch-worker.js:
+* http/tests/workers/service/resources/basic-fetch.js:
+(async.test):
+
+2017-12-12  Youenn Fablet  
+
 Rebasing/unskipping some WPT service worker tests
 https://bugs.webkit.org/show_bug.cgi?id=180705
 


Modified: trunk/LayoutTests/http/tests/workers/service/basic-fetch.https-expected.txt (225795 => 225796)

--- trunk/LayoutTests/http/tests/workers/service/basic-fetch.https-expected.txt	2017-12-12 19:52:41 UTC (rev 225795)
+++ trunk/LayoutTests/http/tests/workers/service/basic-fetch.https-expected.txt	2017-12-12 20:43:32 UTC (rev 225796)
@@ -9,4 +9,5 @@
 PASS: test3 fetch failed as expected
 test4 status code: 404
 PASS: test5 fetch failed as expected
+PASS: / fetch failed as expected
 


Modified: trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch-worker.js (225795 => 225796)

--- trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch-worker.js	2017-12-12 19:52:41 UTC (rev 225795)
+++ trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch-worker.js	2017-12-12 20:43:32 UTC (rev 225796)
@@ -19,5 +19,9 @@
 return;
 }
 
+if (event.request.mode !== "navigate") {
+event.respondWith(Response.error());
+return;
+}
 event.respondWith(fetch(event.request.url));
 });


Modified: trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch.js (225795 => 225796)

--- trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch.js	2017-12-12 19:52:41 UTC (rev 225795)
+++ trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch.js	2017-12-12 20:43:32 UTC (rev 225796)
@@ -40,6 +40,13 @@
 log("PASS: test5 fetch failed as expected");
 }
 
+try {
+response = await fetch("/");
+log("FAIL: / fetch succeeded unexpectedly");
+log("/ status code: " + response.status);
+} catch (e) {
+log("PASS: / fetch failed as expected");
+}
 } catch(e) {
 log("Got exception: " + e);

[webkit-changes] [225795] trunk/Source/WebKit

2017-12-12 Thread bfulgham
Title: [225795] trunk/Source/WebKit








Revision 225795
Author bfulg...@apple.com
Date 2017-12-12 11:52:41 -0800 (Tue, 12 Dec 2017)


Log Message
REGRESSION(r216941): Plugin Process can't access AppStore Plugin Service
https://bugs.webkit.org/show_bug.cgi?id=180701


Reviewed by Daniel Bates.

The PluginProcess needs access to the AppStore Plugin XPC service.

* PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in




Diff

Modified: trunk/Source/WebKit/ChangeLog (225794 => 225795)

--- trunk/Source/WebKit/ChangeLog	2017-12-12 19:40:40 UTC (rev 225794)
+++ trunk/Source/WebKit/ChangeLog	2017-12-12 19:52:41 UTC (rev 225795)
@@ -1,3 +1,15 @@
+2017-12-12  Brent Fulgham  
+
+REGRESSION(r216941): Plugin Process can't access AppStore Plugin Service
+https://bugs.webkit.org/show_bug.cgi?id=180701
+
+
+Reviewed by Daniel Bates.
+
+The PluginProcess needs access to the AppStore Plugin XPC service.
+
+* PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
+
 2017-12-12  Brady Eidson  
 
 Make ServiceWorkers follow the DEFAULT_EXPERIMENTAL_FEATURES_ENABLED flag on Mac.


Modified: trunk/Source/WebKit/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in (225794 => 225795)

--- trunk/Source/WebKit/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in	2017-12-12 19:40:40 UTC (rev 225794)
+++ trunk/Source/WebKit/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in	2017-12-12 19:52:41 UTC (rev 225795)
@@ -128,6 +128,7 @@
 (xpc-service-name "com.apple.ViewBridgeAuxiliary")
 (xpc-service-name "com.apple.accessibility.mediaaccessibilityd")
 (xpc-service-name "com.apple.appkit.xpc.openAndSavePanelService")
+(xpc-service-name "com.apple.appstore.PluginXPCService") ; 
 (xpc-service-name "com.apple.audio.SandboxHelper")
 (xpc-service-name "com.apple.coremedia.videodecoder")
 (xpc-service-name "com.apple.coremedia.videoencoder")






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225794] trunk/LayoutTests

2017-12-12 Thread commit-queue
Title: [225794] trunk/LayoutTests








Revision 225794
Author commit-qu...@webkit.org
Date 2017-12-12 11:40:40 -0800 (Tue, 12 Dec 2017)


Log Message
Rebasing/unskipping some WPT service worker tests
https://bugs.webkit.org/show_bug.cgi?id=180705

Unreviewed.

Patch by Youenn Fablet  on 2017-12-12

LayoutTests/imported/w3c:

* web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt:
* web-platform-tests/service-workers/service-worker/service-worker-csp-default.https-expected.txt:
* web-platform-tests/service-workers/service-worker/service-worker-csp-script.https-expected.txt:

LayoutTests:

* TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/TestExpectations
trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/service-worker-csp-default.https-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/service-worker-csp-script.https-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (225793 => 225794)

--- trunk/LayoutTests/ChangeLog	2017-12-12 19:20:41 UTC (rev 225793)
+++ trunk/LayoutTests/ChangeLog	2017-12-12 19:40:40 UTC (rev 225794)
@@ -1,3 +1,12 @@
+2017-12-12  Youenn Fablet  
+
+Rebasing/unskipping some WPT service worker tests
+https://bugs.webkit.org/show_bug.cgi?id=180705
+
+Unreviewed.
+
+* TestExpectations:
+
 2017-12-12  Simon Fraser  
 
 HTML-page with 

Modified: trunk/LayoutTests/TestExpectations (225793 => 225794)

--- trunk/LayoutTests/TestExpectations	2017-12-12 19:20:41 UTC (rev 225793)
+++ trunk/LayoutTests/TestExpectations	2017-12-12 19:40:40 UTC (rev 225794)
@@ -167,7 +167,6 @@
 http/tests/workers/service/service-worker-cache-api.https.html [ Pass Failure ]
 imported/w3c/web-platform-tests/service-workers/service-worker/about-blank-replacement.https.html [ Pass Failure ]
 webkit.org/b/179137 imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html [ Pass Failure ]
-imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https.html [ Pass Failure ]
 webkit.org/b/179248 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw.https.html [ Pass Failure ]
 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https.html [ Pass Failure ]
 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-redirect.https.html [ Pass Failure Timeout ]
@@ -174,12 +173,9 @@
 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-xhr.https.html [ Pass Failure ]
 imported/w3c/web-platform-tests/service-workers/service-worker/multiple-update.https.html [ Pass Failure ]
 imported/w3c/web-platform-tests/service-workers/service-worker/performance-timeline.https.html [ Pass Failure ]
-webkit.org/b/179194 imported/w3c/web-platform-tests/service-workers/service-worker/registration-mime-types.https.html [ Pass Failure ]
 imported/w3c/web-platform-tests/service-workers/service-worker/registration-service-worker-attributes.https.html [ Pass Failure ]
 webkit.org/b/179138 imported/w3c/web-platform-tests/service-workers/service-worker/registration-updateviacache.https.html [ Pass Failure ]
 imported/w3c/web-platform-tests/service-workers/service-worker/service-worker-csp-connect.https.html [ Pass Failure ]
-imported/w3c/web-platform-tests/service-workers/service-worker/service-worker-csp-default.https.html [ Pass Failure ]
-imported/w3c/web-platform-tests/service-workers/service-worker/service-worker-csp-script.https.html [ Pass Failure ]
 imported/w3c/web-platform-tests/service-workers/service-worker/uncontrolled-page.https.html [ Pass Failure ]
 imported/w3c/web-platform-tests/service-workers/service-worker/update-bytecheck.https.html [ Pass Failure ]
 imported/w3c/web-platform-tests/service-workers/service-worker/unregister-controller.https.html [ Pass Failure ]
@@ -189,7 +185,7 @@
 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting.https.html [ DumpJSConsoleLogInStdErr Pass Failure ]
 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-cache.https.html [ DumpJSConsoleLogInStdErr Pass Failure ]
 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html [ DumpJSConsoleLogInStdErr Pass Failure ]
-imported/w3c/web-platform-tests/service-workers/service-worker/update.https.html [ Pass Failure Timeout ]
+imported/w3c/web-platform-tests/service-workers/service-worker/update.https.html [ Pass Failure ]
 
 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-response-taint.https.html [ DumpJSConsoleLogInStdErr ]
 


Modified: trunk/LayoutTests/imported/w3c/ChangeLog (225793 => 225794)

--- trunk/La

[webkit-changes] [225793] tags/Safari-605.1.17

2017-12-12 Thread jmarcell
Title: [225793] tags/Safari-605.1.17








Revision 225793
Author jmarc...@apple.com
Date 2017-12-12 11:20:41 -0800 (Tue, 12 Dec 2017)


Log Message
Cherry-pick r225768. rdar://problem/34657871

Modified Paths

tags/Safari-605.1.17/JSTests/ChangeLog
tags/Safari-605.1.17/Source/_javascript_Core/ChangeLog
tags/Safari-605.1.17/Source/_javascript_Core/jit/Repatch.cpp
tags/Safari-605.1.17/Source/_javascript_Core/runtime/ErrorInstance.cpp
tags/Safari-605.1.17/Source/_javascript_Core/runtime/ErrorInstance.h
tags/Safari-605.1.17/Source/_javascript_Core/runtime/Structure.cpp


Added Paths

tags/Safari-605.1.17/JSTests/stress/disable-caching-when-lazy-materializing-error-property-on-put.js




Diff

Modified: tags/Safari-605.1.17/JSTests/ChangeLog (225792 => 225793)

--- tags/Safari-605.1.17/JSTests/ChangeLog	2017-12-12 19:19:11 UTC (rev 225792)
+++ tags/Safari-605.1.17/JSTests/ChangeLog	2017-12-12 19:20:41 UTC (rev 225793)
@@ -1,3 +1,21 @@
+2017-12-12  Jason Marcell  
+
+Cherry-pick r225768. rdar://problem/34657871
+
+2017-12-11  Saam Barati  
+
+We need to disableCaching() in ErrorInstance when we materialize properties
+https://bugs.webkit.org/show_bug.cgi?id=180343
+
+
+Reviewed by Mark Lam.
+
+* stress/disable-caching-when-lazy-materializing-error-property-on-put.js: Added.
+(assert):
+(makeError):
+(storeToStack):
+(storeToStackAlreadyMaterialized):
+
 2017-12-05  JF Bastien  
 
 WebAssembly: don't eagerly checksum


Added: tags/Safari-605.1.17/JSTests/stress/disable-caching-when-lazy-materializing-error-property-on-put.js (0 => 225793)

--- tags/Safari-605.1.17/JSTests/stress/disable-caching-when-lazy-materializing-error-property-on-put.js	(rev 0)
+++ tags/Safari-605.1.17/JSTests/stress/disable-caching-when-lazy-materializing-error-property-on-put.js	2017-12-12 19:20:41 UTC (rev 225793)
@@ -0,0 +1,27 @@
+function assert(b) {
+if (!b)
+throw new Error;
+}
+
+function makeError() { return new Error; }
+noInline(makeError);
+
+function storeToStack(e) {
+e.stack = "foo";
+}
+noInline(storeToStack);
+
+function storeToStackAlreadyMaterialized(e) {
+e.stack = "bar";
+}
+noInline(storeToStackAlreadyMaterialized);
+
+for (let i = 0; i < 1; ++i) {
+let e = makeError();
+storeToStack(e);
+assert(e.stack === "foo");
+if (!!(i % 2))
+e.fooBar = 25;
+storeToStackAlreadyMaterialized(e);
+assert(e.stack === "bar");
+}


Modified: tags/Safari-605.1.17/Source/_javascript_Core/ChangeLog (225792 => 225793)

--- tags/Safari-605.1.17/Source/_javascript_Core/ChangeLog	2017-12-12 19:19:11 UTC (rev 225792)
+++ tags/Safari-605.1.17/Source/_javascript_Core/ChangeLog	2017-12-12 19:20:41 UTC (rev 225793)
@@ -1,3 +1,31 @@
+2017-12-12  Jason Marcell  
+
+Cherry-pick r225768. rdar://problem/34657871
+
+2017-12-11  Saam Barati  
+
+We need to disableCaching() in ErrorInstance when we materialize properties
+https://bugs.webkit.org/show_bug.cgi?id=180343
+
+
+Reviewed by Mark Lam.
+
+This patch fixes a bug in ErrorInstance where we forgot to call PutPropertySlot::disableCaching
+on puts() to a property that we lazily materialized. Forgetting to do this goes against the
+PutPropertySlot's caching API. This lazy materialization caused the ErrorInstance to transition
+from a Structure A to a Structure B. However, we were telling the IC that we were caching an
+existing property only found on Structure B. This is obviously wrong as it would lead to an
+OOB store if we didn't already crash when generating the IC.
+
+* jit/Repatch.cpp:
+(JSC::tryCachePutByID):
+* runtime/ErrorInstance.cpp:
+(JSC::ErrorInstance::materializeErrorInfoIfNeeded):
+(JSC::ErrorInstance::put):
+* runtime/ErrorInstance.h:
+* runtime/Structure.cpp:
+(JSC::Structure::didCachePropertyReplacement):
+
 2017-12-10  Filip Pizlo  
 
 Harden a few assertions in GC sweep


Modified: tags/Safari-605.1.17/Source/_javascript_Core/jit/Repatch.cpp (225792 => 225793)

--- tags/Safari-605.1.17/Source/_javascript_Core/jit/Repatch.cpp	2017-12-12 19:19:11 UTC (rev 225792)
+++ tags/Safari-605.1.17/Source/_javascript_Core/jit/Repatch.cpp	2017-12-12 19:20:41 UTC (rev 225793)
@@ -422,6 +422,14 @@
 
 if (slot.base() == baseValue && slot.isCacheablePut()) {
 if (slot.type() == PutPropertySlot::ExistingProperty) {
+// This assert helps catch bugs if we accidentally forget to disable caching
+// when we transition then store to an existing property. This is common among
+// paths that reify lazy properties. If we reify a lazy property and forget
+// to disable caching, we may com

[webkit-changes] [225792] trunk/Source/WTF

2017-12-12 Thread joepeck
Title: [225792] trunk/Source/WTF








Revision 225792
Author joep...@webkit.org
Date 2017-12-12 11:19:11 -0800 (Tue, 12 Dec 2017)


Log Message
Symbol not found: __ZN3WTF8LockBase10unlockSlowEv
https://bugs.webkit.org/show_bug.cgi?id=180691

Reviewed by Yusuke Suzuki.

* wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
(WTF::LockBase::lockSlow):
(WTF::LockBase::unlockSlow):
Add back LockBase Symbols used by System Safari on 10.13.

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/mac/DeprecatedSymbolsUsedBySafari.mm




Diff

Modified: trunk/Source/WTF/ChangeLog (225791 => 225792)

--- trunk/Source/WTF/ChangeLog	2017-12-12 19:15:50 UTC (rev 225791)
+++ trunk/Source/WTF/ChangeLog	2017-12-12 19:19:11 UTC (rev 225792)
@@ -1,3 +1,15 @@
+2017-12-12  Joseph Pecoraro  
+
+Symbol not found: __ZN3WTF8LockBase10unlockSlowEv
+https://bugs.webkit.org/show_bug.cgi?id=180691
+
+Reviewed by Yusuke Suzuki.
+
+* wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
+(WTF::LockBase::lockSlow):
+(WTF::LockBase::unlockSlow):
+Add back LockBase Symbols used by System Safari on 10.13.
+
 2017-12-12  Yusuke Suzuki  
 
 [WTF] Thread::create should have Thread::tryCreate


Modified: trunk/Source/WTF/wtf/mac/DeprecatedSymbolsUsedBySafari.mm (225791 => 225792)

--- trunk/Source/WTF/wtf/mac/DeprecatedSymbolsUsedBySafari.mm	2017-12-12 19:15:50 UTC (rev 225791)
+++ trunk/Source/WTF/wtf/mac/DeprecatedSymbolsUsedBySafari.mm	2017-12-12 19:19:11 UTC (rev 225792)
@@ -129,4 +129,23 @@
 }
 #endif
 
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+struct LockBase {
+private:
+WTF_EXPORT_PRIVATE void lockSlow();
+WTF_EXPORT_PRIVATE void unlockSlow();
+Atomic m_byte;
+};
+
+void LockBase::lockSlow()
+{
+DefaultLockAlgorithm::lockSlow(m_byte);
+}
+
+void LockBase::unlockSlow()
+{
+DefaultLockAlgorithm::unlockSlow(m_byte, DefaultLockAlgorithm::Unfair);
+}
+#endif
+
 } // namespace WTF






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [225791] trunk

2017-12-12 Thread simon . fraser
Title: [225791] trunk








Revision 225791
Author simon.fra...@apple.com
Date 2017-12-12 11:15:50 -0800 (Tue, 12 Dec 2017)


Log Message
HTML-page with 

Reviewed by Antti Koivisto.

Source/WebCore:

The test case has script that conditionalizes behavior on whether window.innerWidth/Height
are zero during the load event. We didn't force layout in innerWidth/Height, so whether
they would zero depended on whether the parent frame had laid out, which was timing-sensitive.

Fix by triggering enough layout in the parent document so that the FrameView is resized before
fetching its dimensions in innerWidth/Height. This causes our behavior to match Chrome and Firefox.

Test: fast/dom/iframe-innerWidth.html

* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent): Add some logging that helped me diagnose this.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::innerHeight const):
(WebCore::DOMWindow::innerWidth const):

LayoutTests:

Adjust a test where the new layout is triggering scrollbar creation.

* fast/dom/iframe-inner-size-scaling-expected.txt:
* fast/dom/iframe-inner-size-scaling.html:
* fast/dom/iframe-innerWidth-expected.txt: Added.
* fast/dom/iframe-innerWidth.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/dom/iframe-inner-size-scaling-expected.txt
trunk/LayoutTests/fast/dom/iframe-inner-size-scaling.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/EventDispatcher.cpp
trunk/Source/WebCore/page/DOMWindow.cpp


Added Paths

trunk/LayoutTests/fast/dom/iframe-innerWidth-expected.txt
trunk/LayoutTests/fast/dom/iframe-innerWidth.html




Diff

Modified: trunk/LayoutTests/ChangeLog (225790 => 225791)

--- trunk/LayoutTests/ChangeLog	2017-12-12 19:01:18 UTC (rev 225790)
+++ trunk/LayoutTests/ChangeLog	2017-12-12 19:15:50 UTC (rev 225791)
@@ -1,3 +1,18 @@
+2017-12-12  Simon Fraser  
+
+HTML-page with 
+
+Reviewed by Antti Koivisto.
+
+Adjust a test where the new layout is triggering scrollbar creation.
+
+* fast/dom/iframe-inner-size-scaling-expected.txt:
+* fast/dom/iframe-inner-size-scaling.html:
+* fast/dom/iframe-innerWidth-expected.txt: Added.
+* fast/dom/iframe-innerWidth.html: Added.
+
 2017-12-11  Antoine Quint  
 
 [Web Animations] Enqueue and dispatch animation events


Modified: trunk/LayoutTests/fast/dom/iframe-inner-size-scaling-expected.txt (225790 => 225791)

--- trunk/LayoutTests/fast/dom/iframe-inner-size-scaling-expected.txt	2017-12-12 19:01:18 UTC (rev 225790)
+++ trunk/LayoutTests/fast/dom/iframe-inner-size-scaling-expected.txt	2017-12-12 19:15:50 UTC (rev 225791)
@@ -6,7 +6,7 @@
 PASS frame.contentWindow.innerWidth is non-zero.
 PASS frame.contentWindow.innerHeight is non-zero.
 PASS frame.contentWindow.innerWidth is originalWidth
-PASS frame.contentWindow.innerHeight is originalHeight
+PASS frame.contentWindow.innerHeight is originalHeight - scrollbarWidth
 PASS successfullyParsed is true
 
 TEST COMPLETE


Modified: trunk/LayoutTests/fast/dom/iframe-inner-size-scaling.html (225790 => 225791)

--- trunk/LayoutTests/fast/dom/iframe-inner-size-scaling.html	2017-12-12 19:01:18 UTC (rev 225790)
+++ trunk/LayoutTests/fast/dom/iframe-inner-size-scaling.html	2017-12-12 19:15:50 UTC (rev 225791)
@@ -1,5 +1,6 @@
 
 +