darin@apple.com [Tue, 16 Aug 2016 15:53:52 +0000 (15:53 +0000)]
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
Regenerated results, which were affected by the sequence<T> change last night.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204503
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pvollan@apple.com [Tue, 16 Aug 2016 09:43:04 +0000 (09:43 +0000)]
[Win] Hardening of getLinkedFonts function.
https://bugs.webkit.org/show_bug.cgi?id=160850
The SUCCEEDED macro should only be used for functions returning a HRESULT type.
Also, make sure a string array index will not exceed the string length.
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::getLinkedFonts):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204502
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 16 Aug 2016 07:55:12 +0000 (07:55 +0000)]
Simplify SocketStreamError
https://bugs.webkit.org/show_bug.cgi?id=160888
Patch by Alex Christensen <achristensen@webkit.org> on 2016-08-16
Reviewed by Darin Adler.
SocketStreamErrorBase and platform-specific SocketStreamError were overly complicated.
They had many functions that were never used. There's no reason to have two separate classes.
* WebCore.xcodeproj/project.pbxproj:
* platform/network/SocketStreamError.h: Copied from Source/WebCore/platform/network/SocketStreamErrorBase.h.
(WebCore::SocketStreamError::SocketStreamError):
(WebCore::SocketStreamError::isNull):
(WebCore::SocketStreamError::errorCode):
(WebCore::SocketStreamError::failingURL):
(WebCore::SocketStreamError::localizedDescription):
(WebCore::SocketStreamErrorBase::isNull): Deleted.
(WebCore::SocketStreamErrorBase::errorCode): Deleted.
(WebCore::SocketStreamErrorBase::failingURL): Deleted.
(WebCore::SocketStreamErrorBase::localizedDescription): Deleted.
(WebCore::SocketStreamErrorBase::SocketStreamErrorBase): Deleted.
(WebCore::operator==): Deleted.
(WebCore::operator!=): Deleted.
* platform/network/SocketStreamErrorBase.cpp: Removed.
* platform/network/SocketStreamErrorBase.h: Removed.
* platform/network/cf/SocketStreamError.h: Removed.
* platform/network/curl/SocketStreamError.h: Removed.
* platform/network/soup/SocketStreamError.h: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204501
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 16 Aug 2016 06:50:58 +0000 (06:50 +0000)]
Conversion to sequence<T> is broken for iterable objects
https://bugs.webkit.org/show_bug.cgi?id=160801
Reviewed by Darin Adler.
Source/JavaScriptCore:
Export functions used to iterate over iterable objects.
* runtime/IteratorOperations.h:
(JSC::forEachInIterable):
Source/WebCore:
Added the proper iterator support for sequence<T> with one caveat that we don't check for RegExp object
per https://github.com/heycam/webidl/issues/145.
See http://heycam.github.io/webidl/#es-sequence and http://heycam.github.io/webidl/#es-overloads
Tests: bindings/scripts/test/TestOverloadedConstructorsWithSequence.idl
* bindings/js/JSDOMBinding.cpp:
(WebCore::hasIteratorMethod): Added. A helper function for checking whether a JSValue is iterable or not.
* bindings/js/JSDOMBinding.h:
(WebCore::NativeValueTraits<unsigned>::nativeValue): Removed the check for isNumber to match the spec'ed
behavior at http://heycam.github.io/webidl/#es-unsigned-long which calls ToNumber first without checking
whether the value is a number or not.
(WebCore::toRefPtrNativeArray): Replaced isJSArray check by isObject check and throw a TypeError. Deployed
forEachInIterable to support non-JSArray iterable objects. Also removed the function pointer from the third
argument since we were always calling JSCT::toWrapped.
(WebCore::toNativeArray): Ditto.
* bindings/js/JSDOMConvert.h:
(WebCore::Converter<Vector<T>>::convert): Removed the comment about toNativeArray not throwing when value
is not an object.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateOverloadedFunctionOrConstructor): Removed the check for isJSArray for sequence<T> as an iterable
object is not necessary a JSArray.
(WillConvertUndefinedToDefaultParameterValue): Don't return 1 for all sequences since toNativeArray and
toRefPtrNativeArray now throws on undefined due to isObject check.
(JSValueToNative): Removed the third argument from toRefPtrNativeArray.
* bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructorsWithSequence.cpp: Added.
* bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructorsWithSequence.h: Added.
* bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructorsWithSequencePrivate.h: Added.
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty):
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: Added.
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: Added.
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
* bindings/scripts/test/TestOverloadedConstructorsWithSequence.idl: Added.
LayoutTests:
Added test cases for converting non-JSArray objects to sequence<T> for MutationObserver, FontFaceSet, and WebSocket.
* fast/dom/MutationObserver/observe-exceptions-expected.txt:
* fast/dom/MutationObserver/observe-exceptions.html:
* fast/text/font-face-set-javascript-expected.txt:
* fast/text/font-face-set-javascript.html:
* http/tests/dom/window-open-about-webkit-org-and-access-document-expected.txt: Rebaselined due to js-test-pre.js change.
* http/tests/resources/js-test-pre.js: Merged ToT from resources/js-test-pre.js.
* http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt: Rebaselined due to js-test-pre.js change.
* http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt: Ditto.
* http/tests/websocket/tests/hybi/websocket-constructor-protocols-expected.txt: Added.
* http/tests/websocket/tests/hybi/websocket-constructor-protocols.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204500
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 16 Aug 2016 06:48:34 +0000 (06:48 +0000)]
Rename RegisteredEventListener::listener() to callback() for clarity
https://bugs.webkit.org/show_bug.cgi?id=160873
Reviewed by Darin Adler.
Rename RegisteredEventListener::listener() to callback() for clarity
and to match the specification:
- https://dom.spec.whatwg.org/#concept-event-listener
Always calling listener->listener() seems wrong.
* bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::getJSListenerFunctions):
* dom/EventListenerMap.cpp:
(WebCore::findListener):
(WebCore::removeFirstListenerCreatedFromMarkup):
(WebCore::copyListenersNotCreatedFromMarkupToTarget):
(WebCore::EventListenerIterator::nextListener):
* dom/EventTarget.cpp:
(WebCore::EventTarget::getAttributeEventListener):
(WebCore::EventTarget::fireEventListeners):
* dom/RegisteredEventListener.h:
(WebCore::RegisteredEventListener::callback):
(WebCore::RegisteredEventListener::RegisteredEventListener):
(WebCore::RegisteredEventListener::listener): Deleted.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListeners):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204499
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 16 Aug 2016 06:41:33 +0000 (06:41 +0000)]
webkitpy error in TestRunResults.merge()
https://bugs.webkit.org/show_bug.cgi?id=160882
Reviewed by Daniel Bates.
The argument to TestRunResults.merge() can be None if there are no device-specifc
initial results or retry results in Manager.run(), so just return early in that case.
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.merge):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204498
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 16 Aug 2016 06:24:39 +0000 (06:24 +0000)]
Add support for dictionary members of non nullable wrapper types
https://bugs.webkit.org/show_bug.cgi?id=160876
Reviewed by Darin Adler.
Add support for dictionary members of non nullable wrapper types. We
only supported nullable wrapper types as dictionary members so far.
No new tests, updated bindings tests.
* bindings/js/JSDOMConvert.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
(GenerateParametersCheck):
(JSValueToNative):
(GenerateConstructorDefinition):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>):
(WebCore::jsTestObjPrototypeFunctionAttachShadowRoot):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors4):
(WebCore::constructJSTestOverloadedConstructors5):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
* bindings/scripts/test/TestObj.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204497
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 16 Aug 2016 05:14:17 +0000 (05:14 +0000)]
Web Inspector: Large class lists are not easily discoverable with "Classes" quick-toggle
https://bugs.webkit.org/show_bug.cgi?id=160856
Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-08-15
Reviewed by Joseph Pecoraro.
* UserInterface/Base/DOMUtilities.js:
(WebInspector.linkifyNodeReference):
Add option to truncate the text of the linkified node.
* UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content ~ .class-list-container):
Increase the max-height to partially show additional classes if many are set.
* UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
Trucate the name of inherited nodes so they don't take up as much space in the sidebar.
* UserInterface/Views/VisualStyleSelectorSection.css:
(.details-section.visual-style-selector-section > .header > .current-selector): Deleted.
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles): Deleted.
Removed since they are already inherited.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204496
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 16 Aug 2016 04:17:36 +0000 (04:17 +0000)]
[Regression 204203-204210] 32-bit ASSERTION FAILED: !m_data[index].name.isValid()
https://bugs.webkit.org/show_bug.cgi?id=160881
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-15
Reviewed by Mark Lam.
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
We were trying to set the result of the Identity node to the same
value as the source of the Identity.
That is pretty messed up.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204495
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 16 Aug 2016 03:32:38 +0000 (03:32 +0000)]
Drop unused EventTarget::hasActiveEventListeners()
https://bugs.webkit.org/show_bug.cgi?id=160869
Reviewed by Alex Christensen.
* dom/EventListenerMap.cpp:
(WebCore::EventListenerMap::containsActive): Deleted.
* dom/EventListenerMap.h:
* dom/EventTarget.cpp:
(WebCore::EventTarget::hasActiveEventListeners): Deleted.
* dom/EventTarget.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204494
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 16 Aug 2016 02:27:09 +0000 (02:27 +0000)]
Speed up compile times by not including wtf/Variant.h so much
https://bugs.webkit.org/show_bug.cgi?id=160847
Patch by Sam Weinig <sam@webkit.org> on 2016-08-15
Reviewed by Alex Christensen and Saam Barati.
Source/WebCore:
"using std::experimental::variant" caused internal compiler errors in MSVC2015,
so we are just writing std::experimental where we use it for now.
We should move variant into the std::experimental namespace.
* bindings/js/JSNodeOrString.cpp:
(WebCore::toNodeOrStringVector):
* bindings/js/JSNodeOrString.h:
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::childElementCount):
(WebCore::ContainerNode::append):
(WebCore::ContainerNode::prepend):
* dom/ContainerNode.h:
* dom/Node.cpp:
(WebCore::Node::appendChild):
(WebCore::nodeSetPreTransformedFromNodeOrStringVector):
(WebCore::firstFollowingSiblingNotInNodeSet):
(WebCore::Node::convertNodesOrStringsIntoNode):
(WebCore::Node::before):
(WebCore::Node::after):
(WebCore::Node::replaceWith):
* dom/Node.h:
(WebCore::Node::setStyleChange):
(WebCore::Node::customPseudoId):
Source/WTF:
* wtf/Forward.h:
Add forward declaration of std::variant.
* wtf/StdLibExtras.h:
Remove references to std::variant. Move them to wtf/Variant.h
Tools:
* TestWebKitAPI/Tests/WTF/Variant.cpp:
(TestWebKitAPI::TEST):
Explicitly use std::experimental::variant.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204493
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Tue, 16 Aug 2016 02:06:45 +0000 (02:06 +0000)]
ASSERTION FAILURE: [[videoLayer delegate] isKindOfClass:getUIViewClass()] in WebAVPlayerLayerView_videoView()
https://bugs.webkit.org/show_bug.cgi?id=160433
Reviewed by Eric Carlson.
Source/WebCore:
Early return from WebAVPlayerLayerView_videoView() if the PiP layer does not have a non-nil delegate view.
Test: media/controls/close-page-with-picture-in-picture-video-assertion-failure.html
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebAVPlayerLayerView_videoView):
LayoutTests:
Add a layout test to ensure that we do not cause an assertion failure when exiting PiP by closing the tab.
* TestExpectations: Skip media/control/ipad tests on all ports. We will re-enable these tests for iOS.
* media/controls/close-page-with-picture-in-picture-video-assertion-failure-expected.txt: Added.
* media/controls/close-page-with-picture-in-picture-video-assertion-failure.html: Added.
* media/controls/resources/picture-in-picture.html: Added.
* platform/ios-simulator/TestExpectations: Mark tests media/control/ipad as Pass so that we run them
in the iPad simulator.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204492
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 16 Aug 2016 01:43:31 +0000 (01:43 +0000)]
Web Inspector: Close button on selected item in Network tab is misaligned
https://bugs.webkit.org/show_bug.cgi?id=160884
Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-08-15
Reviewed by Matt Baker.
* UserInterface/Views/NetworkSidebarPanel.css:
(.sidebar > .panel.navigation.network .status .close.status-button):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204491
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 16 Aug 2016 01:34:36 +0000 (01:34 +0000)]
Web Inspector: Error/Warning icons are misplaced in the Visual sidebar
https://bugs.webkit.org/show_bug.cgi?id=160875
Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-08-15
Reviewed by Matt Baker.
* UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-special-property-placeholder): Deleted.
Reworked to apply more generally to editors without titles.
* UserInterface/Views/VisualStylePropertyEditor.css:
(.visual-style-property-container.missing-dependency > .visual-style-property-editor-warning):
(.visual-style-property-container.invalid-value > .visual-style-property-editor-warning):
(.visual-style-property-container:matches(.missing-dependency, .invalid-value) > *:first-child:matches(.visual-style-property-value-container)):
(.visual-style-property-container > *:first-child:matches(.visual-style-property-value-container) > .visual-style-special-property-placeholder):
(.visual-style-property-container > .visual-style-property-editor-warning.missing-dependency): Deleted.
(.visual-style-property-container > .visual-style-property-editor-warning.invalid-value): Deleted.
Reworked class names to be on the element container instead of the icon.
* UserInterface/Views/VisualStylePropertyEditor.js:
(WebInspector.VisualStylePropertyEditor.prototype.update):
(WebInspector.VisualStylePropertyEditor.prototype.updateEditorValues):
(WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
(WebInspector.VisualStylePropertyEditor.prototype._checkDependencies):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204490
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Mon, 15 Aug 2016 23:32:03 +0000 (23:32 +0000)]
Web Inspector: Introduce a method to enable code coverage profiler without enabling type profiler
https://bugs.webkit.org/show_bug.cgi?id=160750
<rdar://problem/
27793469>
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::disableTypeProfiler):
(Inspector::InspectorRuntimeAgent::enableControlFlowProfiler):
(Inspector::InspectorRuntimeAgent::disableControlFlowProfiler):
(Inspector::InspectorRuntimeAgent::setTypeProfilerEnabledState):
(Inspector::InspectorRuntimeAgent::setControlFlowProfilerEnabledState):
* inspector/agents/InspectorRuntimeAgent.h:
* inspector/protocol/Runtime.json:
Source/WebInspectorUI:
* UserInterface/Base/Main.js:
(WebInspector.loaded):
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204489
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Mon, 15 Aug 2016 23:31:39 +0000 (23:31 +0000)]
Array.prototype.map builtin should go on the fast path when constructor===@Array
https://bugs.webkit.org/show_bug.cgi?id=160836
Reviewed by Keith Miller.
In the FTL, we were not compiling the result array in Array.prototype.map
efficiently when the result array should use the Array constructor
(which is the common case). We used to compile it as:
x: JSConstant(Array)
y: Construct(@x, ...)
instead of
y: NewArrayWithSize(...)
This patch changes the builtin to go down the fast path when certain
conditions are met. Often, the check to go down the fast path will
be constant folded because we always create a normal array from the
Array constructor.
This is around a 5% speedup on ES6 Sample Bench.
I also made similar changes for Array.prototype.filter
and Array.prototype.concat on its slow path.
* builtins/ArrayPrototype.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204488
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Mon, 15 Aug 2016 21:52:22 +0000 (21:52 +0000)]
Make JSValue::strictEqual() handle failures to resolve JSRopeStrings.
https://bugs.webkit.org/show_bug.cgi?id=160832
<rdar://problem/
27577556>
Reviewed by Geoffrey Garen.
Currently, JSValue::strictEqualSlowCaseInline() (and peers) will blindly try to
access the StringImpl of a JSRopeString that fails to resolve its rope. As a
result, we'll crash with null pointer dereferences.
We can fix this by introducing a JSString::equal() method that will do the
equality comparison, but is aware of the potential failures to resolve ropes.
JSValue::strictEqualSlowCaseInline() (and peers) will now call JSString::equal()
instead of accessing the underlying StringImpl directly.
Also added some exception checks.
* JavaScriptCore.xcodeproj/project.pbxproj:
* jit/JITOperations.cpp:
* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):
* runtime/JSCJSValueInlines.h:
(JSC::JSValue::equalSlowCaseInline):
(JSC::JSValue::strictEqualSlowCaseInline):
* runtime/JSString.cpp:
(JSC::JSString::equalSlowCase):
* runtime/JSString.h:
* runtime/JSStringInlines.h: Added.
(JSC::JSString::equal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204485
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keith_miller@apple.com [Mon, 15 Aug 2016 21:35:07 +0000 (21:35 +0000)]
Implement WASM Parser and B3 IR generator
https://bugs.webkit.org/show_bug.cgi?id=160681
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
This patch adds the skeleton for a WebAssembly pipeline. The
pipeline is designed in order to make it easy to have as much of
the compilation process threaded as possible. The flow of the
pipeline roughly goes as follows:
1) Create a WASMPlan with the VM and a Vector of the
assembly. Currently the plan will process all the work
synchronously, however, in the future this can be offloaded to
other threads.
2) The plan will run the WASMModuleParser, which collates all the
information needed to compile each module function
independently. Since, we are still in the early phases, the only
information is the starting and ending byte of the function's
body. The module parser, however, still scans both and
semi-validates the type and the function sections.
3) Each function is decoded and compiled. In the future this
should also include a opcode validation phase. The
WASMFunctionParser is templatized so that a validator should be
able to use most of the same code the B3 IR generator does.
4) When the plan has finished it will fill a Vector of
B3::Compilation objects that correspond to the respective function
in the WASM module.
The current testing plan for the modules is to inline the the
binary generated by the spec's OCaml prototype. The inlined binary
is passed to a WASMPlan then invoked to check the result of the
function. In the future we should add a more robust testing
infrastructure.
* JavaScriptCore.xcodeproj/project.pbxproj:
* testWASM.cpp:
(printUsageStatement):
(CommandLine::parseArguments):
(invoke):
(runWASMTests):
(main):
* wasm/JSWASMModule.h:
(JSC::JSWASMModule::globalVariableTypes):
* wasm/WASMB3IRGenerator.cpp: Added.
(JSC::WASM::B3IRGenerator::B3IRGenerator):
(JSC::WASM::B3IRGenerator::addLocal):
(JSC::WASM::B3IRGenerator::binaryOp):
(JSC::WASM::B3IRGenerator::addConstant):
(JSC::WASM::B3IRGenerator::addBlock):
(JSC::WASM::B3IRGenerator::endBlock):
(JSC::WASM::B3IRGenerator::addReturn):
(JSC::WASM::B3IRGenerator::unify):
(JSC::WASM::B3IRGenerator::initializeIncommingTypes):
(JSC::WASM::B3IRGenerator::unifyValuesWithLevel):
(JSC::WASM::B3IRGenerator::stackForControlLevel):
(JSC::WASM::B3IRGenerator::blockForControlLevel):
(JSC::WASM::parseAndCompile):
* wasm/WASMB3IRGenerator.h: Copied from Source/WTF/wtf/DataLog.h.
* wasm/WASMFormat.h:
* wasm/WASMFunctionParser.h: Added.
(JSC::WASM::WASMFunctionParser<Context>::WASMFunctionParser):
(JSC::WASM::WASMFunctionParser<Context>::parse):
(JSC::WASM::WASMFunctionParser<Context>::parseBlock):
(JSC::WASM::WASMFunctionParser<Context>::parseExpression):
* wasm/WASMModuleParser.cpp: Added.
(JSC::WASM::WASMModuleParser::parse):
(JSC::WASM::WASMModuleParser::parseFunctionTypes):
(JSC::WASM::WASMModuleParser::parseFunctionSignatures):
(JSC::WASM::WASMModuleParser::parseFunctionDefinitions):
* wasm/WASMModuleParser.h: Copied from Source/WTF/wtf/DataLog.h.
(JSC::WASM::WASMModuleParser::WASMModuleParser):
(JSC::WASM::WASMModuleParser::functionInformation):
* wasm/WASMOps.h: Copied from Source/WTF/wtf/DataLog.h.
* wasm/WASMParser.h: Added.
(JSC::WASM::WASMParser::parseVarUInt32):
(JSC::WASM::WASMParser::WASMParser):
(JSC::WASM::WASMParser::consumeCharacter):
(JSC::WASM::WASMParser::consumeString):
(JSC::WASM::WASMParser::parseUInt32):
(JSC::WASM::WASMParser::parseUInt7):
(JSC::WASM::WASMParser::parseVarUInt1):
(JSC::WASM::WASMParser::parseValueType):
* wasm/WASMPlan.cpp: Copied from Source/WTF/wtf/DataLog.h.
(JSC::WASM::Plan::Plan):
* wasm/WASMPlan.h: Copied from Source/WTF/wtf/DataLog.h.
* wasm/WASMSections.cpp: Copied from Source/WTF/wtf/DataLog.h.
(JSC::WASM::WASMSections::lookup):
* wasm/WASMSections.h: Copied from Source/WTF/wtf/DataLog.h.
(JSC::WASM::WASMSections::validateOrder):
Source/WTF:
* wtf/DataLog.h:
(WTF::dataLogLn): Add a new dataLog function, dataLogLn that
automagically includes a new line at the end of the print.
* wtf/LEBDecoder.h:
(decodeUInt32):
(decodeInt32): Change the LEBDecoder to take a pointer and length
rather than a Vector.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204484
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Mon, 15 Aug 2016 21:23:32 +0000 (21:23 +0000)]
Rename SocketStreamHandleBase to SocketStreamHandle and SocketStreamHandle to SocketStreamHandleImpl
https://bugs.webkit.org/show_bug.cgi?id=160858
Reviewed by Brady Eidson.
Source/WebCore:
No new tests. No change in behavior, except GTK's SocketStreamHandleImpl is now safely ThreadSafeRefCounted.
This is preparation for making a new kind of SocketStreamHandle which is a proxy that communicates with the NetworkProcess in WebKit2.
* CMakeLists.txt:
* PlatformAppleWin.cmake:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* PlatformMac.cmake:
* PlatformWinCairo.cmake:
* WebCore.xcodeproj/project.pbxproj:
* page/SocketProvider.cpp:
(WebCore::SocketProvider::createSocketStreamHandle):
* platform/network/SocketStreamHandle.cpp: Copied from Source/WebCore/platform/network/SocketStreamHandleBase.cpp.
(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::state):
(WebCore::SocketStreamHandle::send):
(WebCore::SocketStreamHandle::close):
(WebCore::SocketStreamHandle::disconnect):
(WebCore::SocketStreamHandle::sendPendingData):
(WebCore::SocketStreamHandleBase::SocketStreamHandleBase): Deleted.
(WebCore::SocketStreamHandleBase::state): Deleted.
(WebCore::SocketStreamHandleBase::send): Deleted.
(WebCore::SocketStreamHandleBase::close): Deleted.
(WebCore::SocketStreamHandleBase::disconnect): Deleted.
(WebCore::SocketStreamHandleBase::sendPendingData): Deleted.
* platform/network/SocketStreamHandle.h: Copied from Source/WebCore/platform/network/SocketStreamHandleBase.h.
(WebCore::SocketStreamHandle::~SocketStreamHandle):
(WebCore::SocketStreamHandle::client):
(WebCore::SocketStreamHandleBase::~SocketStreamHandleBase): Deleted.
(WebCore::SocketStreamHandleBase::client): Deleted.
* platform/network/SocketStreamHandleBase.cpp: Removed.
* platform/network/SocketStreamHandleBase.h: Removed.
* platform/network/cf/SocketStreamHandle.h: Removed.
* platform/network/cf/SocketStreamHandleCFNet.cpp: Removed.
* platform/network/cf/SocketStreamHandleImpl.h: Copied from Source/WebCore/platform/network/cf/SocketStreamHandle.h.
(WebCore::SocketStreamHandleImpl::create):
(WebCore::SocketStreamHandle::create): Deleted.
* platform/network/cf/SocketStreamHandleImplCFNet.cpp: Copied from Source/WebCore/platform/network/cf/SocketStreamHandleCFNet.cpp.
(WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::scheduleStreams):
(WebCore::SocketStreamHandleImpl::retainSocketStreamHandle):
(WebCore::SocketStreamHandleImpl::releaseSocketStreamHandle):
(WebCore::SocketStreamHandleImpl::copyPACExecutionDescription):
(WebCore::SocketStreamHandleImpl::pacExecutionCallback):
(WebCore::SocketStreamHandleImpl::executePACFileURL):
(WebCore::SocketStreamHandleImpl::removePACRunLoopSource):
(WebCore::SocketStreamHandleImpl::chooseProxy):
(WebCore::SocketStreamHandleImpl::chooseProxyFromArray):
(WebCore::SocketStreamHandleImpl::createStreams):
(WebCore::SocketStreamHandleImpl::getStoredCONNECTProxyCredentials):
(WebCore::authenticationSchemeFromAuthenticationMethod):
(WebCore::SocketStreamHandleImpl::addCONNECTCredentials):
(WebCore::SocketStreamHandleImpl::copyCFStreamDescription):
(WebCore::SocketStreamHandleImpl::readStreamCallback):
(WebCore::SocketStreamHandleImpl::writeStreamCallback):
(WebCore::SocketStreamHandleImpl::reportErrorToClient):
(WebCore::SocketStreamHandleImpl::~SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::platformSend):
(WebCore::SocketStreamHandleImpl::platformClose):
(WebCore::SocketStreamHandleImpl::port):
(WebCore::SocketStreamHandle::SocketStreamHandle): Deleted.
(WebCore::SocketStreamHandle::scheduleStreams): Deleted.
(WebCore::SocketStreamHandle::retainSocketStreamHandle): Deleted.
(WebCore::SocketStreamHandle::releaseSocketStreamHandle): Deleted.
(WebCore::SocketStreamHandle::copyPACExecutionDescription): Deleted.
(WebCore::SocketStreamHandle::pacExecutionCallback): Deleted.
(WebCore::SocketStreamHandle::executePACFileURL): Deleted.
(WebCore::SocketStreamHandle::removePACRunLoopSource): Deleted.
(WebCore::SocketStreamHandle::chooseProxy): Deleted.
(WebCore::SocketStreamHandle::chooseProxyFromArray): Deleted.
(WebCore::SocketStreamHandle::createStreams): Deleted.
(WebCore::SocketStreamHandle::getStoredCONNECTProxyCredentials): Deleted.
(WebCore::SocketStreamHandle::addCONNECTCredentials): Deleted.
(WebCore::SocketStreamHandle::copyCFStreamDescription): Deleted.
(WebCore::SocketStreamHandle::readStreamCallback): Deleted.
(WebCore::SocketStreamHandle::writeStreamCallback): Deleted.
(WebCore::SocketStreamHandle::reportErrorToClient): Deleted.
(WebCore::SocketStreamHandle::~SocketStreamHandle): Deleted.
(WebCore::SocketStreamHandle::platformSend): Deleted.
(WebCore::SocketStreamHandle::platformClose): Deleted.
(WebCore::SocketStreamHandle::port): Deleted.
* platform/network/curl/SocketStreamHandle.h: Removed.
* platform/network/curl/SocketStreamHandleCurl.cpp: Removed.
* platform/network/curl/SocketStreamHandleImpl.h: Copied from Source/WebCore/platform/network/curl/SocketStreamHandle.h.
(WebCore::SocketStreamHandleImpl::create):
(WebCore::SocketStreamHandle::create): Deleted.
* platform/network/curl/SocketStreamHandleImplCurl.cpp: Copied from Source/WebCore/platform/network/curl/SocketStreamHandleCurl.cpp.
(WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::~SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::platformSend):
(WebCore::SocketStreamHandleImpl::platformClose):
(WebCore::SocketStreamHandleImpl::readData):
(WebCore::SocketStreamHandleImpl::sendData):
(WebCore::SocketStreamHandleImpl::waitForAvailableData):
(WebCore::SocketStreamHandleImpl::startThread):
(WebCore::SocketStreamHandleImpl::stopThread):
(WebCore::SocketStreamHandleImpl::didReceiveData):
(WebCore::SocketStreamHandleImpl::didOpenSocket):
(WebCore::SocketStreamHandleImpl::createCopy):
(WebCore::SocketStreamHandle::SocketStreamHandle): Deleted.
(WebCore::SocketStreamHandle::~SocketStreamHandle): Deleted.
(WebCore::SocketStreamHandle::platformSend): Deleted.
(WebCore::SocketStreamHandle::platformClose): Deleted.
(WebCore::SocketStreamHandle::readData): Deleted.
(WebCore::SocketStreamHandle::sendData): Deleted.
(WebCore::SocketStreamHandle::waitForAvailableData): Deleted.
(WebCore::SocketStreamHandle::startThread): Deleted.
(WebCore::SocketStreamHandle::stopThread): Deleted.
(WebCore::SocketStreamHandle::didReceiveData): Deleted.
(WebCore::SocketStreamHandle::didOpenSocket): Deleted.
(WebCore::SocketStreamHandle::createCopy): Deleted.
* platform/network/soup/SocketStreamHandle.h: Removed.
* platform/network/soup/SocketStreamHandleImpl.h: Copied from Source/WebCore/platform/network/soup/SocketStreamHandle.h.
* platform/network/soup/SocketStreamHandleImplSoup.cpp: Copied from Source/WebCore/platform/network/soup/SocketStreamHandleSoup.cpp.
(WebCore::SocketStreamHandleImpl::create):
(WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::~SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::connected):
(WebCore::SocketStreamHandleImpl::connectedCallback):
(WebCore::SocketStreamHandleImpl::readBytes):
(WebCore::SocketStreamHandleImpl::readReadyCallback):
(WebCore::SocketStreamHandleImpl::didFail):
(WebCore::SocketStreamHandleImpl::writeReady):
(WebCore::SocketStreamHandleImpl::platformSend):
(WebCore::SocketStreamHandleImpl::platformClose):
(WebCore::SocketStreamHandleImpl::beginWaitingForSocketWritability):
(WebCore::SocketStreamHandleImpl::stopWaitingForSocketWritability):
(WebCore::SocketStreamHandleImpl::writeReadyCallback):
(WebCore::SocketStreamHandle::create): Deleted.
(WebCore::SocketStreamHandle::SocketStreamHandle): Deleted.
(WebCore::SocketStreamHandle::~SocketStreamHandle): Deleted.
(WebCore::SocketStreamHandle::connected): Deleted.
(WebCore::SocketStreamHandle::connectedCallback): Deleted.
(WebCore::SocketStreamHandle::readBytes): Deleted.
(WebCore::SocketStreamHandle::readReadyCallback): Deleted.
(WebCore::SocketStreamHandle::didFail): Deleted.
(WebCore::SocketStreamHandle::writeReady): Deleted.
(WebCore::SocketStreamHandle::platformSend): Deleted.
(WebCore::SocketStreamHandle::platformClose): Deleted.
(WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Deleted.
(WebCore::SocketStreamHandle::stopWaitingForSocketWritability): Deleted.
(WebCore::SocketStreamHandle::writeReadyCallback): Deleted.
* platform/network/soup/SocketStreamHandleSoup.cpp: Removed.
Source/WebKit2:
* WebProcess/Network/WebSocketProvider.cpp:
(WebKit::WebSocketProvider::createSocketStreamHandle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204483
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 15 Aug 2016 21:11:21 +0000 (21:11 +0000)]
Another build fix.
* WebKit.exp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204482
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jiewen_tan@apple.com [Mon, 15 Aug 2016 21:08:25 +0000 (21:08 +0000)]
Expose crypto.getRandomValues to Web Workers
https://bugs.webkit.org/show_bug.cgi?id=104851
<rdar://problem/
27285714>
Reviewed by Darin Adler.
Source/WebCore:
Tests: crypto/webkitSubtle/disallowed-in-worker.html
crypto/workers/crypto-gc-worker.html
crypto/workers/crypto-random-values-limits-worker.html
crypto/workers/crypto-random-values-types-worker.html
crypto/workers/crypto-random-values-worker.html
Expose both crypto and crypto.getRandomValues to Web Workers. However, webkitSubtle is
disabled in Web Workers. This change also refactors a bit on IDLs related to Crypto
interface.
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
Introduce GlobalCrypto Interface which is used to repalace the partial IDL in both
DOMWindow and WorkerGlobalScope with sub-implememtations.
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::visitAdditionalChildren):
* bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::visitAdditionalChildren):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* dom/Document.idl:
Add support of GenerateIsReachable=ImplScriptExecutionContext, which allow registered
JS Objects to live as long as ScriptExecutionContext lives, i.e. Document and
WorkerGlobalScope.
* page/Crypto.cpp:
(WebCore::Crypto::Crypto):
(WebCore::Crypto::webkitSubtle):
(WebCore::Crypto::document): Deleted.
* page/Crypto.h:
(WebCore::Crypto::create):
* page/Crypto.idl:
Change the opaque root of Crypto to ScriptExecutionContext such that it perserves
the same live time in both Window and Web Worker. And disable WebKitSubtle in Web
Workers.
* page/DOMWindow.idl:
* page/GlobalCrypto.idl: Added.
Replace partial IDL to sub-implementation of crypto attribute.
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::crypto):
* workers/WorkerGlobalScope.h:
* workers/WorkerGlobalScope.idl:
Introduce crypto attribute to Web Workers.
LayoutTests:
* crypto/crypto-random-values-limits.html:
* crypto/crypto-random-values-types.html:
* crypto/crypto-random-values.html:
* crypto/webkitSubtle/disallowed-in-worker-expected.txt: Added.
* crypto/webkitSubtle/disallowed-in-worker.html: Added.
* crypto/webkitSubtle/resources/disallowed-in-worker.js: Added.
* crypto/workers/crypto-gc-worker-expected.txt: Added.
* crypto/workers/crypto-gc-worker.html: Added.
* crypto/workers/crypto-random-values-limits-worker-expected.txt: Added.
* crypto/workers/crypto-random-values-limits-worker.html: Added.
* crypto/workers/crypto-random-values-types-worker-expected.txt: Added.
* crypto/workers/crypto-random-values-types-worker.html: Added.
* crypto/workers/crypto-random-values-worker-expected.txt: Added.
* crypto/workers/crypto-random-values-worker.html: Added.
* crypto/workers/resources/crypto-gc-worker.js: Added.
(startTest):
(continueTest):
(finishTest):
* crypto/workers/resources/crypto-random-limits-worker.js: Added.
(catch):
* crypto/workers/resources/crypto-random-values-types-worker.js: Copied from LayoutTests/crypto/crypto-random-values-types.html.
(checkIntegerTypes):
(checkNonIntegerTypes):
* crypto/workers/resources/crypto-random-values-worker.js: Copied from LayoutTests/crypto/crypto-random-values.html.
(catch):
* js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204481
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 15 Aug 2016 21:04:49 +0000 (21:04 +0000)]
[JSC] B3 Neg opcode should support float
https://bugs.webkit.org/show_bug.cgi?id=160795
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-15
Reviewed by Geoffrey Garen.
This is required to implement WASM f32.neg opcode.
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::negateFloat):
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* b3/B3ReduceDoubleToFloat.cpp:
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::testNegDouble):
(JSC::B3::testNegFloat):
(JSC::B3::testNegFloatWithUselessDoubleConversion):
(JSC::B3::run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204480
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 15 Aug 2016 20:55:16 +0000 (20:55 +0000)]
Use #pragma once in inspector headers
https://bugs.webkit.org/show_bug.cgi?id=160861
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-08-15
Reviewed by Mark Lam.
* inspector/*.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204479
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 15 Aug 2016 20:51:16 +0000 (20:51 +0000)]
Fix build.
* Configurations/WebKitLegacy.xcconfig:
* WebKit.mac.exp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204478
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Mon, 15 Aug 2016 20:50:13 +0000 (20:50 +0000)]
Allow a port to run tests with a custom device setup
https://bugs.webkit.org/show_bug.cgi?id=160833
Reviewed by Daniel Bates.
These changes allow the IOSSimulator port to run tests in iPad mode.
This is made possible by allowing a platform to define CUSTOM_DEVICE_CLASSES,
in this case 'ipad'. When specified, any test in a directory with a suffix that matches
a custom device will be collected into a set, and run in that device's environment after
the other tests have run.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._custom_device_for_test): If the test contains a directory matching a
custom device suffix, return that custom device.
(Manager._set_up_run): Push the custom device class, if any, into options so
that the Worker can get to it.
(Manager.run): Go through the list of tests, and break it down into device-generic
tests, and tests for each device class. _run_test_subset is then called for
each collection of tests, and the results merged.
(Manager._run_test_subset): Some lines unwrapped.
(Manager._end_test_run):
(Manager._run_tests):
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner.__init__): Unwrapped a line.
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.merge): Add this function to merge TestRunResults
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer.print_workers_and_shards): Print the custom device, if any.
* Scripts/webkitpy/port/base.py:
(Port): Base port has empty array of custom devices.
(Port.setup_test_run): Add device_class argument.
* Scripts/webkitpy/port/driver.py:
(DriverInput.__repr__):
(Driver.check_driver.implementation):
* Scripts/webkitpy/port/efl.py:
(EflPort.setup_test_run):
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_test_run):
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort): Add CUSTOM_DEVICE_CLASSES for ipad.
(IOSSimulatorPort.__init__):
(IOSSimulatorPort.simulator_device_type): Use a device name from the DEVICE_CLASS_MAP
based on the custom device class.
(IOSSimulatorPort._set_device_class):
(IOSSimulatorPort._create_simulators): Factor some code into this function.
(IOSSimulatorPort.setup_test_run):
(IOSSimulatorPort.testing_device):
(IOSSimulatorPort.reset_preferences): This used to create the simulator apps, but that
seemed wrong for this function. That was moved to setup_test_run().
(IOSSimulatorPort.check_sys_deps): This function used to create testing devices,
but this happened too early, before we knew which kind of devices to create. Devices
are now created in setup_test_run().
* Scripts/webkitpy/port/win.py:
(WinPort.setup_test_run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204477
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 15 Aug 2016 20:45:38 +0000 (20:45 +0000)]
Remove OldWebAssertions.c
https://bugs.webkit.org/show_bug.cgi?id=160862
Reviewed by Dan Bernstein.
Source/WebKit:
* WebKit.xcodeproj/project.pbxproj:
Source/WebKit/mac:
These functions were used by an old version of iWeb. The latest version of iWeb no longer uses them.
* Misc/OldWebAssertions.c: Removed.
(WebReportAssertionFailure): Deleted.
(WebReportError): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204476
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 15 Aug 2016 19:16:27 +0000 (19:16 +0000)]
Remove WebKeyGenerator
https://bugs.webkit.org/show_bug.cgi?id=160854
Reviewed by Dan Bernstein.
Source/WebKit:
* WebKit.xcodeproj/project.pbxproj:
Source/WebKit/mac:
This SPI class is no longer used by Safari.
* WebCoreSupport/WebKeyGenerator.h: Removed.
* WebCoreSupport/WebKeyGenerator.mm: Removed.
(+[WebKeyGenerator sharedGenerator]): Deleted.
(toWebCertificateParseResult): Deleted.
(-[WebKeyGenerator addCertificatesToKeychainFromData:]): Deleted.
* WebView/WebFrameView.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204474
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 15 Aug 2016 19:11:32 +0000 (19:11 +0000)]
Fix iOS build.
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::webGLPolicyForURL):
(WebKit::WebPage::resolveWebGLPolicyForURL):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204473
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
krollin@apple.com [Mon, 15 Aug 2016 18:59:57 +0000 (18:59 +0000)]
Rename LOG_ALWAYS
https://bugs.webkit.org/show_bug.cgi?id=160768
Rename LOG_ALWAYS and friends, given that the first parameter to it is
a boolean expression that determines whether or not logging should be
performed.
Reviewed by Chris Dumez.
Source/WebCore:
No new tests. No new functionality is added. Only some macro names
have been changed.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::ReliefLogger::logMemoryUsageChange):
* platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::IOSurface):
Source/WebKit2:
* NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::didReceiveResponse):
(WebKit::Download::didReceiveData):
(WebKit::Download::didFinish):
(WebKit::Download::didFail):
(WebKit::Download::didCancel):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::prepareToSuspend):
(WebKit::NetworkProcess::cancelPrepareToSuspend):
(WebKit::NetworkProcess::processDidResume):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFailLoading):
(WebKit::NetworkResourceLoader::continueWillSendRequest):
* Platform/IPC/Connection.cpp:
(IPC::Connection::waitForSyncReply):
* Shared/ChildProcess.cpp:
(WebKit::didCloseOnConnectionWorkQueue):
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::didChangeIsLoading):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::fetchWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcessProxy::setIsHoldingLockedFiles):
* UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::updateAssertionNow):
(WebKit::ProcessThrottler::updateAssertion):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateActivityToken):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::fetchWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::WebProcessProxy::didSetAssertionState):
(WebKit::WebProcessProxy::setIsHoldingLockedFiles):
* UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
(WebKit::ProcessAssertion::ProcessAssertion):
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::didFailResourceLoad):
(WebKit::WebResourceLoader::didReceiveResource):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::layerVolatilityTimerFired):
(WebKit::WebPage::markLayersVolatile):
(WebKit::WebPage::cancelMarkLayersVolatile):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::actualPrepareToSuspend):
(WebKit::WebProcess::processWillSuspendImminently):
(WebKit::WebProcess::prepareToSuspend):
(WebKit::WebProcess::cancelPrepareToSuspend):
(WebKit::WebProcess::markAllLayersVolatile):
(WebKit::WebProcess::processDidResume):
Source/WTF:
* wtf/Assertions.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204472
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Mon, 15 Aug 2016 18:57:21 +0000 (18:57 +0000)]
Cannot build WebKit for iOS device using Xcode 7.3/iOS 9.3 public SDK due to missing
private frameworks and libraries
https://bugs.webkit.org/show_bug.cgi?id=155931
<rdar://problem/
25807989>
Reviewed by Dan Bernstein.
Source/JavaScriptCore:
Add directory WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/X to the framework search path
where X is the major version of the active iOS SDK.
* Configurations/Base.xcconfig:
Source/WebCore:
Add directory WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/X to the framework search path
where X is the major version of the active iOS SDK.
* Configurations/WebCore.xcconfig:
Source/WebKit/mac:
Add directory WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/X to the framework search path
where X is the major version of the active iOS SDK.
* Configurations/WebKitLegacy.xcconfig:
Source/WebKit2:
Add directory WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/X to the framework search path
where X is the major version of the active iOS SDK.
* Configurations/BaseTarget.xcconfig:
Tools:
Add directory WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/X to the framework search path
where X is the major version of the active iOS SDK.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
WebKitLibraries:
Add text-based stubs for private frameworks in iOS 9 and iOS 10 beta.
* WebKitPrivateFrameworkStubs: Added.
* WebKitPrivateFrameworkStubs/iOS: Added.
* WebKitPrivateFrameworkStubs/iOS/10: Added.
* WebKitPrivateFrameworkStubs/iOS/10/AppSupport.framework: Added.
* WebKitPrivateFrameworkStubs/iOS/10/AppSupport.framework/AppSupport.tbd: Added.
* WebKitPrivateFrameworkStubs/iOS/10/AssertionServices.framework: Added.
* WebKitPrivateFrameworkStubs/iOS/10/AssertionServices.framework/AssertionServices.tbd: Added.
* WebKitPrivateFrameworkStubs/iOS/10/CorePDF.framework: Added.
* WebKitPrivateFrameworkStubs/iOS/10/CorePDF.framework/CorePDF.tbd: Added.
* WebKitPrivateFrameworkStubs/iOS/10/GraphicsServices.framework: Added.
* WebKitPrivateFrameworkStubs/iOS/10/GraphicsServices.framework/GraphicsServices.tbd: Added.
* WebKitPrivateFrameworkStubs/iOS/10/IOSurface.framework: Added.
* WebKitPrivateFrameworkStubs/iOS/10/IOSurface.framework/IOSurface.tbd: Added.
* WebKitPrivateFrameworkStubs/iOS/9: Added.
* WebKitPrivateFrameworkStubs/iOS/9/AppSupport.framework: Added.
* WebKitPrivateFrameworkStubs/iOS/9/AppSupport.framework/AppSupport.tbd: Added.
* WebKitPrivateFrameworkStubs/iOS/9/AssertionServices.framework: Added.
* WebKitPrivateFrameworkStubs/iOS/9/AssertionServices.framework/AssertionServices.tbd: Added.
* WebKitPrivateFrameworkStubs/iOS/9/CorePDF.framework: Added.
* WebKitPrivateFrameworkStubs/iOS/9/CorePDF.framework/CorePDF.tbd: Added.
* WebKitPrivateFrameworkStubs/iOS/9/GraphicsServices.framework: Added.
* WebKitPrivateFrameworkStubs/iOS/9/GraphicsServices.framework/GraphicsServices.tbd: Added.
* WebKitPrivateFrameworkStubs/iOS/9/IOSurface.framework: Added.
* WebKitPrivateFrameworkStubs/iOS/9/IOSurface.framework/IOSurface.tbd: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204471
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Mon, 15 Aug 2016 18:48:31 +0000 (18:48 +0000)]
Reduce includes of Debugger.h
https://bugs.webkit.org/show_bug.cgi?id=160827
Reviewed by Mark Lam.
* API/JSTypedArray.cpp:
* bytecode/UnlinkedCodeBlock.h:
* bytecode/UnlinkedFunctionExecutable.cpp:
* bytecode/UnlinkedFunctionExecutable.h:
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
* dfg/DFGPlan.cpp:
* dfg/DFGSpeculativeJIT32_64.cpp:
* dfg/DFGSpeculativeJIT64.cpp:
* ftl/FTLJITCode.h:
* inspector/ScriptCallStackFactory.cpp:
* inspector/agents/InspectorDebuggerAgent.h:
* jit/JITOpcodes.cpp:
* jit/JITOpcodes32_64.cpp:
* jit/JITOperations.cpp:
* llint/LLIntOffsetsExtractor.cpp:
* parser/Nodes.cpp:
* parser/Parser.cpp:
* parser/Parser.h:
* runtime/Completion.cpp:
* runtime/Executable.cpp:
* runtime/Executable.h:
* runtime/FunctionConstructor.cpp:
* runtime/SamplingProfiler.cpp:
* runtime/SamplingProfiler.h:
* runtime/VMEntryScope.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204470
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Mon, 15 Aug 2016 18:16:36 +0000 (18:16 +0000)]
Add a setting and preferences to enable visual viewport mode
https://bugs.webkit.org/show_bug.cgi?id=160843
Reviewed by Sam Weinig.
Source/WebCore:
Add a visualViewportEnabled setting, in the start of a group at the bottom
of the file which is intended as the future home for all runtime-enabled
settings.
* page/Settings.in:
Source/WebKit/mac:
Hook up the visualViewportEnabled setting for WebKit1.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences visualViewportEnabled]):
(-[WebPreferences setVisualViewportEnabled:]):
* WebView/WebPreferencesPrivate.h:
Source/WebKit2:
Hook up the visualViewportEnabled setting for WebKit2.
* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _visualViewportEnabled]):
(-[WKPreferences _setVisualViewportEnabled:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Tools:
Pref and a menu item to toggle visualViewportEnabled for WebKits 1 and 2.
* MiniBrowser/mac/SettingsController.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController visualViewportEnabled]):
(-[SettingsController toggleVisualViewportEnabled:]):
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController didChangeSettings]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController didChangeSettings]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204469
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Mon, 15 Aug 2016 17:53:26 +0000 (17:53 +0000)]
Fix WinCairo build after r204466.
* platform/network/curl/SocketStreamHandleCurl.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204468
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Mon, 15 Aug 2016 17:37:55 +0000 (17:37 +0000)]
Fix GTK build after r204466.
* platform/gtk/DataObjectGtk.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204467
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Mon, 15 Aug 2016 17:21:13 +0000 (17:21 +0000)]
Remove unused includes of wtf headers
https://bugs.webkit.org/show_bug.cgi?id=160839
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-08-15
Reviewed by Alex Christensen.
Source/JavaScriptCore:
* Lots of files.
Source/WebCore:
* Lots of files.
Source/WebKit:
* Storage/StorageSyncManager.h:
* Storage/StorageThread.cpp:
* Storage/StorageThread.h:
* Storage/WebDatabaseProvider.cpp:
Source/WebKit/cf:
* WebCoreSupport/WebInspectorClientCF.cpp:
Source/WebKit/ios:
* Misc/WebGeolocationCoreLocationProvider.h:
* WebView/WebPDFViewIOS.mm:
* WebView/WebPlainWhiteView.mm:
Source/WebKit/mac:
* History/BinaryPropertyList.cpp:
* History/WebBackForwardList.mm:
* History/WebHistoryItemInternal.h:
* Misc/WebNSFileManagerExtras.mm:
* Plugins/Hosted/NetscapePluginHostProxy.h:
* WebCoreSupport/WebPlatformStrategies.mm:
* WebCoreSupport/WebSelectionServiceController.mm:
* WebCoreSupport/WebUserMediaClient.h:
Source/WebKit/win:
* WebFrame.h:
Source/WebKit2:
* Lots of files.
Source/WTF:
* wtf/BackwardsGraph.h:
* wtf/DataLog.cpp:
* wtf/WorkQueue.cpp:
* wtf/text/StringImpl.cpp:
* wtf/unicode/icu/CollatorICU.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204466
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Mon, 15 Aug 2016 17:15:21 +0000 (17:15 +0000)]
Remove unused WebSocketChannel::willOpenSocketStream
https://bugs.webkit.org/show_bug.cgi?id=160851
Reviewed by Daniel Bates.
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::willOpenSocketStream): Deleted.
* Modules/websockets/WebSocketChannel.h:
* platform/network/SocketStreamHandleClient.h:
(WebCore::SocketStreamHandleClient::willOpenSocketStream): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204465
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Mon, 15 Aug 2016 17:14:20 +0000 (17:14 +0000)]
Skip failing test mozilla/ecma/LexicalConventions/7.7.3.js
https://bugs.webkit.org/show_bug.cgi?id=160662
Unreviewed test gardening.
* mozilla/ecma/LexicalConventions/7.7.3.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204464
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Mon, 15 Aug 2016 16:53:17 +0000 (16:53 +0000)]
Rebaseline js/dom/global-constructors-attributes.html for mac-wk1, mark as failing on Yosemite.
Unreviewed test gardening.
* platform/mac-wk1/TestExpectations:
* platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204463
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 15 Aug 2016 16:43:13 +0000 (16:43 +0000)]
Move the plug-in and WebGL blacklist code to WebCore
https://bugs.webkit.org/show_bug.cgi?id=160831
Reviewed by Sam Weinig.
Source/WebCore:
* WebCore.xcodeproj/project.pbxproj:
* platform/mac/BlacklistUpdater.h: Added.
(WebCore::BlacklistUpdater::queue):
(WebCore::BlacklistUpdater::pluginBlacklist):
(WebCore::BlacklistUpdater::webGLBlacklist):
* platform/mac/BlacklistUpdater.mm: Added.
(WebCore::BlacklistUpdater::readBlacklistData):
(WebCore::BlacklistUpdater::reloadIfNecessary):
(WebCore::BlacklistUpdater::initializeQueue):
* platform/mac/PluginBlacklist.h: Added.
* platform/mac/PluginBlacklist.mm: Added.
(WebCore::PluginBlacklist::loadPolicyForPluginVersion):
(WebCore::PluginBlacklist::isPluginUpdateAvailable):
(WebCore::PluginBlacklist::create):
(WebCore::PluginBlacklist::~PluginBlacklist):
(WebCore::PluginBlacklist::splitOSVersion):
(WebCore::PluginBlacklist::loadPolicyForPlugin):
(WebCore::PluginBlacklist::isUpdateAvailable):
(WebCore::PluginBlacklist::PluginBlacklist):
* platform/mac/WebGLBlacklist.h: Added.
* platform/mac/WebGLBlacklist.mm: Added.
(WebCore::OSBuildInfo::OSBuildInfo):
(WebCore::OSBuildInfo::operator==):
(WebCore::OSBuildInfo::operator>):
(WebCore::OSBuildInfo::operator<=):
(WebCore::OSBuildInfo::operator<):
(WebCore::buildInfoFromOSBuildString):
(WebCore::WebGLBlacklist::shouldBlockWebGL):
(WebCore::WebGLBlacklist::shouldSuggestBlockingWebGL):
(WebCore::matchesGPU):
(WebCore::gpuMaskFromString):
(WebCore::matchesBuildInfo):
(WebCore::WebGLBlacklist::create):
(WebCore::WebGLBlacklist::shouldBlock):
(WebCore::WebGLBlacklist::shouldSuggestBlocking):
(WebCore::WebGLBlacklist::WebGLBlacklist):
(WebCore::WebGLBlacklist::~WebGLBlacklist):
* platform/spi/cf/CFUtilitiesSPI.h: Added.
Source/WebKit/mac:
Adopt the plug-in and WebGL blacklist code from WebCore instead of using the code from WebKitSystemInterface.
* WebCoreSupport/WebFrameLoaderClient.mm:
(shouldBlockPlugin):
(WebFrameLoaderClient::createPlugin):
(WebFrameLoaderClient::createJavaAppletWidget):
(shouldBlockWebGL):
(WebFrameLoaderClient::webGLPolicyForURL):
(WebFrameLoaderClient::resolveWebGLPolicyForURL):
Source/WebKit2:
Adopt the plug-in and WebGL blacklist code from WebCore instead of using the code from WebKitSystemInterface.
* Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
(WebKit::getPlatformPluginModuleInformation):
* Shared/Plugins/PluginModuleInfo.h:
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextIsPlugInUpdateAvailable):
(WKContextShouldBlockWebGL):
(WKContextShouldSuggestBlockWebGL):
* UIProcess/Plugins/PluginInfoStore.h:
* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::shouldBlockPlugin):
(WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
(WebKit::WKPlugInModuleLoadPolicyToPluginModuleLoadPolicy): Deleted.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::findPlugin):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204462
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Mon, 15 Aug 2016 16:10:09 +0000 (16:10 +0000)]
Add Sandbox profile for Enterprise support version of Flash Player
https://bugs.webkit.org/show_bug.cgi?id=160753
<rdar://problem/
17614483>
Reviewed by Andy Estes.
* Resources/PlugInSandboxProfiles/com.macromedia.Flash Player ESR.plugin.sb: Added.
* WebKit2.xcodeproj/project.pbxproj: Add reference to new sandbox profile.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204461
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
annulen@yandex.ru [Mon, 15 Aug 2016 09:56:18 +0000 (09:56 +0000)]
Allow using make-dist with non-GTK ports
https://bugs.webkit.org/show_bug.cgi?id=160842
Reviewed by Michael Catanzaro.
This patch adds support for setting base name of tarball and argument
passed to cmake's -DPORT= via command line arguments.
* gtk/make-dist.py:
(Distcheck.configure):
(Distcheck.check):
(get_tarball_root_and_output_filename_from_arguments):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204460
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Mon, 15 Aug 2016 00:48:16 +0000 (00:48 +0000)]
Align the event listener firing code with the latest DOM Specification and simplify it
https://bugs.webkit.org/show_bug.cgi?id=160828
Reviewed by Darin Adler.
Align the event listener firing code with the latest DOM specification:
- https://dom.spec.whatwg.org/#concept-event-listener-invoke
- https://dom.spec.whatwg.org/#concept-event-listener-inner-invoke
- https://dom.spec.whatwg.org/#concept-event-listener
The following changes were made:
1. RegisteredEventListener (equivalent to "event listener" in the spec)
is now RefCounted
2. RegisteredEventListener now has a wasRemoved flag as in specification.
3. fireEventListeners() is now iterating over a copy of the event
listeners, as in the specification. We rely on the wasRemoved removed
flag to avoid executing event listeners that were removed while we
iterate.
Previously, the code was modifying the event listeners vector we were
iterating on. Doing so safely lead to complicated and error prone code.
The new code is much simpler and easier to reason about.
This change seems to be perf-neutral on Speedometer.
No new tests, no web-exposed behavior change.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::getJSListenerFunctions):
* dom/DOMAllInOne.cpp:
* dom/EventListenerMap.cpp:
(WebCore::EventListenerMap::assertNoActiveIterators):
(WebCore::EventListenerMap::containsCapturing):
(WebCore::EventListenerMap::containsActive):
(WebCore::findListener):
(WebCore::EventListenerMap::add):
(WebCore::removeListenerFromVector):
(WebCore::EventListenerMap::remove):
(WebCore::EventListenerMap::find):
(WebCore::removeFirstListenerCreatedFromMarkup):
(WebCore::copyListenersNotCreatedFromMarkupToTarget):
(WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
(WebCore::EventListenerIterator::nextListener):
(WebCore::EventListenerMap::clear): Deleted.
* dom/EventListenerMap.h:
(WebCore::EventListenerMap::contains):
(WebCore::EventListenerMap::assertNoActiveIterators):
* dom/EventTarget.cpp:
(WebCore::EventTarget::removeEventListener):
(WebCore::EventTarget::getAttributeEventListener):
(WebCore::FiringEventListenersScope::FiringEventListenersScope):
(WebCore::FiringEventListenersScope::~FiringEventListenersScope):
(WebCore::EventTarget::fireEventListeners):
(WebCore::EventTarget::setAttributeEventListener): Deleted.
(WebCore::EventTarget::hasActiveEventListeners): Deleted.
(WebCore::EventTarget::dispatchEventForBindings): Deleted.
(WebCore::EventTarget::getEventListeners): Deleted.
* dom/EventTarget.h:
(WebCore::EventTarget::isFiringEventListeners):
* dom/RegisteredEventListener.cpp: Removed.
* dom/RegisteredEventListener.h:
(WebCore::RegisteredEventListener::Options::Options):
(WebCore::RegisteredEventListener::create):
(WebCore::RegisteredEventListener::listener):
(WebCore::RegisteredEventListener::useCapture):
(WebCore::RegisteredEventListener::isPassive):
(WebCore::RegisteredEventListener::isOnce):
(WebCore::RegisteredEventListener::wasRemoved):
(WebCore::RegisteredEventListener::markAsRemoved):
(WebCore::RegisteredEventListener::RegisteredEventListener):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getEventListeners):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
* inspector/InspectorDOMAgent.h:
(WebCore::EventListenerInfo::EventListenerInfo):
* svg/SVGElement.cpp:
(WebCore::hasLoadListener):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204459
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 15 Aug 2016 00:02:31 +0000 (00:02 +0000)]
[Cocoa] Remove deprecated _WKFormDelegate
https://bugs.webkit.org/show_bug.cgi?id=160848
Reviewed by Anders Carlsson.
* Shared/API/Cocoa/WebKitPrivate.h: Removed #import.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _formDelegate]): Moved into WKBinaryCompatibilityIOS10 cateogry implementation,
chaged type to id <_WKInputDelegate>.
(-[WKWebView _setFormDelegate:]): Ditto.
* UIProcess/API/Cocoa/WKWebViewPrivate.h: Removed property declaration.
* UIProcess/API/Cocoa/_WKFormDelegate.h: Removed.
* WebKit2.xcodeproj/project.pbxproj: Removed reference to header.
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Fixed comment.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204458
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gskachkov@gmail.com [Sun, 14 Aug 2016 23:04:50 +0000 (23:04 +0000)]
[2016] Set correct status for test262 after implementation of Object.values&Object.entries
https://bugs.webkit.org/show_bug.cgi?id=160844
Reviewed by Saam Barati.
Patch contains fix statuses of specs in the test262 test collection after implementation of
Object.values and Object.entries functions. Also patch contains small fixes in tests of the
tests for Object.values/entries functions.
* stress/object-entries.js:
(Object.getOwnPropertyDescriptor):
* stress/object-values.js:
(Object.getOwnPropertyDescriptor):
* test262.yaml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204457
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Sun, 14 Aug 2016 22:42:21 +0000 (22:42 +0000)]
Fix compiler errors when building iOS WebKit using the iOS 10 beta SDK
https://bugs.webkit.org/show_bug.cgi?id=160725
Reviewed by Sam Weinig.
Source/WebCore:
* platform/cocoa/ThemeCocoa.mm: Unconditionally include header dlfcn.h as it
exists in both the public iOS 9.3 SDK and iOS 10 beta SDK.
* platform/spi/cocoa/CoreTextSPI.h: Add SPI declarations for constants that were
used in r204107.
* platform/spi/cocoa/PassKitSPI.h: Remove unnecessary #import statements when
building with the Apple Internal SDK. Include header PassKit/PassKit.h when
building for iOS.
* platform/spi/cocoa/QuartzCoreSPI.h: No need to define CLayer.contentsFormat
when building with the iOS 10 beta SDK as it is now part of the public API.
Source/WebKit/mac:
OSAtomicCompareAndSwap32() has been deprecated as of the iOS 10 beta SDK. For now,
silence the complier warning.
* WebView/WebView.mm:
(-[WebView _dispatchTileDidDraw:]):
Source/WebKit2:
* Platform/spi/ios/UIKitSPI.h: Add SPI for UITextInputSuggestionDelegate.
* UIProcess/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm: Remove unnecessary include of PKPaymentMerchantSession.h.
Source/WTF:
For now, disable OS_LOG when building with the iOS 10 beta SDK until
we have the fix for <rdar://problem/
27758343>.
* wtf/Platform.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204456
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 14 Aug 2016 22:38:54 +0000 (22:38 +0000)]
Dereferenced NULL pointer in StyleResolver
https://bugs.webkit.org/show_bug.cgi?id=160823
Patch by Jonathan Bedard <jbedard@apple.com> on 2016-08-14
Reviewed by Darin Adler.
No behavior changed, new tests unneeded.
This change was initiated by a NULL pointer dereference to provide this unused argument.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::CascadedProperties::addStyleProperties): Removed unused function argument.
(WebCore::StyleResolver::CascadedProperties::addMatch): Ditto.
* css/StyleResolver.h: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204455
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 14 Aug 2016 21:45:49 +0000 (21:45 +0000)]
[Cocoa] Remove deprecated _WKVisitedLinkProvider declarations that aren’t needed
https://bugs.webkit.org/show_bug.cgi?id=160846
Reviewed by Darin Adler.
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _visitedLinkProvider]): Moved into WKBinaryCompatibilityIOS10
cateogry implementation, changed type to _WKVisitedLinkStore.
(-[WKWebViewConfiguration _setVisitedLinkProvider:]): Ditto.
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Removed property declaration.
* UIProcess/API/Cocoa/_WKVisitedLinkProvider.h: Removed.
* UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm: Moved declaration in here.
* WebKit2.xcodeproj/project.pbxproj: Updated for header removal.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204454
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Sun, 14 Aug 2016 18:29:24 +0000 (18:29 +0000)]
Fix GTK Debug bots after r204400
https://bugs.webkit.org/show_bug.cgi?id=160818
Reviewed by Carlos Garcia Campos.
Because the GTK EWS bot doesn't run tests, I missed this.
No new tests because there is no behavior change.
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::selectionRect):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204453
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 14 Aug 2016 01:29:50 +0000 (01:29 +0000)]
Build fix follow-up to r204433.
* wtf/StdLibExtras.h:
(WTF::makeVisitor): Don’t use an auto return type.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204452
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Sun, 14 Aug 2016 00:10:22 +0000 (00:10 +0000)]
'compatMode' property should be on Document, not HTMLDocument
https://bugs.webkit.org/show_bug.cgi?id=160819
Reviewed by Sam Weinig.
Source/WebCore:
'compatMode' property should be on Document, not HTMLDocument:
- https://dom.spec.whatwg.org/#dom-document-compatmode
WebKit had it on both. Firefox and Chrome have it on Document only.
Test: fast/dom/Document/compatMode-location.html
* html/HTMLDocument.idl:
LayoutTests:
Add layout test coverage.
* fast/dom/Document/compatMode-location-expected.txt: Added.
* fast/dom/Document/compatMode-location.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204451
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Sat, 13 Aug 2016 22:37:18 +0000 (22:37 +0000)]
Move 'embeds' / 'plugins'/ 'scripts' attributes from HTMLDocument to Document
https://bugs.webkit.org/show_bug.cgi?id=160829
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
* web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Move 'embeds' / 'plugins'/ 'scripts' attributes from HTMLDocument to Document
to match the latest specification:
- https://html.spec.whatwg.org/multipage/dom.html#the-document-object
This also matches Chrome.
No new tests, rebaselined existing test.
* dom/Document.idl:
* html/HTMLDocument.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204450
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Sat, 13 Aug 2016 22:36:20 +0000 (22:36 +0000)]
Move designMode attribute from HTMLDocument to Document
https://bugs.webkit.org/show_bug.cgi?id=160838
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
* web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Move designMode attribute from HTMLDocument to Document to match the
latest HTML specification:
- https://html.spec.whatwg.org/multipage/interaction.html#designMode
This also matches Chrome.
No new tests, rebaselined existing test.
* dom/Document.cpp:
(WebCore::Document::designMode):
(WebCore::Document::setDesignMode):
* dom/Document.h:
* dom/Document.idl:
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::bgColor): Deleted.
(WebCore::HTMLDocument::setBgColor): Deleted.
(WebCore::HTMLDocument::fgColor): Deleted.
* html/HTMLDocument.h:
* html/HTMLDocument.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204449
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
clopez@igalia.com [Sat, 13 Aug 2016 20:30:50 +0000 (20:30 +0000)]
[GTK] Install script lacks gstreamer related dependencies
https://bugs.webkit.org/show_bug.cgi?id=160814
Reviewed by Carlos Garcia Campos.
* gtk/install-dependencies: Fedora case had already listed this dependencies,
but both Arch and Debian/Ubuntu were missing them.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204448
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
annulen@yandex.ru [Sat, 13 Aug 2016 18:59:47 +0000 (18:59 +0000)]
make-dist.py should not allow unknown rules in manifest
https://bugs.webkit.org/show_bug.cgi?id=160841
Reviewed by Carlos Garcia Campos.
* gtk/make-dist.py:
(Manifest.process_line):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204447
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pvollan@apple.com [Sat, 13 Aug 2016 17:17:37 +0000 (17:17 +0000)]
[Win] Warning fixes.
https://bugs.webkit.org/show_bug.cgi?id=160803
Reviewed by Brent Fulgham.
Initialize local variables.
* jit/JIT.cpp:
(JSC::JIT::compileWithoutLinking):
* runtime/Error.cpp:
(JSC::addErrorInfoAndGetBytecodeOffset):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204446
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
clopez@igalia.com [Sat, 13 Aug 2016 15:32:43 +0000 (15:32 +0000)]
[EFL][GTK] Install script not working on Debian 9 (testing) and Ubuntu 16.10
https://bugs.webkit.org/show_bug.cgi?id=160809
Reviewed by Carlos Garcia Campos.
* efl/install-dependencies: Factorize the previous logic for handling the php5/7
case, and use it also for the new package names of libpng and libgeoclue.
* gtk/install-dependencies: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204445
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@webkit.org [Sat, 13 Aug 2016 06:11:49 +0000 (06:11 +0000)]
Skip to check directories existence in build-webkit
https://bugs.webkit.org/show_bug.cgi?id=160691
Reviewed by Alex Christensen.
CMake checks if directories are there itself. So CMake ports
don't need to check it in the build-webkit script.
* Scripts/build-webkit:
* Scripts/webkitdirs.pm:
(determineSourceDir):
(isCMakeBuild):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204444
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Sat, 13 Aug 2016 04:20:30 +0000 (04:20 +0000)]
getElementsByTagName() should take a qualifiedName in parameter
https://bugs.webkit.org/show_bug.cgi?id=160682
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
* web-platform-tests/dom/nodes/Document-getElementsByTagName-expected.txt:
* web-platform-tests/dom/nodes/Document-getElementsByTagName-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-getElementsByTagName-expected.txt:
* web-platform-tests/dom/nodes/case-expected.txt:
Rebaseline several W3C tests now that more checks are passing.
* web-platform-tests/dom/nodes/Document-getElementsByTagName-xhtml.xhtml:
Re-sync this test from upstream as it was outdated after:
- https://github.com/w3c/web-platform-tests/pull/3457
Source/WebCore:
getElementsByTagName() should take a qualifiedName in parameter, not a
localName, according to the latest DOM specification:
- https://dom.spec.whatwg.org/#dom-document-getelementsbytagname
- https://dom.spec.whatwg.org/#concept-getelementsbytagname
The new behavior matches Firefox and Edge. There is a slight
compatiblity risk but we should give it a try.
No new tests, rebaselined existing tests.
* WebCore.xcodeproj/project.pbxproj:
* dom/AllDescendantsCollection.h: Added.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getElementsByTagName):
(WebCore::ContainerNode::getElementsByTagNameNS):
* dom/Node.cpp:
(WebCore::NodeListsNodeData::invalidateCaches):
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::addCachedTagCollectionNS):
(WebCore::NodeListsNodeData::removeCachedTagCollectionNS):
(WebCore::NodeListsNodeData::adoptDocument):
(WebCore::NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLastList):
* dom/TagCollection.cpp:
(WebCore::makeQualifiedName):
(WebCore::splitQualifiedName):
(WebCore::TagCollectionNS::TagCollectionNS):
(WebCore::TagCollectionNS::~TagCollectionNS):
(WebCore::TagCollection::TagCollection):
(WebCore::TagCollection::~TagCollection):
(WebCore::HTMLTagCollection::HTMLTagCollection):
(WebCore::HTMLTagCollection::~HTMLTagCollection):
* dom/TagCollection.h:
(WebCore::TagCollection::elementMatches):
(WebCore::TagCollectionNS::elementMatches):
(WebCore::HTMLTagCollection::elementMatches):
* html/CollectionType.h:
* html/GenericCachedHTMLCollection.cpp:
(WebCore::GenericCachedHTMLCollection<traversalType>::elementMatches):
* html/HTMLCollection.cpp:
(WebCore::invalidationTypeExcludingIdAndNameAttributes):
LayoutTests:
Update existing tests to reflect behavior change.
* fast/dom/getElementsByClassName/010.xml:
* fast/dom/getElementsByClassName/011.xml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204441
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 13 Aug 2016 03:05:34 +0000 (03:05 +0000)]
Remove always true JSC::Debugger::needPauseHandling virtual method
https://bugs.webkit.org/show_bug.cgi?id=160822
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-08-12
Reviewed by Mark Lam.
Source/JavaScriptCore:
All subclasses return true for this method. Just remove the method.
* debugger/Debugger.cpp:
(JSC::Debugger::pauseIfNeeded):
* inspector/ScriptDebugServer.h:
Source/WebKit/mac:
* WebView/WebScriptDebugger.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204440
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Sat, 13 Aug 2016 02:14:42 +0000 (02:14 +0000)]
Inline store loop for CopyRest in DFG and FTL for certain array modes
https://bugs.webkit.org/show_bug.cgi?id=159612
Reviewed by Filip Pizlo.
JSTests:
* stress/rest-parameter-having-a-bad-time.js: Added.
* stress/rest-parameter-many-arguments.js: Added.
* stress/rest-parameter-various-types.js: Added.
Source/JavaScriptCore:
This patch changes the old copy_rest bytecode to actually allocate the rest array itself.
The bytecode is now called create_rest with an analogous CreateRest node in the DFG/FTL.
This allows the bytecode to be in control of what type of indexingType the array is allocated
with. We always allocate using ArrayWithContiguous storage unless we're havingABadTime().
This also makes allocating and writing into the array fast. On the fast path, the DFG/FTL
JIT will fast allocate the array and its storage, and we will do a memmove from the rest
region of arguments into the array's storage.
I'm seeing a 1-2% speedup on ES6SampleBench, and about a 2x speedup
on micro benchmarks that just test rest creation speed.
* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitRestParameter):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
(JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::uses):
(JSC::DFG::Graph::isWatchingHavingABadTimeWatchpoint):
(JSC::DFG::Graph::compilation):
* dfg/DFGNode.h:
(JSC::DFG::Node::numberOfArgumentsToSkip):
* dfg/DFGNodeType.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCreateClonedArguments):
(JSC::DFG::SpeculativeJIT::compileCreateRest):
(JSC::DFG::SpeculativeJIT::compileGetRestLength):
(JSC::DFG::SpeculativeJIT::compileCopyRest): Deleted.
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileArithRandom):
(JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileArithRandom):
(JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateRest):
(JSC::FTL::DFG::LowerDFGToB3::compileGetRestLength):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer):
(JSC::FTL::DFG::LowerDFGToB3::compileAllocateArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::compileCopyRest): Deleted.
* interpreter/CallFrame.h:
(JSC::ExecState::addressOfArgumentsStart):
(JSC::ExecState::argument):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* jit/JIT.h:
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_argument_count):
(JSC::JIT::emit_op_create_rest):
(JSC::JIT::emit_op_copy_rest): Deleted.
* jit/JITOperations.h:
* llint/LowLevelInterpreter.asm:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
LayoutTests:
* js/regress/rest-parameter-construction-performance-expected.txt: Added.
* js/regress/rest-parameter-construction-performance.html: Added.
* js/regress/script-tests/rest-parameter-construction-performance.js: Added.
(foo):
(test1):
(test2.foo):
(test2):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204439
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 13 Aug 2016 02:02:04 +0000 (02:02 +0000)]
Add a helper class for enumerating elements in an iterable object
https://bugs.webkit.org/show_bug.cgi?id=160800
Reviewed by Benjamin Poulain.
Added iteratorForIterable which provides an abstraction for iterating over an iterable object,
and deployed it in the constructors of Set, WeakSet, Map, and WeakMap.
Also added a helper function iteratorForIterable, which retrieves the iterator out of an iterable object.
* runtime/IteratorOperations.cpp:
(JSC::iteratorForIterable): Added.
* runtime/IteratorOperations.h:
(JSC::forEachInIterable): Added.
* runtime/MapConstructor.cpp:
(JSC::constructMap):
* runtime/SetConstructor.cpp:
(JSC::constructSet):
* runtime/WeakMapConstructor.cpp:
(JSC::constructWeakMap):
* runtime/WeakSetConstructor.cpp:
(JSC::constructWeakSet):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204438
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Sat, 13 Aug 2016 00:56:48 +0000 (00:56 +0000)]
Web Inspector: Add application/vnd.api+json as a valid JSON MIME-type
https://bugs.webkit.org/show_bug.cgi?id=160834
rdar://problem/
27608536
Reviewed by Joseph Pecoraro.
* UserInterface/Views/CodeMirrorAdditions.js: Add Add application/vnd.api+json to extraJSONTypes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204437
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 23:35:17 +0000 (23:35 +0000)]
Make variant only available when compiling for C++14 or greater
https://bugs.webkit.org/show_bug.cgi?id=160813
Patch by Sam Weinig <sam@webkit.org> on 2016-08-12
Reviewed by Anders Carlsson.
* wtf/Compiler.h:
* wtf/StdLibExtras.h:
* wtf/Variant.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204433
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 12 Aug 2016 23:34:27 +0000 (23:34 +0000)]
[Cocoa] Instances of WKObject subclasses don’t work correctly with CFGetTypeID()
https://bugs.webkit.org/show_bug.cgi?id=160820
<rdar://problem/
27825875>
Reviewed by Anders Carlsson.
* Shared/Cocoa/WKObject.mm:
(-[WKObject _cfTypeID]): Override this internal method and forward to the target object.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204432
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Fri, 12 Aug 2016 23:12:46 +0000 (23:12 +0000)]
Make URLParser work with URLs missing URL parts
https://bugs.webkit.org/show_bug.cgi?id=160824
Reviewed by Brady Eidson.
Source/WebCore:
My initial implementation of URLParser didn't work correctly with URLs missing parts,
like a URL with no fragment, or a URL with no query. This fixes and tests parsing such URLS.
Covered by new API tests.
* platform/URLParser.cpp:
(WebCore::URLParser::parse):
(WebCore::URLParser::allValuesEqual):
* platform/URLParser.h:
(WebCore::URLParser::parse):
Tools:
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::s):
(TestWebKitAPI::checkURL):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::eq): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204431
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wilander@apple.com [Fri, 12 Aug 2016 23:08:40 +0000 (23:08 +0000)]
Add HashCountedSet API tests to TestWTFLibrary target
https://bugs.webkit.org/show_bug.cgi?id=160815
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Added HashCountedSet.cpp and sorted the file reference section
according to UNIX sort.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204430
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 22:53:27 +0000 (22:53 +0000)]
Rename DocumentLoadTiming and ResourceLoadTiming
https://bugs.webkit.org/show_bug.cgi?id=160821
Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-08-12
Reviewed by Alex Christensen.
Source/WebCore:
Renames ResourceLoadTiming to NetworkLoadTiming.
Renames DocumentLoadTiming to LoadTiming as well as
navigationStart() to startTime(), so it's generic for
both the main resource and subresources.
* CMakeLists.txt:
* Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::from):
* PlatformMac.cmake:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorNetworkAgent.cpp:
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceResponse):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::timing):
(WebCore::DocumentLoader::resetTiming):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchUnloadEvents):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
* loader/LoadTiming.cpp: Renamed from Source/WebCore/loader/DocumentLoadTiming.cpp.
(WebCore::LoadTiming::LoadTiming):
(WebCore::LoadTiming::monotonicTimeToZeroBasedDocumentTime):
(WebCore::LoadTiming::monotonicTimeToPseudoWallTime):
(WebCore::LoadTiming::markStartTime):
(WebCore::LoadTiming::addRedirect):
* loader/LoadTiming.h: Renamed from Source/WebCore/loader/DocumentLoadTiming.h.
(WebCore::LoadTiming::markUnloadEventStart):
(WebCore::LoadTiming::markUnloadEventEnd):
(WebCore::LoadTiming::markRedirectStart):
(WebCore::LoadTiming::markRedirectEnd):
(WebCore::LoadTiming::markFetchStart):
(WebCore::LoadTiming::setResponseEnd):
(WebCore::LoadTiming::markLoadEventStart):
(WebCore::LoadTiming::markLoadEventEnd):
(WebCore::LoadTiming::setHasSameOriginAsPreviousDocument):
(WebCore::LoadTiming::startTime):
(WebCore::LoadTiming::unloadEventStart):
(WebCore::LoadTiming::unloadEventEnd):
(WebCore::LoadTiming::redirectStart):
(WebCore::LoadTiming::redirectEnd):
(WebCore::LoadTiming::redirectCount):
(WebCore::LoadTiming::fetchStart):
(WebCore::LoadTiming::responseEnd):
(WebCore::LoadTiming::loadEventStart):
(WebCore::LoadTiming::loadEventEnd):
(WebCore::LoadTiming::hasCrossOriginRedirect):
(WebCore::LoadTiming::hasSameOriginAsPreviousDocument):
(WebCore::LoadTiming::referenceMonotonicTime):
(WebCore::LoadTiming::referenceWallTime):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchLoadEvent):
* page/PerformanceNavigation.cpp:
(WebCore::PerformanceNavigation::redirectCount):
* page/PerformanceResourceTiming.cpp:
(WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
(WebCore::PerformanceResourceTiming::resourceTimeToDocumentMilliseconds):
* page/PerformanceResourceTiming.h:
* page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::navigationStart):
(WebCore::PerformanceTiming::unloadEventStart):
(WebCore::PerformanceTiming::unloadEventEnd):
(WebCore::PerformanceTiming::redirectStart):
(WebCore::PerformanceTiming::redirectEnd):
(WebCore::PerformanceTiming::fetchStart):
(WebCore::PerformanceTiming::domainLookupStart):
(WebCore::PerformanceTiming::domainLookupEnd):
(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::connectEnd):
(WebCore::PerformanceTiming::secureConnectionStart):
(WebCore::PerformanceTiming::requestStart):
(WebCore::PerformanceTiming::responseStart):
(WebCore::PerformanceTiming::responseEnd):
(WebCore::PerformanceTiming::loadEventStart):
(WebCore::PerformanceTiming::loadEventEnd):
(WebCore::PerformanceTiming::loadTiming):
(WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds):
* page/PerformanceTiming.h:
* platform/network/NetworkLoadTiming.h: Renamed from Source/WebCore/platform/network/ResourceLoadTiming.h.
(WebCore::NetworkLoadTiming::NetworkLoadTiming):
(WebCore::NetworkLoadTiming::operator=):
(WebCore::NetworkLoadTiming::isolatedCopy):
(WebCore::NetworkLoadTiming::operator==):
(WebCore::NetworkLoadTiming::operator!=):
(WebCore::NetworkLoadTiming::encode):
(WebCore::NetworkLoadTiming::decode):
* platform/network/ResourceHandle.h:
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::crossThreadData):
(WebCore::ResourceResponseBase::fromCrossThreadData):
(WebCore::ResourceResponseBase::compare):
* platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::networkLoadTiming):
(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
* platform/network/cocoa/NetworkLoadTiming.mm: Renamed from Source/WebCore/platform/network/cocoa/ResourceLoadTiming.mm.
(WebCore::timingValue):
(WebCore::copyTimingData):
(WebCore::setCollectsTimingData):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::calculateWebTimingInformations):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::getConnectionTimingData):
* platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::sendRequestCallback):
(WebCore::ResourceHandle::didStartRequest):
(WebCore::networkEventCallback):
Source/WebKit2:
Rename ResourceLoadTiming to NetworkLoadTiming.
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204429
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Fri, 12 Aug 2016 22:32:55 +0000 (22:32 +0000)]
Web Inspector: Command-Shift-O causes infinite loop if web page has frames
https://bugs.webkit.org/show_bug.cgi?id=160810
Reviewed by Joseph Pecoraro.
* UserInterface/Views/OpenResourceDialog.js:
(WebInspector.OpenResourceDialog.prototype._addResourcesForFrame):
"frame" doesn't change inside the loop.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204428
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 21:46:30 +0000 (21:46 +0000)]
Remove unused includes of RefCountedLeakCounter.h
https://bugs.webkit.org/show_bug.cgi?id=160817
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-08-12
Reviewed by Mark Lam.
Source/JavaScriptCore:
* parser/Nodes.cpp:
* runtime/Structure.cpp:
Source/WebCore:
* bindings/js/JSEventListener.cpp:
* rendering/RenderBlockLineLayout.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204424
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Fri, 12 Aug 2016 21:38:59 +0000 (21:38 +0000)]
Add mac-wk1 baseline for js/dom/global-constructors-attributes.html after r204396.
Unreviewed test gardening.
* platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204423
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Fri, 12 Aug 2016 21:38:26 +0000 (21:38 +0000)]
ASSERTION FAILED: : line >= firstLine in BytecodeGenerator::emitExpressionInfo.
https://bugs.webkit.org/show_bug.cgi?id=160535
<rdar://problem/
27328151>
Source/JavaScriptCore:
Patch by Pranjal Jumde <pjumde@apple.com> on 2016-08-12
Reviewed by Saam Barati.
lineNumber from the savePoint was not being restored before calling next() causing discrepancy in the offset and line for the token
* parser/Parser.h:
(JSC::Parser::restoreLexerState):
LayoutTests:
Patch by Pranjal Jumde <pjumde@apple.com> on 2016-08-12
Reviewed by Saam Barati.
lineNumber from the savePoint was not being restored before calling next() causing discrepancy in the offset and line for the token
* js/multiline-function-crash-expected.txt: Added.
* js/multiline-function-crash.html: Added.
* js/script-tests/multiline-function-crash.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204422
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 12 Aug 2016 21:24:40 +0000 (21:24 +0000)]
run-benchmark should run JetStream 1.1 instead of 1.0.1
https://bugs.webkit.org/show_bug.cgi?id=160816
Reviewed by Filip Pizlo.
Use the latest JetStream 1.1 in run-benchmark.
* Scripts/webkitpy/benchmark_runner/benchmark_builder.py:
(BenchmarkBuilder.__exit__):
* Scripts/webkitpy/benchmark_runner/data/patches/JetStream.patch: Updated to apply against 1.1 directory.
* Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan: Updated to use r190897, which is the last
change to JetStream directory.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204421
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Fri, 12 Aug 2016 21:09:48 +0000 (21:09 +0000)]
Unreviewed, rolling out r204416.
This test fails with a debug assertion
Reverted changeset:
"ASSERTION FAILED: : line >= firstLine in
BytecodeGenerator::emitExpressionInfo."
https://bugs.webkit.org/show_bug.cgi?id=160535
http://trac.webkit.org/changeset/204416
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204420
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gskachkov@gmail.com [Fri, 12 Aug 2016 20:46:24 +0000 (20:46 +0000)]
[ES2016] Implement Object.entries
https://bugs.webkit.org/show_bug.cgi?id=160412
Reviewed by Saam Barati.
This patch adds entries function to Object that returns list of
key+values pairs. Patch did according to the point of
spec https://tc39.github.io/ecma262/#sec-object.entries
Source/JavaScriptCore:
* builtins/ObjectConstructor.js:
(globalPrivate.enumerableOwnProperties):
(entries):
* runtime/ObjectConstructor.cpp:
JSTests:
* stress/object-entries.js:
(compare):
(string_appeared_here.forEach):
(const.getInvokedFunctions.):
(const.getInvokedFunctions):
(Array.prototype.push):
* stress/object-values.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204419
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 20:34:43 +0000 (20:34 +0000)]
Web Inspector: Support for :lineNumber syntax in Open Resource Dialog
https://bugs.webkit.org/show_bug.cgi?id=159732
<rdar://problem/
27684491>
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-08-12
Reviewed by Matt Baker.
Allow the Open Resource Dialog to support line/column syntax.
Other tools allow "<name>:<line>:<column>" syntax, where the
location data at the end is optional. If the <name> portion
is missing, the location can be used for the active content
view, assuming it has text data and has lines.
* UserInterface/Base/Main.js:
(WebInspector.focusedOrVisibleContentView):
Expose a function to access the current focused / visible content view.
(WebInspector.dialogWasDismissed):
Include passing on cookie data when showing a represented object.
* UserInterface/Views/Dialog.js:
(WebInspector.Dialog):
(WebInspector.Dialog.prototype.get visible):
(WebInspector.Dialog.prototype.get delegate):
(WebInspector.Dialog.prototype.get representedObject):
(WebInspector.Dialog.prototype.get cookie):
(WebInspector.Dialog.prototype.dismiss):
* UserInterface/Models/ResourceQueryResult.js:
(WebInspector.ResourceQueryResult):
(WebInspector.ResourceQueryResult.prototype.get cookie):
Include cookie data along with the represented object in matches
and dialog results.
* UserInterface/Controllers/ResourceQueryController.js:
(WebInspector.ResourceQueryController.prototype.executeQuery):
Cut off location data from a query, and stash it on the query result.
A query can be "<name>:<line>:<column>", and the line/column data
becomes cookie data for the resource.
* UserInterface/Views/OpenResourceDialog.js:
(WebInspector.OpenResourceDialog.prototype._populateResourceTreeOutline):
If the query is just ":<line>:<column>" have it jump to a location
in the current content view if applicable.
(WebInspector.OpenResourceDialog.prototype._handleKeydownEvent):
(WebInspector.OpenResourceDialog.prototype._treeSelectionDidChange):
When dismissing, include cookie data.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204418
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Fri, 12 Aug 2016 20:03:49 +0000 (20:03 +0000)]
Initial URLParser implementation
https://bugs.webkit.org/show_bug.cgi?id=160811
Reviewed by Brady Eidson.
Source/WebCore:
There are a lot of missing parts, but it works in one case, so I test that one case.
* platform/URLParser.cpp:
(WebCore::isC0Control):
(WebCore::isC0ControlOrSpace):
(WebCore::isTabOrNewline):
(WebCore::isASCIIDigit):
(WebCore::isASCIIAlpha):
(WebCore::isASCIIAlphanumeric):
(WebCore::isSpecialScheme):
(WebCore::URLParser::parse):
Tools:
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::eq):
(TestWebKitAPI::checkURL):
(TestWebKitAPI::TEST_F):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204417
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Fri, 12 Aug 2016 18:53:51 +0000 (18:53 +0000)]
ASSERTION FAILED: : line >= firstLine in BytecodeGenerator::emitExpressionInfo.
https://bugs.webkit.org/show_bug.cgi?id=160535
<rdar://problem/
27328151>
Patch by Pranjal Jumde <pjumde@apple.com> on 2016-08-12
Reviewed by Saam Barati.
lineNumber from the savePoint was not being restored before calling next() causing discrepancy in the offset and line for the token
* js/multiline-function-crash-expected.txt: Added.
* js/multiline-function-crash.html: Added.
* js/script-tests/multiline-function-crash.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204416
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Fri, 12 Aug 2016 18:51:16 +0000 (18:51 +0000)]
Add test for fixed nullptr deref error
https://bugs.webkit.org/show_bug.cgi?id=160807
<rdar://problem/
15576693>
Unreviewed test gardening.
* mathml/row-clone-crash-expected.txt: Added.
* mathml/row-clone-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204415
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 12 Aug 2016 18:50:02 +0000 (18:50 +0000)]
message loading never finishes in Mail
https://bugs.webkit.org/show_bug.cgi?id=160806
rdar://problem/
27624095
Reviewed by Dan Bernstein.
Add more checks for when a process goes away before we've established a proper connection to it.
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::receiveSourceEventHandler):
Handle the MACH_NOTIFY_NO_SENDERS and MACH_NOTIFY_SEND_ONCE messages here. Also, once we receive a send
right from the other side, stop listening for the MACH_NOTIFY_NO_SENDERS notification.
* UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::didFinishLaunching):
Null check the connection identifier.
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::ProcessLauncher):
(WebKit::processLauncherWorkQueue): Deleted.
Get rid of the process launcher queue - we're not doing any blocking work here.
* UIProcess/Launcher/ProcessLauncher.h:
Add a weak factory.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::systemDirectoryPath):
Move this before launchProcess().
(WebKit::ProcessLauncher::launchProcess):
Merge createService and connectToService into launchProcess. Also make the following changes:
- Use mach_port_request_notification to get a notification for when our receive right loses all its senders.
This lets us listen for the other process going away before we have a send right for it.
- Use xpc_connection_set_event_handler to listen for errors, so we can detect the process going away before
we've sent a message to it.
(WebKit::connectToService): Deleted.
(WebKit::createService): Deleted.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching):
If we failed to launch, call networkProcessCrashedOrFailedToLaunch so we'll unblock any waiting web processes.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didFinishLaunching):
Null check the connection and XPC connection before trying to get its pid.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204414
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Fri, 12 Aug 2016 16:54:37 +0000 (16:54 +0000)]
Rebaseline js/dom/global-constructors-attributes.html after r204396.
Unreviewed test gardening.
* platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204413
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 16:51:04 +0000 (16:51 +0000)]
Unreviewed, rolling out r204404.
https://bugs.webkit.org/show_bug.cgi?id=160805
"Broke the build for some Apple Internal projects" (Requested
by bradee-oh on #webkit).
Reverted changeset:
"Support WebIDL unions (Part 1)"
https://bugs.webkit.org/show_bug.cgi?id=160769
http://trac.webkit.org/changeset/204404
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204412
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 12 Aug 2016 15:55:10 +0000 (15:55 +0000)]
Fix the 32-bit Mac build after:
Add WK2 ExperimentalFeature support to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=160788
Reviewed by NOBODY (OOPS!).
Sprinkle "#if WK_API_ENABLED"s liberally.
* MiniBrowser/mac/AppDelegate.m:
(defaultConfiguration):
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204411
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 12 Aug 2016 10:38:29 +0000 (10:38 +0000)]
[GStreamer] Performance problems with bigger video resolution in the webrtc media player
https://bugs.webkit.org/show_bug.cgi?id=153826
Reviewed by Alejandro G. Castro.
Keep the OpenWebRTC video renderer size synchronized with the Media element size.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
(WebCore::MediaPlayerPrivateGStreamerOwr::setSize):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204410
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 12 Aug 2016 10:35:28 +0000 (10:35 +0000)]
[GStreamer][OWR] Video rendering fixes
https://bugs.webkit.org/show_bug.cgi?id=160764
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
The video renderer of OpenWebRTC now uses OpenGL so we have two
options to correctly handle this in WebKit:
- if USE_GSTREAMER_GL is enabled then we simply pass our GL
appsink to the renderer and there is no need to create glupload
and glcolorconvert element on WebKit side because those elements
are already created on OpenWebRTC side.
- if USE_GSTREAMER_GL is disabled then we need our sink to download
frames from the GPU so that rendering can be done with the WebKit
video sink in main memory.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::createGLAppSink): Split out GL appsink management
to a separate method that can be used by sub-classes.
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL): Use new createGLAppSink method.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
(WebCore::MediaPlayerPrivateGStreamerOwr::createVideoSink): handle GStreamer-GL configurations
and pass a different element to the renderer depending on the configuration.
Tools:
* gtk/jhbuild.modules: Bump to current OpenWebRTC master.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pvollan@apple.com [Fri, 12 Aug 2016 09:11:09 +0000 (09:11 +0000)]
Add missing return statement in convertFast function added in r204376.
Unreviewed.
* Scripts/webkitpy/common/system/path.py:
(_CygPath.convertFast):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204408
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Fri, 12 Aug 2016 04:34:30 +0000 (04:34 +0000)]
Support WebIDL unions (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=160769
Reviewed by Chris Dumez.
This is the first part of an effort to add support for union types
in our code generators. This change:
- Adds a domType struct to hold the parsed type information. For now, we only
use it temporarily while parsing, and don't expose it to the code generators,
but that will change in a later patch.
- Remove support for scoped identifiers for types. They are not supported by WebIDL.
- Make debugging the parser easier by providing backtraces when asserting.
There should be no observable changes.
* bindings/scripts/IDLParser.pm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204404
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Fri, 12 Aug 2016 03:38:54 +0000 (03:38 +0000)]
OverridesHasInstance should not branch across register allocations.
https://bugs.webkit.org/show_bug.cgi?id=160792
<rdar://problem/
27361778>
Reviewed by Benjamin Poulain.
JSTests:
* stress/OverrideHasInstance-should-not-branch-across-register-allocations.js: Added.
Source/JavaScriptCore:
The OverrideHasInstance node has a branch test that is emitted conditionally.
It also has a bug where it allocated a register after this branch, which is not
allowed and would fail an assertion introduced in https://trac.webkit.org/r145931.
From the ChangeLog for r145931:
"This [assertion that register allocations are not branched around] protects
against the case where an allocation could have spilled register contents to free
up a register and that spill only occurs on one path of many through the code.
A subsequent fill of the spilled register may load garbage."
Because the branch isn't always emitted, this bug has gone unnoticed until now.
This patch fixes this issue by pre-allocating the registers before emitting the
branch in OverrideHasInstance.
Note: this issue is only present in DFGSpeculativeJIT64.cpp. The 32-bit version
is doing it right.
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204403
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 01:33:48 +0000 (01:33 +0000)]
[JSC] Make B3 Return opcode work without arguments
https://bugs.webkit.org/show_bug.cgi?id=160787
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-11
Reviewed by Keith Miller.
We need a way to create functions that do not return values.
* assembler/MacroAssembler.h:
(JSC::MacroAssembler::retVoid):
* b3/B3BasicBlock.cpp:
(JSC::B3::BasicBlock::appendNewControlValue):
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* b3/B3Validate.cpp:
* b3/B3Value.h:
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::testReturnVoid):
(JSC::B3::run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 12 Aug 2016 01:29:52 +0000 (01:29 +0000)]
[WK2] Don't monitor gamepads at all unless an interested WebPageProxy is in the active window.
https://bugs.webkit.org/show_bug.cgi?id=160760
Reviewed by Tim Horton.
This patch makes it such that the UIProcess will only listen to the platform gamepad mechanism
if a WebPageProxy that is interested in gamepads is in the active window.
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::windowDidBecomeKey):
(WebKit::WebViewImpl::windowDidResignKey):
* UIProcess/Gamepad/UIGamepadProvider.cpp:
(WebKit::UIGamepadProvider::UIGamepadProvider):
(WebKit::UIGamepadProvider::gamepadSyncTimerFired):
(WebKit::UIGamepadProvider::scheduleGamepadStateSync):
(WebKit::UIGamepadProvider::platformGamepadConnected):
(WebKit::UIGamepadProvider::platformGamepadDisconnected):
(WebKit::UIGamepadProvider::platformGamepadInputActivity):
(WebKit::UIGamepadProvider::processPoolStartedUsingGamepads):
(WebKit::UIGamepadProvider::processPoolStoppedUsingGamepads):
(WebKit::UIGamepadProvider::viewBecameActive):
(WebKit::UIGamepadProvider::viewBecameInactive):
(WebKit::UIGamepadProvider::scheduleDisableGamepadMonitoring):
(WebKit::UIGamepadProvider::disableMonitoringTimerFired):
(WebKit::UIGamepadProvider::startMonitoringGamepads):
(WebKit::UIGamepadProvider::stopMonitoringGamepads):
(WebKit::UIGamepadProvider::updateTimerFired): Deleted.
(WebKit::UIGamepadProvider::startOrStopSynchingGamepadState): Deleted.
* UIProcess/Gamepad/UIGamepadProvider.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Fri, 12 Aug 2016 01:22:55 +0000 (01:22 +0000)]
Migrate from ints to unsigneds when referring to indices into strings
https://bugs.webkit.org/show_bug.cgi?id=160735
Reviewed by Simon Fraser.
There are a few cases where we use ints to refer to indices into strings:
- A simple historical accident. These were migrated to unsigneds directly.
- Where we use -1 as a sentinal value. These were migrated to Optional<unsigned>.
This patch only modifies rendering code (rather than DOM code). There are a few
places in DOM code (such as Position and Node::maxCharacterOffset()) which also
erroneously use ints; however, I didn't want this change to be observable from
script and I wanted to keep this patch to a reasonable size.
No new tests because there is no behavior change.
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::updateAppearance):
(WebCore::FrameSelection::setCaretVisibility):
* platform/DragImage.cpp:
(WebCore::createDragImageForRange):
* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::glyphBufferForTextRun):
(WebCore::FontCascade::drawText):
(WebCore::FontCascade::drawEmphasisMarks):
(WebCore::FontCascade::adjustSelectionRectForText):
(WebCore::computeUnderlineType):
(WebCore::FontCascade::getGlyphsAndAdvancesForSimpleText):
(WebCore::FontCascade::drawEmphasisMarksForSimpleText):
(WebCore::FontCascade::drawGlyphBuffer):
(WebCore::offsetToMiddleOfGlyphAtIndex):
(WebCore::FontCascade::adjustSelectionRectForSimpleText):
* platform/graphics/FontCascade.h:
* platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBuffer::size):
(WebCore::GlyphBuffer::glyphs):
(WebCore::GlyphBuffer::advances):
(WebCore::GlyphBuffer::fontAt):
(WebCore::GlyphBuffer::glyphAt):
(WebCore::GlyphBuffer::advanceAt):
(WebCore::GlyphBuffer::offsetAt):
(WebCore::GlyphBuffer::reverse):
(WebCore::GlyphBuffer::offsetInString):
(WebCore::GlyphBuffer::shrink):
(WebCore::GlyphBuffer::swap):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawText):
(WebCore::GraphicsContext::drawGlyphs):
(WebCore::GraphicsContext::drawEmphasisMarks):
* platform/graphics/GraphicsContext.h:
* platform/graphics/Latin1TextIterator.h:
(WebCore::Latin1TextIterator::Latin1TextIterator):
(WebCore::Latin1TextIterator::currentCharacter):
* platform/graphics/SurrogatePairAwareTextIterator.cpp:
(WebCore::SurrogatePairAwareTextIterator::SurrogatePairAwareTextIterator):
* platform/graphics/SurrogatePairAwareTextIterator.h:
(WebCore::SurrogatePairAwareTextIterator::currentCharacter):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyFontTransforms):
(WebCore::WidthIterator::advanceInternal):
(WebCore::WidthIterator::advance):
(WebCore::WidthIterator::advanceOneCharacter):
* platform/graphics/WidthIterator.h:
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::drawGlyphsToContext):
(WebCore::drawGlyphsShadow):
(WebCore::FontCascade::drawGlyphs):
* platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
(WebCore::FontCascade::drawEmphasisMarksForComplexText):
(WebCore::FontCascade::adjustSelectionRectForComplexText):
* platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::fillVectorWithHorizontalGlyphPositions):
(WebCore::showLetterpressedGlyphsWithAdvances):
(WebCore::showGlyphsWithAdvances):
(WebCore::FontCascade::drawGlyphs):
(WebCore::FontCascade::dashesForIntersectionsWithRect):
(WebCore::FontCascade::adjustSelectionRectForComplexText):
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
(WebCore::FontCascade::drawEmphasisMarksForComplexText):
* platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawGlyphs):
* platform/graphics/displaylists/DisplayListRecorder.h:
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::selectionRect):
* platform/graphics/harfbuzz/HarfBuzzShaper.h:
* platform/graphics/mac/ComplexTextController.h:
* platform/graphics/win/FontCGWin.cpp:
(WebCore::FontCascade::drawGlyphs):
* platform/graphics/win/FontWin.cpp:
(WebCore::FontCascade::adjustSelectionRectForComplexText):
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
(WebCore::FontCascade::drawEmphasisMarksForComplexText):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paintSelection):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::isSelected):
(WebCore::InlineTextBox::selectionState):
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::clampedOffset):
(WebCore::InlineTextBox::selectionStartEnd):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::positionForOffset):
* rendering/InlineTextBox.h:
(WebCore::InlineTextBox::offsetRun):
(WebCore::InlineTextBox::InlineTextBox): Deleted.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::localCaretRect):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::localCaretRect):
* rendering/RenderBox.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::localCaretRect):
* rendering/RenderInline.h:
* rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::localCaretRect):
* rendering/RenderLineBreak.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::selectionStartEnd):
(WebCore::RenderObject::localCaretRect):
* rendering/RenderObject.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::isSelected):
* rendering/RenderText.cpp:
(WebCore::RenderText::localCaretRect):
(WebCore::RenderText::collectSelectionRectsForLineBoxes):
* rendering/RenderText.h:
* rendering/RenderTextLineBoxes.cpp:
(WebCore::RenderTextLineBoxes::setSelectionState):
* rendering/RenderView.cpp:
(WebCore::RenderView::subtreeSelectionBounds):
(WebCore::RenderView::repaintSubtreeSelection):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::splitSelectionBetweenSubtrees):
(WebCore::RenderView::clearSubtreeSelection):
(WebCore::RenderView::applySubtreeSelection):
(WebCore::RenderView::getSelection):
(WebCore::RenderView::clearSelection):
(WebCore::RenderView::RenderView): Deleted.
* rendering/RenderView.h:
* rendering/SelectionSubtreeRoot.cpp:
(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot): Deleted.
* rendering/SelectionSubtreeRoot.h:
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionClear):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartEndPositions):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::clearSelection):
(WebCore::SelectionSubtreeRoot::OldSelectionData::OldSelectionData): Deleted.
* rendering/TextPainter.cpp:
(WebCore::TextPainter::drawTextOrEmphasisMarks):
(WebCore::TextPainter::paintTextWithShadows):
(WebCore::TextPainter::paintTextAndEmphasisMarksIfNeeded):
(WebCore::TextPainter::paintText):
* rendering/TextPainter.h:
(WebCore::TextPainter::addEmphasis):
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::localCaretRect):
* rendering/svg/RenderSVGInlineText.h:
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::positionForOffset):
(WebCore::SVGInlineTextBox::selectionRectForTextFragment):
(WebCore::SVGInlineTextBox::localSelectionRect):
(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGInlineTextBox::paintTextWithShadows):
(WebCore::SVGInlineTextBox::paintText):
* rendering/svg/SVGInlineTextBox.h:
* rendering/svg/SVGTextQuery.cpp:
(WebCore::SVGTextQuery::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
(WebCore::SVGTextQuery::subStringLengthCallback):
(WebCore::SVGTextQuery::startPositionOfCharacterCallback):
(WebCore::SVGTextQuery::endPositionOfCharacterCallback):
(WebCore::SVGTextQuery::rotationOfCharacterCallback):
(WebCore::calculateGlyphBoundaries):
(WebCore::SVGTextQuery::extentOfCharacterCallback):
(WebCore::SVGTextQuery::characterNumberAtPositionCallback):
* rendering/svg/SVGTextQuery.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Fri, 12 Aug 2016 01:02:06 +0000 (01:02 +0000)]
Gardening: fix gcc builds after r204387.
Not reviewed.
Apparently, gcc is not sophisticated enough to realize that the end of the
function is unreachable, and is wrongly complaining about "control reaches end of
non-void function". I'm restoring the RELEASE_ASSERT_NOT_REACHED() and return
statement at the end of MarkedBlock::sweepHelper() to appease gcc.
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::sweepHelper):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204398
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 12 Aug 2016 00:35:21 +0000 (00:35 +0000)]
Add WK2 ExperimentalFeature support to MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=160788
Reviewed by Alex Christensen.
* MiniBrowser/mac/AppDelegate.h:
* MiniBrowser/mac/AppDelegate.m:
(defaultConfiguration):
(defaultPreferences):
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleExperimentalFeature:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204397
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 12 Aug 2016 00:35:18 +0000 (00:35 +0000)]
Make Gamepads be a WK2 ExperimentalFeature.
https://bugs.webkit.org/show_bug.cgi?id=160788
Reviewed by Alex Christensen.
* Shared/WebPreferencesDefinitions.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 00:34:22 +0000 (00:34 +0000)]
Don't use a NetworkingContext when creating SocketStreamHandles
https://bugs.webkit.org/show_bug.cgi?id=160732
Patch by Alex Christensen <achristensen@webkit.org> on 2016-08-11
Reviewed by Brady Eidson.
Source/WebCore:
No change in behavior. After r204327 a SessionID is all we need to get the NetworkStorageSession,
and we pass the SessionID to the SocketStreamHandle constructor, so use that instead.
SessionIDs can be serialized and sent over IPC. NetworkingContexts can't.
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::connect):
* page/SocketProvider.cpp:
(WebCore::SocketProvider::createSocketStreamHandle):
* page/SocketProvider.h:
* platform/network/cf/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::create):
* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::getStoredCONNECTProxyCredentials):
* platform/network/curl/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::create):
* platform/network/soup/SocketStreamHandle.h:
* platform/network/soup/SocketStreamHandleSoup.cpp:
(WebCore::SocketStreamHandle::create):
Source/WebKit2:
* WebProcess/Network/WebSocketProvider.cpp:
(WebKit::WebSocketProvider::createSocketStreamHandle):
* WebProcess/Network/WebSocketProvider.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204395
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 00:33:47 +0000 (00:33 +0000)]
Use StringBuilder::appendLiteral when possible don't append result of makeString
https://bugs.webkit.org/show_bug.cgi?id=160772
Patch by Alex Christensen <achristensen@webkit.org> on 2016-08-11
Reviewed by Sam Weinig.
Source/JavaScriptCore:
* API/tests/ExecutionTimeLimitTest.cpp:
(testExecutionTimeLimit):
* API/tests/PingPongStackOverflowTest.cpp:
(PingPongStackOverflowObject_hasInstance):
* bytecompiler/NodesCodegen.cpp:
(JSC::ArrayPatternNode::toString):
(JSC::RestParameterNode::toString):
* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::sanitizedToString):
* runtime/Options.cpp:
(JSC::Options::dumpOption):
Source/WebCore:
StringBuilder::append does an unnecessary strlen call.
append(makeString(...)) always does unnecessary allocations and copies.
It's currently only used in debug logging, but we shouldn't have this pattern in WebKit.
* Modules/indexeddb/server/IndexValueStore.cpp:
(WebCore::IDBServer::IndexValueStore::loggingString):
* Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
(WebCore::IDBDatabaseInfo::loggingString):
* Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
(WebCore::IDBObjectStoreInfo::loggingString):
* contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::prefixTreeVertexToString):
(WebCore::ContentExtensions::recursivePrint):
* html/HTMLMediaElement.cpp:
(WebCore::actionName):
* html/MediaElementSession.cpp:
(WebCore::restrictionName):
* loader/ResourceLoadStatistics.cpp:
(WebCore::appendBoolean):
(WebCore::appendHashCountedSet):
(WebCore::ResourceLoadStatistics::toString):
* platform/PODInterval.h:
(WebCore::PODInterval::toString):
* platform/URL.cpp:
(WebCore::URL::setHost):
(WebCore::URL::setHostAndPort):
(WebCore::URL::serialize):
* testing/Internals.cpp:
(WebCore::appendOffsets):
(WebCore::Internals::scrollSnapOffsets):
Source/WebKit2:
* Shared/Gamepad/GamepadData.cpp:
(WebKit::GamepadData::isNull):
(WebKit::GamepadData::loggingString):
* Shared/Gamepad/GamepadData.h:
* UIProcess/WebProcessPool.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204394
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 00:22:20 +0000 (00:22 +0000)]
[JSC] Revert most of r203808
https://bugs.webkit.org/show_bug.cgi?id=160784
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-11
Reviewed by Geoffrey Garen.
Switching to fastMalloc() caused regressions on Jetstream and Octane
on MacBook Air. I was able to get back some of it in the following
patches but the tests that never go to FTL are still regressed.
This patch revert r203808 except of the node index.
Nodes are allocated with the custom allocator like before but they are
now also kept in a table, addressed by the node index.
* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/B3SparseCollection.h:
(JSC::B3::SparseCollection::packIndices): Deleted.
* dfg/DFGAllocator.h: Added.
(JSC::DFG::Allocator::Region::size):
(JSC::DFG::Allocator::Region::headerSize):
(JSC::DFG::Allocator::Region::numberOfThingsPerRegion):
(JSC::DFG::Allocator::Region::data):
(JSC::DFG::Allocator::Region::isInThisRegion):
(JSC::DFG::Allocator::Region::regionFor):
(JSC::DFG::Allocator<T>::Allocator):
(JSC::DFG::Allocator<T>::~Allocator):
(JSC::DFG::Allocator<T>::allocate):
(JSC::DFG::Allocator<T>::free):
(JSC::DFG::Allocator<T>::freeAll):
(JSC::DFG::Allocator<T>::reset):
(JSC::DFG::Allocator<T>::indexOf):
(JSC::DFG::Allocator<T>::allocatorOf):
(JSC::DFG::Allocator<T>::bumpAllocate):
(JSC::DFG::Allocator<T>::freeListAllocate):
(JSC::DFG::Allocator<T>::allocateSlow):
(JSC::DFG::Allocator<T>::freeRegionsStartingAt):
(JSC::DFG::Allocator<T>::startBumpingIn):
* dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::~Graph):
(JSC::DFG::Graph::addNodeToMapByIndex):
(JSC::DFG::Graph::deleteNode):
(JSC::DFG::Graph::packNodeIndices):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::addNode):
(JSC::DFG::Graph::maxNodeCount):
(JSC::DFG::Graph::nodeAt):
* dfg/DFGLongLivedState.cpp: Added.
(JSC::DFG::LongLivedState::LongLivedState):
(JSC::DFG::LongLivedState::~LongLivedState):
(JSC::DFG::LongLivedState::shrinkToFit):
* dfg/DFGLongLivedState.h: Added.
* dfg/DFGNode.h:
* dfg/DFGNodeAllocator.h: Added.
(operator new ):
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):
* dfg/DFGPlan.h:
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::runThread):
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Fri, 12 Aug 2016 00:08:50 +0000 (00:08 +0000)]
Marking transitions/clip-path-transitions.html and transitions/clip-path-path-transitions.html as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=153809
Unreviewed test gardening.
* platform/ios-simulator-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Fri, 12 Aug 2016 00:05:09 +0000 (00:05 +0000)]
REGRESSION (r204264): Web Inspector: Uncaught Exception in Network tab when reloading a web page
https://bugs.webkit.org/show_bug.cgi?id=160781
<rdar://problem/
27810452>
Reviewed by Matt Baker.
WebInspector.TimelineDataGrid.prototype.closed was removed in r204264.
Define a stub method on DataGrid so it's available to all its subclasses.
* UserInterface/Views/DataGrid.js:
this._dataGrid.closed()
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 11 Aug 2016 22:27:17 +0000 (22:27 +0000)]
Align Range.surroundContents() with the latest DOM specification
https://bugs.webkit.org/show_bug.cgi?id=160777
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline W3C test now that all checks are passing.
* web-platform-tests/dom/ranges/Range-surroundContents-expected.txt:
Source/WebCore:
Align Range.surroundContents() with the latest DOM specification:
- https://dom.spec.whatwg.org/#dom-range-surroundcontents
In particular, the following changes were made:
1. Drop early check to see if startContainer() accepts children like
newParent. This check is not in the specification. Let the later
call to Range.insertNode() take care of doing the check and
throwing.
2. Drop early check to see if newParent contains the range's start
node, for the same reasons as above.
3. Move extractContents() call *before* removing newParent's children
to match the order in the specification (steps 3 & 4).
This makes our behavior much closer to Firefox's as well.
No new tests, rebaselined existing W3C test.
* dom/Range.cpp:
(WebCore::Range::surroundContents):
LayoutTests:
Rebaseline existing due to behavior change.
* fast/dom/Range/surroundContents-1-expected.txt:
* fast/dom/Range/surroundContents-1.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204390
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aakash_jain@apple.com [Thu, 11 Aug 2016 21:25:08 +0000 (21:25 +0000)]
Keep EWS logs for longer
https://bugs.webkit.org/show_bug.cgi?id=160776
Reviewed by Daniel Bates.
* EWSTools/start-queue-mac.sh: Keep logs for 30 days instead of 14 days.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc