Timeline
May 23, 2016:
- 11:29 PM Changeset in webkit [201323] by
-
- 1 edit4 adds in trunk/LayoutTests
Add a few initiator tests to resource timing.
https://bugs.webkit.org/show_bug.cgi?id=157986
Reviewed by Darin Adler.
Adds tests that make sure that when a resource is requested multiple times by different
elements, its initiator type remain the first one that triggered the fetch.
- http/tests/performance/performance-resource-timing-initiator-css-expected.txt: Added.
- http/tests/performance/performance-resource-timing-initiator-css.html: Added.
- http/tests/performance/performance-resource-timing-initiator-no-override-expected.txt: Added.
- http/tests/performance/performance-resource-timing-initiator-no-override.html: Added.
- 11:24 PM Changeset in webkit [201322] by
-
- 30 edits1 add in trunk/Source
Assertion failure for Reflect.get with Proxy and primitive value as explicit receiver
https://bugs.webkit.org/show_bug.cgi?id=157080
Reviewed by Saam Barati.
Source/JavaScriptCore:
In custom accessor getter, the argument "thisValue" can be altered by using
Reflect.get
.
In this patch, we add a new parameter, "slotBase". This represents the base value offering
this custom getter. And use it in ProxyObject's performGet custom accessor getter.
- API/JSCallbackObject.h:
- API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::generateImpl):
In PolymorphicAccess case, the thisValue and the slotBase are always cells.
This is because IC is enabled in the case that the base value is a cell.
And slotBase is always on the prototype chain from this base value.
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
- jsc.cpp:
(WTF::CustomGetter::customGetter):
(WTF::RuntimeArray::lengthGetter):
- runtime/CustomGetterSetter.cpp:
(JSC::callCustomSetter):
- runtime/JSBoundSlotBaseFunction.cpp:
(JSC::boundSlotBaseFunctionCall):
- runtime/JSFunction.cpp:
(JSC::JSFunction::argumentsGetter):
(JSC::JSFunction::callerGetter):
- runtime/JSFunction.h:
- runtime/JSModuleNamespaceObject.cpp:
(JSC::callbackGetter):
- runtime/PropertySlot.cpp:
(JSC::PropertySlot::customGetter):
- runtime/PropertySlot.h:
- runtime/ProxyObject.cpp:
(JSC::performProxyGet):
- runtime/RegExpConstructor.cpp:
(JSC::regExpConstructorDollar):
(JSC::regExpConstructorInput):
(JSC::regExpConstructorMultiline):
(JSC::regExpConstructorLastMatch):
(JSC::regExpConstructorLastParen):
(JSC::regExpConstructorLeftContext):
(JSC::regExpConstructorRightContext):
(JSC::regExpConstructorDollar1): Deleted.
(JSC::regExpConstructorDollar2): Deleted.
(JSC::regExpConstructorDollar3): Deleted.
(JSC::regExpConstructorDollar4): Deleted.
(JSC::regExpConstructorDollar5): Deleted.
(JSC::regExpConstructorDollar6): Deleted.
(JSC::regExpConstructorDollar7): Deleted.
(JSC::regExpConstructorDollar8): Deleted.
(JSC::regExpConstructorDollar9): Deleted.
- tests/stress/proxy-get-with-primitive-receiver.js: Added.
(shouldBe):
Source/WebCore:
- bindings/js/JSDOMBinding.h:
(WebCore::nonCachingStaticFunctionGetter):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowWebKit):
- bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementPropertyGetter):
- bindings/js/JSPluginElementFunctions.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
- bridge/runtime_array.cpp:
(JSC::RuntimeArray::lengthGetter):
- bridge/runtime_array.h:
- bridge/runtime_method.cpp:
(JSC::RuntimeMethod::lengthGetter):
- bridge/runtime_method.h:
- bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):
- bridge/runtime_object.h:
Source/WebKit2:
- WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):
- WebProcess/Plugins/Netscape/JSNPObject.h:
- 11:15 PM Changeset in webkit [201321] by
-
- 3 edits in branches/safari-602.1.32-branch/Source/WebCore
Merge r200965. rdar://problem/26237934
- 10:58 PM Changeset in webkit [201320] by
-
- 5 edits in branches/safari-602.1.32.5-branch/Source
Versioning.
- 10:57 PM Changeset in webkit [201319] by
-
- 5 edits in branches/safari-602.1.32-branch/Source
Versioning.
- 10:34 PM Changeset in webkit [201318] by
-
- 23 edits in trunk/Source/WebCore
Modernize CSS code
https://bugs.webkit.org/show_bug.cgi?id=157875
Reviewed by Chris Dumez.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateParametersCheck):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::construct):
(WebCore::setJSTestObjPutForwardsNullableAttribute):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
- css/CSSBasicShapes.cpp:
(WebCore::serializePositionOffset):
(WebCore::buildSerializablePositionOffset):
(WebCore::CSSBasicShapeCircle::cssText):
(WebCore::CSSBasicShapeEllipse::cssText):
- css/CSSCalculationValue.cpp:
(WebCore::determineCategory):
(WebCore::CSSCalcExpressionNodeParser::parseValue):
- css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::media):
- css/CSSMediaRule.h:
- css/CSSOMUtils.h:
- css/CSSParser.cpp:
(WebCore::CSSParser::createImportRule):
(WebCore::CSSParser::createMediaRule):
- css/CSSReflectValue.h:
- css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::setDisabled):
(WebCore::CSSStyleSheet::setMediaQueries):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):
(WebCore::CSSStyleSheet::isLoading):
(WebCore::CSSStyleSheet::media):
(WebCore::CSSStyleSheet::parentStyleSheet):
(WebCore::CSSStyleSheet::ownerDocument):
(WebCore::CSSStyleSheet::clearChildRuleCSSOMWrappers):
(WebCore::CSSStyleSheet::RuleMutationScope::RuleMutationScope):
- css/CSSStyleSheet.h:
- css/PropertySetCSSStyleDeclaration.cpp:
- css/StyleRule.cpp:
(WebCore::StyleRuleBase::createCSSOMWrapper):
(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleGroup::wrapperRemoveRule):
(WebCore::StyleRuleMedia::StyleRuleMedia):
- css/StyleRule.h:
(WebCore::StyleRuleBase::deref):
(WebCore::StyleRuleBase::StyleRuleBase):
(WebCore::StyleRuleMedia::create):
(WebCore::StyleRuleMedia::mediaQueries):
(WebCore::StyleRuleMedia::copy):
(isType):
- css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::create):
(WebCore::StyleRuleImport::StyleRuleImport):
- css/StyleRuleImport.h:
- css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::isCacheable):
(WebCore::StyleSheetContents::parserAppendRule):
(WebCore::StyleSheetContents::ruleAt):
(WebCore::StyleSheetContents::parserSetEncodingFromCharsetRule):
(WebCore::StyleSheetContents::wrapperInsertRule):
- css/StyleSheetContents.h:
(WebCore::StyleSheetContents::hasSyntacticallyValidCSSHeader):
(WebCore::StyleSheetContents::parserSetUsesRemUnits):
(WebCore::StyleSheetContents::parserSetUsesStyleBasedEditability):
(WebCore::StyleSheetContents::copy):
- dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::createSheet):
- inspector/InspectorStyleSheet.cpp:
- 10:19 PM Changeset in webkit [201317] by
-
- 1 copy in branches/safari-602.1.32.5-branch
New Branch.
- 8:41 PM Changeset in webkit [201316] by
-
- 2 edits in trunk/LayoutTests
Skip fast/table/neighboring-cells-when-collapsed-border-changes on WK1 for now.
Unreviewed.
- platform/mac-wk1/TestExpectations:
- 8:27 PM Changeset in webkit [201315] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION (196374): deleting a global property is expensive
https://bugs.webkit.org/show_bug.cgi?id=158005
Reviewed by Chris Dumez.
- runtime/JSObject.cpp:
(JSC::JSObject::deleteProperty): We only need to reify static properties
if the name being deleted matches a static property. Otherwise, we can
be sure that delete won't observe any static properties.
- 7:10 PM Changeset in webkit [201314] by
-
- 2 edits in trunk/Source/WTF
Speed up move of vectors of POD types that have an inline buffer
https://bugs.webkit.org/show_bug.cgi?id=158003
Reviewed by Benjamin Poulain.
When moving a vector of POD types that have an inline buffer, we would
call std::swap() on the inline buffers. This unnecessarily slow because:
- It does not consider the vector size, and therefore may end up doing more work than necessary when the inline buffer is not full.
- In the "move" case, the destination buffer is completely empty so we don't really want a swap. We merely want the move the content of the source's inline buffer into the destination's one.
Instead of calling std::swap(), we now call swapInlineBuffers() which
was already used for non-POD types. swapInlineBuffers() will do just
what we want in the "move" case because swapBound is going to be 0.
As a result, we will only move the content of the source buffer into
the destination one. Also swapInlineBuffers() is aware of the source
vector's size so it will only move what's strictly needed.
This seems to be a 2% progression on Dromaeo DOM attributes test.
- wtf/Vector.h:
(WTF::VectorBuffer::swapInlineBuffer):
- 6:54 PM Changeset in webkit [201313] by
-
- 2 edits in trunk/Source/ThirdParty
woff2_dec.cc triggers -Wsign-compare, -Wunused-but-set-variable
https://bugs.webkit.org/show_bug.cgi?id=157732
Reviewed by Darin Adler.
- woff2/CMakeLists.txt:
- 6:53 PM Changeset in webkit [201312] by
-
- 3 edits2 adds in trunk
Changing border color and size simultaneously fails to repaint.
https://bugs.webkit.org/show_bug.cgi?id=157967
<rdar://problem/26423918>
Reviewed by David Hyatt.
This patch ensures that the neighboring tables cells are dirtied when collapsed border change requires layout.
Source/WebCore:
Test: fast/table/neighboring-cells-when-collapsed-border-changes.html
- rendering/RenderTable.cpp:
(WebCore::markCellDirtyWhenCollapsedBorderChanges):
(WebCore::RenderTable::invalidateCollapsedBorders):
LayoutTests:
- fast/table/neighboring-cells-when-collapsed-border-changes-expected.html: Added.
- fast/table/neighboring-cells-when-collapsed-border-changes.html: Added.
- 6:50 PM Changeset in webkit [201311] by
-
- 2 edits in trunk/Source/WebCore
Avoid unnecessary call to Document::completeURL() in HTMLLinkElement::process()
https://bugs.webkit.org/show_bug.cgi?id=157993
Reviewed by Ryosuke Niwa.
Avoid unnecessary call to Document::completeURL() in HTMLLinkElement::process().
The call to getNonEmptyURLAttribute() already calls Document::completeURL()
internally so we can just reuse the returned URL.
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
- 6:03 PM Changeset in webkit [201310] by
-
- 3 edits6 adds in trunk
Null popstate event fired when navigating back to a cached page with a stateless history entry
https://bugs.webkit.org/show_bug.cgi?id=157963
<rdar://problem/23414840>
Source/WebCore:
Popstate events are not fired when WebKit navigates back to a history entry that doesn't
have a state object if the entry's page is not cached. However, we fire popstate events
unconditionally if the page is cached. This results in inconsistent behavior between
initial navigations and cached navigations. Align the behavior of initial and cached
navigations so that we produce consistent events.
Reviewed by Brent Fulgham.
Tests: fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html
fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry.html
- history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
LayoutTests:
Reviewed by Brent Fulgham.
- fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-expected.txt: Added.
- fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache-expected.txt: Added.
- fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: Added.
- fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry.html: Added.
- fast/loader/stateobjects/resources/no-popstate-when-back-to-stateless-entry-1.html: Added.
- fast/loader/stateobjects/resources/no-popstate-when-back-to-stateless-entry-2.html: Added.
- 5:50 PM Changeset in webkit [201309] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Build fix after r201307.
- public/v3/pages/chart-pane.js:
(ChartPane.prototype.serializeState):
- 5:35 PM Changeset in webkit [201308] by
-
- 2 edits in trunk/LayoutTests
Marking inspector/console/console-time.html as a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=158006
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 5:24 PM Changeset in webkit [201307] by
-
- 3 edits in trunk/Websites/perf.webkit.org
Some applications truncates the last closing parenthesis in perf dashboard URL
https://bugs.webkit.org/show_bug.cgi?id=157976
Reviewed by Tim Horton.
Unfortunately, different applications use different heuristics to determine the end of each URL. Two trailing
parentheses, for example, is just fine in Radar as well as Apple Mail if the URL is short enough. Using other
characters such as ] and } wouldn't work either because they would be %-escaped. At that point, we might as well
as %-escape everything.
Work around the bug by parsing the URL as if it had one extra ')' if the parsing had failed. Also shorten the charts
page's URL by avoid emitting "-null" for each pane when the pane doesn't have a currently selected point or selection.
This improves the odds of the entire URL being recognized by various applications.
We could, in theory, implement some sort of a URL shorter but that can wait until when we support real user accounts.
- public/v3/pages/chart-pane.js:
(ChartPane.prototype.serializeState): Don't serialize the selection or the current point if nothing is selected.
- public/v3/pages/page-router.js:
(PageRouter.prototype._deserializeHashQueryValue): Try parsing the value again with one extra ] at the end if
the JSON parsing had failed.
- 5:22 PM Changeset in webkit [201306] by
-
- 2 edits in trunk/LayoutTests
Marking mathml/wbr-in-mroot-crash.html as a timeout on mac release
https://bugs.webkit.org/show_bug.cgi?id=157990
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 5:17 PM Changeset in webkit [201305] by
-
- 49 edits in trunk/Source
Generate bindings code for EventTarget.addEventListener() / removeEventListener()
https://bugs.webkit.org/show_bug.cgi?id=157882
Reviewed by Darin Adler.
Generate bindings code for EventTarget.addEventListener() / removeEventListener()
instead of hardcoding them in the bindings generator.
Source/WebCore:
No new tests, rebaselined existing test, no web-exposed behavior change.
- Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::addEventListener):
(WebCore::AudioScheduledSourceNode::removeEventListener):
- Modules/webaudio/AudioScheduledSourceNode.h:
- Modules/webaudio/ScriptProcessorNode.cpp:
(WebCore::ScriptProcessorNode::addEventListener):
(WebCore::ScriptProcessorNode::removeEventListener):
- Modules/webaudio/ScriptProcessorNode.h:
- bindings/gobject/GObjectEventListener.cpp:
(WebCore::GObjectEventListener::operator==):
- bindings/gobject/GObjectEventListener.h:
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::operator==):
(WebCore::eventHandlerAttribute): Deleted.
- bindings/js/JSEventListener.h:
(WebCore::JSEventListener::create):
(WebCore::JSEventListener::cast): Deleted.
(WebCore::JSEventListener::jsFunction): Deleted.
- bindings/objc/ObjCEventListener.h:
- bindings/objc/ObjCEventListener.mm:
(WebCore::ObjCEventListener::operator==):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(JSValueToNative):
(GetParentClassName): Deleted.
(GetCallbackClassName): Deleted.
(GetJSCallbackDataType): Deleted.
- dom/EventListener.h:
- dom/EventListenerMap.cpp:
(WebCore::addListenerToVector):
(WebCore::EventListenerMap::add):
(WebCore::removeListenerFromVector):
(WebCore::EventListenerMap::remove):
(WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventListenerMap.h:
- dom/EventTarget.cpp:
(WebCore::EventTarget::addEventListener):
(WebCore::EventTarget::addEventListenerForBindings):
(WebCore::EventTarget::removeEventListenerForBindings):
(WebCore::EventTarget::removeEventListener):
(WebCore::EventTarget::setAttributeEventListener):
(WebCore::EventTarget::clearAttributeEventListener):
- dom/EventTarget.h:
- dom/EventTarget.idl:
- dom/MessagePort.cpp:
(WebCore::MessagePort::addEventListener):
- dom/MessagePort.h:
- dom/Node.cpp:
(WebCore::tryAddEventListener):
(WebCore::Node::addEventListener):
(WebCore::tryRemoveEventListener):
(WebCore::Node::removeEventListener):
- dom/Node.h:
- dom/RegisteredEventListener.h:
(WebCore::RegisteredEventListener::RegisteredEventListener):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::addEventListener):
(WebCore::HTMLMediaElement::removeEventListener):
- html/HTMLMediaElement.h:
- html/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure):
(WebCore::ImageEventListener::operator==):
- html/shadow/MediaControlsApple.cpp:
(WebCore::MediaControlsApple::showClosedCaptionTrackList):
(WebCore::MediaControlsApple::hideClosedCaptionTrackList):
(WebCore::MediaControlsAppleEventListener::operator==):
- html/shadow/MediaControlsApple.h:
- inspector/InspectorIndexedDBAgent.cpp:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
- page/DOMWindow.h:
- platform/cocoa/WebPlaybackSessionModelMediaElement.h:
- platform/cocoa/WebVideoFullscreenModelVideoElement.h:
- svg/SVGElement.cpp:
(WebCore::SVGElement::addEventListener):
(WebCore::SVGElement::removeEventListener):
- svg/SVGElement.h:
- svg/SVGTRefElement.cpp:
(WebCore::SVGTRefTargetEventListener::attach):
(WebCore::SVGTRefTargetEventListener::detach):
(WebCore::SVGTRefTargetEventListener::operator==):
- svg/animation/SVGSMILElement.cpp:
(WebCore::ConditionEventListener::operator==):
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):
Source/WebKit/win:
- DOMEventsClasses.cpp:
(WebEventListener::operator==):
- DOMEventsClasses.h:
Source/WebKit2:
- WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
- WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
(WebKit::PDFPluginAnnotation::attach):
(WebKit::PDFPluginAnnotation::~PDFPluginAnnotation):
- WebProcess/Plugins/PDF/PDFPluginPasswordField.mm:
(WebKit::PDFPluginPasswordField::~PDFPluginPasswordField):
(WebKit::PDFPluginPasswordField::createAnnotationElement):
- WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation):
(WebKit::PDFPluginTextAnnotation::createAnnotationElement):
- 4:33 PM Changeset in webkit [201304] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Split console navigation bar doesn't wrap as expected
https://bugs.webkit.org/show_bug.cgi?id=157950
<rdar://problem/26395573>
Reviewed by Timothy Hatcher.
- UserInterface/Views/Main.css:
(#split-content-browser > .navigation-bar .item):
Fix the split console and don't touch any other navigation bars.
- 4:19 PM Changeset in webkit [201303] by
-
- 2 edits in trunk/Source/WebCore
Fix undefined behavior introduced in r201290.
https://bugs.webkit.org/show_bug.cgi?id=157961
Reviewed by Alex Christensen.
The evaluation order of function arguments is undefined so it is unsafe to
copyRef() and WTFMove() the same parameter in a function call.
- css/CSSBasicShapes.h:
- 4:14 PM Changeset in webkit [201302] by
-
- 4 edits in trunk/Source/WebCore
Speculative fix for:
Modern IDB: Some blob tests ASSERT sometimes on the bots.
https://bugs.webkit.org/show_bug.cgi?id=157525
Reviewed by Alex Christensen.
No new tests (Should fix existing flakiness, not reproducibly testable).
For all of the lambdas involved in this operation, explicitly WTFMove all of the arguments around.
Critically, this includes the RefPtr<TransactionOperation> protector as well as the
std::function<void ()> completionHandler(s).
By doing so, this removes the possibility of a race between the background thread and the main thread
tearing down the TransactionOperation, guaranteeing that it is torn down on its original thread.
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::putOrAddOnServer):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDB):
- platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::writeBlobsToTemporaryFiles):
- 3:46 PM Changeset in webkit [201301] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
The baseline JIT crashes when compiling "(1,1)/1"
https://bugs.webkit.org/show_bug.cgi?id=157933
Reviewed by Benjamin Poulain.
op_div in the baseline JIT needed to better handle when both the lhs
and rhs are constants. It needs to make sure to load either the lhs or
the rhs into a register since the div generator can't handle both
the lhs and rhs being constants.
- jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_div):
- tests/stress/jit-gracefully-handle-double-constants-in-math-operators.js: Added.
(assert):
(test):
- 3:37 PM Changeset in webkit [201300] by
-
- 3 edits2 deletes in trunk
Unreviewed, rolling out r201296.
https://bugs.webkit.org/show_bug.cgi?id=158002
The LayoutTest added with this change is failing on mac-wk1
(Requested by ryanhaddad on #webkit).
Reverted changeset:
"Changing border color and size simultaneously fails to
repaint."
https://bugs.webkit.org/show_bug.cgi?id=157967
http://trac.webkit.org/changeset/201296
Patch by Commit Queue <commit-queue@webkit.org> on 2016-05-23
- 3:07 PM Changeset in webkit [201299] by
-
- 2 edits in trunk/Source/WebCore
Missing/Incomplete timestamp for inline Audio player in ePub book
https://bugs.webkit.org/show_bug.cgi?id=157998
<rdar://problem/25858437>
Reviewed by Jon Lee and Tim Horton.
On iOS it is rare to apply a text-zoom (Safari does not provide
UI for it). However, iBooks uses text-zoom to increase the font
size. This causes the time displays in the media controls to
overflow their containers and be clipped.
The solution is to simply reset the text zoom for the media controls,
which means the time displays will always be a constant size.
- Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-time-remaining-display):
- 3:06 PM Changeset in webkit [201298] by
-
- 12 edits in trunk/Source/WebKit2
Need SPI for clients to require a user action to get an editing controls
manager
https://bugs.webkit.org/show_bug.cgi?id=157992
-and corresponding-
rdar://problem/26379927
Reviewed by Tim Horton.
New SPI _setRequiresUserActionForEditingControlsManager. The SPI defaults to
False, which means that by default there is no user action requirement to
have an editing controls manager. The SPI is on WKViewPrivate and
WKWebViewConfigurationPrivate, and it’s implemented in WebViewImpl.
- UIProcess/API/Cocoa/WKViewPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _requiresUserActionForEditingControlsManager]):
(-[WKWebViewConfiguration _setRequiresUserActionForEditingControlsManager:]):
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/API/mac/WKView.mm:
(-[WKView _requiresUserActionForEditingControlsManager]):
(-[WKView _setRequiresUserActionForEditingControlsManager:]):
- UIProcess/Cocoa/WebViewImpl.h:
(WebKit::WebViewImpl::setRequiresUserActionForEditingControlsManager):
(WebKit::WebViewImpl::requiresUserActionForEditingControlsManager):
New message allows the WebProcess to tell the UI process whether the current
web page has had any selection changes based on user interaction.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setHasHadSelectionChangesFromUserInteraction):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::hasHadSelectionChangesFromUserInteraction):
- UIProcess/WebPageProxy.messages.in:
m_userIsInteracting m_hasFocusedDueToUserInteraction used to be iOS only, but
now we want to track them for Mac as well.
- WebProcess/WebPage/WebPage.cpp:
Handling mouse events and key events will toggle m_userIsInteracting.
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::keyEvent):
m_userIsInteracting is no longer iOS-only.
(WebKit::WebPage::setInitialFocus):
Send a message to the UI process on page transition to re-set
hasHadSelectionChangesFromUserInteraction to false.
(WebKit::WebPage::didStartPageTransition):
Send a message to the UI process if this is the first selection change to
happen as a result of a user action.
(WebKit::WebPage::didChangeSelection):
- WebProcess/WebPage/WebPage.h:
- 2:55 PM Changeset in webkit [201297] by
-
- 2 edits in trunk/LayoutTests
Marking inspector/unit-tests/heap-snapshot-collection-event.html as a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=157999
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 2:04 PM Changeset in webkit [201296] by
-
- 3 edits2 adds in trunk
Changing border color and size simultaneously fails to repaint.
https://bugs.webkit.org/show_bug.cgi?id=157967
<rdar://problem/26423918>
Reviewed by David Hyatt.
This patch ensures that the neighboring tables cells are dirtied when collapsed border change requires layout.
Source/WebCore:
Test: fast/table/neighboring-cells-when-collapsed-border-changes.html
- rendering/RenderTable.cpp:
(WebCore::markCellDirtyWhenCollapsedBorderChanges):
(WebCore::RenderTable::invalidateCollapsedBorders):
LayoutTests:
- fast/table/neighboring-cells-when-collapsed-border-changes-expected.html: Added.
- fast/table/neighboring-cells-when-collapsed-border-changes.html: Added.
- 1:54 PM Changeset in webkit [201295] by
-
- 4 edits in trunk/Source/WebKit2
Add logging for NSURLSession calls
https://bugs.webkit.org/show_bug.cgi?id=157996
Reviewed by Brady Eidson.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTask::NetworkDataTask):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(toNSURLSessionResponseDisposition):
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:willCacheResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
- Platform/Logging.h:
- 1:44 PM Changeset in webkit [201294] by
-
- 8 edits4 adds in trunk
AX: iOS: when bringing focus to a text field we may zoom the page even if author wanted max scale = 1
https://bugs.webkit.org/show_bug.cgi?id=157771
Reviewed by Tim Horton.
Source/WebCore:
If the author requests scaling not to be enabled, we should not scale in when keyboard focus moves to a text field.
Scaling should only happen when the user performs a gesture to do so in this case.
Tests: fast/viewport/ios/user-scalable-does-not-scale-for-keyboard-focus-with-author-defined-scale.html
fast/viewport/ios/user-scalable-scales-for-keyboard-focus-with-no-author-defined-scale.html
- page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::maximumScale):
Source/WebKit2:
- Shared/AssistedNodeInformation.cpp:
(WebKit::AssistedNodeInformation::encode):
(WebKit::AssistedNodeInformation::decode):
- Shared/AssistedNodeInformation.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _displayFormNodeInputView]):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getAssistedNodeInformation):
- 1:27 PM Changeset in webkit [201293] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
String template don't handle let initialization properly inside eval
https://bugs.webkit.org/show_bug.cgi?id=157991
Reviewed by Oliver Hunt.
The fix is to make sure we emit TDZ checks.
- bytecompiler/NodesCodegen.cpp:
(JSC::TaggedTemplateNode::emitBytecode):
- tests/stress/tagged-template-tdz.js: Added.
(shouldThrowTDZ):
(test):
- 1:25 PM Changeset in webkit [201292] by
-
- 6 edits2 deletes in trunk
Unreviewed, rolling out r200414.
This change appears to have broken the 'write a reply' field
on Nextdoor.com
Reverted changeset:
"Clicks inside button elements are sometimes discarded when
the mouse moves"
https://bugs.webkit.org/show_bug.cgi?id=39620
http://trac.webkit.org/changeset/200414
- 1:14 PM Changeset in webkit [201291] by
-
- 2 edits in trunk/Websites/webkit.org
Add syntax highglighting for ES6 "let", "const" and "of" keywords.
https://bugs.webkit.org/show_bug.cgi?id=157994
Reviewed by Geoffrey Garen.
- wp-content/plugins/hyperlight/hyperlight/languages/javascript.php:
- 10:40 AM Changeset in webkit [201290] by
-
- 54 edits in trunk
Clean up / Modernize the CSS Parser
https://bugs.webkit.org/show_bug.cgi?id=157961
Reviewed by Alex Christensen.
Clean up / Modernize the CSS Parser.
- WebCore.xcodeproj/project.pbxproj:
- css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape):
(WebCore::convertToLength):
(WebCore::convertToLengthSize):
(WebCore::basicShapeForValue):
- css/BasicShapeFunctions.h:
- css/CSSBasicShapes.cpp:
(WebCore::CSSBasicShapePolygon::cssText):
(WebCore::CSSBasicShapePolygon::equals):
- css/CSSBasicShapes.h:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForReflection):
(WebCore::ComputedStyleExtractor::valueForShadow):
(WebCore::specifiedValueForGridTrackSize):
- css/CSSCrossfadeValue.cpp:
(WebCore::subimageKnownToBeOpaque):
(WebCore::CSSCrossfadeValue::fixedSize):
(WebCore::CSSCrossfadeValue::isPending):
(WebCore::CSSCrossfadeValue::knownToBeOpaque):
(WebCore::CSSCrossfadeValue::loadSubimages):
(WebCore::CSSCrossfadeValue::image):
(WebCore::CSSCrossfadeValue::blend):
(WebCore::CSSCrossfadeValue::equals):
(WebCore::CSSCrossfadeValue::equalInputImages):
- css/CSSCrossfadeValue.h:
(WebCore::CSSCrossfadeValue::create):
(WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
- css/CSSCustomPropertyValue.h:
(WebCore::CSSCustomPropertyValue::create):
(WebCore::CSSCustomPropertyValue::CSSCustomPropertyValue):
- css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::fixedSize):
(WebCore::CSSFilterImageValue::isPending):
(WebCore::CSSFilterImageValue::loadSubimages):
(WebCore::CSSFilterImageValue::image):
(WebCore::CSSFilterImageValue::createFilterOperations):
(WebCore::CSSFilterImageValue::equals):
(WebCore::CSSFilterImageValue::equalInputImages):
- css/CSSFilterImageValue.h:
(WebCore::CSSFilterImageValue::CSSFilterImageValue):
- css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::matchingFaces):
- css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::CSSFunctionValue):
- css/CSSFunctionValue.h:
(WebCore::CSSFunctionValue::create):
- css/CSSGradientValue.h:
(WebCore::CSSLinearGradientValue::setAngle):
- css/CSSGrammar.y.in:
- css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::subimageIsPending):
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
- css/CSSImageGeneratorValue.h:
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::cachedOrPendingImage):
- css/CSSImageValue.h:
- css/CSSKeyframesRule.cpp:
(WebCore::StyleRuleKeyframes::StyleRuleKeyframes):
(WebCore::StyleRuleKeyframes::parserAppendKeyframe):
(WebCore::StyleRuleKeyframes::wrapperAppendKeyframe):
(WebCore::CSSKeyframesRule::appendRule):
(WebCore::CSSKeyframesRule::findRule):
(WebCore::CSSKeyframesRule::item):
(WebCore::StyleRuleKeyframes::~StyleRuleKeyframes): Deleted.
- css/CSSKeyframesRule.h:
(WebCore::StyleRuleKeyframes::keyframes):
- css/CSSParser.cpp:
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::parseKeywordValue):
(WebCore::parseTranslateTransformValue):
(WebCore::CSSParser::parseFontFaceValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseCustomPropertyValue):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::SourceSize::SourceSize):
(WebCore::filterProperties):
(WebCore::CSSParser::clearProperties):
(WebCore::CSSParser::addExpandedPropertyForValue):
(WebCore::CSSParser::parseVariableDependentValue):
(WebCore::CSSParser::parseContentDistributionOverflowPosition):
(WebCore::CSSParser::parseItemPositionOverflowPosition):
(WebCore::CSSParser::parseNonElementSnapPoints):
(WebCore::CSSParser::parseScrollSnapDestination):
(WebCore::CSSParser::parseScrollSnapCoordinate):
(WebCore::CSSParser::parseFillShorthand):
(WebCore::CSSParser::addAnimationValue):
(WebCore::CSSParser::parseAnimationShorthand):
(WebCore::CSSParser::parseColumnWidth):
(WebCore::CSSParser::parseColumnCount):
(WebCore::CSSParser::parseColumnsShorthand):
(WebCore::CSSParser::parseTransitionShorthand):
(WebCore::CSSParser::parseSize):
(WebCore::CSSParser::parseQuotes):
(WebCore::CSSParser::parseAlt):
(WebCore::CSSParser::parseCustomPropertyDeclaration):
(WebCore::CSSParser::parseContent):
(WebCore::CSSParser::parseAttr):
(WebCore::CSSParser::parseBackgroundColor):
(WebCore::CSSParser::parseFillPositionComponent):
(WebCore::CSSParser::parse4ValuesFillPosition):
(WebCore::CSSParser::parse3ValuesFillPosition):
(WebCore::CSSParser::parseFillPosition):
(WebCore::CSSParser::parseFillSize):
(WebCore::CSSParser::parseFillProperty):
(WebCore::CSSParser::parseAnimationDelay):
(WebCore::CSSParser::parseAnimationDirection):
(WebCore::CSSParser::parseAnimationDuration):
(WebCore::CSSParser::parseAnimationFillMode):
(WebCore::CSSParser::parseAnimationIterationCount):
(WebCore::CSSParser::parseAnimationName):
(WebCore::CSSParser::parseAnimationPlayState):
(WebCore::CSSParser::parseAnimationTrigger):
(WebCore::CSSParser::parseAnimationProperty):
(WebCore::CSSParser::parseKeyframeSelector):
(WebCore::CSSParser::parseGridPosition):
(WebCore::gridMissingGridPositionValue):
(WebCore::CSSParser::parseGridItemPositionShorthand):
(WebCore::CSSParser::parseGridGapShorthand):
(WebCore::CSSParser::parseGridTemplateRowsAndAreasAndColumns):
(WebCore::CSSParser::parseGridTemplateShorthand):
(WebCore::CSSParser::parseGridShorthand):
(WebCore::CSSParser::parseGridAreaShorthand):
(WebCore::CSSParser::parseGridLineNames):
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTrackRepeatFunction):
(WebCore::CSSParser::parseGridTrackSize):
(WebCore::CSSParser::parseGridAutoFlow):
(WebCore::skipCommaInDashboardRegion):
(WebCore::CSSParser::parseDashboardRegions):
(WebCore::parseGridTemplateAreasColumnNames):
(WebCore::CSSParser::parseCounterContent):
(WebCore::CSSParser::parseClipShape):
(WebCore::CSSParser::parseInsetRoundedCorners):
(WebCore::CSSParser::parseBasicShapeInset):
(WebCore::CSSParser::parseBasicShapeCircle):
(WebCore::CSSParser::parseBasicShapeEllipse):
(WebCore::CSSParser::parseBasicShapePolygon):
(WebCore::CSSParser::parseBasicShapePath):
(WebCore::CSSParser::parseBasicShapeAndOrBox):
(WebCore::CSSParser::parseFont):
(WebCore::CSSParser::parseFontFamily):
(WebCore::CSSParser::parseFontSynthesis):
(WebCore::CSSParser::parseFontFaceSrcURI):
(WebCore::CSSParser::parseFontFaceSrc):
(WebCore::CSSParser::parseFontFaceUnicodeRange):
(WebCore::parseAlphaValue):
(WebCore::ShadowParseContext::commitValue):
(WebCore::CSSParser::parseShadow):
(WebCore::CSSParser::parseReflect):
(WebCore::CSSParser::parseFlex):
(WebCore::BorderImageParseContext::commitImage):
(WebCore::BorderImageParseContext::commitImageSlice):
(WebCore::BorderImageParseContext::commitBorderWidth):
(WebCore::BorderImageParseContext::commitBorderOutset):
(WebCore::BorderImageParseContext::commitRepeat):
(WebCore::BorderImageParseContext::commitWebKitBorderImage):
(WebCore::BorderImageParseContext::commitBorderImageProperty):
(WebCore::CSSParser::parseBorderImage):
(WebCore::CSSParser::parseBorderImageRepeat):
(WebCore::BorderImageQuadParseContext::setTop):
(WebCore::CSSParser::parseCounter):
(WebCore::CSSParser::parseDeprecatedGradient):
(WebCore::CSSParser::parseDeprecatedLinearGradient):
(WebCore::CSSParser::parseDeprecatedRadialGradient):
(WebCore::CSSParser::parseLinearGradient):
(WebCore::CSSParser::parseRadialGradient):
(WebCore::CSSParser::parseFilterImage):
(WebCore::CSSParser::parseCrossfade):
(WebCore::CSSParser::parseImageResolution):
(WebCore::CSSParser::parseImageSet):
(WebCore::CSSParser::parseTransform):
(WebCore::CSSParser::parseTransformValue):
(WebCore::CSSParser::parseFilter):
(WebCore::CSSParser::parseTextDecoration):
(WebCore::CSSParser::parseTextEmphasisStyle):
(WebCore::CSSParser::parseTextEmphasisPosition):
(WebCore::CSSParser::parseTextIndent):
(WebCore::CSSParser::parseHangingPunctuation):
(WebCore::CSSParser::parseFontFeatureSettings):
(WebCore::CSSParser::parseWillChange):
(WebCore::CSSParser::createImportRule):
(WebCore::CSSParser::createMediaRule):
(WebCore::CSSParser::createEmptyMediaRule):
(WebCore::CSSParser::createSupportsRule):
(WebCore::CSSParser::markSupportsRuleHeaderStart):
(WebCore::CSSParser::popSupportsRuleData):
(WebCore::CSSParser::processAndAddNewRuleToSourceTreeIfNeeded):
(WebCore::CSSParser::addNewRuleToSourceTree):
(WebCore::CSSParser::popRuleData):
(WebCore::CSSParser::createKeyframesRule):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::createRegionRule):
(WebCore::CSSParser::endDeclarationsForMarginBox):
(WebCore::CSSParser::createKeyframe):
(WebCore::CSSParser::updateLastMediaLine):
(WebCore::fixUnparsedProperties):
(WebCore::CSSParser::fixUnparsedPropertyRanges):
(WebCore::CSSParser::parseViewportProperty):
(WebCore::cssPropertyNameIOSAliasing):
(WebCore::isAppleLegacyCssValueKeyword):
(WebCore::quoteCSSString):
(WebCore::AnimationParseContext::commitFirstAnimation): Deleted.
(WebCore::strictCSSParserContext): Deleted.
(WebCore::CSSParser::~CSSParser): Deleted.
(WebCore::convertToASCIILowercaseInPlace): Deleted.
(WebCore::CSSParserString::convertToASCIILowercaseInPlace): Deleted.
(WebCore::CSSParser::setupParser): Deleted.
(WebCore::isSimpleLengthPropertyID): Deleted.
(WebCore::isValidKeywordPropertyAndValue): Deleted.
(WebCore::parseTransformTranslateArguments): Deleted.
(WebCore::CSSParser::parseColor): Deleted.
(WebCore::CSSParser::parseMediaQuery): Deleted.
(WebCore::CSSParser::parseSizesAttribute): Deleted.
(WebCore::CSSParser::addProperty): Deleted.
(WebCore::CSSParser::validateCalculationUnit): Deleted.
(WebCore::isItemPositionKeyword): Deleted.
(WebCore::CSSParser::parseShorthand): Deleted.
(WebCore::CSSParser::parseSizeParameter): Deleted.
(WebCore::CSSParser::parseFillImage): Deleted.
(WebCore::CSSParser::parsePositionY): Deleted.
(WebCore::CSSParser::parse2ValuesFillPosition): Deleted.
(WebCore::CSSParser::parseTransformOriginShorthand): Deleted.
(WebCore::CSSParser::parseAnimationTimingFunction): Deleted.
(WebCore::CSSParser::parseGridTemplateColumns): Deleted.
(WebCore::CSSParser::parseSingleGridAreaLonghand): Deleted.
(WebCore::allTracksAreFixedSized): Deleted.
(WebCore::CSSParser::parseGridBreadth): Deleted.
(WebCore::CSSParser::parseGridTemplateAreasRow): Deleted.
(WebCore::completeBorderRadii): Deleted.
(WebCore::CSSParser::parseShapeRadius): Deleted.
(WebCore::isBoxValue): Deleted.
(WebCore::CSSParser::parseShapeProperty): Deleted.
(WebCore::CSSParser::parseClipPath): Deleted.
(WebCore::CSSParser::parseBasicShape): Deleted.
(WebCore::FontFamilyValueBuilder::commit): Deleted.
(WebCore::CSSParser::parseFontWeight): Deleted.
(WebCore::CSSParser::parseFontFaceSrcLocal): Deleted.
(WebCore::parseDouble): Deleted.
(WebCore::mightBeRGBA): Deleted.
(WebCore::mightBeRGB): Deleted.
(WebCore::ShadowParseContext::commitColor): Deleted.
(WebCore::BorderImageParseContext::BorderImageParseContext): Deleted.
(WebCore::BorderImageParseContext::commitForwardSlashOperator): Deleted.
(WebCore::BorderImageParseContext::commitBorderImage): Deleted.
(WebCore::isBorderImageRepeatKeyword): Deleted.
(WebCore::BorderImageSliceParseContext::commitBorderImageSlice): Deleted.
(WebCore::CSSParser::parseBorderImageQuad): Deleted.
(WebCore::parseDeprecatedGradientColorStop): Deleted.
(WebCore::valueFromSideKeyword): Deleted.
(WebCore::CSSParser::isGeneratedImageValue): Deleted.
(WebCore::CSSParser::parseCanvas): Deleted.
(WebCore::CSSParser::parseNamedImage): Deleted.
(WebCore::TransformOperationInfo::TransformOperationInfo): Deleted.
(WebCore::CSSParser::isBlendMode): Deleted.
(WebCore::filterInfoForName): Deleted.
(WebCore::CSSParser::parseFlowThread): Deleted.
(WebCore::CSSParser::parseRegionThread): Deleted.
(WebCore::CSSParser::parseLineBoxContain): Deleted.
(WebCore::CSSParser::parseFontFeatureTag): Deleted.
(WebCore::CSSParser::parseFontVariantLigatures): Deleted.
(WebCore::isCSSLetter): Deleted.
(WebCore::CSSParser::markSupportsRuleHeaderEnd): Deleted.
(WebCore::CSSParser::syntaxError): Deleted.
(WebCore::CSSParser::logError): Deleted.
(WebCore::CSSParser::rewriteSpecifiersWithElementName): Deleted.
(WebCore::CSSParser::rewriteSpecifiers): Deleted.
(WebCore::CSSParser::invalidBlockHit): Deleted.
(WebCore::CSSParser::markRuleHeaderStart): Deleted.
(WebCore::CSSParser::setRuleHeaderEnd): Deleted.
(WebCore::CSSParser::markRuleHeaderEnd): Deleted.
(WebCore::CSSParser::markRuleBodyStart): Deleted.
(WebCore::cssPropertyID): Deleted.
(WebCore::isCSSTokenizerIdentifier): Deleted.
- css/CSSParser.h:
(WebCore::CSSParser::ValueWithCalculation::setCalculation): Deleted.
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::cloneForCSSOM):
- css/CSSPrimitiveValue.h:
- css/CSSPropertySourceData.h:
- css/CSSReflectValue.cpp:
(WebCore::CSSReflectValue::equals):
- css/CSSReflectValue.h:
(WebCore::CSSReflectValue::create):
(WebCore::CSSReflectValue::direction):
(WebCore::CSSReflectValue::offset):
(WebCore::CSSReflectValue::CSSReflectValue):
- css/CSSShadowValue.cpp:
(WebCore::CSSShadowValue::CSSShadowValue):
(WebCore::CSSShadowValue::customCSSText): Deleted.
- css/CSSShadowValue.h:
(WebCore::CSSShadowValue::create):
- css/CSSValue.h:
(WebCore::compareCSSValueVector):
- css/CSSVariableDependentValue.cpp:
(WebCore::CSSVariableDependentValue::checkVariablesForCycles):
- css/CSSVariableDependentValue.h:
(WebCore::CSSVariableDependentValue::create):
(WebCore::CSSVariableDependentValue::customCSSText):
(WebCore::CSSVariableDependentValue::valueList):
(WebCore::CSSVariableDependentValue::CSSVariableDependentValue):
- css/CSSVariableValue.cpp:
(WebCore::CSSVariableValue::buildParserValueListSubstitutingVariables):
- css/Counter.h:
(WebCore::Counter::create):
(WebCore::Counter::identifier):
(WebCore::Counter::listStyle):
(WebCore::Counter::separator):
(WebCore::Counter::listStyleIdent):
(WebCore::Counter::setIdentifier):
(WebCore::Counter::setListStyle):
(WebCore::Counter::setSeparator):
(WebCore::Counter::cloneForCSSOM):
(WebCore::Counter::Counter):
- css/DOMCSSNamespace.cpp:
(WebCore::DOMCSSNamespace::supports):
- css/FontFace.cpp:
(WebCore::FontFace::parseString):
(WebCore::FontFace::setVariant):
- css/Rect.h:
(WebCore::RectBase::RectBase):
- css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGStrokeDasharray):
(WebCore::CSSParser::parseSVGPaint):
(WebCore::CSSParser::parseSVGColor):
(WebCore::CSSParser::parsePaintOrder):
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertReflection):
- css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::setProperty):
(WebCore::MutableStyleProperties::setCustomProperty):
(WebCore::MutableStyleProperties::parseDeclaration):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::keyframeStylesForAnimation):
(WebCore::StyleResolver::cachedOrPendingFromValue):
- css/StyleResolver.h:
- css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
- inspector/InspectorStyleSheet.cpp:
(flattenSourceData):
(ParsedStyleSheet::setSourceData):
(ParsedStyleSheet::ruleSourceDataAt):
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
- page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForProperties):
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::crossfadeBlend):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::checkVariablesInCustomProperties):
- 9:59 AM Changeset in webkit [201289] by
-
- 6 edits in trunk/LayoutTests
Marking fast/text-autosizing/ios/text-autosizing-after-back.html as a flaky timeout on Mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=157589
Unreviewed test gardening.
- TestExpectations:
- platform/ios-simulator-wk1/TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 9:46 AM Changeset in webkit [201288] by
-
- 3 edits in trunk/Tools
check-webkit-style gets flags std::literals::chrono_literals as bad naming.
https://bugs.webkit.org/show_bug.cgi?id=157969
Reviewed by Alex Christensen.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration):
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_names):
- 9:41 AM Changeset in webkit [201287] by
-
- 2 edits in trunk/LayoutTests
Marking fast/frames/crash-during-iframe-load-stop.html as a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=157849
Unreviewed test gardening.
- 8:53 AM Changeset in webkit [201286] by
-
- 4 edits3 adds in releases/WebKitGTK/webkit-2.12
Merge r198592 - JavaScriptCore ArrayPrototype::join shouldn't cache butterfly when it makes effectful calls
https://bugs.webkit.org/show_bug.cgi?id=155776
Reviewed by Saam Barati.
Source/JavaScriptCore:
Array.join ends up calling toString, possibly on some object. Since these calls
could be effectful and could change the array itself, we can't hold the butterfly
pointer while making effectful calls. Changed the code to fall back to the general
case when an effectful toString() call might be made.
- runtime/ArrayPrototype.cpp:
(JSC::join):
- runtime/JSStringJoiner.h:
(JSC::JSStringJoiner::appendWithoutSideEffects): New helper that doesn't make effectful
toString() calls.
(JSC::JSStringJoiner::append): Built upon appendWithoutSideEffects.
LayoutTests:
New test.
- js/regress-155776-expected.txt: Added.
- js/regress-155776.html: Added.
- js/script-tests/regress-155776.js: Added.
(fillBigArrayViaToString):
(Function.prototype.toString):
- 8:52 AM Changeset in webkit [201285] by
-
- 1 edit in releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog
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):
- 6:42 AM WebKitGTK/2.12.x edited by
- (diff)
- 6:41 AM Changeset in webkit [201284] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12
Merge r197886 - [cmake] Fixed All-in-One build.
https://bugs.webkit.org/show_bug.cgi?id=155241
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-03-09
Reviewed by Csaba Osztrogonác.
.:
- Source/cmake/WebKitMacros.cmake: Last item of WebCore_SOURCES was
not removed in PROCESS_ALLINONE_FILE.
Source/WebCore:
No new tests needed.
- bindings/js/JSBindingsAllInOne.cpp: Should not include generated
file.
- 6:37 AM Changeset in webkit [201283] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r201163 - [GStreamer] unrelated codecs required to play videos
https://bugs.webkit.org/show_bug.cgi?id=135972
Reviewed by Michael Catanzaro.
Instead of hard-coding the list of supported mime-types, check the
decoder and demuxer GStreamer elements available and dynamically
build the list of mime-types accordingly. This patch also removes
support for under-used and exotic mime-types.
Based on a patch by Mario Sanchez Prada.
No new tests, existing media tests cover this change.
- platform/graphics/gstreamer/GStreamerUtilities.cpp:
(WebCore::gstRegistryHasElementForMediaType): New function
checking the elements registered in the factories have a sink pad
matching the caps specified as second argument of the function.
- platform/graphics/gstreamer/GStreamerUtilities.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeSet): Hard-coded list of mime-types replaced by
runtime-built list of mime-types that can be supported by the
GStreamer decoders and demuxers available on the host machine.
(WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes):
mimeTypeCache renamed to mimeTypeSet.
(WebCore::MediaPlayerPrivateGStreamer::supportsType): Ditto.
- 6:34 AM Changeset in webkit [201282] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r201078 - [GStreamer] webaudio crash on ARM platforms
https://bugs.webkit.org/show_bug.cgi?id=157838
Reviewed by Michael Catanzaro.
- platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcConstructed): Explicitely cast the integer value
of the max-bytes property to guint64 which is the expected type of
this property. The compiler can't guess this on its own.
- 6:34 AM Changeset in webkit [201281] by
-
- 3 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r201077 - [GStreamer] webaudio playback improvements
https://bugs.webkit.org/show_bug.cgi?id=155228
Reviewed by Michael Catanzaro.
- platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::autoAudioSinkChildAddedCallback): Fix sink buffer-time
to 100ms to reduce playback latency.
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
Connect to child-added signal of autoaudiosink to be notified when
a real sink is added into the bin.
- platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcConstructed): Fine-tune blocksize of appsrc
according to the buffer size already configured on the src element.
- 6:22 AM Changeset in webkit [201280] by
-
- 3 edits3 adds in releases/WebKitGTK/webkit-2.12
Merge r201053 - REGRESSION(r192855): Math.random() always produces the same first 7 decimal points the first two invocations
https://bugs.webkit.org/show_bug.cgi?id=157805
<rdar://problem/26327851>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-17
Reviewed by Geoffrey Garen.
Source/WTF:
- wtf/WeakRandom.h:
(WTF::WeakRandom::setSeed):
Advance once to randomize the 32bit seed across the 128bit state
and avoid re-using 64bits of state in the second advance.
LayoutTests:
- js/dom/math-random-initial-values-expected.txt: Added.
- js/dom/math-random-initial-values.html: Added.
- js/resources/math-random-initial-values-iframe.html: Added.
Test that less then 5% of the time, early Math.random invocations
produce very similiar values. Before this change we were failing
100%, but after we see similiar values mostly around 0-3%.
- 5:58 AM Changeset in webkit [201279] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/bmalloc
Merge r201050 - REGRESSION: JetStream crashes on some iPhones
https://bugs.webkit.org/show_bug.cgi?id=157814
Reviewed by Michael Saboff.
- bmalloc/Sizes.h: Reduce smallMax to 32kB.
Previous justification for 64kB was:
- 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.
It turns out that the bump to 64kB substantially increases our memory
high water mark on JetStream, leading to jetsam crashes. Also, there
doesn't seem to be a practical performance problem to putting objects in
the (32kB - 64kB) range in the large allocator.
- 5:52 AM Changeset in webkit [201278] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r201023 - Regression(r177786): GlyphMetricsMap<T>::locatePageSlowCase() fills existing pages with unknown metrics
https://bugs.webkit.org/show_bug.cgi?id=157749
Reviewed by Antti Koivisto.
After r177786, GlyphMetricsMap<T>::locatePageSlowCase() would unconditionally fill
pages with unknown metrics. This patch updates the code to do so only if the page
is new, thus restoring the pre-r177786 behavior.
- platform/graphics/GlyphMetricsMap.h:
(WebCore::GlyphMetricsMap::metricsForGlyph):
(WebCore::GlyphMetricsMap::setMetricsForGlyph):
(WebCore::GlyphMetricsMap::GlyphMetricsPage::GlyphMetricsPage):
(WebCore::GlyphMetricsMap::GlyphMetricsPage::fill):
(WebCore::GlyphMetricsMap::locatePage):
(WebCore::GlyphMetricsMap<T>::locatePageSlowCase):
(WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph): Deleted.
(WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph): Deleted.
(WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex): Deleted.
(WebCore::GlyphMetricsMap<float>::unknownMetrics): Deleted.
(WebCore::GlyphMetricsMap<FloatRect>::unknownMetrics): Deleted.
- 5:36 AM Changeset in webkit [201277] by
-
- 3 edits4 adds in releases/WebKitGTK/webkit-2.12
Merge r200986 - heap use-after-free at WebCore::TimerBase::heapPopMin()
https://bugs.webkit.org/show_bug.cgi?id=157742
<rdar://problem/26236778>
Source/WebCore:
Reviewed by David Kilzer.
Tested by fast/frames/resources/crash-during-iframe-load-stop.html.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopForUserCancel): Protect m_frame from destruction while it is still
being used by the current stack frame.
(WebCore::FrameLoader::frameDetached): Ditto.
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): Ditto.
LayoutTests:
Reviewed by Simon Fraser.
- fast/frames/crash-during-iframe-load-stop-expected.txt: Added.
- fast/frames/crash-during-iframe-load-stop.html: Added.
- fast/frames/resources/crash-during-iframe-load-stop-inner.html: Added.
- fast/frames/resources/crash-during-iframe-load-stop.html: Added.
- 5:33 AM Changeset in webkit [201276] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r200971 - RenderLayer::hitTestList could mutate the list of candidate layers.
https://bugs.webkit.org/show_bug.cgi?id=157718
<rdar://problem/22556046>
Reviewed by Simon Fraser.
This patch ensures that we always start hittesting a clean render tree at EventHandler::hitTestResultAtPoint.
Speculative fix.
- page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):
- 5:26 AM Changeset in webkit [201275] by
-
- 2 edits in trunk/Source/WebKit2
[ThreadedCompositor] Ensure that the BitmapTexture used by CoordinatedBackingStoreTile matches the opacity of the painted surface
https://bugs.webkit.org/show_bug.cgi?id=157942
Patch by Miguel Gomez <magomez@igalia.com> on 2016-05-23
Reviewed by Žan Doberšek.
- Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStoreTile::swapBuffers):
Reset the BitmapTexture if it doesn't match the opacity required by the surface
that's being painted.
- 5:25 AM Changeset in webkit [201274] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r200940 - [Cairo] GraphicsContext3D::ImageExtractor should use the correct size for copying non-image surfaces
https://bugs.webkit.org/show_bug.cgi?id=157580
Reviewed by Darin Adler.
GraphicsContext3D::ImageExtractor::extractImage() shouldn't use m_imageWidth
and m_imageHeight members when copying the non-image-backed Cairo surface into
the image-based replacement simply because these two are not initialized until
later in this method.
Instead, the size of the to-be-copied image should be queried via the
cairoSurfaceSize() utility function which properly handles Cairo surfaces of
different types.
- platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):
- 5:17 AM Changeset in webkit [201273] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r200923 - ToT WebKit doesn't show tooltip on perf dashboard's summary page
https://bugs.webkit.org/show_bug.cgi?id=157705
Reviewed by Darin Adler.
Source/WebCore:
The bug was caused by WebKit doesn't look for the title attribute across shadow boundaries.
Fixed it by using a newly added Node::parentNodeInComposedTree in HitTestResult::title.
Test: fast/shadow-dom/tooltip-on-composed-tree.html
- dom/Node.cpp:
(WebCore::Node::parentInComposedTree): Added.
- dom/Node.h:
- rendering/HitTestResult.cpp:
(WebCore::HitTestResult::title): Fixed the bug.
(WebCore::HitTestResult::innerTextIfTruncated): Fixed a related bug when ShowsToolTipOverTruncatedText
is enabled. Unfortunately, there is no machinery to test this feature yet.
LayoutTests:
Added a regression test for finding a tooltip across shadow boundaries.
- fast/shadow-dom/tooltip-on-composed-tree-expected.txt: Added.
- fast/shadow-dom/tooltip-on-composed-tree.html: Added.
- 4:15 AM Changeset in webkit [201272] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebCore
Merge r200811 - VideoSinkGStreamer: plug a GstBuffer leak in webkitVideoSinkRequestRender()
https://bugs.webkit.org/show_bug.cgi?id=157617
Reviewed by Darin Adler.
Unref the newly-created GstBuffer object after creating the new GstSample
that's based on it. gst_sample_new() doesn't take the ownership of it.
Also, don't unref the GstBuffer object that's passed in to the
webkitVideoSinkRequestRender() function in case the allocation of the
replacement buffer fails. We don't have any ownership over that buffer
and it's not unreffed anywhere else in this function.
- platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkitVideoSinkRequestRender):
- 4:10 AM Changeset in webkit [201271] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r200736 - Absolute positioned element is not placed properly when parent becomes the containing block.
https://bugs.webkit.org/show_bug.cgi?id=157455
<rdar://problem/26212568>
Reviewed by Simon Fraser.
When a container becomes a containing block, we need to check if there are any positioned boxes in its subtree
in order to "re-parent" them. It basically means that we remove them from RenderBlock::positionedDescendants map
and they'll get re-inserted during the next layout correctly.
This patch fixes the case when a container becomes the containing block by setting the transform property and its positioned
child gets misplaced.
Source/WebCore:
Test: fast/block/containing-block-changes.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removePositionedObjectsIfNeeded):
(WebCore::RenderBlock::styleWillChange):
- rendering/RenderBlock.h:
LayoutTests:
- fast/block/containing-block-changes-expected.html: Added.
- fast/block/containing-block-changes.html: Added.
- 4:03 AM Changeset in webkit [201270] by
-
- 19 edits1 copy2 moves in releases/WebKitGTK/webkit-2.12
Merge r200677 - [GTK] accessibility/aria-readonly.html is failing
https://bugs.webkit.org/show_bug.cgi?id=98357
Reviewed by Chris Fleizach.
Source/WebCore:
Add support for ATK_STATE_READ_ONLY and expose the value of aria-readonly
as an AtkObject attribute. In order to eliminate duplicate checks, remove
isReadOnly() and just use canSetAttributeValue(), moving all the logic into
AccessibilityNodeObject. Add AccessibilityObject::supportsARIAReadOnly() so
that we can explicitly expose the implicit value for aria-readonly on roles
which support this property. Also add support for ATK_STATE_CHECKABLE, both
because this state was missing and because it serves a similar function to
ATK_STATE_EDITABLE for the purpose of verifying exposure of toggle-able
elements that are not read-only.
Test: accessibility/form-control-value-settable.html
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::canSetValueAttribute):
(WebCore::AccessibilityNodeObject::isRequired): Deleted.
(WebCore::AccessibilityNodeObject::supportsRequiredAttribute): Deleted.
- accessibility/AccessibilityNodeObject.h:
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::supportsARIAReadOnly):
(WebCore::AccessibilityObject::ariaReadOnlyValue):
- accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isUnvisited): Deleted.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::clickPoint):
(WebCore::AccessibilityRenderObject::isOffScreen): Deleted.
(WebCore::AccessibilityRenderObject::anchorElement): Deleted.
(WebCore::AccessibilityRenderObject::internalLinkElement): Deleted.
(WebCore::AccessibilityRenderObject::textChanged): Deleted.
(WebCore::AccessibilityRenderObject::clearChildren): Deleted.
(WebCore::AccessibilityRenderObject::addImageMapChildren): Deleted.
- accessibility/AccessibilityRenderObject.h:
- accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(getAttributeSetForAccessibilityObject):
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes):
(setAtkStateSetFromCoreObject):
(getInterfaceMaskFromObject):
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
Source/WebKit/win:
Call AccessibilityNode::canSetValueAttribute() to determine if STATE_SYSTEM_READONLY
should be added and if editable text should be supported.
- AccessibleBase.cpp:
(AccessibleBase::state):
- AccessibleTextImpl.cpp:
(AccessibleText::deleteText):
(AccessibleText::insertText):
(AccessibleText::cutText):
(AccessibleText::pasteText):
(AccessibleText::replaceText):
Tools:
Add checks to isAttributeSettable() for ATK_STATE_READ_ONLY and the 'readonly'
AtkObject attribute along with ATK_STATE_CHECKABLE for toggle-able elements,
ATK_STATE_SELECTABLE for select elements, and ATK_STATE_FOCUSABLE combined
with range verification for inputs which implement AtkValue. The latter two
additions are admittedly a heuristic workaround for platform accessibility
API differences. But they should be sufficient to facilitate cross-platform
testing of isAttributeSettable() for form elements which lack ARIA attributes.
Bump the minimum version of at-spi2-core and at-spi2-atk
to 2.15.4 (earliest version that supports STATE_READ_ONLY).
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::isAttributeSettable):
- gtk/jhbuild.modules:
LayoutTests:
As part of this change, a new AtkObject attribute and state are being exposed.
Update two tests accordingly. Also unskip the previously-failing test. Lastly,
move the Mac form-control-value-settable.html test to the shared test set,
with a minor tweak to check the platform for several elements' expectations.
- accessibility/form-control-value-settable.html: Moved to shared tests.
- accessibility/gtk/xml-roles-exposed-expected.txt: Updated.
- platform/gtk/TestExpectations: Unskipped previously-failing test.
- platform/gtk/accessibility/form-control-value-settable-expected.txt: Added.
- platform/gtk/accessibility/table-detection-expected.txt: Updated.
- platform/mac/accessibility/form-control-value-settable-expected.txt: Moved.
- 4:03 AM WebKitGTK/2.12.x edited by
- (diff)
- 4:02 AM Changeset in webkit [201269] by
-
- 11 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r200369 - [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.
- 3:45 AM Changeset in webkit [201268] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r200622 - REGRESSION (r193610): Drop down menu doesn’t expand at allofbach.com
https://bugs.webkit.org/show_bug.cgi?id=157445
Reviewed by Simon Fraser.
When we don't run transitions (becasuse of to/from 'auto' values) we should also not
report the 'from' value and behave as if we finished the transition already.
Source/WebCore:
Test: fast/animation/height-auto-transition-computed-value.html
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): This is a revert of
looping the 'to' value back to the first keyframe when reverse animation is at the start value (last keyframe).
- platform/Length.cpp:
(WebCore::blend):
LayoutTests:
- fast/animation/height-auto-transition-computed-value-expected.html: Added.
- fast/animation/height-auto-transition-computed-value.html: Added.
- imported/blink/transitions/transition-not-interpolable-expected.txt:
- 12:21 AM Changeset in webkit [201267] by
-
- 6 edits in trunk/Source/WebKit2
[GTK] Disk cache: enable speculative revalidation
https://bugs.webkit.org/show_bug.cgi?id=157125
Reviewed by Sergio Villar Senin.
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
- UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextConstructed):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
- config.h:
May 22, 2016:
- 9:02 PM Changeset in webkit [201266] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed. Fixed debug assertion failures from r201235.
- runtime/JSScope.cpp:
(JSC::abstractAccess):
- 6:35 PM Changeset in webkit [201265] by
-
- 2 edits in trunk/Source/WTF
Added NSEventMaskMouseMoved to AppKitCompatibilityDeclarations.h.
Rubber-stamped by Anders Carlsson.
- wtf/mac/AppKitCompatibilityDeclarations.h:
- 4:29 PM Changeset in webkit [201264] by
-
- 1 copy in tags/Safari-602.1.32.5
New tag.
- 3:55 PM Changeset in webkit [201263] by
-
- 2 edits in trunk/Tools
RELEASE_ASSERT(TestController::singleton().isCurrentInvocation(testInvocation)) is sometimes hit when running tests
https://bugs.webkit.org/show_bug.cgi?id=157977
rdar://problem/20874156
Reviewed by David Kilzer.
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke): Be more certain to launch a new process when there was
a timeout detected. If we don't, there is a chance that the process is not quite frozen,
and will still send a response that we no longer expect.
(WTR::TestInvocation::dumpWebProcessUnresponsiveness): Print timeout details to stderr
too, as stdout is not available, at least not in the case that I was observing.
- 3:36 PM Changeset in webkit [201262] by
-
- 2 edits in trunk/Source/WTF
Another attempt to fix the GTK build after my previous changes.
- wtf/StdLibExtras.h:
- 3:31 PM Changeset in webkit [201261] by
-
- 2 edits in trunk/Source/WTF
Tried to fix the GTK build after r201257.
- wtf/StdLibExtras.h:
- 3:22 PM Changeset in webkit [201260] by
-
- 2 edits in trunk/Source/WTF
Additional fixes for non-C++14 Apple projects that use WTF.
- wtf/StdLibExtras.h:
(std::exchange):
- 3:21 PM Changeset in webkit [201259] by
-
- 2 edits in trunk/Source/JavaScriptCore
Attempted Yosemite build fix after http://trac.webkit.org/changeset/201255
Suggested by and reviewed by Anders Carlsson.
- b3/B3CCallValue.h: Initialize the effects member more conventionally.
- 3:19 PM Changeset in webkit [201258] by
-
- 2 edits in trunk/Source/WTF
Additional fixes for non-C++14 Apple projects that use WTF.
- wtf/StdLibExtras.h:
(std::make_unique):
(std::move):
- 3:04 PM Changeset in webkit [201257] by
-
- 2 edits in trunk/Source/WTF
Correct the previous build fix attempt.
- wtf/StdLibExtras.h:
- 2:10 PM Changeset in webkit [201256] by
-
- 2 edits in trunk/Source/WTF
Build fix for non-C++14 Apple projects that use WTF.
Rubber-stamped by Anders.
- wtf/StdLibExtras.h:
- 1:09 PM Changeset in webkit [201255] by
-
- 37 edits in trunk
Move to C++14.
https://bugs.webkit.org/show_bug.cgi?id=157948
Reviewed by Michael Catanzaro.
.:
- Source/cmake/OptionsCommon.cmake:
Source/bmalloc:
- Configurations/Base.xcconfig:
Source/JavaScriptCore:
- Configurations/Base.xcconfig:
Source/ThirdParty:
- gtest/xcode/Config/General.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/Base.xcconfig:
Source/WebCore:
No new tests (No change in behavior).
- Configurations/Base.xcconfig:
Replace time literal suffixes that have underscores to the forms without
(e.g. 0_ms becomes 0ms):
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
- platform/graphics/cg/IOSurfacePool.cpp:
Source/WebInspectorUI:
- Configurations/Base.xcconfig:
Source/WebKit/mac:
- Configurations/Base.xcconfig:
Source/WebKit2:
- Configurations/Base.xcconfig:
Replace time literal suffixes that have underscores to the forms without
(e.g. 0_ms becomes 0ms):
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::responseHasExpired):
(WebKit::NetworkCache::responseNeedsRevalidation):
(WebKit::NetworkCache::makeStoreDecision):
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::responseNeedsRevalidation):
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::dispatchReadOperation):
(WebKit::NetworkCache::Storage::store):
(WebKit::NetworkCache::computeRecordWorth):
- Shared/mac/RemoteLayerBackingStoreCollection.mm:
- UIProcess/ViewGestureController.cpp:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::maximumBufferingTime):
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlushImmediately):
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
Source/WTF:
- Configurations/Base.xcconfig:
Delete a lot of "stl additions until we can adopt C++14" code:
- wtf/StdLibExtras.h:
(std::make_unique): Deleted.
(std::index_sequence::size): Deleted.
(std::exchange): Deleted.
(std::literals::chrono_literals::operator _s): Deleted.
(std::literals::chrono_literals::operator _ms): Deleted.
Tools:
- DumpRenderTree/mac/Configurations/Base.xcconfig:
- MiniBrowser/Configurations/Base.xcconfig:
- TestWebKitAPI/Configurations/Base.xcconfig:
- WebKitTestRunner/Configurations/Base.xcconfig:
- 12:13 PM Changeset in webkit [201254] by
-
- 4 edits1 add in trunk
REGRESSION(r199075): String.prototype.replace fails after being used many times with different replace values
https://bugs.webkit.org/show_bug.cgi?id=157968
<rdar://problem/26404735>
Reviewed by Ryosuke Niwa and Filip Pizlo.
Source/JavaScriptCore:
There was a bug in the DFG where we were checking a condition
on the wrong variable.
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
LayoutTests:
- 10:27 AM Changeset in webkit [201253] by
-
- 22 edits in trunk/Source
Remove uses of PassRefPtr in JS bindings code
https://bugs.webkit.org/show_bug.cgi?id=157949
Reviewed by Andreas Kling.
Remove uses of PassRefPtr in JS bindings code.
Source/JavaScriptCore:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::queueMicrotask):
- runtime/JSGlobalObject.h:
Source/WebCore:
- bindings/js/JSDOMBinding.cpp:
(WebCore::jsArray):
- bindings/js/JSDOMBinding.h:
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
- bindings/js/JSDOMGlobalObject.h:
- bindings/js/JSDOMGlobalObjectTask.cpp:
(WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
- bindings/js/JSDOMGlobalObjectTask.h:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowMicrotaskCallback::create):
(WebCore::JSDOMWindowMicrotaskCallback::call):
(WebCore::JSDOMWindowMicrotaskCallback::JSDOMWindowMicrotaskCallback):
(WebCore::JSDOMWindowBase::queueTaskToEventLoop):
- bindings/js/JSDOMWindowBase.h:
- bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::finishCreation):
(WebCore::JSDOMWindowShell::setWindow):
- bindings/js/JSDOMWindowShell.h:
(WebCore::JSDOMWindowShell::create):
- bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
- bindings/js/JSWorkerGlobalScopeBase.h:
- bindings/objc/DOMCustomXPathNSResolver.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GetNativeTypeForCallbacks):
- bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallback::callbackWithStringList):
- bindings/scripts/test/JS/JSTestCallback.h:
- bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
(WebCore::JSTestCallbackFunction::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallbackFunction::callbackWithStringList):
- bindings/scripts/test/JS/JSTestCallbackFunction.h:
- 9:51 AM Changeset in webkit [201252] by
-
- 3 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r201246. rdar://problem/22524550
- 9:51 AM Changeset in webkit [201251] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebCore
Merge r201241. rdar://problem/26396532
- 9:51 AM Changeset in webkit [201250] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebCore
Merge r201229. rdar://problem/26396532
- 9:51 AM Changeset in webkit [201249] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebCore
Merge r201233. rdar://problem/26397571
- 9:45 AM Changeset in webkit [201248] by
-
- 5 edits in branches/safari-602.1.32-branch/Source
Versioning.
- 3:58 AM Changeset in webkit [201247] by
-
- 2 edits in trunk
Suppress -Wmissing-field-initializers warnings with GCC 4.9
https://bugs.webkit.org/show_bug.cgi?id=157888
Reviewed by Michael Catanzaro.
- Source/cmake/WebKitHelpers.cmake:
May 21, 2016:
- 9:19 PM WebKitGTK/2.12.x edited by
- I'm in X, let's copy/paste (diff)
- 4:52 PM Changeset in webkit [201246] by
-
- 3 edits in trunk/Source/WebKit2
REGRESSION (r188642): All pages are blank when printing a webpage in iOS Safari
https://bugs.webkit.org/show_bug.cgi?id=157924
rdar://problem/22524550
Reviewed by Sam Weinig.
When UIPrintInteractionController asks WKWebView to print a webpage, it does so in several phases. First we're
asked to compute the page count, followed later by a series of messages asking us to draw each page into a
provided CGContext.
When asked for the page count, we send a message to the Web process instructing it to compute and
return the page count synchronously and then immediately start drawing the page for printing. If the drawing has
finished by the time we're asked to print the first page, then we can do so without waiting. But if it hasn't
then we block by calling Connection::waitForMessage(), passing std::chromo::milliseconds::max() as the relative
timeout.
Prior to r188642, Connection::waitForMessage() called std::condition_variable::wait_for(), which takes a
relative timeout value. r188642 replaced this with WTF::Condition::waitUntil(), which takes an absolute timeout
instead. To convert from relative to absolute, this line was added to Connection::waitForMessage():
Condition::Clock::time_point absoluteTimeout = Condition::Clock::now() + timeout;
std::chrono will convert both operands to a common duration type before performing the addition. When timeout
equals something very large, like milliseconds::max(), this conversion results in signed integer overflow,
giving absoluteTimeout a value less than Clock::now() and making waitForMessage time out immediately.
To fix this, compute how many milliseconds remain on our clock, and add the smaller of that and the timeout
value to Clock::now() to arrive at an absolute timeout.
- Platform/IPC/Connection.cpp:
(IPC::Connection::waitForMessage):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _printedDocument]): Removed an unnecessary nanoseconds-to-milliseconds conversion.
- 12:21 PM Changeset in webkit [201245] by
-
- 14 edits in trunk/Source/WebInspectorUI
Web Inspector: Creating the CSSStyleDetailsSidebarPanel takes about 50ms (20%) of main load
https://bugs.webkit.org/show_bug.cgi?id=156707
<rdar://problem/25780404>
Reviewed by Timothy Hatcher.
This patch adds new View concepts,
initialLayout
andwidthDidChange
,
making it possible for hidden views to postpone the creation of their
UI subtree until they are shown for the first time.
Sidebar panels get this performance improvement by virtue of SidebarPanel
and StyleDetailsPanel, which trigger a layout when shown. This can be
removed once <https://webkit.org/b/150741> is fixed, and this is done
automatically by View.
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor):
Should subclass View.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.layout):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get element): Deleted.
Handled in View base class.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.updateLayout): Deleted.
Relocate tolayout
override, ignore unused parameterforce
.
- UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
Create the minimum required initial state and UI elements. Relocate
anything that can be lazy loaded toinitialLayout
.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.sizeDidChange):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.widthDidChange): Deleted.
- UserInterface/Views/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel):
Relocate anything that can be lazy loaded toinitialLayout
.
(WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout):
(WebInspector.ComputedStyleDetailsPanel.prototype.shown): Deleted.
(WebInspector.ComputedStyleDetailsPanel.prototype.widthDidChange): Deleted.
Handled in View base class.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.layout):
Resize logic can be safely moved tosizeDidChange
, since columns are
always initialized when the width changes.
(WebInspector.DataGrid.prototype.sizeDidChange):
Reposition headers, scrollbars.
(WebInspector.DataGrid.prototype._updateHeaderAndScrollbar):
Broke out header repositioning, which needs to be called whenever
column widths are initialized or the view size changes.
- UserInterface/Views/NavigationBar.js:
(WebInspector.NavigationBar.prototype.layout):
- UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.sizeDidChange):
(WebInspector.RulesStyleDetailsPanel.prototype.widthDidChange): Deleted.
- UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar.prototype._recalculateWidth):
Width changes need to be coordinated by the View base class, since the
initial layout must have occurred before handling a width change.
Force a layout with a resize layout reason.
- UserInterface/Views/SidebarPanel.js:
(WebInspector.SidebarPanel.prototype.get displayName):
Drive-by style fix: add getter so that CSSStyleDetailsSidebarPanel
doesn't have to read the private property directly.
(WebInspector.SidebarPanel.prototype.shown):
Force a layout whenever the panel is shown.
(WebInspector.SidebarPanel.prototype.sizeDidChange):
(WebInspector.SidebarPanel):
(WebInspector.SidebarPanel.prototype.widthDidChange): Deleted.
- UserInterface/Views/StyleDetailsPanel.js:
(WebInspector.StyleDetailsPanel.prototype.shown):
Schedule a layout when shown. A forced layout isn't necessary.
Unlike SidebarPanels, the initial state of style panels doesn't depend
on its layout, and can be safely initialized by the next rAF.
(WebInspector.StyleDetailsPanel.prototype.hidden):
Cancel a pending layout if the panel is hidden before the next AF.
(WebInspector.StyleDetailsPanel.prototype.widthDidChange): Deleted.
Not needed, defined in View base class.
- UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview.prototype.sizeDidChange):
(WebInspector.TimelineOverview.prototype.layout):
Moved resize logic tosizeDidChange
.
- UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype.sizeDidChange):
(WebInspector.TimelineRuler.prototype.layout):
Moved resize logic tosizeDidChange
.
- UserInterface/Views/View.js:
(WebInspector.View):
(WebInspector.View.prototype.updateLayout):
(WebInspector.View.prototype.cancelLayout):
Allow a pending layout to be canceled. Useful when a view with a
pending layout is hidden before the layout occurs.
(WebInspector.View.prototype.get layoutReason):
Protected getter for subclasses that need to check the layout reason
outsidesizeDidChange
.
(WebInspector.View.prototype.initialLayout):
Subclass hook to create UI subtree the first time a layout occurs.
Called only once during the lifetime of the View.
(WebInspector.View.prototype.layout):
Drive-by comment fix.
(WebInspector.View.prototype.sizeDidChange):
New layout cycle hook for subclasses.
(WebInspector.View.prototype._layoutSubtree):
Do an initial layout the first time layout is called.
Call thesizeDidChange
hook so that subclasses can update state
which depends on size/position before doing layout.
- UserInterface/Views/VisualStyleDetailsPanel.js:
(WebInspector.VisualStyleDetailsPanel):
Create the minimum required initial state and UI elements. Relocate
anything that can be lazy loaded toinitialLayout
.
(WebInspector.VisualStyleDetailsPanel.prototype.refresh):
No changes, shifting line numbers confused the diff.
(WebInspector.VisualStyleDetailsPanel.prototype.initialLayout):
(WebInspector.VisualStyleDetailsPanel.prototype.sizeDidChange):
(WebInspector.VisualStyleDetailsPanel.prototype.widthDidChange): Deleted.
- 12:21 PM Changeset in webkit [201244] by
-
- 2 edits in trunk/Tools
Simulator launch fails intermittently due to failure in checking simulator boot status
https://bugs.webkit.org/show_bug.cgi?id=157965
rdar://problem/26402404
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/xcode/simulator.py:
(Simulator.wait_until_device_is_booted): Ignore CalledProcessError exception while checking
whether simulator has finished booting.
- 11:42 AM Changeset in webkit [201243] by
-
- 3 edits in trunk/Source/WebInspectorUI
Assertion Failed: StyleDetailsPanel.markAsNeedsRefresh() called with null domNode
https://bugs.webkit.org/show_bug.cgi?id=157955
<rdar://problem/26398943>
Reviewed by Timothy Hatcher.
CSSStyleDetailsSidebarPanel
visible
is true while the panel is being
removed from the details sidebar, even after callinghidden()
. This
causes it to refresh its current StyleDetailsPanel with a null DOM node.
Unfortunately, SidebarPanel.visible isn't toggled by calling shown/hidden.
Since SidebarPanel.visible is only true if the panel is selected, we should
deselect panels before removing them.
- UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar.prototype.removeSidebarPanel):
Deselect the panel being removed before calling visibiltyDidChange.
- UserInterface/Views/SidebarPanel.js:
(WebInspector.SidebarPanel.prototype.toggle): Deleted.
(WebInspector.SidebarPanel.prototype.willRemove): Deleted.
Drive-by update to remove some unused methods.
- 10:10 AM Changeset in webkit [201242] by
-
- 3 edits in trunk/Tools
Silence warnings from svn propget when using newer versions of Subversion.
https://bugs.webkit.org/show_bug.cgi?id=157879
Reviewed by Daniel Bates.
- Scripts/prepare-ChangeLog:
(attributeCommand): Redirect svn propget stderr to /dev/null.
- Scripts/svn-create-patch:
(findMimeType): Ditto.
May 20, 2016:
- 11:15 PM Changeset in webkit [201241] by
-
- 2 edits in trunk/Source/WebCore
Fixed USE(APPLE_INTERNAL_SDK) builds.
- platform/cocoa/ThemeCocoa.mm:
(WebCore::fitContextToBox):
- 10:22 PM Changeset in webkit [201240] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening after r201237 exposed an issue.
- 10:17 PM Changeset in webkit [201239] by
-
- 48 edits13 deletes in trunk/Source
Remove LegacyProfiler
https://bugs.webkit.org/show_bug.cgi?id=153565
Reviewed by Mark Lam.
Source/JavaScriptCore:
JavaScriptCore now provides a sampling profiler and it is enabled
by all ports. Web Inspector switched months ago to using the
sampling profiler and displaying its data. Remove the legacy
profiler, as it is no longer being used by anything other then
console.profile and tests. We will update console.profile's
behavior soon to have new behavior and use the sampling data.
- API/JSProfilerPrivate.cpp: Removed.
- API/JSProfilerPrivate.h: Removed.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset): Deleted.
(JSC::computeDefsForBytecodeOffset): Deleted.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode): Deleted.
- bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::generateUnlinkedFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::unlinkedCodeBlockFor):
- bytecode/UnlinkedFunctionExecutable.h:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallVarargs):
(JSC::BytecodeGenerator::emitCallVarargsInTailPosition):
(JSC::BytecodeGenerator::emitConstructVarargs):
(JSC::BytecodeGenerator::emitConstruct):
- bytecompiler/BytecodeGenerator.h:
(JSC::CallArguments::profileHookRegister): Deleted.
(JSC::BytecodeGenerator::shouldEmitProfileHooks): Deleted.
- bytecompiler/NodesCodegen.cpp:
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::CallArguments::CallArguments): Deleted.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): Deleted.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock): Deleted.
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel): Deleted.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize): Deleted.
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC): Deleted.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode): Deleted.
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute): Deleted.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Deleted.
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Deleted.
- inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::callFunctionWithEvalEnabled):
- interpreter/Interpreter.cpp:
(JSC::UnwindFunctor::operator()): Deleted.
(JSC::Interpreter::execute): Deleted.
(JSC::Interpreter::executeCall): Deleted.
(JSC::Interpreter::executeConstruct): Deleted.
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass): Deleted.
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_profile_will_call): Deleted.
(JSC::JIT::emit_op_profile_did_call): Deleted.
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_profile_will_call): Deleted.
(JSC::JIT::emit_op_profile_did_call): Deleted.
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL): Deleted.
- llint/LLIntSlowPaths.h:
- llint/LowLevelInterpreter.asm:
- parser/ParserModes.h:
- profiler/CallIdentifier.h: Removed.
- profiler/LegacyProfiler.cpp: Removed.
- profiler/LegacyProfiler.h: Removed.
- profiler/Profile.cpp: Removed.
- profiler/Profile.h: Removed.
- profiler/ProfileGenerator.cpp: Removed.
- profiler/ProfileGenerator.h: Removed.
- profiler/ProfileNode.cpp: Removed.
- profiler/ProfileNode.h: Removed.
- profiler/ProfilerJettisonReason.cpp:
(WTF::printInternal): Deleted.
- profiler/ProfilerJettisonReason.h:
- runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
(JSC::CodeCache::getModuleProgramCodeBlock):
- runtime/CodeCache.h:
- runtime/Executable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::createProgramCodeBlock):
(JSC::JSGlobalObject::createEvalCodeBlock):
(JSC::JSGlobalObject::createModuleProgramCodeBlock):
(JSC::JSGlobalObject::~JSGlobalObject): Deleted.
(JSC::JSGlobalObject::hasLegacyProfiler): Deleted.
- runtime/JSGlobalObject.h:
- runtime/Options.h:
- runtime/VM.cpp:
(JSC::VM::VM): Deleted.
(JSC::SetEnabledProfilerFunctor::operator()): Deleted.
(JSC::VM::setEnabledProfiler): Deleted.
- runtime/VM.h:
(JSC::VM::enabledProfiler): Deleted.
(JSC::VM::enabledProfilerAddress): Deleted.
Source/WebCore:
- ForwardingHeaders/profiler/Profile.h: Removed.
- ForwardingHeaders/profiler/ProfileNode.h: Removed.
- testing/js/WebCoreTestSupport.cpp:
- xml/XSLStyleSheetLibxslt.cpp:
- xml/XSLTProcessorLibxslt.cpp:
- 8:57 PM Changeset in webkit [201238] by
-
- 6 edits in trunk
run-benchmark's results should contain Animometer's debug output
https://bugs.webkit.org/show_bug.cgi?id=157941
Reviewed by Stephanie Lewis.
PerformanceTests:
Made developer.html support the JSON generated by run-benchmark which stores everything under debugOutput.
- Animometer/resources/debug-runner/animometer.js:
(Utilities.initialize): Unwrap debugOutput in the case run-benchmark's result JSON is used.
Tools:
Modified the Animometer patch to store debug output and made benchmark_runner extract them together as a single array.
The result can be dragged and dropped into Animometer's developer.html page.
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner._run_one_test): Parse JSON here instead of doing it in multiple call sites.
(BenchmarkRunner._run_benchmark): Strip debugOutput from individual test result, and merge them together separately.
- Scripts/webkitpy/benchmark_runner/data/patches/Animometer.patch:
Modified the patch to store the debug output.
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:
(ServerControl.render_POST): Fixed a bug that POST to /report results in 500 because getvalue is not defined
when the request body is larger than a certain size on twisted.
- 7:00 PM Changeset in webkit [201237] by
-
- 51 edits8 deletes in trunk
Remove LegacyProfiler
https://bugs.webkit.org/show_bug.cgi?id=153565
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-20
Reviewed by Saam Barati.
.:
- ManualTests/inspector/profiler-test-call.html: Removed.
- ManualTests/inspector/profiler-test-many-calls-in-the-same-scope.html: Removed.
Source/JavaScriptCore:
- inspector/protocol/Timeline.json:
- jsc.cpp:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::hasLegacyProfiler):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::supportsLegacyProfiling): Deleted.
Source/WebCore:
JavaScriptCore now provides a sampling profiler and it is enabled
by all ports. Web Inspector switched months ago to using the
sampling profiler and displaying its data. Remove the legacy
profiler, as it is no longer being used by anything other then
console.profile and tests. We will update console.profile's
behavior soon to have new behavior and use the sampling data.
- CMakeLists.txt:
- DerivedSources.cpp:
- DerivedSources.make:
- ForwardingHeaders/profiler/LegacyProfiler.h: Removed.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSCustomXPathNSResolver.cpp:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::supportsLegacyProfiling): Deleted.
(WebCore::JSDOMWindowBase::supportsRichSourceInfo): Deleted.
- bindings/js/JSDOMWindowBase.h:
- bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::supportsLegacyProfiling): Deleted.
- bindings/js/JSWorkerGlobalScopeBase.h:
- bindings/js/ScriptCachedFrameData.cpp:
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::clearWindowShell): Deleted.
- bindings/js/ScriptProfile.h: Removed.
- bindings/js/ScriptProfileNode.h: Removed.
- bindings/scripts/CodeGeneratorJS.pm:
(AddClassForwardIfNeeded): Deleted.
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg): Deleted.
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence): Deleted.
- bindings/scripts/test/TestObj.idl:
- css/CSSParser.cpp:
- dom/Document.cpp:
- inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::stopProfiling):
- inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::legacyProfilerEnabled): Deleted.
(WebCore::InspectorController::setLegacyProfilerEnabled): Deleted.
- inspector/InspectorController.h:
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::stopProfilingImpl):
- inspector/InspectorInstrumentation.h:
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):
- inspector/InspectorTimelineAgent.h:
- inspector/PageDebuggerAgent.cpp:
- inspector/PageRuntimeAgent.cpp:
- inspector/ScriptProfile.idl: Removed.
- inspector/ScriptProfileNode.idl: Removed.
- inspector/TimelineRecordFactory.cpp:
(WebCore::buildAggregateCallInfoInspectorObject): Deleted.
(WebCore::buildInspectorObject): Deleted.
(WebCore::buildProfileInspectorObject): Deleted.
(WebCore::TimelineRecordFactory::appendProfile): Deleted.
- inspector/TimelineRecordFactory.h:
- page/DOMWindow.cpp:
- page/Page.cpp:
- page/PageConsoleClient.cpp:
(WebCore::PageConsoleClient::profileEnd):
(WebCore::PageConsoleClient::clearProfiles): Deleted.
- page/PageConsoleClient.h:
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState): Deleted.
(WebCore::Internals::consoleProfiles): Deleted.
(WebCore::Internals::setLegacyJavaScriptProfilingEnabled): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit/win:
- Interfaces/IWebInspector.idl:
- WebCoreStatistics.cpp:
- WebInspector.cpp:
(WebInspector::isJavaScriptProfilingEnabled): Deleted.
(WebInspector::setJavaScriptProfilingEnabled): Deleted.
- WebInspector.h:
- WebView.cpp:
LayoutTests:
- fast/profiler/anonymous-event-handler-expected.txt: Removed.
- fast/profiler/anonymous-event-handler.html: Removed.
- fast/profiler/anonymous-function-called-from-different-contexts-expected.txt: Removed.
- fast/profiler/anonymous-function-called-from-different-contexts.html: Removed.
- fast/profiler/anonymous-function-calls-built-in-functions-expected.txt: Removed.
- fast/profiler/anonymous-function-calls-built-in-functions.html: Removed.
- fast/profiler/anonymous-function-calls-eval-expected.txt: Removed.
- fast/profiler/anonymous-function-calls-eval.html: Removed.
- fast/profiler/anonymous-functions-with-display-names-expected.txt: Removed.
- fast/profiler/anonymous-functions-with-display-names.html: Removed.
- fast/profiler/apply-expected.txt: Removed.
- fast/profiler/apply.html: Removed.
- fast/profiler/built-in-function-calls-anonymous-expected.txt: Removed.
- fast/profiler/built-in-function-calls-anonymous.html: Removed.
- fast/profiler/built-in-function-calls-user-defined-function-expected.txt: Removed.
- fast/profiler/built-in-function-calls-user-defined-function.html: Removed.
- fast/profiler/call-expected.txt: Removed.
- fast/profiler/call-register-leak-expected.txt: Removed.
- fast/profiler/call-register-leak.html: Removed.
- fast/profiler/call.html: Removed.
- fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt: Removed.
- fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
- fast/profiler/compare-multiple-profiles-expected.txt: Removed.
- fast/profiler/compare-multiple-profiles.html: Removed.
- fast/profiler/constructor-expected.txt: Removed.
- fast/profiler/constructor.html: Removed.
- fast/profiler/dead-time-expected.txt: Removed.
- fast/profiler/dead-time.html: Removed.
- fast/profiler/document-dot-write-expected.txt: Removed.
- fast/profiler/document-dot-write.html: Removed.
- fast/profiler/event-handler-expected.txt: Removed.
- fast/profiler/event-handler.html: Removed.
- fast/profiler/execution-context-and-eval-on-same-line-expected.txt: Removed.
- fast/profiler/execution-context-and-eval-on-same-line.html: Removed.
- fast/profiler/inline-event-handler-expected.txt: Removed.
- fast/profiler/inline-event-handler.html: Removed.
- fast/profiler/many-calls-in-the-same-scope-expected.txt: Removed.
- fast/profiler/many-calls-in-the-same-scope.html: Removed.
- fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt: Removed.
- fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html: Removed.
- fast/profiler/multiple-and-different-scoped-function-calls-expected.txt: Removed.
- fast/profiler/multiple-and-different-scoped-function-calls.html: Removed.
- fast/profiler/multiple-anonymous-functions-called-from-the-same-function-expected.txt: Removed.
- fast/profiler/multiple-anonymous-functions-called-from-the-same-function.html: Removed.
- fast/profiler/multiple-frames-expected.txt: Removed.
- fast/profiler/multiple-frames.html: Removed.
- fast/profiler/named-functions-with-display-names-expected.txt: Removed.
- fast/profiler/named-functions-with-display-names.html: Removed.
- fast/profiler/nested-anonymous-functon-expected.txt: Removed.
- fast/profiler/nested-anonymous-functon.html: Removed.
- fast/profiler/nested-start-and-stop-profiler-expected.txt: Removed.
- fast/profiler/nested-start-and-stop-profiler.html: Removed.
- fast/profiler/no-execution-context-expected.txt: Removed.
- fast/profiler/no-execution-context.html: Removed.
- fast/profiler/one-execution-context-expected.txt: Removed.
- fast/profiler/one-execution-context.html: Removed.
- fast/profiler/profile-calls-in-included-file-expected.txt: Removed.
- fast/profiler/profile-calls-in-included-file.html: Removed.
- fast/profiler/profile-with-no-title-expected.txt: Removed.
- fast/profiler/profile-with-no-title.html: Removed.
- fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt: Removed.
- fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
- fast/profiler/profiling-from-a-nested-location-expected.txt: Removed.
- fast/profiler/profiling-from-a-nested-location.html: Removed.
- fast/profiler/resources/other-frame.html: Removed.
- fast/profiler/resources/other-window.html: Removed.
- fast/profiler/resources/profiler-test-JS-resources.js: Removed.
- fast/profiler/simple-event-call-expected.txt: Removed.
- fast/profiler/simple-event-call.html: Removed.
- fast/profiler/simple-no-level-change-expected.txt: Removed.
- fast/profiler/simple-no-level-change.html: Removed.
- fast/profiler/start-and-stop-profiler-multiple-times-expected.txt: Removed.
- fast/profiler/start-and-stop-profiler-multiple-times.html: Removed.
- fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt: Removed.
- fast/profiler/start-and-stop-profiling-in-the-same-function.html: Removed.
- fast/profiler/start-but-dont-stop-profiling-expected.txt: Removed.
- fast/profiler/start-but-dont-stop-profiling.html: Removed.
- fast/profiler/stop-profiling-after-setTimeout-expected.txt: Removed.
- fast/profiler/stop-profiling-after-setTimeout.html: Removed.
- fast/profiler/stop-then-function-call-expected.txt: Removed.
- fast/profiler/stop-then-function-call.html: Removed.
- fast/profiler/throw-exception-from-eval-expected.txt: Removed.
- fast/profiler/throw-exception-from-eval.html-disabled: Removed.
- fast/profiler/two-execution-contexts-expected.txt: Removed.
- fast/profiler/two-execution-contexts.html: Removed.
- fast/profiler/user-defined-function-calls-built-in-functions-expected.txt: Removed.
- fast/profiler/user-defined-function-calls-built-in-functions.html: Removed.
- fast/profiler/window-dot-eval-expected.txt: Removed.
- fast/profiler/window-dot-eval.html: Removed.
- platform/efl/TestExpectations:
- platform/gtk/TestExpectations:
- platform/ios-simulator/TestExpectations:
- 6:17 PM Changeset in webkit [201236] by
-
- 1 copy in tags/Safari-602.1.32.4
New tag.
- 5:17 PM Changeset in webkit [201235] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSScope::abstractAccess doesn't need to copy the SymbolTableEntry, it can use it by reference
https://bugs.webkit.org/show_bug.cgi?id=157956
Reviewed by Geoffrey Garen.
A SymbolTableEntry may be a FatEntry. Copying a FatEntry is slow because we have to
malloc memory for it, then free the malloced memory once the entry goes out of
scope. abstractAccess uses a SymbolTableEntry temporarily when performing scope
accesses during bytecode linking. It copies out the SymbolTableEntry every time
it does a SymbolTable lookup. This is not cheap when the entry happens to be a
FatEntry. We should really just be using a reference to the entry because
there is no need to copy it in such a scenario.
- runtime/JSScope.cpp:
(JSC::abstractAccess):
- 4:56 PM Changeset in webkit [201234] by
-
- 12 edits4 adds in trunk
width: 1%
on nested table cell causes its table to hog horizontal space
https://bugs.webkit.org/show_bug.cgi?id=144696
<rdar://problem/20839572>
Reviewed by David Hyatt and Tim Horton.
This patch is based on https://chromium.googlesource.com/chromium/src/+/9428cfb16993a2329e87c65da096ca295132ef0f
Source/WebCore:
Tests: fast/table/inner-percent-width-affects-outer-floated-div.html
fast/table/inner-percent-width-doesnt-affect-ancestor-columns.html
- rendering/AutoTableLayout.cpp:
(WebCore::shouldScaleColumnsForParent):
(WebCore::shouldScaleColumnsForSelf):
(WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
(WebCore::shouldScaleColumns): Deleted.
- rendering/AutoTableLayout.h:
- rendering/RenderTable.cpp:
(WebCore::RenderTable::updateLogicalWidth):
- rendering/TableLayout.h:
(WebCore::TableLayout::scaledWidthFromPercentColumns):
LayoutTests:
- fast/table/inner-percent-width-affects-outer-floated-div-expected.html: Added.
- fast/table/inner-percent-width-affects-outer-floated-div.html: Added.
- fast/table/inner-percent-width-doesnt-affect-ancestor-columns-expected.html: Added.
- fast/table/inner-percent-width-doesnt-affect-ancestor-columns.html: Added.
- platform/mac/fast/table/border-collapsing/cached-change-row-border-width-expected.txt:
- platform/mac/fast/table/border-collapsing/cached-change-tbody-border-width-expected.txt:
- platform/mac/fast/table/max-width-integer-overflow-expected.txt:
- 4:46 PM Changeset in webkit [201233] by
-
- 2 edits in trunk/Source/WebCore
Inconsistent state in playback controls
https://bugs.webkit.org/show_bug.cgi?id=157962
<rdar://problem/26397571>
Reviewed by Beth Dakin.
Do not use the playbackSessionManager() as the model, that's what the model is for.
- platform/mac/WebPlaybackSessionInterfaceMac.mm:
(WebCore::WebPlaybackSessionInterfaceMac::setClient):
- 4:15 PM Changeset in webkit [201232] by
-
- 7 edits3 adds in trunk
Modern IDB: Properly handle blobs in Workers.
https://bugs.webkit.org/show_bug.cgi?id=157947
Reviewed by Alex Christensen.
Source/WebCore:
Test: storage/indexeddb/modern/blob-simple-workers.html
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::putOrAddOnServer): Use writeBlobsToDiskForIndexedDBSynchronously from
background threads instead of the asynchronous form.
Add ability to set an existing empty IDBValue to be an isolated copy of a different IDBValue:
- Modules/indexeddb/IDBValue.cpp:
(WebCore::IDBValue::setAsIsolatedCopy):
(WebCore::IDBValue::isolatedCopy):
- Modules/indexeddb/IDBValue.h:
Add a method - only to be called from a non-main thread - that synchronously writes blobs to disk:
- bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDBSynchronously):
- bindings/js/SerializedScriptValue.h:
LayoutTests:
- storage/indexeddb/modern/blob-simple-workers-expected.txt: Added.
- storage/indexeddb/modern/blob-simple-workers.html: Added.
- storage/indexeddb/modern/resources/blob-simple-workers.js: Added.
- 3:53 PM Changeset in webkit [201231] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION(r200740): Web Inspector: TimelineRecordBar class lists not properly cleared, bleeding colors when zooming in and out
https://bugs.webkit.org/show_bug.cgi?id=157959
<rdar://problem/26393067>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-20
Reviewed by Brian Burg.
- UserInterface/Views/TimelineRecordBar.js:
(WebInspector.TimelineRecordBar.prototype.set records):
When records are cleared, clear all classes.
- 3:31 PM Changeset in webkit [201230] by
-
- 7 edits2 adds in branches/safari-602.1.32-branch
Merge r201227. rdar://problem/24577706
- 3:28 PM Changeset in webkit [201229] by
-
- 2 edits in trunk/Source/WebCore
Allow named images on iOS
https://bugs.webkit.org/show_bug.cgi?id=157960
rdar://problem/26396532
Reviewed by Dean Jackson.
USE(NEW_THEME) is false on iOS so force named images to be drawn by checking PLATFORM(IOS) as well.
- platform/graphics/NamedImageGeneratedImage.cpp:
(WebCore::NamedImageGeneratedImage::draw):
- 3:10 PM Changeset in webkit [201228] by
-
- 4 edits3 adds in trunk
[Cocoa] REGRESSION(r184899): Ascent adjustments are applied to web fonts
https://bugs.webkit.org/show_bug.cgi?id=157954
<rdar://problem/24204349>
Reviewed by Dean Jackson.
Source/WebCore:
There are a few specific fonts which exist on Windows and Cocoa OSes, and we will adjust
the ascents of these fonts to better match their counterparts on Windows. However, in
r184899, we started applying this adjustment to web fonts too.
Test: fast/text/ascent-adjustment-webfont.html
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformInit):
- svg/SVGToOTFFontConversion.cpp: We were reporting the length of font names wrong, so
it made the test pass without this patch even when it shouldn't have. Previously, we
were recording the number of characters in the font, not the number of bytes (each
character is 2 bytes).
LayoutTests:
- fast/text/ascent-adjustment-webfont-expected-mismatch.html: Added.
- fast/text/ascent-adjustment-webfont.html: Added.
- fast/text/resources/Helvetica-light.svg: Added.
- 3:05 PM Changeset in webkit [201227] by
-
- 7 edits2 adds in trunk
Drag cannot start if no drag data or custom data is available in the Pasteboard.
https://bugs.webkit.org/show_bug.cgi?id=157911
rdar://problem/24577706
Reviewed by Tim Horton.
Source/WebKit/mac:
We need to make sure there is always one item in common between source and target
of the drag and drop operation.
- WebView/WebHTMLView.mm:
(-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
Source/WebKit2:
We need to make sure there is always one item in common between source and target
of the drag and drop operation.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::dragImageForView):
LayoutTests:
- fast/events/draggable-div-customdata-expected.txt: Added.
- fast/events/draggable-div-customdata.html: Added.
- platform/ios-simulator/TestExpectations
- platform/mac-wk2/TestExpectations
- 2:47 PM Changeset in webkit [201226] by
-
- 3 edits1 add in trunk/Source/JavaScriptCore
Web Inspector: retained size for typed arrays does not count native backing store
https://bugs.webkit.org/show_bug.cgi?id=157945
<rdar://problem/26392238>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-20
Reviewed by Geoffrey Garen.
- runtime/JSArrayBuffer.h:
- runtime/JSArrayBuffer.cpp:
(JSC::JSArrayBuffer::estimatedSize):
Include an estimatedSize implementation for JSArrayBuffer.
ArrayBuffer has a unique path, different from other data
stored in the Heap.
- tests/heapProfiler/typed-array-sizes.js: Added.
Test sizes of TypedArray with and without an ArrayBuffer.
When the TypedArray is a view wrapping an ArrayBuffer, the
ArrayBuffer has the size.
- 2:17 PM Changeset in webkit [201225] by
-
- 3 edits in trunk/Source/JavaScriptCore
reifyAllStaticProperties makes two copies of every string
https://bugs.webkit.org/show_bug.cgi?id=157953
Reviewed by Mark Lam.
Let's not do that.
- runtime/JSObject.cpp:
(JSC::JSObject::reifyAllStaticProperties): Pass our Identifier to
reifyStaticProperty so it doesn't have to make its own.
- runtime/Lookup.h:
(JSC::reifyStaticProperty): No need to null check because callers never
pass null anymore. No need to make an identifier because callers pass
us one.
(JSC::reifyStaticProperties): Honor new interface.
- 2:17 PM Changeset in webkit [201224] by
-
- 19 edits in trunk/Source
Remove unnecessary PageOverlay client function pageOverlayDestroyed
https://bugs.webkit.org/show_bug.cgi?id=157388
<rdar://problem/25471523>
Patch by John Wilander <wilander@apple.com> on 2016-05-20
Reviewed by Tim Horton.
Remove dead PageOverlay code. Almost all of these overrides were empty and
never called. In the case of WebPageOverlay it was never called but had a
function body, causing confusion. There was a fear of dangling pointers in
WebPageOverlay's static hash map between PageOverlays and WebPageOverlays.
Only WebPageOverlay's constructor creates its PageOverlay object and adds it
to the hash map. Its client object is kept in a unique pointer member which
is automatically deleted when the WebPageOverlay object itself is deleted.
This explains why PageOverlayClientImpl::pageOverlayDestroyed in
WKBundlePageOverlay can safely be removed. Finally, WebPageOverlay's
destructor clears the hash map entry for its PageOverlay object. Thus, there
is no need to call WebPageOverlay::pageOverlayDestroyed nor a need for
WebPageOverlay's destructor to call pageOverlayDestroyed on its client.
No new tests. I tried to come up with a WebKit API test for this but I
wasn't able to test presence/absence of WebPageOverlay's map entries since
the map is not exposed.
Source/WebCore:
- page/DebugPageOverlays.cpp:
(WebCore::RegionOverlay::pageOverlayDestroyed): Deleted.
- page/PageOverlay.h:
(WebCore::PageOverlay::Client::pageOverlayDestroyed): Deleted.
- page/ResourceUsageOverlay.h:
(WebCore::ResourceUsageOverlay::pageOverlayDestroyed): Deleted.
- page/mac/ServicesOverlayController.h:
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::pageOverlayDestroyed): Deleted.
- testing/MockPageOverlayClient.cpp:
- testing/MockPageOverlayClient.h:
(WebCore::MockPageOverlayClient::pageOverlayDestroyed): Deleted.
Source/WebKit2:
- WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
(WebKit::PageOverlayClientImpl::pageOverlayDestroyed): Deleted.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::HUD::pageOverlayDestroyed): Deleted.
- WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- WebProcess/WebCoreSupport/WebInspectorClient.h:
(WebKit::WebInspectorClient::pageOverlayDestroyed): Deleted.
- WebProcess/WebPage/FindController.cpp:
- WebProcess/WebPage/FindController.h:
(WebKit::FindController::pageOverlayDestroyed): Deleted.
- WebProcess/WebPage/WebPageOverlay.cpp:
- WebProcess/WebPage/WebPageOverlay.h:
(WebKit::WebPageOverlay::pageOverlayDestroyed): Deleted.
- WebProcess/WebPage/ios/FindIndicatorOverlayClientIOS.h:
(WebKit::FindIndicatorOverlayClientIOS::pageOverlayDestroyed): Deleted.
- 1:43 PM Changeset in webkit [201223] by
-
- 6 edits2 adds in trunk
Fix null dereferencing in CSSAnimationTriggerScrollValue::equals
https://bugs.webkit.org/show_bug.cgi?id=157930
Patch by Alex Christensen <achristensen@webkit.org> on 2016-05-20
Reviewed by Dean Jackson.
Source/WebCore:
Test: fast/css/compare-animation-trigger.html
- css/CSSAnimationTriggerScrollValue.cpp:
(WebCore::CSSAnimationTriggerScrollValue::equals):
- css/CSSAnimationTriggerScrollValue.h:
(WebCore::CSSAnimationTriggerScrollValue::create):
(WebCore::CSSAnimationTriggerScrollValue::startValue):
(WebCore::CSSAnimationTriggerScrollValue::endValue):
(WebCore::CSSAnimationTriggerScrollValue::hasEndValue):
(WebCore::CSSAnimationTriggerScrollValue::operator==):
(WebCore::CSSAnimationTriggerScrollValue::CSSAnimationTriggerScrollValue):
- css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapAnimationTrigger):
- css/CSSValue.h:
(WebCore::CSSValue::operator==):
LayoutTests:
- fast/css/compare-animation-trigger-expected.txt: Added.
- fast/css/compare-animation-trigger.html: Added.
- 12:36 PM Changeset in webkit [201222] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Split Console is auto opening all the time when using Inspect Element context menu
https://bugs.webkit.org/show_bug.cgi?id=157910
<rdar://problem/26374066>
Reviewed by Timothy Hatcher.
Currently, "synthetic" property is only used to decide whether adding a console message should
open the console or not. Replace it with "shouldRevealConsole".
- UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype.inspectNodeObject.nodeAvailable):
(WebInspector.DOMTreeManager.prototype.inspectNodeObject):
- UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult.saveResultCallback):
(WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult):
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted.printResult):
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
(WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView):
- UserInterface/Models/ConsoleCommandResultMessage.js:
(WebInspector.ConsoleCommandResultMessage):
(WebInspector.ConsoleCommandResultMessage.prototype.get shouldRevealConsole):
(WebInspector.ConsoleCommandResultMessage.prototype.get synthetic): Deleted.
- UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
(WebInspector.HeapSnapshotInstanceDataGridNode.logHeapSnapshotNode.node.shortestGCRootPath.):
(WebInspector.HeapSnapshotInstanceDataGridNode.logHeapSnapshotNode):
- 12:13 PM Changeset in webkit [201221] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSBench regression: CodeBlock linking always copies the symbol table
https://bugs.webkit.org/show_bug.cgi?id=157951
Reviewed by Saam Barati.
We always put a SymbolTable into the constant pool, even in simple
functions in which it won't be used -- i.e., there's on eval and there
are no captured variables and so on.
This is costly because linking must copy any provided symbol tables.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitProfileType): Only add the symbol table
as a constant if we will use it at runtime.
- 12:07 PM Changeset in webkit [201220] by
-
- 2 edits in tags/Safari-602.1.33.1/Source/WebCore
Merged r201212. rdar://problem/26385907
- 12:06 PM Changeset in webkit [201219] by
-
- 5 edits in tags/Safari-602.1.33.1/Source
Versioning.
- 11:48 AM Changeset in webkit [201218] by
-
- 3 edits2 adds in trunk
Scrolling broken in iTunes connect pages
https://bugs.webkit.org/show_bug.cgi?id=157678
Reviewed by Zalan Bujtas.
Source/WebCore:
Added fast/flexbox/nested-columns-min-intrinsic-disabled.html
Turn off minimum intrinsic size adjustment for flexboxes. This violates the spec,
but until we can produce good results that is what we need to do. Blink has also
turned off nested columns intrinsic sizing as well, so we match them with this
change.
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
LayoutTests:
- fast/flexbox/nested-column-intrinsic-min-disabled-expected.html: Added.
- fast/flexbox/nested-column-intrinsic-min-disabled.html: Added.
- 11:44 AM Changeset in webkit [201217] by
-
- 1 copy in tags/Safari-602.1.33.1
New tag.
- 11:34 AM Changeset in webkit [201216] by
-
- 60 edits1 move19 deletes in trunk/LayoutTests
AX: Layout tests related to text alternative computation need to be done differently
https://bugs.webkit.org/show_bug.cgi?id=157187
Create several utility methods to facilitate retrieval of platform-independent
attribute values from platform-specific attributes:
- platformValueForW3CName() and platformValueForW3CDescription() to retrieve a specific piece of text alternative information, stripping off the platform attribute name by default. These methods should make it possible to share tests and expectations files because the text alternative calculation defined by the W3C accessibility specifications should be the same for all platforms. (The differences are the result of the unique platform mappings.)
- platformTextAlternatives() to dump out all the text alternative attributes and values, preserving the platform-specific attribute name. This, along with the use of the platformValue* methods with attribute name enabled, should make it possible to have shared tests with platform-specific expectations without the need to check the platform in the test itself.
- platformRoleForComboBox() and platformRoleForStaticText() to eliminate the need for platform-specific expectations files simply because such an element happens to be included in the test file and verifying that element's role is desired.
Begin using these methods in the tests related to text alternative computation
which had platform-specific checks, update the expectations files when needed,
and remove now-obsolete platform-specific expectations files.
Reviewed by Chris Fleizach.
- accessibility/alt-tag-on-image-with-nonimage-role-expected.txt: Updated.
- accessibility/alt-tag-on-image-with-nonimage-role.html: Updated.
- accessibility/aria-help-expected.txt: Added.
- accessibility/aria-help.html: Updated.
- accessibility/aria-label-expected.txt: Updated.
- accessibility/aria-label.html: Updated.
- accessibility/aria-labeled-with-hidden-node-expected.txt: Updated.
- accessibility/aria-labeled-with-hidden-node.html: Updated.
- accessibility/aria-labelledby-on-input-expected.txt: Updated.
- accessibility/aria-labelledby-on-input.html: Updated.
- accessibility/aria-labelledby-overrides-aria-labeledby-expected.txt: Updated.
- accessibility/aria-labelledby-overrides-aria-labeledby.html: Updated.
- accessibility/aria-labelledby-overrides-label-expected.txt: Updated.
- accessibility/aria-labelledby-overrides-label.html: Updated.
- accessibility/aria-labelledby-stay-within-expected.txt: Updated.
- accessibility/aria-labelledby-stay-within.html: Updated.
- accessibility/aria-labelledby-with-descendants-expected.txt: Updated.
- accessibility/aria-labelledby-with-descendants.html: Updated.
- accessibility/aria-namefrom-author-expected.txt: Updated.
- accessibility/aria-namefrom-author.html: Updated.
- accessibility/aria-text-role-expected.txt: Updated.
- accessibility/aria-text-role.html: Updated.
- accessibility/canvas-description-and-role-expected.txt: Updated.
- accessibility/canvas-description-and-role.html: Updated.
- accessibility/canvas-fallback-content.html: Updated.
- accessibility/empty-image-with-title-expected.txt: Updated.
- accessibility/empty-image-with-title.html: Updated.
- accessibility/fieldset-element-expected.txt: Updated.
- accessibility/fieldset-element.html: Updated.
- accessibility/focusable-div-expected.txt: Updated.
- accessibility/focusable-div.html: Updated.
- accessibility/help-text.html: Updated.
- accessibility/img-alt-tag-only-whitespace-expected.txt: Updated.
- accessibility/img-alt-tag-only-whitespace.html: Updated.
- accessibility/img-aria-button-alt-tag-expected.txt: Updated.
- accessibility/img-aria-button-alt-tag.html: Updated.
- accessibility/img-fallsback-to-title.html: Updated.
- accessibility/input-image-alt-expected.txt: Updated.
- accessibility/input-image-alt.html: Updated.
- accessibility/loading-iframe-sends-notification.html: Updated.
- accessibility/self-referencing-aria-labelledby-expected.txt: Updated.
- accessibility/self-referencing-aria-labelledby.html: Updated.
- accessibility/svg-bounds.html: Updated.
- accessibility/svg-group-element-with-title-expected.txt: Updated.
- accessibility/svg-group-element-with-title.html: Updated.
- accessibility/svg-image-expected.txt: Updated.
- accessibility/svg-image.html: Updated.
- accessibility/svg-labelledby-expected.txt: Updated.
- accessibility/svg-labelledby.html: Updated.
- accessibility/svg-remote-element.html: Updated.
- accessibility/w3c-svg-description-calculation.html: Updated.
- accessibility/w3c-svg-name-calculation.html: Updated.
- platform/gtk/accessibility/alt-tag-on-image-with-nonimage-role-expected.txt: Removed.
- platform/gtk/accessibility/aria-labeled-with-hidden-node-expected.txt: Removed.
- platform/gtk/accessibility/aria-labelledby-on-input-expected.txt: Removed.
- platform/gtk/accessibility/aria-labelledby-overrides-aria-labeledby-expected.txt: Removed.
- platform/gtk/accessibility/aria-labelledby-overrides-label-expected.txt: Updated.
- platform/gtk/accessibility/aria-labelledby-with-descendants-expected.txt: Removed.
- platform/gtk/accessibility/aria-namefrom-author-expected.txt: Removed.
- platform/gtk/accessibility/aria-text-role-expected.txt: Removed.
- platform/gtk/accessibility/canvas-description-and-role-expected.txt: Updated.
- platform/gtk/accessibility/empty-image-with-title-expected.txt: Updated.
- platform/gtk/accessibility/fieldset-element-expected.txt: Removed.
- platform/gtk/accessibility/focusable-div-expected.txt: Removed.
- platform/gtk/accessibility/img-alt-tag-only-whitespace-expected.txt: Removed.
- platform/gtk/accessibility/img-aria-button-alt-tag-expected.txt: Removed.
- platform/gtk/accessibility/img-fallsback-to-title-expected.txt: Updated.
- platform/gtk/accessibility/input-image-alt-expected.txt: Removed.
- platform/gtk/accessibility/self-referencing-aria-labelledby-expected.txt: Removed.
- platform/gtk/accessibility/svg-group-element-with-title-expected.txt: Removed.
- platform/gtk/accessibility/svg-image-expected.txt: Removed.
- platform/gtk/accessibility/svg-labelledby-expected.txt: Removed.
- platform/mac/accessibility/aria-help-expected.txt: Removed.
- platform/mac/accessibility/aria-labelledby-overrides-label-expected.txt: Removed.
- platform/mac/accessibility/canvas-description-and-role-expected.txt: Updated.
- platform/mac/accessibility/fieldset-element-expected.txt: Removed.
- platform/mac/accessibility/img-fallsback-to-title-expected.txt: Updated.
- platform/win/accessibility/canvas-description-and-role-expected.txt: Updated.
- resources/accessibility-helper.js:
(platformValueForW3CName): Added.
(platformValueForW3CDescription): Added.
(platformTextAlternatives): Added.
(platformRoleForComboBox): Added.
(platformRoleForStaticText): Added.
- 10:09 AM Changeset in webkit [201215] by
-
- 2 edits in trunk/Tools
Use clearer names for JSON output of javascriptcore test results
https://bugs.webkit.org/show_bug.cgi?id=157921
Patch by Srinivasan Vijayaraghavan <svijayaraghavan@apple.com> on 2016-05-20
Reviewed by Alexey Proskuryakov.
"failures" and "apiTestResult" were somewhat ambiguous names.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests): "failures" -> "stressFailures", "apiTestResult" -> "allApiTestsPassed".
- 10:02 AM Changeset in webkit [201214] by
-
- 2 edits in trunk/Tools
Unreviewed, fix API test introduced in r201213.
- TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::TEST):
- 7:42 AM Changeset in webkit [201213] by
-
- 7 edits in trunk
Implement operator== for WeakPtr
https://bugs.webkit.org/show_bug.cgi?id=157883
Patch by Rawinder Singh <rawinder.singh-webkit@cisra.canon.com.au> on 2016-05-20
Reviewed by Chris Dumez.
Implement operator== and operator!= for WeakPtr and update code to use the operators.
Source/WebCore:
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::updateLastScrollbarUnderMouse):
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::platformCompleteWheelEvent):
Source/WTF:
- wtf/WeakPtr.h:
(WTF::operator==):
(WTF::operator!=):
Tools:
- TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::TEST):
May 19, 2016:
- 11:35 PM Changeset in webkit [201212] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r200638): -[DOMHTMLVideoElement play] disappeared from ObjC bindings
https://bugs.webkit.org/show_bug.cgi?id=157940
<rdar://problem/26385907>
Reviewed by Dan Bernstein.
- html/HTMLMediaElement.idl:
Drop the return value of play from the ObjC bindings, because the bindings
generator doesn't seem to know what to do with a Promise.
- 11:32 PM Changeset in webkit [201211] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Can't resume Debugger after breaking on exception in Promise
https://bugs.webkit.org/show_bug.cgi?id=157240
<rdar://problem/26030890>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-19
Reviewed by Timothy Hatcher.
If we pause but have no source code to show we paused in purely internal
code. In such cases we were attempting to resume without actually
telling the backend to resume, so the backend and frontend were out of
sync. The frontend thinking it is "paused" without an activeCallFrame
and the backend actually being paused.
This change more gracefully handles this situation. It actually resumes
both the frontend and the backend.
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
Resume the backend and the frontend.
(WebInspector.DebuggerManager.prototype._didResumeInternal):
Don't look at the active call frame, look at the paused state.
This may issue a Resumed event without actually triggering a
Paused event if this was the only pause, but that is harmless.
- 11:31 PM Changeset in webkit [201210] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Main Resource with <scripts> not showing up in debugger sidebar after reload
https://bugs.webkit.org/show_bug.cgi?id=157939
<rdar://problem/26385691>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-19
Reviewed by Timothy Hatcher.
The order of events on a reload are:
- MainResourceChanged, add main resource
- ScriptsCleared, remove all elements
This change makes it so ScriptsCleared add the main resource (and
potentially other resources). This also avoids the work in
MainResourceChanged on reloads / navigations that would be wasted if
ScriptsCleared were to just remove it. However, this is still needed
for initial load where ScriptsCleared does not happen.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype._mainResourceDidChange):
Only add the main resource tree here when we are first loading.
(WebInspector.DebuggerSidebarPanel.prototype._scriptsCleared):
Add the main resource tree after we remove all children in navigations.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange):
This was not gracefully handling if there was no selected tree element.
- 9:13 PM Changeset in webkit [201209] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Visual Style connectors are not always centered properly
https://bugs.webkit.org/show_bug.cgi?id=157932
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-19
Reviewed by Timothy Hatcher.
- UserInterface/Views/VisualStylePropertyEditorLink.css:
(.visual-style-property-editor-link):
Remove the 1px margin on @2x that would cause jitter at different
sidebar widths. It is however needed on @1x.
(.visual-style-property-editor-link:not(.link-all)):
Make the height 20 so these both move closer to the center of the
<select> elements they are next to. They are not perfectly centered
as that would require a half pixel.
(.visual-style-property-editor-link.link-vertical):
Move the top line up a pixel so it is "up 0.5" from center and
the bottom one is already "down 0.5" from the center.
- 7:44 PM Changeset in webkit [201208] by
-
- 21 edits in trunk/Source/JavaScriptCore
[JSC] Improve int->float conversion in FTL
https://bugs.webkit.org/show_bug.cgi?id=157936
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-05-19
Reviewed by Filip Pizlo.
The integer -> floating point lowering was very barebone.
For example, converting a constant integer to double
was doing:
mov #const, %eax
xor %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
Conversion from integer to float was also missing.
We were always converting to double then rounding the double
to float.
This patch adds the basics:
-Constant folding.
-Integer to Float opcode.
-Reducing int->double to int->float when used by DoubleToFloat.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::convertInt32ToFloat):
- assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::convertInt64ToDouble):
(JSC::MacroAssemblerX86_64::convertInt64ToFloat):
- assembler/X86Assembler.h:
(JSC::X86Assembler::cvtsi2ss_rr):
(JSC::X86Assembler::cvtsi2ssq_rr):
(JSC::X86Assembler::cvtsi2sdq_mr):
(JSC::X86Assembler::cvtsi2ssq_mr):
(JSC::X86Assembler::cvtsi2ss_mr):
- assembler/MacroAssemblerARM64.h:
- b3/B3Const32Value.cpp:
(JSC::B3::Const32Value::iToDConstant):
(JSC::B3::Const32Value::iToFConstant):
- b3/B3Const32Value.h:
- b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::iToDConstant):
(JSC::B3::Const64Value::iToFConstant):
- b3/B3Const64Value.h:
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
- b3/B3Opcode.cpp:
(WTF::printInternal):
- b3/B3Opcode.h:
- b3/B3ReduceDoubleToFloat.cpp:
- b3/B3ReduceStrength.cpp:
- b3/B3Validate.cpp:
- b3/B3Value.cpp:
(JSC::B3::Value::iToDConstant):
(JSC::B3::Value::iToFConstant):
(JSC::B3::Value::isRounded):
(JSC::B3::Value::effects):
(JSC::B3::Value::key):
(JSC::B3::Value::typeFor):
- b3/B3Value.h:
- b3/B3ValueKey.cpp:
(JSC::B3::ValueKey::materialize):
- b3/air/AirFixPartialRegisterStalls.cpp:
- b3/air/AirOpcode.opcodes:
- b3/testb3.cpp:
(JSC::B3::int64Operands):
(JSC::B3::testIToD64Arg):
(JSC::B3::testIToF64Arg):
(JSC::B3::testIToD32Arg):
(JSC::B3::testIToF32Arg):
(JSC::B3::testIToD64Mem):
(JSC::B3::testIToF64Mem):
(JSC::B3::testIToD32Mem):
(JSC::B3::testIToF32Mem):
(JSC::B3::testIToD64Imm):
(JSC::B3::testIToF64Imm):
(JSC::B3::testIToD32Imm):
(JSC::B3::testIToF32Imm):
(JSC::B3::testIToDReducedToIToF64Arg):
(JSC::B3::testIToDReducedToIToF32Arg):
(JSC::B3::run):
- 7:37 PM Changeset in webkit [201207] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] FTL can crash on stack overflow
https://bugs.webkit.org/show_bug.cgi?id=157881
rdar://problem/24665964
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-05-19
Reviewed by Michael Saboff.
The VM's m_largestFTLStackSize was never set anywhere (updateFTLLargestStackSize()
was never called). We forgot to change that when implementing B3.
Even when it is set, we still have a problem on OSR Exit.
If the last frame is a FTL frame and it OSR Exits, the space required for
that frame becomes significantly larger. What happens is we crash in the OSR Exit
instead of the FTL frame (this is what happens in rdar://problem/24665964).
This patch changes the stack boundary checks in FTL to be the same as DFG:
we verify that we have enough space for the current optimized function but
also for the baseline version (including inlining) in case of exit.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::lower):
(JSC::FTL::DFG::LowerDFGToB3::didOverflowStack): Deleted.
- runtime/VM.cpp:
(JSC::VM::VM): Deleted.
(JSC::VM::updateStackLimit): Deleted.
(JSC::VM::updateFTLLargestStackSize): Deleted.
- runtime/VM.h:
(JSC::VM::addressOfFTLStackLimit): Deleted.
- 7:25 PM Changeset in webkit [201206] by
-
- 2 edits in trunk/Tools
Add JSON results to 32-bit and CLoop JSC tests
https://bugs.webkit.org/show_bug.cgi?id=157929
Patch by Srinivasan Vijayaraghavan <svijayaraghavan@apple.com> on 2016-05-19
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunLLINTCLoopTests): Change command-line parameters to run-javascriptcore-tests in order to get JSON output.
(Run32bitJSCTests): Change command-line parameters to run-javascriptcore-tests in order to get JSON output.
- 6:50 PM Changeset in webkit [201205] by
-
- 58 edits in trunk/Source
Improve compile-time assertions in is<>() / downcast<>()
https://bugs.webkit.org/show_bug.cgi?id=157817
Reviewed by Darin Adler.
Source/WebCore:
Add missing includes and drop unnecessary is<WebVTTElement>() check
in SharingResolver::canShareStyleWithElement() that was identified
by the new assertions. WebVTTElement inherits Element but the check
was done on a StyledElement.
- accessibility/AccessibilityRenderObject.cpp:
- accessibility/AccessibilitySVGElement.cpp:
- css/CSSDefaultStyleSheets.cpp:
- css/CSSParser.cpp:
- css/CSSStyleSheet.cpp:
- css/StyleResolver.cpp:
- cssjit/SelectorCompiler.cpp:
- dom/Document.cpp:
- dom/Element.cpp:
- dom/Node.cpp:
- dom/Position.cpp:
- editing/ApplyStyleCommand.cpp:
- editing/FrameSelection.cpp:
- editing/ReplaceSelectionCommand.cpp:
- editing/TextIterator.cpp:
- editing/VisiblePosition.cpp:
- editing/VisibleUnits.cpp:
- editing/cocoa/HTMLConverter.mm:
- editing/htmlediting.cpp:
- editing/markup.cpp:
- html/GenericCachedHTMLCollection.cpp:
- html/HTMLBodyElement.cpp:
- html/HTMLFormElement.cpp:
- html/HTMLLIElement.cpp:
- html/HTMLNameCollection.cpp:
- html/HTMLSelectElement.cpp:
- html/parser/HTMLTreeBuilder.cpp:
- inspector/InspectorDOMAgent.cpp:
- inspector/InspectorStyleSheet.cpp:
- loader/SubframeLoader.cpp:
- loader/archive/cf/LegacyWebArchive.cpp:
- mathml/MathMLElement.cpp:
- page/EventHandler.cpp:
- page/FrameView.cpp:
- page/PageSerializer.cpp:
- page/SpatialNavigation.cpp:
- page/mac/EventHandlerMac.mm:
- rendering/HitTestResult.cpp:
- rendering/RenderBlockFlow.cpp:
- rendering/RenderBox.cpp:
- rendering/RenderBoxModelObject.cpp:
- rendering/RenderElement.cpp:
- rendering/RenderFieldset.cpp:
- rendering/RenderLayer.cpp:
- rendering/svg/RenderSVGTransformableContainer.cpp:
- style/StyleSharingResolver.cpp:
(WebCore::Style::SharingResolver::canShareStyleWithElement):
- svg/SVGAnimationElement.cpp:
- svg/SVGFELightElement.cpp:
- svg/SVGTextPositioningElement.cpp:
Source/WebKit2:
Add missing includes.
- WebProcess/WebPage/WebFrame.cpp:
- WebProcess/WebPage/WebPage.cpp:
Source/WTF:
- wtf/Ref.h:
(WTF::is):
Add is<>() overloads taking a Ref<>() so that is<>() keeps working when
passing a Ref<>(), despite the new static assertions on the input type.
Some call sites were already leveraging this as it was working by
implicitly converting the Ref<T> into a T&.
- wtf/TypeCasts.h:
(WTF::is):
(WTF::downcast):
Make static assertions stricter in is<>() / downcast<>() to catch more
cases where those are either unnecessary or incorrect.
- 6:22 PM Changeset in webkit [201204] by
-
- 2 edits in trunk/LayoutTests
Test gardening after r201203
Unreviewed.
- platform/ios-simulator/TestExpectations:
- 5:59 PM Changeset in webkit [201203] by
-
- 2 edits3 adds in trunk/LayoutTests
Add John Daggett's font variant synthesis test
https://bugs.webkit.org/show_bug.cgi?id=157935
<rdar://problem/24133521>
Reviewed by Dean Jackson.
Make sure that we continue to synthesize correctly.
- css3/font-variant-synthesis-jdaggett-expected.html: Added.
- css3/font-variant-synthesis-jdaggett.html: Added.
- css3/resources/gsubtest-lookup3.otf: Added.
- platform/mac/TestExpectations:
- 5:20 PM Changeset in webkit [201202] by
-
- 2 edits in trunk/Source/WebKit2
Mail crashes under TiledCoreAnimationDrawingAreaProxy::createFenceForGeometryUpdate() when the Web process crashes
https://bugs.webkit.org/show_bug.cgi?id=157927
<rdar://problem/24793374>
Reviewed by Dean Jackson.
- UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::createFence):
With just the right combination of layout mechanisms and Web Content process
crash timing, it is possible to get a frame change underneath WebPageProxy::processDidCrash,
before the DrawingArea has been nulled out but after the Connection has.
This can lead to a null dereference. I had a lot of trouble writing a API
test for this, though I'm certain it's possible.
- 4:54 PM Changeset in webkit [201201] by
-
- 6 edits in trunk/Source/WebCore
Cleanup RenderObject::container()
https://bugs.webkit.org/show_bug.cgi?id=157914
Reviewed by David Hyatt.
- Now we have a dedicated method for the optional, repaintContainerSkipped branch. The container finding
logic is moved to a static inline function so the compiler can optimize out the repaintContainerSkipped branches, when
container() is called instead of container(repaintContainer, isRepaintContainerSkipped).
- Use helper functions like canContainAbsolutelyPositionedObjects()
- Remove stale comments.
No behaviour change.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::pushMappingToContainer):
(WebCore::RenderBox::computeRectForRepaint):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::mapLocalToContainer):
(WebCore::RenderInline::pushMappingToContainer):
- rendering/RenderObject.cpp:
(WebCore::containerForElement):
(WebCore::RenderObject::container):
- rendering/RenderObject.h:
- rendering/RenderText.h:
- 4:48 PM Changeset in webkit [201200] by
-
- 19 edits2 adds in branches/safari-602.1.32-branch
Merge r201187. rdar://problem/25314776
- 4:32 PM Changeset in webkit [201199] by
-
- 6 edits in trunk/Source
No candidate punctuation when typing punctuation in WK2 text field.
https://bugs.webkit.org/show_bug.cgi?id=157773
rdar://problem/23084603
Reviewed by Sam Weinig.
Source/WebCore:
We need to keep the inputManagerHint as part of the platform key event
information. Adding a new initializer for the task and a property to retrieve
the stored hint.
- platform/ios/WebEvent.h:
- platform/ios/WebEvent.mm:
(-[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:keyCode:isTabKey:characterSet:]):
(-[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:withInputManagerHint:keyCode:isTabKey:]):
(-[WebEvent dealloc]):
(-[WebEvent inputManagerHint]):
Source/WebKit2:
We need to adopt the new addInputString:withFlags:withInputManagerHint function
for this to work propertly.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _interpretKeyEvent:isCharEvent:]):
- 3:58 PM Changeset in webkit [201198] by
-
- 11 edits2 adds in branches/safari-602.1.32-branch
Merge r201189. rdar://problem/24577706
- 3:58 PM Changeset in webkit [201197] by
-
- 3 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r201191. rdar://problem/26377366
- 3:58 PM Changeset in webkit [201196] by
-
- 12 edits2 adds in branches/safari-602.1.32-branch
Merge r201183. rdar://problem/26375866
- 3:58 PM Changeset in webkit [201195] by
-
- 8 edits3 adds in trunk
Finishing off: Modern IDB: Website data store management.
https://bugs.webkit.org/show_bug.cgi?id=157626
Reviewed by Alex Christensen.
Source/WebCore:
Test: storage/indexeddb/modern/new-database-after-user-delete.html
This patch does two primary things:
1 - Implements the actual "delete files on disk" code for unopened databases,
taken from existing WK2 code.
2 - When a UniqueIBDDatabase is told to close immediately for user delete, it also
queues up a "delete backing store unconditionally" operation in the database task queue.
That way, all of the open databases are deleted before the primary "delete all files"
pass, and they are also deleted before any future openDB requests are handled that might
recreate the files.
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::getOrCreateUniqueIDBDatabase):
(WebCore::IDBServer::IDBServer::deleteDatabase):
(WebCore::IDBServer::IDBServer::closeUniqueIDBDatabase):
(WebCore::IDBServer::IDBServer::openDBRequestCancelled):
(WebCore::IDBServer::removeAllDatabasesForOriginPath):
(WebCore::IDBServer::IDBServer::performCloseAndDeleteDatabasesModifiedSince):
(WebCore::IDBServer::IDBServer::performCloseAndDeleteDatabasesForOrigins):
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::performUnconditionalDeleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::doneWithHardClose):
(WebCore::IDBServer::UniqueIDBDatabase::immediateCloseForUserDelete):
- Modules/indexeddb/server/UniqueIDBDatabase.h:
Source/WebKit2:
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::deleteWebsiteDataForOrigins):
(WebKit::removeAllDatabasesForOriginPath): Deleted.
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesForOrigins): Deleted.
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesModifiedSince): Deleted.
- DatabaseProcess/DatabaseProcess.h:
LayoutTests:
- storage/indexeddb/modern/new-database-after-user-delete-expected.txt: Added.
- storage/indexeddb/modern/new-database-after-user-delete.html: Added.
- storage/indexeddb/modern/resources/new-database-after-user-delete.js: Added.
- 3:55 PM Changeset in webkit [201194] by
-
- 3 edits in trunk/Source/WebKit2
[OS X][WK2] Expand sandbox for new mach endpoints
https://bugs.webkit.org/show_bug.cgi?id=157919
<rdar://problem/25238336>
Reviewed by Alexey Proskuryakov.
Grant the WebContent and Networking processes the mach lookup capability for
various Security-related mach endpoints..
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 3:41 PM Changeset in webkit [201193] by
-
- 4 edits in branches/safari-602.1.32-branch/Source/JavaScriptCore
Merge r201180. rdar://problem/26129156
- 3:27 PM Changeset in webkit [201192] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION (r189385): Web Inspector: CSS properties modified via JS don't update in the Styles sidebar
https://bugs.webkit.org/show_bug.cgi?id=157918
Reviewed by Timothy Hatcher.
- UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager):
(WebInspector.DOMTreeManager.prototype._inlineStyleInvalidated):
(WebInspector.DOMTreeManager.prototype._loadNodeAttributes):
Set the initial value of _loadNodeAttributesTimeout to be 0,
as setTimeout always returns a positive integer.
- 3:25 PM Changeset in webkit [201191] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Heap Snapshots taken before timeline view has a zero time do not get shown
https://bugs.webkit.org/show_bug.cgi?id=157923
<rdar://problem/26377366>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-19
Reviewed by Timothy Hatcher.
- UserInterface/Views/HeapAllocationsTimelineDataGridNode.js:
(WebInspector.HeapAllocationsTimelineDataGridNode):
(WebInspector.HeapAllocationsTimelineDataGridNode.prototype.createCellContent):
(WebInspector.HeapAllocationsTimelineDataGridNode.prototype.updateTimestamp):
Show emDash for the timestamp if we don't yet have a zero time.
Update when we get a zero time.
- UserInterface/Views/HeapAllocationsTimelineView.js:
(WebInspector.HeapAllocationsTimelineView):
(WebInspector.HeapAllocationsTimelineView.prototype.layout):
(WebInspector.HeapAllocationsTimelineView.prototype.reset):
Save a list of nodes pre-zero time and update them when we get a zero time.
- 3:20 PM Changeset in webkit [201190] by
-
- 2 edits in trunk/Source/WebKit2
Web Inspector: CRASH when closing a page while element selection mode is enabled via Develop menu
https://bugs.webkit.org/show_bug.cgi?id=157925
<rdar://problem/26259618>
Reviewed by Joseph Pecoraro.
- WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::elementSelectionChanged):
Null-check m_page->inspector() since it will return nullptr if the page
is closed but not yet destructed. This is triggered by teardown code
in InspectorDOMAgent::willDestroyFrontendAndBackend.
- 3:19 PM Changeset in webkit [201189] by
-
- 11 edits2 adds in trunk
Drag cannot start if no drag data is available in the Pasteboard.
https://bugs.webkit.org/show_bug.cgi?id=157911
rdar://problem/24577706
Reviewed by Tim Horton.
Source/WebKit/mac:
- WebView/WebHTMLView.mm:
(+[WebHTMLView _dummyPasteboardType]):
(-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
- WebView/WebHTMLViewPrivate.h:
- WebView/WebView.mm:
(-[WebView _registerDraggedTypes]):
Source/WebKit2:
Setting dummy data to allow drag to start.
- Shared/mac/PasteboardTypes.h:
- Shared/mac/PasteboardTypes.mm:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::registerDraggedTypes):
(WebKit::WebViewImpl::dragImageForView):
LayoutTests:
- fast/events/draggable-div-nodata-expected.txt: Added.
- fast/events/draggable-div-nodata.html: Added.
- platform/ios-simulator/TestExpectations
- platform/mac-wk2/TestExpectations
- 3:11 PM Changeset in webkit [201188] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(201098) GuardMalloc / ASan crashes in WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTaskReply
https://bugs.webkit.org/show_bug.cgi?id=157917
Reviewed by Alex Christensen.
No new tests (Covered by all existing tests in Gmalloc/ASAN configs).
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTaskReply): Protect this from deletion before executing the task.
- 2:59 PM Changeset in webkit [201187] by
-
- 19 edits2 adds in trunk
[IOS] Add setting to allow playback to continue inline after exiting fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=157912
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-fullscreen-return-to-inline.html
Allow playback to continue when exiting fullscreen via settings.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::exitFullscreen):
- page/Settings.in:
Source/WebKit/mac:
Add a preference to control whether media should be allowed to continue playing inline when
exiting fullscreen.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]):
(-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKit2:
Add a preference and configuration property to control whether media should be allowed to continue
playing inline when exiting fullscreen.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration encodeWithCoder:]):
(-[WKWebViewConfiguration initWithCoder:]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]):
(-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]):
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/mac/WKFullScreenWindowController.mm:
(disableScreenUpdates):
(enableScreenUpdates):
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController exitFullScreen]):
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
(-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
LayoutTests:
- media/media-fullscreen-return-to-inline-expected.txt: Added.
- media/media-fullscreen-return-to-inline.html: Added.
- media/video-test.js:
(runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk):
(runWithKeyDown):
- 2:51 PM Changeset in webkit [201186] by
-
- 2 edits in trunk/Source/WebCore
Fix childrenInline() check in markAllDescendantsWithFloatsForLayout()
https://bugs.webkit.org/show_bug.cgi?id=157866
Reviewed by Zalan Bujtas.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
- 2:46 PM Changeset in webkit [201185] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, fix all of the builds. I failed a second time.
- wtf/BackwardsGraph.h:
(WTF::BackwardsGraph::rootName):
- 2:44 PM Changeset in webkit [201184] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, fix all of the builds. I had made an additional change that I did not mean to
commit. This fixes it.
- wtf/BackwardsGraph.h:
(WTF::BackwardsGraph::rootName):
(WTF::BackwardsGraph::Set::dump):
(WTF::BackwardsGraph::dump):
- 2:30 PM Changeset in webkit [201183] by
-
- 12 edits2 adds in trunk
Web Inspector: HeapSnapshot Instances view should remove dead objects
https://bugs.webkit.org/show_bug.cgi?id=157920
<rdar://problem/26375866>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-19
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
- UserInterface/Workers/HeapSnapshot/HeapSnapshotWorker.js:
(HeapSnapshotWorker):
(HeapSnapshotWorker.prototype.clearSnapshots):
(HeapSnapshotWorker.prototype.createSnapshot):
Preserve a list of snapshots for this page's session. When
new snapshots come in we can determine which nodes have died
and update previous snapshots. Emit a CollectionEvent
containing the nodes that were deleted and affected snapshots.
- UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
(HeapSnapshot):
Stash the largest node identifier.
Create a byte-per-node list to mark it as dead or alive.
All snapshots start with all live nodes.
(HeapSnapshot.prototype.updateDeadNodesAndGatherCollectionData):
(HeapSnapshot.prototype._markDeadNodes):
When we get a new snapshot we can mark dead nodes in previous
snapshots. Determine the nodeIdentifiers of dead nodes, and
mark them as dead if they existed in previous snapshots.
(HeapSnapshot.buildCategories):
(HeapSnapshot.prototype.updateCategories):
(HeapSnapshotDiff.prototype.updateCategories):
Include a "deadCount" in category data. And provide a method
to return an updated category list.
(HeapSnapshot.prototype.serializeNode):
Include a "dead" property on nodes when they are first fetched.
- UserInterface/Proxies/HeapSnapshotDiffProxy.js:
(WebInspector.HeapSnapshotDiffProxy.prototype.updateForCollectionEvent):
(WebInspector.HeapSnapshotDiffProxy.prototype.updateCategories):
- UserInterface/Proxies/HeapSnapshotNodeProxy.js:
(WebInspector.HeapSnapshotNodeProxy):
(WebInspector.HeapSnapshotNodeProxy.deserialize):
- UserInterface/Proxies/HeapSnapshotProxy.js:
(WebInspector.HeapSnapshotProxy.prototype.updateForCollectionEvent):
(WebInspector.HeapSnapshotProxy.prototype.updateCategories):
Update snapshot proxies from a collection event by updating properties
and dispatching an event from the model object.
- UserInterface/Proxies/HeapSnapshotWorkerProxy.js:
(WebInspector.HeapSnapshotWorkerProxy):
(WebInspector.HeapSnapshotWorkerProxy.prototype.clearSnapshots):
(WebInspector.HeapSnapshotWorkerProxy.prototype._mainResourceDidChange):
Clear the session snapshot list when the main resource changes.
However we can't yet clear the HeapSnapshot objects on the worker
because we may still have UI that interact with them.
- UserInterface/Views/HeapAllocationsTimelineView.js:
(WebInspector.HeapAllocationsTimelineView):
(WebInspector.HeapAllocationsTimelineView.prototype.closed):
Register and unregister for HeapSnapshot collection events.
(WebInspector.HeapAllocationsTimelineView.prototype._heapSnapshotCollectionEvent.updateHeapSnapshotForEvent):
(WebInspector.HeapAllocationsTimelineView.prototype._heapSnapshotCollectionEvent):
Update all the snapshots we know about when a collection event happens.
- UserInterface/Views/HeapSnapshotClassDataGridNode.js:
(WebInspector.HeapSnapshotClassDataGridNode.prototype.removeCollectedNodes):
(WebInspector.HeapSnapshotClassDataGridNode.prototype.updateCount):
(WebInspector.HeapSnapshotClassDataGridNode.prototype._populate):
(WebInspector.HeapSnapshotClassDataGridNode.prototype._fetchBatch):
- UserInterface/Views/HeapSnapshotContentView.js:
(WebInspector.HeapSnapshotContentView.prototype._heapSnapshotDataGridTreeDidPopulate):
(WebInspector.HeapSnapshotContentView):
- UserInterface/Views/HeapSnapshotDataGridTree.js:
(WebInspector.HeapSnapshotDataGridTree):
(WebInspector.HeapSnapshotDataGridTree.prototype.removeChild):
(WebInspector.HeapSnapshotDataGridTree.prototype.removeCollectedNodes):
(WebInspector.HeapSnapshotDataGridTree.prototype._heapSnapshotCollectedNodes):
(WebInspector.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel):
(WebInspector.HeapSnapshotInstancesDataGridTree.prototype.removeCollectedNodes):
(WebInspector.HeapSnapshotInstancesDataGridTree):
Update the Instances DataGridTree UI when a collection event happens.
Remove any top level InstanceDataGridNodes that may be showing for collected nodes.
Update the category counts on the ClassDataGridNodes.
Update FetchMoreDataGridNodes to have updated counts (and replace removed nodes).
LayoutTests:
- inspector/unit-tests/heap-snapshot-collection-event-expected.txt: Added.
- inspector/unit-tests/heap-snapshot-collection-event.html: Added.
- 2:25 PM Changeset in webkit [201182] by
-
- 28 edits14 adds in trunk
DFG::LICMPhase shouldn't hoist type checks unless it knows that the check will succeed at the loop pre-header
https://bugs.webkit.org/show_bug.cgi?id=144527
Reviewed by Saam Barati.
Source/JavaScriptCore:
This adds a control flow equivalence analysis (called ControlEquivalenceAnalysis) based on
dominator analysis over the backwards CFG. Two basic blocks are control flow equivalent if
the execution of one implies that the other one must also execute. It means that the two
blocks' forward and backward dominance are reciprocated: (A dom B and B backdom A) or (B dom
A and A backdom B). LICM now uses it to become more conservative about hoisting checks, if
this has caused problems in the past. If we hoist something that may exit from a block that
was not control equivalent to the pre-header then it's possible that the node's speculation
will fail even though it wouldn't have if it wasn't hoisted. So, we flag these nodes'
origins as being "wasHoisted" and we track all of their exits as "HoistingFailed". LICM will
turn off such speculative hoisting if the CodeBlock from which we are hoisting had the
HoistingFailed exit kind.
Note that this deliberately still allows us to hoist things that may exit even if they are
not control equivalent to the pre-header. This is necessary because the profitability of
hoisting is so huge in all of the cases that we're aware of that it's worth giving it a
shot.
This is neutral on macrobenchmarks since none of the benchmarks we track have a hoistable
operation that would exit only if hoisted. I added microbenchmarks to illustrate the problem
and two of them speed up by ~40% while one of them is neutral (Int52 saves us from having
problems on that program even though LICM previously did the wrong thing).
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/ExitKind.cpp:
(JSC::exitKindToString):
- bytecode/ExitKind.h:
- dfg/DFGAtTailAbstractState.h:
(JSC::DFG::AtTailAbstractState::operator bool):
(JSC::DFG::AtTailAbstractState::initializeTo):
- dfg/DFGBackwardsCFG.h: Added.
(JSC::DFG::BackwardsCFG::BackwardsCFG):
- dfg/DFGBackwardsDominators.h: Added.
(JSC::DFG::BackwardsDominators::BackwardsDominators):
- dfg/DFGCommon.h:
(JSC::DFG::checkAndSet): Deleted.
- dfg/DFGControlEquivalenceAnalysis.h: Added.
(JSC::DFG::ControlEquivalenceAnalysis::ControlEquivalenceAnalysis):
(JSC::DFG::ControlEquivalenceAnalysis::dominatesEquivalently):
(JSC::DFG::ControlEquivalenceAnalysis::areEquivalent):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::dumpBlockHeader):
(JSC::DFG::Graph::invalidateCFG):
(JSC::DFG::Graph::substituteGetLocal):
(JSC::DFG::Graph::handleAssertionFailure):
(JSC::DFG::Graph::ensureDominators):
(JSC::DFG::Graph::ensurePrePostNumbering):
(JSC::DFG::Graph::ensureNaturalLoops):
(JSC::DFG::Graph::ensureBackwardsCFG):
(JSC::DFG::Graph::ensureBackwardsDominators):
(JSC::DFG::Graph::ensureControlEquivalenceAnalysis):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::hasDebuggerEnabled):
- dfg/DFGInPlaceAbstractState.h:
(JSC::DFG::InPlaceAbstractState::operator bool):
(JSC::DFG::InPlaceAbstractState::createValueForNode):
(JSC::DFG::InPlaceAbstractState::forNode):
- dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::run):
(JSC::DFG::LICMPhase::attemptHoist):
- dfg/DFGMayExit.cpp:
(JSC::DFG::mayExit):
- dfg/DFGMayExit.h:
- dfg/DFGNode.h:
- dfg/DFGNodeOrigin.cpp:
(JSC::DFG::NodeOrigin::dump):
- dfg/DFGNodeOrigin.h:
(JSC::DFG::NodeOrigin::takeValidExit):
(JSC::DFG::NodeOrigin::withWasHoisted):
(JSC::DFG::NodeOrigin::forInsertingAfter):
- dfg/DFGNullAbstractState.h: Added.
(JSC::DFG::NullAbstractState::NullAbstractState):
(JSC::DFG::NullAbstractState::operator bool):
(JSC::DFG::NullAbstractState::forNode):
- dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::OSRExit):
- dfg/DFGOSRExitBase.cpp:
(JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSiteSlow):
- dfg/DFGOSRExitBase.h:
(JSC::DFG::OSRExitBase::OSRExitBase):
- dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::run):
- ftl/FTLOSRExit.cpp:
(JSC::FTL::OSRExitDescriptor::prepareOSRExitHandle):
(JSC::FTL::OSRExit::OSRExit):
- ftl/FTLOSRExit.h:
Source/WTF:
This adds an adaptor for graphs called BackwardsGraph. The WTF graph framework is based on
passing around a Graph template argument that follows the protocol shared by DFG::CFG,
B3::CFG, and Air::CFG. These graphs always have a single root node but may have many leaf
nodes. This new BackwardsGraph adaptor reverses the graph by creating a synthetic return
node that it uses as the root in the inverted graph. This currently may resort to some
heuristics in programs that have an infinite loop, but other than that, it'll work well in
the general case.
This allows us to say Dominators<BackwardsGraph<some graph type>> as a way of computing
backwards dominators, which then allows us to easily answer control flow equivalence
queries.
- CMakeLists.txt:
- WTF.xcodeproj/project.pbxproj:
- wtf/BackwardsGraph.h: Added.
(WTF::BackwardsGraph::Node::Node):
(WTF::BackwardsGraph::Node::root):
(WTF::BackwardsGraph::Node::operator==):
(WTF::BackwardsGraph::Node::operator!=):
(WTF::BackwardsGraph::Node::operator bool):
(WTF::BackwardsGraph::Node::isRoot):
(WTF::BackwardsGraph::Node::node):
(WTF::BackwardsGraph::Set::Set):
(WTF::BackwardsGraph::Set::add):
(WTF::BackwardsGraph::Set::remove):
(WTF::BackwardsGraph::Set::contains):
(WTF::BackwardsGraph::Set::dump):
(WTF::BackwardsGraph::Map::Map):
(WTF::BackwardsGraph::Map::clear):
(WTF::BackwardsGraph::Map::size):
(WTF::BackwardsGraph::Map::operator[]):
(WTF::BackwardsGraph::BackwardsGraph):
(WTF::BackwardsGraph::root):
(WTF::BackwardsGraph::newMap):
(WTF::BackwardsGraph::successors):
(WTF::BackwardsGraph::predecessors):
(WTF::BackwardsGraph::index):
(WTF::BackwardsGraph::node):
(WTF::BackwardsGraph::numNodes):
(WTF::BackwardsGraph::dump):
- wtf/Dominators.h:
(WTF::Dominators::Dominators):
(WTF::Dominators::dump):
(WTF::Dominators::LengauerTarjan::computeDepthFirstPreNumbering):
- wtf/GraphNodeWorklist.h:
(WTF::GraphNodeWith::GraphNodeWith):
(WTF::GraphNodeWith::operator bool):
- wtf/StdLibExtras.h:
(WTF::callStatelessLambda):
(WTF::checkAndSet):
LayoutTests:
Add tests for LICM hoisting things that would only exit if hoisted.
- js/regress/licm-dragons-expected.txt: Added.
- js/regress/licm-dragons-out-of-bounds-expected.txt: Added.
- js/regress/licm-dragons-out-of-bounds.html: Added.
- js/regress/licm-dragons-overflow-expected.txt: Added.
- js/regress/licm-dragons-overflow.html: Added.
- js/regress/licm-dragons.html: Added.
- js/regress/script-tests/licm-dragons-out-of-bounds.js: Added.
(foo):
- js/regress/script-tests/licm-dragons-overflow.js: Added.
(foo):
- js/regress/script-tests/licm-dragons.js: Added.
(foo):
- 2:11 PM Changeset in webkit [201181] by
-
- 2 edits in trunk/LayoutTests
Web Inspector: use a consistent prefix for injected scripts
https://bugs.webkit.org/show_bug.cgi?id=157715
<rdar://problem/26287188>
Reviewed by Alexey Proskuryakov.
Follow-up fix to an affected test.
- inspector/debugger/scriptParsed.html:
Check whether the script is for CommandLineAPIModuleSource before
checking whether it is an InjectedScript. With the new naming scheme,
the latter is a subset of the former, so do the more specific check first.
- 2:02 PM Changeset in webkit [201180] by
-
- 4 edits in trunk/Source/JavaScriptCore
Code that null checks the VM pointer before any use should ref the VM.
https://bugs.webkit.org/show_bug.cgi?id=157864
Reviewed by Filip Pizlo and Keith Miller.
JSLock::willReleaseLock() and HeapTimer::timerDidFire() need to reference the VM
through a RefPtr. Otherwise, there's no guarantee that the VM won't be deleted
after their null checks.
- bytecode/CodeBlock.h:
(JSC::CodeBlock::vm):
(JSC::CodeBlock::setVM): Deleted.
- Not used, and suggests that it can be changed during the lifetime of the CodeBlock (which should not be).
- heap/HeapTimer.cpp:
(JSC::HeapTimer::timerDidFire):
- runtime/JSLock.cpp:
(JSC::JSLock::willReleaseLock):
- Store the VM pointer in a RefPtr first, and null check the RefPtr instead of the raw VM pointer. This makes the null check a strong guarantee that the VM pointer is valid while these functions are using it.
- 1:40 PM Changeset in webkit [201179] by
-
- 5 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r201177. rdar://problem/26373969
- 1:23 PM Changeset in webkit [201178] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION: Search magnifying glass shifted in Search tab input field
https://bugs.webkit.org/show_bug.cgi?id=157913
rdar://problem/26374424
Reviewed by Joseph Pecoraro.
- UserInterface/Views/SearchSidebarPanel.css:
(.sidebar > .panel.navigation.search > .search-bar > input[type="search"]): Removed padding-left.
(.sidebar > .panel.navigation.search > .search-bar > input[type="search"]::-webkit-search-results-button):
Added. Add margin-right here instead.
- 1:22 PM Changeset in webkit [201177] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Timelines "Edit" button should be right-aligned
https://bugs.webkit.org/show_bug.cgi?id=157909
rdar://problem/26373969
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ButtonNavigationItem.css:
(.navigation-bar .item.button.text-only): Deleted height: auto. Now inherited.
- UserInterface/Views/NavigationBar.css:
(.navigation-bar .item): Change height to auto to support any NavigationBar height.
This is needed since the Timelines tab has a shorter NavigationBar height, and
flexible items were overflowing.
- UserInterface/Views/TextNavigationItem.css:
(.navigation-bar .item.text): Deleted height: auto. Now inherited.
- UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview): Add a FlexibleSpaceNavigationItem before the Edit button.
- 1:09 PM Changeset in webkit [201176] by
-
- 3 edits in trunk/Source/JavaScriptCore
arrow function lexical environment should reuse the same environment as the function's lexical environment where possible
https://bugs.webkit.org/show_bug.cgi?id=157908
Reviewed by Filip Pizlo.
We can safely combine these two environment when we have
a simple parameter list (no default parameters, no destructring parameters).
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::initializeArrowFunctionContextScopeIfNeeded):
- bytecompiler/BytecodeGenerator.h:
- 12:15 PM Changeset in webkit [201175] by
-
- 2 edits in trunk/Tools
Typo fix in import-test262-tests
https://bugs.webkit.org/show_bug.cgi?id=157902
Reviewed by Keith Miller.
- Scripts/import-test262-tests:
- 12:09 PM Changeset in webkit [201174] by
-
- 5 edits in trunk/Source/WebCore
Update RenderBlockFlow::adjustComputedFontSizes() to use RenderObjectTraversal
https://bugs.webkit.org/show_bug.cgi?id=157784
Reviewed by Zalan Bujtas.
Update RenderBlockFlow::adjustComputedFontSizes() to use RenderObjectTraversal
instead of having its own Renderer tree traversal API, specifically for iOS
text autosizing.
- rendering/RenderBlockFlow.cpp:
(WebCore::isVisibleRenderText):
(WebCore::resizeTextPermitted):
(WebCore::isNonBlocksOrNonFixedHeightListItems):
(WebCore::RenderBlockFlow::adjustComputedFontSizes):
- rendering/RenderIterator.h:
(WebCore::RenderObjectTraversal::nextSkippingChildren):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::traverseNext): Deleted.
(WebCore::RenderObject::enclosingBox): Deleted.
(WebCore::RenderObject::enclosingBoxModelObject): Deleted.
(WebCore::RenderObject::fixedPositionedWithNamedFlowContainingBlock): Deleted.
(WebCore::hasFixedPosInNamedFlowContainingBlock): Deleted.
(WebCore::RenderObject::firstLineBlock): Deleted.
(WebCore::objectIsRelayoutBoundary): Deleted.
- rendering/RenderObject.h:
- 11:50 AM Changeset in webkit [201173] by
-
- 3 edits in trunk/Source/WebCore
Fix the build with GCC 4.9 in CSSParser.cpp
https://bugs.webkit.org/show_bug.cgi?id=157887
Reviewed by Chris Dumez.
- css/CSSParser.cpp:
(WebCore::CSSParser::createViewportRule):
- css/CSSParser.h:
- 11:39 AM Changeset in webkit [201172] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed build fix.
Skipping this new test as it times out on the bots.
Issue tracked in https://bugs.webkit.org/show_bug.cgi?id=157903
- tests/stress/regress-157595.js:
(MyRegExp):
- 10:58 AM Changeset in webkit [201171] by
-
- 11 edits in trunk/Source
Web Inspector: timelines should not update via requestAnimationFrame unless Web Inspector is visible
https://bugs.webkit.org/show_bug.cgi?id=157897
<rdar://problem/26330802>
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
The timelines overview tries to animate using requestAnimationFrame, even if the
inspector frontend is not really visible. When it does this, requestAnimationFrame
simply stalls out until the inspector becomes visible. If a recording is started
while the inspector is not visible, then when it is shown again, the timeline will
start to animate from 0s instead of the current time. This happens because the
requestAnimationFrame was requested when the current time actually was 0, and it
finally executes some time later, when the current time is no longer accurate.
Since the timelines animate by calculating time elapsed since the previous frame
rather than using event timestamps, there is no way for the timelines to skip forward
in their animations in scenarios where the current time becomes arbitrarily skewed.
To fix this, consider the visibility state of the frontend as reported by the UIProcess.
Fire a global notification when visibility state changes, and start or stop updating
the current time as the frontend becomes visible or not shown.
This does not affect most other uses of requestAnimationFrame, which are used as
timers to call updateLayout at an appropriate time. The timelines case is different
because the current time is fixed prior to requesting an animation frame, and
later animation frames are only triggered by earlier requests, so there's nothing to
coalesce.
- UserInterface/Base/Main.js:
(WebInspector.loaded): Initialize WebInspector.visible.
- UserInterface/Base/Object.js: Add new event.
- UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setIsVisible): Added.
- UserInterface/Test/Test.js:
(WebInspector.updateVisibilityState): Add a stub.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
(WebInspector.TimelineRecordingContentView.prototype._inspectorVisibilityStateChanged):
If visibility state changes while capturing, then start or stop updating the
current time as appropriate. Otherwise, refresh the timelines with updated
times so that they know about the recording's updated start/current/end time.
(WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
Bail out if the Web Inspector frontend is not visible to the user and won't be
able to service requestAnimationFrames immediately.
Source/WebKit2:
The UIProcess needs to notify the Inspector frontend when it is truly visible.
The frontend can't use document.visibilityState because it doesn't seem to work
if the inspector frontend's WKWebView is created but not attached to a window.
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::open):
(WebKit::WebInspectorProxy::didClose):
Send visibility updates to the inspector process when the inspector becomes
"visible" or "not visible". It becomes visible if it is attached to the
inspected page's window, or gets its own native window.
- WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::frontendLoaded):
(WebKit::WebInspectorUI::setDockingUnavailable):
(WebKit::WebInspectorUI::setIsVisible):
Call InspectorFrontendAPI.updateVisibilityState to let the frontend know.
- WebProcess/WebPage/WebInspectorUI.h:
- WebProcess/WebPage/WebInspectorUI.messages.in:
Add new message.
- 10:27 AM Changeset in webkit [201170] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSC: DFG::SpeculativeJIT::compile special case for MIPS for PutByValWithThis
https://bugs.webkit.org/show_bug.cgi?id=157741
Patch by Guillaume Emont <guijemont@igalia.com> on 2016-05-19
Reviewed by Saam Barati.
The PutByValWithThis case needs a special case for MIPS because we
don't have enough registers. The special case needs to be different
from the x86 one because we have a different ABI.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- 10:11 AM Changeset in webkit [201169] by
-
- 2 edits in trunk/Tools
[EFL] Fix the gst-libav build on ARM Thumb2 after r199649
https://bugs.webkit.org/show_bug.cgi?id=157893
Reviewed by Antonio Gomes.
- efl/patches/gst-libav.patch:
- 9:48 AM Changeset in webkit [201168] by
-
- 16 edits in trunk
Web Inspector: use a consistent prefix for injected scripts
https://bugs.webkit.org/show_bug.cgi?id=157715
<rdar://problem/26287188>
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- CMakeLists.txt:
- DerivedSources.make:
- inspector/InjectedScriptSource.js:
Source/WebCore:
- CMakeLists.txt:
- DerivedSources.make:
- inspector/CommandLineAPIModuleSource.js:
Source/WebKit2:
- CMakeLists.txt:
- DerivedSources.make:
- WebProcess/Automation/WebAutomationSessionProxy.js:
LayoutTests:
Update how inspector tests check sourceURLs for internal scripts.
- inspector/debugger/scriptParsed.html:
- inspector/debugger/sourceURLs.html:
- 9:22 AM Changeset in webkit [201167] by
-
- 4 edits in trunk/Source/WebCore
Playback controls should not be active for muted media elements.
https://bugs.webkit.org/show_bug.cgi?id=157876
<rdar://problem/26007525>
Reviewed by Eric Carlson.
Consolidate calls to setUpPlaybackControlsManager() and clearUpPlaybackControlsManager()
into a new method, updatePlaybackControlsManager(), which checks with the MediaElementSession
whether the media element can currently control the playback controls manager, and call
one or the other method conditionally.
That means more logic needs to be moved into MediaElementSession::canControlControlsManager(),
such as whether the element is muted(), has ended(), or whether the element's document has
been suspended.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::setMuted):
(WebCore::HTMLMediaElement::updatePlayState):
(WebCore::HTMLMediaElement::clearMediaPlayer):
(WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer):
(WebCore::HTMLMediaElement::createMediaPlayer):
(WebCore::HTMLMediaElement::updatePlaybackControlsManager):
- html/HTMLMediaElement.h:
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canControlControlsManager):
- 9:11 AM Changeset in webkit [201166] by
-
- 26 edits in trunk/Source/WebCore
Kill JSDOMBindings' createNewWrapper()
https://bugs.webkit.org/show_bug.cgi?id=157842
Reviewed by Youenn Fablet.
Kill JSDOMBindings' createNewWrapper() as it is identical to createWrapper().
- bindings/js/JSDOMBinding.h:
(WebCore::createNewWrapper): Deleted.
- bindings/js/JSDocumentFragmentCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSNodeListCustom.cpp:
(WebCore::createWrapper):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::toJSNewlyCreated):
- 9:07 AM Changeset in webkit [201165] by
-
- 2 edits in trunk/Tools
REGRESSION(r200951): VideoControlsManager API tests time out
https://bugs.webkit.org/show_bug.cgi?id=157896
<rdar://problem/26326293>
Reviewed by Eric Carlson.
Explicitly disable user gesture requirements for playback.
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST):
- 9:03 AM Changeset in webkit [201164] by
-
- 2 edits in trunk/Source/WebCore
Playback controls still valid after navigating back after watching YouTube video.
https://bugs.webkit.org/show_bug.cgi?id=157874
<rdar://problem/25993063>
Reviewed by Eric Carlson.
YouTube uses window.onpopstate to "navigate" backwards from a video page to the main page
(or other video page). This causes the playback controls to not be cleared (since no
navigation actually occured). Instead, clear the playback controls when we clear our
MediaPlayer due to load() being called, when the src= attribute is changed, or when a
<source> element is added to the <video>.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::clearMediaPlayer):
(WebCore::HTMLMediaElement::createMediaPlayer):
- 7:33 AM Changeset in webkit [201163] by
-
- 4 edits in trunk/Source/WebCore
[GStreamer] unrelated codecs required to play videos
https://bugs.webkit.org/show_bug.cgi?id=135972
Reviewed by Michael Catanzaro.
Instead of hard-coding the list of supported mime-types, check the
decoder and demuxer GStreamer elements available and dynamically
build the list of mime-types accordingly. This patch also removes
support for under-used and exotic mime-types.
Based on a patch by Mario Sanchez Prada.
No new tests, existing media tests cover this change.
- platform/graphics/gstreamer/GStreamerUtilities.cpp:
(WebCore::gstRegistryHasElementForMediaType): New function
checking the elements registered in the factories have a sink pad
matching the caps specified as second argument of the function.
- platform/graphics/gstreamer/GStreamerUtilities.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeSet): Hard-coded list of mime-types replaced by
runtime-built list of mime-types that can be supported by the
GStreamer decoders and demuxers available on the host machine.
(WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes):
mimeTypeCache renamed to mimeTypeSet.
(WebCore::MediaPlayerPrivateGStreamer::supportsType): Ditto.
- 7:19 AM Changeset in webkit [201162] by
-
- 2 edits in trunk/Source/WebCore
[ARM] Fix Wformat warning in MemoryPressureHandler.cpp
https://bugs.webkit.org/show_bug.cgi?id=157892
Reviewed by Michael Saboff.
- platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::ReliefLogger::logMemoryUsageChange):
- 7:19 AM Changeset in webkit [201161] by
-
- 3 edits in trunk/Source/JavaScriptCore
[ARM] Remove redefined macro after r200606
https://bugs.webkit.org/show_bug.cgi?id=157890
Reviewed by Michael Saboff.
- bytecode/PolymorphicAccess.cpp:
- jit/CCallHelpers.h:
- 7:15 AM Changeset in webkit [201160] by
-
- 2 edits in trunk/Source/WebCore
Remove castDOMMobjectForWrapperCreation(T&)
https://bugs.webkit.org/show_bug.cgi?id=157886
Reviewed by Andreas Kling.
No change of behavior.
- bindings/js/JSDOMBinding.h:
(WebCore::castDOMObjectForWrapperCreation): Deleted.
- 6:22 AM Changeset in webkit [201159] by
-
- 7 edits in trunk
Style resolution for explicitly inherited properties is inefficient
https://bugs.webkit.org/show_bug.cgi?id=157860
Reviewed by Andreas Kling.
Source/WebCore:
We mark the parent style with hasExplicitlyInheritedProperties bit rather than the style that is actually
affected by inherited properties. This leads to various inefficiencies including unnecessarily wide style recalcs.
- css/StyleResolver.cpp:
(WebCore::isCacheableInMatchedPropertiesCache):
Check the style itself rather than the parent. This allows more caching.
(WebCore::StyleResolver::applyProperty):
Mark the style rather than the parent.
- style/StyleChange.cpp:
(WebCore::Style::determineChange):
Remove hasExplicitlyInheritedProperties test and just return NoInherit. Having explicitly inherited
properties doesn't make the children inherit them automatically.
This allows smaller style recalcs.
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveElement):
This patch exposed a bug with appearance property in meter and progress elements.
They may construct different renderer based on appearance so we need to force
render tree reconstruction when it changes.
(WebCore::Style::TreeResolver::popParentsToDepth):
(WebCore::Style::shouldResolvePseudoElement):
Don't clear the style recalc bits here.
(WebCore::Style::shouldResolveElement):
Add a helper.
If the parent had a NoInherit style change, test if the element has existing style with
hasExplicitlyInheritedProperties bit. If so we need to re-resolve this element.
(WebCore::Style::clearNeedsStyleResolution):
Also clear pseudo elements.
(WebCore::Style::TreeResolver::resolveComposedTree):
LayoutTests:
- platform/ios-simulator/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
- platform/mac/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
This is a progression.
- 5:03 AM Changeset in webkit [201158] by
-
- 3 edits in trunk/Tools
Slow JSC stress tests times out in 32 bit debug mode
https://bugs.webkit.org/show_bug.cgi?id=154964
Reviewed by Michael Catanzaro.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests): Pass through the --debug option.
- Scripts/run-jsc-stress-tests: Increase the timeout for debug builds.
- 2:36 AM Changeset in webkit [201157] by
-
- 3 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r201110. rdar://problem/25730174
- 2:36 AM Changeset in webkit [201156] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r201016. rdar://problem/25584201
- 2:36 AM Changeset in webkit [201155] by
-
- 2 edits in branches/safari-602.1.32-branch/Tools
Merge r200978. rdar://problem/25584201
- 2:35 AM Changeset in webkit [201154] by
-
- 10 edits in branches/safari-602.1.32-branch
Merge r200951. rdar://problem/25584201
- 1:41 AM Changeset in webkit [201153] by
-
- 4 edits in branches/safari-602.1.32-branch/Source/WebCore
Merge r201119. rdar://problem/26225793
- 1:41 AM Changeset in webkit [201152] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebCore
Merge r201103. rdar://problem/26339922
- 1:41 AM Changeset in webkit [201151] by
-
- 3 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r201102. rdar://problem/26339922
- 1:41 AM Changeset in webkit [201150] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r201092. rdar://problem/26349229
- 1:41 AM Changeset in webkit [201149] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200661.
- 1:41 AM Changeset in webkit [201148] by
-
- 11 edits2 adds in branches/safari-602.1.32-branch
Merge r200651. rdar://problem/26188642
- 1:40 AM Changeset in webkit [201147] by
-
- 14 edits3 adds in branches/safari-602.1.32-branch
Merge r201090. rdar://problem/26334636
- 1:40 AM Changeset in webkit [201146] by
-
- 4 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r201079. rdar://problem/26334648
- 1:40 AM Changeset in webkit [201145] by
-
- 12 edits in branches/safari-602.1.32-branch
Merge r201065. rdar://problem/26333137
- 1:40 AM Changeset in webkit [201144] by
-
- 3 edits in branches/safari-602.1.32-branch/Source/WebCore
Merge r201043. rdar://problem/25835802
- 1:40 AM Changeset in webkit [201143] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r200961. rdar://problem/25984480
- 1:40 AM Changeset in webkit [201142] by
-
- 6 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r200959. rdar://problem/26298247
- 1:40 AM Changeset in webkit [201141] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r200950. rdar://problem/26287306
- 1:40 AM Changeset in webkit [201140] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200949. rdar://problem/26262219
- 1:40 AM Changeset in webkit [201139] by
-
- 11 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200947. rdar://problem/26286090
- 1:40 AM Changeset in webkit [201138] by
-
- 8 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200873. rdar://problem/26228605
- 1:40 AM Changeset in webkit [201137] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200809. rdar://problem/26260709
- 1:40 AM Changeset in webkit [201136] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200805. rdar://problem/26252938
- 1:40 AM Changeset in webkit [201135] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200779. rdar://problem/26239051
- 1:40 AM Changeset in webkit [201134] by
-
- 7 edits1 add in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200767. rdar://problem/26231245
- 1:39 AM Changeset in webkit [201133] by
-
- 3 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200716. rdar://problem/26232856
- 1:39 AM Changeset in webkit [201132] by
-
- 9 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r200702. rdar://problem/26190121
- 1:39 AM Changeset in webkit [201131] by
-
- 4 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200656. rdar://problem/25898256
- 1:08 AM Changeset in webkit [201130] by
-
- 4 edits in trunk/LayoutTests
REGRESSION (r200887): LayoutTest http/tests/performance/performance-resource-timing-cached-entries.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=157816
Reviewed by Alexey Proskuryakov.
Mark the test as flaky, and add console logs to try to figure out the cause for flakiness.
- TestExpectations: Mark the test as flaky.
- http/tests/performance/performance-resource-timing-cached-entries.html: Add prints to better identify the flakiness root cause.
- 12:32 AM Changeset in webkit [201129] by
-
- 46 edits in trunk/Source/WebCore
Refactor toJS functions to use toJSNewlyCreated
https://bugs.webkit.org/show_bug.cgi?id=157835
Reviewed by Chris Dumez.
Moving checks generated by binding generator from toJS to toJSNewlyCreated.
Changing wrap template function to use toJSNewlyCreated function.
This allows DOMClass toJS() to be equivalent to wrap template function.
Refactored custom binding code to take benefit of this.
Covered by existing tests.
- bindings/js/JSAnimationTimelineCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSBlobCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSCSSValueCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSCanvasRenderingContextCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSDOMBinding.h:
(WebCore::wrap):
(WebCore::toJS):
- bindings/js/JSDocumentCustom.cpp:
(WebCore::toJS):
(WebCore::cachedDocumentWrapper): Deleted.
- bindings/js/JSDocumentFragmentCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSEventCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSHTMLTemplateElementCustom.cpp:
(WebCore::JSHTMLTemplateElement::content):
- bindings/js/JSIDBCursorCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSImageDataCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSMediaStreamCapabilitiesCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSNodeListCustom.h:
(WebCore::toJS):
- bindings/js/JSPerformanceEntryCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSSVGPathSegCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSStyleSheetCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSTextCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSTextTrackCueCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSTrackCustom.cpp:
(WebCore::toJS):
- bindings/js/JSXMLDocumentCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
- 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:
- 12:14 AM Changeset in webkit [201128] by
-
- 11 edits in trunk/Source/WebCore
Make binding DOM constructor use toJSNewlyCreated instead of toJS
https://bugs.webkit.org/show_bug.cgi?id=157832
Reviewed by Chris Dumez.
Using toJSNewlyCreated in generated constructors instead of toJS.
Enabling generation of toJS and toJSNewlyCreated for constructable DOM objects.
This ensures that toJSNewlyCreated call in constructor will compile properly.
Updating some custom code to implement toJSNewlyCreated.
Covered by existing tests.
- bindings/js/JSImageDataCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/js/JSTextTrackCueCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/scripts/CodeGeneratorJS.pm:
(ShouldGenerateToJSDeclaration):
(GenerateConstructorDefinition):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::construct):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
- bindings/scripts/test/JS/JSTestNode.h:
(WebCore::toJS):
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::construct):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors3):
(WebCore::constructJSTestOverloadedConstructors4):
(WebCore::constructJSTestOverloadedConstructors5):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):