Timeline
Oct 25, 2016:
- 10:43 PM Changeset in webkit [207869] by
-
- 6 edits3 adds in trunk/Source
[DOMJIT] Tell IDL result type to DFG to drop type checks in AI
https://bugs.webkit.org/show_bug.cgi?id=163900
Reviewed by Sam Weinig.
Source/JavaScriptCore:
The IDL tells the conservative result type. While we use the heap prediction
for prediction propagation phase in DOMJIT getter (it is offered by get_by_id!),
we leverage the type told by IDL to produce the abstract value with the proven type
in AI. It effectively drops unnecessary type checks followed by CallDOM operations.
For example, when you write the code like,
if (node.nodeType === 9) {
document.
}
Previously, we inserted a Int32 check for the result of node.nodeType.
It is dropped now.
We annotate the DOMJIT getter in jsc.cpp to ensure that the unnecessary type checks
are correctly dropped when executing JSTests/stress/domjit-getter.js.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- domjit/DOMJITGetterSetter.h:
(JSC::DOMJIT::GetterSetter::GetterSetter):
(JSC::DOMJIT::GetterSetter::resultType):
- jsc.cpp:
(WTF::DOMJITGetter::DOMJITNodeDOMJIT::DOMJITNodeDOMJIT):
(WTF::DOMJITGetterComplex::DOMJITNodeDOMJIT::DOMJITNodeDOMJIT):
Source/WebCore:
Add TestDOMJIT.idl for bindings generation tests.
- bindings/scripts/CodeGeneratorJS.pm:
(GetResultTypeFilter):
(GenerateImplementation):
- bindings/scripts/test/JS/JSTestDOMJIT.cpp: Added.
(WebCore::JSTestDOMJITPrototype::create):
(WebCore::JSTestDOMJITPrototype::createStructure):
(WebCore::JSTestDOMJITPrototype::JSTestDOMJITPrototype):
(WebCore::JSTestDOMJITConstructor::prototypeForStructure):
(WebCore::JSTestDOMJITConstructor::initializeProperties):
(WebCore::JSTestDOMJITPrototype::finishCreation):
(WebCore::JSTestDOMJIT::JSTestDOMJIT):
(WebCore::JSTestDOMJIT::createPrototype):
(WebCore::JSTestDOMJIT::prototype):
(WebCore::BindingCaller<JSTestDOMJIT>::castForAttribute):
(WebCore::jsTestDOMJITAnyAttr):
(WebCore::jsTestDOMJITAnyAttrGetter):
(WebCore::TestDOMJITAnyAttrDOMJIT::TestDOMJITAnyAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITAnyAttr):
(WebCore::jsTestDOMJITBooleanAttr):
(WebCore::jsTestDOMJITBooleanAttrGetter):
(WebCore::TestDOMJITBooleanAttrDOMJIT::TestDOMJITBooleanAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITBooleanAttr):
(WebCore::jsTestDOMJITByteAttr):
(WebCore::jsTestDOMJITByteAttrGetter):
(WebCore::TestDOMJITByteAttrDOMJIT::TestDOMJITByteAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITByteAttr):
(WebCore::jsTestDOMJITOctetAttr):
(WebCore::jsTestDOMJITOctetAttrGetter):
(WebCore::TestDOMJITOctetAttrDOMJIT::TestDOMJITOctetAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITOctetAttr):
(WebCore::jsTestDOMJITShortAttr):
(WebCore::jsTestDOMJITShortAttrGetter):
(WebCore::TestDOMJITShortAttrDOMJIT::TestDOMJITShortAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITShortAttr):
(WebCore::jsTestDOMJITUnsignedShortAttr):
(WebCore::jsTestDOMJITUnsignedShortAttrGetter):
(WebCore::TestDOMJITUnsignedShortAttrDOMJIT::TestDOMJITUnsignedShortAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITUnsignedShortAttr):
(WebCore::jsTestDOMJITLongAttr):
(WebCore::jsTestDOMJITLongAttrGetter):
(WebCore::TestDOMJITLongAttrDOMJIT::TestDOMJITLongAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITLongAttr):
(WebCore::jsTestDOMJITUnsignedLongAttr):
(WebCore::jsTestDOMJITUnsignedLongAttrGetter):
(WebCore::TestDOMJITUnsignedLongAttrDOMJIT::TestDOMJITUnsignedLongAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITUnsignedLongAttr):
(WebCore::jsTestDOMJITLongLongAttr):
(WebCore::jsTestDOMJITLongLongAttrGetter):
(WebCore::TestDOMJITLongLongAttrDOMJIT::TestDOMJITLongLongAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITLongLongAttr):
(WebCore::jsTestDOMJITUnsignedLongLongAttr):
(WebCore::jsTestDOMJITUnsignedLongLongAttrGetter):
(WebCore::TestDOMJITUnsignedLongLongAttrDOMJIT::TestDOMJITUnsignedLongLongAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITUnsignedLongLongAttr):
(WebCore::jsTestDOMJITFloatAttr):
(WebCore::jsTestDOMJITFloatAttrGetter):
(WebCore::TestDOMJITFloatAttrDOMJIT::TestDOMJITFloatAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITFloatAttr):
(WebCore::jsTestDOMJITUnrestrictedFloatAttr):
(WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter):
(WebCore::TestDOMJITUnrestrictedFloatAttrDOMJIT::TestDOMJITUnrestrictedFloatAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITUnrestrictedFloatAttr):
(WebCore::jsTestDOMJITDoubleAttr):
(WebCore::jsTestDOMJITDoubleAttrGetter):
(WebCore::TestDOMJITDoubleAttrDOMJIT::TestDOMJITDoubleAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITDoubleAttr):
(WebCore::jsTestDOMJITUnrestrictedDoubleAttr):
(WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter):
(WebCore::TestDOMJITUnrestrictedDoubleAttrDOMJIT::TestDOMJITUnrestrictedDoubleAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITUnrestrictedDoubleAttr):
(WebCore::jsTestDOMJITDomStringAttr):
(WebCore::jsTestDOMJITDomStringAttrGetter):
(WebCore::TestDOMJITDomStringAttrDOMJIT::TestDOMJITDomStringAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITDomStringAttr):
(WebCore::jsTestDOMJITByteStringAttr):
(WebCore::jsTestDOMJITByteStringAttrGetter):
(WebCore::TestDOMJITByteStringAttrDOMJIT::TestDOMJITByteStringAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITByteStringAttr):
(WebCore::jsTestDOMJITUsvStringAttr):
(WebCore::jsTestDOMJITUsvStringAttrGetter):
(WebCore::TestDOMJITUsvStringAttrDOMJIT::TestDOMJITUsvStringAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITUsvStringAttr):
(WebCore::jsTestDOMJITNodeAttr):
(WebCore::jsTestDOMJITNodeAttrGetter):
(WebCore::TestDOMJITNodeAttrDOMJIT::TestDOMJITNodeAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITNodeAttr):
(WebCore::jsTestDOMJITBooleanNullableAttr):
(WebCore::jsTestDOMJITBooleanNullableAttrGetter):
(WebCore::TestDOMJITBooleanNullableAttrDOMJIT::TestDOMJITBooleanNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITBooleanNullableAttr):
(WebCore::jsTestDOMJITByteNullableAttr):
(WebCore::jsTestDOMJITByteNullableAttrGetter):
(WebCore::TestDOMJITByteNullableAttrDOMJIT::TestDOMJITByteNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITByteNullableAttr):
(WebCore::jsTestDOMJITOctetNullableAttr):
(WebCore::jsTestDOMJITOctetNullableAttrGetter):
(WebCore::TestDOMJITOctetNullableAttrDOMJIT::TestDOMJITOctetNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITOctetNullableAttr):
(WebCore::jsTestDOMJITShortNullableAttr):
(WebCore::jsTestDOMJITShortNullableAttrGetter):
(WebCore::TestDOMJITShortNullableAttrDOMJIT::TestDOMJITShortNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITShortNullableAttr):
(WebCore::jsTestDOMJITUnsignedShortNullableAttr):
(WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter):
(WebCore::TestDOMJITUnsignedShortNullableAttrDOMJIT::TestDOMJITUnsignedShortNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITUnsignedShortNullableAttr):
(WebCore::jsTestDOMJITLongNullableAttr):
(WebCore::jsTestDOMJITLongNullableAttrGetter):
(WebCore::TestDOMJITLongNullableAttrDOMJIT::TestDOMJITLongNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITLongNullableAttr):
(WebCore::jsTestDOMJITUnsignedLongNullableAttr):
(WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter):
(WebCore::TestDOMJITUnsignedLongNullableAttrDOMJIT::TestDOMJITUnsignedLongNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITUnsignedLongNullableAttr):
(WebCore::jsTestDOMJITLongLongNullableAttr):
(WebCore::jsTestDOMJITLongLongNullableAttrGetter):
(WebCore::TestDOMJITLongLongNullableAttrDOMJIT::TestDOMJITLongLongNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITLongLongNullableAttr):
(WebCore::jsTestDOMJITUnsignedLongLongNullableAttr):
(WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter):
(WebCore::TestDOMJITUnsignedLongLongNullableAttrDOMJIT::TestDOMJITUnsignedLongLongNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITUnsignedLongLongNullableAttr):
(WebCore::jsTestDOMJITFloatNullableAttr):
(WebCore::jsTestDOMJITFloatNullableAttrGetter):
(WebCore::TestDOMJITFloatNullableAttrDOMJIT::TestDOMJITFloatNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITFloatNullableAttr):
(WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr):
(WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter):
(WebCore::TestDOMJITUnrestrictedFloatNullableAttrDOMJIT::TestDOMJITUnrestrictedFloatNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITUnrestrictedFloatNullableAttr):
(WebCore::jsTestDOMJITDoubleNullableAttr):
(WebCore::jsTestDOMJITDoubleNullableAttrGetter):
(WebCore::TestDOMJITDoubleNullableAttrDOMJIT::TestDOMJITDoubleNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITDoubleNullableAttr):
(WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr):
(WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter):
(WebCore::TestDOMJITUnrestrictedDoubleNullableAttrDOMJIT::TestDOMJITUnrestrictedDoubleNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITUnrestrictedDoubleNullableAttr):
(WebCore::jsTestDOMJITDomStringNullableAttr):
(WebCore::jsTestDOMJITDomStringNullableAttrGetter):
(WebCore::TestDOMJITDomStringNullableAttrDOMJIT::TestDOMJITDomStringNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITDomStringNullableAttr):
(WebCore::jsTestDOMJITByteStringNullableAttr):
(WebCore::jsTestDOMJITByteStringNullableAttrGetter):
(WebCore::TestDOMJITByteStringNullableAttrDOMJIT::TestDOMJITByteStringNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITByteStringNullableAttr):
(WebCore::jsTestDOMJITUsvStringNullableAttr):
(WebCore::jsTestDOMJITUsvStringNullableAttrGetter):
(WebCore::TestDOMJITUsvStringNullableAttrDOMJIT::TestDOMJITUsvStringNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITUsvStringNullableAttr):
(WebCore::jsTestDOMJITNodeNullableAttr):
(WebCore::jsTestDOMJITNodeNullableAttrGetter):
(WebCore::TestDOMJITNodeNullableAttrDOMJIT::TestDOMJITNodeNullableAttrDOMJIT):
(WebCore::domJITGetterSetterForTestDOMJITNodeNullableAttr):
(WebCore::jsTestDOMJITConstructor):
(WebCore::setJSTestDOMJITConstructor):
(WebCore::JSTestDOMJIT::getConstructor):
(WebCore::JSTestDOMJIT::visitChildren):
- bindings/scripts/test/JS/JSTestDOMJIT.h: Added.
(WebCore::JSTestDOMJIT::create):
(WebCore::JSTestDOMJIT::createStructure):
(WebCore::JSTestDOMJIT::wrapped):
(WebCore::JSTestDOMJIT::finishCreation):
- bindings/scripts/test/TestDOMJIT.idl: Added.
- 10:12 PM Changeset in webkit [207868] by
-
- 2 edits in trunk/Source/WebCore
[Win] Unreviewed build fix.
- platform/graphics/GraphicsContext.h: Add missing declaration.
- 10:11 PM Changeset in webkit [207867] by
-
- 2 edits in tags/Safari-603.1.10.0.2/Source/WebCore
Merged r207712. rdar://problem/28187870
- 10:10 PM Changeset in webkit [207866] by
-
- 5 edits in tags/Safari-603.1.10.0.2/Source
Versioning.
- 9:53 PM Changeset in webkit [207865] by
-
- 1 copy in tags/Safari-603.1.10.0.2
New tag.
- 9:45 PM Changeset in webkit [207864] by
-
- 6 edits2 adds in trunk
Updating attribute by textContent must create a single mutation record and custom element reaction
https://bugs.webkit.org/show_bug.cgi?id=164003
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Rebaselined the test now that all test cases are passing.
- web-platform-tests/custom-elements/reactions/Node-expected.txt:
Source/WebCore:
The bug was caused by setTextContent not invoking setNodeValue for Attr nodes.
Use setNodeValue to match the specification: https://dom.spec.whatwg.org/#dom-node-textcontent
Test: fast/dom/MutationObserver/text-content-on-attr.html
- dom/Node.cpp:
(WebCore::Node::setTextContent):
LayoutTests:
Added a test for ensuring mutating the attribute by nodeValue and textContent creates exactly one mutation record.
- fast/custom-elements/reactions-for-webkit-extensions.html: Updated the description.
- fast/dom/MutationObserver/text-content-on-attr-expected.txt: Added.
- fast/dom/MutationObserver/text-content-on-attr.html: Added.
- 6:57 PM Changeset in webkit [207863] by
-
- 4 edits in trunk/Source/WebCore
[Win][Direct2D] Use smart pointers for Direct2D Path types
https://bugs.webkit.org/show_bug.cgi?id=163994
Reviewed by Alex Christensen.
Tested by existing path tests.
- platform/graphics/Path.h:
(WebCore::Path::platformPath): Use a COMPtr for m_path.
- platform/graphics/win/GraphicsContextDirect2D.cpp:
(WebCore::GraphicsContext::systemFactory): Present better D2D debug output
when running a debug build.
(WebCore::GraphicsContext::platformInit): Initialize a D2D device from a
native GDI device context.
(WebCore::GraphicsContext::platformStrokeStyle): Added.
(WebCore::GraphicsContext::clipBounds): Simplify clip boundary calculations and
avoid doing math on infinities.
- platform/graphics/win/PathDirect2D.cpp:
(WebCore::scratchRenderTarget): Added.
(WebCore::Path::~Path): Switch to COMPtr implementation.
(WebCore::Path::ensurePlatformPath): Ditto.
(WebCore::Path::appendGeometry): Ditto.
(WebCore::Path::operator=): Ditto.
(WebCore::Path::initializePathState): Ditto.
(WebCore::Path::strokeContains): Provide an implementation.
(WebCore::Path::transform): Ditto.
(WebCore::Path::addEllipse): No need for explicit construction of the
D2D1::Point2F object.
(WebCore::Path::clear): Switch to COMPtr implementation.
- 6:28 PM Changeset in webkit [207862] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, fix duplicate GTK expectations
- platform/gtk/TestExpectations:
- 6:25 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 6:15 PM Changeset in webkit [207861] by
-
- 5 edits1 add in trunk
String.prototype.replace() should throw an OutOfMemoryError when using too much memory.
https://bugs.webkit.org/show_bug.cgi?id=163996
<rdar://problem/28263117>
Reviewed by Geoffrey Garen.
JSTests:
- stress/string-prototype-replace-should-throw-out-of-memory-error-when-using-too-much-memory.js: Added.
Source/JavaScriptCore:
String.prototype.replace() uses a Vector internally for bookkeeping work.
Currently, if this vector gets too big, we just crash on allocation failure.
While this is correct behavior, it is not too friendly.
We now detect the imminent failure, and throw a OutOfMemoryError instead.
- runtime/StringPrototype.cpp:
(JSC::removeUsingRegExpSearch):
(JSC::replaceUsingRegExpSearch):
(JSC::operationStringProtoFuncReplaceRegExpEmptyStr):
(JSC::stringProtoFuncReplaceUsingRegExp):
Source/WTF:
- wtf/Vector.h:
(WTF::minCapacity>::tryConstructAndAppend):
(WTF::minCapacity>::tryConstructAndAppendSlowCase):
- Added try versions of constructAndAppend() so that we can handle the failure to allocate more gracefully.
- 6:15 PM Changeset in webkit [207860] by
-
- 5 edits in trunk
LayoutTest accessibility/mac/meter-gauge-value-description.html failing
https://bugs.webkit.org/show_bug.cgi?id=163997
<rdar://problem/28948637>
Reviewed by Chris Fleizach.
Source/WebCore:
I hand-edited the Localizable.strings file in a previous patch and my changes
were replaced by running update-webkit-localizable-strings script. Changed the
key to be the same as the value to keep consistency with other entries.
Re-enabled the failing test.
- English.lproj/Localizable.strings:
- platform/LocalizedStrings.cpp:
(WebCore::AXMeterGaugeRegionOptimumText):
(WebCore::AXMeterGaugeRegionSuboptimalText):
(WebCore::AXMeterGaugeRegionLessGoodText):
LayoutTests:
- platform/mac/TestExpectations:
- 6:10 PM Changeset in webkit [207859] by
-
- 18 edits1 move in trunk/Source/JavaScriptCore
Rename the reject() helper function to something more meaningful.
https://bugs.webkit.org/show_bug.cgi?id=163549
Reviewed by Saam Barati.
We'll rename reject() to typeError(). The intuition behind this is that all the
clients that uses this function will return typeError(..., shouldThrow, ...).
In a sense, they are returning a "type" of TypeError (which happened to be the
value false). In addition, it may also throw a JS TypeError if the shouldThrow
parameter is true.
- JavaScriptCore.xcodeproj/project.pbxproj:
- runtime/GetterSetter.cpp:
(JSC::callSetter):
- runtime/JSArray.cpp:
(JSC::JSArray::defineOwnProperty):
(JSC::JSArray::setLengthWithArrayStorage):
- runtime/JSArrayBuffer.cpp:
(JSC::JSArrayBuffer::put):
(JSC::JSArrayBuffer::defineOwnProperty):
- runtime/JSArrayBufferView.cpp:
- runtime/JSCJSValue.cpp:
(JSC::JSValue::putToPrimitive):
(JSC::JSValue::putToPrimitiveByIndex):
- runtime/JSDataView.cpp:
(JSC::JSDataView::put):
(JSC::JSDataView::defineOwnProperty):
- runtime/JSFunction.cpp:
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):
(JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty):
- runtime/JSObject.cpp:
(JSC::ordinarySetSlow):
(JSC::JSObject::putInlineSlow):
(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::JSObject::defineOwnIndexedProperty):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):
(JSC::validateAndApplyPropertyDescriptor):
- runtime/JSObjectInlines.h:
(JSC::JSObject::putInline):
- runtime/JSProxy.cpp:
(JSC::JSProxy::setPrototype):
- runtime/Lookup.h:
(JSC::putEntry):
- runtime/RegExpObject.cpp:
(JSC::RegExpObject::defineOwnProperty):
- runtime/RegExpObject.h:
(JSC::RegExpObject::setLastIndex):
- runtime/Reject.h: Removed.
- runtime/SparseArrayValueMap.cpp:
(JSC::SparseArrayValueMap::putEntry):
(JSC::SparseArrayValueMap::putDirect):
(JSC::SparseArrayEntry::put):
- runtime/StringObject.cpp:
(JSC::StringObject::put):
(JSC::StringObject::putByIndex):
- runtime/TypeError.h: Copied from Source/JavaScriptCore/runtime/Reject.h.
(JSC::typeError):
(JSC::reject): Deleted.
- 5:36 PM October 2016 Meeting edited by
- (diff)
- 5:11 PM Changeset in webkit [207858] by
-
- 2 edits in trunk/LayoutTests
Marking accessibility/mac/meter-gauge-value-description.html as failing on mac.
https://bugs.webkit.org/show_bug.cgi?id=163997
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 4:59 PM Changeset in webkit [207857] by
-
- 3 edits in trunk/Source/WebKit2
CMake build fix.
- PlatformMac.cmake:
- Shared/WebHitTestResultData.cpp:
(WebKit::WebHitTestResultData::WebHitTestResultData):
Explicitly call AtomicString::string to make the String constructor no longer ambiguous.
It couldn't decide whether to use operator const String& or operator NSString*.
- 4:42 PM Changeset in webkit [207856] by
-
- 2 edits in trunk/Source/WebKit2
[SOUP] Network process assertion in NetworkDataTask::continueHTTPRedirection
https://bugs.webkit.org/show_bug.cgi?id=163941
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-10-25
Reviewed by Michael Catanzaro.
equalLettersIgnoringASCIICase() expects the second argument to be the letters to compare in lowercase, so use
"get" instead of "GET".
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::continueHTTPRedirection):
- 4:22 PM Changeset in webkit [207855] by
-
- 16 edits in trunk/Source
HeapTimer should not hardcode all of its subclasses and USE(CF) shouldn't be a bizarre special case
https://bugs.webkit.org/show_bug.cgi?id=163947
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
I want to introduce another HeapTimer. Prior to this change, that would have meant writing
exact copies of that timer's logic for each platform that has a HeapTimer (CF, GLIB, and
EFL). That logic would in turn be a duplicate of the logic already present in
IncrementalSweeper and GCActivityCallback: all of the subclasses of HeapTimer have their
own code for scheduling timers, so a new subclass would have to duplicate that code. Then,
to add insult to injury, the USE(CF) version of HeapTimer would have to have an extra case
for that new subclass since it doesn't use virtual methods effectively.
This changes HeapTimer on USE(CF) to know to get its runloop from Heap and to use virtual
methods effectively so that it doesn't have to know about all of its subclasses.
This also moves IncrementalSweeper's code for scheduling timers into HeapTimer. This means
that future subclasses of HeapTimer could simply use that logic.
This keeps changes to GCActivityCallback to a minimum. It still has a lot of
platform-specific code and I'm not sure that this code can be trivially deduplicated since
that code has more quirks. That's fine for now, since I mainly just need a sane way of
creating new timers that use IncrementalSweeper-like scheduling logic.
- heap/EdenGCActivityCallback.cpp:
- heap/EdenGCActivityCallback.h:
- heap/FullGCActivityCallback.cpp:
- heap/FullGCActivityCallback.h:
- heap/GCActivityCallback.cpp:
(JSC::GCActivityCallback::GCActivityCallback):
- heap/GCActivityCallback.h:
- heap/Heap.cpp:
(JSC::Heap::Heap):
- heap/Heap.h:
(JSC::Heap::runLoop):
- heap/HeapTimer.cpp:
(JSC::HeapTimer::HeapTimer):
(JSC::HeapTimer::setRunLoop):
(JSC::HeapTimer::~HeapTimer):
(JSC::HeapTimer::timerDidFire):
(JSC::HeapTimer::scheduleTimer):
(JSC::HeapTimer::cancelTimer):
(JSC::retainAPILock): Deleted.
(JSC::releaseAPILock): Deleted.
- heap/HeapTimer.h:
- heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::scheduleTimer):
(JSC::IncrementalSweeper::cancelTimer): Deleted.
- heap/IncrementalSweeper.h:
Source/WebCore:
No new tests because no new behavior.
- platform/ios/WebSafeGCActivityCallbackIOS.h:
- platform/ios/WebSafeIncrementalSweeperIOS.h:
- 4:21 PM Changeset in webkit [207854] by
-
- 9 edits in trunk/Source/WebCore
[CSS Parser] Improvements to selector parsing
https://bugs.webkit.org/show_bug.cgi?id=163964
Reviewed by Zalan Bujtas.
- css/CSSSelector.cpp:
(WebCore::CSSSelector::setAttribute):
(WebCore::CSSSelector::setNth):
- css/CSSSelector.h:
(WebCore::CSSSelector::setAttributeValueMatchingIsCaseInsensitive):
- css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::StyleSheetContents):
(WebCore::StyleSheetContents::parserAppendRule):
(WebCore::StyleSheetContents::ruleAt):
(WebCore::StyleSheetContents::ruleCount):
(WebCore::StyleSheetContents::clearRules):
(WebCore::StyleSheetContents::wrapperInsertRule):
(WebCore::StyleSheetContents::wrapperDeleteRule):
- css/StyleSheetContents.h:
- css/parser/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::CSSParser::parseSelector):
- css/parser/CSSParserValues.h:
(WebCore::CSSParserSelector::setAttribute):
(WebCore::CSSParserSelector::setArgument):
(WebCore::CSSParserSelector::setNth):
- css/parser/CSSSelectorParser.cpp:
(WebCore::consumeLangArgumentList):
(WebCore::CSSSelectorParser::consumeCompoundSelector):
(WebCore::CSSSelectorParser::consumeAttribute):
(WebCore::isPseudoClassFunction):
(WebCore::isPseudoElementFunction):
(WebCore::CSSSelectorParser::consumePseudo):
(WebCore::CSSSelectorParser::consumeCombinator):
- 4:01 PM Changeset in webkit [207853] by
-
- 3 edits in trunk/Source/WebCore
Numbered list should be represented without ‘…’
https://bugs.webkit.org/show_bug.cgi?id=163992
-and corresponding-
rdar://problem/28911337
Reviewed by Darin Adler.
- English.lproj/Localizable.strings:
- platform/LocalizedStrings.cpp:
(WebCore::insertListTypeNumbered):
- 3:41 PM Changeset in webkit [207852] by
-
- 3 edits in trunk/Source/JavaScriptCore
Remove redundant argument count check
Indexing argument out of bounds already returns jsUndefined().
Remove redundant argument count check
https://bugs.webkit.org/show_bug.cgi?id=163957
Reviewed by Keith Miller.
- runtime/ErrorConstructor.cpp:
(JSC::Interpreter::constructWithErrorConstructor):
(JSC::Interpreter::callErrorConstructor):
- wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:
(JSC::constructJSWebAssemblyRuntimeError):
- 3:30 PM Changeset in webkit [207851] by
-
- 6 edits in trunk/Source/JavaScriptCore
Add ThrowScope::release() calls at all call sites of jsMakeNontrivialString().
https://bugs.webkit.org/show_bug.cgi?id=163990
Reviewed by Geoffrey Garen.
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncToString):
- runtime/ErrorPrototype.cpp:
(JSC::errorProtoFuncToString):
- runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
- runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncToString):
- runtime/StringPrototype.cpp:
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
- 3:27 PM Changeset in webkit [207850] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Cmd-+ doesn't "zoom in" to increase text size in the Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=163961
<rdar://problem/28895308>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-10-25
Reviewed by Brian Burg.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
Add a duplicate set of keyboard shortcuts for the Shift variants.
- 3:19 PM Changeset in webkit [207849] by
-
- 6 edits1 add in trunk
JSStringJoiner::joinedLength() should limit joined string lengths to INT_MAX.
https://bugs.webkit.org/show_bug.cgi?id=163937
<rdar://problem/28642990>
Reviewed by Geoffrey Garen.
JSTests:
- stress/joined-strings-should-not-exceed-max-string-length.js: Added.
Source/JavaScriptCore:
JSStringJoiner::joinedLength() was previously limiting it to UINT_MAX. This is
inconsistent with other parts of string code which expects a max length of INT_MAX.
This is now fixed.
Also fixed jsMakeNontrivialString() to ensure that the resultant string length
is valid. It was previously allowing lengths greater than INT_MAX. This was
caught by the new assertion in JSString::setLength().
There are already pre-existing assertions in various JSString::finishCreation()
which do RELEASE_ASSERTs on the string length. To be consistent, I'm making the
assertion in JSString::setLength() a RELEASE_ASSERT. If this proves to be a
performance issue, I'll change this to a debug ASSERT later.
- runtime/JSString.cpp:
(JSC::JSRopeString::resolveRopeInternal8):
(JSC::JSRopeString::resolveRopeInternal8NoSubstring):
(JSC::JSRopeString::resolveRopeInternal16):
(JSC::JSRopeString::resolveRopeInternal16NoSubstring):
(JSC::JSRopeString::resolveRopeToAtomicString):
(JSC::JSRopeString::resolveRopeToExistingAtomicString):
(JSC::JSRopeString::resolveRope):
(JSC::JSRopeString::resolveRopeSlowCase8):
(JSC::JSRopeString::resolveRopeSlowCase):
(JSC::JSString::getStringPropertyDescriptor):
- runtime/JSString.h:
(JSC::JSString::finishCreation):
(JSC::JSString::length):
(JSC::JSString::isValidLength):
(JSC::JSString::toBoolean):
(JSC::JSString::canGetIndex):
(JSC::JSString::setLength):
(JSC::JSString::getStringPropertySlot):
(JSC::JSRopeString::unsafeView):
(JSC::JSRopeString::viewWithUnderlyingString):
- runtime/JSStringBuilder.h:
(JSC::jsMakeNontrivialString):
- runtime/JSStringJoiner.cpp:
(JSC::JSStringJoiner::joinedLength):
- 3:11 PM October 2016 Meeting edited by
- Withdrawing my talks. (diff)
- 3:07 PM Changeset in webkit [207848] by
-
- 5 edits7 adds in trunk
REGRESSION (r178265): XSS Auditor fails to block document.write() of incomplete tag
https://bugs.webkit.org/show_bug.cgi?id=163978
<rdar://problem/25962131>
Reviewed by Darin Adler.
Source/WebCore:
During the tokenization process of an HTML tag the start and end positions of each of its
attributes is tracked so that the XSS Auditor can request a snippet around a suspected
injected attribute. We need to take care to consider document.write() boundaries when
tracking the start and end positions of each HTML tag and attribute so that the XSS Auditor
receives the correct snippet. Following r178265 we no longer consider document.write()
boundaries when tracking the start and end positions of attributes. So, the substring
represented by the start and end positions of an attribute may correspond to some other
attribute in the tag. Therefore the XSS Auditor may fail to block an injection because the
snippet it requested may not be the snippet that it intended to request.
Tests: http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html
http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html
http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html
- html/parser/HTMLSourceTracker.cpp:
(WebCore::HTMLSourceTracker::startToken): Set the attribute base offset to be the token
start position.
(WebCore::HTMLSourceTracker::source): Use the specified attribute start position as-is. We no
longer adjust it here because it was adjusted with respect to the attribute base offset, which
takes into account document.write() boundaries.
- html/parser/HTMLToken.h:
(WebCore::HTMLToken::setAttributeBaseOffset): Added.
(WebCore::HTMLToken::beginAttribute): Subtract attribute base offset from the specified offset.
(WebCore::HTMLToken::endAttribute): Ditto.
- html/parser/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::setTokenAttributeBaseOffset): Added.
LayoutTests:
Add tests to ensure that the XSS Auditor blocks a document.write() of an incomplete HTML image tag.
- http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror-expected.txt: Added.
- http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html: Added.
- http/tests/security/xssAuditor/dom-write-location-open-img-onerror-expected.txt: Added.
- http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html: Added.
- http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror-expected.txt: Added.
- http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html: Added.
- http/tests/security/xssAuditor/resources/echo-nested-dom-write-location.html: Added.
- 3:01 PM Changeset in webkit [207847] by
-
- 4 edits in trunk/Source/WebCore
IDBDatabase.transaction() should take a union in parameter
https://bugs.webkit.org/show_bug.cgi?id=163966
Reviewed by Sam Weinig.
IDBDatabase.transaction() should take a union in parameter:
No new tests, no expected Web-exposed behavior change.
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::transaction):
- Modules/indexeddb/IDBDatabase.h:
- Modules/indexeddb/IDBDatabase.idl:
- 2:48 PM Changeset in webkit [207846] by
-
- 2 edits1 add in trunk/JSTests
WebAssembly JS API: simple Module test
https://bugs.webkit.org/show_bug.cgi?id=163963
Reviewed by Filip Pizlo.
- wasm/LowLevelBinary.js:
(export.default.LowLevelBinary.prototype.get return): get the ArrayBuffer
(export.default.LowLevelBinary.prototype.hexdump): Deleted.
(export.default.LowLevelBinary.prototype._maybeGrow): Deleted.
- wasm/js-api/test_Module.js: Added.
(EmptyModule): The most basic module possible
- 2:42 PM Changeset in webkit [207845] by
-
- 18 edits in trunk
IndexedDB 2.0: Support IDBObjectStore openKeyCursor.
<rdar://problem/28806930> and https://bugs.webkit.org/show_bug.cgi?id=163954
Reviewed by Andy Estes.
LayoutTests/imported/w3c:
- web-platform-tests/IndexedDB/idbobjectstore_openKeyCursor-expected.txt:
Source/WebCore:
No new tests (Covered by changes to existing tests)
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::create):
- Modules/indexeddb/IDBCursor.h:
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::openCursor):
(WebCore::IDBObjectStore::openKeyCursor):
- Modules/indexeddb/IDBObjectStore.h:
- Modules/indexeddb/IDBObjectStore.idl:
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::requestOpenCursor):
- Modules/indexeddb/server/MemoryObjectStoreCursor.cpp:
(WebCore::IDBServer::MemoryObjectStoreCursor::currentData): Only grab the current value
if the cursor is KeyAndValue.
- Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::SQLiteIDBCursor):
(WebCore::IDBServer::SQLiteIDBCursor::internalAdvanceOnce): Only save off the data for an
object store cursor if it's both KeyAndValue.
- Modules/indexeddb/server/SQLiteIDBCursor.h:
- Modules/indexeddb/shared/IDBCursorInfo.cpp:
(WebCore::IDBCursorInfo::objectStoreCursor): Allow for a KeyOnly ObjectStoreCursor.
- Modules/indexeddb/shared/IDBCursorInfo.h:
LayoutTests:
- storage/indexeddb/modern/cursor-1-expected.txt:
- storage/indexeddb/modern/cursor-1-private-expected.txt:
- storage/indexeddb/modern/resources/cursor-1.js:
- 2:31 PM Changeset in webkit [207844] by
-
- 6 edits in trunk/LayoutTests
Unreviewed GTK test gardening
- platform/gtk/TestExpectations:
- platform/gtk/fast/attachment/attachment-select-on-click-expected.txt:
- platform/gtk/fast/css/word-space-extra-expected.txt:
- platform/gtk/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
- platform/gtk/fast/dom/Window/window-properties-performance-expected.txt:
- 2:30 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 2:30 PM October 2016 Meeting edited by
- (diff)
- 2:29 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 2:29 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 2:10 PM Changeset in webkit [207843] by
-
- 2 edits in trunk/Source/JavaScriptCore
WebAssembly: fix unknown section name handling, and check for section size overflow
https://bugs.webkit.org/show_bug.cgi?id=163959
See: https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md#high-level-structure
Name length and name are already included in the payload length.
Reviewed by Filip Pizlo.
- wasm/WasmModuleParser.cpp:
(JSC::Wasm::ModuleParser::parse):
- 1:33 PM Changeset in webkit [207842] by
-
- 2 edits in trunk/Source/JavaScriptCore
jsc.cpp is leaking memory allocated by readline in runInteractive
https://bugs.webkit.org/show_bug.cgi?id=163958
According to http://web.mit.edu/gnu/doc/html/rlman_2.html,
"The line readline returns is allocated with malloc ();
you should free () the line when you are done with it."
The memory allocated by readline is not being freed when it should.
Patch by Christopher Reid <Christopher.Reid@am.sony.com> on 2016-10-25
Reviewed by Mark Lam.
- jsc.cpp:
- 1:23 PM Changeset in webkit [207841] by
-
- 30 edits1 copy5 adds in trunk
Support InputEvent.dataTransfer for the InputEvent spec
https://bugs.webkit.org/show_bug.cgi?id=163213
<rdar://problem/28700407>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Adds support for the dataTransfer attribute of InputEvent, which contains both HTML and plain text
representations of inserted content corresponding to input types "insertFromPaste", "insertFromDrop" and
"insertReplacementText". The specification calls for the data transfer's drag data item list to contain this
information via two entries with type strings "text/html" and "text/plain". However, WebKit does not yet support
the DataTransfer.items -- in lieu of this, we will provide this information for now via getData("text/plain")
and getData("text/html"), respectively.
To support this attribute, we need a special type of DataTransfer which is readonly and returns canned data
given a type string. To implement this, we introduce StaticPasteboard, a type of Pasteboard which is initialized
with a map of type string to data. When asked for its data via getData, the StaticPasteboard searches its map
for the requested type and returns the result, if any.
An editing command may now create a new DataTransfer via DataTransfer::createForInputEvent from HTML and
plaintext strings, and then vend this information to its dispatched input events by overriding
CompositeEditCommand::inputEventDataTransfer.
Some further work will be needed to ensure that all information exposed via this DataTransfer does not contain
hidden content. To do this, we should create a new Document, "paste" the contents of our copied HTML string into
it, then simulate selecting the content and generating markup from the selection to create a sanitized
DocumentFragment corresponding to the original copied HTML. This will be addressed in a future patch.
Tests: fast/events/input-events-paste-rich-datatransfer.html
fast/events/input-events-spell-checking-datatransfer.html
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformWin.cmake:
Add StaticPasteboard.cpp.
- WebCore.xcodeproj/project.pbxproj:
- dom/DataTransfer.cpp:
(WebCore::DataTransfer::DataTransfer):
(WebCore::DataTransfer::createForInputEvent):
Initializes a new DataTransfer for the purposes of input events. This takes a HTML and plain text
representations of the data being inserted and creates a new readonly DataTransfer backed by a StaticPasteboard
that only knows how to map the "text/plain" data type to the given plaintext string and "text/html" to the
given HTML text.
- dom/DataTransfer.h:
- dom/InputEvent.cpp:
(WebCore::InputEvent::create):
(WebCore::InputEvent::InputEvent):
(WebCore::InputEvent::dataTransfer):
- dom/InputEvent.h:
- dom/InputEvent.idl:
Add the InputEvent.dataTransfer attribute.
- dom/Node.cpp:
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::inputEventDataTransfer):
Add a new hook for CompositeEditCommands to vend a DataTransfer for the purposes of input events. By default,
this is null.
- editing/CompositeEditCommand.h:
- editing/Editor.cpp:
(WebCore::dispatchBeforeInputEvent):
(WebCore::dispatchInputEvent):
(WebCore::dispatchBeforeInputEvents):
(WebCore::dispatchInputEvents):
(WebCore::Editor::willApplyEditing):
(WebCore::Editor::appliedEditing):
- editing/ReplaceRangeWithTextCommand.cpp:
(WebCore::ReplaceRangeWithTextCommand::willApplyCommand):
(WebCore::ReplaceRangeWithTextCommand::doApply):
(WebCore::ReplaceRangeWithTextCommand::inputEventDataTransfer):
- editing/ReplaceRangeWithTextCommand.h:
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::willApplyCommand):
Initialize the ReplacementFragment here before applying the command, adjusting the DocumentFragment to be
inserted in the process.
(WebCore::ReplaceSelectionCommand::doApply):
(WebCore::ReplaceSelectionCommand::inputEventDataTransfer):
(WebCore::ReplaceSelectionCommand::ensureReplacementFragment):
Returns the ReplacementFragment used to apply the command, initializing it if necessary and stripping extraneous
nodes off of the document fragment in the process. Since ReplaceSelectionCommand may be used as a top-level
editing command or a child of another CompositeEditCommand such as the ReplaceRangeWithTextCommand, the
ReplacementFragment may be initialized either in willApplyCommand or in doApply.
- editing/ReplaceSelectionCommand.h:
- editing/SpellingCorrectionCommand.cpp:
(WebCore::SpellingCorrectionCommand::willApplyCommand):
(WebCore::SpellingCorrectionCommand::doApply):
(WebCore::SpellingCorrectionCommand::inputEventDataTransfer):
- editing/SpellingCorrectionCommand.h:
Using the replacement text fragment, create and return a DataTransfer for input events.
- platform/Pasteboard.h:
- platform/StaticPasteboard.cpp: Added.
(WebCore::StaticPasteboard::create):
(WebCore::StaticPasteboard::StaticPasteboard):
(WebCore::StaticPasteboard::hasData):
(WebCore::StaticPasteboard::types):
(WebCore::StaticPasteboard::readString):
- platform/StaticPasteboard.h: Copied from Source/WebCore/dom/InputEvent.cpp.
- platform/efl/PasteboardEfl.cpp:
(WebCore::Pasteboard::writeMarkup):
(WebCore::Pasteboard::write):
(WebCore::Pasteboard::read):
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::writeMarkup):
- platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::writeMarkup):
- platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::writeMarkup):
- platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::write):
(WebCore::Pasteboard::read):
To account for virtual methods on Pasteboard, add implementations for methods that were previously defined but
unimplemented on these platforms.
LayoutTests:
Adds 2 new layout tests verifying that input events dispatched as a result of pasting or spell checking contain
DataTransfers that have rich and plain text representations of the contents being inserted.
- fast/events/input-events-fired-when-typing-expected.txt:
- fast/events/input-events-fired-when-typing.html:
- fast/events/input-events-paste-rich-datatransfer-expected.txt: Added.
- fast/events/input-events-paste-rich-datatransfer.html: Added.
- fast/events/input-events-spell-checking-datatransfer-expected.txt: Added.
- fast/events/input-events-spell-checking-datatransfer.html: Added.
- platform/ios-simulator/TestExpectations:
- 1:17 PM Changeset in webkit [207840] by
-
- 8 edits5 adds in trunk
Implement rel=noopener
https://bugs.webkit.org/show_bug.cgi?id=155166
<rdar://problem/25193787>
Reviewed by Brent Fulgham.
Source/WebCore:
Added support for rel=noopener to a and area elements.
Tests: fast/dom/Window/a-rel-noopener.html
fast/dom/Window/area-rel-noopener.html
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::HTMLAnchorElement): Stopped initializing m_linkRelations to 0.
(WebCore::HTMLAnchorElement::parseAttribute): Declared static AtomicStrings for "noreferrer"
and "noopener", and created a SpaceSplitString from the rel attribute value to test for these
two values.
(WebCore::HTMLAnchorElement::hasRel): Updated to use OptionSet::contains().
(WebCore::HTMLAnchorElement::relList): Added a check for "noopener".
(WebCore::HTMLAnchorElement::handleClick): Passed NewFrameOpenerPolicy::Suppress to
FrameLoader::urlSelected() if rel=noopener was specified.
- html/HTMLAnchorElement.h: Changed the Relation enum to an enum class, removed unused enum
values, and changed m_linkRelations from a 30-bit unsigned integer to an OptionSet<Relation>
(HTMLAnchorElement is still 128 bytes on 64-bit).
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::urlSelected): Changed to only compute a NewFrameOpenerPolicy from the
referrer policy if an explicit NewFrameOpenerPolicy isn't specified. Removed the version of
urlSelected() that did not take a downloadAttribute parameter.
- loader/FrameLoader.h: Added an Optional<NewFrameOpenerPolicy> parameter to urlSelected(),
and set a default argument for downloadAttribute instead of having a second version of
urlSelected().
LayoutTests:
- fast/dom/DOMTokenList-supports-expected.txt:
- fast/dom/DOMTokenList-supports.html:
- fast/dom/Window/a-rel-noopener-expected.txt: Added.
- fast/dom/Window/a-rel-noopener.html: Added.
- fast/dom/Window/area-rel-noopener-expected.txt: Added.
- fast/dom/Window/area-rel-noopener.html: Added.
- fast/dom/Window/resources/rel-noopener.js: Added.
- 1:08 PM October 2016 Meeting edited by
- (diff)
- 1:07 PM Changeset in webkit [207839] by
-
- 16 edits in trunk
[MediaStream] Add "has capture device" bit to media state flags
https://bugs.webkit.org/show_bug.cgi?id=163952
Source/WebCore:
Reviewed by Jer Noble.
No new tests, updated fast/mediastream/MediaStream-page-muted.html, media/muted-video-is-playing-audio.html,
and webaudio/web-audio-is-playing.html.
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::mediaState): Set HasMediaCaptureDevice, only set HasActiveMediaCaptureDevice when
actually producing data.
- page/MediaProducer.h: Add HasMediaCaptureDevice bit.
- testing/Internals.cpp:
(WebCore::Internals::pageMediaState): Return a string representing MediaStateFlags.
(WebCore::Internals::isPagePlayingAudio): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit2:
Reviewed by Sam Weinig.
- UIProcess/API/C/WKPage.cpp:
(WKPageGetMediaState): Support MediaProducer::HasMediaCaptureDevice.
- UIProcess/API/C/WKPagePrivate.h: Define kWKMediaHasCaptureDevice.
LayoutTests:
Reviewed by Jer Noble.
- fast/mediastream/MediaStream-page-muted-expected.txt:
- fast/mediastream/MediaStream-page-muted.html:
- media/muted-video-is-playing-audio-expected.txt:
- media/muted-video-is-playing-audio.html:
- webaudio/web-audio-is-playing.html:
- webaudio/web-audio-is-playing-expected.txt:
- 1:04 PM Changeset in webkit [207838] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove dead code in FrameTreeElement
https://bugs.webkit.org/show_bug.cgi?id=163914
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-10-25
Reviewed by Brian Burg.
- UserInterface/Views/FrameTreeElement.js:
- 1:00 PM October 2016 Meeting edited by
- (diff)
- 12:37 PM Changeset in webkit [207837] by
-
- 14 edits in trunk
Unreviewed, rolling out r207827 and r207828.
https://bugs.webkit.org/show_bug.cgi?id=163965
Caused LayoutTest webaudio/web-audio-is-playing.html to time
out on macOS. (Requested by ryanhaddad on #webkit).
Reverted changesets:
"[MediaStream] Add "has capture device" bit to media state
flags"
https://bugs.webkit.org/show_bug.cgi?id=163952
http://trac.webkit.org/changeset/207827
"[MediaStream] Add "has capture device" bit to media state
flags"
https://bugs.webkit.org/show_bug.cgi?id=163952
http://trac.webkit.org/changeset/207828
- 12:25 PM Changeset in webkit [207836] by
-
- 2 edits in trunk
[cmake] Don't enable ld.gold by default on non-ELF platforms
https://bugs.webkit.org/show_bug.cgi?id=163946
Reviewed by Alex Christensen.
For example, MinGW toolchain may be shipped with gold, but it fails to link
WebKit.
- Source/cmake/OptionsCommon.cmake:
- 12:22 PM Changeset in webkit [207835] by
-
- 19 edits1 copy4 adds in trunk
[Modern Media Controls] Media Controller: skip back support
https://bugs.webkit.org/show_bug.cgi?id=163725
<rdar://problem/27989480>
Patch by Antoine Quint <Antoine Quint> on 2016-10-25
Reviewed by Dean Jackson.
Source/WebCore:
We introduce the SkipBackSupport class which brings support for skipping back
30 seconds into the media by clicking on the skip back button in the media controls.
Test: http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html
- Modules/modern-media-controls/js-files:
- Modules/modern-media-controls/media/media-controller.js:
(MediaController):
- Modules/modern-media-controls/media/skip-back-support.js: Copied from Source/WebCore/Modules/modern-media-controls/media/media-controller.js.
(SkipBackSupport.prototype.get control):
(SkipBackSupport.prototype.buttonWasClicked):
(SkipBackSupport):
- WebCore.xcodeproj/project.pbxproj:
Tools:
- Scripts/webkitpy/layout_tests/servers/aliases.json: Adding a new alias such that we may
access the modern-media-controls source files through the web server.
LayoutTests:
Added a new test for the SkipBackButton class to ensure that we correctly seek back by 30 seconds when pressed.
Updated the other tests to reflect the addition of the SkipBackSupport class.
- http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click-expected.txt: Added.
- http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html: Added.
- media/modern-media-controls/media-controller/media-controller-constructor.html:
- media/modern-media-controls/media-controller/media-controller-resize.html:
- media/modern-media-controls/mute-support/mute-support-button-click.html:
- media/modern-media-controls/mute-support/mute-support-media-api.html:
- media/modern-media-controls/mute-support/mute-support-muted.html:
- media/modern-media-controls/start-support/start-support-audio.html:
- media/modern-media-controls/start-support/start-support-autoplay.html:
- media/modern-media-controls/start-support/start-support-click-to-start.html:
- media/modern-media-controls/start-support/start-support-error.html:
- media/modern-media-controls/start-support/start-support-fullscreen.html:
- media/modern-media-controls/start-support/start-support-manual-play.html:
- media/modern-media-controls/start-support/start-support-no-source.html:
- 12:22 PM Changeset in webkit [207834] by
-
- 19 edits in trunk
Unreviewed, rolling out r207578.
https://bugs.webkit.org/show_bug.cgi?id=163962
Broke quip.com so that user can no longer type a space
(Requested by rniwa on #webkit).
Reverted changeset:
"Add a plain space instead of between text nodes"
https://bugs.webkit.org/show_bug.cgi?id=123163
http://trac.webkit.org/changeset/207578
- 12:20 PM Changeset in webkit [207833] by
-
- 2 edits in trunk/Source/WebCore
LOG_WITH_STREAM() macro should not have a semi colon at the end
https://bugs.webkit.org/show_bug.cgi?id=163951
Reviewed by Simon Fraser.
- platform/LogMacros.h:
- 12:17 PM Changeset in webkit [207832] by
-
- 7 edits in trunk/Source/WebCore
IDBObjectStore.createIndex() should take a union in parameter
https://bugs.webkit.org/show_bug.cgi?id=163935
Reviewed by Darin Adler.
IDBObjectStore.createIndex() should take a union in parameter:
No new tests, no expected Web-exposed behavior change.
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
- Modules/indexeddb/IDBKeyPath.cpp:
(WebCore::isIDBKeyPathValid):
(WebCore::IDBKeyPath::isValid): Deleted.
- Modules/indexeddb/IDBKeyPath.h:
(WebCore::IDBKeyPath::isNull):
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):
- Modules/indexeddb/IDBObjectStore.h:
- Modules/indexeddb/IDBObjectStore.idl:
- 12:14 PM Changeset in webkit [207831] by
-
- 4 edits in trunk/Source
[cmake] Check if jscLib and WebKitGUID targets exist before using them
https://bugs.webkit.org/show_bug.cgi?id=163945
Reviewed by Alex Christensen.
Currently these targets are used under WIN32 condition, however they
are defined in PlatformWin.cmake, causing CMake warnings if port
supports WIN32 but does not use PlatformWin.cmake
Source/JavaScriptCore:
- shell/CMakeLists.txt:
Source/WebKit:
- CMakeLists.txt:
- 11:43 AM Changeset in webkit [207830] by
-
- 2 edits in trunk/LayoutTests
WebCryptoAPI test gardening after r207809.
https://bugs.webkit.org/show_bug.cgi?id=159638
Unreviewed test gardening.
- 11:35 AM Changeset in webkit [207829] by
-
- 15 edits in trunk/Source/WebCore
[WebIDL] Move more types over to the new JSConverter based toJS functions
https://bugs.webkit.org/show_bug.cgi?id=163920
Reviewed by Darin Adler.
- Adds WebIDL-extension type IDLDate, and use it for Date conversions.
- Move JSDOMIterator over to using IDLType based conversions. Make them more explicit by adding a traits template argument which describes the iterator.
- Add correct parsing for WebIDL iterable, parsing the parameter types into domTypes.
- Support non-Optional nullable types via trait-like functions on IDLTypes.
- bindings/generic/IDLTypes.h:
(WebCore::IDLType::isNullValue):
(WebCore::IDLType::extractValueFromNullable):
(WebCore::IDLString::isNullValue):
(WebCore::IDLString::extractValueFromNullable):
(WebCore::IDLInterface::isNullValue):
(WebCore::IDLInterface::extractValueFromNullable):
(WebCore::IDLDate::isNullValue):
(WebCore::IDLDate::extractValueFromNullable):
Add isNullValue and extractValueFromNullable functions to allow non-Optional
based nullable types.
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::installReplacement):
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::toJS):
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::stylePropertyGetter):
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::invokeAttributeChangedCallback):
Switch to IDLType based toJS.
- bindings/js/JSDOMBinding.cpp:
(WebCore::jsStringOrNull): Deleted.
(WebCore::jsDateOrNull): Deleted.
- bindings/js/JSDOMBinding.h:
(WebCore::jsPair): Deleted.
(WebCore::toJSNullableString): Deleted.
Remove now unusued toJS functions.
- bindings/js/JSDOMConvert.h:
(WebCore::JSConverter<IDLNullable<T>>::convert):
Use new functions to detect and extract nullable values.
(WebCore::Converter<IDLBufferSource>::convert):
Moved to be with the other converters.
(WebCore::Converter<IDLDate>::convert):
(WebCore::JSConverter<IDLDate>::convert):
Added.
- bindings/js/JSDOMIterator.h:
(WebCore::jsPair):
(WebCore::iteratorCreate):
(WebCore::IteratorTraits>::asJS):
(WebCore::appendForEachArguments):
(WebCore::iteratorForEach):
(WebCore::IteratorTraits>::destroy):
(WebCore::IteratorTraits>::next):
(WebCore::IteratorTraits>::finishCreation):
(WebCore::IteratorInspector::decltype): Deleted.
(WebCore::IteratorInspector::test): Deleted.
(WebCore::JSDOMIterator<JSWrapper>::asJS): Deleted.
(WebCore::JSDOMIterator<JSWrapper>::destroy): Deleted.
(WebCore::JSDOMIterator<JSWrapper>::next): Deleted.
(WebCore::JSDOMIteratorPrototype<JSWrapper>::next): Deleted.
(WebCore::JSDOMIteratorPrototype<JSWrapper>::finishCreation): Deleted.
Switch to new Traits based model, and have the generated code pass in
the type (map or set) and key/value types. With the explicit types known,
we can use the new toJS functions.
Also, moved the jsPair functions here from JSDOMBinding.h, since this was
the only place it was used.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementationIterableFunctions):
Add iterator trait definition and update for new parameters to JSDOMIterator
and JSDOMIteratorPrototype.
(GetBaseIDLType):
Add IDLDate, and move IDLBufferSource up to the simple path.
(JSValueToNativeIsHandledByDOMConvert):
Allow Date.
(JSValueToNative):
Remove special case for Date.
(NativeToJSValueIsHandledByDOMConvert):
Allow Date and remove restriction of nullable string-like types.
(NativeToJSValueDOMConvertNeedsState):
Add Date to list of types needing state.
(NativeToJSValue):
Remove special cases for Date and nullable-strings.
- bindings/scripts/IDLParser.pm:
(parseOptionalIterableInterface):
Add correct parsing of iterable.
- bindings/scripts/test/JS/JSTestIterable.cpp:
- bindings/scripts/test/JS/JSTestNode.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
Update test results.
- 11:00 AM Changeset in webkit [207828] by
-
- 3 edits in trunk/Source/WebKit2
[MediaStream] Add "has capture device" bit to media state flags
https://bugs.webkit.org/show_bug.cgi?id=163952
Reviewed by Sam Weinig.
- UIProcess/API/C/WKPage.cpp:
(WKPageGetMediaState): Support MediaProducer::HasMediaCaptureDevice.
- UIProcess/API/C/WKPagePrivate.h: Define kWKMediaHasCaptureDevice.
- 10:34 AM Changeset in webkit [207827] by
-
- 11 edits in trunk
[MediaStream] Add "has capture device" bit to media state flags
https://bugs.webkit.org/show_bug.cgi?id=163952
Reviewed by Jer Noble.
Source/WebCore:
No new tests, updated fast/mediastream/MediaStream-page-muted.html and media/muted-video-is-playing-audio.html.
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::mediaState): Set HasMediaCaptureDevice, only set HasActiveMediaCaptureDevice when
actually producing data.
- page/MediaProducer.h: Add HasMediaCaptureDevice bit.
- testing/Internals.cpp:
(WebCore::Internals::pageMediaState): Return a string representing MediaStateFlags.
(WebCore::Internals::isPagePlayingAudio): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- fast/mediastream/MediaStream-page-muted-expected.txt:
- fast/mediastream/MediaStream-page-muted.html:
- media/muted-video-is-playing-audio-expected.txt:
- media/muted-video-is-playing-audio.html:
- 10:27 AM Changeset in webkit [207826] by
-
- 2 edits in trunk
[cmake] Don't add -fPIC flag when on Windows (MinGW)
https://bugs.webkit.org/show_bug.cgi?id=163949
Reviewed by Michael Catanzaro.
-fPIC flag does not do anything on Windows and produces warning noise
with MinGW. There is no position independent code in Unix sense on
32-bit Windows, and 64-bit Windows code is always relocatable.
For reference see
https://gcc.gnu.org/ml/gcc-patches/2015-08/msg00836.html
- Source/cmake/WebKitHelpers.cmake:
- 10:23 AM Changeset in webkit [207825] by
-
- 30 edits in trunk
WebAssembly JS API: implement Module
This implementation allows us to:
- Syncrhonously create a WebAssembly.Module with a typed array.
- Creates a compilation plan.
- Parse the Module and creates corresponding code.
- Throw WebAssembly.CompileError with mildly helpful [*] error messages on failure.
Consult the API documentation for expected behavior: https://github.com/WebAssembly/design/blob/master/JS.md#webassemblymodule-constructor
For now the implementation discards the generated code.
The next steps will be:
- Expose a Module's exports.
- Implement WebAssembly.Instance, which allows instantiating and running a compiled Module.
- Beef up the testing infrastructure under JSTests/wasm so that more complex modules can be created and tested (instead of writing the bits by hand).
This patch also:
- Adds assert.instanceof in assert.js.
- Refactors Wasm::Parser and friends to accept const uint8_t* as well as a Vector, to avoid copying when invoked synchronously.
- Remove useless Structure from some of the wasm constructors: they're already on the JSGlobalObject, visited properly and all.
- Fix off-by-one error in parsing: Parser::parseUInt32 failed if the integer was exactly at end of file.
[*] On error messages while parsing: I filed https://bugs.webkit.org/show_bug.cgi?id=163919
WebAssembly JS API: implement Module
https://bugs.webkit.org/show_bug.cgi?id=163903
Reviewed by Keith Miller.
JSTests:
- wasm/assert.js: use underscore in name, and remove when exporting to avoid clasing with builtin names
(const._notUndef):
(const._isUndef):
(const._eq):
(const._ge):
(const._throws):
- wasm/js-api/test_basic_api.js: test the WebAssembly.Module API
(const.c.in.constructorProperties.switch):
Source/JavaScriptCore:
- runtime/ExceptionHelpers.cpp:
(JSC::defaultSourceAppender): make this public so that WebAssembly can use it: it generates those fancy (evaluating '...') messages at the end
- runtime/ExceptionHelpers.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): remove the useless Structure from the WebAssembly objects (it's already in this file, no need to hold two references and visit them twice)
- testWasm.cpp:
(runWasmTests): update API
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::parseAndCompile): use updated API
- wasm/WasmB3IRGenerator.h:
- wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::FunctionParser): use updated API
(JSC::Wasm::FunctionParser<Context>::parseExpression): use updated API
- wasm/WasmModuleParser.cpp:
(JSC::Wasm::ModuleParser::parse): generate error messages
- wasm/WasmModuleParser.h:
(JSC::Wasm::ModuleParser::ModuleParser):
(JSC::Wasm::ModuleParser::failed):
(JSC::Wasm::ModuleParser::errorMessage):
(JSC::Wasm::ModuleParser::functionInformation):
(JSC::Wasm::ModuleParser::memory):
- wasm/WasmParser.h: use update non-public API
(JSC::Wasm::Parser::parseVarUInt32):
(JSC::Wasm::Parser::parseVarUInt64):
(JSC::Wasm::Parser::source):
(JSC::Wasm::Parser::length):
(JSC::Wasm::Parser::Parser):
(JSC::Wasm::Parser::consumeCharacter):
(JSC::Wasm::Parser::consumeString):
(JSC::Wasm::Parser::parseUInt32):
(JSC::Wasm::Parser::parseUInt7):
- wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::Plan):
(JSC::Wasm::Plan::~Plan):
- wasm/WasmPlan.h:
(JSC::Wasm::Plan::failed):
(JSC::Wasm::Plan::errorMessage):
(JSC::Wasm::Plan::resultSize):
(JSC::Wasm::Plan::result):
(JSC::Wasm::Plan::memory):
- wasm/js/JSWebAssemblyCompileError.cpp:
(JSC::createWebAssemblyCompileError): makes it easier to throw a WebAssembly.CompileError from Module
- wasm/js/JSWebAssemblyCompileError.h:
- wasm/js/WebAssemblyCompileErrorConstructor.cpp:
(JSC::WebAssemblyCompileErrorConstructor::create):
(JSC::WebAssemblyCompileErrorConstructor::finishCreation):
- wasm/js/WebAssemblyCompileErrorConstructor.h:
- wasm/js/WebAssemblyInstanceConstructor.cpp:
(JSC::WebAssemblyInstanceConstructor::create):
(JSC::WebAssemblyInstanceConstructor::finishCreation):
(JSC::WebAssemblyInstanceConstructor::visitChildren):
- wasm/js/WebAssemblyInstanceConstructor.h:
- wasm/js/WebAssemblyMemoryConstructor.cpp:
(JSC::WebAssemblyMemoryConstructor::create):
(JSC::WebAssemblyMemoryConstructor::finishCreation):
(JSC::WebAssemblyMemoryConstructor::visitChildren):
- wasm/js/WebAssemblyMemoryConstructor.h:
- wasm/js/WebAssemblyModuleConstructor.cpp:
(JSC::constructJSWebAssemblyModule):
(JSC::WebAssemblyModuleConstructor::create):
(JSC::WebAssemblyModuleConstructor::finishCreation):
(JSC::WebAssemblyModuleConstructor::visitChildren):
- wasm/js/WebAssemblyModuleConstructor.h:
- wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:
(JSC::WebAssemblyRuntimeErrorConstructor::create):
(JSC::WebAssemblyRuntimeErrorConstructor::finishCreation):
- wasm/js/WebAssemblyRuntimeErrorConstructor.h:
- wasm/js/WebAssemblyTableConstructor.cpp:
(JSC::WebAssemblyTableConstructor::create):
(JSC::WebAssemblyTableConstructor::finishCreation):
(JSC::WebAssemblyTableConstructor::visitChildren):
- wasm/js/WebAssemblyTableConstructor.h:
- 10:12 AM Changeset in webkit [207824] by
-
- 6 edits in trunk
Add trivial Wasm conversion opcodes
https://bugs.webkit.org/show_bug.cgi?id=163950
Reviewed by Filip Pizlo.
This patch differentiates between Wasm opcodes that are trivially mapped to a B3 opcode and
those that are not. Some of the Wasm opcodes that are currently a non-simple opcode will
become simple as we add B3 opcodes for Wasm operations. The remaining opcodes will need to
be added via patchpoints in a later patch.
JSTests:
- wasm/generate-wasmops-header.js:
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.Wasm.inline.bool.isSimple):
- wasm/wasm.json:
Source/JavaScriptCore:
- wasm/WasmB3IRGenerator.cpp:
- wasm/WasmOps.h:
(JSC::Wasm::isSimple):
- 9:34 AM Changeset in webkit [207823] by
-
- 3 edits in trunk/Source/WebKit2
Unreviewed, rolling out r207494.
iOS SDK has been updated on the bots now so rollout the
rollout
Reverted changeset:
"Unreviewed, rolling out r207413."
https://bugs.webkit.org/show_bug.cgi?id=163547
http://trac.webkit.org/changeset/207494
- 9:26 AM Changeset in webkit [207822] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed build fix.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _fullscreenDelegate]): Removed unneeded parenthesis.
- 9:25 AM Changeset in webkit [207821] by
-
- 11 edits5 adds in trunk
IndexedDB 2.0: Support new IDBTransaction interfaces.
<rdar://problem/28806928> and https://bugs.webkit.org/show_bug.cgi?id=163927
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/IndexedDB/idbobjectstore-rename-abort-expected.txt:
- web-platform-tests/IndexedDB/idbobjectstore-rename-store-expected.txt:
- web-platform-tests/IndexedDB/idbtransaction_objectStoreNames-expected.txt:
- web-platform-tests/IndexedDB/transaction-abort-multiple-metadata-revert-expected.txt:
- web-platform-tests/IndexedDB/transaction-abort-object-store-metadata-revert-expected.txt:
Source/WebCore:
Tests: storage/indexeddb/modern/idbtransaction-objectstores-1-private.html
storage/indexeddb/modern/idbtransaction-objectstores-1.html
At least partially passing results on 5 previously failed W3C tests.
The "new IDBTransaction interfaces" really just means adding the property IDBTransaction.objectStoreNames.
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::objectStoreNames):
- Modules/indexeddb/IDBTransaction.h:
- Modules/indexeddb/IDBTransaction.idl:
LayoutTests:
- storage/indexeddb/modern/idbtransaction-objectstores-1-expected.txt: Added.
- storage/indexeddb/modern/idbtransaction-objectstores-1-private-expected.txt: Added.
- storage/indexeddb/modern/idbtransaction-objectstores-1-private.html: Added.
- storage/indexeddb/modern/idbtransaction-objectstores-1.html: Added.
- storage/indexeddb/modern/resources/idbtransaction-objectstores-1.js: Added.
- 8:52 AM Changeset in webkit [207820] by
-
- 9 edits6 adds in trunk
Add WKWebView fullscreen delegate SPI
https://bugs.webkit.org/show_bug.cgi?id=163674
Reviewed by Anders Carlsson.
Source/WebKit2:
Add a new SPI property to WKWebView allowing clients to be notified when fullscreen mode enters and exits.
- UIProcess/API/APIFullscreenClient.h: Added.
(API::FullscreenClient::~FullscreenClient):
(API::FullscreenClient::willEnterFullscreen):
(API::FullscreenClient::didEnterFullscreen):
(API::FullscreenClient::willExitFullscreen):
(API::FullscreenClient::didExitFullscreen):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _setFullscreenDelegate:]):
(-[WKWebView _fullscreenDelegate]):
(-[WKWebView _isInFullscreen]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/_WKFullscreenDelegate.h: Added.
- UIProcess/Cocoa/FullscreenClient.h: Added.
(WebKit::FullscreenClient::~FullscreenClient):
- UIProcess/Cocoa/FullscreenClient.mm: Added.
(WebKit::FullscreenClient::FullscreenClient):
(WebKit::FullscreenClient::delegate):
(WebKit::FullscreenClient::setDelegate):
(WebKit::FullscreenClient::willEnterFullscreen):
(WebKit::FullscreenClient::didEnterFullscreen):
(WebKit::FullscreenClient::willExitFullscreen):
(WebKit::FullscreenClient::didExitFullscreen):
- UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::willEnterFullScreen):
(WebKit::WebFullScreenManagerProxy::didEnterFullScreen):
(WebKit::WebFullScreenManagerProxy::willExitFullScreen):
(WebKit::WebFullScreenManagerProxy::didExitFullScreen):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setFullscreenClient):
(WebKit::WebPageProxy::fullScreenManager): Deleted.
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::fullscreenClient):
- WebKit2.xcodeproj/project.pbxproj:
Tools:
Add a new API test which verifies that the fullscreen delegate receives notifications.
- TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenDelegate.mm:
(-[FullscreenDelegateMessageHandler userContentController:didReceiveScriptMessage:]):
(-[FullscreenDelegateMessageHandler _webViewWillEnterFullscreen:]):
(-[FullscreenDelegateMessageHandler _webViewDidEnterFullscreen:]):
(-[FullscreenDelegateMessageHandler _webViewWillExitFullscreen:]):
(-[FullscreenDelegateMessageHandler _webViewDidExitFullscreen:]):
(TestWebKitAPI::TEST):
- 8:52 AM Changeset in webkit [207819] by
-
- 2 edits in trunk/Source/WTF
Non-specialized version of deleteObject should not have template argument
https://bugs.webkit.org/show_bug.cgi?id=163943
Reviewed by Anders Carlsson.
Fixes compilation of GDIObject.h with MinGW
- wtf/win/GDIObject.h:
(WTF::deleteObject):
- 8:02 AM Changeset in webkit [207818] by
-
- 10 edits in trunk/Source/WebCore
MediaEndpointConfiguration does not need to be refcounted
https://bugs.webkit.org/show_bug.cgi?id=163888
Patch by Youenn Fablet <youenn@apple.com> on 2016-10-25
Reviewed by Eric Carlson.
No change of behavior.
Updating MediaEndpoint to take a MediaEndpointConfiguration&& instead of a RefPtr<MediaEndpointConfiguration>&&.
This allows ensuring that the configuration is not null and removes the need to ref-count it.
Removing ref-counting from MediaEndpointConfiguration and its related IceServer that is now a struct.
Updated MediaEndpointOwr and mock implementations accordingly.
- Modules/mediastream/MediaEndpointPeerConnection.cpp:
(WebCore::MediaEndpointPeerConnection::setConfiguration):
- platform/mediastream/MediaEndpoint.cpp:
- platform/mediastream/MediaEndpoint.h:
- platform/mediastream/MediaEndpointConfiguration.cpp:
(WebCore::MediaEndpointConfiguration::MediaEndpointConfiguration):
- platform/mediastream/MediaEndpointConfiguration.h:
(WebCore::MediaEndpointConfiguration::iceServers):
- platform/mediastream/openwebrtc/MediaEndpointOwr.cpp:
(WebCore::MediaEndpointOwr::setConfiguration):
(WebCore::MediaEndpointOwr::ensureTransportAgentAndTransceivers):
- platform/mediastream/openwebrtc/MediaEndpointOwr.h:
- platform/mock/MockMediaEndpoint.cpp:
- platform/mock/MockMediaEndpoint.h:
- 7:16 AM Changeset in webkit [207817] by
-
- 7 edits in trunk/Source/WebCore
CachedResourceLoader should set headers of the HTTP request prior checking for the cache
https://bugs.webkit.org/show_bug.cgi?id=163103
Patch by Youenn Fablet <youenn@apple.com> on 2016-10-25
Reviewed by Darin Adler.
No expected change of behavior.
Moved referrer, user-agent, and origin headers setting to CachedResourceRequest/CachedResourceLoader before checking the cache.
This allows simplifying vary header checks and is more inline with the fetch specification.
To compute the referrer value, we need to know whether the request is cross-origin.
A helper function isRequestCrossOrigin is added for that purpose and is also used in CachedResource to set its initial response tainting.
We should disable setting user-agent and origin headers by FrameLoader for subresources since this is now done in CachedResourceLoader.
This could be done as a follow-up patch.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::load):
(WebCore::CachedResource::varyHeaderValuesMatch):
(WebCore::addAdditionalRequestHeadersToRequest): Deleted.
(WebCore::CachedResource::addAdditionalRequestHeaders): Deleted.
- loader/cache/CachedResource.h:
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::updateHTTPRequestHeaders):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::updateForAccessControl):
(WebCore::CachedResourceRequest::updateReferrerOriginAndUserAgentHeaders):
(WebCore::isRequestCrossOrigin):
- loader/cache/CachedResourceRequest.h:
(WebCore::CachedResourceRequest::setOrigin):
- 5:16 AM Changeset in webkit [207816] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix timeouts in 12 GTK+ unit tests after r207812.
- NetworkProcess/NetworkProcessCreationParameters.h: Initialize loadThrottleLatency.
- 3:36 AM Changeset in webkit [207815] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix Soup based ports debug build after r207813.
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::authenticateCallback):
(WebKit::NetworkDataTaskSoup::requestStartedCallback):
- 3:27 AM Changeset in webkit [207814] by
-
- 52 edits in trunk/Source
More PassRefPtr purging in WebCore.
<https://webkit.org/b/163895>
Reviewed by Antti Koivisto.
Source/WebCore:
Remove PassRefPtr usage in RenderStyle, RenderTheme and Scrollbar, then fix up all the fallout.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::contentToCSSValue):
(WebCore::shapePropertyValue):
(WebCore::ComputedStyleExtractor::propertyValue):
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertQuotes):
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::usesMenuList):
(WebCore::HTMLSelectElement::platformHandleKeydownEvent):
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
- html/InputType.cpp:
(WebCore::InputType::themeSupportsDataListUI):
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::shouldHaveSpinButton):
(WebCore::TextFieldInputType::shouldHaveCapsLockIndicator):
- loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadPlugin):
- page/FrameView.cpp:
(WebCore::FrameView::createScrollbar):
- page/FrameView.h:
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper):
(WebCore::PropertyWrapperClipPath::PropertyWrapperClipPath):
(WebCore::PropertyWrapperShape::PropertyWrapperShape):
(WebCore::StyleImagePropertyWrapper::StyleImagePropertyWrapper):
(WebCore::FillLayerRefCountedPropertyWrapper::FillLayerRefCountedPropertyWrapper):
(WebCore::FillLayerStyleImagePropertyWrapper::FillLayerStyleImagePropertyWrapper):
- platform/PopupMenuClient.h:
- platform/ScrollView.cpp:
(WebCore::ScrollView::createScrollbar):
- platform/ScrollView.h:
- platform/Scrollbar.cpp:
(WebCore::Scrollbar::createNativeScrollbar):
- platform/Scrollbar.h:
- rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::buildReferenceFilter):
- rendering/FilterEffectRenderer.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::createScrollbar):
(WebCore::RenderLayer::createLocalTransformState):
(WebCore::RenderLayer::hitTestLayerByApplyingTransform):
- rendering/RenderLayer.h:
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::createScrollbar):
- rendering/RenderListBox.h:
- rendering/RenderMenuList.cpp:
(RenderMenuList::createScrollbar):
- rendering/RenderMenuList.h:
- rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::createCustomScrollbar):
- rendering/RenderScrollbar.h:
- rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::createScrollbar):
- rendering/RenderSearchField.h:
- rendering/RenderTheme.h:
(WebCore::RenderTheme::defaultTheme):
- rendering/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::create):
(WebCore::RenderTheme::themeForPage):
- rendering/RenderThemeEfl.h:
- rendering/RenderThemeGtk.cpp:
(WebCore::RenderTheme::themeForPage):
- rendering/RenderThemeIOS.mm:
(WebCore::RenderTheme::themeForPage):
- rendering/RenderThemeMac.mm:
(WebCore::RenderTheme::themeForPage):
- rendering/RenderThemeWin.cpp:
(WebCore::RenderTheme::themeForPage):
- rendering/RenderWidget.cpp:
(WebCore::RenderWidget::setWidget):
- rendering/RenderWidget.h:
- rendering/style/CursorData.h:
(WebCore::CursorData::CursorData):
(WebCore::CursorData::setImage):
- rendering/style/FillLayer.h:
(WebCore::FillLayer::setImage):
- rendering/style/QuotesData.cpp:
(WebCore::QuotesData::create):
- rendering/style/QuotesData.h:
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::addCursor):
(WebCore::RenderStyle::setCursorList):
(WebCore::RenderStyle::setQuotes):
(WebCore::RenderStyle::setWillChange):
(WebCore::RenderStyle::setContent):
(WebCore::RenderStyle::setListStyleImage):
(WebCore::RenderStyle::setBorderImageSource):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setMaskImage):
(WebCore::RenderStyle::setMaskBoxImageSource):
(WebCore::RenderStyle::setBoxReflect):
(WebCore::RenderStyle::setShapeOutside):
(WebCore::RenderStyle::setClipPath):
- rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::cssValue):
- rendering/style/StyleCachedImage.h:
- rendering/style/StyleGeneratedImage.cpp:
(WebCore::StyleGeneratedImage::cssValue):
- rendering/style/StyleGeneratedImage.h:
- rendering/style/StyleImage.h:
- rendering/style/StyleMultiColData.h:
- rendering/style/StyleRareInheritedData.h:
Source/WebKit2:
- WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h:
- WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
(WebKit::PDFPlugin::createScrollbar):
- 3:25 AM Changeset in webkit [207813] by
-
- 20 edits3 copies3 adds in trunk/Source/WebKit2
NetworkSession: switch to use subclasses for NetworkSession and NetworkDataTask implementations
https://bugs.webkit.org/show_bug.cgi?id=163777
Reviewed by Alex Christensen.
The subclass model allows us to choose the implementation at run time, so we could add other implementations
like a mock network class to measure performance, and even one for blobs and finally get rid of ResourceHandle
in WebKit2.
- CMakeLists.txt: Add new files to compilation.
- NetworkProcess/NetworkDataTask.cpp: Added.
(WebKit::NetworkDataTask::create): Create a NetworkDataTaskCocoa or NetworkDataTaskSoup.
(WebKit::NetworkDataTask::NetworkDataTask): Move common code from NetworkDataTaskCocoa and NetworkDataTaskSoup
here to handle the early failures.
(WebKit::NetworkDataTask::~NetworkDataTask):
(WebKit::NetworkDataTask::scheduleFailure):
(WebKit::NetworkDataTask::failureTimerFired):
- NetworkProcess/NetworkDataTask.h: Remove platform specific members.
(WebKit::NetworkDataTask::setPendingDownloadLocation): Make it virtual and set the m_pendingDownloadLocation.
(WebKit::NetworkDataTask::suggestedFilename): Make it virtual and const with a default implementation.
(WebKit::NetworkDataTask::setSuggestedFilename): Ditto.
(WebKit::NetworkDataTask::allowsSpecificHTTPSCertificateForHost): Ditto.
- NetworkProcess/NetworkLoad.cpp: Include NetworkDataTaskCocoa.h.
- NetworkProcess/NetworkLoad.h: Include NetworkDataTask.h instead of NetworkSession.h.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess): Use NetworkSessionCocoa.
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::create): Create a NetworkSessionCocoa or NetworkSessionSoup.
(WebKit::NetworkSession::defaultSession): In case of cocoa use NetworkSessionCocoa::defaultSession() because of
the custom protocol manager, otherwise simply create a default session.
(WebKit::NetworkSession::networkStorageSession): Move common code from NetworkSessionCocoa and
NetworkSessionSoup here.
(WebKit::NetworkSession::NetworkSession):
(WebKit::NetworkSession::~NetworkSession):
- NetworkProcess/NetworkSession.h: Remove platform specific members.
(WebKit::NetworkSession::invalidateAndCancel): Make it virtual.
(WebKit::NetworkSession::clearCredentials): Ditto.
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: Include NetworkSession.h.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h: Added.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::didSendData):
(WebKit::NetworkDataTaskCocoa::didReceiveChallenge):
(WebKit::NetworkDataTaskCocoa::didCompleteWithError):
(WebKit::NetworkDataTaskCocoa::didReceiveResponse):
(WebKit::NetworkDataTaskCocoa::didReceiveData):
(WebKit::NetworkDataTaskCocoa::didBecomeDownload):
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
(WebKit::NetworkDataTaskCocoa::setPendingDownloadLocation):
(WebKit::NetworkDataTaskCocoa::tryPasswordBasedAuthentication):
(WebKit::NetworkDataTaskCocoa::transferSandboxExtensionToDownload):
(WebKit::NetworkDataTaskCocoa::allowsSpecificHTTPSCertificateForHost):
(WebKit::NetworkDataTaskCocoa::suggestedFilename):
(WebKit::NetworkDataTaskCocoa::cancel):
(WebKit::NetworkDataTaskCocoa::resume):
(WebKit::NetworkDataTaskCocoa::suspend):
(WebKit::NetworkDataTaskCocoa::state):
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
- NetworkProcess/cocoa/NetworkSessionCocoa.h: Added.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate initWithNetworkSession:withCredentials:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
(WebKit::configurationForSessionID):
(WebKit::NetworkSessionCocoa::setCustomProtocolManager):
(WebKit::NetworkSessionCocoa::setSourceApplicationAuditTokenData):
(WebKit::NetworkSessionCocoa::setSourceApplicationBundleIdentifier):
(WebKit::NetworkSessionCocoa::setSourceApplicationSecondaryIdentifier):
(WebKit::NetworkSessionCocoa::setCTDataConnectionServiceType):
(WebKit::NetworkSessionCocoa::create):
(WebKit::NetworkSessionCocoa::defaultSession):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
(WebKit::NetworkSessionCocoa::~NetworkSessionCocoa):
(WebKit::NetworkSessionCocoa::invalidateAndCancel):
(WebKit::NetworkSessionCocoa::clearCredentials):
(WebKit::NetworkSessionCocoa::dataTaskForIdentifier):
(WebKit::NetworkSessionCocoa::addDownloadID):
(WebKit::NetworkSessionCocoa::downloadID):
(WebKit::NetworkSessionCocoa::takeDownloadID):
- NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup):
(WebKit::NetworkDataTaskSoup::~NetworkDataTaskSoup):
(WebKit::NetworkDataTaskSoup::suggestedFilename):
(WebKit::NetworkDataTaskSoup::setPendingDownloadLocation):
(WebKit::NetworkDataTaskSoup::createRequest):
(WebKit::NetworkDataTaskSoup::clearRequest):
(WebKit::NetworkDataTaskSoup::resume):
(WebKit::NetworkDataTaskSoup::suspend):
(WebKit::NetworkDataTaskSoup::cancel):
(WebKit::NetworkDataTaskSoup::invalidateAndCancel):
(WebKit::NetworkDataTaskSoup::state):
(WebKit::NetworkDataTaskSoup::timeoutFired):
(WebKit::NetworkDataTaskSoup::startTimeout):
(WebKit::NetworkDataTaskSoup::stopTimeout):
(WebKit::NetworkDataTaskSoup::sendRequestCallback):
(WebKit::NetworkDataTaskSoup::didSendRequest):
(WebKit::NetworkDataTaskSoup::didReceiveResponse):
(WebKit::NetworkDataTaskSoup::tlsErrorsChangedCallback):
(WebKit::NetworkDataTaskSoup::tlsErrorsChanged):
(WebKit::NetworkDataTaskSoup::applyAuthenticationToRequest):
(WebKit::NetworkDataTaskSoup::authenticateCallback):
(WebKit::NetworkDataTaskSoup::authenticate):
(WebKit::NetworkDataTaskSoup::continueAuthenticate):
(WebKit::NetworkDataTaskSoup::skipInputStreamForRedirectionCallback):
(WebKit::NetworkDataTaskSoup::skipInputStreamForRedirection):
(WebKit::NetworkDataTaskSoup::didFinishSkipInputStreamForRedirection):
(WebKit::NetworkDataTaskSoup::shouldStartHTTPRedirection):
(WebKit::NetworkDataTaskSoup::continueHTTPRedirection):
(WebKit::NetworkDataTaskSoup::readCallback):
(WebKit::NetworkDataTaskSoup::read):
(WebKit::NetworkDataTaskSoup::didRead):
(WebKit::NetworkDataTaskSoup::didFinishRead):
(WebKit::NetworkDataTaskSoup::requestNextPartCallback):
(WebKit::NetworkDataTaskSoup::requestNextPart):
(WebKit::NetworkDataTaskSoup::didRequestNextPart):
(WebKit::NetworkDataTaskSoup::didFinishRequestNextPart):
(WebKit::NetworkDataTaskSoup::gotHeadersCallback):
(WebKit::NetworkDataTaskSoup::didGetHeaders):
(WebKit::NetworkDataTaskSoup::wroteBodyDataCallback):
(WebKit::NetworkDataTaskSoup::didWriteBodyData):
(WebKit::NetworkDataTaskSoup::download):
(WebKit::NetworkDataTaskSoup::writeDownloadCallback):
(WebKit::NetworkDataTaskSoup::writeDownload):
(WebKit::NetworkDataTaskSoup::didWriteDownload):
(WebKit::NetworkDataTaskSoup::didFinishDownload):
(WebKit::NetworkDataTaskSoup::didFailDownload):
(WebKit::NetworkDataTaskSoup::cleanDownloadFiles):
(WebKit::NetworkDataTaskSoup::didFail):
(WebKit::NetworkDataTaskSoup::networkEventCallback):
(WebKit::NetworkDataTaskSoup::networkEvent):
(WebKit::NetworkDataTaskSoup::startingCallback):
(WebKit::NetworkDataTaskSoup::requestStartedCallback):
(WebKit::NetworkDataTaskSoup::didStartRequest):
(WebKit::NetworkDataTaskSoup::restartedCallback):
(WebKit::NetworkDataTaskSoup::didRestart):
- NetworkProcess/soup/NetworkDataTaskSoup.h: Added.
- NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSessionSoup::NetworkSessionSoup):
(WebKit::NetworkSessionSoup::~NetworkSessionSoup):
(WebKit::NetworkSessionSoup::soupSession):
(WebKit::NetworkSessionSoup::invalidateAndCancel):
- NetworkProcess/soup/NetworkSessionSoup.h: Added.
- NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): Update to new NetworkSession::create() API.
- PlatformEfl.cmake: Add new files to compilation.
- PlatformGTK.cmake: Ditto.
- WebKit2.xcodeproj/project.pbxproj: Ditto.
- WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): Update to new NetworkSession::create() API.
- WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): Ditto.
- 1:22 AM Changeset in webkit [207812] by
-
- 8 edits in trunk/Source/WebKit2
Add support for introducing simulated latency in network process
https://bugs.webkit.org/show_bug.cgi?id=163902
Reviewed by Alex Christensen.
For testing purposes it is useful to have a mechanism for simulating high latency.
This patch adds a basic mechanism that introduces a delay to each response in network
process. In Safari it can be used with
defaults write com.apple.Safari WebKitNetworkLoadThrottleLatencyMilliseconds 200
Setting the delay to 0 disables the feature.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::Throttle::Throttle):
(WebKit::NetworkLoad::didReceiveResponseNetworkSession):
(WebKit::NetworkLoad::notifyDidReceiveResponse):
(WebKit::NetworkLoad::didReceiveData):
(WebKit::NetworkLoad::didCompleteWithError):
(WebKit::NetworkLoad::throttleDelayCompleted):
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::loadThrottleLatency):
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- 12:01 AM Changeset in webkit [207811] by
-
- 2 edits in trunk/LayoutTests
Rebase test after r207805
https://bugs.webkit.org/show_bug.cgi?id=163929
- fetch/fetch-url-serialization-expected.txt:
Oct 24, 2016:
- 11:18 PM Changeset in webkit [207810] by
-
- 10 edits4 adds in trunk
Custom elements reactions should have a queue per element
https://bugs.webkit.org/show_bug.cgi?id=163878
Reviewed by Antti Koivisto.
Source/WebCore:
This patch splits the custom elements reaction queue into per element to match the latest HTML specifications:
https://html.spec.whatwg.org/multipage/scripting.html#custom-element-reaction-queue
and introduces the backup element queue:
https://html.spec.whatwg.org/multipage/scripting.html#backup-element-queue
In terms of code changes, CustomElementReactionStack now holds onto ElementQueue, an ordered list of elements,
and make each ElementRareData keep its own CustomElementReactionQueue. CustomElementReactionQueue is created
for each custom element when it is synchronously constructed or enqueued to upgrade.
Because each reaction queue is now specific to each element, CustomElementReactionQueue instead of
CustomElementReactionQueueItem stores JSCustomElementInterface.
The backup element queue is created as a singleton returned by CustomElementReactionStack's backupElementQueue,
and ensureBackupQueue() schedules a new mirotask to process the backup queue when there isn't already one.
ensureCurrentQueue() now returns a reference to CustomElementReactionQueue instead of a pointer since it can
fallback to the backup queue when the stack is empty as specified:
https://html.spec.whatwg.org/multipage/scripting.html#enqueue-an-element-on-the-appropriate-element-queue
Note that ensureCurrentQueue() may insert the same element multiple times into the element queue for now since
avoiding this duplication would require either doing O(n) iteration on m_elements or adding a HashSet.
We can revisit this in the future if the reaction queue is found to grow beyond a few entries since elements in
the element queue will have duplicates only when each reaction queue has more than one item.
Tests: fast/custom-elements/backup-element-queue.html
fast/custom-elements/custom-element-reaction-queue.html
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::upgradeElement):
- dom/CustomElementReactionQueue.cpp:
(WebCore::CustomElementReactionQueueItem::CustomElementReactionQueueItem):
(WebCore::CustomElementReactionQueueItem::invoke): Removed the check for isFailedCustomElement since the queue
is explicitly cleared in Element::setIsFailedCustomElement.
(WebCore::CustomElementReactionQueue::CustomElementReactionQueue): Now takes JSCustomElementInterface since
each item in the queue no longer stores Element or JSCustomElementInterface.
(WebCore::CustomElementReactionQueue::clear):
(WebCore::CustomElementReactionQueue::enqueueElementUpgrade):
(WebCore::CustomElementReactionQueue::enqueueElementUpgradeIfDefined):
(WebCore::CustomElementReactionQueue::enqueueConnectedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueueDisconnectedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueueAdoptedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueueAttributeChangedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueuePostUpgradeReactions):
(WebCore::CustomElementReactionQueue::invokeAll):
(WebCore::CustomElementReactionStack::ElementQueue::add): Added.
(WebCore::CustomElementReactionStack::ElementQueue::invokeAll): Added.
(WebCore::CustomElementReactionStack::ensureCurrentQueue):
(WebCore::BackupElementQueueMicrotask): Added.
(WebCore::CustomElementReactionStack::ensureBackupQueue): Added.
(WebCore::CustomElementReactionStack::processBackupQueue): Added.
(WebCore::CustomElementReactionStack::backupElementQueue): Added.
- dom/CustomElementReactionQueue.h:
- dom/CustomElementRegistry.cpp:
(WebCore::enqueueUpgradeInShadowIncludingTreeOrder):
- dom/Document.cpp:
(WebCore::createFallbackHTMLElement):
- dom/Element.cpp:
(WebCore::Element::setIsDefinedCustomElement): Create a new reaction queue if there isn't already one; when
this element had been upgraded, the reaction queue have already been created in Element::enqueueToUpgrade.
(WebCore::Element::setIsFailedCustomElement): Clear the reaction queue when the upgrading had failed.
(WebCore::Element::enqueueToUpgrade): Added.
(WebCore::Element::reactionQueue): Added.
- dom/Element.h:
- dom/ElementRareData.h:
(WebCore::ElementRareData::customElementReactionQueue): Replaced customElementInterface.
(WebCore::ElementRareData::setCustomElementReactionQueue): Replaced setCustomElementReactionQueue.
LayoutTests:
Added a W3C style testharness.js test for making sure the custom element reaction queue exists per element,
and added a WebKit style test for making sure that the backup element queue exists.
- fast/custom-elements/backup-element-queue-expected.txt: Added.
- fast/custom-elements/backup-element-queue.html: Added.
- fast/custom-elements/custom-element-reaction-queue-expected.txt: Added.
- fast/custom-elements/custom-element-reaction-queue.html: Added.
- 11:07 PM Changeset in webkit [207809] by
-
- 92 edits10 copies48 adds in trunk
Update SubtleCrypto::generateKey to match the latest spec
https://bugs.webkit.org/show_bug.cgi?id=163718
<rdar://problem/28864380>
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- WebCryptoAPI/generateKey/test_aes-cbc-expected.txt:
- WebCryptoAPI/generateKey/test_aes-cbc.html:
- WebCryptoAPI/generateKey/test_aes-ctr-expected.txt:
- WebCryptoAPI/generateKey/test_aes-ctr.html:
- WebCryptoAPI/generateKey/test_failures-expected.txt:
- WebCryptoAPI/generateKey/test_failures.html:
- WebCryptoAPI/generateKey/test_failures_AES-CBC-expected.txt:
- WebCryptoAPI/generateKey/test_failures_AES-CBC.html:
- WebCryptoAPI/generateKey/test_failures_AES-CTR-expected.txt:
- WebCryptoAPI/generateKey/test_failures_AES-CTR.html:
- WebCryptoAPI/generateKey/test_failures_AES-GCM-expected.txt:
- WebCryptoAPI/generateKey/test_failures_AES-GCM.html:
- WebCryptoAPI/generateKey/test_failures_AES-KW-expected.txt:
- WebCryptoAPI/generateKey/test_failures_AES-KW.html:
- WebCryptoAPI/generateKey/test_failures_ECDH-expected.txt:
- WebCryptoAPI/generateKey/test_failures_ECDH.html:
- WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt:
- WebCryptoAPI/generateKey/test_failures_ECDSA.html:
- WebCryptoAPI/generateKey/test_failures_HMAC-expected.txt:
- WebCryptoAPI/generateKey/test_failures_HMAC.html:
- WebCryptoAPI/generateKey/test_failures_RSA-OAEP-expected.txt:
- WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html:
- WebCryptoAPI/generateKey/test_failures_RSA-PSS-expected.txt:
- WebCryptoAPI/generateKey/test_failures_RSA-PSS.html:
- WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5-expected.txt:
- WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html:
- WebCryptoAPI/generateKey/test_successes-expected.txt:
- WebCryptoAPI/generateKey/test_successes.html:
- WebCryptoAPI/generateKey/test_successes_AES-CBC-expected.txt:
- WebCryptoAPI/generateKey/test_successes_AES-CBC.html:
- WebCryptoAPI/generateKey/test_successes_AES-CTR-expected.txt:
- WebCryptoAPI/generateKey/test_successes_AES-CTR.html:
- WebCryptoAPI/generateKey/test_successes_AES-GCM-expected.txt:
- WebCryptoAPI/generateKey/test_successes_AES-GCM.html:
- WebCryptoAPI/generateKey/test_successes_AES-KW-expected.txt:
- WebCryptoAPI/generateKey/test_successes_AES-KW.html:
- WebCryptoAPI/generateKey/test_successes_ECDH-expected.txt:
- WebCryptoAPI/generateKey/test_successes_ECDH.html:
- WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt:
- WebCryptoAPI/generateKey/test_successes_ECDSA.html:
- WebCryptoAPI/generateKey/test_successes_HMAC-expected.txt:
- WebCryptoAPI/generateKey/test_successes_HMAC.html:
- WebCryptoAPI/generateKey/test_successes_RSA-OAEP-expected.txt:
- WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html:
- WebCryptoAPI/generateKey/test_successes_RSA-PSS-expected.txt:
- WebCryptoAPI/generateKey/test_successes_RSA-PSS.html:
- WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5-expected.txt:
- WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html:
- WebCryptoAPI/idlharness-expected.txt:
Source/WebCore:
This patch does following few things:
- It updates the SubtleCrypto::generateKey method to match the latest spec: https://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-generateKey. It also refers to the latest Editor's Draft at a certain degree: https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-generateKey.
- It implements generateKey operations of following algorithms: AES-CBC, AES-KW, HMAC, RSAES-PKCS1-V1_5, RSASSA-PKCS1-V1_5, and RSA-OAEP.
- It replaces SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS with
SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS_DEPRECATED for deprecated params.
- It fixes https://bugs.webkit.org/show_bug.cgi?id=129750 as well.
Tests: crypto/subtle/aes-cbc-generate-key-length-128.html
crypto/subtle/aes-cbc-generate-key-length-192.html
crypto/subtle/aes-cbc-generate-key-length-256.html
crypto/subtle/aes-generate-key-malformed-parameters.html
crypto/subtle/aes-kw-generate-key.html
crypto/subtle/generate-key-malformed-paramters.html
crypto/subtle/hmac-generate-key-customized-length.html
crypto/subtle/hmac-generate-key-hash-object.html
crypto/subtle/hmac-generate-key-malformed-parameters.html
crypto/subtle/hmac-generate-key-sha1.html
crypto/subtle/hmac-generate-key-sha224.html
crypto/subtle/hmac-generate-key-sha256.html
crypto/subtle/hmac-generate-key-sha384.html
crypto/subtle/hmac-generate-key-sha512.html
crypto/subtle/rsa-generate-key-malformed-parameters.html
crypto/subtle/rsa-oaep-generate-key.html
crypto/subtle/rsaes-pkcs1-v1_5-generate-key-extractable.html
crypto/subtle/rsaes-pkcs1-v1_5-generate-key.html
crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html
crypto/webkitSubtle/hmac-generate-key.html:
crypto/workers/subtle/aes-generate-key.html
crypto/workers/subtle/hmac-generate-key.html
crypto/workers/subtle/rsa-generate-key.html
- CMakeLists.txt:
- DerivedSources.make:
- Modules/encryptedmedia/CDMSessionClearKey.cpp:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSSubtleCryptoCustom.cpp: Added.
(WebCore::toHashIdentifier):
(WebCore::normalizeCryptoAlgorithmParameters):
(WebCore::cryptoKeyUsagesFromJSValue):
(WebCore::createAlgorithm):
(WebCore::rejectWithException):
(WebCore::jsSubtleCryptoFunctionGenerateKeyPromise):
(WebCore::JSSubtleCrypto::generateKey):
- bindings/js/JSWebKitSubtleCryptoCustom.cpp:
(WebCore::JSWebKitSubtleCrypto::generateKey):
- crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::generateKey):
- crypto/CryptoAlgorithm.h:
- crypto/CryptoAlgorithmParameters.h: Added.
(WebCore::CryptoAlgorithmParameters::CryptoAlgorithmParameters):
(WebCore::CryptoAlgorithmParameters::~CryptoAlgorithmParameters):
(WebCore::CryptoAlgorithmParameters::parametersClass):
- crypto/CryptoAlgorithmParameters.idl: Added.
- crypto/CryptoAlgorithmParametersDeprecated.h:
- crypto/CryptoKey.cpp:
(WebCore::CryptoKey::setUsagesBitmap):
- crypto/CryptoKey.h:
- crypto/CryptoKeyPair.idl:
- crypto/SubtleCrypto.idl:
- crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
(WebCore::CryptoAlgorithmAES_CBC::generateKey):
- crypto/algorithms/CryptoAlgorithmAES_CBC.h:
- crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
(WebCore::CryptoAlgorithmAES_KW::generateKey):
- crypto/algorithms/CryptoAlgorithmAES_KW.h:
- crypto/algorithms/CryptoAlgorithmHMAC.cpp:
(WebCore::CryptoAlgorithmHMAC::generateKey):
- crypto/algorithms/CryptoAlgorithmHMAC.h:
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::generateKey):
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
- crypto/gnutls/CryptoKeyRSAGnuTLS.cpp:
(WebCore::CryptoKeyRSA::generatePair):
- crypto/keys/CryptoKeyAES.cpp:
(WebCore::CryptoKeyAES::generate):
- crypto/keys/CryptoKeyHMAC.cpp:
(WebCore::CryptoKeyHMAC::generate):
- crypto/keys/CryptoKeyRSA.h:
- crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::CryptoKeyRSA::generatePair):
- crypto/parameters/AesKeyGenParams.idl: Added.
- crypto/parameters/CryptoAlgorithmAesCbcParamsDeprecated.h:
- crypto/parameters/CryptoAlgorithmAesKeyGenParams.h: Added.
- crypto/parameters/CryptoAlgorithmAesKeyGenParamsDeprecated.h:
- crypto/parameters/CryptoAlgorithmHmacKeyGenParams.h: Added.
- crypto/parameters/CryptoAlgorithmHmacKeyParamsDeprecated.h:
- crypto/parameters/CryptoAlgorithmHmacParamsDeprecated.h:
- crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h: Added.
- crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h: Added.
(WebCore::CryptoAlgorithmRsaKeyGenParams::arrayToVector):
- crypto/parameters/CryptoAlgorithmRsaKeyGenParamsDeprecated.h:
- crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHashDeprecated.h:
- crypto/parameters/CryptoAlgorithmRsaOaepParamsDeprecated.h:
- crypto/parameters/CryptoAlgorithmRsaSsaParamsDeprecated.h:
- crypto/parameters/HmacKeyGenParams.idl: Added.
- crypto/parameters/RsaHashedKeyGenParams.idl: Added.
- crypto/parameters/RsaKeyGenParams.idl: Added.
LayoutTests:
Besides adding tests for SubtleCrypto::generateKey related stuff and fixing HMAC. This patch also add
shouldReject(_a, _rejectCallback, _resolveCallback, _message) in js-test-pre.js.
- TestExpectations:
- crypto/subtle/aes-cbc-generate-key-length-128-expected.txt: Added.
- crypto/subtle/aes-cbc-generate-key-length-128.html: Added.
- crypto/subtle/aes-cbc-generate-key-length-192-expected.txt: Added.
- crypto/subtle/aes-cbc-generate-key-length-192.html: Added.
- crypto/subtle/aes-cbc-generate-key-length-256-expected.txt: Added.
- crypto/subtle/aes-cbc-generate-key-length-256.html: Added.
- crypto/subtle/aes-generate-key-malformed-parameters-expected.txt: Added.
- crypto/subtle/aes-generate-key-malformed-parameters.html: Added.
- crypto/subtle/aes-kw-generate-key-expected.txt: Added.
- crypto/subtle/aes-kw-generate-key.html: Added.
- crypto/subtle/generate-key-malformed-paramters-expected.txt: Added.
- crypto/subtle/generate-key-malformed-paramters.html: Added.
- crypto/subtle/hmac-generate-key-customized-length-expected.txt: Added.
- crypto/subtle/hmac-generate-key-customized-length.html: Added.
- crypto/subtle/hmac-generate-key-hash-object-expected.txt: Added.
- crypto/subtle/hmac-generate-key-hash-object.html: Added.
- crypto/subtle/hmac-generate-key-malformed-parameters-expected.txt: Added.
- crypto/subtle/hmac-generate-key-malformed-parameters.html: Added.
- crypto/subtle/hmac-generate-key-sha1-expected.txt: Added.
- crypto/subtle/hmac-generate-key-sha1.html: Added.
- crypto/subtle/hmac-generate-key-sha224-expected.txt: Added.
- crypto/subtle/hmac-generate-key-sha224.html: Added.
- crypto/subtle/hmac-generate-key-sha256-expected.txt: Added.
- crypto/subtle/hmac-generate-key-sha256.html: Added.
- crypto/subtle/hmac-generate-key-sha384-expected.txt: Added.
- crypto/subtle/hmac-generate-key-sha384.html: Added.
- crypto/subtle/hmac-generate-key-sha512-expected.txt: Added.
- crypto/subtle/hmac-generate-key-sha512.html: Added.
- crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt: Added.
- crypto/subtle/rsa-generate-key-malformed-parameters.html: Added.
- crypto/subtle/rsa-oaep-generate-key-expected.txt: Added.
- crypto/subtle/rsa-oaep-generate-key.html: Added.
- crypto/subtle/rsaes-pkcs1-v1_5-generate-key-expected.txt: Added.
- crypto/subtle/rsaes-pkcs1-v1_5-generate-key-extractable-expected.txt: Added.
- crypto/subtle/rsaes-pkcs1-v1_5-generate-key-extractable.html: Added.
- crypto/subtle/rsaes-pkcs1-v1_5-generate-key.html: Added.
- crypto/subtle/rsassa-pkcs1-v1_5-generate-key-expected.txt: Added.
- crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html: Added.
- crypto/webkitSubtle/hmac-generate-key-expected.txt:
- crypto/webkitSubtle/hmac-generate-key.html:
- crypto/workers/subtle/aes-generate-key-expected.txt: Added.
- crypto/workers/subtle/aes-generate-key.html: Added.
- crypto/workers/subtle/hmac-generate-key-expected.txt: Added.
- crypto/workers/subtle/hmac-generate-key.html: Added.
- crypto/workers/subtle/resources/aes-generate-key.js: Added.
- crypto/workers/subtle/resources/hmac-generate-key.js: Added.
- crypto/workers/subtle/resources/rsa-generate-key.js: Added.
- crypto/workers/subtle/rsa-generate-key-expected.txt: Added.
- crypto/workers/subtle/rsa-generate-key.html: Added.
- resources/js-test-pre.js:
- 10:26 PM Changeset in webkit [207808] by
-
- 1 edit1 delete in trunk/Source/ThirdParty/ANGLE
Remove unused ANGLE.vcxproj after switching to CMake on Windows
- ANGLE.vcxproj: Removed.
- ANGLE.vcxproj/ANGLERelease.props: Removed.
- ANGLE.vcxproj/DirectX32.props: Removed.
- ANGLE.vcxproj/DirectX64.props: Removed.
- ANGLE.vcxproj/libEGL.vcxproj: Removed.
- ANGLE.vcxproj/libEGL.vcxproj.filters: Removed.
- ANGLE.vcxproj/libEGLCommon.props: Removed.
- ANGLE.vcxproj/libGLESv2.vcxproj: Removed.
- ANGLE.vcxproj/libGLESv2.vcxproj.filters: Removed.
- ANGLE.vcxproj/libGLESv2Common.props: Removed.
- ANGLE.vcxproj/preprocessor.vcxproj: Removed.
- ANGLE.vcxproj/preprocessor.vcxproj.filters: Removed.
- ANGLE.vcxproj/translatorCommon.props: Removed.
- ANGLE.vcxproj/translator_common.vcxproj: Removed.
- ANGLE.vcxproj/translator_common.vcxproj.filters: Removed.
- ANGLE.vcxproj/translator_glsl.vcxproj: Removed.
- ANGLE.vcxproj/translator_glsl.vcxproj.filters: Removed.
- ANGLE.vcxproj/translator_hlsl.vcxproj: Removed.
- ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Removed.
- 10:22 PM Changeset in webkit [207807] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r206410): Sandbox violations beneath WebProcessProxy::platformIsBeingDebugged
https://bugs.webkit.org/show_bug.cgi?id=163879
<rdar://problem/28728735>
Reviewed by Darin Adler.
- UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::platformIsBeingDebugged): Check if the current process, which is
the UI process, is sandboxed before trying to find out if the Web process is being
debugged.
- 10:16 PM Changeset in webkit [207806] by
-
- 19 edits1 delete in trunk
IDBDatabase.createObjectStore() should take a IDBObjectStoreParameters dictionary in parameter
https://bugs.webkit.org/show_bug.cgi?id=163916
Reviewed by Darin Adler.
Source/WebCore:
IDBDatabase.createObjectStore() should take a IDBObjectStoreParameters dictionary in parameter:
- https://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabase
- https://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStoreParameters
Align our IDL with the specification.
No new tests, no expected Web-exposed behavior change.
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
- Modules/indexeddb/IDBDatabase.h:
- Modules/indexeddb/IDBDatabase.idl:
- Modules/indexeddb/IDBKeyPath.cpp:
(WebCore::IDBKeyPath::IDBKeyPath):
- Modules/indexeddb/IDBKeyPath.h:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::idbKeyPathFromValue): Deleted.
- bindings/js/IDBBindingUtilities.h:
- bindings/js/JSIDBDatabaseCustom.cpp: Removed.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(GenerateConstructorDefinition):
- dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent):
(WebCore::MessageEvent::create):
- dom/MessageEvent.h:
- testing/TypeConversions.h:
(WebCore::TypeConversions::setTypeConversionsDictionary):
LayoutTests:
Rebaseline existing tests now that the exception messages differ slightly.
- storage/indexeddb/create-object-store-options-expected.txt:
- storage/indexeddb/create-object-store-options-private-expected.txt:
- 9:40 PM Changeset in webkit [207805] by
-
- 11 edits in trunk
URLParser should match old URL::parse with %2E in path
https://bugs.webkit.org/show_bug.cgi?id=163929
Reviewed by Alexey Proskuryakov.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
Covered by updated API tests, which show that URLParser now matches URL::parse in these cases.
Also covered by newly failing web platform tests, which were failing before URLParser was enabled.
If https://github.com/whatwg/url/issues/87 is resolved we can change behavior to match.
- platform/URLParser.cpp:
(WebCore::URLParser::isSingleDotPathSegment):
(WebCore::URLParser::isDoubleDotPathSegment):
(WebCore::URLParser::consumeSingleDotPathSegment):
(WebCore::URLParser::consumeDoubleDotPathSegment):
(WebCore::URLParser::parse):
(WebCore::URLParser::isPercentEncodedDot): Deleted.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
LayoutTests:
- fast/url/path-expected.txt:
- fast/url/standard-url-expected.txt:
- 9:19 PM Changeset in webkit [207804] by
-
- 11 edits2 adds in trunk
Do not update selection rect on dirty lineboxes.
https://bugs.webkit.org/show_bug.cgi?id=163862
<rdar://problem/28813156>
Reviewed by Simon Fraser.
Source/WebCore:
In certain cases RenderBlock::updateFirstLetter() triggers
unwanted render tree mutation while the caller assumes intact renderers.
This patch ensures that no renderers gets destroyed while computing the preferred widths
when we are outside of layout context.
Test: fast/css-generated-content/dynamic-first-letter-selection-clear-crash.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computePreferredLogicalWidths):
(WebCore::RenderBlock::updateFirstLetter):
- rendering/RenderBlock.h:
- rendering/RenderListItem.cpp:
(WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):
- rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::updateFirstLetter):
- rendering/RenderRubyRun.h:
- rendering/RenderTable.cpp:
(WebCore::RenderTable::updateFirstLetter):
- rendering/RenderTable.h:
- rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::updateFirstLetter):
- rendering/svg/RenderSVGText.h:
LayoutTests:
- fast/css-generated-content/dynamic-first-letter-selection-clear-crash-expected.txt: Added.
- fast/css-generated-content/dynamic-first-letter-selection-clear-crash.html: Added.
- 8:46 PM Changeset in webkit [207803] by
-
- 12 edits in trunk
Unreviewed, rolling out r207795.
Introduced API test failures on iOS and macOS.
Reverted changeset:
"URLParser should match old URL::parse with %2E in path"
https://bugs.webkit.org/show_bug.cgi?id=163929
http://trac.webkit.org/changeset/207795
- 8:23 PM Changeset in webkit [207802] by
-
- 5 edits in branches/safari-602-branch/Source/WebKit2
Merge r206762. rdar://problem/28544885
- 8:23 PM Changeset in webkit [207801] by
-
- 23 edits in branches/safari-602-branch/Source
Merge r204472. rdar://problem/28544885
- 8:23 PM Changeset in webkit [207800] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 7:55 PM Changeset in webkit [207799] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, attempt to fix Windows build after r207787
https://bugs.webkit.org/show_bug.cgi?id=163657
Make the constructor public in DOMJIT::AbstractHeapRepository to make Windows bot green.
It's a bit unfortunate that we need to introduce a workaround here.
- domjit/DOMJITAbstractHeapRepository.h:
- 7:35 PM Changeset in webkit [207798] by
-
- 26 edits1 add in trunk
Arrow functions with concise bodies cannot return regular expressions
https://bugs.webkit.org/show_bug.cgi?id=163162
Reviewed by Filip Pizlo.
JSTests:
- ChakraCore/test/Operators/instanceof.baseline-jsc:
- ChakraCore/test/Regex/nul_character.baseline-jsc:
- ChakraCore/test/es5/Lex_u3.baseline-jsc:
- stress/parse-regexp-as-token.js: Added.
(shouldBe):
Source/JavaScriptCore:
When we encounter the RegExp in the parser, we first scan it as / or /=.
And if / or /= is parsed under the primary expression context, we rescan it
as RegExp. However, we did not update the token record information. So the
token record still says "I'm / or /=".
When we parse the string "() => /hello/", the last token becomes "/", which is
the first character of the RegExp, instead of "/hello/". Since the arrow
function parsing utilizes the end offset of the last token, we accidentally
recognize the range of the above arrow function as "() => /".
In this patch, we update the token when rescanning under the RegExp context.
This logic is similar to parsing Tail Template Literal token.
We also refine the error message for regular expression literals. And since
the REGEXP token is now introduced, the other error messages using that token
are improved too.
Currently, unterminated error messages can be seen in Parser.cpp. However,
these messages cannot be shown to users if the lexer has m_error. So these
code is meaningless. I'll move these tokenizing errors to the lexer in the
subsequent patch[1].
[1]: https://bugs.webkit.org/show_bug.cgi?id=163928
- parser/Lexer.cpp:
(JSC::Lexer<T>::fillTokenInfo):
(JSC::Lexer<T>::lex):
(JSC::Lexer<T>::scanRegExp):
(JSC::Lexer<T>::scanTrailingTemplateString):
(JSC::Lexer<T>::skipRegExp): Deleted.
- parser/Lexer.h:
(JSC::Lexer::getToken):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseAssignmentExpression):
- parser/Parser.h:
(JSC::Parser::getToken):
- parser/ParserTokens.h:
LayoutTests:
- fast/regex/dom/non-pattern-characters-expected.txt:
- js/arrowfunction-syntax-errors-expected.txt:
- js/regexp-compile-crash-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.4_Comments/S7.4_A4_T1-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.4_Comments/S7.4_A4_T4-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T2-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T1-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T3-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T1-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T3-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.2_T1-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T1-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T3-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T1-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T3-expected.txt:
- 6:48 PM Changeset in webkit [207797] by
-
- 10 edits in trunk
event.(dataTransfer|clipboardData).getData('text/html') (onpaste, ondrop)
https://bugs.webkit.org/show_bug.cgi?id=19893
<rdar://problem/6055546>
Reviewed by Ryosuke Niwa.
Source/WebCore:
We now write selection as HTML as well to the pasteboard so that
event.(dataTransfer|clipboardData).getData('text/html') now works.
I have verified manually that it is still possible to copy text from
Safari and paste it to Excel 2011 Mac after this change. The text is
now pasted as HTML instead of text, which is fine because Excel can
display HTML.
No new tests, unskipped existing tests.
- editing/Editor.h:
- editing/mac/EditorMac.mm:
(WebCore::Editor::selectionInHTMLFormat):
(WebCore::Editor::writeSelectionToPasteboard):
- platform/Pasteboard.h:
- platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::write):
LayoutTests:
Unskip corresponding tests on Mac.
- editing/pasteboard/onpaste-text-html-expected.txt:
- fast/events/ondrop-text-html-expected.txt:
- platform/mac/TestExpectations:
- platform/wk2/TestExpectations:
- 6:38 PM Changeset in webkit [207796] by
-
- 1 copy in tags/Safari-602.3.4
New tag.
- 6:31 PM Changeset in webkit [207795] by
-
- 12 edits in trunk
URLParser should match old URL::parse with %2E in path
https://bugs.webkit.org/show_bug.cgi?id=163929
Reviewed by Alexey Proskuryakov.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
Covered by updated API tests, which show that URLParser now matches URL::parse in these cases.
Also covered by newly failing web platform tests, which were failing before URLParser was enabled.
If https://github.com/whatwg/url/issues/87 is resolved we can change behavior to match.
- platform/URLParser.cpp:
(WebCore::URLParser::isSingleDotPathSegment):
(WebCore::URLParser::isDoubleDotPathSegment):
(WebCore::URLParser::consumeSingleDotPathSegment):
(WebCore::URLParser::consumeDoubleDotPathSegment):
(WebCore::URLParser::parse):
(WebCore::URLParser::isPercentEncodedDot): Deleted.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
LayoutTests:
- fast/url/path-expected.txt:
- fast/url/standard-url-expected.txt:
- fetch/fetch-url-serialization-expected.txt:
- 5:45 PM Changeset in webkit [207794] by
-
- 8 edits in trunk/Source
[Win] CMake build type is not set.
https://bugs.webkit.org/show_bug.cgi?id=163917
Reviewed by Alex Christensen.
The CMAKE_BUILD_TYPE variable should be set to Debug or Release.
Source/JavaScriptCore:
- JavaScriptCore.vcxproj/JavaScriptCore.proj:
Source/WebCore:
- WebCore.vcxproj/WebCore.proj:
Source/WebKit:
- WebKit.vcxproj/WebKit.proj:
Source/WTF:
- WTF.vcxproj/WTF.proj:
- 5:31 PM Changeset in webkit [207793] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, attempt to fix Windows build after r207787
https://bugs.webkit.org/show_bug.cgi?id=163657
According to the similar code in WebKit, I guess that
Visual C++ requires friend class declaration is done
in the private section to access private members.
And I also changed ::instance to ::shared to align to
the existing WebCore code.
- domjit/DOMJITAbstractHeapRepository.cpp:
(WebCore::DOMJIT::AbstractHeapRepository::shared):
(WebCore::DOMJIT::AbstractHeapRepository::instance): Deleted.
- domjit/DOMJITAbstractHeapRepository.h:
- domjit/JSNodeDOMJIT.cpp:
(WebCore::NodeFirstChildDOMJIT::callDOM):
(WebCore::NodeLastChildDOMJIT::callDOM):
(WebCore::NodeNextSiblingDOMJIT::callDOM):
(WebCore::NodePreviousSiblingDOMJIT::callDOM):
(WebCore::NodeParentNodeDOMJIT::callDOM):
- 5:22 PM Changeset in webkit [207792] by
-
- 3 edits in trunk/Source/WebCore
Fix the lifetime of strings used in LOG_WITH_STREAM
https://bugs.webkit.org/show_bug.cgi?id=163923
Reviewed by Brent Fulgham.
Make sure the const char* passed to WTFLog() outlives the call.
Removed logFunctionResult which wasn't used anywhere else, and encourages this bad
pattern.
- platform/LogMacros.h:
- platform/Logging.cpp:
(WebCore::logFunctionResult): Deleted.
- 5:16 PM Changeset in webkit [207791] by
-
- 4 edits in trunk/Source
Reduce special handling for typed arrays in JSDOMConvert.h
https://bugs.webkit.org/show_bug.cgi?id=163907
Reviewed by Sam Weinig.
Reduce special handling for typed arrays in JSDOMConvert.h by adding a toWrapped() static
function on JSGenericTypedArrayView, similarly to other wrapper types.
Source/JavaScriptCore:
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::typedImpl):
(JSC::JSGenericTypedArrayView<Adaptor>::toWrapped):
Source/WebCore:
No new tests, no web-exposed behavior change.
- bindings/js/JSDOMConvert.h:
(WebCore::Converter<IDLInterface<JSC::GenericTypedArrayView<Adaptor>>>::convert): Deleted.
- 5:11 PM Changeset in webkit [207790] by
-
- 5 edits in trunk/Source/WebCore
Unreviewed, rolling out r207783.
This change appears to have caused fast/selectors/invalid-
functional-pseudo-class.html to crash on iOS and macOS
Reverted changeset:
"[CSS Parser] Fix :lang argument parsing"
https://bugs.webkit.org/show_bug.cgi?id=163913
http://trac.webkit.org/changeset/207783
- 5:07 PM Changeset in webkit [207789] by
-
- 2 edits in trunk/Source/JavaScriptCore
[DOMJIT][DFG] CallDOM never writes Stack
https://bugs.webkit.org/show_bug.cgi?id=163926
Reviewed by Filip Pizlo and Saam Barati.
There is no way to write(Stack) in CallDOM.
This worst case (the most clobbering case) scenario
should be aligned to the one of Call, read(World) and write(Heap).
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- 5:05 PM Changeset in webkit [207788] by
-
- 8 edits in trunk
IndexedDB 2.0: Support new IDBKeyRange interfaces.
<rdar://problem/28806929> and https://bugs.webkit.org/show_bug.cgi?id=163910
Reviewed by Andy Estes.
Source/WebCore:
No new tests (Covered by additions to existing test)
The "new IDBKeyRanges interfaces" really just means adding the instance method IDBKeyRange.contains.
- Modules/indexeddb/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::contains):
- Modules/indexeddb/IDBKeyRange.h:
- Modules/indexeddb/IDBKeyRange.idl:
LayoutTests:
- storage/indexeddb/keyrange-expected.txt:
- storage/indexeddb/keyrange-private-expected.txt:
- storage/indexeddb/resources/keyrange.js:
- 4:34 PM Changeset in webkit [207787] by
-
- 30 edits9 copies11 adds in trunk
[DOMJIT] Add a way for DOMJIT::Patchpoint to express effects
https://bugs.webkit.org/show_bug.cgi?id=163657
Reviewed by Saam Barati.
Source/JavaScriptCore:
This patch introduces DOMJIT::Effect. It describes the side effects of
the DOMJIT::CallDOMPatchpoint. DOMJIT::CallDOMPatchpoint can use this
feature to teach the compilers about the effects. And the compilers
will perform CSE based on the reported effects.
As the same to B3's HeapRange, the effects are represented as a pair of
integers. [begin, end) pair will represents the range of the abstract
heap. We encode the abstract heap hierarchy into these pairs. Like,
Root: [0, 32)
Child1: [0, 20) Child2: [20, 32)
Child11: [0, 4) Child12: [4, 20)
This simplifies the representation of the abstract heap. And WebCore
just tells pairs of integers and it does not tell any detailed hierarchy.
So, DFG and FTL can optimize DOM operations without deep knowledge of
the DOM abstract heap hierarchy. For example, WebCore will tell that
firstChild will read Node_firstChild abstract heap. But this information
is encoded to the pair and DFG does not know the details. But still
DFG can understand the abstract heap hierarchy and can query whether the
given abstract heap overlaps with some abstract heap.
The heap range told by the WebCore is represented as DOMJIT::HeapRange.
DFG will handle this under the DOMState abstract heap. DOMJIT::HeapRange
is stored in DFG::AbstractHeap's Payload. We maintain the hierarchy by
DOMJIT::HeapRange in the DOMState abstract heap. We add a necessary
handling in DFG's AbstractHeap and ClobberSet.
And we also introduce DOMStateLoc for HeapLocation. It is combined with
DOMState AbstractHeap with DOMJIT::HeapRange. For example, we can
represent Node.firstChild asread(DOMState:Node_firstChild)
and
def(HeapLocation(node, DOMState:Node_firstChild))
thingy. This allows us
to perform CSE onto DOM getters that will read some of DOM heap!
For simplicity, we convert CallDOM from NodeVarArgs to the normal one.
CallDOM is now just used for DOMJIT getter. So its children is at most 2.
It may have either 1 or 2 children. If the global object is required
by CallDOMPatchpoint, it has 2 children. And we changed the order of
the children to further simplify the code. Before this change, the order
is 1: globalObject 2: base. After this patch, the order becomes 1: base,
and 2: globalObject. And the child2 may not exists if the global object
is not required. We changed all the existing DOMJIT patchpoint to this
form.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::emitDOMJITGetter):
- dfg/DFGAbstractHeap.cpp:
(JSC::DFG::AbstractHeap::dump):
- dfg/DFGAbstractHeap.h:
(JSC::DFG::AbstractHeap::isStrictSubtypeOf):
(JSC::DFG::AbstractHeap::overlaps):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::blessCallDOM):
(JSC::DFG::ByteCodeParser::handleDOMJITGetter):
- dfg/DFGClobberSet.cpp:
(JSC::DFG::ClobberSet::overlaps):
- dfg/DFGClobberSet.h:
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGGraph.h:
- dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGNode.h:
(JSC::DFG::Node::hasCallDOMData):
(JSC::DFG::Node::callDOMData):
(JSC::DFG::Node::hasCallDOMPatchpoint): Deleted.
(JSC::DFG::Node::callDOMPatchpoint): Deleted.
- dfg/DFGNodeType.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCallDOM):
- domjit/DOMJITAbstractHeap.cpp: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.
(JSC::DOMJIT::AbstractHeap::compute):
(JSC::DOMJIT::AbstractHeap::dump):
(JSC::DOMJIT::AbstractHeap::shallowDump):
(JSC::DOMJIT::AbstractHeap::deepDump):
- domjit/DOMJITAbstractHeap.h: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.
(JSC::DOMJIT::AbstractHeap::AbstractHeap):
(JSC::DOMJIT::AbstractHeap::setParent):
(JSC::DOMJIT::AbstractHeap::isRoot):
(JSC::DOMJIT::AbstractHeap::isComputed):
(JSC::DOMJIT::AbstractHeap::range):
- domjit/DOMJITCallDOMPatchpoint.h:
- domjit/DOMJITEffect.h: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.
(JSC::DOMJIT::Effect::forReadWrite):
(JSC::DOMJIT::Effect::forPure):
(JSC::DOMJIT::Effect::forDef):
(JSC::DOMJIT::Effect::mustGenerate):
- domjit/DOMJITHeapRange.cpp: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.
(JSC::DOMJIT::HeapRange::dump):
- domjit/DOMJITHeapRange.h: Added.
(JSC::DOMJIT::HeapRange::HeapRange):
(JSC::DOMJIT::HeapRange::fromRaw):
(JSC::DOMJIT::HeapRange::begin):
(JSC::DOMJIT::HeapRange::end):
(JSC::DOMJIT::HeapRange::rawRepresentation):
(JSC::DOMJIT::HeapRange::operator bool):
(JSC::DOMJIT::HeapRange::operator==):
(JSC::DOMJIT::HeapRange::top):
(JSC::DOMJIT::HeapRange::none):
(JSC::DOMJIT::HeapRange::isStrictSubtypeOf):
(JSC::DOMJIT::HeapRange::isSubtypeOf):
(JSC::DOMJIT::HeapRange::overlaps):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCallDOM):
- jsc.cpp:
Source/WebCore:
CallDOMPatchpoint now has the way to tell its effects to DFG and FTL compilers.
WebCore DOMJIT::AbstractHeapRepository will construct the hierarchy of the abstract
heap. And then it encodes these information into the pairs of the integers.
And this patch also changes the DOMJIT::PatchpointParams' parameter order.
So we change them in all the DOMJIT::CallDOMPatchpoint sites.
- CMakeLists.txt:
- ForwardingHeaders/domjit/DOMJITAbstractHeap.h: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.
- ForwardingHeaders/domjit/DOMJITEffect.h: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.
- ForwardingHeaders/domjit/DOMJITHeapRange.h: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.
- WebCore.xcodeproj/project.pbxproj:
- domjit/DOMJITAbstractHeapRepository.cpp: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.
(WebCore::DOMJIT::AbstractHeapRepository::AbstractHeapRepository):
(WebCore::DOMJIT::AbstractHeapRepository::instance):
- domjit/DOMJITAbstractHeapRepository.h: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.
- domjit/DOMJITHelpers.h:
(WebCore::DOMJITHelpers::branchIfNotWorldIsNormal): Deleted.
(WebCore::DOMJITHelpers::branchIfNotWeakIsLive): Deleted.
(WebCore::DOMJITHelpers::tryLookUpWrapperCache): Deleted.
(WebCore::DOMJITHelpers::toWrapper): Deleted.
(WebCore::DOMJITHelpers::branchIfDOMWrapper): Deleted.
(WebCore::DOMJITHelpers::branchIfNotDOMWrapper): Deleted.
(WebCore::DOMJITHelpers::branchIfNode): Deleted.
(WebCore::DOMJITHelpers::branchIfNotNode): Deleted.
(WebCore::DOMJITHelpers::branchIfElement): Deleted.
(WebCore::DOMJITHelpers::branchIfNotElement): Deleted.
(WebCore::DOMJITHelpers::branchIfDocumentWrapper): Deleted.
(WebCore::DOMJITHelpers::branchIfNotDocumentWrapper): Deleted.
- domjit/JSNodeDOMJIT.cpp:
(WebCore::createCallDOMForOffsetAccess):
(WebCore::checkNode):
(WebCore::NodeFirstChildDOMJIT::checkDOM):
(WebCore::NodeFirstChildDOMJIT::callDOM):
(WebCore::NodeLastChildDOMJIT::checkDOM):
(WebCore::NodeLastChildDOMJIT::callDOM):
(WebCore::NodeNextSiblingDOMJIT::checkDOM):
(WebCore::NodeNextSiblingDOMJIT::callDOM):
(WebCore::NodePreviousSiblingDOMJIT::checkDOM):
(WebCore::NodePreviousSiblingDOMJIT::callDOM):
(WebCore::NodeParentNodeDOMJIT::checkDOM):
(WebCore::NodeParentNodeDOMJIT::callDOM):
(WebCore::NodeNodeTypeDOMJIT::checkDOM):
(WebCore::NodeNodeTypeDOMJIT::callDOM):
Source/WTF:
Simplify nonEmptyRangesOverlap.
- wtf/MathExtras.h:
(WTF::nonEmptyRangesOverlap):
LayoutTests:
- js/dom/domjit-accessor-different-effect-expected.txt: Added.
- js/dom/domjit-accessor-different-effect.html: Added.
- js/dom/domjit-accessor-effect-expected.txt: Added.
- js/dom/domjit-accessor-effect-should-overlap-with-call-expected.txt: Added.
- js/dom/domjit-accessor-effect-should-overlap-with-call.html: Added.
- js/dom/domjit-accessor-effect.html: Added.
- js/dom/domjit-accessor-licm-expected.txt: Added.
- js/dom/domjit-accessor-licm.html: Added.
- js/dom/domjit-accessor-node-type-effect-should-not-overlap-with-call-since-pure-expected.txt: Added.
- js/dom/domjit-accessor-node-type-effect-should-not-overlap-with-call-since-pure.html: Added.
- 4:12 PM Changeset in webkit [207786] by
-
- 2 edits in trunk/LayoutTests
Font variations test gardening
Unreviewed.
- platform/mac/TestExpectations:
- 3:51 PM Changeset in webkit [207785] by
-
- 5 edits2 adds in trunk/Source/JavaScriptCore
JSONParse should not crash with null Strings
https://bugs.webkit.org/show_bug.cgi?id=163918
<rdar://problem/28834095>
Reviewed by Michael Saboff.
When JSONParse is called with a null String, it calls String::is8bit, which dereferences a null pointer.
This is happening with new work in the Fetch API, but callers of JSONParse should not have to check
if the String is null.
- API/tests/JSONParseTest.cpp: Added.
(testJSONParse):
- API/tests/JSONParseTest.h: Added.
- API/tests/testapi.c:
(main):
Test parsing null Strings. They should have the same result as parsing empty Strings.
- JavaScriptCore.xcodeproj/project.pbxproj:
- runtime/JSONObject.cpp:
(JSC::JSONParse):
Check for null Strings.
- shell/PlatformWin.cmake:
- 3:09 PM Changeset in webkit [207784] by
-
- 10 edits in trunk
Web Inspector: Scope chain shouldn't show empty Closure sections
https://bugs.webkit.org/show_bug.cgi?id=152348
Patch by Devin Rousso <Devin Rousso> on 2016-10-24
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/InjectedScriptSource.js:
(isEmptyObject):
(InjectedScript.CallFrameProxy._createScopeJson):
If the scope object has no properties, set empty to true.
- inspector/protocol/Debugger.json:
Added empty property to Scope type.
Source/WebInspectorUI:
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload):
- UserInterface/Models/ScopeChainNode.js:
(WebInspector.ScopeChainNode):
(WebInspector.ScopeChainNode.prototype.get empty):
Added support for new empty property.
- UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
Only create and display a DetailsSection if the scope is not empty (via empty).
LayoutTests:
- inspector/model/scope-chain-node-expected.txt:
- inspector/model/scope-chain-node.html:
Added "empty" indicators to scopes without any property descriptors.
- 2:51 PM Changeset in webkit [207783] by
-
- 5 edits in trunk/Source/WebCore
[CSS Parser] Fix :lang argument parsing
https://bugs.webkit.org/show_bug.cgi?id=163913
Reviewed by Zalan Bujtas.
- css/SelectorPseudoClassAndCompatibilityElementMap.in:
Modify the map to support versions of the function pseudos
without the left paren included.
- css/parser/CSSParserValues.cpp:
(WebCore::CSSParserSelector::setLangArgumentList):
- css/parser/CSSParserValues.h:
Add a helper to just directly pass an AtomicString Vector through.
- css/parser/CSSSelectorParser.cpp:
(WebCore::consumeLangArgumentList):
(WebCore::CSSSelectorParser::consumePseudo):
Add a new consumeLangArgumentList to collect the languages into
an AtomicString Vector.
- 2:48 PM Changeset in webkit [207782] by
-
- 5 edits in trunk
Web Inspector: Improve Quick Open sorting algorithm
https://bugs.webkit.org/show_bug.cgi?id=163705
Patch by Devin Rousso <Devin Rousso> on 2016-10-24
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
- UserInterface/Models/ResourceQueryResult.js:
(WebInspector.ResourceQueryResult.prototype._calculateRank.getMultiplier):
(WebInspector.ResourceQueryResult.prototype._calculateRank):
Added logic to multiply the ranking increment/decrement based on whether the current match
is part of a sequence, whether that sequence began with a special character, and the length
of the current sequence.
LayoutTests:
- inspector/unit-tests/resource-query-controller-expected.txt:
- inspector/unit-tests/resource-query-controller.html:
Changed the ExecuteQueryGeneralRankings and ExecuteQueryPositionRankings tests to reflect
the new ranking logic. Added ExecuteQueryConsecutiveRankings to test more realistic
scenarios and ensure better ranking.
- 2:44 PM Changeset in webkit [207781] by
-
- 9 edits in trunk
Wasm should support floating point operations.
https://bugs.webkit.org/show_bug.cgi?id=163770
Reviewed by Michael Saboff.
JSTests:
Add appropriate b3op names for floating point wasm bytecodes, where they exist.
Also, fix some WASM => Wasm in WasmOps.h generator script that I missed
the first time I made the change.
- wasm/generate-wasmops-header.js:
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.template.typename.Int.inline.bool.isValidOpType): Deleted.
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.BinaryOpType): Deleted.
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.UnaryOpType): Deleted.
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.LoadOpType): Deleted.
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.StoreOpType): Deleted.
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.undef.CREATE_ENUM_VALUE.inline.bool.isControlOp): Deleted.
- wasm/wasm.json:
Source/JavaScriptCore:
Since we now have a Double => Float Trunc in B3, we can now support calls in Wasm
that take floating point arguments. This patch also enables most of the Wasm
floating point operations, as the associated B3 opcode has been linked via wasm.json.
If there is no direct mapping to a B3 opcode the Wasm is not yet implemented. This
patch also fixes a bug in calls where the arguments would be reversed.
- testWasm.cpp:
(cast):
(invoke):
(boxf):
(boxd):
(runWasmTests):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::createJSWrapper):
- wasm/WasmCallingConvention.h:
(JSC::Wasm::CallingConvention::loadArguments):
(JSC::Wasm::CallingConvention::setupCall):
- wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::parseExpression):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):
- wasm/WasmOps.h:
- 2:34 PM Changeset in webkit [207780] by
-
- 2 edits in trunk/Source/WebCore
Fix AppleWin build after r207720.
- html/canvas/OESVertexArrayObject.cpp:
- 2:17 PM Changeset in webkit [207779] by
-
- 2 edits in trunk/Source/WebCore
Fix AppleWin build after r207720.
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
- 2:16 PM Changeset in webkit [207778] by
-
- 6 edits in trunk/LayoutTests
Rebaseline tests for ios-simulator after r207757.
https://bugs.webkit.org/show_bug.cgi?id=163904
Unreviewed test gardening.
- platform/ios-simulator/svg/W3C-SVG-1.1/text-align-06-b-expected.txt:
- platform/ios-simulator/svg/batik/text/verticalText-expected.txt:
- platform/ios-simulator/svg/batik/text/verticalTextOnPath-expected.txt:
- platform/ios-simulator/svg/text/text-align-06-b-expected.txt:
- platform/ios-simulator/svg/text/text-vkern-expected.txt:
- 2:01 PM Changeset in webkit [207777] by
-
- 8 edits in trunk/LayoutTests
Rebase tests after r207767
https://bugs.webkit.org/show_bug.cgi?id=163891
- js/dom/global-constructors-attributes-expected.txt:
- platform/efl/js/dom/global-constructors-attributes-expected.txt:
- platform/gtk/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- platform/win/js/dom/global-constructors-attributes-expected.txt:
No more CSSCharsetRule.
- 1:53 PM Changeset in webkit [207776] by
-
- 3 edits in trunk/Source/WebCore
Fix Windows build after r207767 and r207769
- css/CSSAllInOne.cpp:
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::getProtectionSpace):
- 1:47 PM Changeset in webkit [207775] by
-
- 4 edits in trunk/Source/WebCore
[Win] AVCF based media engine does not block cross-site/cross-domain loads.
https://bugs.webkit.org/show_bug.cgi?id=163783
Reviewed by Brent Fulgham.
Prevent cross-site/cross-domain loads by setting appropriate AVCF options.
No new tests; covered by media/video-canvas-source.html. Media tests are
currently skipped on Windows.
- platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h:
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::resolvedURL):
(WebCore::MediaPlayerPrivateAVFoundationCF::hasSingleSecurityOrigin):
(WebCore::AVFWrapper::createAssetForURL):
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
- 1:42 PM Changeset in webkit [207774] by
-
- 2 edits in trunk/Source/WebCore
Fix build with newer versions of clang
https://bugs.webkit.org/show_bug.cgi?id=163908
rdar://problem/28852016
Reviewed by Tim Horton.
Use the macros that names the soft-linked functions in such a way that they won't conflict with actual functions.
- platform/ios/PlatformScreenIOS.mm:
(WebCore::screenIsMonochrome):
(WebCore::screenHasInvertedColors):
(WebCore::screenSize):
(WebCore::availableScreenSize):
(WebCore::screenScaleFactor):
- 1:25 PM Changeset in webkit [207773] by
-
- 3 edits in trunk/Source/WebCore
Remove unnecessary unused variable stubs
https://bugs.webkit.org/show_bug.cgi?id=163688
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-10-24
Reviewed by Simon Fraser.
- Modules/applepay/cocoa/PaymentCocoa.mm:
(WebCore::toDictionary):
- Modules/applepay/cocoa/PaymentContactCocoa.mm:
(WebCore::toDictionary):
- 1:19 PM Changeset in webkit [207772] by
-
- 2 edits in trunk/Source/WebCore
Try to fix Windows build after r207767
https://bugs.webkit.org/show_bug.cgi?id=163891
- DerivedSources.cpp:
- 11:53 AM Changeset in webkit [207771] by
-
- 2 edits in trunk/LayoutTests
Rebaseline inspector/dom/getAccessibilityPropertiesForNode.html
https://bugs.webkit.org/show_bug.cgi?id=163901
Unreviewed test gardening.
- inspector/dom/getAccessibilityPropertiesForNode-expected.txt:
- 11:29 AM Changeset in webkit [207770] by
-
- 4 edits3 adds4 deletes in trunk/Source/WebCore
[CodeGenerator] Only allow a single interface or standalone dictionary per WebIDL file
https://bugs.webkit.org/show_bug.cgi?id=163889
Reviewed by Chris Dumez.
Assert that there's only one interface or standalone dictionary
per WebIDL input file, and exit from the generator otherwise.
This avoids potential linking issues where multiple enumeration
and dictionary bindings code can be generated if the source
WebIDL for them is specified in a file that contains multiple
interfaces or standalone dictionaries.
Additionally, the generator now also exits if it fails to
generate code for any interface of standalone dictionary. This
should avoid processing WebIDL files that are empty in
substance.
TestException.idl and TestInterface.idl files have their second
interfaces removed. In place of those a new testing IDL file is
added, TestInterfaceLeadingUnderscore.idl. Like the two removed
interfaces, it tests that the leading underscode in the
identifier is removed by the generator.
- bindings/scripts/CodeGenerator.pm:
(ProcessDocument):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: Added.
(WebCore::JSTestInterfaceLeadingUnderscorePrototype::create):
(WebCore::JSTestInterfaceLeadingUnderscorePrototype::createStructure):
(WebCore::JSTestInterfaceLeadingUnderscorePrototype::JSTestInterfaceLeadingUnderscorePrototype):
(WebCore::JSTestInterfaceLeadingUnderscoreConstructor::prototypeForStructure):
(WebCore::JSTestInterfaceLeadingUnderscoreConstructor::initializeProperties):
(WebCore::JSTestInterfaceLeadingUnderscorePrototype::finishCreation):
(WebCore::JSTestInterfaceLeadingUnderscore::JSTestInterfaceLeadingUnderscore):
(WebCore::JSTestInterfaceLeadingUnderscore::createPrototype):
(WebCore::JSTestInterfaceLeadingUnderscore::prototype):
(WebCore::JSTestInterfaceLeadingUnderscore::destroy):
(WebCore::BindingCaller<JSTestInterfaceLeadingUnderscore>::castForAttribute):
(WebCore::jsTestInterfaceLeadingUnderscoreReadonly):
(WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter):
(WebCore::jsTestInterfaceLeadingUnderscoreConstructor):
(WebCore::setJSTestInterfaceLeadingUnderscoreConstructor):
(WebCore::JSTestInterfaceLeadingUnderscore::getConstructor):
(WebCore::JSTestInterfaceLeadingUnderscoreOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestInterfaceLeadingUnderscoreOwner::finalize):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestInterfaceLeadingUnderscore::toWrapped):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: Renamed from Source/WebCore/bindings/scripts/test/JS/JSreadonly.h.
(WebCore::JSTestInterfaceLeadingUnderscore::create):
(WebCore::JSTestInterfaceLeadingUnderscore::createStructure):
(WebCore::JSTestInterfaceLeadingUnderscore::finishCreation):
(WebCore::wrapperOwner):
(WebCore::wrapperKey):
(WebCore::toJS):
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSattribute.cpp: Removed.
- bindings/scripts/test/JS/JSattribute.h: Removed.
- bindings/scripts/test/JS/JSreadonly.cpp: Removed.
- bindings/scripts/test/TestException.idl:
- bindings/scripts/test/TestInterface.idl:
- bindings/scripts/test/TestInterfaceLeadingUnderscore.idl: Copied from Source/WebCore/bindings/scripts/test/TestException.idl.
- 11:25 AM Changeset in webkit [207769] by
-
- 56 edits in trunk
URL::port should return Optional<uint16_t>
https://bugs.webkit.org/show_bug.cgi?id=163806
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
A URL without a port is different than a URL with port 0.
This matches the spec, Chrome, and Firefox.
Covered by newly-passing web platform tests.
- Modules/indexeddb/IDBDatabaseIdentifier.h:
(WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier):
(WebCore::IDBDatabaseIdentifier::isHashTableDeletedValue):
(WebCore::IDBDatabaseIdentifier::hash):
(WebCore::IDBDatabaseIdentifier::isValid):
(WebCore::IDBDatabaseIdentifier::isEmpty):
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
- Modules/websockets/WebSocketHandshake.cpp:
(WebCore::hostName):
- contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::applyBlockedStatusToRequest):
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
- html/URLUtils.h:
(WebCore::URLUtils<T>::protocol):
(WebCore::URLUtils<T>::host):
(WebCore::URLUtils<T>::port):
- loader/CrossOriginAccessControl.cpp:
(WebCore::isValidCrossOriginRedirectionURL):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived):
(WebCore::isRemoteWebArchive):
(WebCore::DocumentLoader::maybeLoadEmpty):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didReceiveResponse):
- loader/cache/CachedResource.cpp:
(WebCore::shouldCacheSchemeIndefinitely):
(WebCore::CachedResource::freshnessLifetime):
- page/Location.cpp:
(WebCore::Location::protocol):
(WebCore::Location::host):
(WebCore::Location::port):
- page/Page.cpp:
(WebCore::Page::userStyleSheetLocationChanged):
- page/SecurityOrigin.cpp:
(WebCore::shouldTreatAsUniqueOrigin):
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::isSecure):
(WebCore::SecurityOrigin::canDisplay):
(WebCore::SecurityOrigin::toRawString):
(WebCore::SecurityOrigin::create):
(WebCore::SecurityOrigin::databaseIdentifier):
- page/SecurityOrigin.h:
(WebCore::SecurityOrigin::port):
- page/SecurityOriginData.cpp:
(WebCore::SecurityOriginData::debugString):
- page/SecurityOriginData.h:
(): Deleted.
- page/SecurityOriginHash.h:
(WebCore::SecurityOriginHash::hash):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowObjectFromSource):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
(WebCore::ContentSecurityPolicy::allowResourceFromSource):
(WebCore::ContentSecurityPolicy::allowConnectToSource):
(WebCore::ContentSecurityPolicy::allowBaseURI):
(WebCore::stripURLForUseInReport):
(WebCore::ContentSecurityPolicy::upgradeInsecureRequestIfNeeded):
- page/csp/ContentSecurityPolicySource.cpp:
(WebCore::ContentSecurityPolicySource::ContentSecurityPolicySource):
(WebCore::ContentSecurityPolicySource::portMatches):
- page/csp/ContentSecurityPolicySource.h:
- page/csp/ContentSecurityPolicySourceList.cpp:
(WebCore::ContentSecurityPolicySourceList::parse):
(WebCore::ContentSecurityPolicySourceList::parseSource):
(WebCore::ContentSecurityPolicySourceList::parsePort):
- page/csp/ContentSecurityPolicySourceList.h:
- platform/SchemeRegistry.h:
- platform/URL.cpp:
(WebCore::URL::protocol):
(WebCore::URL::port):
(WebCore::URL::serialize):
(WebCore::portAllowed):
(WebCore::defaultPortsMap): Deleted.
(WebCore::defaultPortForProtocol): Deleted.
(WebCore::isDefaultPortForProtocol): Deleted.
- platform/URL.h:
(WebCore::URL::hasPort): Deleted.
- platform/URLParser.cpp:
(WebCore::defaultPortForProtocol):
(WebCore::isDefaultPortForProtocol):
(WebCore::URLParser::parsePort):
(WebCore::isDefaultPort): Deleted.
- platform/network/CredentialStorage.cpp:
(WebCore::originStringFromURL):
- platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::create):
(WebCore::ResourceHandle::loadResourceSynchronously):
- platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::SocketStreamHandleImpl::platformClose):
(WebCore::SocketStreamHandleImpl::port):
- workers/WorkerLocation.cpp:
(WebCore::WorkerLocation::protocol):
(WebCore::WorkerLocation::host):
(WebCore::WorkerLocation::port):
Source/WebKit/mac:
- WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin port]):
Source/WebKit2:
- NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::overrideSystemProxies):
- Shared/API/APISecurityOrigin.h:
(API::SecurityOrigin::create):
- Shared/API/APIURL.h:
(API::URL::protocol):
- Shared/API/c/WKSecurityOriginRef.cpp:
(WKSecurityOriginGetPort):
- UIProcess/API/Cocoa/WKSecurityOrigin.mm:
(-[WKSecurityOrigin port]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::canHandleRequest):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::origin):
Tools:
- TestWebKitAPI/Tests/WebCore/URL.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::checkRelativeURLDifferences):
(TestWebKitAPI::TEST_F):
- 11:24 AM Changeset in webkit [207768] by
-
- 6 edits in trunk/Source/WebCore
[CodeGeneratorJS] Support enums for standalone dictionaries
https://bugs.webkit.org/show_bug.cgi?id=163885
Reviewed by Youenn Fablet.
Add support for enumerations in WebIDL files that specify
standalone dictionaries. Implementation of this is pretty
straight-forward and mirrors interface and callback generators
by calling GenerateEnumerations{Header,Implementation}Content()
functions in GenerateDictionary{Header,Implementation}().
In GenerateEnumerationsImplementationContent(), the
NeverDestroyed.h header is added to the implementation includes
since that class is used to hold an array of possible enum
values.
A test enum is added to the TestStandaloneDictionary.idl file
and the baselines are updated to reflect the new capability.
- bindings/scripts/CodeGenerator.pm:
(ProcessDocument):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionary):
(GenerateEnumerationsImplementationContent):
(GenerateDictionaryHeader):
(GenerateDictionaryImplementation):
- bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp:
(WebCore::convertEnumerationToJS):
(WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>):
(WebCore::convertEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>):
(WebCore::expectedEnumerationValues<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>):
(WebCore::convertDictionary<DictionaryImplName>):
- bindings/scripts/test/JS/JSTestStandaloneDictionary.h:
- bindings/scripts/test/TestStandaloneDictionary.idl:
- 11:18 AM Changeset in webkit [207767] by
-
- 24 edits5 deletes in trunk
Remove CSSCharsetRule from the CSS OM
https://bugs.webkit.org/show_bug.cgi?id=163891
Reviewed by Darin Adler.
Source/WebCore:
Remove CSSCharsetRule from the CSS OM. All other browser engines have made this
change. This eliminates the weird overloading of isCharsetRule to match both
CSSCharsetRule and StyleRuleCharset (only used by the new parser).
Fix the destroy() method in StyleRuleBase to clean up StyleRuleCharsets created
by the new parser properly.
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJSNewlyCreated):
- css/CSSCharsetRule.cpp: Removed.
- css/CSSCharsetRule.h: Removed.
- css/CSSCharsetRule.idl: Removed.
- css/CSSPropertySourceData.h:
- css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::item):
(WebCore::CSSStyleSheet::rules):
- css/CSSStyleSheet.h:
- css/StyleRule.cpp:
(WebCore::StyleRuleBase::destroy):
- inspector/InspectorStyleSheet.cpp:
(WebCore::asCSSRuleList):
Source/WebKit/mac:
- DOM/DOMCSSCharsetRule.mm:
(-[DOMCSSCharsetRule encoding]):
LayoutTests:
- fast/dom/Window/resources/window-properties.js:
- fast/dom/dom-constructors-expected.txt:
- fast/dom/dom-constructors.html:
- fast/encoding/css-charset-default.xhtml:
- fast/encoding/css-charset-dom-expected.txt: Removed.
- fast/encoding/css-charset-dom.html: Removed.
- platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
- 11:12 AM Changeset in webkit [207766] by
-
- 8 edits in trunk/Source/WebCore
[CodeGeneratorJS] Standalone dictionaries have misplaced build guards
https://bugs.webkit.org/show_bug.cgi?id=163881
Patch by Zan Dobersek <zdobersek@igalia.com> on 2016-10-24
Reviewed by Chris Dumez.
Build guards that are generated from the Conditional attribute
on WebIDL dictionary declarations properly guard the relevant
convertDictionary() functions for WebIDL files that also specify
interfaces. But for standalone dictionaries these build guards
should guard the complete header and implementation files, much
like this is done for files that originate from interfaces or
callbacks.
Before this patch, guarding a standalone dictionary resulted in
malformed output because GenerateHeaderContentHeader() and
GenerateImplementationContentHeader() functions both generated
the #if macro that would guard the whole file, but
GenerateDictionary{Header,Implementation}() didn't generate the
closing #endif.
CodeGeneratorJS.pm now passes the conditional string, if any,
to GenerateDictionary{Header,Implementation}Content() functions
in case of a non-standalone dictionary. Otherwise, the
conditional string, if any, is used to guard the complete
header and implementation files.
Generator tests are updated to cover various build guard
combinations on dictionaries in TestObj.idl, and the standalone
dictionary WebIDL file now has a Conditional attribute to check
that the build guards cover complete generated header and
implementation files.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryHeaderContent):
(GenerateDictionariesHeaderContent):
(GenerateDictionaryImplementationContent):
(GenerateDictionariesImplementationContent):
(GenerateDictionaryHeader):
(GenerateDictionaryImplementation):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertDictionary<TestObj::ConditionalDictionaryA>):
(WebCore::convertDictionary<TestObj::ConditionalDictionaryB>):
(WebCore::convertDictionary<TestObj::ConditionalDictionaryC>):
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp:
- bindings/scripts/test/JS/JSTestStandaloneDictionary.h:
- bindings/scripts/test/TestObj.idl:
- bindings/scripts/test/TestStandaloneDictionary.idl:
- 10:53 AM Changeset in webkit [207765] by
-
- 2 edits in trunk/Source/JavaScriptCore
Dumping of op_negate bytecode is broken.
https://bugs.webkit.org/show_bug.cgi?id=163896
Reviewed by Darin Adler.
It thinks the bytecode consists of only 3 machine words, when it consists of 4.
This is now fixed.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- 10:53 AM Changeset in webkit [207764] by
-
- 24 edits2 adds in trunk
[MediaStream] Separate media capture and audio playback muting
https://bugs.webkit.org/show_bug.cgi?id=163855
<rdar://problem/28827186>
Reviewed by Darin Adler.
Source/WebCore:
Test: fast/mediastream/MediaStream-page-muted.html
Change page.muted from a bool to a bitfield so audio and media capture muted are independent.
Fix a couple of bugs in the mock media capture device uncovered by new test case.
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::pageMutedStateDidChange): page.isMuted -> page.mutedState.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::pageMutedStateDidChange): Ditto.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateVolume): Ditto.
(WebCore::HTMLMediaElement::effectiveMuted): Ditto.
- page/MediaProducer.h: Add MutedState enum.
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::setMuted): Take MutedStateFlags instead of bool. m_muted -> m_mutedState.
- page/Page.h:
- platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::startProducingData): Call setMuted.
(WebCore::MockRealtimeMediaSource::stopProducingData): Ditto.
- platform/mock/MockRealtimeMediaSource.h:
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::stopProducingData): Call correct base class method.
- testing/Internals.cpp:
(WebCore::Internals::setPageMuted): Change parameter from a bool to a string.
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit2:
- Shared/WebPageCreationParameters.h: Change 'muted' from bool to MutedStateFlags.
- UIProcess/API/C/WKPage.cpp: Change parameter from bool to WKMediaMutedState.
(WKPageSetMuted):
- UIProcess/API/C/WKPagePrivate.h: Define WKMediaMutedState.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setMuted): m_muted -> m_mutedState.
(WebKit::WebPageProxy::creationParameters): Ditto.
- UIProcess/WebPageProxy.h:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::isMuted): page.isMuted -> page.mutedState.
- WebProcess/WebPage/WebPage.messages.in: Change SetMuted parameter.
LayoutTests:
- fast/mediastream/MediaStream-page-muted-expected.txt: Added.
- fast/mediastream/MediaStream-page-muted.html: Added.
- media/video-muted-after-setting-page-muted-state.html: Updated.
- 9:48 AM Changeset in webkit [207763] by
-
- 2 edits in trunk/Source/WebCore
Try to fix Windows build.
- bindings/js/JSWebGL2RenderingContextCustom.cpp: Rearranged includes
so they are inside the conditional as they should be.
- 9:25 AM Changeset in webkit [207762] by
-
- 21 edits in trunk
Activate WEB_RTC compilation flags for Mac bots
https://bugs.webkit.org/show_bug.cgi?id=163886
Patch by Youenn Fablet <youenn@apple.com> on 2016-10-24
Reviewed by Eric Carlson.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Covered by existing tests.
Fixing compilation errors due to missing WEBCORE_EXPORT, missing method and missing override keywords.
- Configurations/FeatureDefines.xcconfig:
- DerivedSources.make:
- Modules/mediastream/MediaEndpointPeerConnection.h:
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/mediastream/SDPProcessor.cpp:
(WebCore::SDPProcessor::generate):
(WebCore::SDPProcessor::parse):
- WebCore.xcodeproj/project.pbxproj:
- platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
(WebCore::MockRealtimeVideoSource::createMuted):
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Tools:
- Scripts/webkitperl/FeatureList.pm:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- 9:24 AM Changeset in webkit [207761] by
-
- 58 edits5 adds in trunk
IndexedDB 2.0: Support IDBIndex name assignment.
<rdar://problem/28806932> and https://bugs.webkit.org/show_bug.cgi?id=163805
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/IndexedDB/idbindex-rename-errors-expected.txt:
- web-platform-tests/IndexedDB/idbindex-rename-expected.txt:
Source/WebCore:
Tests: storage/indexeddb/modern/index-rename-1-private.html
storage/indexeddb/modern/index-rename-1.html
Touches a *lot* of code sites, but none of them are particularly interesting.
They are all just getting the new name spread out to all of the various objects that need it.
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::renameIndex):
- Modules/indexeddb/IDBDatabase.h:
- Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::IDBIndex):
(WebCore::IDBIndex::setName):
(WebCore::IDBIndex::rollbackInfoForVersionChangeAbort):
- Modules/indexeddb/IDBIndex.h:
- Modules/indexeddb/IDBIndex.idl:
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::rollbackForVersionChangeAbort):
(WebCore::IDBObjectStore::renameReferencedIndex):
(WebCore::IDBObjectStore::rollbackInfoForVersionChangeAbort): Deleted.
- Modules/indexeddb/IDBObjectStore.h:
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::internalAbort):
(WebCore::IDBTransaction::renameIndex):
(WebCore::IDBTransaction::renameIndexOnServer):
(WebCore::IDBTransaction::didRenameIndexOnServer):
- Modules/indexeddb/IDBTransaction.h:
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::renameIndex):
- Modules/indexeddb/client/IDBConnectionProxy.h:
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::renameIndex):
(WebCore::IDBClient::IDBConnectionToServer::didRenameIndex):
- Modules/indexeddb/client/IDBConnectionToServer.h:
- Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
- Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::createTransactionOperation):
- Modules/indexeddb/server/IDBBackingStore.h:
- Modules/indexeddb/server/IDBConnectionToClient.cpp:
(WebCore::IDBServer::IDBConnectionToClient::didRenameIndex):
- Modules/indexeddb/server/IDBConnectionToClient.h:
- Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::renameIndex):
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::indexRenamed):
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
- Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
- Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::renameIndex):
- Modules/indexeddb/server/MemoryIDBBackingStore.h:
- Modules/indexeddb/server/MemoryIndex.h:
(WebCore::IDBServer::MemoryIndex::rename):
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::renameIndex):
- Modules/indexeddb/server/MemoryObjectStore.h:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::renameIndex):
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::renameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performRenameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformRenameIndex):
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didRenameIndex):
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameIndex):
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
- Modules/indexeddb/shared/IDBIndexInfo.h:
(WebCore::IDBIndexInfo::rename):
- Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
(WebCore::IDBObjectStoreInfo::infoForExistingIndex):
- Modules/indexeddb/shared/IDBObjectStoreInfo.h:
- Modules/indexeddb/shared/IDBResultData.cpp:
(WebCore::IDBResultData::renameIndexSuccess):
- Modules/indexeddb/shared/IDBResultData.h:
- Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::didRenameIndex):
(WebCore::InProcessIDBServer::renameIndex):
- Modules/indexeddb/shared/InProcessIDBServer.h:
Source/WebKit2:
- DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
(WebKit::WebIDBConnectionToClient::didRenameIndex):
(WebKit::WebIDBConnectionToClient::renameIndex):
- DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
- DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::renameIndex):
(WebKit::WebIDBConnectionToServer::didRenameIndex):
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in:
LayoutTests:
- storage/indexeddb/modern/index-rename-1-expected.txt: Added.
- storage/indexeddb/modern/index-rename-1-private-expected.txt: Added.
- storage/indexeddb/modern/index-rename-1-private.html: Added.
- storage/indexeddb/modern/index-rename-1.html: Added.
- storage/indexeddb/modern/resources/index-rename-1.js: Added.
- storage/indexeddb/readonly-expected.txt:
- storage/indexeddb/readonly-private-expected.txt:
- storage/indexeddb/resources/readonly.js: Removed the test that verifies that index names are readonly as they are no longer readonly.
- 8:53 AM Changeset in webkit [207760] by
-
- 2 edits in trunk/Tools
Unreviewed, add myself as a WebKit reviewer
- Scripts/webkitpy/common/config/contributors.json:
- 8:07 AM Changeset in webkit [207759] by
-
- 3 edits in trunk/Source/WebCore
[CSS Parser] Fix -webkit-box-reflect parsing
https://bugs.webkit.org/show_bug.cgi?id=163890
Reviewed by Zalan Bujtas.
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeReflect):
Do a WTFMove on the mask instead of a .releaseNonNull(), since mask can be a nullptr.
Exactly matches the old parser.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::CalcParser::consumeValue):
(WebCore::CSSPropertyParserHelpers::CalcParser::consumeNumber):
(WebCore::CSSPropertyParserHelpers::consumeInteger):
(WebCore::CSSPropertyParserHelpers::consumeNumber):
(WebCore::CSSPropertyParserHelpers::consumeLength):
(WebCore::CSSPropertyParserHelpers::consumePercent):
(WebCore::CSSPropertyParserHelpers::consumeAngle):
(WebCore::CSSPropertyParserHelpers::consumeTime):
(WebCore::CSSPropertyParserHelpers::consumeUrl):
(WebCore::CSSPropertyParserHelpers::consumeColor):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradientPoint):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradientColorStop):
(WebCore::CSSPropertyParserHelpers::consumeCrossFade):
(WebCore::CSSPropertyParserHelpers::consumeImageSet):
Clean up all instances of CSSPrimitiveValue::create to use the CSSValuePool.
- 7:58 AM Changeset in webkit [207758] by
-
- 3 edits1 add in trunk/Source/WebCore
[Modern Media Controls] Concatenate JS and CSS files into a single JS and CSS resources
https://bugs.webkit.org/show_bug.cgi?id=163785
<rdar://problem/28890058>
Reviewed by Darin Adler.
Concatenate CSS and JS resources for modern media controls into single JS and CSS files
during build and load these single resources alone at runtime.
- Modules/modern-media-controls/js-files: Added.
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::mediaControlsStyleSheet):
(WebCore::RenderThemeMac::mediaControlsScript):
- 7:39 AM Changeset in webkit [207757] by
-
- 28 edits in trunk
[CSS Parser] Unprefix -webkit-writing-mode
https://bugs.webkit.org/show_bug.cgi?id=163870
Reviewed by Zalan Bujtas.
Source/WebCore:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
Change -webkit-writing mode to writing-mode.
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator WritingMode):
(WebCore::CSSPrimitiveValue::operator SVGWritingMode): Deleted.
Eliminate the SVGWritingMode converters. Add support for the unique SVG-specific
values to the WritingMode converters.
- css/CSSPropertyNames.in:
Alias -webkit-writing-mode to writing-mode. Move writing-mode up to be
high priority like -webkit-writing mode was. Alias -epub-writing-mode to writing-mode
instead of to -webkit-writing-mode.
- css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::svgPropertyValue):
Remove writing-mode from SVG computed style, since the base CSSComputedStyleDeclaration handles it.
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueWritingMode):
(WebCore::StyleBuilderCustom::applyValueWebkitWritingMode): Deleted.
Renamed applyValueWebkitWritingMode to applyValueWritingMode. Removed the SVG code, since
the underlying converter for WritingMode now handles those values.
- css/StyleResolver.cpp:
(WebCore::extractDirectionAndWritingMode):
Rename -webkit-writing-mode to writing-mode.
- css/parser/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
Eliminate -webkit-writing-mode and make sure writing-mode handles both the SVG values
and the normal values.
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
Same deal here.
- html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
- html/track/VTTCue.cpp:
(WebCore::VTTCueBox::applyCSSProperties):
Cue stuff was setting -webkit-writing-mode, so make it set writing-mode instead now.
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::collectSelectionRects):
- rendering/RenderText.cpp:
(WebCore::RenderText::collectSelectionRects):
Switch the SVG-specific code here over to accessing the RenderStyle writing-mode and not
the SVG-specific one.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::isVerticalWritingMode):
Add a helper function for asking if something is vertical writing mode.
- rendering/style/SVGRenderStyle.cpp:
- rendering/style/SVGRenderStyle.h:
- rendering/style/SVGRenderStyleDefs.h:
(WebCore::SVGRenderStyle::diff):
Remove the SVG writing mode code.
- rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
Make sure to force SVG font descriptions to be horizontal, since SVG controls
its own glyph orientation.
- rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGInlineTextBox):
- rendering/svg/SVGTextChunk.cpp:
(WebCore::SVGTextChunk::SVGTextChunk):
- rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::layoutInlineTextBox):
- rendering/svg/SVGTextQuery.cpp:
(WebCore::SVGTextQuery::executeQuery):
Changed to access the RenderStyle writing mode instead of the SVG-specific one.
LayoutTests:
- fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/text-align-06-b-expected.txt:
- platform/mac/svg/text/text-align-06-b-expected.txt:
- svg/css/getComputedStyle-basic-expected.txt:
- 4:50 AM Changeset in webkit [207756] by
-
- 2 edits in trunk/LayoutTests
svg/as-image/svg-image-with-data-uri-use-data-uri.svg is flaky after r207754
https://bugs.webkit.org/show_bug.cgi?id=163887
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2016-10-24
- TestExpectations: Marking svg/as-image/svg-image-with-data-uri-use-data-uri.svg as crashing.
- 2:50 AM Changeset in webkit [207755] by
-
- 4 edits2 adds in trunk
Avoid unnecessary full style resolution in getComputedStyle for non-inherited properties
https://bugs.webkit.org/show_bug.cgi?id=163875
Reviewed by Andreas Kling.
Source/WebCore:
Test: fast/css/getComputedStyle/getComputedStyle-style-resolution.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::hasValidStyleForProperty):
For non-inherited properties we don't need to update style even if some ancestor style is invalid
as long as explicit 'inherit' is not being used.
We still need to update if we find out that the whole subtree we are in is invalid.
(WebCore::updateStyleIfNeededForProperty):
Pass the property.
(WebCore::ComputedStyleExtractor::customPropertyValue):
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::CSSComputedStyleDeclaration::length):
(WebCore::elementOrItsAncestorNeedsStyleRecalc): Deleted.
(WebCore::updateStyleIfNeededForElement): Deleted.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::colorFromPrimitiveValue):
Mark style as using explicit inheritance if 'currentcolor' value is used.
LayoutTests:
- fast/css/getComputedStyle/getComputedStyle-style-resolution-expected.txt: Added.
- fast/css/getComputedStyle/getComputedStyle-style-resolution.html: Added.
- 1:04 AM Changeset in webkit [207754] by
-
- 3 edits3 adds in trunk
ASSERTION FAILED: canvas()->securityOrigin()->toString() == cachedImage.origin()->toString()
https://bugs.webkit.org/show_bug.cgi?id=163242
Patch by Youenn Fablet <youenn@apple.com> on 2016-10-24
Reviewed by Darin Adler.
Source/WebCore:
Test: http/tests/security/cross-origin-cached-images-canvas.html
We were previously on Origin HTTP header to check whether requests were made from different origins.
This is fine for CORS enabled requests but not for GET no CORS requests since they will not have any Origin header.
Now that CachedResource and CachedResourceRequest own their origin, it is best to use these directly.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::isRequestMatchingResourceOrigin):
(WebCore::CachedResourceLoader::shouldUpdateCachedResourceWithCurrentRequest):
LayoutTests:
- http/tests/security/cross-origin-cached-images-canvas-expected.txt: Added.
- http/tests/security/cross-origin-cached-images-canvas.html: Added.
- http/tests/security/resources/cross-origin-cached-image-canvas-iframe.html: Added.
- 12:52 AM Changeset in webkit [207753] by
-
- 3 edits in trunk/Source/WebCore
Remove CachedResource::passesSameOriginPolicyCheck
https://bugs.webkit.org/show_bug.cgi?id=163593
Patch by Youenn Fablet <youenn@apple.com> on 2016-10-24
Reviewed by Andreas Kling.
No change of behavior.
Removing no-longer used code.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::redirectReceived):
(WebCore::CachedResource::passesAccessControlCheck): Deleted.
(WebCore::CachedResource::passesSameOriginPolicyCheck): Deleted.
(WebCore::CachedResource::responseForSameOriginPolicyChecks): Deleted.
- loader/cache/CachedResource.h:
(WebCore::CachedResource::response):
- 12:49 AM Changeset in webkit [207752] by
-
- 10 edits2 adds in trunk
Redirections should be upgraded if CSP policy says so
https://bugs.webkit.org/show_bug.cgi?id=163544
Patch by Youenn Fablet <youenn@apple.com> on 2016-10-24
Reviewed by Darin Adler.
Source/WebCore:
Test: http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-after-redirect.https.html
Introducing CachedResourceLoader::updateRequestAfterRedirection to do the checks that CachedResourceLoader is doing
to the initial request, but for redirection requests.
Implemented URL upgrade according CSP policy, as specified by fetch algorithm.
Minor refactoring in CachedResourceRequest to share some code.
Fixing some constness issues.
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy):
(WebCore::CachedResourceLoader::canRequestAfterRedirection):
(WebCore::CachedResourceLoader::updateRequestAfterRedirection):
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedResourceRequest.cpp:
(WebCore::upgradeInsecureResourceRequestIfNeeded):
(WebCore::CachedResourceRequest::upgradeInsecureRequestIfNeeded):
- loader/cache/CachedResourceRequest.h:
LayoutTests:
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-after-redirect.https-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-after-redirect.https.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe-expected.txt:
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe.html:
- platform/mac/TestExpectations:
- 12:19 AM Changeset in webkit [207751] by
-
- 7 edits in branches/safari-602-branch
Merge r207220. rdar://problem/28811939
- 12:19 AM Changeset in webkit [207750] by
-
- 17 edits in branches/safari-602-branch
Merge r206771. rdar://problem/28811939
- 12:18 AM Changeset in webkit [207749] by
-
- 3 edits in branches/safari-602-branch/Source/WebKit2
Merge r206123. rdar://problem/28544885
- 12:18 AM Changeset in webkit [207748] by
-
- 4 edits2 adds in branches/safari-602-branch
Merge r207486. rdar://problem/28409742
- 12:18 AM Changeset in webkit [207747] by
-
- 5 edits2 adds in branches/safari-602-branch
Merge r207275. rdar://problem/28810752
- 12:18 AM Changeset in webkit [207746] by
-
- 3 edits2 adds in branches/safari-602-branch
Merge r207274. rdar://problem/28849629
- 12:18 AM Changeset in webkit [207745] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit/mac
Merge r207160. rdar://problem/28857480
- 12:18 AM Changeset in webkit [207744] by
-
- 19 edits4 adds in branches/safari-602-branch
Merge r207159. rdar://problem/28857481
- 12:18 AM Changeset in webkit [207743] by
-
- 4 edits2 adds in branches/safari-602-branch
Merge r206712. rdar://problem/28216065
- 12:18 AM Changeset in webkit [207742] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r206706. rdar://problem/28635081
- 12:18 AM Changeset in webkit [207741] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r206074. rdar://problem/28216061
- 12:18 AM Changeset in webkit [207740] by
-
- 4 edits in branches/safari-602-branch/Source/WebKit2
Merge r203809. rdar://problem/28433607
- 12:18 AM Changeset in webkit [207739] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 12:05 AM Changeset in webkit [207738] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed. Build fix for Clang and libstdc++ configurations.
- b3/testb3.cpp:
(JSC::B3::testAbsArgWithEffectfulDoubleConversion): Explicitly cast the
float-typed return value of fabs(float) to double in order to avoid
ambiguous calls to isIdentical().
(JSC::B3::testSqrtArgWithEffectfulDoubleConversion): Ditto for sqrt(float).
Oct 23, 2016:
- 10:02 PM Changeset in webkit [207737] by
-
- 36 edits in trunk
[WebIDL] Add IDLType based toJS conversion
https://bugs.webkit.org/show_bug.cgi?id=163861
Reviewed by Darin Adler.
Source/WebCore:
Adds toJS<IDLType>() functions to be the new way of converting
from implementation types to JS types. These are implemented via
a similar mechanism to the convert<IDL>() functions, though specializations
of a JSConverter struct (rather than the Converter structs). This allows
us to support arbitrarily complex aggregate types easily (e.g. sequence<(Node or DOMString?)>).
- Modules/geolocation/Geoposition.idl:
- dom/Event.idl:
Add typedef for DOMTimeStamp. Eventually, our IDLParser should do this for us, but
for now it allows us to simplify the type system.
- bindings/js/JSDOMBinding.h:
(WebCore::JSValueTraits::arrayJSValue): Deleted.
(WebCore::JSValueTraits<String>::arrayJSValue): Deleted.
(WebCore::JSValueTraits<double>::arrayJSValue): Deleted.
(WebCore::JSValueTraits<float>::arrayJSValue): Deleted.
(WebCore::jsArray): Deleted.
(WebCore::jsFrozenArray): Deleted.
(WebCore::NativeValueTraits<String>::nativeValue): Deleted.
(WebCore::NativeValueTraits<unsigned>::nativeValue): Deleted.
(WebCore::NativeValueTraits<float>::nativeValue): Deleted.
(WebCore::NativeValueTraits<double>::nativeValue): Deleted.
(WebCore::toNullableJSNumber): Deleted.
(WebCore::toJSArray): Deleted.
(WebCore::toJSBoolean): Deleted.
(WebCore::toJSNumber): Deleted.
(WebCore::toJSString): Deleted.
Remove many now-unneeded conversion functions.
- bindings/js/JSDOMConvert.h:
(WebCore::toJS):
Add 5 primary toJS functions which take combinations of the following
arguments: ExecState, JSDOMGlobalObject, ThrowScope. All take the value
to be converted as well, except in the case of the throwScope ones, where
they take the value in an ExceptionOr<>.
To simplify the implementations of the JSConverter specializations, avoiding
the need for each one to implement their conversion up to 3 times (one for just
the value, one for the value and the ExecState, and one for the value, the ExecState
and the global object), each JSConverter instead specifies whether it's converter
needs an ExecState or global object via a static constexpr. We then use the
JSConverterOverloader template, to call the correct function. This can probably be
improved in the future, by inferring the number of arguments needed via SFINAE, but
this seemed like a more straightforward first cut.
(WebCore::JSConverter<IDLNullable<T>>::convert):
(WebCore::JSConverter<IDLBoolean>::convert):
(WebCore::JSConverter<IDLInterface<T>>::convert):
(WebCore::JSConverter<IDLAny>::convert):
(WebCore::JSConverter<IDLByte>::convert):
(WebCore::JSConverter<IDLOctet>::convert):
(WebCore::JSConverter<IDLShort>::convert):
(WebCore::JSConverter<IDLUnsignedShort>::convert):
(WebCore::JSConverter<IDLLong>::convert):
(WebCore::JSConverter<IDLUnsignedLong>::convert):
(WebCore::JSConverter<IDLLongLong>::convert):
(WebCore::JSConverter<IDLUnsignedLongLong>::convert):
(WebCore::JSConverter<IDLFloat>::convert):
(WebCore::JSConverter<IDLUnrestrictedFloat>::convert):
(WebCore::JSConverter<IDLDouble>::convert):
(WebCore::JSConverter<IDLUnrestrictedDouble>::convert):
(WebCore::JSConverter<IDLDOMString>::convert):
(WebCore::JSConverter<IDLUSVString>::convert):
(WebCore::JSConverter<IDLSequence<T>>::convert):
(WebCore::JSConverter<IDLFrozenArray<T>>::convert):
(WebCore::JSConverter<IDLEnumeration<T>>::convert):
(WebCore::JSConverter<IDLUnion<T...>>::convert):
There is slightly more duplication than I would have liked, for instance we have a
specialization for each numeric type, even though they are all the same, but that is
something that can be improved going forward.
(WebCore::Converter<IDLUnion<T...>>::convert)
Fix the normal IDLUnion converter to work with boolean types. This was caught by the
test case I added via TypeConversions.idl.
- bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
- bindings/js/JSDataTransferCustom.cpp:
(WebCore::JSDataTransfer::types):
- bindings/js/JSMediaStreamTrackCustom.cpp:
(WebCore::JSMediaStreamTrack::getCapabilities):
- bindings/js/JSMutationCallback.cpp:
(WebCore::JSMutationCallback::call):
- bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::value):
Switch to use new toJS<> functions.
- bindings/scripts/CodeGeneratorJS.pm:
(AddStringifierOperationIfNeeded):
Fix stringifier function signature to contain an idlType.
(GenerateEnumerationsHeaderContent):
Remove now unnecessary JSValueTraits specializations.
(JSValueToNativeIsHandledByDOMConvert):
Renamed from IsHandledByDOMConvert, since that name is now ambiguous.
(JSValueToNative):
Update for new name of IsHandledByDOMConvert.
(NativeToJSValueIsHandledByDOMConvert):
Predicate guarding what types currently work with the new conversion system.
(NativeToJSValueDOMConvertNeedsState):
Predicate for determining if the ExecState is needed in the conversion function.
(NativeToJSValueDOMConvertNeedsGlobalObject):
Predicate for determining if the global object is needed in the conversion function.
(NativeToJSValue):
Move things around a little bit and start converting use the new toJS<> when possible.
- bindings/scripts/IDLParser.pm:
(parseAttributeOrOperationRest):
Fix a missing place where were not setting the idlType.
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
- bindings/scripts/test/JS/JSTestCallback.cpp:
- bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
- bindings/scripts/test/JS/JSTestException.cpp:
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestNode.cpp:
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/JS/JSTestSerialization.cpp:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
- bindings/scripts/test/JS/JSattribute.cpp:
Update test results.
- testing/TypeConversions.h:
(WebCore::TypeConversions::testUnion):
(WebCore::TypeConversions::setTestUnion):
(WebCore::TypeConversions::typeConversionsDictionarySequenceValue):
(WebCore::TypeConversions::typeConversionsDictionaryUnionValue):
- testing/TypeConversions.idl:
Add a testUnion attribute, now that we can return unions to JS.
LayoutTests:
- js/dom/webidl-type-mapping-expected.txt:
- js/dom/webidl-type-mapping.html:
- 9:46 PM Changeset in webkit [207736] by
-
- 3 edits2 deletes in trunk
Unreviewed, rolling out r207727.
broke 15 selection test cases.
Reverted changeset:
"Do not update selection rect on dirty lineboxes."
https://bugs.webkit.org/show_bug.cgi?id=163862
http://trac.webkit.org/changeset/207727
- 4:36 PM Changeset in webkit [207735] by
-
- 289 edits in trunk/Source/WebKit2
[GTK] Remove DO NOT MODIFY headers from files that are no longer autogenerated
https://bugs.webkit.org/show_bug.cgi?id=163867
Reviewed by Darin Adler.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttrPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlobPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASection.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASection.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASectionPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleList.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleList.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleListPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRulePrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclaration.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclarationPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheet.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheetPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValue.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValuePrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterDataPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMComment.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMComment.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCommentPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementationPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelectionPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenListPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowUnstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragmentPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragmentUnstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTypePrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentUnstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementUnstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEventPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileList.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileList.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileListPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFilePrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollection.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollection.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollectionPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocument.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocument.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocumentPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElementUnstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollectionPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPrivate.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElement.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElementPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEvent.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEvent.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEventPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaListPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEventPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMap.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMap.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMapPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIterator.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIterator.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIteratorPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeList.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeList.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeListPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodePrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstruction.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstruction.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstructionPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRangePrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRangeUnstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheet.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheet.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetList.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetList.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetListPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMText.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMText.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalker.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalker.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalkerPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEventPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEventPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpressionPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathNSResolverPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResultPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/webkitdom.h:
- WebProcess/InjectedBundle/API/gtk/DOM/webkitdomautocleanups.h:
- WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines.h:
- 3:55 PM Changeset in webkit [207734] by
-
- 7 edits in trunk/Source
addEventListener() / removeEventListener() should use a union for last parameter
https://bugs.webkit.org/show_bug.cgi?id=163863
Reviewed by Darin Adler.
Source/WebCore:
addEventListener() / removeEventListener() should use a union for last parameter:
No new tests, no Web-exposed behavior change.
- bindings/js/JSDOMConvert.h:
- dom/EventTarget.cpp:
(WebCore::EventTarget::addEventListenerForBindings):
(WebCore::EventTarget::removeEventListenerForBindings):
- dom/EventTarget.h:
- dom/EventTarget.idl:
Source/WebKit/mac:
Cast BOOL to bool to help to compiler construct the new variant-type parameter.
- DOM/DOMNode.mm:
(-[DOMNode addEventListener:listener:useCapture:]):
(-[DOMNode addEventListener:::]):
(-[DOMNode removeEventListener:listener:useCapture:]):
(-[DOMNode removeEventListener:::]):
- 3:38 PM Changeset in webkit [207733] by
-
- 4 edits in tags/Safari-603.1.10.0.1/Source
Merged r207729. rdar://problem/28902292
- 3:37 PM Changeset in webkit [207732] by
-
- 2 edits in tags/Safari-603.1.10.0.1/Source/WebKit2
Merged r207728. rdar://problem/28902292
- 3:36 PM Changeset in webkit [207731] by
-
- 5 edits in tags/Safari-603.1.10.0.1/Source
Versioning.
- 3:31 PM Changeset in webkit [207730] by
-
- 1 copy in tags/Safari-603.1.10.0.1
New tag.
- 1:04 PM Changeset in webkit [207729] by
-
- 4 edits in trunk/Source
Another unreviewed attempt to fix the WatchOS / TvOS build after r207585.
<rdar://problem/28902292>
Disable USE_CFURLCONNECTION on newer WatchOS / TvOS.
Source/WebKit2:
- config.h:
Source/WTF:
- wtf/Platform.h:
- 12:41 PM Changeset in webkit [207728] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed attempt to fix WatchOS / TvOS build after r207585.
<rdar://problem/28902292>
Enable NETWORK_SESSION on those platforms.
- config.h:
- 9:27 AM Changeset in webkit [207727] by
-
- 3 edits2 adds in trunk
Do not update selection rect on dirty lineboxes.
https://bugs.webkit.org/show_bug.cgi?id=163862
<rdar://problem/28813156>
Reviewed by Simon Fraser.
Source/WebCore:
In addition to checking whether the renderer needs layout, we also need to check if its preferred
width is clean and stop computing the selection rects, if needed (while adding a renderer to the tree,
there's a transition phase where the parent's preferred width dirty bit is already set, but it does
not yet need layout).
Tests: fast/css-generated-content/dynamic-first-letter-selection-clear-crash.html
- rendering/RenderObject.cpp:
(WebCore::RenderObject::canUpdateSelectionOnRootLineBoxes):
LayoutTests:
- fast/css-generated-content/dynamic-first-letter-selection-clear-crash-expected.txt: Added.
- fast/css-generated-content/dynamic-first-letter-selection-clear-crash.html: Added.
- 12:23 AM Changeset in webkit [207726] by
-
- 3 edits2 adds in trunk
ASSERTION FAILED: m_fonts in &WebCore::FontCascade::primaryFont
https://bugs.webkit.org/show_bug.cgi?id=163459
Reviewed by Darin Adler.
Source/WebCore:
The CSS Units and Values spec states that font-relative units, when used
in the font-size property, are resolved against the parent element. When
calc() is specified, we were trying to resolve them against the current
element, which is impossible because of the circular dependency. Instead,
we should resolve against the parent style the same way as when calc()
isn't specified.
Test: fast/text/font-size-calc.html
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueFontSize):
LayoutTests:
- fast/text/font-size-calc-expected.txt: Added.
- fast/text/font-size-calc.html: Added.
Oct 22, 2016:
- 10:06 PM Changeset in webkit [207725] by
-
- 4 edits in trunk/Source/WebCore
[Web IDL] Two types are distinguishable for overload resolution if at most one of the two includes a nullable type
https://bugs.webkit.org/show_bug.cgi?id=163791
Reviewed by Sam Weinig.
Update overload resolution in the bindings generator so that 2 nullable types
are no longer considered as distinguishable, as per Web IDL:
- bindings/scripts/CodeGeneratorJS.pm:
(AreTypesDistinguishableForOverloadResolution):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Caller):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Caller):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter):
- bindings/scripts/test/TestObj.idl:
- 7:53 PM Changeset in webkit [207724] by
-
- 7 edits in trunk/Source/WebCore
WebGLRenderingContextBase.texSubImage2D() should use a union instead of overloading
https://bugs.webkit.org/show_bug.cgi?id=163859
Reviewed by Darin Adler.
WebGLRenderingContextBase.texSubImage2D() should use a union instead of overloading:
No new tests, no Web-exposed behavior change.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::texSubImage2D):
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::texSubImage2D):
- html/canvas/WebGLRenderingContext.h:
- html/canvas/WebGLRenderingContextBase.h:
- html/canvas/WebGLRenderingContextBase.idl:
- 7:49 PM Changeset in webkit [207723] by
-
- 3 edits2 adds in trunk
Dynamically-added backdrop filter to clip-path'd element with 3D transform renders incorrectly (without clip)
https://bugs.webkit.org/show_bug.cgi?id=163497
Reviewed by Simon Fraser.
Source/WebCore:
Test: css3/filters/backdrop/dynamic-with-clip-path.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::ensureStructuralLayer): Added MaskLayerChanged to
structuralLayerChangeFlags to ensure that the mask layer is updated.
LayoutTests:
Based on the test case from Tim Horton.
- css3/filters/backdrop/dynamic-with-clip-path-expected.html: Added.
- css3/filters/backdrop/dynamic-with-clip-path.html: Added.
- 7:43 PM Changeset in webkit [207722] by
-
- 3 edits2 adds in trunk
Backdrop filter doesn't show if removed then re-added
https://bugs.webkit.org/show_bug.cgi?id=163860
Reviewed by Dan Bernstein.
Source/WebCore:
When a backdrop filter is removed the re-added, updateBackdropFiltersRect() never
runs the second time because m_backdropFiltersRect doesn't change. However, we need
to run that code to size and position the newly re-created backdrop layer, so run
it explicitly if we just created the backdrop layer. This is similar to how
updateContentsImage() calls updateContentsRects().
Test: css3/filters/backdrop/add-remove-add-backdrop-filter.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setBackdropFilters):
(WebCore::GraphicsLayerCA::updateBackdropFilters):
LayoutTests:
- css3/filters/backdrop/add-remove-add-backdrop-filter-expected.html: Added.
- css3/filters/backdrop/add-remove-add-backdrop-filter.html: Added.
- 7:43 PM Changeset in webkit [207721] by
-
- 3 edits3 adds in trunk
Fix repainting of slow repaint objects in WK1 when page scale is applied
https://bugs.webkit.org/show_bug.cgi?id=163854
Reviewed by Zalan Bujtas.
Source/WebCore:
RenderObject::repaintSlowRepaintObject() always set the repaint container to the RenderView
if it was null. This is before the call to clippedOverflowRectForRepaint(). If that function
is called with a null repaintContainer, it maps the rect up through the RenderView's transform
(which represents page scale), which is what we want here. Passing the RenderView itself
stops the transform from being applied, which led to the bug.
WebKit2 doesn't suffer from this bug because containerForRepaint() always returns the
composited RenderView.
Test: fast/repaint/zoomed-fixed-background.html
- rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintSlowRepaintObject):
LayoutTests:
Test that logs the repaint rect after scrolling a page with an element
with a fixed background. The WebKit1 result is the interesting one.
- fast/repaint/zoomed-fixed-background-expected.txt: Added.
- fast/repaint/zoomed-fixed-background.html: Added.
- platform/mac-wk1/fast/repaint/zoomed-fixed-background-expected.txt: Added.
- 6:05 PM Changeset in webkit [207720] by
-
- 51 edits in trunk
Move HTML canvas and tracks from ExceptionCode to Exception
https://bugs.webkit.org/show_bug.cgi?id=163853
Reviewed by Chris Dumez.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj: Added CanvasPath.idl.
- bindings/js/JSWebGL2RenderingContextCustom.cpp: Tweaked a bit.
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
(WebCore::JSWebGLRenderingContextBase::getExtension): Tweaked a bit.
(WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
Removed unneeded exception handling.
(WebCore::JSWebGLRenderingContextBase::getParameter): Ditto.
(WebCore::JSWebGLRenderingContextBase::getProgramParameter): Ditto.
(WebCore::JSWebGLRenderingContextBase::getShaderParameter): Ditto.
(WebCore::JSWebGLRenderingContextBase::getSupportedExtensions): Use a
modern for loop.
(WebCore::JSWebGLRenderingContextBase::getUniform): Removed unneeded
exception handling.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext): Pass a reference.
(WebCore::HTMLCanvasElement::reset): Use is<CanvasRenderingContext2D>.
(WebCore::HTMLCanvasElement::setUsesDisplayListDrawing): Ditto.
(WebCore::HTMLCanvasElement::setTracksDisplayListReplay) Ditto.:
(WebCore::HTMLCanvasElement::displayListAsText): Ditto.
(WebCore::HTMLCanvasElement::replayDisplayListAsText): Ditto.
(WebCore::HTMLCanvasElement::clearImageBuffer): Ditto.
- html/canvas/CanvasGradient.cpp:
(WebCore::CanvasGradient::CanvasGradient): Streamlined.
(WebCore::CanvasGradient::addColorStop): Use ExceptionOr.
- html/canvas/CanvasGradient.h: Updated for above changes.
- html/canvas/CanvasGradient.idl: Use non-legacy exception.
- html/canvas/CanvasPath.cpp:
(WebCore::CanvasPath::arcTo): Use ExceptionOr.
(WebCore::CanvasPath::arc): Ditto.
(WebCore::CanvasPath::ellipse): Ditto.
- html/canvas/CanvasPath.h: Updated for above changes.
- html/canvas/CanvasPath.idl: Use non-legacy exceptions.
- html/canvas/CanvasPattern.cpp:
(WebCore::CanvasPattern::create): Use Ref&&.
(WebCore::CanvasPattern::CanvasPattern): Ditto.
(WebCore::CanvasPattern::parseRepetitionType): Return a boolean
instead of using an ExceptionCode.
- html/canvas/CanvasPattern.h: Updated for above changes.
- html/canvas/CanvasRenderingContext.cpp:
(CanvasRenderingContext::wouldTaintOrigin): Reordered function so
that it's safe to call it on an image element without a cached
image, or a cached image without an underlying image.
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
Take a reference.
(WebCore::CanvasRenderingContext2D::drawImage): Use ExceptionOr.
(WebCore::CanvasRenderingContext2D::drawImageFromRect): Ditto.
(WebCore::CanvasRenderingContext2D::createLinearGradient): Ditto.
(WebCore::CanvasRenderingContext2D::createRadialGradient): Ditto.
(WebCore::CanvasRenderingContext2D::createPattern): Ditto.
(WebCore::CanvasRenderingContext2D::createImageData): Ditto.
(WebCore::CanvasRenderingContext2D::getImageData): Ditto.
(WebCore::CanvasRenderingContext2D::webkitGetImageDataHD): Ditto.
(WebCore::CanvasRenderingContext2D::putImageData): Removed unneeded
ExceptionCode because this does not throw exceptions; the only one
was for non-finite numeric values but this is now handled by bindings.
(WebCore::CanvasRenderingContext2D::webkitPutImageDataHD): Ditto.
- html/canvas/CanvasRenderingContext2D.h: Updated for above.
- html/canvas/CanvasRenderingContext2D.idl: Use non-legacy exceptions
and removed exceptions entirely in other cases.
- html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::OESVertexArrayObject): Take a reference.
(WebCore::OESVertexArrayObject::~OESVertexArrayObject): Deleted.
(WebCore::OESVertexArrayObject::isVertexArrayOES): Use && instead of
multiple return statements.
(WebCore::OESVertexArrayObject::bindVertexArrayOES): Removed unneeded
ExceptionCode since this does not throw an exception.
- html/canvas/OESVertexArrayObject.h: Updated for above.
- html/canvas/OESVertexArrayObject.idl: Removed unneeded exception.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter):
Removed unneeded ExceptionCode since this does not throw an exception.
(WebCore::WebGL2RenderingContext::texSubImage2DBase): Ditto.
(WebCore::WebGL2RenderingContext::texSubImage2DImpl): Ditto.
(WebCore::WebGL2RenderingContext::texSubImage2D): Removed unneeded
ExceptionCode for some overloads, for the others, use ExceptionOr
for the security exception. Moved security exception code here from
the validate functions.
(WebCore::WebGL2RenderingContext::validateTexFuncParameters): Removed
unneeded ExceptionCode.
(WebCore::WebGL2RenderingContext::getParameter): Ditto.
- html/canvas/WebGL2RenderingContext.h: Updated for above.
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension): Pass a reference.
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
Remvoed unneeded ExceptionCode since this does not throw an exception.
(WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
(WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
(WebCore::WebGLRenderingContext::texSubImage2D): Removed unneeded
ExceptionCode for some overloads, for the others, use ExceptionOr
for the security exception. Moved security exception code here from
the validate functions.
(WebCore::WebGLRenderingContext::getParameter): Removed unneeded
ExceptionCode.
- html/canvas/WebGLRenderingContext.h: Updated for above changes.
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::texImage2DBase):
Remvoed unneeded ExceptionCode since this does not throw an exception.
(WebCore::WebGLRenderingContextBase::texImage2DImpl): Ditto.
(WebCore::WebGLRenderingContextBase::texImage2D): Removed unneeded
ExceptionCode for some overloads, for the others, use ExceptionOr
for the security exception. Moved security exception code here from
the validate functions.
(WebCore::WebGLRenderingContextBase::validateHTMLImageElement):
Moved the security exception out of here to the call sites.
(WebCore::WebGLRenderingContextBase::validateHTMLCanvasElement): Ditto.
(WebCore::WebGLRenderingContextBase::validateHTMLVideoElement): Ditto.
- html/canvas/WebGLRenderingContextBase.h: Updated for above changes.
- html/canvas/WebGLRenderingContextBase.idl: Use non-legacy exceptions
in some cases and no exceptions at all in many others.
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
Use a reference instead of a pointer.
- html/track/DataCue.h: Use pragma once.
- html/track/DataCue.idl: Use non-legacy exception for constructor
attribute, even though it is custom and so it has no effect.
- html/track/InbandDataTextTrack.cpp:
(WebCore::InbandDataTextTrack::create): Use RefPtr&&.
(WebCore::InbandDataTextTrack::InbandDataTextTrack): Ditto.
(WebCore::InbandDataTextTrack::addDataCue): Stop using
ASSERT_NO_EXCEPTION.
(WebCore::InbandDataTextTrack::removeDataCue): Stop using
IGNORE_EXCEPTION.
(WebCore::InbandDataTextTrack::removeCue): Use ExceptionOr.
Also use remove instead of find/remove.
- html/track/InbandDataTextTrack.h: Updated for above changes.
- html/track/InbandGenericTextTrack.cpp:
(WebCore::GenericTextTrackCueMap::GenericTextTrackCueMap): Deleted.
(WebCore::GenericTextTrackCueMap::~GenericTextTrackCueMap): Deleted.
(WebCore::GenericTextTrackCueMap::add): Take references intead of
pointers.
(WebCore::GenericTextTrackCueMap::find): Ditto. Also use get
instead of find.
(WebCore::GenericTextTrackCueMap::remove): Ditto. Also use take
instead of double hashing to both find and remove.
(WebCore::InbandGenericTextTrack::updateCueFromCueData): Stop using
IGNORE_EXCEPTION. Also got rid of code that is converting a double
to a long and then back to a double by using lround. Instead just
use std::round, which keeps it a double. But also, why does this need
to round?!
(WebCore::InbandGenericTextTrack::addGenericCue): Updated to use
reference to work with m_cueMap.
(WebCore::InbandGenericTextTrack::updateGenericCue): Ditto.
(WebCore::InbandGenericTextTrack::removeGenericCue): Ditto.
(WebCore::InbandGenericTextTrack::removeCue): Use ExceptionOr.
(WebCore::InbandGenericTextTrack::newCuesParsed): Removed
ASSERT_NO_EXCEPTION.
- html/track/InbandGenericTextTrack.h: Updated for above changes.
- html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::newCuesParsed): Removed
ASSERT_NO_EXCEPTION.
- html/track/TextTrack.cpp:
(WebCore::TextTrack::addCue): Use ExcepctionOr.
(WebCore::TextTrack::removeCue): Ditto.
(WebCore::TextTrack::addRegion): Ditto.
(WebCore::TextTrack::removeRegion): Ditto.
- html/track/TextTrack.h: Updated for above changes.
- html/track/TextTrack.idl: Ditto.
- html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::cueShadowPseudoId): Moved this here
since it does not need to be inlined in the header.
(WebCore::TextTrackCue::~TextTrackCue): Deleted.
(WebCore::TextTrackCue::setStartTime): Removed ExceptionCode&
since the exceptions were for non-finite values, but this is
now handled by the bindings.
(WebCore::TextTrackCue::setEndTime): Ditto.
- html/track/TextTrackCue.h: Updated for the above.
- html/track/TextTrackCue.idl: Removed SetterMayThrowLegacyException
and made startTime and endTime be double rather than unrestricted double.
- html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
Use a reference instead of a pointer.
(WebCore::TextTrackCueGeneric::TextTrackCueGeneric): Initialize
m_defaultPosition in the class definition instead of here.
(WebCore::TextTrackCueGeneric::createDisplayTree): Return a Ref.
(WebCore::TextTrackCueGeneric::setLine): Use ExceptionOr.
(WebCore::TextTrackCueGeneric::setPosition): Ditto.
(WebCore::TextTrackCueGeneric::setFontSize): Updated since
displayTreeInternal() now returns a reference.
- html/track/TextTrackCueGeneric.h: Updated for above changes.
Also fixed some arguument types and made some more things private.
- html/track/VTTCue.cpp:
(WebCore::VTTCue::createDisplayTree): Return a Ref.
(WebCore::VTTCue::displayTreeInternal): Return a reference.
(WebCore::VTTCue::setVertical): Use ExceptionOr.
(WebCore::VTTCue::setLine): Ditto.
(WebCore::VTTCue::setPosition): Ditto.
(WebCore::VTTCue::setSize): Ditto.
(WebCore::VTTCue::setAlign): Ditto.
(WebCore::VTTCue::getDisplayTree): Return a reference.
(WebCore::VTTCue::removeDisplayTree): Updated since
displayTreeInternal returns a reference.
(WebCore::VTTCue::setFontSize): Ditto.
- html/track/VTTCue.h: Updated for the above.
- html/track/VTTCue.idl: Use non-legacy exceptions and also
restricted doubles.
- html/track/VTTRegion.cpp:
(WebCore::VTTRegion::VTTRegion): Moved default values all into
the class definition.
(WebCore::VTTRegion::setWidth): Removed the check for non-finite
since the bindings now handle that. Use ExcpetionOr.
(WebCore::VTTRegion::setHeight): Ditto.
(WebCore::VTTRegion::setRegionAnchorX): Ditto.
(WebCore::VTTRegion::setRegionAnchorY): Ditto.
(WebCore::VTTRegion::setViewportAnchorX): Ditto.
(WebCore::VTTRegion::setViewportAnchorY): Ditto.
(WebCore::upKeyword): Added. Shared by the code below.
(WebCore::VTTRegion::scroll): Rewrote to be simpler.
(WebCore::VTTRegion::setScroll): Rewrote to be simpler.
(WebCore::VTTRegion::updateParametersFromRegion): Read and
write data members directly to avoid awkward code that is otherwise
required just to copy from one object to the other. Also take a
const& instead of a pointer for the thing to update from.
(WebCore::VTTRegion::parseSettingValue): Use upKeyword.
(WebCore::VTTRegion::appendTextTrackCueBox): Take a Ref&&.
(WebCore::VTTRegion::getDisplayTree): Do the downcast to Document
here instead of using the helper function.
(WebCore::VTTRegion::prepareRegionDisplayTree): Ditto.
- html/track/VTTRegion.h: Updated for the above.
- html/track/VTTRegion.idl: Use non-legacy exceptions and also
use restricted dobules, not unrestricted.
LayoutTests:
- media/track/regions-webvtt/vtt-region-constructor-expected.txt:
Change expectations to expect the more specific TypeError message
that the bindings generate as opposed to the generic ones that the
WebVTT DOM code was generating before.
- 4:28 PM Changeset in webkit [207719] by
-
- 4 edits in trunk/Source/WebCore
WebGLRenderingContextBase.texImage2D() should use a union instead of overloading
https://bugs.webkit.org/show_bug.cgi?id=163856
Reviewed by Darin Adler.
WebGLRenderingContextBase.texImage2D() should use a union instead of overloading:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::texImage2D):
- html/canvas/WebGLRenderingContextBase.h:
- html/canvas/WebGLRenderingContextBase.idl:
- 3:14 PM Changeset in webkit [207718] by
-
- 2 edits2 moves3 adds in trunk/LayoutTests
Unreviewed GTK test gardening
- platform/gtk/TestExpectations:
- platform/gtk/imported/w3c/web-platform-tests/touch-events/historical-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/touch-events/touch-globaleventhandler-interface-expected.txt: Added.
- platform/gtk/svg/custom/repaint-shadow-expected.txt: Renamed from LayoutTests/platform/gtk/svg/text/repaint-shadow-expected.txt.
- platform/gtk/svg/custom/simple-text-double-shadow-expected.txt: Renamed from LayoutTests/platform/gtk/svg/custom/simple-text-double-shadow.txt.
- 3:13 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 2:27 PM Changeset in webkit [207717] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION(r207669): Dromaeo/jslib-style-jquery.html regressed >20%
https://bugs.webkit.org/show_bug.cgi?id=163851
Reviewed by Darin Adler.
The test calls Scope::flushPendingUpdate a lot and nothing ever happens there.
Add a separate invalidity bit for descendant scopes and inline the fast path.
- style/StyleScope.cpp:
(WebCore::Style::Scope::flushPendingSelfUpdate):
(WebCore::Style::Scope::flushPendingDescendantUpdates):
(WebCore::Style::Scope::scheduleUpdate):
(WebCore::Style::Scope::flushPendingUpdate): Deleted.
- style/StyleScope.h:
(WebCore::Style::Scope::hasPendingUpdate):
(WebCore::Style::Scope::flushPendingUpdate):
- 1:56 PM Changeset in webkit [207716] by
-
- 81 edits in trunk/Source/WebCore
Move SVG from ExceptionCode to Exception
https://bugs.webkit.org/show_bug.cgi?id=163837
Reviewed by Chris Dumez.
- WebCore.xcodeproj/project.pbxproj: Added SVGGraphicsElement.idl.
- bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::value): Use toJSNumber.
(WebCore::JSSVGLength::setValue): Use propagateException.
(WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Properly handle SetterMayThrowException
in the special case for SVG setters.
- rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::initialBaselineShiftValue): Removed
ASSERT_NO_EXCEPTION, no longer needed.
(WebCore::SVGRenderStyle::initialKerning): Ditto.
- svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::setGlyphRef): Use ExceptionOr.
(WebCore::SVGAltGlyphElement::setFormat): Ditto.
(WebCore::SVGAltGlyphElement::hasValidGlyphElements): Tweaked a bit.
- svg/SVGAltGlyphElement.h: Updated for above changes.
- svg/SVGAltGlyphElement.idl: Use non-legacy exceptions.
- svg/SVGAngle.cpp:
(WebCore::SVGAngle::valueAsString): Removed unneeded String globals.
(WebCore::parseAngleType): Rewrote to be simpler and more direct.
(WebCore::SVGAngle::setValueAsString): Use ExceptionOr.
(WebCore::SVGAngle::newValueSpecifiedUnits): Ditto.
(WebCore::SVGAngle::convertToSpecifiedUnits): Ditto.
- svg/SVGAngle.h: Updated for above changes. Initialized data members
here in the class definite and removed constructor; default now works.
- svg/SVGAngle.idl: Use non-legacy exceptions.
- svg/SVGAnimateElementBase.cpp:
(WebCore::SVGAnimateElementBase::calculateAnimatedValue): Update since
CalcMode is now an enum class.
- svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement): Ditto.
- svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::hasValidAttributeType): Update
since AttributeType is now an enum class.
- svg/SVGAnimatedAngle.cpp:
(WebCore::SVGAnimatedAngleAnimator::calculateDistance): Removed
ASSERT_NO_EXCEPTION, no longer needed.
- svg/SVGAnimatedBoolean.idl: Use non-legacy exception.
- svg/SVGAnimatedEnumeration.idl: Ditto.
- svg/SVGAnimatedInteger.idl: Ditto.
- svg/SVGAnimatedLength.cpp:
(WebCore::sharedSVGLength): Deleted.
(WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes): Removed
ASSERT_NO_EXCEPTION, no longer needed.
(WebCore::parseLengthFromString): Ditto. Also rewrote to not use
a shared SVGLength; no benefit to doing that.
(WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue): Ditto.
- svg/SVGAnimatedLengthList.cpp:
(WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes): Ditto.
(WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue): Ditto.
- svg/SVGAnimatedNumber.idl: Use non-legacy exception.
- svg/SVGAnimatedString.idl: Ditto.
- svg/SVGAnimatedType.cpp:
(WebCore::SVGAnimatedType::setValueAsString): Updated since
setValueAsString now uses ExceptionOr.
- svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::SVGAnimationElement): Initialized scalars
in the class definition instead of here.
(WebCore::SVGAnimationElement::getSimpleDuration): Removed uneeded ExceptionCode&.
(WebCore::SVGAnimationElement::setCalcMode): Updated since CalcMode is now an enum class.
(WebCore::SVGAnimationElement::setAttributeType): Updated since AttributeType
is now an enum class.
(WebCore::SVGAnimationElement::shouldApplyAnimation): Ditto.
(WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced): Ditto.
(WebCore::SVGAnimationElement::calculatePercentForSpline): Ditto.
(WebCore::SVGAnimationElement::calculatePercentFromKeyPoints): Ditto.
(WebCore::SVGAnimationElement::calculatePercentForFromTo): Ditto.
(WebCore::SVGAnimationElement::currentValuesFromKeyPoints): Ditto.
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation): Ditto.
(WebCore::SVGAnimationElement::startedActiveInterval): Ditto.
(WebCore::SVGAnimationElement::updateAnimation): Ditto.
(WebCore::SVGAnimationElement::checkInvalidCSSAttributeType): Ditto.
- svg/SVGAnimationElement.h: Changed CalcMode into an enum class.
Updated for above changes.
- svg/SVGAnimationElement.idl: Removed MayThrowLegacyException from
getSimpleDuration.
- svg/SVGColor.cpp:
(WebCore::SVGColor::SVGColor): Updated to take scalar in the straightforward
manner instead of constt SVGColorType&.
(WebCore::SVGColor::setRGBColor): Use ExceptionOr.
(WebCore::SVGColor::setRGBColorICCColor): Ditto.
(WebCore::SVGColor::setColor): Ditto.
- svg/SVGColor.h: Updated for above changes. Removed unneeded destructor.
- svg/SVGColor.idl: Use non-legacy exceptions.
- svg/SVGGlyphRefElement.cpp:
(WebCore::SVGGlyphRefElement::SVGGlyphRefElement): Initialize data members
in class definition, not here.
(WebCore::parseFloat): Added helper. Used in parseAttribute.
(WebCore::SVGGlyphRefElement::parseAttribute): Updated to use parseFloat helper.
(WebCore::SVGGlyphRefElement::glyphRef): Deleted.
(WebCore::SVGGlyphRefElement::setGlyphRef): Deleted.
(WebCore::SVGGlyphRefElement::setX): Removed unused Exception& argument.
(WebCore::SVGGlyphRefElement::setY): Ditto.
(WebCore::SVGGlyphRefElement::setDx): Ditto.
(WebCore::SVGGlyphRefElement::setDy): Ditto.
- svg/SVGGlyphRefElement.h: Updated for above changes.
- svg/SVGGlyphRefElement.idl: Use Reflect on glyphRef. Removed incorrect
SetterMayThrowLegacyException attributes for x, y, dx, and dy. Longer term
it might be nice to use [Reflect] on these too.
- svg/SVGGraphicsElement.idl: Use non-legacy exception.
- svg/SVGLength.cpp:
(WebCore::parseLengthType): Changed argument type since caller does not
need to know how many characters are consumed.
(WebCore::SVGLength::SVGLength): Removed IGNORE_EXCEPTION and ASSERT_NO_EXCEPTION.
Also removed the copy constructor, letting the compiler generate the default.
(WebCore::SVGLength::setValueAsString): Use ExceptionOr.
(WebCore::SVGLength::construct): Updated since setValueAsString uses ExceptionOr.
(WebCore::SVGLength::value): Ditto.
(WebCore::SVGLength::valueForBindings): Use ExceptionOr. Also renamed to
disambiguate with the version used outside of bindings.
(WebCore::SVGLength::setValue): Use ExceptionOr.
(WebCore::SVGLength::newValueSpecifiedUnits): Ditto.
(WebCore::SVGLength::convertToSpecifiedUnits): Ditto.
(WebCore::SVGLength::fromCSSPrimitiveValue): Updated since newValueSpecifiedUnits
uses ExceptionOr.
(WebCore::SVGLength::lengthModeForAnimatedLengthAttribute): Rewrote map generation
code to be more efficient and not unrolled. Only do one hash table lookup.
- svg/SVGLength.h: Updated for above changes.
- svg/SVGLength.idl: Use non-legacy exceptions.
- svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::valueForLength): Update since function
uses ExceptionOr.
(WebCore::SVGLengthContext::convertValueToUserUnits): Use ExceptionOr.
(WebCore::SVGLengthContext::convertValueFromUserUnits): Ditto.
(WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage): Ditto.
(WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits): Ditto.
(WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS): Ditto.
(WebCore::SVGLengthContext::convertValueFromEMSToUserUnits): Ditto.
(WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS): Ditto.
(WebCore::SVGLengthContext::convertValueFromEXSToUserUnits): Ditto.
- svg/SVGLengthContext.h: Updatedfor above changes.
- svg/SVGLengthList.cpp:
(WebCore::SVGLengthList::parse): Updated since setValueAsString uses
ExceptionOr now.
- svg/SVGLengthList.h: Removed unneeded constructor.
- svg/SVGLengthList.idl: Use non-legacy exceptions.
- svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::getTransformToElement): Use ExceptionOr.
- svg/SVGLocatable.h: Updated for above change.
- svg/SVGMarkerElement.h:
(WebCore::SVGPropertyTraits<SVGMarkerOrientType>::fromString):
Updated since setValueAsString uses ExceptionOr now.
- svg/SVGMatrix.h: Use ExceptionOr.
- svg/SVGMatrix.idl: Use non-legacy exceptions.
- svg/SVGNumberList.h: Removed unneeded constructor.
- svg/SVGNumberList.idl: Use non-legacy exceptions.
- svg/SVGPaint.cpp:
(WebCore::SVGPaint::setPaint): Use ExceptionOr.
- svg/SVGPaint.h: Updated for above chagne.
- svg/SVGPaint.idl: Use non-legacy exception.
- svg/SVGPathSegList.h: Tweaked a bit.
- svg/SVGPathSegList.idl: Use non-legacy exceptions.
- svg/SVGPointList.h: Removed unneeded constructor.
- svg/SVGPointList.idl: Use non-legacy exceptions.
- svg/SVGPreserveAspectRatio.cpp:
(WebCore::SVGPreserveAspectRatio::setAlign): Use ExceptionOr.
(WebCore::SVGPreserveAspectRatio::setMeetOrSlice): Ditto.
- svg/SVGPreserveAspectRatio.h: Updated for above changes.
- svg/SVGPreserveAspectRatio.idl: Use non-legacy exceptions.
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::currentView): Pass a reference.
- svg/SVGStringList.h: Tweaked a bit.
- svg/SVGStringList.idl: Use non-legacy exceptions.
- svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::setType): Removed unneeded ExceptionCode&.
(WebCore::SVGStyleElement::setMedia): Ditto.
(WebCore::SVGStyleElement::setTitle): Deleted.
- svg/SVGStyleElement.h: Updated for above changes, and made the title
function override be private.
- svg/SVGStyleElement.idl: Use Reflect for title. Removed unneeded
SetterMayThrowLegacyException on all attributes.
- svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::textLengthAnimated): Removed
ASSERT_NO_EXCEPTION, won't work any more.
(WebCore::SVGTextContentElement::getSubStringLength): Use ExceptionOr.
Also remove redundant call to updateLayoutIgnorePendingStylesheets,
called by getNumberOfChars.
(WebCore::SVGTextContentElement::getStartPositionOfChar): Ditto.
(WebCore::SVGTextContentElement::getEndPositionOfChar): Ditto.
(WebCore::SVGTextContentElement::getExtentOfChar): Ditto.
(WebCore::SVGTextContentElement::getRotationOfChar): Ditto.
(WebCore::SVGTextContentElement::selectSubString): Ditto.
- svg/SVGTextContentElement.h: Updated for above changes.
- svg/SVGTextContentElement.idl: Use non-legacy exceptions.
- svg/SVGTransformList.h: Removed unneeded constructor.
- svg/SVGTransformList.idl: Use non-legacy exceptions.
- svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::SVGViewSpec): Updated to take a reference.
(WebCore::SVGViewSpec::setZoomAndPan): Use ExceptionOr.
(WebCore::SVGViewSpec::setTransformString): Deleted.
(WebCore::SVGViewSpec::viewBoxString): Use m_viewBox directly.
(WebCore::SVGViewSpec::preserveAspectRatioString): Use
m_preserveAspectRatio directly.
(WebCore::SVGViewSpec::viewTarget): Use is<SVGElement>.
(WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper): Use
m_contextElement directly.
(WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper):
Ditto.
(WebCore::SVGViewSpec::lookupOrCreateTransformWrapper): Ditto.
(WebCore::SVGViewSpec::parseViewSpec): Set m_viewTargetString directly.
- svg/SVGViewSpec.h: Updated for above changes. Removed unneeded virtual
destructor, unneeded using for ref/deref, unused functions including
setTransformString, setViewTargetString, non-exception setZoomAndPan,
contextElement, viewBoxBaseValue, and preserveAspectRatioBaseValue.
- svg/SVGViewSpec.idl: Use non-legacy exceptions. Also specify
ImplementationLacksVTable.
- svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
Use ExceptionOr.
- svg/properties/SVGAnimatedStaticPropertyTearOff.h: Ditto.
- svg/properties/SVGListProperty.h: Ditto.
- svg/properties/SVGListPropertyTearOff.h: Ditto.
- svg/properties/SVGPathSegListPropertyTearOff.cpp:
(WebCore::SVGPathSegListPropertyTearOff::clear): Ditto.
(WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
(WebCore::SVGPathSegListPropertyTearOff::replaceItem): Ditto.
(WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
- svg/properties/SVGPathSegListPropertyTearOff.h: Ditto.
- svg/properties/SVGPropertyTearOff.h: Ditto. Also added an overload
of create that knows how to deal with exceptions.
- svg/properties/SVGStaticListPropertyTearOff.h: Ditto.
- svg/properties/SVGTransformListPropertyTearOff.h: Ditto.
- 1:46 PM Changeset in webkit [207715] by
-
- 39 edits in trunk/Source
WebGLRenderingContextBase.bufferData() should use a union instead of overloading
https://bugs.webkit.org/show_bug.cgi?id=163795
Reviewed by Darin Adler.
Source/JavaScriptCore:
- runtime/ArrayBufferView.h:
(JSC::ArrayBufferView::data):
Add a data() method which aliases baseAddress() to align the API with
ArrayBuffer and reduce special handling at call sites.
- runtime/JSArrayBuffer.h:
(JSC::toArrayBuffer):
(JSC::JSArrayBuffer::toWrapped):
Add toWrapped() method similarly with WebCore wrapper types to
reduce special handling of JSArrayBuffer type.
- runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::toWrapped):
- runtime/JSArrayBufferView.h:
Add toWrapped() method similarly with WebCore wrapper types to
reduce special handling of JSArrayBufferView type.
Source/WebCore:
WebGLRenderingContextBase.bufferData() / bufferSubData() should use a union
instead of overloading:
No new tests, no web-exposed behavior change.
- bindings/js/JSDOMConvert.h:
(WebCore::Converter<IDLInterface<T>>::convert):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- bindings/scripts/test/JS/JSInterfaceName.h:
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
- bindings/scripts/test/JS/JSTestCEReactions.h:
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.h:
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
- bindings/scripts/test/JS/JSTestEventConstructor.h:
- bindings/scripts/test/JS/JSTestEventTarget.h:
- bindings/scripts/test/JS/JSTestException.h:
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
- bindings/scripts/test/JS/JSTestGlobalObject.h:
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestIterable.h:
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestNondeterministic.h:
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
- bindings/scripts/test/JS/JSTestSerialization.h:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
- bindings/scripts/test/JS/JSTestTypedefs.h:
- bindings/scripts/test/JS/JSattribute.h:
- bindings/scripts/test/JS/JSreadonly.h:
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::bufferData):
(WebCore::WebGL2RenderingContext::bufferSubData):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::bufferData):
(WebCore::WebGLRenderingContextBase::bufferSubData):
- html/canvas/WebGLRenderingContextBase.h:
- html/canvas/WebGLRenderingContextBase.idl:
- 12:34 PM Changeset in webkit [207714] by
-
- 4 edits in trunk/Source/JavaScriptCore
Slow and big Heap methods should not be inline
https://bugs.webkit.org/show_bug.cgi?id=163802
Reviewed by Keith Miller.
JSC often suffers from the inline cargo cult, and Heap is a prime example. This outlines a
bunch of Heap methods that are either already very big, or call out-of-line methods, or call
very big methods, or are not called often enough for inlining to matter.
This simplifies concurrent GC work because I'm so tired of recompiling the world when I touch
one of these methods.
This looks to be perf-neutral.
- heap/Heap.cpp:
(JSC::Heap::shouldCollect):
(JSC::Heap::isCurrentThreadBusy):
(JSC::Heap::reportExtraMemoryVisited):
(JSC::Heap::reportExternalMemoryVisited):
(JSC::Heap::collectIfNecessaryOrDefer):
(JSC::Heap::collectAccordingToDeferGCProbability):
(JSC::Heap::decrementDeferralDepthAndGCIfNeeded):
(JSC::Heap::registerWeakGCMap):
(JSC::Heap::unregisterWeakGCMap):
(JSC::Heap::didAllocateBlock):
(JSC::Heap::didFreeBlock):
- heap/HeapInlines.h:
(JSC::Heap::shouldCollect): Deleted.
(JSC::Heap::isCurrentThreadBusy): Deleted.
(JSC::Heap::reportExtraMemoryVisited): Deleted.
(JSC::Heap::reportExternalMemoryVisited): Deleted.
(JSC::Heap::collectIfNecessaryOrDefer): Deleted.
(JSC::Heap::collectAccordingToDeferGCProbability): Deleted.
(JSC::Heap::decrementDeferralDepthAndGCIfNeeded): Deleted.
(JSC::Heap::registerWeakGCMap): Deleted.
(JSC::Heap::unregisterWeakGCMap): Deleted.
(JSC::Heap::didAllocateBlock): Deleted.
(JSC::Heap::didFreeBlock): Deleted.
- 9:30 AM Changeset in webkit [207713] by
-
- 3 edits in trunk/Tools
Improve MiniBrowser window titles for URLs without paths and with no title
<https://webkit.org/b/163843>
Reviewed by Darin Adler.
- MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController fetch:]): While we’re here, deploy
+[NSURL _webkit_URLWithUserTypedString:] here to match the WK2BrowserWindowController
version of this method.
(-[WK1BrowserWindowController updateTitle:]): If the URL doesn’t have a lastPathComponent,
use the entire URL.
(-[WK1BrowserWindowController webView:didCommitLoadForFrame:]): Also while we’re here,
deploy +[NSURL _web_userVisibleString] here to match the WK2BrowserWindowController
behavior.
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController updateTitle:]): If the URL doesn’t have a lastPathComponent,
use the entire URL.
- 9:26 AM Changeset in webkit [207712] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa] REGRESSION (r204508): Crash in init_WebCreateFragment when pasting (seen in multiple apps using legacy WebKit)
https://bugs.webkit.org/show_bug.cgi?id=163839
Reviewed by Dan Bernstein.
- editing/cocoa/EditorCocoa.mm: Use the appropriate SOFT_LINK macros to find
the WebKitLegacy platform in the correct location for iOS and macOS.
- 3:19 AM Changeset in webkit [207711] by
-
- 7 edits in trunk
Bindings error message for missing required dictionary member should be more explicit
https://bugs.webkit.org/show_bug.cgi?id=163665
Reviewed by Darin Adler.
Source/WebCore:
Add throwRequiredMemberTypeError function to throw a TypeError exception with an error
message indicating the missing required member.
No new test required, rebase existing tests.
- bindings/js/JSDOMBinding.cpp:
(WebCore::throwRequiredMemberTypeError):
- bindings/js/JSDOMBinding.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
LayoutTests:
Update existing tests.
- fast/mediastream/MediaStreamTrackEvent-constructor-expected.txt:
- 1:15 AM Changeset in webkit [207710] by
-
- 9 edits2 adds in trunk
Upgrading custom element should enqueue attributeChanged and connected callbacks
https://bugs.webkit.org/show_bug.cgi?id=163840
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaselined the tests as more test cases are passing now.
- web-platform-tests/custom-elements/reactions/Node-expected.txt:
- web-platform-tests/custom-elements/reactions/Range-expected.txt:
Source/WebCore:
When upgrading a custom element, enqueue attributeChanged and connectedCallbacks as needed as specified
in step 3 and 4 of: https://html.spec.whatwg.org/multipage/scripting.html#concept-upgrade-an-element
Test: fast/custom-elements/upgrading-enqueue-reactions.html
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::upgradeElement): Enqueue
- dom/CustomElementReactionQueue.cpp:
(WebCore::CustomElementReactionQueueItem::invoke): Don't invoke callbacks when the custom element had
failed to upgrade.
(WebCore::CustomElementReactionQueue::enqueuePostUpgradeReactions): Added.
(WebCore::CustomElementReactionQueue::invokeAll): Upgrading a custom element may enqueue more reactions.
Keep invoking reactions until the queue becomes empty.
- dom/CustomElementReactionQueue.h:
- dom/Range.idl: Added a forgotten CEReactions here.
LayoutTests:
Added a W3C style testharness.js test for making sure upgrading custom custom elements
would enqueue attributedChanged and connected reactions.
- fast/custom-elements/upgrading-enqueue-reactions-expected.txt: Added.
- fast/custom-elements/upgrading-enqueue-reactions.html: Added.
- 12:23 AM Changeset in webkit [207709] by
-
- 2 edits in trunk/Source/WebKit2
[iOS] _webViewWillEndNavigationGesture:withNavigationToBackForwardListItem: is never called
https://bugs.webkit.org/show_bug.cgi?id=163758
Reviewed by Darin Adler.
- UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture): Don’t reset the interactive update
handler.
Oct 21, 2016:
- 11:38 PM Changeset in webkit [207708] by
-
- 27 edits in trunk
Bug 163762: IntSize::area() should used checked arithmetic
<https://webkit.org/b/163762>
Reviewed by Darin Adler.
Source/WebCore:
No new tests since no change in nominal behavior.
- platform/graphics/IntSize.h:
(WebCore::IntSize::area): Change to return a
Checked<unsigned, T> value. Use WTF:: namespace to avoid
including another header.
- platform/graphics/IntRect.h:
(WebCore::IntRect::area): Ditto.
The remaining changes are to use the Checked<unsigned> return
value of IntSize::area() and IntRect::area() correctly in
context, in addition to items noted below.
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::isTopLevelFullPagePlugin):
Declare contentWidth and contentHeight as float values to
prevent overflow when computing the area, and to make the
inequality comparison in the return statement uses the same type
for both sides.
- html/ImageData.cpp:
(WebCore::ImageData::ImageData):
- html/MediaElementSession.cpp:
(WebCore::isElementRectMostlyInMainFrame):
- platform/graphics/ImageBackingStore.h:
(WebCore::ImageBackingStore::setSize): Restructure logic to
compute area only once.
(WebCore::ImageBackingStore::clear):
- platform/graphics/ImageFrame.h:
(WebCore::ImageFrame::frameBytes):
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::maximumSubsamplingLevel):
- platform/graphics/ca/LayerPool.cpp:
(WebCore::LayerPool::backingStoreBytesForSize):
- platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoder::frameBytesAtIndex):
- platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::platformApplySoftware):
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::asUnmultipliedImage):
(WebCore::FilterEffect::asPremultipliedImage):
(WebCore::FilterEffect::copyUnmultipliedImage):
(WebCore::FilterEffect::copyPremultipliedImage):
(WebCore::FilterEffect::createUnmultipliedImageResult):
(WebCore::FilterEffect::createPremultipliedImageResult):
- platform/graphics/win/ImageBufferDataDirect2D.cpp:
(WebCore::ImageBufferData::getData): Update overflow check,
rename local variable to numBytes, and compute numBytes once.
- platform/graphics/win/ImageDecoderDirect2D.cpp:
(WebCore::ImageDecoder::frameBytesAtIndex):
- platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::frameBytesAtIndex):
- platform/ios/LegacyTileLayerPool.mm:
(WebCore::LegacyTileLayerPool::bytesBackingLayerWithPixelSize):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
- rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
Source/WebKit2:
- Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::create): Add overflow check and return
nullptr on overflow.
(WebKit::ShareableBitmap::createShareable): Ditto.
(WebKit::ShareableBitmap::create): Change debug assert for
adequate buffer size check into release check.
- Shared/ShareableBitmap.h:
(WebKit::ShareableBitmap::numBytesForSize): Change to return a
Checked<unsigned, RecordOverflow> value.
(WebKit::ShareableBitmap::sizeInBytes):
- Shared/cairo/ShareableBitmapCairo.cpp:
(WebKit::ShareableBitmap::numBytesForSize): Ditto.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _takeViewSnapshot]): Call unsafeGet().
Tools:
- TestWebKitAPI/Tests/WebCore/IntRect.cpp:
(TestWebKitAPI::TEST): Call unsafeGet().
- TestWebKitAPI/Tests/WebCore/IntSize.cpp:
(TestWebKitAPI::TEST): Ditto.
- 11:14 PM Changeset in webkit [207707] by
-
- 2 edits in trunk/Tools
Unreviewed: Added Aaron Chu <aaron_chu@apple.com> to contributors list.
- Scripts/webkitpy/common/config/contributors.json:
- 11:07 PM Changeset in webkit [207706] by
-
- 15 edits in trunk/Source
Source/WebCore:
WebPageProxy should not need PageActivityState
https://bugs.webkit.org/show_bug.cgi?id=163821
Reviewed by Geoff Garen.
The PageActivityState is currently plumbed back from WebCore up to the UI process, to
determine whether to enabled process suppression. However the information it contains
(whether a page load is ongoing, whether audio is playing) is already available via
other means. Remove this use of PageActivityState.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaState):
- Fix a bug in how we compute IsPlayingAudio - if the volume of the MediaElement is set to zero, then audio is not playing (we were already checking muted).
- page/ChromeClient.h:
- removed setPageActivityState
- page/Page.cpp:
(WebCore::Page::setPageActivityState): Deleted.
- setPageActivityState -> pageActivityStateChanged, remove call to ChromeClient
- page/Page.h:
(WebCore::Page::pageActivityStateChanged):
- setPageActivityState -> pageActivityStateChanged
- page/PageThrottler.cpp:
(WebCore::PageThrottler::setActivityFlag):
- setPageActivityState -> pageActivityStateChanged
Source/WebKit2:
[MediaStream] Dynamically generate media capture sandbox extensions
https://bugs.webkit.org/show_bug.cgi?id=154861
<rdar://problem/24909411>
Patch by Eric Carlson <eric.carlson@apple.com> on 2016-10-21
Reviewed by Tim Horton.
- Shared/SandboxExtension.h:
(WebKit::SandboxExtension::createHandleForGenericExtension):
- Shared/mac/SandboxExtensionMac.mm:
(WebKit::wkSandboxExtensionType): Add case for generic handle.
(WebKit::SandboxExtension::createHandleForGenericExtension): New.
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests): Clear the list of extensions granted.
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Extend the web
process sandbox as necessary.
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::~UserMediaPermissionRequestManager): Revoke all
sandbox extensions.
(WebKit::UserMediaPermissionRequestManager::grantUserMediaDevicesSandboxExtension): Consume
sandbox extensions.
- WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::grantUserMediaDevicesSandboxExtension): Pass-through to user media manager.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: Add GrantUserMediaDevicesSandboxExtension.
- WebProcess/com.apple.WebProcess.sb.in: Add rules, defines, and a macro to allow dynamic extensions for media capture devices.
- 10:27 PM Changeset in webkit [207705] by
-
- 4 edits in trunk/Source/WebCore
[Web ID] Overload resolution is wrong if one of the types is a nullable union
https://bugs.webkit.org/show_bug.cgi?id=163816
Reviewed by Alex Christensen.
Overload resolution was wrong if one of the types was a nullable union. This
is because we never considered the union type itself, only its subtypes.
Therefore, we checked if any of the union's subtypes were nullable but we
failed to check if the union itself was nullable.
See:
- https://heycam.github.io/webidl/#es-overloads (Step 11.3.)
No new tests, extended bindings tests.
- bindings/scripts/CodeGeneratorJS.pm:
(GetOverloadThatMatchesIgnoringUnionSubtypes):
(GenerateOverloadedFunctionOrConstructor):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Caller):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Caller):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion):
(WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1):
(WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Caller):
(WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2):
(WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Caller):
(WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion):
- bindings/scripts/test/TestObj.idl:
- 8:35 PM Changeset in webkit [207704] by
-
- 17 edits in trunk/Source
[MediaStream] Dynamically generate media capture sandbox extensions
https://bugs.webkit.org/show_bug.cgi?id=154861
<rdar://problem/24909411>
Reviewed by Tim Horton.
Source/WebCore:
No new tests, some of these changes are covered by existing tests and some can only be tested
with physical capture devices.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer are now declared in AVFoundationSPI.h.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC): Initialize
AVSampleBufferRenderSynchronizer.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::isAvailable): Fail if AVSampleBufferRenderSynchronizer
isn't available.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueAudioSampleBufferFromTrack): Take a MediaSample&
instead of a PlatformSample&.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSampleBufferFromTrack): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::ensureLayer): Add the sample buffer display
later to the synchronizer.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::destroyLayer): Remove the sample buffer display
later from the synchronizer.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play): Start the synchronizer.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause): Stash the current clock time in
m_pausedTime, but leave the clock running. Pause the synchronizer.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentMediaTime): Return the clock time
when playing, m_pausedTime time when paused because we leave the clock running forever.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::sampleBufferUpdated):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: AVSampleBufferAudioRenderer is now declared in AVFoundationSPI.h.
- platform/spi/mac/AVFoundationSPI.h: Add AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer.
Source/WebKit2:
- Shared/SandboxExtension.h:
(WebKit::SandboxExtension::createHandleForGenericExtension):
- Shared/mac/SandboxExtensionMac.mm:
(WebKit::wkSandboxExtensionType): Add case for generic handle.
(WebKit::SandboxExtension::createHandleForGenericExtension): New.
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests): Clear the list of extensions granted.
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Extend the web
process sandbox as necessary.
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::~UserMediaPermissionRequestManager): Revoke all
sandbox extensions.
(WebKit::UserMediaPermissionRequestManager::grantUserMediaDevicesSandboxExtension): Consume
sandbox extensions.
- WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::grantUserMediaDevicesSandboxExtension): Pass-through to user media manager.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: Add GrantUserMediaDevicesSandboxExtension.
- WebProcess/com.apple.WebProcess.sb.in: Add rules, defines, and a macro to allow dynamic extensions for media capture devices.
- 7:47 PM Changeset in webkit [207703] by
-
- 9 edits16 copies2 moves8 adds4 deletes in trunk/LayoutTests
Update custom elements tests
https://bugs.webkit.org/show_bug.cgi?id=163815
Reviewed by Joseph Pecoraro.
LayoutTests/imported/w3c:
Re-import the custom elements as of 5078aa44879c87c38b6430670583951dbeae3025.
- web-platform-tests/custom-elements/Document-createElement-expected.txt: Moved from from fast/custom-elements/Document-createElement.html.
- web-platform-tests/custom-elements/Document-createElement.html: Ditto.
- web-platform-tests/custom-elements/parser/parser-constructs-custom-element-in-document-write-expected.txt: Moved from from fast/custom-elements/parser/.
- web-platform-tests/custom-elements/parser/parser-constructs-custom-element-in-document-write.html: Ditto.
- web-platform-tests/custom-elements/parser/parser-constructs-custom-element-synchronously-expected.txt: Ditto.
- web-platform-tests/custom-elements/parser/parser-constructs-custom-element-synchronously.html: Ditto.
- web-platform-tests/custom-elements/parser/parser-constructs-custom-elements-expected.txt: Ditto.
- web-platform-tests/custom-elements/parser/parser-constructs-custom-elements.html: Ditto.
- web-platform-tests/custom-elements/parser/parser-fallsback-to-unknown-element-expected.txt: Ditto.
- web-platform-tests/custom-elements/parser/parser-fallsback-to-unknown-element.html: Ditto.
- web-platform-tests/custom-elements/parser/parser-sets-attributes-and-children-expected.txt: Ditto.
- web-platform-tests/custom-elements/parser/parser-sets-attributes-and-children.html: Ditto.
- web-platform-tests/custom-elements/parser/parser-uses-constructed-element-expected.txt: Ditto.
- web-platform-tests/custom-elements/parser/parser-uses-constructed-element.html: Ditto.
- web-platform-tests/custom-elements/parser/parser-uses-registry-of-owner-document-expected.txt: Ditto.
- web-platform-tests/custom-elements/parser/parser-uses-registry-of-owner-document.html: Ditto.
- web-platform-tests/custom-elements/parser/w3c-import.log: Added.
- web-platform-tests/custom-elements/reactions/DOMTokenList-expected.txt:
- web-platform-tests/custom-elements/reactions/DOMTokenList.html:
- web-platform-tests/custom-elements/reactions/Document-expected.txt:
- web-platform-tests/custom-elements/reactions/Document.html:
- web-platform-tests/custom-elements/reactions/Range-expected.txt:
- web-platform-tests/custom-elements/reactions/resources/reactions.js:
- web-platform-tests/custom-elements/upgrading-expected.txt: Added.
- web-platform-tests/custom-elements/upgrading.html: Moved from fast/custom-elements/enqueue-custom-element-upgrade-reaction.html.
- web-platform-tests/custom-elements/upgrading/Node-cloneNode-expected.txt: Moved from fast/custom-elements/upgrading/.
- web-platform-tests/custom-elements/upgrading/Node-cloneNode.html: Ditto.
- web-platform-tests/custom-elements/upgrading/upgrading-parser-created-element-expected.txt: Ditto.
- web-platform-tests/custom-elements/upgrading/upgrading-parser-created-element.html: Ditto.
- web-platform-tests/custom-elements/upgrading/w3c-import.log: Added.
- web-platform-tests/custom-elements/w3c-import.log:
LayoutTests:
Removed the tests that have been upstreamed and reimported from web-platform-tests.
- fast/custom-elements/Document-createElement-expected.txt: Removed.
- fast/custom-elements/enqueue-custom-element-upgrade-reaction-expected.txt: Removed.
- fast/custom-elements/parser/: Removed.
- fast/custom-elements/upgrading/: Removed.
- 7:17 PM Changeset in webkit [207702] by
-
- 4 edits7 adds in trunk/LayoutTests
Unreviewed GTK test gardening
- platform/gtk/TestExpectations:
- platform/gtk/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt: Added.
- platform/gtk/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt: Added.
- platform/gtk/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt: Added.
- platform/gtk/svg/custom/dynamic-svg-document-creation-expected.txt:
- platform/gtk/svg/custom/simple-text-double-shadow.txt: Added.
- platform/gtk/svg/text/repaint-shadow-expected.txt: Added.
- platform/gtk/svg/text/text-hkern-on-vertical-text-expected.png:
- platform/gtk/svg/text/text-hkern-on-vertical-text-expected.txt: Added.
- platform/gtk/svg/text/text-vkern-on-horizontal-text-expected.txt: Added.
- 7:17 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 5:03 PM Changeset in webkit [207701] by
-
- 9 edits in tags/Safari-603.1.10
Merge r207700. rdar://problem/28897179
- 4:55 PM Changeset in webkit [207700] by
-
- 9 edits in trunk
Unreviewed, rolling out r207582.
https://bugs.webkit.org/show_bug.cgi?id=163819
Not quite ready rdar://problem/28897179 (Requested by
alexchristensen on #webkit).
Reverted changeset:
"Re-enable URLParser for non-Safari Cocoa apps after r207321"
https://bugs.webkit.org/show_bug.cgi?id=163690
http://trac.webkit.org/changeset/207582
Patch by Commit Queue <commit-queue@webkit.org> on 2016-10-21
- 4:20 PM Changeset in webkit [207699] by
-
- 6 edits in trunk/Source
WebPage should take UserActivity directly for user input
https://bugs.webkit.org/show_bug.cgi?id=163813
Reviewed by Anders Carlsson.
When we receive mouse/keyboard events in a page, we want to prevent AppNap. We currently do so
via the PageThrottler. This patch is to just make the WebPage drive the UserActivity directly.
Two reasons to do so: (1) to cleanup & simplify for further refactoring. (2) The current code
isn't really achieving the desired effect. The page setting the flag in the throttler to get
the activity to be set is now a less effective way of achieving this goal, since the
PageActivityState bounces back across to the UI process & then messages back to the WebContent
process to take the UserActivity. These extra hops defeat the purpose of making sure the boost
from the initial message isn't lost.
Source/WebCore:
- page/PageThrottler.cpp:
(WebCore::PageThrottler::PageThrottler):
(WebCore::m_userInputHysteresis): Deleted.
- page/PageThrottler.h:
(WebCore::PageThrottler::didReceiveUserInput): Deleted.
- removed PageActivityState::UserInputActivity, didReceiveUserInput, m_userInputHysteresis.
Source/WebKit2:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_userActivityHysteresis):
- m_userActivityHysteresis triggers updateUserActivity.
(WebKit::WebPage::setPageSuppressed):
- setPageSuppressed starts/stops m_userActivityHysteresis.
(WebKit::WebPage::updateUserActivity):
- update UserActivity based on state of m_userActivityHysteresis.
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::wheelEvent):
(WebKit::WebPage::keyEvent):
- input events impulse m_userActivityHysteresis.
- WebProcess/WebPage/WebPage.h:
- 4:06 PM Changeset in webkit [207698] by
-
- 15 edits8 adds in trunk
Support (insertFrom|deleteBy)Composition and (insert|delete)CompositionText inputTypes for InputEvents
https://bugs.webkit.org/show_bug.cgi?id=163460
<rdar://problem/28784142>
Reviewed by Darin Adler.
Source/WebCore:
Adds basic support for the composition inputTypes in the InputEvent spec. See w3.org/TR/input-events,
github.com/w3c/input-events/issues/41 and github.com/w3c/input-events/issues/42 for more details. While input
events are fired in the correct order with respect to each other, additional work will be required to ensure
that input events are fired in the correct order with respect to composition(start|update|end) events and
textInput events. This is held off until the expected ordering of events is officially defined in the spec.
Tests: fast/events/before-input-events-prevent-insert-composition.html
fast/events/before-input-events-prevent-recomposition.html
fast/events/input-events-ime-composition.html
fast/events/input-events-ime-recomposition.html
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::apply):
- editing/CompositeEditCommand.h:
(WebCore::CompositeEditCommand::isBeforeInputEventCancelable):
Adds a new virtual method hook for subclasses to mark their
beforeinput
events as non-cancelable (see
TypingCommand::isBeforeInputEventCancelable). By default,beforeinput
events are cancelable.
- editing/EditAction.h:
Adds 4 new EditActions corresponding to the 4 composition-related inputTypes. These are:
EditActionTypingDeletePendingComposition => "deleteCompositionText"
EditActionTypingDeleteFinalComposition => "deleteByComposition"
EditActionTypingInsertPendingComposition => "insertCompositionText"
EditActionTypingInsertFinalComposition => "insertFromComposition"
- editing/EditCommand.cpp:
(WebCore::inputTypeNameForEditingAction):
- editing/Editor.cpp:
(WebCore::dispatchBeforeInputEvent):
(WebCore::dispatchBeforeInputEvents):
(WebCore::Editor::willApplyEditing):
(WebCore::Editor::insertTextWithoutSendingTextEvent):
(WebCore::Editor::setComposition):
In setComposition(text, mode), tweak the logic for committing a composition to always delete the selection
before inserting the final composition text. In setComposition(text, underlines, start, end), catch the case
where we're beginning to recompose an existing range in the DOM and delete the recomposed text first.
- editing/TypingCommand.cpp:
(WebCore::editActionForTypingCommand):
(WebCore::TypingCommand::TypingCommand):
(WebCore::TypingCommand::deleteSelection):
Adds a TextCompositionType parameter so that call sites (see Editor::setComposition) can indicate what state the
edited composition is in. This allows us to differentiate between deletion of finalized composition text in
preparation of recomposing a range in the DOM, and deletion of composition text that has not yet been committed
in preparation for inserting a finalized composition into the DOM.
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
(WebCore::TypingCommand::insertText):
(WebCore::TypingCommand::insertLineBreak):
(WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
(WebCore::TypingCommand::insertParagraphSeparator):
(WebCore::TypingCommand::isBeforeInputEventCancelable):
(WebCore::TypingCommand::inputEventData):
(WebCore::TypingCommand::willAddTypingToOpenCommand):
- editing/TypingCommand.h:
Source/WebKit/mac:
Handle new EditAction types for inserting/deleting pending/final compositions.
- WebCoreSupport/WebEditorClient.mm:
(undoNameForEditAction):
Source/WebKit2:
Handle new EditAction types for inserting/deleting pending/final compositions.
- UIProcess/WebEditCommandProxy.cpp:
(WebKit::WebEditCommandProxy::nameForEditAction):
LayoutTests:
Adds 4 new layout tests to verify that composition events are dispatched as expected when using IME, and that
input events of type "insertFromComposition" and "deleteByComposition" can be prevented.
Also rebaselines an existing WK1 editing test (text-input-controller.html) to account for how we now delete the
existing composition text before inserting the finalized composition text in Editor::setComposition. This means
that there are a few more delegate calls than there were before (as seen in the expected output), although the
resulting behavior is still the same.
- editing/mac/input/text-input-controller-expected.txt:
- fast/events/before-input-events-prevent-insert-composition.html: Added.
- fast/events/before-input-events-prevent-recomposition.html: Added.
- fast/events/input-events-ime-composition.html: Added.
- fast/events/input-events-ime-recomposition.html: Added.
- platform/ios-simulator/TestExpectations:
- 3:38 PM Changeset in webkit [207697] by
-
- 3 edits1 add in trunk
SpeculativeJIT::compileTryGetById needs to pass in NeedsToSpill along both the cell speculation and untyped speculation path
https://bugs.webkit.org/show_bug.cgi?id=163622
Reviewed by Yusuke Suzuki.
JSTests:
- stress/try-get-by-id-should-spill-registers-dfg.js: Added.
(let.f.createBuiltin):
Source/JavaScriptCore:
We were passing in DontSpill in the Untyped:child1() case, which caused us
not to spill the base register. This is obviously wrong because the
DFG's register allocator expected the base to still be in the register
that it allocated for it after the TryGetById node executed.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileTryGetById):
- 3:20 PM Changeset in webkit [207696] by
-
- 10 edits in trunk
Expand Trunc in B3 to support Double to Float
https://bugs.webkit.org/show_bug.cgi?id=163809
Source/JavaScriptCore:
Reviewed by Geoffrey Garen.
This feature is useful for passing floating point arguments via registers.
Currently, ArgumentRegValue returns a the full 64-bit register. Thus, we
need a way to indicate to B3 that we only want the low 32-bits.
- b3/B3Common.h:
(JSC::B3::isIdentical):
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
- b3/B3Opcode.h:
- b3/B3ReduceStrength.cpp:
- b3/B3Validate.cpp:
- b3/B3Value.cpp:
(JSC::B3::Value::typeFor):
- b3/testb3.cpp:
(JSC::B3::testAddFPRArgsFloat):
(JSC::B3::testCeilArgWithEffectfulDoubleConversion):
(JSC::B3::testFloorArgWithEffectfulDoubleConversion):
(JSC::B3::testDoubleProducerPhiToFloatConversionWithDoubleConsumer):
(JSC::B3::run):
Websites/webkit.org:
Update the docs to explain that Trunc now works with fleating point numbers.
Reviewed by Geoffrey Garen.
- docs/b3/intermediate-representation.html:
- 2:23 PM October 2016 Meeting edited by
- (diff)
- 2:19 PM October 2016 Meeting edited by
- (diff)
- 2:08 PM October 2016 Meeting edited by
- (diff)
- 2:07 PM Changeset in webkit [207695] by
-
- 2 edits in trunk/Source/WebCore
[CSS Parser] Make sure shadow user agent sheets parse in UASheetMode
https://bugs.webkit.org/show_bug.cgi?id=163810
Reviewed by Dean Jackson.
- dom/InlineStyleSheetOwner.cpp:
(WebCore::parserContextForElement):
(WebCore::makeInlineStyleSheetCacheKey):
(WebCore::InlineStyleSheetOwner::createSheet):
(WebCore::parserContextForForElement): Deleted.
- 2:05 PM October 2016 Meeting edited by
- (diff)
- 12:52 PM Changeset in webkit [207694] by
-
- 16 edits in trunk/Source/WebCore
YouTube stalls when seeking beyond buffered range
https://bugs.webkit.org/show_bug.cgi?id=162813
Reviewed by Eric Carlson.
When seeking a MediaPlayerPrivateMediaSourceAVFObjC, we will first seek the AVSampleBufferRenderSynchronizer,
flush and enqueue non-displaying frames, enqueue regular frames, then begin playback. The above stall will occur
when we enqueue so many non- displaying frames that the display layer is not ready for normal ones before
playback begins. Then, when the synchronizer attempts to synchronize the enqueued audio and video renderers, the
only available samples are back at the original media time, and so it "seeks" by updating the CMTimebase back to
the original media time, causing playback to appear "stalled". The overall solution is to "flush" the contents
of the renderers before the seek, so that the synchronizer doesn't reset the currentTime, and to only restart
the synchronizer when there are visible (or audible) samples available for display.
Breaking the fix down into sections:
Don't enqueue too many non-displaying samples at once:
- Rename SourceBufferPrivate::flushAndEnqueueNonDisplayingSamples() to SourceBufferPrivate::flush(), and no longer pass in an array of non-displaying samples.
- Add a new virtual method to MediaSample, createNonDisplayingCopy(), used by SourceBuffer to enqueue non-displaying samples.
- in SourceBuffer::reenqueueMediaForTime(), use that new createNonDisplayingCopy() method to enqueue non-displaying samples in the same queue as regular samples.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::provideMediaData):
(WebCore::SourceBuffer::reenqueueMediaForTime):
- platform/MediaSample.h:
(WebCore::MediaSample::isNonDisplaying):
- platform/graphics/SourceBufferPrivate.h:
(WebCore::SourceBufferPrivate::flush):
(WebCore::SourceBufferPrivate::flushAndEnqueueNonDisplayingSamples): Renamed -> flush().
- platform/graphics/avfoundation/MediaSampleAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::CMSampleBufferIsNonDisplaying):
(WebCore::MediaSampleAVFObjC::flags):
(WebCore::MediaSampleAVFObjC::createNonDisplayingCopy):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::willSeek):
(WebCore::createNonDisplayingCopy): Moved to MediaSampleAVFObjC.
(WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples): Renamed -> flush().
- platform/mock/mediasource/MockBox.h:
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
(WebCore::MockMediaSample::flags):
(WebCore::MockMediaSample::createNonDisplayingCopy):
- platform/mock/mediasource/MockSourceBufferPrivate.h:
Don't start playing until all renderers have visible/audible samples:
- SourceBufferPrivateAVFObjC will notify its associated MediaPlayerPrivateMediaSourceAVFObjC when it flushes and receives visible/audible samples.
- The MediaPlayer will store audio renderers as keys to a HashMap which allows it to track which have available samples.
- This requires changing all the places where we loop over the available renderers.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
(WebCore::SourceBufferPrivateAVFObjC::flush):
(WebCore::SourceBufferPrivateAVFObjC::willSeek):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::allRenderersHaveAvailableSamples):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setHasAvailableVideoFrame): Deleted.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVolume):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setMuted):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setHasAvailableVideoFrame):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setHasAvailableAudioSample):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateAllRenderersHaveAvailableSamples):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setPreservesPitch):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seeking):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::shouldBePlaying):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::willSeek):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
Don't display new samples mid-seek.
- MediaSource should clear its m_pendingSeekTime ivar, which is used whyn SourceBuffer queries whether or not a seek is pending, when instructing its SourceBuffers to seekToTime().
- This allows SourceBuffer to decline to enqueue new samples during a MediaSource seek operation.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::completeSeek):
- 12:14 PM Changeset in webkit [207693] by
-
- 9 edits18 moves in trunk/Source/JavaScriptCore
Rename WASM to Wasm
https://bugs.webkit.org/show_bug.cgi?id=163796
Rubber stamped by Filip Pizlo.
- CMakeLists.txt:
- Configurations/ToolExecutable.xcconfig:
- JavaScriptCore.xcodeproj/project.pbxproj:
- llint/LLIntThunks.cpp:
(JSC::vmEntryToWasm):
(JSC::vmEntryToWASM): Deleted.
- llint/LLIntThunks.h:
- runtime/Executable.cpp:
(JSC::WebAssemblyExecutable::WebAssemblyExecutable):
- runtime/Executable.h:
- shell/CMakeLists.txt:
- testWASM.cpp:
(runWASMTests): Deleted.
- testWasm.cpp: Renamed from Source/JavaScriptCore/testWASM.cpp.
(CommandLine::CommandLine):
(printUsageStatement):
(CommandLine::parseArguments):
(runLEBTests):
(invoke):
(box):
(runWasmTests):
(main):
- wasm/JSWASMModule.cpp:
(JSC::JSWASMModule::JSWASMModule): Deleted.
(JSC::JSWASMModule::destroy): Deleted.
(JSC::JSWASMModule::visitChildren): Deleted.
- wasm/JSWASMModule.h:
(JSC::JSWASMModule::create): Deleted.
(JSC::JSWASMModule::createStructure): Deleted.
(JSC::JSWASMModule::i32Constants): Deleted.
(JSC::JSWASMModule::f32Constants): Deleted.
(JSC::JSWASMModule::f64Constants): Deleted.
(JSC::JSWASMModule::signatures): Deleted.
(JSC::JSWASMModule::functionImports): Deleted.
(JSC::JSWASMModule::functionImportSignatures): Deleted.
(JSC::JSWASMModule::globalVariableTypes): Deleted.
(JSC::JSWASMModule::functionDeclarations): Deleted.
(JSC::JSWASMModule::functionPointerTables): Deleted.
(JSC::JSWASMModule::arrayBuffer): Deleted.
(JSC::JSWASMModule::functions): Deleted.
(JSC::JSWASMModule::functionStartOffsetsInSource): Deleted.
(JSC::JSWASMModule::functionStackHeights): Deleted.
(JSC::JSWASMModule::globalVariables): Deleted.
(JSC::JSWASMModule::importedFunctions): Deleted.
- wasm/JSWasmModule.cpp: Renamed from Source/JavaScriptCore/wasm/JSWASMModule.cpp.
(JSC::JSWasmModule::JSWasmModule):
(JSC::JSWasmModule::destroy):
(JSC::JSWasmModule::visitChildren):
- wasm/JSWasmModule.h: Renamed from Source/JavaScriptCore/wasm/JSWASMModule.h.
(JSC::JSWasmModule::create):
(JSC::JSWasmModule::createStructure):
(JSC::JSWasmModule::i32Constants):
(JSC::JSWasmModule::f32Constants):
(JSC::JSWasmModule::f64Constants):
(JSC::JSWasmModule::signatures):
(JSC::JSWasmModule::functionImports):
(JSC::JSWasmModule::functionImportSignatures):
(JSC::JSWasmModule::globalVariableTypes):
(JSC::JSWasmModule::functionDeclarations):
(JSC::JSWasmModule::functionPointerTables):
(JSC::JSWasmModule::arrayBuffer):
(JSC::JSWasmModule::functions):
(JSC::JSWasmModule::functionStartOffsetsInSource):
(JSC::JSWasmModule::functionStackHeights):
(JSC::JSWasmModule::globalVariables):
(JSC::JSWasmModule::importedFunctions):
- wasm/WASMB3IRGenerator.cpp:
(JSC::WASM::createJSWrapper): Deleted.
(JSC::WASM::parseAndCompile): Deleted.
- wasm/WASMCallingConvention.cpp:
(JSC::WASM::jscCallingConvention): Deleted.
(JSC::WASM::wasmCallingConvention): Deleted.
- wasm/WASMCallingConvention.h:
(JSC::WASM::CallingConvention::CallingConvention): Deleted.
(JSC::WASM::CallingConvention::marshallArgumentImpl): Deleted.
(JSC::WASM::CallingConvention::marshallArgument): Deleted.
(JSC::WASM::CallingConvention::loadArguments): Deleted.
(JSC::WASM::CallingConvention::setupCall): Deleted.
(JSC::WASM::nextJSCOffset): Deleted.
- wasm/WASMFormat.h:
(JSC::WASM::toB3Type): Deleted.
(JSC::WASM::isValueType): Deleted.
- wasm/WASMFunctionParser.h:
(JSC::WASM::FunctionParser<Context>::FunctionParser): Deleted.
(JSC::WASM::FunctionParser<Context>::parse): Deleted.
(JSC::WASM::FunctionParser<Context>::parseBlock): Deleted.
(JSC::WASM::FunctionParser<Context>::parseExpression): Deleted.
(JSC::WASM::FunctionParser<Context>::parseUnreachableExpression): Deleted.
- wasm/WASMMemory.cpp:
(JSC::WASM::Memory::Memory): Deleted.
- wasm/WASMMemory.h:
(JSC::WASM::Memory::~Memory): Deleted.
(JSC::WASM::Memory::memory): Deleted.
(JSC::WASM::Memory::size): Deleted.
(JSC::WASM::Memory::pinnedRegisters): Deleted.
(JSC::WASM::Memory::mode): Deleted.
(JSC::WASM::Memory::grow): Deleted.
(JSC::WASM::Memory::offsetOfSize): Deleted.
- wasm/WASMModuleParser.cpp:
(JSC::WASM::ModuleParser::parse): Deleted.
(JSC::WASM::ModuleParser::parseMemory): Deleted.
(JSC::WASM::ModuleParser::parseFunctionTypes): Deleted.
(JSC::WASM::ModuleParser::parseFunctionSignatures): Deleted.
(JSC::WASM::ModuleParser::parseFunctionDefinitions): Deleted.
- wasm/WASMModuleParser.h:
(JSC::WASM::ModuleParser::ModuleParser): Deleted.
(JSC::WASM::ModuleParser::functionInformation): Deleted.
(JSC::WASM::ModuleParser::memory): Deleted.
- wasm/WASMOps.h:
(JSC::WASM::isValidOpType): Deleted.
(JSC::WASM::isControlOp): Deleted.
- wasm/WASMParser.h:
(JSC::WASM::Parser::parseVarUInt32): Deleted.
(JSC::WASM::Parser::parseVarUInt64): Deleted.
(JSC::WASM::Parser::Parser): Deleted.
(JSC::WASM::Parser::consumeCharacter): Deleted.
(JSC::WASM::Parser::consumeString): Deleted.
(JSC::WASM::Parser::parseUInt32): Deleted.
(JSC::WASM::Parser::parseUInt7): Deleted.
(JSC::WASM::Parser::parseVarUInt1): Deleted.
(JSC::WASM::Parser::parseValueType): Deleted.
- wasm/WASMPlan.cpp:
(JSC::WASM::Plan::Plan): Deleted.
- wasm/WASMSections.h:
(JSC::WASM::Sections::validateOrder): Deleted.
- wasm/WasmB3IRGenerator.cpp: Renamed from Source/JavaScriptCore/wasm/WASMB3IRGenerator.cpp.
(dumpProcedure):
(JSC::Wasm::createJSWrapper):
(JSC::Wasm::parseAndCompile):
- wasm/WasmB3IRGenerator.h: Renamed from Source/JavaScriptCore/wasm/WASMB3IRGenerator.h.
- wasm/WasmCallingConvention.cpp: Renamed from Source/JavaScriptCore/wasm/WASMCallingConvention.cpp.
(JSC::Wasm::jscCallingConvention):
(JSC::Wasm::wasmCallingConvention):
- wasm/WasmCallingConvention.h: Renamed from Source/JavaScriptCore/wasm/WASMCallingConvention.h.
(JSC::Wasm::CallingConvention::CallingConvention):
(JSC::Wasm::CallingConvention::marshallArgumentImpl):
(JSC::Wasm::CallingConvention::marshallArgument):
(JSC::Wasm::CallingConvention::loadArguments):
(JSC::Wasm::CallingConvention::setupCall):
(JSC::Wasm::nextJSCOffset):
- wasm/WasmFormat.h: Renamed from Source/JavaScriptCore/wasm/WASMFormat.h.
(JSC::Wasm::toB3Type):
(JSC::Wasm::isValueType):
- wasm/WasmFunctionParser.h: Renamed from Source/JavaScriptCore/wasm/WASMFunctionParser.h.
(JSC::Wasm::FunctionParser<Context>::FunctionParser):
(JSC::Wasm::FunctionParser<Context>::parse):
(JSC::Wasm::FunctionParser<Context>::parseBlock):
(JSC::Wasm::FunctionParser<Context>::parseExpression):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):
- wasm/WasmMemory.cpp: Renamed from Source/JavaScriptCore/wasm/WASMMemory.cpp.
(JSC::Wasm::Memory::Memory):
- wasm/WasmMemory.h: Renamed from Source/JavaScriptCore/wasm/WASMMemory.h.
(JSC::Wasm::Memory::~Memory):
(JSC::Wasm::Memory::memory):
(JSC::Wasm::Memory::size):
(JSC::Wasm::Memory::pinnedRegisters):
(JSC::Wasm::Memory::mode):
(JSC::Wasm::Memory::grow):
(JSC::Wasm::Memory::offsetOfSize):
- wasm/WasmModuleParser.cpp: Renamed from Source/JavaScriptCore/wasm/WASMModuleParser.cpp.
(JSC::Wasm::ModuleParser::parse):
(JSC::Wasm::ModuleParser::parseMemory):
(JSC::Wasm::ModuleParser::parseFunctionTypes):
(JSC::Wasm::ModuleParser::parseFunctionSignatures):
(JSC::Wasm::ModuleParser::parseFunctionDefinitions):
- wasm/WasmModuleParser.h: Renamed from Source/JavaScriptCore/wasm/WASMModuleParser.h.
(JSC::Wasm::ModuleParser::ModuleParser):
(JSC::Wasm::ModuleParser::functionInformation):
(JSC::Wasm::ModuleParser::memory):
- wasm/WasmOps.h: Renamed from Source/JavaScriptCore/wasm/WASMOps.h.
(JSC::Wasm::isValidOpType):
(JSC::Wasm::isControlOp):
- wasm/WasmParser.h: Renamed from Source/JavaScriptCore/wasm/WASMParser.h.
(JSC::Wasm::Parser::parseVarUInt32):
(JSC::Wasm::Parser::parseVarUInt64):
(JSC::Wasm::Parser::Parser):
(JSC::Wasm::Parser::consumeCharacter):
(JSC::Wasm::Parser::consumeString):
(JSC::Wasm::Parser::parseUInt32):
(JSC::Wasm::Parser::parseUInt7):
(JSC::Wasm::Parser::parseVarUInt1):
(JSC::Wasm::Parser::parseValueType):
- wasm/WasmPlan.cpp: Renamed from Source/JavaScriptCore/wasm/WASMPlan.cpp.
(JSC::Wasm::Plan::Plan):
- wasm/WasmPlan.h: Renamed from Source/JavaScriptCore/wasm/WASMPlan.h.
- wasm/WasmSections.h: Renamed from Source/JavaScriptCore/wasm/WASMSections.h.
(JSC::Wasm::Sections::validateOrder):
- 12:10 PM Changeset in webkit [207692] by
-
- 6 edits2 adds in trunk
SVG should not paint selection within a mask
https://bugs.webkit.org/show_bug.cgi?id=163772
<rdar://problem/28705129>
Reviewed by Simon Fraser.
Source/WebCore:
When masking content, we shouldn't paint the text
selection as we are rendering into the masking
offscreen buffer.
Test: svg/masking/mask-should-not-paint-selection.html
- rendering/PaintPhase.h: Add a new behavior - PaintBehaviorSkipSelectionHighlight.
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paint): Don't update the selectionStyle if
PaintBehaviorSkipSelectionHighlight is true.
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::renderSubtreeToImageBuffer): Add PaintBehaviorSkipSelectionHighlight
to the PaintInfo.
LayoutTests:
- svg/masking/mask-should-not-paint-selection-expected.html: Added.
- svg/masking/mask-should-not-paint-selection.html: Added.
- 11:58 AM Changeset in webkit [207691] by
-
- 2 edits in trunk/Tools
WebKitTestRunnerApp packages .idl file
https://bugs.webkit.org/show_bug.cgi?id=163788
Reviewed by Darin Adler.
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Removed .idl file from app package, removed bad reference to app icon.
- 11:53 AM Changeset in webkit [207690] by
-
- 4 edits in trunk/Source/WebCore
[Web IDL] MediaControlsHost has invalid operation overloads
https://bugs.webkit.org/show_bug.cgi?id=163793
Reviewed by Darin Adler.
MediaControlsHost has invalid operation overloads:
- sortedTrackListForMenu()
- displayNameForTrack()
The parameter is nullable for both overloads which is not valid IDL.
- sortedTrackListForMenu(): The parameter is no longer nullable. This is a minor behavior change and it should be safe since this is Apple-specific and only called from mediaControlsApple.js which uses HTMLMediaElement.videoTracks and HTMLMediaElement.audioTracks as input, both of which are not nullable. Note that we could have also kept one of the parameters as nullable to not change behavior but allowing null does not seem useful here.
- displayNameForTrack(): Use a union instead of overloading, no behavior change.
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::sortedTrackListForMenu):
(WebCore::MediaControlsHost::displayNameForTrack):
- Modules/mediacontrols/MediaControlsHost.h:
- Modules/mediacontrols/MediaControlsHost.idl:
- 11:45 AM Changeset in webkit [207689] by
-
- 21 edits in trunk/Source
Implement basic pointer lock behavior for WebKit and WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=162745
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-10-21
Reviewed by Simon Fraser.
Source/WebCore:
When ENABLE_POINTER_LOCK is enabled, these tests now pass with DumpRenderTree.
LayoutTests/pointer-lock/lock-already-locked.html
LayoutTests/pointer-lock/lock-element-not-in-dom.html
LayoutTests/pointer-lock/locked-element-iframe-removed-from-dom.html
LayoutTests/pointer-lock/mouse-event-api.html
Export pointer lock symbols and cancel pointer lock on "escape".
- dom/Document.h: Export symbols.
- dom/Element.h: Export symbols.
- page/EventHandler.cpp:
(WebCore::EventHandler::keyEvent): Cancel pointer lock on "escape".
- page/PointerLockController.cpp: Add missing include.
- page/PointerLockController.h: Export symbols.
Source/WebKit/mac:
Add basic pointer lock functionality. User permission is not yet implemented.
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::requestPointerLock):
(WebChromeClient::requestPointerUnlock):
Source/WebKit2:
Enable basic pointer lock functionality by plumbing requests through WebPage IPC.
Pass through mouse movement deltas.
Unlock pointer when view is no longer visible.
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): Pass along mouse movement.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dispatchViewStateChange): Unlock pointer when page is not visible.
(WebKit::WebPageProxy::requestPointerLock): Hide and disassociate pointer.
(WebKit::WebPageProxy::requestPointerUnlock): Show and associate pointer.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in: Add methods.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::requestPointerLock): Pass along to web page.
(WebKit::WebChromeClient::requestPointerUnlock): Ditto.
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didAcquirePointerLock): Forward to PointerLockController.
(WebKit::WebPage::didNotAcquirePointerLock): Ditto.
(WebKit::WebPage::didLosePointerLock): Ditto.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: Add methods.
- 11:37 AM Changeset in webkit [207688] by
-
- 3 edits in trunk/Source/WebCore
WebCore::PlatformMediaSession::stopSession + 13
https://bugs.webkit.org/show_bug.cgi?id=163799
Reviewed by Eric Carlson.
Because m_sessions can be mutated by removeSession() while iterating over m_sessions, and because
PlatformMediaSessions are not refcounted, it is not enough to copy m_sessions into a copied Vector
before iterating. Instead, wrap iteration of m_sessions in a convenience function, which sets an
iteration counter which, when cleared, removes all null entries from m_session. In parallel, modify
removeSession() to check this iteration counter, and replace the session with a null value rather
than mutating the m_sessions vector itself.
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::has):
(WebCore::PlatformMediaSessionManager::activeAudioSessionRequired):
(WebCore::PlatformMediaSessionManager::canProduceAudio):
(WebCore::PlatformMediaSessionManager::removeSession):
(WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):
(WebCore::PlatformMediaSessionManager::sessionWillEndPlayback):
(WebCore::PlatformMediaSessionManager::currentSessionsMatching):
(WebCore::PlatformMediaSessionManager::applicationWillEnterBackground):
(WebCore::PlatformMediaSessionManager::applicationDidEnterForeground):
(WebCore::PlatformMediaSessionManager::systemWillSleep):
(WebCore::PlatformMediaSessionManager::systemDidWake):
(WebCore::PlatformMediaSessionManager::stopAllMediaPlaybackForDocument):
(WebCore::PlatformMediaSessionManager::stopAllMediaPlaybackForProcess):
(WebCore::PlatformMediaSessionManager::forEachSession):
(WebCore::PlatformMediaSessionManager::anyOfSessions):
- platform/audio/PlatformMediaSessionManager.h:
- 11:32 AM Changeset in webkit [207687] by
-
- 38 edits in trunk/Source/WebCore
Move some more assorted classes from ExceptionCode to Exception
https://bugs.webkit.org/show_bug.cgi?id=163775
Reviewed by Chris Dumez.
- Modules/fetch/WorkerGlobalScopeFetch.cpp:
(WebCore::WorkerGlobalScopeFetch::fetch): Remove unnecessary calls to
WorkerGlobalScope::scriptExcutionObject, which just returns the scope itself.
- Modules/notifications/Notification.cpp: Added now-needed include.
- Modules/webdatabase/DOMWindowWebDatabase.cpp: Ditto.
- WebCore.xcodeproj/project.pbxproj: Added WindowOrWorkerGlobalScope.idl.
- bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp:
(WebCore::JSDedicatedWorkerGlobalScope::postMessage): Pass a reference instead
of a pointer to handlePostMessage.
- bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::postMessage): Ditto.
- bindings/js/JSMessagePortCustom.h: Use pragma once. Change handlePostMessage
to take a reference to the object instead of a pointer, and also to use
propagateException since postMessage now uses ExceptionOr.
- bindings/js/JSWorkerCustom.cpp:
(WebCore::JSWorker::postMessage): Pass a reference instead of a pointer to
handlePostMessage.
(WebCore::constructJSWorker): Use the version of toJSNewlyCreated that handles
propagating an exception from ExceptionOr.
- bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::visitAdditionalChildren): Use auto.
Remove unnecessary round trip through the scriptExecutionContext function.
(WebCore::JSWorkerGlobalScope::importScripts): Use reserveInitialCapacity and
uncheckedAppend to build up the vector of strings. Use propagateException
to deal with ExceptionOr result.
- dom/MessagePort.cpp:
(WebCore::MessagePort::MessagePort): Initialize boolean data members in the
class definition instead of here.
(WebCore::MessagePort::postMessage): Use ExceptionOr.
(WebCore::MessagePort::entangle): Use an rvalue reference.
(WebCore::MessagePort::dispatchMessages): Use ExceptionOr.
(WebCore::MessagePort::disentanglePorts): Ditto. Also use a more efficient
idiom that does half as much hashing as the old algorithm, and got rid an
unneeded local variable.
(WebCore::MessagePort::entanglePorts): Use an rvalue reference.
- dom/MessagePort.h: Updated for above changes.
- fileapi/FileReader.cpp:
(WebCore::FileReader::create): Use auto.
(WebCore::FileReader::FileReader): Initialize scalars in the class definition.
(WebCore::FileReader::~FileReader): Call cancel on the loader directly
instead of sharing code with the stop function.
(WebCore::FileReader::stop): Moved the body of the terminate function here.
(WebCore::FileReader::readAsArrayBuffer): Use ExceptionOr.
(WebCore::FileReader::readAsBinaryString): Ditto.
(WebCore::FileReader::readAsText): Ditto.
(WebCore::FileReader::readAsDataURL): Ditto.
(WebCore::FileReader::readInternal): Ditto. Also add a cast now that
we derive privately from FileReaderLoaderClient.
(WebCore::FileReader::abort): Call stop instead of terminate.
(WebCore::FileReader::terminate): Deleted. Moved code into stop.
(WebCore::FileReader::didReceiveData): Moved comment to where the constant is.
- fileapi/FileReader.h: Updated for above changes. Made more functions private
and used final instead of override.
- fileapi/FileReader.idl: Use non-legacy exceptions.
- fileapi/FileReaderSync.cpp:
(WebCore::FileReaderSync::readAsArrayBuffer): Use ExceptionOr.
(WebCore::FileReaderSync::readAsBinaryString): Ditto.
(WebCore::FileReaderSync::readAsText): Ditto.
(WebCore::FileReaderSync::readAsDataURL): Ditto.
(WebCore::FileReaderSync::startLoading): Ditto.
(WebCore::FileReaderSync::startLoadingString): Added. Helper to cut down on
repeated code in functions above.
- fileapi/FileReaderSync.h: Updated for above changes.
- fileapi/FileReaderSync.idl: Use non-legacy exceptions.
- page/Base64Utilities.cpp:
(WebCore::Base64Utilities::btoa): Use ExceptionOr.
(WebCore::Base64Utilities::atob): Ditto.
- page/Base64Utilities.h: Updated for above changes.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::navigator): Pass a reference to the frame.
(WebCore::DOMWindow::postMessage): Use ExceptionOr when calling
MessagePort::disentanglePorts. Also udpated for changes to the
PostMessageTimer.
- page/Navigator.cpp:
(WebCore::Navigator::Navigator): Take a reference.
(WebCore::shouldHideFourDot): Ditto
(WebCore::Navigator::appVersion): Pass a reference.
(WebCore::Navigator::plugins): Return a reference.
(WebCore::Navigator::mimeTypes): Ditto.
- page/Navigator.h: Updated for above changes. Also marked the
class final and moved derivation from RefCounted to NavigatorBase.
- page/NavigatorBase.h: Addded derivation from RefCounted since
both derived classes want that, and the destructor is already virtual.
- page/WindowOrWorkerGlobalScope.idl: Use non-legacy exceptions.
- page/WorkerNavigator.cpp:
(WebCore::WorkerNavigator::~WorkerNavigator): Deleted.
- page/WorkerNavigator.h: Moved derivation from RefCounted to
NavigatorBase. Also marked class final.
- workers/AbstractWorker.cpp:
(WebCore::AbstractWorker::resolveURL): Use ExceptionOr.
- workers/AbstractWorker.h: Updated for above changes.
- workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::create): Use RefPtr&&
instead of PassRefPtr.
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
Ditto.
(WebCore::DedicatedWorkerGlobalScope::postMessage): Use ExceptionOr.
(WebCore::DedicatedWorkerGlobalScope::importScripts): Ditto.
- workers/DedicatedWorkerGlobalScope.h: Updated for above changes.
- workers/DedicatedWorkerGlobalScope.idl: Use non-legacy exceptions.
- workers/Worker.cpp:
(WebCore::Worker::create): Use ExceptionOr.
(WebCore::Worker::postMessage): Ditto.
- workers/Worker.h: Updated for above changes.
- workers/Worker.idl: Use non-legacy exception.
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope): Moved initialization
of m_closing to class definition.
(WebCore::WorkerGlobalScope::~WorkerGlobalScope): Removed call to
deleted notifyObserversOfStop function.
(WebCore::WorkerGlobalScope::importScripts): Use ExceptionOr. Also use
reserveInitialCapacity and uncheckedAppend to build a vector.
(WebCore::WorkerGlobalScope::addConsoleMessage): Use an rvalue reference.
Also moved the body of one of the addMessageToWorkerConsole overloads into
one of the overloads of this function, and changed the other to call addMessage.
(WebCore::WorkerGlobalScope::addMessage): Moved the body of the other
addMessageToWorkerConsole here.
(WebCore::WorkerGlobalScope::addMessageToWorkerConsole): Deleted.
(WebCore::WorkerGlobalScope::Observer::Observer): Deleted.
(WebCore::WorkerGlobalScope::Observer::~Observer): Deleted.
(WebCore::WorkerGlobalScope::Observer::stopObserving): Deleted.
(WebCore::WorkerGlobalScope::registerObserver): Deleted.
(WebCore::WorkerGlobalScope::unregisterObserver): Deleted.
(WebCore::WorkerGlobalScope::notifyObserversOfStop): Deleted.
- workers/WorkerGlobalScope.h: Removed unneeded includes. Moved many virtual
function overrides into the private section. Marked many functions final instead
of just override. Removed unused Observer class and m_workerObservers set.
- workers/WorkerThread.cpp:
(WebCore::WorkerThread::stop): Removed call to deleted
WorkerGlobalScope::notifyObserversOfStop function.
- 11:20 AM Changeset in webkit [207686] by
-
- 6 edits in trunk/Source/WebCore
Tighten ComputedStyleExtractor to use Element instead of Node
https://bugs.webkit.org/show_bug.cgi?id=163798
Reviewed by Andreas Kling.
Also make its functions non-const as they may compute style.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::styleElementForNode):
(WebCore::ComputedStyleExtractor::ComputedStyleExtractor):
If we are called with a Node figure out the style Element in constructor.
(WebCore::ComputedStyleExtractor::getFontSizeCSSValuePreferringKeyword):
(WebCore::ComputedStyleExtractor::useFixedFontDefaultSize):
(WebCore::ComputedStyleExtractor::styledElement):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::copyProperties):
(WebCore::elementOrItsAncestorNeedsStyleRecalc):
Use composed tree iterator for increased correctness in shadow trees.
(WebCore::updateStyleIfNeededForElement):
(WebCore::computeRenderStyleForProperty):
(WebCore::ComputedStyleExtractor::customPropertyValue):
(WebCore::ComputedStyleExtractor::customPropertyText):
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::CSSComputedStyleDeclaration::length):
(WebCore::CSSComputedStyleDeclaration::item):
(WebCore::ComputedStyleExtractor::propertyMatches):
(WebCore::ComputedStyleExtractor::copyProperties):
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForShorthandProperties):
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForSidesShorthand):
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForGridShorthand):
(WebCore::ComputedStyleExtractor::copyPropertiesInSet):
(WebCore::CSSComputedStyleDeclaration::getPropertyValue):
(WebCore::ComputedStyleExtractor::getBackgroundShorthandValue):
(WebCore::ComputedStyleExtractor::styledNode): Deleted.
(WebCore::nodeOrItsAncestorNeedsStyleRecalc): Deleted.
(WebCore::updateStyleIfNeededForNode): Deleted.
- css/CSSComputedStyleDeclaration.h:
- css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::svgPropertyValue):
- editing/EditingStyle.cpp:
(WebCore::EditingStyle::removeEquivalentProperties):
- editing/EditingStyle.h:
- 10:56 AM Changeset in webkit [207685] by
-
- 4 edits in trunk/Source/WebCore
WebGL2RenderingContext.texSubImage3D() should use a union instead of overloading
https://bugs.webkit.org/show_bug.cgi?id=163792
Reviewed by Darin Adler.
WebGL2RenderingContext.texSubImage3D() should use a union instead of overloading for
- https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7 (for texSubImage3D)
- https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14 (for TexImageSource)
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::texSubImage3D):
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGL2RenderingContext.idl:
- 10:49 AM Changeset in webkit [207684] by
-
- 3 edits1 add in trunk
[JSC] don't crash when arguments to
new Function()
produce unexpected AST
https://bugs.webkit.org/show_bug.cgi?id=163748
Reviewed by Mark Lam.
JSTests:
- stress/regress-163748.js: Added.
(assert):
(shouldThrowSyntaxError):
(GeneratorFunction):
Source/JavaScriptCore:
The ASSERT(statement); and ASSERT(funcDecl); lines are removed, replaced with blocks
to report a generic Parser error message. These lines are only possible to be reached
if the input string produced an unexpected AST, which previously could be used to crash
the process via ASSERT failure.
The node type assertions are left in the tree, as it should be impossible for a top-level
{
to produce anything other than a Block node. If the node turns out not to be a Block,
it indicates that the (C++) caller of this function (E.g in FunctionConstructor.cpp), is
doing something incorrect. Similarly, it should be impossible for thefuncDecl
node to
be anything other than a function declaration given the conventions of the caller of this
function.
- runtime/CodeCache.cpp:
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
- 10:39 AM Changeset in webkit [207683] by
-
- 3 edits2 adds in trunk
Do not mutate the render tree while collecting selection repaint rects.
https://bugs.webkit.org/show_bug.cgi?id=163800
<rdar://problem/28806886>
Reviewed by David Hyatt.
Source/WebCore:
RenderListItem not only mutates the tree while in layout but it also uses
the old descendant context to find the insertion point.
This patch strictly ensures that we only do it while in layout and never
in other cases such as collecting repaint rects.
This gets redundant when webkit.org/b/163789 is fixed.
Test: fast/lists/crash-when-list-marker-is-moved-during-selection.html
- rendering/RenderListItem.cpp:
(WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):
LayoutTests:
- fast/lists/crash-when-list-marker-is-moved-during-selection-expected.txt: Added.
- fast/lists/crash-when-list-marker-is-moved-during-selection.html: Added.
- 10:23 AM Changeset in webkit [207682] by
-
- 2 edits in trunk/Source/WebCore
[CSS Parser] Support horizontal-bt writing mode
https://bugs.webkit.org/show_bug.cgi?id=163797
Reviewed by Zalan Bujtas.
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
- 10:10 AM Changeset in webkit [207681] by
-
- 8 edits in trunk/Source/WebCore
[Win][Direct2D] Correct some memory leaks and other minor bugs
https://bugs.webkit.org/show_bug.cgi?id=163769
Reviewed by Alex Christensen.
Several D2D handles were being leaked.
Direct2D sometimes returns an infinite rect containing { -inf, -inf, FloatMax, FloatMax },
sometimes { -FloatMax, -FloatMax, inf, inf }, and various combinations thereof. This caused
most SVG drawing to decide no screen rect was contained in the "infinite rect" so nothing
would be drawn.
Tested by existing layout tests.
- platform/graphics/GraphicsContext.h:
- platform/graphics/win/FloatRectDirect2D.cpp:
(WebCore::isInfiniteRect): Recognize various infinite rects in Windows.
(WebCore::FloatRect::FloatRect): Convert a Windows infinite rect to the style
we use inside WebKit.
- platform/graphics/win/FontCascadeDirect2D.cpp:
(WebCore::FontCascade::drawGlyphs): Use cached brushes if possible.
- platform/graphics/win/GlyphPageTreeNodeDirect2D.cpp:
(WebCore::GlyphPage::fill): Don't terminate on this error case.
- platform/graphics/win/GradientDirect2D.cpp:
(WebCore::Gradient::generateGradient): Don't leak gradients.
- platform/graphics/win/GraphicsContextDirect2D.cpp:
(WebCore::GraphicsContextPlatformPrivate::brushWithColor): Added.
(WebCore::GraphicsContext::brushWithColor): Added.
(WebCore::GraphicsContextPlatformPrivate::concatCTM): Perform transform multiplication
in the right order (hint: it's not distributive).
(WebCore::GraphicsContext::drawWithShadow): Use convenience method.
(WebCore::GraphicsContext::fillRect): Ditto.
(WebCore::GraphicsContext::platformFillRoundedRect): Ditto.
(WebCore::GraphicsContext::clearRect): Ditto.
(WebCore::GraphicsContext::setPlatformStrokeColor): Ditto.
(WebCore::GraphicsContext::setPlatformFillColor): Ditto.
- platform/graphics/win/PathDirect2D.cpp:
(WebCore::Path::polygonPathFromPoints): No need to convert manually.
(WebCore::Path::~Path): Don't leak ID2D1Geometry entities.
(WebCore::Path::appendGeometry): Ditto.
(WebCore::Path::createGeometryWithFillMode): Ditto.
(WebCore::Path::Path): Ditto.
(WebCore::Path::operator=): Ditto.
(WebCore::Path::strokeBoundingRect): Provide an implementation.
(WebCore::Path::addRect): No need for manual casting here.
- 10:08 AM Changeset in webkit [207680] by
-
- 2 edits in trunk/Source/WebCore
Fix minor style issue in the signature of StaticRange::create
https://bugs.webkit.org/show_bug.cgi?id=163786
<rdar://problem/28853079>
Reviewed by Alex Christensen.
Change
Ref<WebCore::Node> &&
toRef<Node>&&
.
- dom/StaticRange.cpp:
(WebCore::StaticRange::create):
- 10:03 AM Changeset in webkit [207679] by
-
- 2 edits in trunk/Source/WebCore
[CSS Parser] Add support for -webkit-line-box-contain
https://bugs.webkit.org/show_bug.cgi?id=163794
Reviewed by Zalan Bujtas.
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeLineBoxContain):
(WebCore::CSSPropertyParser::parseSingleValue):
- 10:00 AM Changeset in webkit [207678] by
-
- 5 edits in trunk/Source
Versioning.
- 9:49 AM WikiStart edited by
- Added 2016 WebKit Contributors Meeting (diff)
- 9:47 AM October 2016 Meeting created by
- 9:35 AM Changeset in webkit [207677] by
-
- 7 edits in trunk/Source/WebCore
[CSS Parser] Add support for @-webkit-region rules
https://bugs.webkit.org/show_bug.cgi?id=163787
Reviewed by Zalan Bujtas.
- css/StyleRule.cpp:
(WebCore::StyleRuleRegion::StyleRuleRegion):
- css/StyleRule.h:
- css/parser/CSSAtRuleID.cpp:
(WebCore::cssAtRuleID):
- css/parser/CSSAtRuleID.h:
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeAtRule):
(WebCore::CSSParserImpl::consumePageRule):
(WebCore::CSSParserImpl::consumeRegionRule):
- css/parser/CSSParserImpl.h:
- 9:14 AM Changeset in webkit [207676] by
-
- 2 edits in trunk/Source/WebCore
Bug 163757: Use IntSize::unclampedArea() in PDFDocumentImage::updateCachedImageIfNeeded()
<https://webkit.org/b/163757>
Reviewed by Brent Fulgham.
No new tests since there is no change in nominal behavior.
- platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::updateCachedImageIfNeeded): Use
IntSize::unclampedArea() where manual calculations were used
previously. Also gets rid of more safeCast<size_t>() use.
- 9:12 AM Changeset in webkit [207675] by
-
- 2 edits in trunk/LayoutTests
[GTK] Unreviewed gardening: update expectations after r207664
https://bugs.webkit.org/show_bug.cgi?id=163784
Unreviewed gardening.
Patch by Miguel Gomez <magomez@igalia.com> on 2016-10-21
- platform/gtk/TestExpectations:
- 9:12 AM Changeset in webkit [207674] by
-
- 4 edits in trunk/Source/WebCore
[Web IDL] Support unions in our overload resolution algorithm
https://bugs.webkit.org/show_bug.cgi?id=163764
Reviewed by Darin Adler.
Support unions in our overload resolution algorithm as per:
- https://heycam.github.io/webidl/#es-overloads
- https://heycam.github.io/webidl/#dfn-distinguishable
- bindings/scripts/CodeGeneratorJS.pm:
(IsIDLTypeDistinguishableWithUnionForOverloadResolution):
(AreTypesDistinguishableForOverloadResolution):
(GetOverloadThatMatches):
(GenerateOverloadedFunctionOrConstructor):
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/TestObj.idl:
- 9:10 AM Changeset in webkit [207673] by
-
- 1 copy in tags/Safari-603.1.10
New tag.
- 9:09 AM Changeset in webkit [207672] by
-
- 9 edits in trunk
AudioNode.connect(): First parameter should not be nullable
https://bugs.webkit.org/show_bug.cgi?id=163773
Reviewed by Darin Adler.
Source/WebCore:
AudioNode.connect()'s first parameter should not be nullable:
We were throwing a SYNTAX_ERR when passing null, we now throw
a TypeError instead.
No new tests, updated existing test.
- Modules/webaudio/AudioBasicInspectorNode.cpp:
(WebCore::AudioBasicInspectorNode::connect):
- Modules/webaudio/AudioBasicInspectorNode.h:
- Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::connect):
- Modules/webaudio/AudioNode.h:
- Modules/webaudio/AudioNode.idl:
LayoutTests:
Improve test coverage.
- webaudio/audionode-expected.txt:
- webaudio/audionode.html:
- 9:02 AM Changeset in webkit [207671] by
-
- 16 edits in trunk
Add support for WASM calls
https://bugs.webkit.org/show_bug.cgi?id=161727
Reviewed by Filip Pizlo and Michael Saboff.
JSTests:
Add members of the Call category to the WASMOps special group.
- wasm/generate-wasmops-header.js:
Source/JavaScriptCore:
Add support for WASM calls. Since most of the work for this was already done when we added
WASM Memory, this is mostly just cleanup work. The main interesting part of this patch is
how we link calls to other WASM functions in the same module. Since a WASM callee may not
have been compiled by the time the current function has started compilation we don't know
what address we need to call to. For each callsite in the compiling function, WASM
remembers the CodeLocationCall and the target function index. Once all WASM functions are
compiled, each callsite is linked to the appropriate entrypoint.
- testWASM.cpp:
(runWASMTests):
- wasm/WASMB3IRGenerator.cpp:
(JSC::WASM::createJSWrapper):
(JSC::WASM::parseAndCompile):
- wasm/WASMB3IRGenerator.h:
- wasm/WASMCallingConvention.cpp:
(JSC::WASM::jscCallingConvention):
(JSC::WASM::wasmCallingConvention):
- wasm/WASMCallingConvention.h:
(JSC::WASM::CallingConvention::CallingConvention):
(JSC::WASM::CallingConvention::marshallArgumentImpl):
(JSC::WASM::CallingConvention::marshallArgument):
(JSC::WASM::CallingConvention::loadArguments):
(JSC::WASM::CallingConvention::setupCall):
(JSC::WASM::CallingConvention::iterate): Deleted.
- wasm/WASMFormat.h:
- wasm/WASMFunctionParser.h:
(JSC::WASM::FunctionParser<Context>::FunctionParser):
(JSC::WASM::FunctionParser<Context>::parseBlock):
(JSC::WASM::FunctionParser<Context>::parseExpression):
- wasm/WASMModuleParser.cpp:
(JSC::WASM::ModuleParser::parse):
- wasm/WASMOps.h:
- wasm/WASMParser.h:
(JSC::WASM::Parser::parseVarUInt32):
(JSC::WASM::Parser::parseVarUInt64):
- wasm/WASMPlan.cpp:
(JSC::WASM::Plan::Plan):
Source/WTF:
Added a new decodeUInt64. Also, added WTF::LEBDecoder namespace.
- wtf/LEBDecoder.h:
(WTF::LEBDecoder::decodeUInt):
(WTF::LEBDecoder::decodeUInt32):
(WTF::LEBDecoder::decodeUInt64):
(WTF::LEBDecoder::decodeInt32):
(decodeUInt32): Deleted.
(decodeInt32): Deleted.
- 8:51 AM Changeset in webkit [207670] by
-
- 34 edits3 copies6 adds in trunk
Implement InputEvent.getTargetRanges() for the input events spec
https://bugs.webkit.org/show_bug.cgi?id=162947
<rdar://problem/28853079>
Reviewed by Darin Adler.
Source/JavaScriptCore:
Boilerplate change to add a runtime guard for InputEvents-related IDL interfaces. See WebCore ChangeLog entry
for more details.
- runtime/CommonIdentifiers.h:
Source/WebCore:
Implements InputEvent.getTargetRanges(). See individual method changes below for more details. Adds a new hook
for subclasses of CompositeEditCommand to vend a list of target StaticRanges when retrieving target ranges for
an editing command on a contenteditable area.
Tests: fast/events/before-input-delete-empty-list-target-ranges.html
fast/events/before-input-delete-text-target-ranges.html
fast/events/before-input-replace-text-target-ranges.html
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
Add StaticRange.idl, StaticRange.cpp and StaticRange.h.
- bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setInputEventsEnabled):
(WebCore::RuntimeEnabledFeatures::inputEventsEnabled):
Add a new runtime bindings flag for InputEvents and guard both InputEvent and StaticRange behind it.
- dom/DOMAllInOne.cpp:
- dom/InputEvent.cpp:
(WebCore::InputEvent::InputEvent):
- dom/InputEvent.h:
- dom/InputEvent.idl:
- dom/StaticRange.cpp: Copied from Source/WebCore/dom/InputEvent.cpp.
(WebCore::StaticRange::StaticRange):
(WebCore::StaticRange::create):
(WebCore::StaticRange::createFromRange):
Convenience method for creating a StaticRange from a Range's start/end container and offset.
(WebCore::StaticRange::startContainer):
(WebCore::StaticRange::endContainer):
(WebCore::StaticRange::collapsed):
- dom/StaticRange.h: Copied from Source/WebCore/dom/InputEvent.cpp.
(WebCore::StaticRange::startOffset):
(WebCore::StaticRange::endOffset):
- dom/StaticRange.idl: Copied from Source/WebCore/editing/ReplaceRangeWithTextCommand.h.
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::willApplyCommand):
(WebCore::CompositeEditCommand::targetRanges):
Virtual method that returns a list of target ranges which are associated with this command.
(WebCore::CompositeEditCommand::targetRangesForBindings):
Non-virtual method that calls the above targetRanges(). Takes whether or not the CompositeEditCommand is editing
a textarea or plain text input into account.
(WebCore::CompositeEditCommand::moveParagraphs):
- editing/CompositeEditCommand.h:
- editing/EditCommand.cpp:
(WebCore::EditCommand::frame):
- editing/EditCommand.h:
(WebCore::EditCommand::document):
- editing/Editor.cpp:
(WebCore::dispatchBeforeInputEvent):
(WebCore::dispatchInputEvent):
(WebCore::dispatchBeforeInputEvents):
Changed the
beforeinput
event dispatch to use the regular Node::dispatchEvent instead of dispatchScopedEvent.
This is because if the page prevents thebeforeinput
event, we need to know immediately in order to bail from
the default action.
(WebCore::dispatchInputEvents):
(WebCore::Editor::willApplyEditing):
Added a list of static ranges as a parameter when calling on the Editor to dispatch
beforeinput
events.
By default, this uses the composite edit command's targetRangesForBindings(), though it may be special cased
by subclasses of CompositeEditCommand (see ReplaceRangeWithTextCommand, SpellingCorrectionCommand, and
TypingCommand).
- editing/Editor.h:
- editing/ReplaceRangeWithTextCommand.cpp:
(WebCore::ReplaceRangeWithTextCommand::targetRanges):
- editing/ReplaceRangeWithTextCommand.h:
- editing/SpellingCorrectionCommand.cpp:
(WebCore::SpellingCorrectionCommand::targetRanges):
- editing/SpellingCorrectionCommand.h:
- editing/TypingCommand.cpp:
(WebCore::editActionIsDeleteByTyping):
(WebCore::TypingCommand::shouldDeferWillApplyCommandUntilAddingTypingCommand):
(WebCore::TypingCommand::willApplyCommand):
(WebCore::TypingCommand::willAddTypingToOpenCommand):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
Moves the firing of the
beforeinput
until after the selection range to delete has been computed.
- editing/TypingCommand.h:
Source/WebKit2:
Boilerplate change to add a runtime guard for InputEvents-related IDL interfaces. See WebCore ChangeLog entry
for more details.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
LayoutTests:
Adds 3 new layout tests and tweaks some existing unit tests. See WebCore ChangeLog entry for more details.
Tests verify the result of getTargetRanges() when breaking out of a list, deleting backwards and forwards at
all text granularities, deleting selected text, and spell checking (candidate text replacement).
- fast/events/before-input-delete-empty-list-target-ranges-expected.txt: Added.
- fast/events/before-input-delete-empty-list-target-ranges.html: Added.
- fast/events/before-input-delete-text-target-ranges-expected.txt: Added.
- fast/events/before-input-delete-text-target-ranges.html: Added.
- fast/events/before-input-events-prevent-default-in-textfield.html:
- fast/events/before-input-replace-text-target-ranges-expected.txt: Added.
- fast/events/before-input-replace-text-target-ranges.html: Added.
- fast/events/input-events-fired-when-typing-expected.txt:
- fast/events/input-events-fired-when-typing.html:
- js/dom/global-constructors-attributes-expected.txt:
- platform/ios-simulator/TestExpectations:
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- 8:36 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 8:36 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 6:36 AM Changeset in webkit [207669] by
-
- 29 edits in trunk/Source
Style resolver should be updated lazily
https://bugs.webkit.org/show_bug.cgi?id=163721
Reviewed by Andreas Kling.
Currently when stylesheets change in some way we generally update style resolvers and
invalidate style immediately. We should do this lazily to avoid unnecessary work.
Also improve naming of the stylesheet invalidation functions and use more optimal functions in some places.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::updateStyleIfNeededForNode):
- css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::didMutateRules):
(WebCore::CSSStyleSheet::didMutate):
(WebCore::CSSStyleSheet::setDisabled):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
Initialize root style font with null font selector.
This avoids hitting a CSSFontSelector assert in fast/media/mq-relative-constraints-08.html where
media query evaluation requires font information before it is ready.
Exposed by increased laziness in this patch.
- dom/Document.cpp:
(WebCore::Document::setContentLanguage):
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
(WebCore::Document::isPageBoxVisible):
(WebCore::Document::pageSizeAndMarginsInPixels):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::setSelectedStylesheetSet):
(WebCore::Document::didInsertInDocumentShadowRoot):
(WebCore::Document::didRemoveInDocumentShadowRoot):
- dom/Document.h:
(WebCore::Document::inDocumentShadowRoots):
Track all shadow roots in the document. This allows us to find and flush style scopes cheaply.
- dom/Element.cpp:
(WebCore::Element::computedStyle):
- dom/ExtensionStyleSheets.cpp:
(WebCore::ExtensionStyleSheets::ExtensionStyleSheets):
(WebCore::ExtensionStyleSheets::clearPageUserSheet):
(WebCore::ExtensionStyleSheets::updatePageUserSheet):
(WebCore::ExtensionStyleSheets::invalidateInjectedStyleSheetCache):
(WebCore::ExtensionStyleSheets::addUserStyleSheet):
(WebCore::ExtensionStyleSheets::addAuthorStyleSheetForTesting):
(WebCore::ExtensionStyleSheets::addDisplayNoneSelector):
(WebCore::ExtensionStyleSheets::maybeAddContentExtensionSheet):
(WebCore::ExtensionStyleSheets::styleResolverChangedTimerFired): Deleted.
Since updates are now done lazily we don't need a special timer for extension stylesheets.
- dom/ExtensionStyleSheets.h:
- dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
(WebCore::ProcessingInstruction::sheetLoaded):
(WebCore::ProcessingInstruction::removedFrom):
- dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::insertedInto):
(WebCore::ShadowRoot::removedFrom):
(WebCore::ShadowRoot::styleScope):
- dom/ShadowRoot.h:
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setDisabledState):
(WebCore::HTMLLinkElement::parseAttribute):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::removePendingSheet):
- html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::parseAttribute):
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::createInspectorStyleSheetForDocument):
(WebCore::InspectorCSSAgent::forcePseudoState):
(WebCore::InspectorCSSAgent::resetPseudoStates):
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::setEmulatedMedia):
- page/Frame.cpp:
(WebCore::Frame::setPrinting):
- page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::setPagination):
(WebCore::FrameView::setViewportSizeForCSSViewportUnits):
- page/Page.cpp:
(WebCore::Page::setViewMode):
(WebCore::Page::setNeedsRecalcStyleInAllFrames):
(WebCore::Page::invalidateInjectedStyleSheetCacheInAllFrames):
- style/StyleScope.cpp:
(WebCore::Style::Scope::setPreferredStylesheetSetName):
(WebCore::Style::Scope::setSelectedStylesheetSetName):
(WebCore::Style::Scope::removePendingSheet):
(WebCore::Style::Scope::removeStyleSheetCandidateNode):
(WebCore::Style::Scope::activeStyleSheetsForInspector):
(WebCore::Style::Scope::flushPendingUpdate):
Also flush descendant shadow roots.
(WebCore::Style::Scope::scheduleUpdate):
(WebCore::Style::Scope::didChangeActiveStyleSheetCandidates):
Make lazy.
(WebCore::Style::Scope::didChangeStyleSheetContents):
Make lazy.
(WebCore::Style::Scope::didChangeStyleSheetEnvironment):
Environment changes also affect author shadow roots.
(WebCore::Style::Scope::styleSheetsForStyleSheetList):
(WebCore::Style::Scope::scheduleActiveSetUpdate): Deleted.
(WebCore::Style::Scope::didChangeCandidatesForActiveSet): Deleted.
(WebCore::Style::Scope::didChangeContentsOrInterpretation): Deleted.
Improved naming of these and split didChangeContentsOrInterpretation into two separate functions.
- style/StyleScope.h:
(WebCore::Style::Scope::styleSheetsForStyleSheetList): Deleted.
(WebCore::Style::Scope::setPreferredStylesheetSetName): Deleted.
(WebCore::Style::Scope::setSelectedStylesheetSetName): Deleted.
- svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::rebuildFontFace):
(WebCore::SVGFontFaceElement::removedFrom):
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
Ensure that cationsStyleSheetOverride really becomes empty. Some tests rely on not having suprise
inserted stylesheets. Previously this was racy and the patch affected order of things.
(WebCore::Internals::styleChangeType):
- xml/XMLTreeViewer.cpp:
(WebCore::XMLTreeViewer::transformDocumentToTreeView):
- xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::end):
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doEnd):
- 6:27 AM Changeset in webkit [207668] by
-
- 4 edits in trunk
[EFL] REGRESSION(r207616): Build is broken due to missing libgeoclue-dev package
https://bugs.webkit.org/show_bug.cgi?id=163733
Reviewed by Gyuyoung Kim.
.:
- Source/cmake/OptionsEfl.cmake: Expose USE_GEOCLUE2 to the build properly.
Tools:
- efl/install-dependencies: Added geoclue-2.0 package.
- 5:24 AM Changeset in webkit [207667] by
-
- 2 edits1 copy1 delete in trunk/Source/WebCore
WebRTC: [OpenWebRTC] Move SDPProcessorScriptResource(Gtk) to openwebrtc directory
https://bugs.webkit.org/show_bug.cgi?id=163778
Reviewed by Philippe Normand.
Move SDPProcessorScriptResourceGtk from the platform gtk directory to the port generic
openwebrtc directory to make it usable by other ports. Also drop the Gtk-suffix.
No change of behavior.
- PlatformGTK.cmake:
- platform/mediastream/gtk/SDPProcessorScriptResourceGtk.cpp:
(WebCore::SDPProcessorScriptResource::scriptString): Deleted.
- platform/mediastream/openwebrtc/SDPProcessorScriptResource.cpp: Renamed from Source/WebCore/platform/mediastream/gtk/SDPProcessorScriptResourceGtk.cpp.
(WebCore::SDPProcessorScriptResource::scriptString):
- 3:26 AM Changeset in webkit [207666] by
-
- 6 edits in trunk/Source/WebCore
[GTK] Several tests crashing on debug bot in (anonymous namespace)::MediaPlayerPrivateGStreamerBase::repaint
https://bugs.webkit.org/show_bug.cgi?id=163511
Patch by Miguel Gomez <magomez@igalia.com> on 2016-10-21
Reviewed by Carlos Garcia Campos.
Perform the video repaint in the main thread when accelerated compositing is disabled. Added a new method to
MediaPlayerClient to get whether accelerated compositing is enabled from the MediaPlayer. This is needed
because mediaPlayerAcceleratedCompositingEnabled() will return false while HTMLMediaElement doesn't have a
RenderVideo, even when accelerated compositing is enabled.
Covered by existent tests.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerAcceleratedCompositingEnabled):
- html/HTMLMediaElement.h:
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerAcceleratedCompositingEnabled):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::repaint):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- 3:20 AM Changeset in webkit [207665] by
-
- 5 edits3 adds in trunk
WebRTC: [GTK] Add MediaEndpointOwr - an OpenWebRTC WebRTC backend
https://bugs.webkit.org/show_bug.cgi?id=163327
Reviewed by Philippe Normand.
.:
Add manual WebRTC test. Test features:
- Two RTCPeerConnection instances communicate in a single browser tab.
- Supports setting up bidirectional media with a single SDP dialog, as well as one direction at a time.
- Strips vendor prefixes (runs in Chrome and Firefox as well)
- Supports modern as well as legacy APIs (mainly to make the test run in Chrome)
- ManualTests/webrtc-one-tab-p2p.html: Added.
Source/WebCore:
Add MediaEndpointOwr which is a MediaEndpoint implementation (WebRTC backend) based on
OpenWebRTC [1]. The WebRTC backend can be tested with a manual test. Automatic testing
is still done with MockMediaEndpoint.
[1] http://www.openwebrtc.org/
Testing: Added manual test (webrtc-one-tab-p2p.html)
- CMakeLists.txt:
- platform/GStreamer.cmake:
- platform/mediastream/openwebrtc/MediaEndpointOwr.cpp: Added.
(WebCore::createMediaEndpointOwr):
(WebCore::MediaEndpointOwr::MediaEndpointOwr):
(WebCore::MediaEndpointOwr::~MediaEndpointOwr):
(WebCore::MediaEndpointOwr::setConfiguration):
(WebCore::cryptoDataCallback):
(WebCore::MediaEndpointOwr::generateDtlsInfo):
(WebCore::MediaEndpointOwr::getDefaultAudioPayloads):
(WebCore::MediaEndpointOwr::getDefaultVideoPayloads):
(WebCore::payloadsContainType):
(WebCore::MediaEndpointOwr::filterPayloads):
(WebCore::MediaEndpointOwr::updateReceiveConfiguration):
(WebCore::findRtxPayload):
(WebCore::MediaEndpointOwr::updateSendConfiguration):
(WebCore::MediaEndpointOwr::addRemoteCandidate):
(WebCore::MediaEndpointOwr::replaceMutedRemoteSourceMid):
(WebCore::MediaEndpointOwr::createMutedRemoteSource):
(WebCore::MediaEndpointOwr::replaceSendSource):
(WebCore::MediaEndpointOwr::stop):
(WebCore::MediaEndpointOwr::transceiverIndexForSession):
(WebCore::MediaEndpointOwr::sessionMid):
(WebCore::MediaEndpointOwr::matchTransceiverByMid):
(WebCore::MediaEndpointOwr::dispatchNewIceCandidate):
(WebCore::MediaEndpointOwr::dispatchGatheringDone):
(WebCore::MediaEndpointOwr::processIceTransportStateChange):
(WebCore::MediaEndpointOwr::dispatchDtlsFingerprint):
(WebCore::MediaEndpointOwr::unmuteRemoteSource):
(WebCore::MediaEndpointOwr::prepareSession):
(WebCore::MediaEndpointOwr::prepareMediaSession):
(WebCore::parseHelperServerUrl):
(WebCore::MediaEndpointOwr::ensureTransportAgentAndTransceivers):
(WebCore::MediaEndpointOwr::internalAddRemoteCandidate):
(WebCore::gotCandidate):
(WebCore::candidateGatheringDone):
(WebCore::iceConnectionStateChange):
(WebCore::gotIncomingSource):
- platform/mediastream/openwebrtc/MediaEndpointOwr.h: Added.
(WebCore::OwrTransceiver::create):
(WebCore::OwrTransceiver::~OwrTransceiver):
(WebCore::OwrTransceiver::mid):
(WebCore::OwrTransceiver::session):
(WebCore::OwrTransceiver::owrIceState):
(WebCore::OwrTransceiver::setOwrIceState):
(WebCore::OwrTransceiver::gotEndOfRemoteCandidates):
(WebCore::OwrTransceiver::markGotEndOfRemoteCandidates):
(WebCore::OwrTransceiver::OwrTransceiver):
- platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h:
(WebCore::RealtimeMediaSourceOwr::RealtimeMediaSourceOwr):
(WebCore::RealtimeMediaSourceOwr::swapOutShallowSource):
Add support for an initially muted source. This is used for early
creation of remote sources.
- 1:17 AM Changeset in webkit [207664] by
-
- 2 edits1 delete in trunk/Tools
Unreviewed, rolling out r207609.
https://bugs.webkit.org/show_bug.cgi?id=163776
As glib bump was rollout, we need to rollout this too
(Requested by rego on #webkit).
Reverted changeset:
"[GTK] Cannot build GTK+ with CUPS 2.* versions"
https://bugs.webkit.org/show_bug.cgi?id=163591
http://trac.webkit.org/changeset/207609
- 1:11 AM Changeset in webkit [207663] by
-
- 5 edits in trunk
[css-grid] Content Alignment broken with indefinite sized grid container
https://bugs.webkit.org/show_bug.cgi?id=163724
Reviewed by Manuel Rego Casasnovas.
Source/WebCore:
The Grid Tracks sizing algorithm receives as parameter the
available space to be used as space for tracks. We hold a variable
to store the remaining free space for each dimension.
When the grid container size is indefinite we can't compute the
available free space after computing track sizes until such
indefinite size is resolved.
No new tests, just added some additional test cases.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock): Compute freeSpace for Rows
after doing layout and resolving the indefinite height.
LayoutTests:
Added additional test cases to verify we compute properly the
available free space for content-alignment, handling correctly the
overflow when needed.
- fast/css-grid-layout/grid-content-alignment-overflow.html:
- 1:04 AM Changeset in webkit [207662] by
-
- 3 edits in trunk/LayoutTests
[mac-wk2 release] LayoutTest media/media-source/media-source-seek-detach-crash.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=163751
Reviewed by Eric Carlson.
Don't log when we receive an "error" event; this makes the test non-deterministic.
- media/media-source/media-source-seek-detach-crash-expected.txt:
- media/media-source/media-source-seek-detach-crash.html:
- 1:03 AM Changeset in webkit [207661] by
-
- 3 edits2 adds in trunk
CRASH in SourceBuffer::sourceBufferPrivateDidReceiveSample + 2169
https://bugs.webkit.org/show_bug.cgi?id=163735
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-source/media-source-sample-wrong-track-id.html
When SourceBuffer receives a sample in sourceBufferPrivateDidReceiveSample() containing
a trackID not previously seen in an initialization segment, it creates a default TrackBuffer
object to contain that track's samples. One of the fields in TrackBuffer, description, is
normally filled out when an initialization segment is received, but with this default
TrackBuffer, it's still null when it's checked later in sourceBufferPrivateDidReceiveSample().
Rather than adding a null-check on trackBuffer.description, drop any sample that has a
trackID which was not present during a previous initialization segment.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
LayoutTests:
- media/media-source/media-source-sample-wrong-track-id-expected.txt: Added.
- media/media-source/media-source-sample-wrong-track-id.html: Added.