Timeline
Jul 24, 2016:
- 11:34 PM Changeset in webkit [203677] by
-
- 1 edit1 add in trunk/Tools
Unreviewed, forgot to commit this file in r203674.
- Scripts/process-linux-coredump: Added.
(main):
- 11:33 PM Changeset in webkit [203676] by
-
- 3 edits in trunk/Source/WebKit2
[GTK][Threaded Compositor] ASSERTION FAILED: !!handle !!m_nativeSurfaceHandle with several layout tests
https://bugs.webkit.org/show_bug.cgi?id=160143
Reviewed by Michael Catanzaro.
We have a message to set the native surface handle and another one for destroying it, the former is a normal
message while the latter is sync. This assertion happens if the web view is realized before the web process is
launched. This is the sequence:
1.- DrawingAreaProxyImpl sends SetNativeSurfaceHandleForCompositing message to the web process, since the
process hasn't been launched yet, the message is queued.
2.- Web process is launched and queued messages are now sent to the web process.
3.- The page is closed right after the web process is launched, and DrawingAreaProxyImpl sends
DestroyNativeSurfaceHandleForCompositing to the web process.
4.- The web process processes incoming messages, and DestroyNativeSurfaceHandleForCompositing is processed before
SetNativeSurfaceHandleForCompositing because it's sync.
5.- The web process processes SetNativeSurfaceHandleForCompositing message.
This is not only producing the assertion, it's also setting a handle for a X window already destroyed in the UI
process, so this could be producing the X errors we have seen in other tests. So, we need to make sure
SetNativeSurfaceHandleForCompositing and DestroyNativeSurfaceHandleForCompositing are handled in order by the
web process. We could make SetNativeSurfaceHandleForCompositing sync as well, but sync messages are just ignored
when sent before the web process has been launched (only normal messages are queued for obvious reasons). The
other option is sending the SetNativeSurfaceHandleForCompositing message with the
IPC::DispatchMessageEvenWhenWaitingForSyncReply flag. In this case the message is queued and dispatched on
process launch, but it's dispatched before other messages also queued without that flag, like
CreateWebPage. Since there's no WebPage the web process doesn't find a valid message receiver for it and
it's discarded. We need to ensure the DrawinArea object has been created before sending the
SetNativeSurfaceHandleForCompositing with the PC::DispatchMessageEvenWhenWaitingForSyncReply flag.
- UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): If we have received the first update and there's a
SetNativeSurfaceHandleForCompositing message pending, send it.
(WebKit::DrawingAreaProxyImpl::setNativeSurfaceHandleForCompositing): Do not send the message before the first
update is received.
(WebKit::DrawingAreaProxyImpl::destroyNativeSurfaceHandleForCompositing): If there was a
SetNativeSurfaceHandleForCompositing message pending, just ignore this destroy since the web process never
received the handle.
- UIProcess/DrawingAreaProxyImpl.h:
- 11:28 PM Changeset in webkit [203675] by
-
- 27 edits3 copies1 delete in trunk
[Fetch API] Request should be created with any HeadersInit data
https://bugs.webkit.org/show_bug.cgi?id=159672
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-24
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Test was previously
failing due to lack of support for HeadersInit data in Request constructor.
- platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Removed.
- web-platform-tests/fetch/api/request/request-headers-expected.txt:
- web-platform-tests/fetch/api/request/request-headers.html: Adding new test.
Source/JavaScriptCore:
- Scripts/builtins/builtins_generator.py:
(WK_lcfirst): Synchronized with CodeGenerator.pm version.
Source/WebCore:
Made Request use JSBuiltinConstructor.
This allows initializing newly created Request with a JS built-in function, initializeFetchRequest.
initializeFetchRequest can call @fillFetchHeaders internal built-in to handle any HeadersInit data.
Future effort should be made to migrate more initialization code in initializeFetchRequest.
Made window and worker fetch function as a JS built-in.
This becomes more handy as these new functions can construct the Request object.
They can then call a single private function that takes a Request object as input.
Updated DOMWindowFetch and WorkerGlobalScopeFetch code accordingly.
To enable this, the binding generator is updated to support runtime-enabled JS built-in functions and
private functions atttached to global objects.
Covered by existing and modified tests.
Binding generator test covered by updated binding tests.
- CMakeLists.txt: Adding DOMWindowFetch.js, FetchRequest.js and WorkerGlobalScopeFetch.js built-in files.
- DerivedSources.make: Ditto.
- Modules/fetch/DOMWindowFetch.cpp: Removed overloaded fetch and updated according new signature.
(WebCore::DOMWindowFetch::fetch):
- Modules/fetch/DOMWindowFetch.h: Ditto.
- Modules/fetch/DOMWindowFetch.idl: Making fetch a JS built-in and adding a @fetchRequest private function.
- Modules/fetch/DOMWindowFetch.js: Added.
(fetch):
- Modules/fetch/FetchHeaders.h:
(WebCore::FetchHeaders::setGuard): Used by FetchRequest when initializing headers.
- Modules/fetch/FetchRequest.cpp:
(WebCore::buildHeaders): Removed as implemented in JS.
(WebCore::FetchRequest::initializeOptions): Added to handle most of the dictionary initialization.
(WebCore::FetchRequest::initializeWith): Method called from built-in constructor function.
(WebCore::FetchRequest::setBody): Corresponding to @setBody private method.
(WebCore::buildBody): Deleted.
- Modules/fetch/FetchRequest.h:
- Modules/fetch/FetchRequest.idl:
- Modules/fetch/FetchRequest.js: Added.
(initializeFetchRequest): Implements fetch Request(input, init) constructor.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::fetch): Removed the construction of FetchRequest in fetch method since it is done by JS built-in code.
- Modules/fetch/FetchResponse.h:
- Modules/fetch/WorkerGlobalScopeFetch.cpp: Removed overloaded fetch and updated according new signature.
(WebCore::WorkerGlobalScopeFetch::fetch):
- Modules/fetch/WorkerGlobalScopeFetch.h: Ditto.
- Modules/fetch/WorkerGlobalScopeFetch.idl: Making fetch a JS built-in and adding a @fetchRequest private function.
- Modules/fetch/WorkerGlobalScopeFetch.js: Added.
(fetch):
- bindings/js/WebCoreBuiltinNames.h: Adding fetchRequest, setBody and Request private identifiers.
- bindings/scripts/CodeGenerator.pm:
(WK_lcfirst): Replacing dOM by dom.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Adding support for runtime-enabled built-in methods and private methods.
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::finishCreation):
(WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction):
- bindings/scripts/test/ObjC/DOMTestGlobalObject.mm:
(-[DOMTestGlobalObject testJSBuiltinFunction]):
- bindings/scripts/test/TestGlobalObject.idl: Adding tests for runtime-enabled global built-in methods and private methods.
- 11:07 PM Changeset in webkit [203674] by
-
- 16 edits in trunk
Improve GDB backtrace generation for GTK/EFL
https://bugs.webkit.org/show_bug.cgi?id=128928
Reviewed by Carlos Garcia Campos.
Source/WebKit2:
Move the Web, Database and Network ProcessIdentifier functions to
the cross-platform WKContext and WKPage implementations.
- UIProcess/API/C/WKContext.cpp:
(WKContextGetNetworkProcessIdentifier):
(WKContextGetDatabaseProcessIdentifier):
- UIProcess/API/C/WKContextPrivate.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageGetProcessIdentifier):
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/API/C/mac/WKContextPrivateMac.h:
- UIProcess/API/C/mac/WKContextPrivateMac.mm:
- UIProcess/API/C/mac/WKPagePrivateMac.h:
- UIProcess/API/C/mac/WKPagePrivateMac.mm:
Tools:
The PID of the crashed process is now correctly supplied to the
crash log reporter. The kernel core_pattern needs to be updated
after this change to something like:
echo "|/home/phil/WebKit/Tools/Scripts/process-linux-coredump /tmp/core-pid_%p.dump" > /proc/sys/kernel/core_pattern
- Scripts/process-linux-coredump: Added.
(main): Minimal python script reading coredump data on stdin and writing it to a file in /tmp/.
- Scripts/webkitpy/port/efl.py:
(EflPort._get_crash_log): Supply path of the process-linux-coredump script.
- Scripts/webkitpy/port/gtk.py:
(GtkPort._get_crash_log): Ditto.
- Scripts/webkitpy/port/linux_get_crash_log.py:
(GDBCrashLogGenerator.init): New argument for supplying the path of a coredump processor script.
(GDBCrashLogGenerator.generate_crash_log): Update error message, the core_pattern should now be set to pipe coredumps to a script.
(GDBCrashLogGenerator): Deleted.
- Scripts/webkitpy/port/linux_get_crash_log_unittest.py:
(GDBCrashLogGeneratorTest.test_generate_crash_log): Update test expectations.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::networkProcessDidCrash): Supply PID of crash process.
(WTR::TestController::databaseProcessDidCrash): Ditto.
(WTR::TestController::processDidCrash): Ditto.
- 8:42 PM Changeset in webkit [203673] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Filtering is broken in the Overview timeline view
https://bugs.webkit.org/show_bug.cgi?id=160152
<rdar://problem/27517481>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/SourceCodeTimelineTimelineDataGridNode.js:
(WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.filterableDataForColumn):
Non-resource nodes should be filtered based on their display name.
- 6:14 PM Changeset in webkit [203672] by
-
- 3 edits in branches/safari-602-branch/LayoutTests
Merge r203665. rdar://problem/27453479
- 5:48 PM Changeset in webkit [203671] by
-
- 3 edits in trunk/Source/WebKit2
Add specialization for encoding/decoding WebCore::CertificateInfos in the Network Cache
<rdar://problem/27409315>
https://bugs.webkit.org/show_bug.cgi?id=160144
Reviewed by Chris Dumez.
- NetworkProcess/cache/NetworkCacheCoders.cpp:
(WebKit::NetworkCache::encodeCFData):
(WebKit::NetworkCache::decodeCFData):
(WebKit::NetworkCache::encodeSecTrustRef):
(WebKit::NetworkCache::decodeSecTrustRef):
(WebKit::NetworkCache::encodeCertificateChain):
(WebKit::NetworkCache::decodeCertificateChain):
(WebKit::NetworkCache::Coder<WebCore::CertificateInfo>::encode):
(WebKit::NetworkCache::Coder<WebCore::CertificateInfo>::decode):
- NetworkProcess/cache/NetworkCacheStorage.h:
(WebKit::NetworkCache::Storage::version):
Bump the version and lastStableVersion to account for the format change.
- 1:33 PM Changeset in webkit [203670] by
-
- 33 edits2 adds in trunk
B3 should support multiple entrypoints
https://bugs.webkit.org/show_bug.cgi?id=159391
Reviewed by Saam Barati.
Source/JavaScriptCore:
This teaches B3 how to compile procedures with multiple entrypoints in the best way ever.
Multiple entrypoints are useful. We could use them to reduce the cost of compiling OSR
entrypoints. We could use them to implement better try/catch.
Multiple entrypoints are hard to support. All of the code that assumed that the root block
is the entrypoint would have to be changed. Transformations like moveConstants() would have
to do crazy things if the existence of multiple entrypoints prevented it from finding a
single common dominator.
Therefore, we want to add multiple entrypoints without actually teaching the compiler that
there is such a thing. That's sort of what this change does.
This adds a new opcode to both B3 and Air called EntrySwitch. It's a terminal that takes
one or more successors and no value children. The number of successors must match
Procedure::numEntrypoints(), which could be arbitrarily large. The semantics of EntrySwitch
are:
- Each of the entrypoints sets a hidden Entry variable to that entrypoint's index and jumps to the procedure's root block.
- An EntrySwitch is a switch statement over this hidden Entry variable.
The way that we actually implement this is that Air has a very late phase - after all
register and stack layout - that clones all code where the Entry variable is live; i.e all
code in the closure over predecessors of all blocks that do EntrySwitch.
Usually, you would use this by creating an EntrySwitch in the root block, but you don't
have to do that. Just remember that the code before EntrySwitch gets cloned for each
entrypoint. We allow cloning of an arbitrarily large amount of code because restricting it,
and so restricing the placement of EntrySwitches, would be unelegant. It would be hard to
preserve this invariant. For example we wouldn't be able to lower any value before an
EntrySwitch to a control flow diamond.
This patch gives us an easy-to-use way to use B3 to compile code with multiple entrypoints.
Inside the compiler, only code that runs very late in Air has to know about this feature.
We get the best of both worlds!
Also, I finally got rid of the requirement that you explicitly cast BasicBlock* to
FrequentedBlock. I can no longer remember why I thought that was a good idea. Removing it
doesn't cause any problems and it makes code easier to write.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- b3/B3BasicBlockUtils.h:
(JSC::B3::updatePredecessorsAfter):
(JSC::B3::clearPredecessors):
(JSC::B3::recomputePredecessors):
- b3/B3FrequencyClass.h:
(JSC::B3::maxFrequency):
- b3/B3Generate.h:
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
- b3/B3MoveConstants.cpp:
- b3/B3Opcode.cpp:
(WTF::printInternal):
- b3/B3Opcode.h:
- b3/B3Procedure.cpp:
(JSC::B3::Procedure::isFastConstant):
(JSC::B3::Procedure::entrypointLabel):
(JSC::B3::Procedure::addDataSection):
- b3/B3Procedure.h:
(JSC::B3::Procedure::numEntrypoints):
(JSC::B3::Procedure::setNumEntrypoints):
(JSC::B3::Procedure::setLastPhaseName):
- b3/B3Validate.cpp:
- b3/B3Value.cpp:
(JSC::B3::Value::effects):
(JSC::B3::Value::typeFor):
- b3/B3Value.h:
- b3/air/AirCode.cpp:
(JSC::B3::Air::Code::cCallSpecial):
(JSC::B3::Air::Code::isEntrypoint):
(JSC::B3::Air::Code::resetReachability):
(JSC::B3::Air::Code::dump):
- b3/air/AirCode.h:
(JSC::B3::Air::Code::setFrameSize):
(JSC::B3::Air::Code::numEntrypoints):
(JSC::B3::Air::Code::entrypoints):
(JSC::B3::Air::Code::entrypoint):
(JSC::B3::Air::Code::setEntrypoints):
(JSC::B3::Air::Code::entrypointLabel):
(JSC::B3::Air::Code::setEntrypointLabels):
(JSC::B3::Air::Code::calleeSaveRegisters):
- b3/air/AirCustom.h:
(JSC::B3::Air::PatchCustom::isTerminal):
(JSC::B3::Air::PatchCustom::hasNonArgEffects):
(JSC::B3::Air::PatchCustom::hasNonArgNonControlEffects):
(JSC::B3::Air::PatchCustom::generate):
(JSC::B3::Air::CommonCustomBase::hasNonArgEffects):
(JSC::B3::Air::CCallCustom::forEachArg):
(JSC::B3::Air::ColdCCallCustom::forEachArg):
(JSC::B3::Air::ShuffleCustom::forEachArg):
(JSC::B3::Air::EntrySwitchCustom::forEachArg):
(JSC::B3::Air::EntrySwitchCustom::isValidFormStatic):
(JSC::B3::Air::EntrySwitchCustom::isValidForm):
(JSC::B3::Air::EntrySwitchCustom::admitsStack):
(JSC::B3::Air::EntrySwitchCustom::isTerminal):
(JSC::B3::Air::EntrySwitchCustom::hasNonArgNonControlEffects):
(JSC::B3::Air::EntrySwitchCustom::generate):
- b3/air/AirGenerate.cpp:
(JSC::B3::Air::prepareForGeneration):
(JSC::B3::Air::generate):
- b3/air/AirLowerEntrySwitch.cpp: Added.
(JSC::B3::Air::lowerEntrySwitch):
- b3/air/AirLowerEntrySwitch.h: Added.
- b3/air/AirOpcode.opcodes:
- b3/air/AirOptimizeBlockOrder.cpp:
(JSC::B3::Air::blocksInOptimizedOrder):
- b3/air/AirSpecial.cpp:
(JSC::B3::Air::Special::isTerminal):
(JSC::B3::Air::Special::hasNonArgEffects):
(JSC::B3::Air::Special::hasNonArgNonControlEffects):
- b3/air/AirSpecial.h:
- b3/air/AirValidate.cpp:
- b3/air/opcode_generator.rb:
- b3/testb3.cpp:
Source/WTF:
- wtf/GraphNodeWorklist.h: Expose some handy functionality.
(WTF::GraphNodeWorklist::pop):
(WTF::GraphNodeWorklist::saw):
(WTF::GraphNodeWorklist::seen):
- wtf/VectorTraits.h: Fix a bug! Otherwise filling a vector of byte-sized enum classes doesn't work.
Websites/webkit.org:
Update some statements about ControlValue (which doesn't exist anymore) and add a blurb
about EntrySwitch.
- docs/b3/index.html:
- docs/b3/intermediate-representation.html:
- 12:53 PM Changeset in webkit [203669] by
-
- 3 edits2 adds in trunk
AX: Video Controls: Volume cannot be adjusted using VO.
https://bugs.webkit.org/show_bug.cgi?id=160107
Reviewed by Dean Jackson.
Source/WebCore:
The volume slider in video tag had 0.01 step which caused the screen reader adjusting it slowly.
Changed the step to 0.05 and added the aria-valuetext attribute to the slider, so that the value
is spoken in percentage.
Test: accessibility/mac/video-volume-slider-accessibility.html
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls):
(Controller.prototype.handleVolumeSliderInput):
(Controller.prototype.updateVolume):
LayoutTests:
- accessibility/mac/video-volume-slider-accessibility-expected.txt: Added.
- accessibility/mac/video-volume-slider-accessibility.html: Added.
- 11:59 AM Changeset in webkit [203668] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed, fix broken test. I don't know why I goofed this up without seeing it before landing.
- b3/air/AirOpcode.opcodes:
- b3/testb3.cpp:
(JSC::B3::run):
- 10:47 AM Changeset in webkit [203667] by
-
- 3 edits2 adds in trunk
REGRESSION (r203106): Crash in WebCore::MathMLElement::parseMathMLLength()
<https://webkit.org/b/160111>
<rdar://problem/27506489>
Reviewed by Chris Dumez.
Source/WebCore:
Test: mathml/mpadded-crash.html
- mathml/MathMLElement.cpp:
(WebCore::skipLeadingAndTrailingWhitespace): Change to take
StringView parameter instead of String to avoid creating a
temporary String that's released on return.
LayoutTests:
- mathml/mpadded-crash-expected.txt: Added.
- mathml/mpadded-crash.html: Added.
- 10:36 AM Changeset in webkit [203666] by
-
- 11 edits in trunk/Source/JavaScriptCore
[B3] Fusing immediates into test instructions should work again
https://bugs.webkit.org/show_bug.cgi?id=160073
Reviewed by Sam Weinig.
When we introduced BitImm, we forgot to change the Branch(BitAnd(value, constant))
fusion. This emits test instructions, so it should use BitImm for the constant. But it
was still using Imm! This meant that isValidForm() always returned false.
This fixes the code path to use BitImm, and turns off our use of BitImm64 on x86 since
it provides no benefit on x86 and has some risk (the code appears to play fast and loose
with the scratch register).
This is not an obvious progression on anything, so I added comprehensive tests to
testb3, which check that we selected the optimal instruction in a variety of situations.
We should add more tests like this!
- b3/B3BasicBlock.h:
(JSC::B3::BasicBlock::successorBlock):
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::createGenericCompare):
- b3/B3LowerToAir.h:
- b3/air/AirArg.cpp:
(JSC::B3::Air::Arg::isRepresentableAs):
(JSC::B3::Air::Arg::usesTmp):
- b3/air/AirArg.h:
(JSC::B3::Air::Arg::isRepresentableAs):
(JSC::B3::Air::Arg::castToType):
(JSC::B3::Air::Arg::asNumber):
- b3/air/AirCode.h:
(JSC::B3::Air::Code::size):
(JSC::B3::Air::Code::at):
- b3/air/AirOpcode.opcodes:
- b3/air/AirValidate.h:
- b3/air/opcode_generator.rb:
- b3/testb3.cpp:
(JSC::B3::compile):
(JSC::B3::compileAndRun):
(JSC::B3::lowerToAirForTesting):
(JSC::B3::testSomeEarlyRegister):
(JSC::B3::testBranchBitAndImmFusion):
(JSC::B3::zero):
(JSC::B3::run):
- 10:25 AM Changeset in webkit [203665] by
-
- 3 edits in trunk/LayoutTests
Test gardening after r203626.
https://bugs.webkit.org/show_bug.cgi?id=160102
<rdar://problem/27453479>
Unreviewed.
- platform/ios-simulator/editing/deleting/delete-emoji-expected.txt:
- platform/mac-yosemite/editing/deleting/delete-emoji-expected.txt:
- 8:53 AM Changeset in webkit [203664] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed, update the exponentiation expression error message
https://bugs.webkit.org/show_bug.cgi?id=159969
Follow up patch for r203499.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseBinaryExpression):
- tests/stress/pow-expects-update-expression-on-lhs.js:
(throw.new.Error):
- 6:08 AM Changeset in webkit [203663] by
-
- 3 edits in trunk/Source/WebCore
[Coordinated Graphics] ASSERTION FAILED: !m_flushingLayers in fast/repaint/animation-after-layer-scroll.html
https://bugs.webkit.org/show_bug.cgi?id=160142
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-07-24
Reviewed by Michael Catanzaro.
This only happens in layout tests, because it happens when RenderLayerCompositor::layerTreeAsText() is
called. The thing is that CoordinatedGraphicsLayer::flushCompositingState() calls notifyFlushRequired() that
checks if the coordinator is flusing layers and if not it calls RenderLayerCompositor::notifyFlushRequired() and
returns early. This normally works because the coodinator is the one starting the layer flush, so that when
RenderLayerCompositor::flushPendingLayerChanges() is called the coordinator is always flusing layers. But
RenderLayerCompositor::layerTreeAsText() calls RenderLayerCompositor::flushPendingLayerChanges() directly, so at
that moment the coordinator is not flusing layers, what causes that
CoordinatedGraphicsLayer::flushCompositingState() ends up calling RenderLayerCompositor::notifyFlushRequired()
that schedules a new flush while flusing layers causing the
assertion. CoordinatedGraphicsLayer::flushCompositingState() is always called from
CompositingCoordinator::flushPendingLayerChanges() or RenderLayerCompositor::flushPendingLayerChanges() so we
never need to call RenderLayerCompositor::notifyFlushRequired() from there.
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::notifyFlushRequired): This is void now since the return value is not checked anywhere.
(WebCore::CoordinatedGraphicsLayer::flushCompositingState): Remove the call to notifyFlushRequired().
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
- 6:04 AM Changeset in webkit [203662] by
-
- 3 edits in trunk/LayoutTests
[GTK] Layout test security/contentSecurityPolicy/plugins-types-allows-quicktime-plugin-replacement.html timing out
https://bugs.webkit.org/show_bug.cgi?id=160128
Unreviewed, skip the tests.
- platform/efl/TestExpectations:
- platform/gtk/TestExpectations:
- 4:10 AM Changeset in webkit [203661] by
-
- 3 edits2 deletes in trunk/Source
Adding a new WebCore JavaScript built-in source file does not trigger rebuild of WebCoreJSBuiltins*
https://bugs.webkit.org/show_bug.cgi?id=160115
Reviewed by Youenn Fablet.
Source/JavaScriptCore:
- make-generated-sources.sh: Removed. Was unused.
Source/WebCore:
- DerivedSources.make: Added a missing dependency so the rule that builds WebCore_BUILTINS_WRAPPERS
kicks in when the list of WebCore_BUILTINS_SOURCES is modified. Also added another missing dependency
so that changes to the JavaScript built-ins Python scripts will also trigger WebCore_BUILTINS_WRAPPERS.
- make-generated-sources.sh: Removed. Was unused.
Jul 23, 2016:
- 8:11 PM Changeset in webkit [203660] by
-
- 12 edits in trunk/Source/WebCore
Stop isEmpty() from leaking out of SVG.
https://bugs.webkit.org/show_bug.cgi?id=160121
Reviewed by Simon Fraser.
It's unclear what isEmpty() actually means and it doesn't bring any value to Render* classes.
No change in functionality.
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
- rendering/RenderElement.h:
- rendering/RenderListItem.cpp:
(WebCore::RenderListItem::isEmpty): Deleted.
- rendering/RenderListItem.h:
- rendering/RenderObject.h:
(WebCore::RenderObject::isEmpty): Deleted.
- rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::removeChild):
(WebCore::RenderRubyRun::isEmpty): Deleted.
- rendering/RenderRubyRun.h:
- rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::updateFromElement):
(WebCore::RenderMathMLFenced::addChild):
- rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint):
- rendering/svg/RenderSVGShape.h:
- 7:16 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 7:15 PM Changeset in webkit [203659] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK test expectations fixups
- platform/gtk/TestExpectations:
- 7:12 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 7:11 PM Changeset in webkit [203658] by
-
- 3 edits in trunk/LayoutTests
Even more unreviewed flaky GTK test gardening
- TestExpectations:
- platform/gtk/TestExpectations:
- 6:39 PM Changeset in webkit [203657] by
-
- 11 edits in trunk/Source/WebCore
table*BorderAdjoiningCell and borderAdjoiningCell* should take reference instead of RenderTableCell*.
https://bugs.webkit.org/show_bug.cgi?id=160123
Reviewed by Simon Fraser.
No change in functionality.
- rendering/RenderTable.cpp:
(WebCore::RenderTable::tableStartBorderAdjoiningCell):
(WebCore::RenderTable::tableEndBorderAdjoiningCell):
- rendering/RenderTable.h:
- rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computeCollapsedStartBorder):
(WebCore::RenderTableCell::computeCollapsedEndBorder):
- rendering/RenderTableCell.h:
(WebCore::RenderTableCell::borderAdjoiningCellBefore):
(WebCore::RenderTableCell::borderAdjoiningCellAfter):
- rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::borderAdjoiningCellStartBorder):
(WebCore::RenderTableCol::borderAdjoiningCellEndBorder):
(WebCore::RenderTableCol::borderAdjoiningCellBefore):
(WebCore::RenderTableCol::borderAdjoiningCellAfter):
- rendering/RenderTableCol.h:
- rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::borderAdjoiningStartCell):
(WebCore::RenderTableRow::borderAdjoiningEndCell):
- rendering/RenderTableRow.h:
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::borderAdjoiningStartCell):
(WebCore::RenderTableSection::borderAdjoiningEndCell):
- rendering/RenderTableSection.h:
- 6:38 PM Changeset in webkit [203656] by
-
- 2 edits in trunk/Source/WebCore
Remove unused enum and stale comment from RenderObject.
https://bugs.webkit.org/show_bug.cgi?id=160122
Reviewed by Simon Fraser.
No change in functionality.
- rendering/RenderBox.h:
- 4:13 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 4:10 PM Changeset in webkit [203655] by
-
- 3 edits in trunk/LayoutTests
Unreviewed flaky test gardening for GTK
Mostly more fallout from threaded compositor
- TestExpectations:
- platform/gtk/TestExpectations:
- 3:02 PM Changeset in webkit [203654] by
-
- 2 edits in trunk/LayoutTests
More unreviewed GTK gardening
Update expectations for tests timing out
- platform/gtk/TestExpectations:
- 2:47 PM Changeset in webkit [203653] by
-
- 2 edits in trunk/LayoutTests
More unreviewed GTK gardening
Mark more flaky crashes after enabling threaded compositor
- platform/gtk/TestExpectations:
- 2:32 PM Changeset in webkit [203652] by
-
- 2 edits in trunk/LayoutTests
More unreviewed GTK gardening, mark even more new passes after enabling threaded compositor
- platform/gtk/TestExpectations:
- 2:09 PM Changeset in webkit [203651] by
-
- 2 edits in trunk/Source/WebKit/win
Unreviewed, fix Windows build after r203623.
- DOMCoreClasses.cpp:
(DOMDocument::getComputedStyle):
- 11:21 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 11:14 AM Changeset in webkit [203650] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK gardening, mark many emoji gender tests passing
- platform/gtk/TestExpectations:
- 11:05 AM Changeset in webkit [203649] by
-
- 3 edits in trunk/LayoutTests
Unreviewed test gardening
These tests are flaky now on GTK, passing about half the time.
- TestExpectations:
- platform/gtk/TestExpectations:
- 10:51 AM Changeset in webkit [203648] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK gardening new passes after enabling threaded compositor
- platform/gtk/TestExpectations:
- 9:41 AM Changeset in webkit [203647] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test expectation gardening
Skip layout test editing/deleting/delete-emoji.html
- platform/gtk/TestExpectations:
- 9:31 AM Changeset in webkit [203646] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, move some GTK expectations to more appropriate locations
- platform/gtk/TestExpectations:
- 9:28 AM Changeset in webkit [203645] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, add GTK expectations for threaded compositor regressions
- platform/gtk/TestExpectations:
- 8:25 AM Changeset in webkit [203644] by
-
- 5 edits in trunk
[Coordinated Graphics] Lots of flaky tests
https://bugs.webkit.org/show_bug.cgi?id=160118
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-07-23
Reviewed by Michael Catanzaro.
Source/WebCore:
Since the GTK+ ported to threaded compositor (coordinated graphics) there are a lot of flaky tests in the
bots. In manu of the cases the diff shows a different size in the FrameView layer.
This happens for tests run in the same WTR after fast/fixed-layout/fixed-layout.html. This is what happens:
1.- Test fast/fixed-layout/fixed-layout.html runs and sets fixed layout to true and fixed layout size to 400x400
2.- When it finishes TestController::resetStateToConsistentValues() is called.
3.- Blank URL is loaded after state has been updated
4.- Then Reset message is handled in the web process and Internals::resetToConsistentState() resets the fixed
layout state and size.
5.- onresize happens and the handler set in fast/fixed-layout/fixed-layout.html is invoked setting the fixed
layout to true and size to 400x400 again.
6.- about_blank is then loaded with the fixed layout enabled, as well as other tests after this one.
In addition to this, coordinated graphics uses a fixedVisibleContentRect in ScrollView that is never reset.
- platform/ScrollView.cpp:
(WebCore::ScrollView::unscaledVisibleContentSizeIncludingObscuredArea): Only use m_fixedVisibleContentRect when
fixed layout is enabled.
(WebCore::ScrollView::unscaledUnobscuredVisibleContentSize): Ditto.
(WebCore::ScrollView::visibleContentRectInternal): Ditto.
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState): Reset also the m_fixedVisibleContentRect.
LayoutTests:
- fast/fixed-layout/fixed-layout.html: Remove the onresize handler when the test finishes to ensure it can't be
called later affecting other tests.
- 8:23 AM Changeset in webkit [203643] by
-
- 4 edits in trunk
[Coordinated Graphics] Test imported/blink/svg/custom/svg-image-layers-crash.html crashes
https://bugs.webkit.org/show_bug.cgi?id=160078
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-07-23
Reviewed by Michael Catanzaro.
Source/WebCore:
This is a merge of Blink r155373.
https://chromiumcodereview.appspot.com/20789004
Disable accelerated compositing for SVGImage content layers. SVGImageChromeClient does not support it.
Fixes imported/blink/svg/custom/svg-image-layers-crash.html.
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
LayoutTests:
- platform/efl/TestExpectations: Remove imported/blink/svg/custom/svg-image-layers-crash.html.
- 2:58 AM Changeset in webkit [203642] by
-
- 28 edits7 adds3 deletes in trunk
Unreviewed, rolling out r203641.
https://bugs.webkit.org/show_bug.cgi?id=160116
It broke make-based builds (Requested by youenn on #webkit).
Reverted changeset:
"[Fetch API] Request should be created with any HeadersInit
data"
https://bugs.webkit.org/show_bug.cgi?id=159672
http://trac.webkit.org/changeset/203641
- 1:55 AM Changeset in webkit [203641] by
-
- 27 edits3 copies1 delete in trunk
[Fetch API] Request should be created with any HeadersInit data
https://bugs.webkit.org/show_bug.cgi?id=159672
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-23
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Test was previously
failing due to lack of support for HeadersInit data in Request constructor.
- platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Removed.
- web-platform-tests/fetch/api/request/request-headers-expected.txt:
- web-platform-tests/fetch/api/request/request-headers.html: Adding new test.
Source/JavaScriptCore:
- Scripts/builtins/builtins_generator.py:
(WK_lcfirst): Synchronized with CodeGenerator.pm version.
Source/WebCore:
Made Request use JSBuiltinConstructor.
This allows initializing newly created Request with a JS built-in function, initializeFetchRequest.
initializeFetchRequest can call @fillFetchHeaders internal built-in to handle any HeadersInit data.
Future effort should be made to migrate more initialization code in initializeFetchRequest.
Made window and worker fetch function as a JS built-in.
This becomes more handy as these new functions can construct the Request object.
They can then call a single private function that takes a Request object as input.
Updated DOMWindowFetch and WorkerGlobalScopeFetch code accordingly.
To enable this, the binding generator is updated to support runtime-enabled JS built-in functions and
private functions atttached to global objects.
Covered by existing and modified tests.
Binding generator test covered by updated binding tests.
- CMakeLists.txt: Adding DOMWindowFetch.js, FetchRequest.js and WorkerGlobalScopeFetch.js built-in files.
- DerivedSources.make: Ditto.
- Modules/fetch/DOMWindowFetch.cpp: Removed overloaded fetch and updated according new signature.
(WebCore::DOMWindowFetch::fetch):
- Modules/fetch/DOMWindowFetch.h: Ditto.
- Modules/fetch/DOMWindowFetch.idl: Making fetch a JS built-in and adding a @fetchRequest private function.
- Modules/fetch/DOMWindowFetch.js: Added.
(fetch):
- Modules/fetch/FetchHeaders.h:
(WebCore::FetchHeaders::setGuard): Used by FetchRequest when initializing headers.
- Modules/fetch/FetchRequest.cpp:
(WebCore::buildHeaders): Removed as implemented in JS.
(WebCore::FetchRequest::initializeOptions): Added to handle most of the dictionary initialization.
(WebCore::FetchRequest::initializeWith): Method called from built-in constructor function.
(WebCore::FetchRequest::setBody): Corresponding to @setBody private method.
(WebCore::buildBody): Deleted.
- Modules/fetch/FetchRequest.h:
- Modules/fetch/FetchRequest.idl:
- Modules/fetch/FetchRequest.js: Added.
(initializeFetchRequest): Implements fetch Request(input, init) constructor.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::fetch): Removed the construction of FetchRequest in fetch method since it is done by JS built-in code.
- Modules/fetch/FetchResponse.h:
- Modules/fetch/WorkerGlobalScopeFetch.cpp: Removed overloaded fetch and updated according new signature.
(WebCore::WorkerGlobalScopeFetch::fetch):
- Modules/fetch/WorkerGlobalScopeFetch.h: Ditto.
- Modules/fetch/WorkerGlobalScopeFetch.idl: Making fetch a JS built-in and adding a @fetchRequest private function.
- Modules/fetch/WorkerGlobalScopeFetch.js: Added.
(fetch):
- bindings/js/WebCoreBuiltinNames.h: Adding fetchRequest, setBody and Request private identifiers.
- bindings/scripts/CodeGenerator.pm:
(WK_lcfirst): Replacing dOM by dom.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Adding support for runtime-enabled built-in methods and private methods.
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::finishCreation):
(WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction):
- bindings/scripts/test/ObjC/DOMTestGlobalObject.mm:
(-[DOMTestGlobalObject testJSBuiltinFunction]):
- bindings/scripts/test/TestGlobalObject.idl: Adding tests for runtime-enabled global built-in methods and private methods.
- 1:39 AM Changeset in webkit [203640] by
-
- 3 edits2 adds in trunk
Reset font-style on the <math> element
https://bugs.webkit.org/show_bug.cgi?id=160074
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-23
Reviewed by Darin Adler.
Source/WebCore:
Mathematical formulas with italic font-style render poorly (slanted operators, mathvariant
italic etc). We align on Gecko and make the user agent stylesheet reset the font-style to
'normal' by default. This addresses the concrete use case of formula inside theorem or
proposition statements, which are often written in italic.
Test: mathml/presentation/math-font-style.html
- css/mathml.css:
(math): Reset the font-style to normal.
LayoutTests:
- mathml/presentation/math-font-style-expected.html: Added.
- mathml/presentation/math-font-style.html: Added.
- 1:19 AM Changeset in webkit [203639] by
-
- 4 edits2 adds in trunk
Source/WebCore:
[MathML] PaintInfo state is not properly restored after applyTransform.
https://bugs.webkit.org/show_bug.cgi?id=160077
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-23
Reviewed by Simon Fraser.
PaintInfo::applyTransform modifies PaintInfo::rect and the original state is not properly
restored by GraphicsContextStateSaver. To avoid some weird rendering bugs in MathOperator
and RenderMathMLMenclose, we follow what is done in SVG renderers and make a copy of the
original PaintInfo before applying the transform.
Test: mathml/presentation/bug160077.html
- rendering/mathml/MathOperator.cpp:
(WebCore::MathOperator::paint):
- rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::paint):
LayoutTests:
[MathML] PaintInfo state not properly restored after applyTransform.
https://bugs.webkit.org/show_bug.cgi?id=160077
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-23
Reviewed by Simon Fraser.
- mathml/presentation/bug160077-expected-mismatch.html: Added.
- mathml/presentation/bug160077.html: Added.
- 1:07 AM Changeset in webkit [203638] by
-
- 9 edits in trunk
WPT stash server should be kept running when launching wpt server
https://bugs.webkit.org/show_bug.cgi?id=160052
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-23
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader-and-arguments-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt:
- web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_parentage-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/same_origin_parentage-expected.txt:
Tools:
- Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
(main): waiting to read stdin while stash server is started.
- 12:46 AM Changeset in webkit [203637] by
-
- 8 edits in trunk
[Fetch API] Fetch response stream should enqueue Uint8Array
https://bugs.webkit.org/show_bug.cgi?id=160083
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-23
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/resources/utils.js:
Source/WebCore:
Covered by updated tests.
Before enqueuing, ReadableStreamController::enqueue will convert ArrayBuffer as Uint8Array.
It also returns a boolean whether the operation is successful or not.
If returned value is false, calling code will stop loading or if everything is loaded it will refrain from closing the stream.
The enqueuing should be succesful except in OutOfMemory cases. This case is not yet handled in test cases.
Updated the code to remove templated enqueuing as Fetch has no use of it.
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::consumeAsStream): Do not close the stream if enqueuing failed.
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::blobChunk): Stop blob loading if enqueuing failed.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::BodyLoader::didReceiveData): Stop resource loading if enqueuing failed.
(WebCore::FetchResponse::consumeBodyAsStream): Ditto.
- Modules/fetch/FetchResponseSource.h:
- bindings/js/ReadableStreamController.h:
(WebCore::ReadableStreamController::enqueue):
(WebCore::ReadableStreamController::enqueue<RefPtr<JSC::ArrayBuffer>>): Deleted.
- 12:17 AM Changeset in webkit [203636] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION (r202876): Web Inspector: Switching away from Console tab with a lot of messages is slow
https://bugs.webkit.org/show_bug.cgi?id=160112
Reviewed by Joseph Pecoraro.
Showing NavigationSidebar before removing previous TabContentView can be very slow when
TabContentView is ConsoleTabContentView with a lot of messages. The order of operations
(show sidebar, change content view, show sidebar) caused more forced layouts. This patch
reduces the number of forced layouts by changes the order to: show content view, show sidebar,
show sidebar.
- UserInterface/Views/TabBrowser.js:
(WebInspector.TabBrowser.prototype._tabBarItemSelected):