Timeline
May 7, 2016:
- 11:39 PM Changeset in webkit [200552] by
-
- 12 edits in trunk
Change MutationObserver::observe to take an IDL dictionary, rather than WebCore::Dictionary
https://bugs.webkit.org/show_bug.cgi?id=157456
Reviewed by Chris Dumez.
Source/WebCore:
- bindings/js/JSDOMConvert.h:
(WebCore::convertOptional): Use a specific Optional null rather than Nullopt so we
can compile the ternary operator.
(WebCore::convert<bool>): Added.
(WebCore::convert<Vector<String>>): Added. Later we probably need to change convert to use
a member function of a class template rather than a function template so we can make partial
specialization work and do this just once for all Vector<T>.
- bindings/js/JSMutationObserverCustom.cpp:
(WebCore::JSMutationObserverOwner::isReachableFromOpaqueRoots): Streamlined code and removed
some local variables. Changed to call the new observedNodes rather than getObservedNodes.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent): Fixed bug where we tried to call the version of
the convert function with a default value even when there was none.
- bindings/scripts/test/TestObj.idl: Added a test case basically identical to what's needed
in MutationObserver.idl.
- bindings/scripts/test/JS/JSTestObj.cpp: Regenerated.
- dom/MutationObserver.cpp:
(WebCore::MutationObserver::observe): Chagned function to take a MutationObserver::Init
instead of a Dictionary.
(WebCore::MutationObserver::observationStarted): Changed argument type to a reference.
(WebCore::MutationObserver::observationEnded): Ditto.
(WebCore::MutationObserverMicrotask): Removed unneeded explicit constructor and destructor.
(WebCore::queueMutationObserverCompoundMicrotask): Got rid of unnneeded local variable.
(WebCore::MutationObserver::observedNodes): Renamed to remove the "get" prefix.
- dom/MutationObserver.h: Reduced includes. Added MutationObserver::Init struct and
used it for the type of the argument to the observe function. Changed a few argument
types and removed unused forward declarations.
- dom/MutationObserver.idl: Added MutationObserverInit and used it instead of Dictionary.
- dom/MutationObserverRegistration.cpp:
(WebCore::MutationObserverRegistration::MutationObserverRegistration): Pass a reference.
(WebCore::MutationObserverRegistration::~MutationObserverRegistration): Ditto.
LayoutTests:
- fast/dom/MutationObserver/observe-exceptions-expected.txt: Updated to expect
the specific TypeError generated by the bindings code rather than the generic
TypeError we got before generated inside the C++ DOM.
- 9:57 PM Changeset in webkit [200551] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Add horizontal between categories of tests
https://bugs.webkit.org/show_bug.cgi?id=157386
Reviewed by Darin Adler.
Wrap tests in each category by tbody and add a horizontal bar between each category.
- public/v3/pages/summary-page.js:
(SummaryPage.prototype._constructTable):
(SummaryPage.cssTemplate):
- 9:39 PM Changeset in webkit [200550] by
-
- 29 edits1 add in trunk/Source/WebCore
Reduce special handling of XPathNSResolver type in the bindings
https://bugs.webkit.org/show_bug.cgi?id=157454
Reviewed by Darin Adler.
Reduce special handling of XPathNSResolver type in the bindings.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSBindingsAllInOne.cpp:
Add new JSXPathNSResolverCustom.cpp file.
- bindings/js/JSDOMStringListCustom.cpp:
(WebCore::JSDOMStringList::toWrapped):
Take the ExecState by reference instead of pointer.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::toWrapped):
Update to take an ExecState& parameter. The bindings now pass
an ExecState to all custom toWrapped() methods for consistency
and flexibility.
- bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
Pass an ExecState now that those toWrapped() methods expect
it.
- bindings/js/JSEventTargetCustom.cpp:
(WebCore::JSEventTarget::toWrapped):
Update to take an ExecState& parameter.
- bindings/js/JSIDBDatabaseCustom.cpp:
(WebCore::JSIDBDatabase::transaction):
Pass ExecState by reference instead of pointer.
- bindings/js/JSMessageEventCustom.cpp:
(WebCore::handleInitMessageEvent):
Pass ExecState to JSDOMWindow::toWrapped().
- bindings/js/JSXPathNSResolverCustom.cpp: Added.
(WebCore::JSXPathNSResolver::toWrapped):
Provide a custom implementation of JSXPathNSResolver::toWrapped()
instead of having the custom code in the bindings generator.
- bindings/scripts/CodeGeneratorJS.pm:
(AddIncludesForType):
Drop special includes for XPathNSResolver as they are no longer needed.
(GenerateHeader):
Drop special casing of certain types for generating the toWrapped()
declaration by:
- Relying on GetNativeType() for the return value as certain types return a RefPtr instead of a raw pointer.
- Adding an extra ExecState parameter when a custom implementation of toWrapped() is provided, given that some of them need it.
(GenerateParametersCheck):
Drop custom code for XPathNSResolver and use the normal code path for
this type now. The custom code now resides in the custom implementation
of JSXPathNSResolver::toWrapped(), in custom bindings.
(JSValueToNative):
- Drop NodeFilter from the nativeType hash map as it was updated to be a callback interface a while back.
- Add XPathNSResolver to nativeType hash map so that we now to use a RefPtr<> instead of a raw pointer in the bindings. We should probably add an IDL extended attribute for this at some point.
- Drop special casing for DOMStringList which was outdated since there is no toDOMStringList() function. DOMStringList has a custom toWrapped() function instead nowadays so we now call this one instead. We apparently do not have any DOMStringList parameters outside our bindings tests at the moment, which is why no one noticed.
- Pass an ExecState to toWrapped() if the interface has the JSCustomToNativeObject IDL extended attribute.
- bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
- bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/ObjC/DOMTestObj.h:
- bindings/scripts/test/ObjC/DOMTestObj.mm:
- bindings/scripts/test/TestObj.idl:
Add bindings test coverage for having an operation with an
XPathNSResolver parameter.
- dom/Document.idl:
- xml/XPathEvaluator.idl:
Drop some unnecessary default parameter values.
- xml/XPathNSResolver.idl:
Add JSCustomToNativeObject IDL extended attribute so that we can
provide our own custom implementation of JSXPathNSResolver::toWrapped(),
instead of having the custom code in the bindings generator.
- dom/Document.cpp:
(WebCore::Document::createExpression):
(WebCore::Document::evaluate):
- dom/Document.h:
- inspector/InspectorNodeFinder.cpp:
- xml/XPathEvaluator.cpp:
(WebCore::XPathEvaluator::createExpression):
(WebCore::XPathEvaluator::evaluate):
- xml/XPathEvaluator.h:
- xml/XPathExpression.cpp:
(WebCore::XPathExpression::createExpression):
- xml/XPathExpression.h:
- xml/XPathParser.cpp:
(WebCore::XPath::Parser::Parser):
(WebCore::XPath::Parser::parseStatement):
- xml/XPathParser.h:
Take XPathNSResolver parameter as a Ref<XPathNSResolver>&& as this is
what the generated bindings now provide us, given that this sometimes
have to create a wrapper around a JSObject.
- 3:29 PM Changeset in webkit [200549] by
-
- 2 edits in trunk/Source/WebCore
Fix crash introduced by the last patch.
Fix suggested by Chris Dumez.
- css/FontFace.cpp:
(WebCore::FontFace::FontFace): Roll out incorrect change. Things were getting
initialized in the wrong order in a change I had made to the FontFace constructor
that takes a CSSFontSelector.
- 2:36 PM Changeset in webkit [200548] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rebaseline bindings tests after r200547.
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convert<TestObj::FontFaceDescriptors>):
- 2:14 PM Changeset in webkit [200547] by
-
- 18 edits1 move in trunk
Next step on dictionary bindings, along with other bindings refinements
https://bugs.webkit.org/show_bug.cgi?id=157451
Reviewed by Chris Dumez.
Source/WebCore:
Converted one dictionary, the one passed to the constructor in FontFace.
- WebCore.xcodeproj/project.pbxproj: Updated for name change of JSDOMBuild.h to
JSDOMConvert.h and also let Xcode update a file type.
- bindings/js/JSDOMBinding.cpp:
(WebCore::propertyValue): Added.
- bindings/js/JSDOMBinding.h: Use pragma once. Remove unnecessary forward declaration.
Move all declarations to the top of the file, separating them from definitions. This
is a small step toward better overview of what's in this file and paves the way for
future simplifications and improvements we can make after we observe patterns.
Also removed a couple unused functions.
- bindings/js/JSDOMConvert.h: Renamed from JSDOMBuild.h.
Renamed function templates from build to convert. Added convertOptional.
- bindings/js/ReadableStreamController.cpp:
(WebCore::callFunction): Use auto and remove some unneeded namespacing.
(WebCore::ReadableStreamController::invoke): Ditto. Also remove use of helper function
getPropertyFromObject, since this was the only call site and it was not very helpful.
(WebCore::ReadableStreamController::isControlledReadableStreamLocked): Ditto.
(WebCore::createReadableStream): Ditto.
(WebCore::getReadableStreamReader): Ditto.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateEnumerationImplementationContent): Updated for name change from build to
convert and JSDOMBuild.h to JSDOMConvert.h.
(GenerateDictionaryImplementationContent): Ditto. Also added code to handle optional
and added explicit exception checking, using local variables. Not clear longer term
if the local variable approach is OK since this will unnecessarily change types like
const String& to String.
(GenerateParametersCheck): Removed local variable $optional and use $parameter->isOptional
directly consistently. This is slightly clearer because the old code used a mix of the
two, and also is a better pattern for when we refactor this into smaller functions.
Note that this function name is not good any more--this is a lot more then parameter checks.
(GetNativeType): Return appropriate name for dictionary types.
(JSValueToNative): Updated for name change from build to convert and JSDOMBuild.h to
JSDOMConvert.h.
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
Regenerated results.
- bindings/scripts/test/TestObj.idl: Added another dictionary test case, just a copy
of the current state of the one in FontFace.idl.
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::setUnicodeRange): Update for simplified UnicodeRange struct.
(WebCore::CSSFontFace::setFeatureSettings): Fix to correctly handle being called
with "normal". Also fix so it doesn't call fontPropertyChanged if nothing changed.
Also got rid of return value, which had no real value: it was returning false for
some bad inputs, but others would just lead to assertions, and the real reason this
was OK is that this function is only passed known-valid values.
- css/CSSFontFace.h: Used prama once. Tweaked formatting. Removed return value from
the setFeatureSettings function. Changed UnicodeRange to be struct with public data
members instead a struct with a constructor and getter functions.
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule): Updated since setFeatureSettings no
longer has a boolean return value.
- css/CSSSegmentedFontFace.cpp:
(WebCore::appendFontWithInvalidUnicodeRangeIfLoading): Updated for simplified
UnicodeRange struct.
- css/FontFace.cpp:
(WebCore::valueFromDictionary): Deleted.
(WebCore::FontFace::create): Updated to take the descriptors as a struct instead of
a WebCore::Dictionary. Also made that argument optional as specified in the current
specification draft.
(WebCore::FontFace::setFeatureSettings): Updated since setFeatureSettings no longer
has a boolean return value.
(WebCore::FontFace::unicodeRange): Updated for simplified UnicodeRange struct.
- css/FontFace.h: Used pragma once. Removed unneeded includes and forward declarations.
Derived privately from CSSFontFace::Client. Added a FontFace::Descriptors struct and
used it as an argument to the create function as described above.
- css/FontFace.idl: Added FontFaceDescriptors and changed the argument to the
constructor to be an optional FontFaceDescriptors instead of a Dictionary.
Tools:
- Scripts/do-webcore-rename: Use this to rename JSDOMBuild.h to JSDOMConvert.h.
Also skip test expectations in a directory that this was modifying unnecessarily.
- 1:04 PM Changeset in webkit [200546] by
-
- 15 edits in trunk/Source/WebCore
Rework FontFace promise attribute handling
https://bugs.webkit.org/show_bug.cgi?id=157310
Reviewed by Myles C. Maxfield.
Making promise attributes cached attributes, so that they are created only once.
They are created in the custom binding code and passed to DOM class as needed.
Removed usage of ExecState& from DOM iterators.
No change should be visible from user scripts.
- Modules/fetch/FetchHeaders.cpp:
(WebCore::FetchHeaders::Iterator::next): Removing ExecState parameter.
- Modules/fetch/FetchHeaders.h:
- bindings/js/JSDOMIterator.h:
(WebCore::keyValueIteratorForEach):
(WebCore::JSDOMIterator<JSWrapper>::next): Ditto.
- bindings/js/JSDOMPromise.cpp:
(WebCore::DeferredWrapper::promise): Removed deferred() and added access to promise directly.
- bindings/js/JSDOMPromise.h:
- bindings/js/JSFontFaceCustom.cpp:
(WebCore::JSFontFace::loaded): Using cached attribute to call FontFace::loaded only once.
- bindings/js/JSFontFaceSetCustom.cpp:
(WebCore::JSFontFaceSet::ready): Using cached attribute to call FontFaceSet::ready only once.
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::wrapper): Removing ExecState parameter.
- css/CSSFontFace.h:
- css/FontFace.cpp:
(WebCore::FontFace::create): Ditto.
(WebCore::FontFace::FontFace): Ditto.
(WebCore::FontFace::fontStateChanged): Updating promise handling.
(WebCore::FontFace::registerLoaded): Resolving/rejecting promise if backing CSSFontFace loading is ended.
(WebCore::FontFace::load): Calling backing load.
- css/FontFace.h:
- css/FontFaceSet.cpp:
(WebCore::FontFaceSet::Iterator::next): Removing ExecState parameter.
(WebCore::FontFaceSet::load): Removing ExecState and ExceptionCode parameter.
(WebCore::FontFaceSet::registerReady): Resolving promise if ready otherwise storing it for resolving it later.
(WebCore::FontFaceSet::completedLoading): Resolving promise if any is stored.
(WebCore::FontFaceSet::create): Deleted.
- css/FontFaceSet.h:
- css/FontFaceSet.idl:
- 1:02 PM Changeset in webkit [200545] by
-
- 2 edits in trunk/Source/WebCore
Fix an incorrect usage of OS(DARWIN) with PLATFORM(COCOA)
https://bugs.webkit.org/show_bug.cgi?id=157167
Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-05-07
Reviewed by Myles C. Maxfield.
- platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::hash):
- 9:51 AM Changeset in webkit [200544] by
-
- 7 edits3 adds in trunk/PerformanceTests
Update Animometer design
https://bugs.webkit.org/show_bug.cgi?id=157449
Reviewed by Darin Adler.
- Animometer/developer.html: Stop including runner/animometer.css.
- Animometer/index.html: Udpated elements to fit new styles.
- Animometer/resources/debug-runner/animometer.css:
Copy the old runner/animometer.css to here so the debug runner is unaffected.
- Animometer/resources/runner/animometer.css:
New styles for the design. Drop flex box for broad browser support.
- Animometer/resources/runner/animometer.js:
(ResultsTable.clear): Use textContent.
(window.sectionsManager.showSection): Add class to the body.
(window.sectionsManager.setSectionScore): Use textContent, not innerHTML.
- Animometer/resources/runner/crystal.svg: Added.
- Animometer/resources/runner/lines.svg: Added.
- Animometer/resources/runner/logo.svg: Added.
- Animometer/resources/runner/tests.js: Shorten test name and title case them.
- 9:20 AM Changeset in webkit [200543] by
-
- 6 edits2 moves in trunk/Source/JavaScriptCore
Add JSC options bytecodeRangeToJITCompile and jitWhitelist.
https://bugs.webkit.org/show_bug.cgi?id=157428
Reviewed by Michael Saboff.
- Added Options::bytecodeRangeToJITCompile and Options::jitWhitelist options.
- Moved DFGFunctionWhitelist* to FunctionWhitelist* and made it generic so that it can be used for more than one whitelist instance. In this case, we now have two: the dfgWhitelist and the jitWhitelist.
- Added "can compile" checks in LLInt::shouldJIT() to check Options::bytecodeRangeToJITCompile and Options::jitWhitelist.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGDriver.cpp:
(JSC::DFG::getNumCompilations):
(JSC::DFG::ensureGlobalDFGWhitelist):
(JSC::DFG::compileImpl):
- dfg/DFGFunctionWhitelist.cpp: Removed.
- dfg/DFGFunctionWhitelist.h: Removed.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::ensureGlobalJITWhitelist):
(JSC::LLInt::shouldJIT):
- runtime/Options.h:
- tools/FunctionWhitelist.cpp: Copied from Source/JavaScriptCore/dfg/DFGFunctionWhitelist.cpp.
(JSC::FunctionWhitelist::FunctionWhitelist):
(JSC::FunctionWhitelist::contains):
(JSC::DFG::FunctionWhitelist::ensureGlobalWhitelist): Deleted.
(JSC::DFG::FunctionWhitelist::FunctionWhitelist): Deleted.
(JSC::DFG::FunctionWhitelist::parseFunctionNamesInFile): Deleted.
(JSC::DFG::FunctionWhitelist::contains): Deleted.
- tools/FunctionWhitelist.h: Copied from Source/JavaScriptCore/dfg/DFGFunctionWhitelist.h.
- 6:03 AM Changeset in webkit [200542] by
-
- 6 edits in trunk
REGRESSION(r196222): [AX][GTK] accessibility/gtk/caret-offsets.html failing
https://bugs.webkit.org/show_bug.cgi?id=153956
Reviewed by Chris Fleizach.
Source/WebCore:
The reason the test began failing is that it was checking the new caret offset
synchronously. For most of the test cases, this was not a problem. But when the
caret was moved out of a focused link, the focus change (and associated repainting)
delayed the caret-moved event long enough to cause the associated test case to fail.
The test now uses shouldBecomeEqualToString() instead of shouldBeEqualToString().
The test also had a supposedly-correct expectation which was wrong: When moving the
caret to a valid accessible offset, the caret-moved event should be for that offset.
This was not the case for the list item test case because emitTextSelectionChange()
was not adjusting the offset for the RenderListMarker, the text of which is exposed
as part of the ATK_ROLE_LIST_ITEM object. This bug was also fixed and the test case
updated accordingly.
No new tests are needed. The previously-failing test is now passing.
- editing/atk/FrameSelectionAtk.cpp:
(WebCore::emitTextSelectionChange):
LayoutTests:
Change the test to run asynchronously and update the expectations.
- accessibility/gtk/caret-offsets-expected.txt: Updated.
- accessibility/gtk/caret-offsets.html: Updated.
- platform/gtk/TestExpectations: Unskipped the previously-failing test.
- 1:19 AM Changeset in webkit [200541] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC][32bit] stress/tagged-templates-template-object.js fails in debug
https://bugs.webkit.org/show_bug.cgi?id=157436
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-05-07
Reviewed by Filip Pizlo.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
The node OverridesHasInstance had a speculation after a jump.
May 6, 2016:
- 11:03 PM Changeset in webkit [200540] by
-
- 22 edits in trunk/Source
Rename HitTestRequest DisallowShadowContent to DisallowUserAgentShadowContent
https://bugs.webkit.org/show_bug.cgi?id=157447
Reviewed by Ryosuke Niwa.
Source/WebCore:
HitTesting is intended to reach nodes inside shadow content. This property
on the HitTestRequest is intended to avoid hit testing in UserAgent shadow
content. Rename the enum value, and cascading methods for clarity.
- html/MediaElementSession.cpp:
(WebCore::isMainContent):
- page/EventHandler.cpp:
(WebCore::EventHandler::eventMayStartDrag):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::hitTestResultAtPoint):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::mouseMoved):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handleMouseForceEvent):
(WebCore::EventHandler::updateDragAndDrop):
(WebCore::EventHandler::isInsideScrollbar):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::hoverTimerFired):
(WebCore::EventHandler::dragSourceEndedAt):
(WebCore::EventHandler::handleDrag):
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
- page/EventHandler.h:
- page/FocusController.cpp:
(WebCore::updateFocusCandidateIfNeeded):
- rendering/HitTestRequest.h:
(WebCore::HitTestRequest::HitTestRequest):
(WebCore::HitTestRequest::disallowsUserAgentShadowContent):
(WebCore::HitTestRequest::disallowsShadowContent): Deleted.
- rendering/HitTestResult.cpp:
(WebCore::HitTestResult::setToNonUserAgentShadowAncestor):
(WebCore::HitTestResult::addNodeToRectBasedTestResult):
(WebCore::HitTestResult::setToNonShadowAncestor): Deleted.
- rendering/HitTestResult.h:
- rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::isReplacementObscured):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
- rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::hitTestClipContent):
- testing/Internals.cpp:
(WebCore::Internals::nodesFromRect):
Source/WebKit/mac:
- WebView/WebFrame.mm:
(-[WebFrame elementAtPoint:]):
- WebView/WebHTMLView.mm:
(-[WebHTMLView elementAtPoint:allowShadowContent:]):
Source/WebKit/win:
- WebView.cpp:
(WebView::gestureNotify):
Source/WebKit2:
- WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
(WebKit::WebPage::findZoomableAreaForPoint):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::hitTest):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::determinePrimarySnapshottedPlugIn):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::rangeForBlockAtPoint):
(WebKit::WebPage::getPositionInformation):
- 10:52 PM Changeset in webkit [200539] by
-
- 6 edits in trunk/Source
Web Inspector: Inspect Element and Element Selection searching should work with Shadow DOM Nodes
https://bugs.webkit.org/show_bug.cgi?id=157446
<rdar://problem/24688447>
Reviewed by Ryosuke Niwa.
Source/WebCore:
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::innerParentNode):
The Inspector backend was informing the frontend that all ShadowRoots
were floating and had no parent. Get the host element for ShadowRoots.
- rendering/HitTestResult.cpp:
(WebCore::moveOutOfUserAgentShadowTree):
(WebCore::HitTestResult::setToNonShadowAncestor):
EventHandler::mouseMoved is calling setToNonShadowAncestor before
notifying Page::chrome / Inspector about the moused over element.
This should be the deepest non-user-agent-shadow node.
Source/WebInspectorUI:
- UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode):
Shadow DOM nodes did not have a parent, and so when attempting
to create DOM Tree elements up the chain, we were failing at
shadow boundaries. Create the parent relationship, the parent
already treats it as a child.
- UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype._revealAndSelectNode):
Whenever we try to reveal and select an element in a shadow tree
but the setting to show shadow DOM is disabled, walk up until
we are out of the shadow tree.
- 10:44 PM Changeset in webkit [200538] by
-
- 4 edits in trunk/Source
Web Inspector: Misc CommandLineAPI cleanup
https://bugs.webkit.org/show_bug.cgi?id=157450
Reviewed by Ryosuke Niwa.
Source/JavaScriptCore:
- inspector/InjectedScriptSource.js:
(BasicCommandLineAPI):
Fix mistake in r200533, and modernize related code.
Source/WebCore:
- inspector/CommandLineAPIModuleSource.js:
(bind):
- 9:25 PM Changeset in webkit [200537] by
-
- 3 edits in trunk/LayoutTests
[Win] Skip failing INTL test.
https://bugs.webkit.org/show_bug.cgi?id=157418
Reviewed by Alex Christensen.
Temporarily skip string-localeCompare.js, because AppleWin currently does not have INTL enabled.
- js/script-tests/string-localeCompare.js:
- platform/win/TestExpectations:
- 8:51 PM Changeset in webkit [200536] by
-
- 1 edit2 adds in trunk/LayoutTests
MouseEvent's offsetX and offsetY should be based on relative target
https://bugs.webkit.org/show_bug.cgi?id=157444
<rdar://problem/24396408>
Reviewed by Darin Adler.
Add a W3C style testharness.js test for adjusting offsetX and offsetY to the adjusted target
since our existing behavior matches the spec as well as Chrome's behavior:
http://w3c.github.io/webcomponents/spec/shadow/#event-dispatch
- fast/shadow-dom/MouseEvent-prototype-offsetX-offsetY-expected.txt: Added.
- fast/shadow-dom/MouseEvent-prototype-offsetX-offsetY.html: Added.
- 8:08 PM Changeset in webkit [200535] by
-
- 5 edits2 adds in trunk
Web Inspector: Improve console.count()
https://bugs.webkit.org/show_bug.cgi?id=157439
<rdar://problem/26152654>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-06
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- make console.count() increment an unnamed global counter.
- make console.count(label) increment a counter with that label name.
- inspector/agents/InspectorConsoleAgent.cpp:
(Inspector::InspectorConsoleAgent::count):
LayoutTests:
- inspector/console/console-api-expected.txt:
- inspector/console/console-count-expected.txt: Added.
- inspector/console/console-count.html: Added.
- inspector/console/console-time.html:
- 5:38 PM WebKitGTK/2.10.x edited by
- (diff)
- 5:25 PM WebKitGTK/2.12.x edited by
- (diff)
- 5:05 PM Changeset in webkit [200534] by
-
- 43 edits1 copy2 moves6 adds in trunk
Enable IOS_TEXT_AUTOSIZING on Mac and make it testable
https://bugs.webkit.org/show_bug.cgi?id=157432
rdar://problem/16406720
Reviewed by Dean Jackson.
Source/JavaScriptCore:
Enable IOS_TEXT_AUTOSIZING on Mac so it can be tested.
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Enable IOS_TEXT_AUTOSIZING on Mac so it can be tested.
Make the setTextAutosizingEnabled() Setting work, and plumb it through WK1 and WK2
preferences for WTR and DRT. Make textAutosizingWindowSizeOverride() work, for layout tests.
These two settings are shared with TEXT_AUTOSIZING.
Add a TextAutosizing log channel, which is useful for generated -expected.html results.
Move adjustComputedFontSizesOnBlocks() and related code from RenderObject to RenderElement
without changes.
An implication of this set of changes is that the way clients enable text autosizing
has changed. Previously, they set the "MinimumZoomFontSize" preference to 0.
Settings::defaultMinimumZoomFontSize() used to do this in order to enable text autosizing
on iPhone only, not iPad.
Now the preferred technique is to leave minimumZoomFontSize alone, and to use textAutosizingEnabled()
instead. Settings::defaultTextAutosizingEnabled() now does the check for iPhone.
UIWebView calls WebKitGetMinimumZoomFontSize() to setup the default minimum font zoom size,
which will now always return 15, but had no other code that toggled this. So it's safe to just rely
on Settings::defaultTextAutosizingEnabled() doing the right thing for iPhone/iPad.
Test: fast/text-autosizing/ios/autosize-width.html
- Configurations/FeatureDefines.xcconfig:
- dom/Document.cpp:
(WebCore::Document::addAutoSizingNode):
- page/FrameView.cpp:
(WebCore::FrameView::layout):
- page/Settings.cpp:
(WebCore::Settings::Settings): Deleted.
(WebCore::Settings::setTextAutosizingEnabled): Deleted.
(WebCore::Settings::setTextAutosizingWindowSizeOverride): Deleted.
- page/Settings.h:
(WebCore::Settings::textAutosizingEnabled): Deleted.
(WebCore::Settings::textAutosizingWindowSizeOverride): Deleted.
- page/Settings.in:
- page/cocoa/SettingsCocoa.mm:
(WebCore::Settings::defaultMinimumZoomFontSize):
(WebCore::Settings::defaultTextAutosizingEnabled):
- platform/Logging.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::adjustComputedFontSizes):
- rendering/RenderElement.cpp:
(WebCore::includeNonFixedHeight):
(WebCore::RenderElement::adjustComputedFontSizesOnBlocks):
(WebCore::RenderElement::resetTextAutosizing):
- rendering/RenderElement.h:
- rendering/RenderObject.cpp:
(WebCore::includeNonFixedHeight): Deleted.
(WebCore::RenderObject::adjustComputedFontSizesOnBlocks): Deleted.
(WebCore::RenderObject::resetTextAutosizing): Deleted.
- rendering/RenderObject.h:
- rendering/TextAutoSizing.cpp:
(WebCore::TextAutoSizingValue::adjustNodeSizes):
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setTextAutosizingEnabled):
(WebCore::InternalSettings::setTextAutosizingWindowSizeOverride):
- testing/InternalSettings.h:
Source/WebKit/ios:
Enable IOS_TEXT_AUTOSIZING on Mac so it can be tested.
Make the setTextAutosizingEnabled() Setting work, and plumb it through WK1 and WK2
preferences for WTR and DRT. Make textAutosizingWindowSizeOverride() work, for layout tests.
These two settings are shared with TEXT_AUTOSIZING.
Add a TextAutosizing log channel, which is useful for generated -expected.html results.
Move adjustComputedFontSizesOnBlocks() and related code from RenderObject to RenderElement
without changes.
An implication of this set of changes is that the way clients enable text autosizing
has changed. Previously, they set the "MinimumZoomFontSize" preference to 0.
Settings::defaultMinimumZoomFontSize() used to do this in order to enable text autosizing
on iPhone only, not iPad.
Now the preferred technique is to leave minimumZoomFontSize alone, and to use textAutosizingEnabled()
instead. Settings::defaultTextAutosizingEnabled() now does the check for iPhone.
UIWebView calls WebKitGetMinimumZoomFontSize() to setup the default minimum font zoom size,
which will now always return 15, but had no other code that toggled this. So it's safe to just rely
on Settings::defaultTextAutosizingEnabled() doing the right thing for iPhone/iPad.
- Misc/WebUIKitSupport.mm:
(WebKitGetMinimumZoomFontSize):
Source/WebKit/mac:
Enable IOS_TEXT_AUTOSIZING on Mac so it can be tested.
Make the setTextAutosizingEnabled() Setting work, and plumb it through WK1 and WK2
preferences for WTR and DRT. Make textAutosizingWindowSizeOverride() work, for layout tests.
These two settings are shared with TEXT_AUTOSIZING.
Add a TextAutosizing log channel, which is useful for generated -expected.html results.
Move adjustComputedFontSizesOnBlocks() and related code from RenderObject to RenderElement
without changes.
An implication of this set of changes is that the way clients enable text autosizing
has changed. Previously, they set the "MinimumZoomFontSize" preference to 0.
Settings::defaultMinimumZoomFontSize() used to do this in order to enable text autosizing
on iPhone only, not iPad.
Now the preferred technique is to leave minimumZoomFontSize alone, and to use textAutosizingEnabled()
instead. Settings::defaultTextAutosizingEnabled() now does the check for iPhone.
UIWebView calls WebKitGetMinimumZoomFontSize() to setup the default minimum font zoom size,
which will now always return 15, but had no other code that toggled this. So it's safe to just rely
on Settings::defaultTextAutosizingEnabled() doing the right thing for iPhone/iPad.
- Configurations/FeatureDefines.xcconfig:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences _setTextAutosizingEnabled:]):
(-[WebPreferences _textAutosizingEnabled]):
- WebView/WebPreferencesPrivate.h:
Source/WebKit2:
Enable IOS_TEXT_AUTOSIZING on Mac so it can be tested.
Make the setTextAutosizingEnabled() Setting work, and plumb it through WK1 and WK2
preferences for WTR and DRT. Make textAutosizingWindowSizeOverride() work, for layout tests.
These two settings are shared with TEXT_AUTOSIZING.
Add a TextAutosizing log channel, which is useful for generated -expected.html results.
Move adjustComputedFontSizesOnBlocks() and related code from RenderObject to RenderElement
without changes.
An implication of this set of changes is that the way clients enable text autosizing
has changed. Previously, they set the "MinimumZoomFontSize" preference to 0.
Settings::defaultMinimumZoomFontSize() used to do this in order to enable text autosizing
on iPhone only, not iPad.
Now the preferred technique is to leave minimumZoomFontSize alone, and to use textAutosizingEnabled()
instead. Settings::defaultTextAutosizingEnabled() now does the check for iPhone.
UIWebView calls WebKitGetMinimumZoomFontSize() to setup the default minimum font zoom size,
which will now always return 15, but had no other code that toggled this. So it's safe to just rely
on Settings::defaultTextAutosizingEnabled() doing the right thing for iPhone/iPad.
- Configurations/FeatureDefines.xcconfig:
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _textAutosizingEnabled]):
(-[WKPreferences _setTextAutosizingEnabled:]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Tools:
Enable IOS_TEXT_AUTOSIZING on Mac so it can be tested.
Make the setTextAutosizingEnabled() Setting work, and plumb it through WK1 and WK2
preferences for WTR and DRT. Make textAutosizingWindowSizeOverride() work, for layout tests.
These two settings are shared with TEXT_AUTOSIZING.
Add a TextAutosizing log channel, which is useful for generated -expected.html results.
Move adjustComputedFontSizesOnBlocks() and related code from RenderObject to RenderElement
without changes.
An implication of this set of changes is that the way clients enable text autosizing
has changed. Previously, they set the "MinimumZoomFontSize" preference to 0.
Settings::defaultMinimumZoomFontSize() used to do this in order to enable text autosizing
on iPhone only, not iPad.
Now the preferred technique is to leave minimumZoomFontSize alone, and to use textAutosizingEnabled()
instead. Settings::defaultTextAutosizingEnabled() now does the check for iPhone.
UIWebView calls WebKitGetMinimumZoomFontSize() to setup the default minimum font zoom size,
which will now always return 15, but had no other code that toggled this. So it's safe to just rely
on Settings::defaultTextAutosizingEnabled() doing the right thing for iPhone/iPad.
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
- DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setTextAutosizingEnabled):
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
LayoutTests:
Enable fast/text-autosizing/ios/ on Mac and iOS
- fast/text-autosizing/ios/autosize-width-expected.html: Added.
- fast/text-autosizing/ios/autosize-width.html: Added.
- platform/ios-simulator/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 4:32 PM Changeset in webkit [200533] by
-
- 19 edits2 adds in trunk
Web Inspector: Console: Variables defined with let/const aren't accessible outside of console's scope
https://bugs.webkit.org/show_bug.cgi?id=150752
<rdar://problem/23343385>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-06
Reviewed by Mark Lam.
Source/JavaScriptCore:
This approach allows Web Inspector to hang a "Scope Extension", a
WithObjectScope, off the GlobalObject. When resolving identifiers
in fails to resolve anything in the normal scope chain, consult
the scope extension.
This allows us to eliminate the
with (commandLineAPI) { ... }
block in global console evaluations, and instead makes it a full
program evaluation, with the commandLineAPI available and safely
shadowed by actual variables as expected.
- inspector/InjectedScriptSource.js:
(InjectedScript.prototype._evaluateOn):
Use the new evaluateWithScopeExtension and provide the CommandLineAPI
object as the scope extension object.
(BasicCommandLineAPI):
(BasicCommandLineAPI.inScopeVariables): Deleted.
Simplify now that we don't need to check for variable shadowing ourselves.
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::evaluateWithScopeExtension):
- inspector/JSInjectedScriptHost.h:
- inspector/JSInjectedScriptHostPrototype.cpp:
(Inspector::JSInjectedScriptHostPrototype::finishCreation):
(Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension):
Provide a new InjectedScriptHost method to evaluate a program
with a scope extension.
- runtime/Completion.cpp:
(JSC::evaluateWithScopeExtension):
- runtime/Completion.h:
General JSC::evaluate function to evaluate a program with a scope extension.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::setGlobalScopeExtension):
(JSC::JSGlobalObject::clearGlobalScopeExtension):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::globalScopeExtension):
Hang a scope extension off the global object.
- runtime/JSScope.cpp:
(JSC::JSScope::resolve):
Consult the scope extension when resolve fails to find anything normally.
Source/WebCore:
Test: inspector/runtime/evaluate-CommandLineAPI.html
- inspector/CommandLineAPIModuleSource.js:
(bind):
(this.member.toString):
(CommandLineAPI):
(CommandLineAPIImpl.prototype):
(slice): Deleted.
(bound): Deleted.
(bound.toString): Deleted.
(inScopeVariables): Deleted.
(customToStringMethod): Deleted.
Simplify now that we don't need to do our own variable shadow checking.
LayoutTests:
- inspector/runtime/evaluate-CommandLineAPI-expected.txt: Added.
- inspector/runtime/evaluate-CommandLineAPI.html: Added.
New test covering the different cases of global evaluation with the
CommandLineAPI as a scope extension.
- http/tests/inspector/console/cross-domain-inspected-node-access-expected.txt:
- inspector/console/command-line-api-expected.txt:
- inspector/debugger/js-stacktrace-expected.txt:
- inspector/debugger/js-stacktrace.html:
- inspector/model/stack-trace-expected.txt:
- platform/mac/inspector/model/remote-object-expected.txt:
Update expectations now that global evaluations are treated as
program's [global code] and not evals [eval code]. Also some
line number changes.
- 4:21 PM Changeset in webkit [200532] by
-
- 3 edits in trunk/LayoutTests
Unreviewed IDB test gardening.
- TestExpectations:
- storage/indexeddb/pending-activity-workers-expected.txt: Updated expectations.
- 3:57 PM Changeset in webkit [200531] by
-
- 7 edits in trunk/Source/JavaScriptCore
Add JSC options reportBaselineCompileTimes and reportDFGCompileTimes.
https://bugs.webkit.org/show_bug.cgi?id=157427
Reviewed by Filip Pizlo and Keith Miller.
The compile times reporting options are now:
reportCompileTimes -> report compile times in all tiers.
reportBaselineCompileTimes -> report compile times in baseline JIT.
reportDFGCompileTimes -> report compile times in DFG and FTL.
reportFTLCompileTimes -> report compile times in FTL.
Also updated reportTotalCompileTimes() to collect stats that include the baseline
JIT. compileTimeStats() is now moved into JIT.cpp (from DFGPlan.cpp).
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::reportCompileTimes):
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):
(JSC::DFG::Plan::cancel):
(JSC::DFG::Plan::compileTimeStats): Deleted.
- dfg/DFGPlan.h:
(JSC::DFG::Plan::compileTimeStats): Deleted.
- jit/JIT.cpp:
(JSC::ctiPatchCallByReturnAddress):
(JSC::JIT::privateCompile):
(JSC::JIT::stackPointerOffsetFor):
(JSC::JIT::reportCompileTimes):
(JSC::JIT::computeCompileTimes):
(JSC::JIT::compileTimeStats):
- jit/JIT.h:
(JSC::JIT::shouldEmitProfiling):
- jsc.cpp:
(runJSC):
- runtime/Options.h:
- 3:47 PM Changeset in webkit [200530] by
-
- 8 edits2 adds in trunk
<attachment> element should understand UTIs
https://bugs.webkit.org/show_bug.cgi?id=157425
<rdar://problem/25585401>
Reviewed by Anders Carlsson.
UTIs are often much more specific than MIME types, so we should allow
clients of <attachment> to use them to get more accurate icons.
Test: fast/attachment/attachment-uti.html
- platform/graphics/Icon.h:
- platform/graphics/mac/IconMac.mm:
(WebCore::Icon::createIconForMIMEType): Deleted.
Remove the now-unused createIconForMIMEType.
- platform/network/mac/UTIUtilities.h:
- platform/network/mac/UTIUtilities.mm:
(WebCore::isDeclaredUTI):
Expose UTTypeIsDeclared as isDeclaredUTI.
- rendering/RenderThemeIOS.mm:
(WebCore::iconForAttachment):
- rendering/RenderThemeMac.mm:
(WebCore::iconForAttachment):
If the attachment's type is a UTI, request the icon for it directly.
If it's a MIME type, convert to a UTI before requesting.
- fast/attachment/attachment-uti-expected.html: Added.
- fast/attachment/attachment-uti.html: Added.
Add a test that UTIs render the same as their corresponding MIME types.
- 3:39 PM Changeset in webkit [200529] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Unexpected white border at the bottom of Debugger filter bar
https://bugs.webkit.org/show_bug.cgi?id=157430
<rdar://problem/26146602>
Reviewed by Timothy Hatcher.
Remove the semi-transparent white borders.
- UserInterface/Views/NavigationBar.css:
(.navigation-bar): Deleted.
- UserInterface/Views/SearchSidebarPanel.css:
(.sidebar > .panel.navigation.search > .search-bar): Deleted.
- 3:23 PM Changeset in webkit [200528] by
-
- 19 edits in trunk
Clean up converting from JSValue to float / double in the bindings generator
https://bugs.webkit.org/show_bug.cgi?id=157407
Reviewed by Darin Adler.
Source/WebCore:
Clean up converting from JSValue to float / double in the bindings generator:
- Handle all aspects of converting to float / double inside JSValueToNative() instead of relying partly on the call sites.
- Add a build<>() template function to JSDOMBuild.h that is now called from the bindings to convert to float / double and deal with non-finite values.
- Provide a better message with the TypeError that is thrown for non-finite values.
No new tests, rebaselined existing tests.
- bindings/js/JSDOMBinding.cpp:
(WebCore::throwSequenceTypeError):
(WebCore::throwNonFiniteTypeError):
- bindings/js/JSDOMBinding.h:
- bindings/js/JSDOMBuild.h:
(WebCore::build):
- bindings/scripts/CodeGenerator.pm:
(IsFloatingPointType):
- bindings/scripts/CodeGeneratorJS.pm:
(JSValueToNative):
(GenerateImplementation): Deleted.
(GenerateParametersCheck): Deleted.
(GenerateReturnParameters): Deleted.
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjStrictFloat):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
LayoutTests:
Rebaseline the tests now that we provide a more useful exception message.
- fast/canvas/canvas-2d-imageData-create-nonfinite-expected.txt:
- fast/canvas/canvas-getImageData-invalid-expected.txt:
- fast/canvas/canvas-putImageData-expected.txt:
- fast/canvas/canvas-putImageData.js:
- fast/canvas/linearGradient-infinite-values-expected.txt:
- fast/canvas/radialGradient-infinite-values-expected.txt:
- fast/canvas/resources/canvas-2d-imageData-create-nonfinite.js:
- fast/canvas/script-tests/canvas-getImageData-invalid.js:
- fast/canvas/script-tests/linearGradient-infinite-values.js:
- fast/canvas/script-tests/radialGradient-infinite-values.js:
- 3:06 PM Changeset in webkit [200527] by
-
- 4 edits in trunk/LayoutTests
Unreviewed IDB test gardening.
Fix a failing test, and add better classification/comments to a different failing test.
- TestExpectations:
- storage/indexeddb/dont-commit-on-blocked-expected.txt:
- storage/indexeddb/dont-commit-on-blocked.html:
- 2:38 PM Changeset in webkit [200526] by
-
- 3 edits in trunk/LayoutTests
Unreviewed IDB test gardening.
Update the workers variant of "deletedatabase-delayed-by-open-and-versionchange" to the modern expected results.
- TestExpectations:
- storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt:
- 2:22 PM Changeset in webkit [200525] by
-
- 2 edits in trunk/LayoutTests
Unreviewed IDB test gardening.
Finish removing unsupported lines from the "unprefix" test.
- storage/indexeddb/unprefix-private-expected.txt:
- 2:21 PM Changeset in webkit [200524] by
-
- 31 edits4 deletes in trunk
Regions, Shapes and Tracks don't need runtime features
https://bugs.webkit.org/show_bug.cgi?id=157426
<rdar://problem/26146262>
Reviewed by Simon Fraser.
Source/WebCore:
The following RuntimeEnabledFeatures can be removed since
we have no need to disable them (they are stable and have
shipped for a while):
- CSS Regions
- CSS Shapes
- Media tracks
- bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures): Deleted.
- bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setCSSShapesEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::cssShapesEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::setCSSRegionsEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::cssRegionsEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::setCSSCompositingEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::cssCompositingEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::webkitVideoTrackEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::setWebkitVideoTrackEnabled): Deleted.
- css/CSSParser.cpp:
(WebCore::isSimpleLengthPropertyID):
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillProperty):
(WebCore::CSSParser::createRegionRule):
(WebCore::CSSParserContext::CSSParserContext): Deleted.
(WebCore::operator==): Deleted.
(WebCore::CSSParser::parseShapeProperty): Deleted.
(WebCore::CSSParser::cssRegionsEnabled): Deleted.
(WebCore::CSSParser::cssCompositingEnabled): Deleted.
(WebCore::CSSParser::parseFlowThread): Deleted.
(WebCore::CSSParser::parseRegionThread): Deleted.
- css/CSSParser.h:
- css/CSSParserMode.h:
- dom/Document.cpp:
(WebCore::Document::webkitGetNamedFlows):
(WebCore::Document::cssRegionsEnabled): Deleted.
(WebCore::Document::cssCompositingEnabled): Deleted.
- dom/Document.h:
- dom/Element.cpp:
(WebCore::Element::unregisterNamedFlowContentElement):
(WebCore::Element::webkitRegionOverset):
(WebCore::Element::webkitGetRegionFlowRanges): Deleted.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::scheduleDelayedAction):
(WebCore::HTMLMediaElement::pendingActionTimerFired):
(WebCore::HTMLMediaElement::prepareForLoad):
(WebCore::HTMLMediaElement::loadInternal):
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::playbackProgressTimerFired):
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
(WebCore::HTMLMediaElement::userCancelledLoad):
(WebCore::HTMLMediaElement::setVideoFullscreenLayer):
(WebCore::HTMLMediaElement::hasClosedCaptions):
(WebCore::HTMLMediaElement::setClosedCaptionsVisible):
(WebCore::HTMLMediaElement::configureTextTrackDisplay):
(WebCore::HTMLMediaElement::finishParsingChildren): Deleted.
(WebCore::HTMLMediaElement::audioTrackEnabledChanged): Deleted.
(WebCore::HTMLMediaElement::videoTrackSelectedChanged): Deleted.
(WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack): Deleted.
(WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack): Deleted.
(WebCore::HTMLMediaElement::mediaPlayerDidAddVideoTrack): Deleted.
(WebCore::HTMLMediaElement::addAudioTrack): Deleted.
(WebCore::HTMLMediaElement::addTextTrack): Deleted.
(WebCore::HTMLMediaElement::addVideoTrack): Deleted.
(WebCore::HTMLMediaElement::removeAudioTrack): Deleted.
(WebCore::HTMLMediaElement::removeTextTrack): Deleted.
(WebCore::HTMLMediaElement::removeVideoTrack): Deleted.
(WebCore::HTMLMediaElement::audioTracks): Deleted.
(WebCore::HTMLMediaElement::textTracks): Deleted.
(WebCore::HTMLMediaElement::videoTracks): Deleted.
(WebCore::HTMLMediaElement::didAddTextTrack): Deleted.
(WebCore::HTMLMediaElement::didRemoveTextTrack): Deleted.
- html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::parseAttribute):
(WebCore::HTMLTrackElement::scheduleLoad): Deleted.
(WebCore::HTMLTrackElement::canLoadURL): Deleted.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo): Deleted.
(WebCore::InternalSettings::setCSSShapesEnabled): Deleted.
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
Source/WebKit/mac:
The following RuntimeEnabledFeatures can be removed since
we have no need to disable them (they are stable and have
shipped for a while):
- CSS Regions
- CSS Shapes
- Media tracks
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Deleted.
(-[WebPreferences cssRegionsEnabled]): Deleted.
(-[WebPreferences setCSSRegionsEnabled:]): Deleted.
(-[WebPreferences cssCompositingEnabled]): Deleted.
(-[WebPreferences setCSSCompositingEnabled:]): Deleted.
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Deleted.
Source/WebKit2:
The following RuntimeEnabledFeatures can be removed since
we have no need to disable them (they are stable and have
shipped for a while):
- CSS Regions
- CSS Shapes
- Media tracks
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetCSSRegionsEnabled): Deleted.
(WKPreferencesGetCSSRegionsEnabled): Deleted.
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Deleted.
(WebKit::InjectedBundle::setCSSRegionsEnabled): Deleted.
(WebKit::InjectedBundle::setCSSCompositingEnabled): Deleted.
- WebProcess/InjectedBundle/InjectedBundle.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Deleted.
Tools:
The following RuntimeEnabledFeatures can be removed since
we have no need to disable them (they are stable and have
shipped for a while):
- CSS Regions
- CSS Shapes
- Media tracks
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues): Deleted.
LayoutTests:
Remove these tests since their runtime flags no longer exist.
- fast/regions/css-regions-disabled-expected.txt: Removed.
- fast/regions/css-regions-disabled.html: Removed.
- fast/shapes/css-shapes-disabled-expected.txt: Removed.
- fast/shapes/css-shapes-disabled.html: Removed.
- 2:16 PM Changeset in webkit [200523] by
-
- 5 edits in trunk/LayoutTests
Unreviewed IDB test gardening.
Remove unsupported lines from the "unprefix" test.
- TestExpectations:
- storage/indexeddb/resources/unprefix.js:
- storage/indexeddb/unprefix-expected.txt:
- storage/indexeddb/unprefix-workers-expected.txt:
- 2:11 PM Changeset in webkit [200522] by
-
- 2 edits2 deletes in trunk/LayoutTests
Unreviewed IDB test gardening.
Remove the Workers variant of a test that had been removed for being irrelevant.
- TestExpectations:
- storage/indexeddb/factory-basics-workers-expected.txt: Removed.
- storage/indexeddb/factory-basics-workers.html: Removed.
- 2:04 PM Changeset in webkit [200521] by
-
- 43 edits in trunk
Modern IDB (Workers): Start running a lot of the workers tests.
https://bugs.webkit.org/show_bug.cgi?id=157424
Reviewed by Sam Weinig.
Source/WebCore:
No new tests (Covered by enabling a whole bunch of existing tests).
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::stop): Call removeAllEventListeners() to clean up the Worker VM
before it shuts down.
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::stop): Call removeAllEventListeners()
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::IDBTransaction): Initialize with the correct VM.
(WebCore::IDBTransaction::stop): Call removeAllEventListeners()
(WebCore::IDBTransaction::operationDidComplete):
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::takeIDBOpenDBRequest):
(WebCore::IDBClient::IDBConnectionProxy::completeOpenDBRequest): Don't take the request from
the map, but rather let the request take itself from its appropriate thread.
- Modules/indexeddb/client/IDBConnectionProxy.h:
- Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::TransactionOperation::completed): Rework clearing out the completion
handler, as the handler itself might hold the last reference to
this.
- page/SecurityOrigin.h:
(WebCore::SecurityOrigin::hasUniversalAccess):
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope): If the parent context's SecurityOrigin had
universal access, grant it to this one.
LayoutTests:
Many tests that obviously pass need updated expectations for the details of error messages.
Others just work right out of the box.
- TestExpectations: Enable some tests, and categorize remaining failures.
- http/tests/security/cross-origin-worker-indexeddb-allowed-expected.txt:
- http/tests/security/cross-origin-worker-indexeddb-allowed.html:
- http/tests/security/cross-origin-worker-indexeddb-expected.txt:
- http/tests/security/cross-origin-worker-indexeddb.html:
- http/tests/security/resources/cross-origin-iframe-for-worker-indexeddb.html:
- http/tests/security/resources/document-for-cross-origin-worker-indexeddb.html:
- http/tests/security/resources/worker-for-indexeddb.js:
- storage/indexeddb/basics-workers.html:
- storage/indexeddb/cursor-advance-workers-expected.txt:
- storage/indexeddb/cursor-advance-workers.html:
- storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
- storage/indexeddb/dont-commit-on-blocked-private.html:
- storage/indexeddb/dont-commit-on-blocked.html:
- storage/indexeddb/factory-basics-workers.html:
- storage/indexeddb/index-basics-workers-expected.txt:
- storage/indexeddb/index-basics-workers.html:
- storage/indexeddb/modern/workers-disabled.html:
- storage/indexeddb/objectstore-basics-workers-expected.txt:
- storage/indexeddb/objectstore-basics-workers.html:
- storage/indexeddb/open-twice-workers.html:
- storage/indexeddb/pending-activity-workers.html:
- storage/indexeddb/pending-version-change-on-exit-private.html:
- storage/indexeddb/pending-version-change-on-exit.html:
- storage/indexeddb/pending-version-change-stuck-private.html:
- storage/indexeddb/pending-version-change-stuck-works-with-terminate-private.html:
- storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
- storage/indexeddb/pending-version-change-stuck.html:
- storage/indexeddb/transaction-complete-workers-expected.txt:
- storage/indexeddb/transaction-complete-workers-private-expected.txt:
- storage/indexeddb/transaction-complete-workers-private.html:
- storage/indexeddb/transaction-complete-workers.html:
- storage/indexeddb/unprefix-workers.html:
- 2:01 PM Changeset in webkit [200520] by
-
- 4 edits2 adds in trunk
FKA: No way to get focus from DOM to shadow DOM components (Was: HTML5 media controls not keyboard accessible)
https://bugs.webkit.org/show_bug.cgi?id=117857
Reviewed by Jer Noble.
Source/WebCore:
The bug was caused by hasCustomFocusLogic returning true on media elements.
Fix the bug by removing this function so that FocusController will walk into the shadow tree of media elements
to look for focusable elements. This will allow AT such as Voice Over to iterate through controls.
We don't seem to draw focus rings inside the media elements but that could be tweaked in a separate patch.
Test: media/tab-focus-inside-media-elements.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::hasCustomFocusLogic): Deleted.
- html/HTMLMediaElement.h:
LayoutTests:
Added a regression test for moving focus into media elements by pressing tab key.
- media/tab-focus-inside-media-elements-expected.txt: Added.
- media/tab-focus-inside-media-elements.html: Added.
- 1:38 PM Changeset in webkit [200519] by
-
- 10 edits1 delete in trunk/Source/WebCore
Tidy up the LinkRelAttribute code
https://bugs.webkit.org/show_bug.cgi?id=157429
Reviewed by Sam Weinig.
Get rid of IconURL.h and move the IconType enumeration inside LinkRelAttribute.
Remove the InvalidIcon enum declaration and use WTF::Optional instead.
- WebCore.xcodeproj/project.pbxproj:
- dom/IconURL.h: Removed.
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::iconType):
(WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
- html/HTMLLinkElement.h:
- html/LinkRelAttribute.cpp:
(WebCore::LinkRelAttribute::LinkRelAttribute):
- html/LinkRelAttribute.h:
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::relAttributeIsStyleSheet):
- loader/FrameLoader.h:
- loader/FrameLoaderClient.h:
- loader/icon/IconController.cpp:
(WebCore::iconFromLinkElements):
- 1:37 PM Changeset in webkit [200518] by
-
- 1 edit2 adds in trunk/LayoutTests
JS Function removed after parsing
https://bugs.webkit.org/show_bug.cgi?id=149175
Reviewed by Mark Lam.
This bug doesn't happen anymore, but the test case is still useful. This test will fail 1/5 of
the time if we regress.
- js/dom/function-removed-after-parsing-expected.txt: Added.
- js/dom/function-removed-after-parsing.html: Added.
- 12:54 PM Changeset in webkit [200517] by
-
- 5 edits2 deletes in trunk/Source/WebInspectorUI
Web Inspector: Remove HeapSnapshot Summary View
https://bugs.webkit.org/show_bug.cgi?id=157385
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-06
Reviewed by Timothy Hatcher.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Main.html:
- UserInterface/Views/HeapSnapshotClusterContentView.js:
(WebInspector.HeapSnapshotClusterContentView):
(WebInspector.HeapSnapshotClusterContentView.prototype.get summaryContentView): Deleted.
(WebInspector.HeapSnapshotClusterContentView.prototype.showSummary): Deleted.
(WebInspector.HeapSnapshotClusterContentView.prototype._pathComponentForContentView):
(WebInspector.HeapSnapshotClusterContentView.prototype._identifierForContentView):
(WebInspector.HeapSnapshotClusterContentView.prototype._showContentViewForIdentifier):
- UserInterface/Views/HeapSnapshotSummaryContentView.css: Removed.
- UserInterface/Views/HeapSnapshotSummaryContentView.js: Removed.
- UserInterface/Views/Variables.css:
(:root):
- 12:54 PM Changeset in webkit [200516] by
-
- 4 edits2 adds in trunk
Muted media elements should be allowed to autoplay, even if RequireUserGestureForAudioRateChange is set.
https://bugs.webkit.org/show_bug.cgi?id=157404
<rdar://problem/26016802>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/audio-playback-restriction-play-muted.html
Add element.muted() as a critera of whether playback is permitted when
RequireUserGestureForAudioRateChange is set. Also, make sure to re-evaluate whether the
element should be playing when muted is changed without a user gesture.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setMuted):
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackPermitted):
LayoutTests:
- media/audio-playback-restriction-play-muted-expected.txt: Added.
- media/audio-playback-restriction-play-muted.html: Added.
- 12:25 PM Changeset in webkit [200515] by
-
- 2 edits in trunk/Tools
Increase delay when launching multiple ios-simulators in parallel
https://bugs.webkit.org/show_bug.cgi?id=157422
Reviewed by Alexey Proskuryakov.
Tests are intermittently failing when launching multiple simulators in parallel due to "You are opening
this application for the first time" confirmation dialogs. Increasing the delay to alleviate this issue.
- Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.setup_test_run):
- 11:17 AM Changeset in webkit [200514] by
-
- 6 edits in trunk/Source/WebKit2
Create a fence in WebVideoFullscreenManagerProxy::setVideoLayerFrame() to pass to the web process
https://bugs.webkit.org/show_bug.cgi?id=157409
Reviewed by Tim Horton.
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):
Create a fence by calling DrawingAreaProxy::createFence() and pass it when sending the
WebVideoFullscreenManager::SetVideoLayerFrameFenced message.
- UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::createFence):
Stub implementation. Assert not to be reached here since it's only implemented on Mac so far.
- UIProcess/DrawingAreaProxy.h:
- UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
- UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::createFence):
Renamed from createFenceForGeometryUpdate() since we are using it for more than just updating geometry.
(WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
Update due to method rename.
- 9:57 AM Changeset in webkit [200513] by
-
- 2 edits in trunk/Source/WebKit/mac
Remove workaround for Apple Internal bots
<rdar://problem/25989808>
Reverts the workaround added in r200211 as it is no longer needed.
- WebView/WebPDFView.h:
- 9:18 AM Changeset in webkit [200512] by
-
- 2 edits in trunk/Tools
[Win] Remove WinXP support.
https://bugs.webkit.org/show_bug.cgi?id=157416
Reviewed by Brent Fulgham.
- win/DLLLauncher/DLLLauncherMain.cpp:
(enableTerminationOnHeapCorruption):
- 8:53 AM Changeset in webkit [200511] by
-
- 4 edits in trunk/Source/WebCore
Don't use invalidated ResourceLoadStatistics iterators
https://bugs.webkit.org/show_bug.cgi?id=157412
<rdar://problem/26133153>
Reviewed by Chris Dumez.
ResourceLoadObserver::logFrameNavigation was using references bound to the 'value'
member of iterators from the ResourceLoadStatistics HashMap. When new entries were
added, these iterators were invalidated causing the references to refer to invalid
memory.
Renamed 'resourceStatisticsForPrimaryDomain' to 'ensureResourceStatisticsForPrimaryDomain'
to clarify that it may mutate the underlying HashMap, thereby invalidating any
existing iterators.
- loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::logFrameNavigation): Protect against HashMap
elements being copied/moved when new intries are added.
- loader/ResourceLoadStatisticsStore.cpp:
(WebCore::ResourceLoadStatisticsStore::setResourceStatisticsForPrimaryDomain): Added.
- loader/ResourceLoadStatisticsStore.h:
- 1:17 AM Changeset in webkit [200510] by
-
- 329 edits in trunk
[css-grid] Unprefix CSS Grid Layout properties
https://bugs.webkit.org/show_bug.cgi?id=157137
Reviewed by Simon Fraser.
Remove "-webkit" prefix from all the grid layout properties,
including the display value.
Update the source code to remove the prefix where it was used too.
.:
- ManualTests/css-grid-layout-item-with-huge-span-crash.html:
PerformanceTests:
- Layout/auto-grid-lots-of-data.html:
- Layout/fixed-grid-lots-of-data.html:
- Layout/fixed-grid-lots-of-stretched-data.html:
Source/WebCore:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::isLayoutDependent):
(WebCore::ComputedStyleExtractor::propertyValue):
- css/CSSParser.cpp:
(WebCore::isSimpleLengthPropertyID):
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridGapShorthand):
(WebCore::CSSParser::parseGridTemplateRowsAndAreasAndColumns):
(WebCore::CSSParser::parseGridTemplateShorthand):
(WebCore::CSSParser::parseGridShorthand):
(WebCore::CSSParser::parseGridAreaShorthand):
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- css/CSSPropertyNames.in:
- css/CSSValueKeywords.in:
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialGridTemplateAreas):
(WebCore::StyleBuilderCustom::applyInheritGridTemplateAreas):
(WebCore::StyleBuilderCustom::applyValueGridTemplateAreas):
(WebCore::StyleBuilderCustom::applyInitialGridTemplateColumns):
(WebCore::StyleBuilderCustom::applyInheritGridTemplateColumns):
(WebCore::StyleBuilderCustom::applyValueGridTemplateColumns):
(WebCore::StyleBuilderCustom::applyInitialGridTemplateRows):
(WebCore::StyleBuilderCustom::applyInheritGridTemplateRows):
(WebCore::StyleBuilderCustom::applyValueGridTemplateRows):
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue):
Source/WebInspectorUI:
- UserInterface/Models/CSSKeywordCompletions.js:
Tools:
- TestWebKitAPI/Tests/WebCore/CSSParser.cpp:
(TestWebKitAPI::TEST):
LayoutTests:
- css3/parse-align-content.html:
- css3/parse-align-items.html:
- css3/parse-align-self.html:
- css3/parse-justify-content.html:
- fast/css-grid-layout/absolute-positioning-definite-sizes.html:
- fast/css-grid-layout/absolute-positioning-grid-container-containing-block.html:
- fast/css-grid-layout/absolute-positioning-grid-container-parent.html:
- fast/css-grid-layout/anonymous-grid-items-expected.html:
- fast/css-grid-layout/anonymous-grid-items.html:
- fast/css-grid-layout/auto-content-resolution-columns.html:
- fast/css-grid-layout/auto-content-resolution-rows.html:
- fast/css-grid-layout/breadth-size-resolution-grid.html:
- fast/css-grid-layout/calc-resolution-grid-item.html:
- fast/css-grid-layout/compute-intrinsic-widths-scrollbar.html:
- fast/css-grid-layout/display-grid-set-get-expected.txt:
- fast/css-grid-layout/explicit-grid-size.html:
- fast/css-grid-layout/flex-and-content-sized-resolution-columns-expected.txt:
- fast/css-grid-layout/flex-and-content-sized-resolution-columns.html:
- fast/css-grid-layout/flex-and-intrinsic-sizes.html:
- fast/css-grid-layout/flex-and-minmax-content-resolution-columns.html:
- fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html:
- fast/css-grid-layout/flex-content-distribution.html:
- fast/css-grid-layout/flex-content-resolution-columns.html:
- fast/css-grid-layout/flex-content-resolution-rows.html:
- fast/css-grid-layout/flex-content-sized-column-use-available-width.html:
- fast/css-grid-layout/flex-content-sized-columns-resize.html:
- fast/css-grid-layout/flex-factor-sum-less-than-1.html:
- fast/css-grid-layout/float-not-protruding-into-next-grid-item.html:
- fast/css-grid-layout/floating-empty-grids.html:
- fast/css-grid-layout/grid-align-content-distribution-vertical-lr.html:
- fast/css-grid-layout/grid-align-content-distribution-vertical-rl.html:
- fast/css-grid-layout/grid-align-content-distribution.html:
- fast/css-grid-layout/grid-align-content-vertical-lr.html:
- fast/css-grid-layout/grid-align-content-vertical-rl.html:
- fast/css-grid-layout/grid-align-content.html:
- fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr.html:
- fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl.html:
- fast/css-grid-layout/grid-align-justify-margin-border-padding.html:
- fast/css-grid-layout/grid-align-justify-overflow.html:
- fast/css-grid-layout/grid-align-justify-stretch.html:
- fast/css-grid-layout/grid-align-stretching-replaced-items.html:
- fast/css-grid-layout/grid-align.html:
- fast/css-grid-layout/grid-auto-columns-rows-auto-flow-resolution.html:
- fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
- fast/css-grid-layout/grid-auto-columns-rows-resolution.html:
- fast/css-grid-layout/grid-auto-columns-rows-update.html:
- fast/css-grid-layout/grid-auto-flow-get-set-expected.txt:
- fast/css-grid-layout/grid-auto-flow-get-set.html:
- fast/css-grid-layout/grid-auto-flow-resolution.html:
- fast/css-grid-layout/grid-auto-flow-sparse.html:
- fast/css-grid-layout/grid-auto-flow-update.html:
- fast/css-grid-layout/grid-automatic-minimum-for-auto-columns-expected.txt:
- fast/css-grid-layout/grid-automatic-minimum-for-auto-columns.html:
- fast/css-grid-layout/grid-automatic-minimum-for-auto-rows-expected.txt:
- fast/css-grid-layout/grid-automatic-minimum-for-auto-rows.html:
- fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
- fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
- fast/css-grid-layout/grid-columns-rows-get-set.html:
- fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html:
- fast/css-grid-layout/grid-container-ignore-first-letter.html:
- fast/css-grid-layout/grid-content-alignment-and-self-alignment-spanning.html:
- fast/css-grid-layout/grid-content-alignment-and-self-alignment.html:
- fast/css-grid-layout/grid-content-alignment-overflow.html:
- fast/css-grid-layout/grid-content-alignment-stretch-only-valid-for-auto-sized-tracks.html:
- fast/css-grid-layout/grid-content-alignment-stretch-with-different-sized-tracks.html:
- fast/css-grid-layout/grid-content-alignment-with-span-vertical-lr.html:
- fast/css-grid-layout/grid-content-alignment-with-span-vertical-rl.html:
- fast/css-grid-layout/grid-content-alignment-with-span.html:
- fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
- fast/css-grid-layout/grid-content-sized-columns-resolution.html:
- fast/css-grid-layout/grid-disable.html:
- fast/css-grid-layout/grid-dynamic-updates-relayout.html:
- fast/css-grid-layout/grid-element-auto-repeat-get-set-expected.txt:
- fast/css-grid-layout/grid-element-auto-repeat-get-set.html:
- fast/css-grid-layout/grid-element-border-grid-item.html:
- fast/css-grid-layout/grid-element-border-padding-grid-item.html:
- fast/css-grid-layout/grid-element-change-columns-repaint.html:
- fast/css-grid-layout/grid-element-change-rows-repaint.html:
- fast/css-grid-layout/grid-element-empty-row-column.html:
- fast/css-grid-layout/grid-element-min-max-height.html:
- fast/css-grid-layout/grid-element-min-max-width.html:
- fast/css-grid-layout/grid-element-padding-grid-item.html:
- fast/css-grid-layout/grid-element-padding-margin.html:
- fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
- fast/css-grid-layout/grid-element-repeat-get-set.html:
- fast/css-grid-layout/grid-element-shrink-to-fit.html:
- fast/css-grid-layout/grid-grow-tracks-to-their-max-expected.txt:
- fast/css-grid-layout/grid-grow-tracks-to-their-max.html:
- fast/css-grid-layout/grid-gutters-and-alignment.html:
- fast/css-grid-layout/grid-gutters-and-flex-content.html:
- fast/css-grid-layout/grid-gutters-and-tracks.html:
- fast/css-grid-layout/grid-gutters-get-set-expected.txt:
- fast/css-grid-layout/grid-gutters-get-set.html:
- fast/css-grid-layout/grid-indefinite-calculated-height-crash-expected.txt:
- fast/css-grid-layout/grid-indefinite-calculated-height-crash.html:
- fast/css-grid-layout/grid-initialize-span-one-items-expected.txt:
- fast/css-grid-layout/grid-initialize-span-one-items.html:
- fast/css-grid-layout/grid-item-addition-auto-placement-update.html:
- fast/css-grid-layout/grid-item-addition-track-breadth-update.html:
- fast/css-grid-layout/grid-item-area-get-set-expected.txt:
- fast/css-grid-layout/grid-item-area-get-set.html:
- fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-lr.html:
- fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-rl.html:
- fast/css-grid-layout/grid-item-auto-margins-alignment.html:
- fast/css-grid-layout/grid-item-auto-margins-and-stretch.html:
- fast/css-grid-layout/grid-item-auto-margins-must-respect-specified-margins.html:
- fast/css-grid-layout/grid-item-auto-placement-automatic-span.html:
- fast/css-grid-layout/grid-item-auto-placement-definite-span.html:
- fast/css-grid-layout/grid-item-auto-placement-fixed-row-column.html:
- fast/css-grid-layout/grid-item-auto-sized-align-justify-margin-border-padding.html:
- fast/css-grid-layout/grid-item-bad-named-area-auto-placement.html:
- fast/css-grid-layout/grid-item-bad-resolution-double-span.html:
- fast/css-grid-layout/grid-item-change-column-repaint.html:
- fast/css-grid-layout/grid-item-change-row-repaint.html:
- fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
- fast/css-grid-layout/grid-item-column-row-get-set.html:
- fast/css-grid-layout/grid-item-display.html:
- fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
- fast/css-grid-layout/grid-item-end-after-get-set.html:
- fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-ltr.html:
- fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl.html:
- fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-ltr.html:
- fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl.html:
- fast/css-grid-layout/grid-item-margin-resolution.html:
- fast/css-grid-layout/grid-item-margins-not-collapse.html:
- fast/css-grid-layout/grid-item-multiple-minmax-content-resolution.html:
- fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
- fast/css-grid-layout/grid-item-named-grid-line-resolution.html:
- fast/css-grid-layout/grid-item-negative-indexes.html:
- fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html:
- fast/css-grid-layout/grid-item-negative-position-resolution.html:
- fast/css-grid-layout/grid-item-order-auto-flow-resolution.html:
- fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution.html:
- fast/css-grid-layout/grid-item-order-paint-order.html:
- fast/css-grid-layout/grid-item-position-changed-dynamic.html:
- fast/css-grid-layout/grid-item-removal-auto-placement-update.html:
- fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
- fast/css-grid-layout/grid-item-spanning-resolution.html:
- fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
- fast/css-grid-layout/grid-item-start-before-get-set.html:
- fast/css-grid-layout/grid-item-stretch-with-margins-borders-padding-vertical-lr.html:
- fast/css-grid-layout/grid-item-stretch-with-margins-borders-padding-vertical-rl.html:
- fast/css-grid-layout/grid-item-stretch-with-margins-borders-padding.html:
- fast/css-grid-layout/grid-item-text-background-not-interleaved.html:
- fast/css-grid-layout/grid-item-unknown-named-grid-line-resolution.html:
- fast/css-grid-layout/grid-item-with-border-in-fr.html:
- fast/css-grid-layout/grid-item-with-border-in-intrinsic.html:
- fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-resolution.html:
- fast/css-grid-layout/grid-item-with-percent-min-max-height-dynamic.html:
- fast/css-grid-layout/grid-item-z-index-change-repaint-expected.html:
- fast/css-grid-layout/grid-item-z-index-change-repaint.html:
- fast/css-grid-layout/grid-item-z-index-stacking-context-expected.html:
- fast/css-grid-layout/grid-item-z-index-stacking-context.html:
- fast/css-grid-layout/grid-item-z-index-support.html:
- fast/css-grid-layout/grid-items-should-not-be-stretched-when-height-or-width-or-margin-change.html:
- fast/css-grid-layout/grid-justify-content-distribution-vertical-lr.html:
- fast/css-grid-layout/grid-justify-content-distribution-vertical-rl.html:
- fast/css-grid-layout/grid-justify-content-distribution.html:
- fast/css-grid-layout/grid-justify-content-vertical-lr.html:
- fast/css-grid-layout/grid-justify-content-vertical-rl.html:
- fast/css-grid-layout/grid-justify-content.html:
- fast/css-grid-layout/grid-percent-track-margin-border-padding.html:
- fast/css-grid-layout/grid-percent-track-scrollbar.html:
- fast/css-grid-layout/grid-positioned-children-writing-modes.html:
- fast/css-grid-layout/grid-positioned-items-background-rtl.html:
- fast/css-grid-layout/grid-positioned-items-background.html:
- fast/css-grid-layout/grid-positioned-items-content-alignment-rtl.html:
- fast/css-grid-layout/grid-positioned-items-content-alignment.html:
- fast/css-grid-layout/grid-positioned-items-gaps-rtl.html:
- fast/css-grid-layout/grid-positioned-items-gaps.html:
- fast/css-grid-layout/grid-positioned-items-implicit-grid-line.html:
- fast/css-grid-layout/grid-positioned-items-implicit-grid.html:
- fast/css-grid-layout/grid-positioned-items-padding.html:
- fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line.html:
- fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track.html:
- fast/css-grid-layout/grid-preferred-logical-widths.html:
- fast/css-grid-layout/grid-repeat-calc-expected.txt:
- fast/css-grid-layout/grid-repeat-calc.html:
- fast/css-grid-layout/grid-shorthand-computed-style-crash.html:
- fast/css-grid-layout/grid-shorthand-get-set-expected.txt:
- fast/css-grid-layout/grid-shorthand-get-set.html:
- fast/css-grid-layout/grid-sizing-positioned-items.html:
- fast/css-grid-layout/grid-strict-ordering-crash.html:
- fast/css-grid-layout/grid-template-areas-empty-string-crash.html:
- fast/css-grid-layout/grid-template-areas-get-set-expected.txt:
- fast/css-grid-layout/grid-template-areas-get-set.html:
- fast/css-grid-layout/grid-template-areas-infinite-loop.html:
- fast/css-grid-layout/grid-template-columns-rows-computed-style-gaps-content-alignment-expected.txt:
- fast/css-grid-layout/grid-template-columns-rows-computed-style-gaps-content-alignment.html:
- fast/css-grid-layout/grid-template-shorthand-computed-style-crash.html:
- fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt:
- fast/css-grid-layout/grid-template-shorthand-get-set.html:
- fast/css-grid-layout/grid-update-sizes-after-distributing-all-expected.txt:
- fast/css-grid-layout/grid-update-sizes-after-distributing-all.html:
- fast/css-grid-layout/grid-was-populated-assert.html:
- fast/css-grid-layout/grid-with-relative-font-length-crash.html:
- fast/css-grid-layout/implicit-columns-auto-resolution.html:
- fast/css-grid-layout/implicit-position-dynamic-change-expected.txt:
- fast/css-grid-layout/implicit-position-dynamic-change.html:
- fast/css-grid-layout/implicit-rows-auto-resolution.html:
- fast/css-grid-layout/implicit-tracks-before-explicit.html:
- fast/css-grid-layout/justify-self-cell.html:
- fast/css-grid-layout/mark-as-infinitely-growable-expected.txt:
- fast/css-grid-layout/mark-as-infinitely-growable.html:
- fast/css-grid-layout/maximize-tracks-definite-indefinite-height.html:
- fast/css-grid-layout/min-content-row-must-shrink-when-column-grows.html:
- fast/css-grid-layout/min-height-border-box.html:
- fast/css-grid-layout/min-width-height-auto-and-margins.html:
- fast/css-grid-layout/min-width-height-auto-overflow.html:
- fast/css-grid-layout/min-width-height-auto.html:
- fast/css-grid-layout/min-width-margin-box.html:
- fast/css-grid-layout/minmax-fixed-logical-height-only.html:
- fast/css-grid-layout/minmax-fixed-logical-width-only.html:
- fast/css-grid-layout/minmax-max-content-resolution-columns.html:
- fast/css-grid-layout/minmax-max-content-resolution-rows.html:
- fast/css-grid-layout/minmax-min-content-column-resolution-columns.html:
- fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
- fast/css-grid-layout/minmax-spanning-resolution-columns.html:
- fast/css-grid-layout/minmax-spanning-resolution-rows.html:
- fast/css-grid-layout/named-grid-line-get-set-expected.txt:
- fast/css-grid-layout/named-grid-line-get-set.html:
- fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks-expected.txt:
- fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks.html:
- fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set.html:
- fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set-expected.txt:
- fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set.html:
- fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
- fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.txt:
- fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html:
- fast/css-grid-layout/non-grid-columns-rows-get-set.html:
- fast/css-grid-layout/non-grid-element-repeat-get-set-expected.txt:
- fast/css-grid-layout/non-grid-element-repeat-get-set.html:
- fast/css-grid-layout/non-named-grid-line-get-set-expected.txt:
- fast/css-grid-layout/non-named-grid-line-get-set.html:
- fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html:
- fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html:
- fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html:
- fast/css-grid-layout/percent-intrinsic-track-breadth.html:
- fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html:
- fast/css-grid-layout/percent-of-indefinite-track-size-in-minmax-crash.html:
- fast/css-grid-layout/percent-of-indefinite-track-size.html:
- fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html:
- fast/css-grid-layout/percent-padding-margin-resolution-grid-item.html:
- fast/css-grid-layout/percent-resolution-grid-item.html:
- fast/css-grid-layout/percent-track-breadths-regarding-container-size.html:
- fast/css-grid-layout/place-cell-by-index.html:
- fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks.html:
- fast/css-grid-layout/positioned-grid-items-should-not-take-up-space.html:
- fast/css-grid-layout/relayout-align-items-changed.html:
- fast/css-grid-layout/relayout-align-self-changed.html:
- fast/css-grid-layout/relayout-indefinite-heights.html:
- fast/css-grid-layout/relayout-justify-items-changed.html:
- fast/css-grid-layout/relayout-justify-self-changed.html:
- fast/css-grid-layout/resources/display-grid-set-get.js:
- fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
(testInherit):
(testInitial):
- fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
(testInherit):
(testInitial):
- fast/css-grid-layout/resources/grid-definitions-parsing-utils.js:
(testGridTemplatesValues):
(checkGridTemplatesSetJSValues):
(testGridTemplatesSetBadJSValues):
(checkGridAutoFlowSetCSSValue):
(checkGridAutoFlowSetJSValue):
(testGridAutoDefinitionsValues):
(testGridGapDefinitionsValues):
- fast/css-grid-layout/resources/grid-item-column-row-parsing-utils.js:
(checkColumnRowValues):
(window.testColumnRowJSParsing):
(window.testColumnRowInvalidJSParsing):
(window.testColumnStartRowStartJSParsing):
(window.testColumnEndRowEndJSParsing):
(setupInheritTest):
(setupInitialTest):
(window.testColumnRowInheritJSParsing):
(window.testStartBeforeInheritJSParsing):
(window.testEndAfterInheritJSParsing):
(window.testColumnRowInitialJSParsing):
(window.testStartBeforeInitialJSParsing):
(window.testEndAfterInitialJSParsing):
- fast/css-grid-layout/resources/grid-shorthand-parsing-utils.js:
(testGridDefinitionsValues):
(checkGridDefinitionsSetJSValues):
(testGridDefinitionsSetBadJSValues):
- fast/css-grid-layout/resources/grid-template-shorthand-parsing-utils.js:
(testGridDefinitionsValues):
(checkGridDefinitionsSetJSValues):
(testGridDefinitionsSetBadJSValues):
- fast/css-grid-layout/resources/grid.css:
(.grid):
(.inline-grid):
(.firstRowFirstColumn):
(.onlyFirstRowOnlyFirstColumn):
(.firstRowSecondColumn):
(.onlyFirstRowOnlySecondColumn):
(.firstRowThirdColumn):
(.firstRowFourthColumn):
(.secondRowFirstColumn):
(.onlySecondRowOnlyFirstColumn):
(.secondRowSecondColumn):
(.onlySecondRowOnlySecondColumn):
(.endSecondRowEndSecondColumn):
(.secondRowThirdColumn):
(.secondRowFourthColumn):
(.thirdRowFirstColumn):
(.thirdRowSecondColumn):
(.thirdRowThirdColumn):
(.fourthRowFirstColumn):
(.fourthRowSecondColumn):
(.firstAutoRowSecondAutoColumn):
(.autoLastRowAutoLastColumn):
(.autoSecondRowAutoFirstColumn):
(.firstRowBothColumn):
(.secondRowBothColumn):
(.bothRowFirstColumn):
(.bothRowSecondColumn):
(.bothRowBothColumn):
(.autoRowAutoColumn):
(.firstRowAutoColumn):
(.secondRowAutoColumn):
(.thirdRowAutoColumn):
(.autoRowFirstColumn):
(.autoRowSecondColumn):
(.autoRowThirdColumn):
(.autoRowAutoColumnSpanning2):
(.autoRowSpanning2AutoColumn):
(.autoRowSpanning2AutoColumnSpanning3):
(.autoRowSpanning3AutoColumnSpanning2):
(.autoRowFirstColumnSpanning2):
(.autoRowSecondColumnSpanning2):
(.firstRowSpanning2AutoColumn):
(.secondRowSpanning2AutoColumn):
(.gridAutoFlowColumnSparse):
(.gridAutoFlowColumnDense):
(.gridAutoFlowRowSparse):
(.gridAutoFlowRowDense):
- fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.js:
(testInherit):
(testInitial):
- fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:
(testInherit):
(testInitial):
- fast/css-grid-layout/should-not-collapse-anonymous-blocks.html:
- fast/css-grid-layout/swap-lines-if-start-is-further-endward-than-end-line-expected.html:
- fast/css-grid-layout/swap-lines-if-start-is-further-endward-than-end-line.html:
- fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash.html:
- fast/css/auto-min-size.html:
- fast/css/first-letter-ignores-display-property.html:
- fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- fast/css/getComputedStyle/resources/property-names.js:
- fast/css/parse-justify-items.html:
- fast/events/key-events-in-editable-gridbox.html:
- fast/repaint/align-items-overflow-change.html:
- fast/repaint/align-self-change.html:
- fast/repaint/align-self-overflow-change.html:
- fast/repaint/justify-items-change.html:
- fast/repaint/justify-items-legacy-change.html:
- fast/repaint/justify-items-overflow-change.html:
- fast/repaint/justify-self-change.html:
- fast/repaint/justify-self-overflow-change.html:
- fast/text-autosizing/cluster-inline-grid-flex-box-expected.html:
- fast/text-autosizing/cluster-inline-grid-flex-box.html:
- ietestcenter/css3/grid/display-grid-001-expected.htm:
- ietestcenter/css3/grid/display-grid-001.htm:
- ietestcenter/css3/grid/display-grid-002-expected.htm:
- ietestcenter/css3/grid/display-grid-002.htm:
- ietestcenter/css3/grid/grid-column-001-expected.htm:
- ietestcenter/css3/grid/grid-column-001.htm:
- ietestcenter/css3/grid/grid-column-002-expected.htm:
- ietestcenter/css3/grid/grid-column-002.htm:
- ietestcenter/css3/grid/grid-column-003-expected.htm:
- ietestcenter/css3/grid/grid-column-003.htm:
- ietestcenter/css3/grid/grid-columns-001-expected.htm:
- ietestcenter/css3/grid/grid-columns-001.htm:
- ietestcenter/css3/grid/grid-items-001-expected.htm:
- ietestcenter/css3/grid/grid-items-001.htm:
- ietestcenter/css3/grid/grid-items-002-expected.htm:
- ietestcenter/css3/grid/grid-items-002.htm:
- ietestcenter/css3/grid/grid-items-003-expected.htm:
- ietestcenter/css3/grid/grid-items-003.htm:
- ietestcenter/css3/grid/grid-items-004-expected.htm:
- ietestcenter/css3/grid/grid-items-004.htm:
- ietestcenter/css3/grid/grid-items-005-expected.htm:
- ietestcenter/css3/grid/grid-items-005.htm:
- svg/css/getComputedStyle-basic-expected.txt:
- 12:45 AM Changeset in webkit [200509] by
-
- 5 edits2 adds in trunk
AX: <attachment> element should have a replacement character
https://bugs.webkit.org/show_bug.cgi?id=157406
Reviewed by Chris Fleizach.
Source/WebCore:
Make sure attachment element is considered as a replaced node.
Test: accessibility/mac/attachment-element-replacement-character.html
- editing/TextIterator.cpp:
(WebCore::isRendererReplacedElement):
LayoutTests:
- accessibility/attachment-element-expected.txt:
- accessibility/mac/attachment-element-replacement-character-expected.txt: Added.
- accessibility/mac/attachment-element-replacement-character.html: Added.
- editing/pasteboard/drag-and-drop-attachment-contenteditable-expected.txt:
- 12:27 AM Changeset in webkit [200508] by
-
- 3 edits2 adds in trunk
AX: String for document range is empty if end visible position anchors to a ignored replaced node
https://bugs.webkit.org/show_bug.cgi?id=157403
Reviewed by Chris Fleizach.
Source/WebCore:
The CharacterOffset that is converted from VisiblePositon is wrong when the VisiblePostion anchors
to an ignored replaced node. Fixed it by adjusting the offset of the CharacterOffset correctly in
such case.
Test: accessibility/mac/text-marker-string-for-document-end-replaced-node.html
- accessibility/AXObjectCache.cpp:
(WebCore::characterOffsetsInOrder):
(WebCore::AXObjectCache::characterOffsetFromVisiblePosition):
(WebCore::AXObjectCache::accessibilityObjectForTextMarkerData):
LayoutTests:
- accessibility/mac/text-marker-string-for-document-end-replaced-node-expected.txt: Added.
- accessibility/mac/text-marker-string-for-document-end-replaced-node.html: Added.
May 5, 2016:
- 11:25 PM Changeset in webkit [200507] by
-
- 3 edits in trunk/Source/WebCore
[iOS] WebCore does not need to link to CoreAudio, GraphicsServices, SystemConfiguration frameworks
<https://webkit.org/b/157413>
<rdar://problem/26104189>
Reviewed by Gavin Barraclough.
- Configurations/WebCore.xcconfig:
(OTHER_LDFLAGS_BASE_ios): Remove "-framework GraphicsServices".
(OTHER_LDFLAGS_PLATFORM[sdk=macosx*]): Add "-framework CoreAudio"
and "-framework SystemConfiguration".
- WebCore.xcodeproj/project.pbxproj: Remove CoreAudio.framework
and SystemConfiguration.framework from the project file.
- 11:07 PM Changeset in webkit [200506] by
-
- 2 edits in trunk/Tools
Partially revert http://trac.webkit.org/r200504
Improve HTTP test names in WebKitTestRunner's crash report information
https://bugs.webkit.org/show_bug.cgi?id=157389
- WebKitTestRunner/cocoa/CrashReporterInfo.mm: Turns out that we can't have URLs
in crash reporter information.
- 8:14 PM Changeset in webkit [200505] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION(r200474): Exception in autocompletion -
getCompletionsnot found
https://bugs.webkit.org/show_bug.cgi?id=157408
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-05
Reviewed by Timothy Hatcher.
- UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
(WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.evaluated):
This function was renamed, but this instance was missed.
- 7:40 PM Changeset in webkit [200504] by
-
- 3 edits in trunk/Tools
Improve HTTP test names in WebKitTestRunner's crash report information
https://bugs.webkit.org/show_bug.cgi?id=157389
Reviewed by Alex Christensen.
- WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:
(WTR::InjectedBundlePage::platformDidStartProvisionalLoadForFrame): Added a FIXME.
- WebKitTestRunner/cocoa/CrashReporterInfo.mm:
(WTR::testDescription): Don't bail out if the port is neither 8000 nor 8443; we
use other port numbers too. For http tests, return the complete URL string, not
just the path.
- 7:33 PM Changeset in webkit [200503] by
-
- 17 edits in trunk/Source
Modern IDB (Workers): Get everything to the right threads.
https://bugs.webkit.org/show_bug.cgi?id=157398
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (No current change in behavior, will be tested as bug 149953 is resolved, enabling IDB in workers).
- dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::postCrossThreadTask): Add a helper to post a CrossThreadTask to a context.
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::performCallbackOnCorrectThread): Helper to perform an IDB callback on either the main thread
or Worker thread as necessary.
(WebCore::IDBClient::IDBConnectionProxy::openDatabase):
(WebCore::IDBClient::IDBConnectionProxy::deleteDatabase):
(WebCore::IDBClient::IDBConnectionProxy::completeOpenDBRequest):
(WebCore::IDBClient::IDBConnectionProxy::createObjectStore):
(WebCore::IDBClient::IDBConnectionProxy::deleteObjectStore):
(WebCore::IDBClient::IDBConnectionProxy::clearObjectStore):
(WebCore::IDBClient::IDBConnectionProxy::createIndex):
(WebCore::IDBClient::IDBConnectionProxy::deleteIndex):
(WebCore::IDBClient::IDBConnectionProxy::putOrAdd):
(WebCore::IDBClient::IDBConnectionProxy::getRecord):
(WebCore::IDBClient::IDBConnectionProxy::getCount):
(WebCore::IDBClient::IDBConnectionProxy::deleteRecord):
(WebCore::IDBClient::IDBConnectionProxy::openCursor):
(WebCore::IDBClient::IDBConnectionProxy::iterateCursor):
(WebCore::IDBClient::IDBConnectionProxy::completeOperation):
(WebCore::IDBClient::IDBConnectionProxy::abortOpenAndUpgradeNeeded):
(WebCore::IDBClient::IDBConnectionProxy::fireVersionChangeEvent):
(WebCore::IDBClient::IDBConnectionProxy::didFireVersionChangeEvent):
(WebCore::IDBClient::IDBConnectionProxy::notifyOpenDBRequestBlocked):
(WebCore::IDBClient::IDBConnectionProxy::establishTransaction):
(WebCore::IDBClient::IDBConnectionProxy::didStartTransaction):
(WebCore::IDBClient::IDBConnectionProxy::commitTransaction):
(WebCore::IDBClient::IDBConnectionProxy::didCommitTransaction):
(WebCore::IDBClient::IDBConnectionProxy::abortTransaction):
(WebCore::IDBClient::IDBConnectionProxy::didAbortTransaction):
(WebCore::IDBClient::IDBConnectionProxy::didFinishHandlingVersionChangeTransaction):
(WebCore::IDBClient::IDBConnectionProxy::databaseConnectionClosed):
(WebCore::IDBClient::IDBConnectionProxy::scheduleMainThreadTasks):
(WebCore::IDBClient::IDBConnectionProxy::handleMainThreadTasks):
- Modules/indexeddb/client/IDBConnectionProxy.h:
(WebCore::IDBClient::IDBConnectionProxy::callConnectionOnMainThread): Helper to marshall IDB operations from the
Worker thread to the main thread.
(WebCore::IDBClient::IDBConnectionProxy::postMainThreadTask):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::originThreadID):
- Modules/indexeddb/IDBTransaction.h:
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::putOrAdd):
- Modules/indexeddb/client/IDBConnectionToServer.h:
- Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
- Modules/indexeddb/client/TransactionOperation.cpp:
(WebCore::IDBClient::TransactionOperation::scriptExecutionContext):
- Modules/indexeddb/client/TransactionOperation.h:
- Modules/indexeddb/shared/IDBResourceIdentifier.cpp:
(WebCore::nextClientResourceNumber):
- Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::putOrAdd):
- Modules/indexeddb/shared/InProcessIDBServer.h:
Source/WebKit2:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::putOrAdd):
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
- 7:30 PM Changeset in webkit [200502] by
-
- 10 edits in trunk/Source/JavaScriptCore
[JSC] Get rid of NonNegZeroDouble, it is broken
https://bugs.webkit.org/show_bug.cgi?id=157399
rdar://problem/25339647
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-05-05
Reviewed by Mark Lam.
The profile "NonNegZeroDouble" is fundamentally broken.
It is used by DFG to predict the result of ArithMul as being a Double
or Int32.
The problem is you are likely to mispredict, and when you do, you are
guaranteed to end up in a recompile loop.
The compile loops usually happen like this:
-We speculate you have Int32 despite producing doubles.
-We OSR exit on another node (ValueToInt32 for example) from the result of this ArithMul.
-When we compile this block again, ArithMul will do the same misprediction
because it unconditionally predicts Int32.
The flag NonNegZeroDouble was very unlikely to be set correctly
in the first place.
In LLINT, the flag is only set on the slow path.
Since double*double is on the fast path, those cases are ignored.
In Baseline, the flag is set for any case that falls back on double
multiplication. BUT, the DFG flag was only set for nodes that spend
many iteration in slow path, which obviously does not apply to double*double.
Given the perf drawbacks and the recompile loops, I removed
the whole flag for now.
- bytecode/ValueProfile.cpp:
(WTF::printInternal):
- bytecode/ValueProfile.h:
(JSC::ResultProfile::didObserveNonInt32): Deleted.
(JSC::ResultProfile::didObserveDouble): Deleted.
(JSC::ResultProfile::didObserveNonNegZeroDouble): Deleted.
(JSC::ResultProfile::setObservedNonNegZeroDouble): Deleted.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::makeSafe): Deleted.
- dfg/DFGNode.h:
(JSC::DFG::Node::mayHaveNonIntResult): Deleted.
- dfg/DFGNodeFlags.cpp:
(JSC::DFG::dumpNodeFlags): Deleted.
- dfg/DFGNodeFlags.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- jit/JITMulGenerator.cpp:
(JSC::JITMulGenerator::generateFastPath): Deleted.
- runtime/CommonSlowPaths.cpp:
(JSC::updateResultProfileForBinaryArithOp): Deleted.
- 6:26 PM Changeset in webkit [200501] by
-
- 5 edits in trunk
4 and 8 digit color attributes should use the crazypants algorithm, not the CSS one.
https://bugs.webkit.org/show_bug.cgi?id=157402
<rdar://problem/26131142>
Reviewed by Simon Fraser.
Source/WebCore:
Noel and Tab from Google alerted me to the fact I broke some legacy
HTML color attributes when I added support for 4 and 8 digit hex colors
in CSS. The fix is to favor the "crazy" parsing unless we know it is a 3 or 6
digit hex value (in which case we try the CSS algorithm first).
Covered by reverting an existing test.
- html/HTMLElement.cpp:
(WebCore::HTMLElement::addHTMLColorToStyle):
LayoutTests:
Restore the version that was there before I added support for
4 and 8 digit hex colors in CSS.
- fast/dom/attribute-legacy-colors-expected.txt:
- fast/dom/script-tests/attribute-legacy-colors.js:
- 6:23 PM Changeset in webkit [200500] by
-
- 3 edits in trunk/Source/WebKit2
[GTK] Remove "region based columns" runtime feature remainings
https://bugs.webkit.org/show_bug.cgi?id=157393
The runtime feature was removed in r168978,
and the usage in WebKitSettings.cpp in r168988.
However it was still around in ExperimentalFeatures class.
Reviewed by Michael Catanzaro.
- UIProcess/gtk/ExperimentalFeatures.cpp: Remove runtime feature.
- UIProcess/gtk/ExperimentalFeatures.h: Ditto.
- 6:15 PM Changeset in webkit [200499] by
-
- 9 edits in trunk
REGRESSION(r200422): Web Inspector: Make new Array Iterator objects play nice with Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=157361
<rdar://problem/26099793>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-05
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- builtins/ArrayPrototype.js:
(createArrayIterator):
(values):
(keys):
(entries):
- builtins/TypedArrayPrototype.js:
(values):
(keys):
(entries):
- runtime/CommonIdentifiers.h:
Set the kind on the iterator object, that can be shown
to the inspector if the object is shown in the console.
- inspector/InjectedScriptSource.js:
(InjectedScript.prototype._describe):
Get a better name for the new Array Iterator which is just an Object.
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::subtype):
(Inspector::JSInjectedScriptHost::getInternalProperties):
Detect and handle ArrayIterator object instances. Porting the code
from the JSArrayIterator code path.
LayoutTests:
- platform/mac/inspector/model/remote-object-expected.txt:
- 5:05 PM Changeset in webkit [200498] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
[JSC] In DFG, an OSR Exit on SetLocal can trash its child node
https://bugs.webkit.org/show_bug.cgi?id=157358
rdar://problem/25339647
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-05-05
Reviewed by Filip Pizlo.
When we OSR Exit on SetLocal, the child is never restored if its representation
was changed since the MovHint.
For example, say we have:
@1 = SomethingProducingDouble()
@2 = MovHint(@1)
@3 = ValueRep(@1)
@4 = SetLocal(@3, FlushedInt32)
When we lower SetLocal(), we start by speculating that @3 is an Int32.
Now this can fail if @1 was really a double.
When that happens, we go over the VariableEventStream to find where values
are, and @1 died at @3. Since the speculation failure happens before
the SetLocal event, we don't do anything with @3.
In this patch, I extend the PhantomInsertion phase to keep the MovHint
alive past the SetLocal.
- dfg/DFGPhantomInsertionPhase.cpp:
- tests/stress/multiply-typed-double-and-object.js: Added.
(otherObject.valueOf):
(targetDFG.multiply):
(targetFTL.multiply):
- 4:59 PM Changeset in webkit [200497] by
-
- 4 edits in trunk/Source/WebKit2
[GTK] Add CSS Grid Layout as experimental feature
https://bugs.webkit.org/show_bug.cgi?id=157391
Reviewed by Michael Catanzaro.
Now that we've a runtime feature again for CSS Grid Layout (r200215),
we can recover the old patch (r162215) that allows to enable/disable
CSS Grid Layout through the environment variable
WEBKITGTK_EXPERIMENTAL_FEATURES.
Example: WEBKITGTK_EXPERIMENTAL_FEATURES="CSS_GRID_LAYOUT=1"
- UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsConstructed): Use new experimental feature to enable
or disable CSS Grid Layout.
- UIProcess/gtk/ExperimentalFeatures.cpp: Add new experimental feature.
- UIProcess/gtk/ExperimentalFeatures.h: Ditto.
- 4:59 PM Changeset in webkit [200496] by
-
- 2 edits in trunk/Source/JavaScriptCore
Enable separated heap by default on ios
https://bugs.webkit.org/show_bug.cgi?id=156720
Reviewed by Geoffrey Garen.
We've fixed the xnu side of things, so we can reland this.
- runtime/Options.cpp:
(JSC::recomputeDependentOptions):
- 4:54 PM Changeset in webkit [200495] by
-
- 17 edits in trunk/Source/WebCore
Modern IDB (Workers): Remove the need for IDBConnectionProxy to expose its IDBConnectionToServer.
https://bugs.webkit.org/show_bug.cgi?id=157394
Reviewed by Alex Christensen.
No new tests (No current change in behavior, will be tested as bug 149953 makes progress).
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::transaction):
(WebCore::IDBDatabase::fireVersionChangeEvent):
(WebCore::IDBDatabase::dispatchEvent):
- Modules/indexeddb/IDBDatabase.h:
(WebCore::IDBDatabase::serverConnection): Deleted.
- Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::requestCompleted):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::connectionProxy):
(WebCore::IDBTransaction::serverConnection): Deleted.
- Modules/indexeddb/IDBTransaction.h:
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::abortOpenAndUpgradeNeeded):
(WebCore::IDBClient::IDBConnectionProxy::connectionToServer): Deleted.
- Modules/indexeddb/client/IDBConnectionProxy.h:
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::abortOpenAndUpgradeNeeded):
- Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::TransactionOperation::TransactionOperation):
- Modules/indexeddb/shared/IDBCursorInfo.cpp:
(WebCore::IDBCursorInfo::IDBCursorInfo):
- Modules/indexeddb/shared/IDBRequestData.cpp:
(WebCore::IDBRequestData::IDBRequestData):
- Modules/indexeddb/shared/IDBResourceIdentifier.cpp:
(WebCore::IDBResourceIdentifier::IDBResourceIdentifier):
- Modules/indexeddb/shared/IDBResourceIdentifier.h:
- Modules/indexeddb/shared/IDBTransactionInfo.cpp:
(WebCore::IDBTransactionInfo::clientTransaction):
- Modules/indexeddb/shared/IDBTransactionInfo.h:
- 4:30 PM Changeset in webkit [200494] by
-
- 10 edits2 deletes in trunk
Unreviewed, rolling out r200479.
https://bugs.webkit.org/show_bug.cgi?id=157397
A LayoutTest added with this change is crashing on Mac WK1
test runs. (Requested by ryanhaddad on #webkit).
Reverted changeset:
"For keyboard users, activating a fragment URL should transfer
focus and caret to the destination"
https://bugs.webkit.org/show_bug.cgi?id=116046
http://trac.webkit.org/changeset/200479
- 4:27 PM Changeset in webkit [200493] by
-
- 4 edits4 adds in trunk
CORS check is sometimes incorrectly failing for media loads
https://bugs.webkit.org/show_bug.cgi?id=157370
<rdar://problem/26071607>
Reviewed by Alex Christensen.
Source/WebCore:
When the media library is issuing a conditional request for a media
element that had the 'crossorigin' attribute, we would fail the CORS
check and log an error if the server were to respond with a "304 Not
Modified" response because the 304 response usually does not have
the necessary "Access-Control-Allow-Origin: *" header (At least for
Apache) and we cannot use the cached headers either since WebKit
does not have them.
To work around the problem in the short term, we now drop the
conditional headers from the request that the media library is
giving us when the media element has the 'crossorigin' attribute
set. As a result, the server will never respond with a 304 and we
will be able to do a CORS check on the full (e.g. 206) response.
In the long term, we need to deal with this better as this means
we may sometimes fail to reuse cached data. For now, this is only
potentially inefficient in the cases that were broken (i.e. no
video would play and we would log an error in the console).
Test: http/tests/security/video-cross-origin-caching.html
- loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::requestResource):
Make the request unconditional if the media element has the
'crossorigin' attribute set.
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::isConditional):
(WebCore::ResourceRequestBase::makeUnconditional):
When fixing the bug above, I noticed that those method do not do
the right thing if the m_httpHeaderFields data member has not
been populated yet. m_httpHeaderFields is lazily initialized so
we need to call updateResourceRequest() before using it.
LayoutTests:
Add a regression test for <rdar://problem/26071607>.
- http/tests/media/resources/reference.mov: Added.
- http/tests/security/resources/reference-movie-cross-origin-allow.php: Added.
- http/tests/security/video-cross-origin-caching-expected.txt: Added.
- http/tests/security/video-cross-origin-caching.html: Added.
- 4:25 PM Changeset in webkit [200492] by
-
- 3 edits2 adds in trunk
Stop traversing at the container block when computing RTL inline static distance.
https://bugs.webkit.org/show_bug.cgi?id=157349
<rdar://problem/25994087>
Reviewed by David Hyatt.
When computing the inline static distance for a child renderer, we start at its enclosing box
and traverse up all the way to the container block.
However when the enclosing box is the ancestor of the container block, we
should just bail out right away since there's no container to use to adjust the position.
Source/WebCore:
Test: fast/multicol/positioned-rtl-column-crash.html
- rendering/RenderBox.cpp:
(WebCore::computeInlineStaticDistance):
LayoutTests:
- fast/multicol/positioned-rtl-column-crash-expected.txt: Added.
- fast/multicol/positioned-rtl-column-crash.html: Added.
- 4:22 PM Changeset in webkit [200491] by
-
- 2 edits in trunk/Source/WebCore
Add WebKitAdditions extension points in media controls related code in RenderThemeMac
https://bugs.webkit.org/show_bug.cgi?id=157390
Reviewed by Anders Carlsson.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::mediaControlsStyleSheet):
(WebCore::RenderThemeMac::mediaControlsScript):
- 4:18 PM Changeset in webkit [200490] by
-
- 25 edits in trunk/Source
[WK2] Media controls don't update if controller is created after the interface is created
https://bugs.webkit.org/show_bug.cgi?id=157376
Reviewed by Beth Dakin.
Source/WebCore:
Add getter methods to WebPlaybackSessionModel so that the model's values can be retrieved
if those values were missed before the equivalent WebPlaybackSessionInterface methods were
called. This necessatates a bunch of changes in HTMLMediaElement and related classes to
change PassRefPtr<TimeRanges> types to Ref<TimeRanges> (and one change in TimeRanges itself).
WebPlaybackSessionModelMediaElement can implement these new getter methods by querying the
values from the HTMLMediaElement, something it was doing already, so most of those changes
are simple refactoring.
There's no reason any longer for WebVideoFullscreenModel to inherit from WebPlaybackSessionModel,
so remove that superclass.
In WebPlaybackSessionInterfaceMac, when a new WebPlaybackControlsManager is set, use the new
getter methods on WebPlaybackSessionModel to update the values in the manager.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
(WebCore::HTMLMediaElement::maxBufferedTime):
(WebCore::HTMLMediaElement::played):
(WebCore::HTMLMediaElement::buffered): Deleted.
(WebCore::HTMLMediaElement::seekable): Deleted.
- html/HTMLMediaElement.h:
- html/MediaController.cpp:
(MediaController::buffered):
(MediaController::seekable):
(MediaController::played):
- html/MediaController.h:
- html/MediaControllerInterface.h:
- html/TimeRanges.cpp:
(WebCore::TimeRanges::copy):
- html/TimeRanges.h:
- platform/cocoa/WebPlaybackSessionModel.h:
- platform/cocoa/WebPlaybackSessionModelMediaElement.h:
- platform/cocoa/WebPlaybackSessionModelMediaElement.mm:
(WebPlaybackSessionModelMediaElement::setWebPlaybackSessionInterface):
(WebPlaybackSessionModelMediaElement::updateForEventName):
(WebPlaybackSessionModelMediaElement::updateLegibleOptions):
(WebPlaybackSessionModelMediaElement::observedEventNames):
(WebPlaybackSessionModelMediaElement::eventNameAll):
(WebPlaybackSessionModelMediaElement::duration):
(WebPlaybackSessionModelMediaElement::currentTime):
(WebPlaybackSessionModelMediaElement::bufferedTime):
(WebPlaybackSessionModelMediaElement::isPlaying):
(WebPlaybackSessionModelMediaElement::playbackRate):
(WebPlaybackSessionModelMediaElement::seekableRanges):
(WebPlaybackSessionModelMediaElement::canPlayFastReverse):
(WebPlaybackSessionModelMediaElement::audioMediaSelectionOptions):
(WebPlaybackSessionModelMediaElement::audioMediaSelectedIndex):
(WebPlaybackSessionModelMediaElement::legibleMediaSelectionOptions):
(WebPlaybackSessionModelMediaElement::legibleMediaSelectedIndex):
(WebPlaybackSessionModelMediaElement::externalPlaybackEnabled):
(WebPlaybackSessionModelMediaElement::wirelessVideoPlaybackDisabled):
- platform/cocoa/WebVideoFullscreenModel.h:
- platform/cocoa/WebVideoFullscreenModelVideoElement.h:
- platform/cocoa/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::requestFullscreenMode): Deleted.
(WebVideoFullscreenModelVideoElement::setVideoLayerFrame): Deleted.
(WebVideoFullscreenModelVideoElement::setVideoLayerGravity): Deleted.
(WebVideoFullscreenModelVideoElement::observedEventNames): Deleted.
(WebVideoFullscreenModelVideoElement::eventNameAll): Deleted.
(WebVideoFullscreenModelVideoElement::fullscreenModeChanged): Deleted.
- platform/ios/WebPlaybackSessionInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::play): Deleted.
(WebVideoFullscreenControllerContext::pause): Deleted.
(WebVideoFullscreenControllerContext::togglePlayState): Deleted.
(WebVideoFullscreenControllerContext::beginScrubbing): Deleted.
(WebVideoFullscreenControllerContext::endScrubbing): Deleted.
(WebVideoFullscreenControllerContext::seekToTime): Deleted.
(WebVideoFullscreenControllerContext::fastSeek): Deleted.
(WebVideoFullscreenControllerContext::beginScanningForward): Deleted.
(WebVideoFullscreenControllerContext::beginScanningBackward): Deleted.
(WebVideoFullscreenControllerContext::endScanning): Deleted.
(WebVideoFullscreenControllerContext::selectAudioMediaOption): Deleted.
(WebVideoFullscreenControllerContext::selectLegibleMediaOption): Deleted.
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen):
(WebVideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason):
- platform/mac/WebPlaybackSessionInterfaceMac.mm:
(WebCore::timeRangesToArray):
(WebCore::WebPlaybackSessionInterfaceMac::setSeekableRanges):
(WebCore::WebPlaybackSessionInterfaceMac::setPlayBackControlsManager):
- platform/mac/WebVideoFullscreenInterfaceMac.h:
Source/WebKit2:
Implement the new getter methods on WebPlaybackSessionModelContext by caching the values
passed through WebPlaybackSessionManagerProxy.
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:
(WebKit::WebPlaybackSessionManagerProxy::setCurrentTime):
(WebKit::WebPlaybackSessionManagerProxy::setBufferedTime):
(WebKit::WebPlaybackSessionManagerProxy::setSeekableRangesVector):
(WebKit::WebPlaybackSessionManagerProxy::setCanPlayFastReverse):
(WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionOptions):
(WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionOptions):
(WebKit::WebPlaybackSessionManagerProxy::setExternalPlaybackProperties):
(WebKit::WebPlaybackSessionManagerProxy::setWirelessVideoPlaybackDisabled):
(WebKit::WebPlaybackSessionManagerProxy::setDuration):
(WebKit::WebPlaybackSessionManagerProxy::setRate):
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenModelContext::requestFullscreenMode): Deleted.
(WebKit::WebVideoFullscreenModelContext::setVideoLayerFrame): Deleted.
(WebKit::WebVideoFullscreenModelContext::setVideoLayerGravity): Deleted.
(WebKit::WebVideoFullscreenModelContext::fullscreenModeChanged): Deleted.
(WebKit::WebVideoFullscreenModelContext::isVisible): Deleted.
(WebKit::WebVideoFullscreenModelContext::didSetupFullscreen): Deleted.
(WebKit::WebVideoFullscreenModelContext::didEnterFullscreen): Deleted.
(WebKit::WebVideoFullscreenModelContext::didExitFullscreen): Deleted.
(WebKit::WebVideoFullscreenModelContext::didCleanupFullscreen): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy): Deleted.
- 4:11 PM Changeset in webkit [200489] by
-
- 7 edits in trunk/Source/WebCore
Modern IDB (Workers): Move TransactionOperation management from IDBConnectionToServer to IDBConnectionProxy.
https://bugs.webkit.org/show_bug.cgi?id=157392
Reviewed by Alex Christensen.
No new tests (No current change in behavior, will be tested as bug 149953 makes progress).
Set up TransactionOperations on the IDBConnectionProxy instead of the IDBConnectionToServer:
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::createObjectStoreOnServer):
(WebCore::IDBTransaction::createIndexOnServer):
(WebCore::IDBTransaction::openCursorOnServer):
(WebCore::IDBTransaction::iterateCursorOnServer):
(WebCore::IDBTransaction::getRecordOnServer):
(WebCore::IDBTransaction::getCountOnServer):
(WebCore::IDBTransaction::deleteRecordOnServer):
(WebCore::IDBTransaction::clearObjectStoreOnServer):
(WebCore::IDBTransaction::putOrAddOnServer):
(WebCore::IDBTransaction::deleteObjectStoreOnServer):
(WebCore::IDBTransaction::deleteIndexOnServer):
IDBConnectionProxy is now the owner of dispatched TransactionOperations:
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::createObjectStore):
(WebCore::IDBClient::IDBConnectionProxy::deleteObjectStore):
(WebCore::IDBClient::IDBConnectionProxy::clearObjectStore):
(WebCore::IDBClient::IDBConnectionProxy::createIndex):
(WebCore::IDBClient::IDBConnectionProxy::deleteIndex):
(WebCore::IDBClient::IDBConnectionProxy::putOrAdd):
(WebCore::IDBClient::IDBConnectionProxy::getRecord):
(WebCore::IDBClient::IDBConnectionProxy::getCount):
(WebCore::IDBClient::IDBConnectionProxy::deleteRecord):
(WebCore::IDBClient::IDBConnectionProxy::openCursor):
(WebCore::IDBClient::IDBConnectionProxy::iterateCursor):
(WebCore::IDBClient::IDBConnectionProxy::saveOperation):
(WebCore::IDBClient::IDBConnectionProxy::completeOperation):
- Modules/indexeddb/client/IDBConnectionProxy.h:
Proxy this in-and-out calls to the ConnectionProxy:
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::createObjectStore):
(WebCore::IDBClient::IDBConnectionToServer::didCreateObjectStore):
(WebCore::IDBClient::IDBConnectionToServer::deleteObjectStore):
(WebCore::IDBClient::IDBConnectionToServer::didDeleteObjectStore):
(WebCore::IDBClient::IDBConnectionToServer::clearObjectStore):
(WebCore::IDBClient::IDBConnectionToServer::didClearObjectStore):
(WebCore::IDBClient::IDBConnectionToServer::createIndex):
(WebCore::IDBClient::IDBConnectionToServer::didCreateIndex):
(WebCore::IDBClient::IDBConnectionToServer::deleteIndex):
(WebCore::IDBClient::IDBConnectionToServer::didDeleteIndex):
(WebCore::IDBClient::IDBConnectionToServer::putOrAdd):
(WebCore::IDBClient::IDBConnectionToServer::didPutOrAdd):
(WebCore::IDBClient::IDBConnectionToServer::getRecord):
(WebCore::IDBClient::IDBConnectionToServer::didGetRecord):
(WebCore::IDBClient::IDBConnectionToServer::getCount):
(WebCore::IDBClient::IDBConnectionToServer::didGetCount):
(WebCore::IDBClient::IDBConnectionToServer::deleteRecord):
(WebCore::IDBClient::IDBConnectionToServer::didDeleteRecord):
(WebCore::IDBClient::IDBConnectionToServer::openCursor):
(WebCore::IDBClient::IDBConnectionToServer::didOpenCursor):
(WebCore::IDBClient::IDBConnectionToServer::iterateCursor):
(WebCore::IDBClient::IDBConnectionToServer::didIterateCursor):
(WebCore::IDBClient::IDBConnectionToServer::saveOperation): Deleted.
(WebCore::IDBClient::IDBConnectionToServer::completeOperation): Deleted.
- Modules/indexeddb/client/IDBConnectionToServer.h:
- Give TransactionOperation a ThreadIdentifier member
- Privatize most public methods from TransactionOperation
- Make IDBRequestData a friend so it can get at the private methods
- Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::TransactionOperation::~TransactionOperation):
(WebCore::IDBClient::TransactionOperation::perform):
(WebCore::IDBClient::TransactionOperation::completed):
(WebCore::IDBClient::TransactionOperation::originThreadID):
(WebCore::IDBClient::TransactionOperation::transactionIdentifier):
(WebCore::IDBClient::TransactionOperation::objectStoreIdentifier):
(WebCore::IDBClient::TransactionOperation::indexIdentifier):
(WebCore::IDBClient::TransactionOperation::cursorIdentifier):
(WebCore::IDBClient::TransactionOperation::transaction):
(WebCore::IDBClient::TransactionOperation::indexRecordType):
- 4:05 PM Changeset in webkit [200488] by
-
- 3 edits in trunk/LayoutTests
Unskip 9 compositing tests on ios-simulator, mark 2 as failures on ios-simulator-wk1
Unreviewed test gardening.
- platform/ios-simulator-wk1/TestExpectations:
- platform/ios-simulator/TestExpectations:
- 3:27 PM Changeset in webkit [200487] by
-
- 4 edits in trunk/LayoutTests
TestExpectations gardening for ios-simulator
Unreviewed test gardening.
Remove failure expectation for passing tests, move some to more specific ports, and remove expectations
for tests that are no longer in the tree.
- platform/ios-simulator-wk1/TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations:
- 3:16 PM Changeset in webkit [200486] by
-
- 6 edits2 adds in trunk
Do not attempt to compute min/max width.
https://bugs.webkit.org/show_bug.cgi?id=157320
Reviewed by David Hyatt.
Replaced elements with no intrinsic size (only with ratio) should not call the containing
block to compute the min/max width when the containing block's min/max width
depends on the children's intrinsic size. It could lead to infinite recursion.
Source/WebCore:
Test: fast/replaced/before-content-intrinsic-crash.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth): Unrelated code change.
- rendering/RenderImage.cpp: Unrelated code change.
(WebCore::RenderImage::RenderImage): Deleted.
- rendering/RenderImage.h:
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
LayoutTests:
- fast/replaced/before-content-intrinsic-crash-expected.txt: Added.
- fast/replaced/before-content-intrinsic-crash.html: Added.
- 3:14 PM Changeset in webkit [200485] by
-
- 14 edits in trunk/Source/WebCore
Modern IDB: Move all IDB DOM object management from IDBConnectionToServer to IDBConnectionProxy.
https://bugs.webkit.org/show_bug.cgi?id=157348
Reviewed by Alex Christensen.
No new tests (Refactor, no change in behavior yet).
This is in-progress IDB-in-Workers code that is isolated enough to land right now.
The goal is to have IDBConnectionToServer be a main-thread-only object, leaving IDBConnectionProxy
as the threading bridge between the worker thread and the main thread.
As such, IDBConnectionToServer no longer maintains maps of IDB DOM objects, but instead the proxy
does and guards that access with locks.
No threading changes takes place in this patch but it does scatter some isMainThread() checks and FIXMEs
accurately representing where threading changes will take place once I can return to this.
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::IDBDatabase):
(WebCore::IDBDatabase::~IDBDatabase):
(WebCore::IDBDatabase::maybeCloseInServer):
- Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::dispatchEvent):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::abortOnServerAndCancelRequests):
(WebCore::IDBTransaction::commitOnServer):
(WebCore::IDBTransaction::establishOnServer):
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::openDatabase):
(WebCore::IDBClient::IDBConnectionProxy::deleteDatabase):
(WebCore::IDBClient::IDBConnectionProxy::didOpenDatabase):
(WebCore::IDBClient::IDBConnectionProxy::didDeleteDatabase):
(WebCore::IDBClient::IDBConnectionProxy::completeOpenDBRequest):
(WebCore::IDBClient::IDBConnectionProxy::fireVersionChangeEvent):
(WebCore::IDBClient::IDBConnectionProxy::didFireVersionChangeEvent):
(WebCore::IDBClient::IDBConnectionProxy::notifyOpenDBRequestBlocked):
(WebCore::IDBClient::IDBConnectionProxy::establishTransaction):
(WebCore::IDBClient::IDBConnectionProxy::didStartTransaction):
(WebCore::IDBClient::IDBConnectionProxy::commitTransaction):
(WebCore::IDBClient::IDBConnectionProxy::didCommitTransaction):
(WebCore::IDBClient::IDBConnectionProxy::abortTransaction):
(WebCore::IDBClient::IDBConnectionProxy::didAbortTransaction):
(WebCore::IDBClient::IDBConnectionProxy::hasRecordOfTransaction):
(WebCore::IDBClient::IDBConnectionProxy::didFinishHandlingVersionChangeTransaction):
(WebCore::IDBClient::IDBConnectionProxy::databaseConnectionClosed):
(WebCore::IDBClient::IDBConnectionProxy::registerDatabaseConnection):
(WebCore::IDBClient::IDBConnectionProxy::unregisterDatabaseConnection):
- Modules/indexeddb/client/IDBConnectionProxy.h:
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::deleteDatabase):
(WebCore::IDBClient::IDBConnectionToServer::didDeleteDatabase):
(WebCore::IDBClient::IDBConnectionToServer::openDatabase):
(WebCore::IDBClient::IDBConnectionToServer::didOpenDatabase):
(WebCore::IDBClient::IDBConnectionToServer::establishTransaction):
(WebCore::IDBClient::IDBConnectionToServer::commitTransaction):
(WebCore::IDBClient::IDBConnectionToServer::didCommitTransaction):
(WebCore::IDBClient::IDBConnectionToServer::didFinishHandlingVersionChangeTransaction):
(WebCore::IDBClient::IDBConnectionToServer::abortTransaction):
(WebCore::IDBClient::IDBConnectionToServer::didAbortTransaction):
(WebCore::IDBClient::IDBConnectionToServer::fireVersionChangeEvent):
(WebCore::IDBClient::IDBConnectionToServer::didFireVersionChangeEvent):
(WebCore::IDBClient::IDBConnectionToServer::didStartTransaction):
(WebCore::IDBClient::IDBConnectionToServer::notifyOpenDBRequestBlocked):
(WebCore::IDBClient::IDBConnectionToServer::databaseConnectionClosed):
(WebCore::IDBClient::IDBConnectionToServer::registerDatabaseConnection): Deleted.
(WebCore::IDBClient::IDBConnectionToServer::unregisterDatabaseConnection): Deleted.
(WebCore::IDBClient::IDBConnectionToServer::hasRecordOfTransaction): Deleted.
- Modules/indexeddb/client/IDBConnectionToServer.h:
- Modules/indexeddb/shared/IDBRequestData.cpp:
(WebCore::IDBRequestData::IDBRequestData):
- Modules/indexeddb/shared/IDBRequestData.h:
- Modules/indexeddb/shared/IDBResourceIdentifier.cpp:
(WebCore::IDBResourceIdentifier::IDBResourceIdentifier):
- Modules/indexeddb/shared/IDBResourceIdentifier.h:
- 3:14 PM Changeset in webkit [200484] by
-
- 5 edits in trunk/Source/WebCore
Modern IDB: Add isolatedCopy to a few more objects.
https://bugs.webkit.org/show_bug.cgi?id=157330
Reviewed by Alex Christensen.
No new tests (No current change in behavior, will be tested as bug 149953 makes progress).
- Modules/indexeddb/shared/IDBRequestData.cpp:
(WebCore::IDBRequestData::IDBRequestData):
(WebCore::IDBRequestData::isolatedCopy):
- Modules/indexeddb/shared/IDBRequestData.h:
- Modules/indexeddb/shared/IDBResultData.cpp:
(WebCore::IDBResultData::IDBResultData):
(WebCore::IDBResultData::isolatedCopy):
- Modules/indexeddb/shared/IDBResultData.h:
- 3:13 PM Changeset in webkit [200483] by
-
- 10 edits in trunk/Source/WebCore
Modern IDB: Add thread identifiers and assertions to IDB DOM objects.
https://bugs.webkit.org/show_bug.cgi?id=157329
Reviewed by Alex Christensen.
No new tests (No current change in behavior, will be tested as bug 149953 makes progress).
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::IDBCursor):
(WebCore::IDBCursor::~IDBCursor):
(WebCore::IDBCursor::sourcesDeleted):
(WebCore::IDBCursor::transaction):
(WebCore::IDBCursor::direction):
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::advance):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::uncheckedIterateCursor):
(WebCore::IDBCursor::deleteFunction):
(WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::~IDBDatabase):
(WebCore::IDBDatabase::hasPendingActivity):
(WebCore::IDBDatabase::name):
(WebCore::IDBDatabase::version):
(WebCore::IDBDatabase::objectStoreNames):
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::transaction):
(WebCore::IDBDatabase::deleteObjectStore):
(WebCore::IDBDatabase::close):
(WebCore::IDBDatabase::maybeCloseInServer):
(WebCore::IDBDatabase::activeDOMObjectName):
(WebCore::IDBDatabase::canSuspendForDocumentSuspension):
(WebCore::IDBDatabase::stop):
(WebCore::IDBDatabase::startVersionChangeTransaction):
(WebCore::IDBDatabase::didStartTransaction):
(WebCore::IDBDatabase::willCommitTransaction):
(WebCore::IDBDatabase::didCommitTransaction):
(WebCore::IDBDatabase::willAbortTransaction):
(WebCore::IDBDatabase::didAbortTransaction):
(WebCore::IDBDatabase::didCommitOrAbortTransaction):
(WebCore::IDBDatabase::fireVersionChangeEvent):
(WebCore::IDBDatabase::dispatchEvent):
(WebCore::IDBDatabase::didCreateIndexInfo):
(WebCore::IDBDatabase::didDeleteIndexInfo):
- Modules/indexeddb/IDBDatabase.h:
(WebCore::IDBDatabase::originThreadID):
- Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::IDBIndex):
(WebCore::IDBIndex::~IDBIndex):
(WebCore::IDBIndex::name):
(WebCore::IDBIndex::objectStore):
(WebCore::IDBIndex::keyPath):
(WebCore::IDBIndex::unique):
(WebCore::IDBIndex::multiEntry):
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::doCount):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::doGet):
(WebCore::IDBIndex::doGetKey):
(WebCore::IDBIndex::markAsDeleted):
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::IDBObjectStore):
(WebCore::IDBObjectStore::~IDBObjectStore):
(WebCore::IDBObjectStore::name):
(WebCore::IDBObjectStore::keyPath):
(WebCore::IDBObjectStore::indexNames):
(WebCore::IDBObjectStore::transaction):
(WebCore::IDBObjectStore::autoIncrement):
(WebCore::IDBObjectStore::openCursor):
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::putOrAdd):
(WebCore::IDBObjectStore::doDelete):
(WebCore::IDBObjectStore::clear):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::deleteIndex):
(WebCore::IDBObjectStore::doCount):
(WebCore::IDBObjectStore::markAsDeleted):
(WebCore::IDBObjectStore::rollbackInfoForVersionChangeAbort):
- Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::~IDBOpenDBRequest):
(WebCore::IDBOpenDBRequest::onError):
(WebCore::IDBOpenDBRequest::versionChangeTransactionDidFinish):
(WebCore::IDBOpenDBRequest::fireSuccessAfterVersionChangeCommit):
(WebCore::IDBOpenDBRequest::fireErrorAfterVersionChangeCompletion):
(WebCore::IDBOpenDBRequest::dispatchEvent):
(WebCore::IDBOpenDBRequest::onSuccess):
(WebCore::IDBOpenDBRequest::onUpgradeNeeded):
(WebCore::IDBOpenDBRequest::onDeleteDatabaseSuccess):
(WebCore::IDBOpenDBRequest::requestCompleted):
(WebCore::IDBOpenDBRequest::requestBlocked):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::~IDBRequest):
(WebCore::IDBRequest::errorCode):
(WebCore::IDBRequest::error):
(WebCore::IDBRequest::setSource):
(WebCore::IDBRequest::setVersionChangeTransaction):
(WebCore::IDBRequest::transaction):
(WebCore::IDBRequest::readyState):
(WebCore::IDBRequest::sourceObjectStoreIdentifier):
(WebCore::IDBRequest::sourceIndexIdentifier):
(WebCore::IDBRequest::requestedIndexRecordType):
(WebCore::IDBRequest::eventTargetInterface):
(WebCore::IDBRequest::activeDOMObjectName):
(WebCore::IDBRequest::canSuspendForDocumentSuspension):
(WebCore::IDBRequest::hasPendingActivity):
(WebCore::IDBRequest::stop):
(WebCore::IDBRequest::enqueueEvent):
(WebCore::IDBRequest::dispatchEvent):
(WebCore::IDBRequest::uncaughtExceptionInEventHandler):
(WebCore::IDBRequest::setResult):
(WebCore::IDBRequest::setResultToStructuredClone):
(WebCore::IDBRequest::clearResult):
(WebCore::IDBRequest::setResultToUndefined):
(WebCore::IDBRequest::resultCursor):
(WebCore::IDBRequest::willIterateCursor):
(WebCore::IDBRequest::didOpenOrIterateCursor):
(WebCore::IDBRequest::requestCompleted):
(WebCore::IDBRequest::onError):
(WebCore::IDBRequest::onSuccess):
- Modules/indexeddb/IDBRequest.h:
(WebCore::IDBRequest::originThreadID):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::~IDBTransaction):
(WebCore::IDBTransaction::mode):
(WebCore::IDBTransaction::db):
(WebCore::IDBTransaction::serverConnection):
(WebCore::IDBTransaction::error):
(WebCore::IDBTransaction::objectStore):
(WebCore::IDBTransaction::abortDueToFailedRequest):
(WebCore::IDBTransaction::transitionedToFinishing):
(WebCore::IDBTransaction::abort):
(WebCore::IDBTransaction::abortOnServerAndCancelRequests):
(WebCore::IDBTransaction::activeDOMObjectName):
(WebCore::IDBTransaction::canSuspendForDocumentSuspension):
(WebCore::IDBTransaction::hasPendingActivity):
(WebCore::IDBTransaction::stop):
(WebCore::IDBTransaction::isActive):
(WebCore::IDBTransaction::isFinishedOrFinishing):
(WebCore::IDBTransaction::addRequest):
(WebCore::IDBTransaction::removeRequest):
(WebCore::IDBTransaction::scheduleOperation):
(WebCore::IDBTransaction::scheduleOperationTimer):
(WebCore::IDBTransaction::operationTimerFired):
(WebCore::IDBTransaction::commit):
(WebCore::IDBTransaction::commitOnServer):
(WebCore::IDBTransaction::finishAbortOrCommit):
(WebCore::IDBTransaction::didStart):
(WebCore::IDBTransaction::notifyDidAbort):
(WebCore::IDBTransaction::didAbort):
(WebCore::IDBTransaction::didCommit):
(WebCore::IDBTransaction::fireOnComplete):
(WebCore::IDBTransaction::fireOnAbort):
(WebCore::IDBTransaction::enqueueEvent):
(WebCore::IDBTransaction::dispatchEvent):
(WebCore::IDBTransaction::createObjectStore):
(WebCore::IDBTransaction::createObjectStoreOnServer):
(WebCore::IDBTransaction::didCreateObjectStoreOnServer):
(WebCore::IDBTransaction::createIndex):
(WebCore::IDBTransaction::createIndexOnServer):
(WebCore::IDBTransaction::didCreateIndexOnServer):
(WebCore::IDBTransaction::requestOpenCursor):
(WebCore::IDBTransaction::doRequestOpenCursor):
(WebCore::IDBTransaction::openCursorOnServer):
(WebCore::IDBTransaction::didOpenCursorOnServer):
(WebCore::IDBTransaction::iterateCursor):
(WebCore::IDBTransaction::iterateCursorOnServer):
(WebCore::IDBTransaction::didIterateCursorOnServer):
(WebCore::IDBTransaction::requestGetRecord):
(WebCore::IDBTransaction::requestGetValue):
(WebCore::IDBTransaction::requestGetKey):
(WebCore::IDBTransaction::requestIndexRecord):
(WebCore::IDBTransaction::getRecordOnServer):
(WebCore::IDBTransaction::didGetRecordOnServer):
(WebCore::IDBTransaction::requestCount):
(WebCore::IDBTransaction::getCountOnServer):
(WebCore::IDBTransaction::didGetCountOnServer):
(WebCore::IDBTransaction::requestDeleteRecord):
(WebCore::IDBTransaction::deleteRecordOnServer):
(WebCore::IDBTransaction::didDeleteRecordOnServer):
(WebCore::IDBTransaction::requestClearObjectStore):
(WebCore::IDBTransaction::clearObjectStoreOnServer):
(WebCore::IDBTransaction::didClearObjectStoreOnServer):
(WebCore::IDBTransaction::requestPutOrAdd):
(WebCore::IDBTransaction::putOrAddOnServer):
(WebCore::IDBTransaction::didPutOrAddOnServer):
(WebCore::IDBTransaction::deleteObjectStore):
(WebCore::IDBTransaction::deleteObjectStoreOnServer):
(WebCore::IDBTransaction::didDeleteObjectStoreOnServer):
(WebCore::IDBTransaction::deleteIndex):
(WebCore::IDBTransaction::deleteIndexOnServer):
(WebCore::IDBTransaction::didDeleteIndexOnServer):
(WebCore::IDBTransaction::operationDidComplete):
(WebCore::IDBTransaction::establishOnServer):
(WebCore::IDBTransaction::activate):
(WebCore::IDBTransaction::deactivate):
- 3:11 PM Changeset in webkit [200482] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSContext Inspector: Better CommandLineAPI in JSContext inspection
https://bugs.webkit.org/show_bug.cgi?id=157387
<rdar://problem/22630583>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-05
Reviewed by Timothy Hatcher.
- inspector/InjectedScriptSource.js:
(InjectedScript.prototype._evaluateOn):
(BasicCommandLineAPI.inScopeVariables):
(BasicCommandLineAPI):
When creating a BasicCommandLineAPI, pass the call frame so
that we don't shadow variables in the callstack.
(BasicCommandLineAPI.methods):
(clear):
(table):
(profile):
(profileEnd):
(keys):
(values):
Some just pass through to console, others are tiny methods.
Implement them, and give them the expected toString string.
- 2:58 PM Changeset in webkit [200481] by
-
- 2 edits in trunk/Source/JavaScriptCore
Reduce maximum JIT pool size on X86_64.
Rubber stamped by Geoffrey Garen.
This changes our maximum pool size to 100MB. The problem with letting a page allocate much
more than this is that we will sometimes call deleteAllCode() or one of its friends. Deleting
a huge amount of memory is expensive in our allocator.
So long as we allow for such large-scale code death to happen, and so long as it's expensive,
we should bound the amount of code we end up with in the first place.
In the long run, we should fix our executable allocator so that it's not so expensive to kill
all code.
- jit/ExecutableAllocator.h:
- 2:53 PM Changeset in webkit [200480] by
-
- 2 edits in trunk/Source/JavaScriptCore
Reduce thresholds that control the maximum IC stub size.
Rubber stamped by Chris Dumez and Benjamin Poulain.
This reduces the thresholds to before the megamorphic load optimizations to see if that
recovers a PLT regression.
- runtime/Options.h:
- 2:38 PM Changeset in webkit [200479] by
-
- 10 edits2 adds in trunk
For keyboard users, activating a fragment URL should transfer focus and caret to the destination
https://bugs.webkit.org/show_bug.cgi?id=116046
Reviewed by Ryosuke Niwa.
Source/WebCore:
Added a sequential focus navigation starting node to document. When TAB or SHIFT-TAB is pressed
and there is no focused element, we start searching for next focus candidates at the sequential
focus navigation node.
Test: fast/events/sequential-focus-navigation-starting-point.html
- dom/Document.cpp:
(WebCore::Document::removedLastRef):
(WebCore::Document::destroyRenderTree):
(WebCore::Document::removeFocusedNodeOfSubtree):
(WebCore::Document::hoveredElementDidDetach):
(WebCore::Document::setFocusedElement):
(WebCore::isNodeFrameOrDocument):
(WebCore::Document::setFocusNavigationStartingNode):
(WebCore::Document::focusNavigationStartingNode):
(WebCore::Document::setCSSTarget):
(WebCore::Document::nodeChildrenWillBeRemoved):
(WebCore::Document::nodeWillBeRemoved):
(WebCore::fallbackFocusNavigationStartingNodeAfterRemoval):
(WebCore::Document::updateFocusNavigationStartingNodeWithNodeRemoval):
(WebCore::Document::textInserted):
- dom/Document.h:
(WebCore::Document::userActionElements):
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
- page/FocusController.cpp:
(WebCore::FocusController::advanceFocusInDocumentOrder):
- page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
LayoutTests:
Updated fast/dom/fragment-activation-focuses-target.html, now that navigating to a unfocusable
fragment will unset the focused element.
- fast/dom/fragment-activation-focuses-target-expected.txt:
- fast/dom/fragment-activation-focuses-target.html:
- fast/events/sequential-focus-navigation-starting-point-expected.txt: Added.
- fast/events/sequential-focus-navigation-starting-point.html: Added.
- platform/ios-simulator/TestExpectations:
- 2:31 PM Changeset in webkit [200478] by
-
- 2 edits in trunk/Source/WebCore
Another iOS debug build fix after r200464.
- dom/EventContext.h:
(WebCore::EventContext::isUnreachableNode):
- 2:16 PM Changeset in webkit [200477] by
-
- 2 edits in trunk/Source/WebCore
iOS debug build fix after r200464.
- dom/EventContext.cpp:
(WebCore::TouchEventContext::checkReachability):
- 2:00 PM Changeset in webkit [200476] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Provide go-to links next to Functions in GC Root Path popover
https://bugs.webkit.org/show_bug.cgi?id=157381
<rdar://problem/26122531>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-05
Reviewed by Timothy Hatcher.
- UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendPathRow):
For functions, create a go-to-link. Insert a placeholder to replace
so that the popover sizes itself with a potential go-to arrow, as
it won't resize when the go-to arrows get inserted.
- UserInterface/Views/HeapSnapshotInstancesContentView.css:
(.heap-snapshot-instance-popover-content .node .go-to-link):
Move down 1px to align better with the text.
- 1:40 PM Changeset in webkit [200475] by
-
- 16 edits in tags/Safari-602.1.31/Source
Merged r200470. rdar://problem/26116763
- 1:34 PM Changeset in webkit [200474] by
-
- 9 edits2 moves2 adds in trunk/Source/WebInspectorUI
Web Inspector: HeapSnapshot should exploratory Object Graph view
https://bugs.webkit.org/show_bug.cgi?id=157371
<rdar://problem/26107304>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-05
Reviewed by Timothy Hatcher.
HeapSnapshots now have two ContentViews for viewing the graph.
HeapSnapshotInstancesContentView:
- top level are Class Categories nodes
- categories expand to Instances
- instances expand to show what they retain
- retained sizes only shown for dominated nodes of the instance
HeapSnapshotObjectGraphContentView:
- top level are GlobalObject or Window nodes
- expand to show what they retain
- retained sizes are shown for all nodes, everything is shown
This also provides a custom preview for Window instances. Instead of
showing an ObjectPreview, it just shows thewindow.location.href
for that instance, which is useful when there are multiple Window
instances for different frames.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Main.html:
New "Object Graph" string and new files.
- UserInterface/Images/HeapSnapshotObjectGraph.svg: Added.
- UserInterface/Images/gtk/HeapSnapshotObjectGraph.svg: Added.
- UserInterface/Views/PathComponentIcons.css:
(.heap-snapshot-object-graph-icon .icon):
Copy the red [{}] icon from Style Rules.
- UserInterface/Views/HeapSnapshotClusterContentView.js:
(WebInspector.HeapSnapshotClusterContentView):
(WebInspector.HeapSnapshotClusterContentView.prototype.get objectGraphContentView):
(WebInspector.HeapSnapshotClusterContentView.prototype.showObjectGraph):
(WebInspector.HeapSnapshotClusterContentView.prototype._supportsObjectGraph):
(WebInspector.HeapSnapshotClusterContentView.prototype._pathComponentForContentView):
(WebInspector.HeapSnapshotClusterContentView.prototype._identifierForContentView):
(WebInspector.HeapSnapshotClusterContentView.prototype._showContentViewForIdentifier):
Include an "Object Graph" content view. This is unavailable in Diff views
but is available for individual HeapSnapshots.
- UserInterface/Views/HeapSnapshotContentView.js: Renamed from Source/WebInspectorUI/UserInterface/Views/HeapSnapshotInstancesContentView.js.
(WebInspector.HeapSnapshotContentView):
(WebInspector.HeapSnapshotContentView.prototype.shown):
(WebInspector.HeapSnapshotContentView.prototype.hidden):
(WebInspector.HeapSnapshotContentView.prototype._sortDataGrid):
(WebInspector.HeapSnapshotContentView.prototype._heapSnapshotDataGridTreeDidPopulate):
(WebInspector.HeapSnapshotInstancesContentView):
(WebInspector.HeapSnapshotObjectGraphContentView):
Share and generalize a HeapSnapshot ContentView. The only differences are
the DataGrid columns, DataGridTree class, and identifier prefix for settings.
- UserInterface/Views/HeapSnapshotDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/Views/HeapSnapshotInstancesDataGridTree.js.
(WebInspector.HeapSnapshotDataGridTree):
(WebInspector.HeapSnapshotDataGridTree.buildSortComparator):
(WebInspector.HeapSnapshotDataGridTree.prototype.get heapSnapshot):
(WebInspector.HeapSnapshotDataGridTree.prototype.get visible):
(WebInspector.HeapSnapshotDataGridTree.prototype.get popover):
(WebInspector.HeapSnapshotDataGridTree.prototype.get popoverNode):
(WebInspector.HeapSnapshotDataGridTree.prototype.set popoverNode):
(WebInspector.HeapSnapshotDataGridTree.prototype.get children):
(WebInspector.HeapSnapshotDataGridTree.prototype.appendChild):
(WebInspector.HeapSnapshotDataGridTree.prototype.insertChild):
(WebInspector.HeapSnapshotDataGridTree.prototype.removeChildren):
(WebInspector.HeapSnapshotDataGridTree.prototype.set sortComparator):
(WebInspector.HeapSnapshotDataGridTree.prototype.sort):
(WebInspector.HeapSnapshotDataGridTree.prototype.shown):
(WebInspector.HeapSnapshotDataGridTree.prototype.hidden):
(WebInspector.HeapSnapshotDataGridTree.prototype.willDismissPopover):
(WebInspector.HeapSnapshotDataGridTree.prototype.get alwaysShowRetainedSize):
(WebInspector.HeapSnapshotDataGridTree.prototype.populateTopLevel):
(WebInspector.HeapSnapshotDataGridTree.prototype.didPopulate):
(WebInspector.HeapSnapshotInstancesDataGridTree.prototype.get alwaysShowRetainedSize):
(WebInspector.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel):
(WebInspector.HeapSnapshotInstancesDataGridTree):
(WebInspector.HeapSnapshotObjectGraphDataGridTree.prototype.get alwaysShowRetainedSize):
(WebInspector.HeapSnapshotObjectGraphDataGridTree.prototype.populateTopLevel):
(WebInspector.HeapSnapshotObjectGraphDataGridTree):
- UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent):
Start using different previews based on instance type.
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populateError):
Common preview error logic. Also, don't output "Internal object" next to things
like Structure, InferredType, etc. Just don't output anything. Eventually, if
we provide preview data, something will show, but for now nothing is fine.
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populateWindowPreview.inspectedPage_window_getLocationHref):
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populateWindowPreview):
Custom preview logic for Window's getswindow.location.hrefon the instance if it is alive.
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populatePreview):
Normal preview logic.
- UserInterface/Views/HeapSnapshotInstancesContentView.css:
(.heap-snapshot > .data-grid tr:not(.selected) td .preview-error): Deleted.
The red text for errors was standing out too much. Make it the default black.
- UserInterface/Views/HeapAllocationsTimelineView.js:
(WebInspector.HeapAllocationsTimelineView.prototype.showHeapSnapshotTimelineRecord):
Better variable name.
- UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
(WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.inspectedPage_evalResult_getArrayCompletions):
(WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.inspectedPage_evalResult_getCompletions):
(WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.getArrayCompletions): Deleted.
(WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.getCompletions): Deleted.
(WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.evaluated):
Try to be clearer about functions that run on the inspected page
by using the pattern with inspectedPage_<thisObject>_functionName.
- 1:27 PM Changeset in webkit [200473] by
-
- 4 edits in trunk/Source/WebKit2
Shadow DOM should not be experimental
https://bugs.webkit.org/show_bug.cgi?id=157384
<rdar://problem/26123254>
Reviewed by Anders Carlsson.
Shadow DOM is not an experimental feature. We want
it enabled by default.
This fixes the timeout in:
WebKit2.InjectedBundleMakeAllShadowRootOpenTest
- Shared/WebPreferencesDefinitions.h: Move the Shadow
DOM preference out of Experimental.
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- 1:20 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 1:14 PM Changeset in webkit [200472] by
-
- 2 edits in trunk/LayoutTests
[GTK] Unreviewed gardening.
- platform/gtk/TestExpectations: Add more HiDPI tests failing.
- 1:12 PM Changeset in webkit [200471] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Console is unresponsive for >10 seconds when it tries to render 10,000 messages
https://bugs.webkit.org/show_bug.cgi?id=157368
<rdar://problem/26103657>
Reviewed by Timothy Hatcher.
Render only up to 100 messages per animation frame to keep the Inspector's UI responsive.
- UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController.prototype.renderPendingMessages):
- 1:01 PM Changeset in webkit [200470] by
-
- 16 edits in trunk/Source
Revert r200390, thus putting r199259 and r200161 and back.
Source/WebCore:
- loader/HistoryController.cpp:
(WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
- page/FrameView.cpp:
(WebCore::FrameView::adjustTiledBackingScrollability):
- page/Page.h:
(WebCore::Page::obscuredInset):
(WebCore::Page::setObscuredInset):
(WebCore::Page::enclosedInScrollableAncestorView):
(WebCore::Page::setEnclosedInScrollableAncestorView):
- platform/ScrollView.h:
(WebCore::ScrollView::platformObscuredInset): Deleted.
(WebCore::ScrollView::platformSetObscuredInset): Deleted.
Source/WebKit2:
- Shared/VisibleContentRectUpdateInfo.cpp:
(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):
- Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::enclosedInScrollableAncestorView):
(WebKit::operator==):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didInvokeUIScrollViewDelegateCallback]):
(-[WKWebView _didFinishScrolling]):
(-[WKWebView scrollViewDidScroll:]):
(-[WKWebView scrollViewDidZoom:]):
(-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
(-[WKWebView _scrollViewDidInterruptDecelerating:]):
(-[WKWebView _visibleRectInEnclosingScrollView:]):
(-[WKWebView _visibleContentRect]):
(-[WKWebView _didScroll]):
(-[WKWebView _enclosingScrollerScrollingEnded:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _updateVisibleContentRects]):
(-[WKWebView _updateVisibleContentRectAfterScrollInView:]):
(scrollViewCanScroll):
(-[WKWebView _updateContentRectsWithState:]):
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentView.h:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::updateVisibleContentRects):
- UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
- 12:46 PM Changeset in webkit [200469] by
-
- 2 edits in trunk/Source/WebCore
Fix the build.
- platform/network/cf/CertificateInfo.h:
- 12:20 PM Changeset in webkit [200468] by
-
- 2 edits in trunk/Source/JavaScriptCore
We shouldn't crash if DFG AI proved that something was unreachable on one run but then decided not to prove it on another run
https://bugs.webkit.org/show_bug.cgi?id=157379
Reviewed by Mark Lam.
Any run of DFG AI is a fixpoint that loosens the proof until it can't find any more
counterexamples to the proof. It errs on the side of loosening proofs, i.e., on the side of
proving fewer things.
We run this fixpoint multiple times since there are multiple points in the DFG optimization
pipeline when we run DFG AI. Each of those runs completes a fixpoint and produces the
tightest proof it can that did not result in counterexamples being found.
It's possible that on run K of DFG AI, we prove some property, but on run K+1, we don't prove
that property. The code could have changed between the two runs due to other phases. Other
phases may modify the code in such a way that it's less amenable to AI's analysis. Our design
allows this because DFG AI is not 100% precise. It defends itself from making unsound choices
or running forever by sometimes punting on proving some property. It must be able to do this,
and so therefore, it might sometimes prove fewer things on a later run.
Currently in trunk if the property that AI proves on run K but fails to prove on run K+1 is
the reachability of a piece of code, then run K+1 will crash on an assertion at the
Unreachable node. It will complain that it reached an Unreachable. But it might be reaching
that Unreachable because it failed to prove that something earlier was always exiting. That's
OK, see above.
So, we should remove the assertion that AI doesn't see Unreachable.
No new tests because I don't know how to make this happen. I believe that this happens in the
wild based on crash logs.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- 12:01 PM Changeset in webkit [200467] by
-
- 7 edits2 adds in trunk
Crash if you type "debugger" in the console and continue
https://bugs.webkit.org/show_bug.cgi?id=156924
<rdar://problem/25884189>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-05
Reviewed by Mark Lam.
Source/JavaScriptCore:
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::evaluateOnCallFrame):
Bail with an error when we are not paused.
- inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getProperties):
(Inspector::InspectorRuntimeAgent::getDisplayableProperties):
(Inspector::InspectorRuntimeAgent::getCollectionEntries):
(Inspector::InspectorRuntimeAgent::saveResult):
Update poor error message.
Source/WebInspectorUI:
- UserInterface/Test/InspectorProtocol.js:
(InspectorProtocol.sendCommand):
Simplify sending a command with no parameters.
LayoutTests:
- inspector/debugger/evaluateOnCallFrame-errors-expected.txt: Added.
- inspector/debugger/evaluateOnCallFrame-errors.html: Added.
- inspector/protocol/backend-dispatcher-argument-errors-expected.txt:
- 11:51 AM Changeset in webkit [200466] by
-
- 3 edits in trunk/Source/WebCore
[iOS] Media information is sometimes not shown in Control Center
https://bugs.webkit.org/show_bug.cgi?id=157377
Reviewed by Jer Noble.
- platform/audio/ios/MediaSessionManagerIOS.h:
- platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Store values passed to MPNowPlayingInfoCenter
individually instead of in a dictionary.
- 11:36 AM Changeset in webkit [200465] by
-
- 5 edits2 adds in trunk
Comments on wired.com are blurry
https://bugs.webkit.org/show_bug.cgi?id=148630
Source/WebCore:
rdar://problem/22499655
Reviewed by Tim Horton.
Make sure to set -rasterizationScale on TileGrid container layers to avoid blurry layers
with some configurations of transforms, perspective and clipping.
Test: compositing/contents-scale/rasterization-scale.html
- platform/graphics/ca/TileController.cpp:
(WebCore::TileController::TileController): Initialize m_deviceScaleFactor before m_tileGrid,
because TileGrid's constructor needs to read the device scale.
- platform/graphics/ca/TileController.h:
- platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::TileGrid): Push a contentsScale (which also sets rasterizationScale) onto
the tile grid container layer on constructions, and in setScale().
(WebCore::TileGrid::setScale):
LayoutTests:
Reviewed by Tim Horton.
This testcase does not fail without the patch because of how WTR does snapshotting,
but some future improvement may fix that.
- compositing/contents-scale/rasterization-scale-expected.html: Added.
- compositing/contents-scale/rasterization-scale.html: Added.
- 11:33 AM Changeset in webkit [200464] by
-
- 9 edits in trunk
event.target shouldn't be retargeted as the event bubbles into a slot
https://bugs.webkit.org/show_bug.cgi?id=157369
Reviewed by Antti Koivisto.
Source/WebCore:
When an event bubbles up from an assigned node to its assigned slot, we shouldn't be adjusting
event.target to point to the slot. Since a shadow tree should have access to nodes outside
the shadow tree, event.target is accessible inside the shadow tree of such a slot.
New behavior matches the behavior of Google Chrome Canary as well as the shadow DOM specification:
http://w3c.github.io/webcomponents/spec/shadow/#dfn-retargeting-algorithm
Test: fast/shadow-dom/event-inside-slotted-node.html
- dom/Event.cpp:
(WebCore::Event::deepPath):
- dom/EventContext.h:
(WebCore::EventContext::isUnreachableNode): Use Node::isUnclosedNode instead of isReachable.
(WebCore::EventContext::isReachable): Deleted.
- dom/EventPath.cpp:
(WebCore::EventPath::EventPath): Don't set the target to the slot when entering a slot. Also moved
the code to adjust the target as we exit a shadow tree to the end of the outer loop for clarity.
(WebCore::isUnclosedNodeOf): Deleted. Renamed to Node::isUnclosedNode.
(WebCore::EventPath::setRelatedTarget):
(WebCore::EventPath::computePathUnclosedToTarget): Renamed from computePathDisclosedToTarget.
(WebCore::moveOutOfAllShadowRoots): Extracted from RelatedNodeRetargeter::RelatedNodeRetargeter.
(WebCore::RelatedNodeRetargeter::RelatedNodeRetargeter): Fixed a bug that we were exiting early
without setting m_hasDifferentTreeRoot true when target and relatedNode are disconnected from
a document.
(WebCore::RelatedNodeRetargeter::currentNode):
(WebCore::RelatedNodeRetargeter::checkConsistency): Updated to match the spec with one exception.
We don't use null as the adjusted related target when the (original) related target and the target
are in two distinct disconnected trees since such a behavior is not Web compatible. This spec bug is
tracked by https://github.com/w3c/webcomponents/issues/494
- dom/EventPath.h:
(WebCore::EventPath::eventTargetRespectingTargetRules): Returns Node* instead of EventTarget* since
we need a Node in RelatedNodeRetargeter::checkConsistency.
- dom/Node.cpp:
(WebCore::Node::isUnclosedNode): Moved from RelatedNodeRetargeter.cpp
- dom/Node.h:
LayoutTests:
Updated test cases to expect the target to be not adjusted to a slot element when the event path
enters one as this didn't match the spec or the behavior of Google Chrome Canary. Both WebKit and
Chrome passes the test with this change.
- fast/shadow-dom/event-inside-slotted-node.html:
- 11:23 AM Changeset in webkit [200463] by
-
- 19 edits in trunk/Source
On platforms that support it, use a SecTrustRef as the basis of CertificateInfo instead of a chain of SecCertificateRefs.
https://bugs.webkit.org/show_bug.cgi?id=157220
Reviewed by Darin Adler.
Source/WebCore:
- platform/network/cf/CertificateInfo.h:
(WebCore::CertificateInfo::CertificateInfo):
(WebCore::CertificateInfo::trust):
(WebCore::CertificateInfo::isEmpty):
(WebCore::CertificateInfo::setCertificateChain): Deleted.
(WebCore::CertificateInfo::certificateChain): Deleted.
- platform/network/mac/CertificateInfoMac.mm:
(WebCore::CertificateInfo::type):
(WebCore::CertificateInfo::certificateChain):
(WebCore::CertificateInfo::containsNonRootSHA1SignedCertificate):
(WebCore::CertificateInfo::dump):
When supported, allow CertificateInfo to contain a SecTrustRef instead of a certificate chain. We keep
support for holding on to a certificate chain as well, since there is API that depends on this.
- platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::ResourceResponse::platformCertificateInfo):
When supported, use the SecTrustRef from the error instead of extracting it's certificate chain.
Source/WebKit2:
- Shared/Authentication/mac/AuthenticationManager.mac.mm:
(WebKit::leafCertificate):
(WebKit::chain):
(WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge):
When supported, get the SecCertificateRef from the SecTrustRef rather than the
stored certificate chain.
- Shared/cf/ArgumentCodersCF.cpp:
(IPC::typeFromCFTypeRef):
(IPC::encode):
(IPC::decode):
- Shared/cf/ArgumentCodersCF.h:
Add support for encoding/decoding SecTrustRef objects.
- Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<CertificateInfo>::encode):
(IPC::ArgumentCoder<CertificateInfo>::decode):
Add support for encoding/decoding CertificateInfo's that contain SecTrustRef objects.
(IPC::encodeNSError):
(IPC::decodeNSError):
Simplify error encoding/decoding by not using an addition CertificateInfo object for encoding
the peerCertificateChain. Also, add the peerTrust to the userInfo that get's encoded/decoded.
- UIProcess/API/Cocoa/WKWebView.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView serverTrust]):
(-[WKWebView certificateChain]):
Add new serverTrust API and deprecate certificateChain.
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::willChangeCertificateInfo):
(WebKit::NavigationState::didChangeCertificateInfo):
Add support for KVO of -[WKWebView serverTrust].
Source/WTF:
- wtf/Platform.h:
Add support for HAVE(SEC_TRUST_SERIALIZATION).
- wtf/spi/cocoa/SecuritySPI.h:
Add SPI access to SecTrustSerialize and SecTrustDeserialize.
- 11:14 AM Changeset in webkit [200462] by
-
- 3 edits in trunk/Source/WebCore
When exiting fullscreen, call a JS method immediately to implement the style changes for the presentation mode change right away
https://bugs.webkit.org/show_bug.cgi?id=157359
Reviewed by Eric Carlson.
No new tests as this is done to just mitigate a visual glitch.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::exitFullscreen):
(WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange):
- html/HTMLMediaElement.h:
- 10:43 AM Changeset in webkit [200461] by
-
- 12 edits3 adds in trunk
Blocked redirected main resource requests need descriptive errors
https://bugs.webkit.org/show_bug.cgi?id=156828
rdar://problem/25711316
Reviewed by Daniel Bates.
Source/WebCore:
Test: http/tests/contentextensions/main-resource-redirect-error.html
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
Call cancelMainResourceLoad() so that InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame()
is called to be consistent with blocked redirected main resource requests.
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequestInternal):
(WebCore::ResourceLoader::blockedError):
(WebCore::ResourceLoader::blockedByContentBlockerError):
(WebCore::ResourceLoader::cannotShowURLError):
- loader/ResourceLoader.h:
Use a blockedByContentBlockerError() instead of a cannotShowURLError() when we blocked the load.
Tools:
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame):
Print out the error type to make sure we have the most descriptive error type.
LayoutTests:
- http/tests/contentextensions/block-everything-if-domain-expected.txt:
Updated because the page no longer loads because the main resource was blocked.
- http/tests/contentextensions/block-everything-unless-domain-expected.txt:
- http/tests/contentextensions/block-everything-unless-domain.html:
Updated test because about:blank is no longer loaded when the main resource fails to load.
- http/tests/contentextensions/main-resource-expected.txt:
Update to reflect new behavior of calling didFailProvisionalLoadWithError instead of just didFailLoadingWithError.
- http/tests/contentextensions/main-resource-redirect-error-expected.txt: Added.
- http/tests/contentextensions/main-resource-redirect-error.html: Added.
- http/tests/contentextensions/main-resource-redirect-error.html.json: Added.
- http/tests/contentextensions/main-resource.html:
- 10:41 AM Changeset in webkit [200460] by
-
- 2 edits in trunk/Source/WebKit2
Remove workaround added in r200391 (rdar://problem/25992976)
https://bugs.webkit.org/show_bug.cgi?id=157378
<rdar://problem/26118503>
Reviewed by Anders Carlsson.
Following the fix for <rdar://problem/26075714> we can remove the workaround added in r200391 (rdar://problem/25992976).
- Shared/mac/CodeSigning.mm:
(WebKit::secCodeSigningIdentifier):
- 10:30 AM Changeset in webkit [200459] by
-
- 20 edits2 adds in trunk/Source/JavaScriptCore
Add support for delete by value to the DFG
https://bugs.webkit.org/show_bug.cgi?id=157372
Reviewed by Filip Pizlo.
This patch adds basic support for delete by value to the DFG. delete by value
just calls out to a C++ operation on each execution. Additionally, this patch
fixes an issue with delete by id where we would crash if the base was null
or undefined.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- 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/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileDeleteById):
(JSC::DFG::SpeculativeJIT::compileDeleteByVal):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_del_by_val):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_del_by_val):
- tests/stress/delete-by-val.js: Added.
(assert):
(test):
- tests/stress/delete-to-object-exception.js: Added.
(assert):
(test):
- 10:14 AM Changeset in webkit [200458] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed build fix after change set r200447.
Made the detection of clang version XCode build specific.
Now shouldEnableDebugAnnotations() should return false for all other build types.
- offlineasm/config.rb:
- 9:49 AM Changeset in webkit [200457] by
-
- 3 edits1 add in trunk/Websites/bugs.webkit.org
bugs.webkit.org: "See Also" field should support Chromium bugs
Merge Bugzilla upstream master 3af55bfe0bd10a85b7cd69e26a19034a6d2e78f5.
<https://bugzilla.mozilla.org/show_bug.cgi?id=1252782>
- Bugzilla/BugUrl.pm: Add Bugzilla::BugUrl::Chromium class to
list of classes that parse supported URLs.
- Bugzilla/BugUrl/Chromium.pm: Added.
(should_handle):
(_check_value):
- template/en/default/global/user-error.html.tmpl: Update error
message.
- 8:31 AM Changeset in webkit [200456] by
-
- 2 edits in trunk/Source/WebCore
Fix assertions in debug builds for the GTK+ port.
Rubber-stamped by Carlos Garcia Campos.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
Switch back to the find() + add() combo for retrieving the pointer
to the SharedGLData object stored for the specific GraphicsContext3D.
add() + isNewEntry is causing assertions in debug builds when adding
the first entry.
- 6:03 AM Changeset in webkit [200455] by
-
- 4 edits in trunk/Source/WebCore
[GStreamer] Adaptive streaming issues
https://bugs.webkit.org/show_bug.cgi?id=144040
Reviewed by Philippe Normand.
In the case of adaptive streaming, the GST URI downloader object is creating the source object, in our case
WebKitWebSrc, without taking its ownership. This is breaking the lifetime of the WebKitWebSrc element. We are
using GRefPtr in WebKitWebSrc to ref/unref the object when sending notifications to the main thread, ensuring
that the object is not destroyed before the main thread dispatches the message. But our smart pointers are so
smart that in case of receiving a floating reference, it's converted to a full reference, so that the first time
we try to take a ref of a WebKitWebSrc having a floating reference we are actually taking the ownership
instead. When we try to release the reference, we are actuallty destroying the object, something that the actual
owner is not expecting and causing runtime critical warnings and very often web process crashes.
(WebKitWebProcess:6863): GStreamer-CRITICAL :
Trying to dispose element appsrc1, but it is in READY instead of the NULL state.
You need to explicitly set elements to the NULL state before
dropping the final reference, to allow them to clean up.
This problem may also be caused by a refcounting bug in the
application or some element.
(WebKitWebProcess:6863): GStreamer-CRITICAL : gst_uri_handler_get_uri: assertion 'GST_IS_URI_HANDLER(handler)' failed
(WebKitWebProcess:6863): GStreamer-CRITICAL : gst_uri_get_protocol: assertion 'uri != NULL' failed
This should be fixed in GST, but we can workaround it in WebKit while it's fixed in GST or to prevent this from
happening if other users make the same mistake. The idea is to add a ensureGRef() only available for GRefPtr
when using WebKitWebSrc objects that consumes the floating reference if needed before taking the actual reference.
- platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::ensureGRef): Consume the floating ref if needed.
- platform/graphics/gstreamer/GRefPtrGStreamer.h:
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcChangeState): Use ensureGRef().
- 2:19 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 1:40 AM Changeset in webkit [200454] by
-
- 2 edits2 adds in trunk/Tools
[GStreamer] Bump internal jhbuild versions to 1.8.0 and patches to support MSE
https://bugs.webkit.org/show_bug.cgi?id=157341
Patch by Enrique Ocaña González <eocanha@igalia.com> on 2016-05-05
Reviewed by Xabier Rodriguez-Calvar.
- gtk/jhbuild.modules:
- gtk/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Added.
- gtk/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Added.
- 1:25 AM Changeset in webkit [200453] by
-
- 2 edits in trunk/Source/WebCore
[Mac][cmake] Unreviewed speculative buildfix after r200433, just for fun.
- PlatformMac.cmake:
- 12:54 AM Changeset in webkit [200452] by
-
- 3 edits in trunk/Source/JavaScriptCore
Create console object lazily
https://bugs.webkit.org/show_bug.cgi?id=157328
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-05
Reviewed by Geoffrey Garen.
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::createConsoleProperty):
(JSC::JSGlobalObject::init): Deleted.
May 4, 2016:
- 11:42 PM Changeset in webkit [200451] by
-
- 5 edits in trunk/Source/WebCore
[TexMap] Clean up TextureMapperShaderProgram
https://bugs.webkit.org/show_bug.cgi?id=157302
Reviewed by Carlos Garcia Campos.
Clean up the header and the implementation file of the
TextureMapperShaderProgram class. Reference the GraphicsContext3D
object through a Ref<>, and have the context() return a reference,
not a pointer.
Sort the parts of the implementation file into something more
sensible. StringBuilder usage in create() is improved. getLocation()
only needs to do one lookup in the m_variables map by using ensure().
No new tests -- no change in behavior.
- platform/graphics/surfaces/GLTransportSurface.cpp:
(WebCore::GLTransportSurface::initializeShaderProgram):
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGLData::SharedGLData::getShaderProgram):
(WebCore::prepareFilterProgram):
- platform/graphics/texmap/TextureMapperShaderProgram.cpp:
(WebCore::TextureMapperShaderProgram::create):
(WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
(WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
(WebCore::TextureMapperShaderProgram::setMatrix):
(WebCore::TextureMapperShaderProgram::getLocation):
- platform/graphics/texmap/TextureMapperShaderProgram.h:
(WebCore::TextureMapperShaderProgram::context):
- 11:13 PM Changeset in webkit [200450] by
-
- 2 edits in trunk/Tools
Add JSC test results in JSON format to a Buildbot log
https://bugs.webkit.org/show_bug.cgi?id=156920
Patch by Srinivasan Vijayaraghavan <svijayaraghavan@apple.com> on 2016-05-04
Reviewed by Daniel Bates.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunJavaScriptCoreTests): Move command-line option for output file out
of WithProperties.
- 10:27 PM Changeset in webkit [200449] by
-
- 7 edits1 add in trunk/Websites/perf.webkit.org
Summary page should show warnings when current or baseline data is missing.
https://bugs.webkit.org/show_bug.cgi?id=157339
Reviewed by Ryosuke Niwa.
Set summary page to be the default page of v3 UI.
Show warning icon when either baseline or current data is missing.
Make fetchBetween returns a promise.
Update unit tests for MeasurementSet.fetchBetween since it returns a promise now.
Add a workaround to skip some platform and metric configurations.
- public/v3/components/ratio-bar-graph.js:
(RatioBarGraph):
(RatioBarGraph.prototype.update): Add showWarningIcon flag to indicate whether we should show warning icon.
(RatioBarGraph.prototype.render): Show warning icon when showWarningIcon is true.
(RatioBarGraph.cssTemplate): Add style for warning icon.
- public/v3/components/warning-icon.js: Add warning icon.
(WarningIcon):
(WarningIcon.cssTemplate):
- public/v3/index.html:
- public/v3/main.js:
(main): Set summary page to be the default page of v3 UI.
- public/v3/models/measurement-set.js:
(MeasurementSet):
(MeasurementSet.prototype.fetchBetween): Returns a promise. Fix the bug in previous implementation that we miss
some callbacks sometimes. Basically, we will fetch primary cluster first, then secondary clusters. For each
secondary cluster fetch, we will always invoke callback even when it fails.
(MeasurementSet.prototype._fetchSecondaryClusters): Deleted.
(MeasurementSet.prototype._fetch.else.url.api.measurement.set platform): Deleted.
- public/v3/pages/summary-page.js:
(SummaryPage): Add a variable for excluded configurations.
(SummaryPage.prototype._createConfigurationGroup): Pass excluded configurations while building config groups.
(SummaryPage.prototype._constructTable): Remove the logic for unified header since it breaks consistency of the table appearance.
(SummaryPage.prototype.this._renderQueue.push): Show warning message when baseline/current data is missing.
(SummaryPageConfigurationGroup): Add a variable to keep track of the warnings while computing summary.
(SummaryPageConfigurationGroup.prototype.warnings): A getter for warnings.
(SummaryPageConfigurationGroup._computeSummary): Fix a bug in calculating ratios. We should always use
current/baseline for ratio and present the difference between ratio and 1 in the summary page.
(SummaryPageConfigurationGroup.set then): Deleted.
(SummaryPageConfigurationGroup.set var): Deleted.
- unit-tests/measurement-set-tests.js: Add a helper function to wait for fetchBetween. Update unit tests since fetchBetween returns a promise now.
(promise.set fetchBetween):
(set MeasurementSet):
(set fetchBetween): Deleted.
- 8:09 PM Changeset in webkit [200448] by
-
- 27 edits1 add in trunk/Source/WebCore
Start on dictionary support for IDL, getting enough to work for one dictionary
https://bugs.webkit.org/show_bug.cgi?id=157336
Reviewed by Alex Christensen.
- bindings/js/JSDOMBinding.h: Return RefPtr instead of PassRefPtr for the return
value of toArrayBufferView. Not only is this the correct modern idiom, it also
works properly with auto, and PassRefPtr does not.
- bindings/js/JSDOMBuild.h: Added. This has the build function template in it.
It's used to build values like dictionaries. We specialize and call the tempate
in generated code. This is only the initial simplistic version; will be refining
for exception handling, optional handling, default value handling, and lots of
other things not yet needed for this first dictionary.
- bindings/scripts/CodeGenerator.pm:
(ProcessDocument): Handle dictionaries much like how we handle enumerations.
(SkipIncludeHeader): Moved small list of special types here from CodeGeneratorJS.
(IsDictionaryType): Added.
(IsRefPtrType): Make this return 0 for dictionary types.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateInterface): Added handling for dictionaries.
(SkipIncludeHeader): Deleted.
(AddIncludesForType): Call the the SkipIncludeHeader from CodeGenerator.pm directly.
(GetNestedClassName): Factored out the work that was previously in
GetEnumerationClassName so we could reuse it for dictionaries too.
(GetEnumerationClassName): Changed to call GetNestedClassName.
(GetEnumerationClassIdentifier): Deleted. Instead of using this, we now use templates
so we can use the actual class name.
(GenerateEnumerationImplementationContent): Changed parse and expectedEnumerationValues
to use function template specialization instead of functions. This cleans up the code
a bit and makes it eaiser to use from other templates. Later we may want to merge the
parse function template build function template from JSDOMBuild.h. Added specialization
of the build function template.
(GetDictionaryClassName): Added. Calls GetNestedClassName.
(GenerateDictionaryImplementationContent): Added. Generates the build function for each
dictionary type. Initial simplistic version to be refined.
(GenerateImplementation): Added dictionaries argument and called the
GenerateDictionaryImplementationContent function. Also changed many functions to take
interface arguments and also removed redundant interfaceName arguments from functions
that formerly took both.
(GenerateParametersCheck): Updated for changes above. That includes calling the new
parse function template. Also changed to use auto and WTFMove, which makes the code
both more generic and potentially more efficient and obviates the need for a special
case for dictionary types.
(GenerateCallbackHeader): Updated for changes above.
(GenerateCallbackImplementation): Ditto.
(GenerateImplementationFunctionCall): Ditto.
(GetNativeTypeFromSignature): Ditto.
(GetNativeType): Changed this function to take the interface because that's needed to
get the type name right for enumeration types rather than returning "auto". Made that
change as well. Moved one type, DOMStringList, into the nativeType hash instead of
having explicit code here for it. Didn't add a dictionary type case here yet, but
probably will need to do that in the next patch.
(ShouldPassWrapperByReference): Pass interface in to GetNativeType.
(GetNativeVectorInnerType): Removed unneeded special case for DOMString.
(GetNativeTypeForCallbacks): Changed to take the interface.
(GetNativeTypeForMemoization): Ditto.
(JSValueToNative): Changed expression for Dictionary (the thing I am working to make
obsolete) to name the type so it will work with auto. Added a case for dictionary
types and updated the case for enumeration types.
(NativeToJSValue): Updated to take an interface rather than an interface name, and to
pass that along as needed.
- bindings/scripts/IDLParser.pm:
(Parse): Add dictionaries to a list.
(parseDictionary): Put name, extended attributes, and members into the dictionary.
(parseDictionaryMembers): Build up a members array.
(parseDictionaryMember): Put isOptional, type, name, and default value into the
dictionary member.
- bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
- bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
- bindings/scripts/test/JS/JSTestNode.cpp:
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
- bindings/scripts/test/ObjC/DOMTestObj.h:
- bindings/scripts/test/ObjC/DOMTestObj.mm:
Regenerated.
- bindings/scripts/test/TestObj.idl: Added some test cases that I was using to
get the bindings script to work. Right now this is basically identical to the
actual use of this in Element.idl, but over time I will modify it to cover more
features of dictionaries. Also fixed some incorrect test cases trying to use
the type "bool", which doesn't exist in IDL.
- dom/Element.cpp:
(WebCore::Element::canHaveUserAgentShadowRoot): Added. The existing code used a
combination of a virtual function on HTMLElement and type checking. It's better
to just use a virtual function on Element.
(WebCore::Element::attachShadow): Updated to take a ShadowRootInit struct instead
of a Dictionary. Also tweaked the code in a couple other minor ways.
- dom/Element.h: Added the ShadowRootMode enum class and the ShadowRootInit struct,
and changed attachShadow to take ShadowRootInit instead of Dictionary. Also added
the private canHaveUserAgentShadowRoot virtual function.
- dom/Element.idl: Added ShadowRootMode, ShadowRootInit, and used them in as the
arguemnt type for attachShadow.
- html/HTMLElement.h: Made canHaveUserAgentShadowRoot a private override instead
of a public virtual function.
- 6:06 PM Changeset in webkit [200447] by
-
- 2 edits in trunk/Source/JavaScriptCore
Enable Dwarf2 debug information in offline assembler for clang compiler
https://bugs.webkit.org/show_bug.cgi?id=157364.
Reviewed by Mark Lam.
Added a new function shouldEnableDebugAnnotations() that determines if
we are using clang and a new enough version to support the debug annotations.
- offlineasm/config.rb:
(shouldEnableDebugAnnotations): Added.
- 5:55 PM Changeset in webkit [200446] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Playback does not pause when locking screen after playing to AirPlay.
https://bugs.webkit.org/show_bug.cgi?id=157366
<rdar://problem/22100651>
Reviewed by Dean Jackson.
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::isPlayingToWirelessPlaybackTargetChanged): Save and restore
m_interruptionCount around calling sessionIsPlayingToWirelessPlaybackTargetChanged because
it will call beginInterruption if we are already in the background and the counter will
get out of sync.
- 5:32 PM Changeset in webkit [200445] by
-
- 5 edits in trunk
CSP: Perform case sensitive match against path portion of source expression URL that ends in '/'
https://bugs.webkit.org/show_bug.cgi?id=157275
Reviewed by Darin Adler.
Source/WebCore:
Merged from Blink:
<https://chromium.googlesource.com/chromium/src/+/7bd0a75e3f71a10e71ded31ea5905d5ee3d992eb>
Perform a case-sensitive prefix match of the path portion a source expression that ends in '/'
against the path portion of a request URL as per step 8.5.4 of section Does url match expression
in origin with redirect count of the Content Security Policy Level 3 spec., <https://w3c.github.io/webappsec-csp>
(Editor's Draft, 27 April 2016).
- page/csp/ContentSecurityPolicySource.cpp:
(WebCore::ContentSecurityPolicySource::pathMatches):
LayoutTests:
Add test to ensure that the path portion of a request URL is case-sensitively
matched against the path portion of a source expression that ends in '/'.
- http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01-expected.txt:
- http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01.html:
- 5:18 PM Changeset in webkit [200444] by
-
- 2 edits in trunk/Source/WTF
Add HLE locks and synchronic TTAS locks to the ToyLocks benchmark suite
https://bugs.webkit.org/show_bug.cgi?id=157367
Rubber stamped by Benjamin Poulain.
Turns out they are both a lot slower than WTF::Lock. The HLE lock is written according to Intel's
documentation. The synchronic lock follows the algorithm of the "ttas_lock" in the synchronic
test.hpp.
- benchmarks/ToyLocks.h:
- 5:14 PM Changeset in webkit [200443] by
-
- 5 edits in trunk/Source
Versioning.
- 5:13 PM Changeset in webkit [200442] by
-
- 1 copy in tags/Safari-602.1.31
New tag.
- 5:05 PM Changeset in webkit [200441] by
-
- 6 edits in trunk
AX: Nonfunctional controls appear before every HTML5 video when using VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=153089
<rdar://problem/24050668>
Patch by Aaron Chu <aaron_chu@apple.com> on 2016-05-04
Reviewed by Dean Jackson.
Source/WebCore:
Test: media/video-controls-show-on-kb-or-ax-event.html
- Modules/mediacontrols/mediaControlsApple.js:
(Controller):
(Controller.prototype.createControls):
(Controller.prototype.updateControls):
(Controller.prototype.handlePlayButtonClicked):
(Controller.prototype.setPlaying):
(Controller.prototype.showShowControlsButton):
(Controller.prototype.showControls):
(Controller.prototype.hideControls):
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.addStartPlaybackControls):
(ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd):
(ControllerIOS.prototype.showControls):
Fix to make sure the showControls button in a media player behaves correctly.
LayoutTests:
- media/video-controls-show-on-kb-or-ax-event-expected.txt:
- media/video-controls-show-on-kb-or-ax-event.html:
A Layout Test to make sure showControls Button in media player is hidden by default.
- 4:41 PM Changeset in webkit [200440] by
-
- 4 edits in trunk/Source/WebKit2
Experimental Features don't need an "Experimental" prefix
https://bugs.webkit.org/show_bug.cgi?id=157363
<rdar://problem/26100630>
Reviewed by Anders Carlsson.
Since we're not persisting the value of the experimental
features, it's unlikely there will ever be the case
where we move a Preference from experimental to normal
and use a stored value.
- Shared/WebPreferencesDefinitions.h:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- 4:36 PM Changeset in webkit [200439] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION (r200401): Web Inspector: TypeError: undefined is not an object (evaluating 'messageElement.classList')
https://bugs.webkit.org/show_bug.cgi?id=157356
<rdar://problem/26097424>
Reviewed by Timothy Hatcher.
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype._reappendProvisionalMessages):
Don't filter messages since we already do that in didAppendConsoleMessageView.
- 4:01 PM Changeset in webkit [200438] by
-
- 2 edits2 adds in trunk/Source/WTF
Add a few more WTF locking benchmarks
https://bugs.webkit.org/show_bug.cgi?id=157365
Rubber stamped by Benjamin Poulain.
Factors out our toy locks into ToyLocks.h and adds a new test (LockFairnessTest) that measures
the fairness of locks.
The result: WTF::Lock is pretty fair enough.
- benchmarks/LockFairnessTest.cpp: Added.
(main):
- benchmarks/LockSpeedTest.cpp:
(main):
- benchmarks/ToyLocks.h: Added.
- 3:29 PM Changeset in webkit [200437] by
-
- 9 edits in trunk/Source/WebKit2
Experimental features should toggle runtime flags
https://bugs.webkit.org/show_bug.cgi?id=157353
<rdar://problem/23621603>
Reviewed by Anders Carlsson.
Hook up the experimental WebPreferences to RuntimeEnabledFeatures.
In the process I removed the general preference for WebGL 2 (we
already had an experimental feature for it) and moved Custom
Elements and Shadow DOM to experimental.
I also removed the C versions of the preferences, since experimental
features only need the ObjC API (which is generated automatically).
- Shared/WebPreferencesDefinitions.h: Move/remove some features and
make the experimental section more clear.
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetWebGL2Enabled): Deleted.
(WKPreferencesGetWebGL2Enabled): Deleted.
(WKPreferencesSetShadowDOMEnabled): Deleted.
(WKPreferencesGetShadowDOMEnabled): Deleted.
(WKPreferencesSetCustomElementsEnabled): Deleted.
(WKPreferencesGetCustomElementsEnabled): Deleted.
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::updateBoolValueForExperimentalFeatureKey): A
version of updateBoolValueForKey that doesn't call the platform
function (e.g. doesn't save to NSUserDefaults).
- UIProcess/WebPreferences.h:
- UIProcess/mac/WebPreferencesMac.mm:
(WebKit::WebPreferences::platformInitializeStore): Deleted.
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- 3:28 PM Changeset in webkit [200436] by
-
- 7 edits in trunk
TestRunner should always enable all the experimental features
https://bugs.webkit.org/show_bug.cgi?id=157360
<rdar://problem/26099748>
Reviewed by Anders Carlsson.
Source/WebKit2:
Experimental features are disabled by default, but it is
a pain to enable them in every test. Instead, have the
test runner turn them all on.
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesEnableAllExperimentalFeatures):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::enableAllExperimentalFeatures):
- UIProcess/WebPreferences.h:
Tools:
Call the new SPI that enables all the experimental features.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
- 3:27 PM Changeset in webkit [200435] by
-
- 6 edits2 adds in trunk
Disabling WebGL2 should mean no context is created
https://bugs.webkit.org/show_bug.cgi?id=157352
<rdar://problem/26096346>
Reviewed by Eric Carlson.
Source/WebCore:
If WebGL2 is disabled by the runtime flag, we should
not create a context.
Test: fast/canvas/webgl/webgl2-runtime-flag.html
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):
- testing/Internals.cpp: Added some helpers to toggle the runtime setting.
(WebCore::Internals::webGL2Enabled):
(WebCore::Internals::setWebGL2Enabled):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Check that toggling the runtime flag enables/disables WebGL 2.0.
- fast/canvas/webgl/webgl2-runtime-flag-expected.txt: Added.
- fast/canvas/webgl/webgl2-runtime-flag.html: Added.
- 3:22 PM Changeset in webkit [200434] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix test for new ArrayIteratorPrototype.next() error message.
- tests/stress/array-iterators-next-with-call.js:
- 3:14 PM Changeset in webkit [200433] by
-
- 2 edits1 move in trunk/Source/WebCore
Add an override point for drawing named images in ThemeCocoa
https://bugs.webkit.org/show_bug.cgi?id=157357
rdar://problem/25878445
Reviewed by Dean Jackson.
Rename ThemeCocoa.cpp to ThemeCocoa.mm and rearrange the code that draws the wireless-playback image
so we can import ThemeCocoaDrawNamedImage.mm below.
- WebCore.xcodeproj/project.pbxproj:
- platform/cocoa/ThemeCocoa.cpp:
(WebCore::fitContextToBox): Deleted.
(WebCore::ThemeCocoa::drawNamedImage): Deleted.
- platform/cocoa/ThemeCocoa.mm: Renamed from Source/WebCore/platform/cocoa/ThemeCocoa.cpp.
(WebCore::fitContextToBox):
(WebCore::ThemeCocoa::drawNamedImage):
- 3:03 PM Changeset in webkit [200432] by
-
- 3 edits in trunk/Source/WebCore
Don't disconnect WebAVPlayerController from its delegate since there is no way to reconnect it.
https://bugs.webkit.org/show_bug.cgi?id=157337
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-05-04
Reviewed by Jer Noble.
WebAVPlayerController used to be deleted and recreated each time we begin fullscreen video mode.
Since it is now preserved, we shouldn't paritally tear it down in cleanupFullscreen by disconnecting it
from its delegate, especially since we have no way to reconnect it.
The side effect of leaving it connected is that it can continue to make callbacks during cleanup.
Of importance is that it sets the audio and legible media selctions to nil. We don't want to change
the selection as a result of teardown. Nil selection is unsupported by WebVideoFullscreenModelVideoElement
and causes an assert. This transition to nil selection is now ignored.
- platform/ios/WebAVPlayerController.mm:
(-[WebAVPlayerController setCurrentAudioMediaSelectionOption:]):
(-[WebAVPlayerController setCurrentLegibleMediaSelectionOption:]):
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreen):
- 2:33 PM Changeset in webkit [200431] by
-
- 13 edits2 adds in trunk
Media elements should not be paused right away when removed from the document
https://bugs.webkit.org/show_bug.cgi?id=157347
<rdar://problem/25888758>
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline now that more W3C tests are passing.
- web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-to-other-document-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-within-document-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-remove-from-document-expected.txt:
Source/WebCore:
Media elements should not be paused right away when removed from the document.
Instead we should allow the task that removed the media element from the
document to finish because considering pausing.
This avoid inadvertently pausing media elements when the JS merely moves them
on the page (e.g. using Node.replaceChild()).
Text from the HTML specification:
"""
When a media element is removed from a Document, the user agent must run the
following steps:
- Await a stable state, allowing the task that removed the media element
from the Document to continue. The synchronous section consists of all the
remaining steps of this algorithm. (Steps in the synchronous section are
marked with ⌛.)
- ⌛ If the media element is in a Document, abort these steps.
- ⌛ Run the internal pause steps for the media element.
"""
c.f. https://html.spec.whatwg.org/multipage/embedded-content.html#htmlmediaelement
Test: media/replaceChild-should-not-pause-video.html
- dom/GenericEventQueue.cpp:
(WebCore::GenericEventQueue::sharedTimerFired):
Copy the queue of events before processing it so that we don't fire events that
get scheduled by the event handlers as a result of us firing the pending events.
Otherwise, we end up firing events synchronously right after they've been queued,
which is wrong. This was causing several W3C tests to fail.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::pauseAfterDetachedTimerFired):
(WebCore::HTMLMediaElement::removedFrom):
- html/HTMLMediaElement.h:
After the media element gets removed from the document, schedule a 0 timer before
pausing the media element, to give the task that removed us a chance to finish.
When the timer fires, we check if we were added back into an active document and
avoid pausing in such case.
LayoutTests:
- media/remove-from-document-expected.txt:
- media/remove-from-document.html:
Check asynchronously if the video has been paused after removing it from
the document instead of synchronously as we no longer pause the video
synchronously in this case.
- media/replaceChild-should-not-pause-video-expected.txt: Added.
- media/replaceChild-should-not-pause-video.html: Added.
Add test case to make sure that calling replaceChild() on with a video
element as newChild does not pause the video if it is already playing.
This is a regression test for <rdar://problem/25888758>.
- webaudio/audiocontext-state-interrupted-expected.txt:
- webaudio/audiocontext-state-interrupted.html:
Add a missing call to
internals.setMediaSessionRestrictions("WebAudio", "InterruptedPlaybackNotPermitted")
before the fourth test. The fourth test was previously passing by
chance, due to a bug in GenericEventQueue sometimes firing events
synchronously after they are scheduled.
- 2:21 PM Changeset in webkit [200430] by
-
- 41 edits7 adds in trunk
Speed up JSGlobalObject initialization by making some properties lazy
https://bugs.webkit.org/show_bug.cgi?id=157045
Source/JavaScriptCore:
Reviewed by Keith Miller.
This makes about half of JSGlobalObject's state lazy. There are three categories of
state in JSGlobalObject:
1) C++ fields in JSGlobalObject.
2) JS object properties in JSGlobalObject's JSObject superclass.
3) JS variables in JSGlobalObject's JSSegmentedVariableObject superclass.
State held in JS variables cannot yet be made lazy. That's why this patch only goes
half-way.
State in JS object properties can be made lazy if we move it to the static property
hashtable. JSGlobalObject already had one of those. This patch makes static property
hashtables a lot more powerful, by adding three new kinds of static properties. These
new kinds allow us to make almost all of JSGlobalObject's object properties lazy.
State in C++ fields can now be made lazy thanks in part to WTF's support for stateless
lambdas. You can of course make anything lazy by hand, but there are many C++ fields in
JSGlobalObject and we are adding more all the time. We don't want to require that each
of these has a getter with an initialization check and a corresponding out-of-line slow
path that does the initialization. We want this kind of boilerplate to be handled by
some abstractions.
The primary abstraction introduced in this patch is LazyProperty<Type>. Currently, this
only works where Type is a subclass of JSCell. Such a property holds a pointer to Type.
You can use it like you would a WriteBarrier<Type>. It even has set() and get() methods,
so it's almost a drop-in replacement.
The key to LazyProperty<Type>'s power is that you can do this:
class Bar {
...
LazyProperty<Foo> m_foo;
};
...
m_foo.initLater(
[] (const LazyProperty<Foo>::Initializer<Bar>& init) {
init.set(Foo::create(init.vm, init.owner));
});
This initLater() call requires that you pass a stateless lambda (see WTF changelog for
the definition). Miraculously, this initLater() call is guaranteed to compile to a store
of a pointer constant to m_foo, as in:
movabsq 0xBLAH, %rax
movq %rax, &m_foo
This magical pointer constant points to a callback that was generated by the template
instantiation of initLater(). That callback knows to call your stateless lambda, but
also does some other bookkeeping: it makes sure that you indeed initialized the property
inside the callback and it manages recursive initializations. It's totally legal to call
m_foo.get() inside the initLater() callback. If you do that before you call init.set(),
m_foo.get() will return null. This is an excellent escape hatch if we ever find
ourselves in a dependency cycle. I added this feature because I already had to create a
dependency cycle.
Note that using LazyProperties from DFG threads is super awkward. It's going to be hard
to get this right. The DFG thread cannot initialize those fields, so it has to make sure
that it does conservative things. But for some nodes this could mean adding a lot of new
logic, like NewTypedArray, which currently is written in such a way that it assumes that
we always have the typed array structure. Currently we take a two-fold approach: for
typed arrays we don't handle the NewTypedArray intrinsic if the structure isn't
initialized, and for everything else we don't make the properties lazy if the DFG needs
them. As we optimize this further we might need to teach the DFG to handle more lazy
properties. I tried to do this for RegExp but found it to be very confusing. With typed
arrays I got lucky.
There is also a somewhat more powerful construct called LazyClassStructure. We often
need to keep around the structure of some standard JS class, like Date. We also need to
make sure that the constructor ends up in the global object's property table. And we
often need to keep the original value of the constructor for ourselves. In this case, we
want to make sure that the creation of the structure-prototype-constructor constellation
is atomic. We don't want code to start looking at the structure if it points to a
prototype that doesn't have its "constructor" property set yet, for example.
LazyClassStructure solves this by abstracting that whole initialization. You provide the
callback that allocates everything, since we are super inconsistent about the way we
initialize things, but LazyClassStructure establishes the workflow and helps you not
mess up.
Finally, the new static hashtable attributes allow for all of this to work with the JS
property table:
PropertyCallback: if you use this attribute, the second column in the table should be
the name of a function to call to initialize this property. This is useful for things
like the Math property. The Math object turns out to be very expensive to allocate.
Delaying its allocation is super easy with the PropertyCallback attribute.
CellProperty: with this attribute the second column should be a C++ field name like
JSGlobalObject::m_evalErrorConstructor. The static hashtable will grab the offset of
this property, and when it needs to be initialized, Lookup will assume you have a
LazyProperty<JSCell> and call its get() method. It will initialize the property to
whatever get() returned. Note that it's legal to cast a LazyProperty<Anything> to
LazyProperty<JSCell> for the purpose of calling get() because the get() method will just
call whatever callback function pointer is encoded in the property and it does not need
to know anything about what type that callback will instantiate.
ClassStructure: with this attribute the second column should be a C++ field name. The
static hashtable will initialize the property by treating the field as a
LazyClassStructure and it will call get(). LazyClassStructure completely owns the whole
initialization workflow, so Lookup assumes that when LazyClassStructure::get() returns,
the property in question will already be set. By convention, we have LazyClassStructure
initialize the property with a pointer to the constructor, since that's how all of our
classes work: "globalObject.Date" points to the DateConstructor.
This is a 2x speed-up in JSGlobalObject initialization time in a microbenchmark that
calls our C API. This is a 1% speed-up on SunSpider and JSRegress.
Rolling this back in after fixing the function pointer alignment issue. The last version
relied on function pointers being aligned to a 4-byte boundary. We cannot rely on this,
especially since ARMv7 uses the low bit of function pointers as a tag to indicate the
instruction set. This version adds an extra indirection, so that
LazyProperty<>::m_pointer points to a pointer that points to the function. A pointer to
a pointer is guaranteed to be at least 4-byte aligned.
- API/JSCallbackFunction.cpp:
(JSC::JSCallbackFunction::create):
- API/ObjCCallbackFunction.h:
(JSC::ObjCCallbackFunction::impl):
- API/ObjCCallbackFunction.mm:
(JSC::ObjCCallbackFunction::ObjCCallbackFunction):
(JSC::ObjCCallbackFunction::create):
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- create_hash_table:
- debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::create):
(JSC::DebuggerScope::DebuggerScope):
- debugger/DebuggerScope.h:
(JSC::DebuggerScope::jsScope):
(JSC::DebuggerScope::create): Deleted.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::set):
- dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::originalArrayStructure):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleTypedArrayConstructor):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGStructureRegistrationPhase.cpp:
(JSC::DFG::StructureRegistrationPhase::run):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
- runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::getOwnPropertySlot):
(JSC::ClonedArguments::materializeSpecials):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
- runtime/InternalFunction.cpp:
(JSC::InternalFunction::visitChildren):
(JSC::InternalFunction::name):
(JSC::InternalFunction::calculatedDisplayName):
(JSC::InternalFunction::createSubclassStructure):
- runtime/InternalFunction.h:
- runtime/JSBoundFunction.cpp:
(JSC::JSBoundFunction::finishCreation):
(JSC::JSBoundFunction::visitChildren):
- runtime/JSBoundSlotBaseFunction.cpp:
(JSC::JSBoundSlotBaseFunction::create):
- runtime/JSFunction.cpp:
(JSC::retrieveCallerFunction):
(JSC::getThrowTypeErrorGetterSetter):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayView):
- runtime/JSGlobalObject.cpp:
(JSC::createProxyProperty):
(JSC::createJSONProperty):
(JSC::createMathProperty):
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::stringPrototypeChainIsSane):
(JSC::JSGlobalObject::resetPrototype):
(JSC::JSGlobalObject::visitChildren):
(JSC::JSGlobalObject::toThis):
(JSC::JSGlobalObject::getOwnPropertySlot):
(JSC::JSGlobalObject::createThrowTypeError): Deleted.
(JSC::JSGlobalObject::createThrowTypeErrorArgumentsAndCaller): Deleted.
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::objectConstructor):
(JSC::JSGlobalObject::promiseConstructor):
(JSC::JSGlobalObject::internalPromiseConstructor):
(JSC::JSGlobalObject::evalErrorConstructor):
(JSC::JSGlobalObject::rangeErrorConstructor):
(JSC::JSGlobalObject::referenceErrorConstructor):
(JSC::JSGlobalObject::syntaxErrorConstructor):
(JSC::JSGlobalObject::typeErrorConstructor):
(JSC::JSGlobalObject::URIErrorConstructor):
(JSC::JSGlobalObject::nullGetterFunction):
(JSC::JSGlobalObject::nullSetterFunction):
(JSC::JSGlobalObject::callFunction):
(JSC::JSGlobalObject::applyFunction):
(JSC::JSGlobalObject::definePropertyFunction):
(JSC::JSGlobalObject::arrayProtoValuesFunction):
(JSC::JSGlobalObject::initializePromiseFunction):
(JSC::JSGlobalObject::newPromiseCapabilityFunction):
(JSC::JSGlobalObject::functionProtoHasInstanceSymbolFunction):
(JSC::JSGlobalObject::regExpProtoExecFunction):
(JSC::JSGlobalObject::regExpProtoSymbolReplaceFunction):
(JSC::JSGlobalObject::regExpProtoGlobalGetter):
(JSC::JSGlobalObject::regExpProtoUnicodeGetter):
(JSC::JSGlobalObject::throwTypeErrorGetterSetter):
(JSC::JSGlobalObject::throwTypeErrorArgumentsAndCallerGetterSetter):
(JSC::JSGlobalObject::moduleLoader):
(JSC::JSGlobalObject::objectPrototype):
(JSC::JSGlobalObject::functionPrototype):
(JSC::JSGlobalObject::arrayPrototype):
(JSC::JSGlobalObject::booleanPrototype):
(JSC::JSGlobalObject::stringPrototype):
(JSC::JSGlobalObject::symbolPrototype):
(JSC::JSGlobalObject::numberPrototype):
(JSC::JSGlobalObject::datePrototype):
(JSC::JSGlobalObject::regExpPrototype):
(JSC::JSGlobalObject::errorPrototype):
(JSC::JSGlobalObject::iteratorPrototype):
(JSC::JSGlobalObject::generatorFunctionPrototype):
(JSC::JSGlobalObject::generatorPrototype):
(JSC::JSGlobalObject::debuggerScopeStructure):
(JSC::JSGlobalObject::withScopeStructure):
(JSC::JSGlobalObject::strictEvalActivationStructure):
(JSC::JSGlobalObject::activationStructure):
(JSC::JSGlobalObject::moduleEnvironmentStructure):
(JSC::JSGlobalObject::directArgumentsStructure):
(JSC::JSGlobalObject::scopedArgumentsStructure):
(JSC::JSGlobalObject::clonedArgumentsStructure):
(JSC::JSGlobalObject::isOriginalArrayStructure):
(JSC::JSGlobalObject::booleanObjectStructure):
(JSC::JSGlobalObject::callbackConstructorStructure):
(JSC::JSGlobalObject::callbackFunctionStructure):
(JSC::JSGlobalObject::callbackObjectStructure):
(JSC::JSGlobalObject::propertyNameIteratorStructure):
(JSC::JSGlobalObject::objcCallbackFunctionStructure):
(JSC::JSGlobalObject::objcWrapperObjectStructure):
(JSC::JSGlobalObject::dateStructure):
(JSC::JSGlobalObject::nullPrototypeObjectStructure):
(JSC::JSGlobalObject::errorStructure):
(JSC::JSGlobalObject::calleeStructure):
(JSC::JSGlobalObject::functionStructure):
(JSC::JSGlobalObject::boundFunctionStructure):
(JSC::JSGlobalObject::boundSlotBaseFunctionStructure):
(JSC::JSGlobalObject::getterSetterStructure):
(JSC::JSGlobalObject::nativeStdFunctionStructure):
(JSC::JSGlobalObject::namedFunctionStructure):
(JSC::JSGlobalObject::functionNameOffset):
(JSC::JSGlobalObject::numberObjectStructure):
(JSC::JSGlobalObject::privateNameStructure):
(JSC::JSGlobalObject::mapStructure):
(JSC::JSGlobalObject::regExpStructure):
(JSC::JSGlobalObject::generatorFunctionStructure):
(JSC::JSGlobalObject::setStructure):
(JSC::JSGlobalObject::stringObjectStructure):
(JSC::JSGlobalObject::symbolObjectStructure):
(JSC::JSGlobalObject::iteratorResultObjectStructure):
(JSC::JSGlobalObject::lazyTypedArrayStructure):
(JSC::JSGlobalObject::typedArrayStructure):
(JSC::JSGlobalObject::typedArrayStructureConcurrently):
(JSC::JSGlobalObject::isOriginalTypedArrayStructure):
(JSC::JSGlobalObject::typedArrayConstructor):
(JSC::JSGlobalObject::actualPointerFor):
(JSC::JSGlobalObject::internalFunctionStructure): Deleted.
- runtime/JSNativeStdFunction.cpp:
(JSC::JSNativeStdFunction::create):
- runtime/JSWithScope.cpp:
(JSC::JSWithScope::create):
(JSC::JSWithScope::visitChildren):
(JSC::JSWithScope::createStructure):
(JSC::JSWithScope::JSWithScope):
- runtime/JSWithScope.h:
(JSC::JSWithScope::object):
(JSC::JSWithScope::create): Deleted.
(JSC::JSWithScope::createStructure): Deleted.
(JSC::JSWithScope::JSWithScope): Deleted.
- runtime/LazyClassStructure.cpp: Added.
(JSC::LazyClassStructure::Initializer::Initializer):
(JSC::LazyClassStructure::Initializer::setPrototype):
(JSC::LazyClassStructure::Initializer::setStructure):
(JSC::LazyClassStructure::Initializer::setConstructor):
(JSC::LazyClassStructure::visit):
(JSC::LazyClassStructure::dump):
- runtime/LazyClassStructure.h: Added.
(JSC::LazyClassStructure::LazyClassStructure):
(JSC::LazyClassStructure::get):
(JSC::LazyClassStructure::prototype):
(JSC::LazyClassStructure::constructor):
(JSC::LazyClassStructure::getConcurrently):
(JSC::LazyClassStructure::prototypeConcurrently):
(JSC::LazyClassStructure::constructorConcurrently):
- runtime/LazyClassStructureInlines.h: Added.
(JSC::LazyClassStructure::initLater):
- runtime/LazyProperty.h: Added.
(JSC::LazyProperty::Initializer::Initializer):
(JSC::LazyProperty::LazyProperty):
(JSC::LazyProperty::get):
(JSC::LazyProperty::getConcurrently):
- runtime/LazyPropertyInlines.h: Added.
(JSC::ElementType>::Initializer::set):
(JSC::ElementType>::initLater):
(JSC::ElementType>::setMayBeNull):
(JSC::ElementType>::set):
(JSC::ElementType>::visit):
(JSC::ElementType>::dump):
(JSC::ElementType>::callFunc):
- runtime/Lookup.cpp:
(JSC::setUpStaticFunctionSlot):
- runtime/Lookup.h:
(JSC::HashTableValue::function):
(JSC::HashTableValue::functionLength):
(JSC::HashTableValue::propertyGetter):
(JSC::HashTableValue::propertyPutter):
(JSC::HashTableValue::accessorGetter):
(JSC::HashTableValue::accessorSetter):
(JSC::HashTableValue::constantInteger):
(JSC::HashTableValue::lexerValue):
(JSC::HashTableValue::lazyCellPropertyOffset):
(JSC::HashTableValue::lazyClassStructureOffset):
(JSC::HashTableValue::lazyPropertyCallback):
(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
(JSC::putEntry):
(JSC::reifyStaticProperty):
- runtime/PropertySlot.h:
- runtime/TypedArrayType.h:
Source/WebCore:
Reviewed by Keith Miller.
No new tests because no change in behavior.
This adapts JSHTMLElementCustom.cpp to the new JSWithScope API. Note that this revealed
that this was using a curious choice of global object, which may not be right. I decided
to do a very literal refactoring that exactly preserves what this code got before, but I
added a FIXME to reconsider this later.
- bindings/js/JSHTMLElementCustom.cpp:
(WebCore::JSHTMLElement::pushEventHandlerScope):
Source/WTF:
Reviewed by Keith Miller.
This WTF change is at the heart of a large JSC change. In JSC I found myself wanting to
do this a lot:
static void callback(Foo& foo) { ... }
foo.setCallback(callback);
But that's not very nice to write if many different setCallback() calls are inside of the
same very large function: you'll have to have a lot of static function definitions in
one part of the file, and then a bunch of setCallback() calls in another part. It's hard
to reason about what's going on with such code.
So what if you wrote this instead:
foo.setCallback([] (Foo& foo) { ... });
Much nicer! There is a standard way to do this: lambdas that are stateless are
convertible to function pointers. This change also offers another approach that is a bit
more general.
These additions to WTF help you do it:
isStatelessLambda<Func>(): tells you if Func is a stateless lambda. This uses is_empty to
test if the lambda is stateless. This turns out to be a stronger property than
convertibility to function pointers. For example, a function pointer is convertible to a
function pointer, but it is definitely stateful: you cannot successfully call it if you
only has its type. On the other hand, a stateless lambda is really stateless in the sense
that you only need its type to call it.
callStatelessLambda<ResultType, Func>(Arguments&&...): calls the given stateless lambda.
JSC uses these to build up some sophisticated lazy-initialization APIs. The use of
statelessness allows JSC to combine a lambda with other logic into a single function
pointer.
- wtf/StdLibExtras.h:
(WTF::isStatelessLambda):
(WTF::callStatelessLambda):
LayoutTests:
Reviewed by Mark Lam.
- js/dom/cross-window-put-math-expected.txt: Added.
- js/dom/cross-window-put-math.html: Added.
- 2:05 PM Changeset in webkit [200429] by
-
- 12 edits in trunk
Improve the grammar of some error messages 'a argument list' => 'an argument list'
https://bugs.webkit.org/show_bug.cgi?id=157350
<rdar://problem/26082108>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-04
Reviewed by Mark Lam.
LayoutTests/imported/w3c:
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/JavaScriptCore:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseIfStatement):
(JSC::Parser<LexerType>::parseImportDeclaration):
(JSC::Parser<LexerType>::parseExportDeclaration):
(JSC::Parser<LexerType>::parseObjectLiteral):
(JSC::Parser<LexerType>::parseStrictObjectLiteral):
(JSC::Parser<LexerType>::parseArguments):
Use the alternate error message formatter macro which outputs 'an'
instead of 'a' preceding the last argument.
LayoutTests:
- fast/css/css-selector-text-expected.txt:
- inspector/runtime/parse-expected.txt:
- js/object-literal-computed-methods-expected.txt:
- js/object-literal-methods-expected.txt:
- sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.12-expected.txt:
- sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A6_T1-expected.txt:
- sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A6_T2-expected.txt:
- 1:49 PM Changeset in webkit [200428] by
-
- 8 edits1 add in trunk
Corrections to r200422
https://bugs.webkit.org/show_bug.cgi?id=157351
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
Fix some typos in various files. Also, make separate error messages
for the this value being undefined vs null in the ArrayIteratorprototype
next function and add test.
- Scripts/builtins/builtins_model.py:
- builtins/ArrayIteratorPrototype.js:
(next):
(arrayIteratorValueNext):
(arrayIteratorKeyNext):
(arrayIteratorKeyValueNext):
- builtins/ArrayPrototype.js:
(keys):
(entries):
- builtins/TypedArrayPrototype.js:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Deleted.
- tests/stress/array-iterators-next-error-messages.js: Added.
(assert):
(catch):
LayoutTests:
Test case had some code changed that was not intended.
- js/regress/script-tests/deltablue-for-of.js:
(deltaBlue):
- 1:32 PM Changeset in webkit [200427] by
-
- 2 edits in trunk/Source/WebCore
[css-grid] Refactor information stored related to column positions
https://bugs.webkit.org/show_bug.cgi?id=157342
Reviewed by Darin Adler.
In m_columnPositions we were storing position of each column
including the alignment offset, always from the logical left,
and the border and padding, depending on the direction.
This was really confusing as in the case of RTL direction
we were adding the offset from the left and
the right border and padding.
This patches changes it to store always the info from the left,
so even in RTL direction we use the left border and padding.
This allows us to simplify translateRTLCoordinate() as
it doesn't need to care about border and padding anymore.
And also to refactor offsetAndBreadthForPositionedChild()
which became really complex after adding RTL support.
No new tests, no change of behavior.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
(WebCore::RenderGrid::populateGridPositions):
(WebCore::RenderGrid::translateRTLCoordinate):
- 1:15 PM Changeset in webkit [200426] by
-
- 40 edits5 adds in trunk
Unreviewed, reland r200149 since the rollout had inconclusive PLT AB testing results.
- 1:00 PM Changeset in webkit [200425] by
-
- 6 edits in trunk
Web Inspector: GC Root Path sometimes does not go up to Window
https://bugs.webkit.org/show_bug.cgi?id=156768
<rdar://problem/25816131>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-04
Reviewed by Geoffrey Garen.
Source/WebInspectorUI:
- UserInterface/Proxies/HeapSnapshotNodeProxy.js:
(WebInspector.HeapSnapshotNodeProxy.prototype.retainers):
Include paths for debugging.
- UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
(HeapSnapshot.prototype.shortestGCRootPath):
(HeapSnapshot.prototype._isNodeGlobalObject):
Prefer the shortest GC Root Path that contains a known
global object, otherwise fallback to the shortest.
(HeapSnapshot.prototype.retainers):
Include paths for debugging.
LayoutTests:
- inspector/unit-tests/heap-snapshot-expected.txt:
- inspector/unit-tests/heap-snapshot.html:
- 12:51 PM Changeset in webkit [200424] by
-
- 2 edits in trunk/LayoutTests
Rebaseline inspector/model/remote-object.html after r200422
Unreviewed test gardening.
- platform/mac/inspector/model/remote-object-expected.txt:
- 12:23 PM Changeset in webkit [200423] by
-
- 13 edits3 adds in trunk
ES6 Function.name inferred from property names of literal objects can break some websites.
https://bugs.webkit.org/show_bug.cgi?id=157246
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Specifically, the library mathjs (see http://mathjs.org and https://github.com/josdejong/mathjs)
uses an idiom where it created literal objects with property names that look like
this: 'number | BigNumber | Unit'. Later, this name is used in a string to create
function source code that gets eval'ed. Since 'number | BigNumber | Unit' is not
a valid function name, we get a syntax error.
Here are the details:
- mathjs uses object literals with the funky property names for its function members. For example,
helper function to type check the middle value of the array
var middle = typed({
'number | BigNumber | Unit': function (value) {
return value;
}
});
- mathjs' getName() uses Function.name to get the name of functions (hence, picks up the property name as inferred value of Function.name as specified by ES6):
/
- Retrieve the function name from a set of functions, and check
- whether the name of all functions match (if given) ... */
function getName (fns) {
var name = ;
for (var i = 0; i < fns.length; i++) {
var fn = fns[i];
...
name = fn.name;
...
return name;
}
- mathjs uses that name to assembler new function source code that gets eval'ed:
/
- Compose a function from sub-functions each handling a single type signature. ... */
function _typed(name, signatures) {
...
generate code for the typed function
var code = [];
var _name = name ; ...
code.push('function ' + _name + '(' + _args.join(', ') + ') {');
code.push(' "use strict";');
code.push(' var name = \ + _name + '\';');
code.push(node.toCode(refs, ' '));
code.push('}');
generate body for the factory function
var body = [
refs.toCode(),
'return ' + code.join('\n')
].join('\n');
evaluate the JavaScript code and attach function references
var factory = (new Function(refs.name, 'createError', body)); <== Syntax Error here!
var fn = factory(refs, createError);
...
return fn;
}
Until mathjs (and any other frameworks that does similar things) and sites that
uses mathjs has been updated to work with ES6, we'll need a compatibility hack to
work around it.
Here's what we'll do:
- Introduce a needsSiteSpecificQuirks flag in JSGlobalObject.
- Have WebCore's JSDOMWindowBase set that flag if the browser's needsSiteSpecificQuirks is enabled in its settings.
- If needsSiteSpecificQuirks is enabled, have JSFunction::reifyName() check for ' ' or '|' in the name string it will use to reify the Function.name property. If those characters exists in the name, we'll replace the name string with a null string.
- runtime/JSFunction.cpp:
(JSC::JSFunction::reifyName):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::needsSiteSpecificQuirks):
(JSC::JSGlobalObject::GlobalPropertyInfo::GlobalPropertyInfo):
(JSC::JSGlobalObject::setNeedsSiteSpecificQuirks):
Source/WebCore:
Test: js/dom/regress-157246.html
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::finishCreation):
- Set the needsSiteSpecificQuirks flag in the JSGlobalObject if needed.
Tools:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
- WebKitTestRunner/TestOptions.h:
- WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::viewSupportsOptions):
- WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::viewSupportsOptions):
- Add needsSiteSpecificQuirks to WKTR options that can be set.
LayoutTests:
- js/dom/regress-157246-expected.txt: Added.
- js/dom/regress-157246.html: Added.
- js/dom/script-tests/regress-157246.js: Added.
- platform/ios-simulator-wk1/TestExpectations:
- platform/mac-wk1/TestExpectations:
- Skip js/dom/regress-157246.html for wk1 because it relies on a WKTR feature to enable the needsSiteSpecificQuirks settings before running the test.
- 10:59 AM Changeset in webkit [200422] by
-
- 19 edits3 adds in trunk
Speedup array iterators
https://bugs.webkit.org/show_bug.cgi?id=157315
Reviewed by Michael Saboff.
Source/JavaScriptCore:
This patch improves the performance of Array iterators in ES6. There are two main changes
that make things faster. The first is that the value, keys and entries functions have been
moved to JS. This enables us to inline the construction of the iterator. Thus, when we get
to the FTL we are able to sink the allocation of the iterator object. This significantly
improves the performance of any for-of loop since we are now able to have both the iteration
counter and the iterated object in local variables rather than in the heap.
Secondly, instead of using a number to store the iteratation kind we now use a virtual
method on the iteration object to indicate which next function to use. This ends up being
helpful because it means we can eliminate the branches in the old next function that decide
what value to return. With those branches gone the various next functions are now small
enough to inline. Once the next functions are inlined then the FTL is able to sink the
allocation of next() result object. There is still room for optimization in the loop since
we currently don't recognize that the array access in the next function is in bounds or that
the increment to the loop counter cannot overflow.
The overall performance changes appear to be a ~4-6x speedup in a simple microbenchmark that
computes the sum of an array with some extra arithmetic. The variance depends on the exact
body of the loop. Additionally, on a new regress test that changes all the loops in
deltablue into for-of loops this patch is a 1.8x progression. Overall, it still looks like
for-of loops are significantly slower than an indexed for loop. In the first test it's ~2-4x
slower with the difference depending on the body of the loop. If the loop is just the sum
then we see a much larger regression than if the loop does even simple arithmetic. It looks
like the indexed for loop without extra arithmetic is small enough to fit into the x86
replay buffer on my machine, which would explain why there is such a big difference between
the for of loop in that case. On the deltablue benchmark it's 1.4x slower. It's clear from
these numbers that there is still a lot of work we can do to make for of loops faster.
This patch also makes some changes to the way that we decorate our builtin js
functions. Instead of the old syntax (putting the decorated values in [] before the function
declaration i.e. [intrinsic=foo]) this patch changes the syntax to be closer to the way that
decorators are proposed in a future ECMAScript proposal (using @ followed by the entry on a
new line before the function declaration i.e. @intrinsic=foo).
Finally, in the builtin scripts regular expressions re.S has been changed to re.DOTALL since
DOTALL is easier to understand without going to the reference page for python regular
expressions.
- Scripts/builtins/builtins_model.py:
- builtins/ArrayIteratorPrototype.js:
(next):
(arrayIteratorValueNext):
(arrayIteratorKeyNext):
(arrayIteratorKeyValueNext):
- builtins/ArrayPrototype.js:
(createArrayIterator):
(values):
(keys):
(entries):
- builtins/RegExpPrototype.js:
(intrinsic.RegExpTestIntrinsic.test):
- builtins/StringPrototype.js:
(intrinsic.StringPrototypeReplaceIntrinsic.replace):
- builtins/TypedArrayPrototype.js:
(values):
(keys):
(entries):
- inspector/JSInjectedScriptHost.cpp:
(Inspector::cloneArrayIteratorObject):
(Inspector::JSInjectedScriptHost::iteratorEntries):
- jit/ThunkGenerators.cpp:
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
(JSC::arrayProtoFuncValues): Deleted.
(JSC::arrayProtoFuncEntries): Deleted.
(JSC::arrayProtoFuncKeys): Deleted.
- runtime/CommonIdentifiers.h:
- runtime/JSArrayIterator.cpp:
(JSC::JSArrayIterator::clone): Deleted.
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncEntries): Deleted.
(JSC::genericTypedArrayViewProtoFuncKeys): Deleted.
(JSC::typedArrayViewProtoFuncValues): Deleted.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSGlobalObject.h:
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::JSTypedArrayViewPrototype::finishCreation):
(JSC::typedArrayViewProtoFuncEntries): Deleted.
(JSC::typedArrayViewProtoFuncKeys): Deleted.
(JSC::typedArrayViewProtoFuncValues): Deleted.
- runtime/MapPrototype.cpp:
(JSC::MapPrototype::finishCreation):
- runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):
LayoutTests:
Add a new regression test for for-of iterators in ES6. The test is a
modification of the deltablue benchmark that converts all the
loops on Arrays into for-of loops.
- js/regress/deltablue-for-of-expected.txt: Added.
- js/regress/deltablue-for-of.html: Added.
- js/regress/script-tests/deltablue-for-of.js: Added.
(Object.prototype.inheritsFrom):
(OrderedCollection):
(OrderedCollection.prototype.add):
(OrderedCollection.prototype.at):
(OrderedCollection.prototype.size):
(OrderedCollection.prototype.removeFirst):
(OrderedCollection.prototype.remove):
(Strength):
(Strength.stronger):
(Strength.weaker):
(Strength.weakestOf):
(Strength.strongest):
(Strength.prototype.nextWeaker):
(Constraint):
(Constraint.prototype.addConstraint):
(Constraint.prototype.satisfy):
(Constraint.prototype.destroyConstraint):
(Constraint.prototype.isInput):
(UnaryConstraint):
(UnaryConstraint.prototype.addToGraph):
(UnaryConstraint.prototype.chooseMethod):
(UnaryConstraint.prototype.isSatisfied):
(UnaryConstraint.prototype.markInputs):
(UnaryConstraint.prototype.output):
(UnaryConstraint.prototype.recalculate):
(UnaryConstraint.prototype.markUnsatisfied):
(UnaryConstraint.prototype.inputsKnown):
(UnaryConstraint.prototype.removeFromGraph):
(StayConstraint):
(StayConstraint.prototype.execute):
(EditConstraint.prototype.isInput):
(EditConstraint.prototype.execute):
(BinaryConstraint):
(BinaryConstraint.prototype.chooseMethod):
(BinaryConstraint.prototype.addToGraph):
(BinaryConstraint.prototype.isSatisfied):
(BinaryConstraint.prototype.markInputs):
(BinaryConstraint.prototype.input):
(BinaryConstraint.prototype.output):
(BinaryConstraint.prototype.recalculate):
(BinaryConstraint.prototype.markUnsatisfied):
(BinaryConstraint.prototype.inputsKnown):
(BinaryConstraint.prototype.removeFromGraph):
(ScaleConstraint):
(ScaleConstraint.prototype.addToGraph):
(ScaleConstraint.prototype.removeFromGraph):
(ScaleConstraint.prototype.markInputs):
(ScaleConstraint.prototype.execute):
(ScaleConstraint.prototype.recalculate):
(EqualityConstraint):
(EqualityConstraint.prototype.execute):
(Variable):
(Variable.prototype.addConstraint):
(Variable.prototype.removeConstraint):
(Planner):
(Planner.prototype.incrementalAdd):
(Planner.prototype.incrementalRemove):
(Planner.prototype.newMark):
(Planner.prototype.makePlan):
(Planner.prototype.extractPlanFromConstraints):
(Planner.prototype.addPropagate):
(Planner.prototype.removePropagateFrom):
(Planner.prototype.addConstraintsConsumingTo):
(Plan):
(Plan.prototype.addConstraint):
(Plan.prototype.size):
(Plan.prototype.constraintAt):
(Plan.prototype.execute):
(chainTest):
(projectionTest):
(change):
(deltaBlue):
- 10:40 AM Changeset in webkit [200421] by
-
- 5 edits1 add in trunk/Source/JavaScriptCore
[JSC] Object constructor need to be aware of new.target
https://bugs.webkit.org/show_bug.cgi?id=157196
Reviewed by Darin Adler.
Object constructor should be aware of new.target.
When the new.target is specified, we should store it.prototype to the newly created
object's Prototype.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
Take the design that caches the structure used for empty object.
This structure is also used in constructEmptyObject frequently.
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::objectStructureForObjectConstructor):
- runtime/ObjectConstructor.cpp:
(JSC::constructObject):
(JSC::constructWithObjectConstructor):
(JSC::callObjectConstructor):
- runtime/ObjectConstructor.h:
(JSC::constructEmptyObject):
Construct the object by using the plain structure that is also used in the ObjectConstructor.
- tests/stress/object-constructor-should-be-new-target-aware.js: Added.
(shouldBe):
(Hello):
- 10:20 AM Changeset in webkit [200420] by
-
- 2 edits in trunk/Source/WTF
[Win] Use NeverDestroyed template.
https://bugs.webkit.org/show_bug.cgi?id=157345
Reviewed by Darin Adler.
- wtf/ThreadingWin.cpp:
(WTF::threadMapMutex):
(WTF::threadMap):
- 9:35 AM Changeset in webkit [200419] by
-
- 2 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/html/dom/interfaces.html as failing on ios-simulator release builds
https://bugs.webkit.org/show_bug.cgi?id=157344
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 9:21 AM Changeset in webkit [200418] by
-
- 2 edits in trunk/LayoutTests
Remove failure expectation for imported/w3c/web-platform-tests/html/dom/interfaces.html on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=157344
Unreviewed test gardening.
This failure expectation was overriding the global skip on debug builds.
- platform/ios-simulator/TestExpectations:
- 9:20 AM Changeset in webkit [200417] by
-
- 5 edits in trunk/Source/WebCore
Deduplicated initializer lists of BitmapImage constructors.
https://bugs.webkit.org/show_bug.cgi?id=157249
Reviewed by Darin Adler.
No new tests needed.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::BitmapImage): Added new private constructor of
BitmapImage for delegation purpose only.
- platform/graphics/BitmapImage.h: Use inline initialization for some
BitmapImage fields.
- platform/graphics/cairo/BitmapImageCairo.cpp:
(WebCore::BitmapImage::BitmapImage): Delegate field initialization to
new private constructor.
- platform/graphics/cg/BitmapImageCG.cpp:
(WebCore::BitmapImage::BitmapImage): Ditto.
- 8:48 AM Changeset in webkit [200416] by
-
- 41 edits7 deletes in trunk
Unreviewed, rolling out r200383 and r200406.
Seems to have caused crashes on iOS / ARMv7s
Reverted changesets:
"Speed up JSGlobalObject initialization by making some
properties lazy"
https://bugs.webkit.org/show_bug.cgi?id=157045
http://trac.webkit.org/changeset/200383
"REGRESSION(r200383): Setting lazily initialized properties
across frame boundaries crashes"
https://bugs.webkit.org/show_bug.cgi?id=157333
http://trac.webkit.org/changeset/200406
- 5:54 AM Changeset in webkit [200415] by
-
- 30 edits in trunk
AX: ARIA 'region' role is now a landmark; HTML 'section' element should be a landmark only if named
https://bugs.webkit.org/show_bug.cgi?id=157331
Reviewed by Chris Fleizach.
Source/WebCore:
The 'region' role is now mapped as a landmark: The WebCore DocumentRegionRole
AccessibilityRole has been renamed to LandmarkRegionRole. The AXDocumentRegion
subrole has been renamed to AXLandmarkRegion. A 'section' element is mapped to
the LandmarkRegionRole if it has an author-provided accessible name via either
the aria-label or aria-labelledby attribute. Otherwise, it is mapped as GroupRole
with no subrole.
Our existing test coverage for exposure of the 'region' role and the 'section'
element is sufficient. These tests were updated to reflect the new behavior.
Several new test cases were added to cover both sections with accessible names
and those without.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::accessibleNameDerivesFromContent):
(WebCore::AccessibilityObject::isLandmark):
(WebCore::initializeRoleMap):
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _accessibilityIsLandmarkRole:]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase ariaLandmarkRoleDescription]):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):
- platform/LocalizedStrings.cpp:
(WebCore::AXARIAContentGroupText):
Source/WebKit/win:
As part of this change, the WebCore DocumentRegionRole AccessibilityRole has
been renamed to LandmarkRegionRole. Update MSAARole() to use the new name.
- AccessibleBase.cpp:
(MSAARole):
Tools:
Add AXLandmarkRegion to the landmark strings handled by roleToString
for objects with ATK_ROLE_LANDMARK.
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
LayoutTests:
Our existing test coverage for exposure of the 'region' role and the 'section'
element is sufficient. These tests were updated to reflect the new behavior.
Several new test cases were added to cover both sections with accessible names
and those without.
- accessibility/gtk/xml-roles-exposed-expected.txt: Updated.
- accessibility/mac/aria-grouping-roles-expected.txt: Updated.
- accessibility/mac/aria-grouping-roles.html: Updated.
- accessibility/mac/html-section-elements-expected.txt: Updated.
- accessibility/mac/html-section-elements.html: Updated.
- accessibility/mac/landmark-not-ignored-expected.txt: Updated.
- accessibility/mac/landmark-not-ignored.html: Updated.
- accessibility/roles-computedRoleString-expected.txt: Updated.
- accessibility/roles-computedRoleString.html: New test cases added.
- accessibility/roles-exposed.html: New test cases added.
- platform/efl/accessibility/roles-exposed-expected.txt: Updated.
- platform/gtk/accessibility/roles-computedRoleString-expected.txt: Updated.
- platform/gtk/accessibility/roles-exposed-expected.txt: Updated.
- platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated.
- platform/mac/accessibility/roles-exposed-expected.txt: Updated.
- platform/win/accessibility/roles-exposed-expected.txt: Updated.
- 5:51 AM Changeset in webkit [200414] by
-
- 6 edits2 adds in trunk
Clicks inside button elements are sometimes discarded when the mouse moves
https://bugs.webkit.org/show_bug.cgi?id=39620
Reviewed by Darin Adler.
Source/WebCore:
Test: fast/events/click-over-descendant-elements.html
- dom/Node.cpp:
(WebCore::ancestor):
(WebCore::commonAncestor): Method inspired from
http://src.chromium.org/viewvc/blink?view=revision&revision=162081.
(WebCore::commonAncestorCrossingShadowBoundary): Helper routine
that handles the case of nodes into a shadow node.
- dom/Node.h:
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseReleaseEvent): Selecting click event
target node according commonAncestorOverShadowBoundary method.
(WebCore::EventHandler::targetNodeForClickEvent): Deleted.
LayoutTests:
Test coming from http://src.chromium.org/viewvc/blink?view=revision&revision=162081.
Modified to ensure click events do not end up being considered as double click events.
- fast/events/click-over-descendant-elements-expected.txt: Added.
- fast/events/click-over-descendant-elements.html: Added.
- platform/ios-simulator/TestExpectations: Marked new test as failing.
- 3:26 AM Changeset in webkit [200413] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fixing crashing GTK+ tests after r200407.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
Don't use RELEASE_ASSERT. Also fix the actual assertion,
checking that any of the values in the map matches the object
that's being destroyed, instead of checking the keys.
- 1:39 AM Changeset in webkit [200412] by
-
- 8 edits in trunk/Source
Add WKPreference for SelectionPaintingWithoutSelectionGaps
https://bugs.webkit.org/show_bug.cgi?id=156900
Reviewed by Michael Catanzaro.
Unlike other browsers WebKit has been drawing selection gaps
between render blocks during the text selection. This often
cause text selection screen looks messy.
This patch adds a setting method to disable the functionality,
and EFL port disables it by default.
Source/WebCore:
- page/Settings.in:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::shouldPaintSelectionGaps):
Source/WebKit2:
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetSelectionPaintingWithoutSelectionGapsEnabled):
(WKPreferencesGetSelectionPaintingWithoutSelectionGapsEnabled):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- 1:22 AM Changeset in webkit [200411] by
-
- 4 edits1 move in trunk/Source/WebCore
Rename JSKeyValueIterator as JSDOMIterator
https://bugs.webkit.org/show_bug.cgi?id=157308
Reviewed by Darin Adler.
No change of behavior.
- bindings/js/JSDOMIterator.h: Renamed from Source/WebCore/bindings/js/JSKeyValueIterator.h.
(WebCore::JSDOMIteratorPrototype::create):
(WebCore::JSDOMIteratorPrototype::createStructure):
(WebCore::JSDOMIteratorPrototype::JSDOMIteratorPrototype):
(WebCore::createKeyValueIterator):
(WebCore::keyValueIteratorForEach):
(WebCore::JSDOMIterator<JSWrapper>::destroy):
(WebCore::JSDOMIterator<JSWrapper>::next):
(WebCore::JSDOMIteratorPrototype<JSWrapper>::next):
(WebCore::JSDOMIteratorPrototype<JSWrapper>::finishCreation):
- bindings/js/JSFontFaceSetCustom.cpp:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementationIterableFunctions):
- bindings/scripts/test/JS/JSTestObj.cpp:
- 12:44 AM Changeset in webkit [200410] by
-
- 2 edits in trunk/Source/WebCore
CrashTracer: [USER] com.apple.WebKit.WebContent at …ple.WebCore: WebCore::EditCommandComposition::unapply + 105
https://bugs.webkit.org/show_bug.cgi?id=157282
<rdar://problem/25391441>
Reviewed by Darin Adler.
A frame could be destroyed in the middle of executing undo/redo command.
Therefore, add an early return.
- editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::unapply):
(WebCore::EditCommandComposition::reapply):
- 12:43 AM Changeset in webkit [200409] by
-
- 3 edits2 adds in trunk/Source/JavaScriptCore
Assertion failure for super() call in direct eval in method function
https://bugs.webkit.org/show_bug.cgi?id=157091
Reviewed by Darin Adler.
While we ensure that direct super is under the correct context,
we don't check it for the eval code. This patch moves the check from the end of parsing the function
to the places where we found the direct super or the super bindings. This covers the direct eval that
contains the direct super calls.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseGeneratorFunctionSourceElements):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseMemberExpression):
- parser/Parser.h:
(JSC::Scope::hasDirectSuper):
(JSC::Scope::setHasDirectSuper):
(JSC::Scope::needsSuperBinding):
(JSC::Scope::setNeedsSuperBinding):
(JSC::Parser::closestParentOrdinaryFunctionNonLexicalScope):
- tests/stress/eval-and-super.js: Added.
(shouldBe):
(shouldThrow):
(prototype.m):
(prototype.n):
- tests/stress/generator-and-super.js: Added.
(testSyntaxError):
(testSyntaxError.Base.prototype.hello):
(testSyntaxError.Base.prototype.ok):
(testSyntaxError.Base):
(Hello.prototype.gen):
(Hello):
(testSyntaxError.hello):
- 12:39 AM Changeset in webkit [200408] by
-
- 8 edits in trunk/Source
[CoordGraphics] CompositingCoordinator should hande root compositing and view overlay layers separately
https://bugs.webkit.org/show_bug.cgi?id=157305
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Split out handling of the root compositing and the view overlay layers
into two separate methods. Both do nothing if the passed-in layer is
the same as the current one. Otherwise, the current one is removed
from the tree and the new one added to it.
No change in behavior is expected.
- platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
(WebCore::CompositingCoordinator::setRootCompositingLayer):
(WebCore::CompositingCoordinator::setViewOverlayRootLayer):
- platform/graphics/texmap/coordinated/CompositingCoordinator.h:
Source/WebKit2:
Update CoordinatedLayerTreeHost and ThreadCoordinatedLayerTreeHost to
correctly use setRootCompositingLayer() and setViewOverlayRootLayer()
methods on the CompositingCoordinator object.
CoordinatedLayerTreeHost doesn't have to keep a pointer to the root
compositing layer anymore. updateRootLayers() can be removed.
ThreadCoordinatedLayerTreeHost doen't have to keep a pointer to both
the root compositing and the view overlay layers anymore. Similarly,
updateRootLayers() can be removed.
- WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::setViewOverlayRootLayer):
(WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): Deleted.
(WebKit::CoordinatedLayerTreeHost::updateRootLayers): Deleted.
- WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::setRootCompositingLayer):
(WebKit::ThreadedCoordinatedLayerTreeHost::setViewOverlayRootLayer):
(WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost): Deleted.
(WebKit::ThreadedCoordinatedLayerTreeHost::updateRootLayers): Deleted.
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
- 12:36 AM Changeset in webkit [200407] by
-
- 3 edits in trunk/Source/WebCore
[TexMap] Clean up TextureMapperGLData, TextureMapperGLData::SharedGLData
https://bugs.webkit.org/show_bug.cgi?id=157303
Reviewed by Carlos Garcia Campos.
Torch the TextureMapperGLData and TextureMapperGLData::SharedGLData
classes into a better form.
SharedGLData is now private to the TextureMapperGLData class, but
lists that class as a friend. This enables moving the getShaderProgram()
method to TextureMapperGLData and removes the need to expose the
SharedGLData publicly. SharedGLData also doesn't have to keep a
reference to the GraphicsContext3D object.
TextureMapperGLData now default-initializes the publicly accessible
member variables while making some other members private, not exposing
anything that isn't necessary.
Usual whitespace cleanup included. More elegant HashMap::ensure()
insertions are used where they don't obfuscate object creation.
No new tests -- no change in behavior.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
(WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
(WebCore::TextureMapperGLData::SharedGLData::contextDataMap):
(WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
(WebCore::TextureMapperGLData::TextureMapperGLData):
(WebCore::TextureMapperGLData::~TextureMapperGLData):
(WebCore::TextureMapperGLData::initializeStencil):
(WebCore::TextureMapperGLData::getStaticVBO):
(WebCore::TextureMapperGLData::getShaderProgram):
(WebCore::TextureMapperGL::TextureMapperGL):
(WebCore::TextureMapperGL::drawBorder):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawSolidColor):
(WebCore::TextureMapperGL::drawFiltered):
(WebCore::TextureMapperGL::beginClip):
(WebCore::TextureMapperGLData::SharedGLData::glContextDataMap): Deleted.
(WebCore::TextureMapperGLData::SharedGLData::getShaderProgram): Deleted.
(WebCore::TextureMapperGLData::sharedGLData): Deleted.
- platform/graphics/texmap/TextureMapperGL.h:
May 3, 2016:
- 10:01 PM Changeset in webkit [200406] by
-
- 4 edits2 adds in trunk
REGRESSION(r200383): Setting lazily initialized properties across frame boundaries crashes
https://bugs.webkit.org/show_bug.cgi?id=157333
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
I forgot to add logic for lazy properties in putEntry(). It turns out that it's easy to
add.
- runtime/Lookup.h:
(JSC::putEntry):
- runtime/PropertySlot.h:
LayoutTests:
This is JoePeck's original test case. It used to crash and now it doesn't crash anymore.
- js/dom/cross-window-put-math-expected.txt: Added.
- js/dom/cross-window-put-math.html: Added.
- 7:23 PM Changeset in webkit [200405] by
-
- 8 edits in trunk/Source/JavaScriptCore
References from code to Structures should be stronger than weak
https://bugs.webkit.org/show_bug.cgi?id=157324
Reviewed by Mark Lam.
If code refers to a Structure and the Structure dies, then previously we'd kill the code.
This makes sense because the Structure could be the only thing left referring to some global
object or prototype.
But this also causes unnecessary churn. Sometimes there will be a structure that we just
haven't really done anything with recently and so it appears dead. The approach we use
elsewhere in our type inference is that the type that the code uses is general enough to
handle every past execution. Having the GC clear code when some Structure it uses dies means
that we forget that the code used that Structure. We'll either assume that the code is more
monomorphic than it really is (because after GC we patch in some other structure but not the
deleted one, so it looks like we only ever saw the new structure), or we'll assume that it's
crazier than it really is (because we'll remember that there had been some structure that
caused deletion, so we'll assume that deletions might happen in the future, so we'll use a
fully dynamic IC).
This change introduces a more nuanced policy: if it's cheap to mark a dead Structure then we
should mark it just so that all of the code that refers to it remembers that there had been
this exact Structure in the past. If the code often goes through different Structures then
we already have great mechanisms to realize that the code is nutty (namely, the
PolymorphicAccess size limit). But if the code just does this a handful of times then
remembering this old Structure is probably net good:
- It obeys the "handle all past executions" law.
- It preserves the history of the property access, allowing a precise measure of its past polymorphism.
- It makes the code ready to run fast if the user decides to use that Structure again. Marking the Structure means it will stay in whatever property transition tables it was in, so if the program does the same thing it did in the past, it will get this old Structure.
It looks like this is a progression in gbemu and it makes gbemu perform more
deterministically. Also, it seems that this makes JetStream run faster.
Over five in-browser runs of JetStream, here's what we see before and after:
Geometric Mean:
Before After
229.23 +- 8.2523 230.70 +- 12.888
232.91 +- 15.638 239.04 +- 13.766
234.79 +- 12.760 236.32 +- 15.562
236.20 +- 23.125 242.02 +- 3.3865
237.22 +- 2.1929 237.23 +- 17.664
Just gbemu:
Before After
541.0 +- 135.8 481.7 +- 143.4
518.9 +- 15.65 508.1 +- 136.3
362.5 +- 0.8884 489.7 +- 101.4
470.7 +- 313.3 530.7 +- 11.49
418.7 +- 180.6 537.2 +- 6.514
Notice that there is plenty of noise before and after, but the noise is now far less severe.
After this change I did not see any runs like "470.7 +- 313.3" where the size of the
confidence interval (313.3 * 2) is greater than the score (470.7). Also, notice that the
least noisy run before the change also got a lower score than we ever observed after the
change (36.5 +- 0.8884). The noise, and these occasional very low scores, are due to a
pathology where the GC would reset some stubs at an unfortunate time during profiling,
causing the optimizing compiler to make many poor decisions. That pathology doesn't exist
anymore.
On the other hand, prior to this change it was possible for gbemu to sometimes run sooooper
fast because the GC would cause the profiler to forget gbemu's behavior on the first tick
and focus only on its behavior in subsequent ticks. So, in steady state, we'd optimize gbemu
for its later behavior rather than a combination of its early behavior and later behavior.
We rarely got lucky this way, so it's not fair to view this quirk as a feature.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::propagateTransitions):
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::visitWeak):
(JSC::AccessCase::propagateTransitions):
(JSC::AccessCase::generateWithGuard):
(JSC::PolymorphicAccess::visitWeak):
(JSC::PolymorphicAccess::propagateTransitions):
(JSC::PolymorphicAccess::dump):
- bytecode/PolymorphicAccess.h:
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::visitWeakReferences):
(JSC::StructureStubInfo::propagateTransitions):
(JSC::StructureStubInfo::containsPC):
- bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::considerCaching):
- runtime/Structure.cpp:
(JSC::Structure::visitChildren):
(JSC::Structure::isCheapDuringGC):
(JSC::Structure::markIfCheap):
(JSC::Structure::prototypeChainMayInterceptStoreTo):
- runtime/Structure.h:
- 6:54 PM Changeset in webkit [200404] by
-
- 6 edits in trunk/Source/JavaScriptCore
Web Inspector: Simplify console.clear
https://bugs.webkit.org/show_bug.cgi?id=157316
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-03
Reviewed by Timothy Hatcher.
- inspector/ScriptArguments.cpp:
(Inspector::ScriptArguments::createEmpty):
(Inspector::ScriptArguments::ScriptArguments):
- inspector/ScriptArguments.h:
Provide a way to create an empty list.
- runtime/ConsoleClient.cpp:
(JSC::ConsoleClient::clear):
- runtime/ConsoleClient.h:
Drop unnecessary parameter.
- runtime/ConsoleObject.cpp:
(JSC::consoleProtoFuncClear):
No need to parse arguments.
- 6:46 PM Changeset in webkit [200403] by
-
- 5 edits4 adds in trunk
Add VideoControlsManager tests
https://bugs.webkit.org/show_bug.cgi?id=157332
-and corresponding-
rdar://problem/24358431
Reviewed by Sam Weinig.
Source/WebKit2:
Expose _hasActiveVideoForControlsManager on WKWebViewPrivate for the sake of
testing.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _hasActiveVideoForControlsManager]):
(-[WKWebView _doAfterNextPresentationUpdate:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Tools:
This patch adds three VideoControlsManager tests.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/ios/video-with-audio.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm: Added.
(-[DidPlayMessageHandler initWithWKWebView:]):
(-[DidPlayMessageHandler userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-with-audio.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-with-audio.mp4: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-without-audio.html: Added.
- 6:21 PM Changeset in webkit [200402] by
-
- 20 edits1 add in trunk
Improve Symbol() to string coercion error message
https://bugs.webkit.org/show_bug.cgi?id=157317
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Improve error messages related to Symbols.
- runtime/JSCJSValue.cpp:
(JSC::JSValue::toStringSlowCase):
- runtime/Symbol.cpp:
(JSC::Symbol::toNumber):
- runtime/SymbolConstructor.cpp:
(JSC::symbolConstructorKeyFor):
- runtime/SymbolPrototype.cpp:
(JSC::symbolProtoFuncToString):
(JSC::symbolProtoFuncValueOf):
- tests/stress/dfg-to-primitive-pass-symbol.js:
- tests/stress/floating-point-div-to-mul.js:
(i.catch):
- tests/stress/string-from-code-point.js:
(shouldThrow):
(string_appeared_here.shouldThrow):
- tests/stress/symbol-error-messages.js: Added.
(shouldThrow):
- tests/stress/symbol-registry.js:
LayoutTests:
- js/math-clz32-expected.txt:
- js/script-tests/symbol-abstract-relational-comparison.js:
(relationalOperators.forEach):
- js/script-tests/symbol-object.js:
- js/script-tests/symbol-prototype-is-ordinary-object.js:
- js/script-tests/symbol-tostring.js:
- js/string-code-point-at-expected.txt:
- js/symbol-abstract-relational-comparison-expected.txt:
- js/symbol-object-expected.txt:
- js/symbol-prototype-is-ordinary-object-expected.txt:
- js/symbol-tostring-expected.txt:
- 6:19 PM Changeset in webkit [200401] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Adding a new console message shouldn't modify DOM when the console log is hidden
https://bugs.webkit.org/show_bug.cgi?id=155629
<rdar://problem/25235470>
Reviewed by Timothy Hatcher.
Instead of rendering console messages right away, store them (in _pendingMessages)
and render only when the console tab or the split console is visible.
Also, batch rendering operations using requestAnimationFrame.
- UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController):
Store console message views in _pendingMessages.
(WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView):
(WebInspector.JavaScriptLogViewController.prototype.renderPendingMessages):
Use requestAnimationFrame batching. Run isScrolledToBottom() at most only once
per batch.
(WebInspector.JavaScriptLogViewController.prototype.renderPendingMessagesSoon):
(WebInspector.JavaScriptLogViewController.prototype._didRenderConsoleMessageView):
There is no need to run scrollToBottom again.
- UserInterface/Views/ConsoleCommandView.js:
(WebInspector.ConsoleCommandView):
Move all DOM operations to a new render method.
(WebInspector.ConsoleCommandView.prototype.render):
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView):
(WebInspector.ConsoleMessageView.prototype.render):
(WebInspector.ConsoleMessageView.prototype.set repeatCount):
(WebInspector.ConsoleMessageView.prototype._renderRepeatCount):
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype.shown):
When the console tab or the split console is opened render all pending messages.
(WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
Don't call needsLayout on every added console message. Call it only once per
requestAnimationFrame. Also, no need to scrollToBottom once again.
(WebInspector.LogContentView.prototype._messageAdded):
(WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated):
(WebInspector.LogContentView.prototype._scopeFromMessageLevel): Deleted.
(WebInspector.LogContentView.prototype._markScopeBarItemUnread): Added.
Rename _pulseScopeBarItemBorder. In the very first version the border was pulsing,
but now we use small colored circles instead.
- 6:08 PM Changeset in webkit [200400] by
-
- 6 edits2 adds in trunk
Web Inspector: Give console.time/timeEnd a default label and warnings
https://bugs.webkit.org/show_bug.cgi?id=157325
<rdar://problem/26073290>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-03
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
Provide more user friendly console.time/timeEnd. The timer name
is now optional, and is "default" if not provided. Also provide
warnings when attempting to start an already started timer,
or stop a timer that does not exist.
- inspector/agents/InspectorConsoleAgent.cpp:
(Inspector::InspectorConsoleAgent::startTiming):
(Inspector::InspectorConsoleAgent::stopTiming):
Warnings for bad cases.
- runtime/ConsoleObject.cpp:
(JSC::defaultLabelString):
(JSC::consoleProtoFuncTime):
(JSC::consoleProtoFuncTimeEnd):
Optional label becomes "default".
Source/WebInspectorUI:
- UserInterface/Models/NativeFunctionParameters.js:
Update the convenience signature.
LayoutTests:
- inspector/console/console-time-expected.txt: Added.
- inspector/console/console-time.html: Added.
- 6:06 PM Changeset in webkit [200399] by
-
- 3 edits in trunk/Source/JavaScriptCore
Fix the ENABLE(WEBASSEMBLY) build
https://bugs.webkit.org/show_bug.cgi?id=157312
Patch by Xan Lopez <xlopez@igalia.com> on 2016-05-03
Reviewed by Darin Adler.
- runtime/Executable.cpp:
(JSC::WebAssemblyExecutable::WebAssemblyExecutable):
- wasm/WASMFunctionCompiler.h:
(JSC::WASMFunctionCompiler::convertValueToDouble):
- 6:06 PM Changeset in webkit [200398] by
-
- 4 edits in trunk/Source/JavaScriptCore
Web Inspector: Remove unused parameter of ScriptArguments::getFirstArgumentAsString
https://bugs.webkit.org/show_bug.cgi?id=157301
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-03
Reviewed by Timothy Hatcher.
- inspector/ScriptArguments.cpp:
(Inspector::ScriptArguments::getFirstArgumentAsString):
- inspector/ScriptArguments.h:
Remove unused argument and related code.
- runtime/ConsoleClient.cpp:
(JSC::ConsoleClient::printConsoleMessageWithArguments):
Drive by remove unnecessary cast.
- 6:05 PM Changeset in webkit [200397] by
-
- 5 edits in trunk
[ATK] accessibility/document-attributes.html is failing
https://bugs.webkit.org/show_bug.cgi?id=125348
Reviewed by Chris Fleizach.
Tools:
The test was failing because the WebArea is now being exposed with the role of
ATK_ROLE_DOCUMENT_WEB; not ATK_ROLE_DOCUMENT_FRAME. Unfortunately, when that
change was made, documentEncoding() and documentURI() were not updated accordingly.
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::documentEncoding):
(WTR::AccessibilityUIElement::documentURI):
LayoutTests:
- platform/efl/TestExpectations: Unskipped failing test.
- platform/gtk/TestExpectations: Unskipped failing test.
- 6:04 PM Changeset in webkit [200396] by
-
- 2 edits in trunk/Source/WebKit2
[iOS][WK2] Allow WKWebView to play local filesystem media when created with -loadFileURL:allowingReadAccessToURL:
https://bugs.webkit.org/show_bug.cgi?id=156875
<rdar://problem/24281444>
Reviewed by Alexey Proskuryakov.
Grant AVFoundation the right to issue file read sandbox extensions from the WebContent process to the mediaserverd
process, so that it can play back local media files.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 6:03 PM Changeset in webkit [200395] by
-
- 3 edits1 add in trunk/Source/WebKit2
File Upload: Photo upload name is always generic (image.jpg)
https://bugs.webkit.org/show_bug.cgi?id=157291
<rdar://problem/12353008>
Reviewed by Darin Adler.
Use the original filename as the name of an uploaded image instead of
a generic name, i.e. image.jpg.
- Platform/spi/ios/PhotosSPI.h: Added.
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _uploadItemForImage:withAssetURL:successBlock:failureBlock:]):
- WebKit2.xcodeproj/project.pbxproj:
- 4:26 PM Changeset in webkit [200394] by
-
- 5 edits in trunk/Source
[WK2][DiskCache] Store common HTTP header names as strings
https://bugs.webkit.org/show_bug.cgi?id=157326
<rdar://problem/26073498>
Reviewed by Antti Koivisto.
Store common HTTP header names as strings in the disk cache instead of
using their value in the HTTPHeaderName enumeration. Having the disk
cache rely in the HTTPHeaderName enumeration is risky becomes it means
the cached data would become invalid every time someone updates
HTTPHeaderNames.in in WebCore. If someone were to update
HTTPHeaderNames.in without bumping the disk cache version, we would end
up with wrongly recognized HTTP header names after loading responses
from the cache.
- NetworkProcess/cache/NetworkCacheCoders.cpp:
(WebKit::NetworkCache::Coder<WebCore::HTTPHeaderMap>::encode):
(WebKit::NetworkCache::Coder<WebCore::HTTPHeaderMap>::decode):
- NetworkProcess/cache/NetworkCacheCoders.h:
- NetworkProcess/cache/NetworkCacheStorage.h:
- 4:25 PM Changeset in webkit [200393] by
-
- 6 edits in trunk/Source/WebCore
Optimize [StrictTypeChecking] on IDL attributes
https://bugs.webkit.org/show_bug.cgi?id=157321
Reviewed by Geoffrey Garen.
Optimize [StrictTypeChecking] on IDL attributes:
- Only generate extra code for nullable attributes because for non-nullable attributes, JSXXX::toWrapped() will return null in case of a bad input type. We will then throw a TypeError when null-checking it already.
- After the JSValue::isNullOrUndefined() check, avoid calling JSXXX::toWrapped() and set nativeValue to nullptr directly.
- Drop the check for JSValue::inherits(JSXXX::info()) and just do a null check on the value returned by JSXXX::toWrapped(). toWrapped() already does a JSValue::inherits(JSXXX::info() check. Since we only call toWrapped() if the JSValue is not null/undefined, a null return value always indicates a bad input type.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_set_strict_type_checking_attribute):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjStrictTypeCheckingAttribute):
- bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj setStrictTypeCheckingAttribute:]):
- bindings/scripts/test/TestObj.idl:
- 4:01 PM Changeset in webkit [200392] by
-
- 2 edits in trunk/LayoutTests
Un-skipping storage/indexeddb/intversion-open-in-upgradeneeded.html, but leaving it as flaky
https://bugs.webkit.org/show_bug.cgi?id=155050
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:31 PM Changeset in webkit [200391] by
-
- 2 edits in trunk/Source/WebKit2
Temporary workaround for Apple Internal builds
<rdar://problem/25992976>
For Apple Internal builds treat error code errSecCSGuestInvalid as if it were error code errSecCSUnsigned.
We will look to remove this workaround in the fix for <rdar://problem/26075714>.
- Shared/mac/CodeSigning.mm:
(WebKit::secCodeSigningIdentifier):
- 3:20 PM Changeset in webkit [200390] by
-
- 16 edits in trunk/Source
Unreviewed, rolling out r199259 and r200161.
Seems to have caused a ~1.2% PLT regression on iOS
Reverted changesets:
"[iOS WK2] WKWebViews should consult ancestor UIScrollViews to
determine tiling area"
https://bugs.webkit.org/show_bug.cgi?id=156429
http://trac.webkit.org/changeset/199259
"[iOS WK2] When determining tile size, check whether ancestor
UIScrollViews are actually scrollable"
https://bugs.webkit.org/show_bug.cgi?id=157107
http://trac.webkit.org/changeset/200161
- 3:12 PM Changeset in webkit [200389] by
-
- 6 edits in trunk/Source/WebKit2
CSS Grid should be an experimental feature flag
https://bugs.webkit.org/show_bug.cgi?id=157327
<rdar://problem/26075147>
Reviewed by Anders Carlsson.
The CSS Grid Layout runtime flag was exposed by
a WebKit preference. It was in the experimental
section but was missing the "Experimental" prefix.
It was also missing the human readable description.
Lastly, there is no need for the C API for experimental
features.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetCSSGridLayoutEnabled): Deleted.
(WKPreferencesGetCSSGridLayoutEnabled): Deleted.
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- 2:46 PM Changeset in webkit [200388] by
-
- 2 edits in trunk/Source/WebKit2
Remove firing assertion when redirecting
https://bugs.webkit.org/show_bug.cgi?id=155800
rdar://25299194
Reviewed by Sam Weinig.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:willCacheResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
With NSURLConnection, we stopped getting delegate callbacks once the delegate is destroyed, and everything was cancelled.
With NSURLSession we continue getting delegate callbacks because the session's delegate is not destroyed after each load.
As documented in NSURLSession.h: "In some cases, the task may signal other work before it acknowledges the cancelation."
In the cases where we cancel a load, delete the NetworkLoad and corresponding NetworkDataTask, we want to call all
completion handlers indicating that we really want to cancel instead of asserting.
- 2:42 PM Changeset in webkit [200387] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
Crash: Array.prototype.slice() and .splice() can call fastSlice() after an array is truncated
https://bugs.webkit.org/show_bug.cgi?id=157322
Reviewed by Filip Pizlo.
Check to see if the source array has changed length before calling fastSlice().
If it has, take the slow path.
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSplice):
- tests/stress/regress-157322.js: New test.
- 1:54 PM Changeset in webkit [200386] by
-
- 3 edits in trunk/Source/bmalloc
2016-05-03 Geoffrey Garen <ggaren@apple.com>
Assertion failure in bmalloc::vmRevokePermissions(void*, unsigned long).
https://bugs.webkit.org/show_bug.cgi?id=157047
Reviewed by Filip Pizlo.
Renamed roundUpToMultipleOfSloppy => roundUpToMultipleOfNonPowerOfTwo.
- bmalloc/Algorithm.h: (bmalloc::roundUpToMultipleOfNonPowerOfTwo): (bmalloc::roundUpToMultipleOfSloppy): Deleted.
- bmalloc/VMHeap.cpp: (bmalloc::VMHeap::allocateSmallChunk):
- 12:43 PM Changeset in webkit [200385] by
-
- 3 edits in trunk/Source/bmalloc
Assertion failure in bmalloc::vmRevokePermissions(void*, unsigned long).
https://bugs.webkit.org/show_bug.cgi?id=157047
Reviewed by Filip Pizlo.
The previous fix aligned the guard page sizes correctly but forgot to
align the guard page start address correctly.
- bmalloc/Algorithm.h:
(bmalloc::roundUpToMultipleOfSloppy): Use a new helper method to round
up when not working with a power of two, instead of writing out the
math by hand.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::allocateSmallChunk): Make sure to round up the guard
page start address in addition to its size. Assert at the very end to
try to catch more bugs.
- 11:38 AM Changeset in webkit [200384] by
-
- 2 edits in trunk/Source/JavaScriptCore
Eliminate PassRefPtr conversion from ConsoleObject
https://bugs.webkit.org/show_bug.cgi?id=157300
Reviewed by Timothy Hatcher.
- runtime/ConsoleObject.cpp:
(JSC::consoleLogWithLevel):
(JSC::consoleProtoFuncClear):
(JSC::consoleProtoFuncDir):
(JSC::consoleProtoFuncDirXML):
(JSC::consoleProtoFuncTable):
(JSC::consoleProtoFuncTrace):
(JSC::consoleProtoFuncAssert):
(JSC::consoleProtoFuncCount):
(JSC::consoleProtoFuncTimeStamp):
(JSC::consoleProtoFuncGroup):
(JSC::consoleProtoFuncGroupCollapsed):
(JSC::consoleProtoFuncGroupEnd):
No need to release to a PassRefPtr, we can just move into the RefPtr<>&&.
- 11:36 AM Changeset in webkit [200383] by
-
- 40 edits5 adds in trunk/Source
Speed up JSGlobalObject initialization by making some properties lazy
https://bugs.webkit.org/show_bug.cgi?id=157045
Reviewed by Keith Miller.
Source/JavaScriptCore:
This makes about half of JSGlobalObject's state lazy. There are three categories of
state in JSGlobalObject:
1) C++ fields in JSGlobalObject.
2) JS object properties in JSGlobalObject's JSObject superclass.
3) JS variables in JSGlobalObject's JSSegmentedVariableObject superclass.
State held in JS variables cannot yet be made lazy. That's why this patch only goes
half-way.
State in JS object properties can be made lazy if we move it to the static property
hashtable. JSGlobalObject already had one of those. This patch makes static property
hashtables a lot more powerful, by adding three new kinds of static properties. These
new kinds allow us to make almost all of JSGlobalObject's object properties lazy.
State in C++ fields can now be made lazy thanks in part to WTF's support for stateless
lambdas. You can of course make anything lazy by hand, but there are many C++ fields in
JSGlobalObject and we are adding more all the time. We don't want to require that each
of these has a getter with an initialization check and a corresponding out-of-line slow
path that does the initialization. We want this kind of boilerplate to be handled by
some abstractions.
The primary abstraction introduced in this patch is LazyProperty<Type>. Currently, this
only works where Type is a subclass of JSCell. Such a property holds a pointer to Type.
You can use it like you would a WriteBarrier<Type>. It even has set() and get() methods,
so it's almost a drop-in replacement.
The key to LazyProperty<Type>'s power is that you can do this:
class Bar {
...
LazyProperty<Foo> m_foo;
};
...
m_foo.initLater(
[] (const LazyProperty<Foo>::Initializer<Bar>& init) {
init.set(Foo::create(init.vm, init.owner));
});
This initLater() call requires that you pass a stateless lambda (see WTF changelog for
the definition). Miraculously, this initLater() call is guaranteed to compile to a store
of a pointer constant to m_foo, as in:
movabsq 0xBLAH, %rax
movq %rax, &m_foo
This magical pointer constant points to a callback that was generated by the template
instantiation of initLater(). That callback knows to call your stateless lambda, but
also does some other bookkeeping: it makes sure that you indeed initialized the property
inside the callback and it manages recursive initializations. It's totally legal to call
m_foo.get() inside the initLater() callback. If you do that before you call init.set(),
m_foo.get() will return null. This is an excellent escape hatch if we ever find
ourselves in a dependency cycle. I added this feature because I already had to create a
dependency cycle.
Note that using LazyProperties from DFG threads is super awkward. It's going to be hard
to get this right. The DFG thread cannot initialize those fields, so it has to make sure
that it does conservative things. But for some nodes this could mean adding a lot of new
logic, like NewTypedArray, which currently is written in such a way that it assumes that
we always have the typed array structure. Currently we take a two-fold approach: for
typed arrays we don't handle the NewTypedArray intrinsic if the structure isn't
initialized, and for everything else we don't make the properties lazy if the DFG needs
them. As we optimize this further we might need to teach the DFG to handle more lazy
properties. I tried to do this for RegExp but found it to be very confusing. With typed
arrays I got lucky.
There is also a somewhat more powerful construct called LazyClassStructure. We often
need to keep around the structure of some standard JS class, like Date. We also need to
make sure that the constructor ends up in the global object's property table. And we
often need to keep the original value of the constructor for ourselves. In this case, we
want to make sure that the creation of the structure-prototype-constructor constellation
is atomic. We don't want code to start looking at the structure if it points to a
prototype that doesn't have its "constructor" property set yet, for example.
LazyClassStructure solves this by abstracting that whole initialization. You provide the
callback that allocates everything, since we are super inconsistent about the way we
initialize things, but LazyClassStructure establishes the workflow and helps you not
mess up.
Finally, the new static hashtable attributes allow for all of this to work with the JS
property table:
PropertyCallback: if you use this attribute, the second column in the table should be
the name of a function to call to initialize this property. This is useful for things
like the Math property. The Math object turns out to be very expensive to allocate.
Delaying its allocation is super easy with the PropertyCallback attribute.
CellProperty: with this attribute the second column should be a C++ field name like
JSGlobalObject::m_evalErrorConstructor. The static hashtable will grab the offset of
this property, and when it needs to be initialized, Lookup will assume you have a
LazyProperty<JSCell> and call its get() method. It will initialize the property to
whatever get() returned. Note that it's legal to cast a LazyProperty<Anything> to
LazyProperty<JSCell> for the purpose of calling get() because the get() method will just
call whatever callback function pointer is encoded in the property and it does not need
to know anything about what type that callback will instantiate.
ClassStructure: with this attribute the second column should be a C++ field name. The
static hashtable will initialize the property by treating the field as a
LazyClassStructure and it will call get(). LazyClassStructure completely owns the whole
initialization workflow, so Lookup assumes that when LazyClassStructure::get() returns,
the property in question will already be set. By convention, we have LazyClassStructure
initialize the property with a pointer to the constructor, since that's how all of our
classes work: "globalObject.Date" points to the DateConstructor.
This is a 2x speed-up in JSGlobalObject initialization time in a microbenchmark that
calls our C API. This is a 1% speed-up on SunSpider and JSRegress.
- API/JSCallbackFunction.cpp:
(JSC::JSCallbackFunction::create):
- API/ObjCCallbackFunction.h:
(JSC::ObjCCallbackFunction::impl):
- API/ObjCCallbackFunction.mm:
(JSC::ObjCCallbackFunction::ObjCCallbackFunction):
(JSC::ObjCCallbackFunction::create):
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- create_hash_table:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::set):
- dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::originalArrayStructure):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleTypedArrayConstructor):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGStructureRegistrationPhase.cpp:
(JSC::DFG::StructureRegistrationPhase::run):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
- runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::getOwnPropertySlot):
(JSC::ClonedArguments::materializeSpecials):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
- runtime/InternalFunction.cpp:
(JSC::InternalFunction::visitChildren):
(JSC::InternalFunction::name):
(JSC::InternalFunction::calculatedDisplayName):
(JSC::InternalFunction::createSubclassStructure):
- runtime/InternalFunction.h:
- runtime/JSBoundFunction.cpp:
(JSC::JSBoundFunction::finishCreation):
(JSC::JSBoundFunction::visitChildren):
- runtime/JSFunction.cpp:
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayView):
- runtime/JSGlobalObject.cpp:
(JSC::createProxyProperty):
(JSC::createJSONProperty):
(JSC::createMathProperty):
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::stringPrototypeChainIsSane):
(JSC::JSGlobalObject::resetPrototype):
(JSC::JSGlobalObject::visitChildren):
(JSC::JSGlobalObject::toThis):
(JSC::JSGlobalObject::getOwnPropertySlot):
(JSC::JSGlobalObject::createThrowTypeError): Deleted.
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::objectConstructor):
(JSC::JSGlobalObject::promiseConstructor):
(JSC::JSGlobalObject::internalPromiseConstructor):
(JSC::JSGlobalObject::evalErrorConstructor):
(JSC::JSGlobalObject::rangeErrorConstructor):
(JSC::JSGlobalObject::referenceErrorConstructor):
(JSC::JSGlobalObject::syntaxErrorConstructor):
(JSC::JSGlobalObject::typeErrorConstructor):
(JSC::JSGlobalObject::URIErrorConstructor):
(JSC::JSGlobalObject::nullGetterFunction):
(JSC::JSGlobalObject::nullSetterFunction):
(JSC::JSGlobalObject::callFunction):
(JSC::JSGlobalObject::applyFunction):
(JSC::JSGlobalObject::definePropertyFunction):
(JSC::JSGlobalObject::arrayProtoValuesFunction):
(JSC::JSGlobalObject::initializePromiseFunction):
(JSC::JSGlobalObject::newPromiseCapabilityFunction):
(JSC::JSGlobalObject::functionProtoHasInstanceSymbolFunction):
(JSC::JSGlobalObject::regExpProtoExecFunction):
(JSC::JSGlobalObject::regExpProtoSymbolReplaceFunction):
(JSC::JSGlobalObject::regExpProtoGlobalGetter):
(JSC::JSGlobalObject::regExpProtoUnicodeGetter):
(JSC::JSGlobalObject::throwTypeErrorGetterSetter):
(JSC::JSGlobalObject::moduleLoader):
(JSC::JSGlobalObject::objectPrototype):
(JSC::JSGlobalObject::functionPrototype):
(JSC::JSGlobalObject::arrayPrototype):
(JSC::JSGlobalObject::booleanPrototype):
(JSC::JSGlobalObject::stringPrototype):
(JSC::JSGlobalObject::symbolPrototype):
(JSC::JSGlobalObject::numberPrototype):
(JSC::JSGlobalObject::datePrototype):
(JSC::JSGlobalObject::regExpPrototype):
(JSC::JSGlobalObject::errorPrototype):
(JSC::JSGlobalObject::iteratorPrototype):
(JSC::JSGlobalObject::generatorFunctionPrototype):
(JSC::JSGlobalObject::generatorPrototype):
(JSC::JSGlobalObject::debuggerScopeStructure):
(JSC::JSGlobalObject::withScopeStructure):
(JSC::JSGlobalObject::strictEvalActivationStructure):
(JSC::JSGlobalObject::activationStructure):
(JSC::JSGlobalObject::moduleEnvironmentStructure):
(JSC::JSGlobalObject::directArgumentsStructure):
(JSC::JSGlobalObject::scopedArgumentsStructure):
(JSC::JSGlobalObject::clonedArgumentsStructure):
(JSC::JSGlobalObject::isOriginalArrayStructure):
(JSC::JSGlobalObject::booleanObjectStructure):
(JSC::JSGlobalObject::callbackConstructorStructure):
(JSC::JSGlobalObject::callbackFunctionStructure):
(JSC::JSGlobalObject::callbackObjectStructure):
(JSC::JSGlobalObject::propertyNameIteratorStructure):
(JSC::JSGlobalObject::objcCallbackFunctionStructure):
(JSC::JSGlobalObject::objcWrapperObjectStructure):
(JSC::JSGlobalObject::dateStructure):
(JSC::JSGlobalObject::nullPrototypeObjectStructure):
(JSC::JSGlobalObject::errorStructure):
(JSC::JSGlobalObject::calleeStructure):
(JSC::JSGlobalObject::functionStructure):
(JSC::JSGlobalObject::boundFunctionStructure):
(JSC::JSGlobalObject::boundSlotBaseFunctionStructure):
(JSC::JSGlobalObject::getterSetterStructure):
(JSC::JSGlobalObject::nativeStdFunctionStructure):
(JSC::JSGlobalObject::namedFunctionStructure):
(JSC::JSGlobalObject::functionNameOffset):
(JSC::JSGlobalObject::numberObjectStructure):
(JSC::JSGlobalObject::privateNameStructure):
(JSC::JSGlobalObject::mapStructure):
(JSC::JSGlobalObject::regExpStructure):
(JSC::JSGlobalObject::generatorFunctionStructure):
(JSC::JSGlobalObject::setStructure):
(JSC::JSGlobalObject::stringObjectStructure):
(JSC::JSGlobalObject::symbolObjectStructure):
(JSC::JSGlobalObject::iteratorResultObjectStructure):
(JSC::JSGlobalObject::lazyTypedArrayStructure):
(JSC::JSGlobalObject::typedArrayStructure):
(JSC::JSGlobalObject::typedArrayStructureConcurrently):
(JSC::JSGlobalObject::isOriginalTypedArrayStructure):
(JSC::JSGlobalObject::typedArrayConstructor):
(JSC::JSGlobalObject::actualPointerFor):
(JSC::JSGlobalObject::internalFunctionStructure): Deleted.
- runtime/JSNativeStdFunction.cpp:
(JSC::JSNativeStdFunction::create):
- runtime/JSWithScope.cpp:
(JSC::JSWithScope::create):
(JSC::JSWithScope::visitChildren):
(JSC::JSWithScope::createStructure):
(JSC::JSWithScope::JSWithScope):
- runtime/JSWithScope.h:
(JSC::JSWithScope::object):
(JSC::JSWithScope::create): Deleted.
(JSC::JSWithScope::createStructure): Deleted.
(JSC::JSWithScope::JSWithScope): Deleted.
- runtime/LazyClassStructure.cpp: Added.
(JSC::LazyClassStructure::Initializer::Initializer):
(JSC::LazyClassStructure::Initializer::setPrototype):
(JSC::LazyClassStructure::Initializer::setStructure):
(JSC::LazyClassStructure::Initializer::setConstructor):
(JSC::LazyClassStructure::visit):
(JSC::LazyClassStructure::dump):
- runtime/LazyClassStructure.h: Added.
(JSC::LazyClassStructure::LazyClassStructure):
(JSC::LazyClassStructure::get):
(JSC::LazyClassStructure::prototype):
(JSC::LazyClassStructure::constructor):
(JSC::LazyClassStructure::getConcurrently):
(JSC::LazyClassStructure::prototypeConcurrently):
(JSC::LazyClassStructure::constructorConcurrently):
- runtime/LazyClassStructureInlines.h: Added.
(JSC::LazyClassStructure::initLater):
- runtime/LazyProperty.h: Added.
(JSC::LazyProperty::Initializer::Initializer):
(JSC::LazyProperty::LazyProperty):
(JSC::LazyProperty::get):
(JSC::LazyProperty::getConcurrently):
- runtime/LazyPropertyInlines.h: Added.
(JSC::LazyProperty<ElementType>::Initializer<OwnerType>::set):
(JSC::LazyProperty<ElementType>::initLater):
(JSC::LazyProperty<ElementType>::setMayBeNull):
(JSC::LazyProperty<ElementType>::set):
(JSC::LazyProperty<ElementType>::visit):
(JSC::LazyProperty<ElementType>::dump):
(JSC::LazyProperty<ElementType>::callFunc):
- runtime/Lookup.cpp:
(JSC::setUpStaticFunctionSlot):
- runtime/Lookup.h:
(JSC::HashTableValue::function):
(JSC::HashTableValue::functionLength):
(JSC::HashTableValue::propertyGetter):
(JSC::HashTableValue::propertyPutter):
(JSC::HashTableValue::accessorGetter):
(JSC::HashTableValue::accessorSetter):
(JSC::HashTableValue::constantInteger):
(JSC::HashTableValue::lexerValue):
(JSC::HashTableValue::lazyCellPropertyOffset):
(JSC::HashTableValue::lazyClassStructureOffset):
(JSC::HashTableValue::lazyPropertyCallback):
(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
(JSC::reifyStaticProperty):
- runtime/PropertySlot.h:
- runtime/TypedArrayType.h:
Source/WebCore:
No new tests because no change in behavior.
This adapts JSHTMLElementCustom.cpp to the new JSWithScope API. Note that this revealed
that this was using a curious choice of global object, which may not be right. I decided
to do a very literal refactoring that exactly preserves what this code got before, but I
added a FIXME to reconsider this later.
- bindings/js/JSHTMLElementCustom.cpp:
(WebCore::JSHTMLElement::pushEventHandlerScope):
Source/WTF:
This WTF change is at the heart of a large JSC change. In JSC I found myself wanting to
do this a lot:
static void callback(Foo& foo) { ... }
foo.setCallback(callback);
But that's not very nice to write if many different setCallback() calls are inside of the
same very large function: you'll have to have a lot of static function definitions in
one part of the file, and then a bunch of setCallback() calls in another part. It's hard
to reason about what's going on with such code.
So what if you wrote this instead:
foo.setCallback([] (Foo& foo) { ... });
Much nicer! There is a standard way to do this: lambdas that are stateless are
convertible to function pointers. This change also offers another approach that is a bit
more general.
These additions to WTF help you do it:
isStatelessLambda<Func>(): tells you if Func is a stateless lambda. This uses is_empty to
test if the lambda is stateless. This turns out to be a stronger property than
convertibility to function pointers. For example, a function pointer is convertible to a
function pointer, but it is definitely stateful: you cannot successfully call it if you
only has its type. On the other hand, a stateless lambda is really stateless in the sense
that you only need its type to call it.
callStatelessLambda<ResultType, Func>(Arguments&&...): calls the given stateless lambda.
JSC uses these to build up some sophisticated lazy-initialization APIs. The use of
statelessness allows JSC to combine a lambda with other logic into a single function
pointer.
- wtf/StdLibExtras.h:
(WTF::isStatelessLambda):
(WTF::callStatelessLambda):
- 11:22 AM Changeset in webkit [200382] by
-
- 6 edits in trunk/Source
[Win] Remove Windows XP Compatibility Requirements
https://bugs.webkit.org/show_bug.cgi?id=152899
Reviewed by Brent Fulgham.
Source/JavaScriptCore:
Windows XP is not supported anymore, we can remove workarounds.
- JavaScriptCore.vcxproj/jsc/DLLLauncherMain.cpp:
(enableTerminationOnHeapCorruption):
Source/WebCore:
Windows XP is not supported anymore, we can remove compatibility workarounds.
- platform/text/win/LocaleWin.cpp:
(WebCore::extractLanguageCode):
(WebCore::LCIDFromLocaleInternal):
(WebCore::LCIDFromLocale):
(WebCore::removeLastComponent): Deleted.
(WebCore::ensureNameToLCIDMap): Deleted.
(WebCore::convertLocaleNameToLCID): Deleted.
Source/WTF:
Windows XP is not supported anymore, we can remove workarounds.
- wtf/Assertions.cpp:
- 11:00 AM Changeset in webkit [200381] by
-
- 5 edits2 adds in trunk
REGRESSION (r198943): Transitions don't work if they animate display property
https://bugs.webkit.org/show_bug.cgi?id=157244
<rdar://problem/26042189>
Reviewed by Simon Fraser.
Source/WebCore:
Test: transitions/transition-display-property.html
- style/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateBeforeOrAfterPseudoElement):
Call the common function for ::before/::after updates.
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveElement):
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
If animation forces render tree reconstruction use the original rather than animated style for update.
Because animations are tied to renderers we start them during renderer construction in this case.
Factor to a function.
(WebCore::Style::elementImplicitVisibility):
- style/StyleTreeResolver.h:
LayoutTests:
- transitions/transition-display-property-expected.html: Added.
- transitions/transition-display-property.html: Added.
- 10:58 AM Changeset in webkit [200380] by
-
- 2 edits in trunk/Source/WTF
[Win] Warning fix.
https://bugs.webkit.org/show_bug.cgi?id=157309
Reviewed by Darin Adler.
MSVC gives a warning when converting from signed to unsigned.
- wtf/SmallPtrSet.h:
(WTF::SmallPtrSet::begin):
- 10:31 AM Changeset in webkit [200379] by
-
- 10 edits in tags/Safari-602.1.30.4/Source
Merged r200157. rdar://problem/25841037
- 10:24 AM Changeset in webkit [200378] by
-
- 1 edit3 deletes in trunk/LayoutTests
Unreviewed, drop outdated layout test after r200375.
- fast/workers/resources/worker-replace-self.js: Removed.
- fast/workers/worker-replace-self-expected.txt: Removed.
- fast/workers/worker-replace-self.html: Removed.
- 10:10 AM Changeset in webkit [200377] by
-
- 2 edits in trunk/Tools
[Win] Unreviewed build fix.
- EWSTools/start-queue-win.sh: Establish proper VS2015 build
environment at start of queue run.
- 9:39 AM Changeset in webkit [200376] by
-
- 1 edit1 add in trunk/LayoutTests
Unreviewed GTK+ gardening.
Adding a platform-specific expectations file for aria-text-role.html.
- platform/gtk/accessibility/aria-text-role-expected.txt: Added.
- 8:50 AM Changeset in webkit [200375] by
-
- 3 edits9 adds in trunk
WorkerGlobalScope's self, location and navigator attributes should not be replaceable
https://bugs.webkit.org/show_bug.cgi?id=157296
<rdar://problem/25962738>
Patch by Pranjal Jumde <pjumde@apple.com> on 2016-05-03
Reviewed by Chris Dumez.
Source/WebCore:
Tests: http/tests/workers/location-readonly.html
http/tests/workers/navigator-readonly.html
http/tests/workers/self-readonly.html
- workers/WorkerGlobalScope.idl:
The 'self', 'location', and 'navigator' properties of the WorkerGlobalScope must be immutable.
See: https://html.spec.whatwg.org/multipage/workers.html#the-workerglobalscope-common-interface
LayoutTests:
- http/tests/workers/location-readonly-expected.txt: Added.
- http/tests/workers/location-readonly.html: Added.
- http/tests/workers/navigator-readonly-expected.txt: Added.
- http/tests/workers/navigator-readonly.html: Added.
- http/tests/workers/self-readonly-expected.txt: Added.
- http/tests/workers/self-readonly.html: Added.
- http/tests/workers/worker-location.js: Added.
- http/tests/workers/worker-navigator.js: Added.
- http/tests/workers/worker-self.js: Added.
- 8:44 AM Changeset in webkit [200374] by
-
- 6 edits in trunk/Source/WebCore
Drop some unnecessary exception checking in the generated bindings
https://bugs.webkit.org/show_bug.cgi?id=157299
Reviewed by Darin Adler.
Drop some unnecessary exception checking in the generated bindings.
Only do a check for state->hadException() after converting a JSValue
to a native value when necessary. Update JSValueToNative() to
indicate the caller if converting to the native value may throw an
exception.
This gets rid of a lot of unnecessary branching in the bindings.
No new tests, no intended web-exposed behavior change.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateParametersCheck):
(JSValueToNative):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
- 8:39 AM Changeset in webkit [200373] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Update window.console function API description strings in Console
https://bugs.webkit.org/show_bug.cgi?id=157298
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-03
Reviewed by Timothy Hatcher.
- UserInterface/Models/NativeFunctionParameters.js:
- UserInterface/Views/ObjectTreePropertyTreeElement.js:
(WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
The Console object changed how it works. Work with the new
structure, and the older structure for legacy backends.
- 8:30 AM Changeset in webkit [200372] by
-
- 7 edits in trunk/Source/WebCore
Add/refactor isolatedCopy methods for 3 IDB classes.
https://bugs.webkit.org/show_bug.cgi?id=157289
Reviewed by Alex Christensen.
No new tests (Refactor, no behavior change).
In an upcoming, much larger patch, I'll need the ability to directly construct these three objects
as isolated copies.
This is a nice standalone refactor that enables that ability.
- Modules/indexeddb/IDBGetResult.cpp:
(WebCore::IDBGetResult::IDBGetResult):
(WebCore::IDBGetResult::isolatedCopy):
- Modules/indexeddb/IDBGetResult.h:
- Modules/indexeddb/IDBKeyData.cpp:
(WebCore::IDBKeyData::IDBKeyData):
(WebCore::IDBKeyData::isolatedCopy):
- Modules/indexeddb/IDBKeyData.h:
- Modules/indexeddb/shared/IDBTransactionInfo.cpp:
(WebCore::IDBTransactionInfo::IDBTransactionInfo):
(WebCore::IDBTransactionInfo::isolatedCopy):
- Modules/indexeddb/shared/IDBTransactionInfo.h:
- 8:24 AM Changeset in webkit [200371] by
-
- 4 edits in trunk/Source/JavaScriptCore
Web Inspector: console.assert should do far less work when the assertion is true
https://bugs.webkit.org/show_bug.cgi?id=157297
<rdar://problem/26056556>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-03
Reviewed by Timothy Hatcher.
- runtime/ConsoleClient.h:
- runtime/ConsoleClient.cpp:
(JSC::ConsoleClient::assertion):
(JSC::ConsoleClient::assertCondition): Deleted.
Rename, now that this will only get called when the assertion failed.
- runtime/ConsoleObject.cpp:
(JSC::consoleProtoFuncAssert):
Avoid doing any work if the assertion succeeded.
- 8:23 AM Changeset in webkit [200370] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Allow format specifiers in console.assert and console.trace
https://bugs.webkit.org/show_bug.cgi?id=157295
<rdar://problem/26056039>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-03
Reviewed by Timothy Hatcher.
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
Treat the first argument as a format specifier.
- 8:23 AM Changeset in webkit [200369] by
-
- 13 edits2 adds in trunk
[ATK] accessibility/content-editable-as-textarea.html fails
https://bugs.webkit.org/show_bug.cgi?id=155353
Reviewed by Darin Adler.
Source/WebCore:
The test was timing out because it expected an AXValueChanged notification.
In ATK, AXValueChanged notifications are made for widgets which implement
the AtkValue interface (sliders, progress bars, etc.). We should be listening
for AXTextChanged instead.
In addition, for contenteditable elements, we should emit the notification on
the element itself. Because we were handling the notification in the same way
as native text controls (where the notification we receive from WebCore is for
StaticTextRole children), we were attempting to emit the notification from
the parent of the contenteditable.
Lastly, ATK's AccessibilityUIElement support had a number of unimplemented
methods that are being used as part of the previously-failing test. Those
methods are now implemented so that the ATK results are much more similar
to those on the Mac.
No new tests needed. The previously-failing test now passes.
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::childrenChanged):
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isNonNativeTextControl):
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textChanged):
- accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
Tools:
The test was timing out because it expected an AXValueChanged notification.
In ATK, AXValueChanged notifications are made for widgets which implement
the AtkValue interface (sliders, progress bars, etc.). We should be listening
for AXTextChanged instead. AtkText's text-insert and text-remove have been
added to the AccessibilityNotificationHandler.
Also, ATK's AccessibilityUIElement support had a number of unimplemented
methods that are being used as part of the previously-failing test. Those
methods are now implemented so that the ATK results are much more similar
to those on the Mac.
- WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
(WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::rangeForLine):
(WTR::AccessibilityUIElement::boundsForRange):
(WTR::AccessibilityUIElement::attributedStringForRange):
LayoutTests:
Updated the test identified in the bug to listen for the appropriate
notification for ATK and created platform-specific expectations.
In addition, set-selected-text-range-contenteditable.html was timing out
due to the use of shouldBecomeEqual() with an assertion that is wrong for
ATK. Modifying the test so that it verifies the result appropriate for
each platform eliminates the timeout.
- accessibility/content-editable-as-textarea.html: Updated.
- accessibility/set-selected-text-range-contenteditable.html: Updated.
- platform/gtk/TestExpectations: Unskipped the failing tests.
- platform/gtk/accessibility/content-editable-as-textarea-expected.txt: Added.
- platform/gtk/accessibility/set-selected-text-range-contenteditable-expected.txt: Added.
- 4:30 AM Changeset in webkit [200368] by
-
- 5 edits in trunk/Source/WebCore
[css-grid] Add support for position resolution with auto-repeat tracks
https://bugs.webkit.org/show_bug.cgi?id=157260
Reviewed by Darin Adler.
This is a generalization of our position resolution code so it now supports every possible
type of resolution (definite position, position spans, automatic resolution, named lines
resolution, grid areas...) under the presence of auto-repeat tracks, i.e., tracks that are
dynamically created by the LayoutGrid depending on the available space and that cannot be
directly inferred from the CSS declarations.
This means that we need two extra things to resolve positions:
- the LayoutGrid needs to provide the number of auto-repeat tracks per axis
- a wrapper is needed to hide the eventual presence of auto-repeat tracks (with their line
names) from the rest of the resolution code which should remain mostly unchanged.
The former is trivial (requires passing a new argument to some functions at the most) but
the latter requires a new class called NamedLineCollection. This class allow us to locate
and resolve named lines without having to insert the auto-repeat named lines in the already
existing data structures. It does it in a very compact representation as it does not
duplicate the names for every single repetition.
No new tests required as there is no change in behavior because the auto-repeat tracks
computation is not implemented yet. Current tests already test this code extensively, and
the auto-repeat code paths will be tested later once
RenderGrid::computeAutoRepeatTracksCount() is implemented.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeAutoRepeatTracksCount): New method with empty implementation.
(WebCore::RenderGrid::placeItemsOnGrid): Initialize the auto repeat tracks count.
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
- rendering/RenderGrid.h:
- rendering/style/GridPositionsResolver.cpp:
(WebCore::directionFromSide):
(WebCore::NamedLineCollection::NamedLineCollection): New class which is able to resolve the
positions of a given named line in the presence of auto-repeat and "normal" tracks.
(WebCore::NamedLineCollection::isValidNamedLineOrArea): Checks whether the given named line
is a valid line name or area.
(WebCore::NamedLineCollection::hasNamedLines): Checks whether the named line exists in the
given axis (either specified by auto-repeat or "normal" tracks).
(WebCore::NamedLineCollection::find): Looks for a line number whithin the line numbers where
the given named line was found.
(WebCore::NamedLineCollection::contains):
(WebCore::NamedLineCollection::firstPosition): Returns the first line where the given named
line is located.
(WebCore::adjustGridPositionsFromStyle): Use NamedLineCollection.
(WebCore::GridPositionsResolver::explicitGridColumnCount): Include auto repeat tracks.
(WebCore::GridPositionsResolver::explicitGridRowCount): Ditto.
(WebCore::explicitGridSizeForSide): Ditto.
(WebCore::lookAheadForNamedGridLine): Use NamedLineCollection.
(WebCore::lookBackForNamedGridLine): Ditto.
(WebCore::resolveNamedGridLinePositionFromStyle):
(WebCore::definiteGridSpanWithNamedLineSpanAgainstOpposite):
(WebCore::resolveNamedGridLinePositionAgainstOppositePosition):
(WebCore::resolveGridPositionAgainstOppositePosition):
(WebCore::resolveGridPositionFromStyle):
(WebCore::GridPositionsResolver::resolveGridPositionsFromStyle):
(WebCore::gridLinesForSide): Deleted.
(WebCore::GridPositionsResolver::isNonExistentNamedLineOrArea): Deleted.
- rendering/style/GridPositionsResolver.h:
- 2:18 AM Changeset in webkit [200367] by
-
- 5 edits in trunk
Unreviewed follow-up testapi fix after r200355.
Source/JavaScriptCore:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
Revert back to non-enumerable. This matches our older behavior,
we can decide to make this Enumerable later if needed.
LayoutTests:
- js/console-expected.txt:
- js/console.html:
Make window.console non-enumerable.
- 2:09 AM Changeset in webkit [200366] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Update drag and drop tests bug reference.
We were using a fixed bug, because drag and drop was already implemented in WebKit2. However, some tests still
fail because some drag and drop events are not emitted when using synthetic events like even sender does. So,
update the bug reference to https://bugs.webkit.org/show_bug.cgi?id=157179 and add two more tests that are
timing out in the bots for the same reason.
- platform/gtk/TestExpectations:
- 1:50 AM Changeset in webkit [200365] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix GObject DOM bindings API break after r200316.
webkit_dom_tree_walker_set_current_node no longer raises exceptions after r200316, so mark it accordingly.
- bindings/scripts/CodeGeneratorGObject.pm:
(FunctionUsedToRaiseException):
- 1:18 AM Changeset in webkit [200364] by
-
- 4 edits in trunk/Source/WebCore
[OpenType] OpenTypeVerticalData object should not be created if the font is not OpenType
https://bugs.webkit.org/show_bug.cgi?id=157172
Reviewed by Michael Catanzaro.
It's a bit weird that the object is always created and has an isOpenType() method to check whether it's an
OpenType or not. The caller is always deleting the object when it's not an OpenType, so it would be better if
the create method returned nullptr instead of creating the object when the font is not OpenType.
- platform/graphics/FontCache.cpp:
(WebCore::FontCache::verticalData): Do not use isOpenType(), we can now simply use the return value of OpenTypeVerticalData::create().
- platform/graphics/opentype/OpenTypeVerticalData.cpp:
(WebCore::loadHmtxTable): Moved to a helper funtion that returns false if the font is not OpenType.
(WebCore::OpenTypeVerticalData::create): Try to load the Hmtx table, and create the object if succeeded or
return nullptr otherwise.
(WebCore::OpenTypeVerticalData::OpenTypeVerticalData): Receive the advanceWidths as constructor parameter.
(WebCore::OpenTypeVerticalData::loadMetrics): Load all other tables.
- platform/graphics/opentype/OpenTypeVerticalData.h:
(WebCore::OpenTypeVerticalData::isOpenType): Deleted.
- 12:19 AM Changeset in webkit [200363] by
-
- 5 edits in tags/Safari-602.1.30.4/Source
Versioning.
- 12:12 AM Changeset in webkit [200362] by
-
- 1 copy in tags/Safari-602.1.30.4
New tag.
May 2, 2016:
- 10:47 PM Changeset in webkit [200361] by
-
- 63 edits in trunk/Source
Change IDL enumerations to be nested in their C++ class instead of at WebCore namespace level
https://bugs.webkit.org/show_bug.cgi?id=157257
Reviewed by Chris Dumez.
Source/WebCore:
Chris and Alex requested this alternate style, where the enum class for each enumeration
goes inside the class for the interface the enumeration is used in. Also made a rule that
keeps the names short and not redundant with the class name they are nested in.
- Modules/fetch/FetchOptions.h: Moved all the enum class types into the struct.
- Modules/fetch/FetchRequest.cpp:
(WebCore::setReferrerPolicy): Updated.
(WebCore::setMode): Ditto.
(WebCore::setCredentials): Ditto.
(WebCore::setCache): Ditto.
(WebCore::setRedirect): Ditto.
(WebCore::buildOptions): Ditto.
(WebCore::buildHeaders): Ditto.
(WebCore::FetchRequest::create): Ditto.
- Modules/fetch/FetchRequest.h: Used "using" to repeat the types from FetchOptions
here in FetchRequest. That way the generated bindings can find the types, and we don't
need to do any trick like [ImplementedAs] in thd IDL to make it work.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::error): Updated.
(WebCore::FetchResponse::redirect): Ditto.
(WebCore::FetchResponse::FetchResponse): Ditto.
(WebCore::FetchResponse::startFetching): Ditto.
- Modules/fetch/FetchResponse.h: Moved enum class into the class.
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::externalDeviceType): Updated.
- Modules/mediacontrols/MediaControlsHost.h: Moved enum classs into the class.
- Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::MediaSession): Updated.
- Modules/mediasession/MediaSession.h: Moved enum classs into the class.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::addSourceBuffer): Updated.
(WebCore::MediaSource::removeSourceBuffer): Ditto.
- Modules/mediasource/MediaSource.h: Moved enum class into the class.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveRenderingError): Updated.
(WebCore::SourceBuffer::appendError): Ditto.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
(WebCore::SourceBuffer::textTrackModeChanged): Ditto.
- Modules/mediasource/SourceBuffer.h: Removed incorrect forward declaration
of EndOfStreamError that also now seems to be unneeded. Moved enum class into
the class.
- Modules/mediastream/MediaDeviceInfo.cpp:
(WebCore::MediaDeviceInfo::MediaDeviceInfo): Updated.
(WebCore::MediaDeviceInfo::create): Ditto.
- Modules/mediastream/MediaDeviceInfo.h: Moved enum class into the class.
- Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest): Updated.
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::readyState): Updated.
- Modules/mediastream/MediaStreamTrack.h: Moved enum class into the class.
- Modules/mediastream/RTCConfiguration.h: Moved enum classes into the class.
- Modules/webaudio/AudioContext.h: Moved enum class into the class.
- Modules/webaudio/WaveShaperNode.cpp:
(WebCore::processorType): Updated.
(WebCore::WaveShaperNode::oversample): Ditto.
- Modules/webaudio/WaveShaperNode.h: Moved enum class into the class.
- bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::response): Updated.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody): Removed unneeded $interfaceName argument.
(GetAttributeGetterName): Ditto.
(GetAttributeSetterName): Ditto.
(GetFunctionName): Tweaked style.
(AttributeShouldBeOnInstanceForCompatibility): Deleted. Was a function that
always returned 0.
(AttributeShouldBeOnInstance): Removed the call to the function above.
(IsClassNameWordBoundary): Added. Helper for function below.
(IsPrefixRemovable): Ditto.
(GetEnumerationClassName): Added an $interface argument and changed this
so it creates a nested name inside the class rather than a top level name
for use at the WebCore namespace level.
(GetEnumerationClassIdentifier): Added. Calls GetEnumerationClassName and
makes a flattened name without "::" that can be used in an identifier.
(GenerateEnumerationImplementationContent): Renamed from GetXXX. Added an
$interface argument, so it can pass that along to the functions above.
(GenerateHeader): Updated to not pass $interfaceName.
(GeneratePropertiesHashTable): Ditto.
(GenerateOverloadedFunction): Removed unneeded $interfaceName argument.
(GenerateImplementation): Updated for changes above. Tweaked formatting.
(GenerateFunctionCastedThis): Removed unneeded $interfaceName argument.
(GenerateParametersCheck): Ditto. Also streamlined implementation a bit
and made the IsEnumType section call the new functions.
(GenerateCallbackImplementation): Ditto.
(JSValueToNative): Added an $interface argument and pass it along when
dealing with enumerations.
(GeneratePrototypeDeclaration): Removed unneeded $interfaceName argument.
(GenerateConstructorDeclaration): Ditto.
(GenerateConstructorDefinitions): Ditto.
(GenerateConstructorDefinition): Ditto.
(GenerateConstructorHelperMethods): Ditto.
- bindings/scripts/test/JS/JSTestObj.cpp: Regenerated.
- bindings/scripts/test/TestObj.idl: Added some new enums that test some
of the logic above.
- crypto/CryptoKey.cpp:
(WebCore::CryptoKey::CryptoKey): Updated.
(WebCore::CryptoKey::usages): Ditto.
- crypto/CryptoKey.h: Moved enum class types inside the CryptoKey class.
Added comments about the two similar but distinct types named
CryptoKeyUsage and CryptoKey::Usage.
- css/FontFace.cpp:
(WebCore::FontFace::status): Updated.
- css/FontFace.h: Moved enum class into the class.
- css/FontFaceSet.cpp:
(WebCore::FontFaceSet::status): Updated.
- css/FontFaceSet.h: Moved enum class into the class.
- dom/Document.cpp:
(WebCore::Document::Document): Updated for the name change back from
ReferrerHeaderPolicy to ReferrerPolicy.
(WebCore::Document::processReferrerPolicy): Ditto.
(WebCore::Document::applyContentDispositionAttachmentSandbox): Ditto.
- dom/Document.h: More of the same.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadInternal): Updated.
(WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
(WebCore::HTMLMediaElement::textTrackKindChanged): Ditto.
(WebCore::HTMLMediaElement::textTrackAddCues): Ditto.
(WebCore::HTMLMediaElement::textTrackAddCue): Ditto.
(WebCore::HTMLMediaElement::addTextTrack): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackGroup): Ditto.
(WebCore::HTMLMediaElement::setSelectedTextTrack): Ditto.
(WebCore::HTMLMediaElement::configureTextTracks): Ditto.
(WebCore::HTMLMediaElement::hasClosedCaptions): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Ditto.
(WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Ditto.
(WebCore::toPlatform): Ditto.
(WebCore::HTMLMediaElement::outOfBandTrackSources): Ditto.
- html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::scheduleLoad): Ditto.
- html/HTMLVideoElement.h: Moved enum class into class.
- html/HTMLVideoElement.idl: Added the missing conditional on
VideoPresentationMode, and also moved it to the bottom of the file
to work around what is apparently a bug in the IDL parser.
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::toWindRule): Updated.
(WebCore::CanvasRenderingContext2D::fill): Ditto.
(WebCore::CanvasRenderingContext2D::clip): Ditto.
(WebCore::CanvasRenderingContext2D::fillInternal): Ditto.
(WebCore::CanvasRenderingContext2D::clipInternal): Ditto.
(WebCore::CanvasRenderingContext2D::isPointInPath): Ditto.
(WebCore::CanvasRenderingContext2D::isPointInPathInternal): Ditto.
(WebCore::smoothingToInterpolationQuality): Ditto.
- html/canvas/CanvasRenderingContext2D.h: Moved enum class types into the class.
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Updated.
(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Ditto.
- html/track/InbandTextTrack.cpp:
(WebCore::InbandTextTrack::setMode): Updated.
(WebCore::toPrivate): Ditto.
(WebCore::InbandTextTrack::setModeInternal): Ditto.
(WebCore::InbandTextTrack::updateKindFromPrivate): Ditto.
- html/track/InbandTextTrack.h: Ditto.
- html/track/TextTrack.cpp:
(WebCore::TextTrack::TextTrack): Ditto.
(WebCore::TextTrack::enabled): Ditto.
(WebCore::TextTrack::kindKeyword): Ditto.
(WebCore::TextTrack::setKind): Ditto.
(WebCore::TextTrack::setKindKeywordIgnoringASCIICase): Ditto.
(WebCore::TextTrack::setMode): Ditto.
(WebCore::TextTrack::cues): Ditto.
(WebCore::TextTrack::activeCues): Ditto.
(WebCore::TextTrack::addCue): Ditto.
(WebCore::TextTrack::regions): Ditto.
(WebCore::TextTrack::isRendered): Ditto.
(WebCore::TextTrack::isMainProgramContent): Ditto.
(WebCore::TextTrack::containsOnlyForcedSubtitles): Ditto.
- html/track/TextTrack.h: Moved enum class types into the class.
- html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::dispatchEvent): Updated.
(WebCore::TextTrackCue::isActive): Ditto.
- loader/FrameNetworkingContext.h: Ditto.
- page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::sortedTrackListForMenu): Ditto.
(WebCore::CaptionUserPreferences::textTrackSelectionScore): Ditto.
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore): Ditto.
(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu): Ditto.
- page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::generateReferrerHeader): Updated since we
changed ReferrerHeaderPolicy back to ReferrerPolicy.
- page/SecurityPolicy.h: Ditto.
- platform/ReferrerPolicy.h: Changed ReferrerHeaderPolicy name back
to ReferrerPolicy now that nesting inside a class eliminated the conflict;
still should merge them and that FIXME remains.
- platform/cocoa/WebPlaybackSessionModelMediaElement.mm:
(WebPlaybackSessionModelMediaElement::updateForEventName): Updated.
(WebPlaybackSessionModelMediaElement::updateLegibleOptions): Ditto.
- testing/Internals.cpp:
(WebCore::toResourceRequestCachePolicy): Updated.
(WebCore::Internals::setOverrideCachePolicy): Ditto.
(WebCore::toResourceLoadPriority): Ditto.
(WebCore::Internals::setOverrideResourceLoadPriority): Ditto.
(WebCore::toAutoFillButtonType): Ditto.
(WebCore::Internals::setShowAutoFillButton): Ditto.
- testing/Internals.h: Moved enum class types into class.
- testing/Internals.idl: Removed the "Internals" prefixes we added
to resolve ambiguity before. Nesting these in the class now takes care
of the ambiguity instead.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseText): Updated.
(WebCore::XMLHttpRequest::didCacheResponseJSON): Ditto.
(WebCore::XMLHttpRequest::responseXML): Ditto.
(WebCore::XMLHttpRequest::responseBlob): Ditto.
(WebCore::XMLHttpRequest::responseArrayBuffer): Ditto.
(WebCore::XMLHttpRequest::setResponseType): Ditto.
(WebCore::XMLHttpRequest::open): Ditto.
(WebCore::shouldDecodeResponse): Ditto.
- xml/XMLHttpRequest.h: Moved the enum class into the class.
Source/WebKit2:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadResource): Updated since we changed
ReferrerHeaderPolicy back to ReferrerPolicy.
(WebKit::WebLoaderStrategy::schedulePluginStreamLoad): Ditto.
- 8:39 PM Changeset in webkit [200360] by
-
- 7 edits4 adds in trunk
Don't run transitions to/from 'auto' values
https://bugs.webkit.org/show_bug.cgi?id=38243
rdar://problem/20904225
Reviewed by Dean Jackson.
Source/WebCore:
The specified behavior of transitions and animations is to not animate when either endpoint is 'auto'.
Previously, we were treating 'auto' as zero and interpolating, which caused unwanted animations
on fandango.com, airbnb.com and others.
Fix by having blend() return the from value if progress is 0, otherwise the to value. The
isZero() check can be removed, since this was effectively picking up auto value for one endpoint.
Tests: transitions/lengthsize-transition-to-from-auto.html
transitions/transition-to-from-auto.html
- platform/Length.cpp:
(WebCore::blend):
LayoutTests:
- platform/mac-wk2/transitions/default-timing-function-expected.txt: New baseline.
- transitions/default-timing-function.html: Set explicit start value.
- transitions/interrupted-all-transition.html: Set explicit start value.
- transitions/lengthsize-transition-to-from-auto-expected.txt: Added.
- transitions/lengthsize-transition-to-from-auto.html: Added.
- transitions/transition-to-from-auto-expected.txt: Added.
- transitions/transition-to-from-auto.html: Added.
- transitions/zero-duration-in-list.html: Set explicit start value.
- 7:58 PM Changeset in webkit [200359] by
-
- 5 edits in trunk/Source/WebInspectorUI
Unreviewed, rolling out r200337.
https://bugs.webkit.org/show_bug.cgi?id=157294
Console hangs when evaluating expresisons (Requested by
JoePeck on #webkit).
Reverted changeset:
"Web Inspector: Adding a new console message shouldn't modify
DOM when the console log is hidden"
https://bugs.webkit.org/show_bug.cgi?id=155629
http://trac.webkit.org/changeset/200337
- 7:52 PM Changeset in webkit [200358] by
-
- 8 edits2 adds in trunk
Indexing CSSStyleDeclaration object with out-of-range index should return undefined
https://bugs.webkit.org/show_bug.cgi?id=157283
Reviewed by Darin Adler.
Source/WebCore:
Indexing CSSStyleDeclaration object with out-of-range index should return undefined,
as per:
- http://heycam.github.io/webidl/#idl-indexed-properties
- http://heycam.github.io/webidl/#getownproperty-guts
WebKit was incorrectly returning the empty string in this case. We however, still
return the empty string if calling the indexed property getter via item(), as is
expected.
The new behavior matches Firefox and the Web IDL specification. Chrome returns the
empty string in this case though.
Test: fast/dom/indexed-getters-returning-string.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::item):
- css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::item):
LayoutTests:
Rebaseline a couple of existing tests due to the slight behavior change.
Also add a new layout test for more extensive testing.
- fast/dom/CSSStyleDeclaration/css-computed-style-item-expected.txt:
- fast/dom/CSSStyleDeclaration/css-style-item-expected.txt:
- fast/dom/CSSStyleDeclaration/script-tests/css-computed-style-item.js:
- fast/dom/CSSStyleDeclaration/script-tests/css-style-item.js:
- fast/dom/indexed-getters-returning-string-expected.txt: Added.
- fast/dom/indexed-getters-returning-string.html: Added.
- 7:25 PM Changeset in webkit [200357] by
-
- 18 edits2 adds in trunk
Specifying a longhand property should not serialize to a shorthand property
https://bugs.webkit.org/show_bug.cgi?id=157180
Patch by Antoine Quint <Antoine Quint> on 2016-05-02
Reviewed by Dean Jackson.
Source/WebCore:
Ensure that we don't serialize to a shorthand property when the required longhand components
are not specified, per http://www.w3.org/TR/cssom-1/#serialize-a-css-declaration-block.
Test: fast/css/no-shorthand-with-incomplete-longhands.html
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getLayeredShorthandValue):
Returning an empty string here means that calling getPropertyValue() with
the shorthand property matching the currently processed longhand property
in asText() will return an empty string as well and the shorthand property
will be disregarded.
LayoutTests:
A fair few tests relied on reading from a shorthand value when it was incorrect
to produce one, so we fix those incorrect assertions. We also add a new test that
goes through all the longhand properties for a given shorthand property and checks
that none of the longhand properties will yield a shorthand value.
- cssom/cssvalue-comparison-expected.txt:
- cssom/cssvalue-comparison.html:
- fast/css/background-position-serialize-expected.txt:
- fast/css/background-position-serialize.html:
- fast/css/no-shorthand-with-incomplete-longhands-expected.txt: Added.
- fast/css/no-shorthand-with-incomplete-longhands.html: Added.
- fast/css/remove-shorthand-expected.txt:
- fast/css/script-tests/image-set-setting.js:
(testComputedStyle):
- fast/css/uri-token-parsing-expected.txt:
- fast/css/uri-token-parsing.html:
- fast/css/webkit-mask-crash-implicit-expected.txt:
- fast/css/webkit-mask-crash-implicit.html:
- fast/dom/Element/setAttributeNode-for-existing-attribute.html:
- fast/dom/background-shorthand-csstext-expected.txt:
- fast/dom/background-shorthand-csstext.html:
- http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects-expected.txt:
- http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects.html:
- 7:17 PM Changeset in webkit [200356] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION: Page layout of Manga/Picture books and all Fixed Layout ePubs corrupted
https://bugs.webkit.org/show_bug.cgi?id=157292
<rdar://problem/25750144>
Reviewed by Tim Horton.
The scroll state restoration fixes caused a regression in UIWebViews.
Code in UIKit checks for a non-zero page scale in a history item, and
r199233 changed the initialization from 0 to 1.
- history/HistoryItem.h: Use 0 instead of 1 as the initial m_scale.
- 7:00 PM Changeset in webkit [200355] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
Web Inspector: Reflect.toString() should be [object Object] not [object Reflect]
https://bugs.webkit.org/show_bug.cgi?id=157288
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-02
Reviewed by Darin Adler.
- runtime/ReflectObject.cpp:
- tests/stress/reflect.js: Added.
- 6:39 PM Changeset in webkit [200354] by
-
- 2 edits in trunk/Source/WebCore
[Mac] AirPlay fails if target is set before AVPlayer has been created
https://bugs.webkit.org/show_bug.cgi?id=157147
<rdar://problem/24197592>
Reviewed by Dean Jackson.
No new tests, it won't be possible to test this until
https://bugs.webkit.org/show_bug.cgi?id=157290 has been fixed.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
- 6:34 PM Changeset in webkit [200353] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Unexpected "Script Element #" resources in Debugger Sidebar
https://bugs.webkit.org/show_bug.cgi?id=157280
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-02
Reviewed by Timothy Hatcher.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype._addScript):
Don't include Script Element resources in the debugger sidebar by default.
- 6:01 PM Changeset in webkit [200352] by
-
- 7 edits in trunk/Source
Const-ify some IDB code.
https://bugs.webkit.org/show_bug.cgi?id=157287
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (Refactor only).
- Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
- Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::deleteDatabase):
(WebCore::InProcessIDBServer::openDatabase):
(WebCore::InProcessIDBServer::abortTransaction):
(WebCore::InProcessIDBServer::commitTransaction):
(WebCore::InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
- Modules/indexeddb/shared/InProcessIDBServer.h:
Source/WebKit2:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::deleteDatabase):
(WebKit::WebIDBConnectionToServer::openDatabase):
(WebKit::WebIDBConnectionToServer::abortTransaction):
(WebKit::WebIDBConnectionToServer::commitTransaction):
(WebKit::WebIDBConnectionToServer::didFinishHandlingVersionChangeTransaction):
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
- 5:51 PM Changeset in webkit [200351] by
-
- 2 edits in trunk/Source/JavaScriptCore
Add Resource Timing entry to the Feature Status page.
https://bugs.webkit.org/show_bug.cgi?id=157285
Reviewed by Timothy Hatcher.
- features.json:
- 5:51 PM Changeset in webkit [200350] by
-
- 9 edits2 moves2 adds2 deletes in trunk
Make console a namespace object (like Math/JSON), allowing functions to be called unbound
https://bugs.webkit.org/show_bug.cgi?id=157286
<rdar://problem/26052830>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-02
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
This changes
consoleto be a global namespace object, likeMathandJSON.
It just holds a bunch of functions, that can be used on their own, unbound.
For example,[1,2,3].forEach(console.log)andvar log = console.log; log(1)
used to throw exceptions and now do not.
Previously console was an Object/Prototype pair, so functions were on
ConsolePrototype (console.proto.log) and they needed to be called
Console objects as thethisvalue. Now,consoleis just a standard
object with a bunch of functions. Since there is no console prototype the
functions can be passed around and called as expected and they will
just do the right thing.
For compatability with other browsers,
consolewas made enumerable
on the global object.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
Add new files and remove old files.
- runtime/CommonIdentifiers.h:
Add "console".
- runtime/ConsoleObject.cpp: Renamed from Source/JavaScriptCore/runtime/ConsolePrototype.cpp.
(JSC::ConsoleObject::ConsoleObject):
(JSC::ConsoleObject::finishCreation):
(JSC::valueToStringWithUndefinedOrNullCheck):
(JSC::consoleLogWithLevel):
(JSC::consoleProtoFuncDebug):
(JSC::consoleProtoFuncError):
(JSC::consoleProtoFuncLog):
(JSC::consoleProtoFuncInfo):
(JSC::consoleProtoFuncWarn):
(JSC::consoleProtoFuncClear):
(JSC::consoleProtoFuncDir):
(JSC::consoleProtoFuncDirXML):
(JSC::consoleProtoFuncTable):
(JSC::consoleProtoFuncTrace):
(JSC::consoleProtoFuncAssert):
(JSC::consoleProtoFuncCount):
(JSC::consoleProtoFuncProfile):
(JSC::consoleProtoFuncProfileEnd):
(JSC::consoleProtoFuncTakeHeapSnapshot):
(JSC::consoleProtoFuncTime):
(JSC::consoleProtoFuncTimeEnd):
(JSC::consoleProtoFuncTimeStamp):
(JSC::consoleProtoFuncGroup):
(JSC::consoleProtoFuncGroupCollapsed):
(JSC::consoleProtoFuncGroupEnd):
Console functions no longer need to check if the this object is
a Console object. They will always just work now.
- runtime/MathObject.cpp:
- runtime/MathObject.h:
- runtime/ConsoleObject.h: Renamed from Source/JavaScriptCore/runtime/ConsolePrototype.h.
(JSC::ConsoleObject::create):
(JSC::ConsoleObject::createStructure):
ConsoleObject is a basic object like MathObject.
- runtime/JSConsole.cpp: Removed.
- runtime/JSConsole.h: Removed.
- runtime/JSGlobalObject.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
Remove JSConsole / ConsolePrototype in favor of the single ConsoleObject.
LayoutTests:
- js/console-expected.txt: Added.
- js/console.html: Added.
- 5:11 PM Changeset in webkit [200349] by
-
- 5 edits in tags/Safari-602.1.30.3/Source
Versioning.
- 5:07 PM Changeset in webkit [200348] by
-
- 1 copy in tags/Safari-602.1.30.3
New tag.
- 4:47 PM Changeset in webkit [200347] by
-
- 4 edits2 adds in trunk
REGRESSION(r199964): Animation on pseudo elements doesn't trigger if first frame matches the current style
https://bugs.webkit.org/show_bug.cgi?id=157284
Reviewed by Simon Fraser.
Source/WebCore:
r199964 accidentally changed the logic for computing style change for animations.
Test: fast/css/animation-pseudo-style-change.html
- style/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateBeforeOrAfterPseudoElement):
If there is an animated style determine the style change using it rather than the originally resolved style.
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveElement):
Here too.
LayoutTests:
- fast/css/animation-pseudo-style-change-expected.html: Added.
- fast/css/animation-pseudo-style-change.html: Added.
- 4:14 PM Changeset in webkit [200346] by
-
- 23 edits1 add in trunk
Add the ability to accumulate logs for specific logging channels to help diagnose test timeouts.
https://bugs.webkit.org/show_bug.cgi?id=157274
Reviewed by Alex Christensen.
Source/WebCore:
- platform/Logging.cpp:
(WebCore::setLogChannelToAccumulate): Set the given log channel to accumulate logging,
and dirty the initializeLoggingChannelsIfNecessary flag.
(WebCore::initializeLoggingChannelsIfNecessary): Change from being a one-time-only call to a
one-time-for-each-time-somebody-calls-setLogChannelToAccumulate call.
- platform/Logging.h:
- testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::setLogChannelToAccumulate):
(WebCoreTestSupport::initializeLoggingChannelsIfNecessary):
- testing/js/WebCoreTestSupport.h:
Source/WTF:
This patch changes WTFLog to add the logging string to the logging accumulator if the logging channel says so.
It also adds support for using this new accumulation mechanism.
- WTF.xcodeproj/project.pbxproj:
- wtf/Assertions.cpp:
(WTF::resetAccumulatedLogs):
(WTF::getAndResetAccumulatedLogs):
- wtf/Assertions.h:
- wtf/LoggingAccumulator.h: Added. Expose functions to get accumulated logs and to reset the accumulation.
- wtf/text/WTFString.cpp:
(WTF::String::format): Update to handle %@ on CF (Well, really ObjC) platforms.
Tools:
Add the new accumulate method to DRT's TestRunner, dump the accumulated logs if there's a timeout,
and reset them in between tests:
- DumpRenderTree/TestRunner.cpp:
(accummulateLogsForChannel):
(TestRunner::staticFunctions):
(TestRunner::waitToDumpWatchdogTimerFired):
(TestRunner::setAccummulateLogsForChannel):
- DumpRenderTree/TestRunner.h:
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
Also add the new method to WKTR's TestRunner, but just stubbed for now:
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::accummulateLogsForChannel):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
LayoutTests:
For the tests that are known flakes that are not imported, add the "accumulate IndexedDB logs" command.
- storage/indexeddb/modern/resources/256-open-databases.js:
- storage/indexeddb/modern/resources/abort-requests-cancelled.js:
- storage/indexeddb/modern/resources/autoincrement-abort.js:
- storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
- storage/indexeddb/resources/odd-strings.js:
- 4:07 PM Changeset in webkit [200345] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Prefer "Console Evaluation" to "Eval Code" if we know it was a console evaluation
https://bugs.webkit.org/show_bug.cgi?id=157278
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-02
Reviewed by Timothy Hatcher.
- Localizations/en.lproj/localizedStrings.js:
"Console Evaluation" string.
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload): Deleted.
Delete an assert that would throw when the location is noSourceID:-1:-1.
- UserInterface/Models/CallFrame.js:
(WebInspector.CallFrame.fromDebuggerPayload):
(WebInspector.CallFrame.fromPayload):
(WebInspector.CallFrame):
When this is in a Console Evalution provide better values.
- UserInterface/Models/GarbageCollection.js:
(WebInspector.GarbageCollection):
Drive-by address a common assertions seen while paused.
- 3:21 PM Changeset in webkit [200344] by
-
- 4 edits in trunk/Source
Sort the project file.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit2:
- WebKit2.xcodeproj/project.pbxproj:
- 3:19 PM Changeset in webkit [200343] by
-
- 10 edits in trunk/Source/WebCore
Make Length, LengthSize and LengthPoint blending not use member functions
https://bugs.webkit.org/show_bug.cgi?id=157281
Reviewed by Zalan Bujtas.
Having blend() be a member function is ambiguous because it's hard to tell which are
the 'from' and 'to' values. Fix Length, LengthSize and LengthPoint accordingly.
No behavior change.
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
- platform/Length.cpp:
(WebCore::blendMixedTypes):
(WebCore::blend):
(WebCore::Length::blendMixedTypes): Deleted.
- platform/Length.h:
(WebCore::Length::blend): Deleted.
- platform/LengthPoint.h:
(WebCore::blend):
(WebCore::LengthPoint::blend): Deleted.
- platform/LengthSize.h:
(WebCore::blend):
(WebCore::LengthSize::blend): Deleted.
- platform/graphics/filters/FilterOperation.cpp:
(WebCore::BlurFilterOperation::blend):
- platform/graphics/transforms/TranslateTransformOperation.cpp:
(WebCore::TranslateTransformOperation::blend):
- rendering/style/BasicShapes.cpp:
(WebCore::BasicShapePolygon::blend):
(WebCore::BasicShapeInset::blend):
- rendering/style/BasicShapes.h:
(WebCore::BasicShapeCenterCoordinate::blend):
(WebCore::BasicShapeRadius::blend):
- 3:19 PM Changeset in webkit [200342] by
-
- 13 edits in trunk/Source
Fix shouldUpdateScrollLayerPositionSynchronously() for non-main frames. Remove updatesScrollLayerPositionOnMainThread()
https://bugs.webkit.org/show_bug.cgi?id=157277
Reviewed by Dean Jackson, Tim Horton.
Source/WebCore:
shouldUpdateScrollLayerPositionSynchronously() gave an answer for the main frame even if
called for a subframe. This could have caused scroll snapping, and isRubberBandInProgress()
to give wrong answers sometimes. Fix by passing in the FrameView.
I was unable to easily come up with a testcase to detect the incorrect behavior.
Remove updatesScrollLayerPositionOnMainThread() which is unused by all ports.
- page/FrameView.cpp:
(WebCore::FrameView::isScrollSnapInProgress):
(WebCore::FrameView::shouldUpdateCompositingLayersAfterScrolling):
(WebCore::FrameView::isRubberBandInProgress):
(WebCore::FrameView::updatesScrollLayerPositionOnMainThread): Deleted.
- page/FrameView.h:
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateSynchronousScrollingReasons):
(WebCore::ScrollingCoordinator::shouldUpdateScrollLayerPositionSynchronously):
- page/scrolling/ScrollingCoordinator.h:
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::updateTiledScrollingIndicator):
- platform/ScrollableArea.h:
- platform/win/PopupMenuWin.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupFontSubpixelQuantization):
- rendering/RenderLayer.h:
- rendering/RenderListBox.h:
Source/WebKit2:
Remove updatesScrollLayerPositionOnMainThread() which is unused by all ports.
- WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h:
- 3:19 PM Changeset in webkit [200341] by
-
- 28 edits1 copy1 add in trunk/Source/WebCore
Add to the Animations log channel output about which properties are being blended
https://bugs.webkit.org/show_bug.cgi?id=157271
Reviewed by Dean Jackson.
Make the Animations log channel dump information as CSS properties are being blended.
Sample output:
blending left from 0px to 400px at 0.57 -> 227.76px
blending transform from translate(0px, 0px, 0px) to translate(400px, 0px, 0px) at 0.74 -> translate(294.97px, 0px, 0px)
This makes it easier to see, for example, transitions to or from "auto" values.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::PropertyWrapperGetter::value):
(WebCore::PropertyWrapperMaybeInvalidColor::value):
(WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty):
(WebCore::CSSPropertyAnimation::blendProperties):
- platform/Length.cpp:
(WebCore::operator<<):
- platform/LengthBox.h:
- platform/graphics/transforms/IdentityTransformOperation.h:
- platform/graphics/transforms/Matrix3DTransformOperation.cpp:
(WebCore::Matrix3DTransformOperation::dump):
- platform/graphics/transforms/Matrix3DTransformOperation.h:
- platform/graphics/transforms/MatrixTransformOperation.cpp:
(WebCore::MatrixTransformOperation::dump):
- platform/graphics/transforms/MatrixTransformOperation.h:
- platform/graphics/transforms/PerspectiveTransformOperation.cpp:
(WebCore::PerspectiveTransformOperation::dump):
- platform/graphics/transforms/PerspectiveTransformOperation.h:
- platform/graphics/transforms/RotateTransformOperation.cpp:
(WebCore::RotateTransformOperation::dump):
- platform/graphics/transforms/RotateTransformOperation.h:
- platform/graphics/transforms/ScaleTransformOperation.cpp:
(WebCore::ScaleTransformOperation::dump):
- platform/graphics/transforms/ScaleTransformOperation.h:
- platform/graphics/transforms/SkewTransformOperation.cpp:
(WebCore::SkewTransformOperation::dump):
- platform/graphics/transforms/SkewTransformOperation.h:
- platform/graphics/transforms/TransformOperation.h:
- platform/graphics/transforms/TransformOperations.cpp:
(WebCore::operator<<):
- platform/graphics/transforms/TransformOperations.h:
- platform/graphics/transforms/TranslateTransformOperation.cpp:
(WebCore::TranslateTransformOperation::dump):
- platform/graphics/transforms/TranslateTransformOperation.h:
- rendering/style/NinePieceImage.cpp:
(WebCore::operator<<):
- rendering/style/NinePieceImage.h:
- svg/SVGLength.cpp:
(WebCore::operator<<):
- svg/SVGLength.h:
- 3:18 PM Changeset in webkit [200340] by
-
- 9 edits in trunk/Source/WebCore
Modernize HTMLConstructionSite
https://bugs.webkit.org/show_bug.cgi?id=157279
Reviewed by Alex Christensen.
Modernize HTMLConstructionSite: Use less raw pointers, more auto, more
range loops and more nullptr.
- dom/ScriptElement.h:
- html/parser/HTMLConstructionSite.cpp:
(WebCore::setAttributes):
(WebCore::shouldUseLengthLimit):
(WebCore::executeReparentTask):
(WebCore::HTMLConstructionSite::attachLater):
(WebCore::HTMLConstructionSite::executeQueuedTasks):
(WebCore::HTMLConstructionSite::HTMLConstructionSite):
(WebCore::HTMLConstructionSite::takeForm):
(WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
(WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
(WebCore::HTMLConstructionSite::setDefaultCompatibilityMode):
(WebCore::HTMLConstructionSite::setCompatibilityMode):
(WebCore::HTMLConstructionSite::finishedParsing):
(WebCore::HTMLConstructionSite::insertDoctype):
(WebCore::HTMLConstructionSite::insertComment):
(WebCore::HTMLConstructionSite::insertCommentOnDocument):
(WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
(WebCore::HTMLConstructionSite::insertHTMLHeadElement):
(WebCore::HTMLConstructionSite::insertHTMLBodyElement):
(WebCore::HTMLConstructionSite::insertHTMLFormElement):
(WebCore::HTMLConstructionSite::insertHTMLElement):
(WebCore::HTMLConstructionSite::insertHTMLElementOrFindCustomElementInterface):
(WebCore::HTMLConstructionSite::insertCustomElement):
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
(WebCore::HTMLConstructionSite::insertFormattingElement):
(WebCore::HTMLConstructionSite::insertScriptElement):
(WebCore::HTMLConstructionSite::insertForeignElement):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::reparent):
(WebCore::HTMLConstructionSite::insertAlreadyParsedChild):
(WebCore::HTMLConstructionSite::takeAllChildren):
(WebCore::HTMLConstructionSite::createElement):
(WebCore::HTMLConstructionSite::createHTMLElementOrFindCustomElementInterface):
(WebCore::HTMLConstructionSite::createHTMLElement):
(WebCore::HTMLConstructionSite::createElementFromSavedToken):
(WebCore::HTMLConstructionSite::indexOfFirstUnopenFormattingElement):
(WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
(WebCore::HTMLConstructionSite::findFosterSite):
(WebCore::HTMLConstructionSite::shouldFosterParent):
(WebCore::HTMLConstructionSite::fosterParent):
(WebCore::HTMLConstructionSite::~HTMLConstructionSite): Deleted.
(WebCore::HTMLConstructionSite::setForm): Deleted.
(WebCore::HTMLConstructionSite::setCompatibilityModeFromDoctype): Deleted.
(WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode): Deleted.
(WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion): Deleted.
- html/parser/HTMLConstructionSite.h:
(WebCore::HTMLConstructionSite::inQuirksMode):
(WebCore::HTMLConstructionSite::isTelephoneNumberParsingEnabled):
(WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
- html/parser/HTMLElementStack.cpp:
(WebCore::HTMLNames::isRootNode):
(WebCore::HTMLElementStack::ElementRecord::ElementRecord):
(WebCore::HTMLElementStack::ElementRecord::replaceElement):
(WebCore::HTMLElementStack::ElementRecord::isAbove):
(WebCore::HTMLElementStack::popAll):
(WebCore::HTMLElementStack::popUntil):
(WebCore::HTMLElementStack::popUntilPopped):
(WebCore::HTMLElementStack::pushRootNode):
(WebCore::HTMLElementStack::pushHTMLHtmlElement):
(WebCore::HTMLElementStack::pushRootNodeCommon):
(WebCore::HTMLElementStack::pushHTMLHeadElement):
(WebCore::HTMLElementStack::pushHTMLBodyElement):
(WebCore::HTMLElementStack::push):
(WebCore::HTMLElementStack::insertAbove):
(WebCore::HTMLElementStack::removeHTMLHeadElement):
(WebCore::HTMLElementStack::remove):
(WebCore::HTMLElementStack::contains):
(WebCore::inScopeCommon):
(WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
(WebCore::HTMLElementStack::inScope):
(WebCore::HTMLElementStack::pushCommon):
(WebCore::HTMLElementStack::popCommon):
(WebCore::HTMLElementStack::removeNonTopCommon):
(WebCore::HTMLElementStack::show):
(WebCore::HTMLElementStack::hasOnlyOneElement): Deleted.
(WebCore::HTMLElementStack::secondElementIsHTMLBodyElement): Deleted.
(WebCore::HTMLElementStack::pop): Deleted.
(WebCore::HTMLElementStack::popUntilTableScopeMarker): Deleted.
(WebCore::HTMLElementStack::oneBelowTop): Deleted.
- html/parser/HTMLElementStack.h:
(WebCore::HTMLElementStack::ElementRecord::stackItem):
(WebCore::HTMLElementStack::ElementRecord::setNext): Deleted.
(WebCore::HTMLElementStack::popUntilPopped): Deleted.
- html/parser/HTMLFormattingElementList.cpp:
(WebCore::HTMLFormattingElementList::contains):
(WebCore::HTMLFormattingElementList::swapTo):
(WebCore::HTMLFormattingElementList::append):
(WebCore::HTMLFormattingElementList::remove):
(WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
(WebCore::HTMLFormattingElementList::ensureNoahsArkCondition):
- html/parser/HTMLFormattingElementList.h:
(WebCore::HTMLFormattingElementList::Entry::Entry):
(WebCore::HTMLFormattingElementList::Entry::replaceElement):
(WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
(WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
(WebCore::HTMLFormattingElementList::Bookmark::mark):
(WebCore::HTMLFormattingElementList::first):
(WebCore::HTMLFormattingElementList::Entry::isMarker): Deleted.
(WebCore::HTMLFormattingElementList::Entry::stackItem): Deleted.
(WebCore::HTMLFormattingElementList::Entry::operator!=): Deleted.
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processDoctypeToken):
(WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::insertGenericHTMLElement):
(WebCore::HTMLTreeBuilder::processTemplateStartTag):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody):
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
(WebCore::HTMLTreeBuilder::processTokenInForeignContent):
- 2:42 PM Changeset in webkit [200339] by
-
- 2 edits in trunk/Tools
Add fail-fast option to run-javascriptcore-tests
https://bugs.webkit.org/show_bug.cgi?id=157270
Patch by Srinivasan Vijayaraghavan <svijayaraghavan@apple.com> on 2016-05-02
Reviewed by Geoffrey Garen.
- Scripts/run-javascriptcore-tests: Add fail-fast command line option.
Defaults to yes, which is the current behavior.
- 2:20 PM Changeset in webkit [200338] by
-
- 13 edits in trunk/Source/JavaScriptCore
[Win] Clean up annoying compiler warnings
https://bugs.webkit.org/show_bug.cgi?id=149813
Reviewed by Alex Christensen.
- bytecode/PropertyCondition.cpp:
(JSC::PropertyCondition::isWatchableWhenValid):
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
- inspector/InspectorBackendDispatcher.cpp:
(Inspector::BackendDispatcher::sendPendingErrors):
- jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCall):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseAssignmentExpression):
- runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::createWithInlineFrame):
- runtime/Error.cpp:
(JSC::addErrorInfoAndGetBytecodeOffset):
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::initializeNumberFormat):
- runtime/JSObject.cpp:
(JSC::JSObject::heapSnapshot):
(JSC::callToPrimitiveFunction):
- runtime/RegExpPrototype.cpp:
(JSC::flagsString):
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::StackFrame::functionStartColumn):
- 2:01 PM Changeset in webkit [200337] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Adding a new console message shouldn't modify DOM when the console log is hidden
https://bugs.webkit.org/show_bug.cgi?id=155629
<rdar://problem/25235470>
Reviewed by Timothy Hatcher.
Instead of rendering console messages right away, store them (in _pendingMessages)
and render only when the console tab or the split console is visible.
Also, batch rendering operations using requestAnimationFrame.
- UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController):
Store console message views in _pendingMessages.
(WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView):
(WebInspector.JavaScriptLogViewController.prototype.renderPendingMessages):
Use requestAnimationFrame batching. Run isScrolledToBottom() at most only once
per batch.
(WebInspector.JavaScriptLogViewController.prototype.renderPendingMessagesSoon):
(WebInspector.JavaScriptLogViewController.prototype._didRenderConsoleMessageView):
There is no need to run scrollToBottom again.
- UserInterface/Views/ConsoleCommandView.js:
(WebInspector.ConsoleCommandView):
Move all DOM operations to a new render method.
(WebInspector.ConsoleCommandView.prototype.render):
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView):
(WebInspector.ConsoleMessageView.prototype.render):
(WebInspector.ConsoleMessageView.prototype.set repeatCount):
(WebInspector.ConsoleMessageView.prototype._renderRepeatCount):
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype.shown):
When the console tab or the split console is opened render all pending messages.
(WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
No need to scrollToBottom once again.
(WebInspector.LogContentView.prototype._messageAdded):
(WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated):
(WebInspector.LogContentView.prototype._scopeFromMessageLevel): Deleted.
(WebInspector.LogContentView.prototype._markScopeBarItemUnread): Added.
Rename _pulseScopeBarItemBorder. In the very first version the border was pulsing,
but now we use small colored circles instead.
- 1:32 PM Changeset in webkit [200336] by
-
- 5 edits in trunk/Source/WebCore
Remove unneeded casts once we upgrade to a version of Visual Studio that is not broken
https://bugs.webkit.org/show_bug.cgi?id=121235
Reviewed by Darin Adler.
- css/MediaQueryEvaluator.cpp:
(WebCore::createFunctionMap):
- dom/make_names.pl:
(printWrapperFactoryCppFile):
- loader/archive/ArchiveFactory.cpp:
(WebCore::archiveMIMETypes):
- rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromGraphicsElement):
- 1:25 PM Changeset in webkit [200335] by
-
- 2 edits in trunk/Source/WebKit2
Crash if a certificate chain has null certificates
https://bugs.webkit.org/show_bug.cgi?id=157206
Reviewed by Alexey Proskuryakov.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::certificatesMatch):
SecTrustGetCertificateAtIndex can return null.
If this ever happens, something has gone horribly wrong in the security code and we should crash.
See rdar://problem/21723172
- 12:59 PM Changeset in webkit [200334] by
-
- 4 edits in trunk/Source/WebInspectorUI
Uncaught Exception: TypeError: null is not an object (evaluating 'sourceCodeLocation.formattedLineNumber')
https://bugs.webkit.org/show_bug.cgi?id=157239
<rdar://problem/26030791>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-02
Reviewed by Timothy Hatcher.
- UserInterface/Controllers/IssueManager.js:
(WebInspector.IssueManager.issueMatchSourceCode):
Require a sourceCodeLocation for Script errors.
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._addIssue):
Be safe against a missing sourceCodeLocation.
- UserInterface/Views/SourceCodeTextEditor.css:
(.source-code.text-editor > .CodeMirror .issue-widget.inline > .arrow):
(@media (-webkit-min-device-pixel-ratio: 2)):
Adjust the style, on non-Retina the inline message arrow would sometimes
be detached from the warning message.
- 12:52 PM Changeset in webkit [200333] by
-
- 2 edits in trunk/Source/WebCore
Fix build.
- platform/mac/WebPlaybackControlsManager.h:
- 12:47 PM Changeset in webkit [200332] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Zooming of docked Web Inspector affects the webpage, but reset to 0 does not
https://bugs.webkit.org/show_bug.cgi?id=157234
rdar://problem/26027177
Always prevent default for the zoom keyboard shortcuts to avoid passing the event back to
Safari to handle and add explicit beeps when max/min is hit.
Reviewed by Brian Burg.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded): Removed setting implicitlyPreventsDefault on zoom keyboard shortcuts.
(WebInspector._increaseZoom): Add explicit beep and remove preventDefault call.
(WebInspector._decreaseZoom): Ditto.
- 12:33 PM Changeset in webkit [200331] by
-
- 2 edits in trunk/Source/WebCore
DataDetector underline color should be based on the text color
https://bugs.webkit.org/show_bug.cgi?id=157272
Fixes:
<rdar://problem/25663930> DataDetectors links should use the default text color for their parent nodes
<rdar://problem/25663983> DataDetectors links underline color update
Reviewed by Tim Horton.
- editing/cocoa/DataDetection.mm:
(WebCore::DataDetection::detectContentInRange):
When using light links, use the color of the parent element as the text color, and that same color with
20% alpha as the underline color.
- 12:08 PM Changeset in webkit [200330] by
-
- 7 edits in trunk/Source/WebKit2
Addressing post-review comments after r200116
https://bugs.webkit.org/show_bug.cgi?id=157228
Reviewed by Anders Carlsson.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- UIProcess/API/Cocoa/WKWebViewConfiguration.h:
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration encodeWithCoder:]):
(-[WKWebViewConfiguration initWithCoder:]):
(-[WKWebViewConfiguration copyWithZone:]):
- UIProcess/WebPageProxy.cpp:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- 11:59 AM Changeset in webkit [200329] by
-
- 2 edits in trunk/Tools
[CMake] MiniBrowser fails to build because libsoup link flags are not defined.
https://bugs.webkit.org/show_bug.cgi?id=157268
Reviewed by Michael Catanzaro.
- MiniBrowser/gtk/CMakeLists.txt:
- 11:37 AM Changeset in webkit [200328] by
-
- 6 edits in trunk
[Win] Enable IndexedDB.
https://bugs.webkit.org/show_bug.cgi?id=157192
Reviewed by Brent Fulgham.
.:
- Source/cmake/OptionsWin.cmake:
Source/WTF:
Fix compile errors when format specifiers like PRIu64 is used, by defining
STDC_FORMAT_MACROS before inttypes.h is included.
- wtf/Platform.h:
LayoutTests:
- platform/win/TestExpectations: Update IndexedDB test expectations.
- 11:19 AM Changeset in webkit [200327] by
-
- 4 edits3 adds in trunk
document.currentScript must be null when we're executing a script inside a shadow tree
https://bugs.webkit.org/show_bug.cgi?id=157245
Reviewed by Darin Adler.
Source/WebCore:
Fix the bug by not setting currentScript as spec'ed in HTML5 specification:
https://html.spec.whatwg.org/multipage/dom.html#dom-document-currentscript
https://html.spec.whatwg.org/multipage/scripting.html#execute-the-script-block
as of 3dc763829ca1598427b588cf08830c1e2af5a05c
New behavior matches that of Google Chrome Canary.
Test: fast/shadow-dom/Document-prototype-currentScript.html
- dom/CurrentScriptIncrementer.h:
(WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer):
(WebCore::CurrentScriptIncrementer::~CurrentScriptIncrementer):
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::executeScript):
LayoutTests:
Add a W3C style testharness.js test.
- fast/shadow-dom/Document-prototype-currentScript-expected.txt: Added.
- fast/shadow-dom/Document-prototype-currentScript.html: Added.
- fast/shadow-dom/resources/Document-prototype-currentScript-helper.js: Added.
- 11:05 AM Changeset in webkit [200326] by
-
- 4 edits2 adds in trunk
Do not reuse cache entries with conditional headers
https://bugs.webkit.org/show_bug.cgi?id=157205
rdar://problem/25856933
Reviewed by Chris Dumez.
Source/WebCore:
Test: http/tests/xmlhttprequest/if-modified-since-0.html
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::canReuse):
CachedResourceLoader::determineRevalidationPolicy asserts that the request is not conditional,
which means that it does not have any headers like If-Modified-Since. They are usually different,
because we put the timestamp in the If-Modified-Since header, so it fails the canReuse test because
time has passed since the last If-Modified-Since header was sent. When a user sets the If-Modified-Since
manually to something that is constant, we reuse cache entries when we should not.
- platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
Set the source so we can use it in Internals.
LayoutTests:
- http/tests/xmlhttprequest/if-modified-since-0-expected.txt: Added.
- http/tests/xmlhttprequest/if-modified-since-0.html: Added.
- 10:38 AM Changeset in webkit [200325] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
ToThis should be able to be eliminated in Constant Folding
https://bugs.webkit.org/show_bug.cgi?id=157213
Reviewed by Saam Barati.
This patch enables eliminating the ToThis value when we have abstract interpreter
indicates the node is not needed. Since there are Objects that override their
ToThis behavior we first check if we can eliminate the node by looking at its
speculated type. If the function is in strict mode then we can eliminate ToThis as
long as the speculated type is not SpecObjectOther since that contains objects
that may set OverridesToThis. If the function is not in strict mode then we can
eliminate ToThis as long is the speculated type is an object that is not SpecObjectOther.
If we can't eliminate with type information we can still eliminate the ToThis node with
the proven structure set. When ToThis only sees structures that do not set OverridesToThis
it can be eliminated. Additionally, if the function is in strict mode then we can eliminate
ToThis as long as all only the object structures don't set OverridesToThis.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::isToThisAnIdentity):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupToThis):
- tests/stress/to-this-global-object.js: Added.
(test):
(test2):
(get for):
- 9:21 AM Changeset in webkit [200324] by
-
- 2 edits in trunk/Source/WebCore
Speculatively fix the cmake build
https://bugs.webkit.org/show_bug.cgi?id=157262
Reviewed by Darin Adler.
This patch adds WEB_TIMING build flag guards around calls to DOMWindow()->performance(),
in order to make sure builds that have WEB_TIMING disabled (e.g. cmake on Mac) continue
to build.
No new tests as there's no functional change.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::loadDone):
- 9:15 AM Changeset in webkit [200323] by
-
- 5 edits in trunk/Source
CSP: Add workaround for XtraMath
https://bugs.webkit.org/show_bug.cgi?id=157252
Reviewed by Andy Estes.
Source/WebCore:
- platform/RuntimeApplicationChecks.h:
- platform/RuntimeApplicationChecks.mm:
(WebCore::IOSApplication::isXtraMath): Added.
Source/WebKit/mac:
- WebView/WebView.mm:
(shouldAllowContentSecurityPolicySourceStarToMatchAnyProtocol): Allow * to match any protocol for
applicable versions of app XtraMath.
- 8:57 AM Changeset in webkit [200322] by
-
- 13 edits in trunk/Source
DatabaseTracker::closeAllDatabases calls Database::close from the wrong thread
https://bugs.webkit.org/show_bug.cgi?id=147672
<rdar://problem/22357464>
Reviewed by Brady Eidson.
Source/WebCore:
Schedule a DatabaseCloseTask when Database::close() is called from a thread other than the
database thread as the database thread is responsible for interacting with the database.
Currently -[WebDatabaseManager startBackgroundTask] and WebProcess::processWillSuspendImminently()
call DatabaseTracker::closeAllDatabases() indirectly and directly, respectively, from a
thread other than the database thread. In a debug build, this causes an assertion failure
in Database::close(). In a release/production build, this starts a race between the calling
thread and the database thread that can lead to a crash. It is the responsibility of the
database thread to manage the database. We should ensure that calling Database::close()
delegates the responsibility of actually closing the database to the database thread to
avoid interfering with the database thread or the need to synchronize access to data
structures used by the database thread.
- Modules/webdatabase/Database.cpp:
(WebCore::Database::interrupt): Added. Turns around and calls SQLiteDatabase::interrupt().
(WebCore::Database::close): Added. Schedules a DatabaseCloseTask to close the database and
wait for it to complete if we have not already scheduled closing the database.
(WebCore::Database::performClose): Renamed; formerly named close.
(WebCore::Database::markAsDeletedAndClose): Extracted logic to schedule a DatabaseCloseTask
from here to Database::close() and modified this function to call Database::close().
- Modules/webdatabase/Database.h:
- Modules/webdatabase/DatabaseTask.cpp:
(WebCore::DatabaseCloseTask::doPerformTask): Call Database::performClose() instead of Database::close()
as the latter has been repurposed to schedule closing the database.
- Modules/webdatabase/DatabaseThread.cpp:
(WebCore::DatabaseThread::databaseThread): Ditto.
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::closeAllDatabases): Added argument currentQueryBehavior (defaults
to CurrentQueryBehavior::RunToCompletion - close every database after completion of the
current database query, if any).
- Modules/webdatabase/DatabaseTracker.h:
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::interrupt): Added. This is safe to call regardless of the state
of the database and thread safe by <https://www.sqlite.org/c3ref/interrupt.html>.
- platform/sql/SQLiteDatabase.h:
Source/WebKit/mac:
Update the background assertion expiration callback to call DatabaseTracker::closeAllDatabases()
with CurrentQueryBehavior::Interrupt so that we abort a long running query and close the database
immediately to avoid holding a locked file when the process is suspended.
- Storage/WebDatabaseManager.mm:
(+[WebDatabaseManager startBackgroundTask]):
Source/WebKit2:
Call DatabaseTracker::closeAllDatabases() with CurrentQueryBehavior::Interrupt so that we abort
a long running query and close the database immediately to avoid holding a locked file when the
process is suspended.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::processWillSuspendImminently):
- 5:01 AM Changeset in webkit [200321] by
-
- 7 edits3 adds in trunk
Class contructor and methods shouldn't have "arguments" and "caller"
https://bugs.webkit.org/show_bug.cgi?id=144238
Reviewed by Ryosuke Niwa.
Source/JavaScriptCore:
Added TypeError that is raised in case of access to properties 'arguments' or 'caller'
of constructor or method of class.
- runtime/JSFunction.cpp:
(JSC::getThrowTypeErrorGetterSetter):
(JSC::JSFunction::getOwnPropertySlot):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::createThrowTypeErrorArgumentsAndCaller):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::throwTypeErrorArgumentsAndCallerGetterSetter):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncThrowTypeErrorArgumentsAndCaller):
- runtime/JSGlobalObjectFunctions.h:
LayoutTests:
- js/class-method-and-constructor-properties-expected.txt: Added.
- js/class-method-and-constructor-properties.html: Added.
- js/script-tests/class-method-and-constructor-properties.js: Added.
- 1:21 AM Changeset in webkit [200320] by
-
- 32 edits1 copy4 adds in trunk
Move ResourceTiming behind a runtime flag
https://bugs.webkit.org/show_bug.cgi?id=157133
Reviewed by Alex Christensen.
.:
- Source/cmake/WebKitFeatures.cmake: Remove the PERFORMANCE_TIMELINE build flag.
Source/JavaScriptCore:
- runtime/CommonIdentifiers.h: Added PerformanceEntry, PerformanceEntryList and PerformanceResourceTiming as property names.
Source/WebCore:
Move the ResourceTiming API from being behind a build time flag to be behind an
off-by-default runtime flag, that can be turned on using internals.
Tests: fast/dom/Window/window-properties-performance-resource-timing.html
http/tests/performance/performance-resource-timing-entries.html
- DerivedSources.make: Added idl files for PerformanceEntry, PerformanceEntryList and PerformanceResourceTiming.
- WebCore.xcodeproj/project.pbxproj: Added the various Performance* files to the project.
- bindings/generic/RuntimeEnabledFeatures.cpp: Added ResourceTiming as a runtime flag.
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
- bindings/generic/RuntimeEnabledFeatures.h: Added ResourceTiming as a runtime flag.
(WebCore::RuntimeEnabledFeatures::setResourceTimingEnabled):
(WebCore::RuntimeEnabledFeatures::resourceTimingEnabled):
- bindings/js/JSPerformanceEntryCustom.cpp: Removed #if for ResourceTiming, and replaced PERFORMANCE_TIMELINE for WEB_TIMING.
Added build flag around UserTiming related h files.
(WebCore::toJS): Deleted.
- dom/EventNames.h: Renamed webkitresourcetimingbufferfull to resourcetimingbufferfull.
- loader/DocumentThreadableLoader.cpp: Replace #if for ResourceTiming with runtime flag.
(WebCore::DocumentThreadableLoader::loadRequest):
- loader/ResourceLoadNotifier.cpp: Replace #if for ResourceTiming with runtime flag.
(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
- loader/cache/CachedResourceLoader.cpp: Replace #if for ResourceTiming with runtime flag.
(WebCore::CachedResourceLoader::revalidateResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::storeResourceTimingInitiatorInformation):
(WebCore::CachedResourceLoader::loadDone):
- loader/cache/CachedResourceLoader.h: Remove #if for ResourceTiming.
- page/Performance.cpp: Remove #if for ResourceTiming.
(WebCore::Performance::Performance): Removed #if for ResourceTiming related initialization.
(WebCore::Performance::webkitGetEntries): Renamed to getEntries.
(WebCore::Performance::webkitGetEntriesByType): Renamed to getEntriesByType.
(WebCore::Performance::webkitGetEntriesByName): Renamed to getEntriesByName.
- page/Performance.h: Remove #if for ResourceTiming.
- page/Performance.idl: Replace #if for ResourceTiming with runtime flag.
- page/PerformanceEntry.cpp: Remove the PERFORMANCE_TIMELINE build flag.
- page/PerformanceEntry.h: Remove the PERFORMANCE_TIMELINE build flag.
- page/PerformanceEntry.idl: Replace the PERFORMANCE_TIMELINE build flag with runtime flag.
- page/PerformanceEntryList.cpp: Remove the PERFORMANCE_TIMELINE build flag.
- page/PerformanceEntryList.h: Remove the PERFORMANCE_TIMELINE build flag.
- page/PerformanceEntryList.idl: Replace the PERFORMANCE_TIMELINE build flag with runtime flag.
- page/PerformanceResourceTiming.cpp: Remove the RESOURCE_TIMING build flag.
- page/PerformanceResourceTiming.h: Remove the RESOURCE_TIMING build flag.
- page/PerformanceResourceTiming.idl: Replace the RESOURCE_TIMING build flag with runtime flag.
- testing/Internals.cpp: Add a method that enables ResourceTiming.
(WebCore::Internals::setResourceTimingSupport):
- testing/Internals.h: Add a method that enables ResourceTiming.
- testing/Internals.idl: Add a method that enables ResourceTiming.
LayoutTests:
Added tests that make sure ResourceTiming APIs are exposed and that resources
show up as entries in the performance timeline.
- fast/dom/Window/window-properties-performance-resource-timing-expected.txt: Added.
- fast/dom/Window/window-properties-performance-resource-timing.html: Added.
- fast/dom/Window/window-properties-performance.html: Removed ";".
- http/tests/performance/performance-resource-timing-entries-expected.txt: Added.
- http/tests/performance/performance-resource-timing-entries.html: Added.
- 1:09 AM Changeset in webkit [200319] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
Assertion failure for bound function with custom prototype and Reflect.construct
https://bugs.webkit.org/show_bug.cgi?id=157081
Reviewed by Saam Barati.
We ensured
newTarget != exec->callee(). However, it does not meannewTarget.get("prototype") != exec->callee()->get("prototype").
When the givenprototypeis the same tobaseStructure->sotredPrototype(), it is unnecessary to create a new structure from this
baseStructure.
- bytecode/InternalFunctionAllocationProfile.h:
(JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase):
- tests/stress/custom-prototype-may-be-same-to-original-one.js: Added.
(shouldBe):
(boundFunction):
May 1, 2016:
- 11:14 PM Changeset in webkit [200318] by
-
- 5 edits in trunk
AX: Crash at WebCore::AccessibilityObject::getAttribute const + 9
https://bugs.webkit.org/show_bug.cgi?id=157256
Reviewed by Chris Fleizach.
Source/WebCore:
When the <label> for the input element has no renderer, it will cause
crash when we ask for the title element text. Fixed it by getting the
aria-label attribute directly from the <label> element instead of its
accessibility object.
Test case covered in accessibility/mac/aria-label-on-label-element.html.
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::titleElementText):
LayoutTests:
- accessibility/mac/aria-label-on-label-element-expected.txt:
- accessibility/mac/aria-label-on-label-element.html:
- 11:05 PM Changeset in webkit [200317] by
-
- 26 edits in trunk/Source/WebCore
Stop using string-based enumerations in TextTrack, and eliminate support for string-based enumerations
https://bugs.webkit.org/show_bug.cgi?id=157253
Reviewed by Chris Dumez.
This was the most difficult case to convert from the old style of enumeration to enum class.
Afterward there is a bit of messy duplication, but it still seems like an improvement overall.
After this patch, I plan to change the rule for the name of the enumeration; instead of
living at the top level of the WebCore namespace, we will look for them inside the class for the
first interface defined in the same file along with the enumeration, and remove the name prefix,
if the interfaces's name is a prefix of the enumerations's name.
Once that's done, next step is to do something in the bindings for dictionaries. And adopt both the
enumeration and dictionary mechanisms more widely, and remove the old use of "dictionary" as a type name.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::removeSourceBuffer): Use enum values instead of keywords.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::textTrackModeChanged): Ditto.
- bindings/js/JSTextTrackCustom.cpp:
(WebCore::JSTextTrack::setKind): Deleted.
- bindings/scripts/CodeGenerator.pm:
(IsStringBasedEnumType): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GetEnumerationImplementationContent): Removed IsStringBasedEnumType check.
(GenerateParametersCheck): Ditto.
(GenerateImplementation): Ditto.
(GetNativeType): Ditto.
(JSValueToNative): Ditto.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadInternal): Use enum values instead of keywords.
(WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
(WebCore::HTMLMediaElement::textTrackKindChanged): Ditto.
(WebCore::HTMLMediaElement::textTrackAddCues): Ditto.
(WebCore::HTMLMediaElement::textTrackAddCue): Ditto.
(WebCore::HTMLMediaElement::addTextTrack): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackGroup): Ditto.
(WebCore::HTMLMediaElement::setSelectedTextTrack): Ditto.
(WebCore::HTMLMediaElement::configureTextTracks): Ditto.
(WebCore::HTMLMediaElement::hasClosedCaptions): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Ditto.
(WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Ditto.
(WebCore::toPlatform): Added helpers for the outOfBandTrackSources function.
(WebCore::HTMLMediaElement::outOfBandTrackSources): Removed unneeded fastHasAttribute
check since getNonEmptyURLAttribute already returns an empty URL when the attribute is
not present. Changed to use enum values instead of keywords.
- html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::parseAttribute): Use new setKindKeywordIgnoringASCIICase
function rather than calling setKind and convertToASCIILowercase. Also use ensureTrack
instead of track since the latter is a cover that calls it and dumbs down the return type.
(WebCore::HTMLTrackElement::kind): Changed return type to const AtomicString& since
that's what we will have for kind keywords and because it matches what we normally have
for attribute getting fuctions. Also use ensureTrack.
(WebCore::HTMLTrackElement::setKind): Changed argument to AtomicString so we don't waste
time making a string and then destroying it before turning it into an AtomicString so it
can be an attribute value.
(WebCore::HTMLTrackElement::srclang): Changed return type to const AtomicString& as is
customary and efficient for attribute value convenience functions. Also use fastGetAttribute.
(WebCore::HTMLTrackElement::setSrclang): Deleted.
(WebCore::HTMLTrackElement::label): Ditto.
(WebCore::HTMLTrackElement::setLabel): Deleted.
(WebCore::HTMLTrackElement::setIsDefault): Deleted.
(WebCore::HTMLTrackElement::scheduleLoad): Use enum values instead of keywords.
- html/HTMLTrackElement.h: Use pragma once. Update for changes mentioned above.
Also mark things final instead of override as per our recent style discussion.
- html/HTMLTrackElement.idl: Use [Reflect] for srclang and label.
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Use enum value
instead of keyword.
(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Ditto.
- html/track/AudioTrack.cpp:
(WebCore::AudioTrack::AudioTrack): Use new base class MediaTrackBase.
- html/track/AudioTrack.h: Use pragma once. Make base class be MediaTrackBase instead
of TrackBase.
- html/track/InbandTextTrack.cpp:
(WebCore::InbandTextTrack::setMode): Change argument type to enum instead of string.
(WebCore::toPrivate): Added. Helper for setModeInternal.
(WebCore::InbandTextTrack::setModeInternal): Change argument type to enum instead of string.
(WebCore::InbandTextTrack::updateKindFromPrivate): Use enum instead of string to call setKind.
- html/track/InbandTextTrack.h: Use pragma once. Use TextTrackMode for argument types.
- html/track/TextTrack.cpp:
(WebCore::captionsKeyword): Converted this to a non-member function since it is now
private to this file.
(WebCore::descriptionsKeyword): Ditto.
(WebCore::chaptersKeyword): Ditto.
(WebCore::metadataKeyword): Ditto.
(WebCore::forcedKeyword): Ditto.
(WebCore::TextTrack::disabledKeyword): Deleted.
(WebCore::TextTrack::hiddenKeyword): Deleted.
(WebCore::TextTrack::showingKeyword): Deleted.
(WebCore::TextTrack::TextTrack): Moved some initialization to be done in the header where
the data members are defined. Put the code that is the equivalent to setKindInternal here,
because it turns out it's not needed anywhere else. Over time we might change the types
involved and there's no need to have that be across multiple functions.
(WebCore::TextTrack::~TextTrack): Removed unneeded call to clearClient, right when the
object is about to be destroyed. Perhaps there was an illusion that the old call might
be a virtual function call that invokes the clearClient from a derived class, but that
doesn't work in a destructor, so this code was only clearing out the data member and
that does not need to be done.
(WebCore::TextTrack::isValidKind): Deleted.
(WebCore::TextTrack::enabled): Use enum value instead of keyword.
(WebCore::TextTrack::kindKeyword): Added. Function for callers who need a string, not the
enum value.
(WebCore::TextTrack::setKind): Take enum value instead of keyword. Also changed since
we store the kind in a data member in this class, not inherited.
(WebCore::TextTrack::setKindKeywordIgnoringASCIICase): Added. For HTMLTrackElement to use
when setting the kind attribute.
(WebCore::TextTrack::setMode): Take enum value instread of keyword. Also removed assertion
since the enum already makes it intrinsically clear what values are valid, unlike a string.
(WebCore::TextTrack::cues): Use enum value instead of keyword.
(WebCore::TextTrack::activeCues): Ditto.
(WebCore::TextTrack::addCue): Ditto.
(WebCore::TextTrack::ensureVTTRegionList): Changed return type to reference.
(WebCore::TextTrack::regions): Use enum value instead of keyword.
(WebCore::TextTrack::addRegion): Use reference.
(WebCore::TextTrack::cueDidChange): Ditto.
(WebCore::TextTrack::isRendered): Use enum values instead of keywords. Also write to be
a boolean expression instead of a couple different if statements.
(WebCore::TextTrack::ensureTextTrackCueList): Changed return type to reference.
(WebCore::TextTrack::isMainProgramContent): Use enum value instead of keyword.
(WebCore::TextTrack::containsOnlyForcedSubtitles): Ditto.
- html/track/TextTrack.h: Use pragma once. Removed unneeded include. Added enums for
TextTrackKind and TextTrackMode. Updated for changes to functions listed above.
Added m_mode and m_kind and initialized those data members and some others.
- html/track/TextTrack.idl: Tweaked formatting. Used ImplementedAs for the kind
attribute rather than using a CustomSetter. This preserves the strange behavior
where setting kind does nothing when !ENABLE(MEDIA_SOURCE). If we discover we don't
need that, then we won't need ImplementedAs any more either.
- html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::dispatchEvent): Use enum instad of keyword.
(WebCore::TextTrackCue::isActive): Ditto.
- html/track/TrackBase.cpp:
(WebCore::TrackBase::TrackBase): Removed unneeded initialization that is handled in
the data member definition in the header now.
(WebCore::MediaTrackBase::MediaTrackBase): Added. Calls through to TrackBase.
(WebCore::MediaTrackBase::setKind): Moved to MediaTrackBase from TrackBase, because
this isn't needed for text tracks.
(WebCore::MediaTrackBase::setKindInternal): Ditto.
- html/track/TrackBase.h: Use pragma once. Move kind, setKind, isValidKind, defaultKindKeyword,
setKindInternal, and m_kind all to a derived class, MediaTrackBase, since TextTrack doesn't need
any of those any more. Later we might adopt enumerations more and it's possible the need for
MediaTrackBase will go away.
- html/track/VideoTrack.cpp:
(WebCore::VideoTrack::VideoTrack): Updated to use MediaTrackBase.
(WebCore::VideoTrack::setLanguage): Ditto.
- html/track/VideoTrack.h: Use pragma once. Removed unneeded header include.
Derive from MediaTrackBase instead of TrackBase.
- page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::sortedTrackListForMenu): Use enum values instead
of keywords.
(WebCore::CaptionUserPreferences::textTrackSelectionScore): Ditto.
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore): Ditto.
(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu): Ditto. Also used
kindKeyword since we want a string for logging.
- platform/cocoa/WebPlaybackSessionModelMediaElement.mm:
(WebPlaybackSessionModelMediaElement::updateLegibleOptions): Ditto.
- 9:21 PM Changeset in webkit [200316] by
-
- 30 edits in trunk/Source/WebCore
Pass reference instead of pointer to IDL attribute setters if not nullable
https://bugs.webkit.org/show_bug.cgi?id=157250
Reviewed by Darin Adler.
Update the bindings generator so that we pass wrapper types by reference
to attribute setters instead of by raw pointer when the attribute is not
marked as nullable in the IDL.
There is no intended Web-exposed behavior change.
- Modules/speech/SpeechSynthesisUtterance.idl:
- Modules/webaudio/ConvolverNode.idl:
- bindings/js/JSDataCueCustom.cpp:
(WebCore::constructJSDataCue):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- bindings/scripts/CodeGeneratorObjC.pm:
(GenerateImplementation):
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/ObjC/DOMTestInterface.mm:
- bindings/scripts/test/ObjC/DOMTestObj.mm:
Rebaseline bindings tests.
- dom/Document.cpp:
(WebCore::Document::moveNodeIteratorsToNewDocument):
- dom/NodeIterator.cpp:
(WebCore::NodeIterator::NodePointer::NodePointer):
(WebCore::NodeIterator::NodePointer::moveToNext):
(WebCore::NodeIterator::NodePointer::moveToPrevious):
(WebCore::NodeIterator::NodeIterator):
(WebCore::NodeIterator::~NodeIterator):
(WebCore::NodeIterator::updateForNodeRemoval):
(WebCore::NodeIterator::NodePointer::clear): Deleted.
(WebCore::NodeIterator::nextNode): Deleted.
- dom/NodeIterator.h:
- dom/Traversal.cpp:
(WebCore::NodeIteratorBase::NodeIteratorBase):
- dom/Traversal.h:
(WebCore::NodeIteratorBase::root):
- dom/TreeWalker.cpp:
(WebCore::TreeWalker::setCurrentNode):
(WebCore::TreeWalker::setCurrent):
(WebCore::TreeWalker::parentNode):
(WebCore::TreeWalker::firstChild):
(WebCore::TreeWalker::lastChild):
(WebCore::TreeWalker::traverseSiblings):
(WebCore::TreeWalker::previousNode):
(WebCore::TreeWalker::nextNode):
- dom/TreeWalker.h:
(WebCore::TreeWalker::currentNode):
- dom/TreeWalker.idl:
- html/HTMLAttachmentElement.idl:
- html/HTMLInputElement.idl:
- html/HTMLTableElement.idl:
- html/track/DataCue.cpp:
(WebCore::DataCue::DataCue):
(WebCore::DataCue::setData):
(WebCore::toDataCue): Deleted.
- html/track/DataCue.h:
- html/track/DataCue.idl:
- 5:32 PM Changeset in webkit [200315] by
-
- 12 edits2 deletes in trunk
Unreviewed, rolling out r200264 and r200266.
https://bugs.webkit.org/show_bug.cgi?id=157251
This change caused existing LayoutTest media/media-source
/media-source-stalled-holds-sleep-assertion.html to time out
on Mac on every run. (Requested by ryanhaddad on #webkit).
Reverted changesets:
"[Mac] AirPlay fails if target is set before AVPlayer has been
created"
https://bugs.webkit.org/show_bug.cgi?id=157147
http://trac.webkit.org/changeset/200264
"[Mac] AirPlay fails if target is set before AVPlayer has been
created"
https://bugs.webkit.org/show_bug.cgi?id=157147
http://trac.webkit.org/changeset/200266
- 5:21 PM Changeset in webkit [200314] by
-
- 2 edits in trunk/Source/WebCore
Drop CanUseWTFOptionalForParameter() from bindings generator
https://bugs.webkit.org/show_bug.cgi?id=157247
Reviewed by Darin Adler.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(CanUseWTFOptionalForParameter): Deleted.
- 5:17 PM Changeset in webkit [200313] by
-
- 13 edits in trunk/Source
Update Fetch to use enum class instead of string for enumerations
https://bugs.webkit.org/show_bug.cgi?id=157241
Reviewed by Chris Dumez.
Source/WebCore:
- Modules/fetch/FetchOptions.h: Changed this class into a struct,
getting rid of all the getter and setter functions. Moved all the
enumeration types out of this class to the WebCore namespace level
and gave them all the names and values that match the ones from the
IDL file.
- Modules/fetch/FetchRequest.cpp:
(WebCore::setReferrerPolicy): Updated for the changes to FetchOptions.
The string matching here will likely go away when we change dictionary
so it sets up a structure, which will parse the enumeration values, but
that won't be for a while, so this stays for now.
(WebCore::setMode): Ditto.
(WebCore::setCredentials): Ditto.
(WebCore::setCache): Ditto.
(WebCore::setRedirect): Ditto.
(WebCore::buildOptions): Updated for changes to FetchOptions.
(WebCore::buildHeaders): Ditto.
(WebCore::FetchRequest::create): Ditto.
(WebCore::FetchRequest::type): Moved this to the header and changed its
return type to the enum; it's not just a single return statement.
(WebCore::FetchRequest::destination): Ditto.
(WebCore::FetchRequest::referrerPolicy): Ditto.
(WebCore::FetchRequest::mode): Ditto.
(WebCore::FetchRequest::credentials): Ditto.
(WebCore::FetchRequest::cache): Ditto.
(WebCore::FetchRequest::redirect): Ditto.
- Modules/fetch/FetchRequest.h: Changed all the getters that return
enumerations to return the enum class values instead of strings.
Put all the inline versions here in the header.
- bindings/scripts/CodeGenerator.pm: Removed the seven enum types that
are in FetchRequest.idl from the list of "string-based" enums.
- dom/Document.cpp:
(WebCore::Document::Document): Updated for the change where I
renamed ReferrerPolicy to ReferrerHeaderPolicy, at least for now.
(WebCore::Document::processReferrerPolicy): Ditto.
(WebCore::Document::applyContentDispositionAttachmentSandbox): Ditto.
- dom/Document.h: Ditto.
- loader/FrameNetworkingContext.h: Ditto.
- page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::generateReferrerHeader): Ditto.
- page/SecurityPolicy.h: Ditto.
- platform/ReferrerPolicy.h: Renamed this enum from ReferrerPolicy to
ReferrerHeaderPolicy, since the one specified in the Fetch API has the
name ReferrerPolicy. I think the best way to resolve this longer term is
to merge them since they really do represent the same concept, although
the one from the Fetch API has a few more features.
Source/WebKit2:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadResource): Updated for the change where I
renamed ReferrerPolicy to ReferrerHeaderPolicy, at least for now.
(WebKit::WebLoaderStrategy::schedulePluginStreamLoad): Ditto.
- 2:30 PM Changeset in webkit [200312] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed attempt to fix Windows build after r200288.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
- 2:08 PM Changeset in webkit [200311] by
-
- 2 edits in trunk/Source/WebKit2
Fixed build with !ENABLED(DATABASE_PROCESS).
Unreviewed build fix.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::grantSandboxExtensionsToDatabaseProcessForBlobs):
- 1:58 PM Changeset in webkit [200310] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed attempt to fix Windows build after r200288.
- bindings/scripts/CodeGeneratorJS.pm:
(GetEnumerationImplementationContent):
- 1:00 PM Changeset in webkit [200309] by
-
- 165 edits82 adds in trunk/LayoutTests
Sync web-platform-tests up to revision 4af8373
https://bugs.webkit.org/show_bug.cgi?id=157170
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Rebasing expectations.
- resources/ImportExpectations: Skipping new test suites.
Skipping IndexedDB until we decide whether to continue having these tests here.
- resources/TestRepositories: Updating revision to 4af8373.
- resources/web-platform-tests-modules.json:
- web-platform-tests/IndexedDB/idbindex-multientry-big-expected.txt:
- web-platform-tests/IndexedDB/idbindex_get7-expected.txt:
- web-platform-tests/IndexedDB/idbindex_getKey7-expected.txt:
- web-platform-tests/IndexedDB/idbindex_openCursor2-expected.txt:
- web-platform-tests/IndexedDB/idbindex_openKeyCursor3-expected.txt:
- web-platform-tests/README.md:
- web-platform-tests/XMLHttpRequest/OWNERS:
- web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials-expected.txt:
- web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.js:
(test_withCredentials.): Deleted.
- web-platform-tests/XMLHttpRequest/abort-during-open.htm:
- web-platform-tests/XMLHttpRequest/abort-during-open.js: Added.
(test.async_test.test.step.client.onreadystatechange):
(test.async_test.test.step):
- web-platform-tests/XMLHttpRequest/abort-during-open.worker.js: Added.
- web-platform-tests/XMLHttpRequest/data-uri-expected.txt:
- web-platform-tests/XMLHttpRequest/data-uri.htm:
- web-platform-tests/XMLHttpRequest/formdata-set-expected.txt:
- web-platform-tests/XMLHttpRequest/formdata-set.htm:
- web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
- web-platform-tests/XMLHttpRequest/resources/auth7/corsenabled.py: Added.
(main):
- web-platform-tests/XMLHttpRequest/resources/auth7/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/dom/lists/w3c-import.log.
- web-platform-tests/XMLHttpRequest/resources/auth8/corsenabled-no-authorize.py: Added.
(main):
- web-platform-tests/XMLHttpRequest/resources/auth8/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/dom/lists/w3c-import.log.
- web-platform-tests/XMLHttpRequest/resources/auth9/auth.py: Added.
(main):
- web-platform-tests/XMLHttpRequest/resources/auth9/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/dom/lists/w3c-import.log.
- web-platform-tests/XMLHttpRequest/responseurl-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/responseurl.html: Added.
- web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader-and-arguments-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader-and-arguments.htm: Added.
- web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred.htm: Added.
- web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
- web-platform-tests/XMLHttpRequest/send-send.htm:
- web-platform-tests/XMLHttpRequest/send-send.js: Added.
(test):
- web-platform-tests/XMLHttpRequest/send-send.worker.js: Added.
- web-platform-tests/XMLHttpRequest/setrequestheader-bogus-name-expected.txt:
- web-platform-tests/XMLHttpRequest/setrequestheader-bogus-name.htm:
- web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value-expected.txt:
- web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value.htm:
- web-platform-tests/XMLHttpRequest/w3c-import.log:
- web-platform-tests/common/OWNERS:
- web-platform-tests/dom/collections/HTMLCollection-as-proto-length-get-throws-expected.txt: Added.
- web-platform-tests/dom/collections/HTMLCollection-as-proto-length-get-throws.html: Added.
- web-platform-tests/dom/collections/HTMLCollection-supported-property-indices-expected.txt: Added.
- web-platform-tests/dom/collections/HTMLCollection-supported-property-indices.html: Added.
- web-platform-tests/dom/collections/w3c-import.log:
- web-platform-tests/dom/events/Event-constructors-expected.txt:
- web-platform-tests/dom/events/Event-constructors.html:
- web-platform-tests/dom/events/Event-defaultPrevented-after-dispatch-expected.txt: Added.
- web-platform-tests/dom/events/Event-defaultPrevented-after-dispatch.html: Added.
- web-platform-tests/dom/events/Event-dispatch-bubbles-false-expected.txt:
- web-platform-tests/dom/events/Event-dispatch-bubbles-false.html:
- web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
- web-platform-tests/dom/events/ProgressEvent-expected.txt:
- web-platform-tests/dom/events/ProgressEvent.html:
- web-platform-tests/dom/events/w3c-import.log:
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/dom/interfaces.html:
- web-platform-tests/dom/lists/DOMTokenList-value-expected.txt: Added.
- web-platform-tests/dom/lists/DOMTokenList-value.html: Added.
- web-platform-tests/dom/lists/w3c-import.log:
- web-platform-tests/dom/nodes/CharacterData-appendChild-expected.txt: Added.
- web-platform-tests/dom/nodes/CharacterData-appendChild.html: Added.
- web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt:
- web-platform-tests/dom/nodes/DOMImplementation-createDocument.html:
- web-platform-tests/dom/nodes/Document-Element-getElementsByTagName.js:
(test_getElementsByTagName):
- web-platform-tests/dom/nodes/Document-characterSet-normalization-expected.txt:
- web-platform-tests/dom/nodes/Document-characterSet-normalization.html:
- web-platform-tests/dom/nodes/Document-createElement-namespace-expected.txt:
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.html: Added.
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.svg: Added.
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xhtml: Added.
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xml: Added.
- web-platform-tests/dom/nodes/Document-createElement-namespace.html:
- web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
- web-platform-tests/dom/nodes/Document-createEvent.html:
- web-platform-tests/dom/nodes/Document-createEvent.js:
- web-platform-tests/dom/nodes/Document-getElementsByTagName-expected.txt:
- web-platform-tests/dom/nodes/Document-getElementsByTagName-xhtml-expected.txt:
- web-platform-tests/dom/nodes/Document-getElementsByTagName-xhtml.xhtml:
- web-platform-tests/dom/nodes/Element-getElementsByTagName-expected.txt:
- web-platform-tests/dom/nodes/Element-hasAttributes-expected.txt: Added.
- web-platform-tests/dom/nodes/Element-hasAttributes.html: Added.
- web-platform-tests/dom/nodes/Element-insertAdjacentElement-expected.txt: Added.
- web-platform-tests/dom/nodes/Element-insertAdjacentElement.html: Added.
- web-platform-tests/dom/nodes/Element-insertAdjacentText-expected.txt: Added.
- web-platform-tests/dom/nodes/Element-insertAdjacentText.html: Added.
- web-platform-tests/dom/nodes/Node-contains-xml-expected.txt: Added.
- web-platform-tests/dom/nodes/Node-contains-xml.xml: Added.
- web-platform-tests/dom/nodes/Node-isSameNode-expected.txt: Added.
- web-platform-tests/dom/nodes/Node-isSameNode.html: Added.
- web-platform-tests/dom/nodes/Node-parentElement.html:
- web-platform-tests/dom/nodes/Node-replaceChild-expected.txt:
- web-platform-tests/dom/nodes/Node-replaceChild.html:
- web-platform-tests/dom/nodes/attributes-expected.txt:
- web-platform-tests/dom/nodes/attributes.html:
- web-platform-tests/dom/nodes/attributes.js:
(attr_is):
- web-platform-tests/dom/nodes/case-expected.txt:
- web-platform-tests/dom/nodes/case.js:
(get_qualified_name):
(test_get_elements_tag_name):
- web-platform-tests/dom/nodes/insert-adjacent-expected.txt: Added.
- web-platform-tests/dom/nodes/insert-adjacent.html: Added.
- web-platform-tests/dom/nodes/remove-unscopable-expected.txt: Added.
- web-platform-tests/dom/nodes/remove-unscopable.html: Added.
- web-platform-tests/dom/nodes/rootNode-expected.txt: Added.
- web-platform-tests/dom/nodes/rootNode.html: Added.
- web-platform-tests/dom/nodes/w3c-import.log:
- web-platform-tests/dom/ranges/Range-stringifier-expected.txt: Added.
- web-platform-tests/dom/ranges/Range-stringifier.html: Added.
- web-platform-tests/dom/ranges/w3c-import.log:
- web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html:
- web-platform-tests/dom/traversal/TreeWalker-basic.html:
- web-platform-tests/dom/traversal/TreeWalker-currentNode.html:
- web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject.html:
- web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip.html:
- web-platform-tests/dom/traversal/TreeWalker-traversal-reject.html:
- web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most.html:
- web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html:
- web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree.html:
- web-platform-tests/fetch/api/cors/cors-preflight.js:
- web-platform-tests/fetch/api/credentials/cookies.js:
(cookies):
- web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:
- web-platform-tests/fetch/api/policies/referrer-origin.js:
(promise_test):
- web-platform-tests/fetch/api/request/request-consume.html:
- web-platform-tests/fetch/api/request/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/dom/lists/w3c-import.log.
- web-platform-tests/fetch/api/request/w3c-import.log:
- web-platform-tests/fetch/api/resources/utils.js:
(validateStreamFromString):
- web-platform-tests/fetch/api/response/response-cancel-stream-expected.txt:
- web-platform-tests/fetch/api/response/response-consume-stream-expected.txt:
- web-platform-tests/fetch/api/response/w3c-import.log:
- web-platform-tests/html/OWNERS:
- web-platform-tests/html/dom/documents/dom-tree-accessors/Document.getElementsByClassName-null-undef.html:
- web-platform-tests/html/dom/documents/dom-tree-accessors/Element.getElementsByClassName-null-undef.html:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByClassName-same.html:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case-xhtml.xhtml:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id-xhtml.xhtml:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml.xhtml:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml.xhtml:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml.xhtml:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.head-01.html:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.head-02.html:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-01.html:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-02.xhtml:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-03.html:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-04.xhtml:
- web-platform-tests/html/dom/elements/global-attributes/id-name-specialcase.html:
- web-platform-tests/html/dom/elements/global-attributes/id-name.html:
- web-platform-tests/html/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces.html:
- web-platform-tests/html/resources/common.js:
(isVoidElement): Deleted.
- web-platform-tests/html/semantics/document-metadata/the-link-element/resources/stylesheet.css: Added.
(body):
- web-platform-tests/html/semantics/document-metadata/the-link-element/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/dom/lists/w3c-import.log.
- web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-with-base-expected.html: Added.
- web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-with-base.html: Added.
- web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet.css: Added.
(body):
- web-platform-tests/html/semantics/document-metadata/the-link-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.scaled.png: Added.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-embed-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-with-base-expected.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-with-base.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/document-base-url-expected.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/document-base-url.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-img-element/resources/cat.jpg: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/dom/lists/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput.html:
- web-platform-tests/html/semantics/forms/form-submission-0/getactionurl-expected.txt: Added.
- web-platform-tests/html/semantics/forms/form-submission-0/getactionurl.html: Added.
- web-platform-tests/html/semantics/forms/form-submission-0/w3c-import.log:
- web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change-expected.txt: Added.
- web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change.html: Added.
- web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete-expected.txt:
- web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete.html:
- web-platform-tests/html/semantics/forms/the-input-element/checkbox.html:
- web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt: Added.
- web-platform-tests/html/semantics/forms/the-input-element/selection.html: Added.
- web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-legend-element/legend-form-expected.txt:
- web-platform-tests/html/semantics/forms/the-legend-element/legend-form.html:
- web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-1.html:
- web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-2.html:
- web-platform-tests/html/semantics/links/linktypes/alternate-css-expected.html: Added.
- web-platform-tests/html/semantics/links/linktypes/alternate-css.html: Added.
- web-platform-tests/html/semantics/links/linktypes/alternate.css: Added.
(div):
- web-platform-tests/html/semantics/links/linktypes/preferred.css: Added.
(div):
- web-platform-tests/html/semantics/links/linktypes/w3c-import.log:
- web-platform-tests/html/semantics/selectors/pseudo-classes/default-expected.txt:
- web-platform-tests/html/semantics/selectors/pseudo-classes/default.html:
- web-platform-tests/html/semantics/selectors/pseudo-classes/focus-autofocus-expected.txt: Added.
- web-platform-tests/html/semantics/selectors/pseudo-classes/focus-autofocus.html: Added.
- web-platform-tests/html/semantics/selectors/pseudo-classes/focus-expected.txt:
- web-platform-tests/html/semantics/selectors/pseudo-classes/focus.html:
- web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange-expected.txt:
- web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange.html:
- web-platform-tests/html/semantics/selectors/pseudo-classes/link-expected.txt:
- web-platform-tests/html/semantics/selectors/pseudo-classes/link.html:
- web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt:
- web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly.html:
- web-platform-tests/html/semantics/selectors/pseudo-classes/w3c-import.log:
- web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-03-expected.txt: Added.
- web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-03.html: Added.
- web-platform-tests/html/semantics/tabular-data/the-table-element/tFoot-expected.txt: Added.
- web-platform-tests/html/semantics/tabular-data/the-table-element/tFoot.html: Added.
- web-platform-tests/html/semantics/tabular-data/the-table-element/tHead-expected.txt: Added.
- web-platform-tests/html/semantics/tabular-data/the-table-element/tHead.html: Added.
- web-platform-tests/html/semantics/tabular-data/the-table-element/w3c-import.log:
- web-platform-tests/lint.whitelist:
- web-platform-tests/media/OWNERS:
- web-platform-tests/service-workers/cache-storage/serviceworker/cache-add.https.html:
- web-platform-tests/service-workers/cache-storage/serviceworker/cache-delete.https.html:
- web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html:
- web-platform-tests/service-workers/cache-storage/serviceworker/cache-matchAll.https.html:
- web-platform-tests/service-workers/cache-storage/serviceworker/cache-put.https.html:
- web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-keys.https.html:
- web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-match.https.html:
- web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage.https.html:
- web-platform-tests/service-workers/cache-storage/serviceworker/credentials.html:
- web-platform-tests/streams/byte-length-queuing-strategy.js:
(test):
- web-platform-tests/streams/count-queuing-strategy.js:
(test):
- web-platform-tests/streams/readable-streams/bad-strategies.js:
(get string_appeared_here):
(promise_test):
- web-platform-tests/streams/readable-streams/bad-underlying-sources.https-expected.txt:
- web-platform-tests/streams/readable-streams/bad-underlying-sources.js:
(promise_test):
(promise_test.t.const.closed.new.ReadableStream.start):
- web-platform-tests/streams/readable-streams/cancel.js:
(promise_test): Deleted.
- web-platform-tests/streams/readable-streams/general.https-expected.txt:
- web-platform-tests/streams/readable-streams/general.js:
(test):
(promise_test):
(promise_test.t.const.rs.new.ReadableStream.pull):
(promise_test.t.const.rs.new.ReadableStream.start): Deleted.
- web-platform-tests/streams/readable-streams/readable-stream-reader.js:
(test):
- web-platform-tests/streams/readable-streams/templated.https-expected.txt:
- web-platform-tests/streams/resources/rs-test-templates.js:
(self.templatedRSEmpty):
LayoutTests:
- platform/ios-simulator/TestExpectations: Marking some tests as failing.
- platform/wk2/imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle-expected.txt:
- 12:22 PM Changeset in webkit [200308] by
-
- 5 edits in tags/Safari-602.1.30.2/Source
Versioning.
- 12:19 PM Changeset in webkit [200307] by
-
- 1 copy in tags/Safari-602.1.30.2
New tag.
- 11:56 AM Changeset in webkit [200306] by
-
- 1 edit1 delete in trunk/Source/WebInspectorUI
WebInspectorUI.framework/Versions/A/Resources/Images/Legacy is empty
https://bugs.webkit.org/show_bug.cgi?id=157248
Reviewed by Timothy Hatcher.
- UserInterface/Images/Legacy: Removed.
- 10:52 AM Changeset in webkit [200305] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rebaseline bindings tests after r200300.
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsStringWithCache):
- 9:37 AM Changeset in webkit [200304] by
-
- 5 edits in trunk/Source/WebCore
Use enum class instead of string-based enums in RTC code
https://bugs.webkit.org/show_bug.cgi?id=157242
Reviewed by Alex Christensen.
- Modules/mediastream/RTCConfiguration.cpp:
(WebCore::RTCConfiguration::RTCConfiguration): Don't initialize members here,
do it in the header instead.
(WebCore::RTCConfiguration::initialize): Initialize data members to enum values,
not strings.
- Modules/mediastream/RTCConfiguration.h: Tried to keep this class compiling.
Added the new enum class, and changed to use that instead of strings. But note,
this should not even be a class. Needs to become a dictionary.
- Modules/mediastream/RTCConfiguration.idl: Updated the names and values of the
enums to match the current RTC specification. Again, as I said, this should be
a dictionary, not an interface.
- bindings/scripts/CodeGenerator.pm: Removed the RTC enumerations from the list
of string-based enums.
- 7:09 AM Changeset in webkit [200303] by
-
- 3 edits4 adds in trunk/LayoutTests/imported/w3c
Fix 157169
Update W3C importer files related to csswg-test files after r200234
https://bugs.webkit.org/show_bug.cgi?id=157169
Reviewed by Ryosuke Niwa.
Updating ImportExpectations to import css-scoping-1 test suite only from css wg test repository.
Updating TestRepositories to set the current csswg-test revision to b2daa426addd5ccb8e9ce1c5d800f9d82603f1ec.
Rerun test importer to add some additional files (document, license...).
- csswg-test/CONTRIBUTING.md: Added.
- csswg-test/LICENSE: Added.
- csswg-test/README.md: Added.
- csswg-test/w3c-import.log: Added.
- resources/ImportExpectations:
- resources/TestRepositories:
Apr 30, 2016:
- 11:07 PM Changeset in webkit [200302] by
-
- 3 edits2 adds in trunk
REGRESSION (r199640): position:absolute generated content inherits text-decoration from its element
https://bugs.webkit.org/show_bug.cgi?id=157199
<rdar://problem/26013111>
Reviewed by Zalan Bujtas.
Source/WebCore:
Test: fast/css/text-decoration-inheritance-pseudo.html
- css/StyleResolver.cpp:
(WebCore::doesNotInheritTextDecoration):
(WebCore::StyleResolver::adjustRenderStyle):
There was an accidental logic change here. Even if element is null other conditions may make this test true.
LayoutTests:
- fast/css/text-decoration-inheritance-pseudo-expected.html: Added.
- fast/css/text-decoration-inheritance-pseudo.html: Added.
- 10:42 PM Changeset in webkit [200301] by
-
- 4 edits2 adds in trunk
Some content causes deep recursion.
https://bugs.webkit.org/show_bug.cgi?id=157230
<rdar://problem/7694756>
Reviewed by Antti Koivisto.
This patch sets a limit(512) on content nesting for the render tree. Elements injected over the limit
are still accessible through DOM APIs but
- we stop generating renderers for them -they behave like display: none.
- their layout related computed style values are set to default (e.g. window.computedStyle(document.elementById("over512").width -> auto)
Source/WebCore:
Test: fast/block/nested-renderers.html
- page/Settings.h:
- style/StyleTreeResolver.cpp: Skip renderer constructing and continue with the sibling node.
(WebCore::Style::TreeResolver::resolveComposedTree):
LayoutTests:
- fast/block/nested-renderers-expected.html: Added.
- fast/block/nested-renderers.html: Added.
- 9:50 PM Changeset in webkit [200300] by
-
- 6 edits in trunk/Source/WebCore
Update XMLHttpRequest to use enum class instead of string for enumeration
https://bugs.webkit.org/show_bug.cgi?id=157238
Reviewed by Chris Dumez.
- bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::response): Rewrite to use responseType function
instead of responseTypeCode function.
- bindings/scripts/CodeGenerator.pm: Removed XMLHttpRequestResponseType
from the list of enumerations that use a string-based implementation.
- bindings/scripts/CodeGeneratorJS.pm:
(GetEnumerationImplementationContent): Use emptyString instead of ASCIILiteral
when the string constant is empty, to avoid the assertion.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::XMLHttpRequest): Move simple scalar data member
initialization to where the data members are defined in the header.
(WebCore::XMLHttpRequest::responseText): Use m_responseType instead of
m_responseTypeCode.
(WebCore::XMLHttpRequest::didCacheResponseJSON): Ditto.
(WebCore::XMLHttpRequest::responseXML): Ditto.
(WebCore::XMLHttpRequest::responseBlob): Ditto.
(WebCore::XMLHttpRequest::responseArrayBuffer): Ditto.
(WebCore::XMLHttpRequest::setResponseType): Ditto.
(WebCore::XMLHttpRequest::responseType): Moved to header now that it's a
trivial function that should be inlined.
(WebCore::XMLHttpRequest::open): Use m_responseType instead of
m_responseTypeCode.
(WebCore::XMLHttpRequest::responseMIMEType): Removed one redundant check.
(WebCore::XMLHttpRequest::status): Ditto.
(WebCore::XMLHttpRequest::statusText): Ditto.
(WebCore::shouldDecodeResponse): Moved here from the header. This is now
a non-member function that gets passed a response type. It uses a switch
now instead of ordering the types so that the binary ones are all at the
end of the list.
(WebCore::XMLHttpRequest::didReceiveData): Use the new shouldDecodeResponse.
Also removed an unnecessary check that non-decoded responses are of type
"arraybuffer" or "blob"; that's the same check that shouldDecodeResponse does.
- xml/XMLHttpRequest.h: Removed some unneeded includes and forward declarations.
Removed a comment about the State values needing to be stable numbers; for one
thing the bindings already check that these values have no changed. It's not a
valuable comment. Removed ResponseTypeCode, responseTypeCode, and
m_responseTypeCode. Changed the type of the result of responseType and the
argument to setResponseType from a string to XMLHttpRequestResponseType.
Removed shouldDecodeResponse. Added the initial values for lots of data members
that are simple scalars, matching what was set in the constructor before.
- 9:17 PM Changeset in webkit [200299] by
-
- 24 edits in trunk
Streamline and remove unused bindings generation code
https://bugs.webkit.org/show_bug.cgi?id=157237
Reviewed by Chris Dumez.
Source/WebCore:
- Modules/notifications/NotificationCenter.idl: Replace non-standard "int"
with standard "long", which means the same thing.
- bindings/scripts/CodeGenerator.pm:
(UpdateFile): Use a better perl idiom for open.
(IsTypedArrayType): Use a hash instead of a list of checks in the code.
(IsRefPtrType): Use GetArrayOrSequenceType. Add handling for "any", which
is not a "RefPtr" type.
(IsWrapperType): Build on top of IsRefPtr type so we don't have to repeat
the list.
(getInterfaceExtendedAttributesFromName): Added a FIXME about why this is no good.
(ComputeIsCallbackInterface): Renamed.
(IsCallbackInterface): Added a cache so we don't keep reading the same file
over and over again. Added a FIXME about why this is no good.
(ComputeIsFunctionOnlyCallbackInterface): Ditto.
(IsFunctionOnlyCallbackInterface): Ditto.
- bindings/scripts/CodeGeneratorJS.pm:
(AddIncludesForType): Use GetArrayOrSequenceType.
(IsScriptProfileType): Deleted.
(AddTypedefForScriptProfileType): Deleted.
(AddClassForwardIfNeeded): Streamlined the code and made the ScriptProfileNode
special case easier to read.
(GenerateParametersCheckExpression): Use GetArrayOrSequenceType.
(GetFunctionLength): Tweaked formatting and argument names.
(GenerateImplementation): Merged a couple checks into a single if statement.
(WillConvertUndefinedToDefaultParameterValue): Streamlined the function by
using a hash instead of a sequence of if statements for most cases.
(GetNativeType): Use GetArrayOrSequenceType.
(JSValueToNative): Do the integer conversion based on a hash rather than
with lots of separate lines of code. Moved more of the simple names down to
the bottom of the function and streamlined the logic. Removed unnecessary
includes of the DOM headers directly, since our header file includes those.
(NativeToJSValue): Factored out the global object handling so it works across
more cases. Simplified the logic for dates. Use IsNumericType instead of
IsPrimitiveType to guard code that is right only for the numeric types.
Removed code to handle "Symbol" since we don't ever use that.
- bindings/scripts/test/JS/JSTestCallback.cpp:
- bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
Regenerated.
- bindings/scripts/test/TestObj.idl: Removed test coverage for Symbol, which
we never use anywhere.
- html/canvas/EXTBlendMinMax.idl: Replace non-standard "int" with standard
"long", which means the same thing.
- html/canvas/EXTTextureFilterAnisotropic.idl: Ditto.
- html/canvas/EXTsRGB.idl: Ditto.
- html/canvas/OESStandardDerivatives.idl: Ditto.
- html/canvas/OESVertexArrayObject.idl: Ditto.
- html/canvas/WebGLCompressedTextureATC.idl: Ditto.
- html/canvas/WebGLCompressedTexturePVRTC.idl: Ditto.
- html/canvas/WebGLCompressedTextureS3TC.idl: Ditto.
- html/canvas/WebGLDebugRendererInfo.idl: Ditto.
- html/canvas/WebGLDepthTexture.idl: Ditto.
Tools:
- WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl:
- WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
Replace non-standard "int" with standard "long", which means the same thing.
- 3:06 PM Changeset in webkit [200298] by
-
- 46 edits in trunk
[Web IDL] Pass even more types by reference
https://bugs.webkit.org/show_bug.cgi?id=157231
Reviewed by Darin Adler.
Source/WebCore:
Pass even more types by reference when the parameters are not marked as
nullable in the IDL.
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::generateKeyRequest):
(WebCore::MediaKeySession::keyRequestTimerFired):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::addKeyTimerFired):
- Modules/encryptedmedia/MediaKeySession.h:
- Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::createSession):
- Modules/encryptedmedia/MediaKeys.h:
- Modules/encryptedmedia/MediaKeys.idl:
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::appendBuffer):
(WebCore::SourceBuffer::resetParserState): Deleted.
- Modules/mediasource/SourceBuffer.h:
- Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::send):
- Modules/mediastream/RTCDataChannel.h:
- Modules/webaudio/AnalyserNode.h:
(WebCore::AnalyserNode::getFloatFrequencyData):
(WebCore::AnalyserNode::getByteFrequencyData):
(WebCore::AnalyserNode::getByteTimeDomainData):
- Modules/webaudio/AnalyserNode.idl:
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createPeriodicWave):
- Modules/webaudio/AudioContext.h:
- Modules/webaudio/AudioParam.h:
(WebCore::AudioParam::setValueCurveAtTime):
- Modules/webaudio/AudioParam.idl:
- Modules/webaudio/BiquadFilterNode.cpp:
(WebCore::BiquadFilterNode::getFrequencyResponse):
- Modules/webaudio/BiquadFilterNode.h:
- Modules/webaudio/BiquadFilterNode.idl:
- Modules/webaudio/PeriodicWave.cpp:
(WebCore::PeriodicWave::create):
(WebCore::PeriodicWave::createSine): Deleted.
- Modules/webaudio/PeriodicWave.h:
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::send):
- Modules/websockets/WebSocket.h:
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(ShouldPassWrapperByReference):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors2):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::webkitAddKey):
(WebCore::HTMLMediaElement::webkitCancelKeyRequest): Deleted.
- html/HTMLMediaElement.h:
- html/HTMLMediaElement.idl:
- html/ImageData.cpp:
(WebCore::ImageData::create):
(WebCore::ImageData::ImageData):
- html/ImageData.h:
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::getImageData):
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::texImage3D):
(WebCore::WebGL2RenderingContext::texSubImage3D):
(WebCore::WebGL2RenderingContext::compressedTexImage3D):
(WebCore::WebGL2RenderingContext::compressedTexSubImage3D):
(WebCore::WebGL2RenderingContext::uniform1uiv):
(WebCore::WebGL2RenderingContext::uniform2uiv):
(WebCore::WebGL2RenderingContext::uniform3uiv):
(WebCore::WebGL2RenderingContext::uniform4uiv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x3fv):
(WebCore::WebGL2RenderingContext::vertexAttribI4iv):
(WebCore::WebGL2RenderingContext::vertexAttribI4uiv):
(WebCore::WebGL2RenderingContext::clearBufferiv):
(WebCore::WebGL2RenderingContext::clearBufferuiv):
(WebCore::WebGL2RenderingContext::clearBufferfv):
(WebCore::WebGL2RenderingContext::getActiveUniforms):
(WebCore::WebGL2RenderingContext::texSubImage2D):
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGL2RenderingContext.idl:
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::texSubImage2D):
- html/canvas/WebGLRenderingContext.h:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::bufferData):
(WebCore::WebGLRenderingContextBase::bufferSubData):
(WebCore::WebGLRenderingContextBase::compressedTexImage2D):
(WebCore::WebGLRenderingContextBase::compressedTexSubImage2D):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::texImage2D):
(WebCore::WebGLRenderingContextBase::uniform1fv):
(WebCore::WebGLRenderingContextBase::uniform1iv):
(WebCore::WebGLRenderingContextBase::uniform2fv):
(WebCore::WebGLRenderingContextBase::uniform2iv):
(WebCore::WebGLRenderingContextBase::uniform3fv):
(WebCore::WebGLRenderingContextBase::uniform3iv):
(WebCore::WebGLRenderingContextBase::uniform4fv):
(WebCore::WebGLRenderingContextBase::uniform4iv):
(WebCore::WebGLRenderingContextBase::uniformMatrix2fv):
(WebCore::WebGLRenderingContextBase::uniformMatrix3fv):
(WebCore::WebGLRenderingContextBase::uniformMatrix4fv):
(WebCore::WebGLRenderingContextBase::vertexAttrib1fv):
(WebCore::WebGLRenderingContextBase::vertexAttrib2fv):
(WebCore::WebGLRenderingContextBase::vertexAttrib3fv):
(WebCore::WebGLRenderingContextBase::vertexAttrib4fv):
(WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData):
(WebCore::WebGLRenderingContextBase::validateUniformParameters):
(WebCore::WebGLRenderingContextBase::validateUniformMatrixParameters):
(WebCore::WebGLRenderingContextBase::vertexAttribfvImpl):
(WebCore::WebGLRenderingContextBase::validateSettableTexFormat): Deleted.
(WebCore::WebGLRenderingContextBase::uniform1i): Deleted.
(WebCore::WebGLRenderingContextBase::uniform2i): Deleted.
(WebCore::WebGLRenderingContextBase::uniform3f): Deleted.
(WebCore::WebGLRenderingContextBase::uniform3i): Deleted.
(WebCore::WebGLRenderingContextBase::uniform4f): Deleted.
(WebCore::WebGLRenderingContextBase::uniform4i): Deleted.
(WebCore::WebGLRenderingContextBase::useProgram): Deleted.
(WebCore::WebGLRenderingContextBase::vertexAttribPointer): Deleted.
(WebCore::WebGLRenderingContextBase::validateCompressedTexDimensions): Deleted.
(WebCore::WebGLRenderingContextBase::validateBufferDataParameters): Deleted.
- html/canvas/WebGLRenderingContextBase.h:
- html/canvas/WebGLRenderingContextBase.idl:
- testing/Internals.cpp:
(WebCore::Internals::createTimeRanges):
- testing/Internals.h:
LayoutTests:
Update test now that slightly different exceptions are thrown.
- media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
- media/encrypted-media/encrypted-media-v2-syntax.html:
- 2:58 PM Changeset in webkit [200297] by
-
- 4 edits4 deletes in trunk
Node.prototype.rootNode is not Web compatible
https://bugs.webkit.org/show_bug.cgi?id=157233
Reviewed by Chris Dumez.
Source/WebCore:
Turns out that the name rootNode is not Web compatible. Remove the method for now
until we can come up with a better name in https://github.com/whatwg/dom/issues/241.
No new tests since we're just removing a method.
- dom/Node.idl:
LayoutTests:
Removed tests for Node.prototype.rootNode.
- fast/dom/Node/rootNode-expected.txt: Removed.
- fast/dom/Node/rootNode.html: Removed.
- fast/shadow-dom/Node-interface-rootNode-expected.txt: Removed.
- fast/shadow-dom/Node-interface-rootNode.html: Removed.
- js/dom/dom-static-property-for-in-iteration-expected.txt:
- 2:41 PM Changeset in webkit [200296] by
-
- 2 edits in trunk/Source/WebCore
Try to fix GTK build.
- testing/Internals.h: Added conditional around include of
MediaSessionInterruptionProvider.h.
- 2:21 PM Changeset in webkit [200295] by
-
- 2 edits in trunk/Source/JavaScriptCore
Guard ObjC-specific code in Heap.cpp with USE(FOUNDATION)
https://bugs.webkit.org/show_bug.cgi?id=157236
Reviewed by Darin Adler.
This also fixes build with GCC 4.8 which does not provide
has_include.
- heap/Heap.cpp:
- 1:26 PM Changeset in webkit [200294] by
-
- 32 edits in trunk/Source/WebCore
Stop using old-style string-based enums in Internals.idl
https://bugs.webkit.org/show_bug.cgi?id=157235
Reviewed by Chris Dumez.
- bindings/scripts/CodeGenerator.pm: Removed the six enumeration names
that are used in Internals.idl.
(GenerateCompileTimeCheckForEnumsIfNeeded): Unrelated cleanup. Tighten
code and use static_assert instead of COMPILE_ASSERT.
(IsStringType): Marked this function as deprecated. Calling a function
just to check if something is specifically "DOMString" isn't a good pattern.
Lots of call sites were checking "DOMString" directly and there is no
reason to mix the two different idioms.
- bindings/scripts/CodeGeneratorJS.pm:
(GetEnumerationImplementationContent): Use GenerateConditionalString.
(GenerateImplementation): Use static_assert instead of COMPILE_ASSERT.
(GenerateCallbackHeader): Tighten code. Remove peculiar code that was
trying to emit COMPILE_ASSERT(false); not an important case to detect, and
if we did want to detect it, then having the code generator report an error
is better than COMPILE_ASSERT when compiling the output.
(NativeToJSValue): Stop using IsStringType.
- bindings/scripts/CodeGeneratorObjC.pm:
(GetClassName): Stop using IsStringType.
(GetPropertyAttributes): Ditto.
(ConversionNeeded): Ditto.
(GetObjCTypeGetter): Ditto.
(AddIncludesForType): Ditto.
(GenerateImplementation): Removed unused @needsAssert. It was a write-only
variable.
- bindings/scripts/IDLParser.pm:
(parseEnum): Put the extended attributes into the enumeration object.
- bindings/scripts/test/TestObj.idl: Added test cases for the Conditional
extended attribute, used with enumerations.
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
- bindings/scripts/test/JS/JSTestCallback.cpp:
- bindings/scripts/test/JS/JSTestCallback.h:
- bindings/scripts/test/JS/JSTestCallbackFunction.h:
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
- bindings/scripts/test/JS/JSTestException.cpp:
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
- bindings/scripts/test/JS/JSattribute.cpp:
- bindings/scripts/test/JS/JSreadonly.cpp:
Regenerated.
- testing/Internals.cpp:
(WebCore::toResourceRequestCachePolicy): Take enum instead of string.
(WebCore::Internals::setOverrideCachePolicy): Ditto.
(WebCore::toResourceLoadPriority): Ditto.
(WebCore::Internals::setOverrideResourceLoadPriority): Ditto.
(WebCore::toAutoFillButtonType): Ditto.
(WebCore::Internals::setShowAutoFillButton): Ditto.
(WebCore::interruptingCategoryFromString): Deleted.
(WebCore::Internals::sendMediaSessionStartOfInterruptionNotification): Ditto.
(WebCore::Internals::sendMediaSessionEndOfInterruptionNotification): Ditto.
(WebCore::Internals::sendMediaControlEvent): Ditto.
(WebCore::Internals::installMockPageOverlay): Ditto.
- testing/Internals.h: Added enum class and use those instead of strings for
enumerations defined in the IDL.
- testing/Internals.idl: Renamed enumerations that conflict with ones that already
exist in WebCore; added Internals prefix. Made MediaSessionInterruptingCategory and
MediaControlEvent conditional to match the functions they are used on. Added some
FIXMEs about peculiarities of some of the enumerations.
- 1:05 PM Changeset in webkit [200293] by
-
- 3 edits1 add in trunk/Source/JavaScriptCore
Assertion failure for destructuring assignment with new.target and unary operator
https://bugs.webkit.org/show_bug.cgi?id=157149
Reviewed by Saam Barati.
The caller of parseDefaultValueForDestructuringPattern() should propagate errors.
And this patch also cleans up createSavePoint and createSavePointForError; introducing SavePointWithError.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseSourceElements):
(JSC::Parser<LexerType>::parseDestructuringPattern):
Add propagateErorr() for parseDefaultValueForDestructuringPattern.
(JSC::Parser<LexerType>::parseAssignmentExpression):
- parser/Parser.h:
(JSC::Parser::restoreLexerState):
(JSC::Parser::internalSaveState):
(JSC::Parser::createSavePointForError):
(JSC::Parser::createSavePoint):
(JSC::Parser::internalRestoreState):
(JSC::Parser::restoreSavePointWithError):
(JSC::Parser::restoreSavePoint):
- tests/stress/default-value-parsing-should-propagate-error.js: Added.
(testSyntaxError):
(testSyntaxError.f):
- 12:34 PM Changeset in webkit [200292] by
-
- 2 edits in trunk/Source/WebCore
Fixed expected results from bindings tests.
- bindings/scripts/test/JS/JSTestObj.cpp: Regenerated.
- 12:16 PM Changeset in webkit [200291] by
-
- 64 edits in trunk
Next batch of conversions to use C++ enum class instead of strings for enumerations
https://bugs.webkit.org/show_bug.cgi?id=157232
Reviewed by Chris Dumez.
Source/WebCore:
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::error): Use ResponseType.
(WebCore::FetchResponse::redirect): Ditto.
(WebCore::FetchResponse::FetchResponse): Ditto.
(WebCore::FetchResponse::clone): Ditto.
(WebCore::FetchResponse::type): Return ResponseType.
(WebCore::FetchResponse::startFetching): Use auto.
- Modules/fetch/FetchResponse.h: Added ResponseType and used it for the return value
of the type function, and also to replace FetchResponse::Type.
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::externalDeviceType): Return DeviceType.
- Modules/mediacontrols/MediaControlsHost.h: Added DeviceType and use it for the
return value for the externalDeviceType function.
- Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::parseKind): Deleted.
(WebCore::MediaSession::MediaSession): Use MediaSessionKind.
(WebCore::MediaSession::kind): Deleted.
- Modules/mediasession/MediaSession.h: Added MediaSessionKind and use it as the
argument to MediaSession::create and the return type for the kind function.
Probably didn't get this 100% right because this code does not seem to be compiled.
- Modules/mediasession/MediaSession.idl: Added default value for kind, as specified
in the current version of the specification for this class.
- Modules/mediasession/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::didReceiveStartOfInterruptionNotification):
Tried to update for changes above.
(WebCore::MediaSessionManager::didReceiveEndOfInterruptionNotification): Ditto.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::endOfStream): Changed to take Optional<EndOfStreamError>
instead of overloading and taking const AtomicString&.
(WebCore::MediaSource::streamEndedWithError): Ditto. Also removed exception code.
(WebCore::MediaSource::addSourceBuffer): Updated to use EndOfStreamError. Also
used an if statement.
(WebCore::MediaSource::sourceBufferDidChangeActiveState): Updated to take a reference
instead of a pointer.
- Modules/mediasource/MediaSource.h: Added EndOfStreamError and changed as above.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::segmentsKeyword): Deleted.
(WebCore::SourceBuffer::sequenceKeyword): Deleted.
(WebCore::SourceBuffer::TrackBuffer::TrackBuffer): Initialize booleans where they are
defined rather than in this constructor.
(WebCore::SourceBuffer::create): Use Ref instead of RefPtr.
(WebCore::SourceBuffer::SourceBuffer): Initialize many data members where they are
defined rather than in this constructor.
(WebCore::SourceBuffer::setTimestampOffset): Use AppendMode.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveRenderingError): Ditto.
(WebCore::SourceBuffer::decodeError): Deleted.
(WebCore::SourceBuffer::networkError): Deleted.
(WebCore::SourceBuffer::setActive): Pass reference instead of pointer.
(WebCore::SourceBuffer::sourceBufferPrivateDidEndStream): Deleted. No callers.
(WebCore::SourceBuffer::appendError): Use AppendMode.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
(WebCore::SourceBuffer::setMode): Take AppendMode.
- Modules/mediasource/SourceBuffer.h: Added AppendMode, removed various string
constant functions, initialize more data emebers in this header. Removed unused
sourceBufferPrivateDidEndStream function.
- Modules/mediastream/MediaDeviceInfo.cpp:
(WebCore::MediaDeviceInfo::MediaDeviceInfo): Take MediaDeviceKind instead of string.
(WebCore::MediaDeviceInfo::create): Ditto.
(WebCore::MediaDeviceInfo::audioInputType): Deleted.
(WebCore::MediaDeviceInfo::audioOutputType): Deleted.
(WebCore::MediaDeviceInfo::videoInputType): Deleted.
- Modules/mediastream/MediaDeviceInfo.h: Aedded MediaDeviceKind and used it.
- Modules/mediastream/MediaDeviceInfo.idl: Changed type of the kind attribute
to be MediaDeviceKind as in the specification.
- Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest): Fix loop to not
churn the reference countds. Also updated to use String instead of AtomicString for
label, and MediaDeviceKind instead of string for kind.
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::readyState): Return MediaStreamTrackState.
- Modules/mediastream/MediaStreamTrack.h: Added MediaStreamTrackState and used it
for the return value from the readyState function.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::state): Return AudioContextState.
- Modules/webaudio/AudioContext.h: Added AudioContextState and used it.
- Modules/webaudio/WaveShaperNode.cpp:
(WebCore::processorType): Added.
(WebCore::WaveShaperNode::setOversample): Take OverSampletype instead of a string.
(WebCore::WaveShaperNode::oversample): Return OverSampleType.
- Modules/webaudio/WaveShaperNode.h: Added OverSampleType and used it.
- Modules/webaudio/WaveShaperNode.idl: Removed unneeded [SetterRaisesException].
- bindings/scripts/CodeGenerator.pm: Removed special cases for 18 enumerations that
either don't exist or were converted to no longer pass strings in to the C++ DOM.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeaderContentHeader): Use #pragma once instead of header guards.
(GetEnumerationValueName): Added logic to handle names with "-" and starting with
a numeric digit.
(GetEnumerationImplementationContent): Changed functions so they do more of the
binding work. Added JSValueTraits specialization so we can generate bindings for
a vector of any enumeration. Added special cases for null string. Removed special
case to keep the style checker happy.
(GenerateHeader): Removed the #endif that matched the header guards in
GenerateHeaderContentHeader.
(GenerateImplementation): Use the $type local variable rather than writing out
$attribute->signature->type or $attributeType. Fixed code path that checks for
valid enumeration values to work for non-string-based enumerations.
(CanUseWTFOptionalForParameter): Turn this function off for the new enumerations.
For now, leave it on for the old string-based enumerations.
(GenerateParametersCheck): Added appropriate parameter checking for the new
enumerations.
(GenerateCallbackHeader): Removed the #endif that matched the header guards in
GenerateHeaderContentHeader.
(GetNativeType): Use "auto" instead of the enumeration name in generated code.
(JSValueToNative): Updated since the name of enumerationValueMyEnum was changed
to parseMyEnum.
(NativeToJSValue): Took out call to stringValue, since we now overload the
jsStringWithCache function instead.
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
- bindings/scripts/test/JS/JSTestCallback.h:
- bindings/scripts/test/JS/JSTestCallbackFunction.h:
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
- bindings/scripts/test/JS/JSTestEventConstructor.h:
- bindings/scripts/test/JS/JSTestEventTarget.h:
- bindings/scripts/test/JS/JSTestException.h:
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
- bindings/scripts/test/JS/JSTestGlobalObject.h:
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestNondeterministic.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
- bindings/scripts/test/JS/JSTestTypedefs.h:
- bindings/scripts/test/JS/JSattribute.h:
- bindings/scripts/test/JS/JSreadonly.h:
Regenerated.
- crypto/CryptoKey.cpp:
(WebCore::CryptoKey::type): Use CryptoKeyType.
(WebCore::CryptoKey::usages): Use KeyUsage.
- crypto/CryptoKey.h: Added KeyUsage and use CryptoKeyType.
- css/FontFaceSet.cpp:
(WebCore::FontFaceSet::status): Use FontFaceSetLoadStatus.
- css/FontFaceSet.h: Added FontFaceSetLoadStatus and used it.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::playInternal): Use kind instead of kindEnum.
- html/HTMLVideoElement.cpp:
(WebCore::presentationModeFullscreen): Deleted.
(WebCore::presentationModePictureInPicture): Deleted.
(WebCore::presentationModeInline): Deleted.
(WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Use VideoPresentationMode.
(WebCore::toFullscreenMode): Ditto.
(WebCore::HTMLVideoElement::webkitSetPresentationMode): Ditto.
(WebCore::toPresentationMode): Ditto.
(WebCore::HTMLVideoElement::webkitPresentationMode): Ditto.
- html/HTMLVideoElement.h: Added VideoPresentationMode and used it.
- html/canvas/CanvasRenderingContext2D.cpp: Tweaked formatting. Changed
DefaultSmoothingQuality macro to a constant.
(WebCore::toWindRule): Replaces parseWinding.
(WebCore::CanvasRenderingContext2D::fill): Use CanvasWindingRule instead of string.
(WebCore::CanvasRenderingContext2D::clip): Ditto.
(WebCore::CanvasRenderingContext2D::fillInternal): Ditto.
(WebCore::CanvasRenderingContext2D::clipInternal): Ditto.
(WebCore::CanvasRenderingContext2D::isPointInPath): Ditto.
(WebCore::CanvasRenderingContext2D::isPointInStroke): Ditto.
(WebCore::CanvasRenderingContext2D::isPointInPathInternal): Ditto.
(WebCore::smoothingToInterpolationQuality): Ditto.
(WebCore::CanvasRenderingContext2D::imageSmoothingQuality): Ditto.
(WebCore::CanvasRenderingContext2D::setImageSmoothingQuality): Ditto.
- html/canvas/CanvasRenderingContext2D.h: Added CanvasWindingRule and
ImageSmoothingQuality, and use them throughout the class.
- platform/graphics/SourceBufferPrivateClient.h: Removed unused
sourceBufferPrivateDidEndStream function.
Tools:
- Scripts/webkitpy/style/checker.py: Skip the bindings script tests when doing style
checking. We don't want to waste time trying to make our generated code match our style.
- 11:06 AM Changeset in webkit [200290] by
-
- 4 edits2 adds in trunk
AX: @aria-label attribute should work on <label> element
https://bugs.webkit.org/show_bug.cgi?id=157219
Reviewed by Chris Fleizach.
Source/WebCore:
When there's aria-label on a <label> element, we shouldn't expose it
as the titleUIElement. Instead, we return its aria-label as a title.
Test: accessibility/mac/aria-label-on-label-element.html
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::titleElementText):
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::exposesTitleUIElement):
LayoutTests:
- accessibility/mac/aria-label-on-label-element-expected.txt: Added.
- accessibility/mac/aria-label-on-label-element.html: Added.
Apr 29, 2016:
- 10:40 PM Changeset in webkit [200289] by
-
- 31 edits in trunk/Source
[Web IDL] Specify default parameter values for callback parameters
https://bugs.webkit.org/show_bug.cgi?id=157188
Reviewed by Darin Adler.
Specify default parameter values for callback parameters.
- Modules/geolocation/Geolocation.idl:
- Modules/notifications/Notification.cpp:
(WebCore::Notification::requestPermission):
- Modules/notifications/Notification.h:
- Modules/notifications/Notification.idl:
- Modules/notifications/NotificationCenter.idl:
- Modules/quota/StorageInfo.cpp:
(WebCore::StorageInfo::queryUsageAndQuota):
(WebCore::StorageInfo::requestQuota):
- Modules/quota/StorageInfo.h:
- Modules/quota/StorageInfo.idl:
- Modules/quota/StorageQuota.h:
- Modules/quota/StorageQuota.idl:
- Modules/webaudio/AudioContext.idl:
- Modules/webdatabase/DOMWindowWebDatabase.cpp:
(WebCore::DOMWindowWebDatabase::openDatabase):
- Modules/webdatabase/DOMWindowWebDatabase.h:
(WebCore::DOMWindowWebDatabase::DOMWindowWebDatabase):
(WebCore::DOMWindowWebDatabase::~DOMWindowWebDatabase):
- Modules/webdatabase/DOMWindowWebDatabase.idl:
- Modules/webdatabase/Database.cpp:
(WebCore::Database::runTransaction):
(WebCore::Database::changeVersion):
(WebCore::Database::transaction):
(WebCore::Database::readTransaction):
- Modules/webdatabase/Database.h:
- Modules/webdatabase/Database.idl:
- Modules/webdatabase/SQLTransaction.idl:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(CanUseWTFOptionalForParameter): Deleted.
- bindings/scripts/test/TestObj.idl:
- dom/DataTransferItem.h:
- dom/DataTransferItem.idl:
- 10:09 PM Changeset in webkit [200288] by
-
- 18 edits in trunk/Source
First step in using "enum class" instead of "String" for enumerations in DOM
https://bugs.webkit.org/show_bug.cgi?id=157163
Reviewed by Chris Dumez.
Source/JavaScriptCore:
- runtime/JSString.h:
(JSC::jsStringWithCache): Deleted unneeded overload for AtomicString.
Source/WebCore:
This patch adds the basic support for using "enum class" to implement enumerations
in the C++ DOM. This is enough so we can use it for one case, but not enough for
others. For example, it correctly generates code to get an attribute, but likely
does not correctly generate code to set an attribute or call a function with an
argument type that is the new style of enum.
- bindings/scripts/CodeGenerator.pm: Cleaned up the formatting of the hashes
at the start of this file. Added a new one named stringBasedEnumerationHash
and a comment explaining that we need to eventually make it empty.
(ProcessDocument): Pass the enumerations into the GenerateInterface function.
(IsStringBasedEnumType): Added. Returns 1 for the old-style string-based enumerations,
as opposed to enumerations we use "enum class" for.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateInterface): Take the enumerations argument and pass it along to the
functions that generate headers and implementation files.
(EnumerationClassName): Added. Maps from an enumeration type name as seen
in the IDL file to the enumeration class name used in the C++ DOM implementation.
(EnumerationValueName): Added. Maps from an anumeration string value as seen
in the IDL file to an enumeration value name used in the C++ DOM implementatino.
(EnumerationImplementationContent): Added. Generates a string with all the content
needed in the implementation file to define the helper functions for enumerations.
(GenerateHeader): Tweak.
(GenerateImplementation): Added call to EnumerationImplementationContent.
(GenerateParametersCheck): Use toWTFString instead of toString/value, which is a
longer way of writing out the same thing.
(GenerateCallbackHeader): Tweak.
(GenerateCallbackImplementation): Added call to EnumerationImplementationContent.
(GetNativeType): Continue to return String for string-based enum types, but for
other enum types, return the result of EnumerationClassName instead.
(JSValueToNative): Use toWTFString instead of toString/value (see above), convert
to a string only for string-based enum types, and add a preliminary, probably not
yet working, version of the code for non-string-based enum types. Will finish this
in the next patch when we are trying to use one of the new enumerations for a setter
or a function argument.
(NativeToJSValue): Call the stringValue function to convert an enumeration value
into a string when it's not a string-based enumeration.
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
- bindings/scripts/test/JS/JSTestNode.cpp:
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
Regenerated.
- css/FontFace.cpp:
(WebCore::FontFace::status): Updated to return enum values rather than strings.
- css/FontFace.h: Removed unneeded forward declaration of Deprecated::ScriptValue.
Added enum class for FontFaceLoadStatus, with names that match the names from the
enumeration in the IDL, but with our standard enum capitalization style. Changed
the return value of the status function to FontFaceLoadStatus.
- 9:51 PM Changeset in webkit [200287] by
-
- 16 edits in trunk/Source/WebCore
Get rid of unnecessary null check in wrap(JSDOMGlobalObject*, DOMClass*)
https://bugs.webkit.org/show_bug.cgi?id=157224
Reviewed by Ryosuke Niwa.
Get rid of unnecessary null check in wrap(JSDOMGlobalObject*, DOMClass*)
since all the call sites already do a null check. Also update the function
to take the implementation object by reference instead of pointer. Finally,
use is<>() / downcast<>() more at the call sites.
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::deleteFunction):
(WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBCursor.h:
(WebCore::IDBCursor::isKeyCursorWithValue):
(WebCore::IDBCursor::isKeyCursor): Deleted.
- Modules/indexeddb/IDBCursorWithValue.h:
(isType):
- bindings/js/JSBlobCustom.cpp:
(WebCore::toJS):
- bindings/js/JSCanvasRenderingContextCustom.cpp:
(WebCore::toJS):
- bindings/js/JSDOMBinding.h:
(WebCore::wrap):
- bindings/js/JSIDBCursorCustom.cpp:
(WebCore::toJS):
- bindings/js/JSMediaStreamCapabilitiesCustom.cpp:
(WebCore::toJS):
- bindings/js/JSPerformanceEntryCustom.cpp:
(WebCore::toJS):
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGLRenderingContext.h:
- page/PerformanceMark.h:
(isType):
(WebCore::PerformanceMark::isMark): Deleted.
- page/PerformanceMeasure.h:
(isType):
(WebCore::PerformanceMeasure::isMeasure): Deleted.
- page/PerformanceResourceTiming.h:
(isType):
(WebCore::PerformanceResourceTiming::isResource): Deleted.
- 9:48 PM Changeset in webkit [200286] by
-
- 24 edits in trunk/Source/WebCore
Use LIKELY() / UNLIKELY() hints when suitable in the JavaScript bindings
https://bugs.webkit.org/show_bug.cgi?id=157210
Reviewed by Darin Adler.
Use LIKELY() / UNLIKELY() hints when suitable in the JavaScript bindings.
We already make use of them in the JS bindings but they are some cases
where we don't and they may be useful.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateOverloadedFunction):
(GenerateImplementation):
(GenerateParametersCheck):
(GenerateImplementationFunctionCall):
(GenerateOverloadedConstructorDefinition):
(GenerateConstructorDefinition):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectConstructor):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::jsTestClassWithJSBuiltinConstructorConstructor):
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterConstructor):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::jsTestEventConstructorConstructor):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
(WebCore::jsTestEventTargetConstructor):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::jsTestExceptionConstructor):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::jsTestGenerateIsReachableConstructor):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::jsTestGlobalObjectConstructor):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::jsTestInterfaceConstructor):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::jsTestJSBuiltinConstructorConstructor):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerConstructor):
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
(WebCore::jsTestNamedConstructorConstructor):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodeConstructor):
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::jsTestNondeterministicConstructor):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::construct):
(WebCore::JSTestObj::getOwnPropertySlotByIndex):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjConstructor):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors3):
(WebCore::JSTestOverloadedConstructorsConstructor::construct):
(WebCore::jsTestOverloadedConstructorsConstructor):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::jsTestOverrideBuiltinsConstructor):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::jsTestSerializedScriptValueInterfaceConstructor):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
(WebCore::jsTestTypedefsConstructor):
- bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::jsattributeConstructor):
- bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::jsreadonlyConstructor):
- 9:19 PM Changeset in webkit [200285] by
-
- 7 edits in trunk
Rename getAssignedNodes to assignedNodes and support flattened option
https://bugs.webkit.org/show_bug.cgi?id=157225
Reviewed by Antti Koivisto.
Source/WebCore:
Renamed getAssignedNodes and added the the support for {flattened: true/false} as spec'ed at
http://w3c.github.io/webcomponents/spec/shadow/#widl-HTMLSlotElement-assignedNodes-sequence-Node--AssignedNodesOptions-options
Test: fast/shadow-dom/HTMLSlotElement-interface.html
- html/HTMLSlotElement.cpp:
(WebCore::flattenAssignedNodes): Added.
(WebCore::HTMLSlotElement::assignedNodesForBindings): Added.
- html/HTMLSlotElement.h:
- html/HTMLSlotElement.idl:
LayoutTests:
- fast/shadow-dom/HTMLSlotElement-interface-expected.txt:
- fast/shadow-dom/HTMLSlotElement-interface.html:
- 9:13 PM Changeset in webkit [200284] by
-
- 3 edits in trunk/Source/WebCore
Make clipToRect() and restoreClip() have similar signatures
https://bugs.webkit.org/show_bug.cgi?id=157229
Reviewed by Zalan Bujtas.
clipToRect() and restoreClip() are always called in pairs, but had different
parameter order, and parameter types. So make them more similar.
In future we could use them in a stack-based class.
No behavior change.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::restoreClip):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::applyFilters):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintChildClippingMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
(WebCore::RenderLayer::calculateClipRects):
- rendering/RenderLayer.h:
- 9:13 PM Changeset in webkit [200283] by
-
- 7 edits8 adds in trunk
Blur filter escapes an enclosing overflow:hidden
https://bugs.webkit.org/show_bug.cgi?id=155029
Reviewed by Zalan Bujtas.
Source/WebCore:
The clipping that was applied when drawing the results of filters was wrong for two reasons.
First, it used localPaintingInfo which has already been contaminated when setting up the filters.
When painting the result, we need to use the original paintingInfo, to get the right paintDirtyRect.
Secondly, when setting up the clip to paint the filter result, it was relying on layerFragments[0].backgroundRect.
However, that was also contaminated by filter setup, since calculateRects() intersects with paintDirtyRect to
compute that backgroundRect, and that paintDirtyRect came from filterPainter->repaintRect().
Fix this second issue by re-running collectFragments(), which computes a fragment backgroundRect using
the original paintDirtyRect.
Tests: css3/filters/blur-clipped-by-ancestor.html
css3/filters/blur-clipped-with-overflow.html
css3/filters/drop-shadow-with-overflow-hidden.html
css3/filters/drop-shadow.html
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::clearResult): Unconditionally null these out.
- rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRendererHelper::beginFilterEffect): Typo fix.
- rendering/FilterEffectRenderer.h:
(WebCore::FilterEffectRendererHelper::FilterEffectRendererHelper): C++11 initialization.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::applyFilters):
(WebCore::RenderLayer::paintLayerContents):
- rendering/RenderLayer.h: const
LayoutTests:
- css3/filters/blur-clipped-by-ancestor-expected.html: Added.
- css3/filters/blur-clipped-by-ancestor.html: Added.
- css3/filters/blur-clipped-with-overflow-expected.html: Added.
- css3/filters/blur-clipped-with-overflow.html: Added.
- css3/filters/drop-shadow-expected.html: Added.
- css3/filters/drop-shadow-with-overflow-hidden-expected.html: Added.
- css3/filters/drop-shadow-with-overflow-hidden.html: Added.
- css3/filters/drop-shadow.html: Added.
- 8:54 PM Changeset in webkit [200282] by
-
- 4 edits2 adds in trunk
REGRESSION(194502): overflow: scroll; direction: rtl; divs jump horizontally when scrolled vertically
https://bugs.webkit.org/show_bug.cgi?id=157201
Reviewed by Simon Fraser.
Source/WebCore:
ScrollableArea::scrollToOffsetWithoutAnimation() was mistakenly conflating scroll offsets with
scroll positions.
Test: fast/scrolling/rtl-drag-vertical-scroller.html
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
LayoutTests:
- fast/scrolling/rtl-drag-vertical-scroller-expected.txt: Added.
- fast/scrolling/rtl-drag-vertical-scroller.html: Added.
- 8:36 PM Changeset in webkit [200281] by
-
- 2 edits in trunk/Source/WebKit2
Drop useless check in SpeculativeLoadManager::registerLoad()
https://bugs.webkit.org/show_bug.cgi?id=157204
Reviewed by Antti Koivisto.
Drop useless check in SpeculativeLoadManager::registerLoad(). There is
no way to end up this code path with a non-HTTP family request.
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
- 8:21 PM Changeset in webkit [200280] by
-
- 5 edits in trunk/Source/WebKit2
Web Automation: add SPI to mark an existing NSEvent as synthesized for automation
https://bugs.webkit.org/show_bug.cgi?id=157221
<rdar://problem/26019356>
Reviewed by Timothy Hatcher.
In cases where an NSEvent is duplicated, clients need to re-mark an NSEvent
as synthesized for automation if the original NSEvent was marked as such.
- UIProcess/API/Cocoa/_WKAutomationSession.h:
- UIProcess/API/Cocoa/_WKAutomationSession.mm:
(-[_WKAutomationSession markEventAsSynthesizedForAutomation:]):
- UIProcess/Automation/WebAutomationSession.h:
- UIProcess/Cocoa/WebAutomationSessionCocoa.mm:
(WebKit::WebAutomationSession::sendSynthesizedEventsToPage):
(WebKit::WebAutomationSession::markEventAsSynthesizedForAutomation):
- 7:55 PM Changeset in webkit [200279] by
-
- 4 edits in trunk/Source/WebCore
Clean up GraphicsContext use in RenderLayer::paintLayerContents()
https://bugs.webkit.org/show_bug.cgi?id=157193
Reviewed by Zalan Bujtas.
Make the lifetime of the temporary GraphicsContext used to paint filters more explicit
by putting it in an inner scope.
Make currentContext a reference.
transparencyLayerContext was a confusing name (it doens't mean we've started a
transparency layer), so just use "context" to refer to the original context. When
passed to other functions, this is called "contextForTransparencyLayer".
No longer leaves "context" as a null pointer if filterPainter->filterContext() returns
a null pointer. It's unclear if this ever happened.
- rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRendererHelper::filterContext):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::applyFilters):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
- rendering/RenderLayer.h:
- 7:37 PM Changeset in webkit [200278] by
-
- 2 edits in trunk/Source/WebKit2
Web Automation: use a magic eventNumber as a fallback for detecting NSEvents synthesized for automation
https://bugs.webkit.org/show_bug.cgi?id=157222
Reviewed by Timothy Hatcher.
Sometimes events are copied and redelivered in a way that can't be reliably intercepted,
so use eventNumber as an alternate means of detecting synthesized mouse NSEvents.
- UIProcess/Cocoa/WebAutomationSessionCocoa.mm:
(WebKit::WebAutomationSession::wasEventSynthesizedForAutomation):
If it's a mouse-related event, check the eventNumber if the associated object was missing.
(WebKit::WebAutomationSession::platformSimulateMouseInteraction):
Most real events from input devices fill in eventNumber with a non-zero value.
In my testing, using zero did not seem to adversely affect event delivery.
- 6:50 PM Changeset in webkit [200277] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC][ARMv7S] Arithmetic module results change when tiering up to DFG
https://bugs.webkit.org/show_bug.cgi?id=157217
rdar://problem/24733432
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-29
Reviewed by Mark Lam.
ARMv7's fmod() returns less accurate results than an integer division.
Since we have integer div on ARMv7s, the results start changing when
we reach DFG.
In this patch, I change our fmod slow path to behave like the fast path
on ARMv7s.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithMod):
(JSC::DFG::fmodAsDFGOperation): Deleted.
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/MathCommon.cpp:
(JSC::isStrictInt32):
- runtime/MathCommon.h:
- 6:47 PM Changeset in webkit [200276] by
-
- 14 edits in trunk/Source
Web Inspector: Issues inspecting the inspector, pausing on breakpoints causes content to not load
https://bugs.webkit.org/show_bug.cgi?id=157198
<rdar://problem/26011049>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-29
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/InspectorBackendDispatcher.cpp:
(Inspector::BackendDispatcher::sendResponse):
While auditing the code, add a WTFMove.
Source/WebCore:
No new tests. This only affects inspecting an inspector.
- inspector/InspectorController.h:
- inspector/InspectorFrontendClient.h:
(WebCore::InspectorFrontendClient::pagePaused):
(WebCore::InspectorFrontendClient::pageUnpaused):
- inspector/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::setJavaScriptPaused):
Inform a frontend client if the frontend page itself pauses/unpauses.
Source/WebInspectorUI:
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
(InspectorBackendClass.prototype._sendCommandToBackendExpectingPromise):
While auditing, use simpler check.
- UserInterface/Proxies/FormatterWorkerProxy.js:
(WebInspector.FormatterWorkerProxy.canFormat): Deleted.
While auditing, remove dead code.
Source/WebKit2:
- WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.h:
- WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.cpp:
(WebKit::WebInspectorFrontendAPIDispatcher::reset):
(WebKit::WebInspectorFrontendAPIDispatcher::frontendLoaded):
(WebKit::WebInspectorFrontendAPIDispatcher::suspend):
(WebKit::WebInspectorFrontendAPIDispatcher::unsuspend):
(WebKit::WebInspectorFrontendAPIDispatcher::dispatchCommand):
(WebKit::WebInspectorFrontendAPIDispatcher::dispatchMessageAsync):
(WebKit::WebInspectorFrontendAPIDispatcher::evaluateOrQueueExpression):
(WebKit::WebInspectorFrontendAPIDispatcher::evaluateQueuedExpressions):
Avoid evaluating expressions when the page is paused. Generalize the
message queueing and dispatching for pause/suspend that we already
had for waiting for the frontend page to be loaded.
- WebProcess/WebPage/WebInspectorUI.h:
- WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::pagePaused):
(WebKit::WebInspectorUI::pageUnpaused):
When the frontend page pauses/unpauses, suspend/resume the dispatcher.
- 6:28 PM Changeset in webkit [200275] by
-
- 2 edits in trunk/Source/WebKit2
Remove unnecessary isolated String copying from one of NetworkCache::Key's constructor
https://bugs.webkit.org/show_bug.cgi?id=157207
Reviewed by Antti Koivisto.
Remove unnecessary isolated String copying from one of NetworkCache::Key's
constructor. We are anyway going to create isolated copies if the Key ends
up getting copied.
- NetworkProcess/cache/NetworkCacheKey.cpp:
(WebKit::NetworkCache::Key::Key):
- 6:14 PM Changeset in webkit [200274] by
-
- 2 edits in trunk/Source/WebKit2
Web Automation: performMouseInteraction command computes mouse event coordinates incorrectly
https://bugs.webkit.org/show_bug.cgi?id=157218
<rdar://problem/26018230>
Reviewed by Timothy Hatcher.
This patch fixes two issues: the min/max clamp was in the wrong order,
and the y-value did not account for the window's top content inset.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::performMouseInteraction):
- 5:52 PM Changeset in webkit [200273] by
-
- 4 edits in trunk/Source/WebCore
[iOS] do not exit AirPlay when the screen locks
https://bugs.webkit.org/show_bug.cgi?id=156502
<rdar://problem/24616592>
Reviewed by Dean Jackson
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::pendingActionTimerFired): Use m_isPlayingToWirelessTarget.
(WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless): Ditto.
(WebCore::HTMLMediaElement::wirelessRoutesAvailableDidChange): Set m_isPlayingToWirelessTarget.
(WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged): Use
m_isPlayingToWirelessTarget.
(WebCore::HTMLMediaElement::isPlayingToWirelessPlaybackTarget): Ditto.
(WebCore::HTMLMediaElement::configureMediaControls): Ditto.
(WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Add logging.
(WebCore::HTMLMediaElement::purgeBufferedDataIfPossible): Don't tell the media engine to purge
data if it is playing to a wireless target because that will drop the connection.
- html/HTMLMediaElement.h:
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackPermitted): Add logging.
(WebCore::MediaElementSession::canPlayToWirelessPlaybackTarget): Drive by fix: iOS doesn't
have an explicit playbackTarget, don't test for it.
(WebCore::MediaElementSession::isPlayingToWirelessPlaybackTarget): Ditto.
- 5:34 PM Changeset in webkit [200272] by
-
- 11 edits12 adds in trunk
Make RegExp.prototype.test spec compliant.
https://bugs.webkit.org/show_bug.cgi?id=155862
Reviewed by Saam Barati.
Source/JavaScriptCore:
- builtins/RegExpPrototype.js:
(intrinsic.RegExpTestIntrinsic.test):
- create_hash_table:
- Delete obsoleted code.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::addToGraph):
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- We now have 2 intrinsics for RegExp.prototype.test: RegExpTestIntrinsic and RegExpTestFastIntrinsic.
RegExpTestIntrinsic maps to the entry at the top of the builtin ES6
RegExp.prototype.test.
RegExpTestFastIntrinsic maps to the fast path in the builtin ES6
RegExp.prototype.test.
Both will end up using the RegExpTest DFG node to implement the fast path
of RegExp.prototype.test. RegExpTestIntrinsic will have some additional checks
before the RegExpTest node. Those checks are for speculating that it is ok for
us to take the fast path.
- runtime/CommonIdentifiers.h:
- runtime/Intrinsic.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- Added the regExpTestFast function.
- Also fixed the parameter length on 2 other functions that were erroneous.
- runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
(JSC::regExpProtoFuncTestFast):
(JSC::regExpProtoFuncTest): Deleted.
- runtime/RegExpPrototype.h:
- tests/es6.yaml:
LayoutTests:
- js/regress/regexp-prototype-test-observable-side-effects-expected.txt: Added.
- js/regress/regexp-prototype-test-observable-side-effects.html: Added.
- js/regress/regexp-prototype-test-observable-side-effects2-expected.txt: Added.
- js/regress/regexp-prototype-test-observable-side-effects2.html: Added.
- js/regress/script-tests/regexp-prototype-test-observable-side-effects.js: Added.
- js/regress/script-tests/simple-regexp-test-folding-fail-with-hoisted-regexp.js: Added.
- js/regress/script-tests/simple-regexp-test-folding-with-hoisted-regexp.js: Added.
- js/regress/simple-regexp-test-folding-fail-with-hoisted-regexp-expected.txt: Added.
- js/regress/simple-regexp-test-folding-fail-with-hoisted-regexp.html: Added.
- js/regress/simple-regexp-test-folding-with-hoisted-regexp-expected.txt: Added.
- js/regress/simple-regexp-test-folding-with-hoisted-regexp.html: Added.
- 5:12 PM Changeset in webkit [200271] by
-
- 2 edits in trunk/Source/WebCore
Node.nodeName should not be nullable
https://bugs.webkit.org/show_bug.cgi?id=157211
Reviewed by Ryosuke Niwa.
Node.nodeName should not be nullable as per the specification:
https://dom.spec.whatwg.org/#interface-node
Our implementation never returns null anyway. However, having
it as nullable in the IDL means we use jsStringOrNull() instead
of jsStringWithCache(), thus doing an unnecessary null check.
This should not be observable by JS.
- dom/Node.idl:
- 5:10 PM Changeset in webkit [200270] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Scrolling in Timelines causes flashing of the DataGrid
https://bugs.webkit.org/show_bug.cgi?id=157212
rdar://problem/25994717
Listen for mousewheel events too so we can update the visible rows sooner.
Reviewed by Joseph Pecoraro.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid): Call _updateScrollListeners.
(WebInspector.DataGrid.prototype.set inline): Use _updateScrollListeners.
(WebInspector.DataGrid.prototype.set variableHeightRows): Use _updateScrollListeners.
(WebInspector.DataGrid.prototype._updateScrollListeners): Added. Listen for mousewheel too.
- 4:56 PM Changeset in webkit [200269] by
-
- 4 edits in trunk
Unreviewed, rolling out r200150 and r200256.
https://bugs.webkit.org/show_bug.cgi?id=157216
This change introduced flakiness in existing CJK LayoutTests.
Also reverting the change that marked the tests as flaky.
(Requested by ryanhaddad on #webkit).
Reverted changesets:
"Clean up Font::removeFromSystemFallbackCache()"
https://bugs.webkit.org/show_bug.cgi?id=157093
http://trac.webkit.org/changeset/200150
"Marking fast/ruby/ruby-expansion-cjk.html and fast/ruby/ruby-
expansion-cjk-4.html as flaky on Mac"
https://bugs.webkit.org/show_bug.cgi?id=157197
http://trac.webkit.org/changeset/200256
Patch by Commit Queue <commit-queue@webkit.org> on 2016-04-29
- 4:54 PM Changeset in webkit [200268] by
-
- 4 edits in trunk/Source
RTL <select> popup menu is in the wrong location
https://bugs.webkit.org/show_bug.cgi?id=157159
<rdar://problem/25894451>
Reapply http://trac.webkit.org/changeset/200217
but with changes that will allow it to build on Yosemite.
- 4:43 PM Changeset in webkit [200267] by
-
- 2 edits in trunk/LayoutTests
Change ios-simulator expectation for tests added with r200265 from ImageOnlyFailure to Failure
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 3:40 PM Changeset in webkit [200266] by
-
- 3 edits in trunk/LayoutTests
[Mac] AirPlay fails if target is set before AVPlayer has been created
https://bugs.webkit.org/show_bug.cgi?id=157147
<rdar://problem/24197592>
Unreviewed, update test so the results are consistent on different machines.
- media/media-source/media-source-airplay-expected.txt:
- media/media-source/media-source-airplay.html:
- 2:48 PM Changeset in webkit [200265] by
-
- 5 edits4 adds in trunk
<select multiple> padding should react when scrolling
Source/WebCore:
https://bugs.webkit.org/show_bug.cgi?id=156590
https://bugs.webkit.org/show_bug.cgi?id=156591
Reviewed by Reviewed by Darin Adler.
Tests: fast/forms/listbox-respects-padding-bottom.html
fast/forms/listbox-top-padding-do-not-clip-items.html
Non-dropdown listboxes have support to padding-{top,bottom} implemented similarly
to the border model: the padding area does not move when the listbox' content gets scrolled,
but instead it clips out its content.
This is not consistent with other browsers and is not consistent with the CSS box model.
This in practice, if a <select> has padding-top set, the padding-top area will clip out listbox'
content as one scrolls upwards.
It also means that if padding-bottom is set, when one scrolls all the way to the bottom
of the listbox content, padding-bottom is not respected.
In order to fix these two problems, and make WebKit match Blink with respect to the the way
padding-{top,bottom} are handled, patch adds two class member variables that control the number
of list items (i.e. <option>s) that can be painted over the current listbox' padding area.
In short, depending on the scroll position and the amount of space available in the padding top/bottom
areas, items are painted or not on top of it, mimic'ing the CSS box model behavior of other browsers.
Note that this is specific solution is worth it to pursue on the short/mid term, but a long-term solution
to this problem and many other listbox discrepancies on WebKit's implementation, would be to reimplement
RenderListBox class in terms of RenderLayer. This will be a follow up work.
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::numVisibleItems):
(WebCore::RenderListBox::paintObject):
(WebCore::RenderListBox::scrollToRevealElementAtListIndex):
(WebCore::RenderListBox::listIndexIsVisible):
(WebCore::RenderListBox::maximumNumberOfItemsThatFitInPaddingBottomArea):
(WebCore::RenderListBox::numberOfVisibleItemsInPaddingTop):
(WebCore::RenderListBox::numberOfVisibleItemsInPaddingBottom):
(WebCore::RenderListBox::computeFirstIndexesVisibleInPaddingTopBottomAreas):
(WebCore::RenderListBox::scrollTo):
- rendering/RenderListBox.h:
LayoutTests:
https://bugs.webkit.org/show_bug.cgi?id=156590
https://bugs.webkit.org/show_bug.cgi?id=156591
Reviewed by Reviewed by Darin Adler.
- fast/forms/listbox-respects-padding-bottom-expected.txt: Added.
- fast/forms/listbox-respects-padding-bottom.html: Added.
- fast/forms/listbox-top-padding-do-not-clip-items-expected.txt: Added.
- fast/forms/listbox-top-padding-do-not-clip-items.html: Added.
- 2:29 PM Changeset in webkit [200264] by
-
- 12 edits2 adds in trunk
[Mac] AirPlay fails if target is set before AVPlayer has been created
https://bugs.webkit.org/show_bug.cgi?id=157147
<rdar://problem/24197592>
Reviewed by Jer Noble.
Source/WebCore:
Test: media/media-source/media-source-airplay.html
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Clear flag before calling
setShouldPlayToPlaybackTarget so it does the necessary setup.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isAvailable): Return false if the mock
MSE source has been registered.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType): Return 'not supported' if
isAvailable is false.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load): Fail if isAvailable is false.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isCurrentPlaybackTargetWireless): Cleanup.
- platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::registered): Global accessor.
(WebCore::MockMediaPlayerMediaSource::isRegistered):
(WebCore::MockMediaPlayerMediaSource::registerMediaEngine): Set registered to true.
(WebCore::MockMediaPlayerMediaSource::setWirelessPlaybackTarget): New, remember the target.
(WebCore::MockMediaPlayerMediaSource::setShouldPlayToPlaybackTarget): New, remember the setting.
(WebCore::MockMediaPlayerMediaSource::isCurrentPlaybackTargetWireless):
- platform/mock/mediasource/MockMediaPlayerMediaSource.h:
- testing/Internals.cpp:
(WebCore::Internals::initializeMockMediaSource): Don't disable AVFoundation.
LayoutTests:
- media/media-source/media-source-airplay-expected.txt: Added.
- media/media-source/media-source-airplay.html: Added.
- platform/efl/TestExpectations: Skip Mac-only test.
- platform/gtk/TestExpectations: Ditto.
- platform/ios-simulator/TestExpectations: Ditto.
- platform/mac/TestExpectations: Skipped new tests on older versions of OS X.
- platform/win/TestExpectations: Skip Mac-only test.
- 2:17 PM Changeset in webkit [200263] by
-
- 2 edits in trunk/Source/JavaScriptCore
Extend math-pow-stable-results.js to get more information about the failure
- tests/stress/math-pow-stable-results.js:
- 2:08 PM Changeset in webkit [200262] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Jump to Line in auto formatted JavaScript does not work the first time
https://bugs.webkit.org/show_bug.cgi?id=157194
<rdar://problem/26008471>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-29
Reviewed by Timothy Hatcher.
When doing asynchronous formatting we set the content of the editor
twice. First to prime the editors back/foward list with the original
content, and then again after we get the formatted content from the
Worker, and then display the content.
The TextEditor attempts to reveal a position when the initial string
has been set. Back when autoformatting was synchronous this was fine.
Asynchronously however, this ends up happening between the original
and formatted value. Also, the TextEditor has no idea that the
SourceCodeTextEditor is going to format / defer displaying the
contents. Add a "defer" property to the TextEditor that the
SourceCodeTextEditor can use in this circumstance.
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
Avoid revealing a position when setting the original content. We will
be formatting and we will want to reveal the position afterwards.
- UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor):
(WebInspector.TextEditor.prototype.set deferReveal):
Provide another reason to defer revealing.
- 1:33 PM Changeset in webkit [200261] by
-
- 7 edits2 adds in trunk
[RTL Scrollbars] REGRESSION(r200116): Positioned contents can overlap RTL scrollbars
https://bugs.webkit.org/show_bug.cgi?id=157164
<rdar://problem/25993610>
Reviewed by Darin Adler.
Source/WebCore:
There was some code left over from the old implementation of RTL_SCROLLBARS
which had some faulty assumptions about the interaction between direction
and scrollbar placement. In particular, once we began obeying the "dir"
attribute in r200116, these assumptions were no longer valid.
Test: fast/scrolling/rtl-scrollbars-positioned-intersect-scrollbars.html
scrollbars/rtl/div-absolute.html
scrollbars/rtl/div-horizontal.html
- rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::layoutOverflowRect):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeOverflow): Deleted.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::layoutOverflowRectForPropagation):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::computeScrollDimensions):
LayoutTests:
- TestExpectations:
- fast/scrolling/rtl-scrollbars-positioned-intersect-scrollbars-expected.html: Added.
- fast/scrolling/rtl-scrollbars-positioned-intersect-scrollbars.html: Added.
- 1:29 PM Changeset in webkit [200260] by
-
- 6 edits in trunk/LayoutTests
[GTK] r65681 broke a couple GTK+ a11y tests
https://bugs.webkit.org/show_bug.cgi?id=44316
Reviewed by Martin Robinson.
The original regression has apparently been fixed, possibly quite some time
ago. Updating both tests and associated expectations to reflect what has
changed over the years. Leaving title-and-alt.html as skipped, but marked
as failing due to a different bug (157187).
- accessibility/gtk/object-attributes-expected.txt:
- accessibility/gtk/object-attributes.html:
- accessibility/gtk/title-and-alt-expected.txt:
- accessibility/gtk/title-and-alt.html:
- platform/gtk/TestExpectations:
- 1:11 PM Changeset in webkit [200259] by
-
- 2 edits in trunk/LayoutTests
Fix a typo in r200255.
- resources/testharnessreport.js:
(self.testRunner.add_completion_callback):
- 1:05 PM Changeset in webkit [200258] by
-
- 6 edits in trunk
AX: CharacterOffset not working correctly with composed characters and collapsed white spaces
https://bugs.webkit.org/show_bug.cgi?id=157190
Reviewed by Chris Fleizach.
Source/WebCore:
When navigating emoji, next/previous text marker call is only moving by one character. Fixed it by
using the helper function in Position to get the real character count for the composed character sequence.
Also there's another issue with collapsed white spaces, TextIterator emits only one space. So we have to
use the actual space length to create the CharacterOffset in order to generate valid Range object from it.
New test cases in accessibility/text-marker/text-marker-previous-next.html.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::traverseToOffsetInRange):
(WebCore::AXObjectCache::textMarkerDataForNextCharacterOffset):
(WebCore::AXObjectCache::textMarkerDataForPreviousCharacterOffset):
(WebCore::AXObjectCache::nextNode):
(WebCore::AXObjectCache::characterOffsetFromVisiblePosition):
(WebCore::AXObjectCache::nextCharacterOffset):
(WebCore::AXObjectCache::previousCharacterOffset):
(WebCore::AXObjectCache::startCharacterOffsetOfWord):
LayoutTests:
- accessibility/mac/text-marker-word-nav.html:
- accessibility/text-marker/text-marker-previous-next-expected.txt:
- accessibility/text-marker/text-marker-previous-next.html:
- 1:01 PM Changeset in webkit [200257] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
Assertion failure for exception in "prototype" property getter and Reflect.construct
https://bugs.webkit.org/show_bug.cgi?id=157084
Reviewed by Mark Lam.
InternalFunction::createSubclassStrucuture may throw exceptions because it performs Get to
look up the "prototype" object. The current assertion is invalid.
We also found that Object constructor is not aware of new.target. This is filed[1].
[1]: https://bugs.webkit.org/show_bug.cgi?id=157196
- runtime/InternalFunction.cpp:
(JSC::InternalFunction::createSubclassStructure):
- tests/stress/create-subclass-structure-may-throw-exception-when-getting-prototype.js: Added.
(shouldThrow):
(bf):
- 12:58 PM Changeset in webkit [200256] by
-
- 2 edits in trunk/LayoutTests
Marking fast/ruby/ruby-expansion-cjk.html and fast/ruby/ruby-expansion-cjk-4.html as flaky on Mac
https://bugs.webkit.org/show_bug.cgi?id=157197
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 12:39 PM Changeset in webkit [200255] by
-
- 2 edits in trunk/LayoutTests
test harness tests complain about testRunner not being declared inside a browser
https://bugs.webkit.org/show_bug.cgi?id=157056
Reviewed by Alex Christensen.
Don't run the code meant to re-format results for DRT/WTR when testRunner is not defined (i.e. inside a browser).
Also fixed various styling issues with this JavaScript file and removed useless comments.
- resources/testharnessreport.js:
- 11:24 AM Changeset in webkit [200254] by
-
- 4 edits2 adds in trunk/Source/WebCore
WebPlaybackControlsManager should not be owned by the WebPlaybackSessionInterfaceMac.
https://bugs.webkit.org/show_bug.cgi?id=157155
<rdar://problem/25991724>
Reviewed by Beth Dakin.
Move the WebPlaybackControlsManager class into its own header and implementation files.
- WebCore.xcodeproj/project.pbxproj:
- platform/mac/WebPlaybackControlsManager.h: Added.
- platform/mac/WebPlaybackControlsManager.mm: Added.
(-[WebPlaybackControlsManager timing]): Moved from WebPlaybackSessionInterfaceMac.
(-[WebPlaybackControlsManager setTiming:]): Ditto.
(-[WebPlaybackControlsManager seekableTimeRanges]): Ditto.
(-[WebPlaybackControlsManager setSeekableTimeRanges:]): Ditto.
(-[WebPlaybackControlsManager setAudioMediaSelectionOptions:withSelectedIndex:]): Ditto.
(-[WebPlaybackControlsManager setLegibleMediaSelectionOptions:withSelectedIndex:]): Ditto.
- platform/mac/WebPlaybackSessionInterfaceMac.h:
- platform/mac/WebPlaybackSessionInterfaceMac.mm:
(WebCore::WebPlaybackSessionInterfaceMac::setPlayBackControlsManager):
(-[WebPlaybackControlsManager initWithWebPlaybackSessionInterfaceMac:]): Deleted.
(-[WebPlaybackControlsManager timing]): Deleted.
(-[WebPlaybackControlsManager setTiming:]): Deleted.
(-[WebPlaybackControlsManager seekableTimeRanges]): Deleted.
(-[WebPlaybackControlsManager setSeekableTimeRanges:]): Deleted.
(-[WebPlaybackControlsManager setAudioMediaSelectionOptions:withSelectedIndex:]): Deleted.
(-[WebPlaybackControlsManager setLegibleMediaSelectionOptions:withSelectedIndex:]): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::playBackControlsManager): Deleted.
- 11:23 AM Changeset in webkit [200253] by
-
- 3 edits in trunk/Tools
Add JSC test results in JSON format to a Buildbot log.
https://bugs.webkit.org/show_bug.cgi?id=156920
Patch by Srinivasan Vijayaraghavan <svijayaraghavan@apple.com> on 2016-04-29
Reviewed by Daniel Bates.
Generate JSON results for JSC tests and upload them to the master
using Buildbot's logfiles machinery.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunJavaScriptCoreTests): Use --json-output option when invoking the
run-javascriptcore-tests Perl script, and expose this JSON output as a
Buildbot log.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests): Change key names and remove redundant count key.
- 10:44 AM Changeset in webkit [200252] by
-
- 32 edits3 deletes in trunk
Unreviewed, rolling out r200232.
https://bugs.webkit.org/show_bug.cgi?id=157189
This change broke the Mac CMake build and its LayoutTest is
failing and/or flaky on all platforms (Requested by ryanhaddad
on #webkit).
Reverted changeset:
"Move ResourceTiming behind a runtime flag"
https://bugs.webkit.org/show_bug.cgi?id=157133
http://trac.webkit.org/changeset/200232
Patch by Commit Queue <commit-queue@webkit.org> on 2016-04-29
- 10:29 AM Changeset in webkit [200251] by
-
- 2 edits in trunk/Source/WebKit2
Indicate we are processing user gesture when handling messages from WebPlaybackSessionManagerProxy to WebPlaybackSessionManager
https://bugs.webkit.org/show_bug.cgi?id=157151
Reviewed by Jer Noble.
Messages from WebPlaybackSessionManagerProxy to WebPlaybackSessionManager are triggered by
user actions, so add a UserGestureIndicator in the methods that handle those messages.
- WebProcess/cocoa/WebPlaybackSessionManager.mm:
(WebKit::WebPlaybackSessionManager::play):
(WebKit::WebPlaybackSessionManager::pause):
(WebKit::WebPlaybackSessionManager::togglePlayState):
(WebKit::WebPlaybackSessionManager::beginScrubbing):
(WebKit::WebPlaybackSessionManager::endScrubbing):
(WebKit::WebPlaybackSessionManager::seekToTime):
(WebKit::WebPlaybackSessionManager::fastSeek):
(WebKit::WebPlaybackSessionManager::beginScanningForward):
(WebKit::WebPlaybackSessionManager::beginScanningBackward):
(WebKit::WebPlaybackSessionManager::endScanning):
(WebKit::WebPlaybackSessionManager::selectAudioMediaOption):
(WebKit::WebPlaybackSessionManager::selectLegibleMediaOption):
- 10:20 AM Changeset in webkit [200250] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Fix build failure introduced by r199738
https://bugs.webkit.org/show_bug.cgi?id=157182
Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-04-29
Reviewed by Alex Christensen.
- CMakeLists.txt:
- 10:05 AM Changeset in webkit [200249] by
-
- 6 edits in trunk/Source
Add a default ".isolatedCopy()" specialization to CrossThreadCopier, and other small cleanup.
https://bugs.webkit.org/show_bug.cgi?id=157185
Reviewed by Anders Carlsson.
Source/WebCore:
No new tests (Code cleanup, no change in behavior).
- platform/CrossThreadCopier.cpp:
(WebCore::IndexedDB::TransactionMode>::copy): Deleted.
(WebCore::IndexedDB::CursorDirection>::copy): Deleted.
(WebCore::IndexedDB::CursorType>::copy): Deleted.
(WebCore::IDBGetResult>::copy): Deleted.
(WebCore::IDBKeyData>::copy): Deleted.
(WebCore::IDBKeyRangeData>::copy): Deleted.
(WebCore::IDBDatabaseInfo>::copy): Deleted.
(WebCore::IDBDatabaseIdentifier>::copy): Deleted.
(WebCore::IDBTransactionInfo>::copy): Deleted.
(WebCore::IDBResourceIdentifier>::copy): Deleted.
(WebCore::IDBError>::copy): Deleted.
(WebCore::IDBObjectStoreInfo>::copy): Deleted.
(WebCore::IDBIndexInfo>::copy): Deleted.
(WebCore::IDBCursorInfo>::copy): Deleted.
(WebCore::IDBValue>::copy): Deleted.
- platform/CrossThreadCopier.h:
(WebCore::AllowCrossThreadAccessWrapper::AllowCrossThreadAccessWrapper): Deleted dead code.
(WebCore::AllowCrossThreadAccessWrapper::value): Deleted dead code.
(WebCore::AllowCrossThreadAccess): Deleted dead code.
(WebCore::AllowAccessLaterWrapper::AllowAccessLaterWrapper): Deleted dead code.
(WebCore::AllowAccessLaterWrapper::value): Deleted dead code.
(WebCore::AllowAccessLater): Deleted dead code.
Source/WebKit2:
- Shared/WebCrossThreadCopier.cpp:
(WebCore::Vector<char>>::copy): reserveInitialCapacity() before creating the copy.
(WebCore::Vector<int64_t>>::copy): Ditto.
(WebCore::Vector<uint8_t>>::copy): Ditto.
(WebCore::Vector<Vector<IDBKeyData>>>::copy): Deleted dead code.
- Shared/WebCrossThreadCopier.h:
- 9:54 AM Changeset in webkit [200248] by
-
- 2 edits in trunk/LayoutTests
[GTK] Unreviewed gardening: update expectations after r200234
https://bugs.webkit.org/show_bug.cgi?id=157181
Unreviewed gardening.
Patch by Miguel Gomez <magomez@igalia.com> on 2016-04-29
- platform/gtk/TestExpectations:
- 9:54 AM Changeset in webkit [200247] by
-
- 4 edits2 adds in trunk
Wheel Event Not Fired For
body,html { height:100% }
https://bugs.webkit.org/show_bug.cgi?id=148450
Reviewed by Brent Fulgham.
Source/WebCore:
EventHandler::handleWheelEvent() didn't pass the Active flag in the HitTestRequest,
which causes code in RenderLayer::hitTest() to fail to fall back to returning the
root layer if no other element is hit. "Active" is in the default flags,
so just create the HitTestRequest with the default flags.
Test: fast/events/wheel-event-outside-body.html
- page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent):
LayoutTests:
Testcase, skipped on iOS which doesn't support wheel events.
- fast/events/wheel-event-outside-body-expected.txt: Added.
- fast/events/wheel-event-outside-body.html: Added.
- platform/ios-simulator/TestExpectations:
- 9:51 AM Changeset in webkit [200246] by
-
- 31 edits in trunk
[Web IDL] Specify default values for optional parameters of wrapper types
https://bugs.webkit.org/show_bug.cgi?id=157161
Reviewed by Darin Adler.
Source/WebCore:
Specify default values for optional parameters of wrapper types.
- Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::count): Deleted.
- Modules/indexeddb/IDBIndex.h:
- Modules/indexeddb/IDBIndex.idl:
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::count): Deleted.
- Modules/indexeddb/IDBObjectStore.h:
- Modules/indexeddb/IDBObjectStore.idl:
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::createDataChannel): Deleted.
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/RTCPeerConnection.idl:
- bindings/scripts/CodeGeneratorJS.pm:
(WillConvertUndefinedToDefaultParameterValue):
Optimization to avoid generating a ternary if the default
value of a wrapper type parameter is null, since undefined
will already convert to null for those.
(GenerateParametersCheck):
Use null as implicit default value for nullable parameters, given that Web IDL
converts undefined to null for such parameters:
http://heycam.github.io/webidl/#es-nullable-type
(CanUseWTFOptionalForParameter):
Drop the check for wrapper types.
- bindings/scripts/test/*:
Improve bindings tests coverage / rebaseline.
- css/MediaQueryList.idl:
- css/MediaQueryListListener.idl:
- dom/Document.idl:
- html/canvas/DOMPath.idl:
The previous syntax was working because the bindings was generating an early
return if addPath() was called with only one parameter, calling the
implementation method with only 1 parameter. However, since we no longer
generate early returns for optional parameters, we now have to use a slightly
different syntax to maintain the previous behavior. This is only temporary,
I just did not want to deal with SVG tear off types in this patch since they
are very special in the bindings generator.
- page/DOMSelection.idl:
The node parameter to extend() was confusingly marked as optional. However,
when omitted, it would get translated into null, which would throw an
exception since the type is not nullable. Since the specification says 'node'
should not be optional, and since there is no behavior change, I dropped
the 'optional'. The only web-exposed difference is the message provided with
the TypeError that is thrown when called without enough parameters. The new
message is more accurate (see rebaselined layout test).
- svg/SVGMarkerElement.idl:
The parameter for setOrientToAngle() was confusingly marked as optional and
having a default value of null. However, the bindings would throw a TypeError
if called with no parameters or when calling it with null. This is because
this is an SVG Tear off type and the bindings always throw when passing null
for an SVG Tear off type. I therefore updated the IDL to reflect the actual
behavior (no actual behavior change). The new IDL also now matches the spec:
http://www.w3.org/TR/SVG2/painting.html#InterfaceSVGMarkerElement
- svg/SVGSVGElement.idl:
Same comments as for SVGMarkerElement. The new IDL matches the actual
behavior and is closer to the specification. I added FIXME comments for when
it does not match the specification:
http://www.w3.org/TR/SVG2/struct.html#InterfaceSVGSVGElement
I did not change web-exposed behavior in this patch.
- svg/SVGTextContentElement.idl:
Same as above. No actual behavior change.
- testing/Internals.cpp:
- testing/Internals.h:
- testing/Internals.idl:
- xml/XPathEvaluator.idl:
LayoutTests:
Rebaseline as a different exception message is now given when calling
Selection.extend() without enough parameters.
- editing/selection/extend-expected.txt:
- 9:44 AM Changeset in webkit [200245] by
-
- 6 edits1 add in trunk
[ATK] Expose the value of aria-roledescription via an AtkObject attribute
https://bugs.webkit.org/show_bug.cgi?id=146719
Reviewed by Chris Fleizach.
Source/WebCore:
The author-provided value is now exposed via an AtkObject attribute.
Implementation is already covered by aria-roledescription.html. The ATK
expectations are slightly different than those for AX API because falling
back on the default role description is done by assistive technologies.
That this fall back is needed is identified by the lack of an author-
provided value. Thus we do not wish to expose the default role description
in our implementation.
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes):
Tools:
Implement roleDescription() so that the implementation can be tested.
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::roleDescription):
LayoutTests:
Platform-specific expectations are needed because falling back on the default
role description is done by assistive technologies. That this fall back is needed
is identified by the lack of an author-provided value. Thus we do not wish to
expose the default role description in our implementation.
- platform/gtk/TestExpectations: Unskipped the failing test.
- platform/gtk/accessibility/aria-roledescription-expected.txt: Added.
- 9:39 AM Changeset in webkit [200244] by
-
- 4 edits in trunk
[ATK] accessibility/aria-current-global-attribute.html has been failed since r198303
https://bugs.webkit.org/show_bug.cgi?id=155935
Reviewed by Chris Fleizach.
Source/WebCore:
In ATK, the text of span elements is typically exposed through the parent
element, unless the span has some attribute requiring inclusion in the
accessibility tree. We were not checking for the presence of global ARIA
attributes (including aria-current), other than describedby and role.
The fix is to also check AccessibilityObject::supportsARIAAttributes().
No new tests. This issue was caught as a result of a failing test.
- accessibility/atk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
LayoutTests:
- platform/efl/TestExpectations: Unskipped the failing test.
- 9:35 AM Changeset in webkit [200243] by
-
- 4 edits in trunk/Source
Unreviewed, rolling out r200217.
https://bugs.webkit.org/show_bug.cgi?id=157183
This change broke the Yosemite build. (Requested by ryanhaddad
on #webkit).
Reverted changeset:
"RTL <select> popup menu is in the wrong location"
https://bugs.webkit.org/show_bug.cgi?id=157159
http://trac.webkit.org/changeset/200217
Patch by Commit Queue <commit-queue@webkit.org> on 2016-04-29
- 9:26 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 9:13 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 9:08 AM Changeset in webkit [200242] by
-
- 14 edits in trunk/Source/WebCore
[Web IDL] Drop 'any' type handling from CanUseWTFOptionalForParameter()
https://bugs.webkit.org/show_bug.cgi?id=157152
Reviewed by Darin Adler.
Drop 'any' type handling from CanUseWTFOptionalForParameter(). Always
use undefined as default value for parameters of type 'any' unless
specified otherwise.
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::continueFunction): Deleted.
- Modules/indexeddb/IDBCursor.h:
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::add): Deleted.
(WebCore::IDBObjectStore::putOrAdd): Deleted.
- Modules/indexeddb/IDBObjectStore.h:
- bindings/scripts/CodeGeneratorJS.pm:
(WillConvertUndefinedToDefaultParameterValue):
Fix optimization for optional DOMString attributes whose default value
is the string "undefined". I also added bindings test coverage for it.
(GenerateParametersCheck):
(CanUseWTFOptionalForParameter): Deleted.
- bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_method_with_optional_string_is_undefined):
(webkit_dom_test_obj_method_with_optional_any):
- bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny):
- bindings/scripts/test/ObjC/DOMTestObj.h:
- bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj methodWithOptionalStringIsUndefined:]):
(-[DOMTestObj methodWithOptionalAny:]):
- bindings/scripts/test/TestObj.idl:
- testing/Internals.h:
- 6:10 AM Changeset in webkit [200241] by
-
- 2 edits2 adds in trunk/LayoutTests
[ATK] accessibility/double-nested-inline-element-missing-from-tree.html has been failed since r198219
https://bugs.webkit.org/show_bug.cgi?id=155939
Reviewed by Darin Adler.
Platform-specific expectations were needed because the ATK accessibility tree folds
certain elements, including spans, into the parent element.
- platform/efl/TestExpectations: Unskipped the failing test.
- platform/efl/accessibility/double-nested-inline-element-missing-from-tree-expected.txt: Added.
- platform/gtk/accessibility/double-nested-inline-element-missing-from-tree-expected.txt: Added.
- 6:08 AM Changeset in webkit [200240] by
-
- 7 edits in trunk
AX: [ATK] Expose elements with ARIA's "text" role
https://bugs.webkit.org/show_bug.cgi?id=157160
Reviewed by Chris Fleizach.
Source/WebCore:
WebCore Accessibility's StaticTextRole is used for exposed RenderText
objects and for the ARIA "text" role. The former should be folded into
the parent element; the latter should not be, but was. Now we check to
see which type we have when building the accessibility tree. Also map
the "text" role to ATK_ROLE_STATIC.
We already have sufficient test coverage. Three previously-failing tests
are now passing.
- accessibility/atk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
LayoutTests:
- accessibility/aria-text-role.html: Modified to do platform-specific role checks.
- platform/gtk/TestExpectations: Unskipped three previously-failing tests.
- platform/gtk/accessibility/roles-computedRoleString-expected.txt: Updated for new behavior.
- 4:36 AM Changeset in webkit [200239] by
-
- 2 edits2 adds in trunk/Source/JavaScriptCore
[ES6] RegExp.prototype.@@replace should use @isObject instead of
instanceoffor object guard
https://bugs.webkit.org/show_bug.cgi?id=157124
Reviewed by Keith Miller.
Use @isObject instead of
instanceof @Object.
Theinstanceofcheck is not enough to check Object Type.
This fix itself is the same to r199647, and this patch is for RegExp.prototype.@@replace.
- builtins/RegExpPrototype.js:
(replace):
- tests/stress/regexp-replace-in-other-realm-should-work.js: Added.
(shouldBe):
- tests/stress/regexp-replace-should-work-with-objects-not-inheriting-object-prototype.js: Added.
(shouldBe):
(regexp.exec):
- 4:27 AM Changeset in webkit [200238] by
-
- 164 edits in trunk/LayoutTests/imported/w3c
Regnerate w3c-import.log files after r200109
https://bugs.webkit.org/show_bug.cgi?id=157171
Unreviewed.
Changing only log files.
- web-platform-tests/XMLHttpRequest/resources/auth1/w3c-import.log:
- web-platform-tests/XMLHttpRequest/resources/auth2/w3c-import.log:
- web-platform-tests/XMLHttpRequest/resources/auth3/w3c-import.log:
- web-platform-tests/XMLHttpRequest/resources/auth4/w3c-import.log:
- web-platform-tests/XMLHttpRequest/resources/auth5/w3c-import.log:
- web-platform-tests/XMLHttpRequest/resources/auth6/w3c-import.log:
- web-platform-tests/XMLHttpRequest/resources/nocors/w3c-import.log:
- web-platform-tests/XMLHttpRequest/resources/w3c-import.log:
- web-platform-tests/XMLHttpRequest/w3c-import.log:
- web-platform-tests/common/w3c-import.log:
- web-platform-tests/dom/collections/w3c-import.log:
- web-platform-tests/dom/events/w3c-import.log:
- web-platform-tests/dom/lists/w3c-import.log:
- web-platform-tests/dom/nodes/Document-contentType/contentType/w3c-import.log:
- web-platform-tests/dom/nodes/Document-contentType/resources/w3c-import.log:
- web-platform-tests/dom/nodes/Document-contentType/support/w3c-import.log:
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/w3c-import.log:
- web-platform-tests/dom/nodes/w3c-import.log:
- web-platform-tests/dom/ranges/w3c-import.log:
- web-platform-tests/dom/traversal/w3c-import.log:
- web-platform-tests/dom/w3c-import.log:
- web-platform-tests/domparsing/w3c-import.log:
- web-platform-tests/fetch/api/basic/w3c-import.log:
- web-platform-tests/fetch/api/cors/w3c-import.log:
- web-platform-tests/fetch/api/credentials/w3c-import.log:
- web-platform-tests/fetch/api/headers/w3c-import.log:
- web-platform-tests/fetch/api/policies/w3c-import.log:
- web-platform-tests/fetch/api/redirect/w3c-import.log:
- web-platform-tests/fetch/api/request/w3c-import.log:
- web-platform-tests/fetch/api/resources/w3c-import.log:
- web-platform-tests/fetch/api/response/w3c-import.log:
- web-platform-tests/fetch/nosniff/resources/w3c-import.log:
- web-platform-tests/fetch/nosniff/w3c-import.log:
- web-platform-tests/fetch/w3c-import.log:
- web-platform-tests/fonts/w3c-import.log:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/w3c-import.log:
- web-platform-tests/html/dom/documents/dom-tree-accessors/w3c-import.log:
- web-platform-tests/html/dom/documents/resource-metadata-management/w3c-import.log:
- web-platform-tests/html/dom/dynamic-markup-insertion/closing-the-input-stream/w3c-import.log:
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/w3c-import.log:
- web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/w3c-import.log:
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/w3c-import.log:
- web-platform-tests/html/dom/elements/content-models/w3c-import.log:
- web-platform-tests/html/dom/elements/element-definitions/w3c-import.log:
- web-platform-tests/html/dom/elements/elements-in-the-dom/w3c-import.log:
- web-platform-tests/html/dom/elements/global-attributes/w3c-import.log:
- web-platform-tests/html/dom/elements/wai-aria/w3c-import.log:
- web-platform-tests/html/dom/w3c-import.log:
- web-platform-tests/html/resources/w3c-import.log:
- web-platform-tests/html/semantics/disabled-elements/w3c-import.log:
- web-platform-tests/html/semantics/document-metadata/styling/support/w3c-import.log:
- web-platform-tests/html/semantics/document-metadata/styling/w3c-import.log:
- web-platform-tests/html/semantics/document-metadata/the-base-element/w3c-import.log:
- web-platform-tests/html/semantics/document-metadata/the-link-element/w3c-import.log:
- web-platform-tests/html/semantics/document-metadata/the-meta-element/w3c-import.log:
- web-platform-tests/html/semantics/document-metadata/the-style-element/w3c-import.log:
- web-platform-tests/html/semantics/document-metadata/the-title-element/w3c-import.log:
- web-platform-tests/html/semantics/edits/the-del-element/w3c-import.log:
- web-platform-tests/html/semantics/edits/the-ins-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackList/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TrackEvent/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/mime-types/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/offsets-into-the-media-resource/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/user-interface/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-area-element/support/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-area-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-audio-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-embed-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-object-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-video-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/w3c-import.log:
- web-platform-tests/html/semantics/forms/constraints/support/w3c-import.log:
- web-platform-tests/html/semantics/forms/constraints/w3c-import.log:
- web-platform-tests/html/semantics/forms/form-control-infrastructure/w3c-import.log:
- web-platform-tests/html/semantics/forms/form-submission-0/w3c-import.log:
- web-platform-tests/html/semantics/forms/introduction-1/w3c-import.log:
- web-platform-tests/html/semantics/forms/resetting-a-form/w3c-import.log:
- web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-button-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-datalist-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-fieldset-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-form-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-label-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-legend-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-meter-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-option-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-output-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-progress-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-select-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-textarea-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-dd-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-div-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-dl-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-dt-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-figcaption-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-figure-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-hr-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-li-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-ol-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-p-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-pre-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-ul-element/w3c-import.log:
- web-platform-tests/html/semantics/interactive-elements/commands/w3c-import.log:
- web-platform-tests/html/semantics/interactive-elements/the-details-element/w3c-import.log:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
- web-platform-tests/html/semantics/interactive-elements/the-menu-element/w3c-import.log:
- web-platform-tests/html/semantics/links/downloading-resources/w3c-import.log:
- web-platform-tests/html/semantics/links/linktypes/w3c-import.log:
- web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
- web-platform-tests/html/semantics/sections/headings-and-sections/w3c-import.log:
- web-platform-tests/html/semantics/sections/the-h1-h2-h3-h4-h5-and-h6-elements/w3c-import.log:
- web-platform-tests/html/semantics/selectors/pseudo-classes/w3c-import.log:
- web-platform-tests/html/semantics/tabular-data/attributes-common-to-td-and-th-elements/w3c-import.log:
- web-platform-tests/html/semantics/tabular-data/processing-model-1/w3c-import.log:
- web-platform-tests/html/semantics/tabular-data/the-caption-element/w3c-import.log:
- web-platform-tests/html/semantics/tabular-data/the-table-element/w3c-import.log:
- web-platform-tests/html/semantics/tabular-data/the-tbody-element/w3c-import.log:
- web-platform-tests/html/semantics/tabular-data/the-tfoot-element/w3c-import.log:
- web-platform-tests/html/semantics/tabular-data/the-thead-element/w3c-import.log:
- web-platform-tests/html/semantics/tabular-data/the-tr-element/w3c-import.log:
- web-platform-tests/html/semantics/tabular-data/w3c-import.log:
- web-platform-tests/html/semantics/text-level-semantics/the-a-element/w3c-import.log:
- web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/w3c-import.log:
- web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/w3c-import.log:
- web-platform-tests/html/semantics/text-level-semantics/the-br-element/w3c-import.log:
- web-platform-tests/html/semantics/text-level-semantics/the-time-element/w3c-import.log:
- web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/w3c-import.log:
- web-platform-tests/html/semantics/w3c-import.log:
- web-platform-tests/html/w3c-import.log:
- web-platform-tests/images/w3c-import.log:
- web-platform-tests/media/w3c-import.log:
- web-platform-tests/service-workers/cache-storage/resources/w3c-import.log:
- web-platform-tests/service-workers/cache-storage/script-tests/w3c-import.log:
- web-platform-tests/service-workers/cache-storage/serviceworker/w3c-import.log:
- web-platform-tests/service-workers/cache-storage/w3c-import.log:
- web-platform-tests/service-workers/cache-storage/window/w3c-import.log:
- web-platform-tests/service-workers/cache-storage/worker/w3c-import.log:
- web-platform-tests/service-workers/service-workers/resources/w3c-import.log:
- web-platform-tests/service-workers/tools/w3c-import.log:
- web-platform-tests/service-workers/w3c-import.log:
- web-platform-tests/streams/readable-streams/w3c-import.log:
- web-platform-tests/streams/resources/w3c-import.log:
- web-platform-tests/streams/w3c-import.log:
- web-platform-tests/w3c-import.log:
- 2:57 AM Changeset in webkit [200237] by
-
- 7 edits in trunk/Source/WebCore
[FreeType] ASSERTION FAILED: !lookupForWriting(Extractor::extract(entry)).second in FontCache::getVerticalData()
https://bugs.webkit.org/show_bug.cgi?id=157132
Reviewed by Darin Adler.
I've noticed that some tests fail randomly in the GTK+ debug bot due to an assertion in HashMap when getting
vertical data from the FontCache. I don't know exactly what's wrong, but looks like a problem with the
FontVerticalDataCache hash traits implementation. Looking at the code, I've realized that we could simplify
everything by reusing the FontDataCache hash and traits, since we are actually using the
FontPlatformData::hash() in the end in both cases. Also, I don't see why we need to get the vertical data from
the FontPlatformData while it's actually cached by the font cache. We could just use the FontCache directly
passing only the FontPlatformData. These changes seem to fix the crashes and make the code a lot simpler.
- platform/graphics/Font.cpp:
(WebCore::Font::Font): Use FontCache::verticalData().
- platform/graphics/FontCache.cpp:
(WebCore::fontVerticalDataCache):
(WebCore::FontCache::verticalData):
(WebCore::FontCache::purgeInactiveFontData): Also remove the cached vertical data when removing a font.
(WebCore::FontCache::invalidate): Clear also the vertical data.
- platform/graphics/FontCache.h:
- platform/graphics/FontPlatformData.h:
- platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::openTypeTable): Deleted.
- platform/graphics/opentype/OpenTypeVerticalData.h: Remove the m_inFontCache member that is now unused.
- 1:29 AM Changeset in webkit [200236] by
-
- 3 edits in trunk/Source/WebCore
Remove UsePointersEvenForNonNullableObjectArguments keyword
https://bugs.webkit.org/show_bug.cgi?id=156844
Reviewed by Darin Adler.
No change of behavior.
- bindings/scripts/CodeGenerator.pm:
(ShouldPassWrapperByReference): Removed UsePointersEvenForNonNullableObjectArguments support.
- bindings/scripts/IDLAttributes.txt: Removed UsePointersEvenForNonNullableObjectArguments.
- 1:15 AM Changeset in webkit [200235] by
-
- 7 edits in trunk
FetchResponse should return a ReadableStream even if disturbed
https://bugs.webkit.org/show_bug.cgi?id=156911
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/response/response-stream-disturbed-5-expected.txt: Rebasing test.
Source/WebCore:
Covered by rebased test.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::createReadableStreamSource): Asserting in case response is disturbed.
- bindings/js/JSFetchResponseCustom.cpp:
(WebCore::JSFetchResponse::body): Creating a locked empty readable stream if response is disturbed.
- bindings/js/ReadableStreamController.cpp:
(WebCore::createReadableStream): Constructing a readable stream even if source is null.
(WebCore::getReadableStreamReader): Retrieving the reader from a readable stream. Stream must not be locked.
- bindings/js/ReadableStreamController.h:
- 1:09 AM Changeset in webkit [200234] by
-
- 2 edits29 moves6 adds1 delete in trunk/LayoutTests
Import W3C CSS WG tests for shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=157063
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Imported CSS WG's Scoping Level 1 tests from https://github.com/w3c/csswg-test
as of b2daa426addd5ccb8e9ce1c5d800f9d82603f1ec. Most of these tests are actually ours
except shadow-cascade-order-001.html.
- csswg-test: Added.
- csswg-test/css-scoping-1: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-assigned-node-with-before-after-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-assigned-node-with-before-after.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-assigned-node-with-rules-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-assigned-node-with-rules.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-host-functional-rule-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-host-functional-rule.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-host-rule-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-host-rule.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-host-with-before-after-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-host-with-before-after.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-invisible-slot-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-invisible-slot.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-root-hides-children-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-root-hides-children.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-slot-display-override-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-slot-display-override.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-slot-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-slot-fallback-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-slot-fallback.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-slot.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-slotted-nested-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-slotted-nested.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-slotted-rule-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-slotted-rule.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-with-outside-rules-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-with-outside-rules.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-with-rules-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-with-rules-no-style-leak-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-with-rules-no-style-leak.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-with-rules.html: Added.
- csswg-test/css-scoping-1/shadow-cascade-order-001-expected.txt: Added.
- csswg-test/css-scoping-1/shadow-cascade-order-001.html: Added.
- csswg-test/css-scoping-1/w3c-import.log: Added.
LayoutTests:
Remove tests that have been upstreamed and imported under imported/w3c/csswg-test/css-scoping-1.
- fast/shadow-dom/css-scoping-shadow-assigned-node-with-before-after-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-assigned-node-with-before-after.html: Removed.
- fast/shadow-dom/css-scoping-shadow-assigned-node-with-rules-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-assigned-node-with-rules.html: Removed.
- fast/shadow-dom/css-scoping-shadow-host-functional-rule-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-host-functional-rule.html: Removed.
- fast/shadow-dom/css-scoping-shadow-host-rule-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-host-rule.html: Removed.
- fast/shadow-dom/css-scoping-shadow-host-with-before-after-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-host-with-before-after.html: Removed.
- fast/shadow-dom/css-scoping-shadow-invisible-slot-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-invisible-slot.html: Removed.
- fast/shadow-dom/css-scoping-shadow-root-hides-children-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-root-hides-children.html: Removed.
- fast/shadow-dom/css-scoping-shadow-slot-display-override-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-slot-display-override.html: Removed.
- fast/shadow-dom/css-scoping-shadow-slot-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-slot-fallback-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-slot-fallback.html: Removed.
- fast/shadow-dom/css-scoping-shadow-slot.html: Removed.
- fast/shadow-dom/css-scoping-shadow-slotted-nested-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-slotted-nested.html: Removed.
- fast/shadow-dom/css-scoping-shadow-slotted-rule-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-slotted-rule.html: Removed.
- fast/shadow-dom/css-scoping-shadow-with-outside-rules-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-with-outside-rules.html: Removed.
- fast/shadow-dom/css-scoping-shadow-with-rules-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-with-rules-no-style-leak-expected.html: Removed.
- fast/shadow-dom/css-scoping-shadow-with-rules-no-style-leak.html: Removed.
- fast/shadow-dom/css-scoping-shadow-with-rules.html: Removed.
- 12:46 AM Changeset in webkit [200233] by
-
- 2 edits2 copies1 add2 deletes in trunk/Source/WebKit2
[GTK] Move WK2 shareable code out from gtk directories
https://bugs.webkit.org/show_bug.cgi?id=157135
Reviewed by Darin Adler.
Both NetworkProcessMain and InjectedBundle can go out from their respective gtk directories.
- NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
(WebKit::NetworkProcessMainUnix): Deleted.
- NetworkProcess/soup/NetworkProcessMainSoup.cpp: Renamed from Source/WebKit2/NetworkProcess/gtk/NetworkProcessMainGtk.cpp.
(WebKit::NetworkProcessMainUnix):
- PlatformGTK.cmake: Update.
- WebProcess/InjectedBundle/glib/InjectedBundleGlib.cpp: Renamed from Source/WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp.
(WebKit::InjectedBundle::initialize):
(WebKit::InjectedBundle::setBundleParameter):
(WebKit::InjectedBundle::setBundleParameters):
- WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
(WebKit::InjectedBundle::initialize): Deleted.
(WebKit::InjectedBundle::setBundleParameter): Deleted.
(WebKit::InjectedBundle::setBundleParameters): Deleted.
- 12:33 AM Changeset in webkit [200232] by
-
- 32 edits1 copy4 adds in trunk
Move ResourceTiming behind a runtime flag
https://bugs.webkit.org/show_bug.cgi?id=157133
Reviewed by Alex Christensen.
.:
- Source/cmake/WebKitFeatures.cmake: Remove the PERFORMANCE_TIMELINE build flag.
Source/JavaScriptCore:
- runtime/CommonIdentifiers.h: Added PerformanceEntry, PerformanceEntryList and PerformanceResourceTiming as property names.
Source/WebCore:
Move the ResourceTiming API from being behind a build time flag to be behind an
off-by-default runtime flag, that can be turned on using internals.
Tests: fast/dom/Window/window-properties-performance-resource-timing.html
http/tests/performance/performance-resource-timing-entries.html
- DerivedSources.make: Added idl files for PerformanceEntry, PerformanceEntryList and PerformanceResourceTiming.
- WebCore.xcodeproj/project.pbxproj: Added the various Performance* files to the project.
- bindings/generic/RuntimeEnabledFeatures.cpp: Added ResourceTiming as a runtime flag.
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
- bindings/generic/RuntimeEnabledFeatures.h: Added ResourceTiming as a runtime flag.
(WebCore::RuntimeEnabledFeatures::setResourceTimingEnabled):
(WebCore::RuntimeEnabledFeatures::resourceTimingEnabled):
- bindings/js/JSPerformanceEntryCustom.cpp: Removed #if for ResourceTiming. Added build flag around UserTiming related h files.
(WebCore::toJS): Deleted.
- dom/EventNames.h: Renamed webkitresourcetimingbufferfull to resourcetimingbufferfull.
- loader/DocumentThreadableLoader.cpp: Replace #if for ResourceTiming with runtime flag.
(WebCore::DocumentThreadableLoader::loadRequest):
- loader/ResourceLoadNotifier.cpp: Replace #if for ResourceTiming with runtime flag.
(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
- loader/cache/CachedResourceLoader.cpp: Replace #if for ResourceTiming with runtime flag.
(WebCore::CachedResourceLoader::revalidateResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::storeResourceTimingInitiatorInformation):
(WebCore::CachedResourceLoader::loadDone):
- loader/cache/CachedResourceLoader.h: Remove #if for ResourceTiming.
- page/Performance.cpp: Remove #if for ResourceTiming.
(WebCore::Performance::Performance): Removed #if for ResourceTiming related initialization.
(WebCore::Performance::webkitGetEntries): Renamed to getEntries.
(WebCore::Performance::webkitGetEntriesByType): Renamed to getEntriesByType.
(WebCore::Performance::webkitGetEntriesByName): Renamed to getEntriesByName.
- page/Performance.h: Remove #if for ResourceTiming.
- page/Performance.idl: Replace #if for ResourceTiming with runtime flag.
- page/PerformanceEntry.cpp: Remove the PERFORMANCE_TIMELINE build flag.
- page/PerformanceEntry.h: Remove the PERFORMANCE_TIMELINE build flag.
- page/PerformanceEntry.idl: Replace the PERFORMANCE_TIMELINE build flag with runtime flag.
- page/PerformanceEntryList.cpp: Remove the PERFORMANCE_TIMELINE build flag.
- page/PerformanceEntryList.h: Remove the PERFORMANCE_TIMELINE build flag.
- page/PerformanceEntryList.idl: Replace the PERFORMANCE_TIMELINE build flag with runtime flag.
- page/PerformanceResourceTiming.cpp: Remove the RESOURCE_TIMING build flag.
- page/PerformanceResourceTiming.h: Remove the RESOURCE_TIMING build flag.
- page/PerformanceResourceTiming.idl: Replace the RESOURCE_TIMING build flag with runtime flag.
- testing/Internals.cpp: Add a method that enables ResourceTiming.
(WebCore::Internals::setResourceTimingSupport):
- testing/Internals.h: Add a method that enables ResourceTiming.
- testing/Internals.idl: Add a method that enables ResourceTiming.
LayoutTests:
Added tests that make sure ResourceTiming APIs are exposed and that resources
show up as entries in the performance timeline.
- fast/dom/Window/window-properties-performance-resource-timing-expected.txt: Added.
- fast/dom/Window/window-properties-performance-resource-timing.html: Added.
- fast/dom/Window/window-properties-performance.html: Removed ";".
- http/tests/performance/performance-resource-timing-entries-expected.txt: Added.
- http/tests/performance/performance-resource-timing-entries.html: Added.
- 12:18 AM Changeset in webkit [200231] by
-
- 21 edits2 adds in trunk
Drop [UsePointersEvenForNonNullableObjectArguments] from MediaStream interfaces
https://bugs.webkit.org/show_bug.cgi?id=156905
Reviewed by Darin Adler.
Source/WebCore:
Removing UsePointersEvenForNonNullableObjectArguments from MediaStream, RTCPeerConnection and RTCRtpSender.
Updating methods to take references and making some related refactoring.
Test: fast/mediastream/MediaStream-add-remove-null-undefined-tracks.html
Changes also covered by updated tests.
- Modules/mediastream/MediaEndpointPeerConnection.cpp:
(WebCore::MediaEndpointPeerConnection::createOfferTask):
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::create):
(WebCore::MediaStream::addTrack):
(WebCore::MediaStream::removeTrack):
(WebCore::MediaStream::didAddTrack):
(WebCore::MediaStream::didRemoveTrack):
(WebCore::MediaStream::internalAddTrack):
(WebCore::MediaStream::internalRemoveTrack):
- Modules/mediastream/MediaStream.h:
- Modules/mediastream/MediaStream.idl:
- Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::send):
- Modules/mediastream/RTCDataChannel.h:
- Modules/mediastream/RTCDataChannel.idl:
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::addTrack):
(WebCore::RTCPeerConnection::removeTrack):
(WebCore::RTCPeerConnection::queuedSetLocalDescription):
(WebCore::RTCPeerConnection::queuedSetRemoteDescription):
(WebCore::RTCPeerConnection::queuedAddIceCandidate):
(WebCore::RTCPeerConnection::privateGetStats):
(WebCore::RTCPeerConnection::queuedCreateOffer): Deleted.
(WebCore::RTCPeerConnection::localDescription): Deleted.
(WebCore::RTCPeerConnection::currentLocalDescription): Deleted.
(WebCore::RTCPeerConnection::remoteDescription): Deleted.
(WebCore::RTCPeerConnection::currentRemoteDescription): Deleted.
(WebCore::RTCPeerConnection::signalingState): Deleted.
(WebCore::RTCPeerConnection::createDataChannel): Deleted.
(WebCore::RTCPeerConnection::close): Deleted.
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/mediastream/RTCRtpReceiver.cpp:
(WebCore::RTCRtpReceiver::RTCRtpReceiver):
- Modules/mediastream/RTCRtpReceiver.h:
(WebCore::RTCRtpReceiver::create):
- Modules/mediastream/RTCRtpSender.cpp:
(WebCore::RTCRtpSender::RTCRtpSender):
(WebCore::RTCRtpSender::replaceTrack):
- Modules/mediastream/RTCRtpSender.h:
(WebCore::RTCRtpSender::create):
- Modules/mediastream/RTCRtpSender.idl:
- Modules/mediastream/RTCRtpSenderReceiverBase.h:
(WebCore::RTCRtpSenderReceiverBase::track):
(WebCore::RTCRtpSenderReceiverBase::RTCRtpSenderReceiverBase):
LayoutTests:
- fast/mediastream/MediaStream-add-remove-null-undefined-tracks-expected.txt: Added.
- fast/mediastream/MediaStream-add-remove-null-undefined-tracks.html: Added.
- fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt: Rebasing.
- fast/mediastream/RTCPeerConnection-add-removeTrack.html: Adding null/undefined tests for addTrack/removeTrack.
- fast/mediastream/RTCPeerConnection-datachannel.html: Adding test for send() method.
Test expectation is not rebased as test is timing out and marked as skip.
Apr 28, 2016:
- 11:04 PM Changeset in webkit [200230] by
-
- 2 edits in trunk/Source/WebCore
Remove extraneous space characters from parameter list for RenderListBox::paintItem()
that were added in r200190 (https://bugs.webkit.org/show_bug.cgi?id=157117).
- rendering/RenderListBox.h:
- 10:23 PM Changeset in webkit [200229] by
-
- 2 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: FormatterWorker fails to find "External/Esprima.js" in Production builds
https://bugs.webkit.org/show_bug.cgi?id=157162
<rdar://problem/25996556>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-28
Reviewed by Timothy Hatcher.
Workers have relative include paths. FormatterWorker has an includes
that looks like:
importScripts(...[
"../../External/Esprima/esprima.js",
...
]);
In optimized builds (Production) the esprima resources are combined
and moved out of an External directory to "Esprima.js". We need to
update the path of this include in optimized builds.
This adds a script to do some basic rewrites of paths. It will also
produce a build error if there are any other External paths that
may have been unhandled.
- Scripts/copy-user-interface-resources.pl:
Run a new script to fix up the Worker imports for new pathes.
- Scripts/fix-worker-imports-for-optimized-builds.pl: Added.
(fixWorkerImportsInFile):
(fixWorkerImportsInDirectory):
Replace "/External/Esprima/esprima.js" with "/Esprima.js" in imports.
Fatal error for any unhandled "/External" lines that were not replaced.
- 8:01 PM Changeset in webkit [200228] by
-
- 8 edits in tags/Safari-602.1.30/Source
Roll out r200201. rdar://problem/25995376
- 7:48 PM Changeset in webkit [200227] by
-
- 5 edits in tags/Safari-602.1.30/Source
Unversioning.
- 7:47 PM Changeset in webkit [200226] by
-
- 5 edits in tags/Safari-602.1.30.1/Source
Versioning.
- 7:44 PM Changeset in webkit [200225] by
-
- 5 edits in tags/Safari-602.1.30/Source
Versioning.
- 7:38 PM Changeset in webkit [200224] by
-
- 1 copy in tags/Safari-602.1.30.1
New Tag.
- 7:38 PM Changeset in webkit [200223] by
-
- 8 edits in tags/Safari-602.1.30/Source
Merge r200201. rdar://problem/25995376
- 6:30 PM Changeset in webkit [200222] by
-
- 7 edits in trunk
AX: [ATK] Expose subscript and superscript format style groups using ATK_ROLE_SUBSCRIPT and ATK_ROLE_SUPERSCRIPT
https://bugs.webkit.org/show_bug.cgi?id=157158
Reviewed by Chris Fleizach.
Source/WebCore:
r200214 caused the sup and sub elements to be exposed as ATK_ROLE_STATIC.
While this exposure is much better than folding the text into the parent
element, ATK has roles for subscript and superscript, so use them instead.
The roles-exposed.html and roles-computedRoleString.html tests were updated
to reflect the new behavior.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isSubscriptStyleGroup):
(WebCore::AccessibilityObject::isSuperscriptStyleGroup):
- accessibility/AccessibilityObject.h:
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
LayoutTests:
- platform/gtk/accessibility/roles-computedRoleString-expected.txt: Updated for new behavior.
- platform/gtk/accessibility/roles-exposed-expected.txt: Updated for new behavior.
- 6:13 PM Changeset in webkit [200221] by
-
- 6 edits in trunk/WebKitLibraries
Update WebKitSystemInterface to internal version 82799.
- WebKitSystemInterface.h:
- libWebKitSystemInterfaceElCapitan.a:
- libWebKitSystemInterfaceIOSDevice9.2.a:
- libWebKitSystemInterfaceIOSSimulator9.2.a:
- libWebKitSystemInterfaceYosemite.a:
- 6:11 PM Changeset in webkit [200220] by
-
- 7 edits2 adds in trunk
Content disappears on mouse over.
https://bugs.webkit.org/show_bug.cgi?id=157073
<rdar://problem/24389168>
Reviewed by Simon Fraser.
When a redundant inlinebox is found after constructing the line, we remove it from the tree.
The remove operation marks the ancestor tree dirty (and this newly constructed line is supposed to be clean).
This patch resets this dirty flag on the boxes all the way up to the rootlinebox.
Previously we only cleared the rootinlinebox and we ended up with dirty inlineflowboxes.
Source/WebCore:
Test: fast/text/text-node-remains-dirty-after-calling-surroundContents.html
- rendering/BidiRun.h:
(WebCore::BidiRun::setBox):
- rendering/RenderBlockFlow.h:
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::constructLine):
(WebCore::RenderBlockFlow::removeLineBoxIfNeeded):
(WebCore::RenderBlockFlow::computeBlockDirectionPositionsForLine):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::positionLineBox): Deleted.
- rendering/RenderText.cpp:
(WebCore::RenderText::setText):
(WebCore::RenderText::positionLineBox): Deleted.
LayoutTests:
- fast/text/text-node-remains-dirty-after-calling-surroundContents-expected.html: Added.
- fast/text/text-node-remains-dirty-after-calling-surroundContents.html: Added.
- 6:07 PM Changeset in webkit [200219] by
-
- 3 edits in trunk/Source/WebCore
Allow non-standard HTTP headers in WebSocket handshake
https://bugs.webkit.org/show_bug.cgi?id=157157
Patch by John Wilander <wilander@apple.com> on 2016-04-28
Reviewed by Brent Fulgham.
No new tests since https://bugs.webkit.org/show_bug.cgi?id=157095
tests that non-standard headers are allowed.
- Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::readHTTPHeaders):
Changed from fail to allow for unrecognized headers.
This was the behavior before https://bugs.webkit.org/show_bug.cgi?id=155602.
- platform/network/HTTPHeaderNames.in:
Removed whitelisted legacy headers since we now allow all non-standard headers.
- 5:53 PM Changeset in webkit [200218] by
-
- 6 edits in trunk/Source/JavaScriptCore
Remove unused bool parameter in CodeCache::getGlobalCodeBlock
https://bugs.webkit.org/show_bug.cgi?id=157156
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-28
Reviewed by Mark Lam.
The bool parameter appears to be isArrowFunctionContext, but the method's
contents just get that property from the Executable, so the parameter is
unnecessary and unused.
- runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
(JSC::CodeCache::getModuleProgramCodeBlock):
- runtime/CodeCache.h:
- runtime/Executable.cpp:
(JSC::EvalExecutable::create):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::createEvalCodeBlock):
- runtime/JSGlobalObject.h:
- 5:41 PM Changeset in webkit [200217] by
-
- 4 edits in trunk/Source
RTL <select> popup menu is in the wrong location
https://bugs.webkit.org/show_bug.cgi?id=157159
<rdar://problem/25894451>
Reviewed by Simon Fraser.
Source/WebKit/mac:
Make sure both the NSPopupMenuCell and the NSPopupMenu take
the text direction into account, and offset the position
of the menu slightly if we're in RTL mode.
Unfortunately our test infrastructure is unable to exercise
this because it runs without a window, and the popup menu
is not captured in the screenshot.
- WebCoreSupport/PopupMenuMac.mm:
(PopupMenuMac::show):
Source/WebKit2:
Make sure the NSPopupMenu takes the text direction
into account, and offset the position
of the menu slightly if we're in RTL mode.
Unfortunately our test infrastructure is unable to exercise
this because it runs without a window, and the popup menu
is not captured in the screenshot.
- UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::showPopupMenu):
- 4:38 PM Changeset in webkit [200216] by
-
- 4 edits3 adds in trunk
Make sure we don't mishandle HTMLFrameOwnerElement lifecycle
https://bugs.webkit.org/show_bug.cgi?id=157040
Reviewed by Chris Dumez.
Source/WebCore:
Protect a couple of sites where event handling could result in the owning frame
being destroyed during execution.
Tested by fast/dom/HTMLAnchorElement/anchor-in-noscroll-iframe-crash.html.
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didCommitLoad):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
LayoutTests:
- fast/dom/HTMLAnchorElement/anchor-in-noscroll-iframe-crash-expected.txt: Added.
- fast/dom/HTMLAnchorElement/anchor-in-noscroll-iframe-crash.html: Added.
- fast/dom/HTMLAnchorElement/resources/iframe-with-anchor-crash.html: Added.
- 4:13 PM Changeset in webkit [200215] by
-
- 23 edits2 adds in trunk
[css-grid] Add CSS Grid Layout runtime flag
https://bugs.webkit.org/show_bug.cgi?id=157134
Reviewed by Simon Fraser.
Source/WebCore:
Add CSS Grid Layout runtime flag enabled by default.
Disable parsing of CSS Grid Layout properties
if the runtime flag is not enabled.
Expose runtime flag through internals to verify that
it's working as expected.
Test: fast/css-grid-layout/grid-disable.html
- bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
- bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setCSSGridLayoutEnabled):
(WebCore::RuntimeEnabledFeatures::isCSSGridLayoutEnabled):
- css/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseIntegerOrCustomIdentFromGridPosition):
(WebCore::CSSParser::parseGridPosition):
(WebCore::CSSParser::parseGridItemPositionShorthand):
(WebCore::CSSParser::parseGridGapShorthand):
(WebCore::CSSParser::parseGridTemplateColumns):
(WebCore::CSSParser::parseGridTemplateRowsAndAreasAndColumns):
(WebCore::CSSParser::parseGridTemplateShorthand):
(WebCore::CSSParser::parseGridShorthand):
(WebCore::CSSParser::parseGridAreaShorthand):
(WebCore::CSSParser::parseSingleGridAreaLonghand):
(WebCore::CSSParser::parseGridLineNames):
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTrackRepeatFunction):
(WebCore::CSSParser::parseGridTrackSize):
(WebCore::CSSParser::parseGridBreadth):
(WebCore::CSSParser::parseGridAutoFlow):
(WebCore::CSSParser::parseGridTemplateAreasRow):
(WebCore::CSSParser::parseGridTemplateAreas):
(WebCore::CSSParser::iscSSGridLayoutEnabled):
- css/CSSParser.h:
- css/CSSParserMode.h:
- dom/Document.cpp:
(WebCore::Document::isCSSGridLayoutEnabled):
- dom/Document.h:
- testing/Internals.cpp:
(WebCore::Internals::setCSSGridLayoutEnabled):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit/mac:
Add CSS Grid Layout runtime flag based on preferences,
enabled by default.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences isCSSGridLayoutEnabled]):
(-[WebPreferences setCSSGridLayoutEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKit2:
Add CSS Grid Layout runtime flag based on preferences,
enabled by default.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetCSSGridLayoutEnabled):
(WKPreferencesGetCSSGridLayoutEnabled):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
LayoutTests:
Add test to verify that CSS Grid Layout is disabled if the flag is off.
- fast/css-grid-layout/grid-disable-expected.txt: Added.
- fast/css-grid-layout/grid-disable.html: Added.
- 4:12 PM Changeset in webkit [200214] by
-
- 8 edits in trunk
AX: superscript content exposed as plain text; VoiceOver does not speak or pause to make this understandable
https://bugs.webkit.org/show_bug.cgi?id=157122
<rdar://problem/21231487>
Reviewed by Daniel Bates.
Expose role types for subscript and superscript.
Modified: accessibility/mac/subroles-for-formatted-groups.html
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isStyleFormatGroup):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper subrole]):
LayoutTests:
AX: superscript content exposed as plain text; VoiceOver does not speak or pause to make this understandable
https://bugs.webkit.org/show_bug.cgi?id=157122
<rdar://problem/21231487>
Reviewed by Daniel Bates.
- accessibility/mac/subroles-for-formatted-groups-expected.txt:
- accessibility/mac/subroles-for-formatted-groups.html:
- platform/mac/accessibility/accessibility/roles-exposed-expected.txt:
- accessibility/roles-computedRoleString-expected.txt:
- 3:55 PM Changeset in webkit [200213] by
-
- 2 edits in trunk/LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=157140
Attempted to reduce the flakiness of this test by making the animation longer, to give
enough time for the iteration event to fire.
- animations/animation-events-not-cancelable.html:
- 3:10 PM Changeset in webkit [200212] by
-
- 3 edits2 adds in trunk
inspector/indexeddb/requestDatabaseNames.html is flaky on Mac.
https://bugs.webkit.org/show_bug.cgi?id=157141
Reviewed by Alex Christensen.
Source/WebCore:
Test: inspector/indexeddb/deleteDatabaseNamesWithSpace.html
- platform/FileSystem.cpp:
(WebCore::decodeFromFilename): Advance iterator after decoding.
LayoutTests:
- inspector/indexeddb/deleteDatabaseNamesWithSpace-expected.txt: Added.
- inspector/indexeddb/deleteDatabaseNamesWithSpace.html: Added.
- 2:41 PM Changeset in webkit [200211] by
-
- 2 edits in trunk/Source/WebKit/mac
Another fix for the Apple Internal OS X build
<rdar://problem/25989808>
Reviewed by Anders Carlsson.
- WebView/WebPDFView.h:
- 2:39 PM Changeset in webkit [200210] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] re-implement String#padStart and String#padEnd in JavaScript
https://bugs.webkit.org/show_bug.cgi?id=157146
Reviewed by Saam Barati.
- builtins/StringPrototype.js:
(repeatCharactersSlowPath):
(padStart):
(padEnd):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation): Deleted.
(JSC::repeatStringPattern): Deleted.
(JSC::padString): Deleted.
(JSC::stringProtoFuncPadEnd): Deleted.
(JSC::stringProtoFuncPadStart): Deleted.
- 2:28 PM Changeset in webkit [200209] by
-
- 3 edits in trunk/Source/JavaScriptCore
Web Inspector: Tweak auto attach initialization on some platforms
https://bugs.webkit.org/show_bug.cgi?id=157150
<rdar://problem/21222045>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-28
Reviewed by Timothy Hatcher.
- inspector/EventLoop.cpp:
(Inspector::EventLoop::cycle):
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::updateAutomaticInspectionCandidate):
- 1:50 PM Changeset in webkit [200208] by
-
- 13 edits1 add in trunk/Source/JavaScriptCore
[JSC] Unify Math.pow() accross all tiers
https://bugs.webkit.org/show_bug.cgi?id=157121
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-28
Reviewed by Geoffrey Garen.
My previous optimizations of DFG compile time have slowly
regressed Sunspider's math-partial-sums.
What is happenning is baseline used a thunk for Math.pow()
that has a special case for an exponent of -0.5, while
DFG/FTL have other special cases for other exponents.
The faster we get to DFG, the less time we spend in that fast
case for -0.5.
While looking into this, I discovered some correctness issues. Baseline
optimizes y=-0.5 by turning it into 1/sqrt(). DFG/FTL optimize constant
y=0.5 by turning it into sqrt(). The problem is sqrt() behaves differently
for -0 and -Infinity. With sqrt(), negative numbers are undefined,
and the result is NaN. With pow(), they have a result.
Something else that has bothered me for a while is that Math.pow()
with the same arguments give you different results in LLINT, Baseline,
and DFG/FTL. This seems a bit dangerous for numerical stability.
With this patch, I unify the behaviors for all tiers while keeping
the "special cases".
We have pow() that is super slow, but most callers don't need the
full power. We have:
-pow() with an exponent between 0 and 1000 is a fast path implemented
by multiplication only.
-pow(x, 0.5) is sqrt with special checks for negative values.
-pow(x, -0.5) is sqrt with special checks for negative values.
The C++ implementation handles all those optimizations too. This ensure
you get the same results from LLINT to FTL.
The thunk is eliminated, it was producing incorrect results and only
optimized Sunspider's partial-sums.
DFG gets the optimized integer, 0.5 and -0.5 cases since those are important
for somewhat-hot code. DFG falls back to the C++ code for any non-obvious case.
FTL gets the full C++ implementation inlined in B3. B3 knows how to eliminate
all the dead cases so you get the best if your code is hot enough to reach FTL.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode): Deleted.
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToArithSqrt): Deleted.
- dfg/DFGNodeType.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::compileArithPowIntegerFastPath):
(JSC::DFG::SpeculativeJIT::compileArithPow):
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArithPow):
- jit/ThunkGenerators.cpp:
(JSC::powThunkGenerator): Deleted.
- jit/ThunkGenerators.h:
- runtime/MathCommon.cpp:
(JSC::operationMathPow):
- runtime/MathCommon.h:
- runtime/VM.cpp:
(JSC::thunkGeneratorForIntrinsic): Deleted.
- tests/stress/math-pow-stable-results.js: Added.
Getting consistent results when tiering up is new.
This test verify that results always remains the same as LLINT.
- tests/stress/math-pow-with-constants.js:
(testPowUsedAsSqrt):
(powUsedAsOneOverSqrt):
(testPowUsedAsOneOverSqrt):
(powUsedAsSquare):
(testPowUsedAsSquare):
- 1:31 PM Changeset in webkit [200207] by
-
- 1 edit1 add in trunk/LayoutTests
Add ios-simulator baseline for fast/forms/select-non-native-rendering-direction.html
https://bugs.webkit.org/show_bug.cgi?id=157112
Unreviewed test gardening.
- platform/ios-simulator/fast/forms/select-non-native-rendering-direction-expected.txt: Added.
- 12:58 PM Changeset in webkit [200206] by
-
- 2 edits in tags/Safari-602.1.30/Source/WebCore
Merged r200205. rdar://problem/25986324
- 12:52 PM Changeset in webkit [200205] by
-
- 2 edits in trunk/Source/WebCore
<rdar://problem/25986324> WebKit build broken with error: undeclared selector 'childViewControllerForWhitePointAdaptivityStyle'
Fixed the build by removing use of API that no longer does anything.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): Revert to using a plain UIViewController.
(createFullScreenVideoRootViewControllerClass): Deleted.
(allocWebFullScreenVideoRootViewControllerInstance): Deleted.
- 12:35 PM Changeset in webkit [200204] by
-
- 2 edits in trunk/LayoutTests
imported/w3c/web-platform-tests/fetch/nosniff/stylesheet.html is failing on some bots
https://bugs.webkit.org/show_bug.cgi?id=157145
Unreviewed.
- TestExpectations: Marking imported/w3c/web-platform-tests/fetch/nosniff/stylesheet.html as failing and passing.
- 12:22 PM Changeset in webkit [200203] by
-
- 3 edits in trunk/LayoutTests
REGRESSION(r200163): inspector/indexeddb/requestDatabaseNames.html is flaky on Mac.
https://bugs.webkit.org/show_bug.cgi?id=157141
Unreviewed.
Add one more chunk of logging here to add even more supporting evidence to our theory.
- inspector/indexeddb/requestDatabaseNames-expected.txt:
- inspector/indexeddb/requestDatabaseNames.html:
- 11:47 AM Changeset in webkit [200202] by
-
- 2 edits in trunk/Source/WebCore
Modern IDB: Reimplement Web Inspector code that was tied to Legacy IDB.
https://bugs.webkit.org/show_bug.cgi?id=154686
Reviewed by Alex Christensen.
No new tests (Inspector folks will have to write them if they're possible).
- inspector/InspectorIndexedDBAgent.cpp: Reimplement missing functionality mostly with code that was removed in http://trac.webkit.org/changeset/197131/trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp
- 11:41 AM Changeset in webkit [200201] by
-
- 8 edits in trunk/Source
Fix the Apple Internal OS X build
Source/WebCore:
- platform/graphics/mac/PDFDocumentImageMac.mm:
(WebCore::PDFDocumentImage::drawPDFPage): Ignore deprecation warning for -[PDFPage drawWithBox:].
Source/WebKit/mac:
- WebView/WebPDFView.h: Import PDFKit for definition of protocol PDFViewDelegate.
Forward declare protocol PDFViewDelegate as appropriate. Mark WebPDFView as implementing
protocol PDFViewDelegate.
- WebView/WebPDFView.mm: Move import of PDFKit from here to the header.
Source/WebKit2:
- UIProcess/mac/WKPrintingView.mm:
(-[WKPrintingView _drawPDFDocument:page:atPoint:]): Ignore deprecation warning for -[PDFPage drawWithBox:].
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::drawPDFPage): Ditto.
- 11:18 AM Changeset in webkit [200200] by
-
- 2 edits in trunk/Source/JavaScriptCore
DebuggerScope::className() should not assert scope->isValid().
https://bugs.webkit.org/show_bug.cgi?id=157143
Reviewed by Keith Miller.
DebuggerScope::className() should not assert scope->isValid() because the
TypeProfiler logs objects it encounters, and may indirectly call
JSObject::calculatedClassName() on those objects later, thereby calling
DebuggerScope::className() on an invalidated DebuggerScope.
The existing handling in DebuggerScope::className() for an invalidated scope
(that returns a null string) is sufficient.
- debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::className):
- 10:58 AM Changeset in webkit [200199] by
-
- 3 edits in trunk/LayoutTests
Skipping media/video-with-file-url-allowed-by-csp-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html
https://bugs.webkit.org/show_bug.cgi?id=155196
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- 10:36 AM Changeset in webkit [200198] by
-
- 15 edits in trunk
Drop [UsePointersEvenForNonNullableObjectArguments] from MediaSource interfaces
https://bugs.webkit.org/show_bug.cgi?id=156904
Reviewed by Darin Adler.
Source/WebCore:
MediaSource::addSourceBuffer will now throw a TypeError if a null parameter is passed.
MediaSource::removeSourceBuffer will now throw a TypeError if a null parameter is passed.
SourceBuffer::appendBuffer will now throw a TypeError if a null parameter is passed.
Did some refactoring to use more references.
Covered by updated test.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::endOfStream):
(WebCore::MediaSource::addSourceBuffer):
(WebCore::MediaSource::removeSourceBuffer):
- Modules/mediasource/MediaSource.h:
- Modules/mediasource/MediaSource.idl:
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::appendBuffer):
- Modules/mediasource/SourceBuffer.h:
- Modules/mediasource/SourceBuffer.idl:
- Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::add):
(WebCore::SourceBufferList::remove):
- Modules/mediasource/SourceBufferList.h:
LayoutTests:
- http/tests/media/media-source/mediasource-addsourcebuffer.html: Changing expected exception to TypeError.
- http/tests/media/media-source/mediasource-append-buffer-expected.txt:
- http/tests/media/media-source/mediasource-append-buffer.html: Checking passing null or undefined to
appendBuffer, addSourceBuffer and removeSourceBuffer.
- media/media-source/media-source-addsourcebuffer-expected.txt:
- media/media-source/media-source-addsourcebuffer.html: Removing redundant test.
- 10:35 AM Changeset in webkit [200197] by
-
- 2 edits in trunk/Source/WebCore
Drop [UsePointersEvenForNonNullableObjectArguments] from Node
https://bugs.webkit.org/show_bug.cgi?id=156978
Reviewed by Chris Dumez.
No change of behavior.
- dom/Node.idl: Marking some parameters nullable.
- 10:34 AM Changeset in webkit [200196] by
-
- 7 edits2 adds in trunk
Set overflow: hidden on ::-webkit-media-controls in mediaControlsApple.css
https://bugs.webkit.org/show_bug.cgi?id=157110
Reviewed by Eric Carlson.
Source/WebCore:
Test: fast/regions/inline-block-inside-anonymous-overflow-with-covered-controls.html
This matches what we do in mediaControlsiOS.css.
- Modules/mediacontrols/mediaControlsApple.css:
(::-webkit-media-controls):
LayoutTests:
The style change caused an image only failure for fast/regions/inline-block-inside-anonymous-overflow.html.
Mark that test as image-failure-only and add a new test that's basically a copy of inline-block-inside-anonymous-overflow.html
with the default controls covered so we can still catch layout regressions related to flowing content from region to region.
- fast/regions/inline-block-inside-anonymous-overflow-with-covered-controls-expected.html: Added.
- fast/regions/inline-block-inside-anonymous-overflow-with-covered-controls.html: Added.
- platform/ios-simulator/TestExpectations:
fast/regions/inline-block-inside-anonymous-overflow.html is already marked as image-failure-only
so this new test needs to be marked too.
- platform/mac/TestExpectations:
- platform/mac/media/media-document-audio-repaint-expected.txt:
- platform/mac/media/video-zoom-controls-expected.txt:
Rebaseline test due to style change in mediaControlsApple.css.
- 10:12 AM Changeset in webkit [200195] by
-
- 4 edits164 adds in trunk/LayoutTests
[Fetch API] Import remaining fetch tests
https://bugs.webkit.org/show_bug.cgi?id=156914
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- resources/ImportExpectations:
- web-platform-tests/fetch/api/cors/cors-basic-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-basic-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-basic.html: Added.
- web-platform-tests/fetch/api/cors/cors-basic.js: Added.
- web-platform-tests/fetch/api/cors/cors-cookies-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-cookies-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-cookies.html: Added.
- web-platform-tests/fetch/api/cors/cors-cookies.js: Added.
- web-platform-tests/fetch/api/cors/cors-filtering-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-filtering-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-filtering-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-filtering.html: Added.
- web-platform-tests/fetch/api/cors/cors-filtering.js: Added.
- web-platform-tests/fetch/api/cors/cors-multiple-origins-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-multiple-origins-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-multiple-origins.html: Added.
- web-platform-tests/fetch/api/cors/cors-multiple-origins.js: Added.
- web-platform-tests/fetch/api/cors/cors-no-preflight-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-no-preflight-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-no-preflight-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-no-preflight.html: Added.
- web-platform-tests/fetch/api/cors/cors-no-preflight.js: Added.
- web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-origin-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-origin.html: Added.
- web-platform-tests/fetch/api/cors/cors-origin.js: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-redirect-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-redirect.html: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-redirect.js: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-referrer.html: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-referrer.js: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-status-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-status-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-status.html: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-status.js: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-preflight.html: Added.
- web-platform-tests/fetch/api/cors/cors-preflight.js: Added.
- web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-redirect-credentials.html: Added.
- web-platform-tests/fetch/api/cors/cors-redirect-credentials.js: Added.
- web-platform-tests/fetch/api/cors/cors-redirect-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-redirect-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-redirect-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-redirect.html: Added.
- web-platform-tests/fetch/api/cors/cors-redirect.js: Added.
- web-platform-tests/fetch/api/cors/w3c-import.log: Added.
- web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Added.
- web-platform-tests/fetch/api/credentials/authentication-basic-worker-expected.txt: Added.
- web-platform-tests/fetch/api/credentials/authentication-basic-worker.html: Added.
- web-platform-tests/fetch/api/credentials/authentication-basic.html: Added.
- web-platform-tests/fetch/api/credentials/authentication-basic.js: Added.
- web-platform-tests/fetch/api/credentials/cookies-expected.txt: Added.
- web-platform-tests/fetch/api/credentials/cookies-worker-expected.txt: Added.
- web-platform-tests/fetch/api/credentials/cookies-worker.html: Added.
- web-platform-tests/fetch/api/credentials/cookies.html: Added.
- web-platform-tests/fetch/api/credentials/cookies.js: Added.
- web-platform-tests/fetch/api/credentials/w3c-import.log: Added.
- web-platform-tests/fetch/api/policies/csp-blocked-expected.txt: Added.
- web-platform-tests/fetch/api/policies/csp-blocked-worker-expected.txt: Added.
- web-platform-tests/fetch/api/policies/csp-blocked-worker.html: Added.
- web-platform-tests/fetch/api/policies/csp-blocked.html: Added.
- web-platform-tests/fetch/api/policies/csp-blocked.html.headers: Added.
- web-platform-tests/fetch/api/policies/csp-blocked.js: Added.
- web-platform-tests/fetch/api/policies/csp-blocked.js.headers: Added.
- web-platform-tests/fetch/api/policies/referrer-no-referrer-expected.txt: Added.
- web-platform-tests/fetch/api/policies/referrer-no-referrer-worker-expected.txt: Added.
- web-platform-tests/fetch/api/policies/referrer-no-referrer-worker.html: Added.
- web-platform-tests/fetch/api/policies/referrer-no-referrer.html: Added.
- web-platform-tests/fetch/api/policies/referrer-no-referrer.html.headers: Added.
- web-platform-tests/fetch/api/policies/referrer-no-referrer.js: Added.
- web-platform-tests/fetch/api/policies/referrer-no-referrer.js.headers: Added.
- web-platform-tests/fetch/api/policies/referrer-origin-expected.txt: Added.
- web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt: Added.
- web-platform-tests/fetch/api/policies/referrer-origin-worker.html: Added.
- web-platform-tests/fetch/api/policies/referrer-origin.html: Added.
- web-platform-tests/fetch/api/policies/referrer-origin.html.headers: Added.
- web-platform-tests/fetch/api/policies/referrer-origin.js: Added.
- web-platform-tests/fetch/api/policies/referrer-origin.js.headers: Added.
- web-platform-tests/fetch/api/policies/referrer-unsafe-url-expected.txt: Added.
- web-platform-tests/fetch/api/policies/referrer-unsafe-url-worker-expected.txt: Added.
- web-platform-tests/fetch/api/policies/referrer-unsafe-url-worker.html: Added.
- web-platform-tests/fetch/api/policies/referrer-unsafe-url.html: Added.
- web-platform-tests/fetch/api/policies/referrer-unsafe-url.html.headers: Added.
- web-platform-tests/fetch/api/policies/referrer-unsafe-url.js: Added.
- web-platform-tests/fetch/api/policies/referrer-unsafe-url.js.headers: Added.
- web-platform-tests/fetch/api/policies/w3c-import.log: Added.
- web-platform-tests/fetch/api/redirect/redirect-count-expected.txt: Added.
- web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt: Added.
- web-platform-tests/fetch/api/redirect/redirect-count-worker.html: Added.
- web-platform-tests/fetch/api/redirect/redirect-count.html: Added.
- web-platform-tests/fetch/api/redirect/redirect-count.js: Added.
- web-platform-tests/fetch/api/redirect/redirect-location-expected.txt: Added.
- web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt: Added.
- web-platform-tests/fetch/api/redirect/redirect-location-worker.html: Added.
- web-platform-tests/fetch/api/redirect/redirect-location.html: Added.
- web-platform-tests/fetch/api/redirect/redirect-location.js: Added.
- web-platform-tests/fetch/api/redirect/redirect-method-expected.txt: Added.
- web-platform-tests/fetch/api/redirect/redirect-method-worker-expected.txt: Added.
- web-platform-tests/fetch/api/redirect/redirect-method-worker.html: Added.
- web-platform-tests/fetch/api/redirect/redirect-method.html: Added.
- web-platform-tests/fetch/api/redirect/redirect-method.js: Added.
- web-platform-tests/fetch/api/redirect/redirect-mode-expected.txt: Added.
- web-platform-tests/fetch/api/redirect/redirect-mode-worker-expected.txt: Added.
- web-platform-tests/fetch/api/redirect/redirect-mode-worker.html: Added.
- web-platform-tests/fetch/api/redirect/redirect-mode.html: Added.
- web-platform-tests/fetch/api/redirect/redirect-mode.js: Added.
- web-platform-tests/fetch/api/redirect/w3c-import.log: Added.
- web-platform-tests/fetch/nosniff/image-expected.txt: Added.
- web-platform-tests/fetch/nosniff/image.html: Added.
- web-platform-tests/fetch/nosniff/importscripts-expected.txt: Added.
- web-platform-tests/fetch/nosniff/importscripts.html: Added.
- web-platform-tests/fetch/nosniff/importscripts.js: Added.
- web-platform-tests/fetch/nosniff/parsing-nosniff-expected.txt: Added.
- web-platform-tests/fetch/nosniff/parsing-nosniff.html: Added.
- web-platform-tests/fetch/nosniff/resources/css.py: Added.
- web-platform-tests/fetch/nosniff/resources/image.py: Added.
- web-platform-tests/fetch/nosniff/resources/js.py: Added.
- web-platform-tests/fetch/nosniff/resources/nosniff-first.asis: Added.
- web-platform-tests/fetch/nosniff/resources/nosniff-last.asis: Added.
- web-platform-tests/fetch/nosniff/resources/nosniff-no-x.asis: Added.
- web-platform-tests/fetch/nosniff/resources/nosniff-quoted-single.asis: Added.
- web-platform-tests/fetch/nosniff/resources/nosniff-quoted.asis: Added.
- web-platform-tests/fetch/nosniff/resources/nosniff-uppercase.asis: Added.
- web-platform-tests/fetch/nosniff/resources/w3c-import.log: Added.
- web-platform-tests/fetch/nosniff/resources/worker.py: Added.
- web-platform-tests/fetch/nosniff/script-expected.txt: Added.
- web-platform-tests/fetch/nosniff/script.html: Added.
- web-platform-tests/fetch/nosniff/stylesheet-expected.txt: Added.
- web-platform-tests/fetch/nosniff/stylesheet.html: Added.
- web-platform-tests/fetch/nosniff/w3c-import.log: Added.
- web-platform-tests/fetch/nosniff/worker.html: Added.
LayoutTests:
- TestExpectations: Skipping new fetch worker tests as they are
causing other tests to crash (see bug 156737 and bug 157068).
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/fetch/nosniff/stylesheet-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Added.
- 10:05 AM Changeset in webkit [200194] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] implement spec changes for String#padStart and String#padEnd
https://bugs.webkit.org/show_bug.cgi?id=157139
Reviewed by Keith Miller.
Previously, if the fill string was the empty string, it was treated as a
single U+0020 SPACE character. Now, if this occurs, the original string
is returned instead.
Change was discussed at TC39 in March [1], and is reflected in new
test262 tests for the feature.
[1] https://github.com/tc39/tc39-notes/blob/master/es7/2016-03/march-29.md#stringprototypepadstartpadend
- runtime/StringPrototype.cpp:
(JSC::padString):
- tests/es6/String.prototype_methods_String.prototype.padEnd.js:
(TestFillerToString):
(TestFillerEmptyString):
- tests/es6/String.prototype_methods_String.prototype.padStart.js:
(TestFillerToString):
(TestFillerEmptyString):
- 10:03 AM Changeset in webkit [200193] by
-
- 2 edits in trunk/Source/WebKit2
Fix mistake in custom elements runtime flag
https://bugs.webkit.org/show_bug.cgi?id=157130
Reviewed by Chris Dumez.
The methods for the custom elements runtime flag were using
the Shadow DOM flag instead.
These methods were introduced in r197921,
it seems it was just a copy&paste mistake.
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetCustomElementsEnabled):
(WKPreferencesGetCustomElementsEnabled):
- 8:41 AM Changeset in webkit [200192] by
-
- 44 edits in trunk
[Web IDL] Specify default values for optional parameters of type 'DOMString'
https://bugs.webkit.org/show_bug.cgi?id=157116
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline now that more checks are passing.
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/addTextTrack-expected.txt:
Source/WebCore:
Specify default values for optional parameters of type 'DOMString' so
that this default value is used if the parameter is either omitted or
undefined. For parameters of type DOMString and that are not nullable,
the bindings generator now uses the null string as implicit default
value (unless explicitely specified otherwise in the IDL). This
simplifies the IDL a little and makes it a bit less confusing (it is
a bit weird to see something like "optional DOMString param = null",
considering the parameter is not nullable). I also think it makes
more sense to use the null String() rather than Optional<String> in
this case.
No new tests, existing tests were rebaselined.
- Modules/encryptedmedia/MediaKeys.idl:
- Modules/indexeddb/IDBDatabase.idl:
- Modules/indexeddb/IDBIndex.h:
- Modules/indexeddb/IDBIndex.idl:
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::openCursor): Deleted.
- Modules/indexeddb/IDBObjectStore.h:
- Modules/indexeddb/IDBObjectStore.idl:
- Modules/speech/SpeechSynthesisUtterance.idl:
- Modules/websockets/WebSocket.idl:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(CanUseWTFOptionalForParameter): Deleted.
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): Deleted.
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
- bindings/scripts/test/TestNamedConstructor.idl:
- css/FontFaceSet.cpp:
- css/FontFaceSet.h:
- css/FontFaceSet.idl:
- css/WebKitCSSMatrix.idl:
- dom/Comment.idl:
- dom/DOMImplementation.idl:
- dom/DataTransfer.cpp:
(WebCore::DataTransfer::clearData):
(WebCore::DataTransfer::getData): Deleted.
- dom/DataTransfer.h:
- dom/Document.idl:
- dom/Text.idl:
- fileapi/FileReader.cpp:
(WebCore::FileReader::readAsDataURL): Deleted.
- fileapi/FileReader.h:
- fileapi/FileReaderSync.h:
- fileapi/FileReaderSync.idl:
- html/HTMLAudioElement.idl:
- html/HTMLInputElement.idl:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::addTextTrack):
Throw a TypeError if the 'kind' parameter is not a valid string in the
TextTrackKind enum:
https://html.spec.whatwg.org/multipage/embedded-content.html#htmlmediaelement
We previously threw a SYNTAX_ERR instead of a TypeError in such case,
which was not correct as per Web IDL specification.
- html/HTMLMediaElement.h:
- html/HTMLMediaElement.idl:
- html/HTMLOptionElement.idl:
- html/HTMLTextAreaElement.idl:
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setShadow):
- html/canvas/CanvasRenderingContext2D.h:
- page/Performance.idl:
LayoutTests:
- media/track/w3c/interfaces/HTMLMediaElement/addTextTrack.html:
Resync test from upstream so that it expects a TypeError to be thrown if a
wrong 'kind' parameter is passed, and so that it expects the label / language
parameter to have the empty string as default value.
- 8:12 AM Changeset in webkit [200191] by
-
- 5 edits in trunk
Crash for non-static super property call in derived class constructor
https://bugs.webkit.org/show_bug.cgi?id=157089
Reviewed by Darin Adler.
Source/JavaScriptCore:
Added tdz check of the 'this' before access to the 'super' for FunctionCallBracketNode,
the same as it was done for FunctionCallDotNode.
- bytecompiler/NodesCodegen.cpp:
(JSC::FunctionCallBracketNode::emitBytecode):
LayoutTests:
- js/class-syntax-super-expected.txt:
- js/script-tests/class-syntax-super.js:
- 7:35 AM Changeset in webkit [200190] by
-
- 3 edits in trunk/Source/WebCore
Factor out the "paint item" logic in RenderListBox into a helper
https://bugs.webkit.org/show_bug.cgi?id=157117
Reviewed by Daniel Bates.
Patch factors out the duplicated painting logic in RenderListBox::paintObject()
into a member function named paintItem.
This is in preparation for bug 156590.
No new tests, since there is no behavior change.
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintItem):
(WebCore::RenderListBox::paintObject):
- rendering/RenderListBox.h:
- 7:02 AM Changeset in webkit [200189] by
-
- 2 edits in trunk/LayoutTests
[css-grid] Fix typo in CSS class for layout tests
https://bugs.webkit.org/show_bug.cgi?id=157129
Reviewed by Sergio Villar Senin.
CSS class "secondRowFourthColumn" was not actually setting
the second row due to a typo.
The change doesn't affect any test just by chance,
as the auto-placement algorithm is already positioning
those items on the second row.
- fast/css-grid-layout/resources/grid.css:
(.secondRowFourthColumn):
- 6:46 AM WebKitGTK/2.10.x edited by
- (diff)
- 6:32 AM WebKitGTK/2.12.x edited by
- (diff)
- 6:12 AM Changeset in webkit [200188] by
-
- 8 edits4 adds in trunk
AX: [ATK] We need to be smarter about flattening and the accessible text implementation
https://bugs.webkit.org/show_bug.cgi?id=144639
Reviewed by Chris Fleizach.
Source/WebCore:
Defer to WebCore Accessibility more regarding when to include anonymous blocks in the
accessibility tree. Explicitly flatten menu items, headings, list items, and paragraphs
in order to preserve the expected platform behavior for backwards compatibility. Also
map anonymous table parts to DivRole rather than GroupRole for GTK and EFL because ATK
has separate roles for generic text block elements and other generic containers.
Tests: accessibility/gtk/nested-block-element-children.html
accessibility/gtk/spans-paragraphs-and-divs-tree.html
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
- accessibility/atk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
LayoutTests:
Added two new tests and updated three existing tests to reflect the new behavior
regarding inclusion of elements in the accessibility tree and the text value of
included elements.
- accessibility/gtk/nested-block-element-children-expected.txt: Added.
- accessibility/gtk/nested-block-element-children.html: Added.
- accessibility/gtk/spans-paragraphs-and-divs-expected.txt: Updated for new behavior.
- accessibility/gtk/spans-paragraphs-and-divs-tree-expected.txt: Added.
- accessibility/gtk/spans-paragraphs-and-divs-tree.html: Added.
- accessibility/gtk/spans-paragraphs-and-divs.html: Updated for new behavior.
- platform/gtk/accessibility/generated-content-with-display-table-crash-expected.txt: Updated for new behavior.
- platform/gtk/accessibility/gtk/replaced-objects-in-anonymous-blocks-expected.txt: Updated for new behavior.
- 5:20 AM Changeset in webkit [200187] by
-
- 3 edits in trunk/Source/WebCore
RenderMathMLOperator refactoring: introduce getBaseGlyph and remove parameter from getDisplayStyleLargeOperator
https://bugs.webkit.org/show_bug.cgi?id=156910
Reviewed by Alejandro G. Castro.
No new tests, the behavior is not changed.
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::italicCorrection): We do not need to pass m_textContent to
getDisplayStyleLargeOperator.
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): We use getBaseGlyph and do
not pass m_textContent to getDisplayStyleLargeOperator or findStretchyData.
(WebCore::RenderMathMLOperator::getBaseGlyph): Introduce a helper function to retrieve the
base glyph and do some validity checks.
(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator): We remove the character
parameter as it is always m_textContent.
We use getBaseGlyph and replace primaryFont with baseGlyph.font.
(WebCore::RenderMathMLOperator::findStretchyData): Ditto.
(WebCore::RenderMathMLOperator::updateStyle): We do not pass m_textContent to
getDisplayStyleLargeOperator or findStretchyData.
- rendering/mathml/RenderMathMLOperator.h: Declare getBaseGlyph and remove the parameter
from getDisplayStyleLargeOperator and findStretchyData.
- 5:18 AM Changeset in webkit [200186] by
-
- 4 edits1 delete in trunk
Unreviewed, rolling out r200185.
https://bugs.webkit.org/show_bug.cgi?id=157131
Bad temporary file added unintentionally (Requested by fredw
on #webkit).
Reverted changeset:
"RenderMathMLOperator refactoring: introduce getBaseGlyph and
remove parameter from getDisplayStyleLargeOperator"
https://bugs.webkit.org/show_bug.cgi?id=156910
http://trac.webkit.org/changeset/200185
- 5:09 AM Changeset in webkit [200185] by
-
- 3 edits5 adds in trunk/Source
RenderMathMLOperator refactoring: introduce getBaseGlyph and remove parameter from getDisplayStyleLargeOperator
https://bugs.webkit.org/show_bug.cgi?id=156910
Reviewed by Alejandro G. Castro.
No new tests, the behavior is not changed.
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::italicCorrection): We do not need to pass m_textContent
to getDisplayStyleLargeOperator.
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): We use getBaseGlyph and do
not pass m_textContent to getDisplayStyleLargeOperator or findStretchyData.
(WebCore::RenderMathMLOperator::getBaseGlyph): Introduce a helper function to retrieve the
base glyph and do some validity checks.
(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator): We remove the character
parameter as it is always m_textContent.
We use getBaseGlyph and replace primaryFont with baseGlyph.font.
(WebCore::RenderMathMLOperator::findStretchyData): Ditto.
(WebCore::RenderMathMLOperator::updateStyle): We do not pass m_textContent to
getDisplayStyleLargeOperator or findStretchyData.
- rendering/mathml/RenderMathMLOperator.h: Declare getBaseGlyph and remove the parameter
from getDisplayStyleLargeOperator and findStretchyData.
- 3:07 AM Changeset in webkit [200184] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r199659): Web Process crash when RenderTheme::adjustMenuListStyle is called with a null element
https://bugs.webkit.org/show_bug.cgi?id=157127
Reviewed by Sergio Villar Senin.
This happens for example with tests fast/css/appearance-with-pseudo-elements-in-quirks-mode.html and
fast/css/appearance-with-pseudo-elements.html.
- rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::adjustMenuListStyle): Do not change the style color if the given element is nullptr.
- 3:01 AM Changeset in webkit [200183] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Add missing files to the compilation of GTK+ inspector.
- PlatformGTK.cmake:
- 2:27 AM Changeset in webkit [200182] by
-
- 8 edits in trunk/Source/WebCore
[css-grid] Store auto-repeat information in style
https://bugs.webkit.org/show_bug.cgi?id=157097
Reviewed by Darin Adler.
This is the second step to implement auto-repeat. This patch provides the necessary
machinery to store the auto-repeat data extracted by the parser in the RenderStyle class. We
are not doing anything with that information yet, it will be used later to compute the
number of auto-repeat tracks in a follow up patch.
No new tests required as there is no change in behavior yet (we're just storing the info we
already get from the parser).
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForGridTrackList): Check also that the auto-repeat list of tracks is empty.
- css/StyleBuilderConverter.h:
(WebCore::createGridLineNamesList): Refactored from createGridTrackList.
(WebCore::StyleBuilderConverter::createGridTrackList): Extract auto-repeat data from the
parser. Also gathered all the out arguments in a single new struct called TracksData.
- css/StyleBuilderCustom.h: Added new macro SET_TRACKS_DATA which properly sets the info
from TracksData struct into style.
(WebCore::StyleBuilderCustom::applyValueWebkitGridTemplateColumns): Store auto-repeat data
in RenderStyle.
(WebCore::StyleBuilderCustom::applyValueWebkitGridTemplateRows): Ditto.
- rendering/style/RenderStyle.h: Add methods and attributes for auto-repeat data.
- rendering/style/RenderStyleConstants.h: New AutoRepeatType enumerated type.
- rendering/style/StyleGridData.cpp:
(WebCore::StyleGridData::StyleGridData): Add auto-repeat data.
- rendering/style/StyleGridData.h:
(WebCore::StyleGridData::operator==): Check also auto-repeat data.
- 1:54 AM Changeset in webkit [200181] by
-
- 5 edits2 copies in trunk
[css-grid] Fix alignment with content distribution
https://bugs.webkit.org/show_bug.cgi?id=156623
Reviewed by Sergio Villar Senin.
Source/WebCore:
We were only subtracting the distribution offset for items spanning
several tracks, but not for items in a single cell.
We should actually subtract the offset in that situation too,
the same that we do for the grid gaps.
Test: fast/css-grid-layout/grid-content-alignment-and-self-alignment-spanning.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::columnAxisOffsetForChild): Subtract distribution
offset like we do for gaps.
(WebCore::RenderGrid::rowAxisOffsetForChild): Ditto.
LayoutTests:
Created new test and renamed the old one as it was only testing
items spanning several cells.
- fast/css-grid-layout/grid-content-alignment-and-self-alignment-expected.txt:
- fast/css-grid-layout/grid-content-alignment-and-self-alignment-spanning-expected.txt:
Renamed from fast/css-grid-layout/grid-content-alignment-and-self-alignment-expected.txt.
- fast/css-grid-layout/grid-content-alignment-and-self-alignment-spanning.html:
Renamed from fast/css-grid-layout/grid-content-alignment-and-self-alignment.html.
- fast/css-grid-layout/grid-content-alignment-and-self-alignment.html:
- 1:30 AM WebKitGTK/2.12.x edited by
- (diff)
- 1:03 AM Changeset in webkit [200180] by
-
- 2 edits in trunk/LayoutTests
Skip test LayoutTests/media/video-with-file-url-allowed-by-csp-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html
as it is flaky on the WebKit1 bots.
For completeness, the test video-with-file-url-allowed-by-csp-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html
was added in r200155 (<https://bugs.webkit.org/show_bug.cgi?id=157100>). We will look to fix this test in <https://bugs.webkit.org/show_bug.cgi?id=155196>.
- platform/mac-wk1/TestExpectations:
- 12:44 AM Changeset in webkit [200179] by
-
- 1 copy in releases/WebKitGTK/webkit-2.12.2
WebKitGTK+ 2.12.2
- 12:43 AM Changeset in webkit [200178] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.12.2 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.12.2.
Apr 27, 2016:
- 11:54 PM Changeset in webkit [200177] by
-
- 8 edits in trunk/Source/JavaScriptCore
The GetterSetter structure needs a globalObject.
https://bugs.webkit.org/show_bug.cgi?id=157120
Reviewed by Filip Pizlo.
In r199170: <http://trac.webkit.org/r199170>, GetterSetter was promoted from
being a JSCell to a JSObject. JSObject methods expect their structure to have a
globalObject. For example, see JSObject::calculatedClassName(). GetterSetter
was previously using a singleton getterSetterStructure owned by the VM. That
singleton getterSetterStructure is not associated with any globalObjects. As a
result, JSObject::calculatedClassName() will run into a null globalObject when it
is called on a GetterSetter object.
This patch removes the VM singleton getterSetterStructure, and instead, creates
a getterSetterStructure for each JSGlobalObject.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGStructureRegistrationPhase.cpp:
(JSC::DFG::StructureRegistrationPhase::run):
- runtime/GetterSetter.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::functionStructure):
(JSC::JSGlobalObject::boundFunctionStructure):
(JSC::JSGlobalObject::boundSlotBaseFunctionStructure):
(JSC::JSGlobalObject::getterSetterStructure):
(JSC::JSGlobalObject::nativeStdFunctionStructure):
(JSC::JSGlobalObject::namedFunctionStructure):
(JSC::JSGlobalObject::functionNameOffset):
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
- 11:49 PM Changeset in webkit [200176] by
-
- 7 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r200173 - [GTK] Overlay scrollbars with steppers enabled render incorrectly
https://bugs.webkit.org/show_bug.cgi?id=156988
Reviewed by Michael Catanzaro.
Fix rendering of scrollbars when using GTK+ themes having stepper buttons.
- platform/gtk/RenderThemeGadget.cpp:
(WebCore::RenderThemeBoxGadget::RenderThemeBoxGadget): Receive the box orientation as constructor parameter.
(WebCore::RenderThemeBoxGadget::preferredSize): Fix the preferred size calculation taking into account the box orientation.
(WebCore::RenderThemeScrollbarGadget::renderStepper): New method to render scrollbar steppers.
- platform/gtk/RenderThemeGadget.h:
(WebCore::RenderThemeGadget::context): Make this public instead of protected.
- platform/gtk/ScrollAnimatorGtk.cpp:
(WebCore::ScrollAnimatorGtk::updateOverlayScrollbarsOpacity): Invalidate the whole scrollbars instead of just
the thumb when opacity changes, because themes can actually render the trough or even stepper buttons when in
indicator mode too.
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::hasButtons): Properly implement this method instead of returning true unconditionally.
(WebCore::contentsGadgetForLayout): Pass orientation to RenderThemeBoxGadget constructor.
(WebCore::ScrollbarThemeGtk::trackRect): Fix the calculation of the track rect taking stepper buttons into account.
(WebCore::ScrollbarThemeGtk::backButtonRect): Fix the calculation of the stepper button rectangle.
(WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
(WebCore::ScrollbarThemeGtk::paint): Use RenderThemeScrollbarGadget::renderStepper() to render the stepper
buttons, and fix the calculation of the steppers button rectangle.
(WebCore::ScrollbarThemeGtk::handleMousePressEvent): Handle clicks on stepper buttons.
(WebCore::ScrollbarThemeGtk::scrollbarThickness): Fix the calculation of the scrollbar thickness.
(WebCore::ScrollbarThemeGtk::minimumThumbLength): Pass orientation to RenderThemeBoxGadget constructor.
- platform/gtk/ScrollbarThemeGtk.h:
- rendering/RenderThemeGtk.cpp:
(WebCore::menuListColor): Ditto.
(WebCore::RenderThemeGtk::popupInternalPaddingBox): Ditto.
(WebCore::RenderThemeGtk::paintMenuList): Ditto.
- 11:46 PM Changeset in webkit [200175] by
-
- 2 edits in trunk/Tools
Don't throttle GuardMalloc on 8-core Macs
https://bugs.webkit.org/show_bug.cgi?id=157108
Reviewed by Alex Christensen.
This was making them slower unnecessarily.
- Scripts/webkitpy/port/mac.py: (MacPort.default_child_processes):
- 11:23 PM Changeset in webkit [200174] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/JavaScriptCore
Merge r200125 - [GTK] Fails to build randomly when generating LLIntDesiredOffsets.h
https://bugs.webkit.org/show_bug.cgi?id=155427
Reviewed by Carlos Garcia Campos.
If the build directory contains the -I string, the script that
generates LLIntDesiredOffsets.h will confuse it with an option to
declare an include directory.
In order to avoid that we should only use the arguments that start
with -I when extracting the list of include directories, instead
of using the ones that simply contain that string.
- offlineasm/parser.rb:
- 11:20 PM Changeset in webkit [200173] by
-
- 7 edits in trunk/Source/WebCore
[GTK] Overlay scrollbars with steppers enabled render incorrectly
https://bugs.webkit.org/show_bug.cgi?id=156988
Reviewed by Michael Catanzaro.
Fix rendering of scrollbars when using GTK+ themes having stepper buttons.
- platform/gtk/RenderThemeGadget.cpp:
(WebCore::RenderThemeBoxGadget::RenderThemeBoxGadget): Receive the box orientation as constructor parameter.
(WebCore::RenderThemeBoxGadget::preferredSize): Fix the preferred size calculation taking into account the box orientation.
(WebCore::RenderThemeScrollbarGadget::renderStepper): New method to render scrollbar steppers.
- platform/gtk/RenderThemeGadget.h:
(WebCore::RenderThemeGadget::context): Make this public instead of protected.
- platform/gtk/ScrollAnimatorGtk.cpp:
(WebCore::ScrollAnimatorGtk::updateOverlayScrollbarsOpacity): Invalidate the whole scrollbars instead of just
the thumb when opacity changes, because themes can actually render the trough or even stepper buttons when in
indicator mode too.
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::hasButtons): Properly implement this method instead of returning true unconditionally.
(WebCore::contentsGadgetForLayout): Pass orientation to RenderThemeBoxGadget constructor.
(WebCore::ScrollbarThemeGtk::trackRect): Fix the calculation of the track rect taking stepper buttons into account.
(WebCore::ScrollbarThemeGtk::backButtonRect): Fix the calculation of the stepper button rectangle.
(WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
(WebCore::ScrollbarThemeGtk::paint): Use RenderThemeScrollbarGadget::renderStepper() to render the stepper
buttons, and fix the calculation of the steppers button rectangle.
(WebCore::ScrollbarThemeGtk::handleMousePressEvent): Handle clicks on stepper buttons.
(WebCore::ScrollbarThemeGtk::scrollbarThickness): Fix the calculation of the scrollbar thickness.
(WebCore::ScrollbarThemeGtk::minimumThumbLength): Pass orientation to RenderThemeBoxGadget constructor.
- platform/gtk/ScrollbarThemeGtk.h:
- rendering/RenderThemeGtk.cpp:
(WebCore::menuListColor): Ditto.
(WebCore::RenderThemeGtk::popupInternalPaddingBox): Ditto.
(WebCore::RenderThemeGtk::paintMenuList): Ditto.
- 10:41 PM Changeset in webkit [200172] by
-
- 2 edits in trunk/Source/WebKit2
<rdar://problem/25915253> REGRESSION (r199628): Netflix playback fails in Safari Technology Preview with error code S7363-1260-FFFF58D8
Rubber-stamped by Tim Horton.
Reverted r199628.
- Configurations/WebContentService.xcconfig:
- 10:27 PM Changeset in webkit [200171] by
-
- 4 edits in trunk/Source/WebCore
SVG SMIL animations run at less than 60fps
https://bugs.webkit.org/show_bug.cgi?id=157119
rdar://problem/25971304
Reviewed by Tim Horton.
If you re-fetch current time while doing animation computations you're gonna have
a bad time.
More specifically, SMILTimeContainer::startTimer() re-fetched elapsedTime() when
computing the delay for the next timer fire, then clamped to 16.667ms, so the timer
would actually be scheduled at intervals greater than desired, causing a ~54fps framerate.
Fix by using the elapsedTime fetched at the start of animation processing.
Tested by iOS content-animation performance tests.
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::SVGSVGElement): Just cleanup.
- svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::notifyIntervalsChanged):
(WebCore::SMILTimeContainer::resume):
(WebCore::SMILTimeContainer::startTimer):
(WebCore::SMILTimeContainer::updateAnimations):
- svg/animation/SMILTimeContainer.h:
- 9:57 PM Changeset in webkit [200170] by
-
- 2 edits in tags/Safari-602.1.30/Source/WebCore
Merged r200151. rdar://problem/25964854
- 9:55 PM Changeset in webkit [200169] by
-
- 2 edits in tags/Safari-602.1.30/Source/JavaScriptCore
Merged r200147. rdar://problem/25963453
- 8:33 PM Changeset in webkit [200168] by
-
- 2 edits in trunk/Source/WebCore
Build fix followup to r200163
Unreviewed.
- platform/efl/FileSystemEfl.cpp:
(WebCore::stringFromFileSystemRepresentation): At least stub this out for now until EFL folks can do better.
- 7:11 PM Changeset in webkit [200167] by
-
- 5 edits in trunk/Source/bmalloc
Assertion failure in bmalloc::vmRevokePermissions(void*, unsigned long).
https://bugs.webkit.org/show_bug.cgi?id=157047
Reviewed by Darin Adler.
- bmalloc/Chunk.h:
(bmalloc::Chunk::Chunk):
(bmalloc::Chunk::get):
(bmalloc::Chunk::offset):
(bmalloc::Chunk::address):
(bmalloc::Object::Object):
(bmalloc::Object::address):
(bmalloc::Object::line):
(bmalloc::Chunk::object): Deleted.
(bmalloc::Object::begin): Deleted.
- bmalloc/Heap.cpp:
(bmalloc::Heap::allocateSmallBumpRangesByObject):
- bmalloc/Object.h:
(bmalloc::Object::chunk):
(bmalloc::Object::offset): Renamed begin() to address() because this is
not an iterator.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::allocateSmallChunk): Round up pageSize to a vmPageSize
multiple because pageSize might be smaller than vmPageSize, but we
think the VM system requires vmPageSize-aligned values.
- 6:54 PM Changeset in webkit [200166] by
-
- 3 edits in trunk/Source/WebCore
Move the implementation of Settings::globalConstRedeclarationShouldThrow into the cpp file
https://bugs.webkit.org/show_bug.cgi?id=157109
Rubber-stamped by Geoffrey Garen.
- page/Settings.cpp:
(WebCore::Settings::networkInterfaceName):
(WebCore::Settings::globalConstRedeclarationShouldThrow):
- page/Settings.h:
(WebCore::Settings::shouldUseHighResolutionTimers):
(WebCore::Settings::backgroundShouldExtendBeyondPage):
(WebCore::Settings::globalConstRedeclarationShouldThrow): Deleted.
- 6:53 PM Changeset in webkit [200165] by
-
- 4 edits3 adds in trunk
RTL non-native <select> buttons should have arrows on the left
https://bugs.webkit.org/show_bug.cgi?id=157112
<rdar://problem/25894441>
Reviewed by Simon Fraser.
Source/WebCore:
The <select> elements that are completely rendered by WebCore
(i.e. not the native controls) always assumed that they
were left-to-right.
This change allows the button to handle both directions,
swapping the side the little arrows are rendered on, as
well as the padding of the text label.
Test: fast/forms/select-non-native-rendering-direction.html
- rendering/RenderMenuList.cpp:
(RenderMenuList::clientPaddingLeft): This must take into account
the direction of the element.
(RenderMenuList::clientPaddingRight): Ditto.
- rendering/RenderThemeMac.mm: Change the left and right constants
to use the terms before and after.
(WebCore::RenderThemeMac::paintMenuListButtonDecorations): The left
and right positions must take the direction into account, which
means different calculations.
(WebCore::RenderThemeMac::popupInternalPaddingBox): Similarly for
the padding that is used to position the text label.
LayoutTests:
New test that checks the layout of WebCore-drawn <select>
elements in right-to-left mode.
- fast/forms/select-non-native-rendering-direction.html: Added.
- platform/mac/fast/forms/select-non-native-rendering-direction-expected.png: Added.
- platform/mac/fast/forms/select-non-native-rendering-direction-expected.txt: Added.
- 6:33 PM Changeset in webkit [200164] by
-
- 5 edits in trunk/Source/WebCore
CSS and SVG animations should run at 60fps
https://bugs.webkit.org/show_bug.cgi?id=157113
rdar://problem/24337280
rdar://problem/24337328
Reviewed by Dean Jackson.
For both CSS and SVG animations we used a 0.025s frame interval, which translates to
40fps. That caused these animations to look extra janky compared with accelerated
animations.
So use a 16.667ms frame interval for both.
Tested by content-animation benchmark tests.
- page/animation/AnimationController.cpp:
- svg/animation/SMILTime.h:
- svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::updateAnimations):
- svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::calculateNextProgressTime):
- 6:16 PM Changeset in webkit [200163] by
-
- 45 edits in trunk
Modern IDB: Implement native IDBFactory.getAllDatabaseNames for WebInspector.
https://bugs.webkit.org/show_bug.cgi?id=157072
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (Covered by changes to existing test).
Implement a new "getAllDatabaseNames" call on IDBFactory.
It is not exposed to the DOM, and is meant solely for internal WebInspector use.
- Modules/indexeddb/DOMWindowIndexedDatabase.h: Export some stuff to WebCoreTestSupport
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
- Modules/indexeddb/IDBDatabaseIdentifier.cpp:
(WebCore::IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot):
- Modules/indexeddb/IDBDatabaseIdentifier.h:
- Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::getAllDatabaseNames):
- Modules/indexeddb/IDBFactory.h:
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::getAllDatabaseNames):
- Modules/indexeddb/client/IDBConnectionProxy.h:
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::getAllDatabaseNames):
(WebCore::IDBClient::IDBConnectionToServer::didGetAllDatabaseNames):
- Modules/indexeddb/client/IDBConnectionToServer.h:
- Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
- Modules/indexeddb/server/IDBConnectionToClient.cpp:
(WebCore::IDBServer::IDBConnectionToClient::didGetAllDatabaseNames):
- Modules/indexeddb/server/IDBConnectionToClient.h:
- Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::getAllDatabaseNames):
(WebCore::IDBServer::IDBServer::performGetAllDatabaseNames): Do the actual work of getting
the appropriate directory listing and converting the paths to database names.
(WebCore::IDBServer::IDBServer::didGetAllDatabaseNames):
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::databaseNameFromEncodedFilename): Helper for IDBServer.
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::getAllDatabaseNames):
(WebCore::InProcessIDBServer::didGetAllDatabaseNames):
- Modules/indexeddb/shared/InProcessIDBServer.h:
- inspector/InspectorIndexedDBAgent.cpp:
(WebCore::InspectorIndexedDBAgent::requestDatabaseNames): Use the new IDBFactory API to
asynchronously get the list of database names.
- platform/CrossThreadCopier.cpp:
(WebCore::SecurityOriginData>::copy):
(WebCore::Vector<String>>::copy):
- platform/CrossThreadCopier.h:
- platform/FileSystem.cpp:
(WebCore::decodeFromFilename): Perform the reverse of encodeForFilename.
- platform/FileSystem.h:
- platform/cf/FileSystemCF.cpp:
(WebCore::stringFromFileSystemRepresentation):
- platform/glib/FileSystemGlib.cpp:
(WebCore::stringFromFileSystemRepresentation):
- platform/posix/FileSystemPOSIX.cpp:
(WebCore::lastComponentOfPathIgnoringTrailingSlash): Utility for peeling off the last component
of a multi-component path.
(WebCore::listDirectory): This was broken when returning filenames with UTF in them. Fix it.
- platform/mac/WebCoreNSURLExtras.mm: Move the static hex digit utility functions to WTF.
(WebCore::userVisibleString):
(WebCore::isUserVisibleURL):
(WebCore::isHexDigit): Deleted.
(WebCore::hexDigit): Deleted.
(WebCore::hexDigitValue): Deleted.
Source/WebKit2:
Handle the process hop for the new getAllDatabaseNames call.
- DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
(WebKit::WebIDBConnectionToClient::didGetAllDatabaseNames):
(WebKit::WebIDBConnectionToClient::getAllDatabaseNames):
- DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
- DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
- Shared/WebCrossThreadCopier.cpp:
(WebCore::SecurityOriginData>::copy): Deleted, as its in WebCore now.
- Shared/WebCrossThreadCopier.h:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::getAllDatabaseNames):
(WebKit::WebIDBConnectionToServer::didGetAllDatabaseNames):
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in:
Source/WTF:
Moved these Hex Digit utilities from WebCore URL code (???),
and add a checked version of getting the hex digit value.
- wtf/HexNumber.h:
(WTF::isHexDigit):
(WTF::uncheckedHexDigit):
(WTF::hexDigitValue):
(WTF::uncheckedHexDigitValue):
LayoutTests:
Add more to this test and re-enable it.
- TestExpectations:
- inspector/indexeddb/requestDatabaseNames-expected.txt:
- inspector/indexeddb/requestDatabaseNames.html:
- 4:53 PM Changeset in webkit [200162] by
-
- 5 edits in trunk/Source/WebCore
Refactor findExplodedTextNodeAtPoint to move core functionality in RenderBlockFlow.
https://bugs.webkit.org/show_bug.cgi?id=157076
Reviewed by Simon Fraser.
- bindings/objc/DOMUIKitExtensions.mm:
(-[DOMNode findExplodedTextNodeAtPoint:]):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::findClosestTextAtAbsolutePoint):
- rendering/RenderBlockFlow.h:
- rendering/RenderText.h:
- 4:51 PM Changeset in webkit [200161] by
-
- 10 edits in trunk/Source
[iOS WK2] When determining tile size, check whether ancestor UIScrollViews are actually scrollable
https://bugs.webkit.org/show_bug.cgi?id=157107
rdar://problem/25943577
Reviewed by Tim Horton.
Source/WebCore:
Rename "enclosedInScrollView" to "enclosedInScrollableAncestorView" everywhere.
- page/FrameView.cpp:
(WebCore::FrameView::adjustTiledBackingScrollability):
- page/Page.h:
(WebCore::Page::enclosedInScrollableAncestorView):
(WebCore::Page::setEnclosedInScrollableAncestorView):
(WebCore::Page::enclosedInScrollView): Deleted.
(WebCore::Page::setEnclosedInScrollView): Deleted.
Source/WebKit2:
We should only fall back to 512x512 tiles if the WKWebView has a UIScrollView ancestor,
and that UIScrollView actually scrolls. This avoids falling back to small tiles in
MobileSafari.
Rename "enclosedInScrollView" to "enclosedInScrollableAncestorView" everywhere.
- Shared/VisibleContentRectUpdateInfo.cpp:
(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):
- Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::enclosedInScrollableAncestorView):
(WebKit::operator==):
(WebKit::VisibleContentRectUpdateInfo::enclosedInScrollView): Deleted.
- UIProcess/API/Cocoa/WKWebView.mm:
(scrollViewCanScroll):
(-[WKWebView _updateContentRectsWithState:]):
- UIProcess/ios/WKContentView.h:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollView:]): Deleted.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
- 4:51 PM Changeset in webkit [200160] by
-
- 6 edits1 add in trunk/LayoutTests
Test gardening; update results of tests that are marked as flakey.
- TestExpectations:
- platform/mac/transitions/cross-fade-background-image-expected.png:
- platform/mac/transitions/cross-fade-background-image-expected.txt: Added.
- platform/mac/transitions/cross-fade-border-image-expected.png:
- platform/mac/transitions/cross-fade-border-image-expected.txt:
- platform/mac/transitions/move-after-transition-expected.png:
- platform/mac/transitions/move-after-transition-expected.txt:
- 4:32 PM Changeset in webkit [200159] by
-
- 2 edits in trunk/Source/WebCore
[SOUP] Implement PlatformCookieJar::addCookie
https://bugs.webkit.org/show_bug.cgi?id=156295
Reviewed by Carlos Garcia Campos.
- platform/network/soup/CookieJarSoup.cpp:
(WebCore::msToSoupDate):
(WebCore::toSoupCookie):
(WebCore::addCookie):
- 4:31 PM Changeset in webkit [200158] by
-
- 6 edits in trunk/Source/WebCore
Let the bindings generator use WTF::Optional for optional parameters using [Clamp]
https://bugs.webkit.org/show_bug.cgi?id=157077
Reviewed by Darin Adler.
Let the bindings generator use WTF::Optional for optional parameters using [Clamp],
if they do not have a default value.
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::close):
- Modules/websockets/WebSocket.h:
- Modules/websockets/WebSocket.idl:
- bindings/scripts/CodeGeneratorJS.pm:
(CanUseWTFOptionalForParameter): Deleted.
- 4:24 PM Changeset in webkit [200157] by
-
- 10 edits in trunk/Source
Set WebVideoFullscreenInterfaceMac up as a client of WebPlaybackSessionInterfaceMac to listen for playback state changes
https://bugs.webkit.org/show_bug.cgi?id=157008
Reviewed by Jer Noble.
Source/WebCore:
For WebVideoFullscreenInterfaceMac to be notified when the playback rate changes in
WebPlaybackSessionInterfaceMac, add a new WebPlaybackSessionInterfaceMacClient base
class that WebVideoFullscreenInterfaceMac implements, similar to the WebPlaybackSessionInterfaceAVKitClient
on iOS. WebVideoFullscreenInterfaceMac sets itself as a client of WebPlaybackSessionInterfaceMac
so WebPlaybackSessionInterfaceMac can notify WebVideoFullscreenInterfaceMac whenever the
playback rate changes.
- platform/cocoa/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::setWebVideoFullscreenInterface):
We should not change the WebPlaybackSessionModelMediaElement's interface here since WebPlaybackSessionManager
has already set that up when creating the context for this media element.
(WebVideoFullscreenModelVideoElement::setVideoElement):
We should not change the WebPlaybackSessionModelMediaElement's media element here because
this will be called with NULL when the fullscreen context is cleaned up, but the
WebPlaybackSessionModelMediaElement might still need to stay around. We'll make sure the
WebPlaybackSessionModelMediaElement's media element is set when setting up the fullscreen
context in WebVideoFullscreenManager::enterVideoFullscreenForVideoElement().
- platform/mac/WebPlaybackSessionInterfaceMac.h:
(WebCore::WebPlaybackSessionInterfaceMacClient::~WebPlaybackSessionInterfaceMacClient):
- platform/mac/WebPlaybackSessionInterfaceMac.mm:
(WebCore::WebPlaybackSessionInterfaceMac::setClient):
Set the client. Notify the client about the current playback state.
(WebCore::WebPlaybackSessionInterfaceMac::setRate):
If a client is set, let that client know about the change in playback rate.
- platform/mac/WebVideoFullscreenInterfaceMac.h:
- platform/mac/WebVideoFullscreenInterfaceMac.mm:
(WebCore::WebVideoFullscreenInterfaceMac::WebVideoFullscreenInterfaceMac):
Set itself as a client of WebPlaybackSessionInterfaceMac.
(WebCore::WebVideoFullscreenInterfaceMac::~WebVideoFullscreenInterfaceMac):
Make sure WebPlaybackSessionInterfaceMac won't hold onto a stale pointer to itself.
(WebCore::WebVideoFullscreenInterfaceMac::setRate):
We don't have to update the WebVideoFullscreenInterfaceMac's rate here anymore. The change
in playback rate in WebPlaybackSessionInterfaceMac should trigger
WebVideoFullscreenInterfaceMac::rateChanged() to be called.
(WebCore::WebVideoFullscreenInterfaceMac::rateChanged):
Pass in both the isPlaying state and the playback rate to WebVideoFullscreenInterfaceMacObjC.
Source/WebKit2:
Since WebVideoFullscreenInterfaceMac holds onto WebPlaybackSessionInterfaceMac, we can't let
WebPlaybackSessionManagerProxy unregister the context for that media element while
WebVideoFullscreenInterfaceMac is still using it. WebVideoFullscreenInterfaceMac should add
to the client count for that WebPlaybackSession context.
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::createModelAndInterface):
When the context for the media element is created with the WebVideoFullscreenManagerProxy, it should
add one to the client count for the media element context in WebPlaybackSessionManagerProxy.
(WebKit::WebVideoFullscreenManagerProxy::removeClientForContext):
When WebVideoFullscreenManagerProxy unregisters the context for this media element, it should
subtract one from the client count for the media element context in WebPlaybackSessionManagerProxy.
- WebProcess/cocoa/WebPlaybackSessionManager.mm:
(WebKit::WebPlaybackSessionManager::clearPlaybackControlsManager):
Bail early if m_controlsManagerContextId is zero. Otherwise, we'd end up sending a
ClearPlaybackControlsManager message to the UI process inadvertently.
(WebKit::WebPlaybackSessionManager::contextIdForMediaElement):
Make sure the model element for the context ID is set to the media element.
- WebProcess/cocoa/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::createModelAndInterface):
When the context for the media element is created with the WebVideoFullscreenManager, it should
add one to the client count for the media element context in WebPlaybackSessionManager.
(WebKit::WebVideoFullscreenManager::removeContext):
When WebVideoFullscreenManager unregisters the context for this media element, it should
subtract one from the client count for the media element context in WebPlaybackSessionManager.
- 3:53 PM Changeset in webkit [200156] by
-
- 2 edits in trunk/Source/WebCore
Modernize platform/CrossThreadCopier.h style.
https://bugs.webkit.org/show_bug.cgi?id=157106
Reviewed by Alex Christensen.
No new tests (No change in behavior).
- platform/CrossThreadCopier.h:
(WebCore::CrossThreadCopierPassThrough::copy):
(WebCore::AllowCrossThreadAccessWrapper::AllowCrossThreadAccessWrapper):
(WebCore::AllowCrossThreadAccessWrapper::value):
(WebCore::AllowCrossThreadAccess):
(WebCore::AllowAccessLaterWrapper::AllowAccessLaterWrapper):
(WebCore::AllowAccessLaterWrapper::value):
(WebCore::AllowAccessLater):
- 3:50 PM Changeset in webkit [200155] by
-
- 4 edits2 copies11 adds in trunk/LayoutTests
CSP: Add tests for setting allowContentSecurityPolicySourceStarToMatchAnyProtocol
https://bugs.webkit.org/show_bug.cgi?id=157100
Reviewed by Brent Fulgham.
Add tests to ensure that we do not regress the behavior of setting allowContentSecurityPolicySourceStarToMatchAnyProtocol.
For completeness, this setting was added in r200130 (https://bugs.webkit.org/show_bug.cgi?id=157005) to enable or disable
whether source * can match any protocol as part of a workaround for the iOS apps Ecobee and Quora.
- fast/dom/HTMLImageElement/image-with-blob-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Added.
- fast/dom/HTMLImageElement/image-with-blob-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Added.
- fast/dom/HTMLImageElement/image-with-file-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Added.
- fast/dom/HTMLImageElement/image-with-file-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Added.
- fast/dom/HTMLLinkElement/link-with-blob-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Added.
- fast/dom/HTMLLinkElement/link-with-blob-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Added.
- fast/dom/HTMLLinkElement/link-with-data-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Added.
- fast/dom/HTMLLinkElement/link-with-data-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Added.
- fast/dom/HTMLLinkElement/link-with-file-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Added.
- fast/dom/HTMLLinkElement/link-with-file-url-allowed-by-csp-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Added.
- fast/dom/HTMLLinkElement/resources/green-background-color.css: Added.
(#test):
- media/video-with-file-url-allowed-by-csp-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled-expected.html: Copied from LayoutTests/media/video-with-file-url-blocked-by-csp-media-src-star.html.
- media/video-with-file-url-allowed-by-csp-media-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: Copied from LayoutTests/media/video-with-file-url-blocked-by-csp-media-src-star.html.
- media/video-with-file-url-blocked-by-csp-media-src-star-expected.html: Substitute "blocked" for "allowed" since the purpose of the corresponding
test is to ensure that we block loading a file URL video.
- media/video-with-file-url-blocked-by-csp-media-src-star.html: Substitute "blocked" for "allowed" since the purpose of this test is to ensure
that we block loading a file URL video. Additionally, register an oncanplaythrough handler instead of an onloadedmetadata handler and call testFinished()
to signal test completion on a zero timer as a means to help ensure that the first frame of the video is drawn should we regress the blocking of a video file URL.
- platform/wk2/TestExpectations: Skip test LayoutTests/fast/dom/HTMLImageElement/image-with-blob-url-allowed-by-csp-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html
when using WebKitTestRunner because WebKitTestRunner does not support eventSender.beginDragWithFiles(). See need to fix
<https://bugs.webkit.org/show_bug.cgi?id=64285>.
- 3:48 PM Changeset in webkit [200154] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Missing CSS autocompletion suggestions for -webkit-user-select
https://bugs.webkit.org/show_bug.cgi?id=157104
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-27
Reviewed by Timothy Hatcher.
- UserInterface/Models/CSSKeywordCompletions.js:
- 3:36 PM Changeset in webkit [200153] by
-
- 2 edits in trunk/LayoutTests
Marking compositing/contents-scale/incremental-change.html as a flaky failure on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=157105
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 2:39 PM Changeset in webkit [200152] by
-
- 2 edits in trunk/Source/WebKit2
Remove download message receiver when NetworkProcess crashes
https://bugs.webkit.org/show_bug.cgi?id=157102
<rdar://problem/25550106>
Reviewed by Anders Carlsson.
- UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::processDidClose):
When the NetworkProcess crashes during a download, we want to remove the message receiver from the map
so we don't get an assertion in ~MessageReceiver in the UIProcess so we do not have a freed
message receiver in the map.
- 2:25 PM Changeset in webkit [200151] by
-
- 2 edits in trunk/Source/WebCore
Speculative fix for null pointer dereference.
rdar://problem/25964854
Reviewed by Michael Saboff.
- platform/mac/Language.mm:
(WebCore::isValidICUCountryCode):
- 2:07 PM Changeset in webkit [200150] by
-
- 2 edits in trunk/Source/WebCore
Clean up Font::removeFromSystemFallbackCache()
https://bugs.webkit.org/show_bug.cgi?id=157093
Reviewed by Darin Adler.
Fonts have a bit which represents whether or not the system fallback cache references them.
This bit gets set to 1 when they are inserted into the system fallback cache, but was not
being reset back to 0 when it was removed.
This is benign, since the old codepath has no effect. However, we can speed up the function
by properly updating this bit.
No new tests because there is no behavior change.
- platform/graphics/Font.cpp:
(WebCore::Font::removeFromSystemFallbackCache):
- 1:54 PM Changeset in webkit [200149] by
-
- 40 edits5 deletes in trunk
Unreviewed, Revert r199397 due to PLT regressions
Source/JavaScriptCore:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/ArrayPrototype.js:
(concatSlowPath): Deleted.
(concat): Deleted.
- bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): Deleted.
- bytecode/BytecodeIntrinsicRegistry.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::handleIntrinsicCall): Deleted.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC): Deleted.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute): Deleted.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::compileIsJSArray): Deleted.
(JSC::DFG::SpeculativeJIT::compileIsArrayObject): Deleted.
(JSC::DFG::SpeculativeJIT::compileIsArrayConstructor): Deleted.
(JSC::DFG::SpeculativeJIT::compileCallObjectConstructor): Deleted.
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation): Deleted.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Deleted.
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile): Deleted.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::compileCallObjectConstructor): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::compileIsArrayObject): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::compileIsJSArray): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::compileIsArrayConstructor): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::isArray): Deleted.
- jit/JITOperations.h:
- jsc.cpp:
(GlobalObject::finishCreation):
(functionDataLogValue): Deleted.
- runtime/ArrayConstructor.cpp:
(JSC::ArrayConstructor::finishCreation):
(JSC::arrayConstructorPrivateFuncIsArrayConstructor):
- runtime/ArrayConstructor.h:
(JSC::isArrayConstructor): Deleted.
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
(JSC::arrayProtoFuncConcat):
(JSC::arrayProtoPrivateFuncIsJSArray): Deleted.
(JSC::moveElements): Deleted.
(JSC::arrayProtoPrivateFuncConcatMemcpy): Deleted.
(JSC::arrayProtoPrivateFuncAppendMemcpy): Deleted.
- runtime/ArrayPrototype.h:
- runtime/CommonIdentifiers.h:
- runtime/Intrinsic.h:
- runtime/JSArray.cpp:
(JSC::JSArray::fastConcatWith):
(JSC::JSArray::appendMemcpy): Deleted.
- runtime/JSArray.h:
(JSC::JSArray::fastConcatType):
(JSC::JSArray::createStructure):
(JSC::isJSArray):
- runtime/JSArrayInlines.h: Removed.
(JSC::JSArray::memCopyWithIndexingType): Deleted.
(JSC::JSArray::canFastCopy): Deleted.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSType.h:
- runtime/ObjectConstructor.h:
(JSC::constructObject): Deleted.
- tests/es6.yaml:
- tests/stress/array-concat-spread-object.js: Removed.
(arrayEq): Deleted.
- tests/stress/array-concat-spread-proxy-exception-check.js: Removed.
(arrayEq): Deleted.
- tests/stress/array-concat-spread-proxy.js: Removed.
(arrayEq): Deleted.
- tests/stress/array-concat-with-slow-indexingtypes.js: Removed.
(arrayEq): Deleted.
- tests/stress/array-species-config-array-constructor.js:
LayoutTests:
- js/Object-getOwnPropertyNames-expected.txt:
- js/dom/array-prototype-properties-expected.txt:
- js/script-tests/Object-getOwnPropertyNames.js:
- 1:49 PM Changeset in webkit [200148] by
-
- 2 edits in trunk/Source/WebKit2
Fix client certificate authentication with NSURLSession on iOS
https://bugs.webkit.org/show_bug.cgi?id=157094
<rdar://problem/25946859>
Patch by Alex Christensen <achristensen@webkit.org> on 2016-04-27
Reviewed by Darin Adler.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
We only want to create a non-persistent credential with the given user and password
and store the user and password in the CredentialStorage if there is a user and password.
We previously only skipped this if we were doing server trust evaluation, in which case
we will have a credential from serverTrustCredential which has no user or password.
When doing client certificate authentication on iOS, this completion handler is called with
a credential with session persistence and also no user or password, so we need to do the same thing.
The reason this was never hit on Mac was because the credential came from tryUseCertificateInfoForChallenge,
which always had persistence none.
- 1:37 PM Changeset in webkit [200147] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION(r200117): Crash in lowerDFGToB3::compileStringReplace()
https://bugs.webkit.org/show_bug.cgi?id=157099
Reviewed by Saam Barati.
Given that the DFGFixupPhase could mark the edge of child2 as StringUse,
we need to lower that edge appropriately.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileStringReplace):
- 1:11 PM Changeset in webkit [200146] by
-
- 4 edits in trunk/LayoutTests
Remove failure expectation for tests that now pass on ios-simulator.
Unreviewed test gardening.
I evaluated all of the unexpected passes from ios-simulator-wk2 and removed failure
expectations where appropriate. Some of the tests only pass on wk2, so some expectations
were moved to the ios-simulator-wk1 file.
- platform/ios-simulator-wk1/TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations:
- 12:45 PM Changeset in webkit [200145] by
-
- 1 edit6 adds in trunk/LayoutTests
Add layout tests for legacy HTTP headers in WebSockets
https://bugs.webkit.org/show_bug.cgi?id=157095
Patch by John Wilander <wilander@apple.com> on 2016-04-27
Reviewed by Alexey Proskuryakov.
- http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers-expected.txt: Added.
- http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers.html: Added.
- http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
Test for legacy response headers 'Sec-WebSocket-Location' and 'Sec-WebSocket-Origin'.
- http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers-expected.txt: Added.
- http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html: Added.
- http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
Test for legacy response headers 'WebSocket-Location' and 'WebSocket-Origin'.
- 12:40 PM Changeset in webkit [200144] by
-
- 6 edits1 delete in trunk
WebRTC: RTCIceCandidate don't need a custom bindings
https://bugs.webkit.org/show_bug.cgi?id=157074
Reviewed by Eric Carlson.
Source/WebCore:
Removed custom constructor and replaced custom attribute getters with
nullable types. Removed custom binding from builds.
Testing: Updated existing test.
- CMakeLists.txt:
- Modules/mediastream/RTCIceCandidate.idl:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSRTCIceCandidateCustom.cpp: Removed.
(WebCore::constructJSRTCIceCandidate): Deleted.
(WebCore::JSRTCIceCandidate::sdpMid): Deleted.
(WebCore::JSRTCIceCandidate::sdpMLineIndex): Deleted.
LayoutTests:
- fast/mediastream/RTCIceCandidate-expected.txt:
Updated with error messages from generated constructor binding.
- 12:39 PM Changeset in webkit [200143] by
-
- 3 edits2 copies1 add2 deletes in trunk/Source/WebKit2
[GTK][EFL] Move WK2 platform code to a common place
https://bugs.webkit.org/show_bug.cgi?id=157069
Reviewed by Carlos Garcia Campos.
Logging implementation can be shared between EFL and GTK, so move it to unix.
The GTK Module implementation doesn't depend on GTK anyhow so move it to glib.
- Platform/efl/LoggingEfl.cpp: Removed.
(WebKit::logLevelString): Deleted.
- Platform/glib/ModuleGlib.cpp: Renamed from Source/WebKit2/Platform/gtk/ModuleGtk.cpp.
(WebKit::Module::load):
(WebKit::Module::unload):
(WebKit::Module::platformFunctionPointer):
- Platform/gtk/LoggingGtk.cpp:
(WebKit::logLevelString): Deleted.
- Platform/gtk/ModuleGtk.cpp:
(WebKit::Module::load): Deleted.
(WebKit::Module::unload): Deleted.
(WebKit::Module::platformFunctionPointer): Deleted.
- Platform/unix/LoggingUnix.cpp: Renamed from Source/WebKit2/Platform/gtk/LoggingGtk.cpp.
(WebKit::logLevelString):
- PlatformEfl.cmake: Update.
- PlatformGTK.cmake: Update
- 12:30 PM Changeset in webkit [200142] by
-
- 2 edits in trunk/Source/WebKit2
Fix assertion when downloading with NSURLSession after r198955
https://bugs.webkit.org/show_bug.cgi?id=157051
Patch by Alex Christensen <achristensen@webkit.org> on 2016-04-27
Reviewed by Brady Eidson.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::continueDecidePendingDownloadDestination):
- 12:01 PM Changeset in webkit [200141] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, rolling out r199383.
Seems to have caused a 0.5% PLT regression on iOS
Reverted changeset:
"[iOS] do not exit AirPlay when the screen locks"
https://bugs.webkit.org/show_bug.cgi?id=156502
http://trac.webkit.org/changeset/199383
- 12:00 PM Changeset in webkit [200140] by
-
- 3 edits in trunk/Source/WebCore
Remove unnecessary HashMap from Font
https://bugs.webkit.org/show_bug.cgi?id=157090
Reviewed by Darin Adler.
There were only ever a maximum of 2 keys in the hashmap.
No new tests because there is no behavior change.
- platform/graphics/Font.h:
- platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::Font::getCFStringAttributes):
- 12:00 PM Changeset in webkit [200139] by
-
- 2 edits in trunk/Source/JavaScriptCore
Address feedback from https://bugs.webkit.org/show_bug.cgi?id=157048#c5.
https://bugs.webkit.org/show_bug.cgi?id=157096
Reviewed by Geoffrey Garen.
- Check for USE(APPLE_INTERNAL_SDK) instead of has_include(<mach-o/dyld_priv.h>).
- Rename webkitFirstSDKVersionWithInitConstructorSupport to firstSDKVersionWithInitConstructorSupport.
- API/JSWrapperMap.mm:
(supportsInitMethodConstructors):
- 11:59 AM Changeset in webkit [200138] by
-
- 3 edits in trunk/Source/WebCore
Rename DerivedFontData to DerivedFonts
https://bugs.webkit.org/show_bug.cgi?id=157092
Reviewed by Darin Adler.
This is a follow-up to r178510 where we named SimpleFontData to Font.
This patch didn't include renaming DerivedFontData to DerivedFonts.
No new tests because there is no behavior change.
- platform/graphics/Font.cpp:
(WebCore::Font::verticalRightOrientationFont):
(WebCore::Font::uprightOrientationFont):
(WebCore::Font::smallCapsFont):
(WebCore::Font::noSynthesizableFeaturesFont):
(WebCore::Font::emphasisMarkFont):
(WebCore::Font::brokenIdeographFont):
(WebCore::Font::nonSyntheticItalicFont):
(WebCore::Font::DerivedFonts::~DerivedFonts):
(WebCore::Font::DerivedFontData::~DerivedFontData): Deleted.
- platform/graphics/Font.h:
(WebCore::Font::DerivedFonts::DerivedFonts):
(WebCore::Font::DerivedFontData::DerivedFontData): Deleted.
- 11:57 AM Changeset in webkit [200137] by
-
- 4 edits in trunk/LayoutTests
media/video-fullscreen-restriction-removed.html is flaky on Mac
https://bugs.webkit.org/show_bug.cgi?id=156983
Reviewed by Darin Adler.
- media/video-fullscreen-restriction-removed-expected.txt:
- media/video-fullscreen-restriction-removed.html: Start the test on 'canplaythrough' instead of 'loadedmetadata' so playback can begin immediately.
- 11:36 AM Changeset in webkit [200136] by
-
- 3 edits in trunk/Source/JavaScriptCore
Restrict the availability of some JSC options to local debug builds only.
https://bugs.webkit.org/show_bug.cgi?id=157058
Reviewed by Geoffrey Garen.
- Each option will be given an availability flag.
- The functionOverrides and useDollarVM (along with its alias, enableDollarVM) will have "Restricted" availability.
- All other options will have “Normal” availability.
- Any options with "Restricted" availability will only be accessible if function allowRestrictedOptions() returns true.
- For now, allowRestrictedOptions() always returns false for release builds, and true for debug builds.
If an option is "Restricted" and restricted options are not allowed, the VM will
behave semantically as if that option does not exist at all:
- Option dumps will not show the option.
- Attempts to set the option will fail as if the option does not exist.
Behind the scene, the option does exist, and is set to its default value
(whatever that may be) once and only once on options initialization.
- runtime/Options.cpp:
(JSC::allowRestrictedOptions):
(JSC::parse):
(JSC::overrideOptionWithHeuristic):
(JSC::Options::initialize):
(JSC::Options::setOptionWithoutAlias):
(JSC::Options::dumpOption):
- runtime/Options.h:
(JSC::Option::type):
(JSC::Option::availability):
(JSC::Option::isOverridden):
- 11:21 AM Changeset in webkit [200135] by
-
- 1 edit1 add in trunk/LayoutTests
Add ios-simulator baseline for LayoutTest fast/text/hyphenate-avoid-orphaned-word.html
Unreviewed test gardening.
- platform/ios-simulator/fast/text/hyphenate-avoid-orphaned-word-expected.txt: Added.
- 11:03 AM Changeset in webkit [200134] by
-
- 2 edits in trunk/Source/JavaScriptCore
Enable separated heap by default on ios
https://bugs.webkit.org/show_bug.cgi?id=156720
<rdar://problem/25841790>
Unreviewed rollout - caused memory regression.
- runtime/Options.cpp:
(JSC::recomputeDependentOptions):
- 10:58 AM Changeset in webkit [200133] by
-
- 2 edits in trunk/Source/JavaScriptCore
Follow up for r200113 on 32bit
I forgot to do the 32bit counterpart of r200113.
The test fails on the bots.
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-27
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- 10:53 AM Changeset in webkit [200132] by
-
- 1 edit in trunk/Tools/Scripts/webkitpy/common/config/contributors.json
Add Caitlin Potter (:caitp) as a committer.
- 10:05 AM Changeset in webkit [200131] by
-
- 11 edits in trunk/Source/WebCore
[Web IDL] Clean up support for [Clamp] IDL extended attribute
https://bugs.webkit.org/show_bug.cgi?id=157060
Reviewed by Darin Adler.
Clean up support for [Clamp] IDL extended attribute:
- Move [Clamp] handling in the bindings generator from the parameter
conversion to JSValueToNative(). This has the benefit of
simplifying the parameter conversion code, adding support for [Clamp]
on non-readonly attributes, and improving consistency by handling
this in the same place as [EnforceRange].
- Add 'Clamp' to the IntegerConversionConfiguration enumeration in
JSDOMbindings.h and add support for it to the various toInt*() /
toUInt*() functions, similary to [EnforceRange]. Call these from
the generated bindings.
- bindings/js/JSDOMBinding.cpp:
(WebCore::toSmallerInt):
(WebCore::toSmallerUInt):
(WebCore::toInt32EnforceRange):
(WebCore::toInt32Clamp):
(WebCore::toUInt32Clamp):
(WebCore::toUInt32EnforceRange):
(WebCore::toInt64):
(WebCore::toUInt64):
(WebCore::toUInt8): Deleted.
(WebCore::toUInt16): Deleted.
- bindings/js/JSDOMBinding.h:
(WebCore::toInt32):
(WebCore::toUInt32):
- bindings/scripts/CodeGeneratorJS.pm:
(JSValueToNative):
(GenerateParametersCheck): Deleted.
- bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
(webkit_dom_test_obj_class_method_with_enforce_range):
(webkit_dom_test_obj_get_clamped_short_attr):
(webkit_dom_test_obj_set_clamped_short_attr):
(webkit_dom_test_obj_get_enforce_range_short_attr):
(webkit_dom_test_obj_set_enforce_range_short_attr):
- bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjClampedShortAttr):
(WebCore::jsTestObjEnforceRangeShortAttr):
(WebCore::setJSTestObjClampedShortAttr):
(WebCore::setJSTestObjEnforceRangeShortAttr):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange):
(WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): Deleted.
(WebCore::jsTestObjConstructorFunctionClassMethod2): Deleted.
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction): Deleted.
- bindings/scripts/test/ObjC/DOMTestObj.h:
- bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj clampedShortAttr]):
(-[DOMTestObj setClampedShortAttr:]):
(-[DOMTestObj enforceRangeShortAttr]):
(-[DOMTestObj setEnforceRangeShortAttr:]):
(-[DOMTestObj classMethodWithEnforceRange:objArgsLong:]):
- bindings/scripts/test/TestObj.idl:
- 9:48 AM Changeset in webkit [200130] by
-
- 10 edits in trunk/Source
CSP: Add app-specific workaround for Ecobee and Quora
https://bugs.webkit.org/show_bug.cgi?id=157005
<rdar://problem/25560776>
Reviewed by Brent Fulgham.
Source/WebCore:
- page/Settings.in: Add setting allowContentSecurityPolicySourceStarToMatchAnyProtocol (disabled by default).
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowContentSecurityPolicySourceStarToMatchAnyProtocol): Added.
- page/csp/ContentSecurityPolicy.h:
- page/csp/ContentSecurityPolicySourceList.cpp:
(WebCore::ContentSecurityPolicySourceList::isProtocolAllowedByStar): Modified to return true
if ContentSecurityPolicy::allowContentSecurityPolicySourceStarToMatchAnyProtocol() evaluates to true.
- platform/RuntimeApplicationChecks.h:
- platform/RuntimeApplicationChecks.mm:
(WebCore::IOSApplication::isEcobee): Added.
(WebCore::IOSApplication::isQuora): Added.
Source/WebKit/mac:
- Misc/WebKitVersionChecks.h:
- WebView/WebView.mm:
(shouldAllowContentSecurityPolicySourceStarToMatchAnyProtocol): Added.
(-[WebView _preferencesChanged:]): Enable setting allowContentSecurityPolicySourceStarToMatchAnyProtocol
if applicable.
- 9:47 AM Changeset in webkit [200129] by
-
- 15 edits1 delete in trunk/Source
REGRESSION(r200094): [FreeType] Vertical text is broken after r200094
https://bugs.webkit.org/show_bug.cgi?id=157066
Reviewed by Martin Robinson.
Source/WebCore:
The problem is that Freetype implementation needs to call buildScaledFont() when orientation, SyntheticOblique
or size change, but the new static clone methods don't do that. I think it's the time to stop using our own
header for FontPlatformData for the FreeType implementation to make cross-platform changes easier and prevent
regressions like this in the future.
- CMakeLists.txt: Compile FontPlatformData.cpp for all ports.
- PlatformMac.cmake: Remove FontPlatformData.cpp.
- PlatformWin.cmake: Ditto.
- platform/graphics/FontPlatformData.cpp: We need our own clone methods in the FreeType backend.
- platform/graphics/FontPlatformData.h: Move FreeType specific methods and members from the old header file.
- platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::CairoFtFaceLocker::CairoFtFaceLocker): Move CairoFtFaceLocker implementation here from
HarfBuzzFaceCairo.cpp to make it available to other classes, and make it handle the case of
cairo_ft_scaled_font_lock_face() returning nullptr.
(WebCore::CairoFtFaceLocker::~CairoFtFaceLocker):
- platform/graphics/cairo/CairoUtilities.h:
(WebCore::CairoFtFaceLocker::ftFace):
- platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::findBestFontGivenFallbacks): Move the fallbacks implementation to FontPlatformData where it belongs
and here simply use FontPlatformData::fallbacks().
- platform/graphics/freetype/FontPlatformData.h: Removed.
- platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData): Remove members already initialized in the header.
(WebCore::FontPlatformData::operator=): Add missing members to be copied.
(WebCore::FontPlatformData::~FontPlatformData): Do not free m_scaledFont manually since we are now using a smart pointer.
(WebCore::FontPlatformData::cloneWithOrientation): Call buildScaledFont() like setOrientation() did.
(WebCore::FontPlatformData::cloneWithSyntheticOblique): Call buildScaledFont() like setSyntheticOblique() did.
(WebCore::FontPlatformData::cloneWithSize): Call buildScaledFont().
(WebCore::FontPlatformData::fallbacks): Lazily initialize fallbacks if needed and return it.
(WebCore::FontPlatformData::platformIsEqual): Only compare FreeType specific members.
(WebCore::FontPlatformData::buildScaledFont): Use RefPtr for m_scaledFont.
(WebCore::FontPlatformData::hasCompatibleCharmap): Use CairoFtFaceLocker.
(WebCore::FontPlatformData::openTypeTable): Update to return RefPtr instead of PassRefPtr and use CairoFtFaceLocker.
(WebCore::FontPlatformData::operator==): Deleted.
(WebCore::FontPlatformData::setOrientation): Deleted.
(WebCore::FontPlatformData::setSyntheticOblique): Deleted.
- platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
(WebCore::GlyphPage::fill): Use CairoFtFaceLocker.
- platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::Font::platformInit): Ditto.
(WebCore::Font::canRenderCombiningCharacterSequence): Ditto.
- platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
(WebCore::harfBuzzCairoGetTable): Ditto.
(WebCore::CairoFtFaceLocker::CairoFtFaceLocker): Deleted.
(WebCore::CairoFtFaceLocker::lock): Deleted.
(WebCore::CairoFtFaceLocker::~CairoFtFaceLocker): Deleted.
Source/WebKit2:
Add Source/WebCore/platform/graphics/freetype to the list of include dirs, because now FontPlatformData.h
includes FcUniquePtr.h.
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- 8:58 AM Changeset in webkit [200128] by
-
- 5 edits in trunk/Source
Versioning.
- 8:57 AM Changeset in webkit [200127] by
-
- 1 copy in tags/Safari-602.1.30
New tag.
- 6:14 AM Changeset in webkit [200126] by
-
- 5 edits in trunk
[EFL][GTK] Volume slider only changes volume when thumb is released, not while dragging
https://bugs.webkit.org/show_bug.cgi?id=156970
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
Volume slider have to change the volume while dragging the thumb.
Test: media/video-volume-slider-drag.html
- Modules/mediacontrols/mediaControlsBase.js:
(Controller.prototype.createControls): Use the 'input' event instead of the 'change' to
check the changed value correctly.
(Controller.prototype.handleMaxButtonClicked):
(Controller.prototype.handleVolumeSliderInput): Renamed from handleVolumeSliderChange.
(Controller.prototype.handleVolumeSliderChange): Deleted.
LayoutTests:
Removed the passed test.
- platform/efl/TestExpectations:
- platform/gtk/TestExpectations:
- 4:33 AM WebKitGTK/2.12.x edited by
- (diff)
- 4:12 AM Changeset in webkit [200125] by
-
- 2 edits in trunk/Source/JavaScriptCore
[GTK] Fails to build randomly when generating LLIntDesiredOffsets.h
https://bugs.webkit.org/show_bug.cgi?id=155427
Reviewed by Carlos Garcia Campos.
If the build directory contains the -I string, the script that
generates LLIntDesiredOffsets.h will confuse it with an option to
declare an include directory.
In order to avoid that we should only use the arguments that start
with -I when extracting the list of include directories, instead
of using the ones that simply contain that string.
- offlineasm/parser.rb:
- 3:02 AM Changeset in webkit [200124] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Unreviewed. Fix compatibility issue with 2.12.1 regarding local storage access from file URLs.
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canAccessStorage):
- 2:37 AM Changeset in webkit [200123] by
-
- 2 edits in trunk/Source/WebCore
[Fetch API] Remove FetchResponse::redirect overload
https://bugs.webkit.org/show_bug.cgi?id=157034
Reviewed by Darin Adler.
No change of behavior.
- Modules/fetch/FetchResponse.h:
- 1:35 AM Changeset in webkit [200122] by
-
- 2 edits in trunk/Source/WebCore
[Mac][cmake] Unreviewed speculative buildfix after r200116, just for fun.
- PlatformMac.cmake:
- 12:12 AM Changeset in webkit [200121] by
-
- 9 edits10 adds in trunk/Source
JSC should have an option to allow global const redeclarations
https://bugs.webkit.org/show_bug.cgi?id=157006
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
This patch implements an option that dictates whether
const redeclarations at the program level will throw.
This option defaults to true but allows users of JSC
to set it to false. This option is per VM. This is needed
for backwards compatibility with our old const implementation.
- jsc.cpp:
(GlobalObject::finishCreation):
(functionShadowChickenFunctionsOnStack):
(functionSetGlobalConstRedeclarationShouldNotThrow):
(functionReadline):
- runtime/Executable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):
- runtime/JSGlobalLexicalEnvironment.cpp:
(JSC::JSGlobalLexicalEnvironment::put):
(JSC::JSGlobalLexicalEnvironment::isConstVariable):
- runtime/JSGlobalLexicalEnvironment.h:
(JSC::JSGlobalLexicalEnvironment::isEmpty):
- runtime/VM.h:
(JSC::VM::setGlobalConstRedeclarationShouldThrow):
(JSC::VM::globalConstRedeclarationShouldThrow):
- tests/stress/global-const-redeclaration-setting: Added.
- tests/stress/global-const-redeclaration-setting-2.js: Added.
(assert):
- tests/stress/global-const-redeclaration-setting-3.js: Added.
(assert):
(catch):
- tests/stress/global-const-redeclaration-setting-4.js: Added.
(assert):
(catch):
- tests/stress/global-const-redeclaration-setting-5.js: Added.
(assert):
(catch):
- tests/stress/global-const-redeclaration-setting.js: Added.
(assert):
- tests/stress/global-const-redeclaration-setting/first.js: Added.
- tests/stress/global-const-redeclaration-setting/let.js: Added.
- tests/stress/global-const-redeclaration-setting/second.js: Added.
- tests/stress/global-const-redeclaration-setting/strict.js: Added.
Source/WebCore:
This patch makes the JS VM not throw global const redeclaration
errors when the application is iBooks.
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::commonVM):
- page/Settings.h:
(WebCore::Settings::shouldUseHighResolutionTimers):
(WebCore::Settings::globalConstRedeclarationShouldThrow):
(WebCore::Settings::backgroundShouldExtendBeyondPage):
Apr 26, 2016:
- 8:21 PM Changeset in webkit [200120] by
-
- 2 edits in trunk/Source/WebCore
Support legacy HTTP headers in WebSockets
https://bugs.webkit.org/show_bug.cgi?id=157057
Patch by John Wilander <wilander@apple.com> on 2016-04-26
Reviewed by Brent Fulgham.
No new tests since these headers are not officially supported and should not be used.
- platform/network/HTTPHeaderNames.in:
Added four legacy headers needed to support older WebSockets servers.
Two of them are in the draft from August 2010: https://whatwg.org/specs/web-socket-protocol/
- 7:14 PM Changeset in webkit [200119] by
-
- 4 edits in trunk/Source
Uncaught Exception: SecurityError: DOM Exception 18: An attempt was made to break through the security policy of the user agent.
https://bugs.webkit.org/show_bug.cgi?id=156991
<rdar://problem/25913475>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-26
Reviewed by Timothy Hatcher.
Source/WebKit/mac:
- WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController init]):
Apply the same universal file access to WebKit1 Web Inspector views that
we apply to WebKit2 views. Explicitly always allow access to storage
for Web Inspector content just in case as we already allow universal
file access.
Source/WebKit2:
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Explicitly always allow access to storage for Web Inspector content just
in case, as we already allow universal file access.
- 7:02 PM Changeset in webkit [200118] by
-
- 12 edits in trunk
RTL native <select> buttons should have arrows on left
https://bugs.webkit.org/show_bug.cgi?id=157055
<rdar://problem/25894428>
Source/WebCore:
Reviewed by Myles Maxfield.
If the text direction is right-to-left, the select popup
buttons should have the arrows on the left side.
Test: fast/forms/select-writing-direction-natural.html
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::popupButtonPadding): Takes a direction parameter.
(WebCore::RenderThemeMac::popupInternalPaddingBox): Checks the direction for the padding.
(WebCore::RenderThemeMac::setPopupButtonCellState): Tell the button to put the
arrows on the correct side.
(WebCore::RenderThemeMac::popupButton): Deleted an unnecessary comment.
LayoutTests:
Reviewed by Myles Maxfield.
- fast/forms/select-writing-direction-natural.html: Removed some incorrect
text in the test.
- platform/ios-simulator/fast/forms/select-writing-direction-natural-expected.txt:
- platform/mac/fast/forms/select-writing-direction-natural-expected.png:
- platform/mac/fast/forms/select-writing-direction-natural-expected.txt:
- platform/mac/fast/text/international/bidi-menulist-expected.png:
- platform/mac/fast/text/international/bidi-menulist-expected.txt:
- platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png:
- platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
- 6:28 PM Changeset in webkit [200117] by
-
- 36 edits2 adds in trunk
[ES] Implement RegExp.prototype.@@replace and use it for String.prototype.replace
https://bugs.webkit.org/show_bug.cgi?id=156562
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Added builtins for String.prototype.replace as well as RegExp.prototype[Symbol.replace].
The String.prototype.replace also has an intrinsic, StringPrototypeReplaceIntrinsic.
This original intrinsic was copied to make StringPrototypeReplaceRegExpIntrinsic.
The difference between the two intrinsics is that StringPrototypeReplaceIntrinsic has
the same checks found in the new builtin hasObservableSideEffectsForStringReplace.
We implement these primordial checks for StringPrototypeReplaceIntrinsic in two places.
First, we do a trial check during ByteCode parsing time to see if the current
RegExp.prototype properties have changed from the original. If they have, we don't
inline the intrinsic. Later, in the fixup phase, we add nodes to the IR to emit the
checks at runtime.
The new intrinsic StringPrototypeReplaceRegExpIntrinsic is only available via the
private @replaceUsingRegExp, which is called in the String.prototype.replace builtin.
It is only called after hasObservableSideEffectsForStringReplace has been called
Both of these intrinsics are needed, because the JS code containing String.replace() calls
runs initially in the LLint and then the baseline JIT. Even after the function tiers up
to the DFG JIT, the inlining budget may not allow StringPrototypeReplaceIntrinsic to be inlined.
Having StringPrototypeReplaceRegExpIntrinsic allows for the String.prototype.replace builtin to
get reasonable performance before the other intrinsic is inlined or when it can't.
- builtins/RegExpPrototype.js:
(match):
(getSubstitution):
(replace):
(search):
(split):
- builtins/StringPrototype.js:
(repeat):
(hasObservableSideEffectsForStringReplace):
(intrinsic.StringPrototypeReplaceIntrinsic.replace):
(localeCompare):
New builtins for String.prototype.replace and RegExp.prototype[Symbol.replace].
- bytecode/BytecodeIntrinsicRegistry.cpp:
- bytecode/BytecodeIntrinsicRegistry.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupGetAndSetLocalsInBlock):
(JSC::DFG::FixupPhase::tryAddStringReplacePrimordialChecks):
(JSC::DFG::FixupPhase::checkArray):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::getRegExpPrototypeProperty):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::getRegExpPrototypeProperty):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
- runtime/CommonIdentifiers.h:
- runtime/Intrinsic.h:
- runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::replace):
(JSC::stringProtoFuncReplaceUsingRegExp):
(JSC::stringProtoFuncReplaceUsingStringSearch):
(JSC::operationStringProtoFuncReplaceGeneric):
(JSC::stringProtoFuncReplace): Deleted.
Added StringReplaceRegExp intrinsic. Added checks for RegExp profiled arguments to StringReplace
that mirror what is in hasObservableSideEffectsForStringReplace(). If we aren't able to add the
checks, we OSR exit. Add Graph::getPrimordialRegExpPrototypeProperty() as a helper to get the
primordial values from RegExp.prototype.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Added @regExpPrototypeSymbolReplace and
@hasObservableSideEffectsForStringReplace here instead og String.prototype so that we reduce the
number of objects we have to traverse.
- tests/es6.yaml: Changed expectations for the various replace related tests to passing.
- tests/stress/regexp-replace-proxy.js:
(assert):
(let.getProxyNullExec.new.Proxy):
(let.getSetProxyNullExec.new.Proxy):
(get resetTracking):
(let.getSetProxyMatches_comma.new.Proxy):
(set get getSetProxyNullExec):
(let.getSetProxyReplace_phoneNumber.new.Proxy):
(set get getSetProxyMatches_comma):
(let.getSetProxyReplaceUnicode_digit_nonGreedy.new.Proxy):
(set get resetTracking):
- tests/stress/string-replace-proxy.js:
(assert):
(let.getSetProxyReplace.new.Proxy.replace):
New tests.
LayoutTests:
Updated tests. Needed to update js/regress-141098.js test, because builtins are
only compilied when called. This test checks behavior at or near running out of
stack space. It turns out that String.replace is used by the -pre.js test harness
and I was running out of stack space when compiling the String.prototype.replace
builting. Therefore, I added a call to testPassed() to precompile String.replace.
- js/Object-getOwnPropertyNames-expected.txt:
- js/regress-141098-expected.txt:
- js/script-tests/Object-getOwnPropertyNames.js:
- js/script-tests/regress-141098.js:
(probeAndRecurse):
- fast/profiler/nested-start-and-stop-profiler-expected.txt:
- js/Object-getOwnPropertyNames-expected.txt:
- js/dom/string-prototype-properties-expected.txt:
- js/regress-141098-expected.txt:
- js/script-tests/Object-getOwnPropertyNames.js:
- js/script-tests/regress-141098.js:
(probeAndRecurse):
- sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T3-expected.txt:
- 6:25 PM Changeset in webkit [200116] by
-
- 102 edits1 add1 delete in trunk
[WK2] [OS X] Create API for switching RTL scrollbar policy
https://bugs.webkit.org/show_bug.cgi?id=156948
<rdar://problem/25707757>
Reviewed by Darin Adler.
Source/WebCore:
There are two schools of thought for where to put scrollbars in RTL environments.
The first is that we should obey the content's "dir" attribute, specified on each
element. The second is that we should be consistent with the platform (AppKit's)
behavior.
There are some situations where the placement should be done according to the
content. For example, this policy would be used in web browsers.
However, there are also places where web content is designed to fit seamlessly
amongst native content. In this situation, the placement of the scrollbars should
be done according to the view.
Because WebKit doesn't know which of these situations it is operating within, this
patch adds a new API property, userInterfaceDirectionPolicy, to
WKWebViewConfigurationPolicy. This allows clients to instruct us which policy to
abide by. It is plumbed to the web process inside the WebPreferencesStore and is
ultimately held inside the Page's Settings object.
This Setting is consulted by RenderLayerModelObject, which serves as a good
centralized place for this policy implementation. This is the class which decides
if we should be consulting its RenderStyle or the platform itself when we decide
where to put the scrollbars.
Putting this decision inside the renderer is important because ScrollableArea
often needs to know if scrollbars should be put on the left, but ScrollableArea
doesn't know anything about RenderStyles. Therefore, the renderer must be the
intermediary between ScrollableArea and the RenderStyle. (ScrollableArea also
doesn't directly know anything about renderers either; however, each of the
subclasses knows about an appropriate renderer.) Therefore, ScrollableArea gets
a new virtual method which is implemented by the RenderLayerModelObject.
Tests: fast/scrolling/rtl-scrollbars*.html
- WebCore.xcodeproj/project.pbxproj: ScrollableAreaMac.mm is no longer necessary.
- page/FrameView.cpp:
(WebCore::FrameView::shouldPlaceBlockDirectionScrollbarOnLeft): Overridden
ScrollableArea function.
- page/FrameView.h:
- page/Settings.h:
- page/Settings.in:
- platform/ScrollView.cpp: Adding two new settings: One to know if we should
consult with the RenderStyle or the platform, and the other is whether or not
the platform considers itself to be RTL.
(WebCore::ScrollView::documentScrollPositionRelativeToViewOrigin): Update to
use new mechanism.
(WebCore::ScrollView::updateScrollbars): Ditto.
(WebCore::ScrollView::scrollCornerRect): Ditto.
(WebCore::ScrollView::locationOfContents): Ditto.
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::verticalScrollbarIsOnLeft): Deleted. This was the old
mechanism.
(WebCore::ScrollableArea::systemLanguageIsRTL): Deleted. Ditto.
- platform/ScrollableArea.h:
- platform/mac/ScrollableAreaMac.mm: Removed.
(WebCore::ScrollableArea::verticalScrollbarIsOnLeft): Deleted.
(WebCore::ScrollableArea::systemLanguageIsRTL): Deleted.
- platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::didCreateScrollerImp): Update to use new
mechanism.
- platform/text/WritingMode.h: These enums should match what's in WebKit2.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::logicalLeftOffsetForContent): Update to use new mechanism.
(WebCore::RenderBlock::logicalRightOffsetForContent): Ditto.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::determineLogicalLeftPositionForChild): Ditto.
- rendering/RenderBox.cpp: Ditto.
(WebCore::RenderBox::contentBoxRect):
(WebCore::RenderBox::overflowClipRect):
(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
- rendering/RenderBoxModelObject.cpp: Ditto.
(WebCore::RenderBoxModelObject::constrainingRectForStickyPosition):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::resize): Ditto.
(WebCore::cornerStart): Migrate to use references.
(WebCore::cornerRect): Ditto.
(WebCore::RenderLayer::scrollCornerRect): Ditto.
(WebCore::resizerCornerRect): Ditto.
(WebCore::RenderLayer::scrollCornerAndResizerRect): Ditto.
(WebCore::RenderLayer::verticalScrollbarStart): Update to use new mechanism.
(WebCore::RenderLayer::horizontalScrollbarStart): Ditto.
(WebCore::RenderLayer::offsetFromResizeCorner): Ditto.
(WebCore::RenderLayer::positionOverflowControls): Migrate to use references.
(WebCore::RenderLayer::computeScrollDimensions): Ditto.
(WebCore::RenderLayer::overflowControlsIntersectRect): Ditto.
(WebCore::RenderLayer::drawPlatformResizerImage): Update to use new mechanism.
(WebCore::RenderLayer::paintResizer): Migrate to use references.
(WebCore::RenderLayer::isPointInResizeControl): Ditto.
(WebCore::RenderLayer::hitTestOverflowControls): Ditto.
(WebCore::RenderLayer::hitTestResizerInFragments): Ditto.
- rendering/RenderLayer.h: ScrollableArea override
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::positionForClipLayer): Update to use new
mechanism.
- rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::shouldPlaceBlockDirectionScrollbarOnLeft):
This is the meat of this patch. This is where we decide if we should be
interrogating the RenderStyle or the underlying platform.
- rendering/RenderLayerModelObject.h:
- rendering/RenderListBox.cpp: Update to use new mechanism.
(WebCore::RenderListBox::itemBoundingBoxRect):
(WebCore::RenderListBox::paintScrollbar):
(WebCore::RenderListBox::isPointInOverflowControl):
(WebCore::RenderListBox::listIndexAtOffset):
(WebCore::RenderListBox::controlClipRect):
(WebCore::RenderListBox::invalidateScrollbarRect):
(WebCore::RenderListBox::convertFromScrollbarToContainingView):
(WebCore::RenderListBox::convertFromContainingViewToScrollbar):
- rendering/RenderListBox.h:
- rendering/RenderView.cpp: Ditto.
(WebCore::RenderView::repaintViewRectangle):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::shouldPlaceBlockDirectionScrollbarOnLeft): This
function is now much dumber. It just inspects its own style.
- testing/InternalSettings.cpp: Allow mocking.
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::verticalScrollbarLocationPolicy):
(WebCore::InternalSettings::setVerticalScrollbarLocationPolicy):
(WebCore::InternalSettings::systemLayoutDirection):
(WebCore::InternalSettings::setSystemLayoutDirection):
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
Source/WebKit2:
Add the new API.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- UIProcess/API/Cocoa/WKWebViewConfiguration.h:
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration encodeWithCoder:]):
(-[WKWebViewConfiguration initWithCoder:]):
(-[WKWebViewConfiguration copyWithZone:]):
- UIProcess/WebPageProxy.cpp:
- WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
LayoutTests:
Update tests to use new RTL scrollbar mechanism.
- fast/scrolling/rtl-scrollbars-animation-property.html:
- fast/scrolling/rtl-scrollbars-elementFromPoint-static.html:
- fast/scrolling/rtl-scrollbars-elementFromPoint.html:
- fast/scrolling/rtl-scrollbars-expected.html:
- fast/scrolling/rtl-scrollbars-iframe-offset-expected.html:
- fast/scrolling/rtl-scrollbars-iframe-offset.html:
- fast/scrolling/rtl-scrollbars-iframe-position-absolute.html:
- fast/scrolling/rtl-scrollbars-iframe-scrolled-expected.html:
- fast/scrolling/rtl-scrollbars-iframe-scrolled.html:
- fast/scrolling/rtl-scrollbars-iframe.html:
- fast/scrolling/rtl-scrollbars-listbox-expected.html:
- fast/scrolling/rtl-scrollbars-listbox-scroll-expected.html:
- fast/scrolling/rtl-scrollbars-listbox-scroll.html:
- fast/scrolling/rtl-scrollbars-listbox-select-left-expected.html:
- fast/scrolling/rtl-scrollbars-listbox-select-left.html:
- fast/scrolling/rtl-scrollbars-listbox-select-right-expected.html:
- fast/scrolling/rtl-scrollbars-listbox-select-right.html:
- fast/scrolling/rtl-scrollbars-listbox-simple-expected-mismatch.html:
- fast/scrolling/rtl-scrollbars-listbox-simple.html:
- fast/scrolling/rtl-scrollbars-listbox.html:
- fast/scrolling/rtl-scrollbars-overflow-contents-expected.html:
- fast/scrolling/rtl-scrollbars-overflow-contents.html:
- fast/scrolling/rtl-scrollbars-overflow-dir-rtl-expected.html:
- fast/scrolling/rtl-scrollbars-overflow-dir-rtl.html:
- fast/scrolling/rtl-scrollbars-overflow-elementFromPoint.html:
- fast/scrolling/rtl-scrollbars-overflow-expected.html:
- fast/scrolling/rtl-scrollbars-overflow-padding-expected.html:
- fast/scrolling/rtl-scrollbars-overflow-padding.html:
- fast/scrolling/rtl-scrollbars-overflow-position-absolute-expected.html:
- fast/scrolling/rtl-scrollbars-overflow-position-absolute.html:
- fast/scrolling/rtl-scrollbars-overflow-simple-expected-mismatch.html:
- fast/scrolling/rtl-scrollbars-overflow-simple.html:
- fast/scrolling/rtl-scrollbars-overflow-text-selection-scrolled-expected.html:
- fast/scrolling/rtl-scrollbars-overflow-text-selection-scrolled.html:
- fast/scrolling/rtl-scrollbars-overflow.html:
- fast/scrolling/rtl-scrollbars-overlay-no-push-contents-expected.html:
- fast/scrolling/rtl-scrollbars-overlay-no-push-contents.html:
- fast/scrolling/rtl-scrollbars-position-absolute-expected.html:
- fast/scrolling/rtl-scrollbars-position-absolute.html:
- fast/scrolling/rtl-scrollbars-position-fixed-expected.html:
- fast/scrolling/rtl-scrollbars-position-fixed.html:
- fast/scrolling/rtl-scrollbars-positioning-expected.html:
- fast/scrolling/rtl-scrollbars-positioning.html:
- fast/scrolling/rtl-scrollbars-simple-expected-mismatch.html:
- fast/scrolling/rtl-scrollbars-simple.html:
- fast/scrolling/rtl-scrollbars-sticky-document-2-expected.html:
- fast/scrolling/rtl-scrollbars-sticky-document-2.html:
- fast/scrolling/rtl-scrollbars-sticky-document-expected.html:
- fast/scrolling/rtl-scrollbars-sticky-document.html:
- fast/scrolling/rtl-scrollbars-sticky-iframe-2-expected.html:
- fast/scrolling/rtl-scrollbars-sticky-iframe-2.html:
- fast/scrolling/rtl-scrollbars-sticky-iframe-expected.html:
- fast/scrolling/rtl-scrollbars-sticky-iframe.html:
- fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-2-expected.html:
- fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-2.html:
- fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-expected.html:
- fast/scrolling/rtl-scrollbars-sticky-overflow-scroll.html:
- fast/scrolling/rtl-scrollbars-text-selection-expected.html:
- fast/scrolling/rtl-scrollbars-text-selection-scrolled-expected.html:
- fast/scrolling/rtl-scrollbars-text-selection-scrolled.html:
- fast/scrolling/rtl-scrollbars-text-selection.html:
- fast/scrolling/rtl-scrollbars.html:
- platform/mac/fast/scrolling/rtl-scrollbars-animation-property-expected.png: Added.
- 5:47 PM Changeset in webkit [200115] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: speculative build fix.
Not reviewed.
- API/JSWrapperMap.mm:
- 5:30 PM Changeset in webkit [200114] by
-
- 2 edits in trunk/Source/JavaScriptCore
Update the compatibility version check for the ObjC API's InitConstructorSupport to use dyld_get_program_sdk_version().
https://bugs.webkit.org/show_bug.cgi?id=157048
Reviewed by Geoffrey Garen.
- API/JSWrapperMap.mm:
(supportsInitMethodConstructors):
(getJSExportProtocol):
- 4:26 PM Changeset in webkit [200113] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
[JSC] GetByVal on Undecided use its children before its OSR Exit
https://bugs.webkit.org/show_bug.cgi?id=157046
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-26
Reviewed by Mark Lam.
Very silly bug: GetByVal on Undecided uses its children before
the speculationCheck(). If we fail the speculation, we have already
lost how to recover the values.
The existing tests did not catch this because we tier up to B3
before such Exits happen. B3 has explicit liveness and did not suffer
from this bug.
The new test has a smaller warmup to exercise the OSR Exit in DFG
instead of FTL.
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- tests/stress/get-by-val-on-undecided-out-of-bounds.js: Added.
(string_appeared_here.opaqueGetByValKnownArray):
- 4:09 PM Changeset in webkit [200112] by
-
- 2 edits in trunk/Tools
Unreviewed: add myself to the committers list.
- Scripts/webkitpy/common/config/contributors.json:
- 4:03 PM Changeset in webkit [200111] by
-
- 32 edits50 adds in trunk/LayoutTests/imported/w3c
Update tests in web-platform-tests/html/semantics/scripting-1/
https://bugs.webkit.org/show_bug.cgi?id=157026
Reviewed by Darin Adler.
Reimported tests under web-platform-tests/html/semantics/scripting-1/ as of d5a4c5bdf8a1837b4fcf50bbd2efd4150ddafa99.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_001-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_001.htm: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_002-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_002.htm: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_003-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_003.htm: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_004-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_004.htm: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_005-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_005.htm: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_006-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_006.htm: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_007-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_007.htm: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_008-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_008.htm: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_009-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_009.htm: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_010-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_010.htm: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_011-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/async_011.htm: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/external-script-utf8.js: Added.
(window.getSomeString):
- web-platform-tests/html/semantics/scripting-1/the-script-element/external-script-windows1250.js: Added.
(window.getSomeString):
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/alpha: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/alpha/base-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/alpha/base.html: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/alpha/test.js: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/alpha/w3c-import.log: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/beta: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/beta/test.js: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/beta/w3c-import.log: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/empty-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/empty-with-base-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/empty-with-base.html: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/empty.html: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/failure-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/failure.html: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/unreachable.js: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src/w3c-import.log: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-01-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-01.html: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-02-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-02.html: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed-2.py: Added.
(main):
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed.html: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed.py: Added.
(main):
- web-platform-tests/html/semantics/scripting-1/the-script-element/serve-with-content-type.py: Added.
(main):
- web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
- web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/template-child-nodes.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/w3c-import.log:
- web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-serializing-xhtml-documents/outerhtml.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-serializing-xhtml-documents/w3c-import.log:
- web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/w3c-import.log:
- web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/template-clone-children.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/w3c-import.log:
- web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-001.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-002.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/w3c-import.log:
- web-platform-tests/html/semantics/scripting-1/the-template-element/innerhtml-on-templates/innerhtml.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/innerhtml-on-templates/w3c-import.log:
- web-platform-tests/html/semantics/scripting-1/the-template-element/resources/w3c-import.log:
- web-platform-tests/html/semantics/scripting-1/the-template-element/serializing-html-templates/outerhtml.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/serializing-html-templates/w3c-import.log:
- web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/content-attribute.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/node-document-changes.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-content-node-document.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-content.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-body.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-head.html:
- web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/w3c-import.log:
- 3:53 PM Changeset in webkit [200110] by
-
- 8 edits in trunk/Source/WebCore
[Web IDL] Specify default values for optional parameters of type 'unsigned long'
https://bugs.webkit.org/show_bug.cgi?id=157043
Reviewed by Alex Christensen.
Specify default values for optional parameters of type 'unsigned long' and let
the bindings generator use WTF::Optional<> for the parameters that do not have
such default value.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createScriptProcessor): Deleted.
(WebCore::AudioContext::createChannelSplitter): Deleted.
(WebCore::AudioContext::createChannelMerger): Deleted.
- Modules/webaudio/AudioContext.h:
- Modules/webaudio/AudioContext.idl:
- bindings/scripts/CodeGeneratorJS.pm:
(CanUseWTFOptionalForParameter): Deleted.
- css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::addRule):
- css/CSSStyleSheet.h:
- inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::addRule):
- 3:16 PM Changeset in webkit [200109] by
-
- 2 edits in trunk/Tools
Fix text in log files autogenerated by import-w3c-tests
https://bugs.webkit.org/show_bug.cgi?id=157021
Unreviewed. Fixing the second typo.
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.write_import_log):
- 3:07 PM Changeset in webkit [200108] by
-
- 9 edits2 adds in trunk
ASSERTION FAILED: m_templateInsertionModes.isEmpty() in WebCore::HTMLTreeBuilder::finished
https://bugs.webkit.org/show_bug.cgi?id=143519
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaselined the tests.
- web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset-expected.txt:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/end-tag-frameset-expected.txt:
Source/WebCore:
The assertion failure was caused by our parser inconsistently following the spec. Fixed it by making our HTML parser
match the latest HTML5 specification. See inline comments below.
Tests: fast/dom/HTMLTemplateElement/parsing-template-with-frameset.html
html5lib/generated/run-template-data.html
html5lib/generated/run-template-write.html
imported/w3c/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant.html
imported/w3c/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html
imported/w3c/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/end-tag-frameset.html
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody): When parsing a template element for 'in body' insertion mode,
we process the token using the rules for 'in head' insertion mode, which sets the frameset-ok flag to "not ok".
In addition, 'in template' insertion mode should not special case a start tag whose tag name is "frame". Instead,
fallback to using 'in body' insertion mode.
https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody
(WebCore::HTMLTreeBuilder::processStartTag): 'in frameset' insertion mode should not special case a start tag whose
tag name is "template": https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inframeset
(WebCore::HTMLTreeBuilder::processEndTag): Ditto for an end tag whose name is "template".
(WebCore::HTMLTreeBuilder::processStartTagForInHead): When parsing a template element in 'in head' inserting mode,
we set the frameset-ok flag to "not ok": https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead
LayoutTests:
Rebaselined the html5lib tests (now passes all the test cases!) and added a regression test for an assertion.
- fast/dom/HTMLTemplateElement/parsing-template-with-frameset-expected.txt: Added.
- fast/dom/HTMLTemplateElement/parsing-template-with-frameset.html: Added.
- html5lib/generated/run-template-data-expected.txt:
- html5lib/generated/run-template-write-expected.txt:
- 2:47 PM Changeset in webkit [200107] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
[WinCairo][ANGLE] Display object is not created.
https://bugs.webkit.org/show_bug.cgi?id=157042
Reviewed by Alex Christensen.
The CreateDisplayFromAttribs function will not create a DisplayD3D object when the requested
type is EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE, because ANGLE_ENABLE_OPENGL is not defined.
We should be able to create a DisplayD3D object without defining ANGLE_ENABLE_OPENGL.
- src/libANGLE/Display.cpp:
- 1:09 PM Changeset in webkit [200106] by
-
- 8 edits in trunk/Source
Check to make sure shouldRequestCandidates() before requesting candidates
https://bugs.webkit.org/show_bug.cgi?id=157038
-and corresponding-
rdar://problem/25910418
Reviewed by Tim Horton.
This patch limits requesting and showing candidates to cases where
shouldRequestCandidates() is true. This patch also caches the sequence number
returned by [NSSpellChecker requestCandidatesForSelectedRange:] to make sure
it is equal to the sequence number sent to the callback handler so that we do
not show candidates for old requests.
Source/WebKit/mac:
- WebCoreSupport/WebEditorClient.h:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCandidatesForSelection):
(WebEditorClient::handleRequestedCandidates):
- WebView/WebView.mm:
(-[WebView showCandidates:forString:inRect:forSelectedRange:view:completionHandler:]):
(-[WebView shouldRequestCandidates]):
- WebView/WebViewInternal.h:
Source/WebKit2:
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::updateWebViewImplAdditions):
(WebKit::WebViewImpl::shouldRequestCandidates):
(WebKit::WebViewImpl::showCandidates):
(WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded):
(WebKit::WebViewImpl::handleRequestedCandidates):
- 1:01 PM Changeset in webkit [200105] by
-
- 4 edits in trunk
WebCore on Mac ignores the user's preferred region (country) while getting the language
https://bugs.webkit.org/show_bug.cgi?id=156993
Reviewed by Geoffrey Garen.
Source/WebCore:
This is tested by the NavigatorLanguage API test.
WebCore was previously getting the list of preferred languages, and for each one, deducing
the default region. That's wrong, since for example it doesn't respect the user's choice (in
System Preferences) to display dates/calenders/etc according to a different region (like how
I have my machine set to en-pl right now).
It might be possible for the country code we get via kCFLocaleCountryCode to be something
that our ICU doesn't handle. To defend against this, we search for the resulting country
code in ICU's ISO countries list. If it doesn't appear in that list, we fall back on old
behavior.
- platform/mac/Language.mm:
(WebCore::httpStyleLanguageCode):
(WebCore::isValidICUCountryCode):
(WebCore::platformUserPreferredLanguages):
Tools:
Change the test expectations for this test. If the variant is not explicitly specified in
the AppleLanguage, then we use the locale's country code, which this test assumes is US.
- TestWebKitAPI/Tests/mac/NavigatorLanguage.mm:
(TestWebKitAPI::languageForSystemLanguage):
(TestWebKitAPI::TEST):
- 12:49 PM Changeset in webkit [200104] by
-
- 7 edits in trunk/Source/WebCore
Use auto-generated operators in FontPlatformData
https://bugs.webkit.org/show_bug.cgi?id=157037
Reviewed by Geoffrey Garen.
The only reason why they weren't used before is because Cairo was
using a raw pointer. However, RefPtr supports Cairo types, so this
patch migrates that pointer to a RefPtr. Therefore, we can remove
our custom operators (because they work the same way as auto-
generated ones do).
No new tests because there is no behavior change.
- platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData): Deleted.
(WebCore::FontPlatformData::operator=): Deleted.
- platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::scaledFont):
(WebCore::FontPlatformData::hash):
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::~FontPlatformData): Deleted.
(WebCore::FontPlatformData::platformDataInit): Deleted.
(WebCore::FontPlatformData::platformDataAssign): Deleted.
- platform/graphics/win/FontPlatformDataCGWin.cpp:
(WebCore::FontPlatformData::~FontPlatformData): Deleted.
(WebCore::FontPlatformData::platformDataInit): Deleted.
(WebCore::FontPlatformData::platformDataAssign): Deleted.
- platform/graphics/win/FontPlatformDataCairoWin.cpp:
(WebCore::FontPlatformData::platformDataInit):
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::~FontPlatformData): Deleted.
(WebCore::FontPlatformData::platformDataAssign): Deleted.
- platform/graphics/win/FontPlatformDataWin.cpp:
(WebCore::FontPlatformData::FontPlatformData): Deleted.
- 12:07 PM Changeset in webkit [200103] by
-
- 4 edits in trunk/Source/WebCore
Add renderer address and needslayout state to inlineboxtree dump.
https://bugs.webkit.org/show_bug.cgi?id=157035
Reviewed by Simon Fraser.
- rendering/InlineBox.cpp:
(WebCore::InlineBox::showLineBox):
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::showLineBox):
- rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::printPrefix):
- 11:40 AM Changeset in webkit [200102] by
-
- 29 edits1 add in trunk
calling super() a second time in a constructor should throw
https://bugs.webkit.org/show_bug.cgi?id=151113
Reviewed by Saam Barati and Keith Miller.
Source/JavaScriptCore:
Currently, our implementation checks if 'super()' was called in a constructor more
than once and raises a RuntimeError before the second call. According to the spec
we need to raise an error just after the second super() is finished and before
the new 'this' is assigned https://esdiscuss.org/topic/duplicate-super-call-behaviour.
To implement this behavior this patch adds a new op code, op_is_empty, that is used
to check if 'this' is empty.
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitIsEmpty):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::FunctionCallValueNode::emitBytecode):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- 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/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileIsEmpty):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_is_empty):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_is_empty):
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- tests/stress/class-syntax-double-constructor.js: Added.
LayoutTests:
- js/class-syntax-super-expected.txt:
- js/script-tests/class-syntax-super.js:
- 11:35 AM Changeset in webkit [200101] by
-
- 2 edits in trunk/Source/JavaScriptCore
Changed jsc options title to be more descriptive.
https://bugs.webkit.org/show_bug.cgi?id=157036
Reviewed by Joseph Pecoraro.
Let the title for --dumpOptions be "Modified JSC runtime options:" since it only
dumps overridden options. The title for --options will remain "All JSC runtime
options:" since it dumps all all options with verbose detail.
- jsc.cpp:
(CommandLine::parseArguments):
- 11:27 AM Changeset in webkit [200100] by
-
- 2 edits in trunk/Source/WebCore
[curl] Requests interrupted when using https via proxy
https://bugs.webkit.org/show_bug.cgi?id=157028
Patch by Fujii Hironori <Fujii Hironori> on 2016-04-26
Reviewed by Alex Christensen.
A proxy responds "200 Connection Established" to a CONNECT
method. This response doesn't have Content-Type, then the
request is canceled due to a unsupported MIME type. This is not
a real response from the recipient server. It should not be
processed normally. Just ignore the response.
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback):
Do nothing if httpCode is 0. This is the case of "200 Connection Established".
- 11:22 AM Changeset in webkit [200099] by
-
- 4 edits in trunk/Source/WebCore
Drop Dictionary from CanUseWTFOptionalForParameter()
https://bugs.webkit.org/show_bug.cgi?id=157023
Reviewed by Darin Adler.
As per Web IDL, optional dictionary parameters are always considered to have
a default value of an empty dictionary, unless otherwise specified. There is
therefore never any need to use Optional<> for it. Just implement this
behavior in the bindings generator and drop blacklisting of Dictionary from
CanUseWTFOptionalForParameter().
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(CanUseWTFOptionalForParameter): Deleted.
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
- 11:20 AM Changeset in webkit [200098] by
-
- 117 edits in trunk/Source
RenderElement::style() should return const RenderStyle
https://bugs.webkit.org/show_bug.cgi?id=157016
Reviewed by Geoff Garen.
Style should be changed via setStyle, not by mutating it directly.
Pulling this string turns RenderStyle const in many places.
- accessibility/AccessibilityObject.cpp:
(WebCore::startOfStyleRange):
- accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(getAttributeSetForAccessibilityObject):
- bindings/objc/DOM.mm:
(-[DOMNode innerFrameQuad]):
(-[DOMNode computedFontSize]):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::createPositionListForLayer):
(WebCore::positionOffsetValue):
(WebCore::ComputedStyleExtractor::currentColorOrValidColor):
(WebCore::getTransitionPropertyValue):
(WebCore::scrollSnapDestination):
(WebCore::scrollSnapPoints):
(WebCore::scrollSnapCoordinates):
(WebCore::logUnimplementedPropertyID):
(WebCore::fontFamilyFromStyle):
(WebCore::lineHeightFromStyle):
(WebCore::fontSizeFromStyle):
(WebCore::fontStyleFromStyle):
(WebCore::fontVariantFromStyle):
(WebCore::fontWeightFromStyle):
(WebCore::fontSynthesisFromStyle):
(WebCore::zoomAdjustedPaddingOrMarginPixelValue):
(WebCore::paddingOrMarginIsRendererDependent):
(WebCore::convertToRegionBreak):
(WebCore::isLayoutDependent):
(WebCore::updateStyleIfNeededForNode):
(WebCore::computeRenderStyleForProperty):
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::CSSComputedStyleDeclaration::length):
(WebCore::CSSComputedStyleDeclaration::item):
(WebCore::ComputedStyleExtractor::propertyMatches):
- css/CSSComputedStyleDeclaration.h:
- css/CSSToLengthConversionData.cpp:
(WebCore::CSSToLengthConversionData::viewportWidthFactor):
(WebCore::CSSToLengthConversionData::viewportHeightFactor):
(WebCore::CSSToLengthConversionData::viewportMinFactor):
(WebCore::CSSToLengthConversionData::viewportMaxFactor):
- css/CSSToLengthConversionData.h:
(WebCore::CSSToLengthConversionData::CSSToLengthConversionData):
(WebCore::CSSToLengthConversionData::style):
(WebCore::CSSToLengthConversionData::rootStyle):
(WebCore::CSSToLengthConversionData::computingFontSize):
(WebCore::CSSToLengthConversionData::copyWithAdjustedZoom):
- css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::style):
(WebCore::CSSToStyleMap::rootElementStyle):
- css/CSSToStyleMap.h:
- css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
- css/MediaQueryEvaluator.h:
- css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::strokeDashArrayToCSSValueList):
(WebCore::ComputedStyleExtractor::adjustSVGPaintForCurrentColor):
(WebCore::ComputedStyleExtractor::svgPropertyValue):
- css/SourceSizeList.cpp:
(WebCore::match):
(WebCore::defaultLength):
(WebCore::computeLength):
(WebCore::parseSizesAttribute):
- css/StyleBuilderCustom.h:
(WebCore::ApplyPropertyBorderImageModifier::applyValue):
(WebCore::ApplyPropertyBorderImageModifier::getValue):
(WebCore::StyleBuilderCustom::applyInheritClip):
(WebCore::StyleBuilderCustom::applyInheritCounter):
(WebCore::StyleBuilderCustom::applyValueContent):
(WebCore::StyleBuilderCustom::applyValueAlt):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::sweepMatchedPropertiesCache):
(WebCore::StyleResolver::State::State):
(WebCore::isAtShadowBoundary):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::keyframeStylesForAnimation):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::checkForTextSizeAdjust):
(WebCore::StyleResolver::checkForZoomChange):
(WebCore::StyleResolver::checkForGenericFamilyChange):
- css/StyleResolver.h:
(WebCore::StyleResolver::style):
(WebCore::StyleResolver::parentStyle):
(WebCore::StyleResolver::rootElementStyle):
(WebCore::StyleResolver::element):
(WebCore::StyleResolver::document):
(WebCore::StyleResolver::documentSettings):
(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::State::takeStyle):
(WebCore::StyleResolver::State::parentStyle):
(WebCore::StyleResolver::State::rootElementStyle):
(WebCore::StyleResolver::State::regionForStyling):
(WebCore::StyleResolver::State::elementLinkState):
- dom/Document.cpp:
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
(WebCore::Document::styleForElementIgnoringPendingStylesheets):
(WebCore::Document::setVisuallyOrdered):
(WebCore::Document::createParser):
- dom/Document.h:
- dom/Element.cpp:
(WebCore::Element::styleResolver):
(WebCore::Element::resolveStyle):
(WebCore::checkForEmptyStyleChange):
(WebCore::checkForSiblingStyleChanges):
(WebCore::beforeOrAfterPseudoElement):
(WebCore::Element::existingComputedStyle):
(WebCore::Element::resolveComputedStyle):
(WebCore::Element::computedStyle):
(WebCore::Element::didDetachRenderers):
(WebCore::Element::resolveCustomStyle):
- dom/Element.h:
- dom/Node.cpp:
(WebCore::computeEditabilityFromComputedStyle):
(WebCore::Node::pseudoAwareLastChild):
(WebCore::Node::computedStyle):
- dom/Node.h:
- dom/NodeRenderStyle.h:
(WebCore::Node::renderStyle):
- dom/PseudoElement.cpp:
(WebCore::PseudoElement::clearHostElement):
(WebCore::PseudoElement::resolveCustomStyle):
- dom/PseudoElement.h:
- editing/ApplyBlockElementCommand.cpp:
(WebCore::isNewLineAtPosition):
(WebCore::ApplyBlockElementCommand::renderStyleOfEnclosingTextNode):
(WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded):
(WebCore::ApplyBlockElementCommand::endOfNextParagraphSplittingTextNodesIfNeeded):
- editing/ApplyBlockElementCommand.h:
- editing/EditingStyle.cpp:
(WebCore::EditingStyle::init):
(WebCore::EditingStyle::removeTextFillAndStrokeColorsIfNeeded):
- editing/EditingStyle.h:
- editing/Editor.h:
- editing/SimplifyMarkupCommand.cpp:
(WebCore::SimplifyMarkupCommand::doApply):
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::styleForSelectionStart):
(WebCore::Editor::getTextDecorationAttributesRespectingTypingStyle):
- editing/ios/EditorIOS.mm:
(WebCore::Editor::fontForSelection):
(WebCore::Editor::fontAttributesForSelectionStart):
- editing/mac/EditorMac.mm:
(WebCore::Editor::fontForSelection):
(WebCore::Editor::fontAttributesForSelectionStart):
- html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::computedTextWithDirection):
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::FontProxy::fontsNeedUpdate):
(WebCore::CanvasRenderingContext2D::FontProxy::initialize):
(WebCore::CanvasRenderingContext2D::setFont):
(WebCore::CanvasRenderingContext2D::setTextBaseline):
(WebCore::CanvasRenderingContext2D::toTextDirection):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
- html/canvas/CanvasRenderingContext2D.h:
- html/parser/HTMLResourcePreloader.cpp:
(WebCore::HTMLResourcePreloader::preload):
(WebCore::mediaAttributeMatches):
- html/shadow/SliderThumbElement.cpp:
(WebCore::RenderSliderThumb::RenderSliderThumb):
(WebCore::RenderSliderThumb::updateAppearance):
(WebCore::RenderSliderContainer::layout):
(WebCore::SliderThumbElement::hostInput):
(WebCore::SliderThumbElement::resolveCustomStyle):
(WebCore::SliderContainerElement::createElementRenderer):
(WebCore::SliderContainerElement::resolveCustomStyle):
- html/shadow/SliderThumbElement.h:
- html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::create):
(WebCore::TextControlInnerElement::resolveCustomStyle):
(WebCore::TextControlInnerTextElement::renderer):
(WebCore::TextControlInnerTextElement::resolveCustomStyle):
(WebCore::TextControlPlaceholderElement::TextControlPlaceholderElement):
(WebCore::TextControlPlaceholderElement::resolveCustomStyle):
- html/shadow/TextControlInnerElements.h:
- page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):
- page/animation/AnimationBase.cpp:
(WebCore::solveStepsFunction):
(WebCore::AnimationBase::AnimationBase):
- page/animation/AnimationBase.h:
(WebCore::AnimationBase::~AnimationBase):
(WebCore::AnimationBase::renderer):
(WebCore::AnimationBase::animation):
(WebCore::AnimationBase::setAnimation):
- page/animation/AnimationController.cpp:
(WebCore::AnimationController::cancelAnimations):
(WebCore::AnimationController::updateAnimations):
- page/animation/AnimationController.h:
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::clearRenderer):
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::updateKeyframeAnimations):
(WebCore::CompositeAnimation::animate):
- page/animation/CompositeAnimation.h:
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::ImplicitAnimation):
(WebCore::ImplicitAnimation::shouldSendEventForListener):
(WebCore::ImplicitAnimation::animate):
(WebCore::ImplicitAnimation::sendTransitionEvent):
(WebCore::ImplicitAnimation::reset):
- page/animation/ImplicitAnimation.h:
(WebCore::ImplicitAnimation::create):
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
(WebCore::KeyframeAnimation::animate):
- page/animation/KeyframeAnimation.h:
- page/ios/FrameIOS.mm:
(WebCore::ancestorRespondingToScrollWheelEvents):
- rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::styleDidChange):
- rendering/InlineFlowBox.cpp:
(WebCore::clipRectForNinePieceImageStrip):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::lineHeight):
(WebCore::RenderBlock::firstLineBlock):
(WebCore::styleForFirstLetter):
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::calculateMinimumPageHeight):
(WebCore::RenderBlockFlow::adjustComputedFontSizes):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::borderRadii):
(WebCore::RenderBox::enclosingFloatPaintingLayer):
(WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
(WebCore::RenderBox::visualOverflowRectForPropagation):
(WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
- rendering/RenderBox.h:
(WebCore::RenderBox::applyTopLeftLocationOffset):
(WebCore::RenderBox::hasRenderOverflow):
(WebCore::RenderBox::hasVisualOverflow):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance):
(WebCore::applyBoxShadowForBackground):
- rendering/RenderButton.cpp:
(WebCore::RenderButton::addChild):
(WebCore::RenderButton::styleWillChange):
(WebCore::RenderButton::styleDidChange):
(WebCore::RenderButton::setupInnerStyle):
(WebCore::RenderButton::layout):
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::styleWillChange):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor):
(WebCore::RenderElement::uncachedFirstLineStyle):
(WebCore::RenderElement::cachedFirstLineStyle):
(WebCore::RenderElement::firstLineStyle):
(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::addControlStatesForRenderer):
(WebCore::RenderElement::getCachedPseudoStyle):
(WebCore::RenderElement::getMutableCachedPseudoStyle):
(WebCore::RenderElement::getUncachedPseudoStyle):
(WebCore::RenderElement::paintOutline):
- rendering/RenderElement.h:
(WebCore::RenderElement::hasInitializedStyle):
(WebCore::RenderElement::style):
(WebCore::RenderElement::mutableStyle):
(WebCore::RenderElement::element):
(WebCore::RenderObject::isRenderInline):
(WebCore::RenderObject::style):
(WebCore::RenderObject::firstLineStyle):
- rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::layout):
- rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::createFlowThreadStyle):
- rendering/RenderFlowThread.h:
- rendering/RenderImage.cpp:
(WebCore::RenderImage::layoutShadowControls):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::styleDidChange):
(WebCore::RenderInline::updateAlwaysCreateLineBoxes):
(WebCore::RenderInline::paintOutline):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupClipPath):
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintScrollbar):
(WebCore::itemOffsetForAlignment):
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):
- rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::updateMargins):
(WebCore::RenderListMarker::lineHeight):
- rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::computePosition):
(WebCore::RenderMarquee::updateMarqueeStyle):
- rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle):
(RenderMenuList::updateOptionsWidth):
(RenderMenuList::itemStyle):
- rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::isValidColumnSpanner):
- rendering/RenderMultiColumnSpannerPlaceholder.cpp:
(WebCore::RenderMultiColumnSpannerPlaceholder::createAnonymous):
- rendering/RenderMultiColumnSpannerPlaceholder.h:
- rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::checkRegionStyle):
(WebCore::RenderNamedFlowFragment::computeStyleInRegion):
- rendering/RenderNamedFlowFragment.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::innerLineHeight):
(WebCore::decorationColor):
(WebCore::RenderObject::getTextDecorationColorsAndStyles):
- rendering/RenderObject.h:
(WebCore::RenderObject::minPreferredLogicalWidth):
(WebCore::RenderObject::maxPreferredLogicalWidth):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::computePreferredLogicalWidths):
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paintRowGroupBorderIfRequired):
(WebCore::physicalBorderForDirection):
- rendering/RenderText.h:
(WebCore::RenderText::characterAt):
(WebCore::RenderText::style):
(WebCore::RenderText::firstLineStyle):
(WebCore::RenderText::getCachedPseudoStyle):
- rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::styleDidChange):
- rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
- rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
(WebCore::RenderTextControlSingleLine::styleDidChange):
- rendering/RenderTextFragment.cpp:
(WebCore::RenderTextFragment::styleDidChange):
- rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintMediaToggleClosedCaptionsButton):
(WebCore::borderRadiiFromStyle):
(WebCore::RenderThemeGtk::paintMediaSliderTrack):
(WebCore::RenderThemeGtk::paintMediaSliderThumb):
(WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
- rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintFlow):
(WebCore::SimpleLineLayout::hitTestFlow):
- rendering/TextAutoSizing.cpp:
(WebCore::TextAutoSizingKey::TextAutoSizingKey):
- rendering/TextAutoSizing.h:
(WebCore::TextAutoSizingKey::style):
(WebCore::TextAutoSizingKey::isDeleted):
- rendering/TextPaintStyle.cpp:
(WebCore::computeTextSelectionPaintStyle):
- rendering/line/BreakingContext.h:
- rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::layout):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setColumnRuleWidth):
(WebCore::RenderStyle::resetColumnRule):
(WebCore::RenderStyle::setColumnSpan):
(WebCore::RenderStyle::inheritColumnPropertiesFrom):
(WebCore::RenderStyle::setTransform):
(WebCore::RenderStyle::setTransformOriginX):
(WebCore::RenderStyle::setTransformOriginY):
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::positionForOffset):
(WebCore::SVGInlineTextBox::selectionRectForTextFragment):
(WebCore::SVGInlineTextBox::localSelectionRect):
(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::paint):
(WebCore::SVGInlineTextBox::acquirePaintingResource):
(WebCore::SVGInlineTextBox::releasePaintingResource):
(WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting):
(WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting):
(WebCore::SVGInlineTextBox::constructTextRun):
(WebCore::SVGInlineTextBox::paintDecorationWithStyle):
(WebCore::SVGInlineTextBox::paintTextWithShadows):
(WebCore::SVGInlineTextBox::paintText):
- rendering/svg/SVGInlineTextBox.h:
- rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromCircleElement):
(WebCore::updatePathFromEllipseElement):
(WebCore::updatePathFromRectElement):
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::Parent::Parent):
(WebCore::Style::TreeResolver::popScope):
(WebCore::Style::TreeResolver::styleForElement):
(WebCore::Style::TreeResolver::pushParent):
(WebCore::Style::TreeResolver::resolveComposedTree):
- style/StyleTreeResolver.h:
(WebCore::Style::TreeResolver::scope):
- style/StyleUpdate.cpp:
(WebCore::Style::Update::textUpdate):
(WebCore::Style::Update::elementStyle):
(WebCore::Style::Update::addElement):
- style/StyleUpdate.h:
(WebCore::Style::Update::document):
- svg/SVGElement.cpp:
(WebCore::SVGElement::synchronizeSystemLanguage):
(WebCore::SVGElement::resolveCustomStyle):
(WebCore::SVGElement::setUseOverrideComputedStyle):
(WebCore::SVGElement::computedStyle):
- svg/SVGElement.h:
- svg/SVGElementRareData.h:
(WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
(WebCore::SVGElementRareData::overrideComputedStyle):
- svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::animatedLocalTransform):
- svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits):
(WebCore::renderStyleForLengthResolving):
(WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
(WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
(WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
(WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):
- svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::stopColorIncludingOpacity):
- svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::animatedLocalTransform):
- 10:46 AM Changeset in webkit [200097] by
-
- 2 edits in trunk/Source/JavaScriptCore
2016-04-26 Oliver Hunt <oliver@apple.com>
Enable separated heap by default on ios
https://bugs.webkit.org/show_bug.cgi?id=156720
Unreviewed roll-in of this change. There is only one
additional allocation involved in this logic, and that
is a duplicate mapping.
Either our tools are not report real memory usage
or this revision is not responsible for the regression.
- runtime/Options.cpp: (JSC::recomputeDependentOptions):
- 10:38 AM Changeset in webkit [200096] by
-
- 6 edits1 add in trunk/Source/JavaScriptCore
DFG backends shouldn't emit type checks at KnownBlah edges
https://bugs.webkit.org/show_bug.cgi?id=157025
Reviewed by Michael Saboff.
This fixes a crash I found when browsing Bing maps with forceEagerCompilation. I include a
100% repro test case.
The issue is that our code still doesn't fully appreciate the devious implications of
KnownBlah use kinds. Consider KnownCell for example. It means: "trust me, I know that this
value will be a cell". You aren't required to provide a proof when you use KnownCell. Often,
we use it as a result of a path-sensitive proof. The abstract interpreter is not
path-sensitive, so AI will be absolutely sure that the KnownCell use might see a non-cell.
This can lead to debug assertions (which this change removes) and it can lead to the backends
emitting a type check. That type check can be pure evil if the node that has this edge does
not have an exit origin. Such a node would have passed validation because the validater would
have thought that the node cannot exit (after all, according to the IR semantics, there is no
speculation at KnownCell).
This comprehensively fixes the issue by recognizing that Foo(KnownCell:@x) means: I have
already proved that by the time you start executing Foo, @x will already be a cell. I cannot
tell you how I proved this but you can rely on it anyway. AI now takes advantage of this
meaning and will always do filtering of KnownBlah edges regardless of whether the backend
actually emits any type checks for those edges. Since the filtering runs before the backend,
the backend will not emit any checks because it will know that the edge was already checked
(by whatever mechanism we used when we made the edge KnownBlah).
Note that it's good that we found this bug now. The DFG currently does very few
sparse-conditional or path-sensitive optimizations, but it will probably do more in the
future. The bug happens because GetByOffset and friends can achieve path-sensitive proofs via
watchpoints on the inferred type. Normally, AI can follow along with this proof. But in the
example program, and on Bing maps, we would GCSE one GetByOffset with another that had a
weaker proven type. That turned out to be completely sound - between the two GetByOffset's
there was a Branch to null check it. The inferred type of the second GetByOffset ended up
knowing that it cannot be null because null only occurred in some structures but not others.
If we added more sparse-conditional stuff to Branch, then AI would know how to follow along
with the proof but it would also create more situations where we'd have a path-sensitive
proof. So, it's good that we're now getting this right.
- dfg/DFGAbstractInterpreter.h:
(JSC::DFG::AbstractInterpreter::filterEdgeByUse):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEdges):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeKnownEdgeTypes):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::verifyEdge):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
- dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
- tests/stress/path-sensitive-known-cell-crash.js: Added.
(bar):
(foo):
- 10:28 AM Changeset in webkit [200095] by
-
- 2 edits in trunk/Source/JavaScriptCore
Enable separated heap by default on ios
https://bugs.webkit.org/show_bug.cgi?id=156720
Unreviewed rollout - caused memory regression.
- runtime/Options.cpp:
(JSC::recomputeDependentOptions):
- 10:20 AM Changeset in webkit [200094] by
-
- 13 edits in trunk/Source/WebCore
Make FontPlatformData immutable
https://bugs.webkit.org/show_bug.cgi?id=157024
Reviewed by Darin Adler.
This patch deletes all functions which modify a FontPlatformData once
it has been created. This makes for a cleaner design.
No new tests because there is no behavior change.
- platform/graphics/Font.cpp:
(WebCore::Font::verticalRightOrientationFont):
(WebCore::Font::nonSyntheticItalicFont):
- platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::cloneWithOrientation):
(WebCore::FontPlatformData::cloneWithSyntheticOblique):
- platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::setIsSystemFont): Deleted.
(WebCore::FontPlatformData::setSize): Deleted.
(WebCore::FontPlatformData::setOrientation): Deleted.
(WebCore::FontPlatformData::setSyntheticOblique): Deleted.
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontCache::systemFallbackForCharacters):
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::FontCascade::drawGlyphs):
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformInit):
(WebCore::Font::platformCharWidthInit):
(WebCore::createDerivativeFont):
(WebCore::Font::createFontWithoutSynthesizableFeatures):
(WebCore::Font::platformCreateScaledFont):
(WebCore::Font::platformWidthForGlyph):
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::openTypeTable):
- platform/graphics/win/FontPlatformDataCairoWin.cpp:
(WebCore::FontPlatformData::platformDataInit):
- 10:19 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 10:17 AM Changeset in webkit [200093] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r200089.
This change causes API test failures
Reverted changeset:
"WebCore on Mac ignores the user's preferred region (country)
while getting the language"
https://bugs.webkit.org/show_bug.cgi?id=156993
http://trac.webkit.org/changeset/200089
- 9:47 AM Changeset in webkit [200092] by
-
- 4 edits in trunk/Source/JavaScriptCore
Improve jsc --help and making sampling options
https://bugs.webkit.org/show_bug.cgi?id=157015
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-26
Reviewed by Saam Barati.
Simplify sampling options to be easier to remember:
- --reportSamplingProfilerData => --sample
- --samplingProfilerTimingInterval => --sampleInterval
Update the --help to mention --sample, and restore the behavior of
--options outputing all possible options so you can discover which
options are available.
- jsc.cpp:
(printUsageStatement):
(CommandLine::parseArguments):
Improve help and modify option dumping.
- runtime/Options.h:
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::SamplingProfiler):
Rename the sampling interval option.
- 9:45 AM Changeset in webkit [200091] by
-
- 2 edits in trunk/Source/WebCore
GuardMalloc crash in WebCore::HTMLFrameElementBase::marginHeight()
https://bugs.webkit.org/show_bug.cgi?id=157020
<rdar://problem/25148315>
Reviewed by Darin Adler.
Calls to setIntegralAttribute triggers event handling code, which can cause
the underlying m_frameOwnerElement member to be deleted. We could clone this
object, but since we only want the width and height we should just read them
while we know the object is in a good state, then execute the potentially
mutating methods.
Tested by imported/blink/fast/dom/HTMLBodyElement/body-inserting-iframe-crash.html.
- html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::insertedInto): Read margin width and height before
calling setIntegralAttribute.
- 9:33 AM Changeset in webkit [200090] by
-
- 3 edits in trunk/Websites/perf.webkit.org
Chart status should always be computed against prior values
https://bugs.webkit.org/show_bug.cgi?id=157014
Reviewed by Darin Adler.
Compare the current value against the last baseline or target value that appear before the current value in time
so that the comparison stay the same even when new baseline and target values are reported. Also include the compared
baseline or target value in the label for clarity.
- public/v3/components/chart-status-view.js:
(ChartStatusView.prototype._computeChartStatus):
(ChartStatusView.prototype._computeChartStatus.labelForDiff):
(ChartStatusView.prototype._findLastPointPriorToTime): Extracted from _relativeDifferenceToLaterPointInTimeSeries.
Now finds the last point before the current point's time if there is any, or the last point in baseline / target.
(ChartStatusView.prototype._relativeDifferenceToLaterPointInTimeSeries): Deleted.
- public/v3/models/metric.js:
(Metric.prototype.makeFormatter): Don't use SI units for unit-less metrics.
- 9:22 AM Changeset in webkit [200089] by
-
- 2 edits in trunk/Source/WebCore
WebCore on Mac ignores the user's preferred region (country) while getting the language
https://bugs.webkit.org/show_bug.cgi?id=156993
Reviewed by Geoffrey Garen.
I don't know how to test this since this depends on user settings.
WebCore was previously getting the list of preferred languages, and for each one, deducing
the default region. That's wrong, since for example it doesn't respect the user's choice (in
System Preferences) to display dates/calenders/etc according to a different region (like how
I have my machine set to en-pl right now).
It might be possible for the country code we get via kCFLocaleCountryCode to be something
that our ICU doesn't handle. To defend against this, we search for the resulting country
code in ICU's ISO countries list. If it doesn't appear in that list, we fall back on old
behavior.
- platform/mac/Language.mm:
(WebCore::httpStyleLanguageCode):
(WebCore::platformUserPreferredLanguages):
- 9:12 AM Changeset in webkit [200088] by
-
- 5 edits in trunk/Source/WebCore
[Web IDL] Specify default values for optional parameters of TypedArray types
https://bugs.webkit.org/show_bug.cgi?id=157017
Reviewed by Darin Adler.
Specify default values for optional parameters of TypedArray types and let
the bindings generator use WTF::Optional<> for the ones that do not have a
default value.
- bindings/scripts/CodeGeneratorJS.pm:
(CanUseWTFOptionalForParameter): Deleted.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::webkitGenerateKeyRequest):
(WebCore::HTMLMediaElement::webkitAddKey):
(WebCore::HTMLMediaElement::webkitCancelKeyRequest): Deleted.
- html/HTMLMediaElement.h:
- html/HTMLMediaElement.idl:
- 9:07 AM Changeset in webkit [200087] by
-
- 17 edits in trunk/Source/WebCore
[Web IDL] Specify default values for optional parameters of type 'long' / 'unrestricted double'
https://bugs.webkit.org/show_bug.cgi?id=157012
Reviewed by Darin Adler.
Specify default values for optional parameters of type 'long' / 'unrestricted double'
and let the bindings generator use WTF::Optional<> for the ones that do not have a
default value.
- Modules/mediastream/RTCDTMFSender.cpp:
(WebCore::RTCDTMFSender::insertDTMF):
(WebCore::RTCDTMFSender::didPlayTone): Deleted.
- Modules/mediastream/RTCDTMFSender.h:
- Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::start):
(WebCore::AudioBufferSourceNode::startPlaying): Deleted.
- Modules/webaudio/AudioBufferSourceNode.h:
- Modules/webaudio/AudioBufferSourceNode.idl:
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createDelay): Deleted.
- Modules/webaudio/AudioContext.h:
- Modules/webaudio/AudioContext.idl:
- Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::start): Deleted.
(WebCore::AudioScheduledSourceNode::stop): Deleted.
- Modules/webaudio/AudioScheduledSourceNode.h:
- Modules/webaudio/OscillatorNode.idl:
- bindings/scripts/CodeGeneratorJS.pm:
(CanUseWTFOptionalForParameter): Deleted.
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
(WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): Deleted.
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): Deleted.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4): Deleted.
(WebCore::jsTestObjConstructorFunctionClassMethod2): Deleted.
(WebCore::jsTestObjConstructorFunctionOverloadedMethod1): Deleted.
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise): Deleted.
- html/HTMLInputElement.idl:
- page/WindowTimers.idl:
- testing/Internals.h:
- testing/Internals.idl:
- 8:03 AM Changeset in webkit [200086] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Clarify Heap Snapshot instance Retained Size by hiding retained size of non-dominated children
https://bugs.webkit.org/show_bug.cgi?id=157018
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-26
Reviewed by Timothy Hatcher.
- UserInterface/Proxies/HeapSnapshotNodeProxy.js:
(WebInspector.HeapSnapshotNodeProxy):
(WebInspector.HeapSnapshotNodeProxy.deserialize):
- UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
(HeapSnapshot.prototype.serializeNode):
Include dominatorNodeIdentifier in the default proxy properties.
- UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
(WebInspector.HeapSnapshotInstanceDataGridNode):
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype.get node):
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent):
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._isDominatedByBase):
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._isDominatedByNonBaseParent):
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populate):
- UserInterface/Views/HeapSnapshotInstancesContentView.css:
(.heap-snapshot > .data-grid td .sub-retained):
Save the base HeapSnapshotInstanceDataGridNode so that it can be referenced by
children. When expanding an instance, hide the retained size for children
that are not dominated by the base object. Show the retained size for children
for children that are dominated. If dominated directly, show the size in the
normal black. If dominated transitively, show the size in a dimmed gray.
- 7:58 AM Changeset in webkit [200085] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
[WinCairo][WebGL] Enable ESSL and GLSL translators.
https://bugs.webkit.org/show_bug.cgi?id=157002
Reviewed by Darin Adler.
Enable support for ESSL and GLSL translators, and add missing files.
- CMakeLists.txt:
- 7:49 AM Changeset in webkit [200084] by
-
- 28 edits1 delete in trunk
Unreviewed, rolling out r200083.
https://bugs.webkit.org/show_bug.cgi?id=157033
It brokes the debug build (Requested by gskachkov on
#webkit).
Reverted changeset:
"calling super() a second time in a constructor should throw"
https://bugs.webkit.org/show_bug.cgi?id=151113
http://trac.webkit.org/changeset/200083
Patch by Commit Queue <commit-queue@webkit.org> on 2016-04-26
- 7:19 AM Changeset in webkit [200083] by
-
- 28 edits1 add in trunk
calling super() a second time in a constructor should throw
https://bugs.webkit.org/show_bug.cgi?id=151113
Reviewed by Saam Barati and Keith Miller.
Source/JavaScriptCore:
Currently, our implementation checks if 'super()' was called in a constructor more
than once and raises a RuntimeError before the second call. According to the spec
we need to raise an error just after the second super() is finished and before
the new 'this' is assigned https://esdiscuss.org/topic/duplicate-super-call-behaviour.
To implement this behavior this patch adds a new op code, op_is_empty, that is used
to check if 'this' is empty.
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitIsEmpty):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::FunctionCallValueNode::emitBytecode):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- 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/DFGNodeType.h:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileIsEmpty):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_is_empty):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_is_empty):
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- tests/stress/class-syntax-double-constructor.js: Added.
LayoutTests:
- js/class-syntax-super-expected.txt:
- js/script-tests/class-syntax-super.js:
- 6:52 AM Changeset in webkit [200082] by
-
- 2 edits in trunk/Websites/webkit.org
Remove hard-wraps from the feature policy markdown so it renders full width on the site.
- feature-policy.md:
- 6:34 AM WebKitGTK/2.12.x edited by
- (diff)
- 6:32 AM Changeset in webkit [200081] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r200046 - [GTK] Crashes if DISPLAY is unset
https://bugs.webkit.org/show_bug.cgi?id=156972
Reviewed by Carlos Garcia Campos.
If DISPLAY is unset then m_display will be NULL, crashing WebKit
when XCloseDisplay is called in the PlatformDisplayX11 destructor.
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::~PlatformDisplayX11):
- 6:20 AM Changeset in webkit [200080] by
-
- 7 edits in trunk
Drop [UsePointersEvenForNonNullableObjectArguments] from SpeechSynthesis
https://bugs.webkit.org/show_bug.cgi?id=156901
Reviewed by Darin Adler.
Source/WebCore:
SpeechSynthesis.speak will now throw in case of bad parameters instead of silently failing.
Started refactoring to use more references where possible.
Covered by updated test.
- Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::startSpeakingImmediately): Refactored to get a reference.
(WebCore::SpeechSynthesis::speak):
(WebCore::SpeechSynthesis::fireEvent):
(WebCore::SpeechSynthesis::handleSpeakingCompleted): Removing first item in utteranceQueue unconditionally,
since that would crash in Debug mode otherwise.
(WebCore::SpeechSynthesis::boundaryEventOccurred):
(WebCore::SpeechSynthesis::didStartSpeaking):
(WebCore::SpeechSynthesis::didPauseSpeaking):
(WebCore::SpeechSynthesis::didResumeSpeaking):
(WebCore::SpeechSynthesis::didFinishSpeaking):
(WebCore::SpeechSynthesis::speakingErrorOccurred):
- Modules/speech/SpeechSynthesis.h:
- Modules/speech/SpeechSynthesis.idl:
LayoutTests:
Updated test to handle speak throwing behavior in case of bad parameters.
- fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt:
- fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html:
- 6:17 AM Changeset in webkit [200079] by
-
- 2 edits in trunk/Source/WebCore
Drop [UsePointersEvenForNonNullableObjectArguments] from WebKitNamedFlow
https://bugs.webkit.org/show_bug.cgi?id=156979
Reviewed by Chris Dumez.
No change of behavior.
- dom/WebKitNamedFlow.idl: Marking contentNode parameter as nullable.
- 6:03 AM Changeset in webkit [200078] by
-
- 5 edits in trunk
Drop [UsePointersEvenForNonNullableObjectArguments] from EventTarget
https://bugs.webkit.org/show_bug.cgi?id=156977
Reviewed by Chris Dumez.
Source/WebCore:
No change of behavior.
- dom/EventTarget.idl:
LayoutTests:
- fast/events/dispatchEvent-crash-expected.txt:
- fast/events/dispatchEvent-crash.html: Ensuring exceptions are logged.
- 1:16 AM Changeset in webkit [200077] by
-
- 2 edits in trunk/Source/WebKit2
[EFL] Update expectation result in ewk_context_preferred_languages API test
https://bugs.webkit.org/show_bug.cgi?id=157027
Reviewed by Carlos Garcia Campos.
platformLanguage() has been returning lower case value since r199815. Thus existing expected result
needs to be updated together.
- UIProcess/API/efl/tests/test_ewk2_context.cpp: Change en-US with en-us.
(TEST_F):
- 12:28 AM Changeset in webkit [200076] by
-
- 3 edits in trunk/Source/WebKit2
Mark two methods in the CoordinatedGraphicsScene and the
ThreadedCoordinatedLayerTreeHost classes as overrides, fixing
the compiler warnings.
Rubber-stamped by Carlos Garcia Campos.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
Apr 25, 2016:
- 10:56 PM Changeset in webkit [200075] by
-
- 46 edits in trunk
Remove the build flag for template elements
https://bugs.webkit.org/show_bug.cgi?id=157022
Reviewed by Daniel Bates.
.:
- Source/cmake/OptionsEfl.cmake:
- Source/cmake/OptionsMac.cmake:
- Source/cmake/OptionsWin.cmake:
- Source/cmake/WebKitFeatures.cmake:
- Source/cmake/tools/vsprops/FeatureDefines.props:
- Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Removed the build flag.
- Configurations/FeatureDefines.xcconfig:
- DerivedSources.cpp:
- bindings/js/JSHTMLTemplateElementCustom.cpp:
(WebCore::JSHTMLTemplateElement::content):
- css/html.css:
(summary::-webkit-details-marker):
(template):
(bdi, output):
- dom/ContainerNode.cpp:
(WebCore::isInTemplateContent):
(WebCore::containsConsideringHostElements):
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::parserAppendChild):
- dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::getCachedLocale):
(WebCore::Document::ensureTemplateDocument):
(WebCore::Document::fonts):
- dom/Document.h:
(WebCore::Document::setTemplateDocumentHost):
(WebCore::Document::templateDocumentHost):
(WebCore::Document::hasDisabledFieldsetElement):
(WebCore::Document::textEncoding):
(WebCore::Document::templateDocument):
- dom/Element.cpp:
(WebCore::Element::setInnerHTML):
- dom/Node.cpp:
(WebCore::Node::containsIncludingHostElements):
(WebCore::Node::pseudoAwarePreviousSibling):
- dom/TemplateContentDocumentFragment.h:
- editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
- editing/markup.cpp:
(WebCore::createFragmentForInnerOuterHTML):
- html/HTMLTagNames.in:
- html/HTMLTemplateElement.cpp:
(WebCore::HTMLTemplateElement::didMoveToNewDocument):
- html/HTMLTemplateElement.h:
- html/HTMLTemplateElement.idl:
- html/parser/HTMLConstructionSite.cpp:
(WebCore::insert):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode):
(WebCore::HTMLConstructionSite::findFosterSite):
- html/parser/HTMLElementStack.cpp:
(WebCore::HTMLNames::isScopeMarker):
(WebCore::HTMLNames::isTableScopeMarker):
(WebCore::HTMLNames::isTableBodyScopeMarker):
(WebCore::HTMLNames::isTableRowScopeMarker):
(WebCore::HTMLElementStack::inSelectScope):
(WebCore::HTMLElementStack::hasTemplateInHTMLScope):
(WebCore::HTMLElementStack::htmlElement):
- html/parser/HTMLElementStack.h:
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::scan):
- html/parser/HTMLPreloadScanner.h:
- html/parser/HTMLStackItem.h:
(WebCore::isSpecialNode):
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::isParsingTemplateContents):
(WebCore::HTMLTreeBuilder::isParsingFragmentOrTemplateContents):
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::didCreateCustomOrCallbackElement):
(WebCore::HTMLTreeBuilder::processTemplateStartTag):
(WebCore::HTMLTreeBuilder::processEndOfFileForInTemplateContents):
(WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody):
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
(WebCore::HTMLTreeBuilder::processEndOfFile):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
(WebCore::HTMLTreeBuilder::finished):
- html/parser/HTMLTreeBuilder.h:
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
Removed the build option.
- Scripts/webkitperl/FeatureList.pm:
- 10:07 PM Changeset in webkit [200074] by
-
- 2 edits in trunk/Source/WebCore
[iOS] ftp links crash @ WebCore::FTPDirectoryDocumentParser::appendEntry
https://bugs.webkit.org/show_bug.cgi?id=157019
<rdar://problem/24292650>
Reviewed by Chris Dumez.
Create separate Ref<Element> object for every row element instead of reusing
one because Ref<>'s operator=() does not allow assignment after a WTFMove().
- html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::appendEntry):
- 9:29 PM Changeset in webkit [200073] by
-
- 2 edits in trunk/Tools
Fix text in log files autogenerated by import-w3c-tests
https://bugs.webkit.org/show_bug.cgi?id=157021
Reviewed by Chris Dumez.
s/Webkit/WebKit/ and end each sentence with a period.
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.write_import_log):
- 9:22 PM Changeset in webkit [200072] by
-
- 3 edits57 adds1 delete in trunk/LayoutTests
Update template element tests
https://bugs.webkit.org/show_bug.cgi?id=154996
Reviewed by Daniel Bates.
LayoutTests/imported/w3c:
Reimported W3C tests for template elements as of d5a4c5bdf8a1837b4fcf50bbd2efd4150ddafa99.
Also moved the parser tests from html-templates to web-platform-tests/html/syntax to match the upstream directory structure.
- html-templates: Removed.
- html-templates/parsing-html-templates: Removed.
- html-templates/parsing-html-templates/additions-to-foster-parenting: Removed.
- html-templates/parsing-html-templates/additions-to-foster-parenting/template-is-a-foster-parent-element-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-foster-parenting/template-is-a-foster-parent-element.html: Removed.
- html-templates/parsing-html-templates/additions-to-foster-parenting/template-is-not-a-foster-parent-element-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/generating-of-implied-end-tags-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/generating-of-implied-end-tags.html: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/ignore-body-token-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/ignore-body-token.html: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/ignore-frameset-token-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/ignore-frameset-token.html: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/ignore-head-token-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/ignore-head-token.html: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/ignore-html-token-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/ignore-html-token.html: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/start-tag-body-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/start-tag-body.html: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/start-tag-html-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/start-tag-html.html: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/template-end-tag-without-start-one-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/template-end-tag-without-start-one.html: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-frameset-insertion-mode: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-frameset-insertion-mode/end-tag-frameset-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-frameset-insertion-mode/end-tag-frameset.html: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags.html: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one.html: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-table-insertion-mode: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-table-insertion-mode/end-tag-table-expected.txt: Removed.
- html-templates/parsing-html-templates/additions-to-the-in-table-insertion-mode/end-tag-table.html: Removed.
- html-templates/parsing-html-templates/appending-to-a-template: Removed.
- html-templates/parsing-html-templates/appending-to-a-template/template-child-nodes-expected.txt: Removed.
- html-templates/parsing-html-templates/appending-to-a-template/template-child-nodes.html: Removed.
- html-templates/parsing-html-templates/clearing-the-stack-back-to-a-given-context: Removed.
- html-templates/parsing-html-templates/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context-expected.txt: Removed.
- html-templates/parsing-html-templates/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context.html: Removed.
- html-templates/parsing-html-templates/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-context-expected.txt: Removed.
- html-templates/parsing-html-templates/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-context.html: Removed.
- html-templates/parsing-html-templates/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-row-context-expected.txt: Removed.
- html-templates/parsing-html-templates/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-row-context.html: Removed.
- html-templates/parsing-html-templates/creating-an-element-for-the-token: Removed.
- html-templates/parsing-html-templates/creating-an-element-for-the-token/template-owner-document-expected.txt: Removed.
- html-templates/parsing-html-templates/creating-an-element-for-the-token/template-owner-document.html: Removed.
- html-templates/resources: Removed.
- html-templates/resources/end-template-tag-in-body.html: Removed.
- html-templates/resources/end-template-tag-in-head.html: Removed.
- html-templates/resources/frameset-end-tag.html: Removed.
- html-templates/resources/head-template-contents-div-no-end-tag.html: Removed.
- html-templates/resources/head-template-contents-table-no-end-tag.html: Removed.
- html-templates/resources/html-start-tag.html: Removed.
- html-templates/resources/template-child-nodes-div.xhtml: Removed.
- html-templates/resources/template-child-nodes-nested.xhtml: Removed.
- html-templates/resources/template-contents-attribute.html: Removed.
- html-templates/resources/template-contents-body.html: Removed.
- html-templates/resources/template-contents-div-no-end-tag.html: Removed.
- html-templates/resources/template-contents-empty.html: Removed.
- html-templates/resources/template-contents-frameset.html: Removed.
- html-templates/resources/template-contents-head.html: Removed.
- html-templates/resources/template-contents-html.html: Removed.
- html-templates/resources/template-contents-nested.html: Removed.
- html-templates/resources/template-contents-table-no-end-tag.html: Removed.
- html-templates/resources/template-contents-text.html: Removed.
- html-templates/resources/template-contents.html: Removed.
- html-templates/resources/template-descendant-body.html: Removed.
- html-templates/resources/template-descendant-frameset.html: Removed.
- html-templates/resources/template-descendant-head.html: Removed.
- html-templates/resources/two-templates.html: Removed.
- html-templates/testcommon.js: Removed.
- web-platform-tests/html/syntax: Added.
- web-platform-tests/html/syntax/parsing: Added.
- web-platform-tests/html/syntax/parsing/template: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-foster-parenting: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-a-foster-parent-element-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-a-foster-parent-element.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-foster-parenting/w3c-import.log: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/generating-of-implied-end-tags-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/generating-of-implied-end-tags.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-body-token-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-body-token.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-frameset-token-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-frameset-token.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-head-token-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-head-token.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-html-token-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-html-token.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-body-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-body.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-html-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-html.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/template-end-tag-without-start-one-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/template-end-tag-without-start-one.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/w3c-import.log: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/end-tag-frameset-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/end-tag-frameset.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/w3c-import.log: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/w3c-import.log: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/end-tag-table-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/end-tag-table.html: Added.
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/w3c-import.log: Added.
- web-platform-tests/html/syntax/parsing/template/appending-to-a-template: Added.
- web-platform-tests/html/syntax/parsing/template/appending-to-a-template/template-child-nodes-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/appending-to-a-template/template-child-nodes.html: Added.
- web-platform-tests/html/syntax/parsing/template/appending-to-a-template/w3c-import.log: Added.
- web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context: Added.
- web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context.html: Added.
- web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-context-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-context.html: Added.
- web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-row-context-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-row-context.html: Added.
- web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/w3c-import.log: Added.
- web-platform-tests/html/syntax/parsing/template/creating-an-element-for-the-token: Added.
- web-platform-tests/html/syntax/parsing/template/creating-an-element-for-the-token/template-owner-document-expected.txt: Added.
- web-platform-tests/html/syntax/parsing/template/creating-an-element-for-the-token/template-owner-document.html: Added.
- web-platform-tests/html/syntax/parsing/template/creating-an-element-for-the-token/w3c-import.log: Added.
LayoutTests:
- platform/mac/TestExpectations:
- 9:08 PM Changeset in webkit [200071] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
[JSC] Constant folding of UInt32ToNumber is incorrect
https://bugs.webkit.org/show_bug.cgi?id=157011
rdar://problem/25769641
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-25
Reviewed by Geoffrey Garen.
UInt32ToNumber should return the unsigned 32bit value of
its child. The abstract interpreter fails to do that when handling
Int52.
None of the tests caught that because the bytecode generator already
fold the operation if given a constant. If the constant is not visible
from the bytecode generator (for example because it comes from an inlined call),
then the abstract interpreter folding was producing invalid results.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- tests/stress/uint32-to-number-constant-folding.js: Added.
(uint32ToNumberMinusOne):
(uint32ToNumberMinusOnePlusInteger):
(inlineMinusOne):
(uint32ToNumberOnHiddenMinusOne):
(uint32ToNumberOnHiddenMinusOnePlusInteger):
(inlineLargeNegativeNumber1):
(inlineLargeNegativeNumber2):
(inlineLargeNegativeNumber3):
(uint32ToNumberOnHiddenLargeNegativeNumber1):
(uint32ToNumberOnHiddenLargeNegativeNumber2):
(uint32ToNumberOnHiddenLargeNegativeNumber3):
- 8:53 PM Changeset in webkit [200070] by
-
- 13 edits in trunk
[Cocoa] Guarantee FontPlatformData's m_cgFont is never nullptr
https://bugs.webkit.org/show_bug.cgi?id=156929
Reviewed by Darin Adler.
Source/WebCore:
After some investigation, it turns out that there is no place where it is meaningful
to pass us a null CoreText font. Therefore, the CoreGraphics font is also never null.
We should simply check for these null values at the ingestion site in order to
make the guarantee internally of having non-null values.
- platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData): Because the pointer is never null, we
can delete the code which handles that case.
- platform/graphics/FontPlatformData.h:
- platform/graphics/cocoa/FontPlatformDataCocoa.mm: Ditto.
(WebCore::webFallbackFontFamily): Deleted.
(WebCore::FontPlatformData::setFallbackCGFont): Deleted.
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Asking the
CTRun for its kCTFontAttributeName will always return non-null.
- platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData): Once we have a font descriptor,
CTFontCreateWithFontDescriptor() will always return non-null. We check if the font
descriptor is null elsewhere.
- platform/mac/DragImageMac.mm: The fonts in this file are gotten by asking for the
system font, which will always return non-null.
(WebCore::fontFromNSFont):
(WebCore::widthWithFont):
(WebCore::drawAtPoint):
(WebCore::createDragImageForLink):
Source/WebKit/mac:
- Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Drawing
a string with a null font shouldn't do anything.
- Misc/WebStringTruncator.mm: We can't truncate a string if we don't have a font
to use.
(+[WebStringTruncator centerTruncateString:toWidth:]):
(+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
(+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
(+[WebStringTruncator widthOfString:font:]):
Tools:
- TestWebKitAPI/Tests/mac/StringTruncator.mm:
(TestWebKitAPI::TEST):
- 8:52 PM Changeset in webkit [200069] by
-
- 3 edits in trunk/LayoutTests
Cloning a textarea does not clone the textarea's value
https://bugs.webkit.org/show_bug.cgi?id=156637
Reviewed by Chris Dumez.
https://dom.spec.whatwg.org/#concept-node-clone describes that the value
of a node shouldn't be copied when cloning the node.
- fast/forms/checkValidity-cloneNode-crash-expected.txt:
- fast/forms/checkValidity-cloneNode-crash.html:
- 8:22 PM Changeset in webkit [200068] by
-
- 4 edits in trunk/Source
Heap corruption is detected when destructing JSGlobalObject
https://bugs.webkit.org/show_bug.cgi?id=156831
Patch by Fujii Hironori <Fujii Hironori> on 2016-04-25
Reviewed by Mark Lam.
WebKit uses CRT static library on Windows. Each copy of the CRT
library has its own heap manager, allocating memory in one CRT
library and passing the pointer across a DLL boundary to be freed
by a different copy of the CRT library is a potential cause for
heap corruption.
Potential Errors Passing CRT Objects Across DLL Boundaries
<https://msdn.microsoft.com/en-us/library/ms235460(v=vs.140).aspx>
JSGlobalObject::createRareDataIfNeeded is inlined but
JSGlobalObject::~JSGlobalObject is not. Then, the heap of
allocating JSGlobalObjectRareData is WebKit.dll, but deallocating
JavaScriptCore.dll. Adding WTF_MAKE_FAST_ALLOCATED to
JSGlobalObjectRareData ensures heap consistency of it. WTF::Lock
also needs WTF_MAKE_FAST_ALLOCATED because it is allocated from
the inlined constructor of JSGlobalObjectRareData.
Source/JavaScriptCore:
Test: fast/dom/insertedIntoDocument-iframe.html
- runtime/JSGlobalObject.h:
Add WTF_MAKE_FAST_ALLOCATED to JSGlobalObjectRareData.
Source/WTF:
- wtf/Lock.h: Add WTF_MAKE_FAST_ALLOCATED.
- 6:00 PM Changeset in webkit [200067] by
-
- 15 edits in trunk/Source/WebInspectorUI
Web Inspector: hook up grid row filtering in the new Timelines UI
https://bugs.webkit.org/show_bug.cgi?id=154924
<rdar://problem/24934607>
Reviewed by Timothy Hatcher.
Re-implement timeline data grid filtering that previously existed in the
navigation sidebar. This patch adds support for filter text, scope bars,
and filtering based on ruler selection.
Multi-column filter support is now part of DataGrid. The grid checks compares
filter text against cell data of type string. DataGridNode subclasses may
provide custom string data for columns that format complex objects (such
as SourceCodeLocations). Cells containing data of type number are not
considered for filtering at this time.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.set filterText):
(WebInspector.DataGrid.prototype.get filterDelegate):
(WebInspector.DataGrid.prototype.set filterDelegate):
(WebInspector.DataGrid.prototype.filterDidChange):
Called internally by the grid whenever the filter text or delegate changes.
Also called by clients that implement a filter delegate, to inform the
grid that a custom filter has changed.
(WebInspector.DataGrid.prototype.hasCustomFilters):
(WebInspector.DataGrid.prototype.matchNodeAgainstCustomFilters):
Calls the filter delegate, if it exists, and provides a hook for
subclasses to provide custom filtering.
(WebInspector.DataGrid.prototype._applyFiltersToNode.matchTextFilter):
(WebInspector.DataGrid.prototype._applyFiltersToNode.makeVisible):
(WebInspector.DataGrid.prototype._applyFiltersToNode):
Filters data grid nodes and fires filter events as needed.
(WebInspector.DataGrid.prototype._hasFilterDelegate):
Helper function.
(WebInspector.DataGrid.prototype._updateVisibleRows):
Exclude hidden nodes from revealed rows.
(WebInspector.DataGrid.prototype._updateFilter):
Filtering entry point, called on an animation frame. Updates visible
rows if any node was filtered/unfiltered.
(WebInspector.DataGridNode):
(WebInspector.DataGridNode.prototype.get filterableData):
Gets an array of filterable strings for the node.
(WebInspector.DataGridNode.prototype.refresh):
Resets cached filterable strings.
(WebInspector.DataGridNode.prototype.filterableDataForColumn):
Can be overridden by subclasses to provide filterable text for complex
cell data, like as objects formatted as document fragments.
- UserInterface/Views/LayoutTimelineDataGridNode.js:
(WebInspector.LayoutTimelineDataGridNode.prototype.get data):
- UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView):
Register grid and remove logic that has been moved to the base class.
(WebInspector.LayoutTimelineView.prototype.filterDidChange):
Update highlight after grid filter change.
(WebInspector.LayoutTimelineView.prototype._dataGridSelectedNodeChanged):
Update highlight when selection changes.
(WebInspector.LayoutTimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted.
(WebInspector.LayoutTimelineView.prototype.treeElementDeselected): Deleted.
(WebInspector.LayoutTimelineView.prototype._dataGridFiltersDidChange): Deleted.
(WebInspector.LayoutTimelineView.prototype._dataGridNodeSelected): Deleted.
No longer needed.
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView):
Register grid and remove logic that has been moved to the base class.
(WebInspector.NetworkTimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted.
(WebInspector.NetworkTimelineView.prototype._dataGridFiltersDidChange): Deleted.
(WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected): Deleted.
No longer needed.
- UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView):
Register grid and remove logic that has been moved to the base class.
(WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected): Deleted.
No longer needed.
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView):
Register grid and remove logic that has been moved to the base class.
(WebInspector.RenderingFrameTimelineView.prototype.get filterStartTime):
(WebInspector.RenderingFrameTimelineView.prototype.get filterEndTime):
Convert selection indices into filter start and end times.
(WebInspector.RenderingFrameTimelineView.prototype.matchDataGridNodeAgainstCustomFilters):
Perform custom filtering on rendering frame duration.
(WebInspector.RenderingFrameTimelineView.prototype._scopeBarSelectionDidChange):
Inform grid of custom filter change.
(WebInspector.RenderingFrameTimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted.
(WebInspector.RenderingFrameTimelineView.prototype._dataGridNodeSelected): Deleted.
No longer needed.
- UserInterface/Views/ResourceTimelineDataGridNode.js:
(WebInspector.ResourceTimelineDataGridNode.prototype.filterableDataForColumn):
Use URL string for filtering "name" column.
- UserInterface/Views/ScriptClusterTimelineView.js:
(WebInspector.ScriptClusterTimelineView.prototype.updateFilter):
Forwarding for TimelineView API.
(WebInspector.ScriptClusterTimelineView.prototype.matchDataGridNodeAgainstCustomFilters):
(WebInspector.ScriptClusterTimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted.
Renamed to matchDataGridNodeAgainstCustomFilters.
(WebInspector.ScriptClusterTimelineView.prototype._scriptClusterViewCurrentContentViewDidChange): Deleted.
Removed FIXME comment. Updating TimelineView times is sufficient to trigger filtering.
- UserInterface/Views/ScriptDetailsTimelineView.js:
(WebInspector.ScriptDetailsTimelineView):
Register grid and remove logic that has been moved to the base class.
(WebInspector.ScriptDetailsTimelineView.prototype._dataGridFiltersDidChange): Deleted.
(WebInspector.ScriptDetailsTimelineView.prototype._dataGridNodeSelected): Deleted.
No longer needed.
- UserInterface/Views/ScriptTimelineDataGridNode.js:
(WebInspector.ScriptTimelineDataGridNode.prototype.filterableDataForColumn):
Use main title and subtitle strings for filtering "name" column.
(WebInspector.ScriptTimelineDataGridNode.prototype._createNameCellDocumentFragment):
(WebInspector.ScriptTimelineDataGridNode.prototype._subtitle):
Break out for use in filterableDataForColumn.
- UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid):
Cleanup variable names.
(WebInspector.TimelineDataGrid.prototype.hasCustomFilters):
Always true because filtering on ruler selection always occurs.
(WebInspector.TimelineDataGrid.prototype.matchNodeAgainstCustomFilters):
Match nodes against scope bar filters.
(WebInspector.TimelineDataGrid.prototype._scopeBarSelectedItemsDidChange):
Inform grid of custom filter change.
(WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters): Deleted.
Re-implemented as _nodeMatchesActiveScopeFilters.
(WebInspector.TimelineDataGrid.prototype._updateScopeBarForcedVisibility): Deleted.
Old UI. No longer needed.
- UserInterface/Views/TimelineDataGridNode.js:
(WebInspector.TimelineDataGridNode.prototype.filterableDataForColumn):
Filter strings for SourceCodeLocation and CallFrame objects.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
Listen for FilterBar changes and TimelineView record filtering.
(WebInspector.TimelineRecordingContentView.prototype._filterDidChange):
Update grid filters when filter bar changes.
(WebInspector.TimelineRecordingContentView.prototype._recordWasFiltered):
Update overview when records are filtered/unfiltered.
(WebInspector.TimelineRecordingContentView.prototype.filterDidChange): Deleted.
(WebInspector.TimelineRecordingContentView.prototype.recordWasFiltered): Deleted.
(WebInspector.TimelineRecordingContentView.prototype.matchTreeElementAgainstCustomFilters.checkTimeBounds): Deleted.
(WebInspector.TimelineRecordingContentView.prototype.matchTreeElementAgainstCustomFilters): Deleted.
Re-implemented in DataGrid.
(WebInspector.TimelineRecordingContentView.prototype._updateTimes): Deleted.
FIXME comment removed. Filtering occurs when TimelineView times are updated.
(WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged): Deleted.
- UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView):
(WebInspector.TimelineView.prototype.get navigationItems):
Used by TimelineRecordingContentView to add scope bar items to the
lower content browser's navigation bar.
(WebInspector.TimelineView.prototype.set startTime):
(WebInspector.TimelineView.prototype.set endTime):
(WebInspector.TimelineView.prototype.set currentTime):
Update grid filter when recording times change.
(WebInspector.TimelineView.prototype.get filterStartTime):
(WebInspector.TimelineView.prototype.get filterEndTime):
Let subclasses (RenderingFrameTimelineView) provide filter start/end times.
(WebInspector.TimelineView.prototype.setupDataGrid):
Register the grid used by the TimelineView subclass, allowing the base
class to hook into common event listeners and provide boilerplate functionality.
(WebInspector.TimelineView.prototype.updateFilter):
For data grid views, updates grid filters and sets new filter text.
(WebInspector.TimelineView.prototype.matchDataGridNodeAgainstCustomFilters):
(WebInspector.TimelineView.prototype.dataGridMatchNodeAgainstCustomFilters.checkTimeBounds):
(WebInspector.TimelineView.prototype.dataGridMatchNodeAgainstCustomFilters):
DataGrid filter delegate. Lets subclasses apply custom filters first,
then filters based on ruler selection if needed.
(WebInspector.TimelineView.prototype.filterDidChange):
Hook for subclasses to respond to filter changes.
(WebInspector.TimelineView.prototype._filterTimesDidChange.delayedWork):
(WebInspector.TimelineView.prototype._filterTimesDidChange):
Helper function for coalescing ruler selection updates into a single
filter update.
(WebInspector.TimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted.
(WebInspector.TimelineView.prototype.filterUpdated): Deleted.
No longer needed.
- 5:50 PM Changeset in webkit [200066] by
-
- 3 edits in trunk/Source/WebCore
Crash under MemoryCache::remove()
https://bugs.webkit.org/show_bug.cgi?id=157000
<rdar://problem/23344660>
Reviewed by Andreas Kling.
MemoryCache::evictResources() was caching the number of resources ('size')
in the cache for a particular sessionID, and then proceed to call
MemoryCache::remove() 'size' times using the first item in the HashMap
each time. This was unsafe because resources may be ref'ing each other
and therefore removing one may cause other resources to get removed as
well. In such case, we would call remove() too many times and crash because
we dereferenced resources.begin()->value (with the HashMap being empty).
This patch avoids the issue by copying the resources to a Vector and
ref'ing them first, before going on to remove each one from the cache.
- loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::forEachSessionResource):
(WebCore::MemoryCache::evictResources):
- loader/cache/MemoryCache.h:
- 5:44 PM Changeset in webkit [200065] by
-
- 11 edits2 adds in trunk
Web Inspector: React.js JSXTransformer produces bogus error locations
https://bugs.webkit.org/show_bug.cgi?id=150010
<rdar://problem/23062233>
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
Show dynamically added <script> elements added to a frame as resources.
For cases where the scripts had source map resources or error messages
we have a root from which to associate them to.
- Localizations/en.lproj/localizedStrings.js:
"Script Element %d" tree element title.
- UserInterface/Models/Frame.js:
(WebInspector.Frame.prototype.commitProvisionalLoad):
(WebInspector.Frame.prototype.get extraScripts):
(WebInspector.Frame.prototype.addExtraScript):
Have a frame keep a list of its extra scripts.
- UserInterface/Models/Script.js:
(WebInspector.Script):
(WebInspector.Script.prototype.get displayName):
(WebInspector.Script.prototype.get dynamicallyAddedScriptElement):
Identify dynamically added script elements and associate them
with the frame, instead of the frame's main resource.
- UserInterface/Views/FrameTreeElement.js:
(WebInspector.FrameTreeElement.prototype.onpopulate):
(WebInspector.FrameTreeElement.prototype._extraScriptAdded):
Show named / source mapped dynamic script elements under a frame.
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
Dynamically added script element Scripts will be added by the frame that
owns them.
- UserInterface/Views/ScriptTreeElement.js:
(WebInspector.ScriptTreeElement):
Don't include a subtitle for dynamicallyAddedScriptElement, details match
the frame that owns them.
LayoutTests:
- inspector/model/frame-extra-scripts-expected.txt: Added.
- inspector/model/frame-extra-scripts.html: Added.
Add a test for a WebInspector.Frame's extraScripts list.
- inspector/model/script-resource-relationship-expected.txt
- inspector/model/script-resource-relationship.html
Add a test for a dynamicallyAddedScriptElement.
Remove debug logging.
- 5:44 PM Changeset in webkit [200064] by
-
- 11 edits in trunk/Source/WebInspectorUI
Web Inspector: Line error widget showed in the wrong resource
https://bugs.webkit.org/show_bug.cgi?id=150009
<rdar://problem/23062199>
Reviewed by Timothy Hatcher.
This addresses a few long standing issues:
- IssueMessage and ConsoleMessage should not fight eachother
- Displayed issue messages now correctly have format string formatting, e.g. console.error("Foo %s", str)
- IssueMessage wraps a ConsoleMessage, so we don't duplicate everything
- Gives ConsoleMessage a sourceCodeLocation (lazy)
- Since a sourceCodeLocation can have the exact SourceCode, if it was a Script without a Resource, we can only show the error in the Script's editor.
- UserInterface/Models/CallFrame.js:
(WebInspector.CallFrame.fromPayload):
Prefer the script identifier lookup first. And from the Script go
to a resource if possible. This allows us to distinguish a location
that should be in a Script that doesn't have a Resource when there
exists a Resource with the same URL. This will soon be the case
for dyanamic <script> elements append to a document.
- UserInterface/Controllers/IssueManager.js:
(WebInspector.IssueManager.issueMatchSourceCode):
Consolidate all the different checks to this one function.
(WebInspector.IssueManager.prototype.issueWasAdded):
Create IssueMessages with ConsoleMessages.
(WebInspector.IssueManager.prototype.issuesForSourceCode):
Simplify now that we have the better check.
- UserInterface/Controllers/LogManager.js:
(WebInspector.LogManager.prototype.messageWasAdded):
Once a ConsoleMessage has been created (and modifiedparametersfor us)
create the IssueMessage if it was an issue.
- UserInterface/Models/ConsoleMessage.js:
(WebInspector.ConsoleMessage.prototype.get sourceCodeLocation):
Lazily create a source code from the best possible location. This can
be the top call frame or the url/line/column combination.
- UserInterface/Models/IssueMessage.js:
(WebInspector.IssueMessage):
Creation and most properties just call through to a ConsoleMessage.
Thetypeandtextare Issue specific. Anything that uses location
data should use the sourceCodeLocation.
(WebInspector.IssueMessage.prototype.saveIdentityToCookie):
Fix implementation that didn't account for a null sourceCodeLocation.
(WebInspector.IssueMessage.prototype._formatTextIfNecessary):
Basic text format message formatting.
- UserInterface/Protocol/ConsoleObserver.js:
(WebInspector.ConsoleObserver.prototype.messageAdded):
No longer call IssueMessage from the observer. Let LogManager trigger issues.
- UserInterface/Views/ContentView.js:
(WebInspector.ContentView.createFromRepresentedObject):
(WebInspector.ContentView.resolvedRepresentedObjectForRepresentedObject):
(WebInspector.ContentView.isViewable):
An IssueMessage represented object for an IssueMessageTreeElement should be
restorable by just going to the sourceCodeLocation it references. This is
identical to a Breakpoint.
- UserInterface/Views/IssueTreeElement.js:
(WebInspector.IssueTreeElement.prototype._updateTitles):
(WebInspector.IssueTreeElement):
- UserInterface/Views/ResourceContentView.js:
(WebInspector.ResourceContentView.prototype._issueWasAdded):
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._issueWasAdded):
(WebInspector.SourceCodeTextEditor.prototype._addIssue):
(WebInspector.SourceCodeTextEditor.prototype._reinsertAllIssues):
(WebInspector.SourceCodeTextEditor.prototype._matchesIssue): Deleted.
Update to use Issue's sourceCodeLocation or IssueManager's new APIs.
- 5:23 PM Changeset in webkit [200063] by
-
- 2 edits in trunk/LayoutTests
Marking fast/layers/no-clipping-overflow-hidden-added-after-transform.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=157007
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 5:13 PM Changeset in webkit [200062] by
-
- 4 edits in trunk/Source/WebCore
Crash under WebCore::MutationObserver::deliverAllMutations()
https://bugs.webkit.org/show_bug.cgi?id=156997
<rdar://problem/16542323>
Reviewed by Ryosuke Niwa.
The crash traces indicate that we may derefence a null pointer when
dereferencing MutationCallback::scriptExecutationContext() in
MutationObserver::canDeliver(). This can happen when the script
execution context gets destroyed as a JSMutationCallback is an
ActiveDOMObject, which is a ContextDestructionObserver.
This patch refactors the code so that MutationObserver::canDeliver()
now simply asks JSMutationCallback if it can invoke its callback.
JSMutationCallback makes this decision using
ActiveDOMCallback::canInvokeCallback() which does a proper null
check of the ScriptExecutationContext. This avoids some code
duplication and fixes the crash.
- bindings/js/JSMutationCallback.h:
- dom/MutationCallback.h:
- dom/MutationObserver.cpp:
(WebCore::MutationObserver::canDeliver):
- 5:12 PM Changeset in webkit [200061] by
-
- 2 edits in trunk/Source/WebCore
Fix a flaky test after r200032
- fileapi/File.cpp:
(WebCore::File::lastModified): This used to return a date object which did a WTF::timeClip on the double,
but now that we're returning a raw double we need to WTF::timeClip it ourselves.
- 4:50 PM Changeset in webkit [200060] by
-
- 9 edits in trunk/PerformanceTests
bmalloc: Misc improvements to MallocBench
https://bugs.webkit.org/show_bug.cgi?id=157004
Reviewed by Darin Adler.
- MallocBench/run-malloc-benchmarks: Added --memory and --memory_warning
modes for focused memory testing.
- MallocBench/MallocBench/Benchmark.cpp:
(Benchmark::printReport): Clarified output.
(Benchmark::currentMemoryBytes): Added compressed memory because top
does the same. (It always happens to zero in the benchmarks we run. But
this is good for sanity.)
- MallocBench/MallocBench/CommandLine.cpp: Moved up to 8 runs to reduce
variance.
- MallocBench/MallocBench/alloc_free.cpp:
(benchmark_alloc_free): Cycle a single allocation in order to stress
the effect of merging on calls to madvise.
- MallocBench/MallocBench/big.cpp:
(benchmark_big): Graduated to 8kB-128kB because medium tests up to 8 and
our large allocator doesn't kick in until 64kB.
- MallocBench/MallocBench/medium.cpp:
(benchmark_medium): Test all the way down to 1kB because our large
allocator used to service 1kB allocations and 1kB is an interesting
middle size where memory is unusually large but allocation throughput
still matters.
- MallocBench/MallocBench/stress.cpp:
(benchmark_stress): Reduced the churn count to match stress_aligned
because this test was taking too long to complete.
- MallocBench/MallocBench/stress_aligned.cpp:
(benchmark_stress_aligned): Our new large allocator can handle even
more absurdly large values.
- 4:41 PM Changeset in webkit [200059] by
-
- 3 edits in trunk/Tools
[Tools] whitelist all-uppercase JSTokenType enum in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=156976
Patch by Caitlin Potter <caitp@igalia.com> on 2016-04-25
Reviewed by Darin Adler.
Mitigate style-checker spam on bugs which introduce new JavaScript
token types.
- Scripts/webkitpy/style/checkers/cpp.py:
(_EnumState.init):
(_EnumState.process_clean_line):
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(NoNonVirtualDestructorsTest.test_enum_casing):
- 4:39 PM Changeset in webkit [200058] by
-
- 8 edits in trunk/Source/WebCore
[Web IDL] Specify default values for optional parameters of type 'float' / 'unrestricted float'
https://bugs.webkit.org/show_bug.cgi?id=156995
Reviewed by Darin Adler.
Specify default values for optional parameters of type 'float' / 'unrestricted float'
and let the bindings generator use WTF::Optional<> for the ones that do not have a
default value.
- bindings/scripts/CodeGeneratorJS.pm:
(CanUseWTFOptionalForParameter): Deleted.
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setStrokeColor):
(WebCore::CanvasRenderingContext2D::setFillColor):
(WebCore::CanvasRenderingContext2D::setShadow):
(WebCore::CanvasRenderingContext2D::fillText):
(WebCore::CanvasRenderingContext2D::strokeText):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
(WebCore::CanvasRenderingContext2D::clearShadow): Deleted.
(WebCore::normalizeSpaces): Deleted.
(WebCore::CanvasRenderingContext2D::measureText): Deleted.
- html/canvas/CanvasRenderingContext2D.h:
- html/canvas/CanvasRenderingContext2D.idl:
- testing/Internals.idl:
- 4:34 PM Changeset in webkit [200057] by
-
- 2 edits in trunk/Source/WebKit/mac
WebEditorClient should properly write to m_rangeForCandidates
https://bugs.webkit.org/show_bug.cgi?id=157003
-and corresponding-
rdar://problem/25910418
Reviewed by Tim Horton.
Actually write to m_rangeForCandidates instead of declaring a local variable
of the same name. :-/
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCandidatesForSelection):
- 4:13 PM Changeset in webkit [200056] by
-
- 6 edits in trunk
Add port 4190 (managesieve) to port blacklist
https://bugs.webkit.org/show_bug.cgi?id=156986
<rdar://problem/9119470>
Reviewed by Daniel Bates.
Source/WebCore:
Tested by security/block-test.html.
- platform/URL.cpp:
(WebCore::portAllowed): Add 4190 to the port blacklist.
LayoutTests:
- platform/mac/security/block-test-expected.txt
- security/block-test-expected.txt:
- security/block-test.html:
- 4:04 PM Changeset in webkit [200055] by
-
- 73 edits1 add in trunk/LayoutTests
Rebaseline editing tests for ios-simulator-wk1
Unreviewed test gardening
- platform/ios-simulator-wk1/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
- +71 more
- 3:40 PM Changeset in webkit [200054] by
-
- 3 edits2 adds in trunk
AX: Crash at -[WebAccessibilityObjectWrapper accessibilityAttributeValue:] + 4391
https://bugs.webkit.org/show_bug.cgi?id=156987
Reviewed by Chris Fleizach.
Source/WebCore:
When we hit test on a slider indicator asking for the value when the parent slider's
accessibility object is not created or the parent slider has been removed, it will cause
crash. Fixed it by adding a check to see if the object is detached from the parent.
Test: accessibility/mac/slider-thumb-value-crash.html
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
LayoutTests:
- accessibility/mac/slider-thumb-value-crash-expected.txt: Added.
- accessibility/mac/slider-thumb-value-crash.html: Added.
- 3:40 PM Changeset in webkit [200053] by
-
- 3 edits in trunk/Tools
Fix issues with content-animation performance tests
https://bugs.webkit.org/show_bug.cgi?id=157001
Reviewed by Sam Weinig.
Add patch content for svg-animation.html, and fix the paths in the patch so
it applies correctly.
Add the patch file to the .plan file.
- Scripts/webkitpy/benchmark_runner/data/patches/ContentAnimation.patch:
- Scripts/webkitpy/benchmark_runner/data/plans/content-animation.plan:
- 2:58 PM Changeset in webkit [200052] by
-
- 2 edits in trunk/Source/WebCore
WebKitPlaybackSessionModelMediaElement should initialize the interface added by setWebPlaybackSessionInterface() with initial data
https://bugs.webkit.org/show_bug.cgi?id=156996
Reviewed by Beth Dakin.
Notify the interface of the current values in the media element when the model is given an interface.
- platform/cocoa/WebPlaybackSessionModelMediaElement.mm:
(WebPlaybackSessionModelMediaElement::setWebPlaybackSessionInterface):
- 2:38 PM Changeset in webkit [200051] by
-
- 2 edits in trunk/LayoutTests
Attempt to fix a flaky test after r200032
https://bugs.webkit.org/show_bug.cgi?id=156994
- http/tests/local/fileapi/script-tests/file-last-modified-after-delete.js: Missed renaming this along with all the others.
- 2:13 PM Changeset in webkit [200050] by
-
- 2 edits in trunk/Source/WebKit2
Crash under -[WKWebView _mayAutomaticallyShowVideoPictureInPicture] + 32 (WKWebView.mm:309)
https://bugs.webkit.org/show_bug.cgi?id=156990
<rdar://problem/25904376>
Reviewed by Jer Noble.
In case of WebProcess crash, WebPageProxy::processDidCrash() will call resetState() which
will nullify WebPageProxy::m_videoFullscreenManager. In WebPageProxy::reattachToWebProcess(),
we then call updateViewState() before re-initializing m_videoFullscreenManager, and
updateViewState() ends up calling [WKWebView _mayAutomaticallyShowVideoPictureInPicture]
which dereferences WebPageProxy::m_videoFullscreenManager without null check. This patch
adds a null check for m_videoFullscreenManager in _mayAutomaticallyShowVideoPictureInPicture.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]):
- 2:07 PM Changeset in webkit [200049] by
-
- 2 edits1 add in trunk/PerformanceTests
Add a content animation test that uses SVG animation.
https://bugs.webkit.org/show_bug.cgi?id=156827
- Animation/svg-animation.html: Added.
- Skipped:
- 1:59 PM Changeset in webkit [200048] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
Crash using @tryGetById in DFG
https://bugs.webkit.org/show_bug.cgi?id=156992
Reviewed by Filip Pizlo.
We need to spill live registers when compiling TryGetById in DFG.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileTryGetById):
- tests/stress/regress-156992.js: New test.
(tryMultipleGetByIds):
(test):
- 1:56 PM Changeset in webkit [200047] by
-
- 9 edits4 adds in trunk
Toggling animation-play-state can re-start a finished animation
https://bugs.webkit.org/show_bug.cgi?id=156731
Reviewed by Dean Jackson.
Source/WebCore:
After an animation completed, CompositeAnimation::updateKeyframeAnimations() cleared
all state that the animation had run on the element, so changing the value of some
animation property triggered the animation to run again. This is wrong, since animation-name
still applied to the element.
Fix by keeping state for keyframe animations in the Done state in the m_keyframeAnimations
map. This allows for the removal of the index property on KeyframeAnimation.
Tests: animations/change-completed-animation-transform.html
animations/change-completed-animation.html
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::timeToNextService):
- page/animation/AnimationBase.h:
(WebCore::AnimationBase::isAnimatingProperty):
- page/animation/CompositeAnimation.cpp: Add animations that should stick around to AnimationNameMap,
and swap with m_keyframeAnimations at the end.
(WebCore::CompositeAnimation::updateKeyframeAnimations):
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::getAnimatedStyle):
- page/animation/KeyframeAnimation.h:
LayoutTests:
- animations/animation-direction-reverse-expected.txt:
- animations/animation-direction-reverse.html: This is a progression. The test was detecting a
restarted animation.
- animations/change-completed-animation-expected.txt: Added.
- animations/change-completed-animation-transform-expected.html: Added.
- animations/change-completed-animation-transform.html: Added. Ref test that ensures that the final
state for normal and accelerated animations is correct.
- animations/change-completed-animation.html: Added. Tests that changing a property doesn't trigger
another animation, by detecting a second animationstart event.
- 1:51 PM WebKitGTK/2.12.x edited by
- (diff)
- 1:48 PM Changeset in webkit [200046] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Crashes if DISPLAY is unset
https://bugs.webkit.org/show_bug.cgi?id=156972
Reviewed by Carlos Garcia Campos.
If DISPLAY is unset then m_display will be NULL, crashing WebKit
when XCloseDisplay is called in the PlatformDisplayX11 destructor.
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::~PlatformDisplayX11):
- 1:33 PM Changeset in webkit [200045] by
-
- 2 edits in trunk/Tools
Tweaking IndexedDB watchlist and adding myself to it.
- Scripts/webkitpy/common/config/watchlist:
- 1:07 PM Changeset in webkit [200044] by
-
- 2 edits in trunk/Source/WebCore
Update JS bindings test results after r200037
Unreviewed test gardening.
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
- 1:06 PM Changeset in webkit [200043] by
-
- 8 edits2 adds in trunk
play-state not parsed as part of animation shorthand
https://bugs.webkit.org/show_bug.cgi?id=156959
Reviewed by Darin Adler.
Source/WebCore:
We failed to parse animation-play-state as part of the animation shorthand, contrary
to the spec and other browsers.
Fix for both the prefixed and unprefixed properties. There is some compat risk here,
but only changing unprefixed behavior will probably lead to more author confusion.
Test: animations/play-state-in-shorthand.html
- css/CSSParser.cpp:
(WebCore::CSSParser::parseAnimationShorthand):
- css/CSSPropertyNames.in:
- css/StylePropertyShorthand.cpp:
(WebCore::animationShorthandForParsing): Remove the long comment which is no longer relevant
now that the behavior has been written into the spec.
LayoutTests:
- animations/animation-shorthand-expected.txt:
- animations/animation-shorthand.html:
- animations/play-state-in-shorthand-expected.txt: Added.
- animations/play-state-in-shorthand.html: Added.
- animations/resources/animation-test-helpers.js:
(getPropertyValue):
(comparePropertyValue):
- 1:06 PM Changeset in webkit [200042] by
-
- 4 edits2 adds in trunk
Negative animation-delay is treated as 0s
https://bugs.webkit.org/show_bug.cgi?id=141008
Reviewed by Daniel Bates.
Source/WebCore:
Fix keyframe animations which start in the paused state.
Explicitly move such animations from the new to the paused state, and
set m_pauseTime to 0, rather than leaving it at -1. Fix getElapsedTime()
to compute a correct time elapsed time for such animations, which takes
negative delay into account correctly.
Fix assertions which need to account for the new transition of New -> PlayStatePaused.
Test: animations/play-state-start-paused.html
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::updateStateMachine):
(WebCore::AnimationBase::getElapsedTime):
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::animate):
LayoutTests:
Ref test that has an initially-paused animation on 'left' and with a
3d transform.
- animations/play-state-start-paused-expected.html: Added.
- animations/play-state-start-paused.html: Added.
- 12:49 PM Changeset in webkit [200041] by
-
- 393 edits in trunk/Source/WebCore
Inline RenderStyle into RenderElement
https://bugs.webkit.org/show_bug.cgi?id=156981
Reviewed by Andreas Kling.
We can save memory and reduce indirection of style access by inlining RenderStyle to RenderElement.
This patch also makes RenderStyle moveable and switches from std::unique_ptr<RenderStyle> to RenderStyle&&
in many places where ownership is passed.
- Modules/plugins/PluginReplacement.h:
(WebCore::PluginReplacement::scriptObject):
(WebCore::PluginReplacement::willCreateRenderer):
- Modules/plugins/QuickTimePluginReplacement.h:
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::~QuickTimePluginReplacement):
(WebCore::QuickTimePluginReplacement::createElementRenderer):
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::YouTubePluginReplacement):
(WebCore::YouTubePluginReplacement::createElementRenderer):
- Modules/plugins/YouTubePluginReplacement.h:
- css/StyleResolver.cpp:
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::defaultStyleForElement):
(WebCore::StyleResolver::addToMatchedPropertiesCache):
(WebCore::StyleResolver::applyPropertyToStyle):
- dom/Document.cpp:
(WebCore::Document::recalcStyle):
(WebCore::Document::webkitWillEnterFullScreenForElement):
(WebCore::Document::setFullScreenRenderer):
- dom/Element.cpp:
(WebCore::Element::rendererIsNeeded):
(WebCore::Element::createElementRenderer):
- dom/Element.h:
(WebCore::Element::copyNonAttributePropertiesFromElement):
- dom/PseudoElement.cpp:
(WebCore::PseudoElement::resolveCustomStyle):
(WebCore::PseudoElement::didAttachRenderers):
(WebCore::PseudoElement::didRecalcStyle):
- html/BaseButtonInputType.cpp:
(WebCore::BaseButtonInputType::appendFormData):
(WebCore::BaseButtonInputType::createInputRenderer):
- html/BaseButtonInputType.h:
- html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::createInputRenderer):
- html/FileInputType.h:
- html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::rendererIsNeeded):
(WebCore::HTMLAppletElement::createElementRenderer):
...
- 12:43 PM Changeset in webkit [200040] by
-
- 3 edits in trunk/Tools
Unreviewed, rolling out r199916.
https://bugs.webkit.org/show_bug.cgi?id=156989
Might break buildbot when master is restarted (Requested by
Srinivasan Vijayaraghava, Guest100, on #webkit).
Reverted changeset:
"Add JSC test results in json format to a buildbot log"
https://bugs.webkit.org/show_bug.cgi?id=156920
http://trac.webkit.org/changeset/199916
Patch by Commit Queue <commit-queue@webkit.org> on 2016-04-25
- 12:37 PM Changeset in webkit [200039] by
-
- 2 edits in trunk/Source/WebCore
Stop listening for "media can start" notifications when media player is cleared
https://bugs.webkit.org/show_bug.cgi?id=156985
<rdar://problem/23158505>
Reviewed by Jer Noble.
No new tests, I have not been able to create a test that reliably reproduces this.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadInternal): Add logging.
(WebCore::HTMLMediaElement::selectMediaResource): Assert and return early if there is
no media player.
(WebCore::HTMLMediaElement::clearMediaPlayer): Stop listening for can start notifications.
(WebCore::HTMLMediaElement::visibilityStateChanged): Add logging.
(WebCore::HTMLMediaElement::mediaCanStart): Ditto.
- 12:08 PM Changeset in webkit [200038] by
-
- 8 edits in trunk/Source/JavaScriptCore
We don't have to parse a function's parameters every time if the function is in the source provider cache
https://bugs.webkit.org/show_bug.cgi?id=156943
Reviewed by Filip Pizlo.
This patch makes a few changes to make parsing inner functions
faster.
First, we were always parsing an inner function's parameter
list using the templatized TreeBuiler. This means if our parent scope
was building an AST, we ended up building AST nodes for the inner
function's parameter list even though these nodes would go unused.
This patch fixes that to *always* build an inner function's parameter
list using the SyntaxChecker. (Note that this is consistent now with
always building an inner function's body with a SyntaxChecker.)
Second, we were always parsing an inner function's parameter list
even if we had that function saved in the source provider cache.
I've fixed that bug and made it so that we skip over the parsing
of a function's parameter list when it's in the source provider
cache. We could probably enhance this in the future to skip
over the entirety of a function starting at the "function"
keyword or any other start of the function (depending on
the function type: arrow function, method, etc).
This patch also renames a few fields. First, I fixed a typo
from "tocken" => "token" for a few field names. Secondly,
I renamed a field that was called 'bodyStartColumn' to
'parametersStartColumn' because the field really held the
parameter list's start column.
I'm benchmarking this as a 1.5-2% octane/jquery speedup
on a 15" MBP.
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createFunctionExpr):
(JSC::ASTBuilder::createMethodDefinition):
(JSC::ASTBuilder::createArrowFunctionExpr):
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createFuncDeclStatement):
- parser/Lexer.cpp:
(JSC::Lexer<T>::lex):
- parser/Lexer.h:
(JSC::Lexer::currentPosition):
(JSC::Lexer::positionBeforeLastNewline):
(JSC::Lexer::lastTokenLocation):
(JSC::Lexer::setLastLineNumber):
(JSC::Lexer::lastLineNumber):
(JSC::Lexer::prevTerminator):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::parseGeneratorFunctionSourceElements):
(JSC::Parser<LexerType>::parseFunctionBody):
(JSC::stringForFunctionMode):
(JSC::Parser<LexerType>::parseFunctionParameters):
(JSC::Parser<LexerType>::parseFunctionInfo):
- parser/Parser.h:
(JSC::Scope::usedVariablesContains):
(JSC::Scope::forEachUsedVariable):
(JSC::Scope::useVariable):
(JSC::Scope::copyCapturedVariablesToVector):
(JSC::Scope::fillParametersForSourceProviderCache):
(JSC::Scope::restoreFromSourceProviderCache):
- parser/ParserFunctionInfo.h:
- parser/SourceProviderCacheItem.h:
(JSC::SourceProviderCacheItem::endFunctionToken):
(JSC::SourceProviderCacheItem::usedVariables):
(JSC::SourceProviderCacheItem::SourceProviderCacheItem):
- 11:38 AM Changeset in webkit [200037] by
-
- 5 edits in trunk/Source/WebCore
[Web IDL] Specify default values for parameters of type 'unsigned short'
https://bugs.webkit.org/show_bug.cgi?id=156967
Reviewed by Darin Adler.
Specify default values for parameters of type 'unsigned short' and let
the bindings generator use WTF::Optional<> for the ones without a
default value.
- bindings/scripts/CodeGeneratorJS.pm:
(CanUseWTFOptionalForParameter):
(GenerateParametersCheck):
- testing/Internals.cpp:
(WebCore::Internals::layerTreeAsText): Deleted.
(WebCore::Internals::displayListForElement): Deleted.
(WebCore::Internals::replayDisplayListForElement): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
- 11:38 AM Changeset in webkit [200036] by
-
- 11 edits2 adds in trunk/Source
[Win][IndexedDB] Fix build errors.
https://bugs.webkit.org/show_bug.cgi?id=156713
Reviewed by Alex Christensen.
Fix compile and link errors when building with IndexedDB enabled.
Source/WebCore:
- Modules/indexeddb/IDBCursor.h:
- Modules/indexeddb/IDBTransaction.cpp:
- Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
- Modules/indexeddb/server/MemoryIDBBackingStore.h:
- PlatformWin.cmake:
- platform/win/FileSystemWin.cpp:
(WebCore::hardLinkOrCopyFile):
Source/WebKit:
- PlatformWin.cmake:
Source/WebKit/win:
- WebView.cpp:
(WebView::notifyPreferencesChanged):
- storage: Added.
- storage/WebDatabaseProvider.cpp: Added.
(WebDatabaseProvider::indexedDatabaseDirectoryPath):
- 11:20 AM Changeset in webkit [200035] by
-
- 4 edits in trunk/Source/bmalloc
2016-04-25 Geoffrey Garen <ggaren@apple.com>
bmalloc: vm allocations should plant guard pages
https://bugs.webkit.org/show_bug.cgi?id=156937
Rolling back in r199936 with a fix for the memory regression.
- 10:48 AM Changeset in webkit [200034] by
-
- 37 edits in trunk/Source/JavaScriptCore
Renaming SpecInt32, SpecInt52, MachineInt to SpecInt32Only, SpecInt52Only, AnyInt.
https://bugs.webkit.org/show_bug.cgi?id=156941
Reviewed by Filip Pizlo.
While looking at https://bugs.webkit.org/show_bug.cgi?id=153431, it was decided
that SpecInt32Only, SpecInt52Only, and AnyInt would be better names for
SpecInt32, SpecInt52, and MachineInt. Let's do a bulk rename.
This is only a renaming patch, and deletion of a piece of unused code. There are
no semantic changes.
- bindings/ScriptValue.cpp:
(Inspector::jsToInspectorValue):
- bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):
(JSC::speculationToAbbreviatedString):
(JSC::speculationFromValue):
(JSC::leastUpperBoundOfStrictlyEquivalentSpeculations):
(JSC::typeOfDoubleNegation):
(JSC::typeOfDoubleRounding):
- bytecode/SpeculatedType.h:
(JSC::isInt32Speculation):
(JSC::isInt32OrBooleanSpeculation):
(JSC::isInt32SpeculationForArithmetic):
(JSC::isInt32OrBooleanSpeculationForArithmetic):
(JSC::isInt32OrBooleanSpeculationExpectingDefined):
(JSC::isInt52Speculation):
(JSC::isAnyIntSpeculation):
(JSC::isAnyIntAsDoubleSpeculation):
(JSC::isDoubleRealSpeculation):
(JSC::isMachineIntSpeculation): Deleted.
(JSC::isInt52AsDoubleSpeculation): Deleted.
(JSC::isIntegerSpeculation): Deleted.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::set):
(JSC::DFG::AbstractValue::fixTypeForRepresentation):
(JSC::DFG::AbstractValue::checkConsistency):
(JSC::DFG::AbstractValue::resultType):
- dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::validateType):
- dfg/DFGArgumentsUtilities.cpp:
(JSC::DFG::emitCodeToGetArgumentsArrayLength):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupToThis):
(JSC::DFG::FixupPhase::observeUseKindOnNode):
(JSC::DFG::FixupPhase::fixIntConvertingEdge):
(JSC::DFG::FixupPhase::fixIntOrBooleanEdge):
(JSC::DFG::FixupPhase::fixDoubleOrBooleanEdge):
(JSC::DFG::FixupPhase::truncateConstantToInt32):
(JSC::DFG::FixupPhase::attemptToMakeIntegerAdd):
(JSC::DFG::FixupPhase::prependGetArrayLength):
(JSC::DFG::FixupPhase::fixupChecksInBlock):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::addShouldSpeculateInt32):
(JSC::DFG::Graph::addShouldSpeculateAnyInt):
(JSC::DFG::Graph::binaryArithShouldSpeculateInt32):
(JSC::DFG::Graph::binaryArithShouldSpeculateAnyInt):
(JSC::DFG::Graph::unaryArithShouldSpeculateInt32):
(JSC::DFG::Graph::unaryArithShouldSpeculateAnyInt):
(JSC::DFG::Graph::addShouldSpeculateMachineInt): Deleted.
(JSC::DFG::Graph::binaryArithShouldSpeculateMachineInt): Deleted.
(JSC::DFG::Graph::unaryArithShouldSpeculateMachineInt): Deleted.
- dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::initialize):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::noticeOSREntry):
- dfg/DFGNode.cpp:
(JSC::DFG::Node::convertToIdentityOn):
- dfg/DFGNode.h:
(JSC::DFG::Node::asNumber):
(JSC::DFG::Node::isAnyIntConstant):
(JSC::DFG::Node::asAnyInt):
(JSC::DFG::Node::isBooleanConstant):
(JSC::DFG::Node::shouldSpeculateInt32OrBooleanExpectingDefined):
(JSC::DFG::Node::shouldSpeculateAnyInt):
(JSC::DFG::Node::shouldSpeculateDouble):
(JSC::DFG::Node::shouldSpeculateNumber):
(JSC::DFG::Node::isMachineIntConstant): Deleted.
(JSC::DFG::Node::asMachineInt): Deleted.
(JSC::DFG::Node::shouldSpeculateMachineInt): Deleted.
- dfg/DFGOSREntry.cpp:
(JSC::DFG::OSREntryData::dumpInContext):
(JSC::DFG::prepareOSREntry):
- dfg/DFGOSREntry.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSSALoweringPhase.cpp:
(JSC::DFG::SSALoweringPhase::handleNode):
(JSC::DFG::SSALoweringPhase::lowerBoundsCheck):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::silentFill):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileArithAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
(JSC::DFG::SpeculativeJIT::compileArithNegate):
(JSC::DFG::SpeculativeJIT::speculateInt32):
(JSC::DFG::SpeculativeJIT::speculateNumber):
(JSC::DFG::SpeculativeJIT::speculateMisc):
(JSC::DFG::SpeculativeJIT::speculate):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::spill):
(JSC::DFG::SpeculativeJIT::isKnownInteger):
(JSC::DFG::SpeculativeJIT::isKnownCell):
(JSC::DFG::SpeculativeJIT::isKnownNotInteger):
(JSC::DFG::SpeculativeJIT::isKnownNotNumber):
(JSC::DFG::SpeculativeJIT::isKnownNotCell):
(JSC::DFG::SpeculativeJIT::isKnownNotOther):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt52):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::blessBoolean):
(JSC::DFG::SpeculativeJIT::convertAnyInt):
(JSC::DFG::SpeculativeJIT::speculateAnyInt):
(JSC::DFG::SpeculativeJIT::speculateDoubleRepAnyInt):
(JSC::DFG::SpeculativeJIT::convertMachineInt): Deleted.
(JSC::DFG::SpeculativeJIT::speculateMachineInt): Deleted.
(JSC::DFG::SpeculativeJIT::speculateDoubleRepMachineInt): Deleted.
- dfg/DFGUseKind.cpp:
(WTF::printInternal):
- dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isNumerical):
(JSC::DFG::isDouble):
- dfg/DFGValidate.cpp:
- dfg/DFGVariableAccessData.cpp:
(JSC::DFG::VariableAccessData::makePredictionForDoubleFormat):
(JSC::DFG::VariableAccessData::couldRepresentInt52Impl):
(JSC::DFG::VariableAccessData::flushFormat):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileInt52Constant):
(JSC::FTL::DFG::LowerDFGToB3::compileInt52Rep):
(JSC::FTL::DFG::LowerDFGToB3::compileArithAddOrSub):
(JSC::FTL::DFG::LowerDFGToB3::compileArithNegate):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileArrayPush):
(JSC::FTL::DFG::LowerDFGToB3::lowInt32):
(JSC::FTL::DFG::LowerDFGToB3::strictInt52ToInt32):
(JSC::FTL::DFG::LowerDFGToB3::isInt32):
(JSC::FTL::DFG::LowerDFGToB3::isNotInt32):
(JSC::FTL::DFG::LowerDFGToB3::jsValueToStrictInt52):
(JSC::FTL::DFG::LowerDFGToB3::doubleToStrictInt52):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateCellOrOther):
(JSC::FTL::DFG::LowerDFGToB3::speculateAnyInt):
(JSC::FTL::DFG::LowerDFGToB3::speculateDoubleRepReal):
(JSC::FTL::DFG::LowerDFGToB3::speculateDoubleRepAnyInt):
(JSC::FTL::DFG::LowerDFGToB3::speculateMachineInt): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::speculateDoubleRepMachineInt): Deleted.
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_profile_type):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_profile_type):
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::isInt52):
(JSC::JSValue::isAnyInt):
(JSC::JSValue::asAnyInt):
(JSC::JSValue::isMachineInt): Deleted.
(JSC::JSValue::asMachineInt): Deleted.
- runtime/RuntimeType.cpp:
(JSC::runtimeTypeForValue):
(JSC::runtimeTypeAsString):
- runtime/RuntimeType.h:
- runtime/TypeSet.cpp:
(JSC::TypeSet::dumpTypes):
(JSC::TypeSet::displayName):
(JSC::TypeSet::inspectorTypeSet):
(JSC::TypeSet::toJSONString):
- 10:33 AM Changeset in webkit [200033] by
-
- 3 edits in trunk/Source/WebKit2
Fix a couple of mistakes from r199700.
Rubber-stamped by Anders Carlsson.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h: Added availability attributes to new properties.
- WebKit2.xcodeproj/project.pbxproj: Demoted _WKExperimentalFeatureInternal.h from Private to Project.
- 10:31 AM Changeset in webkit [200032] by
-
- 14 edits3 adds in trunk
Implement latest File object spec (including its constructor).
https://bugs.webkit.org/show_bug.cgi?id=156511
Reviewed by Darin Adler.
Source/WebCore:
Test: fast/files/file-constructor.html
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
- bindings/js/JSDictionary.h:
- bindings/js/JSFileCustom.cpp: Added.
(WebCore::constructJSFile):
- fileapi/File.cpp:
(WebCore::File::File):
(WebCore::File::lastModified):
(WebCore::File::lastModifiedDate): Deleted.
- fileapi/File.h:
- fileapi/File.idl:
LayoutTests:
- fast/files/file-constructor-expected.txt: Added.
- fast/files/file-constructor.html: Added.
- http/tests/local/fileapi/file-last-modified-after-delete-expected.txt:
- http/tests/local/fileapi/script-tests/file-last-modified-after-delete.js:
- http/tests/local/fileapi/file-last-modified-expected.txt:
- http/tests/local/fileapi/script-tests/file-last-modified.js:
- imported/blink/storage/indexeddb/blob-basics-metadata-expected.txt:
- 10:03 AM Changeset in webkit [200031] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r156846): Crashes with guard malloc
https://bugs.webkit.org/show_bug.cgi?id=156984
Reviewed by Andreas Kling.
RenderElement::cachedFirstLineStyle() returns pointer to local std::unique_ptr.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::uncachedFirstLineStyle):
(WebCore::RenderElement::cachedFirstLineStyle):
(WebCore::RenderElement::firstLineStyle):
(WebCore::firstLineStyleForCachedUncachedType): Deleted.
Don't try to use a single function for the cached and uncached cases. Separate the cases into the calling functions.
- 9:27 AM Changeset in webkit [200030] by
-
- 4 edits4 adds in trunk
REGRESSION (r196012): Subresource may be blocked by Content Security Policy if it only matches 'self'
https://bugs.webkit.org/show_bug.cgi?id=156935
<rdar://problem/25351286>
Reviewed by Darin Adler.
Source/WebCore:
Fixes an issue where subresource load may be blocked by the Content Security Policy (CSP) if its URL only
matched 'self'. In particular, the load would be blocked if initiated from a document that inherited the
origin of its owner document (e.g. the document contained in <iframe src="about:blank"></iframe>).
Following r196012 we compute and cache 'self' and its protocol on instantiation of a ContentSecurityPolicy
object for use when matching a URL against it. These cached values become out-of-date if the document
subsequently inherits the origin of its owner document. Therefore matches against 'self' will fail and
CSP will block a load if its not otherwise allowed by the policy. Previously we would compute 'self' when
parsing the definition of a source list and compute the protocol for 'self' each time we tried to match a
URL against 'self'. So, 'self' would always be up-to-date with respect to the origin of the document.
Tests: http/tests/security/contentSecurityPolicy/iframe-blank-url-programmatically-add-external-script.html
http/tests/security/contentSecurityPolicy/iframe-srcdoc-external-script.html
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::ContentSecurityPolicy): Extract out logic for computing and caching
'self' and its protocol into ContentSecurityPolicy::updateSourceSelf() and make use of this function.
(WebCore::ContentSecurityPolicy::updateSourceSelf): Computes and caches 'self' and its protocol with
respect to the specified SecurityOrigin.
(WebCore::ContentSecurityPolicy::applyPolicyToScriptExecutionContext): Call ContentSecurityPolicy::updateSourceSelf()
to ensure that we have an up-to-date representation for 'self' and the protocol of 'self' which can
become out-of-date if the document inherited the origin of its owner document.
- page/csp/ContentSecurityPolicy.h:
LayoutTests:
Add tests to ensure that we match 'self' correctly in an iframe with an about:blank document.
- http/tests/security/contentSecurityPolicy/iframe-blank-url-programmatically-add-external-script-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/iframe-blank-url-programmatically-add-external-script.html: Added.
- http/tests/security/contentSecurityPolicy/iframe-srcdoc-external-script-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/iframe-srcdoc-external-script.html: Added.
- 9:26 AM Changeset in webkit [200029] by
-
- 2 edits in trunk/LayoutTests
Marking media/video-fullscreen-restriction-removed.html as flaky on Mac
https://bugs.webkit.org/show_bug.cgi?id=156983
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 8:57 AM Changeset in webkit [200028] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199807 - Crash under WebCore::TextIterator::subrange()
https://bugs.webkit.org/show_bug.cgi?id=156809
<rdar://problem/21102730>
Reviewed by Ryosuke Niwa.
TextIterator::rangeFromLocationAndLength() may return null. However, we
failed to do a null check before calling TextIterator::subrange() with
that range.
No new tests, do not know how to reproduce.
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::applyAlternativeTextToRange):
- 8:55 AM Changeset in webkit [200027] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199781 - Potential overflow in RenderLayer::hitTestList()
https://bugs.webkit.org/show_bug.cgi?id=156804
Reviewed by Simon Fraser.
Use size_t type instead of int to iterate over the Vector to make sure
we don't overflow. This is a speculative fix for <rdar://problem/23249479>.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestList):
- 8:54 AM Changeset in webkit [200026] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199769 - [Cairo] Crash in GraphicsContext::drawFocusRing when painting is disabled
https://bugs.webkit.org/show_bug.cgi?id=156785
Reviewed by Žan Doberšek.
This happens for example when view state changes to focus and paint is called from
FrameView::updateControlTints() with a graphics context that doesn't have a platform context. Layout test
fast/images/image-map-outline-with-scale-transform.html sometimes crashes because of this.
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawFocusRing): Return early if painting is disabled.
- 8:53 AM Changeset in webkit [200025] by
-
- 7 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r199759 - bmalloc: fix up overflow checks
https://bugs.webkit.org/show_bug.cgi?id=156780
Reviewed by Mark Lam.
We used to try to avoid overflow in large object math by setting a very
high limit on the largest large object. But that's a bit error-prone
since the check is far away from the math that might overflow -- and
we were missing some cases.
This patch removes the limit and instead checks at each math site.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::tryAllocate):
(bmalloc::Allocator::allocate):
(bmalloc::Allocator::reallocate):
(bmalloc::Allocator::allocateSlowCase): Remove the limit. tryAllocateLarge
will check for overflow for us.
- bmalloc/Chunk.h: This ASSERT was just totally wrong.
- bmalloc/Heap.cpp:
(bmalloc::Heap::tryAllocateLarge): Check for overflow when adding.
- bmalloc/Sizes.h:
- bmalloc/VMAllocate.h:
(bmalloc::tryVMAllocate): Check for overflow when adding.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::tryAllocateLargeChunk): Check for overflow when adding.
- 8:53 AM Changeset in webkit [200024] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r199756 - Unreviewed, try to fix an ASSERT seen on the bots.
- bmalloc/Heap.cpp: (bmalloc::Heap::tryAllocateLarge): This ASSERT is supposed to be about alignment, not size. Oops.
- 8:50 AM Changeset in webkit [200023] by
-
- 20 edits1 add10 deletes in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r199746 - bmalloc: Merge the large and xlarge allocators
https://bugs.webkit.org/show_bug.cgi?id=156734
Reviewed by Andreas Kling.
This give us better defense against worst case memory usage:
Baseline Patch Δ
Peak Memory:
nimlang 198,132kB 181,468kB 1.09x smaller
It also eliminates inline metadata for large objects, fixing the
regression introduced in r198675, and more:
run-malloc-benchmarks Baseline:~/OpenSource/WebKitBuildBaseline/Release/ Patch:~/OpenSource/WebKitBuild/Release/
Baseline Patch Δ
Memory at End:
big 10,880kB 3,328kB 3.27x smaller
facebook 3,112kB 2,868kB 1.09x smaller
fragment --parallel 1,848kB 760kB 2.43x smaller
fragment_iterate --parallel 4,908kB 776kB 6.32x smaller
big --parallel 48,076kB 11,892kB 4.04x smaller
Overall memory use looks OK:
run-malloc-benchmarks --memory_warning Baseline:~/OpenSource/WebKitBuildBaseline/Release/ Patch:~/OpenSource/WebKitBuild/Release/
Baseline Patch Δ
Memory at End:
<arithmetic mean> 13,992kB 13,987kB 1.0x smaller
Overall throughput looks OK:
run-malloc-benchmarks Baseline:~/OpenSource/WebKitBuildBaseline/Release/ Patch:~/OpenSource/WebKitBuild/Release/
Baseline Patch Δ
Execution Time:
<arithmetic mean> 103ms 104ms ! 1.01x slower
We're a bit slower on the "all-out large allocations on all cores"
benchmark, but I think that's an OK price to pay:
Baseline Patch Δ
Execution Time:
big --parallel 125ms 136ms ! 1.09x slower
This patch net removes 1.5k lines of code. It turns out that large
allocations are rare, and free memory fragments are also rare, so the
combination is super rare, and a simple O(n) algorithm that ensures good
memory behavior is the best option.
Fun fact: In practice, the odds that the old code would save memory
were *worse* than the odds that it would contain a bug that wasted
memory. :)
- bmalloc.xcodeproj/project.pbxproj:
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::tryAllocate): largeMax is the new xLargeMax since
xLargeMax is gone now.
(bmalloc::Allocator::allocate): I moved the rounding code into allocateLarge,
so we don't have to do it here.
(bmalloc::Allocator::reallocate):
(bmalloc::Allocator::allocateSlowCase):
(bmalloc::Allocator::allocateXLarge): Deleted. No more XLarge case.
- bmalloc/Allocator.h:
- bmalloc/BeginTag.h: Removed.
- bmalloc/BoundaryTag.h: Removed.
- bmalloc/Chunk.h:
(bmalloc::ChunkHash::hash): Added a hash function. The best hash function
is a unique and monotonically increasing integer, and that's exactly what
we typically get from the high bits of a Chunk, since the OS allocates
Chunks at unique and increasing addresses.
(bmalloc::Chunk::boundaryTags): Deleted.
(bmalloc::Chunk::objectType): Deleted.
(bmalloc::Chunk::beginTag): Deleted.
(bmalloc::Chunk::endTag): Deleted.
- bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::deallocateSlowCase): We no longer know for sure,
by looking at its bit pattern, whether a pointer is small or large.
Instead, any pointer with large alignment *might* be large, and when
we occasionally encounter such an object, we have to consult a hash
table in the Heap to find out for sure. This turns out to be just as
cheap in practice.
We don't deallocate large objects on the fast path anymore. We can't,
because large objects have out-of-line metadata now.
(bmalloc::Deallocator::deallocateXLarge): Deleted.
- bmalloc/Deallocator.h:
(bmalloc::Deallocator::deallocateFastCase): See deallocateSlowCase.
- bmalloc/EndTag.h: Removed.
- bmalloc/FreeList.cpp: Removed.
- bmalloc/FreeList.h: Removed.
- bmalloc/Heap.cpp:
(bmalloc::Heap::allocateSmallPage): Be sure to track each chunk in
the object type map, so we can distinguish small vs large objects.
(bmalloc::Heap::deallocateSmallLine): No need to check object type
because we know object type now by virtue of being on the small object
path.
(bmalloc::Heap::splitAndAllocate): Be sure to track each chunk in
the object type map, so we can distinguish small vs large objects. Large
objects can split across chunks, so we need to add each large object's
chunk as it is allocated.
(bmalloc::Heap::tryAllocateLarge):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::isLarge):
(bmalloc::Heap::largeSize):
(bmalloc::Heap::shrinkLarge):
(bmalloc::Heap::deallocateLarge): Merged in existing XLarge logic for
large objects.
(bmalloc::Heap::scavengeXLargeObjects): Deleted.
(bmalloc::Heap::allocateXLarge): Deleted.
(bmalloc::Heap::tryAllocateXLarge): Deleted.
(bmalloc::Heap::xLargeSize): Deleted.
(bmalloc::Heap::shrinkXLarge): Deleted.
(bmalloc::Heap::deallocateXLarge): Deleted.
- bmalloc/Heap.h:
(bmalloc::Heap::LargeObjectHash::hash):
- bmalloc/LargeObject.h: Removed.
- bmalloc/Map.h: Added.
(bmalloc::Map::size):
(bmalloc::Map::capacity):
(bmalloc::Map::get):
(bmalloc::Map::set):
(bmalloc::Map::remove):
(bmalloc::Map::shouldGrow):
(bmalloc::Map::shouldShrink):
(bmalloc::Map::find):
(bmalloc::Hash>::rehash): Simple hash table.
- bmalloc/Object.h:
- bmalloc/ObjectType.cpp:
(bmalloc::objectType):
- bmalloc/ObjectType.h:
(bmalloc::mightBeLarge): See deallocateSlowCase.
(bmalloc::isXLarge): Deleted.
- bmalloc/SegregatedFreeList.cpp: Removed.
- bmalloc/SegregatedFreeList.h: Removed.
- bmalloc/Sizes.h: Upped smallMax to 64kB. Upping to 32kB is pretty
reasonable, since sizes between 16kB and 32kB share page sizes. I went
all the way up to 64kB because the GC uses 64kB blocks, and also just
for extra padding to ensure that large allocations are indeed rare.
- bmalloc/SortedVector.h: Removed.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::tryAllocateLargeChunk):
(bmalloc::VMHeap::allocateSmallChunk):
(bmalloc::VMHeap::VMHeap): Deleted.
(bmalloc::VMHeap::allocateChunk): Deleted.
- bmalloc/VMHeap.h:
(bmalloc::VMHeap::deallocateSmallPage):
(bmalloc::VMHeap::allocateLargeObject): Deleted.
(bmalloc::VMHeap::deallocateLargeObject): Deleted. Nixed all the boundary
tag logic since metadata is out of line now.
- bmalloc/VMState.h: Removed. Instead of an abstract state, we track
the precise amount of committed physical pages at the head of a VM
range. This allows us to merge aggressively without triggering an madvise
storm most of the time.
- bmalloc/Vector.h:
(bmalloc::Vector<T>::Vector):
(bmalloc::Vector<T>::insert):
(bmalloc::Vector<T>::remove):
(bmalloc::Vector<T>::resize): Filled out some missing helpers.
- bmalloc/XLargeMap.cpp:
(bmalloc::XLargeMap::remove):
(bmalloc::XLargeMap::add):
(bmalloc::XLargeMap::removePhysical):
(bmalloc::XLargeMap::takeFree): Deleted.
(bmalloc::XLargeMap::addFree): Deleted.
(bmalloc::XLargeMap::addAllocated): Deleted.
(bmalloc::XLargeMap::getAllocated): Deleted.
(bmalloc::XLargeMap::takeAllocated): Deleted.
(bmalloc::XLargeMap::shrinkToFit): Deleted.
(bmalloc::XLargeMap::takePhysical): Deleted.
(bmalloc::XLargeMap::addVirtual): Deleted.
- bmalloc/XLargeMap.h:
(bmalloc::XLargeMap::Allocation::operator<): Deleted. We don't track
object sizes anymore -- just free space. (The Heap tracks object sizes.)
We use plain old linear search for free space. (See intro.)
- bmalloc/XLargeRange.h:
(bmalloc::XLargeRange::physicalSize):
(bmalloc::XLargeRange::setPhysicalSize):
(bmalloc::merge):
(bmalloc::XLargeRange::split):
(bmalloc::XLargeRange::vmState): Deleted.
(bmalloc::XLargeRange::setVMState): Deleted. See VMState.h.
- 8:47 AM Changeset in webkit [200022] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199727 - [Cairo] GraphicsContext::drawFocusRing methods are not consistent to each other
https://bugs.webkit.org/show_bug.cgi?id=156742
Reviewed by Martin Robinson.
We are rendering the focus ring differently depending on whether a path is used or a vector of rectangles. This
is causing that some reftests fail because they assume we always render the focus ring the same way. For example
fast/images/image-map-outline-in-positioned-container.html, when rendering the test
GraphicsContext::drawFocusRing is called with a path, and when rendering the reference it's called with a vector
of rectangles, producing different results.
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawFocusRing): When receiving a vector of rectangles, build a Path from the given
rectangles and call drawFocusRing() with the built path to ensure consistency.
- 8:46 AM Changeset in webkit [200021] by
-
- 4 edits1 add in releases/WebKitGTK/webkit-2.12
Merge r199715 - [GTK] accessibility/gtk/entry-and-password.html is failing since r194847
https://bugs.webkit.org/show_bug.cgi?id=153062
Reviewed by Carlos Garcia Campos.
Source/WebCore:
The changes in r194847 include using WebCore's rendering for the CapsLock indicator.
As a side effect, password inputs gained a TextControlInnerTextElement child from
the Shadow DOM. If we include that child in the accessibility tree, the child will
emit focus and text notifications that suggest the user is no longer in the control.
This can be especially problematic for screen reader users with key echo enabled
when typing in a password input. To fix this, prune TextControlInnerTextElement
children from the accessibility tree for ATK.
No new tests as existing coverage caught this regression. Also modified the
auto-fill-crash.html test whose expectations include the children count for
a text input.
- accessibility/atk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
LayoutTests:
The auto-fill-crash.html test has expectations which include the children
count for the text input. These expectations were incorrect for ATK where
accessible text inputs lack accessible text children.
- accessibility/auto-fill-crash.html: Modified to take platform into account.
- platform/gtk/TestExpectations: Unskipped entry-and-password.html.
- platform/gtk/accessibility/auto-fill-crash-expected.txt: Added.
- 8:41 AM Changeset in webkit [200020] by
-
- 14 edits in releases/WebKitGTK/webkit-2.12
Merge r199703 - [GTK] Possible off-by-one in hyphenation code
https://bugs.webkit.org/show_bug.cgi?id=156661
Patch by Martin Robinson <mrobinson@igalia.com> on 2016-04-18
Reviewed by Michael Catanzaro.
Source/WebCore:
No new tests. This is covered by older tests.
- platform/text/hyphen/HyphenationLibHyphen.cpp:
(WebCore::lastHyphenLocation): Fix an off by one error in hyphen location.
LayoutTests:
- platform/gtk/TestExpectations: Unskip a test that is now passing.
- platform/gtk/fast/text/hyphenate-character-expected.png:
- platform/gtk/fast/text/hyphenate-character-expected.txt:
- platform/gtk/fast/text/hyphenate-first-word-expected.png:
- platform/gtk/fast/text/hyphenate-first-word-expected.txt:
- platform/gtk/fast/text/hyphenate-limit-before-after-expected.png:
- platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt:
- platform/gtk/fast/text/hyphenate-limit-lines-expected.png:
- platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
- platform/gtk/fast/text/hyphenate-locale-expected.png:
- platform/gtk/fast/text/hyphenate-locale-expected.txt:
- 8:39 AM Changeset in webkit [200019] by
-
- 8 edits in releases/WebKitGTK/webkit-2.12
Merge r199696 - Remove support for X-Frame-Options in
<meta>
https://bugs.webkit.org/show_bug.cgi?id=156625
<rdar://problem/25748714>
Rubberstamped by Darin Adler.
- dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Revise messaging based on Darin's comments.
- 8:34 AM Changeset in webkit [200018] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore/platform/gtk/po
Merge r199670 - [l10n] Updated Greek translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=156677
Patch by Tom Tryfonidis <tomtryf@gmail.com> on 2016-04-18
Rubber-stamped by Michael Catanzaro.
- el.po:
- 8:32 AM Changeset in webkit [200017] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12
Merge r199664 - Pending API Request URL is wrong after reloading
https://bugs.webkit.org/show_bug.cgi?id=139342
Reviewed by Darin Adler.
Source/WebKit2:
It happens when reloading a web view loaded with anything but a
URL, because the bf list is not updated for those cases and
WebPageProxy::reload() is setting the current bf list item URL as
pending API request URL. This also causes that progress is
reported wrongly, because
WebPageProxy::decidePolicyForNavigationAction() resets the pending
API request URL when it's different than the requested URL. The
page load transaction causes the progress to be changed, reporting
1.0 (the previous one), but later something < 1.0 is reported
again by the progress tracker.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reload): Use the current active URL as
pending API request URL, falling back to the current bf list item
URL when empty.
Tools:
Update test case to check that the active URL should remain the
same after a reload.
- TestWebKitAPI/Tests/WebKit2/PendingAPIRequestURL.cpp:
(TestWebKitAPI::TEST):
- 8:31 AM Changeset in webkit [200016] by
-
- 7 edits1 add in releases/WebKitGTK/webkit-2.12
Merge r199660 - Pending API request URL no set when loading Data, Alternate HTML or plain text
https://bugs.webkit.org/show_bug.cgi?id=136916
Reviewed by Darin Adler.
Source/WebKit2:
Set pending API request URL for all load methods in
WebPageProxy. This ensures that right after calling those methods,
the active URL is the requested one and that
PageLoadState::isLoading() returns true.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::loadPlainTextString):
(WebKit::WebPageProxy::loadWebArchiveData):
Tools:
Add new test to check that active URL is the requested one right
after calling WKPage load methods.
- TestWebKitAPI/PlatformEfl.cmake:
- TestWebKitAPI/PlatformGTK.cmake:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2/PendingAPIRequestURL.cpp: Added.
(TestWebKitAPI::TEST):
- TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
(WebViewTest::loadPlainText): Remove FIXME.
(WebViewTest::loadBytes): Ditto.
(WebViewTest::loadAlternateHTML): Ditto.
- 8:30 AM Changeset in webkit [200015] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12
Merge r199659 - [GTK] Menu list button doesn't use the text color from the theme
https://bugs.webkit.org/show_bug.cgi?id=118234
Reviewed by Darin Adler.
.:
- ManualTests/gtk/theme.html: Add a disabled combo test.
Source/WebCore:
Set the combo box color accroding to the theme when adjusting the menu list style like Mac port does.
- rendering/RenderThemeGtk.cpp:
(WebCore::menuListColor):
(WebCore::RenderThemeGtk::adjustMenuListStyle):
- 8:23 AM Changeset in webkit [200014] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Tools
Merge r199653 - [GTK] Test /webkit2/WebKitWebView/mouse-target fails with overlay scrollbars
https://bugs.webkit.org/show_bug.cgi?id=156621
Reviewed by Martin Robinson.
This is a problem of the test itself, we are using an overflow that is not actually scrollable, but that shows
scrollbar troughs when not using overlay scrollbars because it's marked as scrollable. It would be easier to
simply use the main frame scrollbars to test that and it will work no matter of scrollbars are overlay or not.
- TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
(testWebViewMouseTarget): Remove the div and move the mouse over the main frame scrollbar to test scrolbars hit test.
- 8:15 AM Changeset in webkit [200013] by
-
- 11 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore/platform/gtk/po
Merge r199637 - Localization files with empty Language: block build with gettext 0.19
https://bugs.webkit.org/show_bug.cgi?id=133611
Reviewed by Darin Adler.
Fix the language tags. Note that the build error is not actually important here as it only
occurs with an older version of gettext, but presumably it's bad for the language tags to be
wrong.
- as.po:
- en_CA.po:
- gu.po: Also correct the translation team to Gujarati.
- hu.po:
- id.po:
- ko.po:
- lv.po:
- pa.po:
- ru.po:
- sl.po:
- 8:14 AM Changeset in webkit [200012] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore/platform/gtk/po
Merge r199629 - [GTK] [l10n] Updated Turkish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=156667
Patch by Muhammet Kara <muhammetk@gmail.com> on 2016-04-16
Rubber-stamped by Michael Catanzaro.
- tr.po:
- 8:13 AM Changeset in webkit [200011] by
-
- 1 edit1 add in releases/WebKitGTK/webkit-2.12/Source/WebCore/platform/gtk/po
Merge r199624 - Submit the first version of Finnish translation
https://bugs.webkit.org/show_bug.cgi?id=153406
Patch by Jiri Grönroos <jiri.gronroos+l10n@iki.fi> on 2016-04-16
Rubber-stamped by Michael Catanzaro. For FINLAN.
- fi.po: Added. Note it's pretty incomplete as of yet.
- 8:12 AM Changeset in webkit [200010] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore/platform/gtk/po
Merge r199623 - [GTK] [l10n] Updated Bulgarian translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=156656
Patch by Zahari Yurukov <zahari.yurukov@gmail.com> on 2016-04-16
Rubber-stamped by Michael Catanzaro.
- bg.po:
- 6:49 AM Changeset in webkit [200009] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r199607 - ASSERT when loading github.com
https://bugs.webkit.org/show_bug.cgi?id=156604
<rdar://problem/19890634>
Reviewed by Darin Adler.
Source/WebCore:
HTMLFormControlElement::m_isValid is a cache of the results of the valid() function.
When cloning the node, we were preserving each individual item, but not the state
of the cache. Therefore, the cache and the attributes didn't agree with each other.
Test: fast/forms/checkValidity-cloneNode-crash.html
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::copyNonAttributePropertiesFromElement):
LayoutTests:
- fast/forms/checkValidity-cloneNode-crash-expected.txt: Added.
- fast/forms/checkValidity-cloneNode-crash.html: Added.
- 6:42 AM Changeset in webkit [200008] by
-
- 8 edits6 moves4 adds4 deletes in releases/WebKitGTK/webkit-2.12
Merge r199605 - Remove support for X-Frame-Options in
<meta>
https://bugs.webkit.org/show_bug.cgi?id=156625
<rdar://problem/25748714>
Reviewed by Darin Adler.
Source/WebCore:
Follow RFC7034 (Section 4), which recommends that 'X-Frame-Options' be ignored when delivered as part of
a '<meta http-equiv="...">' tag. This brings us in line with Firefox, Edge, and Blink.
Tests: http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body.html
http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow.html
http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny.html
http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag.html
http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html
- dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Log error message instead of blocking the load.
LayoutTests:
Revise tests to match our desired behavior based on RFC 7034 (Section 4).
- http/tests/security/XFrameOptions/resources/x-frame-options-deny-meta-tag-subframe-in-body.html:
- http/tests/security/XFrameOptions/resources/x-frame-options-deny-meta-tag-subframe-parent-same-origin-deny.html:
- http/tests/security/XFrameOptions/resources/x-frame-options-deny-meta-tag-subframe.html:
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow-expected.txt: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html: Removed.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-expected.txt: Added.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body-expected.txt: Added.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body.html: Copied from LayoutTests/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow-expected.txt: Added.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow.html: Copied from LayoutTests/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt: Added.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny.html: Copied from LayoutTests/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag.html: Copied from LayoutTests/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html.
- http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-expected.txt: Removed.
- http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored-expected.txt: Added.
- http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: Copied from LayoutTests/http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options.html.
- http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options.html: Removed.
- inspector/console/x-frame-options-message-expected.txt: Rebaselined.
- platform/win/TestExpectations:
- 6:31 AM Changeset in webkit [200007] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebKit2
Merge r199599 - Mark NetworkLoad as FastAllocated
https://bugs.webkit.org/show_bug.cgi?id=156628
Reviewed by Alex Christensen.
Mark NetworkLoad as FastAllocated for performance.
- NetworkProcess/NetworkLoad.h:
- 6:30 AM Changeset in webkit [200006] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199598 - Calling SVGAnimatedPropertyTearOff::animationEnded() will crash if the SVG property is not animating
https://bugs.webkit.org/show_bug.cgi?id=156549
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-04-15
Reviewed by Darin Adler.
A speculative fix for a crash which may happen when calling animationEnded()
of any SVGAnimatedProperty while it is not animating.
- svg/SVGAnimatedTypeAnimator.h:
(WebCore::SVGAnimatedTypeAnimator::executeAction):
- 6:27 AM Changeset in webkit [200005] by
-
- 3 edits in releases/WebKitGTK/webkit-2.12/Source/JavaScriptCore
Merge r199586 - Tail call optimizations lead to crashes on ARM Thumb + Linux
https://bugs.webkit.org/show_bug.cgi?id=150083
Patch by Zan Dobersek <zdobersek@igalia.com> on 2016-04-15
Reviewed by Csaba Osztrogonác.
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::repatchNearCall): In case of a tail call relink to the
data location of the destination, and not the executable address. This is needed for
the ARM Thumb2 platform where both the source and destination addresses of a jump relink
must not have the bottom bit decorated, as asserted in ARMv7Assembler::relinkJump().
- jit/Repatch.cpp:
(JSC::linkPolymorphicCall): Similarly, when linking a tail call we must link to the
address that has a non-decorated bottom bit, as asserted in ARMv7Assembler::linkJumpAbsolute().
- 6:13 AM Changeset in webkit [200004] by
-
- 8 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r199585 - Selection.deleteFromDocument should not leave a selection character
https://bugs.webkit.org/show_bug.cgi?id=151442
Reviewed by Michael Catanzaro.
Source/WebCore:
This is a merge of Blink r172511:
https://codereview.chromium.org/255453003
Let Selection.deleteFromDocument not delete a character when the
selection is a caret.
Selection.deleteFromDocument delete a character when the selection
is a caret.
However, current standard says that Selection.deleteFromDocument
does nothing when the selection is a caret:
https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#dom-selection-deletefromdocument
Both IE10 and FireFox seem following the spec.
Test: imported/blink/editing/selection/deleteFromDocument-undo-crash.html
- page/DOMSelection.cpp:
(WebCore::DOMSelection::deleteFromDocument): Deleted.
LayoutTests:
- editing/selection/deleteFromDocument-expected.txt:
- editing/selection/deleteFromDocument.html:
- imported/blink/editing/selection/deleteFromDocument-undo-crash-expected.txt: Added.
- imported/blink/editing/selection/deleteFromDocument-undo-crash.html: Added.
- TestExpectations: Skip imported/blink/editing/selection/deleteFromDocument-undo-crash.html in Debug.
- platform/gtk/TestExpectations: Unskip imported/blink/editing/selection/deleteFromDocument-crash.html.
- platform/win/TestExpectations: Ditto.
- 6:08 AM Changeset in webkit [200003] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r199561 - CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::CachedResource::addClientToSet + 27
https://bugs.webkit.org/show_bug.cgi?id=156602
<rdar://problem/18921091>
Reviewed by Simon Fraser.
Source/WebCore:
The CSS property list-style-image is inherited, so a transition on a parent
might cause a transition on a child. On that child, the value might be between
two generated crossfade images which haven't yet resolved, causing a crash.
Test: transitions/crossfade-transition.html
- css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::blend): Return null if there are no cached images.
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc): If we don't have an actual image to blend between, fall
out to the default case.
LayoutTests:
Tests that an animation between two inherited crossfade elements will not crash.
- transitions/crossfade-transition-expected.txt: Added.
- transitions/crossfade-transition.html: Added.
- 6:04 AM Changeset in webkit [200002] by
-
- 5 edits6 adds2 deletes in releases/WebKitGTK/webkit-2.12
Merge r199553 - Allow listbox content and scrollbar to intrude padding area.
https://bugs.webkit.org/show_bug.cgi?id=128489
Reviewed by Myles C. Maxfield.
Source/WebCore:
Originally when the RenderListBox::controlClipRect method was implemented (see [1]), it used
to allow its content (<option>'s) to intrude padding to get rendered. Overlay scrollbars were also
allowed to paint over the padding area, if necessary.
[2] changed this behavior to restrict list-box'es content within the content box rect (excluding padding and border).
This had two consequences:
1) it made WebKit disallow list-box' content to intrude the padding area, diverging from other vendors.
like Firefox and Chrome.
2) Since overlay scrollbar might get painted over the padding area, if any, [2] could result
in the scrollbar being clipped out if padding-right is set (or padding-left in case of RTL content).
Patch changed WebKit back so that it allows list-box' content and overlay scrollbars to intrude the
padding area, matching other browsers vendors
[1] https://trac.webkit.org/changeset/18819/trunk/WebCore/rendering/RenderListBox.cpp
[2] https://trac.webkit.org/changeset/19037/trunk/WebCore/rendering/RenderListBox.cpp
Tests: fast/forms/listbox-selection-3.html
fast/forms/listbox-padding-clip-selected.html
fast/forms/listbox-padding-clip-expected-mismatch.html (renamed from listbox-padding-clip-overlay-expected.html)
fast/forms/listbox-padding-clip-overlay-expected-mismatch.html (renamed from listbox-padding-clip-expected.html)
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::numVisibleItems): changed to allow list-box items to get rendered on the padding-bottom area.
This matches Firefox and Chrome.
(WebCore::RenderListBox::listIndexAtOffset): relax the check for a given list-box item at a specific offset in the vertical axis.
This means if an list-box item has its content painted into the padding-bottom area, it will be actionable by mouse clicking.
This matches Firefox and Chrome.
(WebCore::RenderListBox::controlClipRect): clips list-box content against the padding box rect rather than the content box rect,
to allow its list-box items' content intrude the padding area.
This matches Firefox and Chrome.
LayoutTests:
- fast/forms/listbox-selection-3-expected.txt: Added.
- fast/forms/listbox-selection-3.html: Added.
- fast/forms/listbox-padding-clip-selected.html: Added.
- fast/forms/listbox-padding-clip-selected-expected.html: Added.
- fast/forms/listbox-padding-clip-expected-mismatch.html: Renamed from listbox-padding-clip-overlay-expected.html.
- fast/forms/listbox-padding-clip-overlay-expected-mismatch.html: Renamed from listbox-padding-clip-expected.html.
- 6:04 AM Changeset in webkit [200001] by
-
- 1 edit4 adds in releases/WebKitGTK/webkit-2.12/LayoutTests
Merge r199086 - Test listbox clipping to contents rect
https://bugs.webkit.org/show_bug.cgi?id=156265
Reviewed by Simon Fraser.
These tests create some <select><option></option></select>s with padding.
These list boxes use the zapfino "f" character (because it draws wildly
far outside of its layout box) to create a case where text inside the list
box would naturally intersect with the padding. This overflow should be
clipped so that the padding is undisturbed.
- fast/forms/listbox-padding-clip-expected.html: Added.
- fast/forms/listbox-padding-clip-overlay-expected.html: Added.
- fast/forms/listbox-padding-clip-overlay.html: Added.
- fast/forms/listbox-padding-clip.html: Added.
- platform/ios-simulator/TestExpectations: Skip on iOS
- 5:54 AM Changeset in webkit [200000] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199552 - Collapsed border cache invalidation can lead to O(n2) during style resolve
https://bugs.webkit.org/show_bug.cgi?id=156570
Reviewed by Darin Adler.
RenderTable::invalidateCollapsedBorders traverses all cells. It is called when table cell border changes.
This can result in O(n2) during style resolve.
- rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
(WebCore::RenderTable::invalidateCollapsedBorders):
For cell border style change invalidate the hasEmptyCollapsedBorder bits only for the neighbouring cells.
They are the only ones that can be affected.
- rendering/RenderTable.h:
(WebCore::RenderTable::collapsedBordersAreValid):
(WebCore::RenderTable::collapsedEmptyBorderIsPresent):
(WebCore::RenderTable::currentBorderValue):
- rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::styleDidChange):
- 5:50 AM Changeset in webkit [199999] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r199516 - Text on compositing layer with negative letter-spacing is truncated.
https://bugs.webkit.org/show_bug.cgi?id=156550
<rdar://problem/24212140>
Reviewed by Antti Koivisto.
Negative letter-spacing affects the right edge of content's visual overflow (for both RTL and LTR).
This is similar to how normal line layout adjusts it at InlineFlowBox::addTextBoxVisualOverflow().
Source/WebCore:
Test: fast/text/negative-letter-spacing-visual-overflow.html
- rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::computeOverflow):
(WebCore::SimpleLineLayout::paintFlow):
(WebCore::SimpleLineLayout::collectFlowOverflow):
LayoutTests:
- fast/text/negative-letter-spacing-visual-overflow-expected.html: Added.
- fast/text/negative-letter-spacing-visual-overflow.html: Added.
- 5:48 AM Changeset in webkit [199998] by
-
- 7 edits4 adds in releases/WebKitGTK/webkit-2.12
Merge r199512 - Non-resizable text field looks resizable
https://bugs.webkit.org/show_bug.cgi?id=152271
Reviewed by Darin Adler.
Source/WebCore:
The 'resizability' of an HTML element is controlled by its 'resize' CSS property value.
By default it is 'none', but certain HTML elements, including <textarea>, have it
set to 'both' by default (defined in html.css). These values mean no resize at all, and
resizable in both vertical and horizontal axis, respectively.
Additionally, 'vertical' and 'horizontal' values are also valid.
Problem here is that the way WebKit handles the 'resize' property on single line
input elements (e.g. <input>) is different than other engines (read Gecko, Blink and Presto):
- Match: WebKit, Firefox, Presto and Blink all force single line input elements to be non-resizable,
regardless of either the 'resize' properly is set or not.
- Mismatch: WebKit is the only engine that actually paints the resize control on single line
input elements, even it having no effect.
On WebKit, this happens because the 'resize' property is wrongly implemented as 'inheritable',
differently from other engines. In the way WebKit contructs its RenderTree, 'resize' property
ends up spilling out of <input> and entering its shadow representation, carrying the 'resize'
property on.
Patch fixes this by making the 'resize' properly be non-inherited, matching other vendors
and the spec [1].
[1] https://drafts.csswg.org/css-ui/#resize
Tests: fast/css/resize-not-inherited.html
fast/css/resize-single-line-input-no-paint.html
- rendering/style/RenderStyle.h:
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
- rendering/style/StyleRareInheritedData.h:
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
- rendering/style/StyleRareNonInheritedData.h:
LayoutTests:
- fast/css/resize-not-inherited-expected.html: Added.
- fast/css/resize-not-inherited.html: Added.
- fast/css/resize-single-line-input-no-paint-expected.html: Added.
- fast/css/resize-single-line-input-no-paint.html: Added.
- 5:36 AM Changeset in webkit [199997] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199385 - Fixed uninitialization of Node::DataUnion with GCC 4.8.
https://bugs.webkit.org/show_bug.cgi?id=156507
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-04-12
Reviewed by Michael Catanzaro.
This change fixes run time crashes caused by access to uninitialized
memory in Node::renderer().
No new tests needed.
- dom/Node.h:
- 5:17 AM Changeset in webkit [199996] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r199313 - fast/loader/opaque-base-url.html crashing during mac and ios debug tests
https://bugs.webkit.org/show_bug.cgi?id=156179
<rdar://problem/25507719>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Navigate to about:blank if the provided src of an iframe/frame cannot be
resolved to a valid URL.
Test: fast/loader/iframe-src-invalid-url.html
- loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestFrame):
LayoutTests:
- fast/loader/iframe-src-invalid-url-expected.txt: Added.
- fast/loader/iframe-src-invalid-url.html: Added.
- 5:14 AM Changeset in webkit [199995] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r199304 - REGRESSION (r193857): Text selection causes text to disappear.
https://bugs.webkit.org/show_bug.cgi?id=156448
rdar://problem/25578952
Reviewed by Simon Fraser.
Apparently when the end position of the selection range is smaller than the start position, we need
to repaint the entire text as it indicates selection clearing.
Source/WebCore:
Test: fast/text/text-disappear-on-deselect.html
- rendering/TextPainter.cpp:
(WebCore::TextPainter::paintText):
LayoutTests:
- fast/text/text-disappear-on-deselect-expected.html: Added.
- fast/text/text-disappear-on-deselect.html: Added.
- 5:11 AM Changeset in webkit [199994] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199278 - Fixed compilation of JPEGImageDecoder with libjpeg v9.
https://bugs.webkit.org/show_bug.cgi?id=156445
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-04-09
Reviewed by Michael Catanzaro.
ICU defines TRUE and FALSE macros, breaking libjpeg v9 headers.
No new tests needed.
- platform/image-decoders/jpeg/JPEGImageDecoder.h:
- 5:01 AM Changeset in webkit [199993] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199243 - Timing attack on SVG feComposite filter circumvents same-origin policy
https://bugs.webkit.org/show_bug.cgi?id=154338
Patch by Said Abou-Hallawa <sabouhallawa@apple,com> on 2016-04-08
Reviewed by Oliver Hunt.
Ensure the FEComposite arithmetic filter is clamping the resulted color
components in a constant time.
- platform/graphics/filters/FEComposite.cpp:
(WebCore::clampByte):
(WebCore::computeArithmeticPixels):
- 4:57 AM Changeset in webkit [199992] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebKit2
Merge r199204 - Clearing the application cache doesn't work.
https://bugs.webkit.org/show_bug.cgi?id=156354
rdar://problem/22369239
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-04-07
Reviewed by Brady Eidson.
Use the correct "ApplicationCache" directory.
Delete the caches, not just the entries.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):
- 4:21 AM Changeset in webkit [199991] by
-
- 11 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r199181 - Wheel event callback removing the window causes crash in WebCore.
https://bugs.webkit.org/show_bug.cgi?id=150871
<rdar://problem/23418283>
Reviewed by Simon Fraser.
Source/WebCore:
Null check the FrameView before using it, since the iframe may have been removed
from its parent document inside the event handler.
The new test triggered a cross-load side-effect, where wheel event filtering wasn't
reset between page loads. Fix by calling clearLatchedState() in EventHandler::clear(),
which resets the filtering.
Since the Frame destructor invokes EventHandler::clear, which invokes MainFrame methods,
we run the risk of attempting to dereference destroyed MainFrame elements of the current
Frame object. Instead, clear the EventHandler in the MainFrame destructor.
Finally, confirm that the mainFrame member is not being destroyed in the handful of
places that might attempt to access the mainFrame during object destruction (essentially
cleanup methods).
Test: fast/events/wheel-event-destroys-frame.html
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::clear): Protect against accessing mainFrame content during destruction.
- page/EventHandler.cpp:
(WebCore::EventHandler::clear): Call 'clearLatchedState' instead of endFilteringDeltas.
(WebCore::EventHandler::clearLatchedState): Null-check the filter before calling it.
- page/Frame.cpp:
(WebCore::Frame::~Frame): Do not call 'setView' in the destructor for a MainFrame.
(WebCore::Frame::setView): Check for a null event handler before invoking it.
(WebCore::Frame::setMainFrameWasDestroyed): Added. Mark that the MainFrame
member of the Frame is being destroyed (if the current Frame is a MainFrame) and clear
the EventHandler member so that it doesn't attempt to access mainFrame content.
(WebCore::Frame::mainFrame): When accessing the mainFrame member, assert that the
mainFrame is not being destroyed.
- page/MainFrame.cpp:
(WebCore::MainFrame::~MainFrame): Set the m_recentWheelEventDeltaFilter to nullptr to
prevent attempts to access it during object destruction. Call the new 'setMainFrameWasDestroyed'
method to reset eventHandler and mark the MainFrame as being in the process of destruction.
- page/WheelEventDeltaFilter.cpp:
(WebCore::WheelEventDeltaFilter::filteredDelta): Add logging.
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::platformCompleteWheelEvent): Add null check.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo): Add logging.
LayoutTests:
- fast/events/wheel-event-destroys-frame-expected.txt: Added.
- fast/events/wheel-event-destroys-frame.html: Added.
- platform/ios-simulator/TestExpectations: Skip wheel-event test on iOS.
- 4:21 AM Changeset in webkit [199990] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199155 - FrameView::qualifiesAsVisuallyNonEmpty() returns false when loading a Google search results page before search results are loaded, even though the header is visible
https://bugs.webkit.org/show_bug.cgi?id=156339
<rdar://problem/24491381>
Reviewed by Andreas Kling.
Jeff's testing indicates lowering the document height threshold improves things visually during page loading.
- page/FrameView.cpp:
(WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
Lower document height threshold to from 200 to 48 pixels.
- 3:59 AM Changeset in webkit [199989] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199116 - CRASH in AudioDestinationNode::render()
https://bugs.webkit.org/show_bug.cgi?id=156308
<rdar://problem/25468815>
Reviewed by Eric Carlson.
AudioDestinationNode::render() will crash when passed in a zero-length frame count. Rather than get into
this bad state, ASSERT() and bail out early in this case.
Also, address the situation in AudioDestinationIOS::render which can cause this 0-frame count to occur.
- Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::render):
- platform/audio/ios/AudioDestinationIOS.cpp:
(WebCore::AudioDestinationIOS::render):
- 3:32 AM Changeset in webkit [199988] by
-
- 10 edits in releases/WebKitGTK/webkit-2.12
Merge r199110 - REGRESSION(r195463): [GTK] accessibility/roles-computedRoleString.html and accessibility/roles-exposed.html failing
https://bugs.webkit.org/show_bug.cgi?id=153696
Reviewed by Chris Fleizach.
Source/WebCore:
The failures were due to always mapping style format groups to GroupRole, even for
RenderInline objects. The fix is to expose inline style format groups as InlineRole,
add handling of GroupRole style groups to the ATK code, and InlineRole style groups
to the Mac code.
No new tests because we have sufficient coverage. Updated roles-computedRoleString.html
to reflect new exposure.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
- accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):
LayoutTests:
Now that RenderInline style format groups are exposed as InlineRole, there is
no longer a corresponding computed role for ins, samp, and var elements. Updated
the roles-computedRoleString.html test and expectations accordingly. Also added
the now-correct results for Gtk for both of the previously-failing tests.
- accessibility/roles-computedRoleString-expected.txt: Updated.
- accessibility/roles-computedRoleString.html: Updated.
- platform/gtk/TestExpectations: Unskip the two tests which are now passing.
- platform/gtk/accessibility/roles-computedRoleString-expected.txt: Updated.
- platform/gtk/accessibility/roles-exposed-expected.txt: Updated.
- 3:30 AM Changeset in webkit [199987] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12
Merge r199107 - Implement operator== and operator!= for Optional<>
https://bugs.webkit.org/show_bug.cgi?id=156266
Reviewed by Anders Carlsson.
Source/WTF:
Implement non-member operator== and operator!= variants for Optional<>.
- wtf/Optional.h:
(WTF::operator==):
(WTF::operator!=):
Tools:
- TestWebKitAPI/Tests/WTF/Optional.cpp:
(TestWebKitAPI::TEST):
- 3:26 AM Changeset in webkit [199986] by
-
- 2 edits in trunk/Source/WebCore
Drop [UsePointersEvenForNonNullableObjectArguments] from TextTrack
https://bugs.webkit.org/show_bug.cgi?id=156899
Reviewed by Chris Dumez.
No behavior changes.
- html/track/TextTrack.idl: Marking cue and region parameter as nullable.
Also marking cues and activeCues as nullable attributes.
- 3:23 AM Changeset in webkit [199985] by
-
- 13 edits3 adds in trunk
Drop [UsePointersEvenForNonNullableObjectArguments] from File API interfaces
https://bugs.webkit.org/show_bug.cgi?id=156898
Reviewed by Chris Dumez.
Source/WebCore:
Making FileReaderSync API API throwing a TypeError in case of null parameters, in lieu of a NOT_FOUND_ERR.
Making FileReader API taking nullable parameters as a temporary fix.
Test: fast/files/workers/worker-file-reader-sync-bad-parameter.html
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::processOutgoingFrameQueue): Updated to cope with FileReaderLoader::start taking a Blob&.
- fileapi/FileReader.cpp:
(WebCore::FileReader::readAsArrayBuffer): Updated to cope with readInternal taking a Blob&.
(WebCore::FileReader::readAsBinaryString): Ditto.
(WebCore::FileReader::readAsText): Ditto.
(WebCore::FileReader::readAsDataURL): Ditto.
(WebCore::FileReader::readInternal): Updated to cope with FileReaderLoader::start taking a Blob&.
- fileapi/FileReader.h:
- fileapi/FileReader.idl: Marking the readXX methods as taking a nullable blob parameter to keep compatibility, at least temporarily.
- fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::start): It now takes a Blob& as input.
- fileapi/FileReaderLoader.h:
- fileapi/FileReaderSync.cpp:
(WebCore::FileReaderSync::readAsArrayBuffer): Taking a Blob& as input.
(WebCore::FileReaderSync::readAsBinaryString): Ditto.
(WebCore::FileReaderSync::readAsText): Ditto.
(WebCore::FileReaderSync::readAsDataURL): Ditto.
(WebCore::FileReaderSync::startLoading) Ditto.
- fileapi/FileReaderSync.h:
(WebCore::FileReaderSync::readAsText): Ditto.
- fileapi/FileReaderSync.idl:
LayoutTests:
Checking FileReaderSync send method in case of null or undefined blob parameter.
worker-read-blob-sync.html and worker-read-file-sync check the case of badly typed parameters.
In all cases, TypeError is thrown.
- fast/files/workers/resources/worker-file-reader-sync-bad-parameter.js: Added.
(test):
- fast/files/workers/worker-file-reader-sync-bad-parameter-expected.txt: Added.
- fast/files/workers/worker-file-reader-sync-bad-parameter.html: Added.
- fast/files/workers/worker-read-blob-sync-expected.txt: Rebasing expectation.
- fast/files/workers/worker-read-file-sync-expected.txt: Ditto.
- 3:08 AM Changeset in webkit [199984] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199113 - Add ASSERT_WITH_SECURITY_IMPLICATION when a float box is referenced by multiple RootInlineBoxes.
https://bugs.webkit.org/show_bug.cgi?id=156297
<rdar://problem/25580844>
Reviewed by Brent Fulgham.
See http://trac.webkit.org/changeset/199101
No change in functionality.
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::appendFloatingObjectToLastLine):
(WebCore::RenderBlockFlow::reattachCleanLineFloats):
(WebCore::RenderBlockFlow::determineStartPosition):
- 3:07 AM Changeset in webkit [199983] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r199101 - ASSERTION FAILED: !floatingObject->originatingLine() in WebCore::RenderBlockFlow::linkToEndLineIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=153001
Reviewed by Dan Bernstein.
- Float boxes are always attached to the line where we see them first.
- Float box can only be attached to one line.
- RenderBlockFlow can perform partial layout on dirty lines only.
In certain cases, the last dirty line can "pull up" float boxes from the first clean line.
It simply means that due to some layout changes on previous lines now we see those floats on this last dirty line first.
If after placing the float we still find it on the same position, the line below is still considered clean.
Source/WebCore:
Remove the float box from its original line if the line above already placed it.
Test: fast/block/float/float-moves-between-lines.html
- rendering/RenderBlockFlow.h:
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::reattachCleanLineFloats):
(WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange): Deleted.
LayoutTests:
Remove the float box from its original line if the line above already placed it.
- fast/block/float/float-moves-between-lines-expected.txt: Added.
- fast/block/float/float-moves-between-lines.html: Added.
- 3:03 AM Changeset in webkit [199982] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore/platform/gtk/po
Merge r199100 - [GTK] [l10n] Updated Italian translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=156283
Patch by Milo Casagrande <milo@milo.name> on 2016-04-06
Rubber-stamped by Michael Catanzaro.
- it.po:
- 2:54 AM Changeset in webkit [199981] by
-
- 5 edits2 adds in trunk
[css-grid] Fix grid-template-columns|rows computed style with content alignment
https://bugs.webkit.org/show_bug.cgi?id=156793
Reviewed by Darin Adler.
Source/WebCore:
Computed style of grid-template-columns and grid-template-rows properties
was including the distribution offset because of content alignment.
We should subtract that offset, like we do for the case of gaps,
when we're calculating the computed style.
Test: fast/css-grid-layout/grid-template-columns-rows-computed-style-gaps-content-alignment.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForGridTrackList):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::offsetBetweenTracks):
(WebCore::RenderGrid::populateGridPositions): Deleted FIXME.
- rendering/RenderGrid.h:
LayoutTests:
- fast/css-grid-layout/grid-template-columns-rows-computed-style-gaps-content-alignment-expected.txt: Added.
- fast/css-grid-layout/grid-template-columns-rows-computed-style-gaps-content-alignment.html: Added.
- 2:50 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 2:49 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 2:46 AM Changeset in webkit [199980] by
-
- 19 edits8 adds4 deletes in trunk
Refactor RenderMathMLMenclose.
https://bugs.webkit.org/show_bug.cgi?id=155019
Patch by Frederic Wang <fwang@igalia.com> on 2016-04-25
Reviewed by Sergio Villar Senin.
Source/WebCore:
Tests: mathml/presentation/menclose-notation-equivalence.html
mathml/presentation/menclose-notation-values.html
We rewrite RenderMathMLMenclose so that layout functions correctly override the
behavior of RenderMathMLRow. We try and rely on the draft of the MathML in HTML5
implementation note, to make easier to get consistency with other rendering engines
in the future. All notations are now drawn with GraphicContext functions instead of
mixing them with CSS style. To save memory space, the list of known notations are
now saved on a short integer using bit masks instead of a vector of string names.
Finally, we remove support for the radical notation so that we no longer need to
create an anonymous RenderMathMLRoot.
- mathml/MathMLMencloseElement.cpp: Remove code for some special notations and just
reimplement parsing of the notation attribute.
(WebCore::MathMLMencloseElement::MathMLMencloseElement): By default, the notation is longdiv.
(WebCore::MathMLMencloseElement::parseAttribute): By default, the list of notation is empty.
If there is no notation attribute, the default value longdiv is used.
Otherwise, we parse the notation attribute and add each notation, using some equivalences
for box, actuarial and madruwb.
(WebCore::MathMLMencloseElement::isPresentationAttribute): Deleted. No need to define
specific style for some notation.
(WebCore::MathMLMencloseElement::finishParsingChildren): Deleted. No need to add an
anonymous square root.
(WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute): Deleted. No need to
define specific style for some notation.
(WebCore::MathMLMencloseElement::longDivLeftPadding): Deleted. RenderMathMLMenclose uses an
arbitrary size instead of measure a glyph.
- mathml/MathMLMencloseElement.h: Define simple bit mask for each notation, add a short
integer to store the list of notations together with helper functions. Remove old code.
- rendering/mathml/RenderMathMLMenclose.cpp: Rewrite RenderMathMLMenclose so that layout
functions correctly override the behavior of RenderMathMLRow.
(WebCore::RenderMathMLMenclose::RenderMathMLMenclose): Init m_ascent to 0.
(WebCore::RenderMathMLMenclose::ruleThickness): For now, we use the fallback value used by
for other bars. We may refine that in the future.
(WebCore::RenderMathMLMenclose::getSpaceAroundContent): Helper function to retrieve the
space to add around the content, depending on the notations specified. Note that for
notation circle, this spacing depends on the content size.
(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths): Reimplement this function.
This is just adding left/right spacing around the content.
(WebCore::RenderMathMLMenclose::layoutBlock): Reimplement this function. We do the normal
RenderMathMLRow layout, adjust spacing and child position and
calculate m_ascent and m_contentRect.
(WebCore::RenderMathMLMenclose::firstLineBaseline): Implement this function.
We just return m_ascent.
(WebCore::drawLine): Helper function to draw a line using strokePath.
(WebCore::RenderMathMLMenclose::paint): We reimplement this function to draw
all notations using GraphicContext.
(WebCore::RenderMathMLMenclose::addChild): Deleted. No need to manage anonymous renderers.
(WebCore::RenderMathMLMenclose::updateLogicalHeight): Deleted. Height is now calculated
in layoutBlock.
(WebCore::RenderMathMLMenclose::checkNotationalValuesValidity): Deleted.
- rendering/mathml/RenderMathMLMenclose.h: Update member definitions.
- rendering/mathml/RenderMathMLRoot.cpp: We no longer need anonymous roots.
(WebCore::RenderMathMLRoot::RenderMathMLRoot): Deleted.
- rendering/mathml/RenderMathMLRoot.h: We no longer need anonymous roots.
- rendering/mathml/RenderMathMLRow.cpp: Allow to get the exact metrics of the chid row,
for use in RenderMathMLRoot.
(WebCore::RenderMathMLRow::computeLineVerticalStretch): rename parameters.
(WebCore::RenderMathMLRow::layoutRowItems): Set parameters to the final ascent, descent and
logical width of the chid row. Set the temporary logical width for RenderMathMenclose before
laying the children out.
(WebCore::RenderMathMLRow::layoutBlock): Rename parameters ; add a dummy logicalWidth
parameter.
- rendering/mathml/RenderMathMLRow.h: Make some functions accessible or overridable by
RenderMathMLRoot. Make layoutRowItems return the final ascent, descent and logical width
after the chid row is laid out.
- rendering/mathml/RenderMathMLSquareRoot.cpp: We no longer need anonymous roots.
(WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): Deleted.
(WebCore::RenderMathMLSquareRoot::createAnonymousWithParentRenderer): Deleted.
- rendering/mathml/RenderMathMLSquareRoot.h: We no longer need anonymous roots.
LayoutTests:
- mathml/presentation/menclose-notation-attribute-set1.html: Removed.
This is replaced with menclose-notation-values.
- mathml/presentation/menclose-notation-attribute-set1-expected.txt: Removed.
This is replaced with menclose-notation-values.
- mathml/presentation/menclose-notation-attribute-set2-expected-mismatch.html: Removed.
This is replaced with menclose-notation-values.
- mathml/presentation/menclose-notation-attribute-set2.html: Removed.
This is replaced with menclose-notation-values.
- mathml/presentation/menclose-notation-values.html: Added.
This test verifies the rendering of various menclose notations.
- mathml/presentation/menclose-notation-equivalence.html: Added.
This test verifies some equivalence for the notation attribute value.
- mathml/presentation/menclose-notation-equivalence-expected.html: Added.
- mathml/presentation/menclose-notation-radical.html: Update the test now that support for
the radical notation is removed.
- mathml/presentation/menclose-notation-radical-expected.html: ditto.
- platform/gtk/mathml/presentation/menclose-notation-default-longdiv-expected.png: Update
reference due to small changes in longdiv implementation.
- platform/gtk/mathml/presentation/menclose-notation-default-longdiv-expected.txt: ditto.
- platform/mac/mathml/presentation/menclose-notation-default-longdiv-expected.png: ditto.
- platform/mac/mathml/presentation/menclose-notation-default-longdiv-expected.txt: ditto.
- platform/ios-simulator/mathml/presentation/menclose-notation-default-longdiv-expected.txt: ditto
- platform/gtk/mathml/presentation/menclose-notation-values-expected.png: Added.
- platform/gtk/mathml/presentation/menclose-notation-values-expected.txt: Added.
- platform/mac/mathml/presentation/menclose-notation-values-expected.png: Added.
- platform/mac/mathml/presentation/menclose-notation-values-expected.txt: Added.
- platform/ios-simulator/mathml/presentation/menclose-notation-values-expected.txt: Added.
- 12:39 AM Changeset in webkit [199979] by
-
- 6 edits in releases/WebKitGTK/webkit-2.12
Merge r199099 - REGRESSION(r196629): Messages text size only changes for sending text, conversation text size does not change
https://bugs.webkit.org/show_bug.cgi?id=156287
<rdar://problem/24264756>
Reviewed by Andreas Kling.
Source/WebCore:
- css/RuleFeature.cpp:
(WebCore::RuleFeatureSet::recursivelyCollectFeaturesFromSelector):
(WebCore::makeAttributeSelectorKey):
Include attribute value to the key. Otherwise we may deduplicate selectors that are not indentical.
(WebCore::RuleFeatureSet::collectFeatures):
(WebCore::RuleFeatureSet::add):
Use HashMap::ensure().
- css/RuleFeature.h:
LayoutTests:
- fast/css/style-invalidation-attribute-change-descendants-expected.txt:
- fast/css/style-invalidation-attribute-change-descendants.html:
- 12:07 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 12:04 AM Changeset in webkit [199978] by
-
- 2 edits in trunk/Source/WebCore
Minor refactoring in RenderMathMLOperator
https://bugs.webkit.org/show_bug.cgi?id=156906
Patch by Frederic Wang <fwang@igalia.com> on 2016-04-25
Reviewed by Martin Robinson.
No new tests, this is only minor refactoring that does not change the behavior.
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::getGlyphAssemblyFallBack):
We rename the "state" integer to an "expected" enum indicating the next expected part.
(WebCore::RenderMathMLOperator::paintGlyph): We add a missing dot at the end of a sequence.
We also replace ceil(x+1) with ceil(x)+1 to get rid of the temporary variable.
Apr 24, 2016:
- 11:34 PM Changeset in webkit [199977] by
-
- 3 edits in trunk/Source/WebKit2
[EFL] Update the ewk_settings_offline_web_application_cache_enabled_get() expected value after r199854.
https://bugs.webkit.org/show_bug.cgi?id=156968
Reviewed by Gyuyoung Kim.
- UIProcess/API/C/WKPreferencesRef.h: Update the comment.
- UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
- 10:59 PM Changeset in webkit [199976] by
-
- 19 edits1 delete in trunk/Source/WebCore
[Web IDL] Specify default values for boolean parameters
https://bugs.webkit.org/show_bug.cgi?id=156964
Reviewed by Darin Adler.
Specify default values for boolean parameters in our IDL files and
let the bindings generator use WTF::Optional<> for the ones without
a default value.
- CMakeLists.txt:
- Modules/indexeddb/IDBKeyRange.cpp:
- Modules/indexeddb/IDBKeyRange.h:
- Modules/indexeddb/IDBKeyRange.idl:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSBindingsAllInOne.cpp:
- bindings/js/JSDOMTokenListCustom.cpp: Removed.
We no longer need these custom bindings as the bindings generator
will now provide the implementation with an Optional<bool>, given
that the parameter has no default value.
- bindings/scripts/CodeGeneratorJS.pm:
(CanUseWTFOptionalForParameterType): Deleted.
- bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_method_with_optional_boolean):
(webkit_dom_test_obj_method_with_optional_boolean_is_false):
- bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse):
- bindings/scripts/test/ObjC/DOMTestObj.h:
- bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj methodWithOptionalBoolean:]):
(-[DOMTestObj methodWithOptionalBooleanIsFalse:]):
- bindings/scripts/test/TestObj.idl:
- dom/Document.h:
- dom/Document.idl:
- dom/Element.idl:
- dom/EventTarget.idl:
- html/DOMTokenList.idl:
- 10:56 PM Changeset in webkit [199975] by
-
- 2 edits in trunk/LayoutTests
[EFL] Some media tests have been failed after bumping gstreamer ver.
Unreviewed EFL gardening. Mark failing tests to timeout or failure.
- platform/efl/TestExpectations:
- 8:09 PM Changeset in webkit [199974] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Can't sort by name/source code location columns in Timeline data grids
https://bugs.webkit.org/show_bug.cgi?id=156965
<rdar://problem/25898716>
Reviewed by Timothy Hatcher.
Add support for sorting SourceCodeLocation objects to TimelineDataGrid,
and include a grid delegate so that views can extend sorting logic for
other document fragment columns.
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView):
(WebInspector.NetworkTimelineView.prototype.dataGridSortComparator):
Sort "name" column by display name first, then resource URL.
- UserInterface/Views/ScriptDetailsTimelineView.js:
(WebInspector.ScriptDetailsTimelineView):
(WebInspector.ScriptDetailsTimelineView.prototype.dataGridSortComparator):
Sort "name" column by display name first, then subtitle.
- UserInterface/Views/ScriptTimelineDataGridNode.js:
(WebInspector.ScriptTimelineDataGridNode.prototype.get subtitle):
Make subtitle accessible externally for sorting.
(WebInspector.ScriptTimelineDataGridNode.prototype._createNameCellDocumentFragment):
(WebInspector.ScriptTimelineDataGridNode):
- UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid):
(WebInspector.TimelineDataGrid.prototype.get sortDelegate):
(WebInspector.TimelineDataGrid.prototype.set sortDelegate):
Fire a SortChanged event if the delegate changed and the grid is sorted.
(WebInspector.TimelineDataGrid.prototype._sort):
If a sort delegate exists, and it returns a numeric value, skip the
default compare.
(WebInspector.TimelineDataGrid.prototype._sortComparator):
Add support for sorting SourceCodeLocation columns.
- 6:40 PM Changeset in webkit [199973] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
Unreviewed, revert part of r199970 that shouldn't have been committed.
- web-platform-tests/IndexedDB/idbfactory_open9.htm:
- 6:17 PM WebKitIDL edited by
- Drop [Default] (diff)
- 6:03 PM Changeset in webkit [199972] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Error when selecting a bar in the Frames timeline
https://bugs.webkit.org/show_bug.cgi?id=156960
<rdar://problem/25897955>
Reviewed by Timothy Hatcher.
Fixes timeline grid node selection when record selected in the overview.
Adds general purposefindNodemethod to DataGrid.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.findNode):
Basic find function for locating a grid node in linear time.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._recordSelected):
Remove tree outline references, call generic select method.
- UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView.prototype.selectRecord):
If a data grid was set, deselect current selection and select the node
associated with the timeline record.
- 5:59 PM Changeset in webkit [199971] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Events in JavaScript & Events timeline have no profile children
https://bugs.webkit.org/show_bug.cgi?id=156627
<rdar://problem/25749740>
Reviewed by Timothy Hatcher.
ProfileNodeDataGridNode should handle
populateevents when expanded.
This was previously done by ProfileNodeTreeElement, which is no longer
used in the Timelines tab.
- UserInterface/Views/ProfileDataGridNode.js:
(WebInspector.ProfileDataGridNode.prototype._updateChildrenForModifiers):
(WebInspector.ProfileDataGridNode.prototype._populate):
(WebInspector.ProfileDataGridNode):
DataGridNode setsshouldRefreshChildrento false after populating
child nodes. No need to track with a separate flag.
- UserInterface/Views/ProfileNodeDataGridNode.js:
(WebInspector.ProfileNodeDataGridNode):
(WebInspector.ProfileNodeDataGridNode.prototype._populate):
- 5:27 PM Changeset in webkit [199970] by
-
- 23 edits in trunk
Autogenerated IDBFactory.open() does the wrong thing if you pass an explicit 'undefined' as the second argument
https://bugs.webkit.org/show_bug.cgi?id=156939
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Re-sync tests from upstream b1818929.
- IndexedDB-private-browsing/idbfactory_open9-expected.txt:
- IndexedDB-private-browsing/idbfactory_open9.html:
- web-platform-tests/IndexedDB/idbfactory_open9-expected.txt:
- web-platform-tests/IndexedDB/idbfactory_open9.htm:
Source/WebCore:
As per WebIDL, if undefined is passed by JS for an optional parameter then
we should use its default value if it has one, or use the special value
"missing":
http://heycam.github.io/webidl/#es-overloads (step 10.4)
Our bindings generator was already mapping undefined to the parameter's
default value when present. However, it was missing the notion of
"missing" value when there no default value. This patch adds supports
for its by passing Optional<>(Nullopt) to the implementation in such
case. This means that the implementation will need to use WTF::Optional<>
type for parameters that do not have a default value. Thankfully though,
in most cases, we will be able to specify a default value in the IDL
so cases where we will need to use WTF::Optional<> will actually be
rare.
To avoid having to do too much refactoring in this patch, the support
for WTF::Optional is currently blacklisted for most IDL types. I will
gradually stop blacklisting each type in follow-up patches, as I either:
- Add default parameter values in our IDL (preferred)
- Use WTF::Optional<> in our implementation (when we cannot specify a default value).
This patch fixes a bug with IDBFactory.open()'s second parameter (version)
for which undefined should not throw and indicate that the version
should not be changed. We now use WTF::Optional in the implementation to
distinguish this case and not throw.
No new tests, existing tests were updated / rebaselined.
- Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::open):
(WebCore::IDBFactory::openInternal): Deleted.
- Modules/indexeddb/IDBFactory.h:
- bindings/scripts/CodeGeneratorJS.pm:
(ShouldUseWTFOptionalForParameterType):
(GenerateParametersCheck):
- fileapi/Blob.idl:
- inspector/InspectorIndexedDBAgent.cpp:
LayoutTests:
Update / rebaseline existing test now that passing undefined as second parameter to
IDBFactory.open() no longer throws.
- storage/indexeddb/intversion-bad-parameters-expected.txt:
- storage/indexeddb/intversion-bad-parameters-private-expected.txt:
- storage/indexeddb/resources/intversion-bad-parameters.js:
(deleteSuccess):
- 10:23 AM Changeset in webkit [199969] by
-
- 145 edits in trunk
[WebIDL] Drop [Default] WebKit-IDL extended attribute
https://bugs.webkit.org/show_bug.cgi?id=156955
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline some tests now that a different exception type is thrown
for some of our APIs when passing null.
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Drop [Default] WebKit-IDL extended attribute in favor of the standard
WebIDL syntax for parameters' default value.
Here is what it looks like:
[Default=NullString] optional DOMString a -> optional DOMString a = null
[Default=NullString] optional DOMString? a -> optional DOMString? a = null
[Default=Undefined] optional DOMString a -> optional DOMString a = "undefined"
[Default=Undefined] optional DOMString? a -> optional DOMString? a = null
[Default=Undefined] optional long a -> optional long a = 0
[Default=Undefined] optional bool a -> optional bool a = false
[Default=Undefined] optional unrestricted double a -> optional unrestricted double a = NaN
[Default=Undefined] optional unrestricted float a -> optional unrestricted float a = NaN
[Default=Undefined] optional sequence<DOMString> a -> optional sequence<DOMString> a = []
These do not cause any Web-Exposed behavior change. However, when getting
rid of [Default] started passing more parameters by derefence instead of
pointer (as is expected for parameters not marked as nullable). As a result,
I had to mark a few parameters as nullable in the IDL to maintain the
previous behavior. In some cases, the implementation was already throwing
when passing null. In such cases, I have not marked the type as nullable
so that the generated bindings now throw the exception instead of our
implementation code. In some cases, the exception being thrown is now
different. This is why some of the layout tests had to be rebaselined.
No new tests, existing tests have been rebaselined. No significant Web
exposed behavior change is expected from this patch, beside exceptions
type sometimes being different.
- Modules/encryptedmedia/MediaKeys.idl:
- Modules/fetch/FetchRequest.idl:
- Modules/gamepad/deprecated/GamepadList.idl:
- Modules/indexeddb/IDBDatabase.idl:
- Modules/mediastream/RTCStatsResponse.idl:
- Modules/notifications/Notification.idl:
- Modules/speech/SpeechSynthesisUtterance.idl:
- Modules/webaudio/AudioNode.idl:
- Modules/websockets/WebSocket.idl:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
- bindings/scripts/IDLAttributes.txt:
- bindings/scripts/IDLParser.pm:
(parseDefault):
(parseDefaultValue):
- bindings/scripts/test/TestInterface.idl:
- bindings/scripts/test/TestNamedConstructor.idl:
- bindings/scripts/test/TestObj.idl:
- bindings/scripts/test/TestOverrideBuiltins.idl:
- css/CSSKeyframesRule.idl:
- css/CSSMediaRule.idl:
- css/CSSPrimitiveValue.idl:
- css/CSSRuleList.idl:
- css/CSSStyleDeclaration.idl:
- css/CSSStyleSheet.idl:
- css/CSSSupportsRule.idl:
- css/CSSValueList.idl:
- css/MediaList.idl:
- css/MediaQueryList.idl:
- css/MediaQueryListListener.idl:
- css/StyleMedia.idl:
- css/StyleSheetList.idl:
- css/WebKitCSSFilterValue.idl:
- css/WebKitCSSMatrix.idl:
- css/WebKitCSSTransformValue.idl:
- dom/ClientRectList.idl:
- dom/Comment.idl:
- dom/CompositionEvent.idl:
- dom/CustomEvent.h:
- dom/CustomEvent.idl:
- dom/DOMImplementation.idl:
- dom/DOMStringList.idl:
- dom/DataTransferItem.idl:
- dom/DataTransferItemList.idl:
- dom/DeviceMotionEvent.idl:
- dom/DeviceOrientationEvent.idl:
- dom/Document.cpp:
(WebCore::Document::adoptNode):
- dom/Document.idl:
- dom/Element.cpp:
(WebCore::Element::setAttributeNode):
(WebCore::Element::setAttributeNodeNS):
(WebCore::Element::removeAttributeNode):
(WebCore::Element::parseAttributeName): Deleted.
- dom/Element.h:
- dom/Element.idl:
- dom/Event.idl:
- dom/HashChangeEvent.idl:
- dom/KeyboardEvent.idl:
- dom/MessageEvent.idl:
- dom/MouseEvent.idl:
- dom/MutationEvent.idl:
- dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::setNamedItem):
(WebCore::NamedNodeMap::setNamedItemNS):
(WebCore::NamedNodeMap::item): Deleted.
- dom/NamedNodeMap.h:
- dom/NamedNodeMap.idl:
- dom/Node.idl:
- dom/NodeFilter.idl:
- dom/NonElementParentNode.idl:
- dom/OverflowEvent.idl:
- dom/Range.idl:
- dom/Text.idl:
- dom/TextEvent.idl:
- dom/TouchEvent.idl:
- dom/UIEvent.idl:
- dom/WheelEvent.idl:
- html/DOMFormData.idl:
- html/HTMLAllCollection.idl:
- html/HTMLAudioElement.idl:
- html/HTMLCanvasElement.idl:
- html/HTMLCollection.idl:
- html/HTMLDocument.idl:
- html/HTMLElement.cpp:
(WebCore::HTMLElement::insertAdjacentElement):
(WebCore::contextElementForInsertion): Deleted.
- html/HTMLElement.h:
- html/HTMLElement.idl:
- html/HTMLFormControlsCollection.idl:
- html/HTMLInputElement.idl:
- html/HTMLMediaElement.idl:
- html/HTMLOptionElement.idl:
- html/HTMLOptionsCollection.idl:
- html/HTMLSelectElement.idl:
- html/HTMLTableElement.idl:
- html/HTMLTableRowElement.idl:
- html/HTMLTableSectionElement.idl:
- html/HTMLTextAreaElement.idl:
- html/ImageData.idl:
- html/canvas/CanvasGradient.idl:
- html/canvas/CanvasRenderingContext2D.idl:
- html/canvas/DOMPath.idl:
- html/canvas/OESVertexArrayObject.idl:
- page/DOMSelection.cpp:
(WebCore::DOMSelection::extend):
(WebCore::DOMSelection::getRangeAt): Deleted.
- page/DOMSelection.h:
- page/DOMSelection.idl:
- page/DOMWindow.idl:
- page/History.idl:
- page/Performance.idl:
- page/WindowTimers.idl:
- plugins/DOMMimeTypeArray.idl:
- plugins/DOMPlugin.idl:
- plugins/DOMPluginArray.idl:
- storage/StorageEvent.idl:
- svg/SVGAnimationElement.idl:
- svg/SVGDocument.idl:
- svg/SVGElement.idl:
- svg/SVGFEDropShadowElement.idl:
- svg/SVGFEGaussianBlurElement.idl:
- svg/SVGFEMorphologyElement.idl:
- svg/SVGFilterElement.idl:
- svg/SVGGraphicsElement.idl:
- svg/SVGMarkerElement.idl:
- svg/SVGPathElement.idl:
- svg/SVGSVGElement.idl:
- svg/SVGTests.idl:
- svg/SVGTextContentElement.idl:
- xml/DOMParser.idl:
- xml/XMLSerializer.cpp:
(WebCore::XMLSerializer::serializeToString):
- xml/XMLSerializer.h:
- xml/XMLSerializer.idl:
- xml/XPathEvaluator.idl:
- xml/XPathExpression.idl:
- xml/XPathNSResolver.idl:
- xml/XPathResult.idl:
- xml/XSLTProcessor.idl:
Tools:
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
LayoutTests:
Rebaseline some tests now that a different exception type is thrown
for some of our APIs when passing null.
- editing/selection/extend-expected.txt:
- fast/dom/Element/attr-param-typechecking-expected.txt:
- fast/dom/NamedNodeMap-setNamedItem-crash-expected.txt:
- fast/dynamic/insertAdjacentElement-expected.txt:
- 10:07 AM Changeset in webkit [199968] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Optimize JSON.parse string fast path
https://bugs.webkit.org/show_bug.cgi?id=156953
Reviewed by Mark Lam.
This patch further optimizes the string parsing fast path.
Previously, we generated the WTF::String to hold the ownership of the token's string.
And always copied the token in LiteralParser side.
Instead, we hold the ownership of the token String by the StringBuilder in LiteralParser::Lexer,
and remove the processing in the string parsing fast path.
This patch gives us stable 1 - 2.5% improvement in Kraken json-parse-financial.
Baseline Modified
json-parse-financial 41.383+-0.248 40.894+-0.189 definitely 1.0120x faster
- runtime/LiteralParser.cpp:
(JSC::LiteralParser<CharType>::tryJSONPParse):
(JSC::LiteralParser<CharType>::Lexer::lex):
(JSC::LiteralParser<CharType>::Lexer::lexStringSlow):
(JSC::LiteralParser<CharType>::parse):
(JSC::LiteralParser<CharType>::Lexer::lexString): Deleted.
- runtime/LiteralParser.h:
(JSC::LiteralParser::tryLiteralParse):
(JSC::LiteralParser::Lexer::currentToken):
(JSC::LiteralParser::Lexer::LiteralParserTokenPtr::LiteralParserTokenPtr):
(JSC::LiteralParser::Lexer::LiteralParserTokenPtr::operator->):
- 10:05 AM Changeset in webkit [199967] by
-
- 27 edits5 adds in trunk
[INTL] Implement String.prototype.localeCompare in ECMA-402
https://bugs.webkit.org/show_bug.cgi?id=147607
Patch by Filip Pizlo <fpizlo@apple.com> and Andy VanWagoner <thetalecrafter@gmail.com> on 2016-04-24
Reviewed by Darin Adler.
Source/JavaScriptCore:
Part of this change is just rolling 194394 back in.
The other part is making that not a regression on CDjs. Other than the fact that it uses
bound functions, the problem with this new localeCompare implementation is that it uses
the arguments object. It uses it in a way that *seems* like ArgumentsEliminationPhase
ought to handle, but to my surprise it didn't:
- If we have a ForceExit GetByVal on the arguments object, we would previously assume that it escaped. That's false since we just exit at ForceExit. On the other hand we probably should be pruning unreachable paths before we get here, but that's a separate issue. I don't want to play with phase order right now.
- If we have a OutOfBounds GetByVal on the arguments object, then the best that would previously happen is that we'd compile it into an in-bounds arguments access. That's quite bad, as Andy's localeCompare illustrates: it uses out-of-bounds access on the arguments object to detect if an argument was passed. This change introduces an OutOfBounds version of GetMyArgumentByVal for this purpose.
This change required registering sane chain watchpoints. In the process, I noticed that the
old way of doing it had a race condition: we might register watchpoints for the structure
that had become insane. This change introduces a double-checking idiom that I believe works
because once the structure becomes insane it can't go back to sane and watchpoints
registration already involves executing the hardest possible fences.
- builtins/StringPrototype.js:
(repeat):
(localeCompare):
(search):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::refine):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGPreciseLocalClobberize.h:
(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGValidate.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt):
- ftl/FTLTypedPointer.h:
(JSC::FTL::TypedPointer::TypedPointer):
(JSC::FTL::TypedPointer::operator bool):
(JSC::FTL::TypedPointer::heap):
(JSC::FTL::TypedPointer::operator!): Deleted.
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
LayoutTests:
- js/dom/script-tests/string-prototype-properties.js:
- js/dom/string-prototype-properties-expected.txt:
- js/regress/locale-compare.html: Added.
- js/regress/locale-compare-expected.txt: Added.
- js/regress/scripts-tests/locale-compare.js: Added.
- js/script-tests/string-localeCompare.js:
- js/string-localeCompare-expected.txt:
- js/string-localeCompare.html:
- 9:20 AM Changeset in webkit [199966] by
-
- 5 edits in tags/Safari-602.1.29.1/Source
Versioning.
- 9:18 AM Changeset in webkit [199965] by
-
- 1 copy in tags/Safari-602.1.29.1
New tag.
- 6:54 AM Changeset in webkit [199964] by
-
- 423 edits in trunk/Source/WebCore
RenderStyle should not be reference counted
https://bugs.webkit.org/show_bug.cgi?id=156846
Reviewed by Andreas Kling.
RenderStyle reference counts its substructures. We no longer share RenderStyle objects between normal renderers
so there is no reason to refcount the RenderStyles themselves too. Making it a non-refcounted type clarifies
ownership relations, reduces branchiness and saves some memory.
This patches switches mostly mechanically from Ref/RefPtr<RenderStyle> to std::unique_ptr<RenderStyle>. In
the future RenderStyle can be given regular value semantics.
- Modules/plugins/PluginReplacement.h:
(WebCore::PluginReplacement::scriptObject):
(WebCore::PluginReplacement::willCreateRenderer):
- Modules/plugins/QuickTimePluginReplacement.h:
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::~QuickTimePluginReplacement):
(WebCore::QuickTimePluginReplacement::createElementRenderer):
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::YouTubePluginReplacement):
(WebCore::YouTubePluginReplacement::createElementRenderer):
- Modules/plugins/YouTubePluginReplacement.h:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::getFontSizeCSSValuePreferringKeyword):
(WebCore::ComputedStyleExtractor::useFixedFontDefaultSize):
(WebCore::updateStyleIfNeededForNode):
(WebCore::computeRenderStyleForProperty):
(WebCore::ComputedStyleExtractor::customPropertyValue):
(WebCore::ComputedStyleExtractor::propertyValue):
- css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
(WebCore::MediaQueryEvaluator::eval):
- css/MediaQueryEvaluator.h:
Clarify in code that MediaQueryEvaluator does not own the style.
- css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::mediaType):
(WebCore::MediaQueryMatcher::documentElementUserAgentStyle):
(WebCore::MediaQueryMatcher::evaluate):
(WebCore::MediaQueryMatcher::matchMedia):
(WebCore::MediaQueryMatcher::styleResolverChanged):
(WebCore::MediaQueryMatcher::prepareEvaluator): Deleted.
- css/MediaQueryMatcher.h:
- css/StyleMedia.cpp:
(WebCore::StyleMedia::matchMedium):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::State::updateConversionData):
(WebCore::StyleResolver::State::setStyle):
(WebCore::StyleResolver::State::setParentStyle):
State owns the style explicitly set by setParentStyle but not the one given via constructor.
(WebCore::isAtShadowBoundary):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::keyframeStylesForAnimation):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::defaultStyleForElement):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyPropertyToStyle):
- css/StyleResolver.h:
(WebCore::ElementStyle::ElementStyle):
(WebCore::StyleResolver::style):
(WebCore::StyleResolver::parentStyle):
(WebCore::StyleResolver::setOverrideDocumentElementStyle):
(WebCore::StyleResolver::State::document):
(WebCore::StyleResolver::State::element):
(WebCore::StyleResolver::State::style):
(WebCore::StyleResolver::State::takeStyle):
(WebCore::StyleResolver::State::parentStyle):
(WebCore::StyleResolver::State::rootElementStyle):
(WebCore::StyleResolver::State::regionForStyling):
(WebCore::StyleResolver::State::setParentStyle): Deleted.
- dom/Document.cpp:
(WebCore::Document::recalcStyle):
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
(WebCore::Document::styleForElementIgnoringPendingStylesheets):
(WebCore::Document::isPageBoxVisible):
(WebCore::Document::pageSizeAndMarginsInPixels):
(WebCore::Document::addAutoSizingNode):
(WebCore::Document::validateAutoSizingNodes):
(WebCore::Document::resetAutoSizingNodes):
(WebCore::Document::setFullScreenRenderer):
- dom/Document.h:
- dom/Element.cpp:
(WebCore::Element::rendererIsNeeded):
(WebCore::Element::createElementRenderer):
(WebCore::Element::resolveComputedStyle):
- dom/Element.h:
(WebCore::Element::copyNonAttributePropertiesFromElement):
- dom/ElementRareData.h:
...
- page/animation/AnimationBase.h:
- page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
(WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
(WebCore::AnimationControllerPrivate::computeExtentOfAnimation):
(WebCore::AnimationController::cancelAnimations):
(WebCore::AnimationController::updateAnimations):
std::unique_ptr<RenderStyle& animatedStyle argument is now expected no be initially null and
is only set if a new style is created.
(WebCore::AnimationController::getAnimatedStyleForRenderer):
- page/animation/AnimationController.h:
- page/animation/AnimationControllerPrivate.h:
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::updateKeyframeAnimations):
(WebCore::CompositeAnimation::animate):
(WebCore::CompositeAnimation::getAnimatedStyle):
- page/animation/CompositeAnimation.h:
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::ImplicitAnimation):
(WebCore::ImplicitAnimation::shouldSendEventForListener):
(WebCore::ImplicitAnimation::animate):
(WebCore::ImplicitAnimation::getAnimatedStyle):
(WebCore::ImplicitAnimation::onAnimationEnd):
(WebCore::ImplicitAnimation::reset):
- page/animation/ImplicitAnimation.h:
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
(WebCore::KeyframeAnimation::animate):
(WebCore::KeyframeAnimation::getAnimatedStyle):
- page/animation/KeyframeAnimation.h:
- rendering/RenderAttachment.cpp:
(WebCore::RenderAttachment::RenderAttachment):
- rendering/RenderAttachment.h:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::clone):
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):
- rendering/RenderBlock.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::MarginInfo::MarginInfo):
(WebCore::RenderBlockFlow::RenderBlockFlow):
- rendering/RenderBlockFlow.h:
- rendering/RenderBox.cpp:
(WebCore::skipBodyBackground):
(WebCore::RenderBox::RenderBox):
- rendering/RenderBox.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::suspendAnimations):
(WebCore::RenderBoxModelObject::RenderBoxModelObject):
- rendering/RenderBoxModelObject.h:
- rendering/RenderButton.cpp:
(WebCore::RenderButton::RenderButton):
(WebCore::RenderButton::setupInnerStyle):
- rendering/RenderButton.h:
- rendering/RenderCombineText.h:
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
- rendering/RenderDeprecatedFlexibleBox.h:
- rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::RenderDetailsMarker):
- rendering/RenderDetailsMarker.h:
- rendering/RenderElement.cpp:
(WebCore::controlStatesRendererMap):
(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::~RenderElement):
(WebCore::RenderElement::createFor):
(WebCore::firstLineStyleForCachedUncachedType):
(WebCore::RenderElement::uncachedFirstLineStyle):
(WebCore::RenderElement::cachedFirstLineStyle):
(WebCore::RenderElement::initializeStyle):
(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::propagateStyleToAnonymousChildren):
(WebCore::RenderElement::styleDidChange):
(WebCore::RenderElement::getCachedPseudoStyle):
Return plain pointer as the cache owns the style.
(WebCore::RenderElement::getUncachedPseudoStyle):
return std::unique_ptr<RenderStyle>
(WebCore::RenderElement::selectionColor):
(WebCore::RenderElement::selectionPseudoStyle):
(WebCore::RenderElement::selectionBackgroundColor):
- rendering/RenderElement.h:
(WebCore::RenderElement::hasInitializedStyle):
(WebCore::RenderElement::style):
(WebCore::RenderElement::element):
(WebCore::RenderElement::setStyleInternal):
- rendering/RenderEmbeddedObject.cpp:
...
(WebCore::RenderImage::imageResource):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::RenderInline):
(WebCore::updateStyleOfAnonymousBlockContinuations):
(WebCore::RenderInline::styleDidChange):
Continuations now get their own RenderStyles.
(WebCore::RenderInline::addChildIgnoringContinuation):
(WebCore::RenderInline::clone):
- rendering/RenderInline.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::currentTransform):
(WebCore::RenderLayer::calculateClipRects):
- rendering/RenderLayer.h:
...
- rendering/style/KeyframeList.cpp:
(WebCore::KeyframeList::operator==):
(WebCore::KeyframeList::insert):
KeyframeValue is now movable but not copyable type. Adjust accordingly.
- rendering/style/KeyframeList.h:
(WebCore::KeyframeValue::KeyframeValue):
(WebCore::KeyframeValue::setKey):
(WebCore::KeyframeValue::style):
(WebCore::KeyframeValue::setStyle):
(WebCore::KeyframeList::animationName):
(WebCore::KeyframeList::addProperty):
(WebCore::KeyframeList::containsProperty):
- rendering/style/RenderStyle.cpp:
(WebCore::defaultStyle):
(WebCore::RenderStyle::create):
(WebCore::RenderStyle::createDefaultStyle):
(WebCore::RenderStyle::createAnonymousStyleWithDisplay):
(WebCore::RenderStyle::clone):
(WebCore::RenderStyle::createStyleInheritingFromPseudoStyle):
Return std::unique_ptr<RenderStyle> instead of Ref<RenderStyle>.
(WebCore::RenderStyle::RenderStyle):
(WebCore::RenderStyle::~RenderStyle):
(WebCore::resolveAlignmentData):
(WebCore::RenderStyle::operator==):
(WebCore::RenderStyle::hasUniquePseudoStyle):
(WebCore::RenderStyle::getCachedPseudoStyle):
(WebCore::RenderStyle::addCachedPseudoStyle):
(WebCore::RenderStyle::isStyleAvailable): Deleted.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setStyleType):
(WebCore::RenderStyle::cachedPseudoStyles):
(WebCore::RenderStyle::initialIsolation):
(WebCore::RenderStyle::isPlaceholderStyle):
(WebCore::RenderStyle::setIsPlaceholderStyle):
Add placeholder style bit to rareNonInheritedData. We no longer rely on RenderStyle identity for this test.
(WebCore::RenderStyle::noninheritedFlagsMemoryOffset):
- rendering/style/SVGRenderStyle.cpp:
(WebCore::defaultSVGStyle):
(WebCore::SVGRenderStyle::createDefaultStyle):
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
(WebCore::StyleRareNonInheritedData::contentDataEquivalent):
- rendering/style/StyleRareNonInheritedData.h:
...
(WebCore::findRenderingRoot):
(WebCore::findRenderingRoots):
(WebCore::RenderTreeUpdater::commit):
Style::Update is no longer const as we move the styles from it to the render tree.
(WebCore::pseudoStyleCacheIsInvalid):
(WebCore::RenderTreeUpdater::updateElementRenderer):
(WebCore::moveToFlowThreadIfNeeded):
(WebCore::RenderTreeUpdater::createRenderer):
(WebCore::RenderTreeUpdater::updateBeforeOrAfterPseudoElement):
- style/RenderTreeUpdater.h:
- style/StyleResolveForDocument.cpp:
(WebCore::Style::resolveForDocument):
- style/StyleResolveForDocument.h:
- style/StyleSharingResolver.cpp:
(WebCore::Style::elementHasDirectionAuto):
(WebCore::Style::SharingResolver::resolve):
- style/StyleSharingResolver.h:
- style/StyleTreeResolver.cpp:
(WebCore::Style::ensurePlaceholderStyle):
Set the placeholder.
(WebCore::Style::TreeResolver::Parent::Parent):
(WebCore::Style::TreeResolver::pushScope):
(WebCore::Style::TreeResolver::pushEnclosingScope):
(WebCore::Style::TreeResolver::popScope):
Set and clear StyleResolver overrideDocumentElementStyle as needed. It is owned by the TreeResolver.
(WebCore::Style::TreeResolver::styleForElement):
Clone the placeholder style.
(WebCore::Style::TreeResolver::resolveElement):
(WebCore::Style::TreeResolver::pushParent):
(WebCore::Style::TreeResolver::resolveComposedTree):
(WebCore::Style::TreeResolver::resolve):
Adopt to the std::unique_ptr and ElementStyle move semantics.
- style/StyleTreeResolver.h:
(WebCore::Style::TreeResolver::scope):
- style/StyleUpdate.cpp:
(WebCore::Style::Update::elementUpdate):
(WebCore::Style::Update::textUpdate):
(WebCore::Style::Update::elementStyle):
(WebCore::Style::Update::addElement):
(WebCore::Style::Update::addText):
- style/StyleUpdate.h:
(WebCore::Style::Update::roots):
(WebCore::Style::Update::document):
- svg/SVGAElement.cpp:
(WebCore::SVGAElement::svgAttributeChanged):
(WebCore::SVGAElement::createElementRenderer):
...
- 5:45 AM Changeset in webkit [199963] by
-
- 2 edits in trunk/Source/WebCore
Drop [UsePointersEvenForNonNullableObjectArguments] from MediaControlsHost
https://bugs.webkit.org/show_bug.cgi?id=156903
Reviewed by Chris Dumez.
No change of behavior.
- Modules/mediacontrols/MediaControlsHost.idl: Marking some parameters as nullable.
- 5:45 AM Changeset in webkit [199962] by
-
- 2 edits in trunk/Source/WebCore
Drop [UsePointersEvenForNonNullableObjectArguments] from WebGLRenderingContext
https://bugs.webkit.org/show_bug.cgi?id=156909
Reviewed by Chris Dumez.
No change of behavior.
Marking a lot of method parameters as nullable.
- html/canvas/WebGLRenderingContextBase.idl:
- 5:37 AM Changeset in webkit [199961] by
-
- 4 edits in trunk/Source/WebCore
Drop [UsePointersEvenForNonNullableObjectArguments] from WebSocket
https://bugs.webkit.org/show_bug.cgi?id=156897
Reviewed by Chris Dumez.
No change of behavior.
Updating WebSocket::send methods to take references, except for ArrayBufferView, which is not yet supported by the binding generator.
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::send):
- Modules/websockets/WebSocket.h:
- Modules/websockets/WebSocket.idl:
Apr 23, 2016:
- 7:49 PM Changeset in webkit [199960] by
-
- 20 edits in trunk/Source
Fix issues found by the clang static analyzer
https://bugs.webkit.org/show_bug.cgi?id=156956
Reviewed by Alexey Proskuryakov.
Source/WebCore:
- editing/cocoa/DataDetection.mm:
(WebCore::DataDetection::detectContentInRange): Stored tz in a RetainPtr.
- platform/cf/KeyedDecoderCF.cpp:
(WebCore::KeyedDecoderCF::KeyedDecoderCF): If dynamic_cf_cast returned nullptr, the result of
CFPropertyListCreateWithData would leak. Stored the CFPropertyListRef in a RetainPtr, then leaked/adopted it
into m_rootDictionary (to avoid retain count churn) if it is a CFDictionary.
- platform/ios/WebAVPlayerController.mm:
(-[WebAVPlayerController dealloc]): Released _externalPlaybackAirPlayDeviceLocalizedName.
(-[WebAVMediaSelectionOption dealloc]): Added to release _localizedDisplayName.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerLayer dealloc]): Released _pixelBufferAttributes.
- platform/network/cocoa/WebCoreNSURLSession.h: Removed the readwrite attributes from properties, since
properties are readwrite by default.
- platform/network/cocoa/WebCoreNSURLSession.mm: Removed @dynamic, which isn't necessary just for defining a custom getter.
(-[WebCoreNSURLSessionDataTask dealloc]): Added to release copied ivars.
Source/WebKit/mac:
- WebView/WebDeviceOrientationProviderMock.mm:
(-[WebDeviceOrientationProviderMock dealloc]): [super dealloc] should be called last.
Source/WebKit2:
- UIProcess/API/Cocoa/WKPreviewActionItem.mm:
(-[WKPreviewAction dealloc]): Added to release _identifier.
- UIProcess/_WKWebViewPrintFormatter.mm:
(-[_WKWebViewPrintFormatter dealloc]): Released _frameToPrint.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView inputView]): -createPeripheralWithView: returned a retained object, but the method name did not
match Cocoa conventions. Called -initWithView: instead.
(-[WKContentView _showAttachmentSheet]): Stored the _WKActivatedElementInfo in a RetainPtr.
(-[WKContentView _dataForPreviewItemController:atPosition:type:]): Ditto.
(+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]):
The properties contextBeforeSelection, selectedText, markedText, and contextAfterSelection have the 'copy'
annotation in UIWKAutocorrectionContext, so the additional copy made here would be leaked. Removed the extra copy.
(-[WKAutocorrectionContext dealloc]): Deleted.
- UIProcess/ios/forms/WKFormInputControl.h: Removed -createPeripheralWithView: and declared -initWithView:.
- UIProcess/ios/forms/WKFormInputControl.mm:
(-[WKFormInputControl initWithView:]): Changed to return instancetype.
(+[WKFormInputControl createPeripheralWithView:]): Deleted.
- UIProcess/ios/forms/WKFormSelectControl.h: Removed -createPeripheralWithView: and declared -initWithView:.
- UIProcess/ios/forms/WKFormSelectControl.mm:
(+[WKFormSelectControl createPeripheralWithView:]): Deleted.
- UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::decodeLegacySessionState): If dynamic_cf_cast returned nullptr, the result of
CFPropertyListCreateWithData would leak. Stored the CFPropertyListRef in a RetainPtr before calling dynamic_cf_cast.
- UIProcess/mac/ServicesController.mm:
(WebKit::ServicesController::refreshExistingServices): Used a RetainPtr for attachment and cell.
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu): Used a RetainPtr for groupEntry.
- 7:27 PM Changeset in webkit [199959] by
-
- 2 edits in trunk/Tools
Really enable INDEXED_DATABASE on Apple Mac cmake build
https://bugs.webkit.org/show_bug.cgi?id=156902
Reviewed by Michael Catanzaro.
- Scripts/webkitperl/FeatureList.pm:
- 7:25 PM Changeset in webkit [199958] by
-
- 3 edits in trunk/Tools
check-webkit-style: fix false-positive warnings about @synchronized
https://bugs.webkit.org/show_bug.cgi?id=156957
Reviewed by Dan Bernstein.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing_for_function_call): Ignore @synchronized lines.
(check_braces): Ditto.
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_brace_at_begin_of_line): Added a test case.
- 5:13 PM Changeset in webkit [199957] by
-
- 2 edits in tags/Safari-602.1.29.0.1/Source/WebCore
Merged r199956. rdar://problem/25894586
- 4:51 PM Changeset in webkit [199956] by
-
- 2 edits in trunk/Source/WebCore
<rdar://problem/25894586> A project has failed to build because WTF_MAKE_FAST_ALLOCATED was not defined
Rubber-stamped by Chris Dumez.
Reverted the IntSize part of r199735, to let IntSize.h keep being used in another project.
- platform/graphics/IntSize.h:
(WebCore::IntSize::IntSize):
- 2:33 PM Changeset in webkit [199955] by
-
- 22 edits in trunk/Source
Tie the DiagnosticLoggingClient's lifetime to the Page
https://bugs.webkit.org/show_bug.cgi?id=156938
<rdar://problem/25851499>
Reviewed by Antti Koivisto.
Source/WebCore:
Tie the DiagnosticLoggingClient's lifetime to the Page rather than to the
MainFrame. The diagnostic logging client in WebKit2 requires the WebPage
to be alive in order to send IPC to the UIProcess. The WebPage owns the
Page and Page is not refCounted so the lifetime of the
DiagnosticLoggingClient should now be tied to the one of the WebPage as
well.
Previously, the DiagnosticLoggingClient would stay alive as long as the
MainFrame and could apparently in rare cases outlive the WebPage, thus
crashing when trying to send the IPC.
- history/PageCache.cpp:
(WebCore::logPageCacheFailureDiagnosticMessage):
(WebCore::canCachePage):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadResource):
(WebCore::logMediaLoadRequest):
(WebCore::HTMLMediaElement::updatePlayState):
(WebCore::HTMLMediaElement::mediaPlayerEngineFailedToLoad):
- loader/EmptyClients.h:
- loader/FrameLoader.cpp:
(WebCore::logNavigation):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
- loader/ResourceLoader.cpp:
(WebCore::logResourceResponseSource):
- loader/SubframeLoader.cpp:
(WebCore::logPluginRequest):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::logResourceLoaded):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::logMemoryCacheResourceRequest):
(WebCore::logResourceRevalidationDecision):
- page/DiagnosticLoggingClient.h:
- page/MainFrame.cpp:
(WebCore::MainFrame::MainFrame): Deleted.
(WebCore::MainFrame::~MainFrame): Deleted.
(WebCore::MainFrame::diagnosticLoggingClient): Deleted.
- page/MainFrame.h:
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::diagnosticLoggingClient):
- page/Page.h:
Source/WebKit2:
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:
(WebKit::WebDiagnosticLoggingClient::pageDestroyed):
(WebKit::WebDiagnosticLoggingClient::mainFrameDestroyed): Deleted.
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::willStartUserTriggeredZooming):
- 10:45 AM Changeset in webkit [199954] by
-
- 11 edits in tags/Safari-602.1.29.0.1/Source/WebKit2
Merged r199951. rdar://problem/25893246
- 10:44 AM Changeset in webkit [199953] by
-
- 5 edits in tags/Safari-602.1.29.0.1/Source
Versioning.
- 10:41 AM Changeset in webkit [199952] by
-
- 1 copy in tags/Safari-602.1.29.0.1
New tag.
- 10:37 AM Changeset in webkit [199951] by
-
- 11 edits in trunk/Source/WebKit2
<rdar://problem/25893246> WebKit2 has failed to build: error: use of undeclared identifier 'm_playbackSessionManager'
Fixed the non-AVKit build.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _isShowingVideoPictureInPicture]):
(-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::fullScreenManager):
(WebKit::WebPageProxy::playbackSessionManager):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::applicationDidBecomeActive):
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createScrollingCoordinator):
(WebKit::WebChromeClient::supportsVideoFullscreen):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::inspectorUI):
(WebKit::WebPage::playbackSessionManager):
- WebProcess/WebPage/WebPage.h:
- WebProcess/cocoa/WebVideoFullscreenManager.h:
- WebProcess/cocoa/WebVideoFullscreenManager.mm:
- 10:05 AM Changeset in webkit [199950] by
-
- 4 edits in trunk/Source/bmalloc
bmalloc: vm allocations should plant guard pages
https://bugs.webkit.org/show_bug.cgi?id=156937
Rolling out - looks like this is memory regression.
- bmalloc/Object.h:
(bmalloc::Object::operator+):
(bmalloc::Object::operator<=):
(bmalloc::Object::operator-): Deleted.
- bmalloc/VMAllocate.h:
(bmalloc::vmDeallocate):
(bmalloc::vmRevokePermissions): Deleted.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::allocateSmallChunk):
- 9:38 AM Changeset in webkit [199949] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, unbreak cloop.
- runtime/VM.cpp:
(JSC::VM::getHostFunction):
- 8:18 AM Changeset in webkit [199948] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
Updated Hungarian translation
https://bugs.webkit.org/show_bug.cgi?id=156952
Patch by Gabor Kelemen <kelemeng@ubuntu.com> on 2016-04-23
Rubber-stamped by Michael Catanzaro.
- hu.po:
- 2:12 AM MathML/Early_2016_Refactoring edited by
- (diff)
Apr 22, 2016:
- 7:49 PM Changeset in webkit [199947] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: HeapAllocationsTimeline grid should use built-in grid column icons
https://bugs.webkit.org/show_bug.cgi?id=156934
Reviewed by Timothy Hatcher.
- UserInterface/Views/HeapAllocationsTimelineDataGridNode.js:
(WebInspector.HeapAllocationsTimelineDataGridNode):
Use existing base class helper function to create main title text.
(WebInspector.HeapAllocationsTimelineDataGridNode.prototype.createCellContent):
Add icon class names to cell, remove icon element.
- UserInterface/Views/HeapAllocationsTimelineView.js:
(WebInspector.HeapAllocationsTimelineView):
Turn on icons for the column.
- 7:00 PM Changeset in webkit [199946] by
-
- 19 edits3 adds in trunk
Speed up bound functions a bit
https://bugs.webkit.org/show_bug.cgi?id=156889
Reviewed by Saam Barati.
Source/JavaScriptCore:
Bound functions are hard to optimize because JSC doesn't have a good notion of non-JS code
that does JS-ey things like make JS calls. What I mean by "non-JS code" is code that did not
originate from JS source. A bound function does a highly polymorphic call to the target
stored in the JSBoundFunction. Prior to this change, we represented it as native code that
used the generic native->JS call API. That's not cheap.
We could model bound functions using a builtin, but it's not clear that this would be easy
to grok, since so much of the code would have to access special parts of the JSBoundFunction
type. Doing it that way might solve the performance problems but it would mean extra work to
arrange for the builtin to have speedy access to the call target, the bound this, and the
bound arguments. Also, optimizing bound functions that way would mean that bound function
performance would be gated on the performance of a bunch of other things in our system. For
example, we'd want this polymorphic call to be handled like the funnel that it is: if we're
compiling the bound function's outgoing call with no context then we should compile it as
fully polymorphic but we can let it assume basic sanity like that the callee is a real
function; but if we're compiling the call with any amount of calling context then we want to
use normal call IC's.
Since the builtin path wouldn't lead to a simpler patch and since I think that the VM will
benefit in the long run from using custom handling for bound functions, I kept the native
code and just added Intrinsic/thunk support.
This just adds an Intrinsic for bound function calls where the JSBoundFunction targets a
JSFunction instance and has no bound arguments (only bound this). This intrinsic is
currently only implemented as a thunk and not yet recognized by the DFG bytecode parser.
I needed to loosen some restrictions to do this. For one, I was really tired of our bad use
of ENABLE(JIT) conditionals, which made it so that any serious client of Intrinsics would
have to have #ifdefs. Really what should happen is that if the JIT is not enabled then we
just ignore intrinsics. Also, the code was previously assuming that having a native
constructor and knowing the Intrinsic for your native call were mutually exclusive. This
change makes it possible to have a native executable that has a custom function, custom
constructor, and an Intrinsic.
This is a >4x speed-up on bound function calls with no bound arguments.
In the future, we should teach the DFG Intrinsic handling to deal with bound functions and
we should teach the inliner (and ByteCodeParser::handleCall() in general) how to deal with
the function call inside the bound function. That would be super awesome.
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::timesPtr):
(JSC::AbstractMacroAssembler::Address::withOffset):
(JSC::AbstractMacroAssembler::BaseIndex::BaseIndex):
(JSC::MacroAssemblerType>::Address::indexedBy):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::storeCell):
(JSC::AssemblyHelpers::loadCell):
(JSC::AssemblyHelpers::storeValue):
(JSC::AssemblyHelpers::emitSaveCalleeSaves):
(JSC::AssemblyHelpers::emitSaveThenMaterializeTagRegisters):
(JSC::AssemblyHelpers::emitRestoreCalleeSaves):
(JSC::AssemblyHelpers::emitRestoreSavedTagRegisters):
(JSC::AssemblyHelpers::copyCalleeSavesToVMCalleeSavesBuffer):
- jit/JITThunks.cpp:
(JSC::JITThunks::ctiNativeTailCall):
(JSC::JITThunks::ctiNativeTailCallWithoutSavedTags):
(JSC::JITThunks::ctiStub):
(JSC::JITThunks::hostFunctionStub):
(JSC::JITThunks::clearHostFunctionStubs):
- jit/JITThunks.h:
- jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::callDoubleToDoublePreservingReturn):
(JSC::SpecializedThunkJIT::tagReturnAsInt32):
(JSC::SpecializedThunkJIT::emitSaveThenMaterializeTagRegisters): Deleted.
(JSC::SpecializedThunkJIT::emitRestoreSavedTagRegisters): Deleted.
- jit/ThunkGenerators.cpp:
(JSC::virtualThunkFor):
(JSC::nativeForGenerator):
(JSC::nativeCallGenerator):
(JSC::nativeTailCallGenerator):
(JSC::nativeTailCallWithoutSavedTagsGenerator):
(JSC::nativeConstructGenerator):
(JSC::randomThunkGenerator):
(JSC::boundThisNoArgsFunctionCallGenerator):
- jit/ThunkGenerators.h:
- runtime/Executable.cpp:
(JSC::NativeExecutable::create):
(JSC::NativeExecutable::destroy):
(JSC::NativeExecutable::createStructure):
(JSC::NativeExecutable::finishCreation):
(JSC::NativeExecutable::NativeExecutable):
(JSC::ScriptExecutable::ScriptExecutable):
- runtime/Executable.h:
- runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncBind):
- runtime/IntlCollatorPrototype.cpp:
(JSC::IntlCollatorPrototypeGetterCompare):
- runtime/Intrinsic.h:
- runtime/JSBoundFunction.cpp:
(JSC::boundThisNoArgsFunctionCall):
(JSC::boundFunctionCall):
(JSC::boundThisNoArgsFunctionConstruct):
(JSC::boundFunctionConstruct):
(JSC::getBoundFunctionStructure):
(JSC::JSBoundFunction::create):
(JSC::JSBoundFunction::customHasInstance):
(JSC::JSBoundFunction::JSBoundFunction):
- runtime/JSBoundFunction.h:
(JSC::JSBoundFunction::targetFunction):
(JSC::JSBoundFunction::boundThis):
(JSC::JSBoundFunction::boundArgs):
(JSC::JSBoundFunction::createStructure):
(JSC::JSBoundFunction::offsetOfTargetFunction):
(JSC::JSBoundFunction::offsetOfBoundThis):
- runtime/JSFunction.cpp:
(JSC::JSFunction::lookUpOrCreateNativeExecutable):
(JSC::JSFunction::create):
- runtime/VM.cpp:
(JSC::thunkGeneratorForIntrinsic):
(JSC::VM::getHostFunction):
- runtime/VM.h:
(JSC::VM::getCTIStub):
(JSC::VM::exceptionOffset):
LayoutTests:
This microbenchmark speeds up by >4x with this change.
- js/regress/bound-function-call-expected.txt: Added.
- js/regress/bound-function-call.html: Added.
- js/regress/script-tests/bound-function-call.js: Added.
(foo):
- 6:14 PM Changeset in webkit [199945] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Versioning.
- 6:13 PM Changeset in webkit [199944] by
-
- 5 edits in branches/safari-601-branch/Source
Versioning.
- 6:11 PM Changeset in webkit [199943] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Fix build break since r199866
https://bugs.webkit.org/show_bug.cgi?id=156892
Reviewed by Darin Adler.
- runtime/MathCommon.cpp: Follow up to r199913. Remove 'include cmath' in cpp file.
- 5:58 PM Changeset in webkit [199942] by
-
- 11 edits2 adds in trunk
Cannot access the SQLTransaction.constructor.prototype
https://bugs.webkit.org/show_bug.cgi?id=156613
Reviewed by Darin Adler.
Source/WebCore:
Drop [NoInterfaceObject] from the following SQL interfaces:
Database, SQLError, SQLResultSet, SQLResultSetRowList and SQLTransaction.
This matches the specification:
https://dev.w3.org/html5/webdatabase/
This was causing the 'constructor' property to be wrong for these
interfaces as it would be a generic Object.
Test: storage/websql/transaction-prototype.html
- Modules/webdatabase/Database.idl:
- Modules/webdatabase/SQLError.idl:
- Modules/webdatabase/SQLResultSet.idl:
- Modules/webdatabase/SQLResultSetRowList.idl:
- Modules/webdatabase/SQLTransaction.idl:
LayoutTests:
Rebaseline existing test now that more SQL constructors are exposed on the
global Window object. Also add a test to confirm that it is possible to
access SQLTransaction.constructor.prototype and that it seems correct.
- js/dom/global-constructors-attributes-expected.txt:
- platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- storage/websql/transaction-prototype-expected.txt: Added.
- storage/websql/transaction-prototype.html: Added.
- 5:45 PM Changeset in webkit [199941] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Optimize number parsing and string parsing in LiteralParser
https://bugs.webkit.org/show_bug.cgi?id=156896
Reviewed by Mark Lam.
This patch aim to improve JSON.parse performance. Major 2 optimizations are included.
- Change
double resulttoint32_t resultin integer parsing case.
We already have the optimized path for integer parsing, when it's digits are less than 10.
At that case, the maximum number is 999999999, and the minimum number is -99999999.
The both are in range of Int32. So We can use int32_t for accumulation instead of double.
- Add the string parsing fast / slow cases.
We add the fast case for string parsing, which does not include any escape sequences.
Both optimizations improve Kraken json-parse-financial, roughly 3.5 - 4.5%.
json-parse-financial 49.128+-1.589 46.979+-0.912 might be 1.0457x faster
- runtime/LiteralParser.cpp:
(JSC::isJSONWhiteSpace):
(JSC::isSafeStringCharacter):
(JSC::LiteralParser<CharType>::Lexer::lexString):
(JSC::LiteralParser<CharType>::Lexer::lexStringSlow):
(JSC::LiteralParser<CharType>::Lexer::lexNumber):
- runtime/LiteralParser.h:
- 5:44 PM Changeset in webkit [199940] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: Include columnNumber in event listener locations
https://bugs.webkit.org/show_bug.cgi?id=156927
<rdar://problem/25884584>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-22
Reviewed by Brian Burg.
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
Include the column number in the location as well.
- 5:40 PM Changeset in webkit [199939] by
-
- 8 edits2 adds in trunk
Web Inspector: Source directives lost when using Function constructor repeatedly
https://bugs.webkit.org/show_bug.cgi?id=156863
<rdar://problem/25861064>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-22
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Source directives (sourceURL and sourceMappingURL) are normally accessed through
the SourceProvider and normally set when the script is parsed. However, when a
CodeCache lookup skips parsing, the new SourceProvider never gets the directives
(sourceURL/sourceMappingURL). This patch stores the directives on the UnlinkedCodeBlock
and UnlinkedFunctionExecutable when entering the cache, and copies to the new providers
when the cache is used.
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::sourceURLDirective):
(JSC::UnlinkedCodeBlock::sourceMappingURLDirective):
(JSC::UnlinkedCodeBlock::setSourceURLDirective):
(JSC::UnlinkedCodeBlock::setSourceMappingURLDirective):
- bytecode/UnlinkedFunctionExecutable.h:
- parser/SourceProvider.h:
- runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
- runtime/CodeCache.h:
Store directives on the unlinked code block / executable when adding
to the cache, so they can be used to update new providers when the
cache gets used.
- runtime/JSGlobalObject.cpp:
Add needed header after CodeCache header cleanup.
LayoutTests:
- inspector/debugger/sourceURL-repeated-identical-executions-expected.txt: Added.
- inspector/debugger/sourceURL-repeated-identical-executions.html: Added.
- 5:07 PM Changeset in webkit [199938] by
-
- 1 copy in tags/Safari-601.1.46.128
New tag.
- 5:07 PM Changeset in webkit [199937] by
-
- 1 copy in tags/Safari-601.6.17
New tag.
- 4:56 PM Changeset in webkit [199936] by
-
- 4 edits in trunk/Source/bmalloc
bmalloc: vm allocations should plant guard pages
https://bugs.webkit.org/show_bug.cgi?id=156937
Reviewed by Michael Saboff.
- bmalloc/Object.h:
(bmalloc::Object::operator-): Added a - helper.
- bmalloc/VMAllocate.h:
(bmalloc::vmRevokePermissions): Added a helper to revoke permissions on
a VM region. We use this for guard pages.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::allocateSmallChunk): Add guard pages to the start and
end of the chunk.
Note that we don't guard large chunks becuase we need to be able to merge
them. Otherwise, we will run out of virtual addresses.
- 4:48 PM Changeset in webkit [199935] by
-
- 4 edits3 adds in trunk
javascript jit bug affecting Google Maps.
https://bugs.webkit.org/show_bug.cgi?id=153431
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
The issue was due to the abstract interpreter wrongly marking the type of the
value read from the Uint3Array as SpecInt52, which precludes it from being an
Int32. This proves to be false, and the generated code failed to handle the case
where the read value is actually an Int32.
The fix is to have the abstract interpreter use SpecMachineInt instead of
SpecInt52.
- bytecode/SpeculatedType.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
LayoutTests:
- js/regress/bug-153431-expected.txt: Added.
- js/regress/bug-153431.html: Added.
- js/regress/script-tests/bug-153431.js: Added.
- 4:25 PM Changeset in webkit [199934] by
-
- 2 edits in trunk/Source/bmalloc
bmalloc: Constify introspect function pointer table
https://bugs.webkit.org/show_bug.cgi?id=156936
Reviewed by Michael Saboff.
- bmalloc/Zone.cpp:
(bmalloc::Zone::Zone): Declaring this function pointer table const puts
it in the read-only section of the binary, providing a little hardening
against overwriting the function pointers at runtime. (We have to
const_cast when assigning because the API declares a pointer to non-const,
but we happen to know it will never try to write through that pointer.
This is not my favorite API.)
- 4:10 PM Changeset in webkit [199933] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] PredictionPropagation should not be in the top 5 heaviest phases
https://bugs.webkit.org/show_bug.cgi?id=156891
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-22
Reviewed by Mark Lam.
In DFG, PredictionPropagation is often way too high in profiles.
It is a simple phase, it should not be that hot.
Most of the time is spent accessing memory. This patch attempts
to reduce that.
First, propagate() is split in processInvariants() and propagates().
The step processInvariants() sets all the types for nodes for which
the type does not depends on other nodes.
Adding processInvariants() lowers two hotspot inside PredictionPropagation:
speculationFromValue() and setPrediction().
Next, to avoid touching all the nodes at every operation, we keep
track of the nodes that actually need propagate().
The vector m_dependentNodes keeps the list of those nodes and propagate()
only need to process them at each phase.
This is a smaller gain because growing m_dependentNodes negates
some of the gains.
On 3d-cube, this moves PredictionPropagation from fifth position
to ninth. A lot of the remaining overhead is caused by double-voting
and cannot be fixed by moving stuff around.
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagateToFixpoint): Deleted.
(JSC::DFG::PredictionPropagationPhase::propagate): Deleted.
(JSC::DFG::PredictionPropagationPhase::propagateForward): Deleted.
(JSC::DFG::PredictionPropagationPhase::propagateBackward): Deleted.
(JSC::DFG::PredictionPropagationPhase::doDoubleVoting): Deleted.
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): Deleted.
(JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): Deleted.
- 4:10 PM Changeset in webkit [199932] by
-
- 3 edits in tags/Safari-602.1.29/Source/WebKit2
Merged r199919.
- 4:09 PM Changeset in webkit [199931] by
-
- 3 edits in tags/Safari-602.1.29/Source/WebKit2
Merged r199917.
- 4:08 PM Changeset in webkit [199930] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebCore
Merged r199915.
- 4:07 PM Changeset in webkit [199929] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebCore
Merged r199885.
- 4:05 PM Changeset in webkit [199928] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebKit2
Merged r199914.
- 4:04 PM Changeset in webkit [199927] by
-
- 20 edits in trunk
super should be available in object literals
https://bugs.webkit.org/show_bug.cgi?id=156933
Reviewed by Saam Barati.
Source/JavaScriptCore:
When we originally implemented classes, super seemed to be a class-only
feature. But the final spec says it's available in object literals too.
- bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode): Having 'super' and being a class
property are no longer synonymous, so we track two separate variables.
(JSC::PropertyListNode::emitPutConstantProperty): Being inside the super
branch no longer guarantees that you're a class property, so we decide
our attributes and our function name dynamically.
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createArrowFunctionExpr):
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createArguments):
(JSC::ASTBuilder::createArgumentsList):
(JSC::ASTBuilder::createProperty):
(JSC::ASTBuilder::createPropertyList): Pass through state to indicate
whether we're a class property, since we can't infer it from 'super'
anymore.
- parser/NodeConstructors.h:
(JSC::PropertyNode::PropertyNode): See ASTBuilder.h.
- parser/Nodes.h:
(JSC::PropertyNode::expressionName):
(JSC::PropertyNode::name):
(JSC::PropertyNode::type):
(JSC::PropertyNode::needsSuperBinding):
(JSC::PropertyNode::isClassProperty):
(JSC::PropertyNode::putType): See ASTBuilder.h.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parsePropertyMethod):
(JSC::Parser<LexerType>::parseGetterSetter):
(JSC::Parser<LexerType>::parseMemberExpression): I made these error
messages generic because it is no longer practical to say concise things
about the list of places you can use super.
- parser/Parser.h:
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createArgumentsList):
(JSC::SyntaxChecker::createProperty):
(JSC::SyntaxChecker::appendExportSpecifier):
(JSC::SyntaxChecker::appendConstDecl):
(JSC::SyntaxChecker::createGetterOrSetterProperty): Updated for
interface change.
- tests/stress/generator-with-super.js:
(test):
- tests/stress/modules-syntax-error.js:
- tests/stress/super-in-lexical-scope.js:
(testSyntaxError):
(testSyntaxError.test):
- tests/stress/tagged-templates-syntax.js: Updated for error message
changes. See Parser.cpp.
LayoutTests:
Updated expected results and added a few new tests.
- js/arrowfunction-syntax-errors-expected.txt:
- js/class-syntax-super-expected.txt:
- js/object-literal-methods-expected.txt:
- js/script-tests/arrowfunction-syntax-errors.js:
- js/script-tests/class-syntax-super.js:
- js/script-tests/object-literal-methods.js:
- 4:04 PM Changeset in webkit [199926] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebCore
Merged r199912. rdar://problem/25865315
- 4:03 PM Changeset in webkit [199925] by
-
- 4 edits in tags/Safari-602.1.29/Source/WebKit
Merged r199908.
- 4:02 PM Changeset in webkit [199924] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebCore
Merged r199904.
- 4:02 PM Changeset in webkit [199923] by
-
- 3 adds in branches/safari-601-branch/LayoutTests/http/tests/svg
Merge LayoutTests for r199881. rdar://problem/25879498
- 4:01 PM Changeset in webkit [199922] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebCore
Merged r199886.
- 3:58 PM Changeset in webkit [199921] by
-
- 3 edits in tags/Safari-602.1.29/Source/WebKit2
Merged r199903.
- 3:57 PM Changeset in webkit [199920] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebCore
Merged r199902.
- 3:46 PM Changeset in webkit [199919] by
-
- 3 edits in trunk/Source/WebKit2
Fixing a typo in my last commit.
Unreviewed build fix.
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in:
- WebProcess/cocoa/WebVideoFullscreenManager.messages.in:
- 3:46 PM Changeset in webkit [199918] by
-
- 2 edits in trunk/Source/JavaScriptCore
ASSERT(m_stack.last().isTailDeleted) at ShadowChicken.cpp:127 inspecting the inspector
https://bugs.webkit.org/show_bug.cgi?id=156930
Reviewed by Joseph Pecoraro.
The loop that prunes the stack from the top should preserve the invariant that the top frame
cannot be tail-deleted.
- interpreter/ShadowChicken.cpp:
(JSC::ShadowChicken::update):
- 3:41 PM Changeset in webkit [199917] by
-
- 3 edits in trunk/Source/WebKit2
Missed some macros to fix builds that do not support AVKit.
Unreviewed build fix.
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in:
- WebProcess/cocoa/WebVideoFullscreenManager.messages.in:
- 3:38 PM Changeset in webkit [199916] by
-
- 3 edits in trunk/Tools
Add JSC test results in json format to a buildbot log
https://bugs.webkit.org/show_bug.cgi?id=156920
Patch by Srinivasan Vijayaraghavan <svijayaraghavan@apple.com> on 2016-04-22
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunJavaScriptCoreTests):
Add runtime flag to output json into buildbot
- Scripts/run-javascriptcore-tests:
(runJSCStressTests):
Change key names and remove redundant count key
- 3:30 PM Changeset in webkit [199915] by
-
- 2 edits in trunk/Source/WebCore
[Win] Unreviewed build fix.
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::isHidden):
- 3:05 PM Changeset in webkit [199914] by
-
- 2 edits in trunk/Source/WebKit2
Fix builds that do not support AVKit
Unreviewed build fix.
- UIProcess/WebPageProxy.h:
- 3:02 PM Changeset in webkit [199913] by
-
- 2 edits in trunk/Source/JavaScriptCore
Attempt to fix the CLoop after r199866
- runtime/MathCommon.h:
- 2:48 PM Changeset in webkit [199912] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Crash at -[WebAVPlayerLayer resolveBounds]
https://bugs.webkit.org/show_bug.cgi?id=156931
<rdar://problem/25865315>
Reviewed by Eric Carlson.
When cloning the WebAVPlayerLayer, we must copy over the fullscreenInterface to the cloned layer.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebAVPlayerLayerView_startRoutingVideoToPictureInPicturePlayerLayerView):
- 2:40 PM Changeset in webkit [199911] by
-
- 10 edits in branches/safari-601-branch
Merge r199881. rdar://problem/25879498
- 2:32 PM Changeset in webkit [199910] by
-
- 2 edits in trunk/Source/WebCore
Crash under WebCore::DataDetection::detectContentInRange()
https://bugs.webkit.org/show_bug.cgi?id=156880
<rdar://problem/25622631>
Reviewed by Darin Adler.
We would sometimes crash under WebCore::DataDetection::detectContentInRange()
when dereferencing a null parentNode pointer. This patch adds a null check
for parentNode in the for() loop. It also does some clean up and optimization
since I was passing by.
- editing/cocoa/DataDetection.mm:
(WebCore::DataDetection::detectContentInRange):
- 2:32 PM Changeset in webkit [199909] by
-
- 10 edits3 adds in branches/safari-601.1.46-branch
Merge r199881. rdar://problem/25879593
- 2:27 PM Changeset in webkit [199908] by
-
- 4 edits in trunk/Source/WebKit
Source/WebKit:
Unreviewed build fix after r199841.
- PlatformWin.cmake: Add missing WebApplicationCache.cpp buid directive.
Source/WebKit/win:
Unreviewed build fix after 4199841.
- WebApplicationCache.cpp:
(WebApplicationCache::WebApplicationCache): Provide missing preference key definition.
- 2:26 PM Changeset in webkit [199907] by
-
- 2 edits in trunk/LayoutTests
Rebaselining inspector/model/stack-trace.html after r199897
Unreviewed test gardening.
- inspector/model/stack-trace-expected.txt:
- 2:25 PM Changeset in webkit [199906] by
-
- 2 edits in trunk/PerformanceTests
Skip two content animation tests which are only meant for iOS testing.
- Animation/css-animation.html: Added.
- Animation/raf-animation.html: Added.
- Skipped:
- 2:24 PM Changeset in webkit [199905] by
-
- 2 edits in trunk/Source/WebCore
buildObjectForEventListener should not call into JSC with a null ExecState
https://bugs.webkit.org/show_bug.cgi?id=156923
Reviewed by Joseph Pecoraro.
If a user had disabled JavaScript on their page then the inspector tried to
add an event listener we would fail to create an ExecState. Since we didn't
check this ExecState was valid we would then attempt to stringify the value,
which would cause JSC to crash.
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
- 2:22 PM Changeset in webkit [199904] by
-
- 2 edits in trunk/Source/WebCore
Yet another attempt at fixing Windows.
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::isHidden):
- platform/graphics/ca/win/PlatformCALayerWin.h:
- 2:07 PM Changeset in webkit [199903] by
-
- 3 edits in trunk/Source/WebKit2
Take 2 for fixing builds that do not support AVKit
Unreviewed build fix.
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState):
- 2:07 PM Changeset in webkit [199902] by
-
- 2 edits in trunk/Source/WebCore
Attempt to fix Windows build after r199862
Unreviewed build fix.
- platform/graphics/ca/win/PlatformCALayerWin.h:
- 2:06 PM Changeset in webkit [199901] by
-
- 2 edits in trunk/Source/WebKit2
WKWebView WebSQL is not enabled
https://bugs.webkit.org/show_bug.cgi?id=156928
rdar://problem/19029603
Reviewed by Beth Dakin.
Give databases a default quota of 50 MB, matching what we have in UIWebView.
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
- 1:57 PM Changeset in webkit [199900] by
-
- 2 edits in trunk/Source/WebCore
Anchor element 'ping' property should only apply to http/https destinations
https://bugs.webkit.org/show_bug.cgi?id=156801
<rdar://problem/25834419>
Reviewed by Chris Dumez.
Take advantage of the hyperlink auditing language "UAs may either ignore the
ping attribute altogether, or selectively ignore URLs in the list (e.g. ignoring
any third-party URLs)" to restrict pings to http/https targets. For details, see
<https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing>.
Tested by http/tests/navigation/ping-attribute tests.
- loader/PingLoader.cpp:
(WebCore::PingLoader::sendPing): Ignore requests to ping anything outside the
family of HTTP protocols (http/https).
- 1:28 PM Changeset in webkit [199899] by
-
- 2 edits in trunk/Source/WebInspectorUI
Change an assert to a warn based on post review feedback.
https://bugs.webkit.org/show_bug.cgi?id=156919
rdar://problem/25857118
Rubber-stamped by Joseph Pecoraro.
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
- 1:12 PM Changeset in webkit [199898] by
-
- 8 edits in tags/Safari-602.1.29/Source
Merged r199896.
- 12:53 PM Changeset in webkit [199897] by
-
- 7 edits in trunk/Source/WebInspectorUI
Web Inspector: Debugger statement in console does not provide any call frames and debugger UI is confused
https://bugs.webkit.org/show_bug.cgi?id=156919
rdar://problem/25857118
This makes console expressions show up in the Debugger tab sidebar if a ScriptContentView is shown for them.
We now also show call frames that originate from a console expression, so the call frames in the sidebar is not empty.
Also fix a bug where when there are no call frames we auto resume the debugger and don't leave it in a broken state.
Reviewed by Joseph Pecoraro.
- Localizations/en.lproj/localizedStrings.js: Updated.
- UserInterface/Base/Utilities.js:
(appendWebInspectorSourceURL): Don't append if another sourceURL is already added.
(appendWebInspectorConsoleEvaluationSourceURL): Added.
(isWebInspectorConsoleEvaluationScript): Added.
(isWebKitInternalScript): Return false for isWebInspectorConsoleEvaluationScript().
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.debuggerDidPause): Resume if call frames is empty. This is not as common now
since console expression call frames are not skipped.
(WebInspector.DebuggerManager.prototype.scriptDidParse): Change an early return for isWebInspectorInternalScript() that
was skipping adding internal scripts to the known script lists, but it should only do that when the debug UI is disabled.
- UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
Call appendWebInspectorConsoleEvaluationSourceURL so the console expressions are tagged before evaluateInInspectedWindow
added the internal sourceURL name.
- UserInterface/Models/Script.js:
(WebInspector.Script): Assign unique identifiers to console scripts so they are named correctly.
(WebInspector.Script.resetUniqueDisplayNameNumbers): Reset _nextUniqueConsoleDisplayNameNumber.
(WebInspector.Script.prototype.get displayName): Special case console expressions with a better name.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.treeElementForRepresentedObject): Add a script tree element on demand
like the ResourceSidebarPanel does for anonymous scripts.
(WebInspector.DebuggerSidebarPanel.prototype._addScript): Return treeElement so treeElementForRepresentedObject can use it.
- 12:44 PM Changeset in webkit [199896] by
-
- 8 edits in trunk/Source
Fix builds that do not support AVKit
Unreviewed build fix.
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
(WebKit::WebPageProxy::viewDidLeaveWindow):
- UIProcess/ios/WebPageProxyIOS.mm:
- platform/ios/WebAVPlayerController.h:
- platform/ios/WebAVPlayerController.mm:
- 12:42 PM Changeset in webkit [199895] by
-
- 3 edits2 adds in trunk
REGRESSION (r189567): The top of Facebook's messenger.com looks visually broken
https://bugs.webkit.org/show_bug.cgi?id=156869
<rdar://problem/23204668>
Reviewed by Zalan Bujtas.
Source/WebCore:
Added fast/block/min-content-with-box-sizing.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeIntrinsicLogicalContentHeightUsing):
LayoutTests:
- fast/block/min-content-box-sizing-expected.html: Added.
- fast/block/min-content-box-sizing.html: Added.
- 12:27 PM Changeset in webkit [199894] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] Integer Multiply of a number by itself does not need negative zero support
https://bugs.webkit.org/show_bug.cgi?id=156895
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-22
Reviewed by Saam Barati.
You cannot produce negative zero by squaring an integer.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithMul):
Minor codegen fixes:
-Use the right form of multiply for ARM.
-Use a sign-extended 32bit immediates, that's the one with fast forms
in the MacroAssembler.
- 12:25 PM Changeset in webkit [199893] by
-
- 4 edits in trunk/Source/WebCore
TextAutoSizingKey should use normal refcounting
https://bugs.webkit.org/show_bug.cgi?id=156893
Reviewed by Andreas Kling.
Get rid of special refcounting of style in favor of RefPtr. It also becomes a move-only type
to support future switch to non-refcounted RenderStyle.
Also general cleanups and modernization.
- dom/Document.cpp:
(WebCore::TextAutoSizingTraits::constructDeletedValue):
(WebCore::TextAutoSizingTraits::isDeletedValue):
(WebCore::Document::addAutoSizingNode):
(WebCore::Document::validateAutoSizingNodes):
(WebCore::Document::resetAutoSizingNodes):
Adopt to being move-only.
- rendering/TextAutoSizing.cpp:
(WebCore::cloneRenderStyleWithState):
(WebCore::TextAutoSizingKey::TextAutoSizingKey):
Clone the style for safety against mutations. Cloning is cheap.
(WebCore::TextAutoSizingValue::numNodes):
(WebCore::TextAutoSizingValue::adjustNodeSizes):
(WebCore::TextAutoSizingValue::reset):
(WebCore::TextAutoSizingKey::~TextAutoSizingKey): Deleted.
(WebCore::TextAutoSizingKey::operator=): Deleted.
(WebCore::TextAutoSizingKey::ref): Deleted.
(WebCore::TextAutoSizingKey::deref): Deleted.
- rendering/TextAutoSizing.h:
(WebCore::TextAutoSizingKey::TextAutoSizingKey):
(WebCore::TextAutoSizingKey::style):
(WebCore::TextAutoSizingKey::isDeleted):
(WebCore::operator==):
(WebCore::TextAutoSizingKey::doc): Deleted.
(WebCore::TextAutoSizingKey::isValidDoc): Deleted.
(WebCore::TextAutoSizingKey::isValidStyle): Deleted.
(WebCore::TextAutoSizingKey::deletedKeyDoc): Deleted.
(WebCore::TextAutoSizingKey::deletedKeyStyle): Deleted.
m_doc member is not used for anything except deleted value comparisons. Replace it with a bit.
- 12:25 PM Changeset in webkit [199892] by
-
- 1 copy in tags/Safari-602.1.29
New tag.
- 12:25 PM Changeset in webkit [199891] by
-
- 1 delete in tags/Safari-602.1.29
Delete tag.
- 12:24 PM Changeset in webkit [199890] by
-
- 13 edits in trunk/Source/WebCore
Crash under FontCache::purgeInactiveFontData()
https://bugs.webkit.org/show_bug.cgi?id=156822
<rdar://problem/25373970>
Reviewed by Darin Adler.
In some rare cases, the Font constructor would mutate the FontPlatformData
that is being passed in. This is an issue because because our FontCache
uses the FontPlatformData as key for the cached fonts. This could lead to
crashes because the WTFMove() in FontCache::purgeInactiveFontData() would
nullify values in our HashMap but we would then fail to remove them from
the HashMap (because the key did not match). We would then reference the
null font when looping again when doing font->hasOneRef().
This patch marks Font::m_platformData member as const to avoid such issues
in the future and moves the code altering the FontPlatformData from the
Font constructor into the FontPlatformData constructor. The purpose of
that code was to initialize FontPlatformData::m_cgFont in case the CGFont
passed in the constructor was null.
- platform/graphics/Font.h:
- platform/graphics/FontCache.cpp:
(WebCore::FontCache::fontForPlatformData):
(WebCore::FontCache::purgeInactiveFontData):
- platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData):
- platform/graphics/FontPlatformData.h:
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::webFallbackFontFamily): Deleted.
(WebCore::Font::platformInit): Deleted.
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::webFallbackFontFamily):
(WebCore::FontPlatformData::setFallbackCGFont):
- platform/graphics/win/FontPlatformDataCGWin.cpp:
(WebCore::FontPlatformData::setFallbackCGFont):
- 12:22 PM Changeset in webkit [199889] by
-
- 18 edits in trunk
Support disabling at runtime IndexedDB constructors exposed to workers
https://bugs.webkit.org/show_bug.cgi?id=156883
Reviewed by Darin Adler.
Source/WebCore:
Support disabling at runtime IndexedDB constructors exposed to workers.
Previously, constructors visibility to workers and window was constrolled
by the same runtime flag.
- Modules/indexeddb/IDBCursor.idl:
- Modules/indexeddb/IDBCursorWithValue.idl:
- Modules/indexeddb/IDBDatabase.idl:
- Modules/indexeddb/IDBFactory.idl:
- Modules/indexeddb/IDBIndex.idl:
- Modules/indexeddb/IDBKeyRange.idl:
- Modules/indexeddb/IDBObjectStore.idl:
- Modules/indexeddb/IDBOpenDBRequest.idl:
- Modules/indexeddb/IDBRequest.idl:
- Modules/indexeddb/IDBTransaction.idl:
- Modules/indexeddb/IDBVersionChangeEvent.idl:
- workers/WorkerGlobalScope.idl:
LayoutTests:
Add layout test coverage.
- storage/indexeddb/modern/resources/workers-disabled.js:
- storage/indexeddb/modern/resources/workers-enable.js:
- storage/indexeddb/modern/workers-disabled-expected.txt:
- storage/indexeddb/modern/workers-enable-expected.txt:
- 12:14 PM Changeset in webkit [199888] by
-
- 5 edits in trunk/Source
Versioning.
- 12:13 PM Changeset in webkit [199887] by
-
- 1 copy in tags/Safari-602.1.29
New tag.
- 12:01 PM Changeset in webkit [199886] by
-
- 2 edits in trunk/Source/WebCore
Attempting to fix Windows build. Add isHidden implementation.
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::isHidden):
- 11:59 AM Changeset in webkit [199885] by
-
- 2 edits in trunk/Source/WebCore
Attempt at a Windows build fix.
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
- 11:27 AM Changeset in webkit [199884] by
-
- 3 edits4 adds in trunk
Source/WebCore:
-webkit-image-set doesn't work inside CSS variables
https://bugs.webkit.org/show_bug.cgi?id=156915
<rdar://problem/25473972>
Reviewed by Zalan Bujtas.
Added new tests in fast/hidpi.
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::equals):
(WebCore::CSSPrimitiveValue::buildParserValue):
LayoutTests:
-webkit-image-set doesn't work inside CSS variables
https://bugs.webkit.org/show_bug.cgi?id=156915
<rdar://problem/25473972>
Reviewed by Zalan Bujtas.
- fast/hidpi/image-srcset-simple-in-variable-1x-expected.txt: Added.
- fast/hidpi/image-srcset-simple-in-variable-1x.html: Added.
- fast/hidpi/image-srcset-simple-in-variable-2x-expected.txt: Added.
- fast/hidpi/image-srcset-simple-in-variable-2x.html: Added.
- 11:17 AM Changeset in webkit [199883] by
-
- 3 edits2 deletes in trunk
Unreviewed, rolling out r199877.
https://bugs.webkit.org/show_bug.cgi?id=156918
The LayoutTest added with this change is failing on all
platforms. (Requested by ryanhaddad on #webkit).
Reverted changeset:
"REGRESSION (r189567): The top of Facebook's messenger.com
looks visually broken"
https://bugs.webkit.org/show_bug.cgi?id=156869
http://trac.webkit.org/changeset/199877
Patch by Commit Queue <commit-queue@webkit.org> on 2016-04-22
- 11:06 AM Changeset in webkit [199882] by
-
- 10 edits in trunk/Source
Modern IDB: Rework the ownership/RefCounting model of IDBConnectionToServer and IDBConnectionProxy.
https://bugs.webkit.org/show_bug.cgi?id=156916
Reviewed by Tim Horton.
Source/WebCore:
No new tests (No behavior change).
- Modules/indexeddb/IDBFactory.cpp: Remove unneeded include.
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::ref): Ref the ConnectionToServer.
(WebCore::IDBClient::IDBConnectionProxy::deref): Deref it.
(WebCore::IDBClient::IDBConnectionProxy::connectionToServer):
(WebCore::IDBClient::IDBConnectionProxy::openDatabase):
(WebCore::IDBClient::IDBConnectionProxy::deleteDatabase):
(WebCore::IDBClient::IDBConnectionProxy::create): Deleted.
- Modules/indexeddb/client/IDBConnectionProxy.h:
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::IDBConnectionToServer): Create a proxy owned by this.
(WebCore::IDBClient::IDBConnectionToServer::proxy): Expose it.
- Modules/indexeddb/client/IDBConnectionToServer.h:
- dom/Document.cpp:
(WebCore::Document::idbConnectionProxy):
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit2:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer):
- 10:37 AM Changeset in webkit [199881] by
-
- 10 edits3 adds in trunk
REGRESSION (r194898): Multi download of external SVG defs file by <use> xlinks:href (caching)
https://bugs.webkit.org/show_bug.cgi?id=156368
<rdar://problem/25611746>
Reviewed by Simon Fraser.
Source/WebCore:
We would load svg resources with fragment identifier again because the encoding never matched.
Test: http/tests/svg/svg-use-external.html
- loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::setEncoding):
(WebCore::TextResourceDecoder::hasEqualEncodingForCharset):
Encoding can depend on mime type. Add a comparison function that takes this into account.
(WebCore::findXMLEncoding):
- loader/TextResourceDecoder.h:
(WebCore::TextResourceDecoder::encoding):
- loader/cache/CachedCSSStyleSheet.h:
- loader/cache/CachedResource.h:
(WebCore::CachedResource::textResourceDecoder):
Add a way to get the TextResourceDecoder from a cached resource.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
Use the new comparison function.
- loader/cache/CachedSVGDocument.h:
- loader/cache/CachedScript.h:
- loader/cache/CachedXSLStyleSheet.h:
LayoutTests:
- http/tests/svg/resources/symbol-defs.svg: Added.
- http/tests/svg/svg-use-external-expected.txt: Added.
- http/tests/svg/svg-use-external.html: Added.
- 10:18 AM Changeset in webkit [199880] by
-
- 2 edits in trunk/Tools
Update expected result for WKPreferencesGetOfflineWebApplicationCacheEnabled after r199854
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
(TestWebKitAPI::TEST):
- 9:13 AM Changeset in webkit [199879] by
-
- 2 edits in trunk/Source/WebCore
Drop [UsePointersEvenForNonNullableObjectArguments] from InspectorFrontendHost
https://bugs.webkit.org/show_bug.cgi?id=156908
Reviewed by Timothy Hatcher.
No change of behavior.
- inspector/InspectorFrontendHost.idl: Marking event parameter as nullable to keep compatibility.
- 8:59 AM Changeset in webkit [199878] by
-
- 16 edits in trunk
Drop [UsePointersEvenForNonNullableObjectArguments] from MutationObserver
https://bugs.webkit.org/show_bug.cgi?id=156890
Reviewed by Darin Adler.
Source/WebCore:
Drop [UsePointersEvenForNonNullableObjectArguments] from MutationObserver
and clean up / modernize the code a bit. There is not significant Web-
exposed behavior change except that MutationObserver.observe() now throws
a different kind of exception (a TypeError as per Web IDL) when passed in
a null Node.
No new tests, rebaselined existing test.
- bindings/js/JSMutationCallback.cpp:
(WebCore::JSMutationCallback::call):
- bindings/js/JSMutationCallback.h:
- bindings/js/JSMutationObserverCustom.cpp:
(WebCore::constructJSMutationObserver):
- css/PropertySetCSSStyleDeclaration.cpp:
- dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationAccumulator::enqueueMutationRecord):
- dom/MutationCallback.h:
- dom/MutationObserver.cpp:
(WebCore::MutationObserver::create):
(WebCore::MutationObserver::MutationObserver):
(WebCore::MutationObserver::observe):
(WebCore::MutationObserver::takeRecords):
(WebCore::MutationObserver::enqueueMutationRecord):
(WebCore::MutationObserver::deliver):
(WebCore::MutationObserver::disconnect): Deleted.
- dom/MutationObserver.h:
- dom/MutationObserver.idl:
- dom/MutationObserverInterestGroup.cpp:
(WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
- dom/MutationObserverInterestGroup.h:
- dom/MutationRecord.cpp:
(WebCore::MutationRecord::createChildList):
- dom/MutationRecord.h:
LayoutTests:
Rebaseline now that MutationObserver.observe() throws a TypeError instead
of a NOT_FOUND_ERR when passed a null Node.
- fast/dom/MutationObserver/observe-exceptions-expected.txt:
- 8:58 AM Changeset in webkit [199877] by
-
- 3 edits2 adds in trunk
REGRESSION (r189567): The top of Facebook's messenger.com looks visually broken
https://bugs.webkit.org/show_bug.cgi?id=156869
<rdar://problem/23204668>
Reviewed by Zalan Bujtas.
Source/WebCore:
Added fast/block/min-content-with-box-sizing.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeContentLogicalHeight):
LayoutTests:
- fast/block/min-content-with-box-sizing-expected.html: Added.
- fast/block/min-content-with-box-sizing.html: Added.
- 5:49 AM Changeset in webkit [199876] by
-
- 6 edits in trunk
[GTK] Enable the download attribute support
https://bugs.webkit.org/show_bug.cgi?id=99025
Reviewed by Žan Doberšek.
.:
- Source/cmake/OptionsGTK.cmake:
Tools:
- Scripts/webkitperl/FeatureList.pm:
LayoutTests:
Unskip tests that should pass now.
- platform/gtk/TestExpectations:
- 5:21 AM Changeset in webkit [199875] by
-
- 2 edits in trunk/Source/WebKit2
NetworkCacheIOChannelSoup: detach the newly-created IOChannel::readSync thread
https://bugs.webkit.org/show_bug.cgi?id=156907
Reviewed by Carlos Garcia Campos.
- NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
(WebKit::NetworkCache::IOChannel::readSyncInThread): Detach the new thread,
ensuring the resources are released after the thread exits. Next step is
to set up a thread pool and use that, avoiding thread re-creation.
- 5:08 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 12:54 AM Changeset in webkit [199874] by
-
- 3 edits2 adds in trunk
[css-grid] Fix bug with positioned items in vertical writing mode
https://bugs.webkit.org/show_bug.cgi?id=156870
Reviewed by Darin Adler.
Source/WebCore:
In RenderGrid::offsetAndBreadthForPositionedChild() we were using
directly borderLeft(), which is wrong in vertical writing modes.
To fix it we just need to use borderLogicalLeft() which is aware of
the current writing mode.
Test: fast/css-grid-layout/grid-positioned-children-writing-modes.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
LayoutTests:
Add new test to check positioned items in different writing modes
and direction combinations.
- fast/css-grid-layout/grid-positioned-children-writing-modes-expected.html: Added.
- fast/css-grid-layout/grid-positioned-children-writing-modes.html: Added.
- 12:09 AM Changeset in webkit [199873] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
[ANGLE] Remove deprecated auto_ptr warning. Unreviewed.
https://bugs.webkit.org/show_bug.cgi?id=156894
- src/compiler/preprocessor/MacroExpander.h: Use std::unique_ptr instead of std::auto_ptr.
Apr 21, 2016:
- 11:58 PM Changeset in webkit [199872] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r199738): The ANGLE update broke accelerated compositing in GTK+ port
https://bugs.webkit.org/show_bug.cgi?id=156789
Reviewed by Carlos Garcia Campos.
After the update, the ANGLE library has to be built with
ANGLE_ENABLE_ESSL and ANGLE_ENABLE_GLSL definitions in order
to compile in the support for the two translators that Linux-based
ports using OpenGL ES or OpenGL require. Missing files are also added.
- CMakeLists.txt:
- 11:19 PM Changeset in webkit [199871] by
-
- 12 edits4 adds2 deletes in trunk
Drop [UsePointersEvenForNonNullableObjectArguments] from Document
https://bugs.webkit.org/show_bug.cgi?id=156881
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline now that more checks are passing.
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Drop [UsePointersEvenForNonNullableObjectArguments] from Document. There
is no major Web-exposed behavior change but the type of the exception
being thrown when passing null or not enough parameters has changed for
some of the API (It is now always a TypeError as per the Web IDL
specification).
Tests: fast/dom/Document/adoptNode-null.html
fast/dom/Document/importNode-null.html
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::takeAllChildrenFrom):
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::parserAppendChild):
- dom/Document.cpp:
(WebCore::Document::importNode):
(WebCore::Document::adoptNode):
(WebCore::Document::createNodeIterator):
(WebCore::Document::createTreeWalker):
(WebCore::Document::setBodyOrFrameset):
(WebCore::Document::hasValidNamespaceForElements): Deleted.
(WebCore::Document::scheduleForcedStyleRecalc): Deleted.
(WebCore::Document::scheduleStyleRecalc): Deleted.
(WebCore::Document::unscheduleStyleRecalc): Deleted.
(WebCore::Document::hasPendingStyleRecalc): Deleted.
(WebCore::Document::hasPendingForcedStyleRecalc): Deleted.
(WebCore::Document::recalcStyle): Deleted.
(WebCore::Document::explicitClose): Deleted.
- dom/Document.h:
(WebCore::Document::importNode):
- dom/Document.idl:
- dom/NodeIterator.cpp:
(WebCore::NodeIterator::NodeIterator):
- dom/NodeIterator.h:
(WebCore::NodeIterator::create):
LayoutTests:
Add test cases for cases where the type of the exception being thrown
has changed.
- fast/dom/Document/adoptNode-null-expected.txt: Added.
- fast/dom/Document/adoptNode-null.html: Added.
- fast/dom/Document/importNode-null-expected.txt: Added.
- fast/dom/Document/importNode-null.html: Added.
- fast/dom/importNode-null-expected.txt: Removed.
- fast/dom/importNode-null.html: Removed.
- 11:07 PM Changeset in webkit [199870] by
-
- 2 edits in trunk/Source/JavaScriptCore
Follow-on to the build fix.
- runtime/MathCommon.h: Use the C++ std namespace version of the
frexp function too.
- 10:56 PM Changeset in webkit [199869] by
-
- 2 edits in trunk/Source/WebCore
More improvements and explanations regarding resetting CSS properties on the <math> element
https://bugs.webkit.org/show_bug.cgi?id=156840
Patch by Frederic Wang <fwang@igalia.com> on 2016-04-21
Reviewed by Darin Adler.
We some follow-up improvements regarding CSS rules on the <math> element, after bug 133603:
- We fix indenting to use 4 spaces.
- We explain why we set -webkit-line-box-contain and add references to related bugs.
- We explain why we reset some CSS spacing rules.
- We explain why the direction is set to ltr.
- We explain why font-family is set to a list of known math fonts and add reference to the wiki.
- We mention the need to customize math fonts to get consistent style and add references to a bug report and to the wiki.
- We described each of the math font listed and add some justification about their orders.
- We better explain the section about fonts that do not satisfy the requirements for good mathematical rendering, reformulate why we still need them for iOS/Mac and we add some references to a bug report and to the wiki. Some fonts that not pre-installed were removed in r199773.
- We add a FIXME comments for potential changes of CSS properties on the <math> tag.
We make the following changes to the lists of font-family:
- We move "TeX Gyre Termes Math" into the Times group.
- We move "Asana Math" into the Palatino group.
- We remove iOS conditionals on "Symbol" and "Times New Roman".
No new tests, only order of math fonts that are not used by test framework is changed.
- css/mathml.css:
(math): We merge the two math selectors, reorder some font-families, remove iOS ifdef and
add more description.
- 10:56 PM Changeset in webkit [199868] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Fix build break since r199866. Unreviewed.
https://bugs.webkit.org/show_bug.cgi?id=156892
- runtime/MathCommon.h: Add namespace std to isnormal invoking.
- 10:08 PM Changeset in webkit [199867] by
-
- 12 edits1 add in trunk/Source/JavaScriptCore
[JSC] Add primitive String support to compare operators
https://bugs.webkit.org/show_bug.cgi?id=156783
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-21
Reviewed by Geoffrey Garen.
Just the basics.
We should eventually inline some of the simplest cases.
This is a 2% improvement on Longspider. It is unfortunately neutral
for Sunspider on my machine because most of the comparison are from
baseline.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStringCompare):
(JSC::DFG::SpeculativeJIT::compileStringIdentCompare):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareLess):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareLessEq):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareGreater):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareGreaterEq):
(JSC::FTL::DFG::LowerDFGToB3::compare):
- ftl/FTLOutput.h:
(JSC::FTL::Output::callWithoutSideEffects):
- jit/JITOperations.h:
- tests/stress/string-compare.js: Added.
(makeRope):
(makeString):
(let.operator.of.operators.eval.compareStringIdent):
(let.operator.of.operators.compareStringString):
(let.operator.of.operators.compareStringIdentString):
(let.operator.of.operators.compareStringStringIdent):
(let.operator.of.operators.let.left.of.typeCases.let.right.of.typeCases.eval):
- 9:46 PM Changeset in webkit [199866] by
-
- 5 edits1 add in trunk/Source/JavaScriptCore
[JSC] Commute FDiv-by-constant into FMul-by-reciprocal when it is safe
https://bugs.webkit.org/show_bug.cgi?id=156871
Patch by Benjamin Poulain <bpoulain@webkit.org> on 2016-04-21
Reviewed by Filip Pizlo.
FMul is significantly faster than FDiv.
For example, on Haswell, FMul has a latency of 5, a throughput of 1
while FDiv has latency 10-24, throughput 8-18.
Fortunately for us, Sunspider and Kraken have plenty of division
by a simple power of 2 constant. Those are just exponent operations
and can be easily reversed to use FMul instead of FDiv.
LLVM does something similar in InstCombine.
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- jit/JITDivGenerator.cpp:
(JSC::JITDivGenerator::loadOperand):
(JSC::JITDivGenerator::generateFastPath):
- jit/SnippetOperand.h:
(JSC::SnippetOperand::asConstNumber):
- runtime/MathCommon.h:
(JSC::safeReciprocalForDivByConst):
- tests/stress/floating-point-div-to-mul.js: Added.
(opaqueDivBy2):
(opaqueDivBy3):
(opaqueDivBy4):
(opaqueDivBySafeMaxMinusOne):
(opaqueDivBySafeMax):
(opaqueDivBySafeMaxPlusOne):
(opaqueDivBySafeMin):
(opaqueDivBySafeMinMinusOne):
(i.catch):
(i.result.opaqueDivBySafeMin.valueOf):
- 9:29 PM Changeset in webkit [199865] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Improve the absThunkGenerator() for 64bit
https://bugs.webkit.org/show_bug.cgi?id=156888
Reviewed by Michael Saboff.
A few tests spend a lot of time in this abs() with double argument.
This patch adds custom handling for the JSValue64 representation.
In particular:
-Do not load the value twice. Unbox the GPR if it is not an Int32.
-Deal with IntMin inline instead of falling back to the C function call.
-Box the values ourself to avoid a duplicate function tail and return.
- jit/ThunkGenerators.cpp:
(JSC::absThunkGenerator):
- 9:26 PM Changeset in webkit [199864] by
-
- 2 edits in trunk/Source/JavaScriptCore
LLInt CallSiteIndex off by 1
https://bugs.webkit.org/show_bug.cgi?id=156886
Reviewed by Benjamin Poulain.
I think was done for historical reasons but isn't needed anymore.
- llint/LLIntSlowPaths.cpp:
- 7:28 PM Changeset in webkit [199863] by
-
- 9 edits1 add in trunk/Source/JavaScriptCore
FTL should handle exceptions in operationInOptimize
https://bugs.webkit.org/show_bug.cgi?id=156885
Reviewed by Michael Saboff.
For some reasone we didn't handle any exceptions in "in" when we called
operationInOptimize in the FTL.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpAssumingJITType):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileIn):
- ftl/FTLPatchpointExceptionHandle.h: Add comments explaining which
function to use for different exception types.
- jsc.cpp:
(GlobalObject::finishCreation):
(functionNoFTL):
- runtime/Executable.cpp:
(JSC::ScriptExecutable::ScriptExecutable):
- runtime/Executable.h:
(JSC::ScriptExecutable::setNeverFTLOptimize):
(JSC::ScriptExecutable::neverFTLOptimize):
- tests/stress/in-ftl-exception-check.js: Added.
(foo):
(bar):
(catch):
- 6:48 PM Changeset in webkit [199862] by
-
- 9 edits6 adds in trunk
Backdrop Filter should not be visible if element has visibility:hidden
https://bugs.webkit.org/show_bug.cgi?id=149318
<rdar://problem/22749780>
Reviewed by Simon Fraser.
Source/WebCore:
Make sure that backdrop filter layers take note of when
the contents are visible or not.
Tests: css3/filters/backdrop/backdrop-with-visibility-hidden-changing.html
css3/filters/backdrop/backdrop-with-visibility-hidden.html
css3/filters/backdrop/backdrop-with-visibility-hidden-2.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateContentsVisibility): Tell the backdrop layer about the
change if there is one.
(WebCore::GraphicsLayerCA::updateBackdropFilters): When we update filters, make
sure to check the contents visibility.
(WebCore::dumpInnerLayer): Output "hidden" if the layer is set as such.
- platform/graphics/ca/PlatformCALayer.h: Add an isHidden method.
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.h:
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(PlatformCALayerCocoa::isHidden): Call into CALayer isHidden.
Source/WebKit2:
Add the isHidden method to PlatformCALayerRemote.
- WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::isHidden):
- WebProcess/WebPage/mac/PlatformCALayerRemote.h:
LayoutTests:
Three tests that check if a backdrop filter should be visible when
its owning element is visibility hidden.
- css3/filters/backdrop/backdrop-with-visibility-hidden-changing-expected.txt: Added.
- css3/filters/backdrop/backdrop-with-visibility-hidden-changing.html: Added.
- css3/filters/backdrop/backdrop-with-visibility-hidden-expected.txt: Added.
- css3/filters/backdrop/backdrop-with-visibility-hidden.html: Added.
- css3/filters/backdrop/backdrop-with-visibility-hidden-2.html: Added.
- css3/filters/backdrop/backdrop-with-visibility-hidden-2-expected.html: Added.
- 6:25 PM Changeset in webkit [199861] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSC virtual call thunk shouldn't do a structure->classInfo lookup
https://bugs.webkit.org/show_bug.cgi?id=156874
Reviewed by Keith Miller.
This lookup was unnecessary because we can just test the inlined type field.
But also, this meant that we were exempting JSBoundFunction from the virtual call optimization.
That's pretty bad.
- jit/ThunkGenerators.cpp:
(JSC::virtualThunkFor):
- 6:23 PM Changeset in webkit [199860] by
-
- 5 edits in branches/safari-601.6.16-branch/Source
Versioning.
- 6:21 PM Changeset in webkit [199859] by
-
- 1 copy in tags/Safari-601.6.16.1
New tag.
- 6:18 PM Changeset in webkit [199858] by
-
- 9 edits in branches/safari-601.6.16-branch
Merged r199762. rdar://problem/25786278
- 6:15 PM Changeset in webkit [199857] by
-
- 5 edits in branches/safari-601.6.16-branch/Source
Versioning.
- 6:13 PM Changeset in webkit [199856] by
-
- 3 edits in trunk/Source/WebCore
RenderVideo should always update the intrinsic size before layout.
https://bugs.webkit.org/show_bug.cgi?id=156878
Reviewed by Simon Fraser.
In order to layout video element properly we need to know the correct intrinsic size.
This patch also asserts if we end up updating the intrinsic size right after finishing video renderer layout.
This issues was discovered as part of webkit.org/b/156245. (hence covered by existing tests)
- rendering/RenderVideo.cpp:
(WebCore::RenderVideo::updateIntrinsicSize):
(WebCore::RenderVideo::layout):
(WebCore::RenderVideo::updatePlayer):
- rendering/RenderVideo.h:
- 6:11 PM Changeset in webkit [199855] by
-
- 1 copy in branches/safari-601.6.16-branch
New Branch.
- 6:05 PM Changeset in webkit [199854] by
-
- 3 edits in trunk/Source/WebKit2
WKWebView HTML5 AppCache not working
https://bugs.webkit.org/show_bug.cgi?id=156887
rdar://problem/17944162
Reviewed by Tim Horton.
- Shared/WebPreferencesDefinitions.h:
Set the offlineWebApplicationCacheEnabled property to true by default.
- UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
(API::WebsiteDataStore::defaultDataStoreConfiguration):
Set the default applicationCacheFlatFileSubdirectoryName to "Files".
- 6:03 PM Changeset in webkit [199853] by
-
- 12 edits in trunk
Modern IDB (Workers): Get the IDBConnectionProxy from the Document to the WorkerGlobalScope.
https://bugs.webkit.org/show_bug.cgi?id=156877
Reviewed by Tim Horton.
Source/WebCore:
No new tests (Covered by changes to existing tests).
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope): This is the point on the main thread
where we can get the IDBConnectionProxy from the Document and pass it down through Worker
machinery so it can end up at the WorkerGlobalScope.
Everything else is this patch is just passing it along as needed.
And cleaning up header style for neglected headers.
- workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::create):
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
- workers/DedicatedWorkerGlobalScope.h:
- workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
(WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
- workers/DedicatedWorkerThread.h:
(WebCore::DedicatedWorkerThread::create):
(WebCore::DedicatedWorkerThread::workerObjectProxy):
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::idbConnectionProxy):
- workers/WorkerGlobalScope.h:
- workers/WorkerThread.cpp:
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::idbConnectionProxy):
- workers/WorkerThread.h:
(WebCore::WorkerThread::threadID):
(WebCore::WorkerThread::runLoop):
(WebCore::WorkerThread::workerLoaderProxy):
(WebCore::WorkerThread::workerReportingProxy):
(WebCore::WorkerThread::getNotificationClient):
(WebCore::WorkerThread::setNotificationClient):
(WebCore::WorkerThread::workerGlobalScope):
LayoutTests:
- storage/indexeddb/modern/workers-enable-expected.txt:
- 5:50 PM Changeset in webkit [199852] by
-
- 20 edits2 adds in trunk
Web Inspector: sourceMappingURL not loaded in generated script
https://bugs.webkit.org/show_bug.cgi?id=156022
<rdar://problem/25438595>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-21
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
- inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::appendAPIBacktrace):
Synthetic CallFrames for native code will not have script identifiers.
- inspector/ScriptCallFrame.cpp:
(Inspector::ScriptCallFrame::ScriptCallFrame):
(Inspector::ScriptCallFrame::isEqual):
(Inspector::ScriptCallFrame::buildInspectorObject):
- inspector/ScriptCallFrame.h:
- inspector/protocol/Console.json:
Include the script identifier in ScriptCallFrame so we can correlate this
to the exactly script, even if there isn't a URL. The Script may have a
sourceURL, so the Web Inspector frontend may decide to show / link to it.
- inspector/ScriptCallStackFactory.cpp:
(Inspector::CreateScriptCallStackFunctor::operator()):
(Inspector::createScriptCallStackFromException):
Include SourceID when we have it.
- interpreter/Interpreter.cpp:
(JSC::GetStackTraceFunctor::operator()):
- interpreter/Interpreter.h:
- interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::sourceID):
- interpreter/StackVisitor.h:
Access the SourceID when we have it.
Source/WebInspectorUI:
- UserInterface/Controllers/SourceMapManager.js:
(WebInspector.SourceMapManager.prototype.downloadSourceMap):
If the sourceMapURL is a dataURL at this point, we can just pass it on,
otherwise we would have returned and skipped it.
- UserInterface/Models/CallFrame.js:
(WebInspector.CallFrame.fromPayload):
Add handling for "scriptId" if it is available in the Console.CallFrame.
Don't automatically mark CallFrames that didn't have a "url" as native,
instead try to get a SourceCode.
- UserInterface/Models/Script.js:
(WebInspector.Script.prototype.get displayURL):
Used by SourceCodeLocation formatting, so behave more like Resources
when we have only have a sourceURL name. This produces output like:
"foo.js:#:#" instead of "foo.js (line #:#)"
(WebInspector.Script.prototype.get anonymous):
Easy accessor to see if this would be treated as anonymous or not.
- UserInterface/Models/SourceMap.js:
(WebInspector.SourceMap.prototype.get sourceMappingBasePathURLComponents):
Gracefully handle no path.
- UserInterface/Models/StackTrace.js:
(WebInspector.StackTrace.prototype.get firstNonNativeCallFrame):
(WebInspector.StackTrace.prototype.get firstNonNativeNonAnonymousCallFrame):
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._appendLocationLink):
Now that "Eval Code" with a sourceURL is no longer native, we still don't
want to show it in the Web Inspector if it is anonymous. So include a stricter
version that skips native and anonymous call frames.
LayoutTests:
- inspector/console/messageAdded-from-named-evaluations-expected.txt: Added.
- inspector/console/messageAdded-from-named-evaluations.html: Added.
- inspector/debugger/js-stacktrace-expected.txt:
- inspector/model/stack-trace-expected.txt:
- 5:33 PM Changeset in webkit [199851] by
-
- 2 edits in trunk/Source/WebCore
Fix crashes when loading SVG images.
- loader/EmptyClients.cpp:
(WebCore::fillWithEmptyClients):
Give the SVG page its own application cache storage.
- 5:27 PM Changeset in webkit [199850] by
-
- 2 edits in trunk/Source/WebKit/mac
Fix the iOS build: WAKView may not respond to drawLayer:inContext:
https://bugs.webkit.org/show_bug.cgi?id=156879
<rdar://problem/25772661>
Reviewed by Beth Dakin.
- WebView/WebHTMLView.mm:
WebHTMLView on iOS never uses drawLayer:inContext:, and WAKView
doesn't implement it, so this would have thrown an exception
if called, anyway. Fix the build with stricter CA protocols.
- 5:18 PM Changeset in webkit [199849] by
-
- 4 edits in trunk/Source/WebCore
Get rid of ApplicationCacheStorage::singleton
https://bugs.webkit.org/show_bug.cgi?id=156882
Reviewed by Tim Horton.
- loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::setCacheDirectory): Deleted.
(WebCore::ApplicationCacheStorage::singleton): Deleted.
- loader/appcache/ApplicationCacheStorage.h:
- page/Page.cpp:
(WebCore::Page::Page):
- 5:09 PM Changeset in webkit [199848] by
-
- 8 edits in trunk/Source
Lets do less locking of symbol tables in the BytecodeGenerator where we don't have race conditions
https://bugs.webkit.org/show_bug.cgi?id=156821
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
The BytecodeGenerator allocates all the SymbolTables that it uses.
This is before any concurrent compiler thread can use that SymbolTable.
This means we don't actually need to lock for any operations of the
SymbolTable. This patch makes this change by removing all locking.
To do this, I've introduced a new constructor for ConcurrentJITLocker
which implies no locking is necessary. You instantiate such a ConcurrentJITLocker like so:
ConcurrentJITLocker locker(ConcurrentJITLocker::NoLockingNecessary);
This patch also removes all uses of Strong<SymbolTable> from the bytecode
generator and instead wraps bytecode generation in a DeferGC.
- bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::generateUnlinkedFunctionCodeBlock):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::initializeArrowFunctionContextScopeIfNeeded):
(JSC::BytecodeGenerator::instantiateLexicalVariables):
(JSC::BytecodeGenerator::emitPrefillStackTDZVariables):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):
(JSC::BytecodeGenerator::initializeBlockScopedFunctions):
(JSC::BytecodeGenerator::hoistSloppyModeFunctionIfNecessary):
(JSC::BytecodeGenerator::popLexicalScopeInternal):
(JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration):
(JSC::BytecodeGenerator::variable):
(JSC::BytecodeGenerator::createVariable):
(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::constructorKind):
(JSC::BytecodeGenerator::superBinding):
(JSC::BytecodeGenerator::generate):
- runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
- runtime/ConcurrentJITLock.h:
(JSC::ConcurrentJITLockerBase::ConcurrentJITLockerBase):
(JSC::ConcurrentJITLockerBase::~ConcurrentJITLockerBase):
(JSC::ConcurrentJITLocker::ConcurrentJITLocker):
Source/WTF:
This patch introduces a new constructor for Locker which implies no
locking is necessary. You instantiate such a locker like so:
Locker<Lock> locker(Locker<Lock>::NoLockingNecessary);
This is useful to for very specific places when it is not yet
required to engage in a specified locking protocol. As an example,
we use this in JSC when we allocate a particular object that
engages in a locking protocol with the concurrent compiler thread,
but before a concurrent compiler thread that could have access
to the object exists.
- wtf/Locker.h:
(WTF::Locker::Locker):
(WTF::Locker::~Locker):
- 5:08 PM Changeset in webkit [199847] by
-
- 4 edits4 adds in trunk
ASSERTION FAILED: accumulation == TransformState::FlattenTransform in WebCore::GraphicsLayerCA::computeVisibleAndCoverageRect
https://bugs.webkit.org/show_bug.cgi?id=155362
Reviewed by Zalan Bujtas.
Source/WebCore:
A particular configuration of composited RenderLayers with preserve-3d and clipping
caused assertions because an ancestor clipping layer had masksToBounds() set, but
a preserves3D() parent, triggering an assertion in GraphicsLayerCA::computeVisibleAndCoverageRect().
Make two changes to address this:
First, CSS clip: and clip-path: should force flattening and override preserve-3d in
the RenderStyle.
Second, don't accumulate transforms in GraphicsLayerCA through layers with masksToBounds().
Tests: compositing/clipping/preserve3d-flatten-assertion-nested.html
compositing/clipping/preserve3d-flatten-assertion.html
- css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::accumulatesTransform):
LayoutTests:
Test cases that should not assert in debug builds.
- compositing/clipping/preserve3d-flatten-assertion-nested.html: Added.
- compositing/clipping/preserve3d-flatten-assertion.html: Added.
- 4:56 PM Changeset in webkit [199846] by
-
- 7 edits in trunk/Source/WebKit/mac
[WK1] Add WebPlaybackSession support to WebKit
https://bugs.webkit.org/show_bug.cgi?id=156854
Reviewed by Beth Dakin.
Add support for WebPlaybackSession and the ChromeClient methods setUpPlaybackControlsManager() and
clearPlaybackControlsManager() to WebKit.
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setUpPlaybackControlsManager):
(WebChromeClient::clearPlaybackControlsManager):
- WebView/WebView.mm:
(-[WebView _hasActiveVideoForControlsInterface]):
(-[WebView _setUpPlaybackControlsManagerForMediaElement:]):
(-[WebView _clearPlaybackControlsManagerForMediaElement:]):
- WebView/WebViewData.h:
- WebView/WebViewData.mm:
- WebView/WebViewInternal.h:
- 4:30 PM Changeset in webkit [199845] by
-
- 4 edits in trunk/Source/JavaScriptCore
Remove some unnecessary RefPtrs in the parser
https://bugs.webkit.org/show_bug.cgi?id=156865
Reviewed by Filip Pizlo.
The IdentifierArena or the SourceProviderCacheItem will own these UniquedStringImpls
while we are using them. There is no need for us to reference count them.
This might be a 0.5% speedup on octane code-load.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
- parser/Parser.h:
(JSC::Scope::setIsLexicalScope):
(JSC::Scope::isLexicalScope):
(JSC::Scope::closedVariableCandidates):
(JSC::Scope::declaredVariables):
(JSC::Scope::lexicalVariables):
(JSC::Scope::finalizeLexicalEnvironment):
(JSC::Scope::computeLexicallyCapturedVariablesAndPurgeCandidates):
(JSC::Scope::collectFreeVariables):
(JSC::Scope::getCapturedVars):
(JSC::Scope::setStrictMode):
(JSC::Scope::isValidStrictMode):
(JSC::Scope::shadowsArguments):
(JSC::Scope::copyCapturedVariablesToVector):
- parser/SourceProviderCacheItem.h:
(JSC::SourceProviderCacheItem::usedVariables):
(JSC::SourceProviderCacheItem::~SourceProviderCacheItem):
(JSC::SourceProviderCacheItem::create):
(JSC::SourceProviderCacheItem::SourceProviderCacheItem):
(JSC::SourceProviderCacheItem::writtenVariables): Deleted.
- 4:28 PM Changeset in webkit [199844] by
-
- 9 edits in trunk/Source/WebCore
Element::idForStyleResolution() is a foot-gun
https://bugs.webkit.org/show_bug.cgi?id=156852
Reviewed by Darin Adler.
Element::idForStyleResolution() is a foot-gun. It requires the caller to check
Element::hasID() first or it may end up crashing when dereferencing elementData()
(e.g. see Bug 156806).
This patch updates Element::idForStyleResolution() to return nullAtom is the
Element does not have an ID. I did not see a performance impact on Speedometer,
Dromaeo DOM Core, Dromaeo CSS Selectors and our local performanceTests/.
- css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRules):
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
- css/SelectorFilter.cpp:
(WebCore::collectElementIdentifierHashes):
- dom/Element.h:
(WebCore::Element::idForStyleResolution):
- rendering/RenderBlockFlow.cpp:
(WebCore::needsAppleMailPaginationQuirk):
- rendering/RenderTreeAsText.cpp:
(WebCore::writeRenderRegionList):
- style/StyleSharingResolver.cpp:
(WebCore::Style::SharingResolver::canShareStyleWithElement):
- 4:25 PM Changeset in webkit [199843] by
-
- 9 edits in trunk/Source/WebCore
Modern IDB (Workers): Move IDBConnectionProxy into IDBRequest and IDBDatabase.
https://bugs.webkit.org/show_bug.cgi?id=156868
Reviewed by Tim Horton.
No new tests (No behavior change).
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::create):
(WebCore::IDBDatabase::IDBDatabase):
(WebCore::IDBDatabase::~IDBDatabase):
(WebCore::IDBDatabase::transaction):
(WebCore::IDBDatabase::maybeCloseInServer):
- Modules/indexeddb/IDBDatabase.h:
(WebCore::IDBDatabase::connectionProxy):
(WebCore::IDBDatabase::serverConnection):
- Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::createDeleteRequest):
(WebCore::IDBOpenDBRequest::createOpenRequest):
(WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
(WebCore::IDBOpenDBRequest::onSuccess):
(WebCore::IDBOpenDBRequest::onUpgradeNeeded):
(WebCore::IDBOpenDBRequest::requestCompleted):
(WebCore::IDBOpenDBRequest::maybeCreateDeleteRequest): Deleted.
(WebCore::IDBOpenDBRequest::maybeCreateOpenRequest): Deleted.
- Modules/indexeddb/IDBOpenDBRequest.h:
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::connectionToServer): Deleted.
- Modules/indexeddb/IDBRequest.h:
(WebCore::IDBRequest::connectionProxy):
- Modules/indexeddb/IDBTransaction.h:
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::openDatabase):
(WebCore::IDBClient::IDBConnectionProxy::deleteDatabase):
- 4:06 PM Changeset in webkit [199842] by
-
- 11 edits in trunk/Source/WebKit2
Get rid of the last uses of ApplicationCacheStorage::singleton() from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=156876
Reviewed by Tim Horton.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
Add and encode and decode a applicationCacheFlatFileSubdirectoryName.
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::createWithLegacyOptions):
Set m_applicationCacheFlatFileSubdirectoryName to "ApplicationCache".
(API::ProcessPoolConfiguration::ProcessPoolConfiguration):
Set m_applicationCacheFlatFileSubdirectoryName to "Files".
(API::ProcessPoolConfiguration::copy):
Copy m_applicationCacheFlatFileSubdirectoryName.
- UIProcess/API/APIProcessPoolConfiguration.h:
Add getter for applicationCacheFlatFileSubdirectoryName.
- UIProcess/WebProcessPool.cpp:
(WebKit::legacyWebsiteDataStoreConfiguration):
Initialize applicationCacheFlatFileSubdirectoryName from the process pool configuration.
(WebKit::WebProcessPool::createNewWebProcess):
Initialize parameters.applicationCacheFlatFileSubdirectoryName. Remove a call to
ApplicationCacheStorage::singleton().setDefaultOriginQuota since it had no effect (it was called in the UI process).
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::WebsiteDataStore):
Initialize m_applicationCacheFlatFileSubdirectoryName.
(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):
Pass m_applicationCacheFlatFileSubdirectoryName when creating the application cache storage.
- UIProcess/WebsiteData/WebsiteDataStore.h:
Add new members.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
Set the application cache storage.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
Initialize the application cache storage.
- WebProcess/WebProcess.h:
(WebKit::WebProcess::applicationCacheStorage):
Add new getter.
- 4:03 PM Changeset in webkit [199841] by
-
- 2 edits in trunk/Source/WebKit/win
Add a missing space, as noticed by Darin.
- WebApplicationCache.cpp:
(applicationCachePath):
- 3:50 PM Changeset in webkit [199840] by
-
- 4 edits in trunk
[iOS] DumpRenderTree crashed in com.apple.WebCore: WebCore::ResourceLoadNotifier::didFailToLoad
https://bugs.webkit.org/show_bug.cgi?id=156829
<rdar://problem/23348217>
Reviewed by Daniel Bates.
Source/WebCore:
Ensure that the frame associated with the ResourceLoadNotifier is kept alive when notifying the Web Inspector.
Covered by existing tests.
- loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::didFailToLoad):
(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
(WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
(WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
(WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
(WebCore::ResourceLoadNotifier::dispatchDidFailLoading):
LayoutTests:
Unmark imported/blink/http/tests/css/remove-placeholder-styles.html as flaky because of bug fix.
- platform/ios-simulator-wk1/TestExpectations:
- 3:24 PM Changeset in webkit [199839] by
-
- 4 edits in trunk/Source/WebKit2
Remove two uses of ApplicationCacheStorage::singleton() from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=156873
Reviewed by Beth Dakin.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::clearApplicationCache): Deleted.
- WebProcess/WebProcess.h:
- 3:24 PM Changeset in webkit [199838] by
-
- 6 edits2 moves in trunk
Web Inspector: Debugger statement gets a space after it when pretty printed
https://bugs.webkit.org/show_bug.cgi?id=156867
<rdar://problem/25862308>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-21
Reviewed by Geoffrey Garen.
Source/WebInspectorUI:
- Tools/Formatting/index.html:
- UserInterface/Workers/Formatter/EsprimaFormatter.js:
(EsprimaFormatter.prototype._handleTokenAtNode):
Handle the unhandled DebuggerStatement node type.
LayoutTests:
- inspector/formatting/formatting-javascript-expected.txt:
- inspector/formatting/formatting-javascript.html:
- inspector/formatting/resources/javascript-tests/other-statements-expected.js: Renamed from LayoutTests/inspector/formatting/resources/javascript-tests/throw-statement-expected.js.
- inspector/formatting/resources/javascript-tests/other-statements.js: Renamed from LayoutTests/inspector/formatting/resources/javascript-tests/throw-statement.js.
- 3:11 PM Changeset in webkit [199837] by
-
- 2 edits in trunk/Source/JavaScriptCore
PolymorphicAccess adds sizeof(CallerFrameAndPC) rather than subtracting it when calculating stack height
https://bugs.webkit.org/show_bug.cgi?id=156872
Reviewed by Geoffrey Garen.
The code that added sizeof(CallerFrameAndPC) emerged from a bad copy-paste in r189586. That was
the revision that created the PolymorphicAccess class. It moved code for generating a
getter/setter call from Repatch.cpp to PolymorphicAccess.cpp. You can see the code doing a
subtraction here:
http://trac.webkit.org/changeset/189586/trunk/Source/JavaScriptCore/jit/Repatch.cpp
This makes the world right again.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::generateImpl):
- 2:16 PM Changeset in webkit [199836] by
-
- 5 edits in trunk/Source/WebKit/win
Stop using ApplicationCacheStorage::singleton() on Windows
https://bugs.webkit.org/show_bug.cgi?id=156861
Reviewed by Darin Adler.
- WebApplicationCache.cpp:
(applicationCachePath):
(WebApplicationCache::storage):
- WebApplicationCache.h:
- WebCache.cpp:
(WebCache::empty):
- WebView.cpp:
(WebView::initWithFrame):
(WebKitSetApplicationCachePathIfNecessary): Deleted.
- 2:08 PM Changeset in webkit [199835] by
-
- 12 edits in trunk
Modern IDB (Workers): More IDBConnectionProxy refactoring.
https://bugs.webkit.org/show_bug.cgi?id=156855
Reviewed by Darin Adler.
Source/WebCore:
No new tests (Covered by changes to existing tests).
- Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::indexedDB):
Hang on to the IDBConnectionProxy passed in at creation time, as it should never change:
- Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::create):
(WebCore::IDBFactory::IDBFactory):
(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):
- Modules/indexeddb/IDBFactory.h:
Hang on to the IDBConnectionProxy passed in at creation time, as it should never change:
- Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
(WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
(WebCore::WorkerGlobalScopeIndexedDatabase::from):
(WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
- Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
Make IDBConnectionProxy ThreadSafeRefCounted:
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::create):
- Modules/indexeddb/client/IDBConnectionProxy.h:
- dom/Document.cpp:
(WebCore::Document::idbConnectionProxy):
- dom/Document.h:
LayoutTests:
- storage/indexeddb/modern/workers-enable-expected.txt: Revert some of the PASS expectations to FAIL, just for now.
- 2:00 PM Changeset in webkit [199834] by
-
- 4 edits2 adds in trunk
WebScriptObject description swizzler should work in a multi-threaded world
https://bugs.webkit.org/show_bug.cgi?id=156808
Source/WebCore:
Reviewed by Geoffrey Garen.
A WebKit legacy API user might be running Objective-C code on another thread.
Since we don't want to corrupt other thread's NSObject description method
we use TLS to record if we are in the stringValue function. As an attempt to
preserve any user swizzling we update the non-stringValue NSObject description
method on each call to stringValue if it has changed. Additionally, the TLS
needs to be a int because the user might call into stringValue, back into JS,
then back into stringValue. If the TLS was a boolean then it would be unset
at that point so when we return into the first stringValue call we would call
the original NSObject description method rather than our override.
Test added to API tests: WebKit1.WebScriptObjectDescription
- bridge/objc/objc_instance.mm:
(-[NSObject _web_description]):
(ObjcInstance::stringValue):
(swizzleNSObjectDescription): Deleted.
Tools:
Add a test for our NSObject swizzling TLS implementation. The test runs on
two threads. One in JS and another in Objective-C. We expect the JS thread
to use our NSObject description override and the Objective-C thread to act
as though it was using the original NSObject description method.
Reviewed by Geoffrey Garen.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/mac/WebScriptObjectDescription.html: Added.
- TestWebKitAPI/Tests/mac/WebScriptObjectDescription.mm: Added.
(nsObjectDescriptionTest):
(-[WebScriptDescriptionTest webView:didFinishLoadForFrame:]):
(TestWebKitAPI::TEST):
- 1:23 PM Changeset in webkit [199833] by
-
- 2 edits in trunk/Source/JavaScriptCore
Build warning: CODE_SIGN_ENTITLEMENTS specified without specifying CODE_SIGN_IDENTITY
https://bugs.webkit.org/show_bug.cgi?id=156862
Reviewed by Joseph Pecoraro.
- Configurations/Base.xcconfig: Specify the ad hoc signing identity by
default. See <http://trac.webkit.org/changeset/143544>.
- 1:21 PM Changeset in webkit [199832] by
-
- 2 edits in trunk/Source/WebCore
Build fix.
- platform/mac/WebPlaybackSessionInterfaceMac.mm:
(WebCore::WebPlaybackSessionInterfaceMac::setAudioMediaSelectionOptions):
(WebCore::WebPlaybackSessionInterfaceMac::setLegibleMediaSelectionOptions):
(WebCore::WebPlaybackSessionInterfaceMac::invalidate):
- 1:18 PM Changeset in webkit [199831] by
-
- 2 edits in trunk/Source/WebCore
32 bit build fix.
- platform/mac/WebPlaybackSessionInterfaceMac.mm:
- 1:07 PM Changeset in webkit [199830] by
-
- 5 edits in trunk/Source/WebCore
Fixed compilation with !ENABLE(SVG_FONTS).
https://bugs.webkit.org/show_bug.cgi?id=156850
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-04-21
Reviewed by Michael Catanzaro.
No new tests needed.
- css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::CSSFontFaceSource):
Added missing ENABLE(SVG_FONTS) guards.
- css/CSSFontFaceSource.h: Ditto.
- platform/graphics/FontCascade.cpp: Ditto.
- svg/SVGToOTFFontConversion.cpp:
(WebCore::FontCascade::drawGlyphBuffer): Deleted extraneous
!ENABLE(SVG_FONTS) guard.
- 1:05 PM Changeset in webkit [199829] by
-
- 3 edits in trunk/Source/WebKit/mac
Stop using ApplicationCacheStorage::singleton() in WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=156859
Reviewed by Tim Horton.
- WebCoreSupport/WebApplicationCache.mm:
(+[WebApplicationCache initializeWithBundleIdentifier:]):
Change this to just store the bundle identifier.
(applicationCacheBundleIdentifier):
Helper function that returns the bundle identifier for the app cache.
(applicationCachePath):
Return the application cache path.
(webApplicationCacheStorage):
Create a new ApplicationCacheStorage object.
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
Set pageConfiguration.applicationCacheStorage to webApplicationCacheStorage().
(WebKitInitializeApplicationCachePathIfNecessary): Deleted.
- 12:37 PM Changeset in webkit [199828] by
-
- 8 edits in trunk/Source
showCandidates() should take a range and the string should be the whole
paragraph
https://bugs.webkit.org/show_bug.cgi?id=156813
-and corresponding-
rdar://problem/25760533
Reviewed by Tim Horton.
Source/WebKit/mac:
Cache the range and the paragraph since we compute them in
requestCandidatesForSelection, and then we can use them again in
handleRequestedCandidates.
- WebCoreSupport/WebEditorClient.h:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCandidatesForSelection):
(WebEditorClient::handleRequestedCandidates):
- WebView/WebView.mm:
(-[WebView updateWebViewAdditions]):
(-[WebView showCandidates:forString:inRect:forSelectedRange:view:completionHandler:]):
(-[WebView showCandidates:forString:inRect:view:completionHandler:]): Deleted.
- WebView/WebViewInternal.h:
Source/WebKit2:
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::updateWebViewImplAdditions):
(WebKit::WebViewImpl::showCandidates):
(WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded):
(WebKit::WebViewImpl::handleRequestedCandidates):
- 12:36 PM Changeset in webkit [199827] by
-
- 2 edits in trunk/Source/WebCore
Remove reliance on WebAVMediaSelectionOptionMac for the
WebPlaybackControlsManager
https://bugs.webkit.org/show_bug.cgi?id=156811
-and corresponding-
rdar://problem/25760523
Reviewed by Jer Noble.
- platform/mac/WebPlaybackSessionInterfaceMac.mm:
(-[WebPlaybackControlsManager setSeekableTimeRanges:]):
(-[WebPlaybackControlsManager setAudioMediaSelectionOptions:withSelectedIndex:]):
(-[WebPlaybackControlsManager setLegibleMediaSelectionOptions:withSelectedIndex:]):
(WebCore::WebPlaybackSessionInterfaceMac::~WebPlaybackSessionInterfaceMac):
(WebCore::WebPlaybackSessionInterfaceMac::setSeekableRanges):
(WebCore::WebPlaybackSessionInterfaceMac::setAudioMediaSelectionOptions):
(WebCore::WebPlaybackSessionInterfaceMac::setLegibleMediaSelectionOptions):
(WebCore::WebPlaybackSessionInterfaceMac::invalidate):
(-[WebAVMediaSelectionOptionMac localizedDisplayName]): Deleted.
(-[WebAVMediaSelectionOptionMac setLocalizedDisplayName:]): Deleted.
(-[WebPlaybackControlsManager isSeeking]): Deleted.
(-[WebPlaybackControlsManager seekToTime:toleranceBefore:toleranceAfter:]): Deleted.
(-[WebPlaybackControlsManager audioMediaSelectionOptions]): Deleted.
(-[WebPlaybackControlsManager setAudioMediaSelectionOptions:]): Deleted.
(-[WebPlaybackControlsManager currentAudioMediaSelectionOption]): Deleted.
(-[WebPlaybackControlsManager setCurrentAudioMediaSelectionOption:]): Deleted.
(-[WebPlaybackControlsManager legibleMediaSelectionOptions]): Deleted.
(-[WebPlaybackControlsManager setLegibleMediaSelectionOptions:]): Deleted.
(-[WebPlaybackControlsManager currentLegibleMediaSelectionOption]): Deleted.
(-[WebPlaybackControlsManager setCurrentLegibleMediaSelectionOption:]): Deleted.
(-[WebPlaybackControlsManager cancelThumbnailAndAudioAmplitudeSampleGeneration]): Deleted.
(WebCore::mediaSelectionOptions): Deleted.
- 12:03 PM Changeset in webkit [199826] by
-
- 2 edits in trunk/LayoutTests
Skip <area ping> tests on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=156857
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 11:11 AM Changeset in webkit [199825] by
-
- 8 edits in trunk/LayoutTests/imported/w3c
[Fetch API] Improve some fetch response streams tests
https://bugs.webkit.org/show_bug.cgi?id=156848
Reviewed by Darin Adler.
Most important changes are for response-stream-disturbed-2.html and response-stream-disturbed-5.html which were broken.
response-stream-disturbed-2.html was calling an undefined function and was expecting to get a resolved promise while it should be rejected.
response-stream-disturbed-5.html was expecting to have a null body if data is consumed.
After rereading the spec, this test is non conformant, as the body should not be null, but getting the reader should throw.
- web-platform-tests/fetch/api/resources/utils.js: Adding delay helper function.
- web-platform-tests/fetch/api/response/response-cancel-stream.html: Using delay function.
- web-platform-tests/fetch/api/response/response-stream-disturbed-1.html: Removing unused function.
- web-platform-tests/fetch/api/response/response-stream-disturbed-2-expected.txt: Rebasing
- web-platform-tests/fetch/api/response/response-stream-disturbed-2.html: Fixing test.
- web-platform-tests/fetch/api/response/response-stream-disturbed-5-expected.txt: Rebasing
- web-platform-tests/fetch/api/response/response-stream-disturbed-5.html: Fixing test.
- 11:11 AM Changeset in webkit [199824] by
-
- 2 edits in trunk/LayoutTests
LayoutTest http/tests/media/hls/video-controls-live-stream.html is sometimes flaky
https://bugs.webkit.org/show_bug.cgi?id=156851
<rdar://problem/25792102>
Reviewed by Daniel Bates.
- http/tests/media/hls/video-controls-live-stream.html: Only listen for events once because we don't care if they fire more often.
- 11:10 AM Changeset in webkit [199823] by
-
- 3 edits in trunk/Source/WebKit2
[iOS] Allow clients to hide the accessory view on a form input session
https://bugs.webkit.org/show_bug.cgi?id=155574
Patch by Chelsea Pugh <cpugh@apple.com> on 2016-04-21
Reviewed by Dan Bernstein.
- UIProcess/API/Cocoa/_WKFormInputSession.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKFormInputSession accessoryViewShouldNotShow]): Getter for accessoryViewShouldNotShow.
(-[WKFormInputSession setAccessoryViewShouldNotShow:]): Set accessoryViewShouldNotShow and reload input views.
(-[WKContentView requiresAccessoryView]): If the accessory view should be not be shown, do not require
the accessory view.
- 11:03 AM Changeset in webkit [199822] by
-
- 2 edits9 adds in trunk/LayoutTests
Add tests for <area ping>
https://bugs.webkit.org/show_bug.cgi?id=79438
<rdar://problem/22586699>
Reviewed by Alexey Proskuryakov.
- http/tests/navigation/ping-attribute/anchor-cookie.html: Extracted out code into functions setCookie(),
clearLastPingResultAndRunTest() and clickElement() (defined in utilities.js) so that they can be
used by this test and others. Also added HTML5 doctype declaration since it is unnecessary to run
this test in quirks mode.
- http/tests/navigation/ping-attribute/area-cookie-expected.txt: Added.
- http/tests/navigation/ping-attribute/area-cookie.html: Added.
- http/tests/navigation/ping-attribute/area-cross-origin-expected.txt: Added.
- http/tests/navigation/ping-attribute/area-cross-origin-from-https-expected.txt: Added.
- http/tests/navigation/ping-attribute/area-cross-origin-from-https.html: Added.
- http/tests/navigation/ping-attribute/area-cross-origin.html: Added.
- http/tests/navigation/ping-attribute/area-same-origin-expected.txt: Added.
- http/tests/navigation/ping-attribute/area-same-origin.html: Added.
- http/tests/navigation/ping-attribute/resources/utilities.js: Added.
(setCookie):
(clearLastPingResultAndRunTest.done):
(clearLastPingResultAndRunTest):
(clickElement):
- 10:02 AM Changeset in webkit [199821] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION(198782): ImageSource::subsamplingLevelForScale() does not cache the MaximumSubsamplingLevel for this ImageSource
https://bugs.webkit.org/show_bug.cgi?id=156766
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-04-21
Reviewed by Darin Adler.
Ensure the MaximumSubsamplingLevel for the ImageSource is calculated
only once and is cached for subsequent uses.
The image subsampling is on by default only for iOS. So the and this
patch currently affects the iOS port.
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::cacheMetadata): Cache m_maximumSubsamplingLevel.
Use m_frameCount as a flag for having_the_cache_done.
(WebCore::ImageSource::subsamplingLevelForScale): Call cacheMetadata()
before using m_maximumSubsamplingLevel.
(WebCore::ImageSource::frameCount): Call cacheMetadata() before returning
m_frameCount.
- platform/graphics/ImageSource.h:
- 9:44 AM Changeset in webkit [199820] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION (r199734): WebKit crashes loading numerous websites in iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=156842
Reviewed by Daniel Bates.
Disable separated heap on iOS Simulator.
- runtime/Options.cpp:
(JSC::recomputeDependentOptions):
- 9:38 AM Changeset in webkit [199819] by
-
- 12 edits8 adds in trunk
Creating a large number of WebGL contexts should recycle older contexts
https://bugs.webkit.org/show_bug.cgi?id=156689
<rdar://problem/19535330>
Patch by Antoine Quint <Antoine Quint> on 2016-04-21
Reviewed by Dean Jackson.
Source/WebCore:
We used to stop creating WebGL contexts once a maximum of 64 WebGL contexts had been
created on a page. Other browsers have a limit of 16 concurrent active WebGL contexts
and they lose older contexts when the developer creates a new context, logging a warning
to the console. We now follow the same approach.
Tests: webgl/max-active-contexts-console-warning.html
webgl/max-active-contexts-gc.html
webgl/max-active-contexts-oldest-context-lost.html
webgl/max-active-contexts-webglcontextlost-prevent-default.html
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::recycleContext):
Prints a warning message to the console indicating that an older WebGL context
will be lost to accomodate for the active contexts limit being reached and loses
the provided context in a way that it may not be recovered by callingevent.preventDefault()
in thewebglcontextlostevent handler. Finally, we destroy the associated GraphicsContext3D
since it will no longer be useful and it may hold large Open GL resources.
- html/canvas/WebGLRenderingContextBase.h:
- platform/graphics/GraphicsContext3D.h:
Changed GraphicsContext3D::create to return RefPtr instead of PassRefPtr.
- platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::create):
- platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::create):
- platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::activeContexts):
(WebCore::GraphicsContext3D::create):
Check if we are at the active contexts limit (16) and recycle the oldest context
in our active contexts list. Calling recycleContext() on a context will call the
GraphicsContext3D destructor and remove it from the active contexts list there.
(WebCore::GraphicsContext3D::~GraphicsContext3D):
Remove the deconstructed context from the active contexts list.
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::recycleContext):
- platform/graphics/win/GraphicsContext3DWin.cpp:
(WebCore::GraphicsContext3D::create):
LayoutTests:
- webgl/many-contexts-expected.txt:
- webgl/many-contexts.html:
New output for this existing test since a lot of warnings are now logged to
indicate that we've reached the active contexts limit. We also removed the
check that the last context created was null since it no longer is due to this
source change (older contexts are lost instead).
- webgl/max-active-contexts-console-warning-expected.txt: Added.
- webgl/max-active-contexts-console-warning.html: Added.
This new test checks that we log a warning when we've created one context more
than the active contexts limit.
- webgl/max-active-contexts-gc-expected.txt: Added.
- webgl/max-active-contexts-gc.html: Added.
This new test checks that contexts that are garbage collected do not count
agaist the active contexts limit.
- webgl/max-active-contexts-oldest-context-lost-expected.txt: Added.
- webgl/max-active-contexts-oldest-context-lost.html: Added.
This new test checks that older contexts are lost when we reach the active
contexts limit and we create a new context.
- webgl/max-active-contexts-webglcontextlost-prevent-default-expected.txt: Added.
- webgl/max-active-contexts-webglcontextlost-prevent-default.html: Added.
This new test checks that calling
event.preventDefault()in awebglcontextlost
event handler does not prevent a context from being lost when the active contexts
limit is reached.
- 9:25 AM Changeset in webkit [199818] by
-
- 5 edits2 adds in trunk
Don't hyphenate the last word in a paragraph of text.
https://bugs.webkit.org/show_bug.cgi?id=156803
Reviewed by Simon Fraser.
Source/WebCore:
Added fast/text/hyphenate-avoid-orphaned-word.html
- rendering/RenderText.h:
- rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText):
LayoutTests:
- fast/text/hyphenate-avoid-orphaned-word.html: Added.
- platform/mac/fast/text/hyphenate-avoid-orphaned-word-expected.txt: Added.
- platform/mac/fast/text/hyphenate-limit-before-after-expected.txt:
- 9:07 AM Changeset in webkit [199817] by
-
- 42 edits in trunk/Source
Drop [UsePointersEvenForNonNullableObjectArguments] from Range
https://bugs.webkit.org/show_bug.cgi?id=156805
Reviewed by Youenn Fablet.
Source/WebCore:
No new tests, no web-exposed behavior change.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::rangeForNodeContents):
(WebCore::characterOffsetsInOrder):
(WebCore::setRangeStartOrEndWithCharacterOffset):
(WebCore::AXObjectCache::startOrEndCharacterOffsetForRange):
(WebCore::AXObjectCache::previousBoundary):
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::selectText):
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::documentBasedSelectedTextRange):
- dom/Node.cpp:
(WebCore::Node::textRects):
- dom/Range.cpp:
(WebCore::Range::Range):
(WebCore::Range::setDocument):
(WebCore::Range::setStart):
(WebCore::Range::setEnd):
(WebCore::Range::isPointInRange):
(WebCore::Range::comparePoint):
(WebCore::Range::compareNode):
(WebCore::Range::compareBoundaryPoints):
(WebCore::Range::compareBoundaryPointsForBindings):
(WebCore::Range::intersectsNode):
(WebCore::Range::processContents):
(WebCore::Range::insertNode):
(WebCore::Range::checkNodeWOffset):
(WebCore::Range::setStartAfter):
(WebCore::Range::setEndBefore):
(WebCore::Range::setEndAfter):
(WebCore::Range::selectNode):
(WebCore::Range::selectNodeContents):
(WebCore::Range::surroundContents):
(WebCore::Range::setStartBefore):
(WebCore::Range::contains):
(WebCore::rangesOverlap):
(WebCore::rangeOfContents):
(WebCore::boundaryNodeChildrenWillBeRemoved):
(WebCore::boundaryTextNodesMerged):
(WebCore::boundaryTextNodesSplit):
(WebCore::Range::expand):
(WebCore::checkForDifferentRootContainer): Deleted.
(WebCore::highestAncestorUnderCommonRoot): Deleted.
(WebCore::childOfCommonRootBeforeOffset): Deleted.
(WebCore::deleteCharacterData): Deleted.
(WebCore::Range::toString): Deleted.
(WebCore::Range::toHTML): Deleted.
(WebCore::Range::text): Deleted.
(WebCore::Range::cloneRange): Deleted.
(WebCore::Range::absoluteTextRects): Deleted.
(WebCore::Range::absoluteTextQuads): Deleted.
(WebCore::boundaryNodeChildrenChanged): Deleted.
(WebCore::boundaryNodeWillBeRemoved): Deleted.
(WebCore::Range::nodeWillBeRemoved): Deleted.
(WebCore::boundaryTextRemoved): Deleted.
(WebCore::Range::getBoundingClientRect): Deleted.
(WebCore::Range::getBorderAndTextQuads): Deleted.
- dom/Range.h:
- dom/Range.idl:
- dom/RangeBoundaryPoint.h:
(WebCore::RangeBoundaryPoint::set):
(WebCore::RangeBoundaryPoint::setToStartOfNode):
(WebCore::RangeBoundaryPoint::setToEndOfNode):
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::applyAlternativeTextToRange):
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
- editing/Editor.cpp:
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::rangeOfString):
(WebCore::isFrameInRange):
(WebCore::Editor::countMatchesForText):
- editing/EditorCommand.cpp:
(WebCore::unionDOMRanges):
(WebCore::executeDeleteToMark):
(WebCore::executeSelectToMark):
- editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::formatRange):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::respondToNodeModification):
- editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApplyForSingleParagraph):
- editing/TextCheckingHelper.cpp:
(WebCore::TextCheckingParagraph::offsetTo):
- editing/TextIterator.cpp:
(WebCore::CharacterIterator::range):
(WebCore::BackwardsCharacterIterator::range):
(WebCore::TextIterator::rangeFromLocationAndLength):
(WebCore::TextIterator::getLocationAndLengthFromRange):
(WebCore::findPlainText):
- editing/VisiblePosition.cpp:
(WebCore::setStart):
(WebCore::setEnd):
- editing/VisibleSelection.cpp:
(WebCore::makeSearchRange):
- editing/VisibleUnits.cpp:
(WebCore::previousBoundary):
(WebCore::nextBoundary):
- editing/htmlediting.cpp:
(WebCore::visiblePositionForIndexUsingCharacterIterator):
(WebCore::isNodeVisiblyContainedWithin):
- editing/htmlediting.h:
- editing/mac/EditorMac.mm:
(WebCore::Editor::adjustedSelectionRange):
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
- page/DOMSelection.cpp:
(WebCore::DOMSelection::addRange):
- page/DragController.cpp:
(WebCore::selectElement):
- page/EventHandler.cpp:
(WebCore::EventHandler::dispatchMouseEvent):
- page/Page.cpp:
(WebCore::Page::findStringMatchingRanges):
- page/TextIndicator.cpp:
(WebCore::hasNonInlineOrReplacedElements):
- rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::getRanges):
Source/WebKit/mac:
- WebView/WebFrame.mm:
(-[WebFrame _smartDeleteRangeForProposedRange:]):
Source/WebKit2:
- WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
(-[WKDOMRange setStart:offset:]):
(-[WKDOMRange setEnd:offset:]):
(-[WKDOMRange selectNode:]):
(-[WKDOMRange selectNodeContents:]):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::contentsAsString):
- 8:42 AM Changeset in webkit [199816] by
-
- 4 edits in trunk/Source/WebCore
Drop [UsePointersEvenForNonNullableObjectArguments] from DOMURL
https://bugs.webkit.org/show_bug.cgi?id=156797
Reviewed by Youenn Fablet.
- html/DOMURL.cpp:
(WebCore::DOMURL::create):
- html/DOMURL.h:
- html/DOMURL.idl:
- 8:12 AM Changeset in webkit [199815] by
-
- 3 edits2 moves1 add2 deletes in trunk/Source/WebCore
[GTK][EFL] Move non-glib/gtk platform implementations out of platform/gtk
https://bugs.webkit.org/show_bug.cgi?id=156847
Reviewed by Carlos Garcia Campos.
The Language and Logging implementation don't really need glib, so
rework them and move them to a new platform/unix directory so that
they can be shared among Unix ports.
- PlatformEfl.cmake: Use the unix version.
- PlatformGTK.cmake: Same.
- platform/efl/LanguageEfl.cpp: Removed.
- platform/efl/LoggingEfl.cpp: Removed.
- platform/unix/LanguageUnix.cpp: Renamed from Source/WebCore/platform/gtk/LanguageGtk.cpp.
(WebCore::platformLanguage):
(WebCore::platformUserPreferredLanguages):
- platform/unix/LoggingUnix.cpp: Renamed from Source/WebCore/platform/gtk/LoggingGtk.cpp.
(WebCore::logLevelString):
- 6:45 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 5:33 AM Changeset in webkit [199814] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Update expectations for some editing tests that are slow on Debug.
All these pass for me locally when run with --no-timeout.
- platform/gtk/TestExpectations:
- 4:45 AM Changeset in webkit [199813] by
-
- 4 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Rebaseline tests after r180867.
- platform/gtk/editing/execCommand/5142012-1-expected.txt:
- platform/gtk/editing/inserting/insert-at-end-02-expected.txt:
- platform/gtk/editing/pasteboard/4989774-expected.txt:
- 3:57 AM Changeset in webkit [199812] by
-
- 7 edits in trunk/Source/JavaScriptCore
Align RegExp[@@match] with other @@ methods
https://bugs.webkit.org/show_bug.cgi?id=156832
Reviewed by Mark Lam.
Various changes to align the RegExp[@@match] with [@@search] and [@@split].
Made RegExp.prototype.@exec a hidden property on the global object and
called it @regExpBuiltinExec to match the name it has in the standard.
Changed all places that used the old name to use the new one.
Made the match fast path function, which used to be call @match, to be called
@regExpMatchFast and put it on the global object. Changed it to also handle
expressions both with and without the global flag. Refactored the builtin
@match accordingly.
Added the builtin function @hasObservableSideEffectsForRegExpMatch() that
checks to see if we can use the fast path of if we need the explicit version.
Put the main RegExp functions @match, @search and @split in alphabetical
order in RegExpPrototype.js. Did the same for @match, @repeat, @search and
@split in StringPrototype.js.
- builtins/RegExpPrototype.js:
(regExpExec):
(hasObservableSideEffectsForRegExpMatch): New.
(match):
(search):
(hasObservableSideEffectsForRegExpSplit):
Reordered in the file and updated to use @regExpBuiltinExec.
- builtins/StringPrototype.js:
(match):
(repeatSlowPath):
(repeat):
(search):
(split):
Reordered functions in the file.
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::setGlobalThis):
(JSC::getById):
(JSC::getGetterById):
(JSC::JSGlobalObject::init):
- runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncMatchFast):
(JSC::regExpProtoFuncMatchPrivate): Deleted.
- runtime/RegExpPrototype.h:
- 3:53 AM Changeset in webkit [199811] by
-
- 7 edits in trunk
[GTK] WebKitWebView should claim the contents size as its natural size
https://bugs.webkit.org/show_bug.cgi?id=156835
Reviewed by Žan Doberšek.
Source/WebKit2:
And keep claiming 0 as its minimum size since it's scrollable.
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::didChangeContentSize): Call webkitWebViewBaseSetContentsSize().
- UIProcess/API/gtk/PageClientImpl.h:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseGetPreferredWidth): Return the contents width as natural width.
(webkitWebViewBaseGetPreferredHeight): Return the contents height as natural height.
(webkit_web_view_base_class_init): Add implementations of get_preferred_width/height.
(webkitWebViewBaseSetContentsSize): Save the contents size.
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
Tools:
Add test case to check the WebKitWebView preferred size.
- TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewPreferredSize):
(beforeAll):
- 3:50 AM Changeset in webkit [199810] by
-
- 9 edits in trunk/Source/WebKit2
[GTK] WebKitWebView should propagate wheel events not handled by the web process
https://bugs.webkit.org/show_bug.cgi?id=156834
Reviewed by Žan Doberšek.
We are currently swallowing all wheel events unconditionally, not allowing applications to handle wheel events
when not handled by us. Since the GTK+ event propagation system is synchronous, and our events are handled
asynchronously, we need to do something similar to what we do for key events, not propagate the event the first
time and if not handled by the web process, re-inject it in the event loop and then just propagate it.
- Shared/NativeWebWheelEvent.h:
(WebKit::NativeWebWheelEvent::nativeEvent): Remove useless const.
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore): Tell the web view to propagate the next wheel event,
and re-inject the event not handled by the web process in the event loop.
- UIProcess/API/gtk/PageClientImpl.h:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseScrollEvent): Propagate the event if shouldForwardNextWheelEvent is true.
(webkitWebViewBaseForwardNextWheelEvent): Set shouldForwardNextWheelEvent to true.
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveEvent): Remove ifdef.
- UIProcess/efl/WebView.h:
- 1:50 AM MathML/Fonts edited by
- (diff)
- 1:41 AM Changeset in webkit [199809] by
-
- 3 edits2 adds in trunk
AX: stringForTextMarkerRange returning empty string for document range
https://bugs.webkit.org/show_bug.cgi?id=156819
Reviewed by Chris Fleizach.
Source/WebCore:
Set text marker data with CharacterOffset when VisiblePosition is having PositionIsAfterAnchor
or PositionIsAfterChildren anchor type, so that the character offset corresponds to the anchored
node.
Test: accessibility/mac/text-marker-string-for-document-range.html
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
LayoutTests:
- accessibility/mac/text-marker-string-for-document-range-expected.txt: Added.
- accessibility/mac/text-marker-string-for-document-range.html: Added.
- 1:25 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 1:12 AM MathML/Fonts edited by
- (diff)
- 12:40 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
Apr 20, 2016:
- 10:04 PM Changeset in webkit [199808] by
-
- 2 edits in trunk/Tools
Add content animation tests to benchmark_runner, and allow the runner to collect device data as part of the results
https://bugs.webkit.org/show_bug.cgi?id=156827
Update the .plan file now that the files are present in SVN.
- Scripts/webkitpy/benchmark_runner/data/plans/content-animation.plan:
- 10:02 PM Changeset in webkit [199807] by
-
- 2 edits in trunk/Source/WebCore
Crash under WebCore::TextIterator::subrange()
https://bugs.webkit.org/show_bug.cgi?id=156809
<rdar://problem/21102730>
Reviewed by Ryosuke Niwa.
TextIterator::rangeFromLocationAndLength() may return null. However, we
failed to do a null check before calling TextIterator::subrange() with
that range.
No new tests, do not know how to reproduce.
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::applyAlternativeTextToRange):
- 10:01 PM Changeset in webkit [199806] by
-
- 1 edit2 adds in trunk/PerformanceTests
Add content animation tests to benchmark_runner, and allow the runner to collect device data as part of the results
https://bugs.webkit.org/show_bug.cgi?id=156827
Add two files missing from the previous commit.
- Animation/css-animation.html: Added.
- Animation/raf-animation.html: Added.
- 9:56 PM Changeset in webkit [199805] by
-
- 9 edits2 adds in trunk
Add content animation tests to benchmark_runner, and allow the runner to collect device data as part of the results
https://bugs.webkit.org/show_bug.cgi?id=156827
PerformanceTests:
Reviewed by Stephanie Lewis.
Two new files for the content-animation suite.
After patching for use in the benchmark, these tests are a little different to other benchmarks.
The test content itself does not collect performance data; the tests spit out a boilerplate JSON
result with a placeholder for framerate, which is collected in native code.
When run as a benchmark, test completion involves a couple of bounces between the test and MobileSafari.
Test completion is initiated by a setTimeout() in the test, at which point location.hash is set to "#done".
MobileSafari detects that, and asynchronously dumps performance data. Once this is complete, MobileSafari
changes the URL has to "#submit", which triggers the XHR to the test relay that indicates the test is
complete.
- Animation/css-animation.html: Added.
- Animation/raf-animation.html: Added.
Tools:
rdar://problem/24358135
Reviewed by Stephanie Lewis.
Enhance benchmark_runner so that a benchmark can load a set of tests sequentially,
and collate results across them. Also add the ability for the browser_driver to supply
additional results, allowing for tests that collect results data in native code, rather
than generating it in the web page.
Add a set of "content animation" tests that use this new functionality, which test
CSS animation and requestAnimationFrame performance.
'plan' files have two new optional keys:
'test_files': a list of files to run as a suite
'options': optional parameters. Currently supports one new option,
'animation_command', which affects the way that iOS tests are run,
and is passed to MobileSafari as a parameter on launch.
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.init): If options is not specified in the plan file, set it to an empty dictionary.
(BenchmarkRunner._get_result): Allow the browser_driver to modify the test results.
(BenchmarkRunner):
(BenchmarkRunner._run_one_test): Factored out of _run_benchmark, this contains logic for
running a single test. It starts and stops the http_server_driver.
(BenchmarkRunner._run_benchmark): Run a test in the traditional way if the plan has an 'entry_point'
key, otherwise look for the new 'test_files' and load each in a loop.
(BenchmarkRunner._dump):
- Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
(BrowserDriver.launch_url): Pass options.
(BrowserDriver.add_additional_results): Allow a driver to supply additional results.
(BrowserDriver):
- Scripts/webkitpy/benchmark_runner/browser_driver/gtk_minibrowser_driver.py:
(GTKMiniBrowserDriver.launch_url):
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
(OSXBrowserDriver.close_browsers):
(OSXBrowserDriver._terminate_processes): Fix spelling mistake.
(OSXBrowserDriver._terminiate_processes): Deleted.
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeDriver.launch_url):
(OSXChromeCanaryDriver.launch_url):
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
(OSXFirefoxDriver.launch_url):
(OSXFirefoxNightlyDriver.launch_url):
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.launch_url):
- Scripts/webkitpy/benchmark_runner/data/patches/ContentAnimation.patch: Added.
- Scripts/webkitpy/benchmark_runner/data/plans/content-animation.plan: Added.
- 9:42 PM Changeset in webkit [199804] by
-
- 9 edits in trunk/Source/WebCore
Modern IDB (Workers): Remove IDBRequest/IDBOpenDBRequest's requirement to get an IDBServerConnection around.
https://bugs.webkit.org/show_bug.cgi?id=156826
Reviewed by Alex Christensen.
No new tests (No behavior change, existing tests pass).
This doesn't appear to do much but make things a little more complicated, but it's the first of a few
small pushes in the right direction.
- Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::maybeCreateDeleteRequest):
(WebCore::IDBOpenDBRequest::maybeCreateOpenRequest):
(WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
(WebCore::IDBOpenDBRequest::onSuccess):
(WebCore::IDBOpenDBRequest::onUpgradeNeeded):
(WebCore::IDBOpenDBRequest::requestCompleted):
(WebCore::IDBOpenDBRequest::createDeleteRequest): Deleted.
(WebCore::IDBOpenDBRequest::createOpenRequest): Deleted.
- Modules/indexeddb/IDBOpenDBRequest.h:
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::connectionToServer):
- Modules/indexeddb/IDBRequest.h:
(WebCore::IDBRequest::connection): Deleted.
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::IDBConnectionProxy):
(WebCore::IDBClient::IDBConnectionProxy::connectionToServer):
(WebCore::IDBClient::IDBConnectionProxy::openDatabase):
(WebCore::IDBClient::IDBConnectionProxy::deleteDatabase):
- Modules/indexeddb/client/IDBConnectionProxy.h:
(WebCore::IDBClient::IDBConnectionProxy::serverConnectionIdentifier):
- Modules/indexeddb/shared/IDBResourceIdentifier.cpp:
(WebCore::IDBResourceIdentifier::IDBResourceIdentifier):
- Modules/indexeddb/shared/IDBResourceIdentifier.h:
- 9:40 PM Changeset in webkit [199803] by
-
- 4 edits in trunk/Source/JavaScriptCore
JavaScriptCore garbage collection is missing an autorelease pool
https://bugs.webkit.org/show_bug.cgi?id=156751
<rdar://problem/25787802>
Reviewed by Mark Lam.
- heap/Heap.cpp:
(JSC::Heap::releaseDelayedReleasedObjects): Add an autorelease pool to
catch autoreleases when we call out to arbitrary ObjC code.
We use the C interface here because this is not an ObjC compilation unit.
- 9:25 PM Changeset in webkit [199802] by
-
- 2 edits in trunk/Source/WebCore
Add Subresource Integrity as "Under consideration".
https://bugs.webkit.org/show_bug.cgi?id=156800
Patch by John Wilander <wilander@apple.com> on 2016-04-20
Reviewed by Alexey Proskuryakov.
No new tests needed.
- features.json:
Added an entry for Subresource Integrity.
- 7:35 PM Changeset in webkit [199801] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
DFG del_by_id support forgets to set()
https://bugs.webkit.org/show_bug.cgi?id=156830
Reviewed by Saam Barati.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- tests/stress/dfg-del-by-id.js: Added.
- 5:55 PM Changeset in webkit [199800] by
-
- 5 edits in trunk/Source/JavaScriptCore
Improve sampling profiler CLI JSC tool
https://bugs.webkit.org/show_bug.cgi?id=156824
Reviewed by Mark Lam.
This patch enhances the Sampling Profiler CLI tool from the JSC shell
to display the JITType of a particular CodeBlock. Because this happens
once we process a log of stack frames, the data for a particular frame
being in LLInt vs. Baseline could be wrong. For example, we may have taken
a stack trace of a CodeBlock while it was executing in the LLInt, then
it tiers up to the baseline, then we process the log. We will show such CodeBlocks
as being in the baseline JIT. We could be smarter about this in the future if
it turns out to truly be a problem.
This patch also adds a 'samplingProfilerTimingInterval' JSC option to allow
CLI users to control the sleep time between stack traces.
- jsc.cpp:
(jscmain):
- runtime/Options.h:
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::SamplingProfiler):
(JSC::SamplingProfiler::processUnverifiedStackTraces):
(JSC::SamplingProfiler::reportTopBytecodes):
- runtime/SamplingProfiler.h:
(JSC::SamplingProfiler::StackFrame::hasExpressionInfo):
- 5:35 PM Changeset in webkit [199799] by
-
- 1 edit123 adds in trunk/LayoutTests
Adding ios-simulator-wk1 specific baselines for compositing and css3 LayoutTests due to contentsOpaque difference
Unreviewed test gardening.
- Truncating changelog due to large number of added files
- 4:49 PM Changeset in webkit [199798] by
-
- 4 edits in trunk/Source/WebCore
Get rid of a couple of uses of ApplicationCacheStorage::singleton()
https://bugs.webkit.org/show_bug.cgi?id=156818
Reviewed by Geoffrey Garen.
- loader/appcache/ApplicationCache.cpp:
(WebCore::ApplicationCache::addResource):
- loader/appcache/ApplicationCacheGroup.h:
(WebCore::ApplicationCacheGroup::storage):
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setApplicationCacheOriginQuota):
- 4:43 PM Changeset in webkit [199797] by
-
- 25 edits1 copy1 add in trunk
Modern IDB (Workers): Introduce "IDBConnectionProxy" for future threading abstraction, and adopt it in IDBFactory.
https://bugs.webkit.org/show_bug.cgi?id=156810
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (Covered by changes to existing tests).
Add the IDBConnectionProxy object, including the ability to replicate IDBFactory functionality:
- Modules/indexeddb/client/IDBConnectionProxy.cpp: Added.
(WebCore::IDBClient::IDBConnectionProxy::IDBConnectionProxy):
(WebCore::IDBClient::IDBConnectionProxy::openDatabase):
(WebCore::IDBClient::IDBConnectionProxy::deleteDatabase):
- Modules/indexeddb/client/IDBConnectionProxy.h:
Add pure virtual IDBConnectionProxy accessor:
- dom/ScriptExecutionContext.h:
Implement it:
- dom/Document.cpp:
(WebCore::Document::idbConnectionProxy):
- dom/Document.h:
Implement it:
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::idbConnectionProxy):
- workers/WorkerGlobalScope.h:
- Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::indexedDB):
Don't keep a reference to IDBConnectionToServer, but rather get at the context's IDBConnectionProxy:
- Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::create):
(WebCore::IDBFactory::IDBFactory):
(WebCore::IDBFactory::open):
(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):
- Modules/indexeddb/IDBFactory.h:
- Modules/indexeddb/IDBFactory.idl:
- Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
(WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
- Modules/indexeddb/client/IDBConnectionToServer.h:
- inspector/InspectorIndexedDBAgent.cpp:
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
LayoutTests:
- storage/indexeddb/intversion-bad-parameters-expected.txt:
- storage/indexeddb/intversion-bad-parameters-private-expected.txt:
- storage/indexeddb/modern/opendatabase-request-event-expected.txt:
- storage/indexeddb/modern/opendatabase-request-event-private-expected.txt:
- storage/indexeddb/modern/opendatabase-request-expected.txt:
- storage/indexeddb/modern/opendatabase-request-private-expected.txt:
- storage/indexeddb/modern/workers-enable-expected.txt:
- storage/indexeddb/version-change-event-basic-expected.txt:
- storage/indexeddb/version-change-event-basic-private-expected.txt:
- 4:28 PM Changeset in webkit [199796] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] DFG should not generate two jumps when the target of DoubleBranch is the next block
https://bugs.webkit.org/show_bug.cgi?id=156815
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-20
Reviewed by Mark Lam.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleDoubleBranch):
- 3:56 PM Changeset in webkit [199795] by
-
- 6 edits in trunk
[GTK] Expose AllowUniversalAccessFromFileURLs preference now that calling localStorage.getItem() results in SecurityError: DOM Exception 18
Source/WebKit2:
Patch by Dustin Falgout <dustin@falgout.us> on 2016-04-20
Reviewed by Michael Catanzaro.
As of r197858 JavaScript loaded in the context of a file scheme url cannot access local storage. That is a major
breaking change as many applications that serve files locally rely on having access to local storage. The point
of that security fix is to avoid cases of downloaded HTML content (such as e-mail attachments or JS injected
into local contexts) from having access to your local file system and arbitrary local storage. If you are serving
local files in your applications, you can use the WebKitAllowUniversalAccessFromFileURLs preference key to tell
Webkit that you are approve of these kinds of interactions.
https://bugs.webkit.org/show_bug.cgi?id=156651
- UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_allow_universal_access_from_file_urls):
(webkit_settings_set_allow_universal_access_from_file_urls):
- UIProcess/API/gtk/WebKitSettings.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
Tools:
https://bugs.webkit.org/show_bug.cgi?id=156651
Patch by Dustin Falgout <dustin@falgout.us> on 2016-04-20
Reviewed by Michael Catanzaro.
- TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp:
(testWebKitSettings):
- 3:51 PM Changeset in webkit [199794] by
-
- 2 edits in trunk/LayoutTests
Marking compositing/webgl/webgl-reflection.html as failing on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=156812
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 3:45 PM Changeset in webkit [199793] by
-
- 5 edits in trunk
Web Inspector: console.table(navigator) throws exception about
rowPreview.propertyPreviews.length
https://bugs.webkit.org/show_bug.cgi?id=156698
<rdar://problem/25778244>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-20
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._formatParameterAsTable):
Handle a row with a value preview but no sub-property previews (a function).
LayoutTests:
- inspector/console/console-table-expected.txt:
- inspector/console/console-table.html:
- 3:24 PM Changeset in webkit [199792] by
-
- 6 edits1 add in trunk/Source/JavaScriptCore
[JSC] Add register reuse for ArithAdd of an Int32 and constant in DFG
https://bugs.webkit.org/show_bug.cgi?id=155164
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-20
Reviewed by Mark Lam.
Every "inc" in loop was looking like this:
move rX, rY
inc rY
jo 0x230f4a200580
This patch add register Reuse to that case to remove
the extra "move".
- dfg/DFGOSRExit.h:
(JSC::DFG::SpeculationRecovery::SpeculationRecovery):
(JSC::DFG::SpeculationRecovery::immediate):
- dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
- dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithAdd):
- tests/stress/arith-add-with-constant-overflow.js: Added.
(opaqueAdd):
- 3:03 PM Changeset in webkit [199791] by
-
- 2 edits in trunk/LayoutTests
Remove flaky expectation for imported/mozilla/svg/image/image-filter-01.svg on ios-simulator-wk2
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 2:58 PM Changeset in webkit [199790] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Use debounce proxies in a couple more places
https://bugs.webkit.org/show_bug.cgi?id=156759
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser.prototype._dispatchCurrentRepresentedObjectsDidChangeEvent):
(WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
(WebInspector.ContentBrowser.prototype._contentViewSupplementalRepresentedObjectsDidChange):
(WebInspector.ContentBrowser.prototype._dispatchCurrentRepresentedObjectsDidChangeEventSoon): Deleted.
- UserInterface/Views/DOMTreeUpdater.js:
(WebInspector.DOMTreeUpdater.prototype._attributesUpdated):
(WebInspector.DOMTreeUpdater.prototype._characterDataModified):
(WebInspector.DOMTreeUpdater.prototype._nodeInserted):
(WebInspector.DOMTreeUpdater.prototype._nodeRemoved):
(WebInspector.DOMTreeUpdater.prototype._updateModifiedNodes):
(WebInspector.DOMTreeUpdater.prototype._updateModifiedNodesSoon): Deleted.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
(WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
(WebInspector.NavigationSidebarPanel.prototype._treeElementDisclosureDidChange):
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibilitySoon): Deleted.
- 2:58 PM Changeset in webkit [199789] by
-
- 6 edits2 adds in trunk
Web Inspector: Make debounce use an ES6 Proxy
https://bugs.webkit.org/show_bug.cgi?id=156756
rdar://problem/25809771
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
- UserInterface/Base/Utilities.js:
(Object.prototype.soon): Added.
(Object.prototype.debounce): Added.
(Function.prototype.debounce): Deleted.
(Function.prototype.cancelDebounce): Added.
- UserInterface/Views/BezierEditor.js:
(WebInspector.BezierEditor.createBezierInput): Use new debounce proxy.
- UserInterface/Views/VisualStyleBackgroundPicker.js:
(WebInspector.VisualStyleBackgroundPicker): Ditto.
- UserInterface/Views/VisualStyleURLInput.js:
(WebInspector.VisualStyleURLInput): Ditto.
LayoutTests:
- inspector/unit-tests/debounce-expected.txt: Added.
- inspector/unit-tests/debounce.html: Added.
- 2:54 PM Changeset in webkit [199788] by
-
- 4 edits1 add in trunk/LayoutTests
Rebaseline tests for iOS simulator.
Unreviewed test gardening.
- platform/ios-simulator-wk2/css2.1/t0905-c5525-flthw-00-c-g-expected.txt:
- platform/ios-simulator-wk2/css2.1/t0905-c5526-flthw-00-c-g-expected.txt:
- platform/ios-simulator/fast/canvas/set-colors-expected.txt: Added.
- platform/ios-simulator/fast/text/emoji-expected.txt:
- 2:47 PM Changeset in webkit [199787] by
-
- 2 edits in trunk/Source/JavaScriptCore
We don't need a manual stack for an RAII object when the machine's stack will do just fine
https://bugs.webkit.org/show_bug.cgi?id=156807
Reviewed by Mark Lam.
We kept around a vector for an RAII object to maintain
the recursive nature of having these RAII objects on
the stack as the parser recursed. Instead, the RAII object
can just have a field with the value it wants to restore
and use the machine's stack.
This is a 1% octane code-load progression.
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::BinaryExprContext::BinaryExprContext):
(JSC::SyntaxChecker::BinaryExprContext::~BinaryExprContext):
(JSC::SyntaxChecker::UnaryExprContext::UnaryExprContext):
(JSC::SyntaxChecker::UnaryExprContext::~UnaryExprContext):
(JSC::SyntaxChecker::operatorStackPop):
- 2:25 PM Changeset in webkit [199786] by
-
- 2 edits in trunk/LayoutTests
Speculative unflake of dynamic_remove_preload_href layout test
https://bugs.webkit.org/show_bug.cgi?id=156773
Reviewed by Alexey Proskuryakov.
- http/tests/preload/dynamic_remove_preload_href.html: Avoid using a blocking script based timeout.
- 2:07 PM Changeset in webkit [199785] by
-
- 3 edits in trunk/Source/WebCore
Use Optional<size_t> for OrderIterator::m_orderIndex instead of int
https://bugs.webkit.org/show_bug.cgi?id=156796
Reviewed by Anders Carlsson.
Use Optional<size_t> for OrderIterator::m_orderIndex instead of int
(with invalid value of -1). m_orderIndex a vector index and therefore
is in the range of an unsigned (type used internally by Vector, even
though the index is exposed as size_t). Therefore, assigning it to an
int is unsafe as it may overflow.
This may fix <rdar://problem/23410338> which is a top crasher.
- rendering/OrderIterator.cpp:
(WebCore::OrderIterator::next):
(WebCore::OrderIterator::reset):
- rendering/OrderIterator.h:
- 2:07 PM Changeset in webkit [199784] by
-
- 2 edits in trunk/Source/WebCore
Crash under needsAppleMailPaginationQuirk()
https://bugs.webkit.org/show_bug.cgi?id=156806
<rdar://problem/23323479>
Reviewed by Simon Fraser.
Add check for element()->hasID() before calling element()->idForStyleResolution()
so that we don't dereference a potentially null element()->elementData().
Also stop repeatedly atomizing "messageContentContainer" and leverage
the operator==(const AtomicString&, const char*) instead for performance.
- rendering/RenderBlockFlow.cpp:
(WebCore::needsAppleMailPaginationQuirk):
- 1:31 PM Changeset in webkit [199783] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
REGRESSION(r190289): Spin trying to view/sign in to hbogo.com
https://bugs.webkit.org/show_bug.cgi?id=156765
Reviewed by Saam Barati.
In the op_get_by_val case, we were holding the lock on a profiled CodeBlock
when we call into handleGetById(). Changed to drop the lock before calling
handleGetById().
The bug here was that the call to handleGetById() may end up calling in to
getPredictionWithoutOSRExit() for a tail call opcode. As part of that
processing, we walk back up the stack to find the effective caller and when
found, we lock the corresponding CodeBlock to get the predicition.
That CodeBLock may be the same one locked above. There is no need anyway
to hold the CodeBlock lock when calling handleGetById().
Added a new stress test.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- tests/stress/regress-156765.js: Added.
(realValue):
(object.get hello):
(ok):
- 1:21 PM Changeset in webkit [199782] by
-
- 3 edits in trunk/Source/WebCore
Attempt to fix non-INDEXED_DATABASE_IN_WORKERS builds after r199779
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setIndexedDBWorkersEnabled):
- testing/InternalSettings.h:
- 12:57 PM Changeset in webkit [199781] by
-
- 2 edits in trunk/Source/WebCore
Potential overflow in RenderLayer::hitTestList()
https://bugs.webkit.org/show_bug.cgi?id=156804
Reviewed by Simon Fraser.
Use size_t type instead of int to iterate over the Vector to make sure
we don't overflow. This is a speculative fix for <rdar://problem/23249479>.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestList):
- 12:13 PM MathML/Early_2016_Refactoring edited by
- (diff)
- 12:10 PM Changeset in webkit [199780] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unindent an unnecessary block in stringProtoFuncSplitFast().
https://bugs.webkit.org/show_bug.cgi?id=156802
Reviewed by Filip Pizlo.
In webkit.org/b/156013, I refactored stringProtoFuncSplit into
stringProtoFuncSplitFast. In that patch, I left an unnecessary block of code in
its original block (with FIXMEs) to keep the diff for that patch minimal. Now
that the patch for webkit.org/b/156013 has landed, I will unindent that block and
remove the FIXMEs.
- runtime/StringPrototype.cpp:
(JSC::stringProtoFuncSplitFast):
- 11:59 AM Changeset in webkit [199779] by
-
- 23 edits6 adds in trunk
Modern IDB (Workers): Enable INDEXED_DATABASE_IN_WORKERS compile time flag, but disabled in RuntimeEnabledFeatures.
https://bugs.webkit.org/show_bug.cgi?id=156782
Reviewed by Alex Christensen.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Test: storage/indexeddb/modern/workers-disabled.html
storage/indexeddb/modern/workers-enable.html
- Configurations/FeatureDefines.xcconfig:
ScriptExecutionContext shouldn't really be supplementable:
- dom/ScriptExecutionContext.h:
WorkerGlobalScope should be supplementable.
Also modernize this archaic header (pragma once, and re-indent):
- workers/WorkerGlobalScope.h:
Update for WorkerGlobalScope now being directly supplementable:
- Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
(WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
(WebCore::WorkerGlobalScopeIndexedDatabase::from):
(WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
- Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
- Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl:
- Modules/notifications/WorkerGlobalScopeNotifications.cpp:
(WebCore::WorkerGlobalScopeNotifications::WorkerGlobalScopeNotifications):
(WebCore::WorkerGlobalScopeNotifications::from):
(WebCore::WorkerGlobalScopeNotifications::webkitNotifications):
- Modules/notifications/WorkerGlobalScopeNotifications.h:
Expose IndexedDBWorkers to RuntimeEnabledFeatures:
- bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
- bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setIndexedDBWorkersEnabled):
(WebCore::RuntimeEnabledFeatures::indexedDBWorkersEnabled):
Expose IndexedDBWorkers to InternalSettings:
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setIndexedDBWorkersEnabled):
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
Note: One test has some "FAIL" lines in the expected results, which is intentional.
As work on this progresses, those FAILs will become PASSes and the expectations will be updated.
- storage/indexeddb/modern/resources/workers-disabled.js: Added.
- storage/indexeddb/modern/resources/workers-enable.js: Added.
- storage/indexeddb/modern/workers-disabled-expected.txt: Added.
- storage/indexeddb/modern/workers-disabled.html: Added.
- storage/indexeddb/modern/workers-enable-expected.txt: Added.
- storage/indexeddb/modern/workers-enable.html: Added.
- 11:26 AM Changeset in webkit [199778] by
-
- 3 edits2 adds in trunk
[WK2][Mac][iOS] WebContent crash when using special file:// URI scheme @ WebKit::resolveSymlinksInPath(WTF::CString const&) + 159
https://bugs.webkit.org/show_bug.cgi?id=156747
<rdar://problem/24648176>
Reviewed by Alexey Proskuryakov.
Source/WebKit2:
FileSystemCF::fileSystemRepresentation return a null string when presented with a file URL that contains embedded nulls. When
this happens, SandboxExtension::createHandle attempts to pass a null string to 'resolveSymlinksInPath', which attemps to call
'strrchr' on the null pointer, causing a crash.
Test: fast/url/file-uri-with-embedded-null-no-crash.html
- Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::createHandle): If 'fileSystemRepresentation' is null, return early with an error.
LayoutTests:
- fast/url/file-uri-with-embedded-null-no-crash-expected.txt: Added.
- fast/url/file-uri-with-embedded-null-no-crash.html: Added.
- 11:01 AM Changeset in webkit [199777] by
-
- 4 edits2 adds in trunk
Hangable punctuation measurement using the wrong indices.
https://bugs.webkit.org/show_bug.cgi?id=155899
Reviewed by Simon Fraser.
Source/WebCore:
New tests in fast/text.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):
- rendering/RenderText.cpp:
(WebCore::RenderText::hangablePunctuationStartWidth):
(WebCore::RenderText::hangablePunctuationEndWidth):
(WebCore::RenderText::isHangableStopOrComma):
LayoutTests:
- fast/text/hanging-punctuation-variable-font-size-expected.html: Added.
- fast/text/hanging-punctuation-variable-font-size.html: Added.
- 10:40 AM Changeset in webkit [199776] by
-
- 11 edits in trunk
Drop [UsePointersEvenForNonNullableObjectArguments] from several Canvas interfaces
https://bugs.webkit.org/show_bug.cgi?id=156781
Reviewed by Darin Adler.
Source/WebCore:
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::stroke):
(WebCore::CanvasRenderingContext2D::clip):
(WebCore::CanvasRenderingContext2D::isPointInPath):
(WebCore::CanvasRenderingContext2D::isPointInStroke):
(WebCore::size):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::drawImageFromRect):
(WebCore::CanvasRenderingContext2D::drawFocusIfNeeded):
- html/canvas/CanvasRenderingContext2D.h:
- html/canvas/CanvasRenderingContext2D.idl:
- html/canvas/DOMPath.h:
- html/canvas/DOMPath.idl:
- html/canvas/WebGLDebugShaders.cpp:
(WebCore::WebGLDebugShaders::getTranslatedShaderSource):
- html/canvas/WebGLDebugShaders.h:
- html/canvas/WebGLDebugShaders.idl:
LayoutTests:
Update outdated test which expected a legacy TYPE_MISMATCH_ERR exception
to be thrown when passing null instead of the newer TypeError.
- canvas/philip/tests/2d.drawImage.null.html:
- 10:27 AM Changeset in webkit [199775] by
-
- 16 edits2 adds in trunk
Drop [UsePointersEvenForNonNullableObjectArguments] from WebAudio
https://bugs.webkit.org/show_bug.cgi?id=156777
Reviewed by Darin Adler.
Source/WebCore:
Drop [UsePointersEvenForNonNullableObjectArguments] from WebAudio and
modernize the interface a bit.
There is no major Web-exposed behavioral change except for
the exception type thrown when passing null (now always TypeError).
Tests were updated to add coverage for this.
- Modules/webaudio/AsyncAudioDecoder.cpp:
(WebCore::AsyncAudioDecoder::decodeAsync):
(WebCore::AsyncAudioDecoder::DecodingTask::DecodingTask):
(WebCore::AsyncAudioDecoder::DecodingTask::decode): Deleted.
- Modules/webaudio/AsyncAudioDecoder.h:
(WebCore::AsyncAudioDecoder::DecodingTask::audioData):
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::lazyInitialize):
(WebCore::AudioContext::createBuffer):
(WebCore::AudioContext::decodeAudioData):
(WebCore::AudioContext::createBufferSource):
(WebCore::AudioContext::createMediaElementSource):
(WebCore::AudioContext::createMediaStreamSource):
(WebCore::AudioContext::createMediaStreamDestination):
(WebCore::AudioContext::createScriptProcessor):
(WebCore::AudioContext::createBiquadFilter):
(WebCore::AudioContext::createWaveShaper):
(WebCore::AudioContext::createPanner):
(WebCore::AudioContext::createConvolver):
(WebCore::AudioContext::createDynamicsCompressor):
(WebCore::AudioContext::createAnalyser):
(WebCore::AudioContext::createGain):
(WebCore::AudioContext::createDelay):
(WebCore::AudioContext::createChannelSplitter):
(WebCore::AudioContext::createChannelMerger):
(WebCore::AudioContext::createOscillator):
(WebCore::AudioContext::createPeriodicWave):
(WebCore::AudioContext::derefFinishedSourceNodes):
(WebCore::AudioContext::refNode):
(WebCore::AudioContext::derefNode):
(WebCore::AudioContext::notifyNodeFinishedProcessing): Deleted.
(WebCore::AudioContext::derefUnfinishedSourceNodes): Deleted.
(WebCore::AudioContext::lock): Deleted.
- Modules/webaudio/AudioContext.h:
- Modules/webaudio/AudioContext.idl:
- Modules/webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::create):
(WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
(WebCore::MediaElementAudioSourceNode::process):
- Modules/webaudio/MediaElementAudioSourceNode.h:
(WebCore::MediaElementAudioSourceNode::mediaElement):
- Modules/webaudio/OscillatorNode.idl:
LayoutTests:
Added test coverage for the type of the exception being thrown when
pasing null to various WebAudio API.
- webaudio/audiobuffer-expected.txt:
- webaudio/audiobuffer.html:
- webaudio/createMediaStreamSource-null-expected.txt: Added.
- webaudio/createMediaStreamSource-null.html: Added.
- webaudio/decode-audio-data-basic-expected.txt:
- webaudio/decode-audio-data-basic.html:
- webaudio/mediaelementaudiosourcenode-expected.txt:
- webaudio/mediaelementaudiosourcenode.html:
- 9:14 AM Changeset in webkit [199774] by
-
- 5 edits in trunk
Addressing additional review feedback for:
Modern IDB: Lots of IDB bindings cleanup (including making IDBVersionChangeEvent constructible).
https://bugs.webkit.org/show_bug.cgi?id=156760
Source/WebCore:
- Modules/indexeddb/IDBVersionChangeEvent.h:
LayoutTests:
- storage/indexeddb/modern/idbversionchangeevent-constructor-expected.txt:
- storage/indexeddb/modern/idbversionchangeevent-constructor.html:
- 8:43 AM Changeset in webkit [199773] by
-
- 2 edits in trunk/Source/WebCore
Use OpenType MATH fonts by default
https://bugs.webkit.org/show_bug.cgi?id=133603
Patch by Frederic Wang <fwang@igalia.com> on 2016-04-20
Reviewed by Alejandro G. Castro.
No new tests. This is already tested by pixel tests like roots.xhtml.
However, new math fonts are not used during test execution.
- css/mathml.css:
(math): We use only a list of known OpenType fonts with a MATH table but keep some pre-installed fallback fonts for OS X and iOS.
- 8:03 AM Changeset in webkit [199772] by
-
- 2 edits4 moves in trunk/Source/WebCore
[GTK] Move GTK+-independent platform code to platform/glib
https://bugs.webkit.org/show_bug.cgi?id=156787
Reviewed by Carlos Garcia Campos.
There is plenty of code in platform/gtk that is independent from the GTK+ library.
Move those files to platform/glib so that they can be reused by other GLib-based ports.
Also clean some style warnings in those files.
- PlatformGTK.cmake: Move the files.
- platform/glib/EventLoopGlib.cpp: Renamed from Source/WebCore/platform/gtk/EventLoopGtk.cpp.
(WebCore::EventLoop::cycle):
- platform/glib/FileSystemGlib.cpp: Renamed from Source/WebCore/platform/gtk/FileSystemGtk.cpp.
(WebCore::filenameToString):
(WebCore::unescapedFilename):
(WebCore::fileSystemRepresentation):
(WebCore::filenameForDisplay):
(WebCore::fileExists):
(WebCore::deleteFile):
(WebCore::deleteEmptyDirectory):
(WebCore::getFileStat):
(WebCore::getFileSize):
(WebCore::getFileCreationTime):
(WebCore::getFileModificationTime):
(WebCore::getFileMetadata):
(WebCore::pathByAppendingComponent):
(WebCore::makeAllDirectories):
(WebCore::homeDirectoryPath):
(WebCore::pathGetFileName):
(WebCore::applicationDirectoryPath):
(WebCore::sharedResourcesPath):
(WebCore::getVolumeFreeSizeForPath):
(WebCore::directoryName):
(WebCore::listDirectory):
(WebCore::openTemporaryFile):
(WebCore::openFile):
(WebCore::closeFile):
(WebCore::seekFile):
(WebCore::writeToFile):
(WebCore::readFromFile):
(WebCore::unloadModule):
(WebCore::hardLinkOrCopyFile):
- platform/glib/GamepadsGlib.cpp: Renamed from Source/WebCore/platform/gtk/GamepadsGtk.cpp.
(WebCore::GamepadDeviceGlib::GamepadDeviceGlib):
(WebCore::GamepadDeviceGlib::~GamepadDeviceGlib):
(WebCore::GamepadDeviceGlib::readCallback):
(WebCore::GamepadsGlib::GamepadsGlib):
(WebCore::GamepadsGlib::~GamepadsGlib):
(WebCore::GamepadsGlib::registerDevice):
(WebCore::GamepadsGlib::unregisterDevice):
(WebCore::GamepadsGlib::updateGamepadList):
(WebCore::GamepadsGlib::onUEventCallback):
(WebCore::GamepadsGlib::isGamepadDevice):
(WebCore::sampleGamepads):
- platform/glib/SharedBufferGlib.cpp: Renamed from Source/WebCore/platform/gtk/SharedBufferGtk.cpp.
(WebCore::SharedBuffer::createFromReadingFile):
- 6:41 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 6:31 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 6:25 AM Changeset in webkit [199771] by
-
- 5 edits in trunk
Refactor RenderMathMLSpace to avoid using flexbox
https://bugs.webkit.org/show_bug.cgi?id=155168
Patch by Frederic Wang <fwang@igalia.com> on 2016-04-20
Reviewed by Martin Robinson.
Source/WebCore:
No new tests, already covered by existing tests. The behavior of mspace-prefered-width-expected is not specified by the MathML recommendation, we update that test to match our new behavior.
- rendering/mathml/RenderMathMLSpace.cpp: Implement layout functions without passing by flebox.
(WebCore::RenderMathMLSpace::computePreferredLogicalWidths): Implement this function.
(WebCore::RenderMathMLSpace::layoutBlock): Implement this function.
(WebCore::RenderMathMLSpace::computeIntrinsicLogicalWidths): Deleted.
(WebCore::RenderMathMLSpace::updateLogicalWidth): Deleted.
(WebCore::RenderMathMLSpace::updateLogicalHeight): Deleted.
- rendering/mathml/RenderMathMLSpace.h: Update function declarations.
LayoutTests:
- mathml/presentation/mspace-prefered-width-expected.html: Update the expectation so that the logical width and preferred width are both equal to the one specified by the width attribute.
- 6:05 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 2:06 AM Changeset in webkit [199770] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Mark HLS tests release expectations as release only.
- platform/gtk/TestExpectations:
- 1:47 AM Changeset in webkit [199769] by
-
- 2 edits in trunk/Source/WebCore
[Cairo] Crash in GraphicsContext::drawFocusRing when painting is disabled
https://bugs.webkit.org/show_bug.cgi?id=156785
Reviewed by Žan Doberšek.
This happens for example when view state changes to focus and paint is called from
FrameView::updateControlTints() with a graphics context that doesn't have a platform context. Layout test
fast/images/image-map-outline-with-scale-transform.html sometimes crashes because of this.
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawFocusRing): Return early if painting is disabled.
- 1:44 AM Changeset in webkit [199768] by
-
- 5 edits in trunk/Source/JavaScriptCore
Remove unused m_writtenVariables from the parser and related bits
https://bugs.webkit.org/show_bug.cgi?id=156784
Reviewed by Yusuke Suzuki.
This isn't a octane/codeload speedup even though we're doing less work in
collectFreeVariables. But it's good to get rid of things that are not used.
- parser/Nodes.h:
(JSC::ScopeNode::usesEval):
(JSC::ScopeNode::usesArguments):
(JSC::ScopeNode::usesArrowFunction):
(JSC::ScopeNode::isStrictMode):
(JSC::ScopeNode::setUsesArguments):
(JSC::ScopeNode::usesThis):
(JSC::ScopeNode::modifiesParameter): Deleted.
(JSC::ScopeNode::modifiesArguments): Deleted.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::parseAssignmentExpression):
- parser/Parser.h:
(JSC::Scope::Scope):
(JSC::Scope::hasDeclaredParameter):
(JSC::Scope::preventAllVariableDeclarations):
(JSC::Scope::collectFreeVariables):
(JSC::Scope::mergeInnerArrowFunctionFeatures):
(JSC::Scope::getSloppyModeHoistedFunctions):
(JSC::Scope::getCapturedVars):
(JSC::Scope::setStrictMode):
(JSC::Scope::strictMode):
(JSC::Scope::fillParametersForSourceProviderCache):
(JSC::Scope::restoreFromSourceProviderCache):
(JSC::Parser::hasDeclaredParameter):
(JSC::Parser::exportName):
(JSC::Scope::declareWrite): Deleted.
(JSC::Parser::declareWrite): Deleted.
- parser/ParserModes.h:
- 1:33 AM Changeset in webkit [199767] by
-
- 2 edits in trunk/LayoutTests
Unreviewed EFL gardening. Follow up gardening for media test.
- platform/efl/TestExpectations: Unskip 3 media tests.
Apr 19, 2016:
- 11:58 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 11:38 PM Changeset in webkit [199766] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
Build fix after r199738
- CMakeLists.txt:
- 11:26 PM Changeset in webkit [199765] by
-
- 2 edits in trunk/Tools
Unreviewed build fix after r199752.
- DumpRenderTree/win/FrameLoadDelegate.cpp:
(FrameLoadDelegate::didChangeIcons): Remove call to removed function.
- 11:02 PM Changeset in webkit [199764] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION(r198782): SHOULD NEVER BE REACHED failure in ImageSource::setData since r198782
https://bugs.webkit.org/show_bug.cgi?id=156690
Reviewed by Michael Catanzaro.
The assertion is wrong, because it assumes that ImageDecoder::create() always returns a valid pointer, which is
only true for the CG implementation. The non CG implementation can return nullptr if there isn't enough data to
figure out the image format or if the image format is not supported. This is causing several crashes in the
debug bots.
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::setData): Remove the invalid ASSERT and return early if we fail to create the decoder.
(WebCore::ImageSource::ensureDecoderIsCreated): Deleted.
- platform/graphics/ImageSource.h:
- 10:49 PM Changeset in webkit [199763] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix cloop build after r199754.
- jsc.cpp:
(jscmain):
- 10:13 PM Changeset in webkit [199762] by
-
- 9 edits in trunk
iTunes crashing JavaScriptCore.dll
https://bugs.webkit.org/show_bug.cgi?id=156647
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Given that there there are only 128 FLS indices compared to over a 1000 for TLS,
I eliminated the thread specific m_threadSpecificForThread and instead we look
for the current thread in m_registeredThreads list when we need it.
In most cases there will only be one thread.
Added THREAD_SPECIFIC_CALL to signature of ThreadSpecific remove callbacks
to set the calling convention correctly for Windows 32 bit.
- heap/MachineStackMarker.cpp:
(JSC::ActiveMachineThreadsManager::remove):
(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::machineThreadForCurrentThread):
(JSC::MachineThreads::removeThread):
- heap/MachineStackMarker.h:
Source/WTF:
If a thread was created without using the WTF thread apis and that thread uses
a JavaScript VM and that thread exits with the VM still around, JSC won't know
that the thread has exited. Currently, we use ThreadSpecificThreadExit() to
clean up any thread specific keys. Cleaning up these keys is how JSC is
notified of a thread exit. We only call ThreadSpecificThreadExit() from
wtfThreadEntryPoint() when the thread entry point function returns.
This mechanism was put in place for Windows because we layer the WTF::ThreadSpecific
functionality on top of TLS (Thread Local Storage), but TLS doesn't have
a thread exiting callback the way that pthread_create_key does.
The fix is to change from using TLS to using FLS (Fiber Local Storage). Although
Windows allows multiple fibers per thread, WebKit is not designed to work with a
multiple fibers per thread. When there is only one fiber per thread, FLS works just
like TLS, but it has the destroy callback.
I restructured the Windows version of WTF::ThreadSpecific to be almost the same
as the pthread version. Added THREAD_SPECIFIC_CALL to set the correct
calling convenction for Windows 32 bit.
- wtf/ThreadSpecific.h:
(WTF::threadSpecificKeyCreate):
(WTF::threadSpecificKeyDelete):
(WTF::threadSpecificSet):
(WTF::threadSpecificGet):
(WTF::ThreadSpecific<T>::ThreadSpecific):
(WTF::ThreadSpecific<T>::~ThreadSpecific):
(WTF::ThreadSpecific<T>::get):
(WTF::ThreadSpecific<T>::set):
(WTF::ThreadSpecific<T>::destroy):
Restructured to use FLS. Renamed TLS* to FLS*.
- wtf/ThreadSpecificWin.cpp:
(WTF::flsKeyCount):
(WTF::flsKeys):
Renamed from tlsKey*() to flsKey*().
(WTF::destructorsList): Deleted.
(WTF::destructorsMutex): Deleted.
(WTF::PlatformThreadSpecificKey::PlatformThreadSpecificKey): Deleted.
(WTF::PlatformThreadSpecificKey::~PlatformThreadSpecificKey): Deleted.
(WTF::PlatformThreadSpecificKey::setValue): Deleted.
(WTF::PlatformThreadSpecificKey::value): Deleted.
(WTF::PlatformThreadSpecificKey::callDestructor): Deleted.
(WTF::tlsKeyCount): Deleted.
(WTF::tlsKeys): Deleted.
(WTF::threadSpecificKeyCreate): Deleted.
(WTF::threadSpecificKeyDelete): Deleted.
(WTF::threadSpecificSet): Deleted.
(WTF::threadSpecificGet): Deleted.
(WTF::ThreadSpecificThreadExit): Deleted.
- wtf/ThreadingWin.cpp:
(WTF::wtfThreadEntryPoint): Eliminated call to ThreadSpecificThreadExit.
LayoutTests:
Disabled fast/workers/dedicated-worker-lifecycle.html as it creates
more workers that we have ThreadSpecific keys. We need at least one
key per JSC VM we create. I didn't want to weaken the test for other
platforms.
- platform/win/TestExpectations:
- 9:27 PM Changeset in webkit [199761] by
-
- 2 edits in trunk/Source/WTF
Add more locking algorithms to the LockSpeedTest.
Rubber stamped by Saam Barati.
- benchmarks/LockSpeedTest.cpp:
(main):
- 9:25 PM Changeset in webkit [199760] by
-
- 6 edits in trunk/Source/WTF
Clean up the ParkingLot uparking API a bit
https://bugs.webkit.org/show_bug.cgi?id=156746
Reviewed by Saam Barati and Geoffrey Garen.
Previously, unparkOne() would either return a boolean to tell you if there are any more threads on
the queue or it would pass your callback a pair of booleans - one to tell if a thread was unparked
and another to tell if there are any more threads. This was an annoying inconsistency. What if you
wanted to know if unparkOne() unparked a thread but you don't care to use callbacks?
This fixes unparkOne() to use a struct called UnparkResult for both of its variants. This makes the
code a bit cleaner.
- wtf/Atomics.h: Add some more atomic ops.
(WTF::Atomic::exchangeAndAdd):
(WTF::Atomic::exchange):
- wtf/Condition.h: Change calls to unparkOne().
(WTF::ConditionBase::notifyOne):
- wtf/Lock.cpp: Change calls to unparkOne().
(WTF::LockBase::unlockSlow):
- wtf/ParkingLot.cpp:
(WTF::ParkingLot::parkConditionally):
(WTF::ParkingLot::unparkOne):
- wtf/ParkingLot.h: Switch to using ScopedLambda and introduce UnparkResult.
- 9:14 PM Changeset in webkit [199759] by
-
- 7 edits in trunk/Source/bmalloc
bmalloc: fix up overflow checks
https://bugs.webkit.org/show_bug.cgi?id=156780
Reviewed by Mark Lam.
We used to try to avoid overflow in large object math by setting a very
high limit on the largest large object. But that's a bit error-prone
since the check is far away from the math that might overflow -- and
we were missing some cases.
This patch removes the limit and instead checks at each math site.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::tryAllocate):
(bmalloc::Allocator::allocate):
(bmalloc::Allocator::reallocate):
(bmalloc::Allocator::allocateSlowCase): Remove the limit. tryAllocateLarge
will check for overflow for us.
- bmalloc/Chunk.h: This ASSERT was just totally wrong.
- bmalloc/Heap.cpp:
(bmalloc::Heap::tryAllocateLarge): Check for overflow when adding.
- bmalloc/Sizes.h:
- bmalloc/VMAllocate.h:
(bmalloc::tryVMAllocate): Check for overflow when adding.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::tryAllocateLargeChunk): Check for overflow when adding.
- 9:03 PM Changeset in webkit [199758] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Small cleanup of RegisterAtOffsetList
https://bugs.webkit.org/show_bug.cgi?id=156779
Patch by Benjamin Poulain <bpoulain@webkit.org> on 2016-04-19
Reviewed by Mark Lam.
I was wondering why RegisterAtOffsetList always cache-miss.
It looks like it is doing more than it needs to.
We do not need to sort the values. The total order of
RegisterAtOffset is:
1) Order of Reg.
2) Order of offsets.
We already generate the list in order.
Also allocate the right array size ahead of filling the array.
- jit/RegisterAtOffsetList.cpp:
(JSC::RegisterAtOffsetList::RegisterAtOffsetList):
(JSC::RegisterAtOffsetList::sort): Deleted.
- jit/RegisterAtOffsetList.h:
(JSC::RegisterAtOffsetList::append): Deleted.
- 8:52 PM Changeset in webkit [199757] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Picking Snapshot from navigation bar popup does to switch views
https://bugs.webkit.org/show_bug.cgi?id=156762
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-19
Reviewed by Timothy Hatcher.
- UserInterface/Views/TimelineDataGridNodePathComponent.js:
(WebInspector.TimelineDataGridNodePathComponent.prototype.get previousSibling):
(WebInspector.TimelineDataGridNodePathComponent.prototype.get nextSibling):
Wrong represented object provided by TimelineDataGridNodePathComponent.
- 8:08 PM Changeset in webkit [199756] by
-
- 2 edits in trunk/Source/bmalloc
2016-04-19 Geoffrey Garen <ggaren@apple.com>
Unreviewed, try to fix an ASSERT seen on the bots.
- bmalloc/Heap.cpp: (bmalloc::Heap::tryAllocateLarge): This ASSERT is supposed to be about alignment, not size. Oops.
- 7:41 PM Changeset in webkit [199755] by
-
- 2 edits in trunk/Source/JavaScriptCore
Add a couple UNLIKELY macros in parseMemberExpression
https://bugs.webkit.org/show_bug.cgi?id=156775
Reviewed by Filip Pizlo.
These UNLIKELY macros have to do with the base of the
member expression being 'super'. I think it's safe to
argue that this is truly UNLIKELY. I am seeing speedups
sometimes on Octane codeload. Usually around 0.5%. Sometimes 1%.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseMemberExpression):
- 7:24 PM Changeset in webkit [199754] by
-
- 5 edits in trunk/Source/JavaScriptCore
allow jsc shell to dump sampling profiler data
https://bugs.webkit.org/show_bug.cgi?id=156725
Reviewed by Benjamin Poulain.
This patch adds a '--reportSamplingProfilerData' option to the
JSC shell which will enable the sampling profiler and dump
its data at the end of execution. The dump will include the
40 hottest functions and the 80 hottest bytecode locations.
If you're using this option to debug, it's easy to just hack
on the code to make it dump more or less information.
- jsc.cpp:
(CommandLine::parseArguments):
(jscmain):
- runtime/Options.h:
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::processUnverifiedStackTraces):
(JSC::SamplingProfiler::stackTracesAsJSON):
(JSC::SamplingProfiler::reportTopFunctions):
(JSC::SamplingProfiler::reportTopBytecodes):
- runtime/SamplingProfiler.h:
(JSC::SamplingProfiler::StackFrame::hasExpressionInfo):
(JSC::SamplingProfiler::StackFrame::hasBytecodeIndex):
(JSC::SamplingProfiler::StackFrame::hasCodeBlockHash):
(JSC::SamplingProfiler::setStopWatch):
- 6:36 PM Changeset in webkit [199753] by
-
- 3 edits in trunk/Source/WebKit2
Fix CMake build.
- CMakeLists.txt:
Don't compile a file that doesn't exist.
- PlatformMac.cmake:
Put the XPCServices in the right place.
- 6:33 PM Changeset in webkit [199752] by
-
- 9 edits2 moves2 deletes in trunk
Remove remaining bits of dynamic <link> rel='icon' loading
https://bugs.webkit.org/show_bug.cgi?id=156727
Reviewed by Darin Adler.
Source/WebCore:
Don't call 'shouldLoadLink' for 'icon' link types. It performs no
useful checks for 'icon' types, and emits the non-standard
'onbeforeload' event.
This work finishes up https://webkit.org/b/153151, where we removed
FrameLoaderClient::dispatchDidChangeIcons() and related code.
Test: webarchive/test-link-rel-subresource-beforeload.html
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::loadLink): Remove unneeded call to 'shouldLoadLink'.
Tools:
Remove unused test infrastructure. This code never existed in WebKit2
testing since was only used on Windows.
- DumpRenderTree/TestRunner.cpp:
(dumpIconChangesCallback): Deleted.
- DumpRenderTree/TestRunner.h:
(TestRunner::dumpIconChanges): Deleted.
(TestRunner::setDumpIconChanges): Deleted.
LayoutTests:
Rename 'test-link-rel-icon-beforeload.html' to 'test-link-rel-subresource-beforeload.html'.
- fast/dom/icon-url-property-expected.txt: Removed.
- fast/dom/icon-url-property.html: Removed.
- platform/gtk/TestExpectations: Remove references to deleted tests.
- platform/ios-simulator/TestExpectations: Ditto.
- platform/wk2/TestExpectations: Ditto.
- webarchive/test-link-rel-icon-beforeload-expected.webarchive: Removed.
- webarchive/test-link-rel-icon-beforeload.html: Removed.
- webarchive/test-link-rel-subresource-beforeload-expected.webarchive: Copied from LayoutTests/webarchive/test-link-rel-icon-beforeload-expected.webarchive.
- webarchive/test-link-rel-subresource-beforeload.html: Copied from LayoutTests/webarchive/test-link-rel-icon-beforeload.html.
- 6:30 PM Changeset in webkit [199751] by
-
- 10 edits1 delete in trunk
AudioBufferSourceNode.buffer should be nullable
https://bugs.webkit.org/show_bug.cgi?id=156769
Reviewed by Darin Adler.
Source/WebCore:
AudioBufferSourceNode.buffer should be nullable as per the
specification:
https://webaudio.github.io/web-audio-api/#AudioBufferSourceNode
Our implementation was initially returning null when getting
AudioBufferSourceNode.buffer, which is correct. However, it would
throw a TypeError when trying to set the attribute to null. Our
implementation setter actually supported setting the buffer to
null but the custom bindings for the setter would not.
This patch does the following:
- Get rid of the custom bindings for the AudioBufferSourceNode.buffer setter. We can have the bindings generator generate the same code by using [StrictTypeChecking]. The custom bindinds were also throwing a TypeError if the input AudioBuffer had too many channels but this does not seem to be possible.
- Mark AudioBufferSourceNode.buffer as nullable in the IDL so that we no longer throw when the JS tries to assign null, but instead calls AudioBufferSourceNode::setBuffer(nullptr)
No new test, updated webaudio/audiobuffersource-channels.html
- CMakeLists.txt:
- Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::setBuffer):
- Modules/webaudio/AudioBufferSourceNode.h:
- Modules/webaudio/AudioBufferSourceNode.idl:
- Modules/webaudio/AudioContext.h:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSAudioBufferSourceNodeCustom.cpp: Removed.
LayoutTests:
Update existing layout test to check that:
- AudioBufferSourceNode.buffer is initially null
- AudioBufferSourceNode.buffer can be set to null
- We cannot create an AudioBuffer that has too many channels
- webaudio/audiobuffersource-channels-expected.txt:
- webaudio/audiobuffersource-channels.html:
- 6:19 PM Changeset in webkit [199750] by
-
- 20 edits2 adds in trunk
Modern IDB: Lots of IDB bindings cleanup (including making IDBVersionChangeEvent constructible).
https://bugs.webkit.org/show_bug.cgi?id=156760
Reviewed by Darin Adler (and looked over by Chris Dumez and Alex Christensen).
Source/WebCore:
Test: storage/indexeddb/modern/idbversionchangeevent-constructor.html
Add WorkerGlobalScopeConstructors to the xcodeproj:
- WebCore.xcodeproj/project.pbxproj:
Remove the completely irrelevant webkit* prefixed constructors from DOMWindow:
- page/DOMWindow.idl:
Remove the poor way most objects were exposed on the WorkerGlobalScope:
- Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl:
Expose most of the objects on the WorkerGlobalScope the correct way:
- Modules/indexeddb/IDBCursor.idl:
- Modules/indexeddb/IDBCursorWithValue.idl:
- Modules/indexeddb/IDBDatabase.idl:
- Modules/indexeddb/IDBFactory.idl:
- Modules/indexeddb/IDBIndex.idl:
- Modules/indexeddb/IDBKeyRange.idl:
- Modules/indexeddb/IDBObjectStore.idl:
- Modules/indexeddb/IDBOpenDBRequest.idl:
- Modules/indexeddb/IDBRequest.idl:
- Modules/indexeddb/IDBTransaction.idl:
Make IDBVersionChangeEvent constructible:
- Modules/indexeddb/IDBVersionChangeEvent.cpp:
(WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
(WebCore::IDBVersionChangeEvent::newVersion): Deleted.
- Modules/indexeddb/IDBVersionChangeEvent.h:
- Modules/indexeddb/IDBVersionChangeEvent.idl:
- bindings/js/JSDictionary.h:
(WebCore::JSDictionary::convertValue): Add a templated form of convertValue that
handles Optional<>s.
LayoutTests:
- js/dom/global-constructors-attributes-idb-expected.txt: Updated for removed attributes.
- storage/indexeddb/modern/idbversionchangeevent-constructor-expected.txt: Added.
- storage/indexeddb/modern/idbversionchangeevent-constructor.html: Added.
- 6:05 PM Changeset in webkit [199749] by
-
- 2 edits in trunk/LayoutTests
[EFL] Unskip media tests since r199649
Unreviewed EFL gardening.
- platform/efl/TestExpectations: r199649 fixed media test crash as well.
- 5:02 PM Changeset in webkit [199748] by
-
- 27 edits18 adds in trunk
Re-landing: ES6: Implement RegExp.prototype[@@search].
https://bugs.webkit.org/show_bug.cgi?id=156331
Reviewed by Keith Miller.
Source/JavaScriptCore:
What changed?
- Implemented search builtin in RegExpPrototype.js. The native path is now used as a fast path.
- Added DFG support for an IsRegExpObjectIntrinsic (modelled after the IsJSArrayIntrinsic).
- Renamed @isRegExp to @isRegExpObject to match the new IsRegExpObjectIntrinsic.
- Change the esSpecIsRegExpObject() implementation to check if the object's JSType is RegExpObjectType instead of walking the classinfo chain.
- builtins/RegExpPrototype.js:
(search):
- builtins/StringPrototype.js:
(search):
- fixed some indentation.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIsArrayConstructor):
(JSC::DFG::SpeculativeJIT::compileIsRegExpObject):
(JSC::DFG::SpeculativeJIT::compileCallObjectConstructor):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileIsFunction):
(JSC::FTL::DFG::LowerDFGToB3::compileIsRegExpObject):
(JSC::FTL::DFG::LowerDFGToB3::compileTypeOf):
(JSC::FTL::DFG::LowerDFGToB3::isExoticForTypeof):
(JSC::FTL::DFG::LowerDFGToB3::isRegExpObject):
(JSC::FTL::DFG::LowerDFGToB3::isType):
- runtime/Intrinsic.h:
- Added IsRegExpObjectIntrinsic.
- runtime/CommonIdentifiers.h:
- runtime/ECMAScriptSpecInternalFunctions.cpp:
(JSC::esSpecIsConstructor):
- Changed to use uncheckedArgument since this is only called from internal code.
(JSC::esSpecIsRegExpObject):
(JSC::esSpecIsRegExp): Deleted.
- runtime/ECMAScriptSpecInternalFunctions.h:
- Changed to check the object for a JSType of RegExpObjectType.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- Added split fast path.
- runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
(JSC::regExpProtoFuncSearchFast):
(JSC::regExpProtoFuncSearch): Deleted.
- runtime/RegExpPrototype.h:
- tests/es6.yaml:
- tests/stress/regexp-search.js:
- Rebased test.
LayoutTests:
- js/regress/regexp-prototype-search-observable-side-effects-expected.txt: Added.
- js/regress/regexp-prototype-search-observable-side-effects.html: Added.
- js/regress/regexp-prototype-search-observable-side-effects2-expected.txt: Added.
- js/regress/regexp-prototype-search-observable-side-effects2.html: Added.
- js/regress/script-tests/regexp-prototype-search-observable-side-effects.js: Added.
- js/regress/script-tests/regexp-prototype-search-observable-side-effects2.js: Added.
- js/regress/script-tests/string-prototype-search-observable-side-effects.js: Added.
- js/regress/script-tests/string-prototype-search-observable-side-effects2.js: Added.
- js/regress/script-tests/string-prototype-search-observable-side-effects3.js: Added.
- js/regress/script-tests/string-prototype-search-observable-side-effects4.js: Added.
- js/regress/string-prototype-search-observable-side-effects-expected.txt: Added.
- js/regress/string-prototype-search-observable-side-effects.html: Added.
- js/regress/string-prototype-search-observable-side-effects2-expected.txt: Added.
- js/regress/string-prototype-search-observable-side-effects2.html: Added.
- js/regress/string-prototype-search-observable-side-effects3-expected.txt: Added.
- js/regress/string-prototype-search-observable-side-effects3.html: Added.
- js/regress/string-prototype-search-observable-side-effects4-expected.txt: Added.
- js/regress/string-prototype-search-observable-side-effects4.html: Added.
- 4:41 PM Changeset in webkit [199747] by
-
- 19 edits in trunk/Source/WebInspectorUI
Web Inspector: DataGrid should be virtualized so it only renders visible rows
https://bugs.webkit.org/show_bug.cgi?id=156663
rdar://problem/25765256
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel.prototype.set containerRegions):
Call updateLayoutIfNeeded since we don't use views here.
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._formatParameterAsTable):
Set inline and variableHeightRows to true, remove direct classList add. Call updateLayoutIfNeeded since we don't use views here.
- UserInterface/Views/DOMTreeDataGrid.js:
(WebInspector.DOMTreeDataGrid):
Set inline to true, remove direct classList add.
- UserInterface/Views/DataGrid.css:
(.data-grid td):
(.data-grid table.data):
(.data-grid:not(.variable-height-rows) table.data):
(.data-grid:not(.variable-height-rows) table.data.odd-first-zebra-stripe):
(.data-grid.variable-height-rows table.data tr:nth-child(odd)):
(.data-grid.variable-height-rows table.data tr:nth-child(even)):
(.data-grid.variable-height-rows.odd-first-zebra-stripe table.data tr:nth-child(odd)):
(.data-grid.variable-height-rows.odd-first-zebra-stripe table.data tr:nth-child(even)):
(.data-grid.variable-height-rows table.data tr.filler):
Updated styles to support variable height rows directly and flipping the order of the stripes
when the virtual table starts at an odd row.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid): Added rowHeight and rows.
(WebInspector.DataGrid.prototype.get inline): Added.
(WebInspector.DataGrid.prototype.set inline): Added.
(WebInspector.DataGrid.prototype.get variableHeightRows): Added.
(WebInspector.DataGrid.prototype.set variableHeightRows): Added.
(WebInspector.DataGrid.prototype.layout): Call _updateVisibleRows.
(WebInspector.DataGrid.prototype._noteRowsChanged): Added.
(WebInspector.DataGrid.prototype._updateVisibleRows): Added.
(WebInspector.DataGrid.prototype._sortNodesCallback): Update to not use the DOM.
(WebInspector.DataGridNode.prototype.set hasChildren): Call needsLayout.
(WebInspector.DataGridNode.prototype.collapse): Call needsLayout.
(WebInspector.DataGridNode.prototype.expand): Call needsLayout.
(WebInspector.DataGridNode.prototype._attach): Call _noteRowsChanged.
(WebInspector.DataGridNode.prototype._detach): Call _noteRowsChanged.
- UserInterface/Views/DatabaseUserQuerySuccessView.js:
(WebInspector.DatabaseUserQuerySuccessView):
Set inline to true, remove direct classList add. Call updateLayoutIfNeeded since we don't use views here.
- UserInterface/Views/DetailsSection.css:
(.details-section > .content .data-grid td.value-column):
(.details-section > .content .data-grid table.data): Deleted.
(.details-section > .content .data-grid tr:nth-child(even)): Deleted.
(.details-section > .content .data-grid tr:nth-child(odd)): Deleted.
Now handled by DataGrid.css directly.
- UserInterface/Views/DetailsSectionDataGridRow.js:
(WebInspector.DetailsSectionDataGridRow.prototype.set dataGrid):
Set inline and variableHeightRows to true, remove direct classList add. Call updateLayoutIfNeeded since we don't use views here.
- UserInterface/Views/HeapSnapshotInstancesContentView.css:
(.heap-snapshot > .data-grid tr:matches(.selected, :hover) td .go-to-arrow):
(.heap-snapshot .icon):
Remove margin-top to fit inside 20px row instead of 21px.
- UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:
(.content-view.indexed-database-object-store > .data-grid table.data): Deleted.
(.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(even)): Deleted.
(.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)): Deleted.
(.content-view.indexed-database-object-store > .data-grid table.data tr.filler): Deleted.
Now handled by DataGrid.css directly.
- UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
(WebInspector.IndexedDatabaseObjectStoreContentView):
Set variableHeightRows to true.
- UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
Set inline to true, remove direct classList add. Call updateLayoutIfNeeded since we don't use views here.
- UserInterface/Views/LogContentView.css:
(.console-item .data-grid table.data): Deleted.
(.console-item .data-grid table.data tr:nth-child(even)): Deleted.
Now handled by DataGrid.css directly.
- UserInterface/Views/NetworkGridContentView.css:
(.content-view.network-grid > .data-grid td): Deleted.
(.content-view.network-grid > .data-grid table.data): Deleted.
Now handled by DataGrid.css directly.
- UserInterface/Views/ProbeSetDataGrid.js:
(WebInspector.ProbeSetDataGrid):
Set inline to true, remove direct classList add.
- UserInterface/Views/ProfileView.css:
(.profile > .data-grid td .icon):
(.profile > .data-grid tr:matches(.selected, :hover) .go-to-arrow):
Remove margin-top to fit inside 20px row instead of 21px.
- UserInterface/Views/TimelineRecordingContentView.css:
(.content-view.timeline-recording > .content-browser > .content-view-container > .timeline-view > .data-grid td): Deleted.
(.content-view.timeline-recording > .content-browser > .content-view-container > .timeline-view > .data-grid table.data): Deleted.
Now handled by DataGrid.css directly.
- UserInterface/Views/Variables.css:
(:root): Added zebra stripe colors.
- 4:36 PM Changeset in webkit [199746] by
-
- 20 edits1 add10 deletes in trunk/Source/bmalloc
bmalloc: Merge the large and xlarge allocators
https://bugs.webkit.org/show_bug.cgi?id=156734
Reviewed by Andreas Kling.
This give us better defense against worst case memory usage:
Baseline Patch Δ
Peak Memory:
nimlang 198,132kB 181,468kB 1.09x smaller
It also eliminates inline metadata for large objects, fixing the
regression introduced in r198675, and more:
run-malloc-benchmarks Baseline:~/OpenSource/WebKitBuildBaseline/Release/ Patch:~/OpenSource/WebKitBuild/Release/
Baseline Patch Δ
Memory at End:
big 10,880kB 3,328kB 3.27x smaller
facebook 3,112kB 2,868kB 1.09x smaller
fragment --parallel 1,848kB 760kB 2.43x smaller
fragment_iterate --parallel 4,908kB 776kB 6.32x smaller
big --parallel 48,076kB 11,892kB 4.04x smaller
Overall memory use looks OK:
run-malloc-benchmarks --memory_warning Baseline:~/OpenSource/WebKitBuildBaseline/Release/ Patch:~/OpenSource/WebKitBuild/Release/
Baseline Patch Δ
Memory at End:
<arithmetic mean> 13,992kB 13,987kB 1.0x smaller
Overall throughput looks OK:
run-malloc-benchmarks Baseline:~/OpenSource/WebKitBuildBaseline/Release/ Patch:~/OpenSource/WebKitBuild/Release/
Baseline Patch Δ
Execution Time:
<arithmetic mean> 103ms 104ms ! 1.01x slower
We're a bit slower on the "all-out large allocations on all cores"
benchmark, but I think that's an OK price to pay:
Baseline Patch Δ
Execution Time:
big --parallel 125ms 136ms ! 1.09x slower
This patch net removes 1.5k lines of code. It turns out that large
allocations are rare, and free memory fragments are also rare, so the
combination is super rare, and a simple O(n) algorithm that ensures good
memory behavior is the best option.
Fun fact: In practice, the odds that the old code would save memory
were *worse* than the odds that it would contain a bug that wasted
memory. :)
- bmalloc.xcodeproj/project.pbxproj:
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::tryAllocate): largeMax is the new xLargeMax since
xLargeMax is gone now.
(bmalloc::Allocator::allocate): I moved the rounding code into allocateLarge,
so we don't have to do it here.
(bmalloc::Allocator::reallocate):
(bmalloc::Allocator::allocateSlowCase):
(bmalloc::Allocator::allocateXLarge): Deleted. No more XLarge case.
- bmalloc/Allocator.h:
- bmalloc/BeginTag.h: Removed.
- bmalloc/BoundaryTag.h: Removed.
- bmalloc/Chunk.h:
(bmalloc::ChunkHash::hash): Added a hash function. The best hash function
is a unique and monotonically increasing integer, and that's exactly what
we typically get from the high bits of a Chunk, since the OS allocates
Chunks at unique and increasing addresses.
(bmalloc::Chunk::boundaryTags): Deleted.
(bmalloc::Chunk::objectType): Deleted.
(bmalloc::Chunk::beginTag): Deleted.
(bmalloc::Chunk::endTag): Deleted.
- bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::deallocateSlowCase): We no longer know for sure,
by looking at its bit pattern, whether a pointer is small or large.
Instead, any pointer with large alignment *might* be large, and when
we occasionally encounter such an object, we have to consult a hash
table in the Heap to find out for sure. This turns out to be just as
cheap in practice.
We don't deallocate large objects on the fast path anymore. We can't,
because large objects have out-of-line metadata now.
(bmalloc::Deallocator::deallocateXLarge): Deleted.
- bmalloc/Deallocator.h:
(bmalloc::Deallocator::deallocateFastCase): See deallocateSlowCase.
- bmalloc/EndTag.h: Removed.
- bmalloc/FreeList.cpp: Removed.
- bmalloc/FreeList.h: Removed.
- bmalloc/Heap.cpp:
(bmalloc::Heap::allocateSmallPage): Be sure to track each chunk in
the object type map, so we can distinguish small vs large objects.
(bmalloc::Heap::deallocateSmallLine): No need to check object type
because we know object type now by virtue of being on the small object
path.
(bmalloc::Heap::splitAndAllocate): Be sure to track each chunk in
the object type map, so we can distinguish small vs large objects. Large
objects can split across chunks, so we need to add each large object's
chunk as it is allocated.
(bmalloc::Heap::tryAllocateLarge):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::isLarge):
(bmalloc::Heap::largeSize):
(bmalloc::Heap::shrinkLarge):
(bmalloc::Heap::deallocateLarge): Merged in existing XLarge logic for
large objects.
(bmalloc::Heap::scavengeXLargeObjects): Deleted.
(bmalloc::Heap::allocateXLarge): Deleted.
(bmalloc::Heap::tryAllocateXLarge): Deleted.
(bmalloc::Heap::xLargeSize): Deleted.
(bmalloc::Heap::shrinkXLarge): Deleted.
(bmalloc::Heap::deallocateXLarge): Deleted.
- bmalloc/Heap.h:
(bmalloc::Heap::LargeObjectHash::hash):
- bmalloc/LargeObject.h: Removed.
- bmalloc/Map.h: Added.
(bmalloc::Map::size):
(bmalloc::Map::capacity):
(bmalloc::Map::get):
(bmalloc::Map::set):
(bmalloc::Map::remove):
(bmalloc::Map::shouldGrow):
(bmalloc::Map::shouldShrink):
(bmalloc::Map::find):
(bmalloc::Hash>::rehash): Simple hash table.
- bmalloc/Object.h:
- bmalloc/ObjectType.cpp:
(bmalloc::objectType):
- bmalloc/ObjectType.h:
(bmalloc::mightBeLarge): See deallocateSlowCase.
(bmalloc::isXLarge): Deleted.
- bmalloc/SegregatedFreeList.cpp: Removed.
- bmalloc/SegregatedFreeList.h: Removed.
- bmalloc/Sizes.h: Upped smallMax to 64kB. Upping to 32kB is pretty
reasonable, since sizes between 16kB and 32kB share page sizes. I went
all the way up to 64kB because the GC uses 64kB blocks, and also just
for extra padding to ensure that large allocations are indeed rare.
- bmalloc/SortedVector.h: Removed.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::tryAllocateLargeChunk):
(bmalloc::VMHeap::allocateSmallChunk):
(bmalloc::VMHeap::VMHeap): Deleted.
(bmalloc::VMHeap::allocateChunk): Deleted.
- bmalloc/VMHeap.h:
(bmalloc::VMHeap::deallocateSmallPage):
(bmalloc::VMHeap::allocateLargeObject): Deleted.
(bmalloc::VMHeap::deallocateLargeObject): Deleted. Nixed all the boundary
tag logic since metadata is out of line now.
- bmalloc/VMState.h: Removed. Instead of an abstract state, we track
the precise amount of committed physical pages at the head of a VM
range. This allows us to merge aggressively without triggering an madvise
storm most of the time.
- bmalloc/Vector.h:
(bmalloc::Vector<T>::Vector):
(bmalloc::Vector<T>::insert):
(bmalloc::Vector<T>::remove):
(bmalloc::Vector<T>::resize): Filled out some missing helpers.
- bmalloc/XLargeMap.cpp:
(bmalloc::XLargeMap::remove):
(bmalloc::XLargeMap::add):
(bmalloc::XLargeMap::removePhysical):
(bmalloc::XLargeMap::takeFree): Deleted.
(bmalloc::XLargeMap::addFree): Deleted.
(bmalloc::XLargeMap::addAllocated): Deleted.
(bmalloc::XLargeMap::getAllocated): Deleted.
(bmalloc::XLargeMap::takeAllocated): Deleted.
(bmalloc::XLargeMap::shrinkToFit): Deleted.
(bmalloc::XLargeMap::takePhysical): Deleted.
(bmalloc::XLargeMap::addVirtual): Deleted.
- bmalloc/XLargeMap.h:
(bmalloc::XLargeMap::Allocation::operator<): Deleted. We don't track
object sizes anymore -- just free space. (The Heap tracks object sizes.)
We use plain old linear search for free space. (See intro.)
- bmalloc/XLargeRange.h:
(bmalloc::XLargeRange::physicalSize):
(bmalloc::XLargeRange::setPhysicalSize):
(bmalloc::merge):
(bmalloc::XLargeRange::split):
(bmalloc::XLargeRange::vmState): Deleted.
(bmalloc::XLargeRange::setVMState): Deleted. See VMState.h.
- 4:31 PM Changeset in webkit [199745] by
-
- 2 edits in trunk/Source/JavaScriptCore
Replace $vm.printValue() with $vm.value().
https://bugs.webkit.org/show_bug.cgi?id=156767
Reviewed by Saam Barati.
When debugging with $vm, this change allows us to do this:
$vm.print("myObj = " + $vm.value(myObj) + "\n");
... instead of having to do this:
$vm.print("myObj = ");
$vm.printValue(myObj);
$vm.print("\n");
- tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::printValue):
(JSC::functionValue):
(JSC::JSDollarVMPrototype::finishCreation):
(JSC::functionPrintValue): Deleted.
- 2:51 PM Changeset in webkit [199744] by
-
- 2 edits in trunk/LayoutTests
Rebase test after r199738
- fast/canvas/webgl/fragment-shader-assertion-expected.txt:
ANGLE gives us a more descriptive error now. No big deal.
This test was added to make sure it didn't crash in http://trac.webkit.org/changeset/199340
and it still does not crash.
- 2:45 PM Changeset in webkit [199743] by
-
- 5 edits in trunk/Source
Build fix after r199738
Source/ThirdParty/ANGLE:
- CMakeLists.txt:
Source/WebCore:
- platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
- platform/graphics/win/GraphicsContext3DWin.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
- 2:02 PM Changeset in webkit [199742] by
-
- 6 edits2 adds in trunk
ObjcInstance::stringValue should not call NSObject's description method
https://bugs.webkit.org/show_bug.cgi?id=156758
Reviewed by Geoffrey Garen.
Source/WebCore:
This patch makes it so that we no longer call NSObject's description method without first
swizzling the implementation for WebScriptObjects. We restore the incomming NSObject's
description method once we have finished generating the string.
Test: platform/mac/fast/objc/webScriptObject-does-not-call-description-on-nsobject.html
- bridge/objc/objc_instance.mm:
(swizzleNSObjectDescription):
(ObjcInstance::stringValue):
Tools:
Add new methods to ObjCController that expose two Types of WebScriptObjects. The first is
an NSObject and the second is an NSArray of NSObjects. These are used to test that we don't
call the NSObjects description method without first swizzling it.
- DumpRenderTree/mac/ObjCController.m:
(+[ObjCController isSelectorExcludedFromWebScript:]):
(+[ObjCController webScriptNameForSelector:]):
(-[ObjCController testArrayOfObjects]):
(-[ObjCController testObject]):
LayoutTests:
Test that we don't use the NSObject's description method when stringifying a WebScriptObject.
- platform/mac/fast/objc/webScriptObject-does-not-call-description-on-nsobject-expected.txt: Added.
- platform/mac/fast/objc/webScriptObject-does-not-call-description-on-nsobject.html: Added.
- platform/wk2/TestExpectations:
- 1:25 PM Changeset in webkit [199741] by
-
- 2 edits in trunk/Source/WebKit2
New SPI to export a dictionary of runtime features
https://bugs.webkit.org/show_bug.cgi?id=156645
<rdar://problem/23621666>
Reviewed by Anders Carlsson.
Mark the new SPI as WK_MAC_TBA, WK_IOS_TBA.
- UIProcess/API/Cocoa/_WKExperimentalFeature.h:
- 1:20 PM Changeset in webkit [199740] by
-
- 2 edits in trunk/Source/WebKit2
Crash under WebKit::PluginView::pluginSnapshotTimerFired
https://bugs.webkit.org/show_bug.cgi?id=156754
<rdar://problem/22566764>
Reviewed by Beth Dakin.
Add null check for frame() before trying to access the frame settings,
similarly to what is done earlier in this function. This fixes a top
crasher.
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pluginSnapshotTimerFired):
- 12:57 PM Changeset in webkit [199739] by
-
- 1 edit1 add1 delete in trunk/Source/ThirdParty/ANGLE
Build fix.
- src/compiler/translator/Intermediate.h: Added.
(TIntermediate::TIntermediate):
- src/compiler/translator/intermediate.h: Removed.
Changed case of Intermediate.h file name for case sensitive file systems.
- 12:46 PM Changeset in webkit [199738] by
-
- 520 edits123 adds9 deletes in trunk
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=156755
Reviewed by Dean Jackson.
Source/ThirdParty/ANGLE:
Huge list of changed files omitted.
Source/WebCore:
- CMakeLists.txt:
- platform/graphics/ANGLEWebKitBridge.h:
(WebCore::ANGLEWebKitBridge::getResources):
- platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
Continue to compile successfully with new ANGLE.
LayoutTests:
- webgl/1.0.2/conformance/glsl/reserved/webgl_preprocessor_reserved-expected.txt: Removed.
- webgl/1.0.2/conformance/glsl/reserved/webgl_preprocessor_reserved.html: Removed.
Removed invalid test based on https://github.com/KhronosGroup/WebGL/pull/1230
- 12:37 PM WebKitGTK/2.12.x edited by
- (diff)
- 12:35 PM Changeset in webkit [199737] by
-
- 2 edits in trunk/Source/WebKit2
New SPI to export a dictionary of runtime features
https://bugs.webkit.org/show_bug.cgi?id=156645
<rdar://problem/23621666>
Post commit follow-up. Darin gave review comments that
I didn't address in my original commit - I was waiting
on some advice.
- UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::isEnabledForFeature): Change the macro
to generate a static list of function pointers, rather than
a lot of conditional statements.
(WebKit::WebPreferences::setEnabledForFeature): Ditto.
- 12:06 PM Changeset in webkit [199736] by
-
- 4 edits in trunk/LayoutTests
imported/w3c/web-platform-tests/streams/readable-streams/general.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=155760
Reviewed by Alexey Proskuryakov.
LayoutTests/imported/w3c:
Flakiness was coming from a callback being called after a timeout.
Timeout was set so that a double promise resolution (promise resolved
in another promise resolution callback) is done before calling the callback.
On some slow bots, the timeout was not big enough.
- web-platform-tests/streams/readable-streams/general.js: Increased the callback delay.
LayoutTests:
- TestExpectations: removed flaky expectation.
- 11:39 AM Changeset in webkit [199735] by
-
- 43 edits in trunk/Source
Mark more classes as WTF_MAKE_FAST_ALLOCATED
https://bugs.webkit.org/show_bug.cgi?id=156732
Reviewed by Darin Adler.
Source/WebCore:
- css/CSSImageGeneratorValue.h:
- css/DocumentRuleSets.h:
- css/MediaQueryMatcher.h:
- css/RuleFeature.h:
- css/StyleResolver.h:
- dom/ActiveDOMCallbackMicrotask.h:
- dom/DocumentSharedObjectPool.h:
- dom/MutationObserver.cpp:
- dom/MutationObserverInterestGroup.h:
- dom/MutationObserverRegistration.h:
- dom/ScriptExecutionContext.cpp:
- dom/SlotAssignment.h:
- html/HTMLCollection.h:
- html/canvas/CanvasRenderingContext2D.cpp:
- html/parser/HTMLToken.h:
- html/parser/XSSAuditorDelegate.h:
- loader/FrameLoader.cpp:
- loader/SubframeLoader.h:
- page/AutoscrollController.h:
- page/csp/ContentSecurityPolicySource.h:
- platform/cf/RunLoopObserver.h:
- platform/graphics/FloatQuad.h:
- platform/graphics/FloatRoundedRect.h:
- platform/graphics/IntSize.h:
- platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
- platform/graphics/cg/ImageDecoderCG.h:
- platform/graphics/cocoa/IOSurface.h:
- platform/graphics/displaylists/DisplayList.h:
- platform/graphics/mac/ComplexTextController.h:
- platform/graphics/mac/FontCustomPlatformData.h:
- platform/mac/PowerObserverMac.h:
- platform/network/DataURLDecoder.cpp:
- platform/text/PlatformLocale.h:
- rendering/TextAutosizer.h:
- style/StyleUpdate.h:
- xml/XMLHttpRequestUpload.h:
Source/WebKit2:
- NetworkProcess/Downloads/Download.h:
- NetworkProcess/Downloads/PendingDownload.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
- Shared/API/Cocoa/RemoteObjectInvocation.h:
- 11:34 AM Changeset in webkit [199734] by
-
- 2 edits in trunk/Source/JavaScriptCore
Enable separated heap by default on ios
https://bugs.webkit.org/show_bug.cgi?id=156720
Reviewed by ggaren.
- runtime/Options.cpp:
(JSC::recomputeDependentOptions):
- 10:58 AM Changeset in webkit [199733] by
-
- 4 edits in trunk/Source/WebCore
Context menu items related to fullscreen should be specific to standard fullscreen
https://bugs.webkit.org/show_bug.cgi?id=156723
<rdar://problem/25452632>
Reviewed by Darin Adler.
Introduce HTMLMediaElement::isStandardFullscreen() that the HitTestResult code can use
when handling the validation and selection of fullscreen-related context menu items.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isStandardFullscreen):
(WebCore::HTMLMediaElement::toggleStandardFullscreenState):
Renamed to make it clear that it's for toggling standard fullscreen. Call the new
HTMLMediaElement::isStandardFullscreen().
- html/HTMLMediaElement.h:
- rendering/HitTestResult.cpp:
(WebCore::HitTestResult::mediaIsInFullscreen):
Use HTMLMediaElement::isStandardFullscreen().
(WebCore::HitTestResult::toggleMediaFullscreenState):
Call the renamed HTMLMediaElement::toggleStandardFullscreenState().
- 10:46 AM Changeset in webkit [199732] by
-
- 2 edits in trunk/Source/WebKit2
Build fix.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::preregisterSandboxExtensionsForOptionallyFileBackedBlob):
result is unused.
- 10:25 AM Changeset in webkit [199731] by
-
- 24 edits56 adds in trunk
Re-landing: ES6: Implement String.prototype.split and RegExp.prototype[@@split].
https://bugs.webkit.org/show_bug.cgi?id=156013
Reviewed by Keith Miller.
Source/JavaScriptCore:
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/GlobalObject.js:
(speciesConstructor):
- builtins/PromisePrototype.js:
- refactored to use the @speciesConstructor internal function.
- builtins/RegExpPrototype.js:
(advanceStringIndex):
- refactored from @advanceStringIndexUnicode() to be match the spec. Benchmarks show that there's no advantage in doing the unicode check outside of the advanceStringIndexUnicode part. So, I simplified the code to match the spec (especially since @@split needs to call advanceStringIndex from more than 1 location).
(match):
- Removed an unnecessary call to @Object because it was already proven above.
- Changed to use advanceStringIndex instead of advanceStringIndexUnicode. Again, there's no perf regression for this.
(regExpExec):
(hasObservableSideEffectsForRegExpSplit):
(split):
(advanceStringIndexUnicode): Deleted.
- builtins/StringPrototype.js:
(split):
- Modified to use RegExp.prototype[@@split].
- bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
(JSC::BytecodeIntrinsicRegistry::lookup):
- bytecode/BytecodeIntrinsicRegistry.h:
- Added the @@split symbol.
- runtime/CommonIdentifiers.h:
- runtime/ECMAScriptSpecInternalFunctions.cpp: Added.
(JSC::esSpecIsConstructor):
(JSC::esSpecIsRegExp):
- runtime/ECMAScriptSpecInternalFunctions.h: Added.
- runtime/JSGlobalObject.cpp:
(JSC::getGetterById):
(JSC::JSGlobalObject::init):
- runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::setDescriptor):
- Removed an assert that is no longer valid.
- runtime/RegExpObject.h:
- Made advanceStringUnicode() public so that it can be re-used by the regexp split fast path.
- runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncSearch):
(JSC::advanceStringIndex):
(JSC::regExpProtoFuncSplitFast):
- runtime/RegExpPrototype.h:
- runtime/StringObject.h:
(JSC::jsStringWithReuse):
(JSC::jsSubstring):
- Hoisted some utility functions from StringPrototype.cpp so that they can be reused by the regexp split fast path.
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::stringProtoFuncSplitFast):
(JSC::stringProtoFuncSubstr):
(JSC::builtinStringSubstrInternal):
(JSC::stringProtoFuncSubstring):
(JSC::stringIncludesImpl):
(JSC::stringProtoFuncIncludes):
(JSC::builtinStringIncludesInternal):
(JSC::jsStringWithReuse): Deleted.
(JSC::jsSubstring): Deleted.
(JSC::stringProtoFuncSplit): Deleted.
- runtime/StringPrototype.h:
- tests/es6.yaml:
LayoutTests:
- js/Object-getOwnPropertyNames-expected.txt:
- js/dom/string-prototype-properties-expected.txt:
- js/regress/regexp-prototype-split-observable-side-effects-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects2-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects2.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-flags-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-flags.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-global-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-global.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-multiline-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-multiline.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-sticky-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-sticky.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-unicode-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-unicode.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects4-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects4.html: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects2.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-flags.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-global.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-ignoreCase.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-multiline.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-sticky.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-unicode.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects4.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects2.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-flags.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-global.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-ignoreCase.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-multiline.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-sticky.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-unicode.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects4.js: Added.
- js/regress/string-prototype-split-observable-side-effects-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects.html: Added.
- js/regress/string-prototype-split-observable-side-effects2-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects2.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-flags-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-flags.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-global-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-global.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-ignoreCase.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-multiline-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-multiline.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-sticky-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-sticky.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-unicode-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-unicode.html: Added.
- js/regress/string-prototype-split-observable-side-effects4-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects4.html: Added.
- js/script-tests/Object-getOwnPropertyNames.js:
- sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:
- 9:58 AM Changeset in webkit [199730] by
-
- 14 edits20 adds5 deletes in trunk
Modern IDB: ObjectStore Blob Support.
https://bugs.webkit.org/show_bug.cgi?id=143193
Reviewed by Alex Christensen.
Source/WebCore:
Tests: imported/blink/storage/indexeddb/blob-basics-metadata.html
imported/blink/storage/indexeddb/blob-delete-objectstore-db.html
imported/blink/storage/indexeddb/blob-valid-after-deletion.html
imported/blink/storage/indexeddb/blob-valid-before-commit.html
imported/blink/storage/indexeddb/empty-blob-file.html
storage/indexeddb/modern/blob-simple.html
Most of the work has been done already.
Besides a handful of tweaks to that work, all this really does is remove the clause
that prevents blob URLs from going into the database.
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::putOrAdd): Only disallow blobs if private browsing is enabled
(Making that work is already covered by another bug)
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::putOrAddOnServer):
- Modules/indexeddb/IDBValue.cpp:
(WebCore::IDBValue::IDBValue):
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteUnusedBlobFileRecords):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
- Modules/indexeddb/server/SQLiteIDBTransaction.cpp:
(WebCore::IDBServer::SQLiteIDBTransaction::deleteBlobFilesIfNecessary):
- platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::writeBlobsToTemporaryFiles):
- platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::deleteDatabaseFile): Delete all database-related files
now that we use WAL mode.
Source/WebKit2:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::preregisterSandboxExtensionsForOptionallyFileBackedBlob): Don't ASSERT that
this is the first we've heard of this path - The Connection now remembers all extensions.
(WebKit::NetworkConnectionToWebProcess::getBlobDataFileReferenceForPath): Don't take - Just get.
LayoutTests:
Note: The blob-basics-metadata.html test has some failure lines in it because we don't support the
File constructor.
Once support is added, that test will start failing with the correct results, at which point we
can update expectations.
- imported/blink/storage/indexeddb/blob-basics-metadata-expected.txt: Added.
- imported/blink/storage/indexeddb/blob-basics-metadata.html: Added.
- imported/blink/storage/indexeddb/blob-delete-objectstore-db-expected.txt: Added.
- imported/blink/storage/indexeddb/blob-delete-objectstore-db.html: Added.
- imported/blink/storage/indexeddb/blob-valid-after-deletion-expected.txt: Added.
- imported/blink/storage/indexeddb/blob-valid-after-deletion.html: Added.
- imported/blink/storage/indexeddb/blob-valid-before-commit-expected.txt: Added.
- imported/blink/storage/indexeddb/blob-valid-before-commit.html: Added.
- imported/blink/storage/indexeddb/empty-blob-file-expected.txt: Added.
- imported/blink/storage/indexeddb/empty-blob-file.html: Added.
- imported/blink/storage/indexeddb/resources/empty.txt: Added.
- imported/blink/storage/indexeddb/resources/shared.js: Added.
- imported/blink/storage/indexeddb/resources/test-data.html: Added.
- imported/blink/storage/indexeddb/resources/test-data.txt: Added.
- platform/wk2/TestExpectations:
- storage/indexeddb/modern/blob-simple-expected.txt: Added.
- storage/indexeddb/modern/blob-simple.html: Added.
- storage/indexeddb/modern/resources/blob-simple.js: Added.
- storage/indexeddb/noblobs-expected.txt: Removed.
- storage/indexeddb/noblobs-private-expected.txt: Removed.
- storage/indexeddb/noblobs-private.html: Removed.
- storage/indexeddb/noblobs.html: Removed.
- storage/indexeddb/resources/noblobs.js: Removed.
- 9:29 AM Changeset in webkit [199729] by
-
- 9 edits in trunk
Unreviewed, rolling out r199726.
https://bugs.webkit.org/show_bug.cgi?id=156748
WebKit tests crash on Windows 32 (Requested by msaboff on
#webkit).
Reverted changeset:
"iTunes crashing JavaScriptCore.dll"
https://bugs.webkit.org/show_bug.cgi?id=156647
http://trac.webkit.org/changeset/199726
- 8:48 AM Changeset in webkit [199728] by
-
- 7 edits2 adds in trunk
[css-grid] Use the margin box for non-auto minimum sizes
https://bugs.webkit.org/show_bug.cgi?id=156711
Reviewed by Darin Adler.
Source/WebCore:
When computing the min-size of items with non-auto minimum height/width we are incorrectly
returning the size of the border box, and thus incorrectly ignoring the margins of the item.
This is a follow up patch of r199153 were we added the missing border and paddings for
heights. Contrary to that, we were not including margins for both axis.
This CL requires 3 different interrelated changes:
- Add the margins to the min-size returned by minSizeForChild (might require a layout).
- Refactor and extract width computations from logicalHeightForChild(); not totally
mandatory but pretty logical and helpful.
- Use a new update function to isolate the computation of the override width.
Test: fast/css-grid-layout/min-width-margin-box.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeInlineDirectionMargins): Added const to a parameter.
- rendering/RenderBox.h:
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeTrackSizesForDirection): Initialize the sizingOperation.
(WebCore::RenderGrid::computeIntrinsicLogicalWidths): Ditto.
(WebCore::RenderGrid::computeIntrinsicLogicalHeight): Ditto.
(WebCore::RenderGrid::logicalHeightForChild): Renamed from logicalContentHeightForChild as
it no longer returns the content size but the outer size.
(WebCore::RenderGrid::minSizeForChild):
(WebCore::RenderGrid::updateOverrideContainingBlockContentLogicalWidthForChild): Extracted
from logicalHeightForChild().
(WebCore::RenderGrid::minContentForChild): Update override width if needed.
(WebCore::RenderGrid::maxContentForChild): Ditto.
(WebCore::RenderGrid::computeMarginLogicalSizeForChild): Generalized from
computeMarginLogicalHeightForChild(), it can now compute also margins for the inline
direction.
(WebCore::RenderGrid::availableAlignmentSpaceForChildBeforeStretching):
(WebCore::RenderGrid::logicalContentHeightForChild): Deleted.
(WebCore::RenderGrid::computeMarginLogicalHeightForChild): Deleted.
- rendering/RenderGrid.h:
LayoutTests:
- fast/css-grid-layout/min-height-border-box.html:
- fast/css-grid-layout/min-width-margin-box-expected.txt: Added.
- fast/css-grid-layout/min-width-margin-box.html: Added.
- 8:10 AM Changeset in webkit [199727] by
-
- 2 edits in trunk/Source/WebCore
[Cairo] GraphicsContext::drawFocusRing methods are not consistent to each other
https://bugs.webkit.org/show_bug.cgi?id=156742
Reviewed by Martin Robinson.
We are rendering the focus ring differently depending on whether a path is used or a vector of rectangles. This
is causing that some reftests fail because they assume we always render the focus ring the same way. For example
fast/images/image-map-outline-in-positioned-container.html, when rendering the test
GraphicsContext::drawFocusRing is called with a path, and when rendering the reference it's called with a vector
of rectangles, producing different results.
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawFocusRing): When receiving a vector of rectangles, build a Path from the given
rectangles and call drawFocusRing() with the built path to ensure consistency.
- 7:11 AM Changeset in webkit [199726] by
-
- 9 edits in trunk
iTunes crashing JavaScriptCore.dll
https://bugs.webkit.org/show_bug.cgi?id=156647
Reviewed by Saam Barati.
Source/JavaScriptCore:
Given that there there are only 128 FLS indices compared to over a 1000 for TLS, I
eliminated the thread specific m_threadSpecificForThread and instead we look for the
current thread in m_registeredThreads list when we need it. In most cases there
will only be one thread.
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::machineThreadForCurrentThread):
(JSC::MachineThreads::removeThread):
- heap/MachineStackMarker.h:
Source/WTF:
If a thread was created without using the WTF thread apis and that thread uses
a JavaScript VM and that thread exits with the VM still around, JSC won't know
that the thread has exited. Currently, we use ThreadSpecificThreadExit() to
clean up any thread specific keys. Cleaning up these keys is how JSC is
notified of a thread exit. We only call ThreadSpecificThreadExit() from
wtfThreadEntryPoint() when the thread entry point function returns.
This mechanism was put in place for Windows because we layer the WTF::ThreadSpecific
functionality on top of TLS (Thread Local Storage), but TLS doesn't have
a thread exiting callback the way that pthread_create_key.
The fix is to change from using TLS to using FLS (Fiber Local Storage). Although
Windows allows multiple fibers per thread, WebKit is not designed to work with a
multiple fibers per thread. When there is only one fiber per thread, FLS works just
like TLS, but it has the destroy callback.
I restructured the Windows version of WTF::ThreadSpecific to be almost the same
as the pthread version.
- wtf/ThreadSpecific.h:
(WTF::threadSpecificKeyCreate):
(WTF::threadSpecificKeyDelete):
(WTF::threadSpecificSet):
(WTF::threadSpecificGet):
(WTF::ThreadSpecific<T>::ThreadSpecific):
(WTF::ThreadSpecific<T>::~ThreadSpecific):
(WTF::ThreadSpecific<T>::get):
(WTF::ThreadSpecific<T>::set):
(WTF::ThreadSpecific<T>::destroy):
Restructured to use FLS. Renamed TLS* to FLS*.
- wtf/ThreadSpecificWin.cpp:
(WTF::flsKeyCount):
(WTF::flsKeys):
Renamed from tlsKey*() to flsKey*().
(WTF::destructorsList): Deleted.
(WTF::destructorsMutex): Deleted.
(WTF::PlatformThreadSpecificKey::PlatformThreadSpecificKey): Deleted.
(WTF::PlatformThreadSpecificKey::~PlatformThreadSpecificKey): Deleted.
(WTF::PlatformThreadSpecificKey::setValue): Deleted.
(WTF::PlatformThreadSpecificKey::value): Deleted.
(WTF::PlatformThreadSpecificKey::callDestructor): Deleted.
(WTF::tlsKeyCount): Deleted.
(WTF::tlsKeys): Deleted.
(WTF::threadSpecificKeyCreate): Deleted.
(WTF::threadSpecificKeyDelete): Deleted.
(WTF::threadSpecificSet): Deleted.
(WTF::threadSpecificGet): Deleted.
(WTF::ThreadSpecificThreadExit): Deleted.
- wtf/ThreadingWin.cpp:
(WTF::wtfThreadEntryPoint): Eliminated call to ThreadSpecificThreadExit.
LayoutTests:
Disabled fast/workers/dedicated-worker-lifecycle.html as it creates
more workers that we have ThreadSpecific keys. We need at least one
key per JSC VM we create. I didn't want to weaken the test for other
platforms.
- platform/win/TestExpectations:
- 6:34 AM Changeset in webkit [199725] by
-
- 9 edits1 add in trunk
[INTL] Use @thisNumberValue instead of
instanceof @Number
https://bugs.webkit.org/show_bug.cgi?id=156680
Reviewed by Saam Barati.
Source/JavaScriptCore:
Use @thisNumberValue instead of
instanceof @Number.
instanceof @Numberis not enough;
For example, given 2 realms, the object created in one realm does not
inherit the Number of another realm.
Another example is that the object which does not inherit Number.
`
var number = new Number(42);
number.proto = null;
`
- builtins/NumberPrototype.js:
(toLocaleString):
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncValueOf):
- runtime/NumberPrototype.h:
- tests/stress/number-to-locale-string-should-accept-strange-number-objects.js: Added.
(shouldBe):
LayoutTests:
- js/number-toLocaleString-expected.txt:
- js/script-tests/number-toLocaleString.js:
- 6:29 AM Changeset in webkit [199724] by
-
- 29 edits1 delete in trunk
Unreviewed, rolling out r199712.
https://bugs.webkit.org/show_bug.cgi?id=156741
It caused a serious regression on 32 bit platform (Requested
by gskachkov on #webkit).
Reverted changeset:
"calling super() a second time in a constructor should throw"
https://bugs.webkit.org/show_bug.cgi?id=151113
http://trac.webkit.org/changeset/199712
Patch by Commit Queue <commit-queue@webkit.org> on 2016-04-19
- 6:29 AM Changeset in webkit [199723] by
-
- 2 edits in trunk/Source/WebKit2
Try to fix iOS build.
- UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
- 6:03 AM Changeset in webkit [199722] by
-
- 7 edits1 copy in trunk/Source/WebCore
Move FontSelectorClient to a file of its own
https://bugs.webkit.org/show_bug.cgi?id=156738
Reviewed by Carlos Garcia Campos.
So modifying FontSelector does not trigger world rebuild via Document.h.
- WebCore.xcodeproj/project.pbxproj:
- css/CSSFontSelector.cpp:
- dom/Document.h:
- html/canvas/CanvasRenderingContext2D.h:
- platform/graphics/FontSelector.h:
(WebCore::FontSelectorClient::~FontSelectorClient): Deleted.
- platform/graphics/FontSelectorClient.h: Added.
(WebCore::FontSelectorClient::~FontSelectorClient):
- 5:34 AM Changeset in webkit [199721] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION (r199635) Web Inspector: Percentages in Heap Allocations view are too large
https://bugs.webkit.org/show_bug.cgi?id=156729
<rdar://problem/25796002>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-19
Reviewed by Timothy Hatcher.
- UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent):
Fix callsite that failed to be updated once percentageString
required 0..1 input instead of 0..100.
- 5:26 AM MathML/Fonts edited by
- (diff)
- 5:25 AM MathML/Fonts edited by
- (diff)
- 5:22 AM Changeset in webkit [199720] by
-
- 2 edits1 delete in trunk/LayoutTests
Unreviewed GTK+ gardening. Update CSP tests.
Rebaseline http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics.html after r197118 and
remove specific expectations of http/tests/security/contentSecurityPolicy/source-list-parsing-10.html.
- platform/gtk/http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics-expected.txt:
- platform/gtk/http/tests/security/contentSecurityPolicy/source-list-parsing-10-expected.txt: Removed.
- 5:15 AM MathML/Fonts edited by
- (diff)
- 5:10 AM MathML/Fonts edited by
- (diff)
- 4:55 AM MathML/Fonts edited by
- (diff)
- 4:54 AM MathML/Fonts edited by
- (diff)
- 4:35 AM Changeset in webkit [199719] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Rebaseline fast/events/updateLayoutForHitTest.html after r195263.
- platform/gtk/fast/events/updateLayoutForHitTest-expected.txt:
- 4:21 AM WebKitGTK/2.12.x edited by
- (diff)
- 4:16 AM MathML/Fonts edited by
- (diff)
- 4:10 AM Changeset in webkit [199718] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Rebaseline fast/transforms/bounding-rect-zoom.html after r197450.
- platform/gtk/fast/transforms/bounding-rect-zoom-expected.txt:
- 3:59 AM Changeset in webkit [199717] by
-
- 6 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Rebaseline tests after r199659.
We are now using the theme colors for the menu lists text.
- platform/gtk/fast/forms/basic-selects-expected.txt:
- platform/gtk/fast/forms/disabled-select-change-index-expected.txt:
- platform/gtk/fast/forms/menulist-style-color-expected.txt:
- platform/gtk/fast/forms/select-baseline-expected.txt:
- platform/gtk/fast/forms/select-disabled-appearance-expected.txt:
- 3:32 AM Changeset in webkit [199716] by
-
- 6 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Rebaseline tests after r199034.
- platform/gtk/fast/block/float/016-expected.txt:
- platform/gtk/fast/css/bidi-override-in-anonymous-block-expected.txt:
- platform/gtk/media/video-zoom-controls-expected.txt:
- platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
- platform/gtk/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
- 3:28 AM MathML edited by
- (diff)
- 3:23 AM MathML/Fonts created by
- 2:50 AM Changeset in webkit [199715] by
-
- 5 edits1 add in trunk
[GTK] accessibility/gtk/entry-and-password.html is failing since r194847
https://bugs.webkit.org/show_bug.cgi?id=153062
Reviewed by Carlos Garcia Campos.
Source/WebCore:
The changes in r194847 include using WebCore's rendering for the CapsLock indicator.
As a side effect, password inputs gained a TextControlInnerTextElement child from
the Shadow DOM. If we include that child in the accessibility tree, the child will
emit focus and text notifications that suggest the user is no longer in the control.
This can be especially problematic for screen reader users with key echo enabled
when typing in a password input. To fix this, prune TextControlInnerTextElement
children from the accessibility tree for ATK.
No new tests as existing coverage caught this regression. Also modified the
auto-fill-crash.html test whose expectations include the children count for
a text input.
- accessibility/atk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
LayoutTests:
The auto-fill-crash.html test has expectations which include the children
count for the text input. These expectations were incorrect for ATK where
accessible text inputs lack accessible text children.
- accessibility/auto-fill-crash.html: Modified to take platform into account.
- platform/gtk/TestExpectations: Unskipped entry-and-password.html.
- platform/gtk/accessibility/auto-fill-crash-expected.txt: Added.
- 2:22 AM Changeset in webkit [199714] by
-
- 3 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Rebaseline tests after r190840.
- platform/gtk/fast/html/details-remove-summary-1-and-click-expected.txt:
- platform/gtk/fast/html/details-remove-summary-4-and-click-expected.txt:
- 2:16 AM Changeset in webkit [199713] by
-
- 5 edits1 delete in trunk/Source/WTF
[GTK] Use Generic WorkQueue instead of WorkQueueGLib
https://bugs.webkit.org/show_bug.cgi?id=156721
Reviewed by Benjamin Poulain.
WorkQueueGLib includes platform-dependent part only for WorkQueue::dispatchAfter.
However, its code is related to RunLoopGLib rather than WorkQueueGLib.
In this patch, we move the code from WorkQueueGLib to RunLoopGLib, drop WorkQueueGLib
and use WorkQueueGeneric.
- wtf/PlatformGTK.cmake:
- wtf/RunLoop.h:
- wtf/WorkQueue.h:
- wtf/glib/RunLoopGLib.cpp:
(WTF::DispatchAfterContext::DispatchAfterContext):
(WTF::DispatchAfterContext::dispatch):
(WTF::RunLoop::dispatchAfter):
- wtf/glib/WorkQueueGLib.cpp: Removed.
(WTF::WorkQueue::platformInitialize): Deleted.
(WTF::WorkQueue::platformInvalidate): Deleted.
(WTF::WorkQueue::dispatch): Deleted.
(WTF::DispatchAfterContext::DispatchAfterContext): Deleted.
(WTF::DispatchAfterContext::~DispatchAfterContext): Deleted.
(WTF::DispatchAfterContext::dispatch): Deleted.
(WTF::WorkQueue::dispatchAfter): Deleted.
- 1:47 AM Changeset in webkit [199712] by
-
- 29 edits1 add in trunk
calling super() a second time in a constructor should throw
https://bugs.webkit.org/show_bug.cgi?id=151113
Reviewed by Saam Barati and Keith Miller.
Source/JavaScriptCore:
Currently, our implementation checks if 'super()' was called in a constructor more
than once and raises a RuntimeError before the second call. According to the spec
we need to raise an error just after the second super() is finished and before
the new 'this' is assigned https://esdiscuss.org/topic/duplicate-super-call-behaviour.
To implement this behavior this patch adds a new op code, op_is_empty, that is used
to check if 'this' is empty.
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitIsEmpty):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::FunctionCallValueNode::emitBytecode):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- 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/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileIsEmpty):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_is_empty):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_is_empty):
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- tests/stress/class-syntax-double-constructor.js: Added.
LayoutTests:
- js/class-syntax-super-expected.txt:
- js/script-tests/class-syntax-super.js:
- 12:21 AM Changeset in webkit [199711] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, rolling out r199658.
https://bugs.webkit.org/show_bug.cgi?id=156736
It broke all EFL layout tests (Requested by KaL on #webkit).
Reverted changeset:
"[UNIX] Initialize WebKit before the platform initializations"
https://bugs.webkit.org/show_bug.cgi?id=156622
http://trac.webkit.org/changeset/199658
Apr 18, 2016:
- 11:54 PM Changeset in webkit [199710] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC] Fix some overhead affecting small codegen
https://bugs.webkit.org/show_bug.cgi?id=156728
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-18
Reviewed by Filip Pizlo.
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::AbstractMacroAssembler):
(JSC::AbstractMacroAssembler::random):
cryptographicallyRandomNumber() is very costly.
We only need it in lowering some very particular cases
of non-trusted immediates. No inline cache needs that.
- assembler/LinkBuffer.h:
(JSC::LinkBuffer::link):
- jit/JIT.h:
- jit/JITInlines.h:
(JSC::JIT::addSlowCase):
Do not copy the JumpList to access its elements.
- 11:33 PM Changeset in webkit [199709] by
-
- 2 edits in trunk/Source/WebKit2
Build fix after r199700
- PlatformMac.cmake:
- 11:02 PM Changeset in webkit [199708] by
-
- 23 edits in trunk/Source
Modern IDB (Blob support): When reading Blobs from the database, grant the Networking process sandbox access to the files.
https://bugs.webkit.org/show_bug.cgi?id=156640
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (No change in behavior, as blobs in IDB are not yet enabled,
but when they are enabled testing will cover this).
- Modules/indexeddb/shared/IDBResultData.h: Export some stuff
- fileapi/ThreadableBlobRegistry.cpp:
(WebCore::ThreadableBlobRegistry::registerBlobURLOptionallyFileBacked): Account for
BlobRegistry change described below.
- platform/network/BlobRegistry.h: Change registerBlobURLOptionallyFileBacked to take a BlobDataFileReference instead of a raw path, to allow WK2 to include a sandbox extension.
- platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::registerBlobURL): Account for BlobRegistry change described above.
(WebCore::BlobRegistryImpl::registerBlobURLOptionallyFileBacked): Use the passed in
BlobDataFileHandle, and also register the BlobResourceHandle constructor.
- platform/network/BlobRegistryImpl.h:
Source/WebKit2:
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::getSandboxExtensionsForBlobFiles): Utility function to ask the UI process for
SandboxExtensions for a list of files.
(WebKit::DatabaseProcess::didGetSandboxExtensionsForBlobFiles): Take the SandboxExtensions from the UI process
and pass them along to the completion handler.
- DatabaseProcess/DatabaseProcess.h:
- DatabaseProcess/DatabaseProcess.messages.in:
- DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
(WebKit::WebIDBConnectionToClient::didGetRecord): If the value returned from the database doesn't have Blob files,
pass the result directly on to WebCore. If it does, ask the UI process for SandboxExtensions first.
- NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::registerBlobURLOptionallyFileBacked): Grab the BlobDataFileReference from the
NetworkConnectionToWebProcess to pass along to the BlobRegistry.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::preregisterSandboxExtensionsForOptionallyFileBackedBlob): Add this message
so the WebProcess can preflight the creation of some blob URLs by passing along the SandboxExtensions for their files.
(WebKit::NetworkConnectionToWebProcess::takeBlobDataFileReferenceForPath):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- UIProcess/Databases/DatabaseProcessProxy.cpp:
(WebKit::DatabaseProcessProxy::getSandboxExtensionsForBlobFiles): Create SandboxExtensions for the passed in files and
return them to the DatabaseProcess.
- UIProcess/Databases/DatabaseProcessProxy.h:
- UIProcess/Databases/DatabaseProcessProxy.messages.in:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::didGetRecordWithSandboxExtensions): New form of "didGetRecord" that handles passing
the SandboxExtensions to the Networking process before they are needed.
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in:
- WebProcess/FileAPI/BlobRegistryProxy.cpp:
(WebKit::BlobRegistryProxy::registerBlobURLOptionallyFileBacked):
- WebProcess/FileAPI/BlobRegistryProxy.h:
- 10:08 PM Changeset in webkit [199707] by
-
- 2 edits in trunk/Source/WebCore
Fix iOS build after r199701
- platform/ios/WebAVPlayerController.mm:
- 10:05 PM Changeset in webkit [199706] by
-
- 2 edits in trunk/Source/WebCore
Updated binding test result to reflect the change to not use Deprecated::ScriptValue.
- bindings/scripts/test/JS/JSTestObj.cpp: Regenerated with new script.
- 9:05 PM Changeset in webkit [199705] by
-
- 2 edits in trunk/Tools
Fixed building with old Xcode.
- TestWebKitAPI/Tests/WebKit2Cocoa/Preferences.mm:
(TEST):
- 7:58 PM Changeset in webkit [199704] by
-
- 10 edits in trunk/Source/WebCore
Remove all use of Deprecated::ScriptValue in generated bindings
https://bugs.webkit.org/show_bug.cgi?id=156706
Reviewed by Brady Eidson.
- Modules/indexeddb/IDBCursor.idl: Removed unneeded [ImplementationReturnType=JSValue].
- Modules/indexeddb/IDBCursorWithValue.idl: Ditto.
- Modules/indexeddb/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::lowerValue): Deleted.
(WebCore::IDBKeyRange::upperValue): Deleted.
(WebCore::IDBKeyRange::only): Changed to take ExecState since the old code just used
the ScriptExecutionContext to get back to the (potentially wrong) ExecState. Also kept
one overload that takes ScriptExecutionContext because I could not change all callers.
(WebCore::IDBKeyRange::lowerBound): Ditto.
(WebCore::IDBKeyRange::upperBound): Ditto.
(WebCore::IDBKeyRange::bound): Ditto.
- Modules/indexeddb/IDBKeyRange.h: Updated for above.
- Modules/indexeddb/IDBKeyRange.idl: Use [ImplementationReturnType=IDBKey].
Use ScriptState instead of ScriptExecutionContext.
- Modules/streams/ReadableStreamSource.h: Take JSValue instead of Deprecated::ScriptValue
for the ignored argument to the cancel function.
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::toJS): Renamed idbKeyToJSValue to this, the traditional name used in the
bindings generator for all these functions. Also changed to take references.
(WebCore::injectIDBKeyIntoScriptValue): Updated to call with the new name and types.
(WebCore::idbKeyDataToScriptValue): Ditto.
- bindings/js/IDBBindingUtilities.h: Added declaration of toJS for IDBKey.
- bindings/scripts/CodeGeneratorJS.pm: Use JSC::JSValue instead of Deprecated::ScriptValue
for the "any" type.
(JSValueToNative): Just return the value with no transformation when type is "any".
(NativeToJSValue): Changed default behavior for "any" to just pass the value as is with
no transfomration. Removed unused ImplementationReturnType case for inside Document.
Removed JSValue case since it's the default now. Added IDBKey case that matches the
IDBKeyPath case (still wondering if we can do those without an attribute). Removed bogus
second check for type "any".
- 7:33 PM Changeset in webkit [199703] by
-
- 14 edits in trunk
[GTK] Possible off-by-one in hyphenation code
https://bugs.webkit.org/show_bug.cgi?id=156661
Patch by Martin Robinson <mrobinson@igalia.com> on 2016-04-18
Reviewed by Michael Catanzaro.
Source/WebCore:
No new tests. This is covered by older tests.
- platform/text/hyphen/HyphenationLibHyphen.cpp:
(WebCore::lastHyphenLocation): Fix an off by one error in hyphen location.
LayoutTests:
- platform/gtk/TestExpectations: Unskip a test that is now passing.
- platform/gtk/fast/text/hyphenate-character-expected.png:
- platform/gtk/fast/text/hyphenate-character-expected.txt:
- platform/gtk/fast/text/hyphenate-first-word-expected.png:
- platform/gtk/fast/text/hyphenate-first-word-expected.txt:
- platform/gtk/fast/text/hyphenate-limit-before-after-expected.png:
- platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt:
- platform/gtk/fast/text/hyphenate-limit-lines-expected.png:
- platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
- platform/gtk/fast/text/hyphenate-locale-expected.png:
- platform/gtk/fast/text/hyphenate-locale-expected.txt:
- 7:18 PM Changeset in webkit [199702] by
-
- 3 edits in trunk/Source/WebKit2
New SPI to export a dictionary of runtime features
https://bugs.webkit.org/show_bug.cgi?id=156645
<rdar://problem/23621666>
Trying to fix GTK and EFL builds. I forgot to add files
to CMake.
- CMakeLists.txt:
- PlatformMac.cmake:
- 6:52 PM Changeset in webkit [199701] by
-
- 7 edits in trunk/Source/WebCore
[OSX] AVKit is not available on all systems
https://bugs.webkit.org/show_bug.cgi?id=156724
<rdar://problem/25501587>
Reviewed by Dean Jackson.
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm: Add _OPTIONAL to all AVKit softlink macros.
- platform/ios/WebAVPlayerController.mm: Ditto.
- platform/ios/WebPlaybackSessionInterfaceAVKit.mm: Ditto.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Ditto.
- platform/mac/WebPlaybackSessionInterfaceMac.mm: Ditto.
- platform/mac/WebVideoFullscreenInterfaceMac.mm: Ditto.
- 6:46 PM Changeset in webkit [199700] by
-
- 17 edits5 copies in trunk
New SPI to export a dictionary of runtime features
https://bugs.webkit.org/show_bug.cgi?id=156645
<rdar://problem/23621666>
Reviewed by Darin Adler.
Source/WebKit2:
Add a new type of Preference for experimental features so that we
can dynamically toggle them from a WebKit2 host. These are special
keys that are tied to runtime flags. The host process can ask WebKit
for the list of keys, each with a small description, in order to
display UI.
- Add HumanReadableName and HumanReadableDescription parameters to our macros, which are used when building a ExperimentalFeature. These are both empty strings for the existing preferences. At some point we should probably move all this to code generation rather than macros, so that we don't have to carry around unused parameters.
- I've included two sample experimental features: WebGL2 and ShadowDOM. They are not actually hooked up to the runtime settings yet, but its pretty clear how that will happen. Note that these are new preferences that have an "Experimental" prefix. This is so toggling an experimental feature to off won't cause the feature to not work once it becomes stable enough to enable by default. In other words, when it moves out of the experimental stage, the experimental feature flag will be removed, and you'll no longer check for values with that key.
- The ExperimentalFeature object is what the host process will read in order to show some UI. It contains the human readable info, as well as the actual key that can be used to query and toggle the experimental feature.
- Shared/API/APIObject.h: Add the ExperimentalFeature.
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject): Exposes a wrapper around a _WKExperimentalFeature ObjC type.
- Shared/WebPreferencesDefinitions.h: Change all the existing macros to take the new
parameters, and add the initial experimental keys.
- Shared/WebPreferencesKeys.cpp: Add new parameters to existing macros.
- Shared/WebPreferencesKeys.h: Ditto.
- Shared/WebPreferencesStore.cpp: Ditto.
(WebKit::defaults):
- UIProcess/API/APIExperimentalFeature.cpp: The API side of the ExperimentalFeature.
(API::ExperimentalFeature::create):
(API::ExperimentalFeature::ExperimentalFeature):
(API::ExperimentalFeature::~ExperimentalFeature):
- UIProcess/API/APIExperimentalFeature.h:
- UIProcess/API/Cocoa/WKPreferences.mm: The actual implementation of the SPI.
(+[WKPreferences _experimentalFeatures]): Create and return a list of feature descriptors.
(-[WKPreferences _isEnabledForFeature:]): Get the value.
(-[WKPreferences _setEnabled:forFeature:]): Set the value.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/API/Cocoa/_WKExperimentalFeature.h: The ObjC version.
- UIProcess/API/Cocoa/_WKExperimentalFeature.mm:
(-[_WKExperimentalFeature dealloc]):
(-[_WKExperimentalFeature description]):
(-[_WKExperimentalFeature name]):
(-[_WKExperimentalFeature key]):
(-[_WKExperimentalFeature details]):
(-[_WKExperimentalFeature _apiObject]):
- UIProcess/API/Cocoa/_WKExperimentalFeatureInternal.h: Implementation of the wrapper.
(WebKit::wrapper):
- UIProcess/WebPreferences.cpp: The C++ implementation that provides the data for the ObjC API.
(WebKit::globalExperimentalFeatures):
(WebKit::WebPreferences::ExperimentalFeatures):
(WebKit::WebPreferences::isEnabledForFeature):
(WebKit::WebPreferences::setEnabledForFeature):
- UIProcess/WebPreferences.h:
- UIProcess/mac/WebPreferencesMac.mm: Update some macros.
(WebKit::WebPreferences::platformInitializeStore):
- WebProcess/WebPage/WebPage.cpp: Ditto
(WebKit::WebPage::updatePreferences):
- WebKit2.xcodeproj/project.pbxproj: Add the new files.
Tools:
Test the experimental features SPI on WKPreferences.
- TestWebKitAPI/Tests/WebKit2Cocoa/Preferences.mm:
- 6:38 PM Changeset in webkit [199699] by
-
- 33 edits in trunk/Source/JavaScriptCore
implement dynamic scope accesses in the DFG/FTL
https://bugs.webkit.org/show_bug.cgi?id=156567
Reviewed by Geoffrey Garen.
This patch adds dynamic scope operations to the DFG/FTL.
This patch adds three new DFG nodes: ResolveScope, PutDynamicVar and GetDynamicVar.
When we encounter a Dynamic/UnresolvedProperty/UnresolvedPropertyWithVarInjectionChecks
resolve type, we will compile dynamic scope resolution nodes. When we encounter
a resolve type that needs var injection checks and the var injection
watchpoint has already been fired, we will compile dynamic scope resolution
nodes.
This patch also adds a new value to the InitializationMode enum: ConstInitialization.
There was a subtle bug where we used to never compile the var injection variant of the
resolve type for an eval that injected a var where there was also a global lexical variable with the same name.
For example, the store compiled in this eval("var foo = 20;") wouldn't be compiled
with var injection checks if there was global let/const variable named "foo".
So there was the potential for the injected var to store to the GlobalLexicalObject.
I found this bug because my initial implementation in the DFG/FTL ran into it.
The reason this bug existed is because when we compile a const initialization,
we never need a var injections check. The const initialization always
knows where to store its value. This same logic leaked into the above eval's
"var foo = 20" store. This new enum value allows us to distinguish const
initialization stores from non-const initialization stores.
(I also changed InitializationMode to be an enum class instead of an enum).
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::initializeBlockScopedFunctions):
(JSC::BytecodeGenerator::hoistSloppyModeFunctionIfNecessary):
(JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration):
(JSC::BytecodeGenerator::emitGetFromScope):
(JSC::BytecodeGenerator::initializeVariable):
(JSC::BytecodeGenerator::emitInstanceOf):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::pushScopedControlFlowContext):
(JSC::BytecodeGenerator::emitPutNewTargetToArrowFunctionContextScope):
(JSC::BytecodeGenerator::emitPutDerivedConstructorToArrowFunctionContextScope):
(JSC::BytecodeGenerator::emitPutThisToArrowFunctionContextScope):
- bytecompiler/NodesCodegen.cpp:
(JSC::PostfixNode::emitResolve):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::initializationModeForAssignmentContext):
(JSC::AssignResolveNode::emitBytecode):
(JSC::EmptyLetExpression::emitBytecode):
(JSC::ForInNode::emitLoopHeader):
(JSC::ForOfNode::emitBytecode):
(JSC::ClassExprNode::emitBytecode):
(JSC::BindingNode::bindValue):
(JSC::AssignmentElementNode::bindValue):
(JSC::RestParameterNode::emit):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::noticeArgumentsUse):
(JSC::DFG::ByteCodeParser::promoteToConstant):
(JSC::DFG::ByteCodeParser::needsDynamicLookup):
(JSC::DFG::ByteCodeParser::planLoad):
(JSC::DFG::ByteCodeParser::parseBlock):
- 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/DFGNode.h:
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::identifierNumber):
(JSC::DFG::Node::hasGetPutInfo):
(JSC::DFG::Node::getPutInfo):
(JSC::DFG::Node::hasAccessorAttributes):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutGetterSetterById):
(JSC::DFG::SpeculativeJIT::compileResolveScope):
(JSC::DFG::SpeculativeJIT::compileGetDynamicVar):
(JSC::DFG::SpeculativeJIT::compilePutDynamicVar):
(JSC::DFG::SpeculativeJIT::compilePutAccessorByVal):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compare):
(JSC::FTL::DFG::LowerDFGToB3::compileResolveScope):
(JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar):
(JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar):
(JSC::FTL::DFG::LowerDFGToB3::compareEqObjectOrOtherToObject):
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):
- llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/GetPutInfo.h:
(JSC::resolveModeName):
(JSC::initializationModeName):
(JSC::isInitialization):
(JSC::makeType):
(JSC::GetPutInfo::GetPutInfo):
- runtime/JSScope.cpp:
(JSC::abstractAccess):
- 5:25 PM Changeset in webkit [199698] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test fix after r199696.
- inspector/console/x-frame-options-message-expected.txt: Rebaseline.):
- 5:21 PM Changeset in webkit [199697] by
-
- 4 edits in trunk
WebKit should adopt journal_mode=wal for all SQLite databases.
https://bugs.webkit.org/show_bug.cgi?id=133496
Reviewed by Brady Eidson.
Enabling sqlite3 WAL mode on iOS causes a test failure, but appears just be something that should fail still failing, only in a different way.
Enabling & marking test as failing for now. Tracking test failure here:
Source/WebCore:
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open):
- enable on iOS.
LayoutTests:
- platform/ios-simulator/TestExpectations:
- storage/websql/alter-to-info-table.html [ Failure ]
- 4:07 PM Changeset in webkit [199696] by
-
- 8 edits in trunk
Source/WebCore:
Remove support for X-Frame-Options in<meta>
https://bugs.webkit.org/show_bug.cgi?id=156625
<rdar://problem/25748714>
Rubberstamped by Darin Adler.
- dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Revise messaging based on Darin's comments.
LayoutTests:
Crash in ElementDescendantIterator::operator--() when calling m_ancestorSiblingStack.last()
https://bugs.webkit.org/show_bug.cgi?id=156715
<rdar://problem/25750864>
Patch by Chris Dumez <Chris Dumez> on 2016-04-18
Reviewed by Antti Koivisto.
Add regression test that reproduced the crash.
- fast/dom/collection-backward-traversal-crash-expected.txt: Added.
- fast/dom/collection-backward-traversal-crash.html: Added.
- 4:00 PM Changeset in webkit [199695] by
-
- 12 edits1 add in trunk/Source/WebKit2
Swipe view gesture should be reversed in right-to-left contexts
https://bugs.webkit.org/show_bug.cgi?id=156714
Reviewed by Anders Carlsson.
- UIProcess/API/gtk/PageClientImpl.h:
- UIProcess/PageClient.h:
- UIProcess/UserInterfaceLayoutDirection.h: Added.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::userInterfaceLayoutDirection):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::userInterfaceLayoutDirection):
- UIProcess/mac/PageClientImpl.h:
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::userInterfaceLayoutDirection):
Plumb RTL-ness through to WebPageProxy.
We look at the WK(Web)View's UI layout direction.
For other platforms, we just assume LTR.
- UIProcess/mac/ViewGestureController.h:
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe):
Decide which way to swipe (and which way to look for back-forward items)
based on the WebPageProxy's reported RTLness.
(WebKit::ViewGestureController::isPhysicallySwipingLeft):
"Back" means "swiping left" in LTR and "swiping right" in RTL.
(WebKit::ViewGestureController::trackSwipeGesture):
(WebKit::ViewGestureController::determineLayerAdjacentToSnapshotForParent):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::handleSwipeGesture):
Make things that were equating "back" with "left" instead check isPhysicallySwipingLeft.
- 3:59 PM Changeset in webkit [199694] by
-
- 12 edits3 copies5 adds1 delete in trunk
[JSCOnly] Implement RunLoop and remove glib dependency
https://bugs.webkit.org/show_bug.cgi?id=155706
Reviewed by Michael Catanzaro.
.:
- Source/cmake/OptionsJSCOnly.cmake:
Source/WTF:
Add missing RunLoop and WorkQueue platform code for JSCOnly port.
The implementation does not use platform specific things. Instead, we
implement them on WTF framework; using condition variables to construct
the run loop and timers.
Since the fallback is implemented, it is not necessary for JSCOnly port
to depend on GLib's RunLoop abstraction. So this patch removes its
dependency. As a result, now, JSCOnly port removes dependencies except for the system ICU.
We clean up event loop ifdefs by introducing USE_XXX_EVENT_LOOP flags.
USE(XXX_EVENT_LOOP) is exclusive to each other. So from now, we do not need to take care
of the order of if-defs for the event loops. (For example, USE(GLIB) should have lead before
OS(DARWIN) in WorkQueue.h for WebKitGTK on Darwin.)
EVENT_LOOP determination is done in Platform.h. This follows the style of WTF PLATFORM.
- wtf/Platform.h:
- wtf/PlatformJSCOnly.cmake:
- wtf/RunLoop.h:
- wtf/WorkQueue.h:
- wtf/generic/MainThreadGeneric.cpp: Renamed from Source/WTF/wtf/none/MainThreadNone.cpp.
(WTF::initializeMainThreadPlatform):
(WTF::scheduleDispatchFunctionsOnMainThread):
- wtf/generic/RunLoopGeneric.cpp: Added.
(WTF::RunLoop::TimerBase::ScheduledTask::create):
(WTF::RunLoop::TimerBase::ScheduledTask::ScheduledTask):
(WTF::RunLoop::TimerBase::ScheduledTask::fired):
(WTF::RunLoop::TimerBase::ScheduledTask::scheduledTimePoint):
(WTF::RunLoop::TimerBase::ScheduledTask::updateReadyTime):
(WTF::RunLoop::TimerBase::ScheduledTask::EarliestSchedule::operator()):
(WTF::RunLoop::TimerBase::ScheduledTask::isActive):
(WTF::RunLoop::TimerBase::ScheduledTask::deactivate):
(WTF::RunLoop::RunLoop):
(WTF::RunLoop::~RunLoop):
(WTF::RunLoop::populateTasks):
(WTF::RunLoop::runImpl):
(WTF::RunLoop::run):
(WTF::RunLoop::iterate):
(WTF::RunLoop::stop):
(WTF::RunLoop::wakeUp):
(WTF::RunLoop::schedule):
(WTF::RunLoop::scheduleAndWakeUp):
(WTF::RunLoop::dispatchAfter):
(WTF::RunLoop::TimerBase::TimerBase):
(WTF::RunLoop::TimerBase::~TimerBase):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::TimerBase::stop):
(WTF::RunLoop::TimerBase::isActive):
- wtf/generic/WorkQueueGeneric.cpp: Added.
(WorkQueue::platformInitialize):
(WorkQueue::platformInvalidate):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfter):
- wtf/none/MainThreadNone.cpp:
(WTF::initializeMainThreadPlatform): Deleted.
(WTF::scheduleDispatchFunctionsOnMainThread): Deleted.
- wtf/none/RunLoopNone.cpp:
(WTF::RunLoop::RunLoop): Deleted.
(WTF::RunLoop::~RunLoop): Deleted.
(WTF::RunLoop::run): Deleted.
(WTF::RunLoop::stop): Deleted.
(WTF::RunLoop::wakeUp): Deleted.
(WTF::RunLoop::TimerBase::TimerBase): Deleted.
(WTF::RunLoop::TimerBase::~TimerBase): Deleted.
(WTF::RunLoop::TimerBase::start): Deleted.
(WTF::RunLoop::TimerBase::stop): Deleted.
(WTF::RunLoop::TimerBase::isActive): Deleted.
- wtf/none/WorkQueueNone.cpp:
(WorkQueue::platformInitialize): Deleted.
(WorkQueue::platformInvalidate): Deleted.
(WorkQueue::dispatch): Deleted.
(WorkQueue::dispatchAfter): Deleted.
Tools:
Add TestWTF to JSCOnly port to test WorkQueue and RunLoop.
Platform specific ones locate under jsconly directory since
it is notgeneric(Since it includes the GLIB event loop case).
- CMakeLists.txt:
- TestWebKitAPI/PlatformJSCOnly.cmake: Added.
- TestWebKitAPI/PlatformUtilities.h:
- TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/config.h:
- TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp: Renamed from Source/WTF/wtf/none/RunLoopNone.cpp.
(TestWebKitAPI::Util::run):
(TestWebKitAPI::Util::sleep):
- TestWebKitAPI/jsconly/main.cpp: Renamed from Source/WTF/wtf/none/WorkQueueNone.cpp.
(main):
- 3:36 PM Changeset in webkit [199693] by
-
- 3 edits2 adds in trunk
Crash in ElementDescendantIterator::operator--() when calling m_ancestorSiblingStack.last()
https://bugs.webkit.org/show_bug.cgi?id=156715
<rdar://problem/25750864>
Reviewed by Antti Koivisto.
Source/WebCore:
Fix correctness of ElementDescendantIterator::operator--(). The last element
in the m_ancestorSiblingStack stack is nullptr. However, if our parent does
not have a sibling, m_current->nextSibling() == m_ancestorSiblingStack.last()
would be true and we would end up removing the nullptr element from
m_ancestorSiblingStack. We would crash on a follow-up call to operator--()
because m_ancestorSiblingStack.last() would do an out-of-bound access, given
that m_ancestorSiblingStack is empty.
Test: fast/dom/collection-backward-traversal-crash.html
- dom/ElementDescendantIterator.h:
(WebCore::ElementDescendantIterator::operator--):
LayoutTests:
Add regression test that reproduced the crash.
- fast/dom/collection-backward-traversal-crash-expected.txt: Added.
- fast/dom/collection-backward-traversal-crash.html: Added.
- 3:29 PM Changeset in webkit [199692] by
-
- 8 edits in trunk/Source
Fix build with newer versions of clang.
rdar://problem/25749769
Source/WebCore:
Forward declare performClose:.
- platform/mac/WebCoreFullScreenWindow.mm:
Source/WebKit/mac:
- WebCoreSupport/WebContextMenuClient.mm:
- WebView/WebHTMLView.mm:
Forward declare some AppKit IPI.
Source/WebKit2:
- UIProcess/Cocoa/WebViewImpl.mm:
- UIProcess/mac/WebPageProxyMac.mm:
Forward declare some AppKit IPI.
- 3:28 PM Changeset in webkit [199691] by
-
- 17 edits in trunk/Source
Source/WebCore:
Declare a virtual function in PluginStrategy to be implemented by subclasses.
https://bugs.webkit.org/show_bug.cgi?id=156540
Patch by Tina Liu <iting_liu@apple.com> on 2016-04-18
Reviewed by Anders Carlsson.
- plugins/PluginStrategy.h:
Source/WebKit/mac:
Overrode a virtual function of WebCore::PluginStrategy
https://bugs.webkit.org/show_bug.cgi?id=156540
Patch by Tina Liu <iting_liu@apple.com> on 2016-04-18
Reviewed by Anders Carlsson.
- WebCoreSupport/WebPlatformStrategies.h:
- WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::setPrivateBrowsingPluginLoadClientPolicy):
Source/WebKit2:
Implement functions to set plug-in load policies for private browsing mode
https://bugs.webkit.org/show_bug.cgi?id=156540
Patch by Tina Liu <iting_liu@apple.com> on 2016-04-18
Reviewed by Anders Carlsson.
This patch implements API and wrappers for clients to set policies to use when using
private browsing. WebPlatformStrategies would return which policies to use depending
on whether the page is in private browsing mode.
- Shared/WebProcessCreationParameters.h:
Add a hash map for plug-in load policies for private browsing.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- UIProcess/API/C/mac/WKContextPrivateMac.h:
- UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextSetPrivateBrowsingPluginLoadClientPolicy):
Add a wrapper.
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess):
Set the WebProcessCreationParameters's pluginLoadClientPoliciesForPrivateBrowsing.
(WebKit::WebProcessPool::setPluginLoadClientPolicyForBrowsingMode):
A helper function that sets plug-in policies to the corresponding instance variable:
m_pluginLoadClientPolicies for general browsing and m_pluginLoadClientPoliciesForPrivateBrowsing
for private browsing. The logic is extracted from the original setPluginLoadClientPolicy.
While we are here, get rid of the .contains() lookup as .get() will just return a
constructed object if the key is not found.
(WebKit::WebProcessPool::setPluginLoadClientPolicy):
Switch to use the helper function to set policies.
(WebKit::WebProcessPool::setPrivateBrowsingPluginLoadClientPolicy):
Ditto. Also send a message to the WebProcess for setting policies for private browsing.
(WebKit::WebProcessPool::clearPluginClientPolicies):
Clear plug-ins' private browsing policies.
- WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::setPluginLoadClientPolicyForBrowsingMode):
Ditto as WebProcessPool::setPluginLoadClientPolicyForBrowsingMode.
(WebKit::WebPlatformStrategies::setPluginLoadClientPolicy):
Switch to use setPluginLoadClientPolicyForBrowsingMode to set policies.
(WebKit::WebPlatformStrategies::setPrivateBrowsingPluginLoadClientPolicy):
Use setPluginLoadClientPolicyForBrowsingMode to set policies for private browsing.
(WebKit::WebPlatformStrategies::clearPluginClientPolicies):
Clear plug-ins' private browsing policies.
(WebKit::WebPlatformStrategies::longestMatchedWildcardHostForHost):
Add an argument for private browsing. Read from the corresponding ivar.
(WebKit::WebPlatformStrategies::replaceHostWithMatchedWildcardHost):
Ditto.
(WebKit::WebPlatformStrategies::pluginLoadClientPolicyForHost): Deleted.
Renamed this function as pluginLoadClientPolicyForHostForBrowsingMode.
(WebKit::WebPlatformStrategies::pluginLoadClientPolicyForHostForBrowsingMode):
Ditto.
(WebKit::WebPlatformStrategies::populatePluginCache):
Get the plug-in load policies for a specific host based on the page's session status. If the page
is using ephemeral session, use the private browsing policies.
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
Switch to call the helper function setPluginLoadClientPolicyFromCreationParameters.
(WebKit::WebProcess::setPluginLoadClientPolicies):
Logic moved from initializeWebProcess. Call PluginStrategy::setPluginLoadClientPolicy or
PluginStrategy::setPrivateBrowsingPluginLoadClientPolicy depending on the input argument.
(WebKit::WebProcess::setPrivateBrowsingPluginLoadClientPolicy):
Add a wrapper to call PluginStrategy::setPrivateBrowsingPluginLoadClientPolicy.
- WebProcess/WebProcess.messages.in:
Declare an entry for setPrivateBrowsingPluginLoadClientPolicy.
- 3:09 PM Changeset in webkit [199690] by
-
- 2 edits in trunk/Source/JavaScriptCore
Disable AVX.
Rubber stampted by Benjamin Poulain.
AVX is silly. If you use it and some of your other code isn't careful with float register bits, you
will run 10x slower. We could fix the underlying issue, but it's better to stay away from this odd
instruction subset.
This fixes a massive regression on some real code.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::supportsAVX):
(JSC::MacroAssemblerX86Common::updateEax1EcxFlags):
- 2:53 PM Changeset in webkit [199689] by
-
- 3 edits in trunk
Unreviewed revert accidental ChangeLog modifications.
- 2:50 PM Changeset in webkit [199688] by
-
- 3 edits in trunk
Web Inspector: sourceMappingURL not used when sourceURL is set
https://bugs.webkit.org/show_bug.cgi?id=156021
<rdar://problem/25438417>
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
Clean up Debugger.sourceParsed to separately include:
- url ("resource URL", "source url" in JSC APIs)
- sourceURL - # sourceURL directive
By always having the resource URL the Web Inspector frontend
can better match this Script to a Resource of the same URL,
and decide to use the sourceURL if it is available when
appropriate.
- inspector/protocol/Debugger.json:
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::didParseSource):
Send the new sourceParsed parameters.
Source/WebInspectorUI:
Previously Debugger.sourceParsed only providing the sourceURL, and
wiping out the resourceURL, meant that a Script from a Resource that
set a sourceURL directive would fail to be associated with its Resource.
This would result in duplicated tree elements in the Resources Sidebar,
one for the Resource, and one for the Script. With the Script getting
ultimately getting the SourceMap resources. However, since the frontend
prefers Resources over Scripts when possible, an error that generated
from the script would point to a location in the Resource, not following
source maps.
By always providing the resource URL in Debugger.sourceParsed, a Script
can better be associated with its Resource. The result is now a single
shared tree element in the Resources Sidebar, and the Resource getting
the SourceMap resources. Now the script error goes through the Resource
to its SourceMap resources as we would expect.
- UserInterface/Protocol/DebuggerObserver.js:
(WebInspector.DebuggerObserver):
(WebInspector.DebuggerObserver.prototype.scriptParsed):
We now have to handle two different signatures of scriptParsed. One
for legacy, and one for non-legacy. Cache that value early on, since
scriptParsed happens a lot.
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Agent.prototype.hasEventParameter):
Runtime check a protocol event to see if it has a parameter. This
is used to check if Debugger.sourceParsed is legacy or not based
on if it has the legacy "hasSourceURL" parameter.
- UserInterface/Models/Script.js:
(WebInspector.Script):
(WebInspector.Script.prototype.get sourceURL):
Treat sourceURL and url separately.
(WebInspector.Script.prototype.get displayName):
Handle both the url and sourceURL in displayName.
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.get knownNonResourceScripts):
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
(WebInspector.DebuggerManager.prototype.scriptDidParse):
- UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject.prototype.findFunctionSourceCodeLocation):
Update code that checks the sourceURL to explicitly use sourceURL.
- UserInterface/Controllers/SourceMapManager.js:
(WebInspector.SourceMapManager.prototype.downloadSourceMap):
For legacy backends, or in case we get a resource that has an incomplete
baseURL, attempt to get an absolute URL based on the main resource.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype._addScript):
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
Ignore scripts without a url or sourceURL.
LayoutTests:
- inspector/debugger/scriptParsed.html:
- inspector/debugger/search-scripts.html:
- inspector/debugger/setBreakpointByUrl-sourceURL.html:
- inspector/debugger/sourceURLs.html:
Update tests that need to handle sourceURL separately.
- inspector/model/resources/relationship-named.js: Added.
- inspector/model/resources/relationship-normal.js: Added.
- inspector/model/script-resource-relationship-expected.txt: Added.
- inspector/model/script-resource-relationship.html: Added.
Tests for Script and Resource relationships.
- 1:50 PM Changeset in webkit [199687] by
-
- 2 edits in trunk/Source/WebCore
[iOS] don't toggle playback when media engine rate changes
https://bugs.webkit.org/show_bug.cgi?id=156705
<rdar://problem/25779175>
Reviewed by Jer Noble.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::rateChanged): Don't send the play/pause command
unless the player item state is >= MediaPlayerAVPlayerItemStatusPlaybackBufferFull and
the rate change is unexpected.
- 1:33 PM Changeset in webkit [199686] by
-
- 10 edits in trunk/Source/JavaScriptCore
ToThis should have a fast path based on type info flags
https://bugs.webkit.org/show_bug.cgi?id=156712
Reviewed by Geoffrey Garen.
Prior to this change, if we couldn't nail down the type of ToThis to something easy, we'd emit code
that would take slow path if the argument was not a final object. We'd end up taking that slow path
a lot.
This adds a type info flag for ToThis having non-obvious behavior and changes the DFG and FTL paths
to test this flag. This is a sub-1% speed-up on SunSpider and Octane.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileToThis):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::create):
- runtime/JSLexicalEnvironment.h:
(JSC::JSLexicalEnvironment::create):
- runtime/JSString.h:
- runtime/JSTypeInfo.h:
(JSC::TypeInfo::overridesGetOwnPropertySlot):
(JSC::TypeInfo::interceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero):
(JSC::TypeInfo::structureIsImmortal):
(JSC::TypeInfo::overridesToThis):
(JSC::TypeInfo::overridesGetPropertyNames):
(JSC::TypeInfo::prohibitsPropertyCaching):
(JSC::TypeInfo::getOwnPropertySlotIsImpure):
- runtime/StrictEvalActivation.h:
(JSC::StrictEvalActivation::create):
- runtime/Symbol.h:
- 1:28 PM Changeset in webkit [199685] by
-
- 2 edits in trunk/Source/JavaScriptCore
Check to see how the perf bots react to megamorphic load being disabled.
Rubber stamped by Chris Dumez.
- runtime/Options.h:
- 1:26 PM Changeset in webkit [199684] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix iOS9 build after r199682.
- platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
- 1:02 PM Changeset in webkit [199683] by
-
- 21 edits in trunk/Source/JavaScriptCore
We should support delete in the DFG
https://bugs.webkit.org/show_bug.cgi?id=156607
Reviewed by Benjamin Poulain.
This patch adds support for the delete in the DFG as it appears that
some major frameworks use the operation in particularly hot functions.
As a result, even if the function rarely ever calls delete we would never
tier up to the DFG. This patch also changes operationDeleteById to take a
UniquedStringImpl and return a size_t.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- 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/DFGNode.h:
(JSC::DFG::Node::hasIdentifier):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileDeleteById):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- jit/JIT.h:
- jit/JITInlines.h:
(JSC::JIT::callOperation):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_del_by_id):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_del_by_id):
- 11:49 AM Changeset in webkit [199682] by
-
- 10 edits in trunk/Source
[WK2][iOS] Only adjust network responses' MIME type for QuickLook in the context of a main resource load
https://bugs.webkit.org/show_bug.cgi?id=156639
<rdar://problem/25765848>
Reviewed by Alex Christensen.
Source/WebCore:
Only adjust network responses' MIME type for QuickLook in the context of a main
resource load since we can only preview main resources with QuickLook. This
avoids doing unnecessary work during page load. Also, this makes it a lot less
likely to dlopen() the QuickLook library during page load since we now only
adjust MIME type for QuickLook for main resources, and main resources usually
have the well-known 'text/html' MIME type for which we know we will not use
QuickLook.
After this change, we no longer need to dlopen() the QuickLook library in the
NetworkProcess in the context of the PLT. We would previously dlopen() the
library during the first page load, thus significantly slowing it down. As a
result, we see a ~22% speed up in the PLT's first page load and a 0.9-1% overall
PLT progression.
- platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
Pass flag to adjustMIMETypeIfNecessary() indicated if this is a main resource load.
- platform/network/ios/WebCoreURLResponseIOS.mm:
(WebCore::adjustMIMETypeIfNecessary):
Only adjust the MIME type for QuickLook if the isMainResourceLoad parameter is true.
- platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
Only adjust the MIME type for QuickLook if the isMainResourceLoad parameter is true.
- platform/network/mac/WebCoreURLResponse.h:
- platform/network/mac/WebCoreURLResponse.mm:
(WebCore::adjustMIMETypeIfNecessary):
Source/WebKit2:
- NetworkProcess/NetworkDataTask.h:
(WebKit::NetworkDataTask::firstRequest):
Add getter to return the first request.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
Pass flag to adjustMIMETypeIfNecessary() indicated if this is a main resource load.
- 11:41 AM Changeset in webkit [199681] by
-
- 2 edits in trunk/Tools
Update Animometer plan.
https://bugs.webkit.org/show_bug.cgi?id=156652
Reviewed by Darin Adler.
- Scripts/webkitpy/benchmark_runner/data/plans/animometer.plan: Update to r199616.
- 10:46 AM Changeset in webkit [199680] by
-
- 2 edits in trunk/Source/WebKit2
Web Automation: provide detailed error messages when an automation command fails
https://bugs.webkit.org/show_bug.cgi?id=156635
<rdar://problem/25754051>
Reviewed by Darin Adler and Timothy Hatcher.
Fill in lots of missing error message details now that the remote end knows
how to parse error strings with predefined error names and details.
- UIProcess/Automation/WebAutomationSession.cpp:
Rearrange the error message macros. Make it possible to pass a ErrorMessage
variable or just the enum value name and get out an encoded error message
that optionally includes a free-form details string. The predefined error
name and the details string are joined together with a semicolon.
(WebKit::WebAutomationSession::getBrowsingContext):
(WebKit::WebAutomationSession::createBrowsingContext):
(WebKit::WebAutomationSession::closeBrowsingContext):
(WebKit::WebAutomationSession::switchToBrowsingContext):
(WebKit::WebAutomationSession::resizeWindowOfBrowsingContext):
(WebKit::WebAutomationSession::moveWindowOfBrowsingContext):
(WebKit::WebAutomationSession::navigateBrowsingContext):
(WebKit::WebAutomationSession::goBackInBrowsingContext):
(WebKit::WebAutomationSession::goForwardInBrowsingContext):
(WebKit::WebAutomationSession::reloadBrowsingContext):
(WebKit::WebAutomationSession::evaluateJavaScriptFunction):
(WebKit::WebAutomationSession::didEvaluateJavaScriptFunction):
(WebKit::WebAutomationSession::resolveChildFrameHandle):
(WebKit::WebAutomationSession::didResolveChildFrame):
(WebKit::WebAutomationSession::resolveParentFrameHandle):
(WebKit::WebAutomationSession::didResolveParentFrame):
(WebKit::WebAutomationSession::computeElementLayout):
(WebKit::WebAutomationSession::didComputeElementLayout):
(WebKit::WebAutomationSession::isShowingJavaScriptDialog):
(WebKit::WebAutomationSession::dismissCurrentJavaScriptDialog):
(WebKit::WebAutomationSession::acceptCurrentJavaScriptDialog):
(WebKit::WebAutomationSession::messageOfCurrentJavaScriptDialog):
(WebKit::WebAutomationSession::setUserInputForCurrentJavaScriptPrompt):
(WebKit::WebAutomationSession::getAllCookies):
(WebKit::WebAutomationSession::didGetCookiesForFrame):
(WebKit::WebAutomationSession::deleteSingleCookie):
(WebKit::WebAutomationSession::didDeleteCookie):
(WebKit::WebAutomationSession::addSingleCookie):
(WebKit::WebAutomationSession::deleteAllCookies):
(WebKit::WebAutomationSession::performMouseInteraction):
(WebKit::WebAutomationSession::performKeyboardInteractions):
(WebKit::WebAutomationSession::takeScreenshot):
(WebKit::WebAutomationSession::didTakeScreenshot):
Audit almost all early exits and provide a relevant error details message
if the error itself is ambiguous. Make sure to format asynchronous errors.
- 10:30 AM Changeset in webkit [199679] by
-
- 4 edits in trunk/Source/WTF
Unreviewed, rolling out r199621.
https://bugs.webkit.org/show_bug.cgi?id=156708
made windows tests crash (Requested by alexchristensen on
#webkit).
Reverted changeset:
"iTunes crashing JavaScriptCore.dll"
https://bugs.webkit.org/show_bug.cgi?id=156647
http://trac.webkit.org/changeset/199621
- 10:28 AM Changeset in webkit [199678] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: NavigationSidebarPanel does a lot of style recalc and layout on busy sites
https://bugs.webkit.org/show_bug.cgi?id=156704
rdar://problem/25778744
Reviewed by Brian Burg.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype._treeElementDisclosureDidChange):
Use _updateContentOverflowShadowVisibilitySoon in more places so the style recalc
and layout changes are coalesced into one action after all rapid fire calls.
- 10:28 AM Changeset in webkit [199677] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Database query result DataGrids have misaligned header columns
https://bugs.webkit.org/show_bug.cgi?id=156701
rdar://problem/25778310
Reviewed by Brian Burg.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.autoSizeColumns): Set the width on the <col> element
for the body table to match the <col> in the header.
- 10:28 AM Changeset in webkit [199676] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Fix the debounce function
https://bugs.webkit.org/show_bug.cgi?id=156696
rdar://problem/25778133
Reviewed by Brian Burg.
- UserInterface/Base/Utilities.js:
(Function.prototype.debounce): Store the timeout on the original function instead
of the bound function. Also simplify the implementation with arrow functions
and eliminate the bind altogether.
- 10:13 AM Changeset in webkit [199675] by
-
- 5 edits in trunk/Source/JavaScriptCore
FTL should pin the tag registers at inline caches
https://bugs.webkit.org/show_bug.cgi?id=156678
Reviewed by Saam Barati.
This is a long-overdue fix to our inline caches. Back when we had LLVM, we couldn't rely on the tags
being pinned to any registers. So, if the inline caches needed tags, they'd have to materialize them.
This removes those materializations. This should reduce the amount of code generated in inline caches
and it should make inline caches faster. The effect appears to be small.
It may be that after this change, we'll even be able to kill the
HaveTagRegisters/DoNotHaveTagRegisters logic.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::generateWithGuard):
(JSC::AccessCase::generateImpl):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compilePutById):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct):
(JSC::FTL::DFG::LowerDFGToB3::compileTailCall):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs):
(JSC::FTL::DFG::LowerDFGToB3::compileIn):
(JSC::FTL::DFG::LowerDFGToB3::getById):
- jit/Repatch.cpp:
(JSC::readCallTarget):
(JSC::linkPolymorphicCall):
- jit/ThunkGenerators.cpp:
(JSC::virtualThunkFor):
- 10:13 AM Changeset in webkit [199674] by
-
- 2 edits in trunk/Tools
svn-apply: add option for ignoring changes to ChangeLog files
https://bugs.webkit.org/show_bug.cgi?id=156618
Reviewed by Darin Adler.
This change adds a new option to svn-apply, --skip-changelogs, which short-circuits out of
patch() if the file in question is a ChangeLog.
- Scripts/svn-apply:
(patch):
- 9:45 AM Changeset in webkit [199673] by
-
- 15 edits4 deletes in trunk
Source/WebCore:
CSP: Remove stubs for dynamically-added favicons (via link rel="icon")
https://bugs.webkit.org/show_bug.cgi?id=153151
<rdar://problem/24383176>
Reviewed by Darin Adler.
Remove the unused dynamic favicon code and tests.
- loader/EmptyClients.h:
- loader/FrameLoaderClient.h:
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::loadLink):
Source/WebKit/mac:
CSP: Remove stubs for dynamically-added favicons (via link rel="icon")
https://bugs.webkit.org/show_bug.cgi?id=153151
<rdar://problem/24383176>
Reviewed by Darin Adler.
Remove the unused dynamic favicon code and tests.
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidChangeIcons): Deleted.
Source/WebKit/win:
CSP: Make dynamically-added favicons (via link rel="icon") obey Content-Security-Policy
https://bugs.webkit.org/show_bug.cgi?id=153151
<rdar://problem/24383176>
Reviewed by Darin Adler.
Remove the unused dynamic favicon code and tests.
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDidChangeIcons): Deleted.
- WebCoreSupport/WebFrameLoaderClient.h:
Source/WebKit2:
CSP: Remove stubs for dynamically-added favicons (via link rel="icon")
https://bugs.webkit.org/show_bug.cgi?id=153151
<rdar://problem/24383176>
Reviewed by Darin Adler.
Remove the unused dynamic favicon code and tests.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidChangeIcons): Deleted.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
LayoutTests:
CSP: Remove stubs for dynamically-added favicons (via link rel="icon")
https://bugs.webkit.org/show_bug.cgi?id=153151
<rdar://problem/24383176>
Reviewed by Darin Adler.
Remove the unused dynamic favicon code and tests.
- TestExpectations:
- http/tests/security/contentSecurityPolicy/icon-allowed-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/icon-allowed.html: Removed.
- http/tests/security/contentSecurityPolicy/icon-blocked-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/icon-blocked.html: Removed.
- 9:14 AM Changeset in webkit [199672] by
-
- 4 edits in trunk/Source/WebCore
[Mac][EME] Protected content over HLS is not notified when a HDCP violation occurs.
https://bugs.webkit.org/show_bug.cgi?id=156633
Reviewed by Eric Carlson.
Pass through the existing "outputObscuredDueToInsufficientExternalProtection" status as an
error, similarly to what we do for CDMSessionMediaSourceAVFObjC.
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
(WebCore::CDMSessionAVFoundationObjC::~CDMSessionAVFoundationObjC): Deleted.
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(SOFT_LINK_CLASS):
(-[WebCDMSessionAVFoundationObjCListener initWithParent:player:]):
(-[WebCDMSessionAVFoundationObjCListener invalidate]):
(-[WebCDMSessionAVFoundationObjCListener observeValueForKeyPath:ofObject:change:context:]):
(WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):
(WebCore::CDMSessionAVFoundationObjC::~CDMSessionAVFoundationObjC):
(WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
(WebCore::CDMSessionAVFoundationObjC::playerDidReceiveError):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
(WebCore::MediaPlayerPrivateAVFoundationObjC::avPlayer):
- 9:04 AM Changeset in webkit [199671] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION( r199603): Pandora crashes WebKit in WebPlaybackSessionManager::removeClientForContext
https://bugs.webkit.org/show_bug.cgi?id=156648
Reviewed by Darin Adler.
Follow up patch to r199615; avoid a double hash lookup by using a .find() pattern instead of
.contains() & .get().
- WebProcess/cocoa/WebPlaybackSessionManager.mm:
(WebKit::WebPlaybackSessionManager::setUpPlaybackControlsManager):
(WebKit::WebPlaybackSessionManager::clearPlaybackControlsManager):
- 8:54 AM Changeset in webkit [199670] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[l10n] Updated Greek translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=156677
Patch by Tom Tryfonidis <tomtryf@gmail.com> on 2016-04-18
Rubber-stamped by Michael Catanzaro.
- el.po:
- 8:36 AM Changeset in webkit [199669] by
-
- 8 edits in trunk/Source
Unreviewed, rolling out r199644.
Seems to have caused a 1-2% regression on warm PLT
Reverted changeset:
"[WK2][iOS] Do not dlopen() QuickLook in the NetworkProcess"
https://bugs.webkit.org/show_bug.cgi?id=156639
http://trac.webkit.org/changeset/199644
- 8:33 AM Changeset in webkit [199668] by
-
- 46 edits1 copy4 deletes in trunk/Source/WebCore
Get rid of IDBAny
https://bugs.webkit.org/show_bug.cgi?id=156681
Reviewed by Brady Eidson.
IDBAny is not part of the public interface of Indexed Database.
It was an implementation technique used to help create language bindings for
functions that have to deal with types that aren't easly expressed with the
normal IDL and C++ type system.
What was particularly dangerous about IDBAny is that it can be used to store
arbitrary JavaScript objects and it's not easy to handle garbage collection and
reference cycles when they are hidden behind this class's abstraction. It's also
a needless extra layer, a reference counted object just to carry the types from
the bindings to the C++ DOM implementation.
Ths patch also does many small style tweaks.
- CMakeLists.txt: Removed IDBAny source files. Added JSIDBRequestCustom.cpp.
- DerivedSources.cpp: Ditto.
- DerivedSources.make: Ditto.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- Modules/indexeddb/IDBAny.cpp: Removed.
- Modules/indexeddb/IDBAny.h: Removed.
- Modules/indexeddb/IDBAny.idl: Removed.
- Modules/indexeddb/IDBCursor.cpp: Added includes needed now that headers don't
include as much.
(WebCore::IDBCursor::stringToDirection): Removed unneeded IDBCursor namespacing.
(WebCore::IDBCursor::directionToString): Ditto.
(WebCore::IDBCursor::IDBCursor): Removed creation of IDBAny object.
(WebCore::IDBCursor::direction): Removed unneeded IDBCursor namespacing.
(WebCore::IDBCursor::key): Moved this function to the header.
(WebCore::IDBCursor::primaryKey): Ditto.
(WebCore::IDBCursor::value): Ditto.
(WebCore::IDBCursor::source): Deleted this function; replaced with multiple
type-specific functions; all but one will return null.
(WebCore::IDBCursor::update): Take JSValue instead of Deprecated::ScriptValue.
(WebCore::IDBCursor::advance): Take unsigned instead of unsigned long.
Fell prey to the confusion because "unsigned long" in IDL means "unsigned" in C++.
(WebCore::IDBCursor::continueFunction): Take JSValue instead of Deprecated::ScriptValue.
(WebCore::IDBCursor::uncheckedIterateCursor): Take unsigned instead of unsigned long.
(WebCore::IDBCursor::setGetResult): Rewrote to get the VM pointer from the
ScriptExecutionContext here instead of inside the binding utilities functions.
- Modules/indexeddb/IDBCursor.h: Removed many unneeded includes.
Changed key, primaryKey, and value to no longer take an unneeded ExecState.
Made more functions private.
- Modules/indexeddb/IDBCursor.idl: Changed type of "source" to "any", which matches
the IDB specification, rather than "IDBAny". Added [CustomGetter] so we can write the
getter that understands the multiple possible values. Removed unneeded
[CallWith=ScriptState] from key and primaryKey attributes.
- Modules/indexeddb/IDBCursorWithValue.h: Marked the class final.
- Modules/indexeddb/IDBCursorWithValue.idl: Removed unneeded [CallWith=ScriptState]
from the value attribute.
- Modules/indexeddb/IDBDatabase.cpp: Added now-needed include.
- Modules/indexeddb/IDBDatabase.h: Removed this header's include of itself!
- Modules/indexeddb/IDBFactory.cpp: Added some now-needed includes.
(WebCore::IDBFactory::~IDBFactory): Moved this out of the header file.
(WebCore::IDBFactory::getDatabaseNames): Removed function that always returns nullptr.
(WebCore::IDBFactory::open): Removed unneeded release() calls when returning a RefPtr.
(WebCore::IDBFactory::cmp): Take JSValue instead of Deprecated::ScriptValue.
Also removed unneeded typecast.
- Modules/indexeddb/IDBFactory.h: Removed many unneeded includes.
Removed the getDatabaseNames function. We still need a solution here, but there is
no reason to keep the placeholder function that returns nullptr here.
- Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::keyPathAny): Removed.
(WebCore::IDBIndex::openCursor): Take JSValue instead of Deprecated::ScriptValue.
(WebCore::IDBIndex::count): Ditto.
(WebCore::IDBIndex::openKeyCursor): Ditto.
(WebCore::IDBIndex::get): Ditto.
(WebCore::IDBIndex::getKey): Ditto.
- Modules/indexeddb/IDBIndex.h: Removed many unneeded includes, including this file
including itself. Marked class final. Updated for above changes.
- Modules/indexeddb/IDBIndex.idl: Changed type of "keyPath" to "any", which matches
the IDB specification, rather than "IDBAny". Specified [ImplementationReturnType=IDBKeyPath]
so the code generator creates the appropriate code to convert from an IDBKeyPath.
In the future, we may find a way to do this without an explicit attribute in the IDL
file but this is fine for now.
- Modules/indexeddb/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::create): Moved this here from the header. Use booleans instead
of enums because all the call sites outside this class are using booleans.
(WebCore::IDBKeyRange::IDBKeyRange): Updated to use booleans.
(WebCore::IDBKeyRange::~IDBKeyRange): Moved here from the header.
(WebCore::IDBKeyRange::lowerValue): Removed now-unneeded get().
(WebCore::IDBKeyRange::upperValue): Ditto.
(WebCore::IDBKeyRange::only): Take JSValue instead of Deprecated::ScriptValue.
(WebCore::IDBKeyRange::lowerBound): Updated for above changes.
(WebCore::IDBKeyRange::upperBound): Ditto.
(WebCore::IDBKeyRange::bound): Ditto.
(WebCore::IDBKeyRange::isOnlyKey): Removed assertions that lower and upper are not null;
there is no real guarantee of this! Rewrote and streamlined and it handles the null case now.
- Modules/indexeddb/IDBKeyRange.h: Removed unneeded includes. Changed class to use booleans
instead of enums for m_isLowerOpen and m_isUpperOpen. Moved functions into the cpp file.
- Modules/indexeddb/IDBKeyRangeData.cpp:
(WebCore::IDBKeyRangeData::maybeCreateIDBKeyRange): Updated to use booleans instead of enums.
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::name): Changed return type to const String& to cut down on
reference count churn.
(WebCore::IDBObjectStore::keyPathAny): Deleted.
(WebCore::IDBObjectStore::keyPath): Changed return type to const IDBKeyPath& to cut down on
unnecessary copies.
(WebCore::IDBObjectStore::openCursor): Take JSValue instead of Deprecated::SCriptValue.
(WebCore::IDBObjectStore::get): Ditto.
(WebCore::IDBObjectStore::putOrAdd): Ditto. Removed peculiar adoptRef/leakRef that was not needed.
(WebCore::IDBObjectStore::deleteFunction): Ditto.
(WebCore::IDBObjectStore::modernDelete): Ditto. Use releaseNonNull for better efficiency.
(WebCore::IDBObjectStore::count): Ditto.
- Modules/indexeddb/IDBObjectStore.h: Removed unneeded includes and changed types as mentioned
above in the cpp file function descriptions.
- Modules/indexeddb/IDBObjectStore.idl: Changed type of "keyPath" to "any" and
specified [ImplementationReturnType=IDBKeyPath] as above in IDBIndex.idl.
- Modules/indexeddb/IDBOpenDBRequest.cpp: Added now-needed includes.
(WebCore::IDBOpenDBRequest::fireSuccessAfterVersionChangeCommit): Removed unneeded assertions
that depend on how m_result is implemented, which changed.
(WebCore::IDBOpenDBRequest::fireErrorAfterVersionChangeCompletion): Call setResultToUndefined
instead of setting m_result directly.
(WebCore::IDBOpenDBRequest::onSuccess): Call setResult instead of setting m_result and
m_readyState directly.
(WebCore::IDBOpenDBRequest::onUpgradeNeeded):: Ditto. Also use WTFMove to set
m_transaction instead of peculiar adoptRef/leakRef.
(WebCore::IDBOpenDBRequest::onDeleteDatabaseSuccess): Call setResultToUndefined
instead of setting m_result directly.
- Modules/indexeddb/IDBOpenDBRequest.h: Marked the class final. Removed some unneeded headers
and made more things private.
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest): Don't initialize m_source any more. Instead initialize
m_objectStoreSource and m_indexSource, preserving the old behavior and not setting m_cursorSource
even when passed an IDBCursor.
(WebCore::IDBRequest::~IDBRequest): Simplify the code that calls clearRequest on the result
if it's a cursor. The logic is now simply a null check.
(WebCore::IDBRequest::result): Deleted. The logic is now in a custom binding.
(WebCore::IDBRequest::error): Updated to use m_isDone instead of m_readyState.
(WebCore::IDBRequest::source): Deleted. The logic is now in a custom binding.
(WebCore::IDBRequest::setSource): Set m_objectStoreSource, m_indexSource, and m_cursorSource
instead of setting m_source.
(WebCore::IDBRequest::readyState): Updated to use m_isDone instead of m_readyState.
(WebCore::IDBRequest::sourceObjectStoreIdentifier): Use m_objectStoreSource and
m_indexSource instead of using m_source. To preserve current behavior, this this does not
use m_cursorSource since the old code did not handle IDBCursor.
(WebCore::IDBRequest::sourceIndexIdentifier): Use m_indexSource instead of m_source, preserving
current behavior.
(WebCore::IDBRequest::requestedIndexRecordType): Ditto.
(WebCore::IDBRequest::dispatchEvent): Updated to use m_isDone instead of m_readyState.
(WebCore::IDBRequest::setResult): Rewrote to use the clearResult function so we don't
have to repeat the code to clear result pointers. Also take a reference.
(WebCore::IDBRequest::setResultToStructuredClone): Ditto.
(WebCore::IDBRequest::clearResult): Clear out m_scriptResult, m_cursorResult, and m_databaseResult
instead of m_result.
(WebCore::IDBRequest::setResultToUndefined): Set m_scriptResult instead of m_result.
(WebCore::IDBRequest::resultCursor): Use m_cursorResult instead of m_result.
(WebCore::IDBRequest::willIterateCursor): Updated to use m_isDone instead of m_readyState.
Also call setResultToUndefined instead of setting m_result.
(WebCore::IDBRequest::didOpenOrIterateCursor): Call setResultToUndefined and set m_cursorResult
instead of setting m_result.
(WebCore::IDBRequest::requestCompleted): Updated to use m_isDone instead of m_readyState.
(WebCore::IDBRequest::setResult): Added for use by the derived class; sets m_databaseResult.
- Modules/indexeddb/IDBRequest.h: Removed unneeded includes. Removed unused IDBRequestReadyState,
since that's now done with strings. Added cursorResult, databaseResult, scriptResult,
objectStoreSource, indexSource, and cursorSource function members and corresponding data members.
Later we might re-cast this as some sort of union, but for now these separate functions seem fine.
Removed unused modernResult function. Made more things private.
- Modules/indexeddb/IDBRequest.idl: Use "any" instead of "IDBAny" for "result" and "source".
- Modules/indexeddb/IDBTransaction.cpp: Added now-needed includes.
(WebCore::IDBTransaction::didGetRecordOnServer): Updated to call the version of setResult that takes
a reference.
(WebCore::IDBTransaction::didPutOrAddOnServer): Ditto.
- Modules/indexeddb/IDBTransaction.h: Removed unneeded includes, derive privately from ActiveDOMObject.
Removed some unneeded WebCore prefixes.
- Modules/indexeddb/server/MemoryIndex.h: Added now-needed include.
- Modules/indexeddb/server/MemoryObjectStore.cpp: Added now-needed includes.
(WebCore::IDBServer::MemoryObjectStore::updateIndexesForPutRecord): Remove unneeded get() call.
(WebCore::IDBServer::MemoryObjectStore::populateIndexWithExistingRecords): Ditto.
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp: Added now-needed includes.
(WebCore::IDBServer::SQLiteIDBBackingStore::updateOneIndexForAddRecord): Remove unneeded get() call.
(WebCore::IDBServer::SQLiteIDBBackingStore::updateAllIndexesForAddRecord): Ditto.
- Modules/indexeddb/server/SQLiteIDBCursor.cpp: Added now-needed include.
- Modules/indexeddb/server/UniqueIDBDatabase.cpp: Added now-needed includes.
(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd): Updated to use JSValue.
- Modules/indexeddb/server/UniqueIDBDatabase.h: Added now-needed forward declaration of JSC::VM.
- bindings/js/IDBBindingUtilities.cpp: Added now-needed includes.
(WebCore::deserializeIDBValueToJSValue): Return JSValue instead of Strong<Unknown>.
(WebCore::deserializeIDBValueDataToJSValue): Ditto.
(WebCore::idbKeyDataToScriptValue): Ditto.
(WebCore::toJS): Added an overload of toJS for IDBKeyPath here. Moved here from JSIDBAnyCustom.cpp.
- bindings/js/IDBBindingUtilities.h: Removed unneeded include. Changed return types to JSValue.
Added the toJS function for IDBKeyPath.
- bindings/js/JSIDBAnyCustom.cpp: Removed.
- bindings/js/JSIDBCursorCustom.cpp: Added some now-needed includes.
(WebCore::JSIDBCursor::visitAdditionalChildren): Removed ann unneeded type cast.
(WebCore::JSIDBCursor::source): Added. Converts either the index source or the object source into
a JSValue.
- bindings/js/JSIDBRequestCustom.cpp: Added.
(WebCore::JSIDBRequest::result): Added. Throws an exception if isDone is false and then converts
cursor result, database result, or script result into a JSValue.
(WebCore::JSIDBRequest::source): Added. Converts the cursor source, index source, or object store
source into a JSValue.
- bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue): Tweaked the code for array slightly. Added an ImplementationReturnType case
for IDBKeyPath. The code that's generated is pretty generic, just a call to toJS with the conventional
arguments, so at some point we may be able to do this with C++ overloading and not require a
special case in the code generator.
- inspector/InspectorIndexedDBAgent.cpp: Put #if 0 around the getDatabaseNames code, which was
dormant and not working.
(WebCore::OpenDatabaseCallback::handleEvent): Changed this to use IDBOpenDBRequest::databaseResult
instead of calling the result function checking for an exception and then doing type checking.
(WebCore::idbKeyRangeFromKeyRange): Updated to use booleans for key range bound open state.
(WebCore::OpenCursorCallback::handleEvent): Same kind of change as for OpenDatabaseCallback above.
Also use simpler interface to key, primaryKey, and value.
(WebCore::InspectorIndexedDBAgent::requestDatabaseNames): Put #if 0 around the getDatabaseNames
code, which was dormant and not working. Needs to be re-implemented.
- 8:24 AM Changeset in webkit [199667] by
-
- 4 edits2 adds in trunk
Media element "user gesture for fullscreen" restriction is never lifted
https://bugs.webkit.org/show_bug.cgi?id=156547
<rdar://problem/25707814>
Reviewed by Jer Noble.
Source/WebCore:
Test: media/video-fullscreen-restriction-removed.html
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackPermitted): Check fullscreenPermitted rather than
checking for a user gesture because the restriction can be removed.
LayoutTests:
- media/video-fullscreen-restriction-removed-expected.txt: Added.
- media/video-fullscreen-restriction-removed.html: Added.
- 8:23 AM Changeset in webkit [199666] by
-
- 2 edits in trunk/LayoutTests
Mark script-height reftest as ImageOnlyFailure on iOS
https://bugs.webkit.org/show_bug.cgi?id=153918
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 7:47 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 7:45 AM Changeset in webkit [199665] by
-
- 24 edits22 adds in trunk
Refactor RenderMathMLScripts layout to avoid using flexbox
https://bugs.webkit.org/show_bug.cgi?id=153917
Patch by Frederic Wang <fwang@igalia.com> on 2016-04-18
Reviewed by Martin Robinson.
Source/WebCore:
Tests: mathml/mathml-in-html5/subsup-parameters-1.html
mathml/opentype/large-operators-italic-correction.html
Reimplement RenderMathMLScripts without any flexbox or anonymous.
We also rely on parameters from the MATH table to improve rendering.
- css/mathml.css:
(msub > * + * + *, msup > * + * + *, msubsup > * + * + * + *, msub > mprescripts, msup > mprescripts, msubsup > mprescripts, msub > none, msup > none, msubsup > none, mmultiscripts > mprescripts ~ mprescripts, mmultiscripts > mprescripts ~ mprescripts ~ *): Deleted.
Invalid markup for scripts is now just hidden.
- rendering/mathml/RenderMathMLOperator.h: ditto.
- rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::unembellishedOperator): Reimplemented.
(WebCore::RenderMathMLScripts::getBaseAndScripts): Helper function to verify whether the
child list is valid and retrieve pointers on important children.
(WebCore::RenderMathMLScripts::spaceAfterScript): Helper function to get the
space after a script.
(WebCore::RenderMathMLScripts::italicCorrection): Helper function to read the
italic correction of a largeop base.
(WebCore::RenderMathMLScripts::computePreferredLogicalWidths): Implement this function.
(WebCore::RenderMathMLScripts::getScriptMetricsAndLayoutIfNeeded): Helper function to get
the maximum ascent/descent of all the scripts and determine the minimal
sub/sup shifts to apply.
(WebCore::RenderMathMLScripts::mirrorIfNeeded): Helper function to calculate the horizontal
offset depending on the directionality.
(WebCore::RenderMathMLScripts::layoutBlock): Implement this function.
(WebCore::RenderMathMLScripts::firstLineBaseline): Implement this function.
(WebCore::RenderMathMLScripts::paintChildren): Implement this function.
(WebCore::RenderMathMLScripts::RenderMathMLScripts): Deleted.
(WebCore::RenderMathMLScripts::base): Deleted.
(WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair): Deleted.
(WebCore::RenderMathMLScripts::fixAnonymousStyles): Deleted.
(WebCore::RenderMathMLScripts::addChildInternal): Deleted.
(WebCore::RenderMathMLScripts::removeChildInternal): Deleted.
(WebCore::RenderMathMLScripts::addChild): Deleted.
(WebCore::RenderMathMLScripts::removeChild): Deleted.
(WebCore::RenderMathMLScripts::styleDidChange): Deleted.
(WebCore::RenderMathMLScripts::layout): Deleted.
(WebCore::RenderMathMLScriptsWrapper::createAnonymousWrapper): Deleted.
(WebCore::RenderMathMLScriptsWrapper::addChildInternal): Deleted.
(WebCore::RenderMathMLScriptsWrapper::addChild): Deleted.
(WebCore::RenderMathMLScriptsWrapper::removeChildInternal): Deleted.
(WebCore::RenderMathMLScriptsWrapper::removeChild): Deleted.
- rendering/mathml/RenderMathMLScripts.h: Update definitions and remove classes
for anonymous wrappers.
LayoutTests:
We import tests from the MathML in HTML5 test suite to verify various OpenType MATH parameters.
We also add a test for the italic correction of large operators (bug 130325).
Finally, we adjust some tests and expectations to take into account the new rendering.
- imported/mathml-in-html5/LICENSE: Added.
- imported/mathml-in-html5/README.md: Added.
- imported/mathml-in-html5/fonts/math/scripts-spaceafterscript3000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-spaceafterscript3000.woff.
- imported/mathml-in-html5/fonts/math/scripts-subscriptbaselinedropmin9000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subscriptbaselinedropmin9000.woff.
- imported/mathml-in-html5/fonts/math/scripts-subscriptshiftdown6000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subscriptshiftdown6000.woff.
- imported/mathml-in-html5/fonts/math/scripts-subscripttopmax4000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subscripttopmax4000.woff.
- imported/mathml-in-html5/fonts/math/scripts-subsuperscriptgapmin11000-superscriptbottommaxwithsubscript3000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subsuperscriptgapmin11000-superscriptbottommaxwithsubscript3000.woff.
- imported/mathml-in-html5/fonts/math/scripts-subsuperscriptgapmin11000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subsuperscriptgapmin11000.woff.
- imported/mathml-in-html5/fonts/math/scripts-superscriptbaselinedropmax10000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-superscriptbaselinedropmax10000.woff.
- imported/mathml-in-html5/fonts/math/scripts-superscriptbottommin8000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-superscriptbottommin8000.woff.
- imported/mathml-in-html5/fonts/math/scripts-superscriptshiftup7000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-superscriptshiftup7000.woff.
- imported/mathml-in-html5/fonts/math/scripts-superscriptshiftupcramped5000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-superscriptshiftupcramped5000.woff.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-parameters-1-expected.txt: Renamed from LayoutTests/mathml/mathml-in-html5/subsup-parameters-1-expected.txt.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-parameters-1.html: Renamed from LayoutTests/mathml/mathml-in-html5/subsup-parameters-1.html.
- mathml/msubsup-fuzz-expected.txt: Test adjustment: Update the reference now that nothing
is displayed for invalid markup.
- accessibility/mac/mathml-multiscript-expected.txt: ditto.
- mathml/opentype/large-operators-italic-correction.html: Added. This test verifies that the
italic correction from the MATH table is used for positioning subscripts of large operators.
- mathml/opentype/large-operators-italic-correction-expected.txt: Added.
- mathml/presentation/bug95015.html: Test adjustment: move down a bit the covering red
rectangle, since the script is slightly lower.
- mathml/presentation/bug95015-expected.html: ditto
- mathml/presentation/multiscripts-positions.html: Test adjustment: Modify the expected
vertical positions of scripts now that we follow Gecko's behavior.
- mathml/presentation/multiscripts-positions-expected.html: ditto.
- mathml/presentation/multiscripts-noscripts-expected.html: There seem to be small errors in
the ascent of mmultiscripts, probably due to the conversions between firstLineBaseline (int)
and LayoutUnit (fractional pixel). For now, let's tweak the tests.
- mathml/presentation/multiscripts-noscripts.html: ditto.
- mathml/presentation/scripts-height-expected.html: ditto
- mathml/presentation/scripts-height.html: ditto
- mathml/presentation/scripts-horizontal-alignment.html: Modify the test to make it work
with the new layout rules.
- mathml/presentation/scripts-horizontal-alignment-expected.html: ditto.
- platform/gtk/accessibility/math-multiscript-attributes-expected.txt: Test adjustment:
Update reference to take into account a small shift.
- platform/mac/accessibility/math-multiscript-attributes-expected.txt: ditto.
- platform/gtk/mathml/presentation/roots-expected.png: Test adjustment: Update reference to
take into account small rendering changes.
- platform/gtk/mathml/presentation/roots-expected.txt: ditto.
- platform/ios-simulator/mathml/presentation/roots-expected.txt: ditto.
- platform/mac/TestExpectations: Mark some tests for scripts as failing on mac. MATH fonts
are really needed to make them reliable.
- platform/ios-simulator/TestExpectations: Ditto
- 3:36 AM Changeset in webkit [199664] by
-
- 4 edits in trunk
Pending API Request URL is wrong after reloading
https://bugs.webkit.org/show_bug.cgi?id=139342
Reviewed by Darin Adler.
Source/WebKit2:
It happens when reloading a web view loaded with anything but a
URL, because the bf list is not updated for those cases and
WebPageProxy::reload() is setting the current bf list item URL as
pending API request URL. This also causes that progress is
reported wrongly, because
WebPageProxy::decidePolicyForNavigationAction() resets the pending
API request URL when it's different than the requested URL. The
page load transaction causes the progress to be changed, reporting
1.0 (the previous one), but later something < 1.0 is reported
again by the progress tracker.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reload): Use the current active URL as
pending API request URL, falling back to the current bf list item
URL when empty.
Tools:
Update test case to check that the active URL should remain the
same after a reload.
- TestWebKitAPI/Tests/WebKit2/PendingAPIRequestURL.cpp:
(TestWebKitAPI::TEST):
- 3:01 AM Changeset in webkit [199663] by
-
- 7 edits1 add in trunk
Pending API request URL no set when loading Data, Alternate HTML or plain text
https://bugs.webkit.org/show_bug.cgi?id=136916
Reviewed by Darin Adler.
Source/WebKit2:
Set pending API request URL for all load methods in
WebPageProxy. This ensures that right after calling those methods,
the active URL is the requested one and that
PageLoadState::isLoading() returns true.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::loadPlainTextString):
(WebKit::WebPageProxy::loadWebArchiveData):
Tools:
Add new test to check that active URL is the requested one right
after calling WKPage load methods.
- TestWebKitAPI/PlatformEfl.cmake:
- TestWebKitAPI/PlatformGTK.cmake:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2/PendingAPIRequestURL.cpp: Added.
(TestWebKitAPI::TEST):
- TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
(WebViewTest::loadPlainText): Remove FIXME.
(WebViewTest::loadBytes): Ditto.
(WebViewTest::loadAlternateHTML): Ditto.
- 2:48 AM Changeset in webkit [199662] by
-
- 7 edits1 delete in trunk
Unreviewed, rolling out r199660.
https://bugs.webkit.org/show_bug.cgi?id=156691
It broke the iOS build (Requested by KaL on #webkit).
Reverted changeset:
"Pending API request URL no set when loading Data, Alternate
HTML or plain text"
https://bugs.webkit.org/show_bug.cgi?id=136916
http://trac.webkit.org/changeset/199660
- 2:45 AM Changeset in webkit [199661] by
-
- 5 edits2 adds in trunk
[css-grid] Use grid-template-areas to determine the explicit grid
https://bugs.webkit.org/show_bug.cgi?id=156575
Reviewed by Darin Adler.
Source/WebCore:
From the spec (https://drafts.csswg.org/css-grid/#grid-definition):
"The size of the explicit grid is determined by the larger of the number
of rows/columns defined by grid-template-areas and the number
of rows/columns sized by grid-template-rows/grid-template-columns."
So we need to take into account the rows/columns defined by
grid-template-areas to determine the size of the explicit grid.
Test: fast/css-grid-layout/explicit-grid-size.html
- rendering/style/GridPositionsResolver.cpp:
(WebCore::GridPositionsResolver::explicitGridColumnCount):
(WebCore::GridPositionsResolver::explicitGridRowCount):
LayoutTests:
Created new test to check the right behavior.
- fast/css-grid-layout/explicit-grid-size-expected.txt: Added.
- fast/css-grid-layout/explicit-grid-size.html: Added.
- fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt:
Small modification as now the columns defined by
grid-tempalte-areas are in the explicit grid.
- fast/css-grid-layout/grid-template-shorthand-get-set.html:
Ditto.
- 1:50 AM Changeset in webkit [199660] by
-
- 7 edits1 add in trunk
Pending API request URL no set when loading Data, Alternate HTML or plain text
https://bugs.webkit.org/show_bug.cgi?id=136916
Reviewed by Darin Adler.
Source/WebKit2:
Set pending API request URL for all load methods in
WebPageProxy. This ensures that right after calling those methods,
the active URL is the requested one and that
PageLoadState::isLoading() returns true.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::loadPlainTextString):
(WebKit::WebPageProxy::loadWebArchiveData):
Tools:
Add new test to check that active URL is the requested one right
after calling WKPage load methods.
- TestWebKitAPI/PlatformEfl.cmake:
- TestWebKitAPI/PlatformGTK.cmake:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2/PendingAPIRequestURL.cpp: Added.
(TestWebKitAPI::TEST):
- TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
(WebViewTest::loadPlainText): Remove FIXME.
(WebViewTest::loadBytes): Ditto.
(WebViewTest::loadAlternateHTML): Ditto.
- 1:44 AM Changeset in webkit [199659] by
-
- 4 edits in trunk
[GTK] Menu list button doesn't use the text color from the theme
https://bugs.webkit.org/show_bug.cgi?id=118234
Reviewed by Darin Adler.
.:
- ManualTests/gtk/theme.html: Add a disabled combo test.
Source/WebCore:
Set the combo box color accroding to the theme when adjusting the menu list style like Mac port does.
- rendering/RenderThemeGtk.cpp:
(WebCore::menuListColor):
(WebCore::RenderThemeGtk::adjustMenuListStyle):
- 1:31 AM Changeset in webkit [199658] by
-
- 2 edits in trunk/Source/WebKit2
[UNIX] Initialize WebKit before the platform initializations
https://bugs.webkit.org/show_bug.cgi?id=156622
Reviewed by Michael Catanzaro.
The platform specific initialization might use something that would require WebKit2 to be initialized. For
example, in debug mode, the GTK+ port uses WTF::sleep that requires the threading to be initialized.
- Shared/unix/ChildProcessMain.h:
(WebKit::ChildProcessMain): Move InitializeWebKit2() before platformInitialize().
- 1:20 AM Changeset in webkit [199657] by
-
- 4 edits4 adds in trunk
[css-grid] Fix positioned items with content alignment
https://bugs.webkit.org/show_bug.cgi?id=156597
Reviewed by Darin Adler.
Source/WebCore:
Like for the case of gaps we need to take into account
the content alignment in order to properly place and size
the positioned items.
Regarding content alignment we need to care about 2 values:
the position offset and the distribution offset.
The position offset can be extracted from m_column|rowPositions,
but the distribution offset is stored in 2 new variables called
m_offsetBetweenColumns|Rows.
Tests: fast/css-grid-layout/grid-positioned-items-content-alignment.html
fast/css-grid-layout/grid-positioned-items-content-alignment-rtl.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
(WebCore::RenderGrid::populateGridPositions):
(WebCore::RenderGrid::columnAxisOffsetForChild):
(WebCore::RenderGrid::rowAxisOffsetForChild):
(WebCore::RenderGrid::rowAxisPositionForChild): Deleted.
- rendering/RenderGrid.h:
LayoutTests:
- fast/css-grid-layout/grid-positioned-items-content-alignment-expected.txt: Added.
- fast/css-grid-layout/grid-positioned-items-content-alignment-rtl-expected.txt: Added.
- fast/css-grid-layout/grid-positioned-items-content-alignment-rtl.html: Added.
- fast/css-grid-layout/grid-positioned-items-content-alignment.html: Added.
- 1:09 AM Changeset in webkit [199656] by
-
- 4 edits in trunk
Fix incorrect assumption that APPLE implies Mac.
https://bugs.webkit.org/show_bug.cgi?id=156679
Addresses build failure introduced in r198947
Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-04-18
Reviewed by Alex Christensen.
- CMakeLists.txt:
- 1:03 AM Changeset in webkit [199655] by
-
- 3 edits in trunk/Source/WebCore
[css-grid] Add method to translate RTL coordinates
https://bugs.webkit.org/show_bug.cgi?id=156589
Reviewed by Antonio Gomes.
This is just a small refactoring adding a new function
LayoutGrid::translateRTLCoordinate().
This method translates to physical coordinates the information
stored in m_columnPositions when you're using RTL direction.
No new tests, no change of behavior.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild): Use the new
method translateRTLCoordinate().
(WebCore::RenderGrid::translateRTLCoordinate): New method that converts
a coordinate from m_columnPositions in RTL into a physical coordinate.
(WebCore::RenderGrid::findChildLogicalPosition): Use the new method
translateRTLCoordinate().
- rendering/RenderGrid.h: Add method signature.
- 1:01 AM Changeset in webkit [199654] by
-
- 3 edits2 adds in trunk
[Fetch] Use @isArray instead of
instanceof @Array
https://bugs.webkit.org/show_bug.cgi?id=156682
Reviewed by Alex Christensen.
Source/WebCore:
Currently, we query whether the given value is Array by using
instanceof @Array.
But it is not enough; Array from the other realm should be accepted. And Array
not inheriting @Array should be also accepted.
Test: fetch/header-constructor-is-array.html
- Modules/fetch/FetchHeaders.js:
(initializeFetchHeaders):
LayoutTests:
- fetch/header-constructor-is-array-expected.txt: Added.
- fetch/header-constructor-is-array.html: Added.
- 12:40 AM Changeset in webkit [199653] by
-
- 2 edits in trunk/Tools
[GTK] Test /webkit2/WebKitWebView/mouse-target fails with overlay scrollbars
https://bugs.webkit.org/show_bug.cgi?id=156621
Reviewed by Martin Robinson.
This is a problem of the test itself, we are using an overflow that is not actually scrollable, but that shows
scrollbar troughs when not using overlay scrollbars because it's marked as scrollable. It would be easier to
simply use the main frame scrollbars to test that and it will work no matter of scrollbars are overlay or not.
- TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
(testWebViewMouseTarget): Remove the div and move the mouse over the main frame scrollbar to test scrolbars hit test.
- 12:35 AM Changeset in webkit [199652] by
-
- 7 edits1 add in trunk/Source/JavaScriptCore
[ES7] yield star should not return if the inner iterator.throw returns { done: true }
https://bugs.webkit.org/show_bug.cgi?id=156576
Reviewed by Saam Barati.
This is slight generator fix in ES7. When calling generator.throw(),
the yield-star should call the throw() of the inner generator. At that
time, when the result of throw() is { done: true}, the generator should
not stop itself.
function * gen()
{
yield * (function * () {
try {
yield 42;
} catch (error) { }
}());
Continue executing.
yield 42;
}
let g = gen();
g.next();
shouldBe(g.throw().value, 42);
- builtins/GeneratorPrototype.js:
(generatorResume):
(next):
(return):
(throw):
- bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
- bytecode/BytecodeIntrinsicRegistry.h:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitDelegateYield):
- runtime/JSGeneratorFunction.h:
- tests/stress/generator-yield-star.js:
(gen):
- tests/stress/yield-star-throw-continue.js: Added.
(shouldBe):
(generator):
(shouldThrow):
Apr 17, 2016:
- 11:52 PM Changeset in webkit [199651] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix incorrect assumption that APPLE implies Mac.
https://bugs.webkit.org/show_bug.cgi?id=156683
Addresses build failure introduced in r199094
Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-04-17
Reviewed by Alex Christensen.
- CMakeLists.txt:
- 11:06 PM Changeset in webkit [199650] by
-
- 25 edits9 adds in trunk
Initial Link preload support
https://bugs.webkit.org/show_bug.cgi?id=156334
Source/WebCore:
Added basic
<link rel=preload>functionality that enables preloading
of resources according to their type.
Reviewed by Darin Adler.
Tests: http/tests/preload/download_resources.html
http/tests/preload/dynamic_adding_preload.html
http/tests/preload/dynamic_remove_preload_href.html
http/tests/preload/dynamic_removing_preload.html
- bindings/generic/RuntimeEnabledFeatures.cpp: Added a runtime flag for the feature.
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
- bindings/generic/RuntimeEnabledFeatures.h: Added a runtime flag for the feature.
(WebCore::RuntimeEnabledFeatures::setLinkPreloadEnabled):
(WebCore::RuntimeEnabledFeatures::linkPreloadEnabled):
- html/HTMLAttributeNames.in: Added an
asattribute. - html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process): Added
asandcrossoriginattribute values to the loadLink() call.
(WebCore::HTMLLinkElement::setCrossOrigin): Setter for crossOrigin.
(WebCore::HTMLLinkElement::crossOrigin): Getter for crossOrigin.
- html/HTMLLinkElement.idl: Added
asandcrossoriginto HTMLLinkElement. - html/HTMLLinkElement.h: Added getter and setter for crossorigin.
- html/LinkRelAttribute.cpp:
(WebCore::LinkRelAttribute::LinkRelAttribute): Added "preload" as a potential value.
- html/LinkRelAttribute.h: Added isLinkPreload.
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::resourceTypeFromAsAttribute): Translates an
asvalue into a resource type.
(WebCore::preloadIfNeeded): Triggers a resource preload when link element is a preload one.
(WebCore::LinkLoader::loadLink): Added a call to preloadIfNeeded.
- loader/LinkLoader.h: Added signatures.
- loader/ResourceLoadInfo.cpp:
(WebCore::toResourceType): Added LinkPreload as a possible CachedResource::type.
- loader/SubresourceLoader.cpp:
(WebCore::logResourceLoaded): Added LinkPreload as a possible CachedResource::type.
- loader/cache/CachedResource.cpp: Turned defaultPriorityForResourceType into a static member, as it's now also called from LinkLoader.
(WebCore::CachedResource::defaultPriorityForResourceType): Added LinkPreload as a possible CachedResource::type, giving it low priority.
(WebCore::defaultPriorityForResourceType): Deleted.
- loader/cache/CachedResource.h: Added LinkPreload as a possible CachedResource::type. Added defaultPriorityForResourceType as static.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::contentTypeFromResourceType): Added LinkPreload as a possible CachedResource::type.
(WebCore::createResource): Added creation of a LinkPreload resource if needed.
(WebCore::CachedResourceLoader::checkInsecureContent): Added LinkPreload as a possible CachedResource::type.
(WebCore::CachedResourceLoader::canRequest): Added LinkPreload as a possible CachedResource::type.
- testing/Internals.cpp: Added function to turn on the link preload feature.
(WebCore::setLinkPreloadSupport):
- testing/Internals.idl: Added function to turn on the link preload feature.
- testing/Internals.h: Added function signature to turn on the link preload feature.
Source/WebKit2:
Reviewed by Darin Adler.
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::maximumBufferingTime): Added LinkPreload as a possible CachedResource::type.
LayoutTests:
Added tests that make sure that
<link rel=preload>performs its basic
tasks and preloads resources.
Reviewed by Darin Adler.
- http/tests/preload/download_resources-expected.txt: Added.
- http/tests/preload/download_resources.html: Added.
- http/tests/preload/dynamic_adding_preload-expected.txt: Added.
- http/tests/preload/dynamic_adding_preload.html: Added.
- http/tests/preload/dynamic_remove_preload_href-expected.txt: Added.
- http/tests/preload/dynamic_remove_preload_href.html: Added.
- http/tests/preload/dynamic_removing_preload-expected.txt: Added.
- http/tests/preload/dynamic_removing_preload.html: Added.
- imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt: Adjusted expected results to progressions.
- imported/w3c/web-platform-tests/html/dom/reflection-metadata-expected.txt: Adjusted expected results to progressions.
- platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt: Adjusted expected results to progressions.
- 10:36 PM Changeset in webkit [199649] by
-
- 3 edits1 delete in trunk/Tools
[EFL] Bump gstreamer from 1.4.4 to 1.6.3
https://bugs.webkit.org/show_bug.cgi?id=156655
Reviewed by Antonio Gomes.
To support html5 video feature, we should bump gstreamer version.
- efl/jhbuild.modules:
- efl/patches/gst-libav.patch: Update against newer version.
- efl/patches/gst-plugins-bad-remove-gnustep-support.patch: Removed because this patch was merged.
- 10:13 PM Changeset in webkit [199648] by
-
- 3 edits2 adds in trunk/Source/JavaScriptCore
[JSC] ReduceDoubleToFloat should work accross Phis
https://bugs.webkit.org/show_bug.cgi?id=156603
<rdar://problem/25736205>
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-17
Reviewed by Saam Barati and Filip Pizlo.
This patch extends B3's ReduceDoubleToFloat phase to work accross
Upsilon-Phis. This is important to optimize loops and some crazy cases.
In its simplest form, we can have conversion propagated from something
like this:
Double @1 = Phi()
Float @2 = DoubleToFloat(@1)
When that happens, we just need to propagate that the result only
need float precision accross all values coming to this Phi.
There are more complicated cases when the value produced is effectively Float
but the user of the value does not do DoubleToFloat.
Typically, we have something like:
#1
@1 = ConstDouble(1)
@2 = Upsilon(@1, 5)
#2
@3 = FloatToDouble(@x)
@4 = Upsilon(@3, 5)
#3
@5 = Phi()
@6 = Add(@5, @somethingFloat)
@7 = DoubleToFloat(@6)
Here with a Phi-Upsilon that is a Double but can be represented
as Float without loss of precision.
It is valuable to convert such Phis to float if and only if the value
is used as float. Otherwise, you may be just adding useless conversions
(for example, two double constants that flow into a double Add should not
turn into two float constant flowing into a FloatToDouble then Add).
ReduceDoubleToFloat do two analysis passes to gather the necessary
meta information. Then we have a simplify() phase to actually reduce
operation. Finally, the cleanup() pass put the graph into a valid
state again.
The two analysis passes work by disproving that something is float.
-findCandidates() accumulates anything used as Double.
-findPhisContainingFloat() accumulates phis that would lose precision
by converting the input to float.
With this change, Unity3D improves by ~1.5%, box2d-f32 improves
by ~2.8% (on Haswell).
- b3/B3ReduceDoubleToFloat.cpp:
(JSC::B3::reduceDoubleToFloat):
- b3/testb3.cpp:
(JSC::B3::testCompareTwoFloatToDouble):
(JSC::B3::testCompareOneFloatToDouble):
(JSC::B3::testCompareFloatToDoubleThroughPhi):
(JSC::B3::testDoubleToFloatThroughPhi):
(JSC::B3::testDoubleProducerPhiToFloatConversion):
(JSC::B3::testDoubleProducerPhiToFloatConversionWithDoubleConsumer):
(JSC::B3::testDoubleProducerPhiWithNonFloatConst):
(JSC::B3::testStoreDoubleConstantAsFloat):
(JSC::B3::run):
- tests/stress/double-compare-to-float.js: Added.
(canSimplifyToFloat):
(canSimplifyToFloatWithConstant):
(cannotSimplifyA):
(cannotSimplifyB):
- tests/stress/double-to-float.js: Added.
(upsilonReferencingItsPhi):
(upsilonReferencingItsPhiAllFloat):
(upsilonReferencingItsPhiWithoutConversion):
(conversionPropagages):
(chainedUpsilonBothConvert):
(chainedUpsilonFirstConvert):
- 2:53 PM Changeset in webkit [199647] by
-
- 3 edits2 adds in trunk/Source/JavaScriptCore
[ES6] Use @isObject to check Object Type instead of using instanceof
https://bugs.webkit.org/show_bug.cgi?id=156676
Reviewed by Darin Adler.
Use @isObject instead of
instanceof @Object.
Theinstanceofcheck is not enough to check Object Type.
For example, given 2 realms, the object created in one realm does not inherit the Object of another realm.
Another example is that the object which does not inherit Object.
This object can be easily created by callingObject.create(null).
- builtins/RegExpPrototype.js:
(match):
- jsc.cpp:
(GlobalObject::finishCreation):
(functionCreateGlobalObject):
- tests/stress/regexp-match-in-other-realm-should-work.js: Added.
(shouldBe):
- tests/stress/regexp-match-should-work-with-objects-not-inheriting-object-prototype.js: Added.
(shouldBe):
(regexp.exec):
- 12:33 PM Changeset in webkit [199646] by
-
- 2 edits in trunk/Source/WebCore
Try (again) to fix debug builds after r199643.
Unreviewed.
- dom/ScriptExecutionContext.cpp:
Add another missing include.
- 12:28 PM Changeset in webkit [199645] by
-
- 2 edits in trunk/Source/WebCore
Try to fix debug builds after r199643.
Unreviewed.
- Modules/indexeddb/IDBObjectStore.cpp:
Add a missing include.
- 11:58 AM Changeset in webkit [199644] by
-
- 8 edits in trunk/Source
[WK2][iOS] Do not dlopen() QuickLook in the NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=156639
Reviewed by Darin Adler.
Source/WebCore:
Do not unnecessarily dlopen() QuickLook in the NetworkProcess on iOS, as
we already dlopen() this library in the WebContent process. This patch
moves the resource response MIME type adjusting code for QuickLook from
adjustMIMETypeIfNecessary() to a new adjustMIMETypeForQuickLook() function.
adjustMIMETypeIfNecessary() is called in didReceiveResponse() in the Network
process side, for *every* resource response, even though QuickLook can only
be used to preview main resources. The new adjustMIMETypeForQuickLook()
function is called in the QuickLookHandle::createIfNecessary() factory
function, right before checking the MIME type to determine if we need to
use QuickLook, and after checking that the load is for a main resource.
In the WebKit2 case, the factory function is called from
WebResourceLoader::didReceiveResponse(), on the WebContent process side.
This patch speeds up the first page load during PLT by ~22%, because the
first load no longer triggers a dlopen() to QuickLook in the NetworkProcess.
The overall PLT score seems to be progressed by 0.9-1% as well. The change
should also be memory-positive as we no longer need to dlopen() the
QuickLook library in the NetworkProcess at all (and we would already dlopen()
it on the WebContent process side anyway). Sadly, PLUM benchmark does not
show the memory benefit because it does not measure the memory used by the
Network process.
- platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
Refactor the code a bit for clarity, so that we only
ResourceHandle::setQuickLookHandle() when QuickLookHandle::createIfNecessary()
returns a non-null pointer.
- platform/network/ios/QuickLook.h:
- Rename the factories from create() to createIfNecessary() given that they return nullptr when it is unnecessary to create such handle (i.e. this is not a main resource loader, or it is unecessary given the response's MIME type.
- Make shouldCreateForMIMEType() private now that this is always called inside the factory functions.
- platform/network/ios/QuickLook.mm:
(adjustMIMETypeForQuickLook):
Extracted code for adjusting the MIME type for QuickLook from the generic
adjustMIMETypeIfNecessary() in WebCoreURLResponseIOS.mm to its own function
here.
(WebCore::QuickLookHandle::createIfNecessary):
Call adjustMIMETypeForQuickLook() before checking the MIME type.
- platform/network/ios/WebCoreURLResponseIOS.mm:
(WebCore::adjustMIMETypeIfNecessary):
Extracted QuickLook-specific code to QuickLook.mm.
- platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
Refactor the code a bit for clarity, so that we only
ResourceHandle::setQuickLookHandle() when QuickLookHandle::createIfNecessary()
returns a non-null pointer.
Source/WebKit2:
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResponse):
Move checks for main resource load and for MIME type inside of
QuickLookHandle::createIfNecessary(), for consistency with the
other QuickLookHandle factory functions.
- 11:49 AM Changeset in webkit [199643] by
-
- 27 edits in trunk/Source/WebCore
Clean up IDBBindingUtilities.
https://bugs.webkit.org/show_bug.cgi?id=156472
Reviewed by Alex Christensen.
No new tests (No change in behavior).
- Get rid of a whole bunch of unused functions (since we got rid of Legacy IDB).
- Make more functions deal in ExecState/ScriptExecutionContexts instead of DOMRequestState.
- Make more functions deal in JSValue (as JSC::Strong<JSC::Unknown>) instead of Deprecated::ScriptValue.
- bindings/scripts/IDLAttributes.txt: Add a new attribute to signify that an implementation returns JSValues instead of Deprecated::ScriptState
- bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue): Use that new attribute.
- Modules/indexeddb/IDBAny.cpp:
(WebCore::IDBAny::IDBAny):
(WebCore::IDBAny::scriptValue):
- Modules/indexeddb/IDBAny.h:
(WebCore::IDBAny::create):
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::key):
(WebCore::IDBCursor::primaryKey):
(WebCore::IDBCursor::value):
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::deleteFunction):
(WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBCursor.h:
- Modules/indexeddb/IDBCursor.idl:
- Modules/indexeddb/IDBCursorWithValue.idl:
- Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::cmp):
- Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
- Modules/indexeddb/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::lowerValue):
(WebCore::IDBKeyRange::upperValue):
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
- Modules/indexeddb/IDBKeyRange.h:
- Modules/indexeddb/IDBKeyRange.idl:
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::modernDelete):
(WebCore::IDBObjectStore::count):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::setResult):
(WebCore::IDBRequest::setResultToStructuredClone):
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::updateIndexesForPutRecord):
(WebCore::IDBServer::MemoryObjectStore::populateIndexWithExistingRecords):
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::updateOneIndexForAddRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::updateAllIndexesForAddRecord):
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::idbKeyPathFromValue):
(WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::canInjectIDBKeyIntoScriptValue):
(WebCore::deserializeIDBValueToJSValue):
(WebCore::deserializeIDBValueDataToJSValue):
(WebCore::scriptValueToIDBKey):
(WebCore::idbKeyDataToScriptValue):
(WebCore::idbKeyDataToJSValue): Deleted.
(WebCore::createIDBKeyFromScriptValueAndKeyPath): Deleted.
(WebCore::deserializeIDBValue): Deleted.
(WebCore::deserializeIDBValueData): Deleted.
(WebCore::deserializeIDBValueBuffer): Deleted.
(WebCore::idbValueDataToJSValue): Deleted.
(WebCore::idbKeyToScriptValue): Deleted.
- bindings/js/IDBBindingUtilities.h:
- bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
- bindings/js/JSIDBDatabaseCustom.cpp:
(WebCore::JSIDBDatabase::createObjectStore):
- bindings/js/JSIDBObjectStoreCustom.cpp:
(WebCore::JSIDBObjectStore::createIndex):
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::execState):
- dom/ScriptExecutionContext.h:
- inspector/InspectorIndexedDBAgent.cpp:
- 11:39 AM Changeset in webkit [199642] by
-
- 44 edits in trunk/Source
Remove more uses of Deprecated::ScriptXXX
https://bugs.webkit.org/show_bug.cgi?id=156660
Reviewed by Antti Koivisto.
Source/JavaScriptCore:
- bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptCallArgumentHandler::appendArgument): Deleted
unneeded overloads that take a ScriptObject and ScriptValue.
- bindings/ScriptFunctionCall.h: Ditto.
- bindings/ScriptObject.h: Added operator so this can change
itself into a JSObject*. Helps while phasing this class out.
- bindings/ScriptValue.h: Export toInspectorValue so it can be
used in WebCore.
- inspector/InjectedScriptManager.cpp:
(Inspector::InjectedScriptManager::createInjectedScript): Changed
return value from Deprecated::ScriptObject to JSObject*.
(Inspector::InjectedScriptManager::injectedScriptFor): Updated for
the return value change above.
- inspector/InjectedScriptManager.h: Ditto.
Source/WebCore:
- Modules/mediacontrols/MediaControlsHost.h: Removed unneeded include.
- Modules/plugins/PluginReplacement.h: Removed unneeded include.
Changed argument to installReplacement into a reference. Changed return
value for creation function from PassRefPtr to Ref.
- Modules/plugins/QuickTimePluginReplacement.h: Removed unneeded includes and
forward declarations. Marked class final. Made almost everything private.
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::create): Changed to return Ref.
(WebCore::QuickTimePluginReplacement::installReplacement): Changed to take
a reference.
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::create): Changed to return Ref.
(WebCore::YouTubePluginReplacement::installReplacement): Changed to take
a reference.
- Modules/plugins/YouTubePluginReplacement.h: Removed unneeded includes and
forward declarations. Marked class final. Changed return type of create.
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didReceiveBinaryData): Removed local variable so the
MessageEvent::create function gets a Ref&& instead of a RefPtr without having
to add explicit WTFMove.
- bindings/js/DOMRequestState.h: Removed code that set m_exec twice.
- bindings/js/Dictionary.h: Reformatted function templates to use a single
line so they are easier to look at.
(WebCore::Dictionary::getEventListener): Rewrote this so it no longer uses
a Deprecated::ScriptValue and also make it a little more compact and terse.
- bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::JSCommandLineAPIHost::inspect): Rewrote to use JSValue instead of
Deprecated::ScriptValue. Considerably more efficient.
- bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::data): Streamlined to use Deprecated::ScriptValue
a little bit less.
- bindings/js/JSNodeCustom.cpp: Moved include here from header.
- bindings/js/JSNodeCustom.h: Moved include from here to cpp file.
- bindings/js/JSPopStateEventCustom.cpp:
(WebCore::JSPopStateEvent::state): Updated for changes to return value of the
state() and serializedState functions.
- bindings/js/ScriptState.h: Removed the ScriptState typedef.
- bindings/js/SerializedScriptValue.cpp: Moved include here from header.
- bindings/js/SerializedScriptValue.h: Moved include from here to cpp file.
- css/FontFace.cpp:
(WebCore::FontFace::create): Changed argument to JSValue instead of ScriptValue.
- css/FontFace.h: Ditto.
- dom/MessageEvent.cpp: Moved create functions in here from header file.
Removed some unused ones including one that took a Deprecated::ScriptValue.
- dom/MessageEvent.h: Streamlined create functions, removing unused functions,
unused arguments, and unused default values for arguments. Also moved them all
into the cpp file instead of inlining them. Also changed the return type of
dataAsScriptValue to JSValue.
- dom/NodeFilterCondition.h: Removed unneeded include. Tweaked formatting.
- dom/PopStateEvent.h: Changed return value of state to be a JSValue and of
serializedState to be a raw pointer, not a PassRefPtr.
- dom/Traversal.h: Removed unneeded include. Removed unnecessary use of
unsigned long instead of unsigned. Fixed indentation.
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot): Pass reference.
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForEventListener): Pass JSValue instead
of constructing a Deprecated::ScriptValue.
- inspector/InspectorFrontendHost.cpp:
(WebCore::FrontendMenuProvider::disconnect): Initialize without explicitly
mentioning the Deprecated::ScriptObject type.
- inspector/InspectorIndexedDBAgent.cpp: Removed unneeded include.
- inspector/InspectorInstrumentation.h: Removed unneeded include and also
declaration of two non-existent functions.
- page/DOMWindow.cpp:
(WebCore::PostMessageTimer::PostMessageTimer): Tweaked types a little bit to
match what is used in MessageEvent now.
(WebCore::PostMessageTimer::event): Streamlined a bit and changed type to
reference.
(WebCore::DOMWindow::postMessage): Updated for changes above.
(WebCore::DOMWindow::postMessageTimerFired): Ditto.
- page/EventSource.cpp:
(WebCore::EventSource::createMessageEvent): Removed now-unneeded
"false, false" from MessageEvent::create function call.
- page/csp/ContentSecurityPolicy.h: Removed unneeded include.
- page/csp/ContentSecurityPolicyDirectiveList.h: Removed unneeded
include and also unneeded non-copyable, since the class has a reference as
a data member and so is automatically non-copyable.
- testing/Internals.cpp:
(WebCore::Internals::description): Changed to take JSValue.
(WebCore::Internals::parserMetaData): Ditto.
(WebCore::Internals::serializeObject): Removed unnecessary copying of vector.
(WebCore::Internals::isFromCurrentWorld): Changed to take JSValue.
(WebCore::Internals::isReadableStreamDisturbed): Changed to not rely on the
ScriptState typedef and call it JSC::ExecState.
- testing/Internals.h: Removed unneeded includes. Removed unneeded and
inappropriate use of ASSERT_NO_EXCEPTION.
- 11:04 AM Changeset in webkit [199641] by
-
- 24 edits5 copies18 adds in trunk
LayoutTests/imported/w3c:
[Fetch API] Consume HTTP data as a ReadableStream
https://bugs.webkit.org/show_bug.cgi?id=138968
Reviewed by Alex Christensen.
- web-platform-tests/fetch/api/basic/stream-response-expected.txt:
- web-platform-tests/fetch/api/basic/stream-response-worker-expected.txt:
- web-platform-tests/fetch/api/request/request-consume.html:
- web-platform-tests/fetch/api/resources/data.json: Added.
- web-platform-tests/fetch/api/resources/utils.js:
(validateStreamFromString):
- web-platform-tests/fetch/api/response/response-cancel-stream-expected.txt: Added.
- web-platform-tests/fetch/api/response/response-cancel-stream.html: Added.
- web-platform-tests/fetch/api/response/response-clone-expected.txt:
- web-platform-tests/fetch/api/response/response-consume-stream-expected.txt: Added.
- web-platform-tests/fetch/api/response/response-consume-stream.html: Added.
- web-platform-tests/fetch/api/response/response-init-002-expected.txt:
- web-platform-tests/fetch/api/response/response-stream-disturbed-expected-1.txt: Added.
- web-platform-tests/fetch/api/response/response-stream-disturbed-1.html: Added.
- web-platform-tests/fetch/api/response/response-stream-disturbed-expected-2.txt: Added.
- web-platform-tests/fetch/api/response/response-stream-disturbed-2.html: Added.
- web-platform-tests/fetch/api/response/response-stream-disturbed-expected-3.txt: Added.
- web-platform-tests/fetch/api/response/response-stream-disturbed-3.html: Added.
- web-platform-tests/fetch/api/response/response-stream-disturbed-expected-4.txt: Added.
- web-platform-tests/fetch/api/response/response-stream-disturbed-4.html: Added.
- web-platform-tests/fetch/api/response/response-stream-disturbed-expected-5.txt: Added.
- web-platform-tests/fetch/api/response/response-stream-disturbed-5.html: Added.
Source/WebCore:
[Fetch API] Consume HTTP data as a ReadableStream
https://bugs.webkit.org/show_bug.cgi?id=138968
Reviewed by Alex Christensen.
This patch introduces ReadableStreamSource and ReadableStreamController which allow feeding a ReadableStream from DOM classes.
ReadableStreamSource is a base class for all DOM ReadableStream sources.
ReadableStreamController is a wrapper around JSReadableStreamController that can be invoked by DOM code to enqueue/close/error a ReadableStream.
A createReadableStream function is introduced to allow DOM classes creating ReadableStream.
Added support for a FetchResponse ReadableStream source.
Both synthetic FetchResponse and loading FetchResponse are supported.
A new "Stream" FetchLoader::Type is introduced to allow receiving data as chunks and feeding them to a ReadableStream through ReadableStreamSource.
Currently, FetchResponse is consumed and marked as disturbed as soon as a ReadableStreamSource is created.
This should be changed so that consumption happens on the first read call to the ReadableStreamReader, i.e. when stream gets disturbed.
FetchResponseSource never fulfills the start promise, which allows to enqueue, error or close the stream at any time.
FetchResponseSource must therefore always ensure to close or error the stream.
Added support for locked check in FetchResponse.
Tests: imported/w3c/web-platform-tests/fetch/api/response/response-cancel-stream.html
imported/w3c/web-platform-tests/fetch/api/response/response-consume-stream.html
imported/w3c/web-platform-tests/fetch/api/response/response-stream-disturbed-1.html
imported/w3c/web-platform-tests/fetch/api/response/response-stream-disturbed-2.html
imported/w3c/web-platform-tests/fetch/api/response/response-stream-disturbed-3.html
imported/w3c/web-platform-tests/fetch/api/response/response-stream-disturbed-4.html
imported/w3c/web-platform-tests/fetch/api/response/response-stream-disturbed-5.html
Also covered by rebased tests.
- CMakeLists.txt:
- DerivedSources.make:
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::consumeAsStream): Fill stream with body data.
- Modules/fetch/FetchBody.h:
(WebCore::FetchBody::type): Added accessor to body type, used for assertions.
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::isDisturbed): Adding stream isLocked check.
(WebCore::FetchBodyOwner::blobLoadingSucceeded): Added assertion that body type is blob. Closing stream if created.
(WebCore::FetchBodyOwner::blobLoadingFailed): Erroring the stream if created and not cancelled.
(WebCore::FetchBodyOwner::blobChunk): Filling stream with chunk.
(WebCore::FetchBodyOwner::stop): Rmoved call to finishBlobLoading as it should be called as part of FetchLoaderCLient::didFail callbacki.
- Modules/fetch/FetchBodyOwner.h:
- Modules/fetch/FetchLoader.cpp: Fixing the case of cancel being called when creating the ThreadableLoader by introducing FetchLoader::m_isStarted.
(WebCore::FetchLoader::start): Setting m_isStarted at the end of the start method.
(WebCore::FetchLoader::stop): Fixing the case that FetchLoader can be destroyed when cancelling its loader.
(WebCore::FetchLoader::startStreaming): Introduced to switch the loading type from ArayBuffer to Stream. Already buffered data is returned.
(WebCore::FetchLoader::didReceiveData): Handling of the new Stream type.
(WebCore::FetchLoader::didFinishLoading):
- Modules/fetch/FetchLoader.h:
- Modules/fetch/FetchLoaderClient.h:
(WebCore::FetchLoaderClient::didReceiveData): Callback to get data as chunks if loader is of type Stream.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::clone): Removed m_isLocked as it is handled within isDisturbed().
(WebCore::FetchResponse::isDisturbed): Checking whether related ReadableStream is locked.
(WebCore::FetchResponse::BodyLoader::didSucceed): Introduced to handle ReadableStream case.
(WebCore::FetchResponse::BodyLoader::didFail): Ditto.
(WebCore::FetchResponse::BodyLoader::didReceiveData): Ditto.
(WebCore::FetchResponse::BodyLoader::startStreaming): Ditto.
(WebCore::FetchResponse::consumeBodyAsStream): Start filling the ReadableStream with data. Changing loader to Stream if there is one.
(WebCore::FetchResponse::createReadableStreamSource): Called by custom binding to create the source.
(WebCore::FetchResponse::stop): Fixing potential crash in case of cancelling the ibody stream.
(WebCore::FetchResponse::startFetching):
(WebCore::FetchResponse::BodyLoader::didFinishLoadingAsArrayBuffer):
- Modules/fetch/FetchResponse.h:
- Modules/fetch/FetchResponse.idl:
- Modules/fetch/FetchResponseSource.cpp: Specialization of ReadableStreamSource for FetchResponse. It is a push source that never resolves the start promise.
(WebCore::FetchResponseSource::FetchResponseSource):
(WebCore::FetchResponseSource::isReadableStreamLocked):
(WebCore::FetchResponseSource::setActive):
(WebCore::FetchResponseSource::setInactive):
(WebCore::FetchResponseSource::doStart):
(WebCore::FetchResponseSource::doCancel):
(WebCore::FetchResponseSource::close):
(WebCore::FetchResponseSource::error):
- Modules/fetch/FetchResponseSource.h: Added.
- Modules/streams/ReadableStreamController.js:
(error):
- Modules/streams/ReadableStreamSource.h: Added (base class for ReadableStream DOM sources).
(WebCore::ReadableStreamSource::~ReadableStreamSource):
(WebCore::ReadableStreamSource::isStarting):
(WebCore::ReadableStreamSource::isPulling):
(WebCore::ReadableStreamSource::isCancelling):
(WebCore::ReadableStreamSource::controller):
(WebCore::ReadableStreamSource::doStart):
(WebCore::ReadableStreamSource::doCancel):
(WebCore::ReadableStreamSource::start):
(WebCore::ReadableStreamSource::cancel):
(WebCore::ReadableStreamSource::startFinished):
(WebCore::ReadableStreamSource::clean):
- Modules/streams/ReadableStreamSource.idl: Added.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMGlobalObject.h:
- bindings/js/JSFetchResponseCustom.cpp: In case body is not created, call createReadableStreamSource.
(WebCore::JSFetchResponse::body):
- bindings/js/JSReadableStreamSourceCustom.cpp: Added.
(WebCore::JSReadableStreamSource::start):
(WebCore::JSReadableStreamSource::pull):
(WebCore::JSReadableStreamSource::controller):
- bindings/js/ReadableStreamController.cpp: Added.
(WebCore::callFunction):
(WebCore::ReadableStreamController::invoke):
(WebCore::ReadableStreamController::isControlledReadableStreamLocked):
(WebCore::createReadableStream):
- bindings/js/ReadableStreamController.h: The DOM wrapper for JSReadableStreamController.
(WebCore::ReadableStreamController::ReadableStreamController):
(WebCore::ReadableStreamController::close):
(WebCore::ReadableStreamController::error):
(WebCore::ReadableStreamController::enqueue):
(WebCore::ReadableStreamController::globalObject):
(WebCore::ReadableStreamController::enqueue<RefPtr<JSC::ArrayBuffer>>):
(WebCore::ReadableStreamController::error<String>):
LayoutTests:
[Streams] Consume HTTP data as a ReadableStream
https://bugs.webkit.org/show_bug.cgi?id=138968
Reviewed by Alex Christensen.
- fast/xmlhttprequest/xmlhttprequest-responsetype-stream-expected.txt: Added.
- fast/xmlhttprequest/xmlhttprequest-responsetype-stream.html: Added.
- http/tests/xmlhttprequest/streams/streams-read-api-cancelled-expected.txt: Added.
- http/tests/xmlhttprequest/streams/streams-read-api-cancelled.html: Added.
- http/tests/xmlhttprequest/streams/streams-read-api-closed-expected.txt: Added.
- http/tests/xmlhttprequest/streams/streams-read-api-closed.html: Added.
- http/tests/xmlhttprequest/streams/streams-read-api-expected.txt: Added.
- http/tests/xmlhttprequest/streams/streams-read-api.html: Added.
- http/tests/xmlhttprequest/streams/streams-read-expected.txt: Added.
- http/tests/xmlhttprequest/streams/streams-read.html: Added.
- 10:56 AM Changeset in webkit [199640] by
-
- 17 edits in trunk/Source/WebCore
Element should be const in StyleResolver
https://bugs.webkit.org/show_bug.cgi?id=156672
Reviewed by Darin Adler.
Resolving element style shouldn't mutate it.
This patch just does Element* -> const Element*, all the groundwork has been done already.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::sweepMatchedPropertiesCache):
(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::State::setStyle):
(WebCore::isAtShadowBoundary):
(WebCore::StyleResolver::styleForElement):
(WebCore::doesNotInheritTextDecoration):
(WebCore::StyleResolver::adjustStyleForInterCharacterRuby):
(WebCore::StyleResolver::adjustRenderStyle):
(WebCore::StyleResolver::checkRegionStyle):
(WebCore::StyleResolver::updateFont):
(WebCore::StyleResolver::styleRulesForElement):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::applyMatchedProperties):
- css/StyleResolver.h:
(WebCore::StyleResolver::style):
(WebCore::StyleResolver::parentStyle):
(WebCore::StyleResolver::rootElementStyle):
(WebCore::StyleResolver::element):
(WebCore::StyleResolver::document):
(WebCore::StyleResolver::documentSettings):
(WebCore::StyleResolver::usesFirstLineRules):
(WebCore::StyleResolver::usesFirstLetterRules):
(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::State::document):
(WebCore::StyleResolver::State::element):
(WebCore::StyleResolver::State::style):
(WebCore::StyleResolver::hasSelectorForId):
(WebCore::checkRegionSelector):
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::RenderTheme):
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::adjustCheckboxStyle):
(WebCore::RenderTheme::adjustRadioStyle):
(WebCore::RenderTheme::adjustButtonStyle):
(WebCore::RenderTheme::adjustInnerSpinButtonStyle):
(WebCore::RenderTheme::adjustTextFieldStyle):
(WebCore::RenderTheme::adjustTextAreaStyle):
(WebCore::RenderTheme::adjustMenuListStyle):
(WebCore::RenderTheme::adjustMeterStyle):
(WebCore::RenderTheme::paintMeter):
(WebCore::RenderTheme::adjustCapsLockIndicatorStyle):
(WebCore::RenderTheme::paintCapsLockIndicator):
(WebCore::RenderTheme::adjustAttachmentStyle):
(WebCore::RenderTheme::animationDurationForProgressBar):
(WebCore::RenderTheme::adjustProgressBarStyle):
(WebCore::RenderTheme::shouldHaveCapsLockIndicator):
(WebCore::RenderTheme::adjustMenuListButtonStyle):
(WebCore::RenderTheme::adjustMediaControlStyle):
(WebCore::RenderTheme::adjustSliderTrackStyle):
(WebCore::RenderTheme::adjustSliderThumbStyle):
(WebCore::RenderTheme::adjustSliderThumbSize):
(WebCore::RenderTheme::adjustSearchFieldStyle):
(WebCore::RenderTheme::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderTheme::adjustSearchFieldDecorationPartStyle):
(WebCore::RenderTheme::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderTheme::adjustSearchFieldResultsButtonStyle):
- rendering/RenderTheme.h:
(WebCore::RenderTheme::minimumMenuListSize):
(WebCore::RenderTheme::popupInternalPaddingBox):
(WebCore::RenderTheme::popupOptionSupportsTextIndent):
(WebCore::RenderTheme::paintRadioDecorations):
(WebCore::RenderTheme::paintButtonDecorations):
(WebCore::RenderTheme::paintTextField):
(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextArea):
(WebCore::RenderTheme::paintTextAreaDecorations):
(WebCore::RenderTheme::paintMenuList):
(WebCore::RenderTheme::paintMenuListDecorations):
(WebCore::RenderTheme::paintMenuListButtonDecorations):
(WebCore::RenderTheme::paintPushButtonDecorations):
(WebCore::RenderTheme::paintSquareButtonDecorations):
(WebCore::RenderTheme::paintProgressBar):
(WebCore::RenderTheme::paintSliderTrack):
(WebCore::RenderTheme::paintSliderThumb):
(WebCore::RenderTheme::paintSliderThumbDecorations):
(WebCore::RenderTheme::paintSearchField):
(WebCore::RenderTheme::paintSearchFieldDecorations):
(WebCore::RenderTheme::paintSearchFieldCancelButton):
(WebCore::RenderTheme::paintSearchFieldDecorationPart):
(WebCore::RenderTheme::paintSearchFieldResultsDecorationPart):
(WebCore::RenderTheme::paintSearchFieldResultsButton):
(WebCore::RenderTheme::paintMediaFullscreenButton):
(WebCore::RenderTheme::paintMediaPlayButton):
(WebCore::RenderTheme::paintMediaOverlayPlayButton):
- rendering/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::paintSliderTrack):
(WebCore::RenderThemeEfl::adjustSliderTrackStyle):
(WebCore::RenderThemeEfl::adjustSliderThumbStyle):
(WebCore::RenderThemeEfl::adjustSliderThumbSize):
(WebCore::RenderThemeEfl::paintSliderThumb):
(WebCore::RenderThemeEfl::adjustCheckboxStyle):
(WebCore::RenderThemeEfl::paintCheckbox):
(WebCore::RenderThemeEfl::adjustRadioStyle):
(WebCore::RenderThemeEfl::paintRadio):
(WebCore::RenderThemeEfl::adjustButtonStyle):
(WebCore::RenderThemeEfl::paintButton):
(WebCore::RenderThemeEfl::adjustMenuListStyle):
(WebCore::RenderThemeEfl::paintMenuList):
(WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
(WebCore::RenderThemeEfl::paintMenuListButtonDecorations):
(WebCore::RenderThemeEfl::adjustTextFieldStyle):
(WebCore::RenderThemeEfl::paintTextField):
(WebCore::RenderThemeEfl::adjustTextAreaStyle):
(WebCore::RenderThemeEfl::paintTextArea):
(WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
(WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderThemeEfl::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
(WebCore::RenderThemeEfl::adjustSearchFieldStyle):
(WebCore::RenderThemeEfl::paintSearchField):
(WebCore::RenderThemeEfl::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeEfl::updateCachedSystemFontDescription):
(WebCore::RenderThemeEfl::adjustProgressBarStyle):
- rendering/RenderThemeEfl.h:
- rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::adjustRepaintRect):
(WebCore::RenderThemeGtk::adjustButtonStyle):
(WebCore::RenderThemeGtk::paintButton):
(WebCore::RenderThemeGtk::adjustMenuListStyle):
(WebCore::RenderThemeGtk::adjustMenuListButtonStyle):
(WebCore::RenderThemeGtk::paintMenuListButtonDecorations):
(WebCore::RenderThemeGtk::adjustTextFieldStyle):
(WebCore::RenderThemeGtk::paintTextField):
(WebCore::RenderThemeGtk::paintTextArea):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
(WebCore::RenderThemeGtk::adjustSearchFieldStyle):
(WebCore::RenderThemeGtk::shouldHaveCapsLockIndicator):
(WebCore::RenderThemeGtk::adjustSliderTrackStyle):
(WebCore::RenderThemeGtk::adjustSliderThumbStyle):
(WebCore::RenderThemeGtk::paintSliderTrack):
(WebCore::RenderThemeGtk::adjustSliderThumbSize):
(WebCore::RenderThemeGtk::innerSpinButtonLayout):
(WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
(WebCore::spinButtonArrowSize):
(WebCore::RenderThemeGtk::paintMediaCurrentTime):
(WebCore::RenderThemeGtk::adjustProgressBarStyle):
- rendering/RenderThemeGtk.h:
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::addRoundedBorderClip):
(WebCore::RenderThemeIOS::adjustCheckboxStyle):
(WebCore::RenderThemeIOS::isControlStyled):
(WebCore::RenderThemeIOS::adjustRadioStyle):
(WebCore::adjustInputElementButtonStyle):
(WebCore::RenderThemeIOS::adjustMenuListButtonStyle):
(WebCore::RenderThemeIOS::adjustSliderTrackStyle):
(WebCore::RenderThemeIOS::paintSliderTrack):
(WebCore::RenderThemeIOS::adjustSliderThumbSize):
(WebCore::RenderThemeIOS::sliderTickOffsetFromTrackCenter):
(WebCore::RenderThemeIOS::adjustSearchFieldStyle):
(WebCore::RenderThemeIOS::paintSearchFieldDecorations):
(WebCore::RenderThemeIOS::adjustButtonStyle):
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::adjustTextFieldStyle):
(WebCore::RenderThemeMac::paintTextArea):
(WebCore::RenderThemeMac::adjustTextAreaStyle):
(WebCore::RenderThemeMac::animationDurationForProgressBar):
(WebCore::RenderThemeMac::adjustProgressBarStyle):
(WebCore::menuListButtonSizes):
(WebCore::RenderThemeMac::adjustMenuListStyle):
(WebCore::RenderThemeMac::popupMenuSize):
(WebCore::RenderThemeMac::adjustMenuListButtonStyle):
(WebCore::RenderThemeMac::adjustSliderTrackStyle):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::adjustSliderThumbStyle):
(WebCore::RenderThemeMac::setSearchFieldSize):
(WebCore::RenderThemeMac::adjustSearchFieldStyle):
(WebCore::RenderThemeMac::cancelButtonSizes):
(WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeMac::resultsButtonSizes):
(WebCore::RenderThemeMac::adjustSearchFieldDecorationPartStyle):
(WebCore::RenderThemeMac::paintSearchFieldDecorationPart):
(WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeMac::adjustSliderThumbSize):
- rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::paintButton):
(WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeWin::paintMenuList):
(WebCore::RenderThemeWin::adjustMenuListStyle):
(WebCore::RenderThemeWin::adjustMenuListButtonStyle):
(WebCore::RenderThemeWin::adjustSliderThumbSize):
(WebCore::RenderThemeWin::paintSearchField):
(WebCore::RenderThemeWin::adjustSearchFieldStyle):
(WebCore::RenderThemeWin::paintSearchFieldCancelButton):
(WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeWin::adjustSearchFieldDecorationPartStyle):
(WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderThemeWin::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeWin::adjustMeterStyle):
- rendering/RenderThemeWin.h:
Apr 16, 2016:
- 9:55 PM Changeset in webkit [199639] by
-
- 3 edits1 add in trunk/Source/JavaScriptCore
[JSC] DFG should support relational comparisons of Number and Other
https://bugs.webkit.org/show_bug.cgi?id=156669
Patch by Benjamin Poulain <bpoulain@webkit.org> on 2016-04-16
Reviewed by Darin Adler.
In Sunspider/3d-raytrace, DFG falls back to JSValue in some important
relational compare because profiling sees "undefined" from time to time.
This case is fairly common outside Sunspider too because of out-of-bounds array access.
Unfortunately for us, our fallback for compare is really inefficient.
Fortunately, relational comparison with null/undefined/true/false are trival.
We can just convert both side to Double. That's what this patch adds.
I also extended constant folding for those cases because I noticed
a bunch of "undefined" constant going through DoubleRep at runtime.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- tests/stress/compare-number-and-other.js: Added.
(opaqueSideEffect):
(let.operator.of.operators.eval.testPolymorphic):
(let.operator.of.operators.let.left.of.typeCases.let.right.of.typeCases.eval.testMonomorphic):
(let.operator.of.operators.let.left.of.typeCases.let.right.of.typeCases.testMonomorphicLeftConstant):
(let.operator.of.operators.let.left.of.typeCases.let.right.of.typeCases.testMonomorphicRightConstant):
(let.operator.of.operators.let.left.of.typeCases.let.right.of.typeCases.i.testPolymorphic):
- 8:44 PM Changeset in webkit [199638] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] FRound/Negate can produce an impure NaN out of a pure NaN
https://bugs.webkit.org/show_bug.cgi?id=156528
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-16
Reviewed by Filip Pizlo.
If you fround a double with the bits 0xfff7000000000000
you get 0xfffe000000000000. The first is a pure NaN, the second isn't.
This is without test because I could not find a way to create a 0xfff7000000000000
while convincing DFG that its pure.
When we purify NaNs from typed array, we use a specific value of NaN if the input
is any NaN, making testing tricky.
- bytecode/SpeculatedType.cpp:
(JSC::typeOfDoubleNegation):
- 7:39 PM Changeset in webkit [199637] by
-
- 11 edits in trunk/Source/WebCore/platform/gtk/po
Localization files with empty Language: block build with gettext 0.19
https://bugs.webkit.org/show_bug.cgi?id=133611
Reviewed by Darin Adler.
Fix the language tags. Note that the build error is not actually important here as it only
occurs with an older version of gettext, but presumably it's bad for the language tags to be
wrong.
- as.po:
- en_CA.po:
- gu.po: Also correct the translation team to Gujarati.
- hu.po:
- id.po:
- ko.po:
- lv.po:
- pa.po:
- ru.po:
- sl.po:
- 6:29 PM Changeset in webkit [199636] by
-
- 2 edits in trunk/Source/JavaScriptCore
JS::DFG::nodeValuePairListDump does not compile with libstdc++ 4.8
https://bugs.webkit.org/show_bug.cgi?id=156670
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-04-16
Reviewed by Darin Adler.
- dfg/DFGNode.h:
(JSC::DFG::nodeValuePairListDump): Modified to use lambda as comparator.
- 6:26 PM Changeset in webkit [199635] by
-
- 10 edits2 adds in trunk
Web Inspector: Adopt Number.prototype.toLocaleString For All Sizes and Times
https://bugs.webkit.org/show_bug.cgi?id=152033
<rdar://problem/23815589>
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
Update string formatters to localize float and percentage strings. Hook up
console message formatters to use String.standardFormatters so that console
statements (e.g. console.log("%.3f", 3.14159)) are properly formatted.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Utilities.js:
(value):
tokenizeFormatString should default to 6 digits when no precision
sub-specifier is provided.
percentageString should localize formatting, and take a fraction value
(0 to 1) instead of a percentage.
secondsToString should perform special-case formatting for zero values
("0ms") instead of the general purpose float formatter.
(value.d):
Switch to parseInt to floor floating point values and support numeric strings.
Return NaN instead of zero when passed a value that can't be converted to integer.
(value.f):
Switch to parseFloat to support numeric strings, and localize formatting.
Remove precision check, as it will never be less than zero. Return NaN
instead of zero when passed a value that can't be converted to float.
(prettyFunctionName):
Convert substitutions (an arguments object) to an array before calling join.
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.floatFormatter):
Use String.standardFormatters.f.
(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.integerFormatter):
Use String.standardFormatters.d.
- UserInterface/Views/LayoutTimelineDataGridNode.js:
(WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
(WebInspector.LayoutTimelineDataGridNode):
Use integer formatting for pixel values.
- UserInterface/Views/ProfileDataGridNode.js:
(WebInspector.ProfileDataGridNode.prototype._recalculateData):
(WebInspector.ProfileDataGridNode.prototype._totalTimeContent):
Treat percentage as a fraction from 0 to 1.
- UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection):
Use integer formatting for pixel values.
LayoutTests:
Add test coverage for string formatters, and additional test cases for
Number.percentageString and Number.secondsToString.
- inspector/unit-tests/number-utilities-expected.txt:
- inspector/unit-tests/number-utilities.html:
- inspector/unit-tests/string-utilities-expected.txt: Added.
- inspector/unit-tests/string-utilities.html: Added.
- 6:20 PM Changeset in webkit [199634] by
-
- 8 edits in trunk/Source/WebInspectorUI
display:inline on the tbody is causing the width of the iframe to be shrunk to the minimum size of its text.
https://bugs.webkit.org/show_bug.cgi?id=15666
Reviewed by Timothy Hatcher.
Fix a regression caused by the recent Timelines UI redesign, and
reorder TimelineDataGrid's constructor arguments now that most
timeline views no longer have an associated tree outline.
- UserInterface/Views/HeapAllocationsTimelineView.js:
(WebInspector.HeapAllocationsTimelineView):
- UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView):
- UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView):
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView):
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView):
- UserInterface/Views/ScriptDetailsTimelineView.js:
(WebInspector.ScriptDetailsTimelineView):
Reorder constructor parameters and omit optional treeOutline and
synchronizerDelegate arguments when they aren't needed.
- UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid):
Reorder constructor arguments so that treeOutline can be optional.
(WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
Nodes should be refreshed and re-inserted in the data grid without
requiring a grid synchronizer. If a synchronizer exists, re-insert
the tree element for the node. Since the syncronizer is disabled the
order of grid/tree operations doesn't matter.
- 5:40 PM Changeset in webkit [199633] by
-
- 2 edits in trunk/Tools
More build fixing.
- MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController share:]):
- 5:26 PM Changeset in webkit [199632] by
-
- 2 edits in trunk/Tools
Another build fix.
- MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController sharingServicePicker:sharingServicesForItems:proposedSharingServices:]):
- 5:19 PM Changeset in webkit [199631] by
-
- 2 edits in trunk/Tools
Fix 32-bit build.
- MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController share:]):
(-[BrowserWindowController fetch:]):
(-[BrowserWindowController sharingService:transitionImageForShareItem:contentRect:]):
- 5:10 PM Changeset in webkit [199630] by
-
- 6 edits in trunk/Tools
Add support for NSSharingService to MiniBrowser, for no great reasons
https://bugs.webkit.org/show_bug.cgi?id=156658
Reviewed by Darin Adler.
- MiniBrowser/mac/BrowserWindow.xib:
- MiniBrowser/mac/BrowserWindowController.h:
Add the share button.
- MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController windowDidLoad]):
Set the share button to fire it's actions on mouse down, as it is supposed to act like a menu.
(-[BrowserWindowController share:]):
Show the picker when the button is pressed.
(-[BrowserWindowController mainContentView]):
Add a new override to get the main content view of derived classes (either a WKWebView or the WebView).
(-[BrowserWindowController sharingServicePicker:sharingServicesForItems:proposedSharingServices:]):
(-[BrowserWindowController sharingServicePicker:delegateForSharingService:]):
(-[BrowserWindowController sharingServicePicker:didChooseSharingService:]):
(-[BrowserWindowController sharingService:sourceFrameOnScreenForShareItem:]):
(-[BrowserWindowController sharingService:transitionImageForShareItem:contentRect:]):
(-[BrowserWindowController sharingService:sourceWindowForShareItems:sharingContentScope:]):
Add delegate methods.
- MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController mainContentView]):
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController mainContentView]):
Implement to return the web view.
- 3:52 PM Changeset in webkit [199629] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[GTK] [l10n] Updated Turkish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=156667
Patch by Muhammet Kara <muhammetk@gmail.com> on 2016-04-16
Rubber-stamped by Michael Catanzaro.
- tr.po:
- 2:37 PM Changeset in webkit [199628] by
-
- 2 edits in trunk/Source/WebKit2
[Mac] Web Content service with a restricted entitlement may load arbitrary dylibs
https://bugs.webkit.org/show_bug.cgi?id=156668
<rdar://problem/25429784>
Reviewed by Anders Carlsson.
- Configurations/WebContentService.xcconfig: Enable library validation when the Web Content service is given the XPC domain extension entitlement.
- 11:16 AM Changeset in webkit [199627] by
-
- 2 edits in trunk/Tools
Build fix.
Temporary workaround for rdar://problem/25754945.
- LayoutTestRelay/LayoutTestRelay/CoreSimulatorSPI.h:
- 10:59 AM Changeset in webkit [199626] by
-
- 2 edits in trunk/Source/JavaScriptCore
[mips] Implemented moveZeroToDouble.
https://bugs.webkit.org/show_bug.cgi?id=155429
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-04-16
Reviewed by Darin Adler.
This function is required to fix compilation after r197687.
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::moveZeroToDouble):
- 10:53 AM Changeset in webkit [199625] by
-
- 11 edits in trunk/Source/WebCore
CSSCursorImageValue shouldn't mutate element during style resolution
https://bugs.webkit.org/show_bug.cgi?id=156659
Reviewed by Darin Adler.
CSSCursorImageValue::updateIfSVGCursorIsUsed may mutate the argument element.
This patch removes the code that caches cursor element and image to SVGElement rare data.
The whole things is basically unused. CSSCursorImageValue now maintains a weak map to
SVGCursorElements directly instead of indirectly via the using SVGElements.
- css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::CSSCursorImageValue):
(WebCore::CSSCursorImageValue::~CSSCursorImageValue):
(WebCore::CSSCursorImageValue::customCSSText):
(WebCore::CSSCursorImageValue::updateCursorElement):
We no longer rely on SVGElement rare data so no need to test for SVGElement.
(WebCore::CSSCursorImageValue::cursorElementRemoved):
(WebCore::CSSCursorImageValue::cursorElementChanged):
Factor to a function.
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::clearCachedImage):
(WebCore::CSSCursorImageValue::equals):
(WebCore::CSSCursorImageValue::removeReferencedElement): Deleted.
Don't track client elements anymore. Just track referenced SVGCursorElements.
- css/CSSCursorImageValue.h:
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueCursor):
No need to make style unique. Initialization is now done in updateSVGCursorElement.
- svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::~SVGCursorElement):
(WebCore::SVGCursorElement::isSupportedAttribute):
(WebCore::SVGCursorElement::parseAttribute):
(WebCore::SVGCursorElement::addClient):
(WebCore::SVGCursorElement::removeClient):
Client is now an CSSCursorImageValue rather than SVGElement.
(WebCore::SVGCursorElement::svgAttributeChanged):
Instead of invalidating element style just invalidate the CSSCursorImageValue directly.
(WebCore::SVGCursorElement::addSubresourceAttributeURLs):
(WebCore::SVGCursorElement::removeReferencedElement): Deleted.
- svg/SVGCursorElement.h:
- svg/SVGElement.cpp:
(WebCore::SVGElement::~SVGElement):
(WebCore::SVGElement::getBoundingBox):
(WebCore::SVGElement::correspondingElement):
(WebCore::SVGElement::setCursorElement): Deleted.
(WebCore::SVGElement::cursorElementRemoved): Deleted.
(WebCore::SVGElement::setCursorImageValue): Deleted.
(WebCore::SVGElement::cursorImageValueRemoved): Deleted.
SVGElements no longer need to know about their cursors.
- svg/SVGElement.h:
- svg/SVGElementRareData.h:
(WebCore::SVGElementRareData::instanceUpdatesBlocked):
(WebCore::SVGElementRareData::setInstanceUpdatesBlocked):
(WebCore::SVGElementRareData::correspondingElement):
(WebCore::SVGElementRareData::setCorrespondingElement):
(WebCore::SVGElementRareData::animatedSMILStyleProperties):
(WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
(WebCore::SVGElementRareData::cursorElement): Deleted.
(WebCore::SVGElementRareData::setCursorElement): Deleted.
(WebCore::SVGElementRareData::cursorImageValue): Deleted.
(WebCore::SVGElementRareData::setCursorImageValue): Deleted.
- 9:08 AM Changeset in webkit [199624] by
-
- 1 edit1 add in trunk/Source/WebCore/platform/gtk/po
Submit the first version of Finnish translation
https://bugs.webkit.org/show_bug.cgi?id=153406
Patch by Jiri Grönroos <jiri.gronroos+l10n@iki.fi> on 2016-04-16
Rubber-stamped by Michael Catanzaro. For FINLAN.
- fi.po: Added. Note it's pretty incomplete as of yet.
- 8:54 AM Changeset in webkit [199623] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[GTK] [l10n] Updated Bulgarian translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=156656
Patch by Zahari Yurukov <zahari.yurukov@gmail.com> on 2016-04-16
Rubber-stamped by Michael Catanzaro.
- bg.po:
Apr 15, 2016:
- 10:26 PM Changeset in webkit [199622] by
-
- 4 edits in trunk/Source/WebKit2
[Mac] WebContent, Networking and Databases services have i386 slices that are never used
https://bugs.webkit.org/show_bug.cgi?id=156654
Reviewed by Alexey Proskuryakov.
- Configurations/BaseXPCService.xcconfig: Set VALID_ARCHS to ARCHS_STANDARD when not building only for the active architecture.
- Configurations/PluginService.32.xcconfig: Removed now-redundant definitions.
- Configurations/PluginService.64.xcconfig: Ditto.
- 9:52 PM Changeset in webkit [199621] by
-
- 4 edits in trunk/Source/WTF
iTunes crashing JavaScriptCore.dll
https://bugs.webkit.org/show_bug.cgi?id=156647
Reviewed by Geoffrey Garen.
If a thread was created without using the WTF thread apis and that thread uses
a JavaScript VM and that thread exits with the VM still around, JSC won't know
that the thread has exited. Currently, we use ThreadSpecificThreadExit() to
clean up any thread specific keys. Cleaning up these keys is how JSC is
notified of a thread exit. We only call ThreadSpecificThreadExit() from
wtfThreadEntryPoint() when the thread entry point function returns.
This mechanism was put in place for Windos because we layer the WTF::ThreadSpecific
functionality on top of TLS (Thread Local Storage), but TLS doesn't have
a thread exiting callback the way that pthread_create_key.
The fix is to change from using TLS to using FLS (Fiber Local Storage). Although
Windows allows multiple fibers per thread, WebKit is not designed to work with a
multiple fibers per thread. When ther is only one fiber per thread, FLS works just
like TLS, but it has the destroy callback.
I restructured the Windows version of WTF::ThreadSpecific to be almost the same
as the pthread version.
- wtf/ThreadSpecific.h:
(WTF::threadSpecificKeyCreate):
(WTF::threadSpecificKeyDelete):
(WTF::threadSpecificSet):
(WTF::threadSpecificGet):
(WTF::ThreadSpecific<T>::ThreadSpecific):
(WTF::ThreadSpecific<T>::~ThreadSpecific):
(WTF::ThreadSpecific<T>::get):
(WTF::ThreadSpecific<T>::set):
(WTF::ThreadSpecific<T>::destroy):
Restructured to use FLS. Renamed TLS* to FLS*.
- wtf/ThreadSpecificWin.cpp:
(WTF::flsKeyCount):
(WTF::flsKeys):
Renamed from tlsKey*() to flsKey*().
(WTF::destructorsList): Deleted.
(WTF::destructorsMutex): Deleted.
(WTF::PlatformThreadSpecificKey::PlatformThreadSpecificKey): Deleted.
(WTF::PlatformThreadSpecificKey::~PlatformThreadSpecificKey): Deleted.
(WTF::PlatformThreadSpecificKey::setValue): Deleted.
(WTF::PlatformThreadSpecificKey::value): Deleted.
(WTF::PlatformThreadSpecificKey::callDestructor): Deleted.
(WTF::tlsKeyCount): Deleted.
(WTF::tlsKeys): Deleted.
(WTF::threadSpecificKeyCreate): Deleted.
(WTF::threadSpecificKeyDelete): Deleted.
(WTF::threadSpecificSet): Deleted.
(WTF::threadSpecificGet): Deleted.
(WTF::ThreadSpecificThreadExit): Deleted.
- wtf/ThreadingWin.cpp:
(WTF::wtfThreadEntryPoint): Eliminated call to ThreadSpecificThreadExit.
- 9:29 PM Changeset in webkit [199620] by
-
- 3 edits in trunk/Source/WebKit2
Need a way to specify a script name to show in the inspector for scripts injected via WKUserScript
<rdar://problem/25626662>
https://bugs.webkit.org/show_bug.cgi?id=156653
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKUserScript.mm:
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:associatedURL:userContentWorld:]):
- UIProcess/API/Cocoa/WKUserScriptPrivate.h:
Add a new initializer that takes an associate URL that is used to represent the user script.
- 7:25 PM Changeset in webkit [199619] by
-
- 52 edits in trunk/Source
Reduce use of Deprecated::ScriptXXX classes
https://bugs.webkit.org/show_bug.cgi?id=156632
Reviewed by Alex Christensen.
Source/JavaScriptCore:
- bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptCallArgumentHandler::appendArgument): Deleted version that takes a Deprecated::ScriptValue.
(Deprecated::ScriptFunctionCall::call): Changed to return a JSValue.
- bindings/ScriptFunctionCall.h: Updated for the above.
- bindings/ScriptValue.cpp:
(Inspector::jsToInspectorValue): Moved from Deprecated namespace to Inspector namespace. Later, we should
move this to another source file in the inspector directory.
(Inspector::toInspectorValue): Added.
(Deprecated::ScriptValue::toInspectorValue): Updated for change to underlying function.
- bindings/ScriptValue.h: Update for the above.
- inspector/InjectedScript.cpp:
(Inspector::InjectedScript::evaluateOnCallFrame): Changed arguments and return values from
Deprecated::ScriptValue to JSC::JSValue.
(Inspector::InjectedScript::functionDetails): Ditto.
(Inspector::InjectedScript::wrapCallFrames): Ditto.
(Inspector::InjectedScript::wrapObject): Ditto.
(Inspector::InjectedScript::wrapTable): Ditto.
(Inspector::InjectedScript::previewValue): Ditto.
(Inspector::InjectedScript::setExceptionValue): Ditto.
(Inspector::InjectedScript::findObjectById): Ditto.
(Inspector::InjectedScript::inspectObject): Ditto.
- inspector/InjectedScript.h: Ditto.
- inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::callFunctionWithEvalEnabled): Ditto.
(Inspector::InjectedScriptBase::makeCall): Ditto.
- inspector/InjectedScriptBase.h: Ditto.
- inspector/InjectedScriptModule.cpp:
(Inspector::InjectedScriptModule::ensureInjected): Ditto.
- inspector/ScriptDebugListener.h: Ditto.
- inspector/ScriptDebugServer.cpp:
(Inspector::ScriptDebugServer::evaluateBreakpointAction): Ditto.
(Inspector::ScriptDebugServer::dispatchDidPause): Ditto.
(Inspector::ScriptDebugServer::dispatchBreakpointActionProbe): Ditto.
(Inspector::ScriptDebugServer::exceptionOrCaughtValue): Ditto.
- inspector/ScriptDebugServer.h: Ditto.
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::buildExceptionPauseReason): Ditto.
(Inspector::InspectorDebuggerAgent::didPause): Ditto.
(Inspector::InspectorDebuggerAgent::breakpointActionProbe): Ditto.
(Inspector::InspectorDebuggerAgent::didContinue): Ditto.
(Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): Ditto.
- inspector/agents/InspectorDebuggerAgent.h: Ditto.
- inspector/agents/InspectorHeapAgent.cpp:
(Inspector::InspectorHeapAgent::getPreview): Ditto.
(Inspector::InspectorHeapAgent::getRemoteObject): Ditto.
Source/WebCore:
- Modules/mediastream/SDPProcessor.cpp: Removed unneeded include.
- bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::JSCommandLineAPIHost::inspectedObject): Use JSValue.
- bindings/js/JSCustomEventCustom.cpp:
(WebCore::JSCustomEvent::detail): Ditto.
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld): Ditto.
(WebCore::ScriptController::evaluate): Ditto.
(WebCore::ScriptController::executeScriptInWorld): Ditto.
(WebCore::ScriptController::executeScript): Ditto.
(WebCore::ScriptController::executeIfJavaScriptURL): Ditto.
- bindings/js/ScriptController.h: Ditto.
- bindings/js/ScriptGlobalObject.cpp: Removed unused overload of set,
and unused remove and folded handleException function into its one call site.
(WebCore::ScriptGlobalObject::set): Take references instead of pointers.
(WebCore::ScriptGlobalObject::get): Use JSObject instead of Deprecated::ScriptObject.
- bindings/js/ScriptGlobalObject.h: Updated for the above.
- dom/CustomEvent.cpp:
(WebCore::CustomEvent::initCustomEvent): Take JSValue and ExecState instead of
Deprecated::ScriptValue.
(WebCore::CustomEvent::trySerializeDetail): Take a reference instead of a pointer.
Also removed an unneeded null check.
- dom/CustomEvent.h: Use JSValue.
- dom/CustomEvent.idl: Updated for the above.
- html/HTMLMediaElement.cpp: Remove unneeded include.
- inspector/CommandLineAPIHost.cpp:
(WebCore::CommandLineAPIHost::InspectableObject::get): Take reference instead of
pointer and return JSValue.
- inspector/CommandLineAPIHost.h: Updated for the above.
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setDocument): Use "document" instead of "doc".
(WebCore::InspectorDOMAgent::setAttributesAsText): Omit redundant class name.
(WebCore::InspectorDOMAgent::focusNode): Ditto. Pass reference instead of pointer.
(WebCore::InspectorDOMAgent::undo): Ditto.
(WebCore::InspectorDOMAgent::redo): Ditto.
(WebCore::InspectorDOMAgent::nodeForObjectId): Stop using Deprecated::ScriptValue.
(WebCore::InspectorDOMAgent::resolveNode): Ditto.
(WebCore::InspectorDOMAgent::scriptValueAsNode): Removed unneeded isObject check,
which is already done by JSNode::toWrapped. Use JSValue.
(WebCore::InspectorDOMAgent::nodeAsScriptValue): Use JSValue.
- inspector/InspectorDOMAgent.h: Updated for the above.
- inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::windowObjectCleared): Use references instead of
pointers and removed unneeded local.
(WebCore::InspectorFrontendClientLocal::evaluateAsBoolean): More of the same.
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::showContextMenu): Ditto.
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::breakpointActionProbe): Updated to take
reference instead of pointer and JSValue instead of ScriptValue.
- inspector/InspectorTimelineAgent.h: Ditto.
- inspector/PageConsoleAgent.cpp: Ditto.
- inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::breakpointActionLog): Ditto.
- inspector/PageDebuggerAgent.h: Ditto.
Source/WebKit/mac:
- WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Use references instead
of pointers.
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): Updated
since return value is a JSValue.
- WebView/WebView.mm:
(-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
Source/WebKit/win:
- Plugins/PluginView.cpp:
(WebCore::PluginView::performRequest): Use JSValue.
- WebFrame.cpp:
(WebFrame::stringByEvaluatingJavaScriptInScriptWorld): Ditto.
- WebView.cpp:
(WebView::stringByEvaluatingJavaScriptFromString): Ditto.
Source/WebKit2:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performJavaScriptURLRequest): Use JSValue.
- WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::windowObjectCleared): Use references.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInMainFrame): Use JSValue.
- 6:47 PM Changeset in webkit [199618] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Versioning.
- 6:26 PM Changeset in webkit [199617] by
-
- 3 edits in trunk/Source/JavaScriptCore
Some JIT/DFG operations need NativeCallFrameTracers
https://bugs.webkit.org/show_bug.cgi?id=156650
Reviewed by Michael Saboff.
Some of our operation functions did not have native call frame
tracers. This meant that we would crash occasionally on some
of our tests when they triggered a GC in one of the functions
without a tracer. In particular, this was exemplified by another
upcoming patch when calling operationSetFunctionName.
This patch does not add tests since this happens consistently in
the patch adding delete_by_id to the DFG.
- dfg/DFGOperations.cpp:
- jit/JITOperations.cpp:
- 6:02 PM Changeset in webkit [199616] by
-
- 2 edits in trunk/PerformanceTests
Animometer test could report a NaN
https://bugs.webkit.org/show_bug.cgi?id=156646
Reviewed by Darin Adler.
Provisionally reviewed by Said Abou-Hallawa.
- Animometer/tests/resources/main.js:
(didFinishInterval): The ramp controller has a first phase where it ramps up the complexity and
reacts based on how well the system handles the load. The assumption was that it would handle at least
1 particle easily. That is not always the case. As a result, an interpolation calculation could
end up setting an upper bound of NaN.
This occurs because we never get out of the first tier, so this._lastTierComplexity is undefined.
Now that we guarantee a minimum complexity of 1, modify the conditional to check for this._lastTierComplexity
before interpolating the upper bound of the first ramp. In the case where the system struggles with
1 particle, set it to currentComplexity.
- 5:01 PM Changeset in webkit [199615] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION( r199603): Pandora crashes WebKit in WebPlaybackSessionManager::removeClientForContext
https://bugs.webkit.org/show_bug.cgi?id=156648
<rdar://problem/25758117>
Reviewed by Beth Dakin.
Mistakenly checked in a reversed condition check, which causes a subsequent assert and crash.
- WebProcess/cocoa/WebPlaybackSessionManager.mm:
(WebKit::WebPlaybackSessionManager::clearPlaybackControlsManager):
- 3:37 PM Changeset in webkit [199614] by
-
- 1 copy in tags/Safari-601.1.46.127
New Tag.
- 3:24 PM Changeset in webkit [199613] by
-
- 3 edits in trunk/LayoutTests
[Font Loading] Test promise gets rejected when unknown format used
https://bugs.webkit.org/show_bug.cgi?id=156643
Reviewed by Simon Fraser.
When all the sources have an unknown format, the promise should be rejected.
- fast/text/font-face-javascript-expected.txt:
- fast/text/font-face-javascript.html:
- 3:23 PM Changeset in webkit [199612] by
-
- 30 edits1 copy55 adds in trunk
CSP: Ignore paths in CSP matching after redirects
https://bugs.webkit.org/show_bug.cgi?id=153154
<rdar://problem/24383215>
Reviewed by Brent Fulgham.
Source/WebCore:
For sub-resources that redirect, match the URL that is the result of the redirect against
the source expressions in Content Security Policy ignoring any paths in those source
expressions as per section Paths and Redirects of the Content Security Policy Level 2 spec.,
<https://w3c.github.io/webappsec-csp/2/> (Editor's Draft, 29 August 2015).
Tests: http/tests/security/contentSecurityPolicy/audio-redirect-allowed2.html
http/tests/security/contentSecurityPolicy/embed-redirect-allowed.html
http/tests/security/contentSecurityPolicy/embed-redirect-allowed2.html
http/tests/security/contentSecurityPolicy/embed-redirect-blocked.html
http/tests/security/contentSecurityPolicy/embed-redirect-blocked2.html
http/tests/security/contentSecurityPolicy/embed-redirect-blocked3.html
http/tests/security/contentSecurityPolicy/font-redirect-allowed2.html
http/tests/security/contentSecurityPolicy/form-action-src-redirect-allowed.html
http/tests/security/contentSecurityPolicy/form-action-src-redirect-allowed2.html
http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-child-src.html
http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-child-src2.html
http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-frame-src.html
http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-frame-src2.html
http/tests/security/contentSecurityPolicy/iframe-redirect-blocked-by-child-src.html
http/tests/security/contentSecurityPolicy/iframe-redirect-blocked-by-frame-src.html
http/tests/security/contentSecurityPolicy/image-redirect-allowed2.html
http/tests/security/contentSecurityPolicy/object-redirect-allowed.html
http/tests/security/contentSecurityPolicy/object-redirect-allowed2.html
http/tests/security/contentSecurityPolicy/object-redirect-blocked.html
http/tests/security/contentSecurityPolicy/object-redirect-blocked2.html
http/tests/security/contentSecurityPolicy/object-redirect-blocked3.html
http/tests/security/contentSecurityPolicy/script-redirect-allowed2.html
http/tests/security/contentSecurityPolicy/stylesheet-redirect-allowed2.html
http/tests/security/contentSecurityPolicy/svg-font-redirect-allowed2.html
http/tests/security/contentSecurityPolicy/svg-image-redirect-allowed2.html
http/tests/security/contentSecurityPolicy/track-redirect-allowed2.html
http/tests/security/contentSecurityPolicy/video-redirect-allowed2.html
http/tests/security/contentSecurityPolicy/xsl-redirect-allowed2.html
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::willSendRequest): Define a local variable didReceiveRedirectResponse as
to whether this request follows from having received a redirect response from the server. Pass this
information to FrameLoader::checkIfFormActionAllowedByCSP() and PolicyChecker::checkNavigationPolicy()
for its consideration.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::redirectReceived): Pass whether we have a non-null redirect
response (i.e. received a redirect response from the server) to DocumentThreadableLoader::isAllowedByContentSecurityPolicy()
for its consideration.
(WebCore::DocumentThreadableLoader::loadRequest): Pass whether we performed a redirect to
DocumentThreadableLoader::isAllowedByContentSecurityPolicy() for its consideration.
(WebCore::DocumentThreadableLoader::isAllowedByContentSecurityPolicy): Modified to take a boolean
argument as to whether a redirect was performed. We pass this information to the appropriate
ContentSecurityPolicy method.
- loader/DocumentThreadableLoader.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkIfFormActionAllowedByCSP): Modified to take a boolean argument as to whether
a redirect response was received and passes this information to ContentSecurityPolicy::allowFormAction()
for its consideration.
(WebCore::FrameLoader::loadURL): Modified to tell PolicyChecker::checkNavigationPolicy() that the navigation
is not in response to having received a redirect response from the server.
(WebCore::FrameLoader::loadWithDocumentLoader): Ditto.
- loader/FrameLoader.h:
- loader/PolicyChecker.cpp:
(WebCore::isAllowedByContentSecurityPolicy): Modified to take a boolean argument as to whether
a redirect response was received and passes this information to the appropriate ContentSecurityPolicy member
function for consideration.
(WebCore::PolicyChecker::checkNavigationPolicy): Modified to take a boolean argument as to whether a redirect
response was received and passes this information through to WebCore::isAllowedByContentSecurityPolicy().
- loader/PolicyChecker.h:
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal): Modified to tell CachedResourceLoader::canRequest() that
the request is in response to having received a redirect response from the server.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequest): Modified to take a boolean argument as to whether a redirect
response was received and passes this information through to the appropriate ContentSecurityPolicy member
function for consideration.
- loader/cache/CachedResourceLoader.h:
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowScriptFromSource): Modified to take an argument as to whether a
redirect response was received and passes this information through to ContentSecurityPolicyDirectiveList.
(WebCore::ContentSecurityPolicy::allowObjectFromSource): Ditto.
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource): Ditto.
(WebCore::ContentSecurityPolicy::allowChildContextFromSource): Ditto.
(WebCore::ContentSecurityPolicy::allowImageFromSource): Ditto.
(WebCore::ContentSecurityPolicy::allowStyleFromSource): Ditto.
(WebCore::ContentSecurityPolicy::allowFontFromSource): Ditto.
(WebCore::ContentSecurityPolicy::allowMediaFromSource): Ditto.
(WebCore::ContentSecurityPolicy::allowConnectToSource): Ditto.
(WebCore::ContentSecurityPolicy::allowFormAction): Ditto.
- page/csp/ContentSecurityPolicy.h:
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::checkSource):
(WebCore::checkFrameAncestors):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForChildContext): Modified to take an argument
as to whether a redirect response was received and passes this information through to the CSP directive.
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForConnectSource): Ditto.
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForFont): Ditto.
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForFormAction): Ditto.
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForFrame): Ditto.
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForImage): Ditto.
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForMedia): Ditto.
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForObjectSource): Ditto.
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForScript): Ditto.
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForStyle): Ditto.
- page/csp/ContentSecurityPolicyDirectiveList.h:
- page/csp/ContentSecurityPolicySource.cpp:
(WebCore::ContentSecurityPolicySource::matches): Modified to take an argument as to whether a redirect response
was received. When the specified URL follows from having received a redirect response then ignore the path
component of the source expression when checking for a match. Otherwise, consider the path component of the
source expression when performing the match.
- page/csp/ContentSecurityPolicySource.h:
- page/csp/ContentSecurityPolicySourceList.cpp:
(WebCore::ContentSecurityPolicySourceList::matches): Modified to take an argument as to whether a redirect
response was received and pass this information through to ContentSecurityPolicySource::matches().
- page/csp/ContentSecurityPolicySourceList.h:
- page/csp/ContentSecurityPolicySourceListDirective.cpp:
(WebCore::ContentSecurityPolicySourceListDirective::allows): Modified to take an argument as to whether a
redirect response was received and pass this information through to ContentSecurityPolicySourceList::matches().
- page/csp/ContentSecurityPolicySourceListDirective.h:
LayoutTests:
Add tests to ensure that we ignore the path component of a source expression when matching
a sub-resource URL that is the result of a redirect.
- TestExpectations: Unskip test http/tests/security/contentSecurityPolicy/redirect-does-not-match-paths.html as it now passes.
- http/tests/security/contentSecurityPolicy/audio-redirect-allowed2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/audio-redirect-allowed2.html: Added.
- http/tests/security/contentSecurityPolicy/embed-redirect-allowed-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/embed-redirect-allowed.html: Added.
- http/tests/security/contentSecurityPolicy/embed-redirect-allowed2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/embed-redirect-allowed2.html: Added.
- http/tests/security/contentSecurityPolicy/embed-redirect-blocked-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/embed-redirect-blocked.html: Added.
- http/tests/security/contentSecurityPolicy/embed-redirect-blocked2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/embed-redirect-blocked2.html: Added.
- http/tests/security/contentSecurityPolicy/embed-redirect-blocked3-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/embed-redirect-blocked3.html: Added.
- http/tests/security/contentSecurityPolicy/font-redirect-allowed2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/font-redirect-allowed2.html: Added.
- http/tests/security/contentSecurityPolicy/form-action-src-redirect-allowed-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/form-action-src-redirect-allowed.html: Added.
- http/tests/security/contentSecurityPolicy/form-action-src-redirect-allowed2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/form-action-src-redirect-allowed2.html: Added.
- http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-child-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-child-src.html: Added.
- http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-child-src2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-child-src2.html: Added.
- http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-frame-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-frame-src.html: Added.
- http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-frame-src2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/iframe-redirect-allowed-by-frame-src2.html: Added.
- http/tests/security/contentSecurityPolicy/iframe-redirect-blocked-by-child-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/iframe-redirect-blocked-by-child-src.html: Added.
- http/tests/security/contentSecurityPolicy/iframe-redirect-blocked-by-frame-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/iframe-redirect-blocked-by-frame-src.html: Added.
- http/tests/security/contentSecurityPolicy/image-redirect-allowed2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/image-redirect-allowed2.html: Added.
- http/tests/security/contentSecurityPolicy/object-redirect-allowed-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-redirect-allowed.html: Added.
- http/tests/security/contentSecurityPolicy/object-redirect-allowed2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-redirect-allowed2.html: Added.
- http/tests/security/contentSecurityPolicy/object-redirect-blocked-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-redirect-blocked.html: Added.
- http/tests/security/contentSecurityPolicy/object-redirect-blocked2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-redirect-blocked2.html: Added.
- http/tests/security/contentSecurityPolicy/object-redirect-blocked3-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-redirect-blocked3.html: Added.
- http/tests/security/contentSecurityPolicy/redirect-does-not-match-paths-expected.txt: Update expected result now that we pass this test.
- http/tests/security/contentSecurityPolicy/resources/alert-pass.html:
- http/tests/security/contentSecurityPolicy/resources/redirect.pl: For resourceType == "image", load image http://127.0.0.1:8000/security/resources/abe.png
instead of http://127.0.0.1:8000/resources/square20.jpg as the latter does not exist.
- http/tests/security/contentSecurityPolicy/resources/xsl-redirect-allowed.php:
- http/tests/security/contentSecurityPolicy/script-redirect-allowed2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/script-redirect-allowed2.html: Added.
- http/tests/security/contentSecurityPolicy/stylesheet-redirect-allowed2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/stylesheet-redirect-allowed2.html: Added.
- http/tests/security/contentSecurityPolicy/svg-font-redirect-allowed2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/svg-font-redirect-allowed2.html: Added.
- http/tests/security/contentSecurityPolicy/svg-image-redirect-allowed2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/svg-image-redirect-allowed2.html: Added.
- http/tests/security/contentSecurityPolicy/track-redirect-allowed2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/track-redirect-allowed2.html: Added.
- http/tests/security/contentSecurityPolicy/video-redirect-allowed2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/video-redirect-allowed2.html: Added.
- http/tests/security/contentSecurityPolicy/xsl-redirect-allowed.html:
- http/tests/security/contentSecurityPolicy/xsl-redirect-allowed2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/xsl-redirect-allowed2.html: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/xsl-redirect-allowed.html.
- platform/ios-simulator/TestExpectations: Skip tests {embed, object}-redirect-blocked{2, 3}.html as they make
use of a plug-in and plug-ins are not supported on iOS.
- platform/wk2/TestExpectations: Skip tests {embed, object}-redirect-blocked3.html on WebKit2 as they fail
because of <https://bugs.webkit.org/show_bug.cgi?id=156612>.
- 2:28 PM Changeset in webkit [199611] by
-
- 3 edits2 adds in trunk
[CSS Font Loading] FontFace's promise may never be resolved/rejected if Content Security Policy blocks all the URLs
https://bugs.webkit.org/show_bug.cgi?id=156605
Reviewed by Daniel Bates.
Source/WebCore:
If all the fonts are blocked, we will create a FontFace with no FontFaceSources.
Loading such a FontFace should reject the promise.
Test: fast/text/font-loading-csp-block-all.html
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::pump):
LayoutTests:
- fast/text/font-loading-csp-block-all-expected.txt: Added.
- fast/text/font-loading-csp-block-all.html: Added.
- 2:09 PM Changeset in webkit [199610] by
-
- 2 edits in trunk/Tools
Unreviewed, rolling out r199600.
https://bugs.webkit.org/show_bug.cgi?id=156642
It didn't help (Requested by ap_ on #webkit).
Reverted changeset:
"Build fix."
http://trac.webkit.org/changeset/199600
- 1:57 PM Changeset in webkit [199609] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo] Another unreviewed build fix.
- platform/network/curl/MultipartHandle.cpp:
(WebCore::MultipartHandle::parseHeadersIfPossible):
- 1:55 PM Changeset in webkit [199608] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo] Unreviewed build fix.,
- platform/network/curl/MultipartHandle.cpp:
(WebCore::MultipartHandle::parseHeadersIfPossible): Correct for new method signature.
- 12:59 PM Changeset in webkit [199607] by
-
- 3 edits2 adds in trunk
ASSERT when loading github.com
https://bugs.webkit.org/show_bug.cgi?id=156604
<rdar://problem/19890634>
Reviewed by Darin Adler.
Source/WebCore:
HTMLFormControlElement::m_isValid is a cache of the results of the valid() function.
When cloning the node, we were preserving each individual item, but not the state
of the cache. Therefore, the cache and the attributes didn't agree with each other.
Test: fast/forms/checkValidity-cloneNode-crash.html
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::copyNonAttributePropertiesFromElement):
LayoutTests:
- fast/forms/checkValidity-cloneNode-crash-expected.txt: Added.
- fast/forms/checkValidity-cloneNode-crash.html: Added.
- 12:55 PM Changeset in webkit [199606] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/WebCore
Merged r199598. rdar://problem/25641321
- 12:49 PM Changeset in webkit [199605] by
-
- 8 edits5 moves5 adds5 deletes in trunk
Remove support for X-Frame-Options in
<meta>
https://bugs.webkit.org/show_bug.cgi?id=156625
<rdar://problem/25748714>
Reviewed by Darin Adler.
Source/WebCore:
Follow RFC7034 (Section 4), which recommends that 'X-Frame-Options' be ignored when delivered as part of
a '<meta http-equiv="...">' tag. This brings us in line with Firefox, Edge, and Blink.
Tests: http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body.html
http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow.html
http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny.html
http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag.html
http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html
- dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Log error message instead of blocking the load.
LayoutTests:
Revise tests to match our desired behavior based on RFC 7034 (Section 4).
- http/tests/security/XFrameOptions/resources/x-frame-options-deny-meta-tag-subframe-in-body.html:
- http/tests/security/XFrameOptions/resources/x-frame-options-deny-meta-tag-subframe-parent-same-origin-deny.html:
- http/tests/security/XFrameOptions/resources/x-frame-options-deny-meta-tag-subframe.html:
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow-expected.txt: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html: Removed.
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html: Removed.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-expected.txt: Added.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body-expected.txt: Added.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body.html: Copied from LayoutTests/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow-expected.txt: Added.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow.html: Copied from LayoutTests/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt: Added.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny.html: Copied from LayoutTests/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html.
- http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag.html: Copied from LayoutTests/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html.
- http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-expected.txt: Removed.
- http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored-expected.txt: Added.
- http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: Copied from LayoutTests/http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options.html.
- http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options.html: Removed.
- inspector/console/x-frame-options-message-expected.txt: Rebaselined.
- platform/win/TestExpectations:
- 12:20 PM Changeset in webkit [199604] by
-
- 2 edits in trunk/LayoutTests
Mark inspector/formatting/formatting-javascript.html as flaky on mac
https://bugs.webkit.org/show_bug.cgi?id=156634
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 12:06 PM Changeset in webkit [199603] by
-
- 3 edits in trunk/Source/WebCore
Audio elements should be able to have a controls manager.
https://bugs.webkit.org/show_bug.cgi?id=156630
Reviewed by Beth Dakin.
Now that there is no longer a architectural restriction about what kind of media elements
can be used with WebPlaybackSessionManager, allow audio elements to create a controls
manager.
Drive-by fix: clear the controls manager when destroying the media player due to entering
the page cache, and when destroying the media element.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::updatePlayState):
(WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer):
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canControlControlsManager):
- 12:01 PM Changeset in webkit [199602] by
-
- 17 edits4 adds in trunk
Web Inspector: sourceMappingURL not used when sourceURL is set
https://bugs.webkit.org/show_bug.cgi?id=156021
<rdar://problem/25438417>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-15
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
Clean up Debugger.sourceParsed to separately include:
- url ("resource URL", "source url" in JSC APIs)
- sourceURL - # sourceURL directive
By always having the resource URL the Web Inspector frontend
can better match this Script to a Resource of the same URL,
and decide to use the sourceURL if it is available when
appropriate.
- inspector/protocol/Debugger.json:
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::didParseSource):
Send the new sourceParsed parameters.
Source/WebInspectorUI:
Previously Debugger.sourceParsed only providing the sourceURL, and
wiping out the resourceURL, meant that a Script from a Resource that
set a sourceURL directive would fail to be associated with its Resource.
This would result in duplicated tree elements in the Resources Sidebar,
one for the Resource, and one for the Script. With the Script getting
ultimately getting the SourceMap resources. However, since the frontend
prefers Resources over Scripts when possible, an error that generated
from the script would point to a location in the Resource, not following
source maps.
By always providing the resource URL in Debugger.sourceParsed, a Script
can better be associated with its Resource. The result is now a single
shared tree element in the Resources Sidebar, and the Resource getting
the SourceMap resources. Now the script error goes through the Resource
to its SourceMap resources as we would expect.
- UserInterface/Protocol/DebuggerObserver.js:
(WebInspector.DebuggerObserver):
(WebInspector.DebuggerObserver.prototype.scriptParsed):
We now have to handle two different signatures of scriptParsed. One
for legacy, and one for non-legacy. Cache that value early on, since
scriptParsed happens a lot.
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Agent.prototype.hasEventParameter):
Runtime check a protocol event to see if it has a parameter. This
is used to check if Debugger.sourceParsed is legacy or not based
on if it has the legacy "hasSourceURL" parameter.
- UserInterface/Models/Script.js:
(WebInspector.Script):
(WebInspector.Script.prototype.get sourceURL):
Treat sourceURL and url separately.
(WebInspector.Script.prototype.get displayName):
Handle both the url and sourceURL in displayName.
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.get knownNonResourceScripts):
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
(WebInspector.DebuggerManager.prototype.scriptDidParse):
- UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject.prototype.findFunctionSourceCodeLocation):
Update code that checks the sourceURL to explicitly use sourceURL.
- UserInterface/Controllers/SourceMapManager.js:
(WebInspector.SourceMapManager.prototype.downloadSourceMap):
For legacy backends, or in case we get a resource that has an incomplete
baseURL, attempt to get an absolute URL based on the main resource.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype._addScript):
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
Ignore scripts without a url or sourceURL.
LayoutTests:
- inspector/debugger/scriptParsed.html:
- inspector/debugger/search-scripts.html:
- inspector/debugger/setBreakpointByUrl-sourceURL.html:
- inspector/debugger/sourceURLs.html:
Update tests that need to handle sourceURL separately.
- inspector/model/resources/relationship-named.js: Added.
- inspector/model/resources/relationship-normal.js: Added.
- inspector/model/script-resource-relationship-expected.txt: Added.
- inspector/model/script-resource-relationship.html: Added.
Tests for Script and Resource relationships.
- 11:56 AM Changeset in webkit [199601] by
-
- 5 edits in tags/Safari-602.1.28.0.1/Source
Versioning.
- 11:33 AM Changeset in webkit [199600] by
-
- 2 edits in trunk/Tools
Build fix.
- LayoutTestRelay/LayoutTestRelay/main.m: Allow some deprecated methods.
- 11:26 AM Changeset in webkit [199599] by
-
- 2 edits in trunk/Source/WebKit2
Mark NetworkLoad as FastAllocated
https://bugs.webkit.org/show_bug.cgi?id=156628
Reviewed by Alex Christensen.
Mark NetworkLoad as FastAllocated for performance.
- NetworkProcess/NetworkLoad.h:
- 11:24 AM Changeset in webkit [199598] by
-
- 2 edits in trunk/Source/WebCore
Calling SVGAnimatedPropertyTearOff::animationEnded() will crash if the SVG property is not animating
https://bugs.webkit.org/show_bug.cgi?id=156549
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-04-15
Reviewed by Darin Adler.
A speculative fix for a crash which may happen when calling animationEnded()
of any SVGAnimatedProperty while it is not animating.
- svg/SVGAnimatedTypeAnimator.h:
(WebCore::SVGAnimatedTypeAnimator::executeAction):
- 11:08 AM Changeset in webkit [199597] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix for iOS simulator. Assert the correct variable.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerLayer layoutSublayers]):
(-[WebAVPlayerLayer resolveBounds]):
(-[WebAVPlayerLayer setVideoGravity:]):
- 10:59 AM Changeset in webkit [199596] by
-
- 2 edits in trunk/LayoutTests
Mark fast/text/font-face-javascript.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=156631
Unreviewed test gardening.
- 10:53 AM Changeset in webkit [199595] by
-
- 1 copy in tags/Safari-602.1.28.0.1
New tag.
- 10:50 AM Changeset in webkit [199594] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=156629
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 10:50 AM Changeset in webkit [199593] by
-
- 29 edits3 copies13 adds in trunk/Source
Allow WebVideoFullscreenManager and Proxy to be used by audio elements.
https://bugs.webkit.org/show_bug.cgi?id=156564
Reviewed by Beth Dakin.
Source/WebCore:
No new tests; this refactors existing functionality into new classes.
Tease apart the various WebVideoFullscreen{Interface,Model}{AVKit,Mac,VideoElement} into new
WebPlaybackSession… classes dealing exclusively with playback state and commands, leaving
fullscreen state and commands in the WebVideoFullscreen… classes. Specifically, create the
following new classes:
- WebPlaybackSessionInterface (copied from WebVideoFullscreenInterface)
- WebPlaybackSessionModelMediaElement (copied from WebVideoFullscreenModelMediaElement)
- WebPlaybackSessionModel (copied from WebVideoFullscreenModel)
- WebPlaybackSessionInterfaceAVKit (copied from WebVideoFullscreenInterfaceAVKit)
- WebPlaybackSessionInterfaceMac (copied from WebVideoFullscreenInterfaceMac)
WebVideoFullscreenInterface and WebVideoFullscreenModel now inherit from
WebPlaybackSessionInterface and WebPlaybackSessionModel, respectively. The concrete
WebVideoFullscreen… subclasses each take their respective WebPlaybackSession… subclasses and
fulfill their WebPlaybackSession interfaces through composition.
As part of this big tease-apart, the WebAVPlayerController class needs to be exposed in a
header (as it's accessed by two different classes now), so that class is moved into its own
implementation and header files.
The one case where a change in a WebPlaybackSession… class needs to be reflected in a
WebVideoFullscreen… class is in WebPlaybackSessionInterfaceAVKit, where
WebVideoFullscreenInterfaceAVKit needs to be notified when external playback becomes dis/en-
abled, so a new WebPlaybackSessionInterfaceAVKitClient interface has been added to allow the
WebPlaybackSession… to notify the WebVideoFullscreen….
The responsibility for the "controls manager" has moved from the WebVideoFullscreen… classes
to the WebPlaybackSession… classes, so the ChromeClient interface for creating and destroying
those controls is similarly renamed from setUpVideoControlsManager() to
setUpPlaybackControlsManager().
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updatePlayState):
- page/ChromeClient.h:
- platform/cocoa/WebPlaybackSessionInterface.h: Copied from Source/WebCore/platform/cocoa/WebVideoFullscreenInterface.h.
(WebCore::WebPlaybackSessionInterface::~WebPlaybackSessionInterface):
- platform/cocoa/WebPlaybackSessionModel.h: Added.
(WebCore::WebPlaybackSessionModel::~WebPlaybackSessionModel):
- platform/cocoa/WebPlaybackSessionModelMediaElement.h: Added.
(WebCore::WebPlaybackSessionModelMediaElement::create):
(WebCore::WebPlaybackSessionModelMediaElement::mediaElement):
- platform/cocoa/WebPlaybackSessionModelMediaElement.mm: Added.
(WebPlaybackSessionModelMediaElement::WebPlaybackSessionModelMediaElement):
(WebPlaybackSessionModelMediaElement::~WebPlaybackSessionModelMediaElement):
(WebPlaybackSessionModelMediaElement::setWebPlaybackSessionInterface):
(WebPlaybackSessionModelMediaElement::setMediaElement):
(WebPlaybackSessionModelMediaElement::handleEvent):
(WebPlaybackSessionModelMediaElement::updateForEventName):
(WebPlaybackSessionModelMediaElement::play):
(WebPlaybackSessionModelMediaElement::pause):
(WebPlaybackSessionModelMediaElement::togglePlayState):
(WebPlaybackSessionModelMediaElement::beginScrubbing):
(WebPlaybackSessionModelMediaElement::endScrubbing):
(WebPlaybackSessionModelMediaElement::seekToTime):
(WebPlaybackSessionModelMediaElement::fastSeek):
(WebPlaybackSessionModelMediaElement::beginScanningForward):
(WebPlaybackSessionModelMediaElement::beginScanningBackward):
(WebPlaybackSessionModelMediaElement::endScanning):
(WebPlaybackSessionModelMediaElement::selectAudioMediaOption):
(WebPlaybackSessionModelMediaElement::selectLegibleMediaOption):
(WebPlaybackSessionModelMediaElement::updateLegibleOptions):
(WebPlaybackSessionModelMediaElement::observedEventNames):
(WebPlaybackSessionModelMediaElement::eventNameAll):
- platform/cocoa/WebPlaybackSessionModelVideoElement.cpp: Copied from Source/WebCore/platform/cocoa/WebVideoFullscreenModelVideoElement.mm.
(WebPlaybackSessionModelVideoElement::WebPlaybackSessionModelVideoElement):
(WebPlaybackSessionModelVideoElement::~WebPlaybackSessionModelVideoElement):
(WebPlaybackSessionModelVideoElement::setWebVideoFullscreenInterface):
(WebPlaybackSessionModelVideoElement::setVideoElement):
(WebPlaybackSessionModelVideoElement::handleEvent):
(WebPlaybackSessionModelVideoElement::updateForEventName):
(WebPlaybackSessionModelVideoElement::play):
(WebPlaybackSessionModelVideoElement::pause):
(WebPlaybackSessionModelVideoElement::togglePlayState):
(WebPlaybackSessionModelVideoElement::beginScrubbing):
(WebPlaybackSessionModelVideoElement::endScrubbing):
(WebPlaybackSessionModelVideoElement::seekToTime):
(WebPlaybackSessionModelVideoElement::fastSeek):
(WebPlaybackSessionModelVideoElement::beginScanningForward):
(WebPlaybackSessionModelVideoElement::beginScanningBackward):
(WebPlaybackSessionModelVideoElement::endScanning):
(WebPlaybackSessionModelVideoElement::selectAudioMediaOption):
(WebPlaybackSessionModelVideoElement::selectLegibleMediaOption):
(WebPlaybackSessionModelVideoElement::updateLegibleOptions):
(WebPlaybackSessionModelVideoElement::observedEventNames):
(WebPlaybackSessionModelVideoElement::eventNameAll):
- platform/cocoa/WebVideoFullscreenInterface.h:
- platform/cocoa/WebVideoFullscreenModel.h:
(WebCore::WebVideoFullscreenModel::~WebVideoFullscreenModel): Deleted.
- platform/cocoa/WebVideoFullscreenModelVideoElement.h:
(WebCore::WebVideoFullscreenModelVideoElement::create):
- platform/cocoa/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::WebVideoFullscreenModelVideoElement):
(WebVideoFullscreenModelVideoElement::setWebVideoFullscreenInterface):
(WebVideoFullscreenModelVideoElement::setVideoElement):
(WebVideoFullscreenModelVideoElement::play):
(WebVideoFullscreenModelVideoElement::pause):
(WebVideoFullscreenModelVideoElement::togglePlayState):
(WebVideoFullscreenModelVideoElement::beginScrubbing):
(WebVideoFullscreenModelVideoElement::endScrubbing):
(WebVideoFullscreenModelVideoElement::seekToTime):
(WebVideoFullscreenModelVideoElement::fastSeek):
(WebVideoFullscreenModelVideoElement::beginScanningForward):
(WebVideoFullscreenModelVideoElement::beginScanningBackward):
(WebVideoFullscreenModelVideoElement::endScanning):
(WebVideoFullscreenModelVideoElement::selectAudioMediaOption):
(WebVideoFullscreenModelVideoElement::selectLegibleMediaOption):
(WebVideoFullscreenModelVideoElement::handleEvent): Deleted.
(WebVideoFullscreenModelVideoElement::setVideoFullscreenLayer): Deleted.
(WebVideoFullscreenModelVideoElement::setVideoLayerFrame): Deleted.
(WebVideoFullscreenModelVideoElement::setVideoLayerGravity): Deleted.
(WebVideoFullscreenModelVideoElement::observedEventNames): Deleted.
(WebVideoFullscreenModelVideoElement::eventNameAll): Deleted.
(WebVideoFullscreenModelVideoElement::fullscreenModeChanged): Deleted.
(WebVideoFullscreenModelVideoElement::isVisible): Deleted.
- platform/ios/WebAVPlayerController.h: Added.
- platform/ios/WebAVPlayerController.mm: Added.
(-[WebAVPlayerController dealloc]):
(-[WebAVPlayerController resetState]):
(-[WebAVPlayerController player]):
(-[WebAVPlayerController forwardingTargetForSelector:]):
(-[WebAVPlayerController play:]):
(-[WebAVPlayerController pause:]):
(-[WebAVPlayerController togglePlayback:]):
(-[WebAVPlayerController togglePlaybackEvenWhenInBackground:]):
(-[WebAVPlayerController isPlaying]):
(-[WebAVPlayerController setPlaying:]):
(+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
(-[WebAVPlayerController beginScrubbing:]):
(-[WebAVPlayerController endScrubbing:]):
(-[WebAVPlayerController seekToTime:]):
(-[WebAVPlayerController currentTimeWithinEndTimes]):
(-[WebAVPlayerController setCurrentTimeWithinEndTimes:]):
(+[WebAVPlayerController keyPathsForValuesAffectingCurrentTimeWithinEndTimes]):
(-[WebAVPlayerController hasLiveStreamingContent]):
(+[WebAVPlayerController keyPathsForValuesAffectingHasLiveStreamingContent]):
(-[WebAVPlayerController skipBackwardThirtySeconds:]):
(-[WebAVPlayerController gotoEndOfSeekableRanges:]):
(-[WebAVPlayerController canScanForward]):
(+[WebAVPlayerController keyPathsForValuesAffectingCanScanForward]):
(-[WebAVPlayerController beginScanningForward:]):
(-[WebAVPlayerController endScanningForward:]):
(-[WebAVPlayerController beginScanningBackward:]):
(-[WebAVPlayerController endScanningBackward:]):
(-[WebAVPlayerController canSeekToBeginning]):
(+[WebAVPlayerController keyPathsForValuesAffectingCanSeekToBeginning]):
(-[WebAVPlayerController seekToBeginning:]):
(-[WebAVPlayerController seekChapterBackward:]):
(-[WebAVPlayerController canSeekToEnd]):
(+[WebAVPlayerController keyPathsForValuesAffectingCanSeekToEnd]):
(-[WebAVPlayerController seekToEnd:]):
(-[WebAVPlayerController seekChapterForward:]):
(-[WebAVPlayerController hasMediaSelectionOptions]):
(+[WebAVPlayerController keyPathsForValuesAffectingHasMediaSelectionOptions]):
(-[WebAVPlayerController hasAudioMediaSelectionOptions]):
(+[WebAVPlayerController keyPathsForValuesAffectingHasAudioMediaSelectionOptions]):
(-[WebAVPlayerController hasLegibleMediaSelectionOptions]):
(+[WebAVPlayerController keyPathsForValuesAffectingHasLegibleMediaSelectionOptions]):
(-[WebAVPlayerController currentAudioMediaSelectionOption]):
(-[WebAVPlayerController setCurrentAudioMediaSelectionOption:]):
(-[WebAVPlayerController currentLegibleMediaSelectionOption]):
(-[WebAVPlayerController setCurrentLegibleMediaSelectionOption:]):
(-[WebAVPlayerController isPlayingOnExternalScreen]):
(+[WebAVPlayerController keyPathsForValuesAffectingPlayingOnExternalScreen]):
(-[WebAVPlayerController isPictureInPictureInterrupted]):
(-[WebAVPlayerController setPictureInPictureInterrupted:]):
- platform/ios/WebPlaybackSessionInterfaceAVKit.h: Added.
(WebCore::WebPlaybackSessionInterfaceAVKitClient::~WebPlaybackSessionInterfaceAVKitClient):
- platform/ios/WebPlaybackSessionInterfaceAVKit.mm: Added.
(WebCore::WebPlaybackSessionInterfaceAVKit::WebPlaybackSessionInterfaceAVKit):
(WebCore::WebPlaybackSessionInterfaceAVKit::~WebPlaybackSessionInterfaceAVKit):
(WebCore::WebPlaybackSessionInterfaceAVKit::resetMediaState):
(WebCore::WebPlaybackSessionInterfaceAVKit::setWebPlaybackSessionModel):
(WebCore::WebPlaybackSessionInterfaceAVKit::setDuration):
(WebCore::WebPlaybackSessionInterfaceAVKit::setCurrentTime):
(WebCore::WebPlaybackSessionInterfaceAVKit::setBufferedTime):
(WebCore::WebPlaybackSessionInterfaceAVKit::setRate):
(WebCore::WebPlaybackSessionInterfaceAVKit::setSeekableRanges):
(WebCore::WebPlaybackSessionInterfaceAVKit::setCanPlayFastReverse):
(WebCore::mediaSelectionOptions):
(WebCore::WebPlaybackSessionInterfaceAVKit::setAudioMediaSelectionOptions):
(WebCore::WebPlaybackSessionInterfaceAVKit::setLegibleMediaSelectionOptions):
(WebCore::WebPlaybackSessionInterfaceAVKit::setExternalPlayback):
(WebCore::WebPlaybackSessionInterfaceAVKit::setWirelessVideoPlaybackDisabled):
(WebCore::WebPlaybackSessionInterfaceAVKit::wirelessVideoPlaybackDisabled):
(WebCore::WebPlaybackSessionInterfaceAVKit::invalidate):
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::setUpFullscreen):
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerViewControllerDelegate fullscreenInterface]):
(-[WebAVPlayerViewControllerDelegate setFullscreenInterface:]):
(-[WebAVPlayerLayer fullscreenInterface]):
(-[WebAVPlayerLayer setFullscreenInterface:]):
(-[WebAVPlayerLayer layoutSublayers]):
(-[WebAVPlayerLayer resolveBounds]):
(-[WebAVPlayerLayer setVideoGravity:]):
(WebVideoFullscreenInterfaceAVKit::create):
(WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit):
(WebVideoFullscreenInterfaceAVKit::~WebVideoFullscreenInterfaceAVKit):
(WebVideoFullscreenInterfaceAVKit::playerController):
(WebVideoFullscreenInterfaceAVKit::resetMediaState):
(WebVideoFullscreenInterfaceAVKit::setDuration):
(WebVideoFullscreenInterfaceAVKit::setCurrentTime):
(WebVideoFullscreenInterfaceAVKit::setBufferedTime):
(WebVideoFullscreenInterfaceAVKit::setRate):
(WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
(WebVideoFullscreenInterfaceAVKit::setSeekableRanges):
(WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse):
(WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions):
(WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions):
(WebVideoFullscreenInterfaceAVKit::setExternalPlayback):
(WebVideoFullscreenInterfaceAVKit::externalPlaybackEnabledChanged):
(WebVideoFullscreenInterfaceAVKit::setWirelessVideoPlaybackDisabled):
(WebVideoFullscreenInterfaceAVKit::wirelessVideoPlaybackDisabled):
(WebVideoFullscreenInterfaceAVKit::setupFullscreen):
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreen):
(WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture):
(-[WebAVPlayerViewControllerDelegate playerViewControllerWillStartPictureInPicture:]): Deleted.
(-[WebAVPlayerViewControllerDelegate playerViewControllerDidStartPictureInPicture:]): Deleted.
(-[WebAVPlayerViewControllerDelegate playerViewControllerFailedToStartPictureInPicture:withError:]): Deleted.
(-[WebAVPlayerViewControllerDelegate playerViewControllerWillStopPictureInPicture:]): Deleted.
(-[WebAVPlayerViewControllerDelegate playerViewControllerDidStopPictureInPicture:]): Deleted.
(convertToExitFullScreenReason): Deleted.
(-[WebAVPlayerViewControllerDelegate playerViewController:shouldExitFullScreenWithReason:]): Deleted.
(-[WebAVPlayerViewControllerDelegate playerViewController:restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:]): Deleted.
(-[WebAVPlayerLayer init]): Deleted.
(-[WebAVPlayerLayer dealloc]): Deleted.
(-[WebAVPlayerLayer videoGravity]): Deleted.
(-[WebAVPlayerLayer videoRect]): Deleted.
(+[WebAVPlayerLayer keyPathsForValuesAffectingVideoRect]): Deleted.
(WebAVPictureInPicturePlayerLayerView_layerClass): Deleted.
(getWebAVPictureInPicturePlayerLayerViewClass): Deleted.
(WebAVPlayerLayerView_layerClass): Deleted.
(WebAVPlayerLayerView_playerController): Deleted.
(WebAVPlayerLayerView_setPlayerController): Deleted.
(WebAVPlayerLayerView_videoView): Deleted.
(WebAVPlayerLayerView_setVideoView): Deleted.
(WebAVPlayerLayerView_startRoutingVideoToPictureInPicturePlayerLayerView): Deleted.
(WebAVPlayerLayerView_stopRoutingVideoToPictureInPicturePlayerLayerView): Deleted.
(WebAVPlayerLayerView_pictureInPicturePlayerLayerView): Deleted.
(WebAVPlayerLayerView_dealloc): Deleted.
(getWebAVPlayerLayerViewClass): Deleted.
(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel): Deleted.
(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenChangeObserver): Deleted.
(WebVideoFullscreenInterfaceAVKit::applicationDidBecomeActive): Deleted.
(WebVideoFullscreenInterfaceAVKit::enterFullscreen): Deleted.
(WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard): Deleted.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): Deleted.
(WebVideoFullscreenInterfaceAVKit::didStartPictureInPicture): Deleted.
(WebVideoFullscreenInterfaceAVKit::failedToStartPictureInPicture): Deleted.
(WebVideoFullscreenInterfaceAVKit::willStopPictureInPicture): Deleted.
(WebVideoFullscreenInterfaceAVKit::didStopPictureInPicture): Deleted.
(WebVideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler): Deleted.
(WebVideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason): Deleted.
(WebVideoFullscreenInterfaceAVKit::watchdogTimerFired): Deleted.
(WebVideoFullscreenInterfaceAVKit::setMode): Deleted.
(WebVideoFullscreenInterfaceAVKit::clearMode): Deleted.
(WebCore::supportsPictureInPicture): Deleted.
- platform/mac/WebPlaybackSessionInterfaceMac.h: Added.
- platform/mac/WebPlaybackSessionInterfaceMac.mm: Copied from Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.mm.
(-[WebAVMediaSelectionOptionMac localizedDisplayName]):
(-[WebAVMediaSelectionOptionMac setLocalizedDisplayName:]):
(-[WebPlaybackControlsManager initWithWebPlaybackSessionInterfaceMac:]):
(-[WebPlaybackControlsManager timing]):
(-[WebPlaybackControlsManager setTiming:]):
(-[WebPlaybackControlsManager seekableTimeRanges]):
(-[WebPlaybackControlsManager setSeekableTimeRanges:]):
(-[WebPlaybackControlsManager isSeeking]):
(-[WebPlaybackControlsManager seekToTime:toleranceBefore:toleranceAfter:]):
(-[WebPlaybackControlsManager audioMediaSelectionOptions]):
(-[WebPlaybackControlsManager setAudioMediaSelectionOptions:]):
(-[WebPlaybackControlsManager currentAudioMediaSelectionOption]):
(-[WebPlaybackControlsManager setCurrentAudioMediaSelectionOption:]):
(-[WebPlaybackControlsManager legibleMediaSelectionOptions]):
(-[WebPlaybackControlsManager setLegibleMediaSelectionOptions:]):
(-[WebPlaybackControlsManager currentLegibleMediaSelectionOption]):
(-[WebPlaybackControlsManager setCurrentLegibleMediaSelectionOption:]):
(-[WebPlaybackControlsManager cancelThumbnailAndAudioAmplitudeSampleGeneration]):
(WebCore::WebPlaybackSessionInterfaceMac::~WebPlaybackSessionInterfaceMac):
(WebCore::WebPlaybackSessionInterfaceMac::setWebPlaybackSessionModel):
(WebCore::WebPlaybackSessionInterfaceMac::setDuration):
(WebCore::WebPlaybackSessionInterfaceMac::setCurrentTime):
(WebCore::WebPlaybackSessionInterfaceMac::setRate):
(WebCore::WebPlaybackSessionInterfaceMac::setSeekableRanges):
(WebCore::mediaSelectionOptions):
(WebCore::WebPlaybackSessionInterfaceMac::setAudioMediaSelectionOptions):
(WebCore::WebPlaybackSessionInterfaceMac::setLegibleMediaSelectionOptions):
(WebCore::WebPlaybackSessionInterfaceMac::invalidate):
(WebCore::WebPlaybackSessionInterfaceMac::ensureControlsManager):
(WebCore::WebPlaybackSessionInterfaceMac::playBackControlsManager):
- platform/mac/WebVideoFullscreenInterfaceMac.h:
- platform/mac/WebVideoFullscreenInterfaceMac.mm:
(WebCore::WebVideoFullscreenInterfaceMac::WebVideoFullscreenInterfaceMac):
(WebCore::WebVideoFullscreenInterfaceMac::setWebVideoFullscreenModel):
(WebCore::WebVideoFullscreenInterfaceMac::setDuration):
(WebCore::WebVideoFullscreenInterfaceMac::setCurrentTime):
(WebCore::WebVideoFullscreenInterfaceMac::setRate):
(WebCore::WebVideoFullscreenInterfaceMac::setSeekableRanges):
(WebCore::WebVideoFullscreenInterfaceMac::setAudioMediaSelectionOptions):
(WebCore::WebVideoFullscreenInterfaceMac::setLegibleMediaSelectionOptions):
(WebCore::WebVideoFullscreenInterfaceMac::ensureControlsManager):
(WebCore::WebVideoFullscreenInterfaceMac::~WebVideoFullscreenInterfaceMac): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setWebVideoFullscreenChangeObserver): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setMode): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::clearMode): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setupFullscreen): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::enterFullscreen): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::exitFullscreen): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::exitFullscreenWithoutAnimationToMode): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::cleanupFullscreen): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::invalidate): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::preparedToReturnToInline): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setVideoDimensions): Deleted.
(WebCore::supportsPictureInPicture): Deleted.
Source/WebKit2:
Tease apart WebVideoFullscreenManager and …Proxy into WebPlaybackSessionManager and …Proxy
classes dealing exclusively with playback state and commands, leaving fullscreen state and
commands in the WebVideoFullscreenManager… classes.
WebVideoFullscreenManager and …Proxy will now require an associated
WebPlaybackSessionManager and …Proxy class. The WebPlaybackSessionManager classes can be
used separately and without the WebVideoFullscreenManager classes.
- DerivedSources.make:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]):
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h: Copied from Source/WebKit2/UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h.
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in: Copied from Source/WebKit2/UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in.
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm: Added.
(WebKit::WebPlaybackSessionModelContext::play):
(WebKit::WebPlaybackSessionModelContext::pause):
(WebKit::WebPlaybackSessionModelContext::togglePlayState):
(WebKit::WebPlaybackSessionModelContext::beginScrubbing):
(WebKit::WebPlaybackSessionModelContext::endScrubbing):
(WebKit::WebPlaybackSessionModelContext::seekToTime):
(WebKit::WebPlaybackSessionModelContext::fastSeek):
(WebKit::WebPlaybackSessionModelContext::beginScanningForward):
(WebKit::WebPlaybackSessionModelContext::beginScanningBackward):
(WebKit::WebPlaybackSessionModelContext::endScanning):
(WebKit::WebPlaybackSessionModelContext::selectAudioMediaOption):
(WebKit::WebPlaybackSessionModelContext::selectLegibleMediaOption):
(WebKit::WebPlaybackSessionManagerProxy::create):
(WebKit::WebPlaybackSessionManagerProxy::WebPlaybackSessionManagerProxy):
(WebKit::WebPlaybackSessionManagerProxy::~WebPlaybackSessionManagerProxy):
(WebKit::WebPlaybackSessionManagerProxy::invalidate):
(WebKit::WebPlaybackSessionManagerProxy::createModelAndInterface):
(WebKit::WebPlaybackSessionManagerProxy::ensureModelAndInterface):
(WebKit::WebPlaybackSessionManagerProxy::ensureModel):
(WebKit::WebPlaybackSessionManagerProxy::ensureInterface):
(WebKit::WebPlaybackSessionManagerProxy::addClientForContext):
(WebKit::WebPlaybackSessionManagerProxy::removeClientForContext):
(WebKit::WebPlaybackSessionManagerProxy::setUpPlaybackControlsManagerWithID):
(WebKit::WebPlaybackSessionManagerProxy::clearPlaybackControlsManager):
(WebKit::WebPlaybackSessionManagerProxy::resetMediaState):
(WebKit::WebPlaybackSessionManagerProxy::setCurrentTime):
(WebKit::WebPlaybackSessionManagerProxy::setBufferedTime):
(WebKit::WebPlaybackSessionManagerProxy::setSeekableRangesVector):
(WebKit::WebPlaybackSessionManagerProxy::setCanPlayFastReverse):
(WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionOptions):
(WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionOptions):
(WebKit::WebPlaybackSessionManagerProxy::setExternalPlaybackProperties):
(WebKit::WebPlaybackSessionManagerProxy::setWirelessVideoPlaybackDisabled):
(WebKit::WebPlaybackSessionManagerProxy::setDuration):
(WebKit::WebPlaybackSessionManagerProxy::setRate):
(WebKit::WebPlaybackSessionManagerProxy::play):
(WebKit::WebPlaybackSessionManagerProxy::pause):
(WebKit::WebPlaybackSessionManagerProxy::togglePlayState):
(WebKit::WebPlaybackSessionManagerProxy::beginScrubbing):
(WebKit::WebPlaybackSessionManagerProxy::endScrubbing):
(WebKit::WebPlaybackSessionManagerProxy::seekToTime):
(WebKit::WebPlaybackSessionManagerProxy::fastSeek):
(WebKit::WebPlaybackSessionManagerProxy::beginScanningForward):
(WebKit::WebPlaybackSessionManagerProxy::beginScanningBackward):
(WebKit::WebPlaybackSessionManagerProxy::endScanning):
(WebKit::WebPlaybackSessionManagerProxy::selectAudioMediaOption):
(WebKit::WebPlaybackSessionManagerProxy::selectLegibleMediaOption):
(WebKit::WebPlaybackSessionManagerProxy::controlsManagerInterface):
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in:
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenModelContext::WebVideoFullscreenModelContext):
(WebKit::WebVideoFullscreenModelContext::~WebVideoFullscreenModelContext):
(WebKit::WebVideoFullscreenModelContext::play):
(WebKit::WebVideoFullscreenModelContext::pause):
(WebKit::WebVideoFullscreenModelContext::togglePlayState):
(WebKit::WebVideoFullscreenModelContext::beginScrubbing):
(WebKit::WebVideoFullscreenModelContext::endScrubbing):
(WebKit::WebVideoFullscreenModelContext::seekToTime):
(WebKit::WebVideoFullscreenModelContext::fastSeek):
(WebKit::WebVideoFullscreenModelContext::beginScanningForward):
(WebKit::WebVideoFullscreenModelContext::beginScanningBackward):
(WebKit::WebVideoFullscreenModelContext::endScanning):
(WebKit::WebVideoFullscreenModelContext::selectAudioMediaOption):
(WebKit::WebVideoFullscreenModelContext::selectLegibleMediaOption):
(WebKit::WebVideoFullscreenManagerProxy::create):
(WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
(WebKit::WebVideoFullscreenManagerProxy::createModelAndInterface):
(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::setVideoDimensions): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::enterFullscreen): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::exitFullscreen): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::exitFullscreenWithoutAnimationToMode): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::cleanupFullscreen): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::preparedToReturnToInline): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::requestFullscreenMode): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::didSetupFullscreen): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::didEnterFullscreen): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::didCleanupFullscreen): Deleted.
(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
(WebKit::WebPageProxy::playbackSessionManager):
(WebKit::WebPageProxy::videoFullscreenManager):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::hasActiveVideoForControlsManager):
(WebKit::WebPageProxy::isPlayingMediaDidChange): Deleted.
- UIProcess/WebPageProxy.h:
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::supportsVideoFullscreen):
(WebKit::WebChromeClient::setUpPlaybackControlsManager):
(WebKit::WebChromeClient::clearPlaybackControlsManager):
(WebKit::WebChromeClient::enterVideoFullscreenForVideoElement):
(WebKit::WebChromeClient::exitVideoFullscreenForVideoElement):
(WebKit::WebChromeClient::exitVideoFullscreenToModeWithoutAnimation):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::playbackSessionManager):
(WebKit::WebPage::videoFullscreenManager):
- WebProcess/WebPage/WebPage.h:
- WebProcess/cocoa/WebPlaybackSessionManager.h: Copied from Source/WebKit2/WebProcess/cocoa/WebVideoFullscreenManager.h.
(WebKit::WebPlaybackSessionInterfaceContext::create):
(WebKit::WebPlaybackSessionInterfaceContext::invalidate):
- WebProcess/cocoa/WebPlaybackSessionManager.messages.in: Added.
- WebProcess/cocoa/WebPlaybackSessionManager.mm: Added.
(WebKit::nextContextId):
(WebKit::WebPlaybackSessionInterfaceContext::WebPlaybackSessionInterfaceContext):
(WebKit::WebPlaybackSessionInterfaceContext::~WebPlaybackSessionInterfaceContext):
(WebKit::WebPlaybackSessionInterfaceContext::resetMediaState):
(WebKit::WebPlaybackSessionInterfaceContext::setDuration):
(WebKit::WebPlaybackSessionInterfaceContext::setCurrentTime):
(WebKit::WebPlaybackSessionInterfaceContext::setBufferedTime):
(WebKit::WebPlaybackSessionInterfaceContext::setRate):
(WebKit::WebPlaybackSessionInterfaceContext::setSeekableRanges):
(WebKit::WebPlaybackSessionInterfaceContext::setCanPlayFastReverse):
(WebKit::WebPlaybackSessionInterfaceContext::setAudioMediaSelectionOptions):
(WebKit::WebPlaybackSessionInterfaceContext::setLegibleMediaSelectionOptions):
(WebKit::WebPlaybackSessionInterfaceContext::setExternalPlayback):
(WebKit::WebPlaybackSessionInterfaceContext::setWirelessVideoPlaybackDisabled):
(WebKit::WebPlaybackSessionManager::create):
(WebKit::WebPlaybackSessionManager::WebPlaybackSessionManager):
(WebKit::WebPlaybackSessionManager::~WebPlaybackSessionManager):
(WebKit::WebPlaybackSessionManager::createModelAndInterface):
(WebKit::WebPlaybackSessionManager::ensureModelAndInterface):
(WebKit::WebPlaybackSessionManager::ensureModel):
(WebKit::WebPlaybackSessionManager::ensureInterface):
(WebKit::WebPlaybackSessionManager::removeContext):
(WebKit::WebPlaybackSessionManager::addClientForContext):
(WebKit::WebPlaybackSessionManager::removeClientForContext):
(WebKit::WebPlaybackSessionManager::setUpPlaybackControlsManager):
(WebKit::WebPlaybackSessionManager::clearPlaybackControlsManager):
(WebKit::WebPlaybackSessionManager::contextIdForMediaElement):
(WebKit::WebPlaybackSessionManager::resetMediaState):
(WebKit::WebPlaybackSessionManager::setDuration):
(WebKit::WebPlaybackSessionManager::setCurrentTime):
(WebKit::WebPlaybackSessionManager::setBufferedTime):
(WebKit::WebPlaybackSessionManager::setRate):
(WebKit::WebPlaybackSessionManager::setSeekableRanges):
(WebKit::WebPlaybackSessionManager::setCanPlayFastReverse):
(WebKit::WebPlaybackSessionManager::setAudioMediaSelectionOptions):
(WebKit::WebPlaybackSessionManager::setLegibleMediaSelectionOptions):
(WebKit::WebPlaybackSessionManager::setExternalPlayback):
(WebKit::WebPlaybackSessionManager::setWirelessVideoPlaybackDisabled):
(WebKit::WebPlaybackSessionManager::play):
(WebKit::WebPlaybackSessionManager::pause):
(WebKit::WebPlaybackSessionManager::togglePlayState):
(WebKit::WebPlaybackSessionManager::beginScrubbing):
(WebKit::WebPlaybackSessionManager::endScrubbing):
(WebKit::WebPlaybackSessionManager::seekToTime):
(WebKit::WebPlaybackSessionManager::fastSeek):
(WebKit::WebPlaybackSessionManager::beginScanningForward):
(WebKit::WebPlaybackSessionManager::beginScanningBackward):
(WebKit::WebPlaybackSessionManager::endScanning):
(WebKit::WebPlaybackSessionManager::selectAudioMediaOption):
(WebKit::WebPlaybackSessionManager::selectLegibleMediaOption):
- WebProcess/cocoa/WebVideoFullscreenManager.h:
(WebKit::WebVideoFullscreenInterfaceContext::create):
- WebProcess/cocoa/WebVideoFullscreenManager.messages.in:
- WebProcess/cocoa/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenInterfaceContext::WebVideoFullscreenInterfaceContext):
(WebKit::WebVideoFullscreenInterfaceContext::resetMediaState):
(WebKit::WebVideoFullscreenInterfaceContext::setDuration):
(WebKit::WebVideoFullscreenInterfaceContext::setCurrentTime):
(WebKit::WebVideoFullscreenInterfaceContext::setBufferedTime):
(WebKit::WebVideoFullscreenInterfaceContext::setRate):
(WebKit::WebVideoFullscreenInterfaceContext::setSeekableRanges):
(WebKit::WebVideoFullscreenInterfaceContext::setCanPlayFastReverse):
(WebKit::WebVideoFullscreenInterfaceContext::setAudioMediaSelectionOptions):
(WebKit::WebVideoFullscreenInterfaceContext::setLegibleMediaSelectionOptions):
(WebKit::WebVideoFullscreenInterfaceContext::setExternalPlayback):
(WebKit::WebVideoFullscreenInterfaceContext::setWirelessVideoPlaybackDisabled):
(WebKit::WebVideoFullscreenManager::create):
(WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
(WebKit::WebVideoFullscreenManager::createModelAndInterface):
(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement):
(WebKit::WebVideoFullscreenInterfaceContext::setVideoDimensions): Deleted.
(WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager): Deleted.
(WebKit::WebVideoFullscreenManager::ensureModelAndInterface): Deleted.
(WebKit::WebVideoFullscreenManager::exitVideoFullscreenToModeWithoutAnimation): Deleted.
(WebKit::WebVideoFullscreenManager::setVideoDimensions): Deleted.
(WebKit::WebVideoFullscreenManager::requestFullscreenMode): Deleted.
(WebKit::WebVideoFullscreenManager::fullscreenModeChanged): Deleted.
(WebKit::WebVideoFullscreenManager::didSetupFullscreen): Deleted.
(WebKit::WebVideoFullscreenManager::didEnterFullscreen): Deleted.
(WebKit::WebVideoFullscreenManager::didExitFullscreen): Deleted.
(WebKit::WebVideoFullscreenManager::didCleanupFullscreen): Deleted.
(WebKit::WebVideoFullscreenManager::setVideoLayerGravityEnum): Deleted.
(WebKit::WebVideoFullscreenManager::fullscreenMayReturnToInline): Deleted.
(WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced): Deleted.
- 10:18 AM Changeset in webkit [199592] by
-
- 38 edits2 deletes in trunk
Web Inspector: Cleanup inspector/debugger tests
https://bugs.webkit.org/show_bug.cgi?id=156619
Reviewed by Brian Burg.
Source/JavaScriptCore:
While cleaning up the tests it exposed the fact that breakpoints
were not getting disabled when the inspector closes. This means
that opening the inspector, with breakpoints, and closing the
inspector, would leave the JSC::Debugger thinking breakpoints
are active. The JSC::Debugger should be reset.
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::disable):
Source/WebInspectorUI:
- UserInterface/Base/Main.js:
(WebInspector.loaded):
- UserInterface/Controllers/DebuggerManager.js:
Remove agent checks for agents that are always available.
LayoutTests:
- inspector/debugger/breakpoint-action-detach.html:
- inspector/debugger/breakpoint-action-with-exception.html:
- inspector/debugger/breakpoint-condition-detach.html:
- inspector/debugger/breakpoint-condition-with-bad-script.html:
- inspector/debugger/breakpoint-condition-with-exception.html:
- inspector/debugger/breakpoint-eval-with-exception.html:
- inspector/debugger/breakpoint-inside-conditons-and-actions.html:
- inspector/debugger/call-frame-function-name.html:
- inspector/debugger/call-frame-this-host.html:
- inspector/debugger/call-frame-this-nonstrict.html:
- inspector/debugger/call-frame-this-strict.html:
- inspector/debugger/debugger-statement.html:
- inspector/debugger/didSampleProbe-multiple-probes.html:
- inspector/debugger/hit-breakpoint-from-console.html:
- inspector/debugger/nested-inspectors.html:
- inspector/debugger/pause-on-assert.html:
- inspector/debugger/regress-133182.html:
- inspector/debugger/removeBreakpoint.html:
- inspector/debugger/setBreakpoint-actions.html:
- inspector/debugger/setBreakpoint-autoContinue.html:
- inspector/debugger/setBreakpoint-column.html:
- inspector/debugger/setBreakpoint-condition.html:
- inspector/debugger/setBreakpoint-dfg-and-modify-local.html:
- inspector/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local.html:
- inspector/debugger/setBreakpoint-dfg.html:
- inspector/debugger/setBreakpoint-options-exception.html:
- inspector/debugger/setBreakpoint.html:
- inspector/debugger/setBreakpointByUrl-sourceURL.html:
- inspector/debugger/setPauseOnExceptions-all.html:
- inspector/debugger/setPauseOnExceptions-none.html:
- inspector/debugger/setPauseOnExceptions-uncaught.html:
Activate breakpoints in protocol tests that may set breakpoints and pause.
Inspector tests automatically enable breakpoints.
- inspector/debugger/setVariableValue-expected.txt: Removed.
- inspector/debugger/setVariableValue.html: Removed.
- platform/gtk/TestExpectations:
Remove references to bad test. The protocol command no longer exists.
- 9:44 AM Changeset in webkit [199591] by
-
- 3 edits in trunk/Source/WebCore
[COCOA] Do not unnecessarily initialize ResourceResponse::m_httpVersion as part of common fields
https://bugs.webkit.org/show_bug.cgi?id=156606
Reviewed by Darin Adler.
Do not unnecessarily initialize ResourceResponse::m_httpVersion as part of common fields.
We previously initialized m_httpVersion when calling platformLazyInit(CommonFieldsOnly),
even though this is not a common field. The corresponding getter/setter in
HTTPResponseBase call lazyInit(AllFields).
- platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::ResourceResponse::platformLazyInit):
- platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::ResourceResponse::platformLazyInit):
- 9:39 AM Changeset in webkit [199590] by
-
- 16 edits in trunk
Refactor WebSockets handshake to use StringView instead of String for header validation.
https://bugs.webkit.org/show_bug.cgi?id=155602
Patch by John Wilander <wilander@apple.com> on 2016-04-15
Reviewed by Darin Adler.
Source/WebCore:
No new tests. Existing test have been augmented.
- Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::readServerHandshake):
Made sure failure reason was set consistently with makeString().
(WebCore::headerHasValidHTTPVersion):
Now operates on the HTTP status line with StringView.
(WebCore::WebSocketHandshake::readStatusLine):
Now operates on the HTTP status line with StringView.
(WebCore::WebSocketHandshake::readHTTPHeaders):
Now operates on header names with StringView.
Made sure failure reason was set consistently with makeString() and ASCIILiteral().
(WebCore::WebSocketHandshake::checkResponseHeaders):
Made sure failure reason was set consistently with ASCIILiteral().
- platform/network/HTTPParsers.cpp:
(WebCore::parseHTTPRequestLine):
Made sure failure reason was set consistently with ASCIILiteral().
(WebCore::isValidHeaderNameCharacter):
Inlined function to check if a character is allowed in an HTTP header name according to RFC 7230.
https://tools.ietf.org/html/rfc7230 (June 2014)
(WebCore::parseHTTPHeader):
- platform/network/HTTPParsers.h:
Now receives the HTTP header name as a StringView.
Checks that header names only contain valid characters according to RFC 7230 (see above).
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::addHTTPHeaderField):
- platform/network/ResourceRequestBase.h:
Now has an overloaded function which receives the HTTP header name as an HTTPHeaderName enum value.
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::addHTTPHeaderField):
- platform/network/ResourceResponseBase.h:
Now has an overloaded function which receives the HTTP header name as an HTTPHeaderName enum value.
Source/WebKit2:
- UIProcess/InspectorServer/HTTPRequest.cpp:
(WebKit::HTTPRequest::parseHeaders):
Now declares the HTTP header name as a StringView to match the change in WebCore::parseHTTPHeader.
LayoutTests:
- http/tests/websocket/tests/hybi/bad-handshake-crash-expected.txt:
Fixed so that new error output is expected.
- http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1-expected.txt:
- http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1.html:
- http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1_wsh.py:
Now tests HTTP versions that are higher than 1.1, are lower than 1.1, have bad characters, and are empty.
- http/tests/websocket/tests/hybi/long-invalid-header-expected.txt:
Fixed so that slightly refined error output is expected.
- 9:18 AM Changeset in webkit [199589] by
-
- 2 edits in trunk/Source/JavaScriptCore
2016-04-14 Geoffrey Garen <ggaren@apple.com>
CopiedBlock should be 64kB
Reviewed by Benjamin Poulain.
Let's try another value.
This is 25% faster on kraken-audio-beat-detection on Mac Pro.
- heap/CopiedBlock.h:
- 8:51 AM Changeset in webkit [199588] by
-
- 9 edits3 adds in trunk
AX: Presentational role on SVG elements is trumped by child 'title' and 'desc' elements
https://bugs.webkit.org/show_bug.cgi?id=156519
Reviewed by Chris Fleizach.
Source/WebCore:
Override the presentational role on SVG elements which have a child 'title' or 'desc'
element. As a result of this change, AccessibilitySVGRoot objects would be exposed
with an AccessibilityRole of UnknownRole. Therefore map included AccessibilitySVGRoot
objects to GroupRole as per the SVG Accessibility API Mapping specification.
Also use indexOfBestMatchingLanguageInList() to identify which child 'title' or 'desc'
element is the best match for the parent element.
New Test: accessibility/w3c-svg-content-language-attribute.html
Also: Update w3c-svg-presentational-role.html expectations because there are test cases
in which elements are now being included in the accessibility tree as a result of this
change. Also add new test cases which lack child 'title' and 'desc' elements.
- accessibility/AccessibilityNodeObject.h:
- accessibility/AccessibilitySVGElement.cpp:
(WebCore::AccessibilitySVGElement::childElementWithMatchingLanguage):
(WebCore::AccessibilitySVGElement::accessibilityDescription):
(WebCore::AccessibilitySVGElement::helpText):
(WebCore::AccessibilitySVGElement::computeAccessibilityIsIgnored):
(WebCore::AccessibilitySVGElement::determineAriaRoleAttribute):
- accessibility/AccessibilitySVGElement.h:
- accessibility/AccessibilitySVGRoot.h:
LayoutTests:
Update w3c-svg-presentational-role.html expectations because there are test cases in which
elements are now being included in the accessibility tree as a result of this change. Also
add new test cases which lack child 'title' and 'desc' elements.
- accessibility/w3c-svg-content-language-attribute.html: Added.
- accessibility/w3c-svg-presentational-role.html: New test cases added.
- platform/gtk/accessibility/w3c-svg-content-language-attribute-expected.txt: Added.
- platform/gtk/accessibility/w3c-svg-presentational-role-expected.txt: Updated.
- platform/mac/accessibility/w3c-svg-content-language-attribute-expected.txt: Added.
- platform/mac/accessibility/w3c-svg-presentational-role-expected.txt: Updated.
- 7:12 AM Changeset in webkit [199587] by
-
- 27 edits in trunk/Source/WebCore
Rename [GlobalContext] extended attribute to [Exposed] and align with WebIDL
https://bugs.webkit.org/show_bug.cgi?id=156615
Reviewed by Youenn Fablet.
Rename [GlobalContext] extended attribute to [Exposed] and align with WebIDL:
- bindings/scripts/IDLAttributes.txt:
Stop recognizing [GlobalContext] and start recognizing [Exposed].
- bindings/scripts/IDLParser.pm:
(parseIdentifierList):
(parseExtendedAttributeRest2):
Add IDL parser support for having a list of identifiers as value
for an IDL extended attribute, e.g. Exposed=(Window, Worker).
- bindings/scripts/preprocess-idls.pl:
Tweak existing support for [GlobalContext] to use [Exposed] instead
and support the new syntax.
(getInterfaceExtendedAttributesFromIDL):
Do not split on commas that are within brackets.
- Modules/fetch/FetchBody.idl:
- Modules/fetch/FetchHeaders.idl:
- Modules/fetch/FetchRequest.idl:
- Modules/fetch/FetchResponse.idl:
- Modules/streams/ByteLengthQueuingStrategy.idl:
- Modules/streams/CountQueuingStrategy.idl:
- Modules/streams/ReadableStream.idl:
- Modules/streams/ReadableStreamController.idl:
- Modules/streams/ReadableStreamReader.idl:
- Modules/websockets/WebSocket.idl:
- dom/MessageChannel.idl:
- dom/MessageEvent.idl:
- fileapi/Blob.idl:
- fileapi/FileReader.idl:
- fileapi/FileReaderSync.idl:
- html/DOMURL.idl:
- html/ImageData.idl:
- page/EventSource.idl:
- workers/DedicatedWorkerGlobalScope.idl:
- workers/WorkerGlobalScope.idl:
- workers/WorkerLocation.idl:
- xml/XMLHttpRequest.idl:
- xml/XMLHttpRequestEventTarget.idl:
Use [Exposed] instead of [GlobalContext] to match their respective
specifications.
- 2:07 AM Changeset in webkit [199586] by
-
- 3 edits in trunk/Source/JavaScriptCore
Tail call optimizations lead to crashes on ARM Thumb + Linux
https://bugs.webkit.org/show_bug.cgi?id=150083
Patch by Zan Dobersek <zdobersek@igalia.com> on 2016-04-15
Reviewed by Csaba Osztrogonác.
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::repatchNearCall): In case of a tail call relink to the
data location of the destination, and not the executable address. This is needed for
the ARM Thumb2 platform where both the source and destination addresses of a jump relink
must not have the bottom bit decorated, as asserted in ARMv7Assembler::relinkJump().
- jit/Repatch.cpp:
(JSC::linkPolymorphicCall): Similarly, when linking a tail call we must link to the
address that has a non-decorated bottom bit, as asserted in ARMv7Assembler::linkJumpAbsolute().
- 1:53 AM Changeset in webkit [199585] by
-
- 8 edits2 adds in trunk
Selection.deleteFromDocument should not leave a selection character
https://bugs.webkit.org/show_bug.cgi?id=151442
Reviewed by Michael Catanzaro.
Source/WebCore:
This is a merge of Blink r172511:
https://codereview.chromium.org/255453003
Let Selection.deleteFromDocument not delete a character when the
selection is a caret.
Selection.deleteFromDocument delete a character when the selection
is a caret.
However, current standard says that Selection.deleteFromDocument
does nothing when the selection is a caret:
https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#dom-selection-deletefromdocument
Both IE10 and FireFox seem following the spec.
Test: imported/blink/editing/selection/deleteFromDocument-undo-crash.html
- page/DOMSelection.cpp:
(WebCore::DOMSelection::deleteFromDocument): Deleted.
LayoutTests:
- editing/selection/deleteFromDocument-expected.txt:
- editing/selection/deleteFromDocument.html:
- imported/blink/editing/selection/deleteFromDocument-undo-crash-expected.txt: Added.
- imported/blink/editing/selection/deleteFromDocument-undo-crash.html: Added.
- TestExpectations: Skip imported/blink/editing/selection/deleteFromDocument-undo-crash.html in Debug.
- platform/gtk/TestExpectations: Unskip imported/blink/editing/selection/deleteFromDocument-crash.html.
- platform/win/TestExpectations: Ditto.
- 1:16 AM Changeset in webkit [199584] by
-
- 2 edits in trunk/Source/WebCore
Fix return value nullptr -> false.
- style/StyleSharingResolver.cpp:
(WebCore::Style::SharingResolver::canShareStyleWithElement):
- 12:54 AM Changeset in webkit [199583] by
-
- 6 edits in trunk/Source/WebCore
AffectsNextSibling style relation marking is inefficient
https://bugs.webkit.org/show_bug.cgi?id=156593
Reviewed by Benjamin Poulain.
We currently add a Style::Relation entry for each sibling to mark. With long sibling lists this can be inefficient
in terms of both memory and speed. Instead make a single entry that includes the sibling count to mark.
- css/SelectorChecker.cpp:
(WebCore::addStyleRelation):
When adding AffectsNextSibling entry check if the last entry in the style relation vector has the
same type and is part of the same sibling chain. If so just update the existing entry.
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelation):
The same thing in hand-crafted macro assembler.
- cssjit/SelectorCompiler.h:
Stop lying about the constness of the CheckingContext.
- style/StyleRelations.cpp:
(WebCore::Style::commitRelations):
Mark as many sibling elements as the value indicates.
- style/StyleRelations.h:
(WebCore::Style::Relation::Relation):
Make element a pointer so we can udpate it.
- 12:26 AM Changeset in webkit [199582] by
-
- 2 edits in trunk/Source/WebKit2
Don't copy entire NSURLSessionConfiguration just to test for credentials
https://bugs.webkit.org/show_bug.cgi?id=156598
Patch by Alex Christensen <achristensen@webkit.org> on 2016-04-15
Reviewed by Brady Eidson.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate initWithNetworkSession:withCredentials:]):
(-[WKNetworkSessionDelegate URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:]):
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
(WebKit::NetworkSession::NetworkSession):
(-[WKNetworkSessionDelegate initWithNetworkSession:]): Deleted.
- 12:22 AM Changeset in webkit [199581] by
-
- 13 edits in trunk
Add the message property to DOMError.
https://bugs.webkit.org/show_bug.cgi?id=139173
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (Updated existing tests).
Adding this property brings us up to date with other browsers, and will help
test the few web features that still use DOMError.
- Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onError):
(WebCore::IDBOpenDBRequest::fireErrorAfterVersionChangeCompletion):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::uncaughtExceptionInEventHandler):
(WebCore::IDBRequest::onError):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::didCreateIndexOnServer):
- Modules/mediastream/NavigatorUserMediaError.h:
(WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
- dom/DOMError.cpp:
(WebCore::DOMError::DOMError):
- dom/DOMError.h:
(WebCore::DOMError::create):
(WebCore::DOMError::message):
- dom/DOMError.idl:
LayoutTests:
- storage/indexeddb/createIndex-after-failure-expected.txt:
- storage/indexeddb/createIndex-after-failure-private-expected.txt:
- storage/indexeddb/intversion-upgrades-expected.txt:
- storage/indexeddb/intversion-upgrades-private-expected.txt:
- 12:02 AM Changeset in webkit [199580] by
-
- 2 edits in trunk/LayoutTests
Mark perf/array-binary-search.html as flaky on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=153049
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
Apr 14, 2016:
- 11:51 PM Changeset in webkit [199579] by
-
- 2 edits in trunk/LayoutTests
Mark fast/animation/request-animation-frame-iframe2.html as flaky on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=156620
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 11:38 PM Changeset in webkit [199578] by
-
- 2 edits in trunk/LayoutTests
Mark fast/animation/request-animation-frame-during-modal.html as flaky on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=82762
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 11:35 PM Changeset in webkit [199577] by
-
- 4 edits in trunk/Source/WebKit2
Unreviewed. Fix GTK+ build after r199558.
- UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
(webkitFileChooserRequestCreate):
(webkit_file_chooser_request_select_files):
- UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h:
- UIProcess/API/gtk/WebKitUIClient.cpp:
- 11:27 PM Changeset in webkit [199576] by
-
- 2 edits in trunk/LayoutTests
Mark inspector/console/addInspectedNode.html as flaky on mac-wk2 for ElCapitan
https://bugs.webkit.org/show_bug.cgi?id=155138
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:04 PM Changeset in webkit [199575] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/cache/disk-cache/disk-cache-vary-no-body.html as flaky on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=149087
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 10:50 PM Changeset in webkit [199574] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/cache/disk-cache/disk-cache-vary.html as flaky for ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=149087
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 10:50 PM MathML/Early_2016_Refactoring edited by
- (diff)
- 9:37 PM Changeset in webkit [199573] by
-
- 2 edits in trunk/Tools
Some GuardMalloc bots are not happy when running many parallel processes
https://bugs.webkit.org/show_bug.cgi?id=156614
rdar://problem/24711525
Reviewed by David Kilzer.
- Scripts/webkitpy/port/mac.py: (MacPort.default_child_processes):
- 8:42 PM Changeset in webkit [199572] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r199567.
performance regression on kraken on macbook*
Reverted changeset:
"CopiedBlock should be 8kB"
https://bugs.webkit.org/show_bug.cgi?id=156610
http://trac.webkit.org/changeset/199567
- 5:45 PM Changeset in webkit [199571] by
-
- 20 edits in trunk
Make <a download> a runtime enabled option
https://bugs.webkit.org/show_bug.cgi?id=156583
<rdar://problem/25733449>
Reviewed by Alex Christensen.
Source/WebCore:
Mark the download attribute interface as EnabledAtRuntime=DownloadAttribute.
Add DownloadAttribute runtime flag getter and setter.
- bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::fetchAPIEnabled):
(WebCore::RuntimeEnabledFeatures::setDownloadAttributeEnabled):
(WebCore::RuntimeEnabledFeatures::downloadAttributeEnabled):
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
- html/HTMLAnchorElement.idl:
Source/WebKit/mac:
Add a download attribute runtime flag based on preferences.
Disable the download attribute by default.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setFetchAPIEnabled:]):
(-[WebPreferences downloadAttributeEnabled]):
(-[WebPreferences setDownloadAttributeEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged]): Set the runtime flag properly
based on the user preferences.
Source/WebKit2:
Add a download attribute runtime flag based on preferences.
Disable the download attribute by default.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesGetFetchAPIEnabled):
(WKPreferencesSetDownloadAttributeEnabled):
(WKPreferencesGetDownloadAttributeEnabled):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setDownloadAttributeEnabled):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- 5:30 PM Changeset in webkit [199570] by
-
- 2 edits in trunk/LayoutTests
Cleanup: Run all Content Security Policy 1.1 tests by default
It is now feasible to run all tests in directory LayoutTests/http/tests/security/contentSecurityPolicy/1.1
by default following r199172, r199525 and r199538. There is still work to be done to make all CSP 1.1 tests
pass. The number of 1.1 tests that either fail or timeout now represent a minority of all 1.1 tests.
- TestExpectations: Remove all CSP tests marked PASS, remove the entry to skip all tests in directory
LayoutTests/http/tests/security/contentSecurityPolicy/1.1, and sort the list of failing tests by
bug number, filename.
- 5:23 PM Changeset in webkit [199569] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION (r158956): Remove vestigial range code in FileReaderLoader class after removing ENABLE(STREAM)
<http://webkit.org/b/156609>
Reviewed by Brent Fulgham.
This code was left behind when ENABLE(STREAM) was removed in
November 2013.
- fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::FileReaderLoader): Remove
initializers.
(WebCore::FileReaderLoader::start): Remove code that uses
m_hasRange, which is always false.
(WebCore::FileReaderLoader::didReceiveResponse): Ditto.
- fileapi/FileReaderLoader.h:
(WebCore::FileReaderLoader): Remove unused instance variables.
- 5:01 PM Changeset in webkit [199568] by
-
- 3 edits in trunk/Source/WebKit2
Build fix after r199554.
- CMakeLists.txt:
- PlatformMac.cmake:
- 4:33 PM Changeset in webkit [199567] by
-
- 2 edits in trunk/Source/JavaScriptCore
CopiedBlock should be 8kB
https://bugs.webkit.org/show_bug.cgi?id=156610
Reviewed by Michael Saboff.
On Mac Pro, this is:
15% faster on kraken-audio-beat-detection
5% faster on v8-splay
Hopefully, this will be OK on MacBook* bots as well.
32kB is the full size of L1 cache on x86. So, allocating and zero-filling
a 32kB CopiedBlock would basically flush the L1 cache. We can ameliorate
this problem by using smaller blocks -- or, if that doesn't work, we can
use larger blocks to amortize the cost.
- heap/CopiedBlock.h:
- 4:08 PM Changeset in webkit [199566] by
-
- 4 edits in trunk/Source/JavaScriptCore
PolymorphicAccess should try to generate a stub only once
https://bugs.webkit.org/show_bug.cgi?id=156555
Reviewed by Geoffrey Garen.
This changes the PolymorphicAccess heuristics to reduce the amount of code generation even
more than before. We used to always generate a monomorphic stub for the first case we saw.
This change disables that. This change also increases the buffering countdown to match the
cool-down repatch count. This means that we will allow for ten slow paths for adding cases,
then we will generate a stub, and then we will go into cool-down and the repatching slow
paths will not even attempt repatching for a while. After we emerge from cool-down - which
requires a bunch of slow path calls - we will again wait for ten slow paths to get new
cases. Note that it only takes 13 cases to cause the stub to give up on future repatching
entirely. Also, most stubs don't ever get to 10 cases. Therefore, for most stubs this change
means that each IC will repatch once. If they make it to two repatching, then the likelihood
of a third becomes infinitesimal because of all of the rules that come into play at that
point (the size limit being 13, the fact that we go into exponential cool-down every time we
generate code, and the fact that if we have lots of self cases then we will create a
catch-all megamorphic load case).
This also undoes a change to the megamorphic optimization that I think was unintentional.
As in the change that originally introduced megamorphic loads, we want to do this only if we
would otherwise exhaust the max size of the IC. This is because megamorphic loads are pretty
expensive and it's best to use them only if we know that the alternative is giving up on
caching.
This is neutral on JS benchmarks, but looks like it's another speed-up for page loading.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::canBeReplacedByMegamorphicLoad):
(JSC::AccessCase::canReplace):
(JSC::AccessCase::dump):
(JSC::PolymorphicAccess::regenerate):
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::StructureStubInfo):
- runtime/Options.h:
- 4:04 PM Changeset in webkit [199565] by
-
- 2 edits in trunk/Source/WebKit2
Web Automation: suppress automatic text correction in pages controlled by automation
https://bugs.webkit.org/show_bug.cgi?id=156599
<rdar://problem/25712646>
Reviewed by Timothy Hatcher.
If the page is controlled by automation, then automatic text corrections will
cause unexpected behaviors by nondeterministically modifying text inserted by
a test. Just pretend these behaviors are disabled if controlled by automation.
- WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
(WebKit::WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
(WebKit::WebEditorClient::isAutomaticDashSubstitutionEnabled):
(WebKit::WebEditorClient::isAutomaticTextReplacementEnabled):
(WebKit::WebEditorClient::isAutomaticSpellingCorrectionEnabled):
- 3:59 PM Changeset in webkit [199564] by
-
- 1310 edits in trunk/LayoutTests
Add svn:eol-style=LF to LayoutTests/ietestcenter/Javascript/TestCases/ files.
https://bugs.webkit.org/show_bug.cgi?id=156588
Rubber-stamped by Geoffrey Garen.
These files are currently using CRs in their eols. As a result, the EWS bots
will always fail to apply a patch if the patch touches one these files. Adding
svn:eol-style=LF to them should resolve the issue.
Specifically, I ran the following command:
$ svn propset svn:eol-style LF LayoutTests/ietestcenter/Javascript/TestCases/*
Note: this patch will touch 1306 files (not including this ChangeLog).
- ietestcenter/Javascript/TestCases/10.4.2-1-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/10.4.2-1-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/10.4.2-1-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/10.4.2-1-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/10.4.2-1-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/10.4.2-2-c-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.return.inner):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/10.6-10-c-ii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/10.6-10-c-ii-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/10.6-12-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/10.6-12-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/10.6-13-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/10.6-5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/10.6-6-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/10.6-6-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/10.6-6-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/10.6-6-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.1.4-0.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.1.5-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.1.5-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.1.5_4-4-a-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.1.5_4-4-a-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.1.5_4-4-b-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.1.5_4-4-b-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.1.5_4-4-c-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.1.5_4-4-c-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.1.5_4-4-d-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.1.5_4-4-d-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.1.5_4-4-d-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.1.5_4-4-d-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.1.5_5-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.1.5_6-3-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.1.5_6-3-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.1.5_7-3-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.1.5_7-3-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.13.1-1-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.13.1-1-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.13.1-1-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.13.1-1-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.13.1-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.4.1-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-2-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-2-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-2-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-2-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-2-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-3-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-3-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-3-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-16.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-17.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.getter):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-4.a-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-5-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/11.4.1-5-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.10-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.f):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.10-0-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.f.innerf):
(ES5Harness.registerTest.test.testcase.f):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.10-0-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.f.innerf):
(ES5Harness.registerTest.test.testcase.f):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.10-0-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.f.innerf):
(ES5Harness.registerTest.test.testcase.f):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.10-0-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.with.f):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.10-0-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.10-0-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.10-0-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.f.innerf):
(ES5Harness.registerTest.test.testcase.f):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.10-2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.10-2-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.10-2-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.10-7-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.14-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.14-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.f.innerf):
(ES5Harness.registerTest.test.testcase.f):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.14-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.f.innerf):
(ES5Harness.registerTest.test.testcase.f):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.14-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.f.innerf):
(ES5Harness.registerTest.test.testcase.f):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.14-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.14-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.capturedFoo):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.14-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.14-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.14-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.o.foo):
(ES5Harness.registerTest.test.testcase.catch.foo):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.14-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.o.foo):
(ES5Harness.registerTest.test.testcase.catch.foo):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.14-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.14-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.14-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.f.innerf):
(ES5Harness.registerTest.test.testcase.f):
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.2.1-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/12.2.1-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.10.6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.10.7.1-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.10.7.2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.10.7.3-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.10.7.4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.10.7.5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.12-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12-0-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12-0-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-0-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-0-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-0-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-0-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-0-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-0-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-0-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g1-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g1-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g1-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g1-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g2-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g2-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g2-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g2-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g4-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g4-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g4-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g5-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g5-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g6-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g6-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g6-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g6-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g6-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g6-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.1.1-g6-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.2-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.2-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.2-0-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-0-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precodition):
- ietestcenter/Javascript/TestCases/15.12.3-11-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-11-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-5-a-i-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-5-b-i-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-6-a-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-6-a-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-6-b-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-6-b-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-6-b-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-6-b-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-7-a-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-8-a-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-8-a-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-8-a-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-8-a-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3-8-a-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3_2-2-b-i-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.toJSON):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3_2-2-b-i-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.toJSON):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3_2-2-b-i-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.toJSON):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3_2-3-a-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3_2-3-a-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3_2-3-a-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3_4-1-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3_4-1-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.12.3_4-1-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.10-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.2.3.10-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.10-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.10-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.2.3.11-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-16.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-17.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-18.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-19.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-20.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-21.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-22.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-23.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-24.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-25.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-26.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-27.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.11-4-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.2.3.12-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-16.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-17.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-18.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-19.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-20.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-21.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-22.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-23.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-24.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-25.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-26.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-27.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.12-3-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.2.3.13-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-0-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-16.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-17.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-18.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-19.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-20.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-21.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.13-2-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.2.3.14-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-1-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-1-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-1-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-1-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-1-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-2-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-2-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.Array):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-2-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-2-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-2-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-3-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-3-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-3-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-3-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.testArgs2):
(ES5Harness.registerTest.test.testcase.testArgs3):
(ES5Harness.registerTest.test.testcase.testArgs4):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.14-3-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.2.3.2-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-0-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-16.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-17.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-18.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.base):
(ES5Harness.registerTest.test.testcase.derived):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.2-2-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.2.3.3-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-2-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-100.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-101.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-102.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-103.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-104.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-105.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-106.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-107.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-108.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-109.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-110.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-111.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-112.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-113.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-114.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-115.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-116.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-117.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-118.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-119.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-120.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-121.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-122.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-123.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-124.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-125.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-126.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-127.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-128.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-129.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-130.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-131.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-132.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-133.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-134.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-135.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-136.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-137.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-138.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-139.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-140.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-141.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-142.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-143.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-144.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-145.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-146.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-147.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-148.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-149.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-150.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-151.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-152.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-153.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-154.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-155.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-156.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-157.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-158.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-159.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-16.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-160.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-161.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-162.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-163.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-164.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-165.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-166.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-167.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-168.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-169.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-17.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-170.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-171.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-172.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-173.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-174.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-175.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-176.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-177.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-178.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-179.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-18.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-180.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-182.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-185.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-186.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-187.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-188.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-189.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-19.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-190.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-191.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-192.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-193.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-194.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-195.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-196.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-197.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-198.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-199.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-20.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-200.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-201.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-202.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-203.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-204.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-205.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-206.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-207.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-208.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-209.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-21.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-210.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-211.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-212.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-213.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-214.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-215.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-216.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-217.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-218.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-219.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-22.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-220.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-221.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-222.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-23.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-24.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-25.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-26.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-27.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-28.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-29.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.getter):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-30.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-31.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-32.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-33.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-34.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-35.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-36.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-37.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-38.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-39.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-40.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-41.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-42.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-43.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-44.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-45.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-46.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-47.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-48.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-49.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-50.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-51.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-52.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-53.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-54.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-55.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-56.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-57.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-58.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-59.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-60.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-61.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-62.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-63.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-64.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-65.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-66.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-67.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-68.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-69.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-70.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-71.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-72.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-73.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-74.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-75.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-76.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-77.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-78.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-79.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-80.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-81.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-82.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-84.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-85.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-86.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-88.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-89.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-90.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-91.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-92.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-93.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-94.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-96.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-97.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-98.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.3-4-99.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.4-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.2.3.4-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.4-4-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.4-4-b-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.5-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.2.3.5-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.5-2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.base):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.5-3-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.base):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.5-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.base):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.2.3.6-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.getter):
(ES5Harness.registerTest.test.testcase.desc.get getter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.desc.set setter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.desc.set setter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.desc.set setter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.desc.set setter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.desc.set setter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.getter):
(ES5Harness.registerTest.test.testcase.desc.get getter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.setter):
(ES5Harness.registerTest.test.testcase.desc.set setter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.setter):
(ES5Harness.registerTest.test.testcase.desc.set setter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.desc.get getter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.desc.get getter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.desc.get getter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.desc.get getter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-3-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.desc.get getter):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-4-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.sameDataDescriptorValues):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.6-4-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.sameAccessorDescriptorValues):
(ES5Harness.registerTest.test.testcase.desc):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.7-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.2.3.7-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.7-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.8-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.2.3.8-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.8-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.9-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.2.3.9-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.2.3.9-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.2.1-11-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.3.2.1-11-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.3.2.1-11-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.3.3.2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.3.4.5-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-13.b-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-13.b-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-13.b-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-13.b-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-13.b-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-15-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-15-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-16-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-2-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-2-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-2-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-2-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-2-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-2-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-2-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-2-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-8-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-8-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-9-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.3.4.5-9-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.3.2-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.3.2-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.3.2-0-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.3.2-0-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.3.2-0-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.3.2-0-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.3.2-0-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.4.14-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-16.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-18.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-1-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-10-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-10-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get var):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get var.Con):
(ES5Harness.registerTest.test.testcase.get var):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get var.Con):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.try.):
(ES5Harness.registerTest.test.testcase.try.get var):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.set var.Con):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-17.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-18.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.func):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-19.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-20.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.Con):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get var.Con):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.try.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.Con):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get Object):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-2-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.Con):
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-16.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-17.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-18.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-19.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.length.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-20.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.length.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-21.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.length.toString):
(ES5Harness.registerTest.test.testcase.obj.length.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-22.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.length.toString):
(ES5Harness.registerTest.test.testcase.obj.length.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-23.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.proto.valueOf):
(ES5Harness.registerTest.test.testcase.Con):
(ES5Harness.registerTest.test.testcase.child.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-24.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-25.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-28.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-29.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-3-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-4-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-4-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-4-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-4-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-4-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-4-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-4-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-4-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.i.Array.prototype.indexOf.call.):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-4-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.i.Array.prototype.indexOf.call.):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-4-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-4-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-16.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-17.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-18.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-19.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-20.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-21.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-22.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-23.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.toString):
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-24.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.toString):
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-25.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.proto.valueOf):
(ES5Harness.registerTest.test.testcase.Con):
(ES5Harness.registerTest.test.testcase.child.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-28.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-29.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get var.fromIndex.valueOf):
(ES5Harness.registerTest.test.testcase.get var):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-30.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get var.fromIndex.valueOf):
(ES5Harness.registerTest.test.testcase.get var):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-31.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-32.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-33.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-5-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-6-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-7-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-7-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-7-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-7-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-7-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-7-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-8-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-8-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-8-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-8-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-8-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-8-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-8-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj1.toString):
(ES5Harness.registerTest.test.testcase.obj2.toString):
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-a-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-a-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get Object):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-a-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get Object):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-a-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.targetObj):
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-a-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.targetObj):
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-a-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-a-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-a-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get try):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-24.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-25.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.func):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-26.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.func):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-27.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.func):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.try.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.try.):
(ES5Harness.registerTest.test.testcase.try.get return):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-i-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-ii-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-iii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.14-9-b-iii-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get Object):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.4.15-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-16.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-1-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get var.Con):
(ES5Harness.registerTest.test.testcase.get var):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get var.Con):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.try.):
(ES5Harness.registerTest.test.testcase.try.get var):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.set var.Con):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-17.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-18.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.targetObj):
(ES5Harness.registerTest.test.testcase.arguments.2):
(ES5Harness.registerTest.test.testcase.func):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-19.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-20.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.Con):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get var.Con):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.try.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.Con):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-2-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.Con):
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-16.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-17.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-18.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-19.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.length.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-20.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.length.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-21.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.length.toString):
(ES5Harness.registerTest.test.testcase.obj.length.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-22.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.length.toString):
(ES5Harness.registerTest.test.testcase.obj.length.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-23.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.proto.valueOf):
(ES5Harness.registerTest.test.testcase.Con):
(ES5Harness.registerTest.test.testcase.child.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-24.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-25.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-26.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-27.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-28.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-29.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-3-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-4-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-4-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-4-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-4-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-4-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-4-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-4-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.i.Array.prototype.lastIndexOf.call.):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-4-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.toString):
(ES5Harness.registerTest.test.testcase.i.Array.prototype.lastIndexOf.call.):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-4-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-4-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-15.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-16.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-17.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-18.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-19.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-20.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-21.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-22.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test.testcase.targetObj):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-23.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.toString):
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-24.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.toString):
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-25.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.proto.valueOf):
(ES5Harness.registerTest.test.testcase.Con):
(ES5Harness.registerTest.test.testcase.child.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-28.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-29.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get var.fromIndex.valueOf):
(ES5Harness.registerTest.test.testcase.get var):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-30.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get var.fromIndex.valueOf):
(ES5Harness.registerTest.test.testcase.get var):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-31.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-32.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-33.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-5-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-6-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-6-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-6-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-6-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-6-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-6-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-7-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-7-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-7-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-7-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj1.toString):
(ES5Harness.registerTest.test.testcase.obj2.toString):
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.obj.toString):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-a-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-a-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get Object):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-a-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get Object):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-a-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.targetObj):
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-a-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.targetObj):
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-a-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-a-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-a-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.fromIndex.valueOf):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-2.js: Added property svn:eol-style.
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-24.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-25.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.func):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-26.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.func):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-27.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.func):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-4.js: Added property svn:eol-style.
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.try.):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-6.js: Added property svn:eol-style.
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-i-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-ii-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-iii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-8-b-iii-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get Object):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-9-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.15-9-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.):
(ES5Harness.registerTest.test.testcase.get var):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.4.16-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-4-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-4-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-4-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-4-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-4-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-5-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-5-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-5-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-5-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-5-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-7-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-7-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-7-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-7-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-7-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-7-b-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-7-c-ii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-7-c-ii-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-7-c-ii-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-8-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-8-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-8-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-8-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-8-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-8-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-8-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-8-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-8-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-8-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.valueOf):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-8-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.toString):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.16-8-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.4.17-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-4-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-4-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-4-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-4-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-4-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-4-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-4-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-4-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-5-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-5-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-5-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-5-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-5-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-7-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-7-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-7-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-7-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-7-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-7-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-7-b-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-7-c-ii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-7-c-ii-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-7-c-ii-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-8-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-8-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-8-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-8-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-8-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-8-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-8-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-8-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-8-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-8-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.valueOf):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-8-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.toString):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.17-8-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.4.18-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-4-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-4-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-4-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-4-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-4-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-4-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-4-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-5-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-5-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-5-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-5-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-5-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-7-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-7-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-7-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-7-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-7-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-7-b-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-7-c-ii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-7-c-ii-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.bCalled.false.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-8-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-8-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-8-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-8-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-8-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-8-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-8-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-8-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-8-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.valueOf):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-8-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.toString):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-8-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.18-8-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.4.19-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-4-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-4-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-4-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-4-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-4-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-4-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-4-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-5-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-5-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-5-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-5-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-5-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-5-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.toString):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-5-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-8-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-8-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-8-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-8-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-8-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-8-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-8-b-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-8-c-ii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-8-c-ii-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.bCalled.false.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-8-c-iii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-9-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-9-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-9-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.19-9-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.4.20-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-10-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-10-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-10-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-10-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-4-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-4-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-4-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-4-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-4-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-4-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-4-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-5-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-5-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-5-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-5-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-5-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-6-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-6-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-6-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-6-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-6-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-6-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.valueOf):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-6-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.toString):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-6-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-9-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-9-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-9-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-9-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-9-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-9-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-9-b-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-9-c-ii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-9-c-ii-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.bCalled.false.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.20-9-c-iii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.4.21-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-10-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-10-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-10-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-10-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-10-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-10-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-10-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-10-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-4-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-4-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-4-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-4-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-4-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-4-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-4-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-5-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-5-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-5-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-5-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-5-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.valueOf):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-5-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.toString):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-5-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-7-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-7-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-7-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-7-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-7-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-7-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.valueOf):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-7-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.toString):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-7-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-7-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-8-c-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-8-c-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-8-c-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-9-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-9-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-9-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-9-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-9-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-9-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-9-b-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-9-c-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-9-c-ii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-9-c-ii-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-9-c-ii-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.21-9-c-ii-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.4.22-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-10-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-10-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-10-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-10-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-10-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-10-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-10-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-10-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-4-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-4-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-4-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-4-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-4-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-4-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-4-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-5-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-5-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-5-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-5-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-5-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.valueOf):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-5-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.toString):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-5-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-7-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-7-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-7-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-7-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-7-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-7-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.valueOf):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-7-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.o.toString):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-7-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-7-9.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.foo):
(ES5Harness.registerTest.test.testcase.cb):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-8-c-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-8-c-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-8-c-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-9-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-9-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-9-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-9-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-9-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-9-b-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-9-c-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-9-c-ii-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-9-c-ii-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-9-c-ii-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.4.22-9-c-ii-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test.testcase.callbackfn):
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.4.5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.5.1-3.d-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.5.1-3.d-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.5.1-3.d-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.5.1-5-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.4.5.1-5-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.4.20-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.4.20-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-1-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-1-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-1-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-1-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-1-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-1-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-1-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-10.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-11.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-12.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-13.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-14.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-16.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-18.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-19.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-20.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-21.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-22.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-24.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-27.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-28.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-29.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-30.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-32.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-34.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-35.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-36.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-37.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-38.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-39.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-40.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-41.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-42.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-43.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-44.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-45.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-46.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-47.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-48.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-49.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-50.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-51.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-52.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-53.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-54.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-55.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-56.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-57.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-58.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-59.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-60.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.4.20-4-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-1-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-1-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-3-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-3-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-3-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-3-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-3-5.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-3-6.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-3-7.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-3-8.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-7-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-7-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-7-3.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.5.5.5.2-7-4.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.7.3-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.7.3-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.7.3.1-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.7.3.1-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.7.4-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.9.4.4-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.9.4.4-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.9.5.43-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.9.5.43-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- ietestcenter/Javascript/TestCases/15.9.5.44-0-1.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
- ietestcenter/Javascript/TestCases/15.9.5.44-0-2.js: Added property svn:eol-style.
(ES5Harness.registerTest.test):
(ES5Harness.registerTest.precondition):
- 3:51 PM Changeset in webkit [199563] by
-
- 2 edits in trunk/Tools
Another build fix attempt.
- MiniBrowser/mac/WK2BrowserWindowController.m:
- 3:47 PM Changeset in webkit [199562] by
-
- 5 edits in trunk/Source/WebCore
Build fix after r199549.
https://bugs.webkit.org/show_bug.cgi?id=156580
- CMakeLists.txt:
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformWin.cmake:
KillRingNone.cpp is indeed platform-specific. KillRingMac.mm is used instead only on Mac.
- 3:35 PM Changeset in webkit [199561] by
-
- 4 edits2 adds in trunk
CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::CachedResource::addClientToSet + 27
https://bugs.webkit.org/show_bug.cgi?id=156602
<rdar://problem/18921091>
Reviewed by Simon Fraser.
Source/WebCore:
The CSS property list-style-image is inherited, so a transition on a parent
might cause a transition on a child. On that child, the value might be between
two generated crossfade images which haven't yet resolved, causing a crash.
Test: transitions/crossfade-transition.html
- css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::blend): Return null if there are no cached images.
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc): If we don't have an actual image to blend between, fall
out to the default case.
LayoutTests:
Tests that an animation between two inherited crossfade elements will not crash.
- transitions/crossfade-transition-expected.txt: Added.
- transitions/crossfade-transition.html: Added.
- 3:26 PM Changeset in webkit [199560] by
-
- 2 edits in trunk/Tools
Fix build.
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
- 3:14 PM Changeset in webkit [199559] by
-
- 2 edits in trunk/Source/WebKit2
Try to fix the Yosemite build.
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::runOpenPanel):
- 3:07 PM Changeset in webkit [199558] by
-
- 27 edits3 copies2 moves in trunk
[Mac] Add API for open panel handling to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=137759
rdar://problem/23278623
Reviewed by Tim Horton.
Source/WebKit2:
Based on a patch by Brian Michel.
- Shared/API/Cocoa/WebKit.h:
Import WKOpenPanelParameters.h.
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
Create a WKOpenPanelParameters for Type::OpenPanelParameters.
- UIProcess/API/APIOpenPanelParameters.cpp: Renamed from Source/WebKit2/Shared/WebOpenPanelParameters.cpp.
- UIProcess/API/APIOpenPanelParameters.h: Renamed from Source/WebKit2/Shared/WebOpenPanelParameters.h.
Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
- UIProcess/API/APIUIClient.h:
(API::UIClient::runOpenPanel):
Change this to take a SecurityOriginData.
- UIProcess/API/C/WKAPICast.h:
- UIProcess/API/C/WKOpenPanelParametersRef.cpp:
(WKOpenPanelParametersGetTypeID):
Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
- UIProcess/API/C/WKOpenPanelResultListener.cpp:
(filePathsFromFileURLs):
(WKOpenPanelResultListenerChooseFiles):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
- UIProcess/API/Cocoa/WKOpenPanelParameters.h: Added.
- UIProcess/API/Cocoa/WKOpenPanelParameters.mm: Added.
(-[WKOpenPanelParameters allowsMultipleSelection]):
(-[WKOpenPanelParameters _apiObject]):
- UIProcess/API/Cocoa/WKOpenPanelParametersInternal.h:
Add a WKOpenPanelParameters class which contains information about a file upload control.
- UIProcess/API/Cocoa/WKUIDelegate.h:
Add new delegate method.
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
Record whether the UI delegate implements the new delegate method.
(WebKit::UIDelegate::UIClient::runOpenPanel):
Invoke the new delegate method.
- UIProcess/PageClient.h:
(WebKit::PageClient::handleRunOpenPanel):
Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
- UIProcess/WebOpenPanelResultListenerProxy.cpp:
(WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
- UIProcess/WebOpenPanelResultListenerProxy.h:
Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runOpenPanel):
- UIProcess/WebPageProxy.h:
Change this to take a SecurityOriginData.
- UIProcess/WebPageProxy.messages.in:
Change RunOpenPanel to take a SecurityOriginData.
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::handleRunOpenPanel):
Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _showRunOpenPanel:resultListener:]):
Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
- UIProcess/ios/forms/WKFileUploadPanel.h:
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]):
Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
(-[WKFileUploadPanel presentWithParameters:resultListener:]):
Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
- WebKit2.xcodeproj/project.pbxproj:
Add new file.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::runOpenPanel):
Pass the security origin of the frame along.
Tools:
Have MiniBrowser implement the new delegate method.
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
- 2:54 PM Changeset in webkit [199557] by
-
- 27 edits2 moves3 deletes in trunk
Unreviewed, rolling out r199554.
The change breaks Yosemite Release/Debug build
Reverted changeset:
"[Mac] Add API for open panel handling to WKWebView"
https://bugs.webkit.org/show_bug.cgi?id=137759
http://trac.webkit.org/changeset/199554
- 2:46 PM Changeset in webkit [199556] by
-
- 5 edits2 adds in trunk
Web Inspector: Add a JavaScript Formatting test for template strings
https://bugs.webkit.org/show_bug.cgi?id=156600
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-14
Reviewed by Brian Burg.
Source/WebInspectorUI:
- Tools/Formatting/index.html:
LayoutTests:
- inspector/formatting/formatting-javascript-expected.txt:
- inspector/formatting/formatting-javascript.html:
- inspector/formatting/resources/javascript-tests/template-strings-expected.js: Added.
- inspector/formatting/resources/javascript-tests/template-strings.js: Added.
- 2:37 PM Changeset in webkit [199555] by
-
- 1 edit1 add in trunk/Websites/webkit.org
Publish the Web-exposed feature policy on webkit.org.
https://bugs.webkit.org/show_bug.cgi?id=156552
Patch by Edward O'Connor <Theresa O'Connor> on 2016-04-14
Reviewed by Timothy Hatcher.
- feature-policy.md: Added.
- 2:21 PM Changeset in webkit [199554] by
-
- 27 edits3 copies2 moves in trunk
[Mac] Add API for open panel handling to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=137759
rdar://problem/23278623
Reviewed by Tim Horton.
Source/WebKit2:
Based on a patch by Brian Michel.
- Shared/API/Cocoa/WebKit.h:
Import WKOpenPanelParameters.h.
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
Create a WKOpenPanelParameters for Type::OpenPanelParameters.
- UIProcess/API/APIOpenPanelParameters.cpp: Renamed from Source/WebKit2/Shared/WebOpenPanelParameters.cpp.
- UIProcess/API/APIOpenPanelParameters.h: Renamed from Source/WebKit2/Shared/WebOpenPanelParameters.h.
Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
- UIProcess/API/APIUIClient.h:
(API::UIClient::runOpenPanel):
Change this to take a SecurityOriginData.
- UIProcess/API/C/WKAPICast.h:
- UIProcess/API/C/WKOpenPanelParametersRef.cpp:
(WKOpenPanelParametersGetTypeID):
Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
- UIProcess/API/C/WKOpenPanelResultListener.cpp:
(filePathsFromFileURLs):
(WKOpenPanelResultListenerChooseFiles):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
- UIProcess/API/Cocoa/WKOpenPanelParameters.h: Added.
- UIProcess/API/Cocoa/WKOpenPanelParameters.mm: Added.
(-[WKOpenPanelParameters allowsMultipleSelection]):
(-[WKOpenPanelParameters _apiObject]):
- UIProcess/API/Cocoa/WKOpenPanelParametersInternal.h:
Add a WKOpenPanelParameters class which contains information about a file upload control.
- UIProcess/API/Cocoa/WKUIDelegate.h:
Add new delegate method.
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
Record whether the UI delegate implements the new delegate method.
(WebKit::UIDelegate::UIClient::runOpenPanel):
Invoke the new delegate method.
- UIProcess/PageClient.h:
(WebKit::PageClient::handleRunOpenPanel):
Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
- UIProcess/WebOpenPanelResultListenerProxy.cpp:
(WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
- UIProcess/WebOpenPanelResultListenerProxy.h:
Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runOpenPanel):
- UIProcess/WebPageProxy.h:
Change this to take a SecurityOriginData.
- UIProcess/WebPageProxy.messages.in:
Change RunOpenPanel to take a SecurityOriginData.
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::handleRunOpenPanel):
Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _showRunOpenPanel:resultListener:]):
Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
- UIProcess/ios/forms/WKFileUploadPanel.h:
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]):
Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
(-[WKFileUploadPanel presentWithParameters:resultListener:]):
Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
- WebKit2.xcodeproj/project.pbxproj:
Add new file.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::runOpenPanel):
Pass the security origin of the frame along.
Tools:
Have MiniBrowser implement the new delegate method.
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
- 2:14 PM Changeset in webkit [199553] by
-
- 6 edits6 adds2 deletes in trunk
Allow listbox content and scrollbar to intrude padding area.
https://bugs.webkit.org/show_bug.cgi?id=128489
Reviewed by Myles C. Maxfield.
Source/WebCore:
Originally when the RenderListBox::controlClipRect method was implemented (see [1]), it used
to allow its content (<option>'s) to intrude padding to get rendered. Overlay scrollbars were also
allowed to paint over the padding area, if necessary.
[2] changed this behavior to restrict list-box'es content within the content box rect (excluding padding and border).
This had two consequences:
1) it made WebKit disallow list-box' content to intrude the padding area, diverging from other vendors.
like Firefox and Chrome.
2) Since overlay scrollbar might get painted over the padding area, if any, [2] could result
in the scrollbar being clipped out if padding-right is set (or padding-left in case of RTL content).
Patch changed WebKit back so that it allows list-box' content and overlay scrollbars to intrude the
padding area, matching other browsers vendors
[1] https://trac.webkit.org/changeset/18819/trunk/WebCore/rendering/RenderListBox.cpp
[2] https://trac.webkit.org/changeset/19037/trunk/WebCore/rendering/RenderListBox.cpp
Tests: fast/forms/listbox-selection-3.html
fast/forms/listbox-padding-clip-selected.html
fast/forms/listbox-padding-clip-expected-mismatch.html (renamed from listbox-padding-clip-overlay-expected.html)
fast/forms/listbox-padding-clip-overlay-expected-mismatch.html (renamed from listbox-padding-clip-expected.html)
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::numVisibleItems): changed to allow list-box items to get rendered on the padding-bottom area.
This matches Firefox and Chrome.
(WebCore::RenderListBox::listIndexAtOffset): relax the check for a given list-box item at a specific offset in the vertical axis.
This means if an list-box item has its content painted into the padding-bottom area, it will be actionable by mouse clicking.
This matches Firefox and Chrome.
(WebCore::RenderListBox::controlClipRect): clips list-box content against the padding box rect rather than the content box rect,
to allow its list-box items' content intrude the padding area.
This matches Firefox and Chrome.
LayoutTests:
- fast/forms/listbox-selection-3-expected.txt: Added.
- fast/forms/listbox-selection-3.html: Added.
- fast/forms/listbox-padding-clip-selected.html: Added.
- fast/forms/listbox-padding-clip-selected-expected.html: Added.
- fast/forms/listbox-padding-clip-expected-mismatch.html: Renamed from listbox-padding-clip-overlay-expected.html.
- fast/forms/listbox-padding-clip-overlay-expected-mismatch.html: Renamed from listbox-padding-clip-expected.html.
- 2:09 PM Changeset in webkit [199552] by
-
- 4 edits in trunk/Source/WebCore
Collapsed border cache invalidation can lead to O(n2) during style resolve
https://bugs.webkit.org/show_bug.cgi?id=156570
Reviewed by Darin Adler.
RenderTable::invalidateCollapsedBorders traverses all cells. It is called when table cell border changes.
This can result in O(n2) during style resolve.
- rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
(WebCore::RenderTable::invalidateCollapsedBorders):
For cell border style change invalidate the hasEmptyCollapsedBorder bits only for the neighbouring cells.
They are the only ones that can be affected.
- rendering/RenderTable.h:
(WebCore::RenderTable::collapsedBordersAreValid):
(WebCore::RenderTable::collapsedEmptyBorderIsPresent):
(WebCore::RenderTable::currentBorderValue):
- rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::styleDidChange):
- 1:49 PM Changeset in webkit [199551] by
-
- 4 edits2 adds in trunk
[css-grid] Implement CSSGridTemplateAreasValue::equals
https://bugs.webkit.org/show_bug.cgi?id=156578
Reviewed by Darin Adler.
Source/WebCore:
This was causing an infinite loop setting grid-template-areas
from JavaScript.
The reason was that CSSGridTemplateAreasValue needs
an specific implementation of equals() method.
Test: fast/css-grid-layout/grid-template-areas-infinite-loop.html
- css/CSSGridTemplateAreasValue.cpp:
(WebCore::CSSGridTemplateAreasValue::equals):
- css/CSSGridTemplateAreasValue.h:
LayoutTests:
- fast/css-grid-layout/grid-template-areas-infinite-loop-expected.txt: Added.
- fast/css-grid-layout/grid-template-areas-infinite-loop.html: Added.
- 1:22 PM Changeset in webkit [199550] by
-
- 2 edits in trunk/Tools
Update Animometer plan
https://bugs.webkit.org/show_bug.cgi?id=156569
Reviewed by Alex Christensen.
- Scripts/webkitpy/benchmark_runner/data/plans/animometer.plan: Update to r199328. Includes update to screen
resolution, starting with complexity of 1, and fixing SVG, multiply, and text tests.
- 12:02 PM Changeset in webkit [199549] by
-
- 7 edits in trunk/Source/WebCore
[CMake] Clean up CMake files
https://bugs.webkit.org/show_bug.cgi?id=156580
Reviewed by Alex Christensen.
Revise the various CMake input files to reduce the amount of duplicated file references in
the various ports.
- CMakeLists.txt:
- PlatformAppleWin.cmake:
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformWin.cmake:
- PlatformWinCairo.cmake:
- 11:27 AM Changeset in webkit [199548] by
-
- 3 edits in trunk/Source/WebCore
RenderMathMLOperator: Add helper function to retrieve italic correction
https://bugs.webkit.org/show_bug.cgi?id=156572
Reviewed by Darin Adler.
No new tests, the helper function will only be used in bug 153918.
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::italicCorrection): Return the italic correction from the MATH table if it's a large operator.
- rendering/mathml/RenderMathMLOperator.h: Declare italicCorrection.
- 11:23 AM Changeset in webkit [199547] by
-
- 3 edits in trunk/Source/WebCore
RenderMathMLOperator: Move glyph measuring helper functions outside the class
https://bugs.webkit.org/show_bug.cgi?id=156571
Patch by Frederic Wang <fwang@igalia.com> on 2016-04-14
Reviewed by Darin Adler.
No new tests, this is just a simple refactoring to prepare the patch
for bug 156542, without any behavior change.
- rendering/mathml/RenderMathMLOperator.cpp: MATHML_OPDICT_SIZE was removed in bug 152242, so no need to undef it.
(WebCore::boundsForGlyph): Static inline helper function moved from the RenderMathMLOperator class.
(WebCore::heightForGlyph): Ditto.
(WebCore::advanceWidthForGlyph): Ditto and renamed.
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Rename advanceForGlyph.
(WebCore::RenderMathMLOperator::findStretchyData): Ditto.
(WebCore::RenderMathMLOperator::updateStyle): Ditto.
(WebCore::RenderMathMLOperator::paintGlyph): Ditto.
(WebCore::RenderMathMLOperator::paint): Ditto.
(WebCore::RenderMathMLOperator::trailingSpaceError): Ditto.
(WebCore::RenderMathMLOperator::setOperatorProperties): Deleted.
(WebCore::RenderMathMLOperator::boundsForGlyph): Deleted.
(WebCore::RenderMathMLOperator::heightForGlyph): Deleted.
(WebCore::RenderMathMLOperator::advanceForGlyph): Deleted.
- rendering/mathml/RenderMathMLOperator.h:
- 11:21 AM Changeset in webkit [199546] by
-
- 2 edits in trunk/Source/WebCore
Set some RenderMathMLOperator members as final
https://bugs.webkit.org/show_bug.cgi?id=156574
Reviewed by Darin Adler.
No new tests, this is only a simple refactoring without behavior change.
- rendering/mathml/RenderMathMLOperator.h: Replace "override" with "final" for some members.
- 11:16 AM Changeset in webkit [199545] by
-
- 13 edits3 adds in trunk
Update treatment of invoking RegExp.prototype methods on RegExp.prototype.
https://bugs.webkit.org/show_bug.cgi?id=155922
Reviewed by Keith Miller.
Source/JavaScriptCore:
According to the TC39 committee, when invoking the following RegExp.prototype
methods on the RegExp.prototype:
- RegExp.prototype.flags yields ""
- RegExp.prototype.global yields undefined
- RegExp.prototype.ignoreCase yields undefined
- RegExp.prototype.multiline yields undefined
- RegExp.prototype.unicode yields undefined
- RegExp.prototype.source yields "(?:)"
- RegExp.prototype.sticky yields undefined
- RegExp.prototype.toString() yields "/(?:)/"
and RegExp.prototype is still NOT an instance of RegExp. The above behavior
changes is a special dispensation applicable only to RegExp.prototype. The ES6
spec of throwing errors still applies if those methods are applied to anything =
else that is not a RegExp object.
- runtime/RegExpPrototype.cpp:
(JSC::regExpProtoGetterGlobal):
(JSC::regExpProtoGetterIgnoreCase):
(JSC::regExpProtoGetterMultiline):
(JSC::regExpProtoGetterSticky):
(JSC::regExpProtoGetterUnicode):
(JSC::regExpProtoGetterFlags):
(JSC::regExpProtoGetterSource):
- Implemented new behavior.
- tests/es6/miscellaneous_built-in_prototypes_are_not_instances.js:
(test):
- Updated to match current kangax test.
LayoutTests:
- fast/regex/script-tests/toString.js:
- fast/regex/toString-expected.txt:
- ietestcenter/Javascript/15.10.7.1-1-expected.txt:
- ietestcenter/Javascript/TestCases/15.10.7.1-1.js:
(ES5Harness.registerTest.test):
- js/kde/RegExp-expected.txt:
- js/kde/script-tests/RegExp.js:
- js/pic/cached-named-property-getter.html:
- js/regexp-flags-expected.txt:
- js/script-tests/regexp-flags.js:
- updated test behaviors in some cases, and rebased results as needed.
- js/regress/regexp-prototype-is-not-instance-expected.txt: Added.
- js/regress/regexp-prototype-is-not-instance.html: Added.
- js/regress/script-tests/regexp-prototype-is-not-instance.js: Added.
- Tests new RegExp.prototype method behaviors.
- 11:04 AM Changeset in webkit [199544] by
-
- 6 edits1 move3 adds1 delete in trunk
Ensure that RenderMathMLOperator::stretchTo functions are called with stretchy operators that have the correct direction
https://bugs.webkit.org/show_bug.cgi?id=156542
Patch by Frederic Wang <fwang@igalia.com> on 2016-04-14
Reviewed by Darin Adler.
Source/WebCore:
In the RenderMathMLUnderOver refactoring (r199293), we avoided doing a
horizontal stretchTo call for non-stretchy operators. Here we do the
same for RenderMathMLRow and avoid doing a vertical stretchTo call for
horizontal or non-stretchy operators. We also add appropriate ASSERT in
the RenderMathMLOperator::stretchTo functions. To avoid failing tests
with DOM/style update, we make our updates a bit stricter. Hopefully,
we could manage such things better in the future (bug 156536).
Tests: mathml/presentation/row-nonstretchy-or-horizontal.html
mathml/presentation/underover-nonstretchy-or-vertical.html
- mathml/MathMLTextElement.cpp:
(WebCore::MathMLTextElement::parseAttribute): Replace setOperatorFlagAndScheduleLayoutIfNeeded with a stronger rendering update.
Also ensure that this is done when the lspace/rspace attributes change.
This avoids breaking mathml/presentation/mo-lspace-rspace-dynamic.html
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::stretchTo): Add ASSERT to ensure that it is only called with stretchy operators that have the correct direction.
(WebCore::RenderMathMLOperator::styleDidChange): Do a stronger rendering update when the style changes.
This avoids breaking mathml/presentation/style-changed.html
(WebCore::RenderMathMLOperator::setOperatorFlagAndScheduleLayoutIfNeeded): Deleted.
- rendering/mathml/RenderMathMLOperator.h: Make updateFromElement public so that it can be called from MathMLTextElement::parseAttribute
Remove setOperatorFlagAndScheduleLayoutIfNeeded and declare styleDidChange.
- rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::layoutRowItems): Only call stretchTo for vertical stretchy operators.
LayoutTests:
Add a test to ensure that nonstretchy or horizontal operators in a
RenderMathMLRow do not stretch. This is similar to the existing test
for munderover and we improve a bit that one too.
Besides the verification of the rendering, these two tests will also
check that the RenderMathMLOperator::stretchTo calls are not done in a
way that violates the ASSERT at the top of stretchTo.
- mathml/presentation/row-nonstretchy-or-horizontal.html: Added.
- mathml/presentation/row-nonstretchy-or-horizontal-expected.html: Added.
- mathml/presentation/underover-nonstretchy-horizontal.html: Removed.
- mathml/presentation/underover-nonstretchy-horizontal-expected.html: Removed.
- mathml/presentation/underover-nonstretchy-or-vertical.html: Renamed from LayoutTests/mathml/presentation/underover-nonstretchy-horizontal.html.
We now also test the case of vertical operators in munderover.
- mathml/presentation/underover-nonstretchy-or-vertical-expected.html: Renamed from LayoutTests/mathml/presentation/underover-nonstretchy-horizontal-expected.html.
- 10:56 AM Changeset in webkit [199543] by
-
- 26 edits in trunk/Source/JavaScriptCore
Some imported ES6 tests are missing createIterableObject
https://bugs.webkit.org/show_bug.cgi?id=156584
Reviewed by Keith Miller.
These tests were failing because I neglected to include createIterableObject
when I first imported them. Now they pass.
- tests/es6.yaml:
- tests/es6/Array_static_methods_Array.from_generic_iterables.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test):
- tests/es6/Array_static_methods_Array.from_instances_of_generic_iterables.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test):
- tests/es6/Array_static_methods_Array.from_iterator_closing.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
- tests/es6/Array_static_methods_Array.from_map_function_generic_iterables.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test):
- tests/es6/Array_static_methods_Array.from_map_function_instances_of_iterables.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test):
- tests/es6/Map_iterator_closing.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
- tests/es6/Promise_Promise.all_generic_iterables.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test.asyncTestPassed):
- tests/es6/Promise_Promise.race_generic_iterables.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test.asyncTestPassed):
- tests/es6/Set_iterator_closing.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
- tests/es6/WeakMap_iterator_closing.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
- tests/es6/WeakSet_iterator_closing.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
- tests/es6/destructuring_iterator_closing.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
- tests/es6/destructuring_with_generic_iterables.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test):
- tests/es6/destructuring_with_instances_of_generic_iterables.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test):
- tests/es6/for..of_loops_iterator_closing_break.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
- tests/es6/for..of_loops_iterator_closing_throw.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
- tests/es6/for..of_loops_with_generic_iterables.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test):
- tests/es6/for..of_loops_with_instances_of_generic_iterables.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test):
- tests/es6/generators_yield_star_generic_iterables.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
- tests/es6/generators_yield_star_iterator_closing_via_throw.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
- tests/es6/spread_..._operator_with_generic_iterables_in_arrays.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test):
- tests/es6/spread_..._operator_with_generic_iterables_in_calls.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test):
- tests/es6/spread_..._operator_with_instances_of_iterables_in_arrays.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test):
- tests/es6/spread_..._operator_with_instances_of_iterables_in_calls.js:
(iterator.next):
(iterable.Symbol.iterator):
(createIterableObject):
(test):
- 10:48 AM Changeset in webkit [199542] by
-
- 2 edits in tags/Safari-602.1.28/Source/WebKit2
Merged r199528. rdar://problem/25697779
- 10:44 AM Changeset in webkit [199541] by
-
- 3 edits in trunk/Source/WebInspectorUI
REGRESSION: Web Inspector: Remote inspector doesn't work
https://bugs.webkit.org/show_bug.cgi?id=156543
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-04-14
Reviewed by Timothy Hatcher.
WebSocket connection is blocked by CSP, but needed by the remote web inspector to work, so allow connect to ws
URLs from the web inspector. Also add stubs for zoomFactor and setZoomFactor to InspectorFrontendHostStub,
required after r199396.
- UserInterface/Base/InspectorFrontendHostStub.js:
(window.InspectorFrontendHost.WebInspector.InspectorFrontendHostStub.prototype.setZoomFactor):
(window.InspectorFrontendHost.WebInspector.InspectorFrontendHostStub.prototype.zoomFactor):
- UserInterface/Main.html:
- 10:34 AM Changeset in webkit [199540] by
-
- 2 edits in trunk/Source/WebCore
When FileInputType::setFiles is called with an empty file list, the last set icon is not cleared
https://bugs.webkit.org/show_bug.cgi?id=156582
Reviewed by Beth Dakin.
- html/FileInputType.cpp:
(WebCore::FileInputType::requestIcon):
- 10:10 AM Changeset in webkit [199539] by
-
- 13 edits in trunk
Remove UsePointersEvenForNonNullableObjectArguments from Internals
https://bugs.webkit.org/show_bug.cgi?id=156539
Reviewed by Alex Christensen.
Source/WebCore:
- html/HTMLImageElement.idl: Exported this so it can be used as the type for
a function argument in Internals.idl.
- html/HTMLInputElement.idl: Ditto.
- html/HTMLLinkElement.idl: Ditto.
- html/HTMLSelectElement.idl: Ditto.
- testing/Internals.cpp:
(WebCore::InspectorStubFrontend::InspectorStubFrontend): Take a Page&.
(WebCore::Internals::create): Take a Document&.
(WebCore::Internals::resetToConsistentState): Take a Page&.
(WebCore::Internals::Internals): Take a Document&.
(WebCore::Internals::settings): Use nullptr instead of 0.
(WebCore::Internals::address): Take a Node&.
(WebCore::Internals::nodeNeedsStyleRecalc): Take a Node& and no ExceptionCode&.
(WebCore::Internals::styleChangeType): Ditto.
(WebCore::Internals::xhrResponseSource): Take an XMLHttpRequest&.
(WebCore::Internals::isSharingStyleSheetContents): Take two
HTMLLinkElement&.
(WebCore::Internals::isStyleSheetLoadingSubresources): Take an HTMLLinkElement&.
(WebCore::Internals::imageFrameIndex): Take an HTMLImageElement& and no
ExceptionCode&. Also return an unsigned rather than size_t, since the IDL expects
unsigned long, which means unsigned in C++ code.
(WebCore::Internals::treeScopeRootNode): Take a Node& and no ExceptionCode&.
(WebCore::Internals::parentTreeScope): Ditto.
(WebCore::Internals::pauseAnimationAtTimeOnElement): Take an Element&.
(WebCore::Internals::pauseAnimationAtTimeOnPseudoElement): Ditto.
(WebCore::Internals::pauseTransitionAtTimeOnElement): Ditto.
(WebCore::Internals::pauseTransitionAtTimeOnPseudoElement): Ditto.
(WebCore::Internals::attached): Deleted.
(WebCore::Internals::elementRenderTreeAsText): Take an Element&.
(WebCore::Internals::hasPausedImageAnimations): Take an Element& and no
ExceptionCode&.
(WebCore::Internals::computedStyleIncludingVisitedInfo): Take a Node& and no
ExceptionCode&.
(WebCore::Internals::ensureShadowRoot): Take an Element&.
(WebCore::Internals::ensureUserAgentShadowRoot): Take an Element& and no
ExceptionCode&.
(WebCore::Internals::createShadowRoot): Take an Element&.
(WebCore::Internals::shadowRoot): Take an Element& and no ExceptionCode&.
(WebCore::Internals::shadowRootType): Take a Node&.
(WebCore::Internals::includerFor): Deleted.
(WebCore::Internals::shadowPseudoId): Take an Element& and no ExceptionCode&.
(WebCore::Internals::setShadowPseudoId): Ditto.
(WebCore::Internals::visiblePlaceholder): Take an Element&.
(WebCore::Internals::selectColorInColorChooser): Take an HTMLInputElement&.
(WebCore::Internals::boundingBox): Take an Element& and no ExceptionCode&.
(WebCore::Internals::markerCountForNode): Take a Node&.
(WebCore::Internals::markerAt): Ditto.
(WebCore::Internals::markerRangeForNode): Ditto.
(WebCore::Internals::markerDescriptionForNode): Ditto.
(WebCore::Internals::addTextMatchMarker): Take a const Range&.
(WebCore::Internals::setScrollViewPosition): Take int instead of long; long in
IDL means int in C++ code.
(WebCore::Internals::wasLastChangeUserEdit): Take an Element&.
(WebCore::Internals::elementShouldAutoComplete): Take an HTMLInputElement&.
(WebCore::Internals::setEditingValue): Take an HTMLInputElement& and no
ExceptionCode&.
(WebCore::Internals::setAutofilled): Ditto.
(WebCore::Internals::setShowAutoFillButton): Ditto.
(WebCore::Internals::scrollElementToRect): Take an Element& and int instead of long.
(WebCore::Internals::autofillFieldName): Take an Element&.
(WebCore::Internals::rangeFromLocationAndLength): Take an Element& and no ExceptionCode&.
(WebCore::Internals::locationFromRange): Ditto.
(WebCore::Internals::lengthFromRange): Take an Element& and const Range& and no
ExceptionCode&.
(WebCore::Internals::rangeAsText): Take const Range& an no ExceptionCode&.
(WebCore::Internals::subrange): Take Range& an no ExceptionCode&.
(WebCore::Internals::nodesFromRect): Take a Document&.
(WebCore::Internals::openDummyInspectorFrontend): Ditto.
(WebCore::Internals::layerTreeAsText): Take an Element&.
(WebCore::Internals::setElementUsesDisplayListDrawing): Ditto.
(WebCore::Internals::setElementTracksDisplayListReplay): Ditto.
(WebCore::Internals::displayListForElement): Ditto.
(WebCore::Internals::replayDisplayListForElement): Ditto.
(WebCore::Internals::counterValue): Ditto.
(WebCore::Internals::pageNumber): Ditto.
(WebCore::Internals::webkitWillEnterFullScreenForElement): Ditto.
(WebCore::Internals::webkitDidEnterFullScreenForElement): Ditto.
(WebCore::Internals::webkitWillExitFullScreenForElement): Ditto.
(WebCore::Internals::webkitDidExitFullScreenForElement): Ditto.
(WebCore::Internals::layerFlushCount): Return unsigned instead of unsigned long.
IDL unsigned long means unsigned in C++ code.
(WebCore::Internals::styleRecalcCount): Ditto.
(WebCore::Internals::compositingUpdateCount): Ditto.
(WebCore::Internals::deserializeBuffer): Take an ArrayBuffer&.
(WebCore::Internals::markerTextForListItem): Take an Element& and no ExceptionCode&.
(WebCore::Internals::toolTipFromElement): Ditto.
(WebCore::Internals::getImageSourceURL): Ditto.
(WebCore::Internals::simulateAudioInterruption): Take an HTMLMediaElement&.
(WebCore::Internals::mediaElementHasCharacteristic): Ditto.
(WebCore::Internals::isSelectPopupVisible): Take an HTMLSelectElement&.
(WebCore::Internals::closestTimeToTimeRanges): Take a TimeRange&.
(WebCore::Internals::isPluginUnavailabilityIndicatorObscured): Take an Element&.
(WebCore::Internals::isPluginSnapshotted): Take an Element& and no ExceptionCode&.
(WebCore::Internals::bufferedSamplesForTrackID): Take a SourceBuffer&.
(WebCore::Internals::setShouldGenerateTimestamps): Ditto.
(WebCore::Internals::setMediaElementRestrictions): Take an HTMLMediaElement&.
(WebCore::Internals::elementIsBlockingDisplaySleep): Take an HTMLMediaElement&.
(WebCore::Internals::setAudioContextRestrictions): Take an AudioContext&.
(WebCore::Internals::scrollSnapOffsets): Take an Element&.
(WebCore::Internals::getCurrentMediaControlsStatusForElement): Take an HTMLMediaElement&.
(WebCore::Internals::userVisibleString): Take a const DOMURL&.
(WebCore::Internals::composedTreeAsText): Take a Node&.
- testing/Internals.h: Update for all the changes listed above.
- testing/Internals.idl: Removed UsePointersEvenForNonNullableObjectArguments. Removed
many unneeded [RaisesException]. Used more specific types for many arguments. Removed
unused, and unimplemented, attached and includedFor functions. Made the node argument to
updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks nullable as well as optional.
- testing/Internals.mm:
(WebCore::Internals::userVisibleString): Take a const DOMURL&.
- testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject): Pass a Document& rather than a Document*.
(WebCoreTestSupport::resetInternalsObject): Pass a Page& rather than a Page*.
LayoutTests:
- fast/forms/color/input-color-onchange-event-expected.txt: Updated.
- fast/forms/color/input-color-onchange-event.html: Removed unneeded test of how the
internals object handles incorrect values passed to the test function. This wasn't testing
actual WebKit code at all, it was just a test of the internals object implementation.
- 9:48 AM Changeset in webkit [199538] by
-
- 7 edits7 adds5 deletes in trunk
CSP: Ignore report-only policy delivered via meta element
https://bugs.webkit.org/show_bug.cgi?id=156565
<rdar://problem/25718167>
Reviewed by Brent Fulgham.
Source/WebCore:
Only honor a report-only policy delivered via the HTTP header Content-Security-Policy-Report-Only
or X-WebKit-CSP-Report-Only as per section Content-Security-Policy-Report-Only Header Field of
the Content Security Policy Level 2 spec., <https://w3c.github.io/webappsec-csp/2/> (Editor's Draft, 29 August 2015).
Currently we honor a report-only policy delivered via a meta element or an HTTP header. Instead
we should only honor such a policy when delivered via an HTTP header.
Tests: http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored2.html
http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode-and-sends-report.php
http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode.php
http/tests/security/contentSecurityPolicy/report-multiple-violations-01.php
http/tests/security/contentSecurityPolicy/report-multiple-violations-02.php
http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.php
- dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Do not process policy for HTTP equivalent header
Content-Security-Policy-Report-Only and X-WebKit-CSP-Report-Only.
LayoutTests:
Add new test LayoutTests/http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored2.html
to ensure that we ignore X-WebKit-CSP-Report-Only when delivered via a meta element.
Rename test report-multiple-violations-0{1, 2}.html and eval-allowed-in-report-only-mode-and-sends-report.html
to report-multiple-violations-0{1, 2}.php and eval-allowed-in-report-only-mode-and-sends-report.php, respectively,
so that we can make use of PHP to deliver the report-only policy via an HTTP header instead of via a meta element
as the latter is no longer supported. Additionally, fix up code style in some tests to make them more
consistent with the code style we use for tests.
- TestExpectations: Update some entries due to renaming and mark tests reportonly-in-meta-ignored.html
and reportonly-in-meta-ignored2.html as PASS so that we run them.
- http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored.html:
- http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored2.html: Added.
- http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode-and-sends-report.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode-and-sends-report.html.
- http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode-expected.txt:
- http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode.html.
- http/tests/security/contentSecurityPolicy/report-multiple-violations-01.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-multiple-violations-01.html.
- http/tests/security/contentSecurityPolicy/report-multiple-violations-02.php: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/report-multiple-violations-02.html.
- http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.html: Removed.
- http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.php: Added.
- 7:08 AM Changeset in webkit [199537] by
-
- 4 edits in trunk/Source/WebCore
Dashboard is spelled as Dashbard in several source files
https://bugs.webkit.org/show_bug.cgi?id=156577
Patch by Antoine Quint <Antoine Quint> on 2016-04-14
Reviewed by Eric Carlson.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
- html/canvas/CanvasGradient.cpp:
(WebCore::CanvasGradient::CanvasGradient):
(WebCore::CanvasGradient::addColorStop):
- html/canvas/CanvasGradient.h:
(WebCore::CanvasGradient::setDashboardCompatibilityMode):
- 4:09 AM Changeset in webkit [199536] by
-
- 4 edits2 adds in trunk
WebGL based canvases composite incorrectly after changing size
https://bugs.webkit.org/show_bug.cgi?id=152556
<rdar://problem/24012678>
Patch by Antoine Quint <Antoine Quint> on 2016-04-14
Reviewed by Dean Jackson.
Source/WebCore:
On iOS, we use the CAEAGLLayer's bounds to set the size of the backing store.
However, that layer's bounds is also used to size the layer during layout. If
the canvas backing store is resized after layout has been performed, the call
to setBounds loses the layout value and the <canvas> element is incorrectly
sized on screen.
To address this, when updating the backing store, we keep track of the previous
layer bounds so we can reset it after we sized the backing store.
Test: webgl/webgl-backing-store-size-update.html
- platform/graphics/GraphicsContext3D.h:
- platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::setRenderbufferStorageFromDrawable):
LayoutTests:
Adding a new test that sets the size of the backing store to a different
size than the layout size after the layout size of the <canvas> element
has been applied to ensure that the implementation correctly retains the
layout size as the canvas backing store is resized.
- webgl/webgl-backing-store-size-update-expected.html: Added.
- webgl/webgl-backing-store-size-update.html: Added.
- 3:12 AM Changeset in webkit [199535] by
-
- 1 copy in releases/WebKitGTK/webkit-2.12.1
WebKitGTK+ 2.12.1
- 3:10 AM Changeset in webkit [199534] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.12.1 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.12.1.
- 2:13 AM Changeset in webkit [199533] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebInspectorUI
Unreviewed. REGRESSION: Web Inspector: Remote inspector doesn't work
https://bugs.webkit.org/show_bug.cgi?id=156543
WebSocket connection is blocked by CSP, but needed by the remote web inspector to work, so allow connect to ws
URLs from the web inspector.
- UserInterface/Main.html:
- 12:49 AM Changeset in webkit [199532] by
-
- 4 edits in trunk/Source/WebKit2
Fix build without IndexedDB.
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::deleteWebsiteDataForOrigins):
(WebKit::DatabaseProcess::grantSandboxExtensionsForBlobs):
(WebKit::DatabaseProcess::prepareForAccessToTemporaryFile):
- DatabaseProcess/DatabaseProcess.h:
- DatabaseProcess/DatabaseProcess.messages.in:
Apr 13, 2016:
- 11:37 PM Changeset in webkit [199531] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix GObject DOM bindings API break after r199392.
Since r199392 webkit_dom_attr_set_value() no longer raises exceptions, but we need to keep the GError parameter
to keep backwards compatibility.
- bindings/scripts/CodeGeneratorGObject.pm:
(FunctionUsedToRaiseException):
- 10:56 PM Changeset in webkit [199530] by
-
- 5 edits in trunk
CMake MiniBrowser should be an app bundle
https://bugs.webkit.org/show_bug.cgi?id=156521
Reviewed by Brent Fulgham.
Source/JavaScriptCore:
- PlatformMac.cmake:
Unreviewed build fix. Define STDC_WANT_LIB_EXT1 so we can find memset_s.
Tools:
- MiniBrowser/mac/CMakeLists.txt:
Make an app bundle and compile nibs.
- MiniBrowser/mac/Info.plist:
CMake doesn't know what to do with :rfc1034identifier and there's no reason to keep it. This is just MiniBrowser.
- 9:59 PM Changeset in webkit [199529] by
-
- 6 edits in trunk
JSContext Inspector: Improve Class instances and JSC API Exported Values view in Console / ObjectTree
https://bugs.webkit.org/show_bug.cgi?id=156566
<rdar://problem/16392365>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-13
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/InjectedScriptSource.js:
(InjectedScript.RemoteObject.prototype._appendPropertyPreviews):
Treat non-basic object types as not lossless so they can be expanded.
Show non-enumerable native getters in Object previews.
LayoutTests:
- inspector/console/console-table-expected.txt:
- inspector/model/remote-object.html:
- platform/mac/inspector/model/remote-object-expected.txt:
More values are treated as not-lossless and therefore expandable.
- 8:21 PM Changeset in webkit [199528] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r199401): Internal builds of Safari hang on launch
https://bugs.webkit.org/show_bug.cgi?id=156545
<rdar://problem/25697779>
As pointed out by Darin Adler, remove RELEASE_ASSERT() that I inadvertently left in
WebCore::secCodeForProcess() as part of r199504. For now, we handle
SecCodeCopyGuestWithAttributes() returning an error. In a subsequent commit we will
look to re-introduce the use of a RELEASE_ASSERT() to enforce the invariant that
SecCodeCopyGuestWithAttributes() returns a success status.
- Shared/mac/CodeSigning.mm:
(WebKit::secCodeForProcess):
- 7:39 PM Changeset in webkit [199527] by
-
- 3 edits16 adds in trunk
CSP: Nested browsing context created for <object> or <embed> should respect object-src directive
https://bugs.webkit.org/show_bug.cgi?id=156563
<rdar://problem/25715713>
Reviewed by Darin Adler.
Source/WebCore:
As per section object-src of the Content Security Policy Level 2 spec.,
<https://w3c.github.io/webappsec-csp/2/> (Editor's Draft, 29 August 2015), a nested browsing
context created for an HTML object or HTML embed element should respect the object-src directive.
Currently a nested browsing context created for an HTML object or HTML embed element respects
the child-src directive or frame-src directive (in that order). Instead such nested browsing
contexts should respect the object-src directive.
Tests: http/tests/security/contentSecurityPolicy/object-src-allows-embed-blocked-by-child-src.html
http/tests/security/contentSecurityPolicy/object-src-allows-embed-blocked-by-frame-src.html
http/tests/security/contentSecurityPolicy/object-src-allows-object-blocked-by-child-src.html
http/tests/security/contentSecurityPolicy/object-src-allows-object-blocked-by-frame-src.html
http/tests/security/contentSecurityPolicy/object-src-blocks-embed-allowed-by-child-src.html
http/tests/security/contentSecurityPolicy/object-src-blocks-embed-allowed-by-frame-src.html
http/tests/security/contentSecurityPolicy/object-src-blocks-object-allowed-by-child-src.html
http/tests/security/contentSecurityPolicy/object-src-blocks-object-allowed-by-frame-src.html
- loader/PolicyChecker.cpp:
(WebCore::isAllowedByContentSecurityPolicy): Added. Checks whether the specified URL is allowed by the
object-src or the child-src/frame-src directive for a plugin element and non-plugin element, respectively.
(WebCore::PolicyChecker::checkNavigationPolicy): Modified to call isAllowedByContentSecurityPolicy().
LayoutTests:
Add tests to ensure that nested browsing context created for <object> and <embed> respect
the object-src directive.
- http/tests/security/contentSecurityPolicy/object-src-allows-embed-blocked-by-child-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-src-allows-embed-blocked-by-child-src.html: Added.
- http/tests/security/contentSecurityPolicy/object-src-allows-embed-blocked-by-frame-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-src-allows-embed-blocked-by-frame-src.html: Added.
- http/tests/security/contentSecurityPolicy/object-src-allows-object-blocked-by-child-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-src-allows-object-blocked-by-child-src.html: Added.
- http/tests/security/contentSecurityPolicy/object-src-allows-object-blocked-by-frame-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-src-allows-object-blocked-by-frame-src.html: Added.
- http/tests/security/contentSecurityPolicy/object-src-blocks-embed-allowed-by-child-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-src-blocks-embed-allowed-by-child-src.html: Added.
- http/tests/security/contentSecurityPolicy/object-src-blocks-embed-allowed-by-frame-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-src-blocks-embed-allowed-by-frame-src.html: Added.
- http/tests/security/contentSecurityPolicy/object-src-blocks-object-allowed-by-child-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-src-blocks-object-allowed-by-child-src.html: Added.
- http/tests/security/contentSecurityPolicy/object-src-blocks-object-allowed-by-frame-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-src-blocks-object-allowed-by-frame-src.html: Added.
- 7:35 PM Changeset in webkit [199526] by
-
- 1 edit2 deletes in trunk/LayoutTests
CSP: Remove duplicate test meta-outside-head.html
https://bugs.webkit.org/show_bug.cgi?id=156556
Reviewed by Brent Fulgham.
It is unnecessary to keep the test http/tests/security/contentSecurityPolicy/1.1/meta-outside-head.html as
the functionality it exercises is covered by test http/tests/security/contentSecurityPolicy/meta-tag-ignored-if-not-in-head.html.
The output of the latter test better conveys the purpose of the test and how to interpret its result than
the former.
- http/tests/security/contentSecurityPolicy/1.1/meta-outside-head-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/meta-outside-head.html: Removed.
- 7:29 PM Changeset in webkit [199525] by
-
- 179 edits63 deletes in trunk
CSP: Remove experimental directive reflected-xss
https://bugs.webkit.org/show_bug.cgi?id=156554
Reviewed by Brent Fulgham.
Source/WebCore:
The Content Security Policy directive reflected-xss was removed from the Content Security
Policy Level 2 spec., <https://w3c.github.io/webappsec-csp/2/> (Editor's Draft, 29 August 2015).
This directive was considered experimental and was guarded by a run-time flag that was never
enabled by default. We should remove support for this directive.
- html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::XSSAuditor): Initialize m_xssProtection to XSSProtectionDisposition::Enabled.
(WebCore::XSSAuditor::init): Write logic in terms of enum class XSSProtectionDisposition.
(WebCore::XSSAuditor::filterToken): Ditto.
(WebCore::combineXSSProtectionHeaderAndCSP): Deleted.
- html/parser/XSSAuditor.h: Change data type of m_xssProtection from ContentSecurityPolicy::ReflectedXSSDisposition
to XSSProtectionDisposition.
- html/parser/XSSAuditorDelegate.cpp: Ditto.
(WebCore::buildConsoleError): Remove logic to emit a remarks in the console error when a XSS is
blocked because of the directive reflected-xss. Also substituted "because" for "as" in the remark
added to the error message when the XSS Auditor is enabled because the server did not send HTTP
header X-XSS-Protection.
- html/parser/XSSAuditorDelegate.h:
(WebCore::XSSInfo::XSSInfo): Removed argument didSendCSPHeader as we are removing support for the
directive reflected-xss.
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reflectedXSSDisposition): Deleted.
(WebCore::ContentSecurityPolicy::reportInvalidReflectedXSS): Deleted.
- page/csp/ContentSecurityPolicy.h:
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::ContentSecurityPolicyDirectiveList::ContentSecurityPolicyDirectiveList): Remove initialization
of m_reflectedXSSDisposition as we are removing support for the directive reflected-xss.
(WebCore::ContentSecurityPolicyDirectiveList::parseReflectedXSS): Deleted.
(WebCore::ContentSecurityPolicyDirectiveList::addDirective): Remove logic to parse directive reflected-xss.
- page/csp/ContentSecurityPolicyDirectiveList.h:
(WebCore::ContentSecurityPolicyDirectiveList::reflectedXSSDisposition): Deleted.
- page/csp/ContentSecurityPolicyDirectiveNames.cpp:
- page/csp/ContentSecurityPolicyDirectiveNames.h:
- page/csp/ContentSecurityPolicySourceList.cpp:
(WebCore::isCSPDirectiveName):
(WebCore::isExperimentalDirectiveName): Deleted.
- platform/network/HTTPParsers.cpp:
(WebCore::parseXSSProtectionHeader): Write it terms of enum class XSSProtectionDisposition.
- platform/network/HTTPParsers.h: Define enum class XSSProtectionDisposition. Change return type
of parseXSSProtectionHeader() from ContentSecurityPolicy::ReflectedXSSDisposition to XSSProtectionDisposition
as we are removing the former.
LayoutTests:
Remove tests for directive reflected-xss and update the expected results of existing XSS Auditor tests
to reflect the change made to the wording of the error message emitted when an XSS attack is blocked.
- fast/frames/xss-auditor-handles-file-urls-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-allow-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-allow.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-allow-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-allow.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-filter-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-filter.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-invalid-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-invalid.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-unset-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-unset.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-allow-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-allow.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-filter-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-filter.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-invalid-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-invalid.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-unset-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-unset.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-allow-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-allow.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-filter-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-filter.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-invalid-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-invalid.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-unset-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-unset.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-allow-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-allow.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-filter-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-filter.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-invalid-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-invalid.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-unset-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-unset.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-parsing-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-parsing.html: Removed.
- http/tests/security/contentSecurityPolicy/resources/reflected-xss-and-xss-protection.js: Removed.
- http/tests/security/xssAuditor/anchor-url-dom-write-location-expected.txt:
- http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-expected.txt:
- http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char-expected.txt:
- http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL-expected.txt:
- http/tests/security/xssAuditor/anchor-url-dom-write-location2-expected.txt:
- http/tests/security/xssAuditor/base-href-control-char-expected.txt:
- http/tests/security/xssAuditor/base-href-expected.txt:
- http/tests/security/xssAuditor/base-href-null-char-expected.txt:
- http/tests/security/xssAuditor/base-href-scheme-relative-expected.txt:
- http/tests/security/xssAuditor/cookie-injection-expected.txt:
- http/tests/security/xssAuditor/dom-write-URL-expected.txt:
- http/tests/security/xssAuditor/dom-write-location-expected.txt:
- http/tests/security/xssAuditor/dom-write-location-inline-event-expected.txt:
- http/tests/security/xssAuditor/dom-write-location-javascript-URL-expected.txt:
- http/tests/security/xssAuditor/embed-tag-code-attribute-2-expected.txt:
- http/tests/security/xssAuditor/embed-tag-code-attribute-expected.txt:
- http/tests/security/xssAuditor/embed-tag-control-char-expected.txt:
- http/tests/security/xssAuditor/embed-tag-expected.txt:
- http/tests/security/xssAuditor/embed-tag-in-path-unterminated-expected.txt:
- http/tests/security/xssAuditor/embed-tag-javascript-url-expected.txt:
- http/tests/security/xssAuditor/embed-tag-null-char-expected.txt:
- http/tests/security/xssAuditor/form-action-expected.txt:
- http/tests/security/xssAuditor/formaction-on-button-expected.txt:
- http/tests/security/xssAuditor/formaction-on-input-expected.txt:
- http/tests/security/xssAuditor/frameset-injection-expected.txt:
- http/tests/security/xssAuditor/full-block-iframe-no-inherit-expected.txt:
- http/tests/security/xssAuditor/get-from-iframe-expected.txt:
- http/tests/security/xssAuditor/iframe-injection-expected.txt:
- http/tests/security/xssAuditor/iframe-javascript-url-expected.txt:
- http/tests/security/xssAuditor/iframe-javascript-url-more-encoding-expected.txt:
- http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode-expected.txt:
- http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2-expected.txt:
- http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3-expected.txt:
- http/tests/security/xssAuditor/iframe-javascript-url-url-encoded-expected.txt:
- http/tests/security/xssAuditor/iframe-onload-GBK-char-expected.txt:
- http/tests/security/xssAuditor/iframe-onload-in-svg-tag-expected.txt:
- http/tests/security/xssAuditor/iframe-srcdoc-expected.txt:
- http/tests/security/xssAuditor/iframe-srcdoc-property-blocked-expected.txt:
- http/tests/security/xssAuditor/img-onerror-GBK-char-expected.txt:
- http/tests/security/xssAuditor/img-onerror-accented-char-expected.txt:
- http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding-expected.txt:
- http/tests/security/xssAuditor/img-onerror-non-ASCII-char-expected.txt:
- http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding-expected.txt:
- http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-expected.txt:
- http/tests/security/xssAuditor/img-tag-with-comma-expected.txt:
- http/tests/security/xssAuditor/inline-event-HTML-entities-expected.txt:
- http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char-expected.txt:
- http/tests/security/xssAuditor/javascript-link-HTML-entities-expected.txt:
- http/tests/security/xssAuditor/javascript-link-HTML-entities-named-expected.txt:
- http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char-expected.txt:
- http/tests/security/xssAuditor/javascript-link-ampersand-expected.txt:
- http/tests/security/xssAuditor/javascript-link-control-char-expected.txt:
- http/tests/security/xssAuditor/javascript-link-expected.txt:
- http/tests/security/xssAuditor/javascript-link-null-char-expected.txt:
- http/tests/security/xssAuditor/javascript-link-one-plus-one-expected.txt:
- http/tests/security/xssAuditor/javascript-link-url-encoded-expected.txt:
- http/tests/security/xssAuditor/link-onclick-ampersand-expected.txt:
- http/tests/security/xssAuditor/link-onclick-control-char-expected.txt:
- http/tests/security/xssAuditor/link-onclick-entities-expected.txt:
- http/tests/security/xssAuditor/link-onclick-expected.txt:
- http/tests/security/xssAuditor/link-onclick-null-char-expected.txt:
- http/tests/security/xssAuditor/link-opens-new-window-expected.txt:
- http/tests/security/xssAuditor/malformed-HTML-expected.txt:
- http/tests/security/xssAuditor/malformed-xss-protection-header-1-expected.txt:
- http/tests/security/xssAuditor/malformed-xss-protection-header-2-expected.txt:
- http/tests/security/xssAuditor/malformed-xss-protection-header-3-expected.txt:
- http/tests/security/xssAuditor/malformed-xss-protection-header-4-expected.txt:
- http/tests/security/xssAuditor/malformed-xss-protection-header-5-expected.txt:
- http/tests/security/xssAuditor/malformed-xss-protection-header-6-expected.txt:
- http/tests/security/xssAuditor/malformed-xss-protection-header-7-expected.txt:
- http/tests/security/xssAuditor/malformed-xss-protection-header-8-expected.txt:
- http/tests/security/xssAuditor/malformed-xss-protection-header-9-expected.txt:
- http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url-expected.txt:
- http/tests/security/xssAuditor/object-embed-tag-control-char-expected.txt:
- http/tests/security/xssAuditor/object-embed-tag-expected.txt:
- http/tests/security/xssAuditor/object-embed-tag-null-char-expected.txt:
- http/tests/security/xssAuditor/object-tag-expected.txt:
- http/tests/security/xssAuditor/object-tag-javascript-url-expected.txt:
- http/tests/security/xssAuditor/open-attribute-body-expected.txt:
- http/tests/security/xssAuditor/open-event-handler-iframe-expected.txt:
- http/tests/security/xssAuditor/open-iframe-src-01-expected.txt:
- http/tests/security/xssAuditor/open-iframe-src-02-expected.txt:
- http/tests/security/xssAuditor/open-iframe-src-03-expected.txt:
- http/tests/security/xssAuditor/open-script-src-01-expected.txt:
- http/tests/security/xssAuditor/open-script-src-02-expected.txt:
- http/tests/security/xssAuditor/open-script-src-03-expected.txt:
- http/tests/security/xssAuditor/open-script-src-04-expected.txt:
- http/tests/security/xssAuditor/post-from-iframe-expected.txt:
- http/tests/security/xssAuditor/property-escape-comment-01-expected.txt:
- http/tests/security/xssAuditor/property-escape-comment-02-expected.txt:
- http/tests/security/xssAuditor/property-escape-comment-03-expected.txt:
- http/tests/security/xssAuditor/property-escape-entity-01-expected.txt:
- http/tests/security/xssAuditor/property-escape-entity-02-expected.txt:
- http/tests/security/xssAuditor/property-escape-entity-03-expected.txt:
- http/tests/security/xssAuditor/property-escape-expected.txt:
- http/tests/security/xssAuditor/property-escape-long-expected.txt:
- http/tests/security/xssAuditor/property-escape-quote-01-expected.txt:
- http/tests/security/xssAuditor/property-escape-quote-02-expected.txt:
- http/tests/security/xssAuditor/property-escape-quote-03-expected.txt:
- http/tests/security/xssAuditor/reflection-in-path-expected.txt:
- http/tests/security/xssAuditor/resources/echo-intertag.pl:
- http/tests/security/xssAuditor/script-tag-Big5-char-expected.txt:
- http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode-expected.txt:
- http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-expected.txt:
- http/tests/security/xssAuditor/script-tag-Big5-char2-expected.txt:
- http/tests/security/xssAuditor/script-tag-addslashes-backslash-expected.txt:
- http/tests/security/xssAuditor/script-tag-addslashes-double-quote-expected.txt:
- http/tests/security/xssAuditor/script-tag-addslashes-null-char-expected.txt:
- http/tests/security/xssAuditor/script-tag-addslashes-single-quote-expected.txt:
- http/tests/security/xssAuditor/script-tag-control-char-expected.txt:
- http/tests/security/xssAuditor/script-tag-convoluted-expected.txt:
- http/tests/security/xssAuditor/script-tag-entities-expected.txt:
- http/tests/security/xssAuditor/script-tag-expected.txt:
- http/tests/security/xssAuditor/script-tag-expression-follows-expected.txt:
- http/tests/security/xssAuditor/script-tag-inside-svg-tag-expected.txt:
- http/tests/security/xssAuditor/script-tag-inside-svg-tag2-expected.txt:
- http/tests/security/xssAuditor/script-tag-inside-svg-tag3-expected.txt:
- http/tests/security/xssAuditor/script-tag-near-start-expected.txt:
- http/tests/security/xssAuditor/script-tag-null-char-expected.txt:
- http/tests/security/xssAuditor/script-tag-post-control-char-expected.txt:
- http/tests/security/xssAuditor/script-tag-post-expected.txt:
- http/tests/security/xssAuditor/script-tag-post-null-char-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-16bit-unicode-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-16bit-unicode2-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-16bit-unicode3-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-16bit-unicode4-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-16bit-unicode5-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-actual-comma-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-comma-02-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-fancy-unicode-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-injected-comment-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-control-char-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-data-url-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-data-url2-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-double-quote-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-entities-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-no-quote-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-null-char-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-relative-scheme-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-unterminated-01-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-unterminated-02-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-source-unterminated-03-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-trailing-comment-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-trailing-comment2-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-trailing-comment3-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-trailing-comment4-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-trailing-comment5-expected.txt:
- http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode-expected.txt:
- http/tests/security/xssAuditor/svg-animate-expected.txt:
- http/tests/security/xssAuditor/svg-script-tag-expected.txt:
- http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt:
- http/tests/security/xssAuditor/xss-filter-bypass-long-string-expected.txt:
- http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt:
- 5:54 PM Changeset in webkit [199524] by
-
- 37 edits in trunk/Source
Modern IDB (Blob support): Support retrieving Blobs from IDB.
https://bugs.webkit.org/show_bug.cgi?id=156367
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (No testable change in behavior yet, current tests pass).
This patch does the following:
- Pulls BlobURLs and stored filenames out of IDB whenever an IDB record is fetched.
- Adds those URLs and filenames to IDBValue.
- Uses IDBValue in more places instead of SharedBuffer/ThreadSafeBuffer.
- Teaches SerializedScriptValue, Blob, and File how to read the URLs and filenames when they exist.
- Teaches the Blob registry to register a new type of Blob that is not a "File" but is backed by one.
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBGetResult.h:
(WebCore::IDBGetResult::IDBGetResult):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::setResultToStructuredClone):
- Modules/indexeddb/IDBRequest.h:
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::didGetRecordOnServer):
- Modules/indexeddb/IDBValue.cpp:
(WebCore::IDBValue::IDBValue):
- Modules/indexeddb/IDBValue.h:
- Modules/indexeddb/server/MemoryIndexCursor.cpp:
(WebCore::IDBServer::MemoryIndexCursor::currentData):
- Modules/indexeddb/server/MemoryObjectStoreCursor.cpp:
(WebCore::IDBServer::MemoryObjectStoreCursor::currentData):
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::getBlobRecordsForObjectStoreRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getIndexRecord):
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::currentData):
(WebCore::IDBServer::SQLiteIDBCursor::internalAdvanceOnce):
- Modules/indexeddb/server/SQLiteIDBCursor.h:
(WebCore::IDBServer::SQLiteIDBCursor::currentValue):
(WebCore::IDBServer::SQLiteIDBCursor::currentValueBuffer): Deleted.
- Modules/indexeddb/server/SQLiteIDBTransaction.h:
(WebCore::IDBServer::SQLiteIDBTransaction::backingStore):
- Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::deserializeIDBValueDataToJSValue):
(WebCore::deserializeIDBValueData):
(WebCore::deserializeIDBValue):
- bindings/js/IDBBindingUtilities.h:
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::deserialize):
(WebCore::CloneDeserializer::CloneDeserializer):
(WebCore::CloneDeserializer::readFile):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::CloneDeserializer::blobFilePathForBlobURL):
(WebCore::SerializedScriptValue::deserialize):
- bindings/js/SerializedScriptValue.h:
- fileapi/Blob.cpp:
(WebCore::Blob::Blob):
- fileapi/Blob.h:
(WebCore::Blob::deserialize):
- fileapi/File.cpp:
(WebCore::File::File):
- fileapi/ThreadableBlobRegistry.cpp:
(WebCore::threadableQueue):
(WebCore::ThreadableBlobRegistry::registerBlobURLOptionallyFileBacked):
- fileapi/ThreadableBlobRegistry.h:
- platform/CrossThreadTask.h:
(WebCore::createCrossThreadTask):
- platform/network/BlobRegistry.h:
- platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::registerBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURLOptionallyFileBacked):
- platform/network/BlobRegistryImpl.h:
Source/WebKit2:
- NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::registerBlobURLOptionallyFileBacked):
- NetworkProcess/FileAPI/NetworkBlobRegistry.h:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::registerBlobURLOptionallyFileBacked):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- WebProcess/FileAPI/BlobRegistryProxy.cpp:
(WebKit::BlobRegistryProxy::registerBlobURLOptionallyFileBacked):
- WebProcess/FileAPI/BlobRegistryProxy.h:
- 5:47 PM Changeset in webkit [199523] by
-
- 7 edits in trunk
Some tests fail with ES6
u(Unicode) flag for regular expressions
https://bugs.webkit.org/show_bug.cgi?id=151597
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Added two new tables to handle the anomolies of \w and \W CharacterClassEscapes
when specified in RegExp's with both the unicode and ignoreCase flags. Given the
case folding rules described in the standard vie the meta function Canonicalize(),
which allow cross ASCII case folding when unicode is specified, the unicode characters
\u017f (small sharp s) and \u212a (kelvin symbol) are part of the \w (word) characterClassEscape.
This is true because they case fold to 's' and 'k' respectively. Because they case fold
to lower case letters, the corresponding letters, 'k', 'K', 's' and 'S', are also matched with
\W with the unicode and ignoreCase flags.
- create_regex_tables:
- yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPatternConstructor::atomBuiltInCharacterClass):
(JSC::Yarr::YarrPatternConstructor::atomCharacterClassBuiltIn):
(JSC::Yarr::YarrPattern::YarrPattern):
- yarr/YarrPattern.h:
(JSC::Yarr::YarrPattern::wordcharCharacterClass):
(JSC::Yarr::YarrPattern::wordUnicodeIgnoreCaseCharCharacterClass):
(JSC::Yarr::YarrPattern::nonwordcharCharacterClass):
(JSC::Yarr::YarrPattern::nonwordUnicodeIgnoreCaseCharCharacterClass):
LayoutTests:
Updated tests.
- js/regexp-unicode-expected.txt:
- js/script-tests/regexp-unicode.js:
- 5:42 PM Changeset in webkit [199522] by
-
- 5 edits in branches/safari-601-branch/Source
Versioning.
- 5:14 PM Changeset in webkit [199521] by
-
- 7 edits5 adds in trunk
We should not speculatively revalidate cached redirects
https://bugs.webkit.org/show_bug.cgi?id=156548
<rdar://problem/25583886>
Reviewed by Darin Adler.
Source/WebKit2:
Stop speculatively revalidating cached redirects. This matches matches
the behavior in NetworkCache's makeUseDecision() which reuses cached
redirects only if they do not need revalidation.
This was breaking fonts.css loading on stripe.com because the
SpeculativeLoadManager would wrongly speculatively revalidate the
redirect and then serve a 302 response the NetworkResourceLoader
when the actual request came in. This would cause us to not follow
the redirect.
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
Abort the speculative load if it hits a redirect. This is the safe thing
to do in this case, as we are supposed to do a hand-shake with WebCore
in such case.
(WebKit::NetworkCache::SpeculativeLoad::didReceiveResponse):
Let successful validations fall through instead of calling didComplete()
early. This matches what is not in NetworkResourceLoader. This way,
didFinishLoading() ends up getting called for both successful and
unsuccessful (i.e. did not return a 302 status code) network validation.
(WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
- Stop dealing with redirects as we abort the load as soon as we hit a redirect now.
- Stop asserting that m_cacheEntryForValidation is null now that this is called for successful validations as well.
(WebKit::NetworkCache::SpeculativeLoad::abort):
New method that aborts the network loads, calls the completion handler
and clean up. It is called in the case we hit a redirect while
revalidating.
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
Drop m_redirectChainCacheStatus member as we no longer deal with
redirects.
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage):
If the resource needs revalidation AND is a cached redirect, then do not
use it. This matches what is done in NetworkCache's makeUseDecision().
Tools:
Re-enable speculative loading in the context of layout tests. This was
turned off by mistake when speculative loading was turned into a
setting recently.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):
LayoutTests:
Add layout test to make sure that speculative loading does not break
redirects. This replicates the issue seen with fonts.css on stripe.com.
- http/tests/cache/disk-cache/speculative-validation/cacheable-redirect-expected.txt: Added.
- http/tests/cache/disk-cache/speculative-validation/cacheable-redirect.html: Added.
- http/tests/cache/disk-cache/speculative-validation/resources/cacheable-redirect-frame.php: Added.
- http/tests/cache/disk-cache/speculative-validation/resources/css-to-revalidate.php: Added.
- http/tests/cache/disk-cache/speculative-validation/resources/redirect-to-css.php: Added.
- 5:13 PM Changeset in webkit [199520] by
-
- 1 copy in tags/Safari-601.6.16
New tag.
- 5:13 PM Changeset in webkit [199519] by
-
- 1 copy in tags/Safari-601.6.15
New tag.
- 3:58 PM Changeset in webkit [199518] by
-
- 2 edits in trunk
FindWebP should not be misguided by pkg-config when cross-compiling.
https://bugs.webkit.org/show_bug.cgi?id=156544
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-04-13
Reviewed by Michael Catanzaro.
We should use pkg-config output only as a hint, like other modules do.
- Source/cmake/FindWebP.cmake:
- 3:45 PM Changeset in webkit [199517] by
-
- 2 edits in trunk/Source/WebKit2
Modern IDB: NetworkProcessConnection::didClose needs to have a self ref.
<rdar://problem/25700864> and https://bugs.webkit.org/show_bug.cgi?id=156559
Reviewed by Alex Christensen.
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didClose): Self ref to protect this.
- 3:11 PM Changeset in webkit [199516] by
-
- 3 edits2 adds in trunk
Text on compositing layer with negative letter-spacing is truncated.
https://bugs.webkit.org/show_bug.cgi?id=156550
<rdar://problem/24212140>
Reviewed by Antti Koivisto.
Negative letter-spacing affects the right edge of content's visual overflow (for both RTL and LTR).
This is similar to how normal line layout adjusts it at InlineFlowBox::addTextBoxVisualOverflow().
Source/WebCore:
Test: fast/text/negative-letter-spacing-visual-overflow.html
- rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::computeOverflow):
(WebCore::SimpleLineLayout::paintFlow):
(WebCore::SimpleLineLayout::collectFlowOverflow):
LayoutTests:
- fast/text/negative-letter-spacing-visual-overflow-expected.html: Added.
- fast/text/negative-letter-spacing-visual-overflow.html: Added.
- 3:09 PM Changeset in webkit [199515] by
-
- 3 edits2 adds in trunk
[iOS] remote command should be considered user events
https://bugs.webkit.org/show_bug.cgi?id=156546
<rdar://problem/25560877>
Reviewed by Jer Noble.
Source/WebCore:
Test: media/remote-control-command-is-user-gesture.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::didReceiveRemoteControlCommand): Increment/decrement
m_processingRemoteControlCommand around calling remote command method.
(WebCore::HTMLMediaElement::processingUserGesture): Return true if called while handling
a remote control command.
- html/HTMLMediaElement.h:
LayoutTests:
- media/remote-control-command-is-user-gesture-expected.txt: Added.
- media/remote-control-command-is-user-gesture.html: Added.
- 3:02 PM Changeset in webkit [199514] by
-
- 40 edits74 deletes in trunk
Unreviewed, rolling out r199502 and r199511.
https://bugs.webkit.org/show_bug.cgi?id=156557
Appears to have in-browser perf regression (Requested by mlam
on #webkit).
Reverted changesets:
"ES6: Implement String.prototype.split and
RegExp.prototype[@@split]."
https://bugs.webkit.org/show_bug.cgi?id=156013
http://trac.webkit.org/changeset/199502
"ES6: Implement RegExp.prototype[@@search]."
https://bugs.webkit.org/show_bug.cgi?id=156331
http://trac.webkit.org/changeset/199511
- 1:49 PM Changeset in webkit [199513] by
-
- 2 edits in trunk/Source/JavaScriptCore
isJSArray should use ArrayType rather than the ClassInfo
https://bugs.webkit.org/show_bug.cgi?id=156551
Reviewed by Filip Pizlo.
Using the JSType rather than the ClassInfo should be slightly faster
since the type is inline on the cell whereas the ClassInfo is only
on the structure.
- runtime/JSArray.h:
(JSC::isJSArray):
- 1:40 PM Changeset in webkit [199512] by
-
- 7 edits4 adds in trunk
Non-resizable text field looks resizable
https://bugs.webkit.org/show_bug.cgi?id=152271
Reviewed by Darin Adler.
Source/WebCore:
The 'resizability' of an HTML element is controlled by its 'resize' CSS property value.
By default it is 'none', but certain HTML elements, including <textarea>, have it
set to 'both' by default (defined in html.css). These values mean no resize at all, and
resizable in both vertical and horizontal axis, respectively.
Additionally, 'vertical' and 'horizontal' values are also valid.
Problem here is that the way WebKit handles the 'resize' property on single line
input elements (e.g. <input>) is different than other engines (read Gecko, Blink and Presto):
- Match: WebKit, Firefox, Presto and Blink all force single line input elements to be non-resizable,
regardless of either the 'resize' properly is set or not.
- Mismatch: WebKit is the only engine that actually paints the resize control on single line
input elements, even it having no effect.
On WebKit, this happens because the 'resize' property is wrongly implemented as 'inheritable',
differently from other engines. In the way WebKit contructs its RenderTree, 'resize' property
ends up spilling out of <input> and entering its shadow representation, carrying the 'resize'
property on.
Patch fixes this by making the 'resize' properly be non-inherited, matching other vendors
and the spec [1].
[1] https://drafts.csswg.org/css-ui/#resize
Tests: fast/css/resize-not-inherited.html
fast/css/resize-single-line-input-no-paint.html
- rendering/style/RenderStyle.h:
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
- rendering/style/StyleRareInheritedData.h:
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
- rendering/style/StyleRareNonInheritedData.h:
LayoutTests:
- fast/css/resize-not-inherited-expected.html: Added.
- fast/css/resize-not-inherited.html: Added.
- fast/css/resize-single-line-input-no-paint-expected.html: Added.
- fast/css/resize-single-line-input-no-paint.html: Added.
- 1:00 PM Changeset in webkit [199511] by
-
- 27 edits18 adds in trunk
ES6: Implement RegExp.prototype[@@search].
https://bugs.webkit.org/show_bug.cgi?id=156331
Reviewed by Keith Miller.
Source/JavaScriptCore:
What changed?
- Implemented search builtin in RegExpPrototype.js. The native path is now used as a fast path.
- Added DFG support for an IsRegExpObjectIntrinsic (modelled after the IsJSArrayIntrinsic).
- Renamed @isRegExp to @isRegExpObject to match the new IsRegExpObjectIntrinsic.
- Change the esSpecIsRegExpObject() implementation to check if the object's JSType is RegExpObjectType instead of walking the classinfo chain.
- builtins/RegExpPrototype.js:
(search):
- builtins/StringPrototype.js:
(search):
- fixed some indentation.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIsArrayConstructor):
(JSC::DFG::SpeculativeJIT::compileIsRegExpObject):
(JSC::DFG::SpeculativeJIT::compileCallObjectConstructor):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileIsFunction):
(JSC::FTL::DFG::LowerDFGToB3::compileIsRegExpObject):
(JSC::FTL::DFG::LowerDFGToB3::compileTypeOf):
(JSC::FTL::DFG::LowerDFGToB3::isExoticForTypeof):
(JSC::FTL::DFG::LowerDFGToB3::isRegExpObject):
(JSC::FTL::DFG::LowerDFGToB3::isType):
- runtime/Intrinsic.h:
- Added IsRegExpObjectIntrinsic.
- runtime/CommonIdentifiers.h:
- runtime/ECMAScriptSpecInternalFunctions.cpp:
(JSC::esSpecIsConstructor):
- Changed to use uncheckedArgument since this is only called from internal code.
(JSC::esSpecIsRegExpObject):
(JSC::esSpecIsRegExp): Deleted.
- runtime/ECMAScriptSpecInternalFunctions.h:
- Changed to check the object for a JSType of RegExpObjectType.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- Added split fast path.
- runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
(JSC::regExpProtoFuncSearchFast):
(JSC::regExpProtoFuncSearch): Deleted.
- runtime/RegExpPrototype.h:
- tests/es6.yaml:
- tests/stress/regexp-search.js:
- Rebased test.
LayoutTests:
- js/regress/regexp-prototype-search-observable-side-effects-expected.txt: Added.
- js/regress/regexp-prototype-search-observable-side-effects.html: Added.
- js/regress/regexp-prototype-search-observable-side-effects2-expected.txt: Added.
- js/regress/regexp-prototype-search-observable-side-effects2.html: Added.
- js/regress/script-tests/regexp-prototype-search-observable-side-effects.js: Added.
- js/regress/script-tests/regexp-prototype-search-observable-side-effects2.js: Added.
- js/regress/script-tests/string-prototype-search-observable-side-effects.js: Added.
- js/regress/script-tests/string-prototype-search-observable-side-effects2.js: Added.
- js/regress/script-tests/string-prototype-search-observable-side-effects3.js: Added.
- js/regress/script-tests/string-prototype-search-observable-side-effects4.js: Added.
- js/regress/string-prototype-search-observable-side-effects-expected.txt: Added.
- js/regress/string-prototype-search-observable-side-effects.html: Added.
- js/regress/string-prototype-search-observable-side-effects2-expected.txt: Added.
- js/regress/string-prototype-search-observable-side-effects2.html: Added.
- js/regress/string-prototype-search-observable-side-effects3-expected.txt: Added.
- js/regress/string-prototype-search-observable-side-effects3.html: Added.
- js/regress/string-prototype-search-observable-side-effects4-expected.txt: Added.
- js/regress/string-prototype-search-observable-side-effects4.html: Added.
- 12:35 PM Changeset in webkit [199510] by
-
- 2 edits in trunk/LayoutTests
Mark fast/canvas/webgl/gl-teximage.html as flaky on Macs
https://bugs.webkit.org/show_bug.cgi?id=58766
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 12:07 PM Changeset in webkit [199509] by
-
- 2 edits in tags/Safari-602.1.28/Source/WebKit2
Merged r199504. rdar://problem/25697779
- 12:04 PM Changeset in webkit [199508] by
-
- 2 edits in trunk/Source/JavaScriptCore
PolymorphicAccess::regenerate() shouldn't have to clone non-generated AccessCases
https://bugs.webkit.org/show_bug.cgi?id=156493
Reviewed by Geoffrey Garen.
Cloning AccessCases is only necessary if they hold some artifacts that are used by code that
they already generated. So, if the state is not Generated, we don't have to bother with
cloning them.
This should speed up PolymorphicAccess regeneration a bit more.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::commit):
(JSC::PolymorphicAccess::regenerate):
- 11:52 AM Changeset in webkit [199507] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/streams/readable-streams/general.https.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=155760
Unreviewed test gardening.
- 11:17 AM Changeset in webkit [199506] by
-
- 2 edits in trunk/LayoutTests
Mark media/track/track-in-band-duplicate-tracks-when-source-changes.html as flaky on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=124222
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 10:51 AM Changeset in webkit [199505] by
-
- 5 edits in trunk/Source
Versioning.
- 10:51 AM Changeset in webkit [199504] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r199401): Internal builds of Safari hang on launch
https://bugs.webkit.org/show_bug.cgi?id=156545
<rdar://problem/25697779>
Reviewed by Anders Carlsson.
For some reason SecCodeCopyGuestWithAttributes() is failing with an error in Apple Internal
Safari builds. For now, temporarily allow the failure while I investigate the cause in
<rdar://problem/25706517>.
- Shared/mac/CodeSigning.mm:
(WebKit::secCodeForProcess): Log the failure with OSStatus code and return nullptr;
(WebKit::codeSigningIdentifierForProcess): Return a null string if secCodeForProcess() returns a nullptr.
This will cause us to treat affected Apple Internal Safari builds the same as we would treat
an unsigned or third-party signed app.
- 10:50 AM Changeset in webkit [199503] by
-
- 1 copy in tags/Safari-602.1.28
New tag.
- 10:44 AM Changeset in webkit [199502] by
-
- 24 edits56 copies in trunk
ES6: Implement String.prototype.split and RegExp.prototype[@@split].
https://bugs.webkit.org/show_bug.cgi?id=156013
Reviewed by Keith Miller.
Re-landing r199393 now that the shadow chicken crash has been fixed.
Source/JavaScriptCore:
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/GlobalObject.js:
(speciesConstructor):
- builtins/PromisePrototype.js:
- refactored to use the @speciesConstructor internal function.
- builtins/RegExpPrototype.js:
(advanceStringIndex):
- refactored from @advanceStringIndexUnicode() to be match the spec. Benchmarks show that there's no advantage in doing the unicode check outside of the advanceStringIndexUnicode part. So, I simplified the code to match the spec (especially since @@split needs to call advanceStringIndex from more than 1 location).
(match):
- Removed an unnecessary call to @Object because it was already proven above.
- Changed to use advanceStringIndex instead of advanceStringIndexUnicode. Again, there's no perf regression for this.
(regExpExec):
(hasObservableSideEffectsForRegExpSplit):
(split):
(advanceStringIndexUnicode): Deleted.
- builtins/StringPrototype.js:
(split):
- Modified to use RegExp.prototype[@@split].
- bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
(JSC::BytecodeIntrinsicRegistry::lookup):
- bytecode/BytecodeIntrinsicRegistry.h:
- Added the @@split symbol.
- runtime/CommonIdentifiers.h:
- runtime/ECMAScriptSpecInternalFunctions.cpp: Added.
(JSC::esSpecIsConstructor):
(JSC::esSpecIsRegExp):
- runtime/ECMAScriptSpecInternalFunctions.h: Added.
- runtime/JSGlobalObject.cpp:
(JSC::getGetterById):
(JSC::JSGlobalObject::init):
- runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::setDescriptor):
- Removed an assert that is no longer valid.
- runtime/RegExpObject.h:
- Made advanceStringUnicode() public so that it can be re-used by the regexp split fast path.
- runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncSearch):
(JSC::advanceStringIndex):
(JSC::regExpProtoFuncSplitFast):
- runtime/RegExpPrototype.h:
- runtime/StringObject.h:
(JSC::jsStringWithReuse):
(JSC::jsSubstring):
- Hoisted some utility functions from StringPrototype.cpp so that they can be reused by the regexp split fast path.
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::stringProtoFuncSplitFast):
(JSC::stringProtoFuncSubstr):
(JSC::builtinStringSubstrInternal):
(JSC::stringProtoFuncSubstring):
(JSC::stringIncludesImpl):
(JSC::stringProtoFuncIncludes):
(JSC::builtinStringIncludesInternal):
(JSC::jsStringWithReuse): Deleted.
(JSC::jsSubstring): Deleted.
(JSC::stringProtoFuncSplit): Deleted.
- runtime/StringPrototype.h:
- tests/es6.yaml:
LayoutTests:
- js/Object-getOwnPropertyNames-expected.txt:
- js/dom/string-prototype-properties-expected.txt:
- js/regress/regexp-prototype-split-observable-side-effects-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects2-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects2.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-flags-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-flags.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-global-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-global.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-multiline-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-multiline.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-sticky-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-sticky.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-unicode-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-unicode.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects4-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects4.html: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects2.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-flags.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-global.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-ignoreCase.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-multiline.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-sticky.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-unicode.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects4.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects2.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-flags.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-global.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-ignoreCase.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-multiline.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-sticky.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-unicode.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects4.js: Added.
- js/regress/string-prototype-split-observable-side-effects-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects.html: Added.
- js/regress/string-prototype-split-observable-side-effects2-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects2.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-flags-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-flags.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-global-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-global.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-ignoreCase.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-multiline-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-multiline.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-sticky-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-sticky.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-unicode-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-unicode.html: Added.
- js/regress/string-prototype-split-observable-side-effects4-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects4.html: Added.
- js/script-tests/Object-getOwnPropertyNames.js:
- sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:
- 10:37 AM Changeset in webkit [199501] by
-
- 5 edits in trunk/Source/WebKit2
Fix client certificate authentication with NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=156527
<rdar://problem/25489156>
Patch by Alex Christensen <achristensen@webkit.org> on 2016-04-13
Reviewed by Darin Adler.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
We only want to use serverTrustCredential for ServerTrustEvaluation authentication challenges, not
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge):
(WebKit::AuthenticationManager::useCredentialForSingleChallenge):
- Shared/Authentication/AuthenticationManager.h:
- Shared/Authentication/mac/AuthenticationManager.mac.mm:
(WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge):
Don't use challenge.sender with NSURLSession, which requires callbacks instead.
- 10:13 AM Changeset in webkit [199500] by
-
- 2 edits in trunk/Source/WebCore
Remove UsePointersEvenForNonNullableObjectArguments from DataTransfer
https://bugs.webkit.org/show_bug.cgi?id=156495
Reviewed by Chris Dumez.
- dom/DataTransfer.idl: Removed UsePointersEvenForNonNullableObjectArguments
and marked the element argument to setDragImage as nullable.
- 9:35 AM WebKitGTK/StableRelease edited by
- (diff)
- 9:28 AM Changeset in webkit [199499] by
-
- 5 edits in trunk/Source/WebCore
Modern IDB (Blob support): Support deleting stored blob files.
https://bugs.webkit.org/show_bug.cgi?id=156523
Reviewed by Alex Christensen.
No new tests (No testable change in behavior yet, current tests pass).
There's 3 points in time when we need to delete blob files (and records of them):
1 - When deleting a specific object store record.
2 - When deleting an entire object store.
3 - When deleting a whole database.
This patch does those three things.
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteUnusedBlobFileRecords):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/server/SQLiteIDBTransaction.cpp:
(WebCore::IDBServer::SQLiteIDBTransaction::commit):
(WebCore::IDBServer::SQLiteIDBTransaction::deleteBlobFilesIfNecessary):
(WebCore::IDBServer::SQLiteIDBTransaction::addRemovedBlobFile):
- Modules/indexeddb/server/SQLiteIDBTransaction.h:
- 9:25 AM Changeset in webkit [199498] by
-
- 2 edits in trunk/Websites/perf.webkit.org
REGRESSION(r199444): Perf dashboard always fetches all measurement sets
https://bugs.webkit.org/show_bug.cgi?id=156534
Reviewed by Darin Adler.
The bug was cased by SummaryPage's constructor fetching all measurement sets. Since each page is always
constructed in main(), this resulted in all measurement sets being fetched on all pages.
- public/v3/pages/summary-page.js:
(SummaryPage):
(SummaryPage.prototype.open): Fetch measurement set JSONs here.
(SummaryPage.prototype._createConfigurationGroup): Renamed from _createConfigurationGroupAndStartFetchingData.
- 9:16 AM Changeset in webkit [199497] by
-
- 2 edits in trunk/Source/WebCore
Fix two coding mistakes in MathMLInlineContainerElement::childrenChanged
https://bugs.webkit.org/show_bug.cgi?id=156538
Patch by Frederic Wang <fwang@igalia.com> on 2016-04-13
Reviewed by Darin Adler.
We fix the call to updateOperatorProperties inside MathMLInlineContainerElement::childrenChanged
for the <math> and <msqrt> tags.
The <math> tag is already a RenderMathMLRow so the hasTagName(mathTag)
conditional is never executed. The tag does not create any anonymous
wrapper so we do not need a special case for it anyway.
The <msqrt> tag is not a RenderMathMLRow (yet). However, the anonymous
wrapper behaving as a RenderMathMLRow is actually the last child, not
the first one.
No new tests, this is already covered by mathml/presentation/mo-form-dynamic.html
Note that for some reason the coding error for <msqrt> only shows up
after the refactoring of bug 152244.
- mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::childrenChanged): Fix the two mistakes and add some FIXME comments.
- 9:10 AM Changeset in webkit [199496] by
-
- 2 edits in trunk/Source/JavaScriptCore
ShadowChicken::visitChildren() should not visit tailMarkers and throwMarkers.
https://bugs.webkit.org/show_bug.cgi?id=156532
Reviewed by Saam Barati and Filip Pizlo.
ShadowChicken can store tailMarkers and throwMarkers in its log, specifically in
the callee field of a log packet. However, ShadowChicken::visitChildren()
unconditionally visits the callee field of each packet as if they are real
objects. If visitChildren() encounters one of these markers in the log, we get a
crash.
This crash was observed in the v8-v6/v8-regexp.js stress test running with shadow
chicken when r199393 landed. r199393 introduced tail calls to a RegExp split
fast path, and the v8-regexp.js test exercised this fast path a lot. Throw in
some timely GCs, and we get a crash party.
The fix is to have ShadowChicken::visitChildren() filter out the tailMarker and
throwMarker.
Alternatively, if perf is an issue, we can allocate 2 dedicated objects for
these markers so that ShadowChicken can continue to visit them. For now, I'm
going with the filter.
- interpreter/ShadowChicken.cpp:
(JSC::ShadowChicken::visitChildren):
- 8:54 AM WebKitGTK/2.12.x edited by
- (diff)
- 8:53 AM Changeset in webkit [199495] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/JavaScriptCore
Merge r199458 - Fix build in glibc-based BSD systems
https://bugs.webkit.org/show_bug.cgi?id=156533
Reviewed by Carlos Garcia Campos.
Change the order of the #elif conditionals so glibc-based BSD
systems (e.g. Debian GNU/kFreeBSD) use the code inside the
OS(FREEBSD) blocks.
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::Thread::Registers::stackPointer):
(JSC::MachineThreads::Thread::Registers::framePointer):
(JSC::MachineThreads::Thread::Registers::instructionPointer):
(JSC::MachineThreads::Thread::Registers::llintPC):
- 8:53 AM Changeset in webkit [199494] by
-
- 4 edits3 adds in releases/WebKitGTK/webkit-2.12
Merge r199229 - AX: [ATK] Crash getting text under element in CSS table
https://bugs.webkit.org/show_bug.cgi?id=156328
Reviewed by Chris Fleizach.
Source/WebCore:
AccessibilityRenderObject::textUnderElement() assumes (and asserts) that
the first and last child of an anonymous block will each have nodes with
which to define positions. This is not the case for CSS Tables and their
anonymous descendants. AccessibilityNodeObject:textUnderElement() is our
fallback for the instances where a text range cannot be created based on
positions, so let it handle anonymous RenderTable parts.
Test: accessibility/generated-content-with-display-table-crash.html
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement):
(WebCore::AccessibilityRenderObject::shouldGetTextFromNode):
- accessibility/AccessibilityRenderObject.h:
LayoutTests:
While this crash is currently seen only for ATK, there is nothing to
prevent another port from attempting to get all the text under a CSS
RenderTable. Hence the shared test.
- accessibility/generated-content-with-display-table-crash.html: Added.
- platform/gtk/accessibility/generated-content-with-display-table-crash-expected.txt: Added.
- platform/mac/accessibility/generated-content-with-display-table-crash-expected.txt: Added.
- 8:51 AM Changeset in webkit [199493] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/JavaScriptCore
Merge r198945 - [JSC] Missing PATH_MAX definition
https://bugs.webkit.org/show_bug.cgi?id=156102
Reviewed by Yusuke Suzuki.
Not all systems define PATH_MAX, so add a fallback value that is
long enough.
- jsc.cpp:
- 8:42 AM Changeset in webkit [199492] by
-
- 1 edit in trunk/Websites/webkit.org/ChangeLog
Remove database quote escapes from pushed tweets.
Reviewed by Timothy Hatcher.
- wp-content/plugins/tweet-listener.php:
- 8:42 AM Changeset in webkit [199491] by
-
- 2 edits in trunk/Websites/webkit.org
Remove database quote escapes.
Reviewed by Timothy Hatcher.
- wp-content/plugins/tweet-listener.php:
- 8:28 AM Changeset in webkit [199490] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WTF
Merge r199366 - S390X and PPC64 architectures detection is wrong
https://bugs.webkit.org/show_bug.cgi?id=156337
Patch by Tomas Popela <tpopela@redhat.com> on 2016-04-12
Reviewed by Carlos Garcia Campos.
After the http://trac.webkit.org/changeset/198919 was committed
it showed that the PPC64 detection is wrong as the CPU(PPC) path was
activated even for PPC64. The thing is that GCC defines ppc
even on PPC64 and not just on PPC(32). The same applies for S390X.
- wtf/Platform.h:
- 8:28 AM WebKitGTK/2.12.x edited by
- (diff)
- 8:18 AM Changeset in webkit [199489] by
-
- 5 edits11 adds in releases/WebKitGTK/webkit-2.12
Merge r199087 - MessageEvent.source window is incorrect once window has been reified
https://bugs.webkit.org/show_bug.cgi?id=156227
<rdar://problem/25545831>
Reviewed by Mark Lam.
Source/WebCore:
MessageEvent.source window was incorrect once window had been reified.
If the Window had not been reified, we kept constructing new
postMessage() functions when calling window.postMessage(). We used to
pass activeDOMWindow(execState) as source Window to
DOMWindow::postMessage(). activeDOMWindow() uses
exec->lexicalGlobalObject() which did the right thing because we
used to construct a new postMessage() function in the caller's context.
However, after reification, due to the way JSDOMWindow::getOwnPropertySlot()
was implemented, we would stop constructing new postMessage() functions
when calling window.postMessage(). As a result, the source window would
become incorrect because exec->lexicalGlobalObject() would return the
target Window instead.
In this patch, the following is done:
- Stop constructing a new function every time in the same origin case
for postMessage, blur, focus and close. This was inefficient and lead
to incorrect behavior:
- The behavior would differ depending if the Window is reified or not
- It would be impossible to delete those operations, which is incompatible with the specification and other browsers (tested Firefox and Chrome).
- Use callerDOMWindow(execState) instead of activeDOMWindow(execState) as source Window in JSDOMWindow::handlePostMessage(). callerDOMWindow() is a new utility function that returns the caller's Window object.
Tests: fast/dom/Window/delete-operations.html
fast/dom/Window/messageevent-source-postmessage-reified.html
fast/dom/Window/messageevent-source-postmessage.html
fast/dom/Window/messageevent-source-postmessage2.html
fast/dom/Window/window-postmessage-clone-frames.html
fast/dom/Window/post-message-crash2.html
- bindings/js/JSDOMBinding.cpp:
(WebCore::GetCallerCodeBlockFunctor::operator()):
(WebCore::GetCallerCodeBlockFunctor::codeBlock):
(WebCore::callerDOMWindow):
- bindings/js/JSDOMBinding.h:
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::handlePostMessage):
LayoutTests:
Add tests that cover using MessageEvent.source Window for messaging
using postMessage(). There are 2 versions of the test, one where the
main window is reified and one where it is not. The test that has a
reified main window was failing because this fix.
- fast/dom/Window/delete-operations-expected.txt: Added.
- fast/dom/Window/delete-operations.html: Added.
Make sure that operations on Window are indeed deletable. Previously,
it would be impossible to delete postMessage, blur, focus and close.
- fast/dom/Window/messageevent-source-postmessage-expected.txt: Added.
- fast/dom/Window/messageevent-source-postmessage-reified-expected.txt: Added.
- fast/dom/Window/messageevent-source-postmessage-reified.html: Added.
- fast/dom/Window/messageevent-source-postmessage.html: Added.
- fast/dom/Window/messageevent-source-postmessage2.html: Added.
- fast/dom/Window/resources/messageevent-source-postmessage-frame.html: Added.
- fast/dom/Window/post-message-crash2-expected.txt: Added.
- fast/dom/Window/post-message-crash2.html: Added.
- 8:06 AM Changeset in webkit [199488] by
-
- 2 edits in trunk/Websites/webkit.org
Added background color for Safari Technology Preview posts.
Reviewed by Timothy Hatcher.
- wp-content/themes/webkit/style.css:
(.tile.category-safari-technology-preview .background-image):
- 8:04 AM Changeset in webkit [199487] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore/platform/gtk/po
Merge r199063 - Updated Brazilian Portuguese translation
https://bugs.webkit.org/show_bug.cgi?id=156236
Patch by Rafael Fontenelle <rafaelff@gnome.org> on 2016-04-05
Rubber-stamped by Michael Catanzaro.
- pt_BR.po:
- 8:03 AM Changeset in webkit [199486] by
-
- 4 edits3 adds in releases/WebKitGTK/webkit-2.12
Merge r199061 - We sometimes fail to remove outdated entry from the disk cache after revalidation and when the resource is no longer cacheable
https://bugs.webkit.org/show_bug.cgi?id=156048
<rdar://problem/25514480>
Reviewed by Antti Koivisto.
Source/WebKit2:
We would sometimes fail to remove outdated entry from the disk cache
after revalidation and when the resource is no longer cacheable. This
was due to Storage::removeFromPendingWriteOperations() only removing
the first pending write operation with a given key instead of actually
removing all of the operations with this key.
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::removeFromPendingWriteOperations):
- NetworkProcess/cache/NetworkCacheStorage.h:
LayoutTests:
Add test coverage for the bug.
- http/tests/cache/disk-cache/disk-cache-remove-several-pending-writes-expected.txt: Added.
- http/tests/cache/disk-cache/disk-cache-remove-several-pending-writes.html: Added.
- http/tests/cache/disk-cache/resources/json.php: Added.
- 7:59 AM Changeset in webkit [199485] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199045 - [TexMap] Improve viewport array access in TextureMapperGL::bindDefaultSurface()
https://bugs.webkit.org/show_bug.cgi?id=156159
Reviewed by Antonio Gomes.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::bindDefaultSurface): Create a reference to the
viewport array in the TextureMapperGLData object. Inline the IntSize constructor
for the object that's passed to createProjectionMatrix(), and use the reference
to access all four elements of the array as necessary.
- 7:59 AM Changeset in webkit [199484] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199044 - [TexMap] resolveOverlaps() should be passed-in the first Region parameter via a reference
https://bugs.webkit.org/show_bug.cgi?id=156158
Reviewed by Antonio Gomes.
- platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::resolveOverlaps): Don't copy the Region object that's passed through
the first parameter by accepting a reference to the object instead. This does
modify the passed-in object, but these modifications don't have any effect on
any state via the call sites in TextureMapperLayer::computeOverlapRegions().
- 7:57 AM WebKitGTKStableReleases edited by
- (diff)
- 7:56 AM Changeset in webkit [199483] by
-
- 33 edits in releases/WebKitGTK/webkit-2.12
Merge r199034 - CSS Triangles Rendering Regression affecting CSS Ribbons.
https://bugs.webkit.org/show_bug.cgi?id=156121
Reviewed by Simon Fraser.
Source/WebCore:
We use floored border width values for painting (see BorderEdge).
However border-box sizing is based on rounded border values. This mismatch could result in a 2 device pixel
gap when both top and bottom (or left and right) borders are present.
This patch applies flooring on the computed border width value.
It matches FireFox (44.0.2) behaviour (both by inspecting box-sizing visually and through getComputedStyle() values on border-width).
Covered by existing tests.
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertLineWidth):
LayoutTests:
Rebeaseline to match current behaviour.
- fast/inline/hidpi-inline-text-decoration-with-subpixel-value-expected.html:
- platform/mac/css1/units/length_units-expected.txt:
- platform/mac/fast/css/bidi-override-in-anonymous-block-expected.txt:
- platform/mac/fast/multicol/span/anonymous-style-inheritance-expected.txt:
- platform/mac/fast/repaint/repaint-during-scroll-with-zoom-expected.txt:
- platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001-expected.txt:
- platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-style-001-expected.txt:
- platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-style-002-expected.txt:
- platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-style-004-expected.txt:
- platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001-expected.txt:
- platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001-expected.txt:
- platform/mac/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003-expected.txt:
- platform/mac/media/video-zoom-expected.txt:
- platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
- platform/mac/svg/zoom/page/zoom-background-image-tiled-expected.txt:
- platform/mac/svg/zoom/page/zoom-background-images-expected.txt:
- platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
- platform/mac/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
- platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt:
- platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt:
- platform/mac/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
- 7:56 AM WebKitGTK/StableRelease edited by
- (diff)
- 7:52 AM Changeset in webkit [199482] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebKit2
Merge r199027 - Tapping on tabs in webpages caused WK crash at WebKit: WebKit::WebFrame::didReceivePolicyDecision
https://bugs.webkit.org/show_bug.cgi?id=156119
<rdar://problem/20732167>
Reviewed by Andy Estes.
Protect the m_frame so that it is present for completion handlers.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- 7:52 AM WebKitGTK/StartHacking edited by
- (diff)
- 7:51 AM Changeset in webkit [199481] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/JavaScriptCore
Merge r199025 - [JSC][x86] Fix an assertion in MacroAssembler::branch8()
https://bugs.webkit.org/show_bug.cgi?id=156181
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-04
Reviewed by Geoffrey Garen.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::branch8):
The test was wrong because valid negative numbers have ones
in the top bits.
I replaced the assertion to be explicit about the valid range.
- 7:42 AM WebKitGTK/Releasing edited by
- (diff)
- 7:41 AM WebKitGTK edited by
- Pointing to the StableReleases page always (diff)
- 6:52 AM Changeset in webkit [199480] by
-
- 7 edits5 deletes in releases/WebKitGTK/webkit-2.12/Source/WebKit2
Merge r199002 - Fix WEB_PROCESS_CMD_PREFIX and NETWORK_PROCESS_CMD_PREFIX after r196500
https://bugs.webkit.org/show_bug.cgi?id=156060
Patch by Emanuele Aina <Emanuele Aina> on 2016-04-04
Reviewed by Darin Adler.
Commit r196500 was a bit too eager in removing the
platformGetLaunchOptions() callsites as non-mac platform still use
that in debug builds to attach debugging tools to spawned
subprocesses (eg. gdbserver).
Instead of reinstating them and relying on each subprocess type to
implement its own platformGetLaunchOptions() version (all alike),
avoid duplication and check the *_PROCESS_CMD_PREFIX environment
variables in a single place, ChildProcessProxy::getLaunchOptions().
Doing so also improves consistency in *_PROCESS_CMD_PREFIX support:
only WEB_PROCESS_CMD_PREFIX and NETWORK_PROCESS_CMD_PREFIX worked with
both the GTK and EFL ports while PLUGIN_PROCESS_CMD_PREFIX only
worked for EFL and there was no corresponding
DATABASE_PROCESS_CMD_PREFIX implementation.
- UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::getLaunchOptions): Check the
appropriate *_PROCESS_CMD_PREFIX environment variable.
- UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::platformGetLaunchOptions): Drop
check for PLUGIN_PROCESS_COMMAND_PREFIX, now handled by
ChildProcessProxy::getLaunchOptions().
- UIProcess/Databases/DatabaseProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebProcessProxy.h: Drop platformGetLaunchOptions()
prototypes.
- UIProcess/Network/soup/NetworkProcessProxySoup.cpp:
- UIProcess/Databases/efl/DatabaseProcessProxyEfl.cpp:
- UIProcess/Databases/gtk/DatabaseProcessProxyGtk.cpp:
- UIProcess/efl/WebProcessProxyEfl.cpp:
- UIProcess/gtk/WebProcessProxyGtk.cpp: Removed, they only contained
platformGetLaunchOptions() implementations.
- PlatformEfl.cmake:
- PlatformGTK.cmake: Drop removed files.
- 6:47 AM Changeset in webkit [199479] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199001 - [TexMap] Trim redundant guards
https://bugs.webkit.org/show_bug.cgi?id=155927
Patch by Emanuele Aina <Emanuele Aina> on 2016-04-04
Reviewed by Žan Doberšek.
- platform/graphics/GraphicsContext3DPrivate.cpp: Drop some redundant
checks in preprocessor guards.
- 6:46 AM Changeset in webkit [199478] by
-
- 6 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199000 - Rely on PlatformLayer to choose the TextureMapperPlatformLayer impl
https://bugs.webkit.org/show_bug.cgi?id=155926
Patch by Emanuele Aina <Emanuele Aina> on 2016-04-04
Reviewed by Žan Doberšek.
Use PlatformLayer to replace a bunch of subtly different #ifdef
scattered over the codebase to choose between TextureMapperPlatformLayer
and TextureMapperPlatformLayerProxyProvider.
- platform/graphics/GraphicsContext3DPrivate.h:
- platform/graphics/cairo/ImageBufferDataCairo.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Use
PlatformLayer.h an inherit from PlatformLayer instead of choosing the
right implementation every time.
- platform/graphics/texmap/TextureMapperPlatformLayer.h: Add
TEXTURE_MAPPER guards to make it unconditionally usable.
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.h: Add
COORDINATED_GRAPHICS_THREADED guards to make it unconditionally
usable.
- 6:40 AM Changeset in webkit [199477] by
-
- 5 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r199344 - [GTK] Rework scrollbars theming code for GTK+ 3.20
https://bugs.webkit.org/show_bug.cgi?id=156462
Reviewed by Michael Catanzaro.
In r199292, we reworked the theming code to ensure it works with the new GTK+ CSS theming system. The same is
needed for scrollbars, this patch uses the RenderThemeGadget classes introduced in r199292 to render the native
scrollbars. The code is now split in 3 parts: stub methods for GTK+2 (since this file is compiled for
WebCoreGTK, but not used), the implementation for GTK+ < 3.20 and the implementation for GTK+ >= 3.20. This
reduces the amount of ifdefed code, and ensures that changes in new code don't break the rendering with older
versions of GTK+. I noticed that we were overriding both, the specific paint methods to render scrollbars
parts and the global paint method that renders all the scrollbar parts. We don't really need the specific paint
methods, so I've removed the implemention leaving only the paint method. This also allows us to get rid of the
GtkStyleContext cache.
- platform/gtk/RenderThemeGadget.cpp:
(WebCore::RenderThemeGadget::create): Handle scrollbars gadgets.
(WebCore::appendElementToPath): In case of scrollbar gadget, use the scrollbar GType when creating the path to
be able to get non-CSS style properties.
(WebCore::RenderThemeGadget::opacity): Add method to get the opacity CSS style property.
(WebCore::RenderThemeScrollbarGadget::RenderThemeScrollbarGadget): Initialize m_steppers option set with the
steppers used by the theme.
- platform/gtk/RenderThemeGadget.h:
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::themeChangedCallback):
(WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):
(WebCore::createStyleContext):
(WebCore::createChildStyleContext):
(WebCore::ScrollbarThemeGtk::themeChanged):
(WebCore::ScrollbarThemeGtk::updateThemeProperties):
(WebCore::scrollbarPartStateFlags):
(WebCore::scrollbarGadgetForLayout):
(WebCore::contentsGadgetForLayout):
(WebCore::ScrollbarThemeGtk::trackRect):
(WebCore::ScrollbarThemeGtk::hasThumb):
(WebCore::ScrollbarThemeGtk::backButtonRect):
(WebCore::ScrollbarThemeGtk::forwardButtonRect):
(WebCore::ScrollbarThemeGtk::paint):
(WebCore::paintStepper):
(WebCore::adjustRectAccordingToMargin):
(WebCore::ScrollbarThemeGtk::scrollbarThickness):
(WebCore::ScrollbarThemeGtk::minimumThumbLength):
- platform/gtk/ScrollbarThemeGtk.h:
- 6:40 AM Changeset in webkit [199476] by
-
- 7 edits3 adds in releases/WebKitGTK/webkit-2.12
Merge r199292 - [GTK] Rework the theming code for GTK+ 3.20
https://bugs.webkit.org/show_bug.cgi?id=156333
Reviewed by Michael Catanzaro.
.:
Add a manual test to check how themed elements are rendered.
- ManualTests/gtk/theme.html: Added.
Source/WebCore:
During the 3.19 GTK+ release cycle, the GTK+ css system was reworked, making themes and programs rendering
themed widgets, incompatible with the new system. We were trying to fix our rendering every time GTK+ broke
something, but we were just changing whatever it was needed to make our rendering look like current GTK+ with
the default theme Adwaita. This means that our rendering will be broken for other themes or that changes in
Adwaita can break our rendering. This solution was good enough to ensure WebKitGTK+ 2.12 looked good with GTK+
3.20, but it doesn't work in the long term. We need to ensure that our theming code honors the new GTK+ CSS
properties (max-width, min-width, margin, padding, border, ...) in all the cases, not only the cases where
Adwaita uses them like we currently do.
This patch splits all rendering methods to keep the current code for previous GTK+ versions and adds new code
for GTK+ >= 3.20 using the new RenderThemeGadget classes. This makes the code easier to read, since there aren't
ifdef blocks in the functions, and we ensure we don't break previous rendering.
- PlatformGTK.cmake: Add new files to compilation.
- html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::defaultEventHandler): Check the button layout used by the theme to decide the
current buttons state.
- platform/gtk/RenderThemeGadget.cpp: Added.
(WebCore::RenderThemeGadget::create):
(WebCore::createStyleContext):
(WebCore::appendElementToPath):
(WebCore::RenderThemeGadget::RenderThemeGadget):
(WebCore::RenderThemeGadget::~RenderThemeGadget):
(WebCore::RenderThemeGadget::marginBox):
(WebCore::RenderThemeGadget::borderBox):
(WebCore::RenderThemeGadget::paddingBox):
(WebCore::RenderThemeGadget::contentsBox):
(WebCore::RenderThemeGadget::color):
(WebCore::RenderThemeGadget::backgroundColor):
(WebCore::RenderThemeGadget::minimumSize):
(WebCore::RenderThemeGadget::preferredSize):
(WebCore::RenderThemeGadget::render):
(WebCore::RenderThemeGadget::renderFocus):
(WebCore::RenderThemeBoxGadget::RenderThemeBoxGadget):
(WebCore::RenderThemeTextFieldGadget::RenderThemeTextFieldGadget):
(WebCore::RenderThemeTextFieldGadget::minimumSize):
(WebCore::RenderThemeToggleGadget::RenderThemeToggleGadget):
(WebCore::RenderThemeToggleGadget::render):
(WebCore::RenderThemeArrowGadget::RenderThemeArrowGadget):
(WebCore::RenderThemeArrowGadget::render):
(WebCore::RenderThemeIconGadget::RenderThemeIconGadget):
(WebCore::RenderThemeIconGadget::gtkIconSizeForPixelSize):
(WebCore::RenderThemeIconGadget::render):
(WebCore::RenderThemeIconGadget::minimumSize):
- platform/gtk/RenderThemeGadget.h: Added.
(WebCore::RenderThemeGadget::context):
- rendering/RenderTheme.h:
(WebCore::RenderTheme::innerSpinButtonLayout): Added this method to allow themes use a different layout for the
buttons.
- rendering/RenderThemeGtk.cpp:
(WebCore::themeChangedCallback): Just moved this code to a common place.
(WebCore::RenderThemeGtk::RenderThemeGtk): Initialize the theme monitor in the constructor.
(WebCore::createStyleContext): Remove the render parts that are specific to GTK+ 3.20.
(WebCore::RenderThemeGtk::adjustRepaintRect): Moved inside a GTK+ < 3.20 ifdef block.
(WebCore::themePartStateFlags): Helper function to get the GtkStateFlags of a theme part for a given RenderObject.
(WebCore::shrinkToMinimumSizeAndCenterRectangle): Move this common code to a helper function.
(WebCore::setToggleSize):
(WebCore::paintToggle):
(WebCore::RenderThemeGtk::paintButton):
(WebCore::RenderThemeGtk::popupInternalPaddingBox):
(WebCore::RenderThemeGtk::paintMenuList):
(WebCore::RenderThemeGtk::adjustTextFieldStyle): For GTK+ 3.20 we need to ensure a minimum size for spin buttons,
so if the text field is for a spin button, we adjust the desired size here.
(WebCore::RenderThemeGtk::paintTextField): In GTK+ 3.20 the CSS gadgets used to render spin buttons are
different, so we check here if this is the entry of a spin button to use the right gadgets.
(WebCore::adjustSearchFieldIconStyle):
(WebCore::RenderThemeGtk::paintTextArea):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
(WebCore::paintSearchFieldIcon):
(WebCore::RenderThemeGtk::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
(WebCore::centerRectVerticallyInParentInputElement): Moved inside a GTK+ < 3.20 ifdef block.
(WebCore::RenderThemeGtk::paintSliderTrack):
(WebCore::RenderThemeGtk::adjustSliderThumbSize):
(WebCore::RenderThemeGtk::paintSliderThumb):
(WebCore::RenderThemeGtk::progressBarRectForBounds): Ensure a minimum size of progress bars in GTK+ 3.20.
(WebCore::RenderThemeGtk::paintProgressBar):
(WebCore::RenderThemeGtk::innerSpinButtonLayout): Use an horizontal layout for spin buttons.
(WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeGtk::paintInnerSpinButton):
(WebCore::styleColor):
(WebCore::RenderThemeGtk::paintMediaButton):
- rendering/RenderThemeGtk.h:
- 6:40 AM Changeset in webkit [199475] by
-
- 9 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198983 - Replace all RenderTheme::popupInternalPadding methods with a single one returning a LengthBox
https://bugs.webkit.org/show_bug.cgi?id=156098
Reviewed by Darin Adler.
The caller always wants all padding sides, so we can simplify both the caller and the implementations by using a
single method. It's also more efficient for the GTK+ port that creates and destroys the same style contexts on
every call.
- rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle):
- rendering/RenderTheme.h:
(WebCore::RenderTheme::popupInternalPaddingBox):
(WebCore::RenderTheme::popupInternalPaddingLeft): Deleted.
(WebCore::RenderTheme::popupInternalPaddingRight): Deleted.
(WebCore::RenderTheme::popupInternalPaddingTop): Deleted.
(WebCore::RenderTheme::popupInternalPaddingBottom): Deleted.
- rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::popupInternalPaddingBox):
(WebCore::getComboBoxMetrics): Deleted.
(WebCore::RenderThemeGtk::popupInternalPaddingLeft): Deleted.
(WebCore::RenderThemeGtk::popupInternalPaddingRight): Deleted.
(WebCore::RenderThemeGtk::popupInternalPaddingTop): Deleted.
(WebCore::RenderThemeGtk::popupInternalPaddingBottom): Deleted.
- rendering/RenderThemeGtk.h:
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::popupInternalPaddingBox):
(WebCore::RenderThemeIOS::popupInternalPaddingRight): Deleted.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::popupInternalPaddingBox):
(WebCore::RenderThemeMac::popupInternalPaddingLeft): Deleted.
(WebCore::RenderThemeMac::popupInternalPaddingRight): Deleted.
(WebCore::RenderThemeMac::popupInternalPaddingTop): Deleted.
(WebCore::RenderThemeMac::popupInternalPaddingBottom): Deleted.
- 6:39 AM Changeset in webkit [199474] by
-
- 8 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r197170 - RenderTheme::controlSize* methods should take const RenderStyle&.
https://bugs.webkit.org/show_bug.cgi?id=154708
Reviewed by Darin Adler.
No change in functionality.
- rendering/RenderTheme.h:
(WebCore::RenderTheme::minimumMenuListSize):
(WebCore::RenderTheme::popupInternalPaddingLeft):
(WebCore::RenderTheme::popupInternalPaddingRight):
(WebCore::RenderTheme::popupInternalPaddingTop):
(WebCore::RenderTheme::popupInternalPaddingBottom):
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::controlSizeForFont):
(WebCore::RenderThemeMac::sizeForFont):
(WebCore::RenderThemeMac::sizeForSystemFont):
(WebCore::RenderThemeMac::controlSizeForSystemFont):
(WebCore::RenderThemeMac::minimumProgressBarHeight):
(WebCore::RenderThemeMac::popupInternalPaddingLeft):
(WebCore::RenderThemeMac::popupInternalPaddingRight):
(WebCore::RenderThemeMac::popupInternalPaddingTop):
(WebCore::RenderThemeMac::popupInternalPaddingBottom):
(WebCore::RenderThemeMac::minimumMenuListSize):
- 6:25 AM Changeset in webkit [199473] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198958 - putImageData leaves visible artifacts on retina display
https://bugs.webkit.org/show_bug.cgi?id=156039
<rdar://problem/25482243>
Reviewed by Simon Fraser.
Inflate the repaint rect to cover anti-aliasing bits.
Source/WebCore:
Test: fast/canvas/hidpi-repaint-on-retina-leaves-bits-behind.html
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::didDraw):
LayoutTests:
- fast/canvas/hidpi-repaint-on-retina-leaves-bits-behind-expected.html: Added.
- fast/canvas/hidpi-repaint-on-retina-leaves-bits-behind.html: Added.
- 6:24 AM Changeset in webkit [199472] by
-
- 8 edits3 adds in releases/WebKitGTK/webkit-2.12
Merge r198956 - WebKit should dispatchDidFailProvisionalLoad while loading invalid URLs
https://bugs.webkit.org/show_bug.cgi?id=155995
<rdar://problem/14967004>
Reviewed by Andy Estes.
Source/WebCore:
Added API Tests.
If a loading request contains an invalid URL, DocumentLoader will now dispatch
cannotShowURLError to the clients.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
Source/WebKit2:
Ensure that alternative HTML string will not be loaded back to back for
failing provisional loads.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::didFinishLoadForFrame):
- UIProcess/WebPageProxy.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/LoadAlternateHTMLString.mm:
(-[LoadAlternateHTMLStringFromProvisionalLoadErrorController webView:didFailProvisionalNavigation:withError:]):
(-[LoadAlternateHTMLStringFromProvisionalLoadErrorController webView:didStartProvisionalNavigation:]):
(TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/LoadInvalidURLRequest.mm: Added.
(literalURL):
(-[LoadInvalidURLNavigationActionDelegate webView:didCommitNavigation:]):
(-[LoadInvalidURLNavigationActionDelegate webView:didFailProvisionalNavigation:withError:]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.html: Added.
- TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm: Added.
(-[LoadInvalidURLWebFrameLoadDelegate webView:didCommitLoadForFrame:]):
(-[LoadInvalidURLWebFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
(TestWebKitAPI::TEST):
- 6:14 AM Changeset in webkit [199471] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198924 - REGRESSION (r195605): ASSERTION FAILED: !NoEventDispatchAssertion::isEventDispatchForbidden()
when pressing the back button on a page with a focused subframe
https://bugs.webkit.org/show_bug.cgi?id=156033
<rdar://problem/25446561>
Reviewed by Chris Dumez.
Source/WebCore:
Fixes an assertion failure when navigating back, by pressing the browser back button, to
the previous page from a page with a focused subframe.
Following r195605 (https://bugs.webkit.org/show_bug.cgi?id=153449), the responsibility for
dispatching a DOM pagehide event moved from CachedFrame to PageCache and we now instantiate
a NoEventDispatchAssertion object to enforce the invariant that no additional DOM events are
dispatched as part of adding a page to the page cache. When adding a page with a focused
subframe to the page cache we focus its main frame, which implicitly defocuses the subframe
and dispatches a DOM blur event at it. Therefore an assertion failure occurs when dispatching
this DOM blur event (because a NoEventDispatchAssertion object was allocated on the stack).
Test: fast/history/back-from-page-with-focused-iframe.html
- history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame): Move logic to focus the main frame from here...
- history/PageCache.cpp:
(WebCore::PageCache::addIfCacheable): to here such that any DOM blur and focus events
are dispatched before instantiate the NoEventDispatchAssertion object and enter the page
cache.
LayoutTests:
Add a test to ensure that when navigating back from a page with a focused <iframe> f, a DOM
blur event is dispatched to f, a DOM focus event is dispatched at the main frame and that
an assertion failure does not occur (only applicable in a debug build).
- fast/history/back-from-page-with-focused-iframe-expected.txt: Added.
- fast/history/back-from-page-with-focused-iframe.html: Added.
- 6:13 AM Changeset in webkit [199470] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/JavaScriptCore
Merge r198919 - Fails to build in Linux / PowerPC due to different ucontext_t definition
https://bugs.webkit.org/show_bug.cgi?id=156015
Reviewed by Michael Catanzaro.
PPC does not have mcontext_t in ucontext_t::uc_mcontext.
So we take the special way to retrieve mcontext_t in PPC.
- heap/MachineStackMarker.cpp:
(pthreadSignalHandlerSuspendResume):
- 6:12 AM Changeset in webkit [199469] by
-
- 4 edits5 deletes in releases/WebKitGTK/webkit-2.12
Merge r198917 - REGRESSION (r191180): Safari does not send Referer Header to iframe src in certain situations
https://bugs.webkit.org/show_bug.cgi?id=155754
<rdar://problem/25296445>
Unreviewed, roll out r191180 as it breaks sites and needs to be reworked.
Source/WebCore:
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::tagIdFor): Deleted.
(WebCore::TokenPreloadScanner::initiatorFor): Deleted.
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute): Deleted.
(WebCore::TokenPreloadScanner::StartTagScanner::resourceType): Deleted.
- html/parser/HTMLPreloadScanner.h:
LayoutTests:
- fast/preloader/frame-src-expected.txt: Removed.
- fast/preloader/frame-src.html: Removed.
- fast/preloader/resources/testFrame.html: Removed.
- http/tests/loading/preload-no-store-frame-src-expected: Removed.
- http/tests/loading/preload-no-store-frame-src.html: Removed.
- 6:08 AM Changeset in webkit [199468] by
-
- 3 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198904 - SelectionController::positionForPlatform should ask EditingBehavior for platform specific behavior
https://bugs.webkit.org/show_bug.cgi?id=41976
Reviewed by Darin Adler.
SSIA.
No new tests needed.
- editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldAlwaysExtendSelectionFromExtentEndpoint):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::positionForPlatform):
- 5:55 AM Changeset in webkit [199467] by
-
- 27 edits in releases/WebKitGTK/webkit-2.12/Source
Merge r198869 - Make BlobData use ThreadSafeSharedBuffer instead of RawData.
https://bugs.webkit.org/show_bug.cgi?id=156041
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (No change in behavior).
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::consumeText):
(WebCore::FetchBody::extractFromText):
(WebCore::blobFromArrayBuffer):
- Modules/fetch/FetchBody.h:
- Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
- Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didReceiveBinaryData):
- Modules/websockets/WebSocket.h:
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::processFrame):
- Modules/websockets/WebSocketChannel.h:
- Modules/websockets/WebSocketChannelClient.h:
(WebCore::WebSocketChannelClient::didReceiveBinaryData):
- Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
- Modules/websockets/WorkerThreadableWebSocketChannel.h:
- fileapi/Blob.cpp:
(WebCore::Blob::Blob):
- fileapi/Blob.h:
(WebCore::Blob::create):
- fileapi/WebKitBlobBuilder.h:
- platform/network/BlobData.cpp:
(WebCore::BlobData::BlobData):
(WebCore::BlobDataItem::length):
(WebCore::BlobData::appendData):
(WebCore::BlobData::setContentType): Deleted.
- platform/network/BlobData.h:
(WebCore::BlobDataItem::type):
(WebCore::BlobDataItem::data):
(WebCore::BlobDataItem::file):
(WebCore::BlobDataItem::BlobDataItem):
(WebCore::BlobData::create):
(WebCore::RawData::create): Deleted.
(WebCore::RawData::data): Deleted.
(WebCore::RawData::length): Deleted.
(WebCore::RawData::RawData): Deleted.
- platform/network/BlobPart.h:
(WebCore::BlobPart::BlobPart):
(WebCore::BlobPart::data):
(WebCore::BlobPart::moveData):
- platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::appendStorageItems):
(WebCore::BlobRegistryImpl::registerFileBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURLForSlice):
- platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::getSizeForNext):
(WebCore::BlobResourceHandle::readSync):
(WebCore::BlobResourceHandle::readDataSync):
(WebCore::BlobResourceHandle::readFileSync):
(WebCore::BlobResourceHandle::readAsync):
(WebCore::BlobResourceHandle::readDataAsync):
(WebCore::BlobResourceHandle::readFileAsync):
- platform/network/BlobResourceHandle.h:
- platform/network/FormData.cpp:
(WebCore::appendBlobResolved):
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::blobIsOutOfDate):
(WebCore::addEncodedBlobItemToSoupMessageBody):
- platform/text/LineEnding.cpp:
(WebCore::normalizeToCROrLF):
(WebCore::normalizeLineEndingsToNative):
(WebCore::normalizeLineEndingsToCR): Deleted.
(WebCore::normalizeLineEndingsToLF): Deleted.
- platform/text/LineEnding.h:
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseBlob):
Source/WebKit2:
- NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::filesInBlob):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<BlobPart>::decode):
- 5:27 AM Changeset in webkit [199466] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/JavaScriptCore
Merge r198868 - Change some release asserts in CodeBlock linking into debug asserts
https://bugs.webkit.org/show_bug.cgi?id=155500
Reviewed by Filip Pizlo.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
- 5:23 AM Changeset in webkit [199465] by
-
- 3 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198852 - Random SerializedScriptValue cleanup.
https://bugs.webkit.org/show_bug.cgi?id=156032
Rubberstamped by Tim Hatcher.
- Remove two unused functions.
- Make the class always be ThreadSafeRefCounted.
- bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::numberValue): Deleted.
(WebCore::SerializedScriptValue::undefinedValue): Deleted.
- bindings/js/SerializedScriptValue.h:
- 5:18 AM Changeset in webkit [199464] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Make animation events non-cancelable
https://bugs.webkit.org/show_bug.cgi?id=78110
Reviewed by Dan Bates.
Source/WebCore:
Make the animation events non-cancelable.
Test: animations/animation-events-not-cancelable.html
- dom/AnimationEvent.cpp:
(WebCore::AnimationEvent::AnimationEvent):
LayoutTests:
- animations/animation-events-not-cancelable-expected.txt: Added.
- animations/animation-events-not-cancelable.html: Added.
- 5:16 AM Changeset in webkit [199463] by
-
- 8 edits in releases/WebKitGTK/webkit-2.12
Merge r198827 - [WTF] Removing a smart pointer from HashTable issues two stores to the same location
https://bugs.webkit.org/show_bug.cgi?id=155676
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-03-29
Reviewed by Darin Adler.
Source/WTF:
While working on the hot loop of r198376, I noticed something
weird...
Every time we removed a smart pointer from the hash table,
the code generated was something like:
Load([bucket]) -> Tmp
Store(0 -> [bucket])
JumpIfZero(Tmp, ->End)
Call fastFree()
Store(-1 -> [bucket])
-> End:
The useless store before the branch is annoying, especially on ARM.
Here is what happens:
1) The destructor of the smart pointer swaps its internal value with nullptr.
2) Since the smart pointer is not a local in-register value, that nullptr
is stored in memory because it could be observable from fastFree().
3) The destructor destroy the value if not zero (or deref for RefPtr).
The "if-not-zero" may or may not be eliminated depending on what
is between getting the iterator and the call to remove().
4) fastFree() is called.
5) The deleted value is set in the bucket.
This patch adds custom deletion for those cases to avoid the useless
store. The useless null check is still eliminated when we are lucky.
I went this path instead of changing the destructor of RefPtr for two reasons:
-I need this to work in unique_ptr for JSC.
-Nulling the memory may have security advantages in the cases where we do not immediately
write over that memory again.
This patch removes 13kb out of x86_64 WebCore.
- wtf/HashTable.h:
(WTF::HashTable::deleteBucket):
(WTF::KeyTraits>::removeIf):
- wtf/HashTraits.h:
(WTF::HashTraits<RefPtr<P>>::customDeleteBucket):
(WTF::hashTraitsDeleteBucket):
(WTF::KeyValuePairHashTraits::customDeleteBucket):
- wtf/text/AtomicStringHash.h:
(WTF::HashTraits<WTF::AtomicString>::isEmptyValue):
(WTF::HashTraits<WTF::AtomicString>::customDeleteBucket):
- wtf/text/StringHash.h:
(WTF::HashTraits<String>::customDeleteBucket):
Tools:
- TestWebKitAPI/Tests/WTF/HashMap.cpp:
- TestWebKitAPI/Tests/WTF/HashSet.cpp:
- 4:41 AM Changeset in webkit [199462] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198785 - REGRESSION (r196813): Missing plug-in placeholder is missing
https://bugs.webkit.org/show_bug.cgi?id=155973
<rdar://problem/25068392>
Reviewed by Andy Estes.
Show unavailable plugin indicator when UnavailablePluginIndicatorState (uninitialized, hidden, visible) is not set to hidden explicitly.
It matches pre-196813 behaviour.
Unable to test.
- rendering/RenderEmbeddedObject.h:
(WebCore::RenderEmbeddedObject::showsUnavailablePluginIndicator):
- 4:38 AM Changeset in webkit [199461] by
-
- 5 edits in releases/WebKitGTK/webkit-2.12
Merge r198780 - media/track/track-remove-track.html is flaky, crashing and failing
https://bugs.webkit.org/show_bug.cgi?id=130971
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Prevent HTMLMediaElement from being collected while it is creating media controls.
These changes prevent the test from crashing but they do not fix the flakiness,
which is caused by another bug. Fixing that is tracked by
https://bugs.webkit.org/show_bug.cgi?id=155956.
- html/HTMLMediaElement.cpp:
(WebCore::actionName): New, debugging-only helper function.
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new variables.
(WebCore::HTMLMediaElement::scheduleDelayedAction): Log the flag names to make debugging easier.
(WebCore::HTMLMediaElement::scheduleNextSourceChild): Add logging.
(WebCore::HTMLMediaElement::updateActiveTextTrackCues): Update logging.
(WebCore::HTMLMediaElement::configureTextTrackGroup): Drive-by optimization: don't call
updateCaptionContainer here, call it before exiting configureTextTracks so we only call
it once instead of once per track group.
(WebCore::controllerJSValue):
(WebCore::HTMLMediaElement::ensureMediaControlsShadowRoot): New, wrapper around calling
ensureUserAgentShadowRoot so m_creatingControls can be set and cleared appropriately.
(WebCore::HTMLMediaElement::updateCaptionContainer): ensureUserAgentShadowRoot ->
ensureMediaControlsShadowRoot. Drive by optimization: set/test m_haveSetupCaptionContainer
so we only do this setup once.
(WebCore::HTMLMediaElement::configureTextTracks): Call updateCaptionContainer.
(WebCore::HTMLMediaElement::clearMediaPlayer): Log flag names.
(WebCore::HTMLMediaElement::hasPendingActivity): Return true when creating controls so GC
won't happen during controls setup.
(WebCore::HTMLMediaElement::updateTextTrackDisplay): ensureUserAgentShadowRoot ->
ensureMediaControlsShadowRoot.
(WebCore::HTMLMediaElement::createMediaControls): Ditto.
(WebCore::HTMLMediaElement::configureMediaControls): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Ditto.
- html/HTMLMediaElement.h:
LayoutTests:
- platform/mac/TestExpectations: Mark crash as flaky only.
- 4:38 AM Changeset in webkit [199460] by
-
- 6 edits1 add in releases/WebKitGTK/webkit-2.12/Source
Merge r198778 - REGRESSION(r192914): 10% regression on Sunspider's date-format-tofte
https://bugs.webkit.org/show_bug.cgi?id=155559
Reviewed by Saam Barati.
Source/JavaScriptCore:
The fast path of the eval function is the super hot path in date-format-tofte.
Any performance regression is not allowed here.
Before this patch, we allocated SourceCode in the fast path.
This allocation incurs 10% performance regression.
This patch removes this allocation in the fast path.
And change the key of the EvalCodeCache to EvalCodeCache::CacheKey.
It combines RefPtr<StringImpl> and isArrowFunctionContext.
Since EvalCodeCache does not cache any eval code evaluated under the strict mode,
it is unnecessary to include several options (ThisTDZMode, and DerivedContextType) in the cache map's key.
But isArrowFunctionContext is necessary since the sloppy mode arrow function exists.
To validate this change, we add a new test that evaluates the same code
under the non-arrow function context and the arrow function context.
After introducing CacheKey, we observed 1% regression compared to the RefPtr<StringImpl> keyed case.
This is because HashMap<RefPtr<T>, ...>::get(T*) is specially optimized; this path is inlined while the normal ::get() is not inlined.
To avoid this performance regression, we introduce HashMap::fastGet, that aggressively encourages inlining.
The relationship between fastGet() and get() is similar to fastAdd() and add().
After applying this change, the evaluation shows no performance regression in comparison with the RefPtr<StringImpl> keyed case.
- bytecode/EvalCodeCache.h:
(JSC::EvalCodeCache::CacheKey::CacheKey):
(JSC::EvalCodeCache::CacheKey::hash):
(JSC::EvalCodeCache::CacheKey::isEmptyValue):
(JSC::EvalCodeCache::CacheKey::operator==):
(JSC::EvalCodeCache::CacheKey::isHashTableDeletedValue):
(JSC::EvalCodeCache::CacheKey::Hash::hash):
(JSC::EvalCodeCache::CacheKey::Hash::equal):
(JSC::EvalCodeCache::tryGet):
(JSC::EvalCodeCache::getSlow):
(JSC::EvalCodeCache::isCacheable):
- interpreter/Interpreter.cpp:
(JSC::eval):
- tests/stress/eval-in-arrow-function.js: Added.
(shouldBe):
(i):
Source/WTF:
Add HashTable::inlineLookup and HashMap::fastGet.
- wtf/HashMap.h:
- wtf/HashTable.h:
- 4:16 AM Changeset in webkit [199459] by
-
- 3 edits1 add in trunk/Source/JavaScriptCore
[ES6] Add @@toStringTag to GeneratorFunction
https://bugs.webkit.org/show_bug.cgi?id=156499
Reviewed by Mark Lam.
GeneratorFunction.prototype has @@toStringTag property, "GeneratorFunction".
https://tc39.github.io/ecma262/#sec-generatorfunction.prototype-@@tostringtag
- runtime/GeneratorFunctionPrototype.cpp:
(JSC::GeneratorFunctionPrototype::finishCreation):
- tests/es6.yaml:
- tests/es6/well-known_symbols_Symbol.toStringTag_new_built-ins.js: Added.
(test):
- 3:50 AM Changeset in webkit [199458] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix build in glibc-based BSD systems
https://bugs.webkit.org/show_bug.cgi?id=156533
Reviewed by Carlos Garcia Campos.
Change the order of the #elif conditionals so glibc-based BSD
systems (e.g. Debian GNU/kFreeBSD) use the code inside the
OS(FREEBSD) blocks.
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::Thread::Registers::stackPointer):
(JSC::MachineThreads::Thread::Registers::framePointer):
(JSC::MachineThreads::Thread::Registers::instructionPointer):
(JSC::MachineThreads::Thread::Registers::llintPC):
- 3:21 AM Changeset in webkit [199457] by
-
- 10 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198771 - Pixel turds when bordered div is resized on SMF forum software.
https://bugs.webkit.org/show_bug.cgi?id=155957
<rdar://problem/25010646>
Reviewed by Simon Fraser.
Use unmodified, non-snapped bounding box rect when computing dirty rects.
Source/WebCore:
Test: fast/repaint/hidpi-box-with-subpixel-height-inflates.html
- rendering/RenderBox.h:
- rendering/RenderBoxModelObject.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::getTrailingCorner):
- rendering/RenderInline.h:
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::borderBoundingBox): Deleted.
- rendering/RenderLineBreak.h:
- rendering/RenderView.cpp:
(WebCore::RenderView::setBestTruncatedAt):
LayoutTests:
- fast/repaint/hidpi-box-with-subpixel-height-inflates-expected.txt: Added.
- fast/repaint/hidpi-box-with-subpixel-height-inflates.html: Added.
- 3:03 AM Changeset in webkit [199456] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198753 - Setup cloned continuation renderer properly.
https://bugs.webkit.org/show_bug.cgi?id=155640
Reviewed by Simon Fraser.
Set the "renderer has outline ancestor" flag on the cloned inline renderer when
we split the original renderer for continuation.
It ensures that when the cloned part of the continuation requests repaint, we properly
invalidate the ancestor outline (if needed).
Source/WebCore:
Test: fast/inline/outline-with-continuation-assert.html
- rendering/RenderInline.cpp:
(WebCore::RenderInline::clone):
LayoutTests:
- fast/inline/outline-with-continuation-assert-expected.txt: Added.
- fast/inline/outline-with-continuation-assert.html: Added.
- 3:00 AM Changeset in webkit [199455] by
-
- 7 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198701 - RenderImage::repaintOrMarkForLayout fails when the renderer is detached.
https://bugs.webkit.org/show_bug.cgi?id=155885
<rdar://problem/25359164>
Reviewed by Simon Fraser.
Making containingBlockFor* functions standalone ensures that we don't
call them on an invalid object.
Covered by existing tests.
- dom/Element.cpp:
(WebCore::layoutOverflowRectContainsAllDescendants):
- rendering/LogicalSelectionOffsetCaches.h:
(WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
- rendering/RenderElement.cpp:
(WebCore::containingBlockForFixedPosition):
(WebCore::containingBlockForAbsolutePosition):
(WebCore::containingBlockForObjectInFlow):
(WebCore::RenderElement::containingBlockForFixedPosition): Deleted.
(WebCore::RenderElement::containingBlockForAbsolutePosition): Deleted.
(WebCore::isNonRenderBlockInline): Deleted.
(WebCore::RenderElement::containingBlockForObjectInFlow): Deleted.
- rendering/RenderElement.h:
- rendering/RenderInline.cpp:
(WebCore::RenderInline::styleWillChange):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock):
- 2:52 AM WebKitGTK/2.12.x edited by
- (diff)
- 2:39 AM Changeset in webkit [199454] by
-
- 3 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r199246 - bmalloc: stress_aligned test fails if you increase smallMax
https://bugs.webkit.org/show_bug.cgi?id=156414
Reviewed by Oliver Hunt.
When size exceeds alignment and is a multiple of alignment and is not
a power of two, such as 24kB with 8kB alignment, the small allocator
did not always guarantee alignment. Let's fix that.
- bmalloc/Algorithm.h:
(bmalloc::divideRoundingUp): Math is hard.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::allocate): Align to the page size unconditionally.
Even if the page size is not a power of two, it might be a multiple of
a power of two, and we want alignment to that smaller power of two to
be guaranteed.
- 2:39 AM Changeset in webkit [199453] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r199115 - bmalloc: handle aligned allocations on the fast path
https://bugs.webkit.org/show_bug.cgi?id=156302
Reviewed by Michael Saboff.
This helps keep the JavaScriptCore GC on the fast path, and it also
helps avoid fragmentation on our website stress test:
nimlang 209,584kB 198,076kB 1.06x smaller
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::allocate): Because we arrange for power-of-two size
classes to allocate at power-of-two alignments, we can allocate any
small aligned request on the small path.
- bmalloc/Chunk.h:
(bmalloc::Chunk::bytes):
(bmalloc::Chunk::lines):
(bmalloc::Chunk::pages):
(bmalloc::Chunk::boundaryTags):
(bmalloc::Chunk::objectType): Moved some code around to provide better
API.
(bmalloc::Chunk::Chunk): Moved this code to VMHeap.
(bmalloc::Chunk::offset):
(bmalloc::Chunk::object): Use our new bytes() helper function.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::allocateChunk): Moved code here from Chunk.
(bmalloc::VMHeap::allocateSmallChunk): Ensure that power-of-two page
sizes always begin allocation at the same alignment. Power-of-two object
sizes always request power-of-two page sizes (since that's the least
wasteful option), so if we also ensure that power-of-two page sizes get
power-of-two alignment, then everything is aligned for all small objects.
- 2:39 AM Changeset in webkit [199452] by
-
- 13 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r198995 - bmalloc: segregate small and large objects again, and allocate more objects on the small path
https://bugs.webkit.org/show_bug.cgi?id=156152
Reviewed by Sam Weinig.
Microbenchmark data suggested that it was a good idea for small and large
objects to share memory. But r198675 did not improve memory use in
full browser benchmarks.
This patch reverts to segregating small and large objects -- but without
going back to doubled VM usage -- in order to capture a few benefits:
(*) Small pages fragment the large heap. Separating them out saves a lot
of memory in our worst case fragmentation recording:
nimlang 276,076kB 209,636kB 1.32x smaller
(*) Small objects are common enough that even their slow paths benefit
from simpler code:
Execution Time:
...
facebook 234ms 216ms 1.08x faster
reddit 114ms 108ms 1.06x faster
flickr 118ms 111ms 1.06x faster
theverge 146ms 140ms 1.04x faster
...
<arithmetic mean> 107ms 102ms 1.04x faster
(*) We can use less metadata:
Memory at End:
...
list_allocate 460kB 384kB 1.2x smaller
tree_allocate 492kB 424kB 1.16x smaller
tree_churn 480kB 404kB 1.19x smaller
fragment 532kB 452kB 1.18x smaller
fragment_iterate 712kB 588kB 1.21x smaller
medium 15,152kB 11,796kB 1.28x smaller
big 15,044kB 10,976kB 1.37x smaller
...
<arithmetic mean> 7,724kB 7,190kB 1.07x smaller
This patch also takes advantage of our support for varying the page size
at runtime by allocating more objects on the small object path:
medium 178ms 150ms 1.19x faster
Some microbenchmarks report memory use increases from this change -- like
they reported memory use decreases from r198675 -- but I'm ignoring them
for now because I expect our full browser memory benchmarks to confirm
that this patch is fine.
- bmalloc/BumpAllocator.h:
(bmalloc::BumpAllocator::BumpAllocator): Use a full unsigned because we
can allocate objects larger than 16kB - 1, and a full unsigned does not
make BumpAllocator any larger on 64bit systems.
- bmalloc/Chunk.h:
(bmalloc::Chunk::begin):
(bmalloc::Chunk::end):
(bmalloc::Chunk::size):
(bmalloc::Chunk::objectType): Store ObjectType in the Chunk, since it only
varies by Chunk now, and not from page to page within a Chunk. Also,
union together small and large object metadata, since we will only use
one or the other. This saves memory.
(bmalloc::Chunk::Chunk): Conditionalize initialization based on object
type, since only one kind of metadata or the other can be used at runtime.
(bmalloc::Object::Object):
(bmalloc::Object::begin):
(bmalloc::SmallPage::end): Deleted.
- bmalloc/Heap.cpp:
(bmalloc::Heap::Heap):
(bmalloc::Heap::initializeLineMetadata): Save a little space, since we
know that lines are only 256 bytes long.
(bmalloc::Heap::initializePageMetadata): Store a dynamic page size for
each size class. We used to use only one page size (the system page size)
but that limited our ability to allocate objects larger than 1kB on the
small object path. Now we can handle any object size we want by storing
objects of that size in a custom page size.
(bmalloc::Heap::concurrentScavenge):
(bmalloc::Heap::scavenge):
(bmalloc::Heap::scavengeSmallPages): Revert to our old linked list
strategy for storing small pages.
(bmalloc::Heap::splitAndAllocate): Object type is per Chunk now.
(bmalloc::Heap::allocateLarge): Don't nuke the small page list when
allocating a large object because the two don't share memory anymore.
(bmalloc::Heap::allocateSmallPage): Revert to our old linked list
strategy for storing small pages.
(bmalloc::Heap::deallocateSmallLine): Don't return early in the case
where this is the first free object in the page. In the case of large-ish
objects, the first free object might also be the last free object,
since there's one object per page.
(bmalloc::Heap::allocateSmallBumpRangesByMetadata): Split out some helper
lambdas to make this code clearer.
(bmalloc::Heap::allocateSmallBumpRangesByObject): Added a fast scan
for objects larger than the line size. When multiple objects fit in
a single line, it's an optimization to scan a line at a time. But when
it's one object per line, or one object per 64 lines, it's better just
to scan an object at a time.
- bmalloc/Heap.h:
(bmalloc::Heap::allocateSmallBumpRanges):
(bmalloc::Heap::derefSmallLine): Match the changes above.
- bmalloc/LineMetadata.h: We weren't using all those bits.
- bmalloc/List.h:
(bmalloc::List::remove): Put a removed Node fully back into the default
(empty) state it was in before it entered the list. This change is not
observable, but it makes things clearer when you're debugging.
- bmalloc/Object.h:
(bmalloc::Object::Object):
(bmalloc::Object::chunk):
(bmalloc::Object::offset):
(bmalloc::Object::operator+):
(bmalloc::Object::operator<=): Added some helpers for iterating by object.
- bmalloc/ObjectType.cpp:
(bmalloc::objectType): Updated for API change.
- bmalloc/Sizes.h:
(bmalloc::Sizes::maskObjectSize):
(bmalloc::Sizes::objectSize):
(bmalloc::Sizes::pageSize): Support more page sizes.
- bmalloc/SmallPage.h:
(bmalloc::SmallPage::SmallPage):
(bmalloc::SmallPage::objectType): Deleted.
(bmalloc::SmallPage::setObjectType): Deleted.
(bmalloc::SmallPage::smallPageCount): Deleted.
(bmalloc::SmallPage::setSmallPageCount): Deleted. Object type is per
Chunk now, and we can infer page count from size class.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::allocateChunk):
(bmalloc::VMHeap::allocateSmallChunk):
- bmalloc/VMHeap.h:
(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::deallocateSmallPage):
(bmalloc::VMHeap::allocateLargeObject): Support our old behavior of
storing free pages in linked lists.
- 2:38 AM Changeset in webkit [199451] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r198829 - bmalloc: support physical page sizes that don't match the virtual page size (take 2)
https://bugs.webkit.org/show_bug.cgi?id=156003
Reviewed by Andreas Kling.
This is a memory savings on iOS devices where the virtual page size
is 16kB but the physical page size is 4kB.
Take 1 was a memory regression on 16kB virtual / 16kB physical systems
because it used a 4kB page size within a 16kB page size, allowing up to
4 different object types to mix within a physical page. Because objects
of the same type tend to deallocate at the same time, mixing objects of
different types made pages less likely to become completely empty.
(Take 1 also had a bug where it used a platform #ifdef that didn't exist.
Oops.)
Take 2 allocates units of SmallPages equal to the physical page size.
- bmalloc/Heap.cpp:
(bmalloc::Heap::Heap):
(bmalloc::Heap::initializeLineMetadata):
(bmalloc::Heap::allocateSmallBumpRanges):
(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::splitAndAllocate):
(bmalloc::Heap::tryAllocateXLarge):
(bmalloc::Heap::shrinkXLarge):
- bmalloc/Heap.h: Use the physical page size for our VM operations because
we're only concerned with returning physical pages to the OS.
- bmalloc/VMAllocate.h:
(bmalloc::vmPageSize):
(bmalloc::vmPageShift):
(bmalloc::vmSize):
(bmalloc::vmValidate):
(bmalloc::vmPageSizePhysical):
(bmalloc::vmValidatePhysical):
(bmalloc::tryVMAllocate):
(bmalloc::vmDeallocatePhysicalPages):
(bmalloc::vmAllocatePhysicalPages):
(bmalloc::vmDeallocatePhysicalPagesSloppy):
(bmalloc::vmAllocatePhysicalPagesSloppy): Use the physical page size.
- 2:38 AM Changeset in webkit [199450] by
-
- 8 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r198821 - bmalloc: page size should be configurable at runtime
https://bugs.webkit.org/show_bug.cgi?id=155993
Reviewed by Andreas Kling.
This is a memory win on 32bit iOS devices, since their page sizes are
4kB and not 16kB.
It's also a step toward supporting 64bit iOS devices that have a
16kB/4kB virtual/physical page size split.
- bmalloc/Chunk.h: Align to largeAlignment since 2 * smallMax isn't
required by the boundary tag allocator.
(bmalloc::Chunk::page): Account for the slide when accessing a page.
Each SmallPage hashes 4kB of memory. When we want to allocate a region
of memory larger than 4kB, we store our metadata in the first SmallPage
in the region and we assign a slide to the remaining SmallPages, so
they forward to that first SmallPage when accessed.
NOTE: We could use a less flexible technique that just hashed by
vmPageSize() instead of 4kB at runtime, with no slide, but I think we'll
be able to use this slide technique to make even more page sizes
dynamically at runtime, which should save some memory and simplify
the allocator.
(bmalloc::SmallPage::begin): It's invalid to access a SmallPage with
a slide, since such SmallPages do not contain meaningful data.
(bmalloc::SmallPage::end): Account for smallPageCount when computing
the size of a page.
(bmalloc::Chunk::pageBegin): Deleted.
(bmalloc::Chunk::pageEnd): Deleted.
(bmalloc::Object::pageBegin): Deleted.
- bmalloc/Heap.cpp:
(bmalloc::Heap::Heap): Cache vmPageSize because computing it might require
a syscall.
(bmalloc::Heap::initializeLineMetadata): Line metadata is a vector instead
of a 2D array because we don't know how much metadata we'll need until
we know the page size.
(bmalloc::Heap::scavengeSmallPage): Be sure to revert the slide when
deallocating a page. Otherwise, the next attempt to allocate the page
will slide when initializing it, sliding to nowhere.
(bmalloc::Heap::allocateSmallBumpRanges): Account for vector change to
line metadata.
(bmalloc::Heap::allocateSmallPage): Initialize slide and smallPageCount
since they aren't constant anymore.
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::splitAndAllocate):
(bmalloc::Heap::tryAllocateXLarge):
(bmalloc::Heap::shrinkXLarge): Adopt dynamic page size.
- bmalloc/Heap.h:
- bmalloc/Sizes.h: smallPageSize is no longer equal to the VM page
size -- it's just the smallest VM page size we're interested in supporting.
- bmalloc/SmallPage.h:
(bmalloc::SmallPage::slide):
(bmalloc::SmallPage::setSlide):
(bmalloc::SmallPage::smallPageCount):
(bmalloc::SmallPage::setSmallPageCount):
(bmalloc::SmallPage::ref):
(bmalloc::SmallPage::deref): Support slide and small page count as
dynamic values. This doesn't increase metadata size since sizeof(SmallPage)
rounds up to alignment anyway.
- bmalloc/VMAllocate.h:
(bmalloc::vmPageSize):
(bmalloc::vmPageShift):
(bmalloc::vmSize):
(bmalloc::vmValidate):
(bmalloc::tryVMAllocate):
(bmalloc::vmDeallocatePhysicalPagesSloppy):
(bmalloc::vmAllocatePhysicalPagesSloppy): Treat page size as a variable.
- bmalloc/Vector.h:
(bmalloc::Vector::initialCapacity):
(bmalloc::Vector<T>::insert):
(bmalloc::Vector<T>::grow):
(bmalloc::Vector<T>::shrink):
(bmalloc::Vector<T>::shrinkCapacity):
(bmalloc::Vector<T>::growCapacity): Treat page size as a variable.
- 2:38 AM Changeset in webkit [199449] by
-
- 5 edits4 adds in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r198809 - bmalloc: add logging for mmap() failures
<http://webkit.org/b/155409>
<rdar://problem/24568515>
Reviewed by Saam Barati.
This patch causes additional logging to be generated on internal
iOS builds when mmap() fails. We are trying to track down an
issue where the WebContent process runs out of VM address space
before it is killed by jetsam.
- CMakeLists.txt: Add Logging.cpp.
- bmalloc.xcodeproj/project.pbxproj: Add new files.
- bmalloc/BAssert.h:
(RELEASE_BASSERT_WITH_MESSAGE): Add macro.
- bmalloc/Logging.cpp: Added.
(bmalloc::logVMFailure): Implementation.
- bmalloc/Logging.h: Added.
(bmalloc::logVMFailure): Declaration.
- bmalloc/VMAllocate.h:
(bmalloc::tryVMAllocate): Call logVMFailure() on mmap() failure.
- bmalloc/darwin/BSoftLinking.h: Copied from Source/WebCore/platform/mac/SoftLinking.h.
- 2:37 AM Changeset in webkit [199448] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r198680 - bmalloc: stress_aligned fails when allocating a zero-sized object with XLarge alignment
https://bugs.webkit.org/show_bug.cgi?id=155896
Reviewed by Andreas Kling.
We normally filter zero-sized allocations into small allocations, but
a zero-sized allocation can sneak through if it requires sufficiently
large alignment.
- bmalloc/Heap.cpp:
(bmalloc::Heap::tryAllocateXLarge): Set a floor on allocation size to
catch zero-sized allocations.
- 2:37 AM Changeset in webkit [199447] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r198693 - Unreviewed, try to fix a crash seen on the bots.
- bmalloc/Allocator.cpp: (bmalloc::Allocator::reallocate): We have to take the lock even if we're only reading our own data becuse LargeObject contains validation code that will read our neighbors' data as well.
- 2:37 AM Changeset in webkit [199446] by
-
- 15 edits1 move1 delete in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r198679 - bmalloc: Renamed LargeChunk => Chunk
https://bugs.webkit.org/show_bug.cgi?id=155894
Reviewed by Michael Saboff.
A Chunk can contain both small and large objects now.
- bmalloc.xcodeproj/project.pbxproj:
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::allocate):
- bmalloc/BoundaryTag.h:
(bmalloc::BoundaryTag::isFree):
- bmalloc/Chunk.h: Copied from Source/bmalloc/bmalloc/LargeChunk.h.
(bmalloc::Chunk::pages):
(bmalloc::Chunk::begin):
(bmalloc::Chunk::end):
(bmalloc::Chunk::Chunk):
(bmalloc::Chunk::get):
(bmalloc::Chunk::beginTag):
(bmalloc::Chunk::endTag):
(bmalloc::Chunk::offset):
(bmalloc::Chunk::object):
(bmalloc::Chunk::page):
(bmalloc::Chunk::line):
(bmalloc::SmallLine::begin):
(bmalloc::SmallPage::begin):
(bmalloc::SmallPage::end):
(bmalloc::Object::Object):
(bmalloc::Object::begin):
(bmalloc::LargeChunk::pages): Deleted.
(bmalloc::LargeChunk::begin): Deleted.
(bmalloc::LargeChunk::end): Deleted.
(bmalloc::LargeChunk::LargeChunk): Deleted.
(bmalloc::LargeChunk::get): Deleted.
(bmalloc::LargeChunk::beginTag): Deleted.
(bmalloc::LargeChunk::endTag): Deleted.
(bmalloc::LargeChunk::offset): Deleted.
(bmalloc::LargeChunk::object): Deleted.
(bmalloc::LargeChunk::page): Deleted.
(bmalloc::LargeChunk::line): Deleted.
- bmalloc/Deallocator.cpp:
- bmalloc/FreeList.cpp:
- bmalloc/Heap.cpp:
(bmalloc::Heap::allocateLarge):
- bmalloc/LargeChunk.h: Removed.
- bmalloc/LargeObject.h:
(bmalloc::LargeObject::LargeObject):
(bmalloc::LargeObject::merge):
(bmalloc::LargeObject::split):
- bmalloc/Object.h:
(bmalloc::Object::chunk):
- bmalloc/ObjectType.cpp:
- bmalloc/Sizes.h:
- bmalloc/SmallAllocator.h: Removed.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::VMHeap):
(bmalloc::VMHeap::allocateChunk):
(bmalloc::VMHeap::allocateLargeChunk): Deleted.
- bmalloc/VMHeap.h:
(bmalloc::VMHeap::allocateLargeObject):
(bmalloc::VMHeap::deallocateLargeObject):
- bmalloc/Zone.cpp:
(bmalloc::enumerator):
- bmalloc/Zone.h:
(bmalloc::Zone::chunks):
(bmalloc::Zone::addChunk):
(bmalloc::Zone::largeChunks): Deleted.
(bmalloc::Zone::addLargeChunk): Deleted.
- 2:36 AM Changeset in webkit [199445] by
-
- 19 edits2 deletes in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r198675 - bmalloc: small and large objects should share memory
https://bugs.webkit.org/show_bug.cgi?id=155866
Reviewed by Andreas Kling.
This patch cuts our VM footprint in half. (VM footprint usually doesn't
matter, but on iOS there's an artificial VM limit around 700MB, and if
you hit it you jetsam / crash.)
It's also a step toward honoring the hardware page size at runtime,
which will reduce memory usage on iOS.
This patch is a small improvement in peak memory usage because it allows
small and large objects to recycle each other's memory. The tradeoff is
that we require more metadata, which causes more memory usage after
shrinking down from peak memory usage. In the end, we have some memory
wins and some losses, and a small win in the mean on our standard memory
benchmarks.
- bmalloc.xcodeproj/project.pbxproj: Removed SuperChunk.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::reallocate): Adopt a new Heap API for shrinking
large objects because it's a little more complicated than it used to be.
Don't check for equality in the XLarge case because we don't do it in
other cases, and it's unlikely that we'll be called for no reason.
- bmalloc/BumpAllocator.h:
(bmalloc::BumpAllocator::allocate): Don't ASSERT isSmall because that's
an old concept from when small and large objects were in distinct memory
regions.
- bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::deallocateSlowCase): Large objects are not
segregated anymore.
(bmalloc::Deallocator::deallocateLarge): Deleted.
- bmalloc/Deallocator.h:
(bmalloc::Deallocator::deallocateFastCase): Don't ASSERT isSmall(). See
above.
- bmalloc/Heap.cpp:
(bmalloc::Heap::scavenge):
(bmalloc::Heap::scavengeSmallPage):
(bmalloc::Heap::scavengeSmallPages): New helpers for returning cached
small pages to the large object heap.
(bmalloc::Heap::allocateSmallPage): Allocate small pages from the large
object heap. This is how we accomplish sharing.
(bmalloc::Heap::deallocateSmallLine): Handle large objects since we can
encounter them on this code path now.
(bmalloc::Heap::splitAndAllocate): Fixed a bug where we would sometimes
not split even though we could.
Allocating a large object also requires ref'ing its small line so that
we can alias memory between small and large objects.
(bmalloc::Heap::allocateLarge): Return cached small pages before
allocating a large object that would fit in a cached small page. This
allows some large allocations to reuse small object memory.
(bmalloc::Heap::shrinkLarge): New helper.
(bmalloc::Heap::deallocateLarge): Deleted.
- bmalloc/Heap.h:
- bmalloc/LargeChunk.h:
(bmalloc::LargeChunk::pageBegin):
(bmalloc::LargeChunk::pageEnd):
(bmalloc::LargeChunk::lines):
(bmalloc::LargeChunk::pages):
(bmalloc::LargeChunk::begin):
(bmalloc::LargeChunk::end):
(bmalloc::LargeChunk::LargeChunk):
(bmalloc::LargeChunk::get):
(bmalloc::LargeChunk::endTag):
(bmalloc::LargeChunk::offset):
(bmalloc::LargeChunk::object):
(bmalloc::LargeChunk::page):
(bmalloc::LargeChunk::line):
(bmalloc::SmallLine::begin):
(bmalloc::SmallLine::end):
(bmalloc::SmallPage::begin):
(bmalloc::SmallPage::end):
(bmalloc::Object::Object):
(bmalloc::Object::begin):
(bmalloc::Object::pageBegin):
(bmalloc::Object::line):
(bmalloc::Object::page): I merged all the SmallChunk metadata and code
into LargeChunk. Now we use a single class to track both small and large
metadata, so we can share memory between small and large objects.
I'm going to rename this class to Chunk in a follow-up patch.
- bmalloc/Object.h:
(bmalloc::Object::chunk): Updated for LargeChunk transition.
- bmalloc/ObjectType.cpp:
(bmalloc::objectType):
- bmalloc/ObjectType.h:
(bmalloc::isXLarge):
(bmalloc::isSmall): Deleted. The difference between small and large
objects is now stored in metadata and is not a property of their
virtual address range.
- bmalloc/SegregatedFreeList.h: One more entry because we cover all of
what used to be the super chunk in a large chunk now.
- bmalloc/Sizes.h: Removed bit masking helpers because we don't use
address masks to distinguish small vs large object type anymore.
- bmalloc/SmallChunk.h: Removed.
- bmalloc/SmallPage.h:
(bmalloc::SmallPage::SmallPage): Store object type per page because any
given page can be used for large objects or small objects.
- bmalloc/SuperChunk.h: Removed.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::VMHeap):
(bmalloc::VMHeap::allocateLargeChunk):
(bmalloc::VMHeap::allocateSmallChunk): Deleted.
(bmalloc::VMHeap::allocateSuperChunk): Deleted.
- bmalloc/VMHeap.h:
(bmalloc::VMHeap::allocateLargeObject):
(bmalloc::VMHeap::deallocateLargeObject):
(bmalloc::VMHeap::allocateSmallPage): Deleted.
(bmalloc::VMHeap::deallocateSmallPage): Deleted. Removed super chunk and
small chunk support.
- bmalloc/Zone.cpp:
(bmalloc::enumerator):
- bmalloc/Zone.h:
(bmalloc::Zone::largeChunks):
(bmalloc::Zone::addLargeChunk):
(bmalloc::Zone::superChunks): Deleted.
(bmalloc::Zone::addSuperChunk): Deleted. Removed super chunk and
small chunk support.
- 2:26 AM Changeset in webkit [199444] by
-
- 9 edits2 adds in trunk/Websites/perf.webkit.org
Add a summary page to v3 UI
https://bugs.webkit.org/show_bug.cgi?id=156531
Reviewed by Stephanie Lewis.
Add new "Summary" page, which shows the average difference (better or worse) from the baseline across
multiple platforms and tests by a single number.
- public/include/manifest.php:
(ManifestGenerator::generate): Include "summary" in manifest.json.
- public/shared/statistics.js:
(Statistics.mean): Added.
(Statistics.median): Added.
- public/v3/components/ratio-bar-graph.js: Added.
(RatioBarGraph): Shows a horizontal bar graph that visualizes the relative difference (e.g. 3% better).
(RatioBarGraph.prototype.update):
(RatioBarGraph.prototype.render):
(RatioBarGraph.cssTemplate):
(RatioBarGraph.htmlTemplate):
- public/v3/index.html:
- public/v3/main.js:
(main): Instantiate SummaryPage and add it to the navigation bar and the router.
- public/v3/models/manifest.js:
(Manifest._didFetchManifest): Let "summary" pass through from manifest.json to main().
- public/v3/models/measurement-set.js:
(MeasurementSet.prototype._failedToFetchJSON): Invoke the callback with an error or true in order for
the callback can detect a failure.
(MeasurementSet.prototype._invokeCallbacks): Ditto.
- public/v3/pages/charts-page.js:
(ChartsPage.createStateForConfigurationList): Added to add a hyperlink from summary page to charts page.
- public/v3/pages/summary-page.js: Added.
(SummaryPage): Added.
(SummaryPage.prototype.routeName): Added.
(SummaryPage.prototype.open): Added.
(SummaryPage.prototype.render): Added.
(SummaryPage.prototype._createConfigurationGroupAndStartFetchingData): Added.
(SummaryPage.prototype._constructTable): Added.
(SummaryPage.prototype._constructRatioGraph): Added.
(SummaryPage.htmlTemplate): Added.
(SummaryPage.cssTemplate): Added.
(SummaryPageConfigurationGroup): Added. Represents a set of platforms and tests shown in a single cell.
(SummaryPageConfigurationGroup.prototype.ratio): Added.
(SummaryPageConfigurationGroup.prototype.label): Added.
(SummaryPageConfigurationGroup.prototype.changeType): Added.
(SummaryPageConfigurationGroup.prototype.configurationList): Added.
(SummaryPageConfigurationGroup.prototype.fetchAndComputeSummary): Added.
(SummaryPageConfigurationGroup.prototype._computeSummary): Added.
(SummaryPageConfigurationGroup.prototype._fetchAndComputeRatio): Added. Invoked for each time series in
the set, and stores the computed ratio of the current values to the baseline in this._setToRatio.
The results are aggregated by _computeSummary as a single number later.
(SummaryPageConfigurationGroup._medianForTimeRange): Added.
(SummaryPageConfigurationGroup._fetchData): A thin wrapper to make MeasurementSet.fetchBetween promise
friendly since MeasurementSet doesn't support Promise at the moment (but it should!).
- server-tests/api-manifest.js: Updated a test case.
- 2:20 AM Changeset in webkit [199443] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebKit2
Merge r198629 - Fix null dereferencing in NetworkLoad::continueCanAuthenticateAgainstProtectionSpace
https://bugs.webkit.org/show_bug.cgi?id=155799
rdar://25289012
Reviewed by Tim Horton.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
Null-check all the things!
- 2:19 AM Changeset in webkit [199442] by
-
- 9 edits1 copy in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r198606 - bmalloc: Added an Object helper class
https://bugs.webkit.org/show_bug.cgi?id=155818
Reviewed by Gavin Barraclough.
Object is an abstraction that breaks out a void* into its component
metadata pointers.
This is slightly faster than recomputing them, and it enables a future
patch in which Object will tell us whether it is small or large.
- bmalloc.xcodeproj/project.pbxproj: Added to the project.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::reallocate): Use Object to compute size.
- bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::processObjectLog):
- bmalloc/Heap.cpp:
(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::deallocateSmallLine):
- bmalloc/Heap.h:
(bmalloc::Heap::derefSmallLine): Use Object to deallocate.
- bmalloc/Object.h: Added.
(bmalloc::Object::Object):
(bmalloc::Object::chunk):
(bmalloc::Object::line):
(bmalloc::Object::page): Helper class to break out a void* into its
component metadata pointers.
- bmalloc/SmallChunk.h:
(bmalloc::SmallChunk::SmallChunk): SmallPage::get doesn't exist anymore
so we use our new helper functions instead.
(bmalloc::SmallChunk::offset):
(bmalloc::SmallChunk::object):
(bmalloc::SmallChunk::page):
(bmalloc::SmallChunk::line):
(bmalloc::SmallLine::begin):
(bmalloc::SmallLine::end):
(bmalloc::SmallPage::begin): New helpers that operate on the data
stored in Object.
(bmalloc::SmallLine::get): Deleted.
(bmalloc::SmallPage::get): Deleted.
- bmalloc/SmallLine.h:
(bmalloc::SmallLine::refCount): Added a default ref value for convenience.
- bmalloc/SmallPage.h:
(bmalloc::SmallPage::SmallPage):
- 2:17 AM Changeset in webkit [199441] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198597 - ASSERTION FAILED: y2 >= y1 in WebCore::RenderElement::drawLineForBoxSide
https://bugs.webkit.org/show_bug.cgi?id=155791
Reviewed by Simon Fraser.
With certain combination of border rect and adjacent width, we could end up with an empty final rect.
This patch ensures that we don't try to paint this empty rect.
Source/WebCore:
Test: fast/borders/empty-outline-border-assert.html
- rendering/RenderElement.cpp:
(WebCore::RenderElement::drawLineForBoxSide):
LayoutTests:
- fast/borders/empty-outline-border-assert-expected.txt: Added.
- fast/borders/empty-outline-border-assert.html: Added.
- 2:16 AM Changeset in webkit [199440] by
-
- 6 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r198594 - bmalloc: process the object log before asking for new memory
https://bugs.webkit.org/show_bug.cgi?id=155801
Reviewed by Gavin Barraclough.
This is a step toward merging large and small objects: In future, if we
have large objects in the log, we need to process them right away to
avoid pushing up peak memory use.
But it also appears to be a speedup and memory use improvement now.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::allocate):
(bmalloc::Allocator::refillAllocatorSlowCase):
(bmalloc::Allocator::allocateLarge): Process the log before asking for
more memory.
- bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::processObjectLog):
(bmalloc::Deallocator::deallocateSlowCase):
- bmalloc/Deallocator.h: Provide a public API for processing the object log.
- bmalloc/Heap.cpp:
(bmalloc::Heap::allocateSmallPage): Pop fragmented pages from the front
instead of from the back. This resolves a regression on tree_churn
--parallel. Popping from the front gives us the oldest pages. The oldest
pages have had the most time to accumulate free lines. They are therefore
the least fragmented on average.
- bmalloc/List.h:
(bmalloc::List::popFront):
(bmalloc::List::insertAfter): New API to pop from front.
- 2:15 AM Changeset in webkit [199439] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198588 - [WebGL] Non-power-of-two texture optimization
https://bugs.webkit.org/show_bug.cgi?id=118409
Reviewed by Dean Jackson.
Source/WebCore:
Based on a patch by Przemyslaw Szymanski <p.szymanski3@samsung.com>
This patch optimizes usage of handleNPOTTextures. We do not need to
iterate over each texture unit if no black textures were set. This
optimization provides a few more frames per seconds for certain
draw calls.
Tested by:
(1) Existing tests: webgl/resources/webgl_test_files/conformance/textures/texture-npot.html
(2) New test case: fast/canvas/webgl/texture-alternating-npot.html
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::compressedTexImage2D): Use new helper method.
(WebCore::WebGLRenderingContextBase::validateNPOTTextureLevel): Added.
(WebCore::WebGLRenderingContextBase::drawArrays): Only check texture completeness
if a black texture was used.
(WebCore::WebGLRenderingContextBase::drawElements): Ditto.
(WebCore::WebGLRenderingContextBase::texImage2DBase): Use new helper method.
(WebCore::WebGLRenderingContextBase::validateTexFunc): Ditto.
(WebCore::WebGLRenderingContextBase::checkTextureCompleteness): Return flag to indicate
if a black fallbacktexture was used.
- html/canvas/WebGLRenderingContextBase.h:
LayoutTests:
- fast/canvas/webgl/texture-alternating-npot-expected.txt: Added.
- fast/canvas/webgl/texture-alternating-npot.html: Added.
- 2:13 AM Changeset in webkit [199438] by
-
- 5 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198584 - Share style by sharing RenderStyle substructures not the object itself
https://bugs.webkit.org/show_bug.cgi?id=155787
Reviewed by Anreas Kling.
The current approach where we share RenderStyle objects between elements leads to lot of awkward and bug-prone code.
Most of the RenderStyle consists of shareable substructures. It is better to just share those.
With this patch we create shared styles with RenderStyle::clone(). Sharing is traced as state in Style::SharingResolver
instead of relying on RenderStyle equality to locate potential sharing cousins.
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::operator==):
m_altText was missing from operator==
This was exposed by TreeResolver::resolveElement change, tested by fast/css/alt-inherit-initial.html
- style/StyleSharingResolver.cpp:
(WebCore::Style::elementHasDirectionAuto):
(WebCore::Style::SharingResolver::resolve):
Save share results to a map.
(WebCore::Style::SharingResolver::findSibling):
(WebCore::Style::SharingResolver::locateCousinList):
Instead of traversing we can now just do a hash lookup to locate a candidate cousin list.
There is no need for recursion anymore, the map covers sharing beyond immediate siblings too.
Remove most tests here as they have been already covered when sharing occured.
(WebCore::Style::canShareStyleWithControl):
- style/StyleSharingResolver.h:
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::styleForElement):
(WebCore::Style::TreeResolver::resolveElement):
No need to do forced setting anymore just to support style sharing.
- 2:11 AM Changeset in webkit [199437] by
-
- 4 edits4 adds in releases/WebKitGTK/webkit-2.12
Merge r198575 - showModalDialog code runs with “first window” set to wrong window
https://bugs.webkit.org/show_bug.cgi?id=155710
Source/WebCore:
Reviewed by Brent Fulgham.
Test: http/tests/security/cross-origin-modal-dialog-base.html
- page/Chrome.cpp:
(WebCore::Chrome::runModal): Null out entryScope so that the "first window"
checks inside the modal dialog won't run in the context of the original window
that presented the dialog.
LayoutTests:
Test by John Wilander.
Reviewed by Brent Fulgham.
- http/tests/security/cross-origin-modal-dialog-base-expected.txt: Added.
- http/tests/security/cross-origin-modal-dialog-base.html: Added.
- http/tests/security/resources/cross-origin-modal-dialog-base-1.html: Added.
- http/tests/security/resources/cross-origin-modal-dialog-base-2.html: Added.
- platform/wk2/TestExpectations: Skip test until we get better showModalDialog support.
- 2:09 AM Changeset in webkit [199436] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198574 - userSpaceOnUse patterns are not stroked for empty object bounding box elements
https://bugs.webkit.org/show_bug.cgi?id=109758
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-03-22
Reviewed by Brent Fulgham.
Source/WebCore:
Checking whether the patternUnits is objectBoundingBox needs to be done
after calling collectPatternAttributes(). Otherwise the default value
will be always checked which is 'objectBoundingBox'.
Tests: svg/custom/pattern-units-fill-stroke.svg
- rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
(WebCore::RenderSVGResourcePattern::applyResource):
LayoutTests:
Ensure the SVG pattern is drawn correctly if it is used as a stroke for
empty objectBoundingBox elements.
- svg/custom/pattern-units-fill-stroke-expected.svg: Added.
- svg/custom/pattern-units-fill-stroke.svg: Added.
- 1:54 AM Changeset in webkit [199435] by
-
- 11 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r198571 - bmalloc: use a log scale for large-ish size classes
https://bugs.webkit.org/show_bug.cgi?id=155770
Reviewed by Michael Saboff.
At larger sizes, precise allocation sizes don't save much memory -- and
they can cost memory when objects of distinct size classes can't
allocate together.
This is a small savings up to our current allocation limits, and it may
enable changing those limits in the long term.
- bmalloc/Algorithm.h:
(bmalloc::log2): We use this to compute large-ish size classes.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::Allocator): Iterate by size class instead of by
object size so we can change object size limits without breaking stuff.
(bmalloc::Allocator::scavenge): Ditto.
(bmalloc::Allocator::allocateLogSizeClass): New helper function for
allocating based on log size classes.
(bmalloc::Allocator::allocateSlowCase): Account for extra size class
possibilities.
- bmalloc/Allocator.h:
(bmalloc::Allocator::allocateFastCase): We only handle up to 512b on
the fastest fast path now.
- bmalloc/BumpAllocator.h:
(bmalloc::BumpAllocator::validate): Deleted. I noticed that this function
had been refactored not to do anything anymore.
- bmalloc/Heap.cpp:
(bmalloc::Heap::initializeLineMetadata): Iterate by size class. (See
Allocator::Allocator.)
- bmalloc/Heap.h: Use the sizeClassCount constant instead of hard coding
things.
- bmalloc/Sizes.h:
(bmalloc::Sizes::maskSizeClass):
(bmalloc::Sizes::maskObjectSize):
(bmalloc::Sizes::logSizeClass):
(bmalloc::Sizes::logObjectSize):
(bmalloc::Sizes::sizeClass):
(bmalloc::Sizes::objectSize): Separate size class calculation between
simple size classes that can be computed with a mask and are 8-byte-precise
and complex size classes that require more math and are less precise.
- bmalloc/SmallLine.h:
(bmalloc::SmallLine::ref):
- bmalloc/SmallPage.h:
(bmalloc::SmallPage::SmallPage):
(bmalloc::SmallPage::ref):
(bmalloc::SmallPage::deref): Cleaned up some ASSERTs that triggered
while working on this patch.
- bmalloc/Zone.cpp:
(bmalloc::statistics):
(bmalloc::zoneSize):
(bmalloc::Zone::Zone):
(bmalloc::size): Deleted. Renamed these symbols to work around an lldb
bug that makes it impossible to print out variables named 'size' -- which
can be a problem when working on malloc.
- 1:52 AM Changeset in webkit [199434] by
-
- 7 edits1 copy2 moves21 adds in releases/WebKitGTK/webkit-2.12
Merge r198561 - Restrict WebSockets header parsing according to RFC6455 and RFC7230. Based on Lamarque V. Souza's original patch.
https://bugs.webkit.org/show_bug.cgi?id=82714
Patch by John Wilander <wilander@apple.com> on 2016-03-22
Reviewed by Brent Fulgham.
Source/WebCore:
Tests: http/tests/websocket/tests/hybi/error-event-ready-state-non-existent-url-with-server-responding-404.html
http/tests/websocket/tests/hybi/handshake-fail-by-invalid-http-version.html
http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-accept.html
http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-extensions.html
http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-protocol.html
http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-status-line.html
http/tests/websocket/tests/hybi/handshake-fail-by-null-char-in-status.html
http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1.html
- Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::httpURLForAuthenticationAndCookies):
(WebCore::headerHasValidHTTPVersion):
- Check for HTTP version 1.1 and above.
(WebCore::WebSocketHandshake::readStatusLine):
- Only allow ASCII characters in status line.
- Only allow HTTP version 1.1 and above in status line.
(WebCore::WebSocketHandshake::readHTTPHeaders):
- Only allow ASCII characters in values for new HTTP headers.
LayoutTests:
- http/tests/websocket/tests/hybi/error-event-ready-state-expected.txt: Removed.
- See comment below on the associated HTML file.
- http/tests/websocket/tests/hybi/error-event-ready-state-non-existent-url-with-server-responding-404-expected.txt: Added.
- http/tests/websocket/tests/hybi/error-event-ready-state-non-existent-url-with-server-responding-404.html: Added.
- Uses PHP to respond with an HTTP 1.1 404. The old (now removed) test case failed once we restricted WebSockets to HTTP 1.1 and above because the test server responded with an HTTP 1.0 404 for non-existing files.
- http/tests/websocket/tests/hybi/error-event-ready-state.html: Removed.
- This test case was renamed "error-event-ready-state-non-existent-url-with-server-responding-404" to make it clear it now relies on a server responding with HTTP 1.1 404.
- http/tests/websocket/tests/hybi/handshake-fail-by-invalid-http-version-expected.txt: Added.
- http/tests/websocket/tests/hybi/handshake-fail-by-invalid-http-version.html: Added.
- http/tests/websocket/tests/hybi/handshake-fail-by-invalid-http-version_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
- Test case for lower than HTTP 1.1 versions.
- http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header-expected.txt:
- http/tests/websocket/tests/hybi/handshake-fail-by-more-extensions-header-expected.txt:
- http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header-expected.txt:
- Updated to pass with lowercase 'must not' in the failure reason.
- http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-accept-expected.txt: Added.
- http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-accept.html: Added.
- http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-accept_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
- Test case for non-ASCII characters in new HTTP header Sec-WebSocket-Accept.
- http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-extensions-expected.txt: Added.
- http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-extensions.html: Added.
- http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-extensions_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
- Test case for non-ASCII characters in new HTTP header Sec-WebSocket-Extensions.
- http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-protocol-expected.txt: Added.
- http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-protocol.html: Added.
- http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-header-value-sec-websocket-protocol_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
- Test case for non-ASCII characters in new HTTP header Sec-WebSocket-Protocol.
- http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-status-line-expected.txt: Added.
- http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-status-line.html: Added.
- http/tests/websocket/tests/hybi/handshake-fail-by-non-ascii-status-line_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
- Test case for non-ASCII characters in HTTP status line.
- http/tests/websocket/tests/hybi/handshake-fail-by-null-char-in-status-expected.txt: Added.
- http/tests/websocket/tests/hybi/handshake-fail-by-null-char-in-status.html: Added.
- http/tests/websocket/tests/hybi/handshake-fail-by-null-char-in-status_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
- Test case for null character in the middle of the HTTP status line.
- http/tests/websocket/tests/hybi/handshake-fail-by-prepended-null_wsh.py:
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
- This test case was changed to prepend a null character to the actual status line. Previously it used a WebSockets frame with a prepended null before the status line. The Python WebSockets lib uses non-ASCII characters in that frame which meant the test case hit the non-ASCII check before the null check. It was confusing to me that the description and intent of the test was to run with a null in the status line, not in a frame before the status line. I believe the changed test case better reflects the intention of the test.
- http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1-expected.txt: Added.
- http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1.html: Added.
- http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
- Test case for HTTP versions higher than 1.1.
- http/tests/websocket/tests/hybi/resources/status-404-without-body.php: Added.
- To use with the error-event-ready-state-non-existent-url-with-server-responding-404.html test described above.
- 1:47 AM Changeset in webkit [199433] by
-
- 5 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r198545 - bmalloc: shrink largeMax
https://bugs.webkit.org/show_bug.cgi?id=155759
Reviewed by Michael Saboff.
If a largeChunk contains N bytes and we allocate objects of size
N / 2 + 8 bytes, then we waste 50% of physical memory at peak.
This patch sets largeMax to N / 2, reducing maximum waste to 25%.
- bmalloc/BoundaryTag.h:
- bmalloc/LargeChunk.h:
(bmalloc::LargeChunk::LargeChunk):
- bmalloc/SegregatedFreeList.cpp:
(bmalloc::SegregatedFreeList::SegregatedFreeList):
(bmalloc::SegregatedFreeList::insert): Honor largeMax vs largeObjectMax.
- bmalloc/Sizes.h: Distinguish between the largest thing we can store
in a free list (largeObjectMax) and the largest thing we're willing to
allocate (largeMax).
- 1:46 AM Changeset in webkit [199432] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198542 - Add null check in CachedResourceLoader::determineRevalidationPolicy
https://bugs.webkit.org/show_bug.cgi?id=155758
rdar://problem/25108408
Patch by Alex Christensen <achristensen@webkit.org> on 2016-03-22
Reviewed by Jer Noble.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::frame):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
Null-check frame() before dereferencing it.
- 1:43 AM Changeset in webkit [199431] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12
Merge r198530 - SharedBuffer::copy() can cause a segmentation fault.
https://bugs.webkit.org/show_bug.cgi?id=155739
Reviewed by Ryosuke Niwa.
Based on a Blink patch by Huang Dongsung <luxtella@company100.net>.
<https://src.chromium.org/viewvc/blink?revision=153850&view=revision>
After SharedBuffer::copy(), SharedBuffer::append() can cause segmentation fault,
because copy() calls clone->m_buffer.append(m_segments[i], segmentSize) even if
'i' is the last index. The data size of m_segments.last() is often less than
segmentSize. So, in the cloned instance m_size < (m_buffer.size() + SUM(m_segments[i].size())).
This patch appends the exact size of the last segment instead of segmentSize.
Tested by TestWebKitAPI SharedBufferTest::copy
- platform/SharedBuffer.cpp:
(SharedBuffer::copy):
Tools:
[Win] SharedBuffer::copy() can cause a segmentation fault.
https://bugs.webkit.org/show_bug.cgi?id=155739
Reviewed by Ryosuke Niwa.
- TestWebKitAPI/PlatformWin.cmake: Build and run the
SharedBuffer tests.
- 1:41 AM Changeset in webkit [199430] by
-
- 33 edits in releases/WebKitGTK/webkit-2.12/Source
Merge r198527 - Unreviewed typo fix.
- src/compiler/translator/InfoSink.cpp:
(TInfoSinkBase::prefix): "UNKOWN" => "UNKOWN".
Source/WebCore:
Unreviewed typo fix.
- platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::textTrackAutomaticMenuItemText): "choosen" => "chosen"
Source/WebCore/platform/gtk/po:
Unreviewed typo fix "choosen" => "chosen"
- as.po:
- bg.po:
- ca.po:
- de.po:
- en_GB.po:
- es.po:
- fr.po:
- gl.po:
- gu.po:
- he.po:
- hi.po:
- it.po:
- ja.po:
- kn.po:
- mr.po:
- nl.po:
- or.po:
- pl.po:
- pt_BR.po:
- sl.po:
- sv.po:
- ta.po:
- te.po:
- tr.po:
Source/WebKit2:
Unreviewed typo fixes.
- Shared/linux/WebMemorySamplerLinux.cpp:
(WebKit::WebMemorySampler::sampleWebKit): "Commited" => "Committed"
- UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
(webkit_file_chooser_request_select_files): "choosen" => "chosen"
- UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp:
(webkit_user_media_permission_request_class_init): "Wether" => "Whether"
- 1:38 AM Changeset in webkit [199429] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198521 - [TextureMapper] Destructing TextureMapperLayer should clean up its effect target
https://bugs.webkit.org/show_bug.cgi?id=155718
Reviewed by Darin Adler.
TextureMapperLayer destructor should, in case of non-null effect target,
null out the effect target's mask and replica layer pointers if those
pointers point to the TextureMapperLayer object that's being destroyed,
avoiding use-after-free occurrences.
- platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::~TextureMapperLayer):
- 1:37 AM Changeset in webkit [199428] by
-
- 1 edit2 adds in trunk/LayoutTests
Crash at com.apple.JavaScriptCore: bool WTF::startsWith<WTF::StringImpl, WTF::StringImpl> + 8
https://bugs.webkit.org/show_bug.cgi?id=156512
rdar://problem/24220567
Reviewed by Benjamin Poulain.
Land a test that verifies that setting attr to null does not crash with attribute selectors.
This was fixed by http://trac.webkit.org/changeset/199392.
- fast/css/attribute-selector-null-crash-expected.html: Added.
- fast/css/attribute-selector-null-crash.html: Added.
- 1:36 AM Changeset in webkit [199427] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198506 - WebCore::RenderTableCell::setCol should put a cap on the column value.
https://bugs.webkit.org/show_bug.cgi?id=155642
<rdar://problem/15895201>
Reviewed by Simon Fraser.
This patch ensures that we don't crash when the column number is large enough.
see webkit.org/b/71135 for more information.
Source/WebCore:
Test: tables/colspan-with-large-value-crash.html
- rendering/RenderTableCell.h:
(WebCore::RenderTableCell::setCol):
LayoutTests:
- tables/colspan-with-large-value-crash-expected.txt: Added.
- tables/colspan-with-large-value-crash.html: Added.
- 1:32 AM Changeset in webkit [199426] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198498 - Very flashy scrolling on http://quellish.tumblr.com page
https://bugs.webkit.org/show_bug.cgi?id=155728
rdar://problem/22299375
Reviewed by Zalan Bujtas.
http://quellish.tumblr.com/post/126712999812/how-on-earth-the-facebook-ios-application-is-so
has many elements that are nested inside elements with non-equal corner radius clipping.
This requires building bezier paths for the rounded-rect clip which is expensive.
For many rows of the table, we can avoid the rounded-rect clipping because the intersection
of the paintDirtyRect and the clip is actually rectangular.
- platform/graphics/FloatRoundedRect.cpp:
(WebCore::FloatRoundedRect::intersectionIsRectangular):
- platform/graphics/FloatRoundedRect.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::clipToRect):
- 1:24 AM Changeset in webkit [199425] by
-
- 7 edits in releases/WebKitGTK/webkit-2.12
Merge r198482 - The setter of binaryType attribute in WebSocket should raise the exception.
https://bugs.webkit.org/show_bug.cgi?id=135874
Patch by Jinwoo Jeong <jw00.jeong@samsung.com> on 2016-03-20
Reviewed by Antonio Gomes.
Source/WebCore:
According to W3C WebSocket Specification, <https://www.w3.org/TR/2012/CR-websockets-20120920/>
when an invalid value is set on binaryType of WebSocket, a SyntaxError should be raised.
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::setBinaryType): Add a parameter to set an exception.
- Modules/websockets/WebSocket.h: Ditto.
- Modules/websockets/WebSocket.idl: Update that setter of binaryType could raise an exception.
LayoutTests:
According to W3C WebSocket Specification, <https://www.w3.org/TR/2012/CR-websockets-20120920/>,
when an invalid value is set on binaryType of WebSocket, a SyntaxError should be raised.
- http/tests/websocket/tests/hybi/binary-type.html: Catch a syntax exception when binary type is set with invalid values.
- 1:14 AM Changeset in webkit [199424] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/JavaScriptCore
Merge r198478 - Crash in stress/regexp-matches-array-slow-put.js due to stomping on memory when having bad time
https://bugs.webkit.org/show_bug.cgi?id=155679
Reviewed by Saam Barati.
Allocate out of line storage based on what the structure says it needs
in JSArray::tryCreateUninitialized.
- runtime/JSArray.h:
(JSC::JSArray::tryCreateUninitialized):
- 12:51 AM Changeset in webkit [199423] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/JavaScriptCore
Merge r198477 - Crash on DFG::WorkList thread in JSC::Heap::isCollecting for destroyed Web Worker
https://bugs.webkit.org/show_bug.cgi?id=155678
<rdar://problem/25251439>
Reviewed by Filip Pizlo.
This fixes a crash that we saw with GuardMalloc. If the Plan was
Cancelled it may not be safe to access the VM. If the Plan was
cancelled we are just going to bail anyways, so keep the ASSERT but
short-circuit if the plan was Cancelled.
- dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::runThread):
- 12:39 AM Changeset in webkit [199422] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198471 - Data URL DecodeTask may get deleted outside main thread
https://bugs.webkit.org/show_bug.cgi?id=155584
rdar://problem/24492104
Reviewed by David Kilzer.
Follow-up: fix a possible null pointer crash.
- platform/network/DataURLDecoder.cpp:
(WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer):
If timer fires under startOneShot m_decodeTask may become zero before schedule() is called.
Fix by copying schedule context to a local before calling startOneShot.
- 12:37 AM Changeset in webkit [199421] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198451 - ASSERTION FAILED: m_isValid == valid() in WebCore::HTMLFormControlElement::isValidFormControlElement
https://bugs.webkit.org/show_bug.cgi?id=139481
Reviewed by Daniel Bates.
Source/WebCore:
Test: fast/forms/validity-assertion-inserting-into-datalist.html
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::insertedInto): Set the flags that will cause
"will validate" to be recomputed *before* calling willValidate().
LayoutTests:
- fast/forms/validity-assertion-inserting-into-datalist-expected.txt: Added.
- fast/forms/validity-assertion-inserting-into-datalist.html: Added.
- 12:35 AM Changeset in webkit [199420] by
-
- 3 edits3 adds in releases/WebKitGTK/webkit-2.12
Merge r198439 - Local file restrictions should not block sessionStorage access
https://bugs.webkit.org/show_bug.cgi?id=155609
<rdar://problem/25229461>
Reviewed by Andy Estes.
Source/WebCore:
Use of 'sesssionStorage' is governed by SecurityOrigin with third party access
set to 'ShouldAllowFromThirdParty::AlwaysAllowFromThirdParty'. We should not
reject local files for this combination of arguments.
Test: storage/domstorage/sessionstorage/blocked-file-access.html
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canAccessStorage): For the case of sessionStorage,
allow local file access.
LayoutTests:
- storage/domstorage/sessionstorage/blocked-file-access-expected.txt: Added.
- storage/domstorage/sessionstorage/blocked-file-access.html: Added.
- storage/domstorage/sessionstorage/resources/blocked-example.html: Added.
- 12:32 AM Changeset in webkit [199419] by
-
- 3 edits in releases/WebKitGTK/webkit-2.12/Source/WebKit2
Merge r198429 - Protect against excessive cache traversal
https://bugs.webkit.org/show_bug.cgi?id=155635
rdar://problem/24241008
Reviewed by Darin Adler.
We can't handle unlimited number of parallel cache traversal requests from the client.
We'll run out of dispatch queues and other system resources. CPU will spin.
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::traverse):
Add limit of maximum 3 traversals. When exceeded return nothing and log an error.
- NetworkProcess/cache/NetworkCache.h:
- 12:30 AM Changeset in webkit [199418] by
-
- 8 edits11 adds in releases/WebKitGTK/webkit-2.12
Merge r198395 - crossorigin element resource loading should check HTTP redirection
https://bugs.webkit.org/show_bug.cgi?id=130578
Reviewed by Daniel Bates and Brent Fulgham.
Source/WebCore:
Moved part of DocumentThreadableLoader redirection cross origin control code
into functions in CrossOriginAccessControl.cpp. Added cross origin control for
redirections in SubResourceLoader when policy is set to PotentiallyCrossOriginEnabled
using CrossOriginAccessControl.cpp new functions. Added a new test that checks that
cross-origin redirections are checked against CORS.
Test: http/tests/security/shape-image-cors-redirect.html
- loader/CrossOriginAccessControl.cpp:
(WebCore::isValidCrossOriginRedirectionURL): Returns true if the redirected URL is a valid URL for cross-origin requests.
(WebCore::cleanRedirectedRequestForAccessControl): Removes all headers added by the network backend that may cause the response CORS validation to fail.
- loader/CrossOriginAccessControl.h: Added above function prototypes.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::redirectReceived): Used new CORS redirection methods of CrossOriginAccessControl.cpp.
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::init): Initialize the SecurityOrigin to be used for loading the resource.
(WebCore::SubresourceLoader::willSendRequest): Added cross-origin redirection response check.
(WebCore::SubresourceLoader::checkCrossOriginAccessControl): Checks CORS and update request if needed. Returns true if control checks passed.
- loader/SubresourceLoader.h: Added checkCrossOriginAccessControl declaration and m_origin declaration.
LayoutTests:
shape-image-cors-redirect.html checks that cross-origin redirections are checked against CORS.
It also checks that same-origin redirections are not checked against CORS.
- http/tests/security/resources/redirect-allow-star.php: Added.
- http/tests/security/shape-image-cors-redirect-expected.html: Added.
- http/tests/security/shape-image-cors-redirect.html: Added.
- 12:25 AM Changeset in webkit [199417] by
-
- 8 edits247 copies737 moves2 adds245 deletes in releases/WebKitGTK/webkit-2.12/LayoutTests
Merge r198394 - Move IndexedDB regular test to web-platform-tests
https://bugs.webkit.org/show_bug.cgi?id=155581
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Moving regular IndexedDB tests from LayoutTests/imported/w3c/indexeddb to LayoutTests/imported/w3c/web-platform-tests/IndexedDB.
Moving private browsing IndexedDB tests from LayoutTests/imported/w3c/indexeddb to LayoutTests/imported/w3c/IndexedDB-private-browsing.
Removed private prefix from private browsing IndexedDB tests since they are stored in their own folder.
Modified support.js to remove unnecessary calls to testRunner API.
Modified also IndexedDB-private-browsing/support.js to always activate testRunner private browsing mode.
LayoutTests:
Renaming indexeddb test expectation according new path and directory name.
- TestExpectations:
- platform/efl/TestExpectations:
- platform/gtk/TestExpectations:
- platform/ios-simulator-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/win/TestExpectations:
Apr 12, 2016:
- 11:53 PM Changeset in webkit [199416] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198387 - Data URL DecodeTask may get deleted outside main thread
https://bugs.webkit.org/show_bug.cgi?id=155584
rdar://problem/24492104
Reviewed by Darin Adler.
This is unsafe as it owns strings and other types that are only safe to delete in the main thread.
There is a race between deref in dispatch() and deref in timerFired(). If the timer fires before dispatch()
exits the implicit deref will trigger deletion of DecodingResultDispatcher in the dispatching thread.
(WebCore::DataURLDecoder::DecodingResultDispatcher::timerFired):
Fix by clearing m_decodeTask when the timer fires.
- 11:51 PM Changeset in webkit [199415] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198377 - [XSS Auditor] Off by one in XSSAuditor::canonicalizedSnippetForJavaScript()
https://bugs.webkit.org/show_bug.cgi?id=155624
<rdar://problem/25219962>
Unreviewed merge from Blink (patch by Tom Sepez <tsepez@chromium.org>):
<https://src.chromium.org/viewvc/blink?revision=201803&view=revision>
Source/WebCore:
Test: http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html
- html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::canonicalizedSnippetForJavaScript): Correct off-by-one error.
LayoutTests:
- http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode-expected.txt: Added.
- http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html: Added.
- 11:48 PM Changeset in webkit [199414] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198374 - Images in feed on ebay.com jiggle when one is hovered
https://bugs.webkit.org/show_bug.cgi?id=155608
<rdar://problem/25160681>
The content offset in compositing layer = subpixel gap between the graphics layer and the layer bounds + layer bounds top left.
Reviewed by Simon Fraser.
Source/WebCore:
Test: compositing/hidpi-viewport-clipping-on-composited-content.html
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
- rendering/RenderLayerBacking.h:
LayoutTests:
- compositing/hidpi-viewport-clipping-on-composited-content-expected.html: Added.
- compositing/hidpi-viewport-clipping-on-composited-content.html: Added.
- 11:47 PM Changeset in webkit [199413] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198372 - Don't initiate a style recall while drawing text
https://bugs.webkit.org/show_bug.cgi?id=155618
Patch by Zalan Bujtas <Alan Bujtas> on 2016-03-17
Reviewed by Simon Fraser.
This patch ensures that we don't initiate a style recalc while in the middle of text drawing.
Source/WebCore:
Test: fast/canvas/crash-while-resizing-canvas.html
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
LayoutTests:
- fast/canvas/crash-while-resizing-canvas-expected.txt: Added.
- fast/canvas/crash-while-resizing-canvas.html: Added.
- 11:46 PM Changeset in webkit [199412] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198370 - Improve some metadata tests
https://bugs.webkit.org/show_bug.cgi?id=155616
Patch by Eric Carlson <eric.carlson@apple.com> on 2016-03-17
Reviewed by Saam Barati.
- html/track/DataCue.cpp:
(WebCore::DataCue::DataCue):
(WebCore::DataCue::setData):
- 11:45 PM Changeset in webkit [199411] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198361 - Some media tests are flaky.
https://bugs.webkit.org/show_bug.cgi?id=155614
Reviewed by Eric Carlson.
- html/track/TextTrack.cpp:
(WebCore::TextTrack::~TextTrack):
- 11:44 PM Changeset in webkit [199410] by
-
- 3 edits3 adds in releases/WebKitGTK/webkit-2.12
Merge r198357 - Don't try to restore deleted MemoryIndexes if their owning object store is not restored.
https://bugs.webkit.org/show_bug.cgi?id=155068
Reviewed by Alex Christensen.
Source/WebCore:
Test: storage/indexeddb/modern/deleteindex-4-private.html
- Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::indexDeleted):
LayoutTests:
- storage/indexeddb/modern/deleteindex-4-private-expected.txt: Added.
- storage/indexeddb/modern/deleteindex-4-private.html: Added.
- storage/indexeddb/modern/resources/deleteindex-4.js: Added.
- 11:41 PM Changeset in webkit [199409] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12/Source/WTF
Merge r198345 - Silence leaks in ParkingLot
https://bugs.webkit.org/show_bug.cgi?id=155510
Reviewed by Alexey Proskuryakov.
ParkingLot has a concurrent hashtable that it reallocates on demand. It will not reallocate
it in steady state. The hashtable is sized to accommodate the high watermark of the number
of active threads - so long as the program doesn't just keep starting an unbounded number
of threads that are all active, the hashtable will stop resizing. Each resize operation is
designed to stay out of the way of the data-access-parallel normal path, in which two
threads operating on different lock addresses don't have to synchronize. To do this, it
simply drops the old hashtable without deleting it, so that threads that were still using
it don't crash. They will realize that they have the wrong hashtable before doing anything
bad, but we don't have a way of proving when all of those threads are no longer going to
read from the old hashtables. So, we just leak them.
This is a bounded leak, since the hashtable resizes exponentially. Thus the total memory
utilization of all hashtables, including the leaked ones, converges to a linear function of
the current hashtable's size (it's 2 * size of current hashtable).
But this leak is a problem for leaks tools, which will always report this leak. This is not
useful. It's better to silence the leak. That's what this patch does by ensuring that all
hashtables, including leaked ones, end up in a global vector. This is perf-neutral.
This requires making a StaticWordLock variant of WordLock. That's probably the biggest part
of this change.
- wtf/ParkingLot.cpp:
- wtf/WordLock.cpp:
(WTF::WordLockBase::lockSlow):
(WTF::WordLockBase::unlockSlow):
(WTF::WordLock::lockSlow): Deleted.
(WTF::WordLock::unlockSlow): Deleted.
- wtf/WordLock.h:
(WTF::WordLockBase::lock):
(WTF::WordLockBase::isLocked):
(WTF::WordLock::WordLock):
(WTF::WordLock::lock): Deleted.
(WTF::WordLock::isLocked): Deleted.
- 11:37 PM Changeset in webkit [199408] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198309 - Subpixel rendering: Directly composited image layers need pixelsnapping.
https://bugs.webkit.org/show_bug.cgi?id=155558
Reviewed by Simon Fraser.
In order to match non-composited image size/position, we need to pixelsnap both the contents and the clipping
layer bounds for directly composited images.
Source/WebCore:
Test: fast/images/hidpi-directly-composited-image-on-subpixel-position.html
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::resetContentsRect):
(WebCore::RenderLayerBacking::updateChildClippingStrategy):
(WebCore::RenderLayerBacking::updateImageContents):
LayoutTests:
- fast/images/hidpi-directly-composited-image-on-subpixel-position-expected.html: Added.
- fast/images/hidpi-directly-composited-image-on-subpixel-position.html: Added.
- 11:35 PM Changeset in webkit [199407] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198305 - Fix assertion failure on drive.google.com after r196052
https://bugs.webkit.org/show_bug.cgi?id=155562
Reviewed by Jer Noble.
- rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::mapToContainer):
Change float equality check to areEssentiallyEqual.
This assertion was failing because rendererMappedResult was (944.335693, 232.047409)
but result was (944.335693, 232.047394). They differ by (0, 0.000015).
- 11:34 PM Changeset in webkit [199406] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/JavaScriptCore
Merge r198296 - ASSERTION FAILED: !edge->isPhantomAllocation() in regress/script-tests/sink-huge-activation.js.ftl-eager in debug mode
https://bugs.webkit.org/show_bug.cgi?id=153805
Reviewed by Mark Lam.
The object allocation sinking phase uses InferredValue::isStillValid() in the opposite
way from most clients: it will do an *extra* optimization if it returns false. The
phase will first compute sink candidates and then it will compute materialization
points. If something is a sink candidate then it is not a materialization point. A
NewFunction node may appear as not being a sink candidate during the first pass, so it's
not added to the set of things that will turn into PhantomNewFunction. But on the second
pass where we add materializations, we check isStillValid() again. Now this may become
false, so that second pass thinks that NewFunction is a sink candidate (even though it's
not in the sink candidates set) and so is not a materialization point.
This manifests as the NewFunction referring to a PhantomCreateActivation or whatever.
The solution is to have the phase cache results of calls to isStillValid(). It's OK if
we just remember the result of the first call and assume that it's not a sink candidate.
That's the worst that can happen.
No new tests since this is a super hard race and sink-huge-activation seemed to already
be catching it.
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- 11:26 PM Changeset in webkit [199405] by
-
- 22 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198289 - URL Parsing should signal failure for illegal IDN
https://bugs.webkit.org/show_bug.cgi?id=154945
<rdar://problem/8014795>
Reviewed by Brent Fulgham.
Source/WebCore:
WebCore::URL will now invalidate URLs with illegal IDN. And functions inside WebCoreNSURLExtras.h
that deal with IDN mapping will now return nil to signal error.
Test: fast/url/invalid-idn.html
- platform/URL.cpp:
(WebCore::isSchemeFirstChar):
(WebCore::URL::init):
(WebCore::appendEncodedHostname):
(WebCore::encodeHostnames):
(WebCore::encodeRelativeString):
- platform/mac/WebCoreNSURLExtras.h:
- platform/mac/WebCoreNSURLExtras.mm:
(WebCore::mapHostNameWithRange):
(WebCore::hostNameNeedsDecodingWithRange):
(WebCore::hostNameNeedsEncodingWithRange):
(WebCore::decodeHostNameWithRange):
(WebCore::encodeHostNameWithRange):
(WebCore::decodeHostName):
(WebCore::encodeHostName):
(WebCore::collectRangesThatNeedMapping):
(WebCore::mapHostNames):
(WebCore::URLWithData):
(WebCore::dataWithUserTypedString):
(WebCore::URLWithUserTypedString):
(WebCore::URLWithUserTypedStringDeprecated):
(WebCore::userVisibleString):
Source/WebKit/ios:
- Misc/WebNSStringExtrasIOS.m:
(-[NSString _web_possibleURLsForForUserTypedString:]):
- WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder _updateTitleForURL:]):
Source/WebKit/mac:
In this patch, we add new SPIs _webkit_URLWithUserTypedString, _webkit_decodeHostName and
_webkit_encodeHostName which will return nil while dealing with illegal IDN.
Old SPIs _web_URLWithUserTypedString, _web_decodeHostName and _web_encodeHostName are marked
deprecated as they ignore URL parsing failure.
- History/WebHistoryItem.mm:
(-[WebHistoryItem initFromDictionaryRepresentation:]):
- Misc/WebKitErrors.m:
(+[NSError _webKitErrorWithCode:failingURL:]):
- Misc/WebNSFileManagerExtras.mm:
(-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]):
- Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_bestURL]):
- Misc/WebNSURLExtras.h:
- Misc/WebNSURLExtras.mm:
(+[NSURL _web_URLWithUserTypedString:]):
(+[NSURL _webkit_URLWithUserTypedString:relativeToURL:]):
(+[NSURL _webkit_URLWithUserTypedString:]):
(-[NSString _web_decodeHostName]):
(-[NSString _web_encodeHostName]):
(-[NSString _webkit_decodeHostName]):
(-[NSString _webkit_encodeHostName]):
- Panels/WebAuthenticationPanel.m:
(-[WebAuthenticationPanel setUpForChallenge:]):
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::canonicalizeURLString):
Tools:
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController fetch:]):
- TestWebKitAPI/Tests/Cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
LayoutTests:
- fast/url/host-expected.txt:
- fast/url/idna2003-expected.txt:
- fast/url/invalid-idn-expected.txt: Added.
- fast/url/invalid-idn.html: Added.
- 11:20 PM Changeset in webkit [199404] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198284 - Don't invalidate style unnecessarily when setting inline style cssText
https://bugs.webkit.org/show_bug.cgi?id=155541
rdar://problem/23318893
Reviewed by Simon Fraser.
Source/WebCore:
We currently invalidate style when cssText is set whether the style declaration changed or not.
Based on a patch by Simon.
Test: fast/css/style-invalidation-inline-csstext.html
- css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::cssText):
(WebCore::PropertySetCSSStyleDeclaration::setCssText):
Invalidate only if the parsed style changed.
- css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::parseDeclaration):
Compare the original and new style after parsing, return result.
- css/StyleProperties.h:
LayoutTests:
- fast/css/style-invalidation-inline-csstext-expected.txt: Added.
- fast/css/style-invalidation-inline-csstext.html: Added.
- 8:57 PM Changeset in webkit [199403] by
-
- 2 edits in trunk/Tools
Python test webkitpy.common.system.executive_unittest.ExecutiveTest.serial_test_kill_process is flaky
https://bugs.webkit.org/show_bug.cgi?id=155367
Reviewed by Darin Adler.
- Scripts/webkitpy/common/system/executive.py: (Executive.kill_process):
Don't flakily consume the return code with waitpid, callers need to do waitpid on
their own. Not sure if this line of code was even intentional.
- 8:14 PM Changeset in webkit [199402] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed undo change from ArrayClass to ArrayWithUndecided, which
was not intedend to land with r199397.
- runtime/ArrayPrototype.h:
(JSC::ArrayPrototype::createStructure):
- 7:29 PM Changeset in webkit [199401] by
-
- 5 edits2 adds in trunk/Source/WebKit2
REGRESSION (r198933): Unable to login to Google account from Internet Accounts preference pane
https://bugs.webkit.org/show_bug.cgi?id=156447
<rdar://problem/25628133>
Reviewed by Darin Adler.
Reverts the workaround landed in r199301 and teaches ProcessLauncherMac to use the code
signing identifier of the UI process as the client-identifier if it is signed. Otherwise,
we fall back to using the main bundle identifier or _NSGetProgname() depending on whether
the UI process has an associated app bundle.
- PlatformMac.cmake: Add file Shared/mac/CodeSigning.mm.
- Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::initializeSandbox):
(WebKit::codeSigningIdentifierForProcess): Deleted; moved from here to file Shared/mac/CodeSigning.mm.
- Shared/mac/CodeSigning.h: Added.
- Shared/mac/CodeSigning.mm: Added.
(WebKit::secCodeForCurrentProcess): Added.
(WebKit::secCodeForProcess): Added.
(WebKit::secCodeSigningInformation): Added.
(WebKit::appleSignedOrMacAppStoreSignedOrAppleDeveloperSignedRequirement): Added.
(WebKit::secCodeSigningIdentifier): Added.
(WebKit::codeSigningIdentifier): Returns the code signing identifier for the current process.
(WebKit::codeSigningIdentifierForProcess): Moved from file Shared/mac/ChildProcessMac.mm. Extracted logic
into various helper functions (above) so that it can be shared with WebKit::codeSigningIdentifier() as
well as to improve the readability of the code. Removed the OSStatus out argument that was used by callers
for logging purposes and moved such logging responsibility into WebKit::secCodeSigningIdentifier() as
a release assertion message since we always want to log this error when code signing validation fails. We
use a release assertion to cause a noticeable crash because we such failures should not occur and if they
do then we want to see crash reports so that we can handle such failures. Using a release assertion for
validation failures also simplifies the possible return values of this function as such failures represented
the only case where this function would return an empty string. We now return either a null string or a non-
empty string. We return a null string when the specified process is either unsigned or signed by a third-party;
otherwise, we return a non-empty string that represents the code signing identifier.
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService): Use the code signing identifier for the client-identifier if we have one (e.g.
we are signed app). If we do not have a code signing identifier then take client-identifier to be the
bundle identifier of our main bundle. Failing that we take client-identifier to be _NSGetProgname().
- WebKit2.xcodeproj/project.pbxproj: Add files Shared/mac/CodeSigning.{h, mm}.
- 6:31 PM Changeset in webkit [199400] by
-
- 24 edits56 deletes in trunk
Rollout: ES6: Implement String.prototype.split and RegExp.prototype[@@split].
https://bugs.webkit.org/show_bug.cgi?id=156013
Speculative rollout to fix 32-bit shadow-chicken.yaml/tests/v8-v6/v8-regexp.js.shadow-chicken test failure.
Not reviewed.
Source/JavaScriptCore:
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/GlobalObject.js:
(speciesGetter):
(speciesConstructor): Deleted.
- builtins/PromisePrototype.js:
- builtins/RegExpPrototype.js:
(advanceStringIndexUnicode):
(match):
(advanceStringIndex): Deleted.
(regExpExec): Deleted.
(hasObservableSideEffectsForRegExpSplit): Deleted.
(split): Deleted.
- builtins/StringPrototype.js:
(repeat):
(split): Deleted.
- bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
(JSC::BytecodeIntrinsicRegistry::lookup):
- bytecode/BytecodeIntrinsicRegistry.h:
- runtime/CommonIdentifiers.h:
- runtime/ECMAScriptSpecInternalFunctions.cpp: Removed.
- runtime/ECMAScriptSpecInternalFunctions.h: Removed.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::setGlobalThis):
(JSC::JSGlobalObject::init):
(JSC::getGetterById): Deleted.
- runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::setDescriptor):
- runtime/RegExpObject.h:
(JSC::RegExpObject::offsetOfLastIndexIsWritable):
- runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncSearch):
(JSC::advanceStringIndex): Deleted.
(JSC::regExpProtoFuncSplitFast): Deleted.
- runtime/RegExpPrototype.h:
- runtime/StringObject.h:
(JSC::jsStringWithReuse): Deleted.
(JSC::jsSubstring): Deleted.
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::jsStringWithReuse):
(JSC::jsSubstring):
(JSC::substituteBackreferencesSlow):
(JSC::splitStringByOneCharacterImpl):
(JSC::stringProtoFuncSplit):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncEndsWith):
(JSC::stringProtoFuncIncludes):
(JSC::stringProtoFuncIterator):
(JSC::stringProtoFuncSplitFast): Deleted.
(JSC::builtinStringSubstrInternal): Deleted.
(JSC::stringIncludesImpl): Deleted.
(JSC::builtinStringIncludesInternal): Deleted.
- runtime/StringPrototype.h:
- tests/es6.yaml:
LayoutTests:
- js/Object-getOwnPropertyNames-expected.txt:
- js/dom/string-prototype-properties-expected.txt:
- js/regress/regexp-prototype-split-observable-side-effects-expected.txt: Removed.
- js/regress/regexp-prototype-split-observable-side-effects.html: Removed.
- js/regress/regexp-prototype-split-observable-side-effects2-expected.txt: Removed.
- js/regress/regexp-prototype-split-observable-side-effects2.html: Removed.
- js/regress/regexp-prototype-split-observable-side-effects3-flags-expected.txt: Removed.
- js/regress/regexp-prototype-split-observable-side-effects3-flags.html: Removed.
- js/regress/regexp-prototype-split-observable-side-effects3-global-expected.txt: Removed.
- js/regress/regexp-prototype-split-observable-side-effects3-global.html: Removed.
- js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Removed.
- js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase.html: Removed.
- js/regress/regexp-prototype-split-observable-side-effects3-multiline-expected.txt: Removed.
- js/regress/regexp-prototype-split-observable-side-effects3-multiline.html: Removed.
- js/regress/regexp-prototype-split-observable-side-effects3-sticky-expected.txt: Removed.
- js/regress/regexp-prototype-split-observable-side-effects3-sticky.html: Removed.
- js/regress/regexp-prototype-split-observable-side-effects3-unicode-expected.txt: Removed.
- js/regress/regexp-prototype-split-observable-side-effects3-unicode.html: Removed.
- js/regress/regexp-prototype-split-observable-side-effects4-expected.txt: Removed.
- js/regress/regexp-prototype-split-observable-side-effects4.html: Removed.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects.js: Removed.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects2.js: Removed.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-flags.js: Removed.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-global.js: Removed.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-ignoreCase.js: Removed.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-multiline.js: Removed.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-sticky.js: Removed.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-unicode.js: Removed.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects4.js: Removed.
- js/regress/script-tests/string-prototype-split-observable-side-effects.js: Removed.
- js/regress/script-tests/string-prototype-split-observable-side-effects2.js: Removed.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-flags.js: Removed.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-global.js: Removed.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-ignoreCase.js: Removed.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-multiline.js: Removed.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-sticky.js: Removed.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-unicode.js: Removed.
- js/regress/script-tests/string-prototype-split-observable-side-effects4.js: Removed.
- js/regress/string-prototype-split-observable-side-effects-expected.txt: Removed.
- js/regress/string-prototype-split-observable-side-effects.html: Removed.
- js/regress/string-prototype-split-observable-side-effects2-expected.txt: Removed.
- js/regress/string-prototype-split-observable-side-effects2.html: Removed.
- js/regress/string-prototype-split-observable-side-effects3-flags-expected.txt: Removed.
- js/regress/string-prototype-split-observable-side-effects3-flags.html: Removed.
- js/regress/string-prototype-split-observable-side-effects3-global-expected.txt: Removed.
- js/regress/string-prototype-split-observable-side-effects3-global.html: Removed.
- js/regress/string-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Removed.
- js/regress/string-prototype-split-observable-side-effects3-ignoreCase.html: Removed.
- js/regress/string-prototype-split-observable-side-effects3-multiline-expected.txt: Removed.
- js/regress/string-prototype-split-observable-side-effects3-multiline.html: Removed.
- js/regress/string-prototype-split-observable-side-effects3-sticky-expected.txt: Removed.
- js/regress/string-prototype-split-observable-side-effects3-sticky.html: Removed.
- js/regress/string-prototype-split-observable-side-effects3-unicode-expected.txt: Removed.
- js/regress/string-prototype-split-observable-side-effects3-unicode.html: Removed.
- js/regress/string-prototype-split-observable-side-effects4-expected.txt: Removed.
- js/regress/string-prototype-split-observable-side-effects4.html: Removed.
- js/script-tests/Object-getOwnPropertyNames.js:
- sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:
- 6:07 PM Changeset in webkit [199399] by
-
- 9 edits in trunk/Source/WebKit2
Should retrieve text surrounding the selection when performing lookup.
https://bugs.webkit.org/show_bug.cgi?id=156525
rdar://problem/25043678
Reviewed by Tim Horton.
The lookup functionality requires the surrounding text to improve
the quality of the results. This patch changes the implementation of
_lookup to retrieve the text before and the text after the selection.
It also renames DictationContextCallback to SelectionContextCallback so
that it can be used for both dictation and lookup, since they both need
the surrounding text.
- UIProcess/AutoCorrectionCallback.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _lookup:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::autocorrectionDataCallback):
(WebKit::WebPageProxy::selectionContextCallback):
(WebKit::WebPageProxy::getAutocorrectionContext):
(WebKit::WebPageProxy::getSelectionContext):
(WebKit::WebPageProxy::handleTwoFingerTapAtPoint):
(WebKit::WebPageProxy::dictationContextCallback): Deleted.
(WebKit::WebPageProxy::getLookupContextAtPoint): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::performDefaultBehaviorForKeyEvent):
(WebKit::WebPage::getSelectionContext):
(WebKit::WebPage::accessibilityObjectForMainFramePlugin):
(WebKit::WebPage::requestDictationContext):
(WebKit::WebPage::replaceSelectedText):
(WebKit::WebPage::getLookupContextAtPoint): Deleted.
- 5:48 PM Changeset in webkit [199398] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove 2 unused JSC options.
https://bugs.webkit.org/show_bug.cgi?id=156526
Reviewed by Benjamin Poulain.
The options JSC_assertICSizing and JSC_dumpFailedICSizing are no longer in use
now that we have B3.
- runtime/Options.h:
- 5:37 PM Changeset in webkit [199397] by
-
- 40 edits5 adds in trunk
[ES6] Add support for Symbol.isConcatSpreadable.
https://bugs.webkit.org/show_bug.cgi?id=155351
Reviewed by Saam Barati.
Source/JavaScriptCore:
This patch adds support for Symbol.isConcatSpreadable. In order to do so it was necessary to move the
Array.prototype.concat function to JS. A number of different optimizations were needed to make such the move to
a builtin performant. First, four new DFG intrinsics were added.
1) IsArrayObject (I would have called it IsArray but we use the same name for an IndexingType): an intrinsic of
the Array.isArray function.
2) IsJSArray: checks the first child is a JSArray object.
3) IsArrayConstructor: checks the first child is an instance of ArrayConstructor.
4) CallObjectConstructor: an intrinsic of the Object constructor.
IsActualObject, IsJSArray, and CallObjectConstructor can all be converted into constants in the abstract interpreter if
we are able to prove that the first child is an Array or for ToObject an Object.
In order to further improve the perfomance we also now cover more indexing types in our fast path memcpy
code. Before we would only memcpy Arrays if they had the same indexing type and did not have Array storage and
were not undecided. Now the memcpy code covers the following additional two cases: One array is undecided and
the other is a non-array storage and the case where one array is Int32 and the other is contiguous (we map this
into a contiguous array).
This patch also adds a new fast path for concat with more than one array argument by using memcpy to append
values onto the result array. This works roughly the same as the two array fast path using the same methodology
to decide if we can memcpy the other butterfly into the result butterfly.
Two new debugging tools are also added to the jsc cli. One is a version of the print function with a private
name so it can be used for debugging builtins. The other is dumpDataLog, which takes a JSValue and runs our
dataLog function on it.
Finally, this patch add a new constructor to JSValueRegsTemporary that allows it to reuse the the registers of a
JSValueOperand if the operand's use count is one.
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/ArrayPrototype.js:
(concatSlowPath):
(concat):
- bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
- bytecode/BytecodeIntrinsicRegistry.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::compileIsJSArray):
(JSC::DFG::SpeculativeJIT::compileIsArrayObject):
(JSC::DFG::SpeculativeJIT::compileIsArrayConstructor):
(JSC::DFG::SpeculativeJIT::compileCallObjectConstructor):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileCallObjectConstructor):
(JSC::FTL::DFG::LowerDFGToB3::compileIsArrayObject):
(JSC::FTL::DFG::LowerDFGToB3::compileIsJSArray):
(JSC::FTL::DFG::LowerDFGToB3::compileIsArrayConstructor):
(JSC::FTL::DFG::LowerDFGToB3::isArray):
- jit/JITOperations.h:
- jsc.cpp:
(GlobalObject::finishCreation):
(functionDataLogValue):
- runtime/ArrayConstructor.cpp:
(JSC::ArrayConstructor::finishCreation):
(JSC::arrayConstructorPrivateFuncIsArrayConstructor):
- runtime/ArrayConstructor.h:
(JSC::isArrayConstructor):
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
(JSC::arrayProtoPrivateFuncIsJSArray):
(JSC::moveElements):
(JSC::arrayProtoPrivateFuncConcatMemcpy):
(JSC::arrayProtoPrivateFuncAppendMemcpy):
(JSC::arrayProtoFuncConcat): Deleted.
- runtime/ArrayPrototype.h:
(JSC::ArrayPrototype::createStructure):
- runtime/CommonIdentifiers.h:
- runtime/Intrinsic.h:
- runtime/JSArray.cpp:
(JSC::JSArray::appendMemcpy):
(JSC::JSArray::fastConcatWith): Deleted.
- runtime/JSArray.h:
(JSC::JSArray::createStructure):
(JSC::JSArray::fastConcatType): Deleted.
- runtime/JSArrayInlines.h: Added.
(JSC::JSArray::memCopyWithIndexingType):
(JSC::JSArray::canFastCopy):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSType.h:
- runtime/ObjectConstructor.h:
(JSC::constructObject):
- tests/es6.yaml:
- tests/stress/array-concat-spread-object.js: Added.
(arrayEq):
- tests/stress/array-concat-spread-proxy-exception-check.js: Added.
(arrayEq):
- tests/stress/array-concat-spread-proxy.js: Added.
(arrayEq):
- tests/stress/array-concat-with-slow-indexingtypes.js: Added.
(arrayEq):
- tests/stress/array-species-config-array-constructor.js:
LayoutTests:
Fix tests for Symbol.isConcatSpreadable on the Symbol object.
- js/Object-getOwnPropertyNames-expected.txt:
- js/dom/array-prototype-properties-expected.txt:
- js/script-tests/Object-getOwnPropertyNames.js:
- 4:57 PM Changeset in webkit [199396] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: save inspector's zoom factor as a persistent setting across sessions
https://bugs.webkit.org/show_bug.cgi?id=156522
<rdar://problem/25635774>
Reviewed by Timothy Hatcher.
- UserInterface/Base/Main.js:
(WebInspector.loaded):
Initialize the setting and immediately set the zoom before the frontend page loads.
(WebInspector._increaseZoom):
(WebInspector._decreaseZoom):
(WebInspector._resetZoom):
Use the internal get/set method which updates the WebInspector.Setting.
(WebInspector._setZoomFactor):
Added. Round-trip through the frontend host method in case it further clamps the value.
(WebInspector._zoomFactor):
Added. Just return the setting, since there's no other way for zoom to have changed.
- 3:48 PM Changeset in webkit [199395] by
-
- 2 edits in trunk/Source/WebKit2
Web Inspector: Dock controls are not available in toolbar if Web Inspector window leaves fullscreen
https://bugs.webkit.org/show_bug.cgi?id=156520
<rdar://problem/22101106>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-12
Reviewed by Timothy Hatcher.
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCanAttach):
Be more explicit about the attachment view check. Its intent
was to prevent allowing a 2nd level inspector from attaching
to a 1st level inspector. We can use a stronger check. Also,
remove deprecated pragmas by switching to new value.
- 3:42 PM Changeset in webkit [199394] by
-
- 3 edits in trunk/Source/JavaScriptCore
Lets not iterate over the constant pool twice every time we link a code block
https://bugs.webkit.org/show_bug.cgi?id=156517
Reviewed by Mark Lam.
I introduced a second iteration over the constant pool when I implemented
block scoping. I did this because we must clone all the symbol tables when
we link a CodeBlock. We can just do this cloning when setting the constant
registers for the first time. There is no need to iterate over the constant
pool a second time.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::setConstantRegisters):
(JSC::CodeBlock::setAlternative):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::replaceConstant):
(JSC::CodeBlock::setConstantRegisters): Deleted.
- 3:40 PM Changeset in webkit [199393] by
-
- 24 edits56 adds in trunk
ES6: Implement String.prototype.split and RegExp.prototype[@@split].
https://bugs.webkit.org/show_bug.cgi?id=156013
Reviewed by Keith Miller.
Source/JavaScriptCore:
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/GlobalObject.js:
(speciesConstructor):
- builtins/PromisePrototype.js:
- refactored to use the @speciesConstructor internal function.
- builtins/RegExpPrototype.js:
(advanceStringIndex):
- refactored from @advanceStringIndexUnicode() to be match the spec. Benchmarks show that there's no advantage in doing the unicode check outside of the advanceStringIndexUnicode part. So, I simplified the code to match the spec (especially since @@split needs to call advanceStringIndex from more than 1 location).
(match):
- Removed an unnecessary call to @Object because it was already proven above.
- Changed to use advanceStringIndex instead of advanceStringIndexUnicode. Again, there's no perf regression for this.
(regExpExec):
(hasObservableSideEffectsForRegExpSplit):
(split):
(advanceStringIndexUnicode): Deleted.
- builtins/StringPrototype.js:
(split):
- Modified to use RegExp.prototype[@@split].
- bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
(JSC::BytecodeIntrinsicRegistry::lookup):
- bytecode/BytecodeIntrinsicRegistry.h:
- Added the @@split symbol.
- runtime/CommonIdentifiers.h:
- runtime/ECMAScriptSpecInternalFunctions.cpp: Added.
(JSC::esSpecIsConstructor):
(JSC::esSpecIsRegExp):
- runtime/ECMAScriptSpecInternalFunctions.h: Added.
- runtime/JSGlobalObject.cpp:
(JSC::getGetterById):
(JSC::JSGlobalObject::init):
- runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::setDescriptor):
- Removed an assert that is no longer valid.
- runtime/RegExpObject.h:
- Made advanceStringUnicode() public so that it can be re-used by the regexp split fast path.
- runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncSearch):
(JSC::advanceStringIndex):
(JSC::regExpProtoFuncSplitFast):
- runtime/RegExpPrototype.h:
- runtime/StringObject.h:
(JSC::jsStringWithReuse):
(JSC::jsSubstring):
- Hoisted some utility functions from StringPrototype.cpp so that they can be reused by the regexp split fast path.
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::stringProtoFuncSplitFast):
(JSC::stringProtoFuncSubstr):
(JSC::builtinStringSubstrInternal):
(JSC::stringProtoFuncSubstring):
(JSC::stringIncludesImpl):
(JSC::stringProtoFuncIncludes):
(JSC::builtinStringIncludesInternal):
(JSC::jsStringWithReuse): Deleted.
(JSC::jsSubstring): Deleted.
(JSC::stringProtoFuncSplit): Deleted.
- runtime/StringPrototype.h:
- tests/es6.yaml:
LayoutTests:
- js/Object-getOwnPropertyNames-expected.txt:
- js/dom/string-prototype-properties-expected.txt:
- js/regress/regexp-prototype-split-observable-side-effects-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects2-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects2.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-flags-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-flags.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-global-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-global.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-multiline-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-multiline.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-sticky-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-sticky.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-unicode-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects3-unicode.html: Added.
- js/regress/regexp-prototype-split-observable-side-effects4-expected.txt: Added.
- js/regress/regexp-prototype-split-observable-side-effects4.html: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects2.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-flags.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-global.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-ignoreCase.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-multiline.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-sticky.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects3-unicode.js: Added.
- js/regress/script-tests/regexp-prototype-split-observable-side-effects4.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects2.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-flags.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-global.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-ignoreCase.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-multiline.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-sticky.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects3-unicode.js: Added.
- js/regress/script-tests/string-prototype-split-observable-side-effects4.js: Added.
- js/regress/string-prototype-split-observable-side-effects-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects.html: Added.
- js/regress/string-prototype-split-observable-side-effects2-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects2.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-flags-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-flags.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-global-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-global.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-ignoreCase.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-multiline-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-multiline.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-sticky-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-sticky.html: Added.
- js/regress/string-prototype-split-observable-side-effects3-unicode-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects3-unicode.html: Added.
- js/regress/string-prototype-split-observable-side-effects4-expected.txt: Added.
- js/regress/string-prototype-split-observable-side-effects4.html: Added.
- js/script-tests/Object-getOwnPropertyNames.js:
- sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:
- 3:38 PM Changeset in webkit [199392] by
-
- 7 edits2 adds in trunk
Attr.value should not be nullable
https://bugs.webkit.org/show_bug.cgi?id=156515
Reviewed by Benjamin Poulain.
Source/WebCore:
Update Attr.value so that it is no longer nullable, as per:
https://dom.spec.whatwg.org/#interface-attr
This aligns our behavior with Firefox and Chrome as well.
Test: fast/dom/Attr/value-not-nullable.html
- dom/Attr.cpp:
(WebCore::Attr::setValueForBindings):
(WebCore::Attr::setNodeValue):
(WebCore::Attr::setValue):
- dom/Attr.h:
- dom/Attr.idl:
LayoutTests:
Add layout test and rebaseline existing one now that Attr.value is no
longer nullable.
- fast/dom/Attr/value-not-nullable-expected.txt: Added.
- fast/dom/Attr/value-not-nullable.html: Added.
- fast/dom/coreDOM-element-attribute-js-null-expected.txt:
- fast/dom/coreDOM-element-attribute-js-null.xhtml:
- 2:52 PM Changeset in webkit [199391] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
AbstractValue should use the result type to filter structures
https://bugs.webkit.org/show_bug.cgi?id=156516
Reviewed by Geoffrey Garen.
When filtering an AbstractValue with a SpeculatedType we would not use the merged type when
filtering out the valid structures (despite what the comment directly above said). This
would cause us to crash if our structure-set was Top and the two speculated types were
different kinds of cells.
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::filter):
- tests/stress/ai-consistency-filter-cells.js: Added.
(get value):
(attribute.value.get record):
(attribute.attrs.get this):
(get foo):
(let.thisValue.return.serialize):
(let.thisValue.transformFor):
- 2:35 PM Changeset in webkit [199390] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Show the normal Native icon for all Internal objects in Heap Snapshots
https://bugs.webkit.org/show_bug.cgi?id=156513
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-12
Reviewed by Timothy Hatcher.
- UserInterface/Views/HeapSnapshotClusterContentView.js:
(WebInspector.HeapSnapshotClusterContentView.iconStyleClassNameForClassName):
Show the native icon for internal objects.
- 2:10 PM Changeset in webkit [199389] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, remove FIXME for https://bugs.webkit.org/show_bug.cgi?id=156457 and replace it
with a comment that describes what we do now.
- bytecode/PolymorphicAccess.h:
- 2:04 PM Changeset in webkit [199388] by
-
- 5 edits in trunk/Websites/perf.webkit.org
Make sync-buildbot.js fault safe
https://bugs.webkit.org/show_bug.cgi?id=156498
Reviewed by Chris Dumez.
Fixed a bug that sync-buildbot.js will continue to schedule build requests from multiple test groups
if multiple test groups are simultaneously in-progress on the same builder. Also fixed a bug that if
a build request had failed without leaving a trace (i.e. no entry on any of the builders we know of),
sync-buildbot.js throws an exception.
- server-tests/tools-buildbot-triggerable-tests.js: Added test cases.
- tools/js/buildbot-syncer.js:
(BuildbotSyncer.prototype.scheduleRequestInGroupIfAvailable): Renamed. Optionally takes the slave name.
When this parameter is specified, schedule the request only if the specified slave is available.
- tools/js/buildbot-triggerable.js:
(BuildbotTriggerable.prototype._scheduleNextRequestInGroupIfSlaveIsAvailable): Always use
scheduleRequestInGroupIfAvailable to schedule a new build request. Using scheduleRequest for non-first
build requests was problematic when there were multiple test groups with pending requests because then
we would schedule those pending requests without checking whether there is already a pending job or if
we have previously scheduled a job. Also fallback to use any syncer / builder when groupInfo.syncer is
not set even if the next request was not the first one in the test group since we can't determine on
which builder preceding requests are processed in such cases.
- unit-tests/buildbot-syncer-tests.js:
- 2:03 PM Changeset in webkit [199387] by
-
- 2 edits in trunk/LayoutTests
Web Inspector: inspector/heap/getRemoteObject.html is flakey
<http://webkit.org/b/156077>
Unreviewed test expectations update.
- platform/mac-wk2/TestExpectations:
(inspector/heap/getRemoteObject.html): Update bug number.
- 1:56 PM Changeset in webkit [199386] by
-
- 2 edits in trunk/LayoutTests
Web Inspector: inspector/heap/getRemoteObject.html is flakey
<http://webkit.org/b/156514>
Unreviewed test expectations update.
- platform/mac-wk2/TestExpectations:
(inspector/heap/getRemoteObject.html): Mark as flakey.
- 1:47 PM Changeset in webkit [199385] by
-
- 2 edits in trunk/Source/WebCore
Fixed uninitialization of Node::DataUnion with GCC 4.8.
https://bugs.webkit.org/show_bug.cgi?id=156507
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-04-12
Reviewed by Michael Catanzaro.
This change fixes run time crashes caused by access to uninitialized
memory in Node::renderer().
No new tests needed.
- dom/Node.h:
- 1:47 PM Changeset in webkit [199384] by
-
- 2 edits in trunk/Source/JavaScriptCore
isLocked() assertion broke builds because ConcurrentJITLock isn't always a real lock.
Rubber-stamped by Filip Pizlo.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::resultProfileForBytecodeOffset):
(JSC::CodeBlock::ensureResultProfile):
- 1:40 PM Changeset in webkit [199383] by
-
- 3 edits in trunk/Source/WebCore
[iOS] do not exit AirPlay when the screen locks
https://bugs.webkit.org/show_bug.cgi?id=156502
<rdar://problem/24616592>
Reviewed by Jer Noble.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Add logging.
(WebCore::HTMLMediaElement::purgeBufferedDataIfPossible): Don't tell the media engine to purge
data if it is playing to a wireless target because that will drop the connection.
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackPermitted): Add logging.
(WebCore::MediaElementSession::canPlayToWirelessPlaybackTarget): Drive by fix: iOS doesn't
have an explicit playbackTarget, don't test for it.
(WebCore::MediaElementSession::isPlayingToWirelessPlaybackTarget): Ditto.
- 1:06 PM Changeset in webkit [199382] by
-
- 14 edits in trunk/Source
PolymorphicAccess should buffer AccessCases before regenerating
https://bugs.webkit.org/show_bug.cgi?id=156457
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
Prior to this change, whenever we added an AccessCase to a PolymorphicAccess, we would
regenerate the whole stub. That meant that we'd do O(N2) work for N access cases.
One way to fix this is to have each AccessCase generate a stub just for itself, which
cascades down to the already-generated cases. But that removes the binary switch
optimization, which makes the IC perform great even when there are many cases.
This change fixes the issue by buffering access cases. When we take slow path and try to add
a new case, the StructureStubInfo will usually just buffer the new case without generating
new code. We simply guarantee that after we buffer a case, we will take at most
Options::repatchBufferingCountdown() slow path calls before generating code for it. That
option is currently 7. Taking 7 more slow paths means that we have 7 more opportunities to
gather more access cases, or to realize that this IC is too crazy to bother with.
This change ensures that the DFG still gets the same kind of profiling. This is because the
buffered AccessCases are still part of PolymorphicAccess and so are still scanned by
GetByIdStatus and PutByIdStatus. The fact that the AccessCases hadn't been generated and so
hadn't executed doesn't change much. Mainly, it increases the likelihood that the DFG will
see an access case that !couldStillSucceed(). The DFG's existing profile parsing logic can
handle this just fine.
There are a bunch of algorithmic changes here. StructureStubInfo now caches the set of
structures that it has seen as a guard to prevent adding lots of redundant cases, in case
we see the same 7 cases after buffering the first one. This cache means we won't wastefully
allocate 7 identical AccessCase instances. PolymorphicAccess is now restructured around
having separate addCase() and regenerate() calls. That means a bit more moving data around.
So far that seems OK for performance, probably since it's O(N) work rather than O(N2) work.
There is room for improvement for future patches, to be sure.
This is benchmarking as slightly positive or neutral on JS benchmarks. It's meant to reduce
pathologies I saw in page loads.
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/PolymorphicAccess.cpp:
(JSC::PolymorphicAccess::PolymorphicAccess):
(JSC::PolymorphicAccess::~PolymorphicAccess):
(JSC::PolymorphicAccess::addCases):
(JSC::PolymorphicAccess::addCase):
(JSC::PolymorphicAccess::visitWeak):
(JSC::PolymorphicAccess::dump):
(JSC::PolymorphicAccess::commit):
(JSC::PolymorphicAccess::regenerate):
(JSC::PolymorphicAccess::aboutToDie):
(WTF::printInternal):
(JSC::PolymorphicAccess::regenerateWithCases): Deleted.
(JSC::PolymorphicAccess::regenerateWithCase): Deleted.
- bytecode/PolymorphicAccess.h:
(JSC::AccessCase::isGetter):
(JSC::AccessCase::callLinkInfo):
(JSC::AccessGenerationResult::AccessGenerationResult):
(JSC::AccessGenerationResult::madeNoChanges):
(JSC::AccessGenerationResult::gaveUp):
(JSC::AccessGenerationResult::buffered):
(JSC::AccessGenerationResult::generatedNewCode):
(JSC::AccessGenerationResult::generatedFinalCode):
(JSC::AccessGenerationResult::shouldGiveUpNow):
(JSC::AccessGenerationResult::generatedSomeCode):
(JSC::PolymorphicAccess::isEmpty):
(JSC::PolymorphicAccess::size):
(JSC::PolymorphicAccess::at):
- bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeForStubInfo):
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::StructureStubInfo):
(JSC::StructureStubInfo::addAccessCase):
(JSC::StructureStubInfo::reset):
(JSC::StructureStubInfo::visitWeakReferences):
- bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::considerCaching):
(JSC::StructureStubInfo::willRepatch): Deleted.
(JSC::StructureStubInfo::willCoolDown): Deleted.
- jit/JITOperations.cpp:
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
(JSC::repatchGetByID):
(JSC::tryCachePutByID):
(JSC::repatchPutByID):
(JSC::tryRepatchIn):
(JSC::repatchIn):
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::putByIndex):
(JSC::JSValue::structureOrNull):
(JSC::JSValue::structureOrUndefined):
- runtime/Options.h:
Source/WTF:
- wtf/TinyPtrSet.h:
(WTF::TinyPtrSet::add): Add a helpful comment because I had forgotten what the bool return meant.
- 12:37 PM Changeset in webkit [199381] by
-
- 2 edits in trunk/Source/WebCore
WebKit should adopt journal_mode=wal for all SQLite databases.
https://bugs.webkit.org/show_bug.cgi?id=133496
Rubber stamped by Chris Dumez.
Temporarily disable on iOS - this broke a test.
(storage/websql/alter-to-info-table.html)
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open):
- 12:35 PM Changeset in webkit [199380] by
-
- 22 edits in trunk/Source
Web Inspector: Keyboard shortcut for "Inspect Element" only works when Web Inspector is open.
https://bugs.webkit.org/show_bug.cgi?id=111193
<rdar://problem/13325889>
Reviewed by Timothy Hatcher.
Source/WebCore:
- inspector/InspectorClient.h:
(WebCore::InspectorClient::elementSelectionChanged):
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setSearchingForNode):
Inform the client when element selection changes.
Source/WebInspectorUI:
- UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype.set inspectModeEnabled):
(WebInspector.DOMTreeManager.set inspectModeEnabled.callback):
- UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setElementSelectionEnabled):
Frontend API to enable element selection.
Source/WebKit2:
- UIProcess/API/C/WKInspector.cpp:
(WKInspectorIsElementSelectionActive):
(WKInspectorToggleElementSelection):
- UIProcess/API/C/WKInspector.h:
API for WebKit clients to toggle element selection.
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::toggleElementSelection):
(WebKit::WebInspectorProxy::elementSelectionChanged):
- UIProcess/WebInspectorProxy.h:
(WebKit::WebInspectorProxy::isElementSelectionActive):
- UIProcess/WebInspectorProxy.messages.in:
UIProcess update according to the state of the page
and action to tell the page to toggle.
When starting, pre-connect the inspector. When the
state changes, if we were stopping and nothing was
selected, then disconnect. Otherwise, we will bring
the inspector to the front.
- WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::elementSelectionChanged):
- WebProcess/WebCoreSupport/WebInspectorClient.h:
Let the UIProcess update its cached state of whether or
not element selection is enabled or disabled.
- WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::startElementSelection):
(WebKit::WebInspector::stopElementSelection):
(WebKit::WebInspector::elementSelectionChanged):
- WebProcess/WebPage/WebInspector.h:
- WebProcess/WebPage/WebInspector.messages.in:
Messages in both directions.
UIProcess -> InspectorProcess enable/disable.
WebProcess -> UIProcess updated element selection state.
- WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::startElementSelection):
(WebKit::WebInspectorUI::stopElementSelection):
- WebProcess/WebPage/WebInspectorUI.h:
- WebProcess/WebPage/WebInspectorUI.messages.in:
Open the inspector and enable element selection.
- 12:35 PM Changeset in webkit [199379] by
-
- 16 edits in trunk
Web Inspector: Should be able to expand Objects in Heap Allocations View to see exactly what it retains
https://bugs.webkit.org/show_bug.cgi?id=156419
<rdar://problem/25633863>
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Main.html:
Remove strings, and fix sort.
- UserInterface/Models/HeapSnapshotRootPath.js:
(WebInspector.HeapSnapshotRootPath.pathComponentForIndividualEdge):
(WebInspector.HeapSnapshotRootPath.canPropertyNameBeDotAccess):
(WebInspector.HeapSnapshotRootPath.prototype.appendPropertyName):
(WebInspector.HeapSnapshotRootPath.prototype._canPropertyNameBeDotAccess):
Provide a helper to get an path component string for an individual edge.
- UserInterface/Models/PropertyPreview.js:
(WebInspector.PropertyPreview):
Fix an assert that may have errantly fired for an empty string name.
- UserInterface/Proxies/HeapSnapshotNodeProxy.js:
(WebInspector.HeapSnapshotNodeProxy):
(WebInspector.HeapSnapshotNodeProxy.deserialize):
Include "hasChildren" property in the original proxy message.
(WebInspector.HeapSnapshotNodeProxy.prototype.retainedNodes):
The method now also returns a list of edges for each of the retained nodes.
- UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
(WebInspector.HeapSnapshotInstanceDataGridNode):
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent):
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype.sort):
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populate):
An instance DataGrid node can now show children. It can expand to show
its retained node graph.
- UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
(HeapSnapshot.instancesWithClassName):
(HeapSnapshot.prototype.dominatedNodes):
(HeapSnapshot.prototype.retainers):
(HeapSnapshot.prototype.serializeNode):
Remove unnecessary calls to bind in favor of using thethisObjectargument.
(HeapSnapshot.prototype.retainedNodes):
Return a parallel list of edges for each of the nodes.
- UserInterface/Views/HeapSnapshotClassDataGridNode.js:
(WebInspector.HeapSnapshotClassDataGridNode.prototype.createCellContent):
(WebInspector.HeapSnapshotClassDataGridNode.prototype._populate):
- UserInterface/Views/HeapSnapshotClusterContentView.js:
(WebInspector.HeapSnapshotClusterContentView.prototype.get summaryContentView):
(WebInspector.HeapSnapshotClusterContentView.prototype.get instancesContentView):
(WebInspector.HeapSnapshotClusterContentView.prototype.shown):
(WebInspector.HeapSnapshotClusterContentView):
(WebInspector.HeapSnapshotClusterContentView.prototype.get navigationItems): Deleted.
(WebInspector.HeapSnapshotClusterContentView.prototype._contentViewExtraArguments): Deleted.
(WebInspector.HeapSnapshotClusterContentView.prototype._toggleShowInternalObjectsSetting): Deleted.
(WebInspector.HeapSnapshotClusterContentView.prototype._updateViewsForShowInternalObjectsSettingValue): Deleted.
(WebInspector.HeapSnapshotClusterContentView.prototype._updateShowInternalObjectsButtonNavigationItem): Deleted.
- UserInterface/Views/HeapSnapshotInstancesContentView.js:
(WebInspector.HeapSnapshotInstancesContentView):
(WebInspector.HeapSnapshotInstancesContentView.prototype.get showInternalObjects): Deleted.
(WebInspector.HeapSnapshotInstancesContentView.prototype.set showInternalObjects): Deleted.
- UserInterface/Views/HeapSnapshotInstancesDataGridTree.js:
(WebInspector.HeapSnapshotInstancesDataGridTree.prototype._populateTopLevel):
(WebInspector.HeapSnapshotInstancesDataGridTree):
(WebInspector.HeapSnapshotInstancesDataGridTree.prototype.get includeInternalObjects): Deleted.
(WebInspector.HeapSnapshotInstancesDataGridTree.prototype.set includeInternalObjects): Deleted.
- UserInterface/Views/HeapSnapshotSummaryContentView.js:
Remove the show/hide internal objects button. In the Instances view we will
only show non-Internal objects at the top level, and show internal objects
when those instances are expanded.
LayoutTests:
- inspector/unit-tests/heap-snapshot-expected.txt:
- inspector/unit-tests/heap-snapshot.html:
Add a quick test that retainedNodes returns a list of edges.
- 11:44 AM Changeset in webkit [199378] by
-
- 2 edits in trunk/Source/WebCore
Regression(r199360): assertion hit in Element::fastGetAttribute()
https://bugs.webkit.org/show_bug.cgi?id=156509
Reviewed by Ryosuke Niwa.
Stop using fastGetAttribute() / setAttributeWithoutSynchronization()
given that DOMTokenList is used for the class attribute and we need
to synchronize in this case.
No new tests, already covered by existing tests.
- html/DOMTokenList.cpp:
(WebCore::DOMTokenList::updateAssociatedAttributeFromTokens):
(WebCore::DOMTokenList::tokens):
- 11:40 AM Changeset in webkit [199377] by
-
- 3 edits2 adds in trunk
[RTL Scrollbars] Overlay scrollbars push contents inwards
https://bugs.webkit.org/show_bug.cgi?id=156225
<rdar://problem/25137040>
Reviewed by Darin Adler.
Source/WebCore:
The contents should be pushed in by the occupied width of the
scrollbar, which is 0 for overlay scrollbars.
Test: fast/scrolling/rtl-scrollbars-overlay-no-push-contents.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::computeScrollDimensions):
LayoutTests:
- fast/scrolling/rtl-scrollbars-overlay-no-push-contents-expected.html: Added.
- fast/scrolling/rtl-scrollbars-overlay-no-push-contents.html: Added.
- 11:38 AM Changeset in webkit [199376] by
-
- 3 edits in trunk/Source/JavaScriptCore
There is a race with the compiler thread and the main thread with result profiles
https://bugs.webkit.org/show_bug.cgi?id=156503
Reviewed by Filip Pizlo.
The compiler thread should not be asking for a result
profile while the execution thread is creating one.
We must guard against such races with a lock.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::resultProfileForBytecodeOffset):
(JSC::CodeBlock::ensureResultProfile):
(JSC::CodeBlock::capabilityLevel):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::couldTakeSlowCase):
(JSC::CodeBlock::numberOfResultProfiles):
(JSC::CodeBlock::specialFastCaseProfileCountForBytecodeOffset):
(JSC::CodeBlock::ensureResultProfile): Deleted.
- 11:33 AM Changeset in webkit [199375] by
-
- 14 edits in trunk
[OS X] Flakey crash after ScrollAnimatorMac destruction
https://bugs.webkit.org/show_bug.cgi?id=156372
Reviewed by Darin Adler.
Source/WebCore:
Previously, we were disabling the mock scrollbars using JavaScript after
the WebView was created. However, enabling these mock scrollbars can be
triggered with a bit of state inside the WebPreferences object, which
means WebKit clients can change it at any point. DumpRenderTree is doing
this during the document's lifetime.
This means that the creation of the Scrollbar objects saw a non-mock
ScrollbarTheme, but the destruction of the Scrollbar objects saw a mock
ScrollbarTheme. Therefore, the non-mock ScrollbarTheme doesn't get
cleaned up correctly (ScrollAnimatorMac::willRemoveVerticalScrollbar()
returns early because it sees that there is nothing to deregister
due to the ScrollbarTheme being mocked).
This cleanup is necessary because it sets the NSScrollerImp's delegate
to nil before the NSScrollerImpDelegate gets destroyed. Because the
cleanup wasn't happening, the delegate pointer wasn't getting set to
nil, so the pointer was dangling, and AppKit was following it and
crashing.
Because the clients of this bit of state can change it at any time,
it is incorrect to change it in JavaScript. Instead, the client must
manage this bit of state (so the client and the web process are always
in sync). Therefore, the correct way to set this bit of state must be
done in the test runner rather than Javascript internals. The mechanism
we have to do that is the <!-- webkit-test-runner --> comment at the
beginning of the test. This patch migrates to this mechanism and removes
the old internals method.
Test: fast/scrolling/rtl-scrollbars-animation-property.html
- page/Settings.cpp:
- testing/Internals.cpp:
(WebCore::Internals::setMockScrollbarsEnabled): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
Tools:
Implement the new <!-- webkit-test-runner --> flag.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::ensureViewSupportsOptionsForTest):
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::TestController::resetStateToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
- WebKitTestRunner/TestOptions.h:
- WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WKR::PlatformWebView::viewSupportsOptions):
LayoutTests:
Migrate to the new mechanism for disabling mock scrollbars in tests.
- fast/scrolling/rtl-scrollbars-animation-property.html:
- 10:55 AM Changeset in webkit [199374] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: clearing the console should exit all console groups
https://bugs.webkit.org/show_bug.cgi?id=156496
<rdar://problem/25676416>
Reviewed by Timothy Hatcher.
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype._logCleared):
Reset nesting level to zero.
- 10:40 AM Changeset in webkit [199373] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r199339.
https://bugs.webkit.org/show_bug.cgi?id=156505
memset_s is indeed necessary (Requested by alexchristensen_ on
#webkit).
Reverted changeset:
"Build fix after r199299."
https://bugs.webkit.org/show_bug.cgi?id=155508
http://trac.webkit.org/changeset/199339
- 10:27 AM Changeset in webkit [199372] by
-
- 2 edits in trunk/Source/JavaScriptCore
MIPS: add MacroAssemblerMIPS::store8(TrustedImm32,ImplicitAddress)
https://bugs.webkit.org/show_bug.cgi?id=156481
This method with this signature is used by r199075, and therefore
WebKit doesn't build on MIPS since then.
Patch by Guillaume Emont <guijemont@igalia.com> on 2016-04-12
Reviewed by Mark Lam.
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::store8):
- 10:08 AM Changeset in webkit [199371] by
-
- 7 edits in trunk/Source/WebCore
Remove UsePointersEvenForNonNullableObjectArguments from SVG lists
https://bugs.webkit.org/show_bug.cgi?id=156494
Reviewed by Chris Dumez.
- bindings/scripts/CodeGenerator.pm:
(ShouldPassWrapperByReference): For now, don't do this for any tear-off classes.
This includes the items stored in most SVG list classes.
- svg/SVGLengthList.idl: Removed UsePointersEvenForNonNullableObjectArguments.
- svg/SVGNumberList.idl: Ditto.
- svg/SVGPointList.idl: Ditto.
- svg/SVGTransformList.idl: Ditto.
- svg/SVGPathSegList.idl: Removed UsePointersEvenForNonNullableObjectArguments.
Marked the arguments nullable, and added FIXMEs about returning later since they
don't really need to be nullable. But fixing this requires some reworking of the
SVG list template and it's not urgent at this time. Preserves behavior where we
get an exception when passing null, it's just an SVG exception instead of TypeError.
- 9:58 AM Changeset in webkit [199370] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198243 - Occasional crash under GraphicsContext::platformContext() when dragging Google maps
https://bugs.webkit.org/show_bug.cgi?id=155521
rdar://problem/24357307
Reviewed by Tim Horton.
It's possible for createDragImageForSelection() to return a null image, if the bounds
of the selection are an empty rect. That would cause a crash under convertImageToBitmap()
because a zero-sized ShareableBitmap will return a null GraphicsContext.
To avoid this, early return from DragController::startDrag() if the dragImage is null.
I wasn't able to come up with a test for this.
- page/DragController.cpp:
(WebCore::DragController::startDrag):
- 9:57 AM Changeset in webkit [199369] by
-
- 9 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198238 - Delay HTMLFormControlElement::focus() call until after layout is finished.
https://bugs.webkit.org/show_bug.cgi?id=155503
<rdar://problem/24046635>
Reviewed by Simon Fraser.
Calling focus on a form element can trigger arbitrary JS code which could interfere with
the ongoing layout.
This patch delays HTMLFormControlElement::focus() call until after layout is finished.
If we are currently not in the middle of a layout, HTMLFormControlElement::focus() is delayed until
after style resolution is done.
Covered by LayoutTests/fast/dom/adopt-node-crash-2.html
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::updateBackingStore):
- dom/Document.cpp:
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::updateLayout):
(WebCore::Document::updateLayoutIfDimensionsOutOfDate):
- html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::renderWidgetLoadingPlugin):
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::didAttachRenderers):
- page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::queuePostLayoutCallback):
(WebCore::FrameView::flushPostLayoutTasksQueue):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::sendResizeEventIfNeeded):
- page/FrameView.h:
- rendering/RenderBox.cpp:
(WebCore::RenderBox::imageChanged):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):
- 9:50 AM Changeset in webkit [199368] by
-
- 9 edits in releases/WebKitGTK/webkit-2.12
Merge r198216 - REGRESSION (196383): Class change invalidation does not handle :not correctly
https://bugs.webkit.org/show_bug.cgi?id=155493
<rdar://problem/24846762>
Reviewed by Andreas Kling.
We fail to invalidate bar style in
:not(.foo) bar { }
when class foo is added or removed.
There is a logic error in the invalidation code. It assumes that class addition can only make new selectors match
and removal make them not match. This is not true when :not is present.
- style/AttributeChangeInvalidation.h:
(WebCore::Style::AttributeChangeInvalidation::AttributeChangeInvalidation):
- style/ClassChangeInvalidation.cpp:
(WebCore::Style::ClassChangeInvalidation::invalidateStyle):
Invalidate style and collect full set of rules that may affect descendant style.
(WebCore::Style::ClassChangeInvalidation::invalidateDescendantStyle):
Invalidate with this set both before and after committing the changes.
(WebCore::Style::ClassChangeInvalidation::computeClassChange): Deleted.
- style/ClassChangeInvalidation.h:
(WebCore::Style::ClassChangeInvalidation::ClassChangeInvalidation):
(WebCore::Style::ClassChangeInvalidation::~ClassChangeInvalidation):
LayoutTests:
Class change invalidation does not handle :not correctly
https://bugs.webkit.org/show_bug.cgi?id=155493
<rdar://problem/24846762>
Reviewed by Andreas Kling.
- fast/css/style-invalidation-attribute-change-descendants-expected.txt:
- fast/css/style-invalidation-attribute-change-descendants.html:
Also add :not case for attribute changes (which handles this correctly already).
- fast/css/style-invalidation-class-change-descendants-expected.txt:
- fast/css/style-invalidation-class-change-descendants.html:
Add :not case.
- 9:46 AM Changeset in webkit [199367] by
-
- 3 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198205 - Leak: Accelerated ImageBufferCairo doesn't destroy the used textures
https://bugs.webkit.org/show_bug.cgi?id=155431
Patch by Miguel Gomez <magomez@igalia.com> on 2016-03-15
Reviewed by Žan Doberšek.
When using the Cairo backend, add a destructor to ImageBufferData and use it to destroy the
textures created if the buffer is being accelerated.
No new tests, already covered by existing ones.
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBufferData::ImageBufferData):
Store the renderingMode flag.
(WebCore::ImageBufferData::~ImageBufferData):
Destroy gl resources if renderingMode is accelerated.
(WebCore::ImageBuffer::ImageBuffer):
Pass renderingMode to the data class and use it fro checks instead of the function parameter.
- platform/graphics/cairo/ImageBufferDataCairo.h:
Add destructor and a renderingMode flag.
- 9:44 AM Changeset in webkit [199366] by
-
- 2 edits in trunk/Source/WTF
S390X and PPC64 architectures detection is wrong
https://bugs.webkit.org/show_bug.cgi?id=156337
Patch by Tomas Popela <tpopela@redhat.com> on 2016-04-12
Reviewed by Carlos Garcia Campos.
After the http://trac.webkit.org/changeset/198919 was committed
it showed that the PPC64 detection is wrong as the CPU(PPC) path was
activated even for PPC64. The thing is that GCC defines ppc
even on PPC64 and not just on PPC(32). The same applies for S390X.
- wtf/Platform.h:
- 9:41 AM Changeset in webkit [199365] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/JavaScriptCore
Merge r198173 - [mips] Fix unaligned access in LLINT.
https://bugs.webkit.org/show_bug.cgi?id=153228
Address loads used with btbxx opcodes were wrongly converted to lw
instruction instead of lbu, leading to unaligned access on mips
platforms. This is not a bug as it's silently fixed up by kernel,
but it's more efficient to avoid unaligned accesses for mips.
Reviewed by Geoffrey Garen.
- offlineasm/mips.rb:
- 9:40 AM Changeset in webkit [199364] by
-
- 4 edits6 adds in releases/WebKitGTK/webkit-2.12
Merge r198163 - Selecting with shift+drag results in unexpected drag-n-drop
https://bugs.webkit.org/show_bug.cgi?id=155314
Reviewed by Darin Adler.
Source/WebCore:
Test: editing/selection/shift-drag-selection-no-drag-n-drop.html
Whenever user tries to extend an existing text selection by dragging the mouse
(left button hold) with shift key pressed, WebKit enters drag-n-drop mode.
This behavior does not match common editing behavior out there, including other
browsers' (Firefox, Opera/Presto and IE).
Patch changes WebKit so that whenever one extends a selection with mouse
and shift key pressed off of a #text node, it does not enter drag-n-drop mode.
Additionally, patch also adds some further tests to ensure that when
selection is extended off of either a link or an image, drag-n-drop does
get triggered, no matter if shift key is pressed.
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
LayoutTests:
Tests that ensure that WebKit:
1) does not enter drag-n-drop mode and extending selection by dragging with mouse with shift key is pressed,
off of a #text node.
2) does enter drag-n-drop mode and extending selection by dragging with mouse with shift key is pressed,
off of a link.
3) does enter drag-n-drop mode and extending selection by dragging with mouse with shift key is pressed,
off of an image.
Note that (1) is a behavior changed by this patch, whereas (2) and (3) represent existing
behavior that is kept.
Tests are also skip for iOS similarly to other drag-n-drop related tests.
- fast/events/shift-drag-selection-no-drag-n-drop-expected.txt: Added.
- fast/events/shift-drag-selection-no-drag-n-drop.html: Added.
- fast/events/shift-drag-selection-on-link-triggers-drag-n-drop-expected.txt: Added.
- fast/events/shift-drag-selection-on-link-triggers-drag-n-drop.html: Added.
- fast/events/shift-drag-selection-on-image-triggers-drag-n-drop-expected.txt: Added.
- fast/events/shift-drag-selection-on-image-triggers-drag-n-drop.html: Added.
- 9:32 AM Changeset in webkit [199363] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198090 - REGRESSION (r190840): crash inside details element's slotNameFunction
https://bugs.webkit.org/show_bug.cgi?id=155388
Reviewed by Antti Koivisto.
Source/WebCore:
The bug was caused by HTMLDetailsElement::isActiveSummary calling findAssignedSlot with a summary element
inside the shadow tree of the detials element. Fixed it by existing early when the summary element passed
to isActiveSummary is not a direct child of the details element.
Test: fast/html/details-summary-tabindex-crash.html
- dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::findAssignedSlot): Added an assertion for regression testing.
- dom/SlotAssignment.cpp:
(WebCore::SlotAssignment::findAssignedSlot): Removed the superfluous call to assignSlots added in r190840.
There is no need to update the slot assignments here (entires in m_slots are added or removed by
addSlotElementByName or removeSlotElementByName and assignSlots only updates assignedNodes in each SlotInfo
which is never used in this function or findFirstSlotElement.
- html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::isActiveSummary): Fixed the bug.
LayoutTests:
Added a regression test.
- fast/html/details-summary-tabindex-crash-expected.txt: Added.
- fast/html/details-summary-tabindex-crash.html: Added.
- 9:30 AM Changeset in webkit [199362] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r198087 - ComposedTreeIterator fails to traverse slots if root is shadow host
https://bugs.webkit.org/show_bug.cgi?id=155407
Reviewed by Darin Adler.
Source/WebCore:
Test: fast/shadow-dom/composed-tree-shadow-subtree.html
- dom/ComposedTreeIterator.cpp:
(WebCore::ComposedTreeIterator::ComposedTreeIterator):
Traversal functions assume m_contextStack is deeper than 1 before they need to enter slot traversal code paths.
Call initializeContextStack in case of shadow host which does the right thing.
(WebCore::ComposedTreeIterator::traverseSiblingInSlot):
(WebCore::composedTreeAsText):
Add option to include pointers as debugging aid.
- dom/ComposedTreeIterator.h:
(WebCore::composedTreeChildren):
LayoutTests:
- fast/shadow-dom/composed-tree-shadow-subtree-expected.txt: Added.
- fast/shadow-dom/composed-tree-shadow-subtree.html: Added.
- 9:27 AM Changeset in webkit [199361] by
-
- 5 edits4 adds in releases/WebKitGTK/webkit-2.12
Merge r198075 - REGRESSION (r188647): Teamtreehouse website sidebar buttons are not rendered
https://bugs.webkit.org/show_bug.cgi?id=155400
<rdar://problem/24818602>
Reviewed by Anders Carlsson.
Source/WebCore:
When we unprefixed CSS filters we accidentally
stopped SVG elements that use the CSS filter shorthands
from rendering. We still don't actually support
the shorthands in this case, but we should render
the element without the filter.
Tests: css3/filters/filters-on-svg-element.html
css3/filters/filters-on-svg-root.html
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::hasReferenceFilterOnly): Add
this new function that tells us if we have the
style of filter that we can handle in SVG content.
- rendering/style/RenderStyle.h:
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
We can mark an element as ready to render if it
has a shorthand filter.
LayoutTests:
Add tests with SVG content that uses CSS filter
shorthands. These particular filters are no-ops
so should not affect rendering. If they actually
tried to do something you wouldn't see them work
until we enable shorthand filters on SVG content.
- css3/filters/filters-on-svg-element-expected.html: Added.
- css3/filters/filters-on-svg-element.html: Added.
- css3/filters/filters-on-svg-root-expected.html: Added.
- css3/filters/filters-on-svg-root.html: Added.
- 9:21 AM Changeset in webkit [199360] by
-
- 8 edits in trunk/Source/WebCore
Lazily update tokens in DOMTokenList when the associated attribute value changes
https://bugs.webkit.org/show_bug.cgi?id=156474
Reviewed by Ryosuke Niwa.
Lazily update tokens in DOMTokenList when the associated attribute value
changes for performance. Constructing the sanitized vector of tokens
every time the associated Element attribute changes is too expensive.
Instead, we mark the vector as dirty whenever the attribute changes, and
we only construct the sanitized vector when it is actually required.
Also do some renaming for clarity.
There is no web-exposed behavior change.
- dom/Element.cpp:
(WebCore::Element::classAttributeChanged):
- html/DOMTokenList.cpp:
(WebCore::DOMTokenList::contains):
(WebCore::DOMTokenList::addInternal):
(WebCore::DOMTokenList::removeInternal):
(WebCore::DOMTokenList::toggle):
(WebCore::DOMTokenList::value):
(WebCore::DOMTokenList::setValue):
(WebCore::DOMTokenList::updateTokensFromAttributeValue):
(WebCore::DOMTokenList::associatedAttributeValueChanged):
(WebCore::DOMTokenList::updateAssociatedAttributeFromTokens):
(WebCore::DOMTokenList::tokens):
(WebCore::DOMTokenList::DOMTokenList): Deleted.
- html/DOMTokenList.h:
(WebCore::DOMTokenList::tokens):
(WebCore::DOMTokenList::length):
(WebCore::DOMTokenList::item):
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseAttribute):
- html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseAttribute):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::parseAttribute):
- html/HTMLOutputElement.cpp:
(WebCore::HTMLOutputElement::parseAttribute):
- 9:16 AM Changeset in webkit [199359] by
-
- 3 edits3 adds in releases/WebKitGTK/webkit-2.12
Merge r198050 - WebKit should not be redirected to an invalid URL
https://bugs.webkit.org/show_bug.cgi?id=155263
<rdar://problem/22820172>
Reviewed by Brent Fulgham.
Source/WebCore:
Test: http/tests/navigation/redirect-to-invalid-url.html
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):
LayoutTests:
- http/tests/navigation/redirect-to-invalid-url-expected.txt: Added.
- http/tests/navigation/redirect-to-invalid-url.html: Added.
- http/tests/navigation/resources/redirect-to-invalid-url-frame.php: Added.
- 9:15 AM Changeset in webkit [199358] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r198044 - Fix typo in StyleTreeResolver.cpp
https://bugs.webkit.org/show_bug.cgi?id=139946
Patch by Maksim Kisilev <mkisilev@yandex-team.ru> on 2016-03-10
Reviewed by Andy Estes.
The constructor for CheckForVisibilityChangeOnRecalcStyle was improperly comparing the
result of WKContentChange() (which is not a function) to WKContentVisibilityChange. I
believe the above cast would implicitly resolve to WKContentNoChange in all cases,
whether a visibility change had been observed or not.
This patch corrects this problem. I would expect that this might affect some content
visibility change behavior, but I'm not sure what the appropriate test case would be
since this was apparently found through code inspection.
- style/StyleTreeResolver.cpp:
(WebCore::Style::CheckForVisibilityChangeOnRecalcStyle::CheckForVisibilityChangeOnRecalcStyle):
- 9:11 AM Changeset in webkit [199357] by
-
- 2 edits in trunk/Source/WebCore
Remove UsePointersEvenForNonNullableObjectArguments from HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=156492
Reviewed by Chris Dumez.
- html/HTMLMediaElement.idl: Removed UsePointersEvenForNonNullableObjectArguments,
sorted remaining class attributes, simplified #if around canPlayType a bit,
removed comment that is not all that useful, made the argument to
webkitSetMediaKeys nullable since the implementation supports that.
- 9:10 AM Changeset in webkit [199356] by
-
- 3 edits in releases/WebKitGTK/webkit-2.12
Merge r197989 - CRASH at WebCore::RenderView::updateVisibleViewportRect
https://bugs.webkit.org/show_bug.cgi?id=155209
<rdar://problem/23997530>
Reviewed by Simon Fraser.
Source/WebCore:
Test: media/video-crash-invisible-autoplay-display-none.html
Between the time when the video element's renderer is created and destroyed, we may have unset the
InvisibleAutoplayNotPermitted restriction. So rather than check for that restriction before
unregistering for the "visible in viewport" notification, unregister only if the renderer
was previously registered.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::willDetachRenderers):
LayoutTests:
(These files were mistakenly landed in a previous commit:)
- media/video-crash-invisible-autoplay-display-none-expected.txt: Added.
- media/video-crash-invisible-autoplay-display-none.html: Added.
- 9:08 AM Changeset in webkit [199355] by
-
- 8 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r197967 - REGRESSION: GuardMallloc crash in SVGListPropertyTearOff<SVGPointList>::processIncomingListItemWrapper
https://bugs.webkit.org/show_bug.cgi?id=154969
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-03-10
Reviewed by Darin Adler.
The life cycle of the SVGAnimatedPropertyTearOff::m_baseVal and m_animVal
was not correct. Like what was done in SVGAnimatedListPropertyTearOff,
m_baseVal and m_animVal have to be raw RefCounted pointers. When requested
through, SVGAnimatedPropertyTearOff::baseVal() and animVal() they are
encapsulated in a RefPtr to ensure they existence as long as they are
referenced. When the animated property object (which is stored in either
m_baseVal or m_animVal) is not referenced by anyone, it is going to be
deleted. In the destructor of their class, SVGAnimatedPropertyTearOff
will be notified of this deletion through propertyWillBeDeleted() to clean
its member m_baseVal or m_animVal.
- bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue): Now all the SVG animated property return RefPtrs. In
addition to that, SVGViewSpec.transform also returns
RefPtr<SVGTransformListPropertyTearOff>.
- svg/properties/SVGAnimatedListPropertyTearOff.h:
(WebCore::SVGAnimatedListPropertyTearOff::animVal):
(WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
(WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
(WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
(WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):
(WebCore::SVGAnimatedListPropertyTearOff::isAnimating):
(WebCore::SVGAnimatedListPropertyTearOff::propertyWillBeDeleted):
Change propertyWillBeDeleted() to be virtual and make it takes an SVGProperty*.
Rename m_animatingAnimVal to be m_animatedProperty. Add isAnimating() which
returns true if m_animatedProperty is not null. Use isAnimating() instead of
m_isAnimating because it's deleted from the base class.
- svg/properties/SVGAnimatedProperty.cpp:
(WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
(WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
- svg/properties/SVGAnimatedProperty.h:
(WebCore::SVGAnimatedProperty::isAnimating):
(WebCore::SVGAnimatedProperty::propertyWillBeDeleted):
Delete m_isAnimating since its value can be deduced from the value of
m_animatedProperty in the derived class. Add propertyWillBeDeleted() and
isAnimating() as virtual functions with the default behavior.
- svg/properties/SVGAnimatedPropertyTearOff.h:
(WebCore::SVGAnimatedPropertyTearOff::baseVal):
(WebCore::SVGAnimatedPropertyTearOff::animVal):
Like SVGAnimatedListPropertyTearOff::baseVal() and animVal() create the
value if it does not exist. Keep a raw RefCounted pointer but return a
RefPtr.
(WebCore::SVGAnimatedPropertyTearOff::isAnimating):
(WebCore::SVGAnimatedPropertyTearOff::propertyWillBeDeleted):
Override virtual functions.
(WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
(WebCore::SVGAnimatedPropertyTearOff::animationStarted):
(WebCore::SVGAnimatedPropertyTearOff::animationEnded):
(WebCore::SVGAnimatedPropertyTearOff::animValWillChange):
(WebCore::SVGAnimatedPropertyTearOff::animValDidChange):
Replace m_isAnimating with isAnimating(). Ensure that we get a new animated
property through animVal() and store it in a RefPtr to ensure it will not
go away while animating.
- svg/properties/SVGAnimatedStaticPropertyTearOff.h:
(WebCore::SVGAnimatedStaticPropertyTearOff::isAnimating):
(WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
(WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
(WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
(WebCore::SVGAnimatedStaticPropertyTearOff::animValWillChange):
(WebCore::SVGAnimatedStaticPropertyTearOff::animValDidChange):
Add isAnimating() and replace all the instances of m_isAnimating with calls
to isAnimating().
- svg/properties/SVGPropertyTearOff.h:
(WebCore::SVGPropertyTearOff::animatedProperty):
(WebCore::SVGPropertyTearOff::setAnimatedProperty):
(WebCore::SVGPropertyTearOff::contextElement):
(WebCore::SVGPropertyTearOff::SVGPropertyTearOff):
(WebCore::SVGPropertyTearOff::~SVGPropertyTearOff):
SVGPropertyTearOff is what SVGAnimatedPropertyTearOff creates for its
baseVal() and animVal() values. These values can be null anytime once
they are not referenced. The SVGAnimatedPropertyTearOff holds only raw
RefCounted pointer for them. So (1) SVGPropertyTearOff needs to hold a
RefPtr for its SVGAnimatedProperty and (2) it needs to notify its
SVGAnimatedProperty when it's deleted by calling propertyWillBeDeleted()
from the destructor. Also there is no need to get the contextElement()
and save it in class member, m_contextElement since it can be always be
retrieved from SVGAnimatedProperty::contextElement().
- 8:53 AM WebKitGTK/2.12.x edited by
- (diff)
- 8:46 AM Changeset in webkit [199354] by
-
- 5 edits in releases/WebKitGTK/webkit-2.12
Merge r197788 - Support iterating over an OptionSet and checking if it is empty
https://bugs.webkit.org/show_bug.cgi?id=154941
<rdar://problem/24964187>
Reviewed by Darin Adler.
Source/WTF:
Implements support for iterating over the enumerators in an OptionSet as well as
determining if the set is empty.
Iterating over an OptionSet is in Big Theta(N) where N is the number of items in
the set. More precisely, it is in Big Theta(log M) where M is the bitmask represented
by the bitwise OR-ing of all enumerators in the set.
- wtf/OptionSet.h: Added comment to describe the purpose of this class and its invariant -
the enumerators must be positive powers of two.
(WTF::OptionSet::Iterator::operator*): Returns the enumerator pointed to by the iterator.
(WTF::OptionSet::Iterator::operator++): Advance to the next smallest enumerator in the set.
(WTF::OptionSet::Iterator::operator==): Returns whether the iterator is equal to the specified iterator.
(WTF::OptionSet::Iterator::operator!=): Returns whether the iterator is not equal to the specified iterator.
(WTF::OptionSet::Iterator::Iterator): Added.
(WTF::OptionSet::fromRaw): Instantiate using specialized private constructor to allow
instantiation with a raw value of 0.
(WTF::OptionSet::OptionSet): Specialized constructor that asserts that the specified value
is a positive power of two. This variant is only compiled when assertions are enabled (i.e. !ASSERT_DISABLED).
(WTF::OptionSet::isEmpty): Returns whether the set is empty.
(WTF::OptionSet::begin): Returns an iterator to the enumerator with the smallest value in the set.
(WTF::OptionSet::end): Returns an iterator that represents the end sentinel of the set.
Tools:
Add tests to ensure that we do not regression both iteration of an OptionSet and
determining whether an OptionSet is empty.
- TestWebKitAPI/Test.h:
(TestWebKitAPI::Util::assertStrongEnum): Helper function to assert two strong enum type for equality.
- TestWebKitAPI/Tests/WTF/OptionSet.cpp:
(TestWebKitAPI::TEST):
- 8:45 AM Changeset in webkit [199353] by
-
- 7 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r197191,r197523 - Add WTF::OptionSet and use it for the website data types enum
https://bugs.webkit.org/show_bug.cgi?id=154733
Patch by Anders Carlsson <andersca@apple.com> on 2016-02-26
Reviewed by Geoffrey Garen.
Add WTF::OptionSet which makes it easier to use strong enums as flags.
- WTF.xcodeproj/project.pbxproj:
- wtf/Forward.h:
- wtf/OptionSet.h: Copied from Source/WebKit2/Shared/WebsiteData/WebsiteData.h.
(WTF::OptionSet::fromRaw):
(WTF::OptionSet::OptionSet):
(WTF::OptionSet::toRaw):
(WTF::OptionSet::contains):
(WTF::OptionSet::operator|=):
- 8:21 AM Changeset in webkit [199352] by
-
- 9 edits in trunk
We incorrectly parse arrow function expressions
https://bugs.webkit.org/show_bug.cgi?id=156373
Reviewed by Mark Lam.
Source/JavaScriptCore:
This patch removes the notion of "isEndOfArrowFunction".
This was a very weird function and it was incorrect.
It checked that the arrow functions with concise body
grammar production "had a valid ending". "had a valid
ending" is in quotes because concise body arrow functions
have a valid ending as long as their body has a valid
assignment expression. I've removed all notion of this
function because it was wrong and was causing us
to throw syntax errors on valid programs.
- parser/Lexer.cpp:
(JSC::Lexer<T>::nextTokenIsColon):
(JSC::Lexer<T>::lex):
(JSC::Lexer<T>::setTokenPosition): Deleted.
- parser/Lexer.h:
(JSC::Lexer::setIsReparsingFunction):
(JSC::Lexer::isReparsingFunction):
(JSC::Lexer::lineNumber):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::parseArrowFunctionSingleExpressionBodySourceElements):
(JSC::Parser<LexerType>::parseFunctionInfo):
- parser/Parser.h:
(JSC::Parser::matchIdentifierOrKeyword):
(JSC::Parser::tokenStart):
(JSC::Parser::autoSemiColon):
(JSC::Parser::canRecurse):
(JSC::Parser::isEndOfArrowFunction): Deleted.
(JSC::Parser::setEndOfStatement): Deleted.
- tests/stress/arrowfunction-others.js:
(testCase):
(simpleArrowFunction):
(truthy):
(falsey):
LayoutTests:
- js/parser-syntax-check-expected.txt:
- js/script-tests/parser-syntax-check.js:
(catch):
- 8:19 AM Changeset in webkit [199351] by
-
- 10 edits in trunk/Source/WebCore
[iOS] media title sometimes remain in Control Center after tab is closed
https://bugs.webkit.org/show_bug.cgi?id=156243
<rdar://problem/20167445>
Reviewed by Darin Adler.
- Modules/webaudio/AudioContext.h: Implement characteristics.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaLoadingFailed): Call mediaSession->clientCharacteristicsChanged.
(WebCore::HTMLMediaElement::setReadyState): Ditto.
(WebCore::HTMLMediaElement::clearMediaPlayer): Ditto.
(WebCore::HTMLMediaElement::stop): Call mediaSession->stopSession.
(WebCore::HTMLMediaElement::characteristics): New, return current characteristics.
- html/HTMLMediaElement.h:
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::stopSession): Suspend playback, and remove the session
from the manager, it will never play again.
(WebCore::PlatformMediaSession::characteristics): Return client characteristics.
(WebCore::PlatformMediaSession::clientCharacteristicsChanged):
- platform/audio/PlatformMediaSession.h:
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::stopAllMediaPlaybackForProcess): Call stopSession
instead of pauseSession to signal that playback will never start again.
- platform/audio/PlatformMediaSessionManager.h:
- platform/audio/ios/MediaSessionManagerIOS.h:
- platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::sessionWillBeginPlayback): Add logging.
(WebCore::MediaSessionManageriOS::removeSession): Update NowPlaying.
(WebCore::MediaSessionManageriOS::sessionWillEndPlayback): Add logging.
(WebCore::MediaSessionManageriOS::clientCharacteristicsChanged): Update NowPlaying.
(WebCore::MediaSessionManageriOS::nowPlayingEligibleSession): New, return the first session
that is an audio or video element with playable audio. WebAudio is not currently controllable
so it isn't appropriate to show it in the NowPlaying info center.
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Remember the last state passed to
NowPlaying so we can call it only when something has changed.
- 7:56 AM Changeset in webkit [199350] by
-
- 2 edits in trunk/Tools
Modify the CXXFLAGS in webkitdirs.pm just on architectures where the flags are supported
https://bugs.webkit.org/show_bug.cgi?id=156338
Patch by Tomas Popela <tpopela@redhat.com> on 2016-04-12
Reviewed by Michael Catanzaro.
Add the "-march=pentium4 -msse2 -mfpmath=sse " into the CXXFLAGS just
for the i686 where it is supported and not for other architectures
(such as s390(x) and ppc(64)) where the build will fail with these
CXXFLAGS.
- Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):
- 6:52 AM Changeset in webkit [199349] by
-
- 7 edits in releases/WebKitGTK/webkit-2.12
Merge r197874 - Move attributes to the instance for most interfaces that have "Error" in their name
https://bugs.webkit.org/show_bug.cgi?id=155231
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline now that more checks are passing.
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Our bindings generator was keeping attributes on the instances for
interfaces having "Error" or "Exception" in their name. The reason is
that interfaces that have "Error" in their prototype would not behave
correctly otherwise because "Error" incorrectly has its attributes on
the instance at the moment. However, in our bindings generator, the
condition to decide if an interface's prototype should be "Error" is
if $interface->isException. Therefore, we should use the same condition
to decide if we should keep attributes on the instance until "Error"
is updated to have its attributes on the prototype. Doing this for any
interface having "Error" or "Exception" in their name is overkill.
No new tests, already covered by existing test.
- bindings/scripts/CodeGeneratorJS.pm:
(InterfaceRequiresAttributesOnInstance):
- 6:33 AM Changeset in webkit [199348] by
-
- 5 edits in releases/WebKitGTK/webkit-2.12
Merge r197868 - Removing and re-adding a script message handler with the same name results in an unusable message handler
https://bugs.webkit.org/show_bug.cgi?id=155223
Reviewed by Sam Weinig.
Source/WebCore:
New API test: WKUserContentController.ScriptMessageHandlerReplaceWithSameName.
- page/UserMessageHandler.h:
(WebCore::UserMessageHandler::descriptor):
- page/UserMessageHandlersNamespace.cpp:
(WebCore::UserMessageHandlersNamespace::handler):
This lazy removal mechanism combined with the fact that we only compare
handler name and world makes it such that m_messageHandlers could have
a stale UserMessageHandler with a UserMessageHandlerDescriptor that differed
only in client.
It is safe to compare the descriptors by pointer instead because m_messageHandler
holds a strong reference to its UserMessageHandlerDescriptors, and this will ensure
that the add-remove-add path (with identical name and world) causes a new
UserContentController to be created.
We also now clean up any stale UserMessageHandlers whenever we're about to
add a new one, by removing any which the UserContentController no longer knows about.
Tools:
- TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:
(TEST):
Add a test ensuring that it is possible to remove and re-add a script message handler
with the same name and still dispatch messages to it.
- 6:25 AM Changeset in webkit [199347] by
-
- 3 edits3 adds in releases/WebKitGTK/webkit-2.12
Merge r197858 - Local HTML should be blocked from localStorage access unless "Disable Local File Restrictions" is checked..
https://bugs.webkit.org/show_bug.cgi?id=155185
<rdar://problem/11101440>
Reviewed by Zalan Bujtas.
Source/WebCore:
Tested by storage/domstorage/localstorage/blocked-file-access.html.
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canAccessStorage): If the origin is a local file, and we have not been granted
universal file access, prevent access to DOM localStorage.
LayoutTests:
- storage/domstorage/localstorage/blocked-file-access-expected.txt: Added.
- storage/domstorage/localstorage/blocked-file-access.html: Added.
- storage/domstorage/localstorage/resources/blocked-example.html: Added.
- 6:25 AM Changeset in webkit [199346] by
-
- 6 edits in releases/WebKitGTK/webkit-2.12/Source
Merge r198532 - [GTK] WebInspector broken after r197620
https://bugs.webkit.org/show_bug.cgi?id=155497
<rdar://problem/25171910>
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-03-22
Reviewed by Philippe Normand.
Source/WebCore:
Add resource scheme to the list of secure protocols.
- platform/SchemeRegistry.cpp:
(WebCore::secureSchemes):
Source/WebKit2:
Stop registering resource:// URLs as local, because they are not
like a local file at all. Compare also the URL protocols when
checking whether requested URL is main or test inspector page
instead of checking that the protocol is registered as local.
- UIProcess/WebInspectorProxy.cpp:
(WebKit::isMainOrTestInspectorPage): Compare also the URL protocols.
- UIProcess/WebInspectorProxy.h:
- UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage): Do not
set setAllowFileAccessFromFileURLs setting to true.
- UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess): Do not
register resource:// URLS as local.
- 6:14 AM Changeset in webkit [199345] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r197856 - ImageDocuments leak their world.
<https://webkit.org/b/155167>
<rdar://problem/24987363>
Reviewed by Antti Koivisto.
Source/WebCore:
ImageDocument uses a special code path in ImageLoader in order to manually
control how the image is loaded. It has to do this because the ImageDocument
is really just a synthetic wrapper around a main resource that's an image.
This custom loading code had a bug where it would create a new CachedImage
and neglect to set its CachedResource::m_state flag to Pending (which is
normally set by CachedResource::load(), but we don't call that for these.)
This meant that when ImageDocument called CachedImage::finishLoading() to
trigger the notifyFinished() callback path, the image would look at its
loading state and see that it was Unknown (not Pending), and conclude that
it hadn't loaded yet. So we never got the notifyFinished() signal.
The world leaks here because ImageLoader slaps a ref on its <img> element
while it waits for the loading operation to complete. Once finished, whether
successfully or with an error, it derefs the <img>.
Since we never fired notifyFinished(), we ended up with an extra ref on
these <img> forever, and then the element kept its document alive too.
Test: fast/dom/ImageDocument-world-leak.html
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
LayoutTests:
Made a little test that loads an image into an <iframe> 10 times and then
triggers a garbage collection and checks that all the documents got destroyed.
Prior to this change, all 10 ImageDocuments would remain alive at the end.
This got rolled out the first time because it failed on bots. It failed due
to expecting a specific number of documents to be live at the start of the
test, which was not reliable on bots since we appear to have more leaks(!)
Tweaked the test to check the delta in live document count instead.
- fast/dom/ImageDocument-world-leak-expected.txt: Added.
- fast/dom/ImageDocument-world-leak.html: Added.
- 5:42 AM Changeset in webkit [199344] by
-
- 5 edits in trunk/Source/WebCore
[GTK] Rework scrollbars theming code for GTK+ 3.20
https://bugs.webkit.org/show_bug.cgi?id=156462
Reviewed by Michael Catanzaro.
In r199292, we reworked the theming code to ensure it works with the new GTK+ CSS theming system. The same is
needed for scrollbars, this patch uses the RenderThemeGadget classes introduced in r199292 to render the native
scrollbars. The code is now split in 3 parts: stub methods for GTK+2 (since this file is compiled for
WebCoreGTK, but not used), the implementation for GTK+ < 3.20 and the implementation for GTK+ >= 3.20. This
reduces the amount of ifdefed code, and ensures that changes in new code don't break the rendering with older
versions of GTK+. I noticed that we were overriding both, the specific paint methods to render scrollbars
parts and the global paint method that renders all the scrollbar parts. We don't really need the specific paint
methods, so I've removed the implemention leaving only the paint method. This also allows us to get rid of the
GtkStyleContext cache.
- platform/gtk/RenderThemeGadget.cpp:
(WebCore::RenderThemeGadget::create): Handle scrollbars gadgets.
(WebCore::appendElementToPath): In case of scrollbar gadget, use the scrollbar GType when creating the path to
be able to get non-CSS style properties.
(WebCore::RenderThemeGadget::opacity): Add method to get the opacity CSS style property.
(WebCore::RenderThemeScrollbarGadget::RenderThemeScrollbarGadget): Initialize m_steppers option set with the
steppers used by the theme.
- platform/gtk/RenderThemeGadget.h:
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::themeChangedCallback):
(WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):
(WebCore::createStyleContext):
(WebCore::createChildStyleContext):
(WebCore::ScrollbarThemeGtk::themeChanged):
(WebCore::ScrollbarThemeGtk::updateThemeProperties):
(WebCore::scrollbarPartStateFlags):
(WebCore::scrollbarGadgetForLayout):
(WebCore::contentsGadgetForLayout):
(WebCore::ScrollbarThemeGtk::trackRect):
(WebCore::ScrollbarThemeGtk::hasThumb):
(WebCore::ScrollbarThemeGtk::backButtonRect):
(WebCore::ScrollbarThemeGtk::forwardButtonRect):
(WebCore::ScrollbarThemeGtk::paint):
(WebCore::paintStepper):
(WebCore::adjustRectAccordingToMargin):
(WebCore::ScrollbarThemeGtk::scrollbarThickness):
(WebCore::ScrollbarThemeGtk::minimumThumbLength):
- platform/gtk/ScrollbarThemeGtk.h:
- 5:21 AM Changeset in webkit [199343] by
-
- 9 edits4 adds in trunk
[css-grid] Add parsing support for <auto-repeat> syntax
https://bugs.webkit.org/show_bug.cgi?id=155583
Reviewed by Antti Koivisto.
Source/WebCore:
The repeat() notation allows now to specify auto-fill or auto-fit instead of
a fixed number of repetitions meaning that it will be automatically computed
depending on the available space.
This patch just adds the parsing support, the expansion of the repeat notation
will be implemented in a follow up patch because it cannot be done at
parsing level (since it requires knowledge about the available space).
Test: fast/css-grid-layout/grid-element-auto-repeat-get-set.html
- CMakeLists.txt:
- css/CSSGridAutoRepeatValue.cpp: Added.
(WebCore::CSSGridAutoRepeatValue::customCSSText):
- css/CSSGridAutoRepeatValue.h: Added.
(WebCore::CSSGridAutoRepeatValue::create):
(WebCore::CSSGridAutoRepeatValue::autoRepeatID):
(WebCore::CSSGridAutoRepeatValue::CSSGridAutoRepeatValue):
- css/CSSParser.cpp:
(WebCore::allTracksAreFixedSized):
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTrackRepeatFunction):
(WebCore::CSSParser::parseGridTrackSize):
(WebCore::CSSParser::parseGridBreadth):
- css/CSSParser.h:
- css/CSSValue.cpp:
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
- css/CSSValue.h:
(WebCore::CSSValue::isGridAutoRepeatValue):
- css/CSSValueKeywords.in:
LayoutTests:
- fast/css-grid-layout/grid-element-auto-repeat-get-set-expected.txt: Added.
- fast/css-grid-layout/grid-element-auto-repeat-get-set.html: Added.
- 1:25 AM Changeset in webkit [199342] by
-
- 7 edits in trunk/Source
[JSC] addStaticGlobals should emit SymbolTableEntry watchpoints to encourage constant folding in DFG
https://bugs.webkit.org/show_bug.cgi?id=155110
Reviewed by Saam Barati.
Source/JavaScriptCore:
addStaticGlobalsdoes not emit SymbolTableEntry watchpoints for the added entries.
So, all the global variable lookups pointing to these static globals are not converted
into constants in DFGBytecodeGenerator: this fact leaves these lookups as GetGlobalVar.
Such thing avoids constant folding chance and emits CheckCell for @privateFunction inlining.
This operation is pure overhead.
Static globals are not configurable, and they are typically non-writable.
So they are constants in almost all the cases.
This patch initializes watchpoints for these static globals.
These watchpoints allow DFG to convert these nodes into constants in DFG BytecodeParser.
These watchpoints includes many builtin operations andundefined.
The microbenchmark, many-foreach-calls shows 5 - 7% improvement since it removes unnecessary CheckCell.
- bytecode/VariableWriteFireDetail.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::addGlobalVar):
(JSC::JSGlobalObject::addStaticGlobals):
- runtime/JSSymbolTableObject.h:
(JSC::symbolTablePutTouchWatchpointSet):
(JSC::symbolTablePutInvalidateWatchpointSet):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributesTouchWatchpointSet): Deleted.
- runtime/SymbolTable.h:
(JSC::SymbolTableEntry::SymbolTableEntry):
(JSC::SymbolTableEntry::operator=):
(JSC::SymbolTableEntry::swap):
Source/WebCore:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::updateDocument):
- 1:24 AM Changeset in webkit [199341] by
-
- 3 edits in trunk/Source/WebCore
[css-grid] Pass GridSizingData instead of columnTracks to track sizing methods
https://bugs.webkit.org/show_bug.cgi?id=156466
Reviewed by Darin Adler.
Several methods used to compute the items' size contribution to the tracks they span in, get
as an argument a vector with the sizes of the column tracks.
In order to support grids with orthogonal flows (among other things) it's much better to
pass the GridSizingData struct and let those methods decide whether to use the columns or
the rows.
No new tests as this is just a minor refactoring with no change in behavior.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::logicalContentHeightForChild):
(WebCore::RenderGrid::minSizeForChild):
(WebCore::RenderGrid::minContentForChild):
(WebCore::RenderGrid::maxContentForChild):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForNonSpanningItems):
(WebCore::RenderGrid::currentItemSizeForTrackSizeComputationPhase):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
- rendering/RenderGrid.h:
- 12:38 AM Changeset in webkit [199340] by
-
- 4 edits2 adds in trunk
Remove failing assertion in ANGLE
https://bugs.webkit.org/show_bug.cgi?id=156485
Patch by Alex Christensen <achristensen@webkit.org> on 2016-04-12
Reviewed by Dean Jackson.
Source/ThirdParty/ANGLE:
- src/compiler/translator/glslang.l:
- src/compiler/translator/glslang_lex.cpp:
LayoutTests:
- fast/canvas/webgl/fragment-shader-assertion-expected.txt: Added.
- fast/canvas/webgl/fragment-shader-assertion.html: Added.
- 12:29 AM Changeset in webkit [199339] by
-
- 2 edits in trunk/Source/JavaScriptCore
Build fix after r199299.
https://bugs.webkit.org/show_bug.cgi?id=155508
- jit/ExecutableAllocatorFixedVMPool.cpp:
(JSC::FixedVMPoolExecutableAllocator::initializeSeparatedWXHeaps):
memset_s is not defined. STDC_WANT_LIB_EXT1 is not defined anywhere.
Since the return value is unused and set_constraint_handler_s is never called
I'm chaning it to memset.
Apr 11, 2016:
- 11:53 PM Changeset in webkit [199338] by
-
- 6 edits1 add in trunk
Build MiniBrowser with CMake on Mac
https://bugs.webkit.org/show_bug.cgi?id=156471
Reviewed by Daniel Bates.
Source/WebKit2:
- DatabaseProcess/DatabaseProcess.messages.in:
Tools:
- CMakeLists.txt:
- DumpRenderTree/CMakeLists.txt:
- DumpRenderTree/PlatformWin.cmake:
- MiniBrowser/mac/CMakeLists.txt: Added.
- 11:16 PM Changeset in webkit [199337] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] B3 can use undefined bits or not defined required bits when spilling
https://bugs.webkit.org/show_bug.cgi?id=156486
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-11
Reviewed by Filip Pizlo.
Spilling had issues when replacing arguments in place.
The problems are:
1) If we have a 32bit stackslot, a x86 instruction could still try to load 64bits from it.
2) If we have a 64bit stackslot, Move32 would only set half the bits.
3) We were reducing Move to Move32 even if the top bits are read from the stack slot.
The case 1 appear with something like this:
Move32 %tmp0, %tmp1
Op64 %tmp1, %tmp2, %tmp3
When we spill %tmp1, the stack slot is 32bit, Move32 sets 32bits
but Op64 supports addressing for %tmp1. When we substitute %tmp1 in Op64,
we are creating a 64bit read for a 32bit stack slot.
The case 2 is an other common one. If we have:
BB#1
Move32 %tmp0, %tmp1
Jump #3
BB#2
Op64 %tmp0, %tmp1
Jump #3
BB#3
Use64 %tmp1
We have a stack slot of 64bits. When spilling %tmp1 in #1, we are
effectively doing a 32bit store on the stack slot, leaving the top bits undefined.
Case 3 is pretty much the same as 2 but we create the Move32 ourself
because the source is a 32bit with ZDef.
Case (1) is solved by requiring that the stack slot is at least as large as the largest
use/def of that tmp.
Case (2) and (3) are solved by not replacing a Tmp by an Address if the Def
is smaller than the stack slot.
- b3/air/AirIteratedRegisterCoalescing.cpp:
- b3/testb3.cpp:
(JSC::B3::testSpillDefSmallerThanUse):
(JSC::B3::testSpillUseLargerThanDef):
(JSC::B3::run):
- 11:12 PM Changeset in webkit [199336] by
-
- 12 edits in trunk
[EFL] Do not pass context to EwkViewCreate
https://bugs.webkit.org/show_bug.cgi?id=156461
Reviewed by Darin Adler.
Source/WebKit2:
EWKViewCreate already has pageConfiguration which contains context.
So, this patch removes context argument from EWKViewCreate.
- UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
(WKViewCreate):
- UIProcess/API/C/CoordinatedGraphics/WKView.h:
- UIProcess/API/efl/ewk_view.cpp:
(EWKViewCreate): Call WebView::Create instead of WKViewCreate not to use WK API.
(ewk_view_smart_add):
(ewk_view_add_with_configuration):
(ewk_view_add_with_context):
- UIProcess/API/efl/ewk_view_private.h:
- UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
- UIProcess/efl/WebView.cpp:
(WebKit::WebView::create):
(WebKit::WebView::WebView):
- UIProcess/efl/WebView.h:
Tools:
- TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewUserViewportToContents.cpp:
(TestWebKitAPI::TEST): Removed context argument from EwkViewCreate calls.
- TestWebKitAPI/efl/PlatformWebView.cpp:
(TestWebKitAPI::PlatformWebView::PlatformWebView): Ditto.
- WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::PlatformWebView): Ditto.
- 10:49 PM Changeset in webkit [199335] by
-
- 4 edits in trunk/Source/WebCore
Remove UsePointersEvenForNonNullableObjectArguments from HTMLOptionsCollection
https://bugs.webkit.org/show_bug.cgi?id=156491
Reviewed by Chris Dumez.
- html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::add): Take a reference instead of a pointer.
- html/HTMLOptionsCollection.h: Removed unneeded forward declaration. Changed
add to take a reference instead of a pointer for the element to add. Used
final instead of override on virtual functions.
- html/HTMLOptionsCollection.idl: Removed now-unneeded attribute
UsePointersEvenForNonNullableObjectArguments; the only function affected was
add, and the overloading code was already checking for null.
- 9:15 PM Changeset in webkit [199334] by
-
- 20 edits in trunk/Source
Remove UsePointersEvenForNonNullableObjectArguments from HTMLSelectElement
https://bugs.webkit.org/show_bug.cgi?id=156458
Reviewed by Chris Dumez.
Source/WebCore:
- bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::remove): Updated to call remove with a reference
rather than a pointer.
- bindings/js/JSHTMLSelectElementCustom.cpp:
(WebCore::JSHTMLSelectElement::remove): Updated to call remove with a reference
rather than a pointer.
(WebCore::selectIndexSetter): Updated to call setOption with a reference rather
than a pointer.
- bindings/scripts/CodeGeneratorGObject.pm:
(GenerateFunction): Added basic support for passing wrappers by reference.
GObject bindings already check arguments for null, so didn't add any new checks.
- bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
- bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
- bindings/scripts/test/GObject/WebKitDOMTestCallbackFunction.cpp:
- bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
- bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
Updated.
- editing/FrameSelection.cpp: Updated includes.
- html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setSelected): Pass reference when calling
HTMLSelectElement::optionSelectionStateChanged.
(WebCore::HTMLOptionElement::insertedInto): Ditto.
- html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::add): Moved null checking behavior here.
Preserves existing "silently do nothing if null".
(WebCore::HTMLOptionsCollection::remove): Changed function to take a reference
instead of a pointer.
- html/HTMLOptionsCollection.h: Updated include. Changed remove to take a
reference instead of a pointer.
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::add): Changed to take a reference instead of
a pointer. Also removed unneeded protect code, since insertBefore already
protects itself, and unneeded call to updateValidity, since the
HTMLSelectElement::childrenChanged function already calls updateValidity.
(WebCore::HTMLSelectElement::remove): Changed to take a reference instead
of a pointer.
(WebCore::HTMLSelectElement::setOption): Changed to take a reference
instead of a pointer.
(WebCore::HTMLSelectElement::setLength): Renamed "newLen" to "newLength".
Use Ref instead of RefPtr for result of createElement, which makes the
argument passed to add be a reference rather than a pointer.
(WebCore::HTMLSelectElement::willRespondToMouseClickEvents): Put the #if
for this here instead of in the header.
(WebCore::HTMLSelectElement::optionSelectionStateChanged): Changed to take
a reference instead of a pointer for the option element.
- html/HTMLSelectElement.h: Removed unneeded includes. Derive privately
from TypeAheadDataSource instead of publicly. Make all overrides final
except for the one that is actually overridden by a derived class.
Changed the arguments of the add, remove, setOption, and
optionSelectionStateChanged functions to be references instead of pointers.
Tweaked formatting a bit and used nullptr instead of 0. Override
willRespondToMouseClickEvents on all platforms, not just iOS.
- html/HTMLSelectElement.idl: Removed UsePointersEvenForNonNullableObjectArguments.
Removed a comment that is no longer needed. Made some types nullable to match
the specification, in places that currently have no effect on code generation.
Added a FIXME comment about the argument to setCustomValidity incorrectly being
marked as nullable.
Source/WebKit/win:
- DOMCoreClasses.cpp: Added now-needed include.
Source/WebKit2:
- WebProcess/Plugins/PDF/PDFPluginAnnotation.mm: Updated includes.
- 8:42 PM Changeset in webkit [199333] by
-
- 1 edit1 add2 deletes in trunk/Websites/perf.webkit.org
Replace script runner to use mocha.js tests
https://bugs.webkit.org/show_bug.cgi?id=156490
Reviewed by Chris Dumez.
Replaced run-tests.js, which was a whole test harness for running legacy tests by tools/run-tests.py
which is a thin wrapper around mocha.js.
- run-tests.js: Removed.
- tests: Removed.
- tools/run-tests.py: Added.
(main):
- 8:18 PM Changeset in webkit [199332] by
-
- 6 edits in trunk/Websites/perf.webkit.org
New syncing script sometimes schedules a build request on a wrong builder
https://bugs.webkit.org/show_bug.cgi?id=156489
Reviewed by Stephanie Lewis.
The bug was caused by _scheduleNextRequestInGroupIfSlaveIsAvailable scheduling the next build request on
any available syncer regardless of whether the request is the first one in the test group or not because
BuildRequest.order was returning a string instead of a number.
Also fixed a bug that BuildbotTriggerable.syncOnce was re-ordering test groups by their id's instead of
respecting the order in which the perf dashboard returned.
- public/v3/models/build-request.js:
(BuildRequest.prototype.order): Force the order to be a number.
- server-tests/api-build-requests-tests.js: Assert the order as numbers.
- server-tests/resources/mock-data.js:
(MockData.addAnotherMockTestGroup): Changed the test group id to 601, which is after the first mock data.
The old number was masking a bug in BuildbotTriggerable that it was re-ordering test groups by their id's
instead of using the order set forth by the perf dashboard.
(MockData.mockTestSyncConfigWithSingleBuilder):
- server-tests/tools-buildbot-triggerable-tests.js: Added a test case for scheduling two build requests in
a single call to syncOnce. Each build request should be scheduled on the same builder as the previous build
requests in the same test group.
- tools/js/buildbot-triggerable.js:
(BuildbotTriggerable.prototype.syncOnce): Order test groups by groupOrder, which is the index at which first
build request in the group appeared.
(BuildbotTriggerable.prototype._scheduleNextRequestInGroupIfSlaveIsAvailable): Don't re-order build requests
as they're already sorted on the server side.
(BuildbotTriggerable._testGroupMapForBuildRequests): Added groupOrder to test group info
- 8:07 PM Changeset in webkit [199331] by
-
- 13 edits2 adds in trunk
Use WeakPtrs to avoid using deallocated Widgets and ScrollableAreas
https://bugs.webkit.org/show_bug.cgi?id=156420
<rdar://problem/25637378>
Reviewed by Darin Adler.
Source/WebCore:
Avoid the risk of using deallocated Widgets and ScrollableAreas by using WeakPtrs instead of
bare pointers. This allows us to remove some explicit calls to get ScrollableArea and Widget
members in the event handling logic. Instead, null checks are sufficient to ensure we never
accidentally dereference a deleted element.
- Modify the ScrollableArea class to support vending WeakPtrs.
- Modify the Event Handling code to use WeakPtrs to hold ScrollableArea and RenderWidget objects, and to null-check these elements after event handling dispatching is finished to handle cases where these objects are destroyed.
Test: fast/events/wheel-event-destroys-frame.html
fast/events/wheel-event-destroys-overflow.html
- page/EventHandler.cpp:
(WebCore::EventHandler::platformPrepareForWheelEvents): Change signature for WeakPtr.
(WebCore::EventHandler::platformCompleteWheelEvent): Ditto.
(WebCore::EventHandler::platformNotifyIfEndGesture): Ditto.
(WebCore::widgetForElement): Change to return a WeakPtr.
(WebCore::EventHandler::handleWheelEvent): Use WeakPtrs to hold elements that might be destroyed
during event handling.
- page/EventHandler.h:
- page/mac/EventHandlerEfl.cpp: Rename passWheelEventToWidget to widgetDidHandleWheelEvent.
- page/mac/EventHandlerGtk.cpp: Ditto.
- page/mac/EventHandlerIOS.mm: Ditto.
- page/mac/EventHandlerMac.mm:
(WebCore::scrollableAreaForEventTarget): Renamed from scrollViewForEventTarget. Return
a WeakPtr rather than a bare pointer.
(WebCore::scrollableAreaForContainerNode): Return WeakPtr rather than bare pointer.
(WebCore::EventHandler::completeWidgetWheelEvent): Added.
(WebCore::EventHandler::passWheelEventToWidget): Deleted.
(WebCore::EventHandler::platformPrepareForWheelEvents): Convert to WeakPtrs.
(WebCore::EventHandler::platformCompleteWheelEvent): Ditto.
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Ditto.
(WebCore::EventHandler::platformNotifyIfEndGesture): Ditto.
(WebCore::EventHandler::widgetDidHandleWheelEvent): Renamed from passWheelEventToWidget.
(WebCore::EventHandler::widgetForEventTarget): Converted from static function to static
method so it can be shared with EventHandlerMac.
(WebCore::scrollViewForEventTarget): Deleted.
- page/mac/EventHandlerWin.cpp: Rename passWheelEventToWidget to widgetDidHandleWheelEvent.
- platform/ScrollableArea.cpp:
- platform/ScrollableArea.h:
(WebCore::ScrollableArea::createWeakPtr): Added.
- platform/Widget.h:
(WebCore::ScrollableArea::createWeakPtr): Added.
LayoutTests:
- fast/events/wheel-event-destroys-overflow-expected.txt: Added.
- fast/events/wheel-event-destroys-overflow.html: Added.
- platform/ios-simulator/TestExpectations: Skip wheel-event test on iOS.
- 7:57 PM Changeset in webkit [199330] by
-
- 3 edits2 adds in trunk
putImageData needs to premultiply input
https://bugs.webkit.org/show_bug.cgi?id=156488
<rdar://problem/25672675>
Reviewed by Zalan Bujtas.
Source/WebCore:
I made a mistake in r187534 as I was converting get and putImageData
to use Accelerate. The incoming data is unmultiplied, and should
be premultiplied before copying into the backing store. I was
accidentally unmultiplying unmultiplied data, which caused
some pretty psychedelic results.
Test: fast/canvas/putImageData-unmultiplied.html
- platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::ImageBufferData::putData): Call premultiply, not unpremultiply.
LayoutTests:
Tests that putImageData is taking unmultiplied data,
premultiplying it, then copying into the backing store.
- fast/canvas/putImageData-unmultiplied-expected.html: Added.
- fast/canvas/putImageData-unmultiplied.html: Added.
- 7:20 PM Changeset in webkit [199329] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Versioning.
- 7:12 PM Changeset in webkit [199328] by
-
- 7 edits in trunk/PerformanceTests
Update Animometer to accommodate different screens
https://bugs.webkit.org/show_bug.cgi?id=156449
Reviewed by Darin Adler.
Provisionally reviewed by Said Abou-Hallawa.
- Animometer/index.html: Wrap button in a container to add padding at the bottom.
- Animometer/resources/debug-runner/animometer.css:
(@media screen and (min-device-width: 1800px)): Deleted.
(@media screen and (min-width: 1800px)): Cannot use min-device-width since it may match incorrectly.
(screen and (max-device-height: 414px) and (orientation: landscape)): Some devices swap device width
and height with orientation change.
- Animometer/resources/runner/animometer.css: Similar.
(screen and (min-device-width: 1024px) and (orientation: landscape)):
(screen and (max-device-height: 414px) and (orientation: landscape)):
(.frame-container): On smaller iPhones, adding 1px prevents the navigation bars from appearing.
(@media screen and (min-device-width: 768px) and (max-device-width: 1024px)): Deleted.
(@media (min-device-height: 768px) and (max-device-height: 1024px)): Target iPad Airs and similar.
(@media screen and (min-device-width: 1024px) and (max-device-width: 1366px)): Deleted.
(@media screen and (max-device-width: 1024px) and (min-device-height: 1366px)): Target iPad Pro.
(#results footer): Add padding below the button for testing again.
- Animometer/tests/master/multiply.html: Remove the center text.
- Animometer/tests/master/resources/text.js: Update the test so that in every frame the text moves.
- Animometer/tests/master/text.html: Update the text sizing depending on the size of the device.
- 6:32 PM Changeset in webkit [199327] by
-
- 1 copy in tags/Safari-601.1.46.126
New tag.
- 6:00 PM Changeset in webkit [199326] by
-
- 28 edits in trunk/Source
When clearing cache, also clear AVFoundation cache.
https://bugs.webkit.org/show_bug.cgi?id=155783
rdar://problem/25252541
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-04-11
Reviewed by Darin Adler.
Source/WebCore:
Use AVAssetCache at a specified location on disk for all AVURLAssets. This AVAssetCache
can then be used to manage the cache storage used by AVFoundation. It is used to query the
contents of the cache in originsInMediaCache() and to clear the cache completely or partially in
clearMediaCache() and clearMediaCacheForOrigins().
Use SecurityOrigin instead of the less formal site String to represent origins in the cache.
- html/HTMLMediaElement.cpp:
(WebCore::sharedMediaCacheDirectory): Added.
(WebCore::HTMLMediaElement::setMediaCacheDirectory): Added.
(WebCore::HTMLMediaElement::mediaCacheDirectory): Added.
(WebCore::HTMLMediaElement::originsInMediaCache): Added.
(WebCore::HTMLMediaElement::clearMediaCache): Added parameter.
(WebCore::HTMLMediaElement::clearMediaCacheForOrigins): Added.
(WebCore::HTMLMediaElement::mediaPlayerMediaCacheDirectory): Added.
(WebCore::HTMLMediaElement::getSitesInMediaCache): Deleted.
(WebCore::HTMLMediaElement::clearMediaCacheForSite): Deleted.
- html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::clearMediaCache): Added parameter.
- platform/graphics/MediaPlayer.cpp:
(WebCore::addMediaEngine): Add new cache methods.
(WebCore::addToHash): Added.
(WebCore::MediaPlayer::originsInMediaCache): Added.
(WebCore::MediaPlayer::clearMediaCache): Added parameter.
(WebCore::MediaPlayer::clearMediaCacheForOrigins): Added.
(WebCore::MediaPlayer::getSitesInMediaCache): Deleted.
(WebCore::MediaPlayer::clearMediaCacheForSite): Deleted.
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerMediaCacheDirectory): Added.
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::originsInMediaCache): Added.
(WebCore::MediaPlayerPrivateInterface::clearMediaCache): Added parameter.
(WebCore::MediaPlayerPrivateInterface::clearMediaCacheForOrigins): Added.
(WebCore::MediaPlayerPrivateInterface::getSitesInMediaCache): Deleted.
(WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Deleted.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine): Added cache methods.
(WebCore::assetCacheForPath): Added.
(WebCore::MediaPlayerPrivateAVFoundationObjC::originsInMediaCache): Added.
(WebCore::toSystemClockTime): Added.
(WebCore::MediaPlayerPrivateAVFoundationObjC::clearMediaCache): Added parameter.
(WebCore::MediaPlayerPrivateAVFoundationObjC::clearMediaCacheForOrigins): Added.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Added.
- platform/graphics/mac/MediaPlayerPrivateQTKit.h:
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Added cache methods.
(WebCore::MediaPlayerPrivateQTKit::originsInMediaCache): Added.
(WebCore::MediaPlayerPrivateQTKit::clearMediaCache): Added parameter.
(WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForOrigins): Added.
(WebCore::MediaPlayerPrivateQTKit::getSitesInMediaCache): Deleted.
(WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForSite): Deleted.
- platform/spi/mac/AVFoundationSPI.h:
Source/WebKit2:
Include the HTMLMediaElement media cache when doing disk cache operations.
Add a sandbox extension for media cache directory. This allows the UI process and the web process
to access the same cache.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode): Add media cache directory.
(WebKit::WebProcessCreationParameters::decode): Add media cache directory.
- Shared/WebProcessCreationParameters.h:
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::createWithLegacyOptions):
(API::ProcessPoolConfiguration::ProcessPoolConfiguration): Add media cache directory.
(API::ProcessPoolConfiguration::copy): Add media cache directory.
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::defaultMediaCacheDirectory): Default implementation.
- UIProcess/API/APIWebsiteDataStore.h:
- UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
(API::WebsiteDataStore::defaultMediaCacheDirectory): Media cache is in temporary directory.
(API::WebsiteDataStore::tempDirectoryFileSystemRepresentation): For resources in temporary directory.
(API::WebsiteDataStore::defaultDataStoreConfiguration): Init media cache directory.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory):
- UIProcess/WebProcessPool.cpp:
(WebKit::legacyWebsiteDataStoreConfiguration): Add mediaCacheDirectory.
(WebKit::WebProcessPool::createNewWebProcess): Add mediaCacheDirectory.
- UIProcess/WebProcessPool.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::WebsiteDataStore):
(WebKit::WebsiteDataStore::fetchData): Implement for mediaCacheDirectory.
(WebKit::WebsiteDataStore::removeData): Implement for mediaCacheDirectory.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/efl/WebProcessPoolEfl.cpp:
(WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): Added.
- UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): Added.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess): Initialize media cache directory.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess): Consume sandbox extension.
- 5:48 PM Changeset in webkit [199325] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Tab Bar items get unreadable at narrow window widths, should collapse earlier
https://bugs.webkit.org/show_bug.cgi?id=156477
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-11
Reviewed by Timothy Hatcher.
- UserInterface/Views/TabBar.js:
(WebInspector.TabBar.prototype.layout):
Hide-titles sooner since a width of 60 results in only a few characters
and looks poor.
- 5:45 PM Changeset in webkit [199324] by
-
- 2 edits in trunk/LayoutTests
Unskip imported/w3c/web-platform-tests/IndexedDB/idbindex-multientry-big.htm
https://bugs.webkit.org/show_bug.cgi?id=156480
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 4:49 PM Changeset in webkit [199323] by
-
- 25 edits in trunk/Source/WebCore
Unreviewed, rolling out r199310.
https://bugs.webkit.org/show_bug.cgi?id=156483
This change turns many indexeddb tests into crashes (Requested
by jwtan on #webkit).
Reverted changeset:
"Clean up IDBBindingUtilities."
https://bugs.webkit.org/show_bug.cgi?id=156472
http://trac.webkit.org/changeset/199310
- 4:47 PM Changeset in webkit [199322] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Unstyled nodes in ObjectTree previews look poor
https://bugs.webkit.org/show_bug.cgi?id=156475
<rdar://problem/25667351>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-11
Reviewed by Timothy Hatcher.
- UserInterface/Views/ObjectPreviewView.js:
(WebInspector.ObjectPreviewView.prototype._appendPreview):
Treat nodes as simple values.
(WebInspector.ObjectPreviewView.prototype._initTitleElement):
(WebInspector.ObjectPreviewView.prototype._appendValuePreview):
Format nodes nicely, and treat them as lossy since they have properties.
- 4:46 PM Changeset in webkit [199321] by
-
- 28 edits in trunk/Source
Unreviewed, rolling out r199315.
https://bugs.webkit.org/show_bug.cgi?id=156482
This change broke the OS X Yosemite build. (Requested by jwtan
on #webkit).
Reverted changeset:
"When clearing cache, also clear AVFoundation cache."
https://bugs.webkit.org/show_bug.cgi?id=155783
http://trac.webkit.org/changeset/199315
- 4:22 PM Changeset in webkit [199320] by
-
- 9 edits in trunk/Source
Web Inspector: get rid of InspectorBasicValue and InspectorString subclasses
https://bugs.webkit.org/show_bug.cgi?id=156407
<rdar://problem/25627659>
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
There's no point having these subclasses as they don't save any space.
Add a StringImpl to the union and merge some implementations of writeJSON.
Rename m_data to m_map and explicitly name the union as InspectorValue::m_value.
If the value is a string and the string is not empty or null (i.e., it has a
StringImpl), then we need to ref() and deref() the string as the InspectorValue
is created or destroyed.
Move uses of the subclass to InspectorValue and delete redundant methods.
Now, most InspectorValue methods are non-virtual so they can be templated.
- bindings/ScriptValue.cpp:
(Deprecated::jsToInspectorValue):
- inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::makeCall):
Don't used deleted subclasses.
- inspector/InspectorValues.cpp:
(Inspector::InspectorValue::null):
(Inspector::InspectorValue::create):
(Inspector::InspectorValue::asValue):
(Inspector::InspectorValue::asBoolean):
(Inspector::InspectorValue::asDouble):
(Inspector::InspectorValue::asInteger):
(Inspector::InspectorValue::asString):
These only need one implementation now.
(Inspector::InspectorValue::writeJSON):
Still a virtual method since Object and Array need their members.
(Inspector::InspectorObjectBase::InspectorObjectBase):
(Inspector::InspectorBasicValue::asBoolean): Deleted.
(Inspector::InspectorBasicValue::asDouble): Deleted.
(Inspector::InspectorBasicValue::asInteger): Deleted.
(Inspector::InspectorBasicValue::writeJSON): Deleted.
(Inspector::InspectorString::asString): Deleted.
(Inspector::InspectorString::writeJSON): Deleted.
(Inspector::InspectorString::create): Deleted.
(Inspector::InspectorBasicValue::create): Deleted.
- inspector/InspectorValues.h:
(Inspector::InspectorObjectBase::find):
(Inspector::InspectorObjectBase::setBoolean):
(Inspector::InspectorObjectBase::setInteger):
(Inspector::InspectorObjectBase::setDouble):
(Inspector::InspectorObjectBase::setString):
(Inspector::InspectorObjectBase::setValue):
(Inspector::InspectorObjectBase::setObject):
(Inspector::InspectorObjectBase::setArray):
(Inspector::InspectorArrayBase::pushBoolean):
(Inspector::InspectorArrayBase::pushInteger):
(Inspector::InspectorArrayBase::pushDouble):
(Inspector::InspectorArrayBase::pushString):
(Inspector::InspectorArrayBase::pushValue):
(Inspector::InspectorArrayBase::pushObject):
(Inspector::InspectorArrayBase::pushArray):
Use new factory methods.
- replay/EncodedValue.cpp:
(JSC::ScalarEncodingTraits<bool>::encodeValue):
(JSC::ScalarEncodingTraits<double>::encodeValue):
(JSC::ScalarEncodingTraits<float>::encodeValue):
(JSC::ScalarEncodingTraits<int32_t>::encodeValue):
(JSC::ScalarEncodingTraits<int64_t>::encodeValue):
(JSC::ScalarEncodingTraits<uint32_t>::encodeValue):
(JSC::ScalarEncodingTraits<uint64_t>::encodeValue):
- replay/EncodedValue.h:
Use new factory methods.
Source/WebCore:
- inspector/InspectorDatabaseAgent.cpp: Don't use deleted subclasses.
- 4:16 PM Changeset in webkit [199319] by
-
- 2 edits in tags/Safari-602.1.27.0.1/Source/WebCore
Merged r199317. rdar://problem/25627389
- 4:16 PM Changeset in webkit [199318] by
-
- 2 edits in trunk/LayoutTests
Skip imported/w3c/web-platform-tests/IndexedDB/idbindex-multientry-big.htm on ios-simulators
https://bugs.webkit.org/show_bug.cgi?id=156480
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 4:13 PM Changeset in webkit [199317] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r198909.
https://bugs.webkit.org/show_bug.cgi?id=156479
made double-click-and-drag on text drag instead of
highlighting (Requested by alexchristensen_ on #webkit).
Reverted changeset:
"eventMayStartDrag() does not check for shiftKey or
isOverLink"
https://bugs.webkit.org/show_bug.cgi?id=155746
http://trac.webkit.org/changeset/198909
Patch by Commit Queue <commit-queue@webkit.org> on 2016-04-11
- 4:00 PM Changeset in webkit [199316] by
-
- 7 edits in trunk/Source/WebCore
[WebIDL] Add support for [ImplementedAs] for EventHandler attributes
https://bugs.webkit.org/show_bug.cgi?id=156421
Reviewed by Darin Adler.
Add support for [ImplementedAs] for EventHandler attributes so we can
get rid of some ugly name hard-coding in the bindings generator.
- Modules/notifications/Notification.idl:
- bindings/scripts/CodeGeneratorJS.pm:
(EventHandlerAttributeEventName):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjOnwebkitfoo):
(WebCore::setJSTestObjOnwebkitfoo):
- bindings/scripts/test/TestObj.idl:
- dom/Element.idl:
- page/DOMWindow.idl:
- 3:43 PM Changeset in webkit [199315] by
-
- 28 edits in trunk/Source
When clearing cache, also clear AVFoundation cache.
https://bugs.webkit.org/show_bug.cgi?id=155783
rdar://problem/25252541
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-04-11
Reviewed by Darin Adler.
Source/WebCore:
Use AVAssetCache at a specified location on disk for all AVURLAssets. This AVAssetCache
can then be used to manage the cache storage used by AVFoundation. It is used to query the
contents of the cache in originsInMediaCache() and to clear the cache completely or partially in
clearMediaCache() and clearMediaCacheForOrigins().
Use SecurityOrigin instead of the less formal site String to represent origins in the cache.
- html/HTMLMediaElement.cpp:
(WebCore::sharedMediaCacheDirectory): Added.
(WebCore::HTMLMediaElement::setMediaCacheDirectory): Added.
(WebCore::HTMLMediaElement::mediaCacheDirectory): Added.
(WebCore::HTMLMediaElement::originsInMediaCache): Added.
(WebCore::HTMLMediaElement::clearMediaCache): Added parameter.
(WebCore::HTMLMediaElement::clearMediaCacheForOrigins): Added.
(WebCore::HTMLMediaElement::mediaPlayerMediaCacheDirectory): Added.
(WebCore::HTMLMediaElement::getSitesInMediaCache): Deleted.
(WebCore::HTMLMediaElement::clearMediaCacheForSite): Deleted.
- html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::clearMediaCache): Added parameter.
- platform/graphics/MediaPlayer.cpp:
(WebCore::addMediaEngine): Add new cache methods.
(WebCore::addToHash): Added.
(WebCore::MediaPlayer::originsInMediaCache): Added.
(WebCore::MediaPlayer::clearMediaCache): Added parameter.
(WebCore::MediaPlayer::clearMediaCacheForOrigins): Added.
(WebCore::MediaPlayer::getSitesInMediaCache): Deleted.
(WebCore::MediaPlayer::clearMediaCacheForSite): Deleted.
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerMediaCacheDirectory): Added.
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::originsInMediaCache): Added.
(WebCore::MediaPlayerPrivateInterface::clearMediaCache): Added parameter.
(WebCore::MediaPlayerPrivateInterface::clearMediaCacheForOrigins): Added.
(WebCore::MediaPlayerPrivateInterface::getSitesInMediaCache): Deleted.
(WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Deleted.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine): Added cache methods.
(WebCore::assetCacheForPath): Added.
(WebCore::MediaPlayerPrivateAVFoundationObjC::originsInMediaCache): Added.
(WebCore::toSystemClockTime): Added.
(WebCore::MediaPlayerPrivateAVFoundationObjC::clearMediaCache): Added parameter.
(WebCore::MediaPlayerPrivateAVFoundationObjC::clearMediaCacheForOrigins): Added.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Added.
- platform/graphics/mac/MediaPlayerPrivateQTKit.h:
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Added cache methods.
(WebCore::MediaPlayerPrivateQTKit::originsInMediaCache): Added.
(WebCore::MediaPlayerPrivateQTKit::clearMediaCache): Added parameter.
(WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForOrigins): Added.
(WebCore::MediaPlayerPrivateQTKit::getSitesInMediaCache): Deleted.
(WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForSite): Deleted.
- platform/spi/mac/AVFoundationSPI.h:
Source/WebKit2:
Include the HTMLMediaElement media cache when doing disk cache operations.
Add a sandbox extension for media cache directory. This allows the UI process and the web process
to access the same cache.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode): Add media cache directory.
(WebKit::WebProcessCreationParameters::decode): Add media cache directory.
- Shared/WebProcessCreationParameters.h:
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::createWithLegacyOptions):
(API::ProcessPoolConfiguration::ProcessPoolConfiguration): Add media cache directory.
(API::ProcessPoolConfiguration::copy): Add media cache directory.
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::defaultMediaCacheDirectory): Default implementation.
- UIProcess/API/APIWebsiteDataStore.h:
- UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
(API::WebsiteDataStore::defaultMediaCacheDirectory): Media cache is in temporary directory.
(API::WebsiteDataStore::tempDirectoryFileSystemRepresentation): For resources in temporary directory.
(API::WebsiteDataStore::defaultDataStoreConfiguration): Init media cache directory.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory):
- UIProcess/WebProcessPool.cpp:
(WebKit::legacyWebsiteDataStoreConfiguration): Add mediaCacheDirectory.
(WebKit::WebProcessPool::createNewWebProcess): Add mediaCacheDirectory.
- UIProcess/WebProcessPool.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::WebsiteDataStore):
(WebKit::WebsiteDataStore::fetchData): Implement for mediaCacheDirectory.
(WebKit::WebsiteDataStore::removeData): Implement for mediaCacheDirectory.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/efl/WebProcessPoolEfl.cpp:
(WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): Added.
- UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): Added.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess): Initialize media cache directory.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess): Consume sandbox extension.
- 2:42 PM Changeset in webkit [199314] by
-
- 4 edits in trunk/Source/WebCore
[WebGL2] Use Open GL ES 3.0 to back WebGL2 contexts
https://bugs.webkit.org/show_bug.cgi?id=141178
Patch by Antoine Quint <Antoine Quint> on 2016-04-11
Reviewed by Dean Jackson.
We add a new
useGLES3attribute when creating a GraphicsContext3D in the event that the
context type is "webgl2". This attribute is then read by the GraphicsContext3D constructor
to request an Open GL ES 3.0 backend when creating the EAGLContext on iOS.
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):
- platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::Attributes::Attributes):
- platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D):
- 2:35 PM Changeset in webkit [199313] by
-
- 4 edits2 adds in trunk
fast/loader/opaque-base-url.html crashing during mac and ios debug tests
https://bugs.webkit.org/show_bug.cgi?id=156179
<rdar://problem/25507719>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Navigate to about:blank if the provided src of an iframe/frame cannot be
resolved to a valid URL.
Test: fast/loader/iframe-src-invalid-url.html
- loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestFrame):
LayoutTests:
- fast/loader/iframe-src-invalid-url-expected.txt: Added.
- fast/loader/iframe-src-invalid-url.html: Added.
- 2:33 PM Changeset in webkit [199312] by
-
- 25 edits2 adds1 delete in trunk
Merge CG ImageSource and non CG ImageSource implementation in one file
https://bugs.webkit.org/show_bug.cgi?id=155456
Patch by Said Abou-Hallawa <sabouhallawa@apple,com> on 2016-04-11
Reviewed by Darin Adler.
Source/WebCore:
ImageSource for CG and CG code paths look very similar. All the platform
specific code can be moved to ImageDecoder classes for CG and non CG. And
we can have the ImageSource be platform independent and we get rid of
ImageSourceCG.cpp.
Test: fast/images/image-subsampling.html
- CMakeLists.txt:
- PlatformAppleWin.cmake:
- PlatformMac.cmake:
- WebCore.xcodeproj/project.pbxproj:
Delete ImageSourceCG.cpp form all make files and add ImageSource.cpp to
CMakeLists.txt.
- platform/Cursor.cpp:
(WebCore::determineHotSpot):
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::hotSpot):
(WebCore::BitmapImage::getHotSpot): Deleted.
- platform/graphics/BitmapImage.h:
- platform/graphics/Image.h:
(WebCore::Image::hotSpot):
(WebCore::Image::getHotSpot): Deleted.
Rename getHotSpot() to hotSpot() and change it to return Optional<IntPoint>.
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::~ImageSource): Remove clear(true) call. It does nothing.
(WebCore::ImageSource::clearFrameBufferCache): A wrapper which calls ImageDecoder::clearFrameBufferCache().
(WebCore::ImageSource::clear): Calls clearFrameBufferCache() which will do nothing for CG.
(WebCore::ImageSource::ensureDecoderIsCreated): Change SharedBuffer* to
const SharedBuffer& and remove the call to ImageDecoder::setMaxNumPixels().
The value of const static int CG ImageDecoder::m_maxNumPixels will be set
based on IMAGE_DECODER_DOWN_SAMPLING.
(WebCore::ImageSource::setData): Pass SharedBuffer& to the underlying functions.
(WebCore::ImageSource::calculateMaximumSubsamplingLevel): Returns the maximum
subsampling level allowed for an image.
(WebCore::ImageSource::subsamplingLevelForScale): Converts from a scale to
SubsamplingLevel taking into consideration the maximumSubsamplingLevel for
a particular image.
(WebCore::ImageSource::bytesDecodedToDetermineProperties): Returns the number
of encoded bytes which can determine the image properties. For non CG it's
zero. For CG it is a maximum value which can be corrected later.
(WebCore::ImageSource::isSizeAvailable):
(WebCore::ImageSource::sizeRespectingOrientation):
(WebCore::ImageSource::frameCount):
(WebCore::ImageSource::repetitionCount):
(WebCore::ImageSource::filenameExtension):
(WebCore::ImageSource::getHotSpot):
(WebCore::ImageSource::frameIsCompleteAtIndex):
(WebCore::ImageSource::frameHasAlphaAtIndex):
(WebCore::ImageSource::allowSubsamplingOfFrameAtIndex):
(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::frameBytesAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):
(WebCore::ImageSource::orientationAtIndex):
(WebCore::ImageSource::createFrameImageAtIndex):
These are wrappers for the ImageDecoder APIs. The purpose of these functions
is to ensure the ImageDecoder is created.
(WebCore::ImageSource::dump): Called from BitmapImage::dump().
(WebCore::ImageSource::getHotSpot): Deleted.
- platform/graphics/ImageSource.h:
(WebCore::ImageSource::setAllowSubsampling): Called from BitmapImage::setAllowSubsampling().
(WebCore::ImageSource::maxPixelsPerDecodedImage): Deleted.
(WebCore::ImageSource::setMaxPixelsPerDecodedImage): Deleted.
Setting maxPixelsPerDecodedImage was moved to the non CG ImageDecoder.
- platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoder::setData): Change SharedBuffer* to SharedBuffer&.
(WebCore::ImageDecoder::subsamplingLevelForScale): Deleted.
The code was moved to ImageSource::subsamplingLevelForScale().
- platform/graphics/cg/ImageDecoderCG.h:
(WebCore::ImageDecoder::create): Make the prototype of this function
suitable for CG and non CG cases.
(WebCore::ImageDecoder::clearFrameBufferCache): Empty functions for CG.
- platform/graphics/cg/ImageSourceCG.cpp: Removed.
- platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::frameIsCompleteAtIndex): A mew function to return
whether the frame decoding is complete or not.
(WebCore::ImageDecoder::frameHasAlphaAtIndex): Simplify the logic.
(WebCore::ImageDecoder::frameDurationAtIndex): The code was moved from
ImageSource::frameDurationAtIndex() in ImageSource.cpp.
(WebCore::ImageDecoder::createFrameImageAtIndex): The code was moved from
ImageSource::createFrameImageAtIndex() in ImageSource.cpp.
- platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::ImageDecoder): Initialize the members in class.
(WebCore::ImageDecoder::~ImageDecoder): Fix the braces style.
(WebCore::ImageDecoder::setData): Change the type of the argument from
SharedBuffer* to SharedBuffer&.
(WebCore::ImageDecoder::frameSizeAtIndex): Add the argument SubsamplingLevel
so it can have the same prototype as CG.
(WebCore::ImageDecoder::orientationAtIndex): Rename it to the same of CG.
(WebCore::ImageDecoder::allowSubsamplingOfFrameAtIndex):
(WebCore::ImageDecoder::bytesDecodedToDetermineProperties):
(WebCore::ImageDecoder::subsamplingLevelForScale): Add these functions
and return the default values so we do not have to add directive compiled
non CG blocks in ImageSource.cpp.
(WebCore::ImageDecoder::hotSpot): Return Optional<IntPoint>.
(WebCore::ImageDecoder::orientation): Deleted.
(WebCore::ImageDecoder::setMaxNumPixels): Deleted.
- platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::setData):
- platform/image-decoders/bmp/BMPImageDecoder.h:
- platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::decode):
- platform/image-decoders/gif/GIFImageDecoder.h:
- platform/image-decoders/gif/GIFImageReader.h:
(GIFImageReader::setData):
- platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::setData):
Use reference SharedBuffer instead of pointer SharedBuffer.
(WebCore::ICOImageDecoder::hotSpot):
(WebCore::ICOImageDecoder::hotSpotAtIndex):
Change hotSpot() to return Optional<IntPoint>.
- platform/image-decoders/ico/ICOImageDecoder.h:
(WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex):
Pass reference SharedBuffer instead of pointer SharedBuffer.
Source/WebKit2:
- UIProcess/API/efl/EwkView.cpp:
(EwkView::setCursor):
Replace the call to Image::getHotSpot() by Image::hotSpot().
LayoutTests:
Add a test for image sub-sampling. The image subsampling is enabled by
default for iOS platform only. But it can be explicitly enabled through
the setting ImageSubsamplingEnabled.
- fast/images/image-subsampling-expected.html: Added.
- fast/images/image-subsampling.html: Added.
- 2:32 PM Changeset in webkit [199311] by
-
- 6 edits2 moves in trunk/Source/WebKit2
Rename WKOpenPanelParameters files to WKOpenPanelParametersRef
https://bugs.webkit.org/show_bug.cgi?id=156473
Reviewed by Alex Christensen.
- UIProcess/API/C/WKOpenPanelParameters.cpp:
(WKOpenPanelParametersGetTypeID): Deleted.
(WKOpenPanelParametersGetAllowsMultipleFiles): Deleted.
(WKOpenPanelParametersCopyAcceptedMIMETypes): Deleted.
(WKOpenPanelParametersCopyCapture): Deleted.
(WKOpenPanelParametersGetCaptureEnabled): Deleted.
(WKOpenPanelParametersCopySelectedFileNames): Deleted.
- UIProcess/API/C/WKOpenPanelParametersRef.cpp: Renamed from Source/WebKit2/UIProcess/API/C/WKOpenPanelParameters.cpp.
(WKOpenPanelParametersGetTypeID):
(WKOpenPanelParametersGetAllowsMultipleFiles):
(WKOpenPanelParametersCopyAcceptedMIMETypes):
(WKOpenPanelParametersCopyCapture):
(WKOpenPanelParametersGetCaptureEnabled):
(WKOpenPanelParametersCopySelectedFileNames):
- UIProcess/API/C/WKOpenPanelParametersRef.h: Renamed from Source/WebKit2/UIProcess/API/C/WKOpenPanelParameters.h.
- UIProcess/API/C/WebKit2_C.h:
- UIProcess/API/efl/ewk_file_chooser_request.cpp:
- UIProcess/mac/WebInspectorProxyMac.mm:
- WebKit2.xcodeproj/project.pbxproj:
- 2:31 PM Changeset in webkit [199310] by
-
- 25 edits in trunk/Source/WebCore
Clean up IDBBindingUtilities.
https://bugs.webkit.org/show_bug.cgi?id=156472
Reviewed by Alex Christensen.
No new tests (No change in behavior).
- Get rid of a whole bunch of unused functions (since we got rid of Legacy IDB).
- Make more functions deal in ExecState/ScriptExecutionContexts instead of DOMRequestState.
- Make more functions deal in JSValue instead of Deprecated::ScriptValue.
- bindings/scripts/IDLAttributes.txt: Add a new attribute to signify that an implementation returns JSValues instead of Deprecated::ScriptState
- bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue): Use that new attribute.
- Modules/indexeddb/IDBAny.cpp:
(WebCore::IDBAny::IDBAny):
(WebCore::IDBAny::scriptValue):
- Modules/indexeddb/IDBAny.h:
(WebCore::IDBAny::create):
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::key):
(WebCore::IDBCursor::primaryKey):
(WebCore::IDBCursor::value):
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::deleteFunction):
(WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBCursor.h:
- Modules/indexeddb/IDBCursor.idl:
- Modules/indexeddb/IDBCursorWithValue.idl:
- Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::cmp):
- Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
- Modules/indexeddb/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::lowerValue):
(WebCore::IDBKeyRange::upperValue):
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
- Modules/indexeddb/IDBKeyRange.h:
- Modules/indexeddb/IDBKeyRange.idl:
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::modernDelete):
(WebCore::IDBObjectStore::count):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::setResult):
(WebCore::IDBRequest::setResultToStructuredClone):
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::updateIndexesForPutRecord):
(WebCore::IDBServer::MemoryObjectStore::populateIndexWithExistingRecords):
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::idbKeyPathFromValue):
(WebCore::deserializeIDBValueDataToJSValue):
(WebCore::scriptValueToIDBKey):
(WebCore::idbKeyDataToScriptValue):
(WebCore::idbKeyDataToJSValue): Deleted.
(WebCore::injectIDBKeyIntoScriptValue): Deleted.
(WebCore::createIDBKeyFromScriptValueAndKeyPath): Deleted.
(WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): Deleted.
(WebCore::canInjectIDBKeyIntoScriptValue): Deleted.
(WebCore::deserializeIDBValue): Deleted.
(WebCore::deserializeIDBValueData): Deleted.
(WebCore::deserializeIDBValueBuffer): Deleted.
(WebCore::idbValueDataToJSValue): Deleted.
(WebCore::idbKeyToScriptValue): Deleted.
- bindings/js/IDBBindingUtilities.h:
- bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
- bindings/js/JSIDBDatabaseCustom.cpp:
(WebCore::JSIDBDatabase::createObjectStore):
- bindings/js/JSIDBObjectStoreCustom.cpp:
(WebCore::JSIDBObjectStore::createIndex):
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::execState):
- dom/ScriptExecutionContext.h:
- inspector/InspectorIndexedDBAgent.cpp:
- 1:10 PM Changeset in webkit [199309] by
-
- 16 edits in trunk/Source
WebKit should adopt journal_mode=wal for all SQLite databases.
https://bugs.webkit.org/show_bug.cgi?id=133496
Reviewed by Darin Adler.
Source/WebCore:
The statement intended to enable WAL mode is always failing because it is missing a
prepare(). Fix this. We were also previously permitting SQLITE_OK results - this
was in error (we were only getting these because stepping the unprepared statement
returned SQLITE_OK). Also set the SQLITE_OPEN_AUTOPROXY flag when opening the
database - this will improve perfomance when the database is accessed via an AFP
mount.
This exposed a bug, that deleteAllDatabases does not actually delete the databases on
iOS, for testing to reset back to a known state between tests it should be doing so.
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::deleteAllDatabases):
- force databases to actually be deleted on iOS. This method is only used from testing code (DumpRenderTree / WebKitTestRunner).
(WebCore::DatabaseTracker::deleteOrigin):
- added IOSDeletionMode.
(WebCore::DatabaseTracker::deleteDatabaseFile):
- added IOSDeletionMode, modified to actually delete if this is set.
- Modules/webdatabase/DatabaseTracker.h:
- added IOSDeletionMode.
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open):
- call prepareAndStep(), only check for SQLITE_ROW result.
- platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::openDatabase):
- should set SQLITE_OPEN_AUTOPROXY flag when opening database.
Source/WebKit/mac:
- Storage/WebDatabaseManagerPrivate.h:
- renamed deleteAllDatabases -> deleteAllDatabasesImmediately.
Source/WebKit/win:
- WebDatabaseManager.cpp:
(WebDatabaseManager::deleteAllDatabases):
- renamed deleteAllDatabases -> deleteAllDatabasesImmediately.
Source/WebKit2:
- WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleClearAllDatabases):
- renamed deleteAllDatabases -> deleteAllDatabasesImmediately.
- 1:00 PM Changeset in webkit [199308] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: HeapSnapshot instance property path popover should include a descriptive header
https://bugs.webkit.org/show_bug.cgi?id=156431
<rdar://problem/25633594>
Reviewed by Timothy Hatcher.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendTitle):
Title for the popover. Because localization may change the location of the @1234
in the string, localize first with a placeholder, and then replace the placeholder
with the @1234 link.
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendPath):
Give the table a container for extra padding.
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendPathRow):
Do not include the space before @1234 as part of the clickable link.
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler):
Include a title when the popover shows a root path.
- UserInterface/Views/HeapSnapshotInstancesContentView.css:
(.heap-snapshot-instance-popover-content > .title):
(.heap-snapshot-instance-popover-content):
(.heap-snapshot-instance-popover-content > .table-container):
(.heap-snapshot-instance-popover-content table):
Provide styles for the title. Let the title extend across the entire
popover horizontally, but pad the table so that it appears more
centered under the title. Because the table has border collapse we have
to wrap it in a container to give it back the padding we want.
- 12:52 PM Changeset in webkit [199307] by
-
- 4 edits in trunk/Source/WebCore
Simplify InlineTextBox::selectionStartEnd()
https://bugs.webkit.org/show_bug.cgi?id=156459
Reviewed by Darin Adler.
No change in functionality.
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionState):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::selectionStartEnd):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
- rendering/InlineTextBox.h:
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::paintText):
- 12:37 PM Changeset in webkit [199306] by
-
- 2 edits in tags/Safari-602.1.27.0.1/Source/WebKit2
Merged r199301. rdar://problem/25628133
- 12:33 PM Changeset in webkit [199305] by
-
- 5 edits in tags/Safari-602.1.27.0.1/Source
Versioning.
- 12:31 PM Changeset in webkit [199304] by
-
- 4 edits2 adds in trunk
REGRESSION (r193857): Text selection causes text to disappear.
https://bugs.webkit.org/show_bug.cgi?id=156448
rdar://problem/25578952
Reviewed by Simon Fraser.
Apparently when the end position of the selection range is smaller than the start position, we need
to repaint the entire text as it indicates selection clearing.
Source/WebCore:
Test: fast/text/text-disappear-on-deselect.html
- rendering/TextPainter.cpp:
(WebCore::TextPainter::paintText):
LayoutTests:
- fast/text/text-disappear-on-deselect-expected.html: Added.
- fast/text/text-disappear-on-deselect.html: Added.
- 12:31 PM Changeset in webkit [199303] by
-
- 21 edits in trunk/Source/JavaScriptCore
It should be possible to edit StructureStubInfo without recompiling the world
https://bugs.webkit.org/show_bug.cgi?id=156470
Reviewed by Keith Miller.
This change makes it less painful to make changes to the IC code. It used to be that any
change to StructureStubInfo caused every JIT-related file to get recompiled. Now only a
smaller set of files - ones that actually peek into StructureStubInfo - will recompile. This
is mainly because CodeBlock.h no longer includes StructureStubInfo.h.
- bytecode/ByValInfo.h:
- bytecode/CodeBlock.cpp:
- bytecode/CodeBlock.h:
- bytecode/GetByIdStatus.cpp:
- bytecode/GetByIdStatus.h:
- bytecode/PutByIdStatus.cpp:
- bytecode/PutByIdStatus.h:
- bytecode/StructureStubInfo.h:
(JSC::getStructureStubInfoCodeOrigin):
- dfg/DFGByteCodeParser.cpp:
- dfg/DFGJITCompiler.cpp:
- dfg/DFGOSRExitCompilerCommon.cpp:
- dfg/DFGSpeculativeJIT.h:
- ftl/FTLLowerDFGToB3.cpp:
- ftl/FTLSlowPathCall.h:
- jit/IntrinsicEmitter.cpp:
- jit/JITInlineCacheGenerator.cpp:
- jit/JITInlineCacheGenerator.h:
- jit/JITOperations.cpp:
- jit/JITPropertyAccess.cpp:
- jit/JITPropertyAccess32_64.cpp:
- 12:20 PM Changeset in webkit [199302] by
-
- 1 copy in tags/Safari-602.1.27.0.1
New tag.
- 12:06 PM Changeset in webkit [199301] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r198933): Unable to login to Google account from Internet Accounts preference pane
https://bugs.webkit.org/show_bug.cgi?id=156447
<rdar://problem/25628133>
Reviewed by Anders Carlsson.
Temporarily perform code signing verification only for Mac App Store- and Apple Developer- signed apps.
- Shared/mac/ChildProcessMac.mm:
(WebKit::codeSigningIdentifierForProcess):
- 12:04 PM Changeset in webkit [199300] by
-
- 19 edits in trunk/Source/JavaScriptCore
Remove NewArrowFunction from DFG IR
https://bugs.webkit.org/show_bug.cgi?id=156439
Reviewed by Saam Barati.
It seems that NewArrowFunction was left in DFG IR during refactoring by mistake.
- dfg/DFGAbstractInterpreterInlines.h:
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGClobbersExitState.cpp:
- dfg/DFGDoesGC.cpp:
- dfg/DFGFixupPhase.cpp:
- dfg/DFGMayExit.cpp:
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToPhantomNewFunction):
- dfg/DFGNodeType.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewFunction):
- dfg/DFGSpeculativeJIT32_64.cpp:
- dfg/DFGSpeculativeJIT64.cpp:
- dfg/DFGStoreBarrierInsertionPhase.cpp:
- dfg/DFGStructureRegistrationPhase.cpp:
- ftl/FTLCapabilities.cpp:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewFunction):
- 12:00 PM Changeset in webkit [199299] by
-
- 21 edits in trunk
Remove compile time define for SEPARATED_HEAP
https://bugs.webkit.org/show_bug.cgi?id=155508
Reviewed by Mark Lam.
Source/JavaScriptCore:
Remove the SEPARATED_HEAP compile time flag. The separated
heap is available, but off by default, on x86_64, ARMv7, and
ARM64.
Working through the issues that happened last time essentially
required implementing the ARMv7 path for the separated heap
just so I could find all the ways it was going wrong.
We fixed all the logic by making the branch and jump logic in
the linker and assemblers take two parameters, the location to
write to, and the location we'll actually be writing to. We
need to do this because it's no longer sufficient to compute
jumps relative to region the linker is writing to.
The repatching jump, branch, and call functions only need the
executable address as the patching is performed directly using
performJITMemcpy function which works in terms of the executable
address.
There is no performance impact on jsc-benchmarks with the separate
heap either emabled or disabled.
- Configurations/FeatureDefines.xcconfig:
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::linkJump):
(JSC::ARM64Assembler::linkCall):
(JSC::ARM64Assembler::relinkJump):
(JSC::ARM64Assembler::relinkCall):
(JSC::ARM64Assembler::link):
(JSC::ARM64Assembler::linkJumpOrCall):
(JSC::ARM64Assembler::linkCompareAndBranch):
(JSC::ARM64Assembler::linkConditionalBranch):
(JSC::ARM64Assembler::linkTestAndBranch):
(JSC::ARM64Assembler::relinkJumpOrCall):
- assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::revertJumpTo_movT3movtcmpT2):
(JSC::ARMv7Assembler::revertJumpTo_movT3):
(JSC::ARMv7Assembler::link):
(JSC::ARMv7Assembler::linkJump):
(JSC::ARMv7Assembler::relinkJump):
(JSC::ARMv7Assembler::repatchCompact):
(JSC::ARMv7Assembler::replaceWithJump):
(JSC::ARMv7Assembler::replaceWithLoad):
(JSC::ARMv7Assembler::replaceWithAddressComputation):
(JSC::ARMv7Assembler::setInt32):
(JSC::ARMv7Assembler::setUInt7ForLoad):
(JSC::ARMv7Assembler::isB):
(JSC::ARMv7Assembler::isBX):
(JSC::ARMv7Assembler::isMOV_imm_T3):
(JSC::ARMv7Assembler::isMOVT):
(JSC::ARMv7Assembler::isNOP_T1):
(JSC::ARMv7Assembler::isNOP_T2):
(JSC::ARMv7Assembler::linkJumpT1):
(JSC::ARMv7Assembler::linkJumpT2):
(JSC::ARMv7Assembler::linkJumpT3):
(JSC::ARMv7Assembler::linkJumpT4):
(JSC::ARMv7Assembler::linkConditionalJumpT4):
(JSC::ARMv7Assembler::linkBX):
(JSC::ARMv7Assembler::linkConditionalBX):
(JSC::ARMv7Assembler::linkJumpAbsolute):
- assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::copyCompactAndLinkCode):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::link):
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::link):
- jit/ExecutableAllocator.h:
(JSC::performJITMemcpy):
- jit/ExecutableAllocatorFixedVMPool.cpp:
(JSC::FixedVMPoolExecutableAllocator::initializeSeparatedWXHeaps):
(JSC::FixedVMPoolExecutableAllocator::jitWriteThunkGenerator):
(JSC::FixedVMPoolExecutableAllocator::genericWriteToJITRegion):
(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator): Deleted.
- runtime/Options.cpp:
(JSC::recomputeDependentOptions):
- runtime/Options.h:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/FeatureDefines.h:
- wtf/Platform.h:
- 11:49 AM Changeset in webkit [199298] by
-
- 15 edits2 deletes in trunk/Source/WebCore
Merge AttributedDOMTokenList into DOMTokenList
https://bugs.webkit.org/show_bug.cgi?id=156468
Reviewed by Ryosuke Niwa.
Merge AttributedDOMTokenList into DOMTokenList to simplify the code.
DOMTokenList is not constructible and AttributedDOMTokenList is its
only constructible subclass after r196123.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Element.cpp:
(WebCore::Element::classList):
- dom/ElementRareData.h:
(WebCore::ElementRareData::classList):
(WebCore::ElementRareData::setClassList):
- html/AttributeDOMTokenList.cpp: Removed.
- html/AttributeDOMTokenList.h: Removed.
- html/DOMTokenList.cpp:
(WebCore::DOMTokenList::DOMTokenList):
(WebCore::DOMTokenList::attributeValueChanged):
(WebCore::DOMTokenList::updateAfterTokenChange):
- html/DOMTokenList.h:
(WebCore::DOMTokenList::ref):
(WebCore::DOMTokenList::deref):
(WebCore::DOMTokenList::element):
(WebCore::DOMTokenList::~DOMTokenList): Deleted.
(WebCore::DOMTokenList::updateAfterTokenChange): Deleted.
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::relList):
- html/HTMLAnchorElement.h:
- html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::sandbox):
- html/HTMLIFrameElement.h:
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::sizes):
(WebCore::HTMLLinkElement::relList):
- html/HTMLLinkElement.h:
- html/HTMLOutputElement.cpp:
(WebCore::HTMLOutputElement::htmlFor):
- html/HTMLOutputElement.h:
- 11:20 AM Changeset in webkit [199297] by
-
- 9 edits in trunk/Source/JavaScriptCore
Clean up how we reason about the states of AccessCases
https://bugs.webkit.org/show_bug.cgi?id=156454
Reviewed by Mark Lam.
Currently when we add an AccessCase to a PolymorphicAccess stub, we regenerate the stub.
That means that as we grow a stub to have N cases, we will do O(N2) generation work. I want
to explore buffering AccessCases so that we can do O(N) generation work instead. But to
before I go there, I want to make sure that the statefulness of AccessCase makes sense. So,
I broke it down into three different states and added assertions about the transitions. I
also broke out a separate operation called AccessCase::commit(), which is the work that
cannot be buffered since there cannot be any JS effects between when the AccessCase was
created and when we do the work in commit().
This opens up a fairly obvious path to buffering AccessCases: add them to the list without
regenerating. Then when we do eventually trigger regeneration, those cases will get cloned
and generated automagically. This patch doesn't implement this technique yet, but gives us
an opportunity to independently test the scaffolding necessary to do it.
This is perf-neutral on lots of tests.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessGenerationResult::dump):
(JSC::AccessCase::clone):
(JSC::AccessCase::commit):
(JSC::AccessCase::guardedByStructureCheck):
(JSC::AccessCase::dump):
(JSC::AccessCase::generateWithGuard):
(JSC::AccessCase::generate):
(JSC::AccessCase::generateImpl):
(JSC::PolymorphicAccess::regenerateWithCases):
(JSC::PolymorphicAccess::regenerate):
(WTF::printInternal):
- bytecode/PolymorphicAccess.h:
(JSC::AccessCase::type):
(JSC::AccessCase::state):
(JSC::AccessCase::offset):
(JSC::AccessCase::viaProxy):
(JSC::AccessCase::callLinkInfo):
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::addAccessCase):
- bytecode/Watchpoint.h:
- dfg/DFGOperations.cpp:
- jit/Repatch.cpp:
(JSC::repatchGetByID):
(JSC::repatchPutByID):
(JSC::repatchIn):
- runtime/VM.cpp:
(JSC::VM::dumpRegExpTrace):
(JSC::VM::ensureWatchpointSetForImpureProperty):
(JSC::VM::registerWatchpointForImpureProperty):
(JSC::VM::addImpureProperty):
- runtime/VM.h:
- 9:50 AM Changeset in webkit [199296] by
-
- 15 edits in trunk
DOMTokenList.contains() should not throw
https://bugs.webkit.org/show_bug.cgi?id=156453
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Re-sync dom/nodes/Element-classlist.html with upstream @26308720.
- web-platform-tests/dom/nodes/Element-classlist-expected.txt:
- web-platform-tests/dom/nodes/Element-classlist.html:
Source/WebCore:
DOMTokenList.contains() should not throw if the input token is invalid:
https://github.com/whatwg/dom/commit/6d3076e3cbcba662489b272a718bc6b8c0082a74
We now return false in such cases, instead of throwing, which should be
safe with regards to backward compatibility.
No new tests, already covered by existing tests.
- html/DOMTokenList.cpp:
(WebCore::DOMTokenList::contains):
- html/DOMTokenList.h:
- html/DOMTokenList.idl:
LayoutTests:
Update existing layout tests now that DOMTokenList.contains() no longer
throws when called with an invalid token.
- fast/dom/HTMLElement/class-list-expected.txt:
- fast/dom/HTMLElement/class-list-quirks-expected.txt:
- fast/dom/HTMLElement/script-tests/class-list.js:
(shouldThrowDOMException): Deleted.
- fast/dom/HTMLOutputElement/dom-settable-token-list-expected.txt:
- fast/dom/HTMLOutputElement/script-tests/dom-settable-token-list.js:
(shouldThrowDOMException): Deleted.
- fast/dom/rel-list-expected.txt:
- fast/dom/rel-list.html:
- 9:07 AM WebKitIDL edited by
- Add [ExportMacro] (diff)
- 8:45 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 8:38 AM Changeset in webkit [199295] by
-
- 15 edits2 adds in trunk
Refactor RenderMathMLFraction layout to avoid using flexbox
https://bugs.webkit.org/show_bug.cgi?id=153917
Patch by Frederic Wang <fwang@igalia.com> on 2016-04-11
Reviewed by Sergio Villar Senin.
Source/WebCore:
Based on a patch by Alejandro G. Castro <alex@igalia.com>
Implement the layoutBlock method to handle the layout calculations
directly in the class. This also fixes parsing of absolute values for
linethickness attribute (e.g. 10px) and adds support for the AxisHeight
and FractionRuleThickness MATH parameters.
Test: mathml/opentype/fraction-line.html
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::mathLineThickness): Use the thickness relative to the
default line thickness since that's really what is expected by mathml-line-fraction.html
- css/mathml.css: Remove flexbox properties for mfrac.
(mfrac): Deleted.
(mfrac > *): Deleted.
(mfrac[numalign="left"] > :first-child): Deleted.
(mfrac[numalign="right"] > :first-child): Deleted.
(mfrac[denomalign="left"] > :last-child): Deleted.
(mfrac[denomalign="right"] > :last-child): Deleted.
(mfrac > :first-child): Deleted.
(mfrac > :last-child): Deleted.
(mfrac): Deleted.
- rendering/mathml/RenderMathMLBlock.cpp: Introduce a helper function to retrieve the math
axis height.
(WebCore::RenderMathMLBlock::mathAxisHeight):
- rendering/mathml/RenderMathMLBlock.h: Declare mathAxisHeight.
- rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::RenderMathMLFraction):
(WebCore::RenderMathMLFraction::parseAlignmentAttribute): Helper function to parse the align
attribute.
(WebCore::RenderMathMLFraction::isValid): Helper function to verify whether the child list
is valid with respect to the MathML specificitation.
(WebCore::RenderMathMLFraction::numerator): Helper function to retrieve the numerator.
(WebCore::RenderMathMLFraction::denominator): Helper function to retrieve the denominator.
(WebCore::RenderMathMLFraction::updateFromElement): Use the FractionRuleThickness parameter
when avaiable to calculate the default linethickness.
Fix computation of linethickness for absolute values (e.g. 10px), the default linethickness
must not be involved for such values.
We no longer need to manage style of anonymous wrappers.
(WebCore::RenderMathMLFraction::unembellishedOperator): Use the helper function and we no
longer care about anonymous wrappers.
(WebCore::RenderMathMLFraction::computePreferredLogicalWidths): Implement this function
without using flexbox.
(WebCore::RenderMathMLFraction::horizontalOffset): Helper function to get the horizontal
offsets of children depending of the alignment.
(WebCore::RenderMathMLFraction::layoutBlock): Implement this function without using flexbox.
(WebCore::RenderMathMLFraction::paint): Do not paint if the fraction is invalid. Use helper
function. Use the width of the renderer (instead of the one of the denominator) as the
length of the fraction bar.
(WebCore::RenderMathMLFraction::firstLineBaseline): Use the helper functions to get children
and axis height.
(WebCore::RenderMathMLFraction::paintChildren): Temporary function to remove in a
follow-up patch.
(WebCore::RenderMathMLFraction::fixChildStyle): Deleted. We no longer need to manage style
of anonymous wrappers.
(WebCore::RenderMathMLFraction::addChild): Deleted. We no longer need to manage
anonymous wrappers.
(WebCore::RenderMathMLFraction::styleDidChange): We no longer need to manage style of
anonymous wrappers.
(WebCore::RenderMathMLFraction::layout): Deleted.
- rendering/mathml/RenderMathMLFraction.h: Replace lineThickness with relativeLineThickness,
as needed by the accessibility code. Update function and members declarations.
LayoutTests:
- TestExpectations: No longer skip mathml/presentation/fractions-positions.html
- mathml/opentype/fraction-line-expected.html: Added. New test to verify AxisHeight and
FractionRuleThickness parameters.
- mathml/opentype/fraction-line.html: Added. New test to verify axis height and rule
thickness parameters.
- mathml/presentation/fractions-linethickness-expected.html: Adjust the test to be sure that
the default rule thickness is 1px.
- mathml/presentation/fractions-linethickness.html: Adjust the test to be sure that the
default rule thickness is 1px.
- platform/gtk/mathml/presentation/roots-expected.txt: Update reference to take into account
changes in the render tree.
- platform/ios-simulator/mathml/presentation/roots-expected.txt: Ditto
- platform/mac/TestExpectations: Mark fraction-line and fractions-linethickness as
possibly failing since these tests require Latin Modern Math to work reliably.
- platform/ios-simulator/TestExpectations: Ditto
- 5:46 AM Changeset in webkit [199294] by
-
- 25 edits1 copy2 deletes in trunk
Unreviewed, rolling out r199290.
https://bugs.webkit.org/show_bug.cgi?id=156465
broke 300 tests (Requested by mcatanzaro on #webkit).
Reverted changeset:
"Merge CG ImageSource and non CG ImageSource implementation in
one file"
https://bugs.webkit.org/show_bug.cgi?id=155456
http://trac.webkit.org/changeset/199290
- 5:12 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 5:11 AM Changeset in webkit [199293] by
-
- 13 edits2 adds in trunk
Refactor RenderMathMLUnderOver layout functions to avoid using flexbox
https://bugs.webkit.org/show_bug.cgi?id=153742
Patch by Frederic Wang <fwang@igalia.com> on 2016-04-11
Reviewed by Sergio Villar Senin.
Source/WebCore:
Based on a patch by Javier Fernandez <jfernandez@igalia.com>
Refactor the UnderOver renderer to use its own layoutBlock method that
does all the layout calculations without considering the flexbox
restrictions.
- css/mathml.css:
(mo, mfrac, munder, mover, munderover): Delete the underover elements from the line defining
the column direction.
(munder, mover, munderover): Deleted. This flexbox property is no longer needed.
(mover > :last-child, munderover > :last-child): Deleted. This flexbox property is no longer
needed.
- rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::firstLineBaseline): Use ascentForChild.
(WebCore::RenderMathMLUnderOver::computeOperatorsHorizontalStretch): Avoid stretching
operators that are not stretchy.
(WebCore::RenderMathMLUnderOver::isValid): Helper function to ensure that the child list is
valid with respect to the MathML specification.
(WebCore::RenderMathMLUnderOver::base): Added. Helper function.
(WebCore::RenderMathMLUnderOver::under): Added. Helper function.
(WebCore::RenderMathMLUnderOver::over): Added. Helper function.
(WebCore::RenderMathMLUnderOver::computePreferredLogicalWidths): Added.
The preferred width is the maximum preferred width of the base, under and over scripts.
(WebCore::RenderMathMLUnderOver::horizontalOffset): Added, helper to calculate the
horizontal position of children (horizontally centered).
(WebCore::RenderMathMLUnderOver::layoutBlock): Added, it lays out the base, underscript and
overscript. It calculates the exact logical width, which may differ from the preferred width when
one child contains stretchy operators. It later sets the locations of children accordingly
and sets the heigth of the render element.
(WebCore::RenderMathMLUnderOver::paintChildren): Added, we have to use the usual traverse
instead of the one that comes from the flexbox. This will be removed in a follow-up patch.
(WebCore::RenderMathMLUnderOver::layout): Deleted.
- rendering/mathml/RenderMathMLUnderOver.h: Added new functions definitions.
LayoutTests:
Apply some small adjustments to the expectations of MathML tests after
the refactoring of RenderMathMLUnderOver. We also add a test for
non-stretchy horizontal operators in underover.
- platform/gtk/mathml/opentype/horizontal-expected.png:
- platform/gtk/mathml/opentype/horizontal-expected.txt:
- platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.png:
- platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
- platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.png:
- platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
- mathml/mn-as-list-item-assert.html: Move the test description out of the invalid munderover
so that it is still displayed.
- mathml/mn-as-list-item-assert-expected.txt: Update the text expectation.
- mathml/presentation/underover-nonstretchy-horizontal.html: Ensure that nonstretchy horizontal operators are not stretched in munderover.
- mathml/presentation/underover-nonstretchy-horizontal-expected.html: Ditto.
- 3:59 AM Changeset in webkit [199292] by
-
- 7 edits3 adds in trunk
[GTK] Rework the theming code for GTK+ 3.20
https://bugs.webkit.org/show_bug.cgi?id=156333
Reviewed by Michael Catanzaro.
.:
Add a manual test to check how themed elements are rendered.
- ManualTests/gtk/theme.html: Added.
Source/WebCore:
During the 3.19 GTK+ release cycle, the GTK+ css system was reworked, making themes and programs rendering
themed widgets, incompatible with the new system. We were trying to fix our rendering every time GTK+ broke
something, but we were just changing whatever it was needed to make our rendering look like current GTK+ with
the default theme Adwaita. This means that our rendering will be broken for other themes or that changes in
Adwaita can break our rendering. This solution was good enough to ensure WebKitGTK+ 2.12 looked good with GTK+
3.20, but it doesn't work in the long term. We need to ensure that our theming code honors the new GTK+ CSS
properties (max-width, min-width, margin, padding, border, ...) in all the cases, not only the cases where
Adwaita uses them like we currently do.
This patch splits all rendering methods to keep the current code for previous GTK+ versions and adds new code
for GTK+ >= 3.20 using the new RenderThemeGadget classes. This makes the code easier to read, since there aren't
ifdef blocks in the functions, and we ensure we don't break previous rendering.
- PlatformGTK.cmake: Add new files to compilation.
- html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::defaultEventHandler): Check the button layout used by the theme to decide the
current buttons state.
- platform/gtk/RenderThemeGadget.cpp: Added.
(WebCore::RenderThemeGadget::create):
(WebCore::createStyleContext):
(WebCore::appendElementToPath):
(WebCore::RenderThemeGadget::RenderThemeGadget):
(WebCore::RenderThemeGadget::~RenderThemeGadget):
(WebCore::RenderThemeGadget::marginBox):
(WebCore::RenderThemeGadget::borderBox):
(WebCore::RenderThemeGadget::paddingBox):
(WebCore::RenderThemeGadget::contentsBox):
(WebCore::RenderThemeGadget::color):
(WebCore::RenderThemeGadget::backgroundColor):
(WebCore::RenderThemeGadget::minimumSize):
(WebCore::RenderThemeGadget::preferredSize):
(WebCore::RenderThemeGadget::render):
(WebCore::RenderThemeGadget::renderFocus):
(WebCore::RenderThemeBoxGadget::RenderThemeBoxGadget):
(WebCore::RenderThemeTextFieldGadget::RenderThemeTextFieldGadget):
(WebCore::RenderThemeTextFieldGadget::minimumSize):
(WebCore::RenderThemeToggleGadget::RenderThemeToggleGadget):
(WebCore::RenderThemeToggleGadget::render):
(WebCore::RenderThemeArrowGadget::RenderThemeArrowGadget):
(WebCore::RenderThemeArrowGadget::render):
(WebCore::RenderThemeIconGadget::RenderThemeIconGadget):
(WebCore::RenderThemeIconGadget::gtkIconSizeForPixelSize):
(WebCore::RenderThemeIconGadget::render):
(WebCore::RenderThemeIconGadget::minimumSize):
- platform/gtk/RenderThemeGadget.h: Added.
(WebCore::RenderThemeGadget::context):
- rendering/RenderTheme.h:
(WebCore::RenderTheme::innerSpinButtonLayout): Added this method to allow themes use a different layout for the
buttons.
- rendering/RenderThemeGtk.cpp:
(WebCore::themeChangedCallback): Just moved this code to a common place.
(WebCore::RenderThemeGtk::RenderThemeGtk): Initialize the theme monitor in the constructor.
(WebCore::createStyleContext): Remove the render parts that are specific to GTK+ 3.20.
(WebCore::RenderThemeGtk::adjustRepaintRect): Moved inside a GTK+ < 3.20 ifdef block.
(WebCore::themePartStateFlags): Helper function to get the GtkStateFlags of a theme part for a given RenderObject.
(WebCore::shrinkToMinimumSizeAndCenterRectangle): Move this common code to a helper function.
(WebCore::setToggleSize):
(WebCore::paintToggle):
(WebCore::RenderThemeGtk::paintButton):
(WebCore::RenderThemeGtk::popupInternalPaddingBox):
(WebCore::RenderThemeGtk::paintMenuList):
(WebCore::RenderThemeGtk::adjustTextFieldStyle): For GTK+ 3.20 we need to ensure a minimum size for spin buttons,
so if the text field is for a spin button, we adjust the desired size here.
(WebCore::RenderThemeGtk::paintTextField): In GTK+ 3.20 the CSS gadgets used to render spin buttons are
different, so we check here if this is the entry of a spin button to use the right gadgets.
(WebCore::adjustSearchFieldIconStyle):
(WebCore::RenderThemeGtk::paintTextArea):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
(WebCore::paintSearchFieldIcon):
(WebCore::RenderThemeGtk::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
(WebCore::centerRectVerticallyInParentInputElement): Moved inside a GTK+ < 3.20 ifdef block.
(WebCore::RenderThemeGtk::paintSliderTrack):
(WebCore::RenderThemeGtk::adjustSliderThumbSize):
(WebCore::RenderThemeGtk::paintSliderThumb):
(WebCore::RenderThemeGtk::progressBarRectForBounds): Ensure a minimum size of progress bars in GTK+ 3.20.
(WebCore::RenderThemeGtk::paintProgressBar):
(WebCore::RenderThemeGtk::innerSpinButtonLayout): Use an horizontal layout for spin buttons.
(WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeGtk::paintInnerSpinButton):
(WebCore::styleColor):
(WebCore::RenderThemeGtk::paintMediaButton):
- rendering/RenderThemeGtk.h:
- 2:13 AM Changeset in webkit [199291] by
-
- 13 edits in trunk
Implement functional :host() pseudo class
https://bugs.webkit.org/show_bug.cgi?id=156397
<rdar://problem/25621445>
Reviewed by Darin Adler.
Source/WebCore:
We already support :host. Add functional syntax too.
- css/CSSGrammar.y.in:
Parse functional :host().
- css/CSSParser.cpp:
(WebCore::CSSParser::detectFunctionTypeToken):
- css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::parsePseudoClassHostFunctionSelector):
- css/CSSParserValues.h:
- css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::matchedRuleList):
(WebCore::ElementRuleCollector::addMatchedRule):
Factor some shared code here.
(WebCore::ElementRuleCollector::matchHostPseudoClassRules):
Instead of using the generic paths use a :host specific code path for matching.
This makes it easier to avoid :host matching when it shouldn't.
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
- css/ElementRuleCollector.h:
- css/RuleSet.cpp:
(WebCore::computeMatchBasedOnRuleHash):
:host is always handled by the special matching path.
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::match):
(WebCore::SelectorChecker::matchHostPseudoClass):
Add a function specifically for checking :host. In always fails on the normal code paths.
Check the argument selector if provided.
(WebCore::hasScrollbarPseudoElement):
- css/SelectorChecker.h:
LayoutTests:
Enable, fix and expand the test.
- fast/shadow-dom/css-scoping-shadow-host-functional-rule.html:
- platform/mac/TestExpectations:
- 12:30 AM MathML edited by
- Update Bugzilla links (diff)
- 12:29 AM Changeset in webkit [199290] by
-
- 25 edits2 adds1 delete in trunk
Merge CG ImageSource and non CG ImageSource implementation in one file
https://bugs.webkit.org/show_bug.cgi?id=155456
Patch by Said Abou-Hallawa <sabouhallawa@apple,com> on 2016-04-11
Reviewed by Darin Adler.
Source/WebCore:
ImageSource for CG and CG code paths look very similar. All the platform
specific code can be moved to ImageDecoder classes for CG and non CG. And
we can have the ImageSource be platform independent and we get rid of
ImageSourceCG.cpp.
Test: fast/images/image-subsampling.html
- CMakeLists.txt:
- PlatformAppleWin.cmake:
- PlatformMac.cmake:
- WebCore.xcodeproj/project.pbxproj:
Delete ImageSourceCG.cpp form all make files and add ImageSource.cpp to
CMakeLists.txt.
- platform/Cursor.cpp:
(WebCore::determineHotSpot):
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::hotSpot):
(WebCore::BitmapImage::getHotSpot): Deleted.
- platform/graphics/BitmapImage.h:
- platform/graphics/Image.h:
(WebCore::Image::hotSpot):
(WebCore::Image::getHotSpot): Deleted.
Rename getHotSpot() to hotSpot() and change it to return Optional<IntPoint>.
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::~ImageSource): Remove clear(true) call. It does nothing.
(WebCore::ImageSource::clearFrameBufferCache): A wrapper which calls ImageDecoder::clearFrameBufferCache().
(WebCore::ImageSource::clear): Calls clearFrameBufferCache() which will do nothing for CG.
(WebCore::ImageSource::ensureDecoderIsCreated): Change SharedBuffer* to
const SharedBuffer& and remove the call to ImageDecoder::setMaxNumPixels().
The value of const static int CG ImageDecoder::m_maxNumPixels will be set
based on IMAGE_DECODER_DOWN_SAMPLING.
(WebCore::ImageSource::setData): Pass SharedBuffer& to the underlying functions.
(WebCore::ImageSource::calculateMaximumSubsamplingLevel): Returns the maximum
subsampling level allowed for an image.
(WebCore::ImageSource::subsamplingLevelForScale): Converts from a scale to
SubsamplingLevel taking into consideration the maximumSubsamplingLevel for
a particular image.
(WebCore::ImageSource::bytesDecodedToDetermineProperties): Returns the number
of encoded bytes which can determine the image properties. For non CG it's
zero. For CG it is a maximum value which can be corrected later.
(WebCore::ImageSource::isSizeAvailable):
(WebCore::ImageSource::sizeRespectingOrientation):
(WebCore::ImageSource::frameCount):
(WebCore::ImageSource::repetitionCount):
(WebCore::ImageSource::filenameExtension):
(WebCore::ImageSource::getHotSpot):
(WebCore::ImageSource::frameIsCompleteAtIndex):
(WebCore::ImageSource::frameHasAlphaAtIndex):
(WebCore::ImageSource::allowSubsamplingOfFrameAtIndex):
(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::frameBytesAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):
(WebCore::ImageSource::orientationAtIndex):
(WebCore::ImageSource::createFrameImageAtIndex):
These are wrappers for the ImageDecoder APIs. The purpose of these functions
is to ensure the ImageDecoder is created.
(WebCore::ImageSource::dump): Called from BitmapImage::dump().
(WebCore::ImageSource::getHotSpot): Deleted.
- platform/graphics/ImageSource.h:
(WebCore::ImageSource::setAllowSubsampling): Called from BitmapImage::setAllowSubsampling().
(WebCore::ImageSource::maxPixelsPerDecodedImage): Deleted.
(WebCore::ImageSource::setMaxPixelsPerDecodedImage): Deleted.
Setting maxPixelsPerDecodedImage was moved to the non CG ImageDecoder.
- platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoder::setData): Change SharedBuffer* to SharedBuffer&.
(WebCore::ImageDecoder::subsamplingLevelForScale): Deleted.
The code was moved to ImageSource::subsamplingLevelForScale().
- platform/graphics/cg/ImageDecoderCG.h:
(WebCore::ImageDecoder::create): Make the prototype of this function
suitable for CG and non CG cases.
(WebCore::ImageDecoder::clearFrameBufferCache): Empty functions for CG.
- platform/graphics/cg/ImageSourceCG.cpp: Removed.
- platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::frameIsCompleteAtIndex): A mew function to return
whether the frame decoding is complete or not.
(WebCore::ImageDecoder::frameHasAlphaAtIndex): Simplify the logic.
(WebCore::ImageDecoder::frameDurationAtIndex): The code was moved from
ImageSource::frameDurationAtIndex() in ImageSource.cpp.
(WebCore::ImageDecoder::createFrameImageAtIndex): The code was moved from
ImageSource::createFrameImageAtIndex() in ImageSource.cpp.
- platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::ImageDecoder): Initialize the members in class.
(WebCore::ImageDecoder::~ImageDecoder): Fix the braces style.
(WebCore::ImageDecoder::setData): Change the type of the argument from
SharedBuffer* to SharedBuffer&.
(WebCore::ImageDecoder::frameSizeAtIndex): Add the argument SubsamplingLevel
so it can have the same prototype as CG.
(WebCore::ImageDecoder::orientationAtIndex): Rename it to the same of CG.
(WebCore::ImageDecoder::allowSubsamplingOfFrameAtIndex):
(WebCore::ImageDecoder::bytesDecodedToDetermineProperties):
(WebCore::ImageDecoder::subsamplingLevelForScale): Add these functions
and return the default values so we do not have to add directive compiled
non CG blocks in ImageSource.cpp.
(WebCore::ImageDecoder::hotSpot): Return Optional<IntPoint>.
(WebCore::ImageDecoder::orientation): Deleted.
(WebCore::ImageDecoder::setMaxNumPixels): Deleted.
- platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::setData):
- platform/image-decoders/bmp/BMPImageDecoder.h:
- platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::decode):
- platform/image-decoders/gif/GIFImageDecoder.h:
- platform/image-decoders/gif/GIFImageReader.h:
(GIFImageReader::setData):
- platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::setData):
Use reference SharedBuffer instead of pointer SharedBuffer.
(WebCore::ICOImageDecoder::hotSpot):
(WebCore::ICOImageDecoder::hotSpotAtIndex):
Change hotSpot() to return Optional<IntPoint>.
- platform/image-decoders/ico/ICOImageDecoder.h:
(WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex):
Pass reference SharedBuffer instead of pointer SharedBuffer.
Source/WebKit2:
- UIProcess/API/efl/EwkView.cpp:
(EwkView::setCursor):
Replace the call to Image::getHotSpot() by Image::hotSpot().
LayoutTests:
Add a test for image sub-sampling. The image subsampling is enabled by
default for iOS platform only. But it can be explicitly enabled through
the setting ImageSubsamplingEnabled.
- fast/images/image-subsampling-expected.html: Added.
- fast/images/image-subsampling.html: Added.
- 12:28 AM Changeset in webkit [199289] by
-
- 28 edits in trunk
[CMake] Make FOLDER property INHERITED
https://bugs.webkit.org/show_bug.cgi?id=156460
Patch by Fujii Hironori <Hironori.Fujii@jp.sony.com> on 2016-04-11
Reviewed by Brent Fulgham.
.:
Some CMake targets are not setting the FOLDER property. This causes the
generated projects to be displayed in the top-level folder of the solution.
Making the FOLDER property INHERITED ensures that all the targets
are placed in their proper directories.
- Source/cmake/OptionsCommon.cmake:
Define FOLDER property as a inherited property.
- Source/cmake/WebKitMacros.cmake:
Do not set FOLDER target property.
Source/bmalloc:
- CMakeLists.txt:
Set FOLDER property as a directory property not a target property
Source/JavaScriptCore:
- CMakeLists.txt:
- shell/CMakeLists.txt:
- shell/PlatformWin.cmake:
Set FOLDER property as a directory property not a target property
Source/ThirdParty/ANGLE:
- CMakeLists.txt:
Set FOLDER property as a directory property not a target property
Source/WebCore:
- CMakeLists.txt:
Set FOLDER property as a directory property not a target property
Source/WebKit:
- CMakeLists.txt:
- PlatformWin.cmake:
Set FOLDER property as a directory property not a target property
Source/WebKit2:
- CMakeLists.txt:
Set FOLDER property as a directory property not a target property
Source/WTF:
- CMakeLists.txt:
Set FOLDER directory property
Tools:
- CMakeLists.txt:
- DumpRenderTree/CMakeLists.txt:
- DumpRenderTree/PlatformWin.cmake:
- ImageDiff/CMakeLists.txt:
- MiniBrowser/efl/CMakeLists.txt:
- MiniBrowser/gtk/CMakeLists.txt:
- MiniBrowser/win/CMakeLists.txt:
Set FOLDER property as a directory property not a target property
- 12:22 AM MathML/Early_2016_Refactoring edited by
- (diff)
Apr 10, 2016:
- 5:10 PM Changeset in webkit [199288] by
-
- 3 edits in trunk/Tools
[Tools] correctly check for braces in multiline branches in macro definition
https://bugs.webkit.org/show_bug.cgi?id=156441
Patch by Caitlin Potter <caitp@igalia.com> on 2016-04-10
Reviewed by Darin Adler.
Prevents emitting whitespace/braces warning for code like the
following:
`
#define MACRO(x) \
if (x) { \
doTheThing(); \
continue; \
}
`
- Scripts/webkitpy/style/checkers/cpp.py:
(check_braces):
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_line_breaking):
- 12:04 PM Changeset in webkit [199287] by
-
- 2 edits in trunk/Source/WebCore
Fix the build.
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker):
- 11:48 AM Changeset in webkit [199286] by
-
- 39 edits in trunk/Source
Remove support for custom target picker actions
<rdar://problem/24987783>
https://bugs.webkit.org/show_bug.cgi?id=156434
Reviewed by Eric Carlson.
This mostly entailed rolling out r197429 and r197569.
Source/WebCore:
- Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::removeAllPlaybackTargetPickerClients):
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker):
(WebCore::WebMediaSessionManager::clientStateDidChange):
(WebCore::WebMediaSessionManager::externalOutputDeviceAvailableDidChange):
(WebCore::WebMediaSessionManager::configureNewClients):
(WebCore::WebMediaSessionManager::customPlaybackActionSelected): Deleted.
- Modules/mediasession/WebMediaSessionManager.h:
- Modules/mediasession/WebMediaSessionManagerClient.h:
- dom/Document.cpp:
(WebCore::Document::removePlaybackTargetPickerClient):
(WebCore::Document::showPlaybackTargetPicker):
(WebCore::Document::playbackTargetPickerClientStateDidChange):
(WebCore::Document::setShouldPlayToPlaybackTarget):
(WebCore::Document::customPlaybackActionSelected): Deleted.
- dom/Document.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent):
(WebCore::HTMLMediaElement::setShouldPlayToPlaybackTarget):
(WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless):
(WebCore::HTMLMediaElement::customPlaybackActionSelected): Deleted.
(WebCore::HTMLMediaElement::playbackTargetPickerCustomActionName): Deleted.
- html/HTMLMediaElement.h:
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::showPlaybackTargetPicker):
(WebCore::MediaElementSession::hasWirelessPlaybackTargets):
(WebCore::MediaElementSession::setShouldPlayToPlaybackTarget):
(WebCore::MediaElementSession::mediaStateDidChange):
(WebCore::MediaElementSession::customPlaybackActionSelected): Deleted.
- html/MediaElementSession.h:
- page/ChromeClient.h:
- page/Page.cpp:
(WebCore::Page::removePlaybackTargetPickerClient):
(WebCore::Page::showPlaybackTargetPicker):
(WebCore::Page::setShouldPlayToPlaybackTarget):
(WebCore::Page::ensureTestTrigger):
(WebCore::Page::customPlaybackActionSelected): Deleted.
- page/Page.h:
(WebCore::Page::testTrigger):
- platform/audio/PlatformMediaSession.h:
(WebCore::PlatformMediaSessionClient::canPlayToWirelessPlaybackTarget):
(WebCore::PlatformMediaSessionClient::isPlayingToWirelessPlaybackTarget):
(WebCore::PlatformMediaSessionClient::setShouldPlayToPlaybackTarget):
(WebCore::PlatformMediaSessionClient::customPlaybackActionSelected): Deleted.
- platform/graphics/MediaPlaybackTargetClient.h:
- platform/graphics/MediaPlaybackTargetPicker.cpp:
(WebCore::MediaPlaybackTargetPicker::pendingActionTimerFired):
(WebCore::MediaPlaybackTargetPicker::addPendingAction):
(WebCore::MediaPlaybackTargetPicker::showPlaybackTargetPicker):
- platform/graphics/MediaPlaybackTargetPicker.h:
(WebCore::MediaPlaybackTargetPicker::availableDevicesDidChange):
(WebCore::MediaPlaybackTargetPicker::currentDeviceDidChange):
(WebCore::MediaPlaybackTargetPicker::Client::customPlaybackActionSelected): Deleted.
(WebCore::MediaPlaybackTargetPicker::customPlaybackActionSelected): Deleted.
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::devicePicker):
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker):
- platform/mac/WebVideoFullscreenInterfaceMac.h:
- platform/mac/WebVideoFullscreenInterfaceMac.mm:
(WebCore::WebVideoFullscreenInterfaceMac::preparedToReturnToInline):
(WebCore::WebVideoFullscreenInterfaceMac::setVideoDimensions):
(WebCore::WebVideoFullscreenInterfaceMac::setExternalPlayback): Deleted.
- platform/mock/MediaPlaybackTargetPickerMock.cpp:
(WebCore::MediaPlaybackTargetPickerMock::timerFired):
(WebCore::MediaPlaybackTargetPickerMock::showPlaybackTargetPicker):
- platform/mock/MediaPlaybackTargetPickerMock.h:
- platform/spi/cocoa/AVKitSPI.h:
Source/WebKit/mac:
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::removePlaybackTargetPickerClient):
(WebChromeClient::showPlaybackTargetPicker):
- WebView/WebMediaPlaybackTargetPicker.h:
- WebView/WebMediaPlaybackTargetPicker.mm:
(WebMediaPlaybackTargetPicker::removePlaybackTargetPickerClient):
(WebMediaPlaybackTargetPicker::showPlaybackTargetPicker):
(WebMediaPlaybackTargetPicker::playbackTargetPickerClientStateDidChange):
(WebMediaPlaybackTargetPicker::setShouldPlayToPlaybackTarget):
(WebMediaPlaybackTargetPicker::invalidate):
(WebMediaPlaybackTargetPicker::customPlaybackActionSelected): Deleted.
- WebView/WebView.mm:
(-[WebView _showPlaybackTargetPicker:location:hasVideo:]):
(-[WebView _playbackTargetPickerClientStateDidChange:state:]):
Source/WebKit2:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::removePlaybackTargetPickerClient):
(WebKit::WebPageProxy::showPlaybackTargetPicker):
(WebKit::WebPageProxy::playbackTargetPickerClientStateDidChange):
(WebKit::WebPageProxy::setShouldPlayToPlaybackTarget):
(WebKit::WebPageProxy::didChangeBackgroundColor):
(WebKit::WebPageProxy::customPlaybackActionSelected): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::removePlaybackTargetPickerClient):
(WebKit::WebChromeClient::showPlaybackTargetPicker):
(WebKit::WebChromeClient::playbackTargetPickerClientStateDidChange):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::setShouldPlayToPlaybackTarget):
(WebKit::WebPage::customPlaybackActionSelected): Deleted.
- 3:14 AM Changeset in webkit [199285] by
-
- 1 copy in releases/WebKitGTK/webkit-2.4.11
WebKitGTK+ 2.4.11
- 3:14 AM Changeset in webkit [199284] by
-
- 4 edits in releases/WebKitGTK/webkit-2.4
Unreviewed. Update NEWS and Versions.m4 for 2.4.11 release.
.:
- Source/autotools/Versions.m4: Bump version numbers.
Source/WebKit/gtk:
- NEWS: Added release notes for 2.4.11.
- 1:53 AM Changeset in webkit [199283] by
-
- 2 adds in releases/WebKitGTK/webkit-2.4/Source/WebCore/platform/gtk/po
Translation updates: Chinese, Japanese
- 12:50 AM WebKitGTK/2.4.x edited by
- (diff)
- 12:49 AM Changeset in webkit [199282] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.4
Merge r165044 - REGRESSION(r164856): Use after free in WebCore::QualifiedName::operator== / WebCore::StyledElement::attributeChanged
https://bugs.webkit.org/show_bug.cgi?id=129550
Reviewed by Andreas Kling.
Source/WebCore:
We can't store a reference to QualifiedName here because ensureUniqueElementData could delete QualifiedName inside Attribute.
Test: fast/dom/uniquing-attributes-via-setAttribute.html
- dom/Element.cpp:
(WebCore::Element::setAttributeInternal):
LayoutTests:
Added a regression test.
- fast/dom/uniquing-attributes-via-setAttribute-expected.txt: Added.
- fast/dom/uniquing-attributes-via-setAttribute.html: Added.
- 12:45 AM Changeset in webkit [199281] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r166233 - [ARM64] GNU assembler fails in TransformationMatrix::multiply
https://bugs.webkit.org/show_bug.cgi?id=130454
Reviewed by Zoltan Herczeg.
Change the NEON intstructions to the proper style.
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::multiply):
- 12:45 AM Changeset in webkit [199280] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WTF
Merge r166234 - [ARM64] GCC generates wrong code with -O2 flag in WTF::weakCompareAndSwap
https://bugs.webkit.org/show_bug.cgi?id=130500
Reviewed by Filip Pizlo.
Set the first operand to the exact register in the inline assembly with GCC.
- wtf/Atomics.h:
(WTF::weakCompareAndSwap):
Apr 9, 2016:
- 8:38 PM Changeset in webkit [199279] by
-
- 21 edits in trunk/Source/JavaScriptCore
tryGetById should be supported by the DFG/FTL
https://bugs.webkit.org/show_bug.cgi?id=156378
Reviewed by Filip Pizlo.
This patch adds support for tryGetById in the DFG/FTL. It adds a new DFG node
TryGetById, which acts similarly to the normal GetById DFG node. One key
difference between GetById and TryGetById is that in the LLInt and Baseline
we do not profile the result type. This profiling is unnessary for the current
use case of tryGetById, which is expected to be a strict equality comparision
against a specific object or undefined. In either case other DFG optimizations
will make this equally fast with or without the profiling information.
Additionally, this patch adds new reuse modes for JSValueRegsTemporary that take
an operand and attempt to reuse the registers for that operand if they are free
after the current DFG node.
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseBlock):
- 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/DFGNode.h:
(JSC::DFG::Node::hasIdentifier):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileTryGetById):
(JSC::DFG::JSValueRegsTemporary::JSValueRegsTemporary):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::GPRTemporary::operator=):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileGetById):
(JSC::FTL::DFG::LowerDFGToB3::getById):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- tests/stress/try-get-by-id.js:
(tryGetByIdTextStrict):
(get let):
(let.get createBuiltin):
(get throw):
(getCaller.obj.1.throw.new.Error): Deleted.
- 6:46 PM Changeset in webkit [199278] by
-
- 2 edits in trunk/Source/WebCore
Fixed compilation of JPEGImageDecoder with libjpeg v9.
https://bugs.webkit.org/show_bug.cgi?id=156445
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-04-09
Reviewed by Michael Catanzaro.
ICU defines TRUE and FALSE macros, breaking libjpeg v9 headers.
No new tests needed.
- platform/image-decoders/jpeg/JPEGImageDecoder.h:
- 5:26 PM Changeset in webkit [199277] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
Allocation sinking SSA Defs are allowed to have replacements
https://bugs.webkit.org/show_bug.cgi?id=156444
Reviewed by Filip Pizlo.
Consider the following program and the annotations that explain why
the SSA defs we create in allocation sinking can have replacements.
function foo(a1) {
let o1 = {x: 20, y: 50};
let o2 = {y: 40, o1: o1};
let o3 = {};
We're Defing a new variable here, call it o3_field.
o3_field is defing the value that is the result of
a GetByOffset that gets eliminated through allocation sinking.
o3.field = o1.y;
dontCSE();
This control flow is here to not allow the phase to consult
its local SSA mapping (which properly handles replacements)
for the value of o3_field.
if (a1) {
a1 = true;
} else {
a1 = false;
}
Here, we ask for the reaching def of o3_field, and assert
it doesn't have a replacement. It does have a replacement
though. The original Def was the GetByOffset. We replaced
that GetByOffset with the value of the o1_y variable.
let value = o3.field;
assert(value === 50);
}
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- tests/stress/allocation-sinking-defs-may-have-replacements.js: Added.
(dontCSE):
(assert):
(foo):
- 1:54 PM Changeset in webkit [199276] by
-
- 9 edits in trunk/Source
Unreviewed, rolling out r199242.
https://bugs.webkit.org/show_bug.cgi?id=156442
Caused many many leaks (Requested by ap on #webkit).
Reverted changeset:
"Web Inspector: get rid of InspectorBasicValue and
InspectorString subclasses"
https://bugs.webkit.org/show_bug.cgi?id=156407
http://trac.webkit.org/changeset/199242
- 1:41 PM Changeset in webkit [199275] by
-
- 5 edits in trunk/Source/JavaScriptCore
Debug JSC test failure: stress/multi-put-by-offset-reallocation-butterfly-cse.js.ftl-no-cjit-small-pool
https://bugs.webkit.org/show_bug.cgi?id=156406
Reviewed by Saam Barati.
The failure was because the GC ran from within the butterfly allocation call in a put_by_id
transition AccessCase that had to deal with indexing storage. When the GC runs in a call from a stub,
then we need to be extra careful:
1) The GC may reset the IC and delete the stub. So, the stub needs to tell the GC that it might be on
the stack during GC, so that the GC keeps it alive if it's currently running.
2) If the stub uses (dereferences or stores) some object after the call, then we need to ensure that
the stub routine knows about that object independently of the IC.
In the case of put_by_id transitions that use a helper to allocate the butterfly, we have both
issues. A long time ago, we had to deal with (2), and we still had code to handle that case, although
it appears to be dead. This change revives that code and glues it together with PolymorphicAccess.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::alternateBase):
(JSC::AccessCase::doesCalls):
(JSC::AccessCase::couldStillSucceed):
(JSC::AccessCase::generate):
(JSC::PolymorphicAccess::regenerate):
- bytecode/PolymorphicAccess.h:
(JSC::AccessCase::customSlotBase):
(JSC::AccessCase::isGetter):
(JSC::AccessCase::doesCalls): Deleted.
- jit/GCAwareJITStubRoutine.cpp:
(JSC::GCAwareJITStubRoutine::markRequiredObjectsInternal):
(JSC::MarkingGCAwareJITStubRoutine::MarkingGCAwareJITStubRoutine):
(JSC::MarkingGCAwareJITStubRoutine::~MarkingGCAwareJITStubRoutine):
(JSC::MarkingGCAwareJITStubRoutine::markRequiredObjectsInternal):
(JSC::GCAwareJITStubRoutineWithExceptionHandler::GCAwareJITStubRoutineWithExceptionHandler):
(JSC::createJITStubRoutine):
(JSC::MarkingGCAwareJITStubRoutineWithOneObject::MarkingGCAwareJITStubRoutineWithOneObject): Deleted.
(JSC::MarkingGCAwareJITStubRoutineWithOneObject::~MarkingGCAwareJITStubRoutineWithOneObject): Deleted.
(JSC::MarkingGCAwareJITStubRoutineWithOneObject::markRequiredObjectsInternal): Deleted.
- jit/GCAwareJITStubRoutine.h:
(JSC::createJITStubRoutine):
- 1:13 PM Changeset in webkit [199274] by
-
- 13 edits in trunk
Unreviewed, rolling out r199268.
https://bugs.webkit.org/show_bug.cgi?id=156440
Broke Windows build (Requested by ap on #webkit).
Reverted changeset:
"Implement functional :host() pseudo class"
https://bugs.webkit.org/show_bug.cgi?id=156397
http://trac.webkit.org/changeset/199268
- 11:16 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 11:16 AM Changeset in webkit [199273] by
-
- 2 edits in trunk/LayoutTests
[GTK] Update another GStreamer test expectation
Unreviewed.
- platform/gtk/TestExpectations:
- 11:11 AM Changeset in webkit [199272] by
-
- 2 edits in trunk/LayoutTests
[GTK] Update some more IndexedDB test expectations.
Unreviewed.
- platform/gtk/TestExpectations:
- 10:59 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 10:58 AM Changeset in webkit [199271] by
-
- 2 edits in trunk/LayoutTests
[GTK] Remove failure expectation from storage/indexeddb/connection-leak.html
It's skipped in the global TestExpectations, see bug #152643.
- platform/gtk/TestExpectations:
- 10:45 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 10:38 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 10:37 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 10:29 AM Changeset in webkit [199270] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening unexpected passes and IndexedDB tests.
Unreviewed gardening.
- platform/gtk/TestExpectations:
- 12:40 AM Changeset in webkit [199269] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Build fix. Don't treat a build number 0 as a pending build.
- tools/js/buildbot-syncer.js:
(BuildbotBuildEntry.prototype.isPending):
- 12:38 AM Changeset in webkit [199268] by
-
- 13 edits in trunk
Implement functional :host() pseudo class
https://bugs.webkit.org/show_bug.cgi?id=156397
<rdar://problem/25621445>
Reviewed by Darin Adler.
Source/WebCore:
We already support :host. Add functional syntax too.
- css/CSSGrammar.y.in:
Parse functional :host().
- css/CSSParser.cpp:
(WebCore::CSSParser::detectFunctionTypeToken):
- css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::parsePseudoClassHostFunctionSelector):
- css/CSSParserValues.h:
- css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::matchedRuleList):
(WebCore::ElementRuleCollector::addMatchedRule):
Factor some shared code here.
(WebCore::ElementRuleCollector::matchHostPseudoClassRules):
Instead of using the generic paths use a :host specific code path for matching.
This makes it easier to avoid :host matching when it shouldn't.
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
- css/ElementRuleCollector.h:
- css/RuleSet.cpp:
(WebCore::computeMatchBasedOnRuleHash):
:host is always handled by the special matching path.
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::match):
(WebCore::SelectorChecker::matchHostPseudoClass):
Add a function specifically for checking :host. In always fails on the normal code paths.
Check the argument selector if provided.
(WebCore::hasScrollbarPseudoElement):
- css/SelectorChecker.h:
LayoutTests:
Enable, fix and expand the test.
- fast/shadow-dom/css-scoping-shadow-host-functional-rule.html:
- platform/mac/TestExpectations:
Apr 8, 2016:
- 10:16 PM Changeset in webkit [199267] by
-
- 2 edits in trunk/PerformanceTests
Have Animometer benchmark always start with complexity of 1
https://bugs.webkit.org/show_bug.cgi?id=156432
Reviewed by Ryosuke Niwa.
- Animometer/tests/resources/main.js: Update the default Controller and RampController to
set its minimum complexities to 1 instead of 0.
- 9:56 PM Changeset in webkit [199266] by
-
- 7 edits in trunk/Websites/perf.webkit.org
Escape builder names in url* and pathFor* methods of BuildbotSyncer
https://bugs.webkit.org/show_bug.cgi?id=156427
Reviewed by Darin Adler.
The build fix in r199251 breaks other usage of RemoteAPI. Fix it properly by escaping builder names in
various methods of BuildbotSyncer.
Also fixed a typo in the logging and a bug that the new syncing script never updated "scheduled" to "running".
- server-tests/resources/mock-data.js:
(MockData.mockTestSyncConfigWithTwoBuilders): Renamed "some-builder-2" to "some builder 2" to test the
new escaping behavior in tools-buildbot-triggerable-tests.js and buildbot-syncer-tests.js.
- server-tests/tools-buildbot-triggerable-tests.js: Added tests for status url, and added a new test case
for updating "scheduled" to "running".
- tools/js/buildbot-syncer.js:
(BuildbotBuildEntry.buildRequestStatusIfUpdateIsNeeded): Update the status to "running" when the request's
status is "scheduled" and the buildbot's build is currently in progress.
(BuildbotSyncer.prototype.pathForPendingBuildsJSON): Escape the builder name.
(BuildbotSyncer.prototype.pathForBuildJSON): Ditto.
(BuildbotSyncer.prototype.pathForForceBuild): Ditto.
(BuildbotSyncer.prototype.url): Ditto.
(BuildbotSyncer.prototype.urlForBuildNumber): Ditto.
- tools/js/buildbot-triggerable.js:
(BuildbotTriggerable.prototype._pullBuildbotOnAllSyncers):
(BuildbotTriggerable.prototype._scheduleNextRequestInGroupIfSlaveIsAvailable): Fixed a typo. We are
scheduling new build requests, not syncing them.
- tools/js/remote.js:
(RemoteAPI.sendHttpRequest): Reverted r199251.
- unit-tests/buildbot-syncer-tests.js:
- 8:46 PM Changeset in webkit [199265] by
-
- 28 edits in trunk
Improve IDL support for object arguments that are neither optional nor nullable
https://bugs.webkit.org/show_bug.cgi?id=156149
Reviewed by Chris Dumez.
Source/WebCore:
After this patch, we are almost ready to change some more DOM functions to
use references instead of pointers. Remaining blocking issue is lack of support
for ShouldPassWrapperByReference in the gobject bindings.
- bindings/objc/ExceptionHandlers.h: Add NO_RETURN to raiseDOMException.
Added a new raiseTypeErrorException. Re-indented header and removed unneeded
include and forward declarations.
- bindings/objc/ExceptionHandlers.mm:
(WebCore::raiseDOMException): Added RELEASE_ASSERT_NOT_REACHED so the compiler
will understand this is NO_RETURN. Also updated FIXME comment.
(WebCore::raiseTypeErrorException): Added.
- bindings/scripts/CodeGenerator.pm: Removed unneeded code that allows the type
"AtomicString" in IDL files.
(ShouldPassWrapperByReference): Added. Contains the logic from the function in
the JavaScript code generator that was named IsPointerParameterPassedByReference,
minus a couple checks that are unneeded. For use in other code generators so they
are all consistent about how they call the DOM implementation.
- bindings/scripts/CodeGeneratorGObject.pm:
(SkipFunction): Removed support for unused CustomBinding extended attribute.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader): Removed support for unused CustomBinding extended attribute.
(GenerateImplementation): Ditto. Also changed type checking code to throw a
type error in a more efficient way, using throwVMTypeError directly.
(GenerateParametersCheck): Rearranged code a bit so that arguments that need to
be passed in unusual ways are handled all in one place. Use WTFMove for newly
created NodeFilter objects. Simplified the reference logic so it doesn't need
to do an additional check to see if a type is a callback. Also changed type
checking code to throw a type error in a more efficient way, using throwVMTypeError
directly. Also corrected mistake where null checking code was throwing
TYPE_MISMATCH_ERR instead of a type error.
(GetNativeType): Coding style tweak.
(ShouldPassWrapperByReference): Renamed from IsPointerParameterPassedByReference.
Changed to call underlying ShouldPassWrapperByReference function in the language-
independent code generator.
(GenerateConstructorDefinition): Updated for name change.
- bindings/scripts/CodeGeneratorObjC.pm:
(SkipFunction): Removed support for unused CustomBinding extended attribute.
(GenerateImplementation): Added code to null check and pass a reference when
ShouldPassWrapperByReference returns true.
- bindings/scripts/IDLAttributes.txt: Sorted in the AppleCopyright and
UsePointersEvenForNonNullableObjectArguments arguments. Removed the unused
CPPPureInterface and CustomBinding attributes.
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Regenerated test results.
- bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
- bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
- bindings/scripts/test/JS/JSTestObj.h: Ditto.
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Ditto.
- bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
- bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm: Ditto.
- bindings/scripts/test/ObjC/DOMTestCallback.mm: Ditto.
- bindings/scripts/test/ObjC/DOMTestCallbackFunction.mm: Ditto.
- bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
- bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm: Ditto.
- bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
- bindings/scripts/test/TestObj.idl: Removed test for CustomBinding.
- dom/DOMImplementation.idl: Fixed #if so that only the return type is different
between JavaScript and the other bindings. Without this change, the different
bindings got different results for ShouldPassWrapperByReference. Also formatted
functions all on a single line.
- dom/EventListener.idl: Removed CPPPureInterface, since it had no effect.
- dom/EventTarget.idl: Ditto.
LayoutTests:
- fast/canvas/canvas-path-addPath-expected.txt: Updated expected result to expect
TypeError rather than TYPE_MISMATCH_ERR. A progression.
- fast/text/font-face-set-javascript-expected.txt: Ditto.
- 8:07 PM Changeset in webkit [199264] by
-
- 32 edits in trunk/Source/WebCore
[WebIDL] Add support for [ExportMacro=XXX] IDL extended attribute
https://bugs.webkit.org/show_bug.cgi?id=156428
Reviewed by Ryosuke Niwa.
Add support for [ExportMacro=XXX] IDL extended attribute (e.g. [ExportMacro=WEBCORE_EXPORT])
so developers can indicate in the IDL which macro to use to export the generated JS bindings
class.
We previously supported this by hard-coding JS class names in the bindings generator which
was ugly.
- Modules/mediasession/MediaSession.idl:
- Modules/mediasource/SourceBuffer.idl:
- Modules/notifications/Notification.idl:
- Modules/webaudio/AudioContext.idl:
- bindings/scripts/CodeGeneratorJS.pm:
(GetExportMacroForJSClass):
(GenerateHeader):
(AddIncludesForType): Deleted.
(AddToImplIncludes): Deleted.
- bindings/scripts/IDLAttributes.txt:
- bindings/scripts/test/TestInterface.idl:
- bindings/scripts/test/TestNode.idl:
- css/CSSStyleDeclaration.idl:
- dom/ClientRect.idl:
- dom/ClientRectList.idl:
- dom/Document.idl:
- dom/Element.idl:
- dom/Node.idl:
- dom/Range.idl:
- fileapi/File.idl:
- html/DOMURL.idl:
- html/HTMLElement.idl:
- html/HTMLMediaElement.idl:
- html/TimeRanges.idl:
- html/canvas/DOMPath.idl:
- inspector/ScriptProfile.idl:
- inspector/ScriptProfileNode.idl:
- page/DOMWindow.idl:
- page/make_settings.pl:
(generateInternalSettingsIdlFile):
- testing/InternalSettings.idl:
- testing/Internals.idl:
- testing/MallocStatistics.idl:
- testing/MemoryInfo.idl:
- testing/TypeConversions.idl:
- xml/XMLHttpRequest.idl:
- 7:37 PM Changeset in webkit [199263] by
-
- 12 edits6 adds in trunk
Web Inspector: XHRs and Web Worker scripts are not searchable
https://bugs.webkit.org/show_bug.cgi?id=154214
<rdar://problem/24643587>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-08
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/protocol/Page.json:
Add optional requestId to search results properties and search
parameters for when the frameId and url are not enough. XHR
resources, and "Other" resources will use this.
Source/WebCore:
Test: inspector/page/searchInResources.html
- inspector/InspectorPageAgent.h:
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::InspectorPageAgent::searchInResources):
Let the NetworkAgent handle individual search requests
with a requestId. And provide global search results for
"other" resources and will include requestId properties.
- inspector/InspectorNetworkAgent.h:
- inspector/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::didFinishXHRLoading):
(WebCore::buildObjectForSearchResult):
(WebCore::InspectorNetworkAgent::searchOtherRequests):
(WebCore::InspectorNetworkAgent::searchInRequest):
Search saved "other" resource data content.
- inspector/NetworkResourcesData.h:
- inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::resources):
Expose the resources for iteration by the NetworkAgent.
Source/WebInspectorUI:
- UserInterface/Views/SearchSidebarPanel.js:
(WebInspector.SearchSidebarPanel.prototype.performSearch.resourceCallback):
(WebInspector.SearchSidebarPanel.prototype.performSearch.resourcesCallback):
Carry forward the requestId property if it is available.
LayoutTests:
- inspector/page/resources/search-script.js: Added.
- inspector/page/resources/search-stylesheet.css: Added.
- inspector/page/resources/search-worker.js: Added.
- inspector/page/resources/search-xhr.txt: Added.
- inspector/page/searchInResources-expected.txt: Added.
- inspector/page/searchInResources.html: Added.
Test for the Page domain's search commands.
- 7:32 PM Changeset in webkit [199262] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Allocation snapshot hover persists after switching tabs
https://bugs.webkit.org/show_bug.cgi?id=156430
<rdar://problem/25633800>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-08
Reviewed by Timothy Hatcher.
- UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler):
Don't show the popover if the tree is no longer visible.
- UserInterface/Views/HeapSnapshotInstancesContentView.js:
(WebInspector.HeapSnapshotInstancesContentView.prototype.shown):
- UserInterface/Views/HeapSnapshotInstancesDataGridTree.js:
(WebInspector.HeapSnapshotInstancesDataGridTree):
(WebInspector.HeapSnapshotInstancesDataGridTree.prototype.get visible):
(WebInspector.HeapSnapshotInstancesDataGridTree.prototype.shown):
(WebInspector.HeapSnapshotInstancesDataGridTree.prototype.hidden):
Give the tree a visible state and have its containing ContentView
update it with normal ContentView shown/hidden.
- UserInterface/Views/Popover.js:
We are presenting while we were dismissing, so completely clear the
dismissing state.
- 6:20 PM Changeset in webkit [199261] by
-
- 2 edits in trunk/Source/JavaScriptCore
MIPS: support Signed cond in branchTest32()
https://bugs.webkit.org/show_bug.cgi?id=156260
This is needed since r197688 makes use of it.
Patch by Guillaume Emont <guijemont@igalia.com> on 2016-04-08
Reviewed by Mark Lam.
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::branchTest32):
- 6:19 PM Changeset in webkit [199260] by
-
- 15 edits in trunk
AX: "AXLandmarkApplication" is an inappropriate subrole for ARIA "application" since it's no longer a landmark
https://bugs.webkit.org/show_bug.cgi?id=155403
Reviewed by Chris Fleizach.
The new subrole is AXWebApplication and the new role description is "web application".
As part of the fix, the WebCore AccessibilityRole for ARIA's "application" role was
renamed from LandmarkApplicationRole to WebApplicationRole.
The roles-exposed.html and aria-grouping-roles.html test expectations were also updated.
Source/WebCore:
- English.lproj/Localizable.strings:
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::accessibleNameDerivesFromContent):
(WebCore::AccessibilityObject::isLandmark):
(WebCore::initializeRoleMap):
- accessibility/AccessibilityObject.h:
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(-[WebAccessibilityObjectWrapper _accessibilityIsLandmarkRole:]):
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase ariaLandmarkRoleDescription]):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):
- platform/LocalizedStrings.cpp:
(WebCore::AXARIAContentGroupText):
Source/WebKit/win:
- AccessibleBase.cpp: Update the rolename
(MSAARole):
LayoutTests:
- accessibility/mac/aria-grouping-roles-expected.txt:
- accessibility/mac/aria-grouping-roles.html:
- platform/mac/accessibility/roles-exposed-expected.txt:
- 6:18 PM Changeset in webkit [199259] by
-
- 16 edits in trunk/Source
[iOS WK2] WKWebViews should consult ancestor UIScrollViews to determine tiling area
https://bugs.webkit.org/show_bug.cgi?id=156429
rdar://problem/25455111
Reviewed by Tim Horton.
When a WKWebView is expanded to full size, then embedded in UIScrollView, it would
create huge tiles that cover the entire view area (since it considered itself non-scrollable).
Fix to always use 512x512 tiles in this configuration, and to adjust the tile coverage
for the area exposed through the enclosing UIScrollView.
Source/WebCore:
- loader/HistoryController.cpp:
(WebCore::HistoryController::saveScrollPositionAndViewStateToItem): setObscuredInset()
moved from FrameView to Page.
- page/FrameView.cpp:
(WebCore::FrameView::adjustTiledBackingScrollability): If we're clipped by an ancestor scrollView,
just assume we're scrollable on both axes.
- page/Page.h:
(WebCore::Page::obscuredInset):
(WebCore::Page::setObscuredInset):
(WebCore::Page::enclosedInScrollView):
(WebCore::Page::setEnclosedInScrollView):
- platform/ScrollView.h:
(WebCore::ScrollView::platformObscuredInset): Deleted.
(WebCore::ScrollView::platformSetObscuredInset): Deleted.
Source/WebKit2:
- Shared/VisibleContentRectUpdateInfo.cpp: Add enclosedInScrollView(), which is used to
trigger normal-sized tiles.
(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):
- Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::enclosedInScrollView):
(WebKit::operator==):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didInvokeUIScrollViewDelegateCallback]): Pass our scrollView.
(-[WKWebView _didFinishScrolling]):
(-[WKWebView scrollViewDidScroll:]):
(-[WKWebView scrollViewDidZoom:]):
(-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
(-[WKWebView _scrollViewDidInterruptDecelerating:]):
(-[WKWebView _visibleRectInEnclosingScrollView:]):
(-[WKWebView _visibleContentRect]): Compute the exposed part of the content relative
to the WKWebView, then intersect with the exposed part via any ancestor UIScrollView.
(-[WKWebView _didScroll]): This is called by UIKit when some ancestor UIScrollView scrolls.
However, we don't get all the UIScrollView delegate callbacks, so have to use a timer to
trigger a call to -_updateVisibleContentRects when we're in a stable state.
(-[WKWebView _enclosingScrollerScrollingEnded:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _updateVisibleContentRects]):
(-[WKWebView _updateVisibleContentRectAfterScrollInView:]): Get the stable state from the
scroll view that the user is interacting with.
(-[WKWebView _updateContentRectsWithState:]):
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/WebPageProxy.h: Rather than pass a bazillion arguments through updateVisibleContentRects(), just
pass the VisibleContentRectUpdateInfo struct.
- UIProcess/ios/WKContentView.h:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollView:]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::updateVisibleContentRects):
- UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
- 5:42 PM Changeset in webkit [199258] by
-
- 4 edits in trunk/Source
[iOS Simulator] Build failure (property 'contentsFormat' not found on object of type 'LegacyTileLayer *')
https://bugs.webkit.org/show_bug.cgi?id=156415
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-08
Reviewed by Simon Fraser.
Source/WebCore:
- platform/spi/cocoa/QuartzCoreSPI.h:
Provide SPI forward declaration of the CALayer contentsFormat property.
Source/WebKit2:
- UIProcess/API/Cocoa/_WKElementAction.mm:
(-[_WKElementAction runActionWithElementInfo:]):
Use WeakObjCPtr instead of weak to avoid build errors when not under ARC.
- 5:36 PM Changeset in webkit [199257] by
-
- 19 edits in trunk
Progress towards running CMake WebKit2 on Mac
https://bugs.webkit.org/show_bug.cgi?id=156426
Reviewed by Tim Horton.
.:
- Source/cmake/OptionsMac.cmake:
FTL works on Mac, so let's use it.
- Source/cmake/WebKitMacros.cmake:
Source/JavaScriptCore:
- PlatformMac.cmake:
Source/WebCore:
- CMakeLists.txt:
- PlatformGTK.cmake:
- PlatformMac.cmake:
- PlatformWin.cmake:
On Mac, WTF is a static library that is linked only with JavaScriptCore.
Source/WebKit:
- CMakeLists.txt:
- PlatformMac.cmake:
- PlatformWin.cmake:
Source/WebKit2:
- CMakeLists.txt:
- PlatformMac.cmake:
Put the xpc service binaries in the right place.
Source/WTF:
- wtf/PlatformMac.cmake:
- 5:33 PM Changeset in webkit [199256] by
-
- 3 edits in trunk/Source/WebKit2
Build fix with IndexedDB disabled but DatabaseProcess enabled after r199230
https://bugs.webkit.org/show_bug.cgi?id=156321
Rubber-stamped by Brady Eidson.
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::deleteWebsiteDataForOrigins):
(WebKit::DatabaseProcess::grantSandboxExtensionsForBlobs):
(WebKit::DatabaseProcess::accessToTemporaryFileComplete):
(WebKit::DatabaseProcess::indexedDatabaseOrigins):
- DatabaseProcess/DatabaseProcess.h:
Add some more guards.
- 4:01 PM Changeset in webkit [199255] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/WebCore
Merged r199253. rdar://problem/25533763
- 3:59 PM Changeset in webkit [199254] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/WebCore
Merged r199252. rdar://problem/25533763
- 3:54 PM Changeset in webkit [199253] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed 32-bit build fix; make type of std::min<> explicit.
- platform/audio/ios/AudioDestinationIOS.cpp:
(WebCore::AudioDestinationIOS::render):
- 3:41 PM Changeset in webkit [199252] by
-
- 2 edits in trunk/Source/WebCore
CRASH in AudioDestinationNode::render()
https://bugs.webkit.org/show_bug.cgi?id=156308
Reviewed by Eric Carlson.
Yet another math error in AudioDestinationIOS::render(). It is possible for the difference between
m_startSpareFrame and m_endSpareFrame to be greater than the numberOfFrames to be rendered. Protect
against this case by taking the min() of those two values and only advancing m_startSpareFrame by
that amount. This guarantees that framesThisTime will never underflow, and that data will not be
written past the end of the ioData parameter.
- platform/audio/ios/AudioDestinationIOS.cpp:
(WebCore::AudioDestinationIOS::render):
- 3:37 PM Changeset in webkit [199251] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Build fix. We need to escape the path or http.request would fail.
- tools/js/remote.js:
- 3:01 PM Changeset in webkit [199250] by
-
- 12 edits in trunk/Source/WebCore
Modern IDB: Use more IDBValue and IDBGetResult in IDBBackingStore.
https://bugs.webkit.org/show_bug.cgi?id=156418
Reviewed by Alex Christensen.
No new tests (Refactor, no change in behavior).
- Modules/indexeddb/IDBValue.cpp:
(WebCore::IDBValue::IDBValue):
- Modules/indexeddb/IDBValue.h:
- Modules/indexeddb/server/IDBBackingStore.h:
- Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
- Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::addRecord):
(WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
- Modules/indexeddb/server/MemoryIDBBackingStore.h:
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::addRecord):
- Modules/indexeddb/server/MemoryObjectStore.h:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::performGetRecord):
- 2:21 PM Changeset in webkit [199249] by
-
- 2 edits in trunk/Source/JavaScriptCore
Debugger may dereference m_currentCallFrame even after the VM has gone idle
https://bugs.webkit.org/show_bug.cgi?id=156413
Reviewed by Mark Lam.
There is a bug where the debugger may dereference its m_currentCallFrame
pointer after that pointer becomes invalid to read from. This happens like so:
We may step over an instruction which causes the end of execution for the
current program. This causes the VM to exit. Then, we perform a GC which
causes us to collect the global object. The global object being collected
causes us to detach the debugger. In detaching, we think we still have a
valid m_currentCallFrame, we dereference it, and crash. The solution is to
make sure we're paused when dereferencing this pointer inside ::detach().
- debugger/Debugger.cpp:
(JSC::Debugger::detach):
- 2:11 PM Changeset in webkit [199248] by
-
- 8 edits in trunk/Source/WebCore
Modern IDB: Make IDBGetResult contain an IDBValue instead of a buffer, and remove unused methods.
https://bugs.webkit.org/show_bug.cgi?id=156416
Reviewed by Alex Christensen.
No new tests (Refactor, no change in behavior).
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBGetResult.cpp:
(WebCore::IDBGetResult::dataFromBuffer):
(WebCore::IDBGetResult::isolatedCopy):
- Modules/indexeddb/IDBGetResult.h:
(WebCore::IDBGetResult::IDBGetResult):
(WebCore::IDBGetResult::value):
(WebCore::IDBGetResult::encode):
(WebCore::IDBGetResult::decode):
(WebCore::IDBGetResult::valueBuffer): Deleted.
(WebCore::IDBGetResult::setValueBuffer): Deleted.
(WebCore::IDBGetResult::setKeyData): Deleted.
(WebCore::IDBGetResult::setPrimaryKeyData): Deleted.
(WebCore::IDBGetResult::setKeyPath): Deleted.
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::didGetRecordOnServer):
- Modules/indexeddb/IDBValue.cpp:
(WebCore::IDBValue::IDBValue):
- Modules/indexeddb/IDBValue.h:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::getIndexRecord):
- 2:01 PM Changeset in webkit [199247] by
-
- 10 edits6 adds in trunk
Focus ring drawn at incorrect location on image map with CSS transform.
https://bugs.webkit.org/show_bug.cgi?id=143527
<rdar://problem/21908735>
Reviewed by Simon Fraser.
Source/WebCore:
Implement pathForFocusRing for HTMLAreaElement. It follows the logic of RenderObject::addFocusRingRects().
Tests: fast/images/image-map-outline-in-positioned-container.html
fast/images/image-map-outline-with-paint-root-offset.html
fast/images/image-map-outline-with-scale-transform.html
fast/images/image-map-outline.html
- html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::pathForFocusRing):
- html/HTMLAreaElement.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::paintFocusRing): Move addFocusRingRects() out of focus ring painting.
(WebCore::RenderElement::paintOutline):
- rendering/RenderElement.h:
- rendering/RenderImage.cpp:
(WebCore::RenderImage::paint):
(WebCore::RenderImage::paintAreaElementFocusRing):
- rendering/RenderImage.h:
- rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutline):
LayoutTests:
Implement pathForFocusRing for HTMLAreaElement.
- fast/images/image-map-outline-in-positioned-container-expected.html: Added.
- fast/images/image-map-outline-in-positioned-container.html: Added.
- fast/images/image-map-outline-with-paint-root-offset-expected.html: Added.
- fast/images/image-map-outline-with-paint-root-offset.html: Added.
- fast/images/image-map-outline-with-scale-transform-expected.html: Added.
- fast/images/image-map-outline-with-scale-transform.html: Added.
- 1:59 PM Changeset in webkit [199246] by
-
- 3 edits in trunk/Source/bmalloc
bmalloc: stress_aligned test fails if you increase smallMax
https://bugs.webkit.org/show_bug.cgi?id=156414
Reviewed by Oliver Hunt.
When size exceeds alignment and is a multiple of alignment and is not
a power of two, such as 24kB with 8kB alignment, the small allocator
did not always guarantee alignment. Let's fix that.
- bmalloc/Algorithm.h:
(bmalloc::divideRoundingUp): Math is hard.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::allocate): Align to the page size unconditionally.
Even if the page size is not a power of two, it might be a multiple of
a power of two, and we want alignment to that smaller power of two to
be guaranteed.
- 1:46 PM Changeset in webkit [199245] by
-
- 2 edits in trunk/Source/WebCore
[WK1] Wheel event callback removing the window causes crash in WebCore
https://bugs.webkit.org/show_bug.cgi?id=156409
<rdar://problem/25631267>
Reviewed by Simon Fraser.
Null check the Widget before using it, since the iframe may have been removed
from its parent document inside the event handler.
This is the WK1 fix for https://bugs.webkit.org/show_bug.cgi?id=150871.
Tested by fast/events/wheel-event-destroys-frame.html
- page/EventHandler.cpp:
(WebCore::widgetForElement): Added.
(WebCore::EventHandler::handleWheelEvent): Use new helper function to
clean up the code, and allow us to check that the Widget has not been
destroyed during the event handler.
- 1:19 PM Changeset in webkit [199244] by
-
- 5 edits in trunk/PerformanceTests
Fix SVG benchmark test
https://bugs.webkit.org/show_bug.cgi?id=156410
Reviewed by Dean Jackson.
- Animometer/resources/extensions.js: Update Point.zero to be a static Point.
- Animometer/tests/simple/resources/tiled-canvas-image.js:
(Stage.call._setupTiles): Refactor.
- Animometer/tests/master/resources/particles.js:
(Particle.prototype.reset): Use Point.center.
(complexity): We are not using a gradient background anymore, so remove the +1.
- Animometer/tests/master/resources/svg-particles.js: Update to use SVG transform
instead of CSS transform.
- 1:07 PM Changeset in webkit [199243] by
-
- 2 edits in trunk/Source/WebCore
Timing attack on SVG feComposite filter circumvents same-origin policy
https://bugs.webkit.org/show_bug.cgi?id=154338
Patch by Said Abou-Hallawa <sabouhallawa@apple,com> on 2016-04-08
Reviewed by Oliver Hunt.
Ensure the FEComposite arithmetic filter is clamping the resulted color
components in a constant time.
- platform/graphics/filters/FEComposite.cpp:
(WebCore::clampByte):
(WebCore::computeArithmeticPixels):
- 12:59 PM Changeset in webkit [199242] by
-
- 9 edits in trunk/Source
Web Inspector: get rid of InspectorBasicValue and InspectorString subclasses
https://bugs.webkit.org/show_bug.cgi?id=156407
<rdar://problem/25627659>
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
There's no point having these subclasses as they don't save any space.
Add m_stringValue to the union and merge some implementations of writeJSON.
Move uses of the subclass to InspectorValue and delete redundant methods.
Now, most InspectorValue methods are non-virtual so they can be templated.
- bindings/ScriptValue.cpp:
(Deprecated::jsToInspectorValue):
- inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::makeCall):
Don't used deleted subclasses.
- inspector/InspectorValues.cpp:
(Inspector::InspectorValue::null):
(Inspector::InspectorValue::create):
(Inspector::InspectorValue::asValue):
(Inspector::InspectorValue::asBoolean):
(Inspector::InspectorValue::asDouble):
(Inspector::InspectorValue::asInteger):
(Inspector::InspectorValue::asString):
These only need one implementation now.
(Inspector::InspectorValue::writeJSON):
Still a virtual method since Object and Array need their members.
(Inspector::InspectorObjectBase::InspectorObjectBase):
(Inspector::InspectorBasicValue::asBoolean): Deleted.
(Inspector::InspectorBasicValue::asDouble): Deleted.
(Inspector::InspectorBasicValue::asInteger): Deleted.
(Inspector::InspectorBasicValue::writeJSON): Deleted.
(Inspector::InspectorString::asString): Deleted.
(Inspector::InspectorString::writeJSON): Deleted.
(Inspector::InspectorString::create): Deleted.
(Inspector::InspectorBasicValue::create): Deleted.
- inspector/InspectorValues.h:
(Inspector::InspectorObjectBase::setBoolean):
(Inspector::InspectorObjectBase::setInteger):
(Inspector::InspectorObjectBase::setDouble):
(Inspector::InspectorObjectBase::setString):
(Inspector::InspectorArrayBase::pushBoolean):
(Inspector::InspectorArrayBase::pushInteger):
(Inspector::InspectorArrayBase::pushDouble):
(Inspector::InspectorArrayBase::pushString):
Use new factory methods.
- replay/EncodedValue.cpp:
(JSC::ScalarEncodingTraits<bool>::encodeValue):
(JSC::ScalarEncodingTraits<double>::encodeValue):
(JSC::ScalarEncodingTraits<float>::encodeValue):
(JSC::ScalarEncodingTraits<int32_t>::encodeValue):
(JSC::ScalarEncodingTraits<int64_t>::encodeValue):
(JSC::ScalarEncodingTraits<uint32_t>::encodeValue):
(JSC::ScalarEncodingTraits<uint64_t>::encodeValue):
- replay/EncodedValue.h:
Use new factory methods.
Source/WebCore:
- inspector/InspectorDatabaseAgent.cpp: Don't use deleted subclasses.
- 12:40 PM Changeset in webkit [199241] by
-
- 3 edits in trunk/Source/WebInspectorUI
JSContext Inspector: Fix asserts and uncaught exception showing Timeline Tab
https://bugs.webkit.org/show_bug.cgi?id=156411
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-08
Reviewed by Timothy Hatcher.
- UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView):
(WebInspector.OverviewTimelineView.prototype.closed):
Gracefully handle if we do not have a Network Timeline.
- UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView.prototype._changeViewMode):
This function is always called by the constructor, so the assert
is not useful since it can be called when FPS is not supported.
- 12:37 PM Changeset in webkit [199240] by
-
- 8 edits19 adds in trunk
Add IC support for arguments.length
https://bugs.webkit.org/show_bug.cgi?id=156389
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
This adds support for caching accesses to arguments.length for both DirectArguments and
ScopedArguments. In strict mode, we already cached these accesses since they were just
normal properties.
Amazingly, we also already supported caching of overridden arguments.length in both
DirectArguments and ScopedArguments. This is because when you override, the property gets
materialized as a normal JS property and the structure is changed.
This patch painstakingly preserves our previous caching of overridden length while
introducing caching of non-overridden length (i.e. the common case). In fact, we even cache
the case where it could either be overridden or not, since we just end up with an AccessCase
for each and they cascade to each other.
This is a >3x speed-up on microbenchmarks that do arguments.length in a polymorphic context.
Entirely monomorphic accesses were already handled by the DFG.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessGenerationState::calculateLiveRegistersForCallAndExceptionHandling):
(JSC::AccessCase::guardedByStructureCheck):
(JSC::AccessCase::generateWithGuard):
(JSC::AccessCase::generate):
(WTF::printInternal):
- bytecode/PolymorphicAccess.h:
- jit/ICStats.h:
- jit/JITOperations.cpp:
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
(JSC::tryCachePutByID):
(JSC::tryRepatchIn):
- tests/stress/direct-arguments-override-length-then-access-normal-length.js: Added.
(args):
(foo):
(result.foo):
LayoutTests:
- js/regress/direct-arguments-length-expected.txt: Added.
- js/regress/direct-arguments-length.html: Added.
- js/regress/direct-arguments-overridden-length-expected.txt: Added.
- js/regress/direct-arguments-overridden-length.html: Added.
- js/regress/direct-arguments-possibly-overridden-length-expected.txt: Added.
- js/regress/direct-arguments-possibly-overridden-length.html: Added.
- js/regress/scoped-arguments-length-expected.txt: Added.
- js/regress/scoped-arguments-length.html: Added.
- js/regress/scoped-arguments-overridden-length-expected.txt: Added.
- js/regress/scoped-arguments-overridden-length.html: Added.
- js/regress/scoped-arguments-possibly-overridden-length-expected.txt: Added.
- js/regress/scoped-arguments-possibly-overridden-length.html: Added.
- js/regress/script-tests/direct-arguments-length.js: Added.
(args):
- js/regress/script-tests/direct-arguments-overridden-length.js: Added.
(args):
- js/regress/script-tests/direct-arguments-possibly-overridden-length.js: Added.
(args1):
(args2):
- js/regress/script-tests/scoped-arguments-length.js: Added.
(args):
- js/regress/script-tests/scoped-arguments-overridden-length.js: Added.
(args):
- js/regress/script-tests/scoped-arguments-possibly-overridden-length.js: Added.
(args1):
(args2):
- 11:55 AM Changeset in webkit [199239] by
-
- 5 edits in branches/safari-601-branch/Source
Versioning.
- 11:32 AM Changeset in webkit [199238] by
-
- 2 edits in trunk/Source/WebCore
Fix leaks in WebAVMediaSelectionOptionMac and WebPlaybackControlsManager
https://bugs.webkit.org/show_bug.cgi?id=156379
Reviewed by Tim Horton.
These classes should use RetainPtrs.
- platform/mac/WebVideoFullscreenInterfaceMac.mm:
(-[WebAVMediaSelectionOptionMac localizedDisplayName]):
(-[WebAVMediaSelectionOptionMac setLocalizedDisplayName:]):
(-[WebPlaybackControlsManager timing]):
(-[WebPlaybackControlsManager setTiming:]):
(-[WebPlaybackControlsManager seekableTimeRanges]):
(-[WebPlaybackControlsManager setSeekableTimeRanges:]):
(-[WebPlaybackControlsManager audioMediaSelectionOptions]):
(-[WebPlaybackControlsManager setAudioMediaSelectionOptions:]):
(-[WebPlaybackControlsManager currentAudioMediaSelectionOption]):
(-[WebPlaybackControlsManager setCurrentAudioMediaSelectionOption:]):
(-[WebPlaybackControlsManager legibleMediaSelectionOptions]):
(-[WebPlaybackControlsManager setLegibleMediaSelectionOptions:]):
(-[WebPlaybackControlsManager currentLegibleMediaSelectionOption]):
(-[WebPlaybackControlsManager setCurrentLegibleMediaSelectionOption:]):
- 11:28 AM Changeset in webkit [199237] by
-
- 2 edits in trunk/Source/WebCore
Touching any IDL files rebuilds all bindings in CMake Ninja build
https://bugs.webkit.org/show_bug.cgi?id=156400
Patch by Fujii Hironori <Hironori.Fujii@jp.sony.com> on 2016-04-08
Reviewed by Brent Fulgham.
- bindings/scripts/preprocess-idls.pl:
(GenerateConstructorAttribute):
WriteFileIfChanged does not work due to flaky results of 'keys'.
Sort results of 'keys'.
- 11:18 AM Changeset in webkit [199236] by
-
- 3 edits in trunk/LayoutTests
Redefining a method of the same name hits an assertion
https://bugs.webkit.org/show_bug.cgi?id=144258
Reviewed by Ryosuke Niwa.
- TestExpectations:
- js/script-tests/class-syntax-semicolon.js:
This test no longer asserts.
- 11:07 AM Changeset in webkit [199235] by
-
- 6 edits1 add in trunk/Source/JavaScriptCore
UInt32ToNumber should have an Int52 path
https://bugs.webkit.org/show_bug.cgi?id=125704
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-08
Reviewed by Filip Pizlo.
When dealing with big numbers, fall back to Int52 instead
of double when possible.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileUInt32ToNumber):
- 10:50 AM Changeset in webkit [199234] by
-
- 2 edits in trunk/Source/WebKit
[cmake] Use ICU include dirs in WebKit.
https://bugs.webkit.org/show_bug.cgi?id=156402
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-04-08
Reviewed by Brent Fulgham.
- CMakeLists.txt:
- 10:22 AM Changeset in webkit [199233] by
-
- 19 edits in trunk/Source
[iOS WK2] Stop using exposedContentRect for history scroll state restoration
https://bugs.webkit.org/show_bug.cgi?id=156392
Reviewed by Tim Horton.
A future commit will alter the meaning of exposedContentRect on iOS to take into
account clipped out parts of the WKWebView. To achieve this, wean history restoration
off of using exposedContentRect for scroll state restoration. It did this to restore
the page to the same position relative to the view's top-left (to avoid jiggles caused
by changing obscured insets).
Do this by pushing the left/top obscured insets down with visible content rects updates,
storing them on ScrollView, and adding them to HistoryItem. Those insets are then used
for scroll state restoration in WKWebView.
Source/WebCore:
- history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem):
- history/HistoryItem.h:
(WebCore::HistoryItem::obscuredInset):
(WebCore::HistoryItem::setObscuredInset):
- loader/HistoryController.cpp:
(WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
- platform/ScrollView.h:
(WebCore::ScrollView::platformObscuredInset):
(WebCore::ScrollView::platformSetObscuredInset):
Source/WebKit2:
- Shared/VisibleContentRectUpdateInfo.cpp: Add FloatSize for obscuredInset.
(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):
- Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::obscuredInset):
(WebKit::operator==):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _processDidExit]): Rename _needsToRestoreExposedRect to _needsToRestoreScrollPosition
(-[WKWebView _didCommitLayerTree:]): Restore the scroll position using the scaled scrollOffset minus
the old obscuredInset.
(-[WKWebView _layerTreeCommitComplete]):
(-[WKWebView _restorePageScrollPosition:scrollOrigin:previousObscuredInset:scale:]):
(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):
(-[WKWebView _scrollToContentScrollPosition:scrollOrigin:]):
(-[WKWebView _updateVisibleContentRects]):
(-[WKWebView _restorePageStateToExposedRect:scrollOrigin:scale:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::restorePageState):
- UIProcess/ios/WKContentView.h:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::updateVisibleContentRects):
(WebKit::WebPageProxy::restorePageState):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::restorePageState):
(WebKit::WebPage::updateVisibleContentRects):
- 10:21 AM Changeset in webkit [199232] by
-
- 2 edits in trunk/Source/WebCore
Build fix followup to http://trac.webkit.org/changeset/199230
Unreviewed.
- platform/posix/FileSystemPOSIX.cpp:
(WebCore::hardLinkOrCopyFile): Stricter POSIX systems require a umask for O_CREAT opens,
so let's provide one.
- 9:59 AM Changeset in webkit [199231] by
-
- 16 edits in trunk/Source/WebCore
Remove 14 more unnecessary uses of UsePointersEvenForNonNullableObjectArguments
https://bugs.webkit.org/show_bug.cgi?id=156405
Reviewed by Chris Dumez.
- Modules/encryptedmedia/MediaKeySession.idl:
- Modules/encryptedmedia/MediaKeys.idl:
- dom/Element.idl:
- dom/NamedNodeMap.idl:
- html/HTMLElement.idl:
- html/canvas/OESVertexArrayObject.idl:
- html/canvas/WebGLRenderingContext.idl:
- page/DOMSelection.idl:
- storage/StorageEvent.idl:
- svg/SVGSVGElement.idl:
- xml/XMLSerializer.idl:
- xml/XPathEvaluator.idl:
- xml/XPathExpression.idl:
- xml/XSLTProcessor.idl:
Removed UsePointersEvenForNonNullableObjectArguments, which was having no effect
in any of these classes. Also tweaked formatting of some of the IDL, merging things
onto single lines, changing paragraphing and indenting a bit, and fixing some typos.
- 9:57 AM Changeset in webkit [199230] by
-
- 27 edits in trunk/Source
Modern IDB (Blob support): Write blobs to temporary files and move them to the correct location when storing them.
https://bugs.webkit.org/show_bug.cgi?id=156321
Reviewed by Alex Christensen, Andy Estes, and Darin Adler.
Source/WebCore:
No new tests (No testable change in behavior yet, current tests pass).
When asked to store a Blob (including Files) in IndexedDB, the Blob is written out to a temporary file.
Then when the putOrAdd request is received by IDBServer it includes a list of blobURLs and their mappings
to temporary files.
Finally, as part of storing the Blob value in the database, those temporary files are moved in to place
under the IndexedDB directory for storage and later retrieval.
- Modules/indexeddb/IDBValue.cpp:
(WebCore::IDBValue::IDBValue):
- Modules/indexeddb/server/IDBBackingStore.h:
(WebCore::IDBServer::IDBBackingStoreTemporaryFileHandler::~IDBBackingStoreTemporaryFileHandler):
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::create):
(WebCore::IDBServer::IDBServer::IDBServer):
(WebCore::IDBServer::IDBServer::createBackingStore):
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::blobRecordsTableSchema):
(WebCore::IDBServer::blobRecordsTableSchemaAlternate):
(WebCore::IDBServer::blobFilesTableSchema):
(WebCore::IDBServer::blobFilesTableSchemaAlternate):
(WebCore::IDBServer::SQLiteIDBBackingStore::SQLiteIDBBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidBlobTables):
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
(WebCore::IDBServer::SQLiteIDBBackingStore::temporaryFileHandler):
- Modules/indexeddb/server/SQLiteIDBTransaction.cpp:
(WebCore::IDBServer::SQLiteIDBTransaction::commit):
(WebCore::IDBServer::SQLiteIDBTransaction::moveBlobFilesIfNecessary):
(WebCore::IDBServer::SQLiteIDBTransaction::abort):
(WebCore::IDBServer::SQLiteIDBTransaction::reset):
(WebCore::IDBServer::SQLiteIDBTransaction::addBlobFile):
- Modules/indexeddb/server/SQLiteIDBTransaction.h:
- Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::InProcessIDBServer):
(WebCore::InProcessIDBServer::accessToTemporaryFileComplete):
- Modules/indexeddb/shared/InProcessIDBServer.h:
- bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::blobURLsIsolatedCopy):
- bindings/js/SerializedScriptValue.h:
- platform/FileSystem.h:
- platform/gtk/FileSystemGtk.cpp:
(WebCore::hardLinkOrCopyFile):
- platform/posix/FileSystemPOSIX.cpp:
(WebCore::hardLinkOrCopyFile):
Source/WebKit2:
The NetworkProcess writes a blob to a temporary file, then tells the UIProcess to grant the DatabaseProcess
a Sandbox Extension to that path.
It then tells the WebProcess the paths for the temporary files, which then tells the DatabaseProcess to store
the contents of those files as blob references in the database.
Since the UIProcess had already granted it a Sandbox Extension, it is able to do so.
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::idbServer):
(WebKit::DatabaseProcess::grantSandboxExtensionsForBlobs):
(WebKit::DatabaseProcess::prepareForAccessToTemporaryFile):
(WebKit::DatabaseProcess::accessToTemporaryFileComplete):
- DatabaseProcess/DatabaseProcess.h:
- DatabaseProcess/DatabaseProcess.messages.in:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFiles):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::grantSandboxExtensionsToDatabaseProcessForBlobs):
(WebKit::NetworkProcess::didGrantSandboxExtensionsToDatabaseProcessForBlobs):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::grantSandboxExtensionsToDatabaseProcessForBlobs):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- 9:40 AM WebKitGTK/2.12.x edited by
- Replace bug link with changeset link now that patch has landed (diff)
- 9:39 AM WebKitGTK/2.10.x edited by
- Replace bug link with changeset link now that patch has landed (diff)
- 9:36 AM Changeset in webkit [199229] by
-
- 4 edits3 adds in trunk
AX: [ATK] Crash getting text under element in CSS table
https://bugs.webkit.org/show_bug.cgi?id=156328
Reviewed by Chris Fleizach.
Source/WebCore:
AccessibilityRenderObject::textUnderElement() assumes (and asserts) that
the first and last child of an anonymous block will each have nodes with
which to define positions. This is not the case for CSS Tables and their
anonymous descendants. AccessibilityNodeObject:textUnderElement() is our
fallback for the instances where a text range cannot be created based on
positions, so let it handle anonymous RenderTable parts.
Test: accessibility/generated-content-with-display-table-crash.html
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement):
(WebCore::AccessibilityRenderObject::shouldGetTextFromNode):
- accessibility/AccessibilityRenderObject.h:
LayoutTests:
While this crash is currently seen only for ATK, there is nothing to
prevent another port from attempting to get all the text under a CSS
RenderTable. Hence the shared test.
- accessibility/generated-content-with-display-table-crash.html: Added.
- platform/gtk/accessibility/generated-content-with-display-table-crash-expected.txt: Added.
- platform/mac/accessibility/generated-content-with-display-table-crash-expected.txt: Added.
- 9:11 AM Changeset in webkit [199228] by
-
- 2 edits in trunk/LayoutTests
Unreviewed.
Rebasing LayoutTests/imported/w3c/web-platform-tests/dom/nodes/MutationObserver-childList.html expectation after https://trac.webkit.org/changeset/199225.
Removing its Timeout expectation.
- 9:05 AM Changeset in webkit [199227] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Attempting to dismiss a popover that is already being dismissed causes an error
https://bugs.webkit.org/show_bug.cgi?id=156385
<rdar://problem/25617962>
Reviewed by Timothy Hatcher.
The Popover element is removed from the DOM once it's fade-out transition
completes. Since Popover.dismiss proceeds as long as it's element has a
parent, successive calls to dismiss can run before the popover is removed.
Rather than rely on the presence of the popover in the DOM, set a "dismissing"
flag the first time dismiss is called, before the fade-out animation begins.
- UserInterface/Controllers/BreakpointPopoverController.js:
(WebInspector.BreakpointPopoverController.prototype._conditionCodeMirrorEscapeOrEnterKey):
Check for null popover.
- UserInterface/Views/Popover.js:
(WebInspector.Popover):
(WebInspector.Popover.prototype.dismiss):
Do nothing if already dismissing.
(WebInspector.Popover.prototype.handleEvent):
Reset dismissing flag after style transition completes.
- 9:04 AM Changeset in webkit [199226] by
-
- 5 edits in trunk
Web Inspector: Quick Open fails to match pattern "bB" in file "abBc"
https://bugs.webkit.org/show_bug.cgi?id=156398
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
Correct an off-by-one error in the backtrack routine that set the dead
branch index to the character just before the match that was popped.
The dead branch index should equal the index of the popped match.
- UserInterface/Controllers/ResourceQueryController.js:
(WebInspector.ResourceQueryController.prototype._findQueryMatches.backtrack):
(WebInspector.ResourceQueryController.prototype._findQueryMatches):
LayoutTests:
- inspector/unit-tests/resource-query-controller-expected.txt:
- inspector/unit-tests/resource-query-controller.html:
Test that two repeated characters in the search string are correctly
matched when the first character is lowercase and the second is uppercase.
- 7:45 AM Changeset in webkit [199225] by
-
- 13 edits2 adds in trunk
LayoutTests/imported/w3c:
Testharness-based tests that time out should be able to produce detailed output
https://bugs.webkit.org/show_bug.cgi?id=145313
Reviewed by Xabier Rodriguez-Calvar.
Rebasing tests that produce output after testharness timeout() is called.
- web-platform-tests/fetch/api/request/request-cache-expected.txt:
- web-platform-tests/html/semantics/document-metadata/the-link-element/link-style-error-01-expected.txt:
- web-platform-tests/html/semantics/document-metadata/the-style-element/style-error-01-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
Tools:
Testharness-based tests that time out should be able to produce a detailed output
https://bugs.webkit.org/show_bug.cgi?id=145313
Reviewed by Xabier Rodriguez-Calvar.
Adding timeout readonly accessor to TestRunner for both WK1 and WK2.
- DumpRenderTree/TestRunner.cpp:
(getTimeoutCallback): The js "timeout" property getter.
(TestRunner::staticValues): Adding "timeout" property to DumpRenderTree so that testRunner.timeout called from JS returns the timeout value.
- DumpRenderTree/TestRunner.h:
(TestRunner::timeout): Adding access to DRT m_timeout private value.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Adding timeout readonly attribute so that testRunner.timeout can be called from JS.
- WebKitTestRunner/InjectedBundle/TestRunner.h: Adding DOM timeout getter to implement timeout IDL definition.
(WTR::TestRunner::timeout):
LayoutTests:
Testharness-based tests that time out should be able to produce a detailled output
https://bugs.webkit.org/show_bug.cgi?id=145313
Reviewed by Xabier Rodriguez-Calvar.
- TestExpectations: Removed TIMEOUT for some tests for which testharness.timeout will be called just before WTR times out.
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/request/request-cache-expected.txt: GTK specific baseline.
- resources/testharnessreport.js:
(add_completion_callback): Improving error logging message. Dumping of the tests status in error case.
- 2:04 AM Changeset in webkit [199224] by
-
- 9 edits in trunk/Source/WebCore
Remove unneeded UsePointersEvenForNonNullableObjectArguments from event classes
https://bugs.webkit.org/show_bug.cgi?id=156396
Reviewed by Youenn Fablet.
- dom/CompositionEvent.idl:
- dom/KeyboardEvent.idl:
- dom/MouseEvent.idl:
- dom/MutationEvent.idl:
- dom/TextEvent.idl:
- dom/TouchEvent.idl:
- dom/UIEvent.idl:
- dom/WheelEvent.idl:
Removed UsePointersEvenForNonNullableObjectArguments, which was having no effect.
- 1:52 AM Changeset in webkit [199223] by
-
- 3 edits4 adds in trunk
[css-grid] Fix positioned items with grid gaps
https://bugs.webkit.org/show_bug.cgi?id=156288
Reviewed by Darin Adler.
Source/WebCore:
When we place a positioned items in a grid with gaps,
we were not taking into accounts the gutter size.
We've to use that size to properly place and size the item.
Tests: fast/css-grid-layout/grid-positioned-items-gaps-rtl.html
fast/css-grid-layout/grid-positioned-items-gaps.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
LayoutTests:
Added new tests checking the right behavior.
- fast/css-grid-layout/grid-positioned-items-gaps-expected.txt: Added.
- fast/css-grid-layout/grid-positioned-items-gaps-rtl-expected.txt: Added.
- fast/css-grid-layout/grid-positioned-items-gaps-rtl.html: Added.
- fast/css-grid-layout/grid-positioned-items-gaps.html: Added.
- 1:01 AM Changeset in webkit [199222] by
-
- 2 edits in trunk/Source/WebCore
[css-grid] Remove unnecessary iteration in populateGridPositions loop
https://bugs.webkit.org/show_bug.cgi?id=156376
Reviewed by Darin Adler.
The populateGridPositions loop limit was set to 'lastLine'. However, the
the position of last track's start line is updated after the loop, since
it does not follow the same pattern; it does not have a content
distribution offset.
So, since we are essentially overwriting the value stored in the last
iteration, we can just lower the loop limit.
No new tests added, because there is no change in the functionality.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::populateGridPositions):
- 12:17 AM Changeset in webkit [199221] by
-
- 11 edits in trunk
CSP: Block XHR when calling XMLHttpRequest.send() and throw network error.
https://bugs.webkit.org/show_bug.cgi?id=153598
<rdar://problem/24391483>
Patch by John Wilander <wilander@apple.com> on 2016-04-08
Reviewed by Darin Adler.
Source/WebCore:
No new tests. Changes to existing tests are sufficient.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::open):
(WebCore::XMLHttpRequest::initSend):
Moved the CSP check from XMLHttpRequest::open() to XMLHttpRequest::initSend().
Changed the thrown error type from Security to Network for synchronous requests.
Changed from throwing an error to firing an error event for asynchronous requests.
These changes are in conformance with connect-src of Content Security Policy Level 2.
https://www.w3.org/TR/CSP2/#directive-connect-src (W3C Candidate Recommendation, 21 July 2015)
LayoutTests:
- fast/workers/resources/worker-inherits-csp-blocks-xhr.js:
(catch):
- fast/workers/worker-inherits-csp-blocks-xhr-expected.txt:
Changed expected error from DOMException.SECURITY_ERR to DOMException.NETWORK_ERR.
- http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked.html:
Now tests that XMLHttpRequest.send() is blocked if the URL voilates the connect-src directive in CSP.
- http/tests/security/contentSecurityPolicy/resources/worker.php:
Added two additional calls to XMLHttpRequest.send() and switched to receiving an error event to make
existing tests work with code changes.
- http/tests/security/contentSecurityPolicy/source-list-parsing-malformed-meta.html:
Added an additional call to XMLHttpRequest.send() and switched to receiving an error event to make
existing test work with code changes.
- http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr-expected.txt:
- http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr.html:
Added an additional call to XMLHttpRequest.send() and switched to receiving an error event to make
existing tests work with code changes.
Refactored test mechnism with additional parameters to cover synchronous/asynchronous as well as
same-origin/cross-origin in isolated worlds.
- 12:15 AM Changeset in webkit [199220] by
-
- 5 edits2 adds in trunk/Websites/perf.webkit.org
Fix various bugs in the new syncing script
https://bugs.webkit.org/show_bug.cgi?id=156393
Reviewed by Darin Adler.
- server-tests/resources/common-operations.js: Added. This file was supposed to be added in r199191.
(addBuilderForReport):
(addSlaveForReport):
(connectToDatabaseInEveryTest):
(submitReport):
- tools/js/buildbot-triggerable.js:
(BuildbotTriggerable.prototype._pullBuildbotOnAllSyncers): Don't log every time we pull from buildbot
builder as this dramatically increases the amount of log we generate.
- tools/js/parse-arguments.js:
(parseArguments): Fixed a typo. This should be parseArgument*s*, not parseArgument.
- tools/js/remote.js:
(RemoteAPI.prototype.url): Fixed a bug that portSuffix wasn't being expanded in the template literal.
(RemoteAPI.prototype.configure): Added more validations with nice error messages.
(RemoteAPI.prototype.sendHttpRequest): Falling back to port 80 isn't right when scheme is https. Compute
the right port in configure instead based on the scheme.
- tools/sync-buildbot.js:
(syncLoop): Fixed the bug that syncing multiple times fail because Manifest.fetch() create new Platform
and Test objects. This results in various references in BuildRequest objects to get outdated. Fixing this
properly in Manifest.fetch() because we do need to "forget" about some tests and platforms in some cases.
For now, delete all v3 model objects and start over in each syncing cycle.
- unit-tests/tools-js-remote-tests.js: Added. Unit tests for the aforementioned changes to RemoteAPI.
- 12:13 AM Changeset in webkit [199219] by
-
- 4 edits2 adds in trunk/Source/JavaScriptCore
Web Inspector: protocol generator should emit an error when 'type' is used instead of '$ref'
https://bugs.webkit.org/show_bug.cgi?id=156275
<rdar://problem/25569331>
Reviewed by Darin Adler.
- inspector/protocol/Heap.json: Fix a mistake that's now caught by the protocol generator.
- inspector/scripts/codegen/models.py:
(TypeReference.init): Check here if type_kind is on a whitelist of primitive types.
(TypeReference.referenced_name): Update comment.
Add a new test specifically for the case when the type would otherwise be resolved. Rebaseline.
- inspector/scripts/tests/expected/fail-on-type-reference-as-primitive-type.json-error: Added.
- inspector/scripts/tests/expected/fail-on-unknown-type-reference-in-type-declaration.json-error:
- inspector/scripts/tests/fail-on-type-reference-as-primitive-type.json: Added.
- 12:08 AM Changeset in webkit [199218] by
-
- 2 edits in trunk/Source/WTF
[JSC] Enable Concurrent JIT by default
https://bugs.webkit.org/show_bug.cgi?id=156341
Reviewed by Filip Pizlo.
We enable Concurrent JIT by default when DFG JIT and JSVALUE64 are enabled.
This change offers Concurrent JIT to the JSCOnly port.
- wtf/Platform.h:
Apr 7, 2016:
- 10:04 PM Changeset in webkit [199217] by
-
- 2 edits in trunk/Tools
stylebot should know about TestWebKitAPI FeatureDefines.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=156387
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-07
Rubber-stamped by Dan Bernstein.
- Scripts/webkitpy/style/checkers/featuredefines.py:
(FeatureDefinesChecker.check):
- 9:26 PM Changeset in webkit [199216] by
-
- 7 edits in trunk
FontFaceSet binding does not handle null correctly
https://bugs.webkit.org/show_bug.cgi?id=156141
Reviewed by Youenn Fablet.
Source/WebCore:
- css/FontFaceSet.cpp:
(WebCore::FontFaceSet::FontFaceSet): Pass a reference to add rather than a pointer.
(WebCore::FontFaceSet::has): Take a reference rather than a pointer.
(WebCore::FontFaceSet::add): Ditto.
(WebCore::FontFaceSet::remove): Ditto.
(WebCore::FontFaceSet::load): Initialize ec since we check it. Caller is not required
to do this, nor is the matchingFaces function. Rearranged function to avoid needless
creation/destruction of PendingPromise for the immediate failure case. Removed some
unneeded type casts and local variables.
(WebCore::FontFaceSet::status): Use ASCIILiteral instead of ConstructFromLiteral.
No reason to use the more aggressive optimization.
(WebCore::FontFaceSet::faceFinished): Factored out a common hasReachedTerminalState
check to streamline the logic a bit.
(WebCore::FontFaceSet::load): Moved overload without a string in here; not critical
to inline it.
(WebCore::FontFaceSet::check): Ditto.
- css/FontFaceSet.h: Removed many unneeded includes and forward declarations.
Changed functions to take FontFace& instead of RefPtr<FontFace>. Removed unneeded
WebCore namespace prefixes. Use final instead of override for virtual functions.
- css/FontFaceSet.idl: Removed UsePointersEvenForNonNullableObjectArguments, which
was preserving incorrect behavior for null as demonstrated by the test cases.
LayoutTests:
- fast/text/font-face-set-javascript-expected.txt: Added expected results for new tests.
- fast/text/font-face-set-javascript.html: Added tests for handling of null, also added tests for
the has function.
- 9:21 PM Changeset in webkit [199215] by
-
- 3 edits in trunk/Websites/perf.webkit.org
sync-buildbot.js doesn't mark disappeared builds as failed
https://bugs.webkit.org/show_bug.cgi?id=156386
Reviewed by Chris Dumez.
Fix a bug that new syncing script doesn't mark builds that it scheduled but doesn't appear when queried
by buildbot's JSON API. These are builds that got canceled by humans (e.g. buildbot was restarted, data
loss, pending build was canceled, etc...)
- server-tests/tools-buildbot-triggerable-tests.js: Added a test case.
- tools/js/buildbot-triggerable.js:
(BuildbotTriggerable.prototype._pullBuildbotOnAllSyncers): Added a set of build requests we've matched
against BuildbotBuildEntry's. Mark build requests that didn't have any entry but supposed to be in either
'scheduled' or 'running' status as failed.
- 9:17 PM Changeset in webkit [199214] by
-
- 17 edits in trunk
Remove ENABLE(ENABLE_ES6_CLASS_SYNTAX) guards
https://bugs.webkit.org/show_bug.cgi?id=156384
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-07
Reviewed by Ryosuke Niwa.
.:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
- features.json: Mark as Done.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseExportDeclaration):
(JSC::Parser<LexerType>::parseStatementListItem):
(JSC::Parser<LexerType>::parsePrimaryExpression):
(JSC::Parser<LexerType>::parseMemberExpression):
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
- Scripts/webkitperl/FeatureList.pm:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 8:59 PM Changeset in webkit [199213] by
-
- 3 edits in trunk/Source/WebCore
[iOS] Media playback button should use appearance
https://bugs.webkit.org/show_bug.cgi?id=156388
Reviewed by Simon Fraser.
With the recent change in backdrop appearance, we can
now use the system style directly for the play button.
While I was here I also updated the artwork to the
latest style (slightly rounded corners on the triangle).
Covered by the test in ManualTests/ios/start-playback-button-appearance.html.
- Modules/mediacontrols/mediaControlsiOS.css: Move the clip onto the backdrop
element. Use an appearance insted.
- Modules/mediacontrols/mediaControlsiOS.js: Remove the tint element, and
set the highlight on the glyph instead.
- 8:59 PM Changeset in webkit [199212] by
-
- 3 edits2 adds in trunk
[iOS] Play button on video is too dark
https://bugs.webkit.org/show_bug.cgi?id=156383
<rdar://problem/23540816>
Reviewed by Simon Fraser.
.:
Add a manual test for iOS that shows the expected appearance
of a video element. Unfortunately, due to the way we take
snapshots on iOS within our test runner, we don't get the
platform blurring effect, which means an automated test
won't work.
- ManualTests/ios/start-playback-button-appearance-expected.html: Added.
- ManualTests/ios/start-playback-button-appearance.html: Added.
Source/WebKit2:
Elements that are backed by a layer with either LightBackdropAppearance
or DarkBackdropAppearance are actually a combination of a
few layers (inside a special view). If we apply a mask to one
of those layers, it needs to be attached to the correct
child layer.
- Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::RemoteLayerTreePropertyApplier::applyProperties): If we have
one of the special appearance flags, apply the mask layer to
a particular child, rather than the layer itself.
- 8:58 PM Changeset in webkit [199211] by
-
- 2 edits in trunk/Tools
Watchlist modifications:
- remove roger_fong
- add myself to a few areas
- remove graouts from WebInspectorAPI
- Scripts/webkitpy/common/config/watchlist:
- 8:19 PM Changeset in webkit [199210] by
-
- 7 edits in trunk/Websites/perf.webkit.org
A/B testing bots should prioritize user created test groups
https://bugs.webkit.org/show_bug.cgi?id=156375
Reviewed by Chris Dumez.
Order build requests preferring user created ones over ones automatically created by detect-changes.js.
Also fixed a bug in BuildbotSyncer.scheduleFirstRequestInGroupIfAvailable that it was scheduling a new
build request on a builder/slave even when we had previously scheduled another build request.
- public/include/build-requests-fetcher.php:
(BuildRequestsFetcher::fetch_incomplete_requests_for_triggerable): Order build requested based on
author_order which is 0 when it's created by an user and 1 when it's created by detect-changes.js.
Since we're using ascending order, this would put user created test groups first.
- server-tests/api-build-requests-tests.js: Updated an existing test case and added a new test case
for testing that build requests for an user created test group shows up first.
- server-tests/resources/mock-data.js:
(MockData.addAnotherMockTestGroup): Takes an extra argument to specify the author name.
- server-tests/tools-buildbot-triggerable-tests.js: Added a test case for testing that build requests
for an user created test group shows up first.
- tools/js/buildbot-syncer.js:
(BuildbotSyncer): Added _slavesWithNewRequests to keep track of build slaves on which we have already
scheduled new build requests. Don't schedule more requests on these slaves.
(BuildbotSyncer.prototype.scheduleRequest):
(BuildbotSyncer.prototype.scheduleFirstRequestInGroupIfAvailable): Add the specified slave name (or null
when slaveList is not specified) to _slavesWithNewRequests.
(BuildbotSyncer.prototype.pullBuildbot): Clear the set after pulling buildbot since any build request
we have previously scheduled should be included in one of the entires now.
- unit-tests/buildbot-syncer-tests.js: Added test cases for the aforementioned bug.
(sampleiOSConfig): Added a second slave for new test cases.
- 7:11 PM Changeset in webkit [199209] by
-
- 8 edits3 adds in trunk
Implementing caching transition puts that need to reallocate with indexing storage
https://bugs.webkit.org/show_bug.cgi?id=130914
Reviewed by Saam Barati.
Source/JavaScriptCore:
This enables the IC's put_by_id path to handle reallocating the out-of-line storage even if
the butterfly has indexing storage. Like the DFG, we do this by calling operations that
reallocate the butterfly. Those use JSObject API and do all of the nasty work for us, like
triggering a barrier.
This does a bunch of refactoring to how PolymorphicAccess makes calls. It's a lot easier to
do it now because the hard work is hidden under AccessGenerationState methods. This means
that custom accessors now share logic with put_by_id transitions.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessGenerationState::succeed):
(JSC::AccessGenerationState::calculateLiveRegistersForCallAndExceptionHandling):
(JSC::AccessGenerationState::preserveLiveRegistersToStackForCall):
(JSC::AccessGenerationState::originalCallSiteIndex):
(JSC::AccessGenerationState::emitExplicitExceptionHandler):
(JSC::AccessCase::AccessCase):
(JSC::AccessCase::transition):
(JSC::AccessCase::generate):
(JSC::PolymorphicAccess::regenerate):
- bytecode/PolymorphicAccess.h:
(JSC::AccessGenerationState::needsToRestoreRegistersIfException):
(JSC::AccessGenerationState::liveRegistersToPreserveAtExceptionHandlingCallSite):
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- jit/JITOperations.cpp:
- jit/JITOperations.h:
LayoutTests:
- js/regress/put-by-id-transition-with-indexing-header-expected.txt: Added.
- js/regress/put-by-id-transition-with-indexing-header.html: Added.
- js/regress/script-tests/put-by-id-transition-with-indexing-header.js: Added.
(allocate):
- 6:27 PM Changeset in webkit [199208] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remote Inspector: When disallowing remote inspection on a debuggable, a listing is still sent to debuggers
https://bugs.webkit.org/show_bug.cgi?id=156380
<rdar://problem/25323727>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-07
Reviewed by Timothy Hatcher.
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::updateTarget):
(Inspector::RemoteInspector::updateAutomaticInspectionCandidate):
When a target has been updated and it no longer generates a listing,
we should remove the old listing as that is now stale and should
not be sent. Not generating a listing means this target is no
longer allowed to be debugged.
- 6:24 PM Changeset in webkit [199207] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: OpenResourceDialog should keep its resources list up-to-date
https://bugs.webkit.org/show_bug.cgi?id=155321
<rdar://problem/25093890>
Reviewed by Timothy Hatcher.
The Quick Open dialog should listen for resource change events, refreshing
the resource list and current query results as needed.
- UserInterface/Views/OpenResourceDialog.js:
(WebInspector.OpenResourceDialog):
(WebInspector.OpenResourceDialog.prototype.didDismissDialog):
Unregister resource event handlers.
(WebInspector.OpenResourceDialog.prototype.didPresentDialog):
Register resource event handlers and add main frame resources.
(WebInspector.OpenResourceDialog.prototype._addResource):
Add resource to the query controller, if valid. Optionally suppress
the potentially expensive filter update, which is useful when adding
multiple resources at once.
(WebInspector.OpenResourceDialog.prototype._addResourcesForFrame):
Add the entire frame resource tree and update dialog filter.
(WebInspector.OpenResourceDialog.prototype._mainResourceDidChange):
(WebInspector.OpenResourceDialog.prototype._resourceWasAdded):
- 6:22 PM Changeset in webkit [199206] by
-
- 6 edits in trunk
Roll out the css change in mediaControlsApple.css that has been causing assertions in layout for multiple tests
https://bugs.webkit.org/show_bug.cgi?id=156381
Rubber-stamped by Alexey Proskuryakov.
Source/WebCore:
- Modules/mediacontrols/mediaControlsApple.css:
(::-webkit-media-controls):
Remove overflow: hidden.
LayoutTests:
- platform/mac/TestExpectations:
- platform/mac/media/media-document-audio-repaint-expected.txt:
- platform/mac/media/video-zoom-controls-expected.txt:
- 5:40 PM Changeset in webkit [199205] by
-
- 3 edits in trunk/Source/JavaScriptCore
Web Inspector: Not necessary to validate webinspectord connection on iOS
https://bugs.webkit.org/show_bug.cgi?id=156377
<rdar://problem/25612460>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-07
Reviewed by Simon Fraser.
- inspector/remote/RemoteInspectorXPCConnection.h:
- inspector/remote/RemoteInspectorXPCConnection.mm:
(Inspector::RemoteInspectorXPCConnection::handleEvent):
- 5:19 PM Changeset in webkit [199204] by
-
- 2 edits in trunk/Source/WebKit2
Clearing the application cache doesn't work.
https://bugs.webkit.org/show_bug.cgi?id=156354
rdar://problem/22369239
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-04-07
Reviewed by Brady Eidson.
Use the correct "ApplicationCache" directory.
Delete the caches, not just the entries.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):
- 5:10 PM Changeset in webkit [199203] by
-
- 3 edits in trunk/Source/JavaScriptCore
Rename ArrayMode::supportsLength to supportsSelfLength
https://bugs.webkit.org/show_bug.cgi?id=156374
Reviewed by Filip Pizlo.
The name supportsLength is confusing because TypedArray have a
length function however it is on the prototype and not on the
instance. supportsSelfLength makes more sense since we use the
function during fixup to tell if we can intrinsic the length
property lookup on self accesses.
- dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::supportsSelfLength):
(JSC::DFG::ArrayMode::supportsLength): Deleted.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::attemptToMakeGetArrayLength):
- 4:38 PM Changeset in webkit [199202] by
-
- 5 edits2 deletes in trunk
Unreviewed, rolling out r199199.
Revision breaks layout tests
Reverted changeset:
"fast/loader/opaque-base-url.html crashing during mac and ios
debug tests"
https://bugs.webkit.org/show_bug.cgi?id=156179
http://trac.webkit.org/changeset/199199
- 4:28 PM Changeset in webkit [199201] by
-
- 4 edits in trunk/Source
Web Inspector: ProfileView source links are off by 1 line, worse in pretty printed code
https://bugs.webkit.org/show_bug.cgi?id=156371
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-07
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/protocol/ScriptProfiler.json:
Clarify that these locations are 1-based.
Source/WebInspectorUI:
- UserInterface/Views/ProfileDataGridNode.js:
(WebInspector.ProfileDataGridNode.prototype._displayContent):
Switch the 1-based locations in the CCT data structure to 0-based for SourceCodeLocation.
- 4:14 PM Changeset in webkit [199200] by
-
- 17 edits4 adds in trunk
Make it possible to test effect of view exposed rect on tiled backing
https://bugs.webkit.org/show_bug.cgi?id=156365
Reviewed by Tim Horton.
Source/WebCore:
Implement Internals::setViewExposedRect().
When the viewExposedRect is non-null, assume that we're scrollable on both axes
to avoid creation of huge tiles in this scenario.
We also need to call adjustTiledBackingScrollability() when setViewExposedRect()
has been called.
Tests: tiled-drawing/tile-coverage-view-exposed-rect.html
tiled-drawing/tile-size-view-exposed-rect.html
- page/FrameView.cpp:
(WebCore::FrameView::adjustTiledBackingScrollability):
(WebCore::FrameView::setViewExposedRect):
- testing/Internals.cpp:
(WebCore::Internals::setViewExposedRect):
- testing/Internals.h:
- testing/Internals.idl:
Tools:
Expose testRunner.setViewSize() and internals.setViewExposedRect() to enable
testing of tile coverage when setViewExposedRect() is passed a non-null rectangle.
testRunner.setViewSize() is used instead of using window.resizeTo(), since we
can't easily resize a window to larger than the screen being tested on.
- DumpRenderTree/TestRunner.cpp:
(setViewSizeCallback):
(TestRunner::staticFunctions):
- DumpRenderTree/TestRunner.h:
- DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setViewSize):
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::postSetViewSize):
- WebKitTestRunner/InjectedBundle/InjectedBundle.h:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setViewSize):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
Tests for tile size and tile coverage when we have an exposed view rect.
- tiled-drawing/tile-coverage-view-exposed-rect-expected.txt: Added.
- tiled-drawing/tile-coverage-view-exposed-rect.html: Added.
- tiled-drawing/tile-size-view-exposed-rect-expected.txt: Added.
- tiled-drawing/tile-size-view-exposed-rect.html: Added.
- 3:44 PM Changeset in webkit [199199] by
-
- 5 edits2 adds in trunk
fast/loader/opaque-base-url.html crashing during mac and ios debug tests
https://bugs.webkit.org/show_bug.cgi?id=156179
<rdar://problem/25507719>
Reviewed by Andy Estes.
Source/WebCore:
A relative URL other than "#" with a non-hierarchical base is invalid, but prior to this
change the URL's string would still contain the invalid relative URL. To avoid mistakes
where we might later treat this URL string as a parsed URL string, set the string to
"about:blank" instead.
Test: fast/url/data-uri-based-urls.html
- platform/URL.cpp:
(WebCore::URL::init):
LayoutTests:
- TestExpectations:
- fast/url/data-uri-based-urls-expected.txt: Added.
- fast/url/data-uri-based-urls.html: Added.
- fast/url/relative-expected.txt:
- 3:35 PM Changeset in webkit [199198] by
-
- 2 edits in trunk/LayoutTests
Skip a couple more tests that are asserting in FrameView::scheduleRelayoutOfSubtree().
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 3:34 PM Changeset in webkit [199197] by
-
- 10 edits in trunk/Source
Web Automation: implement Automation.addSingleCookie
https://bugs.webkit.org/show_bug.cgi?id=156319
<rdar://problem/25589605>
Reviewed by Timothy Hatcher.
Source/WebCore:
- platform/Cookie.h: Document the units used by the 'expires' field.
Source/WebKit2:
Implement this command by converting the protocol cookie to
WebCore::Cookie, then sending the cookie to NetworkProcess to
be added to the storage session using CookieJar::addCookie.
- UIProcess/Automation/Automation.json:
Clarify the units used in the 'expires' field and how the default value
for the domain field should be computed.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::addSingleCookie):
Parse the cookie and send it out via WebCookieManagerProxy.
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::addCookie): Added.
- UIProcess/WebCookieManagerProxy.h:
- WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::addCookie):
- WebProcess/Cookies/WebCookieManager.h:
- WebProcess/Cookies/WebCookieManager.messages.in:
Forward the message to WebCore::addCookie.
- 3:31 PM Changeset in webkit [199196] by
-
- 2 edits in trunk/Source/WebCore
Add ImageBitmap as under consideration on Feature Status page
https://bugs.webkit.org/show_bug.cgi?id=156362
Reviewed by Timothy Hatcher.
- features.json:
- 3:31 PM Changeset in webkit [199195] by
-
- 2 edits in trunk/Source/WebCore
Include Conical Gradients on the Feature Status page.
https://bugs.webkit.org/show_bug.cgi?id=156363
Reviewed by Timothy Hatcher.
- features.json:
- 3:28 PM Changeset in webkit [199194] by
-
- 2 edits in trunk/Source/WebCore
Build fix.
- platform/mac/WebVideoFullscreenInterfaceMac.mm:
- 3:26 PM Changeset in webkit [199193] by
-
- 3 edits in trunk/Source/WebCore
In WK1 WebVideoFullscreen interface may be accessed from WK1 main thread instead of UI thread.
https://bugs.webkit.org/show_bug.cgi?id=154252
rdar://problem/22460539
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-04-07
Reviewed by Eric Carlson.
In WebKit1, Javascript can cause enter fullscreen to happen on the main thead, which is not
necessarily the UI thread. This can cause autolayout errors. Move this code to the UI thread.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::setUpFullscreen): Move setup to the UI thread.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerLayer layoutSublayers]): Move call to resolveBounds to the UI thread.
- 3:25 PM Changeset in webkit [199192] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy.html as timeout in ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=149087
Unreviewed, test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 3:10 PM Changeset in webkit [199191] by
-
- 7 edits5 moves in trunk/Websites/perf.webkit.org
Migrate legacy perf dashboard tests to mocha.js based tests
https://bugs.webkit.org/show_bug.cgi?id=156335
Reviewed by Chris Dumez.
Migrated all legacy run-tests.js tests to mocha.js based tests. Since the new harness uses Promise
for most of asynchronous operations, refactored the tests to use Promises as well, and added more
assertions where appropriate.
Also consolidated common helper functions into server-tests/resources/common-operations.js.
Unfortunately there were multiple inconsistent implementations of addBuilder/addSlave. Some were
taking an array of reports while others were taking a single report. New shared implementation in
common-operations.js now takes a single report.
Also decreased the timeout in most tests from 10s to 1s so that tests fail early when they timeout.
Most of tests are passing under 100ms on my computer so 1s should be plenty still.
- run-tests.js: Removed.
- server-tests/admin-platforms-tests.js: Moved from tests/admin-platforms.js.
(reportsForDifferentPlatforms):
- server-tests/admin-reprocess-report-tests.js: Moved from tests/admin-reprocess-report.js.
(.addBuilder): Moved to common-operations.js.
- server-tests/api-build-requests-tests.js:
- server-tests/api-manifest.js: Use MockData.resetV3Models() instead of manually clearing maps.
- server-tests/api-measurement-set-tests.js: Moved from tests/api-measurement-set.js.
(.queryPlatformAndMetric):
(.format):
- server-tests/api-report-commits-tests.js: Moved from tests/api-report-commits.js.
- server-tests/api-report-tests.js: Moved from tests/api-report.js.
(.emptyReport):
(.emptySlaveReport):
(.reportWithSameSubtestName):
- server-tests/resources/common-operations.js: Added.
(addBuilderForReport): Extracted from tests.
(addSlaveForReport): Ditto.
(connectToDatabaseInEveryTest): Added.
(submitReport): Extracted from admin-platforms-tests.js.
- server-tests/resources/test-server.js:
(TestServer): Make TestServer a singleton since it doesn't make any sense for each module to start
its own Apache instance (that would certainly will fail).
- server-tests/tools-buildbot-triggerable-tests.js:
- tests: Removed.
- tools/js/database.js:
(Database.prototype.selectAll): Added.
(Database.prototype.selectFirstRow): Added.
(Database.prototype.selectRows): Added. Dynamically construct a query string based on arguments.
- 3:02 PM Changeset in webkit [199190] by
-
- 2 edits in trunk/Source/WebCore
Build fix.
- platform/mac/WebVideoFullscreenInterfaceMac.mm:
- 3:01 PM Changeset in webkit [199189] by
-
- 2 edits in trunk/Source/JavaScriptCore
Add Web Animations API to Feature Status Page
https://bugs.webkit.org/show_bug.cgi?id=156360
Reviewed by Timothy Hatcher.
- features.json:
- 2:56 PM Changeset in webkit [199188] by
-
- 8 edits in trunk/Source/WebCore
[WebIDL] Add support for [EnabledAtRuntime] attributes on non-global objects
https://bugs.webkit.org/show_bug.cgi?id=156346
Reviewed by Ryosuke Niwa.
Add support for [EnabledAtRuntime] attributes on non-global objects by
using the same approach as for [EnabledAtRuntime] operations. This means
we add these attributes to the static property table but they get removed
at runtime in JS*Prototype::finishCreation(), if the feature is disabled,
after the eager reification of the prototype.
- bindings/scripts/CodeGeneratorJS.pm:
(GeneratePropertiesHashTable):
(GenerateImplementation):
- bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
(webkit_dom_test_obj_enabled_at_runtime_operation):
(webkit_dom_test_obj_get_enabled_at_runtime_attribute):
(webkit_dom_test_obj_set_enabled_at_runtime_attribute):
- bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjPrototype::finishCreation):
(WebCore::jsTestObjEnabledAtRuntimeAttribute):
(WebCore::setJSTestObjEnabledAtRuntimeAttribute):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation):
- bindings/scripts/test/ObjC/DOMTestObj.h:
- bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj enabledAtRuntimeAttribute]):
(-[DOMTestObj setEnabledAtRuntimeAttribute:]):
(-[DOMTestObj enabledAtRuntimeOperation:]):
- bindings/scripts/test/TestObj.idl:
- 2:55 PM Changeset in webkit [199187] by
-
- 2 edits in trunk/Source/WebCore
Attempted build fix.
- platform/mac/WebVideoFullscreenInterfaceMac.mm:
(-[WebPlaybackControlsManager seekToTime:toleranceBefore:toleranceAfter:]):
(-[WebPlaybackControlsManager setCurrentAudioMediaSelectionOption:]):
(-[WebPlaybackControlsManager setCurrentLegibleMediaSelectionOption:]):
(-[WebPlaybackControlsManager currentAudioMediaSelectionOption]): Deleted.
(-[WebPlaybackControlsManager currentLegibleMediaSelectionOption]): Deleted.
- 2:51 PM Changeset in webkit [199186] by
-
- 2 edits in trunk/Source/WebCore
Add WebKitAdditions extension point in HTMLVideoElement::supportsFullscreen()
https://bugs.webkit.org/show_bug.cgi?id=156366
Reviewed by Alex Christensen.
- html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::supportsFullscreen):
- 2:39 PM Changeset in webkit [199185] by
-
- 2 edits in trunk/Source/WebCore
Add WOFF2 to the Feature Status page
https://bugs.webkit.org/show_bug.cgi?id=156361
Reviewed by Timothy Hatcher.
- features.json:
- 2:31 PM Changeset in webkit [199184] by
-
- 3 edits in trunk/Source/WebCore
WebPlaybackControlsManager should support mediaSelectionOptions
https://bugs.webkit.org/show_bug.cgi?id=156358
-and corresponding-
rdar://problem/25048743
Reviewed by Jer Noble.
This patch just implements
WebVideoFullscreenInterfaceMac::setAudioMediaSelectionOptions and
WebVideoFullscreenInterfaceMac::setLegibleMediaSelectionOptions and passes that
information on to WebPlaybackControlsManager. If selection options are set via
the WebPlaybackControlsManager, then it gets the webVideoFullscreenModel() to
set the new value.
- platform/mac/WebVideoFullscreenInterfaceMac.h:
- platform/mac/WebVideoFullscreenInterfaceMac.mm:
(-[WebPlaybackControlsManager currentAudioMediaSelectionOption]):
(-[WebPlaybackControlsManager setCurrentAudioMediaSelectionOption:]):
(-[WebPlaybackControlsManager currentLegibleMediaSelectionOption]):
(-[WebPlaybackControlsManager setCurrentLegibleMediaSelectionOption:]):
(WebCore::mediaSelectionOptions):
(WebCore::WebVideoFullscreenInterfaceMac::setAudioMediaSelectionOptions):
(WebCore::WebVideoFullscreenInterfaceMac::setLegibleMediaSelectionOptions):
(-[WebPlaybackControlsManager audioMediaSelectionOptions]): Deleted.
(-[WebPlaybackControlsManager legibleMediaSelectionOptions]): Deleted.
- 2:26 PM Changeset in webkit [199183] by
-
- 4 edits in trunk/LayoutTests
Test expectation gardening for
Assertion failure in MessagePort::contextDestroyed in http/tests/security/MessagePort/event-listener-context.html,
usually attributed to later tests
https://bugs.webkit.org/show_bug.cgi?id=94458
http/tests/security/MessagePort/event-listener-context.html is the only culprit,
so it should be skipped everywhere, and subsequent tests shouldn't be marked.
- TestExpectations:
- platform/ios-simulator/TestExpectations:
- platform/mac/TestExpectations:
- 2:25 PM Changeset in webkit [199182] by
-
- 2 edits in trunk/Source/JavaScriptCore
Invalid assertion inside DebuggerScope::getOwnPropertySlot
https://bugs.webkit.org/show_bug.cgi?id=156357
Reviewed by Keith Miller.
The Type Profiler might profile JS code that uses DebuggerScope and accesses properties
on it. Therefore, it may have a DebuggerScope object in its log. Objects in the log
are subject to having their getOwnPropertySlot method called. Therefore, the DebuggerScope
might not always be in a valid state when its getOwnPropertySlot method is called.
Therefore, the assertion invalid.
- debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::getOwnPropertySlot):
- 2:15 PM Changeset in webkit [199181] by
-
- 11 edits2 adds in trunk
Wheel event callback removing the window causes crash in WebCore.
https://bugs.webkit.org/show_bug.cgi?id=150871
<rdar://problem/23418283>
Reviewed by Simon Fraser.
Source/WebCore:
Null check the FrameView before using it, since the iframe may have been removed
from its parent document inside the event handler.
The new test triggered a cross-load side-effect, where wheel event filtering wasn't
reset between page loads. Fix by calling clearLatchedState() in EventHandler::clear(),
which resets the filtering.
Since the Frame destructor invokes EventHandler::clear, which invokes MainFrame methods,
we run the risk of attempting to dereference destroyed MainFrame elements of the current
Frame object. Instead, clear the EventHandler in the MainFrame destructor.
Finally, confirm that the mainFrame member is not being destroyed in the handful of
places that might attempt to access the mainFrame during object destruction (essentially
cleanup methods).
Test: fast/events/wheel-event-destroys-frame.html
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::clear): Protect against accessing mainFrame content during destruction.
- page/EventHandler.cpp:
(WebCore::EventHandler::clear): Call 'clearLatchedState' instead of endFilteringDeltas.
(WebCore::EventHandler::clearLatchedState): Null-check the filter before calling it.
- page/Frame.cpp:
(WebCore::Frame::~Frame): Do not call 'setView' in the destructor for a MainFrame.
(WebCore::Frame::setView): Check for a null event handler before invoking it.
(WebCore::Frame::setMainFrameWasDestroyed): Added. Mark that the MainFrame
member of the Frame is being destroyed (if the current Frame is a MainFrame) and clear
the EventHandler member so that it doesn't attempt to access mainFrame content.
(WebCore::Frame::mainFrame): When accessing the mainFrame member, assert that the
mainFrame is not being destroyed.
- page/MainFrame.cpp:
(WebCore::MainFrame::~MainFrame): Set the m_recentWheelEventDeltaFilter to nullptr to
prevent attempts to access it during object destruction. Call the new 'setMainFrameWasDestroyed'
method to reset eventHandler and mark the MainFrame as being in the process of destruction.
- page/WheelEventDeltaFilter.cpp:
(WebCore::WheelEventDeltaFilter::filteredDelta): Add logging.
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::platformCompleteWheelEvent): Add null check.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo): Add logging.
LayoutTests:
- fast/events/wheel-event-destroys-frame-expected.txt: Added.
- fast/events/wheel-event-destroys-frame.html: Added.
- platform/ios-simulator/TestExpectations: Skip wheel-event test on iOS.
- 2:08 PM Changeset in webkit [199180] by
-
- 2 edits6 moves3 adds in trunk/Tools
Adding layout tests for the bot watcher's dashboard QUnit tests. https://bugs.webkit.org/show_bug.cgi?id=155272
Reviewed by Daniel Bates.
Moved supporting resources into a resources folder and updated index.html accordingly
to point to the new locations. Added code to tests.js to dumpAsText when QUnit is done.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/index-expected.txt: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/index.html: Updated to point to tests.js and Mock files in resources directory.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/MockBuildbotQueue.js: Renamed from
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/MockBuildbotQueue.js.
(MockBuildbotQueue):
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/MockBuildbotQueueView.js: Renamed from
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/MockBuildbotQueueView.js.
(MockBuildbotQueueView):
(MockBuildbotQueueView.prototype._latestProductiveIteration):
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/MockTrac.js: Renamed from
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/MockTrac.js.
(MockTrac):
(MockTrac.prototype.get oldestRecordedRevisionNumber):
(MockTrac.prototype.get latestRecordedRevisionNumber):
(MockTrac.prototype.loadMoreHistoricalData):
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/test-fixture-git-trac-rss.xml: Renamed from
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/test-fixture-git-trac-rss.xml.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/test-fixture-trac-rss.xml: Renamed from
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/test-fixture-trac-rss.xml.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js: Renamed from
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/tests.js.
Updated the unit tests for Trac._loaded() to point to the XML files that are now located in the 'resources' directory.
(QUnit.done): Added. Removes machine-specific output from test results and calls testRunner.notifyDone to let the layout test harness know that all testing is done.
- Scripts/run-dashboard-tests: Added.
- 2:01 PM Changeset in webkit [199179] by
-
- 8 edits in trunk
Initial implementation of annex b.3.3 behavior was incorrect
https://bugs.webkit.org/show_bug.cgi?id=156276
Reviewed by Keith Miller.
Source/JavaScriptCore:
I almost got annex B.3.3 correct in my first implementation.
There is a subtlety here I got wrong. We always create a local binding for
a function at the very beginning of execution of a block scope. So we
hoist function declarations to their local binding within a given
block scope. When we actually evaluate the function declaration statement
itself, we must lookup the binding in the current scope, and bind the
value to the binding in the "var" scope. We perform the following
abstract operations when executing a function declaration statement.
f = lookupBindingInCurrentScope("func")
store(varScope, "func", f)
I got this wrong by performing the store to the var binding at the beginning
of the block scope instead of when we evaluate the function declaration statement.
This behavior is observable. For example, a program could change the value
of "func" before the actual function declaration statement executes.
Consider the following two functions:
`
function foo1() {
func === undefined
{
typeof func === "function"
function func() { } Executing this statement binds the local "func" binding to the implicit "func" var binding.
func = 20 This sets the local "func" binding to 20.
}
typeof func === "function"
}
function foo2() {
func === undefined
{
typeof func === "function"
func = 20 This sets the local "func" binding to 20.
function func() { } Executing this statement binds the local "func" binding to the implicit "func" var binding.
}
func === 20
}
`
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::initializeBlockScopedFunctions):
(JSC::BytecodeGenerator::hoistSloppyModeFunctionIfNecessary):
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitNodeForLeftHandSide):
- bytecompiler/NodesCodegen.cpp:
(JSC::FuncDeclNode::emitBytecode):
- tests/stress/sloppy-mode-function-hoisting.js:
(test.foo):
(test):
(test.):
(test.bar):
(test.switch.case.0):
(test.capFoo1):
(test.switch.capFoo2):
(test.outer):
(foo):
LayoutTests:
- js/function-declarations-in-switch-statement-expected.txt:
- js/script-tests/function-declarations-in-switch-statement.js:
- 2:00 PM Changeset in webkit [199178] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Uncaught Exception: No resource with given URL found
https://bugs.webkit.org/show_bug.cgi?id=156259
<rdar://problem/25564749>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-07
Reviewed by Timothy Hatcher.
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor):
SourceCode.prototype.requestContent will reject if it cannot load
content for the given resource. In that case, we already have an
earlier catch handler that displays an error message in the
ContentView, so we shouldn't show an Uncaught Exception page.
Really, we should not reject the original promise here, and
instead resolve it with an object describing the error, but
short term we should remove the uncaught exception handler for
this case.
- 1:59 PM Changeset in webkit [199177] by
-
- 2 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: Take snapshot navigation button should match navigation button styles
https://bugs.webkit.org/show_bug.cgi?id=156355
<rdar://problem/25325172>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-07
Reviewed by Timothy Hatcher.
- UserInterface/Images/Camera.svg: Added.
- UserInterface/Views/HeapAllocationsTimelineView.js:
(WebInspector.HeapAllocationsTimelineView):
Use the new image for the navigation bar button.
- 1:38 PM Changeset in webkit [199176] by
-
- 2 edits in trunk/Source/JavaScriptCore
Build fix after r199170
- CMakeLists.txt:
- 1:21 PM Changeset in webkit [199175] by
-
- 3 edits in trunk/Source/WebKit2
Add WebKitAdditions extension points around preferences
https://bugs.webkit.org/show_bug.cgi?id=156303
Reviewed by Beth Dakin.
- Shared/WebPreferencesStore.cpp:
(WebKit::defaults):
- UIProcess/API/C/WKPreferences.cpp:
- 1:04 PM Changeset in webkit [199174] by
-
- 8 edits2 moves in trunk
Rename TextTrackRepresentationiOS to TextTrackRepresentationCocoa and enable on Mac
https://bugs.webkit.org/show_bug.cgi?id=156245
Reviewed by Eric Carlson.
Source/WebCore:
- Modules/mediacontrols/mediaControlsApple.css:
(::-webkit-media-controls):
Match iOS and specify overflow: hidden on the -webkit-media-controls container.
(video::-webkit-media-text-track-container):
Match iOS and specify z-index: 0 on the text track container.
- WebCore.xcodeproj/project.pbxproj:
TextTrackRepresentationiOS.h/mm have been renamed to TextTrackRepresentationCocoa.h/mm.
- platform/graphics/TextTrackRepresentation.cpp:
- platform/graphics/cocoa/TextTrackRepresentationCocoa.h: Renamed from Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.h.
- platform/graphics/cocoa/TextTrackRepresentationCocoa.mm: Renamed from Source/WebCore/platform/graphics/ios/TextTrackRepresentationIOS.mm.
(-[WebCoreTextTrackRepresentationCocoaHelper initWithParent:]):
(-[WebCoreTextTrackRepresentationCocoaHelper dealloc]):
(-[WebCoreTextTrackRepresentationCocoaHelper setParent:]):
(-[WebCoreTextTrackRepresentationCocoaHelper parent]):
(-[WebCoreTextTrackRepresentationCocoaHelper observeValueForKeyPath:ofObject:change:context:]):
(-[WebCoreTextTrackRepresentationCocoaHelper actionForLayer:forKey:]):
(TextTrackRepresentation::create):
(TextTrackRepresentationCocoa::TextTrackRepresentationCocoa):
(TextTrackRepresentationCocoa::~TextTrackRepresentationCocoa):
(TextTrackRepresentationCocoa::update):
(TextTrackRepresentationCocoa::setContentScale):
(TextTrackRepresentationCocoa::bounds):
LayoutTests:
- platform/mac/TestExpectations:
Skip some tests with assertions after changes in MediaControlsApple.css.
- platform/mac/media/media-document-audio-repaint-expected.txt:
- platform/mac/media/video-zoom-controls-expected.txt:
Rebaseline some tests after changes in MediaControlsApple.css.
- 12:57 PM Changeset in webkit [199173] by
-
- 2 edits in trunk/Websites/webkit.org
Improved drop down menu with translate; cleaned up unnecessary whitespace.
https://bugs.webkit.org/show_bug.cgi?id=156342
Reviewed by Timothy Hatcher.
- wp-content/themes/webkit/style.css:
(p > a[name]::before):
(.has-post-thumbnail .background-image):
(.table-of-contents):
(header .menu-item-has-children .label-toggle::after):
(.sub-menu-layer):
(.sub-menu-layer:after, .sub-menu-layer:before):
(.sub-menu-layer .menu-item):
(.menu > .menu-item > .menu-toggle:checked + .sub-menu):
(@media only screen and (max-width: 920px)):
(header .sub-menu-layer):
(@media only screen and (max-width: 415px)):
(@media only screen and (max-width: 1180px)): Deleted.
(@media only screen and (max-width: 1000px)): Deleted.
(@media only screen and (max-width: 690px)): Deleted.
(@media only screen and (max-width: 600px)): Deleted.
(@media only screen and (max-height: 415px)): Deleted.
(@media only screen and (max-width: 320px)): Deleted.
- 12:52 PM Changeset in webkit [199172] by
-
- 1 edit51 deletes in trunk/LayoutTests
CSP: Remove tests for unimplemented directive referrer
https://bugs.webkit.org/show_bug.cgi?id=156353
Reviewed by Andy Estes.
The Content Security Policy directive referrer was removed from the Content Security Policy Level 2 spec.,
<https://w3c.github.io/webappsec-csp/2/> (Editor's Draft, 29 August 2015). It was never implemented.
The functionality provided by this directive has been incorporated into its own meta tag and is covered
by the Referrer Policy spec., <https://w3c.github.io/webappsec-referrer-policy/>.
- http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-http-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-http.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-https-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-https.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-http-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-http.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-https-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-https.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-http-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-http.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-https-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-https.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-http-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-http.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-https-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-https.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-http-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-http.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-https-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-https.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-http-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-http.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-https-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-https.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-http-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-http.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-https-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-https.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-http-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-http.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-https-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-https.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-http-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-http.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-https-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-https.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-http-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-http.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-https-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-https.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-http-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-http.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-https-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-https.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-http-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-http.html: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-https-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-https.html: Removed.
- http/tests/security/contentSecurityPolicy/resources/referrer-test-endpoint.php: Removed.
- http/tests/security/contentSecurityPolicy/resources/referrer-test.js: Removed.
- http/tests/security/contentSecurityPolicy/resources/referrer-test.php: Removed.
- 12:47 PM Changeset in webkit [199171] by
-
- 2 edits in trunk/LayoutTests
Unreviewed follow-up fix to r199168. Add missing newline in expected output.
- inspector/codemirror/resources/prettyprinting/javascript-tests/single-statement-blocks-expected.js:
- 12:38 PM Changeset in webkit [199170] by
-
- 40 edits2 copies1 add in trunk/Source/JavaScriptCore
We should support the ability to do a non-effectful getById
https://bugs.webkit.org/show_bug.cgi?id=156116
Reviewed by Benjamin Poulain.
Currently, there is no way in JS to do a non-effectful getById. A non-effectful getById is
useful because it enables us to take different code paths based on values that we would
otherwise not be able to have knowledge of. This patch adds this new feature called
try_get_by_id that will attempt to do as much of a get_by_id as possible without performing
an effectful behavior. Thus, try_get_by_id will return the value if the slot is a value, the
GetterSetter object if the slot is a normal accessor (not a CustomGetterSetter) and
undefined if the slot is unset. If the slot is proxied or any other cases then the result
is null. In theory, if we ever wanted to check for null we could add a sentinal object to
the global object that indicates we could not get the result.
In order to implement this feature we add a new enum GetByIdKind that indicates what to do
for accessor properties in PolymorphicAccess. If the GetByIdKind is pure then we treat the
get_by_id the same way we would for load and return the value at the appropriate offset.
Additionally, in order to make sure the we can properly compare the GetterSetter object
with === GetterSetters are now JSObjects. This comes at the cost of eight extra bytes on the
GetterSetter object but it vastly simplifies the patch. Additionally, the extra bytes are
likely to have little to no impact on memory usage as normal accessors are generally rare.
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/BuiltinExecutableCreator.cpp: Added.
(JSC::createBuiltinExecutable):
- builtins/BuiltinExecutableCreator.h: Copied from Source/JavaScriptCore/builtins/BuiltinExecutables.h.
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createDefaultConstructor):
(JSC::BuiltinExecutables::createBuiltinExecutable):
(JSC::createBuiltinExecutable):
(JSC::BuiltinExecutables::createExecutable):
(JSC::createExecutableInternal): Deleted.
- builtins/BuiltinExecutables.h:
- bytecode/BytecodeIntrinsicRegistry.h:
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::tryGet):
(JSC::AccessCase::generate):
(WTF::printInternal):
- bytecode/PolymorphicAccess.h:
(JSC::AccessCase::isGet): Deleted.
(JSC::AccessCase::isPut): Deleted.
(JSC::AccessCase::isIn): Deleted.
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::reset):
- bytecode/StructureStubInfo.h:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitTryGetById):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::BytecodeIntrinsicNode::emit_intrinsic_tryGetById):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::getById):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
- jit/JIT.h:
- jit/JITInlineCacheGenerator.cpp:
(JSC::JITGetByIdGenerator::JITGetByIdGenerator):
- jit/JITInlineCacheGenerator.h:
- jit/JITInlines.h:
(JSC::JIT::callOperation):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emitGetByValWithCachedId):
(JSC::JIT::emit_op_try_get_by_id):
(JSC::JIT::emitSlow_op_try_get_by_id):
(JSC::JIT::emit_op_get_by_id):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emitGetByValWithCachedId):
(JSC::JIT::emit_op_try_get_by_id):
(JSC::JIT::emitSlow_op_try_get_by_id):
(JSC::JIT::emit_op_get_by_id):
- jit/Repatch.cpp:
(JSC::repatchByIdSelfAccess):
(JSC::appropriateOptimizingGetByIdFunction):
(JSC::appropriateGenericGetByIdFunction):
(JSC::tryCacheGetByID):
(JSC::repatchGetByID):
(JSC::resetGetByID):
- jit/Repatch.h:
- jsc.cpp:
(GlobalObject::finishCreation):
(functionGetGetterSetter):
(functionCreateBuiltin):
- llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LLIntSlowPaths.h:
- llint/LowLevelInterpreter.asm:
- runtime/GetterSetter.cpp:
- runtime/GetterSetter.h:
- runtime/JSType.h:
- runtime/PropertySlot.cpp:
(JSC::PropertySlot::getPureResult):
- runtime/PropertySlot.h:
- runtime/ProxyObject.cpp:
(JSC::ProxyObject::getOwnPropertySlotCommon):
- tests/stress/try-get-by-id.js: Added.
(tryGetByIdText):
(getCaller.obj.1.throw.new.Error.let.func):
(getCaller.obj.1.throw.new.Error):
(throw.new.Error.get let):
(throw.new.Error.):
(throw.new.Error.let.get createBuiltin):
(get let):
(let.get createBuiltin):
(let.func):
(get let.func):
(get throw):
- 12:29 PM Changeset in webkit [199169] by
-
- 8 edits in trunk/Source/WebInspectorUI
Web Inspector: Inspector hangs when trying to view a large XHR resource
https://bugs.webkit.org/show_bug.cgi?id=144107
<rdar://problem/20669463>
Reviewed by NOBODY (OOPS!).
Previously auto formatting (initially pretty print source code) in TextEditor
was done synchronously in this order:
(1) revealing the Editor as soon as we have content
(2) set the CodeMirror value
(3) pretty print with the CodeMirror editor
(4) set the CodeMirror value
=> Layout
At the end, CodeMirror would layout once with the new content. This approach
performs very poorly when step (3) is an asynchronous action, because it would
mean CodeMirror would layout for both (2) and at the end (4) and the layout
itself can be very costly if the content is minified and so has very long
lines at the top of the file that need to be syntax highlighted and visible
since we do not wrap.
This patch changes the order of operations to benefit asynchronous formatting.
When SourceCodeTextEditor determines that it can autoformat it:
(1) set the CodeMirror value
(2) pretty print to source text
(3) reveal the Editor when pretty printing is done
(4) set the CodeMirror value
=> Layout
This maintains the fact that to undo pretty printing we can just "undo" the
editor to get the original text. This also means we only do a single
CodeMirror layout, with the pretty printed and therefore more manageable
source text for highlighting. It also means we continue to show a loading
indicator in the editor while we are pretty printing. If this is truely
done asynchronously, which is the case for JavaScript with FormatterWorker,
then the loading indicator will animate smoothly.
This sequence also works with the traditional synchronous formatters,
which we still have for CSS.
- UserInterface/Views/ContentView.js:
(WebInspector.ContentView.contentViewForRepresentedObject):
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement):
(WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
BreakpointTreeElements can now be restored and reselected when its
source code is null. Avoid deleting the pending cookie data if a
ContentView was not shown for the resource. When the Breakpoint
and SourceCode get hooked up, this code will run again and work.
- UserInterface/Views/ScriptContentView.js:
(WebInspector.ScriptContentView.prototype._togglePrettyPrint):
- UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView.prototype._togglePrettyPrint):
- UserInterface/Views/TextContentView.js:
(WebInspector.TextContentView.prototype._togglePrettyPrint):
New API for toggling formatting, now that it is an async operation.
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
(WebInspector.SourceCodeTextEditor.prototype._proceedPopulateWithContent):
(WebInspector.SourceCodeTextEditor.prototype._prepareEditorForInitialContent):
(WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent.scriptContentAvailable):
(WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent):
(WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent):
(WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting):
(WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate): Deleted.
Move auto formatting logic into SourceCodeTextEditor, because it
determines if content should be auto formatted, and it loads the
initial content so it can determine when to show the editor for
the first time.
When we get the initial content and determine we have to autoformat,
setup the TextEditor, but don't proceed with WillPopulate/DidPopulate
until after we have formatted text.
- UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor):
(WebInspector.TextEditor.set string.update):
(WebInspector.TextEditor.prototype.set string):
(WebInspector.TextEditor.prototype.setFormatted):
(WebInspector.TextEditor.prototype.hasFormatter):
(WebInspector.TextEditor.prototype._format):
(WebInspector.TextEditor.prototype.prettyPrint):
(WebInspector.TextEditor.prototype._canUseFormatterWorker):
(WebInspector.TextEditor.prototype._startWorkerPrettyPrint):
(WebInspector.TextEditor.prototype._startCodeMirrorPrettyPrint):
(WebInspector.TextEditor.prototype._finishPrettyPrint):
(WebInspector.TextEditor.prototype._undoFormatting):
(WebInspector.TextEditor.prototype._updateAfterFormatting):
Break up the synchronous pretty printing code into multiple steps.
One path can be asynchronous formatting via FormatterWorker, another
path may be synchronous formatting using the CodeMirror formatters.
(WebInspector.TextEditor.prototype.set formatted): Deleted.
Remove the synchronousset formattedsetter. Replace with setFormatted().
(WebInspector.TextEditor.prototype.set autoFormat): Deleted.
Remove the TextEditor's autoformat. Since formatting can be async, having
the TextEditor showing and asynchronously format its initial contents is
a recipe for poor performance causing multiple layouts of different content.
Instead, autoformatting is handled by SourceCodeTextEditor, and TextEditor
can then be shown when it has the right data.
- 12:29 PM Changeset in webkit [199168] by
-
- 12 edits1 copy2 moves64 adds in trunk
Web Inspector: Improve JavaScript pretty printing
https://bugs.webkit.org/show_bug.cgi?id=156178
<rdar://problem/25535719>
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
Add a new EsprimaFormatter which pretty prints JavaScript source text
using the Esprima AST and Tokens. Currently we use CodeMirror's
tokenizer for pretty printing. By moving to Esprima for pretty
printing we get a few advantages: (1) can be used within a Worker
as there are no dependencies on DOM objects, (2) a full featured AST
gives more context to handling individual tokens. One disadvantage
is that Esprima requires valid input, so scripts with syntax errors
will not work.
EsprimaFormatter works by:
- Getting the Esprima AST and token stream.
- Walk all AST nodes:
- when entering an AST node, handle any tokens before the start of this node
- when leaving an AST node, handle any tokens that were inside the node
- Whenever we handle a new node or token check if we should preserve any newlines or comments that do not show up in the AST or token stream.
This allows us to handle any token based on its context. Currently the
formatter prefers to operate on tokens based on their context. So the
formatter has a case for each AST node type and handles the tokens
within that AST node. A small exception is made to special case the
handling of semicolons.
- Scripts/copy-user-interface-resources-dryrun.rb:
Add a generic check for -h, -help, --help to print usage.
- Tools/Formatting/EsprimaFormatterDebug.js: Added.
(EsprimaFormatterDebug):
(EsprimaFormatterDebug.prototype.get debugText):
(EsprimaFormatterDebug.prototype._pad):
(EsprimaFormatterDebug.prototype._debugHeader):
(EsprimaFormatterDebug.prototype._debugFooter):
(EsprimaFormatterDebug.prototype._debug):
(EsprimaFormatterDebug.prototype._debugComments):
(EsprimaFormatterDebug.prototype._debugAfterProgramNode):
(EsprimaFormatterDebug.prototype._before):
(EsprimaFormatterDebug.prototype._after):
- Tools/Formatting/codemirror-additions.css: Copied from Source/WebInspectorUI/Tools/PrettyPrinting/codemirror-additions.css.
- Tools/Formatting/index.html: Added.
- Tools/PrettyPrinting/codemirror-additions.css:
(pre): Deleted.
(a.download): Deleted.
- Tools/PrettyPrinting/index.html:
- Tools/PrettyPrinting/populate/jquery.min.js: Removed.
Add a Formatter tool that is similiar to the PrettyPrinting tool but
outputs debug information for Esprima tokens. This is useful for
iterating on tests, performance measurements, and general debugging
of token stream for any input.
- UserInterface/Controllers/FormatterSourceMap.js:
(WebInspector.FormatterSourceMap.fromSourceMapData):
(WebInspector.FormatterSourceMap.fromBuilder): Deleted.
Switch to constructing with a common data objects, instead of a Builder.
- UserInterface/Main.html:
- UserInterface/Test.html:
New files and moved files.
- UserInterface/Proxies/FormatterWorkerProxy.js: Added.
(WebInspector.FormatterWorkerProxy):
(WebInspector.FormatterWorkerProxy.singleton):
(WebInspector.FormatterWorkerProxy.canFormat):
(WebInspector.FormatterWorkerProxy.prototype.formatJavaScript):
(WebInspector.FormatterWorkerProxy.prototype.performAction):
(WebInspector.FormatterWorkerProxy.prototype._postMessage):
(WebInspector.FormatterWorkerProxy.prototype._handleMessage):
Main world object which provides a static formatJavaScript action.
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContentFromEditor):
- UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype.prettyPrint.prettyPrintAndUpdateEditor):
(WebInspector.TextEditor.prototype.prettyPrint):
- UserInterface/Workers/Formatter/FormatterContentBuilder.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/FormatterContentBuilder.js.
(FormatterContentBuilder):
Simplify construction of a Builder. The constructor objects were always
the same and often unnecessary. Also move out of the WebInspector
namespace signifying it can be used within a Worker.
(FormatterContentBuilder.prototype.get originalContent): Deleted.
(FormatterContentBuilder.prototype.get formattedContent): Deleted.
(FormatterContentBuilder.prototype.get sourceMapData): Added.
Simplify getting all the data needed for SourceMaps.
(FormatterContentBuilder.prototype.setOriginalLineEndings):
A client may wish to pre-fill line endings instead of filling
while building.
(FormatterContentBuilder.prototype.appendNewline):
Auto-clear trailing whitespace on the previous line.
- UserInterface/Workers/Formatter/ESTreeWalker.js: Added.
(ESTreeWalker):
(ESTreeWalker.prototype.walk):
(ESTreeWalker.prototype._walk):
(ESTreeWalker.prototype._walkArray):
(ESTreeWalker.prototype._walkChildren):
Walk AST nodes in an ESTree format. Due to the spec's incompleteness
this is essentially Esprima's ESTree.
- UserInterface/Workers/Formatter/EsprimaFormatter.js: Added.
(EsprimaFormatter):
(EsprimaFormatter.isWhitespace):
(EsprimaFormatter.prototype.get formattedText):
(EsprimaFormatter.prototype.get sourceMapData):
(EsprimaFormatter.prototype._insertNewlinesBeforeToken):
(EsprimaFormatter.prototype._insertComment):
(EsprimaFormatter.prototype._insertSameLineTrailingComments):
(EsprimaFormatter.prototype._insertCommentsAndNewlines):
(EsprimaFormatter.prototype._before):
(EsprimaFormatter.prototype._after):
(EsprimaFormatter.prototype._isInForHeader):
(EsprimaFormatter.prototype._isRangeWhitespace):
(EsprimaFormatter.prototype._handleTokenAtNode):
(EsprimaFormatter.prototype._exitNode):
(EsprimaFormatter.prototype._afterProgram):
Pretty print source text.
- UserInterface/Workers/Formatter/FormatterUtilities.js: Added.
(Array.prototype.lastValue):
(String.prototype.lineEndings):
(isECMAScriptWhitespace):
(isECMAScriptLineTerminator):
Helpers used by the classes in the Worker code.
- UserInterface/Workers/Formatter/FormatterWorker.js: Added.
(FormatterWorker):
(FormatterWorker.prototype.formatJavaScript):
(FormatterWorker.prototype._handleMessage):
Handle the formatJavaScript action.
LayoutTests:
Expand the JavaScript formatting tests.
- inspector/codemirror/resources/prettyprinting/javascript-tests/single-statement-blocks-expected.js:
Update output now that the builder removes extra trailing whitespace automatically.
- inspector/codemirror/resources/prettyprinting/utilities.js:
Update due to simplified construction.
- inspector/formatting/formatting-javascript-expected.txt: Added.
- inspector/formatting/formatting-javascript.html: Added.
- inspector/formatting/resources/javascript-tests/arrow-functions-expected.js: Added.
- inspector/formatting/resources/javascript-tests/arrow-functions.js: Added.
- inspector/formatting/resources/javascript-tests/classes-expected.js: Added.
- inspector/formatting/resources/javascript-tests/classes.js: Added.
- inspector/formatting/resources/javascript-tests/comments-and-preserve-newlines-expected.js: Added.
- inspector/formatting/resources/javascript-tests/comments-and-preserve-newlines.js: Added.
- inspector/formatting/resources/javascript-tests/comments-only-expected.js: Added.
- inspector/formatting/resources/javascript-tests/comments-only.js: Added.
- inspector/formatting/resources/javascript-tests/do-while-statement-expected.js: Added.
- inspector/formatting/resources/javascript-tests/do-while-statement.js: Added.
- inspector/formatting/resources/javascript-tests/for-statements-expected.js: Added.
- inspector/formatting/resources/javascript-tests/for-statements.js: Added.
- inspector/formatting/resources/javascript-tests/functions-expected.js: Added.
- inspector/formatting/resources/javascript-tests/functions.js: Added.
- inspector/formatting/resources/javascript-tests/generators-expected.js: Added.
- inspector/formatting/resources/javascript-tests/generators.js: Added.
- inspector/formatting/resources/javascript-tests/if-statement-expected.js: Added.
- inspector/formatting/resources/javascript-tests/if-statement.js: Added.
- inspector/formatting/resources/javascript-tests/label-break-continue-block-expected.js: Added.
- inspector/formatting/resources/javascript-tests/label-break-continue-block.js: Added.
- inspector/formatting/resources/javascript-tests/logic-expressions-expected.js: Added.
- inspector/formatting/resources/javascript-tests/logic-expressions.js: Added.
- inspector/formatting/resources/javascript-tests/new-expression-expected.js: Added.
- inspector/formatting/resources/javascript-tests/new-expression.js: Added.
- inspector/formatting/resources/javascript-tests/object-array-literal-expected.js: Added.
- inspector/formatting/resources/javascript-tests/object-array-literal.js: Added.
- inspector/formatting/resources/javascript-tests/return-statement-expected.js: Added.
- inspector/formatting/resources/javascript-tests/return-statement.js: Added.
- inspector/formatting/resources/javascript-tests/sample-jquery-expected.js: Added.
- inspector/formatting/resources/javascript-tests/sample-jquery.js: Added.
- inspector/formatting/resources/javascript-tests/sample-normal-utilities-expected.js: Added.
- inspector/formatting/resources/javascript-tests/sample-normal-utilities.js: Added.
- inspector/formatting/resources/javascript-tests/sample-webinspector-object-expected.js: Added.
- inspector/formatting/resources/javascript-tests/sample-webinspector-object.js: Added.
- inspector/formatting/resources/javascript-tests/switch-case-default-expected.js: Added.
- inspector/formatting/resources/javascript-tests/switch-case-default.js: Added.
- inspector/formatting/resources/javascript-tests/ternary-expressions-expected.js: Added.
- inspector/formatting/resources/javascript-tests/ternary-expressions.js: Added.
- inspector/formatting/resources/javascript-tests/throw-statement-expected.js: Added.
- inspector/formatting/resources/javascript-tests/throw-statement.js: Added.
- inspector/formatting/resources/javascript-tests/try-catch-finally-statements-expected.js: Added.
- inspector/formatting/resources/javascript-tests/try-catch-finally-statements.js: Added.
- inspector/formatting/resources/javascript-tests/unary-binary-expressions-expected.js: Added.
- inspector/formatting/resources/javascript-tests/unary-binary-expressions.js: Added.
- inspector/formatting/resources/javascript-tests/variable-declaration-expected.js: Added.
- inspector/formatting/resources/javascript-tests/variable-declaration.js: Added.
- inspector/formatting/resources/javascript-tests/while-statement-expected.js: Added.
- inspector/formatting/resources/javascript-tests/while-statement.js: Added.
- inspector/formatting/resources/javascript-tests/with-statement-expected.js: Added.
- inspector/formatting/resources/javascript-tests/with-statement.js: Added.
- inspector/formatting/resources/utilities.js: Added.
Expanded test coverage for the new formatter.
- 12:00 PM Changeset in webkit [199167] by
-
- 23 edits in trunk/Source
CookieJar should support adding synthetic cookies for developer tools
https://bugs.webkit.org/show_bug.cgi?id=156091
<rdar://problem/25581340>
Reviewed by Timothy Hatcher.
Source/WebCore:
This patch adds an API that can set an arbitrary cookie in cookie storage
in order to support developer tools and automated testing. It delegates storing
the cookie to a platform implementation.
No new tests because the code isn't used by any clients yet.
- loader/CookieJar.cpp:
(WebCore::addCookie): Added.
- loader/CookieJar.h:
- platform/Cookie.h:
Remove an outdated comment. This struct is used in many places.
- platform/CookiesStrategy.h: Add new method.
- platform/network/PlatformCookieJar.h: Add new method.
- platform/network/cf/CookieJarCFNet.cpp:
(WebCore::addCookie): Add a stub.
- platform/network/curl/CookieJarCurl.cpp:
(WebCore::addCookie): Add a stub.
- platform/network/mac/CookieJarMac.mm:
(WebCore::addCookie): Add an implementation that turns the WebCore::Cookie into
an NSHTTPCookie and converts it again to CFHTTPCookie if necessary.
- platform/network/soup/CookieJarSoup.cpp:
(WebCore::addCookie): Add a stub.
- platform/spi/cf/CFNetworkSPI.h:
Add -[NSHTTPCookie _CFHTTPCookie] SPI.
Source/WebKit/mac:
- WebCoreSupport/WebPlatformStrategies.h:
- WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::addCookie):
Add new method override.
Source/WebKit/win:
- WebCoreSupport/WebPlatformStrategies.h:
- WebCoreSupport/WebPlatformStrategies.cpp:
Add new method override.
Source/WebKit2:
Plumb the new method through the strategy and out to the network process.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::addCookie):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::addCookie):
- WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- 11:38 AM Changeset in webkit [199166] by
-
- 4 edits in trunk/Source/JavaScriptCore
Rationalize the makeSpaceForCCall stuff
https://bugs.webkit.org/show_bug.cgi?id=156352
Reviewed by Mark Lam.
I want to add more code to PolymorphicAccess that makes C calls, so that I can finally fix
https://bugs.webkit.org/show_bug.cgi?id=130914 (allow transition caches to handle indexing
headers).
When trying to understand what it takes to make a C call, I came across code that was making
room on the stack for spilled arguments. This logic was guarded with some complicated
condition. At first, I tried to just refactor the code so that the same ugly condition
wouldn't have to be copy-pasted everywhere that we made C calls. But then I started thinking
about the condition, and realized that it was probably wrong: if the outer PolymorphicAccess
harness decides to reuse a register for the scratchGPR then the top of the stack will store
the old value of scratchGPR, but the condition wouldn't necessarily trigger. So if the call
then overwrote something on the stack, we'd have a bad time.
Making room on the stack for a call is a cheap operation. It's orders of magnitude cheaper
than the rest of the call. Therefore, I think that it's best to just unconditionally make
room on the stack.
This patch makes us do just that. I also made the relevant helpers not inline, because I
think that we have too many inline methods in our assemblers. Now it's much easier to make
C calls from PolymorphicAccess because you just call the AssemblyHelper methods for making
space. There are no special conditions or anything like that.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::generate):
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitLoadStructure):
(JSC::AssemblyHelpers::makeSpaceOnStackForCCall):
(JSC::AssemblyHelpers::reclaimSpaceOnStackForCCall):
(JSC::emitRandomThunkImpl):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::makeSpaceOnStackForCCall): Deleted.
(JSC::AssemblyHelpers::reclaimSpaceOnStackForCCall): Deleted.
- 11:22 AM Changeset in webkit [199165] by
-
- 2 edits in trunk/LayoutTests
Marking storage/indexeddb/modern/autoincrement-abort-private.html as flaky on Macs
https://bugs.webkit.org/show_bug.cgi?id=156351
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 11:06 AM Changeset in webkit [199164] by
-
- 42 edits5 deletes in trunk
Unreviewed, rolling out r199128 and r199141.
https://bugs.webkit.org/show_bug.cgi?id=156348
Causes crashes on multiple webpages (Requested by keith_mi_ on
#webkit).
Reverted changesets:
"[ES6] Add support for Symbol.isConcatSpreadable."
https://bugs.webkit.org/show_bug.cgi?id=155351
http://trac.webkit.org/changeset/199128
"Unreviewed, uncomment accidentally commented line in test."
http://trac.webkit.org/changeset/199141
- 11:03 AM Changeset in webkit [199163] by
-
- 5 edits8 adds in trunk
CSP: Should only honor CSP policy delivered in meta tag that is a descendent of <head>
https://bugs.webkit.org/show_bug.cgi?id=59858
<rdar://problem/25603538>
Reviewed by Brent Fulgham.
Source/WebCore:
Ignore the Content Security Policy meta tag if it is not a descendent of <head> as per
section HTML meta Element of the Content Security Policy Level 2 spec., <https://w3c.github.io/webappsec-csp/2/>
(Editor's Draft, 29 August 2015).
Tests: http/tests/security/contentSecurityPolicy/meta-tag-ignored-if-not-in-head.html
http/tests/security/contentSecurityPolicy/meta-tag-ignored-if-not-in-head2.html
http/tests/security/contentSecurityPolicy/report-only-meta-tag-ignored-if-not-in-head.html
http/tests/security/contentSecurityPolicy/report-only-meta-tag-ignored-if-not-in-head2.html
- dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Modified to take a boolean argument whether the http-equiv
meta tag is a descendent of <head> and to parse the value of a Content Security Policy http-equiv
only if the http-equiv meta tag is a descendent of <head>.
- dom/Document.h: Add parameter isInDocument to processHttpEquiv(). Remove javadoc-style parameters
from processHttpEquiv() comment as we do not document parameters for non-API functions using such style.
Also write the comment for processHttpEquiv() using C++ style comments instead of a C-style comment.
- html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::process): Pass whether this element is a descendent of <head>. Additionally
update stale comment and move it closer to the code it refers to.
LayoutTests:
Add tests to ensure that we ignore the meta tags for Content-Security-Policy, Content-Security-Policy-Report-Only,
X-WebKit-CSP, and X-WebKit-CSP-Report-Only if it is not a descendent of <head>.
- http/tests/security/contentSecurityPolicy/meta-tag-ignored-if-not-in-head-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/meta-tag-ignored-if-not-in-head.html: Added.
- http/tests/security/contentSecurityPolicy/meta-tag-ignored-if-not-in-head2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/meta-tag-ignored-if-not-in-head2.html: Added.
- http/tests/security/contentSecurityPolicy/report-only-meta-tag-ignored-if-not-in-head-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/report-only-meta-tag-ignored-if-not-in-head.html: Added.
- http/tests/security/contentSecurityPolicy/report-only-meta-tag-ignored-if-not-in-head2-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/report-only-meta-tag-ignored-if-not-in-head2.html: Added.
- 10:59 AM Changeset in webkit [199162] by
-
- 3 edits in trunk/Source/JavaScriptCore
Rationalize the handling of PutById transitions a bit
https://bugs.webkit.org/show_bug.cgi?id=156330
Reviewed by Mark Lam.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::generate): Get rid of the specialized slow calls. We can just use the failAndIgnore jump target. We just need to make sure that we don't make observable effects until we're done with all of the fast path checks.
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::addAccessCase): MadeNoChanges indicates that we should keep trying to repatch. Currently PutById transitions might trigger the case that addAccessCase() sees null, if the transition involves an indexing header. Doing repatching in that case is probably not good. But, we should just fix this the right way eventually.
- 10:40 AM Changeset in webkit [199161] by
-
- 2 edits in trunk/Source/WebCore
[Win] Output WebCore.pdb to the same location as WebCore.lib
https://bugs.webkit.org/show_bug.cgi?id=156256
<rdar://problem/19416363>
Reviewed by Alex Christensen.
Add a rule to WebCore's CMake generator to tell Visual Studio to output
the PDB file for the WebCore.lib in the same location as the resulting
library, rather than in the build intermediary location).
- CMakeLists.txt:
- 10:31 AM Changeset in webkit [199160] by
-
- 2 edits in trunk/Source/JavaScriptCore
[Win] Fix for JSC stress test failures.
https://bugs.webkit.org/show_bug.cgi?id=156343
Reviewed by Filip Pizlo.
We need to make it clear to MSVC that the method loadPtr(ImplicitAddress address, RegisterID dest)
should be used, and not loadPtr(const void* address, RegisterID dest).
- jit/CCallHelpers.cpp:
(JSC::CCallHelpers::setupShadowChickenPacket):
- 10:12 AM Changeset in webkit [199159] by
-
- 9 edits in trunk
window.Crypto is missing
<rdar://problem/25584034>
https://bugs.webkit.org/show_bug.cgi?id=156307
Reviewed by Joseph Pecoraro.
Source/WebCore:
Expose the Crypto constructor on the window object.
- page/Crypto.idl:
LayoutTests:
- js/dom/global-constructors-attributes-expected.txt:
- platform/efl/js/dom/global-constructors-attributes-expected.txt:
- platform/gtk/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- platform/win/js/dom/global-constructors-attributes-expected.txt:
Update for the new Crypto constructor.
- 9:37 AM Changeset in webkit [199158] by
-
- 2 edits in trunk/Source/WebKit
[CMake][Win] Generating autoversion.h of WebKitGUID is triggered again and again
https://bugs.webkit.org/show_bug.cgi?id=156332
Patch by Fujii Hironori <Hironori.Fujii@jp.sony.com> on 2016-04-07
Reviewed by Brent Fulgham.
- PlatformWin.cmake:
Correct the output path of autoversion.h.
- 9:27 AM Changeset in webkit [199157] by
-
- 2 edits in trunk/Source/WebCore
[CMake][Win] WEBKIT_WRAP_SOURCELIST is not applied in WebCore project
https://bugs.webkit.org/show_bug.cgi?id=156336
Patch by Fujii Hironori <Hironori.Fujii@jp.sony.com> on 2016-04-07
Reviewed by Csaba Osztrogonác.
- CMakeLists.txt: Do WEBKIT_WRAP_SOURCELIST for WebCore_SOURCES.
- 7:55 AM Changeset in webkit [199156] by
-
- 3 edits2 adds in trunk
REGRESSION (197987): Ingredient lists on smittenkitchen.com are full justified instead of left justified.
https://bugs.webkit.org/show_bug.cgi?id=156326
<rdar://problem/25519393>
Reviewed by Antti Koivisto.
According to the spec (https://drafts.csswg.org/css-text-3/#text-align-property)
unless otherwise specified by text-align-last, the last line before
a forced break or the end of the block is start-aligned.
In this patch we check if a forced break is present and we apply text alignment accordingly.
Test: fast/css3-text/css3-text-justify/text-justify-last-line-simple-line-layout.html
Source/WebCore:
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::LineState::lastFragment): Make it optional so that we don't just check against a default fragment.
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::justifyRuns): Do not compute first run index on the current line twice.
(WebCore::SimpleLineLayout::textAlignForLine):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
LayoutTests:
- fast/css3-text/css3-text-justify/text-justify-last-line-simple-line-layout-expected.html: Added.
- fast/css3-text/css3-text-justify/text-justify-last-line-simple-line-layout.html: Added.
- 7:22 AM Changeset in webkit [199155] by
-
- 2 edits in trunk/Source/WebCore
FrameView::qualifiesAsVisuallyNonEmpty() returns false when loading a Google search results page before search results are loaded, even though the header is visible
https://bugs.webkit.org/show_bug.cgi?id=156339
<rdar://problem/24491381>
Reviewed by Andreas Kling.
Jeff's testing indicates lowering the document height threshold improves things visually during page loading.
- page/FrameView.cpp:
(WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
Lower document height threshold to from 200 to 48 pixels.
- 3:29 AM Changeset in webkit [199154] by
-
- 18 edits in trunk
Shadow DOM: Implement display: contents for slots
https://bugs.webkit.org/show_bug.cgi?id=149439
<rdar://problem/22731922>
Reviewed by Ryosuke Niwa.
Source/WebCore:
This patch adds support for value 'contents' of the 'display' property for <slot> elements only. The value is ignored
for other elements for now. With this display value the element does not generate a box for itself but its descendants
generate them normally.
Slots already have implicit "display: contents". With this patch the value comes from the user agent stylesheet and can
be overriden by the author.
- css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- css/CSSValueKeywords.in:
Suport parsing display: contents.
- css/StyleResolver.cpp:
(WebCore::equivalentBlockDisplay):
(WebCore::StyleResolver::adjustRenderStyle):
Disallow for non-slots for now.
- css/html.css:
(slot):
Add "slot { display: contents }" to the UA sheet.
- dom/Element.cpp:
(WebCore::Element::resolveStyle):
(WebCore::Element::hasDisplayContents):
(WebCore::Element::setHasDisplayContents):
Add a rare data bit for elements with display:contents (as we don't save the RenderStyle for them).
(WebCore::Element::rendererIsNeeded):
Don't need renderer for display:contents.
(WebCore::Element::createElementRenderer):
- dom/Element.h:
(WebCore::Element::isVisibleInViewportChanged):
- dom/ElementAndTextDescendantIterator.h:
(WebCore::ElementAndTextDescendantIterator::operator!):
(WebCore::ElementAndTextDescendantIterator::operator bool):
(WebCore::ElementAndTextDescendantIterator::ElementAndTextDescendantIterator):
(WebCore::ElementAndTextDescendantIterator::operator==):
(WebCore::ElementAndTextDescendantIterator::operator!=):
Support initializing ElementAndTextDescendantIterator with root==current so that m_current is not nulled.
This is needed for ComposedTreeIterator to be initialized correctly when root is a slot and the current node
is a slotted node. The case happens in RenderTreePosition::previousSiblingRenderer when slot display is overriden
to something else than 'contents'.
- dom/ElementRareData.h:
(WebCore::ElementRareData::hasDisplayContents):
(WebCore::ElementRareData::setHasDisplayContents):
(WebCore::ElementRareData::ElementRareData):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor):
- rendering/style/RenderStyleConstants.h:
- style/RenderTreePosition.cpp:
(WebCore::RenderTreePosition::nextSiblingRenderer):
Test for dynamic display:contents.
- style/RenderTreeUpdater.cpp:
(WebCore::findRenderingRoot):
(WebCore::RenderTreeUpdater::updateRenderTree):
(WebCore::RenderTreeUpdater::updateElementRenderer):
Test for dynamic display:contents.
- style/StyleTreeResolver.cpp:
(WebCore::Style::affectsRenderedSubtree):
No need for special case.
(WebCore::Style::TreeResolver::resolveComposedTree):
Test for dynamic display:contents.
LayoutTests:
- platform/mac/TestExpectations:
Enable fast/shadow-dom/css-scoping-shadow-slot-display-override.html, the test for overriding slot display value.
- 3:23 AM Changeset in webkit [199153] by
-
- 3 edits2 adds in trunk
[css-grid] Content box incorrectly used as non-auto min-height
https://bugs.webkit.org/show_bug.cgi?id=155946
Reviewed by Antti Koivisto.
Source/WebCore:
When computing the minimum height value of grid items with
non-auto min-height we used to return the size of the content
box meaning that borders and paddings were incorrectly
ignored.
Note that we're also ignoring margins, but as that is a
problem also for widths it'll be fixed in a follow up patch.
Test: fast/css-grid-layout/min-height-border-box.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::minSizeForChild):
LayoutTests:
- fast/css-grid-layout/min-height-border-box-expected.txt: Added.
- fast/css-grid-layout/min-height-border-box.html: Added.
- 3:21 AM Changeset in webkit [199152] by
-
- 18 edits in trunk
Reverting previous due to bad LayoutTest ChangeLog.
LayoutTests:
- platform/mac/TestExpectations:
- 3:11 AM Changeset in webkit [199151] by
-
- 18 edits in trunk
Source/WebCore:
Shadow DOM: Implement display: contents for slots
https://bugs.webkit.org/show_bug.cgi?id=149439
<rdar://problem/22731922>
Reviewed by Ryosuke Niwa.
This patch adds support for value 'contents' of the 'display' property for <slot> elements only. The value is ignored
for other elements for now. With this display value the element does not generate a box for itself but its descendants
generate them normally.
Slots already have implicit "display: contents". With this patch the value comes from the user agent stylesheet and can
be overriden by the author.
- css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- css/CSSValueKeywords.in:
Suport parsing display: contents.
- css/StyleResolver.cpp:
(WebCore::equivalentBlockDisplay):
(WebCore::StyleResolver::adjustRenderStyle):
Disallow for non-slots for now.
- css/html.css:
(slot):
Add "slot { display: contents }" to the UA sheet.
- dom/Element.cpp:
(WebCore::Element::resolveStyle):
(WebCore::Element::hasDisplayContents):
(WebCore::Element::setHasDisplayContents):
Add a rare data bit for elements with display:contents (as we don't save the RenderStyle for them).
(WebCore::Element::rendererIsNeeded):
Don't need renderer for display:contents.
(WebCore::Element::createElementRenderer):
- dom/Element.h:
(WebCore::Element::isVisibleInViewportChanged):
- dom/ElementAndTextDescendantIterator.h:
(WebCore::ElementAndTextDescendantIterator::operator!):
(WebCore::ElementAndTextDescendantIterator::operator bool):
(WebCore::ElementAndTextDescendantIterator::ElementAndTextDescendantIterator):
(WebCore::ElementAndTextDescendantIterator::operator==):
(WebCore::ElementAndTextDescendantIterator::operator!=):
Support initializing ElementAndTextDescendantIterator with root==current so that m_current is not nulled.
This is needed for ComposedTreeIterator to be initialized correctly when root is a slot and the current node
is a slotted node. The case happens in RenderTreePosition::previousSiblingRenderer when slot display is overriden
to something else than 'contents'.
- dom/ElementRareData.h:
(WebCore::ElementRareData::hasDisplayContents):
(WebCore::ElementRareData::setHasDisplayContents):
(WebCore::ElementRareData::ElementRareData):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor):
- rendering/style/RenderStyleConstants.h:
- style/RenderTreePosition.cpp:
(WebCore::RenderTreePosition::nextSiblingRenderer):
Test for dynamic display:contents.
- style/RenderTreeUpdater.cpp:
(WebCore::findRenderingRoot):
(WebCore::RenderTreeUpdater::updateRenderTree):
(WebCore::RenderTreeUpdater::updateElementRenderer):
Test for dynamic display:contents.
- style/StyleTreeResolver.cpp:
(WebCore::Style::affectsRenderedSubtree):
No need for special case.
(WebCore::Style::TreeResolver::resolveComposedTree):
Test for dynamic display:contents.
LayoutTests:
REGRESSION (r188591): thingiverse.com direct messaging UI is not rendered properly
https://bugs.webkit.org/show_bug.cgi?id=156241
<rdar://problem/25262213>
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2016-04-06
Reviewed by Simon Fraser.
- fast/text/zero-sized-fonts-expected.txt: Added.
- fast/text/zero-sized-fonts.html: Added.
- 12:45 AM MathML/Early_2016_Refactoring edited by
- (diff)