Timeline
Jul 29, 2015:
- 11:39 PM Changeset in webkit [187580] by
-
- 4 edits in trunk/Source/WebCore
[GTK] Paste data is removed from clipboard when closing browser tab
https://bugs.webkit.org/show_bug.cgi?id=144549
Reviewed by Martin Robinson.
GTK+ stores all clipboards in gtk_main or gtk_application_shutdown
when the main loop finishes. We don't use gtk_main() in the web
process, so we need to do the same and store all clipboards on
process shutdown.
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::Pasteboard): Register the GtkClipboard.
- platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::singleton): Make it destructible.
(WebCore::PasteboardHelper::~PasteboardHelper): Call
gtk_clipboard_store for every registered GtkClipboard.
(WebCore::PasteboardHelper::registerClipboard): Save the given
GtkClipboard.
- platform/gtk/PasteboardHelper.h:
- 11:26 PM Changeset in webkit [187579] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
DFG::ArgumentsEliminationPhase should emit a PutStack for all of the GetStacks that the ByteCodeParser emitted
https://bugs.webkit.org/show_bug.cgi?id=147433
rdar://problem/21668986
Reviewed by Mark Lam.
Ideally, the ByteCodeParser would only emit SetArgument nodes for named arguments. But
currently that's not what it does - it emits a SetArgument for every argument that a varargs
call may pass. Each SetArgument gets turned into a GetStack. This means that if
ArgumentsEliminationPhase optimizes away PutStacks for those varargs arguments that didn't
get passed or used, we get degenerate IR where we have a GetStack of something that didn't
have a PutStack.
This fixes the bug by removing the code to optimize away PutStacks in
ArgumentsEliminationPhase.
- dfg/DFGArgumentsEliminationPhase.cpp:
- tests/stress/varargs-inlining-underflow.js: Added.
(baz):
(bar):
(foo):
- 10:47 PM Changeset in webkit [187578] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Improve styles of debugger popovers
https://bugs.webkit.org/show_bug.cgi?id=147437
Reviewed by Timothy Hatcher.
Use non-monospace font and improve spacing.
- UserInterface/Views/SourceCodeTextEditor.css:
(.popover .debugger-popover-content > .title):
(.popover .debugger-popover-content > .body):
- 9:59 PM Changeset in webkit [187577] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Border line in the debug popover should be semi-transparent black, not dark yellow
https://bugs.webkit.org/show_bug.cgi?id=147435
Reviewed by Timothy Hatcher.
- UserInterface/Views/SourceCodeTextEditor.css:
(.popover .debugger-popover-content > .body):
(@media (-webkit-min-device-pixel-ratio: 2)): Use hairline borders on retina.
- 9:40 PM Changeset in webkit [187576] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: " = $0" text in the Elements panel should anti-aliased
https://bugs.webkit.org/show_bug.cgi?id=147432
Reviewed by Timothy Hatcher.
- UserInterface/Views/DOMTreeOutline.css:
(.dom-tree-outline li.selected > span::after):
(.dom-tree-outline:focus li.selected > span::after):
Decrease the opacity just slightly to make " = $0" more distinct from DOM nodes.
- 8:33 PM Changeset in webkit [187575] by
-
- 27 edits9 copies18 adds in trunk
Implement basic types for ECMAScript Internationalization API
https://bugs.webkit.org/show_bug.cgi?id=146926
Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2015-07-29
Reviewed by Benjamin Poulain.
.:
Enable flag now that the basic objects are in place.
- Source/cmake/WebKitFeatures.cmake: enable INTL
Source/JavaScriptCore:
Adds basic types for ECMA-402 2nd edition, but does not implement the full locale-aware features yet.
http://www.ecma-international.org/ecma-402/2.0/ECMA-402.pdf
- CMakeLists.txt: Added new Intl files.
- Configurations/FeatureDefines.xcconfig: Enable INTL.
- DerivedSources.make: Added Intl files.
- JavaScriptCore.xcodeproj/project.pbxproj: Added Intl files.
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Added Intl files.
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Added Intl files.
- runtime/CommonIdentifiers.h: Added Collator, NumberFormat, and DateTimeFormat.
- runtime/DateConstructor.cpp: Made Date.now public.
- runtime/DateConstructor.h: Made Date.now public.
- runtime/IntlCollator.cpp: Added.
(JSC::IntlCollator::create):
(JSC::IntlCollator::createStructure):
(JSC::IntlCollator::IntlCollator):
(JSC::IntlCollator::finishCreation):
(JSC::IntlCollator::destroy):
(JSC::IntlCollator::visitChildren):
(JSC::IntlCollator::setBoundCompare):
(JSC::IntlCollatorFuncCompare): Added placeholder implementation using codePointCompare.
- runtime/IntlCollator.h: Added.
(JSC::IntlCollator::constructor):
(JSC::IntlCollator::boundCompare):
- runtime/IntlCollatorConstructor.cpp: Added.
(JSC::IntlCollatorConstructor::create):
(JSC::IntlCollatorConstructor::createStructure):
(JSC::IntlCollatorConstructor::IntlCollatorConstructor):
(JSC::IntlCollatorConstructor::finishCreation):
(JSC::constructIntlCollator): Added Collator constructor (10.1.2).
(JSC::callIntlCollator): Added Collator constructor (10.1.2).
(JSC::IntlCollatorConstructor::getConstructData):
(JSC::IntlCollatorConstructor::getCallData):
(JSC::IntlCollatorConstructor::getOwnPropertySlot):
(JSC::IntlCollatorConstructorFuncSupportedLocalesOf): Added placeholder implementation returning [].
(JSC::IntlCollatorConstructor::visitChildren):
- runtime/IntlCollatorConstructor.h: Added.
(JSC::IntlCollatorConstructor::collatorStructure):
- runtime/IntlCollatorPrototype.cpp: Added.
(JSC::IntlCollatorPrototype::create):
(JSC::IntlCollatorPrototype::createStructure):
(JSC::IntlCollatorPrototype::IntlCollatorPrototype):
(JSC::IntlCollatorPrototype::finishCreation):
(JSC::IntlCollatorPrototype::getOwnPropertySlot):
(JSC::IntlCollatorPrototypeGetterCompare): Added compare getter (10.3.3)
(JSC::IntlCollatorPrototypeFuncResolvedOptions): Added placeholder implementation returning {}.
- runtime/IntlCollatorPrototype.h: Added.
- runtime/IntlDateTimeFormat.cpp: Added.
(JSC::IntlDateTimeFormat::create):
(JSC::IntlDateTimeFormat::createStructure):
(JSC::IntlDateTimeFormat::IntlDateTimeFormat):
(JSC::IntlDateTimeFormat::finishCreation):
(JSC::IntlDateTimeFormat::destroy):
(JSC::IntlDateTimeFormat::visitChildren):
(JSC::IntlDateTimeFormat::setBoundFormat):
(JSC::IntlDateTimeFormatFuncFormatDateTime): Added placeholder implementation returning new Date(value).toString().
- runtime/IntlDateTimeFormat.h: Added.
(JSC::IntlDateTimeFormat::constructor):
(JSC::IntlDateTimeFormat::boundFormat):
- runtime/IntlDateTimeFormatConstructor.cpp: Added.
(JSC::IntlDateTimeFormatConstructor::create):
(JSC::IntlDateTimeFormatConstructor::createStructure):
(JSC::IntlDateTimeFormatConstructor::IntlDateTimeFormatConstructor):
(JSC::IntlDateTimeFormatConstructor::finishCreation):
(JSC::constructIntlDateTimeFormat): Added DateTimeFormat constructor (12.1.2).
(JSC::callIntlDateTimeFormat): Added DateTimeFormat constructor (12.1.2).
(JSC::IntlDateTimeFormatConstructor::getConstructData):
(JSC::IntlDateTimeFormatConstructor::getCallData):
(JSC::IntlDateTimeFormatConstructor::getOwnPropertySlot):
(JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): Added placeholder implementation returning [].
(JSC::IntlDateTimeFormatConstructor::visitChildren):
- runtime/IntlDateTimeFormatConstructor.h: Added.
(JSC::IntlDateTimeFormatConstructor::dateTimeFormatStructure):
- runtime/IntlDateTimeFormatPrototype.cpp: Added.
(JSC::IntlDateTimeFormatPrototype::create):
(JSC::IntlDateTimeFormatPrototype::createStructure):
(JSC::IntlDateTimeFormatPrototype::IntlDateTimeFormatPrototype):
(JSC::IntlDateTimeFormatPrototype::finishCreation):
(JSC::IntlDateTimeFormatPrototype::getOwnPropertySlot):
(JSC::IntlDateTimeFormatPrototypeGetterFormat): Added format getter (12.3.3).
(JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): Added placeholder implementation returning {}.
- runtime/IntlDateTimeFormatPrototype.h: Added.
- runtime/IntlNumberFormat.cpp: Added.
(JSC::IntlNumberFormat::create):
(JSC::IntlNumberFormat::createStructure):
(JSC::IntlNumberFormat::IntlNumberFormat):
(JSC::IntlNumberFormat::finishCreation):
(JSC::IntlNumberFormat::destroy):
(JSC::IntlNumberFormat::visitChildren):
(JSC::IntlNumberFormat::setBoundFormat):
(JSC::IntlNumberFormatFuncFormatNumber): Added placeholder implementation returning Number(value).toString().
- runtime/IntlNumberFormat.h: Added.
(JSC::IntlNumberFormat::constructor):
(JSC::IntlNumberFormat::boundFormat):
- runtime/IntlNumberFormatConstructor.cpp: Added.
(JSC::IntlNumberFormatConstructor::create):
(JSC::IntlNumberFormatConstructor::createStructure):
(JSC::IntlNumberFormatConstructor::IntlNumberFormatConstructor):
(JSC::IntlNumberFormatConstructor::finishCreation):
(JSC::constructIntlNumberFormat): Added NumberFormat constructor (11.1.2).
(JSC::callIntlNumberFormat): Added NumberFormat constructor (11.1.2).
(JSC::IntlNumberFormatConstructor::getConstructData):
(JSC::IntlNumberFormatConstructor::getCallData):
(JSC::IntlNumberFormatConstructor::getOwnPropertySlot):
(JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): Added placeholder implementation returning [].
(JSC::IntlNumberFormatConstructor::visitChildren):
- runtime/IntlNumberFormatConstructor.h: Added.
(JSC::IntlNumberFormatConstructor::numberFormatStructure):
- runtime/IntlNumberFormatPrototype.cpp: Added.
(JSC::IntlNumberFormatPrototype::create):
(JSC::IntlNumberFormatPrototype::createStructure):
(JSC::IntlNumberFormatPrototype::IntlNumberFormatPrototype):
(JSC::IntlNumberFormatPrototype::finishCreation):
(JSC::IntlNumberFormatPrototype::getOwnPropertySlot):
(JSC::IntlNumberFormatPrototypeGetterFormat): Added format getter (11.3.3).
(JSC::IntlNumberFormatPrototypeFuncResolvedOptions): Added placeholder implementation returning {}.
- runtime/IntlNumberFormatPrototype.h: Added.
- runtime/IntlObject.cpp:
(JSC::IntlObject::create):
(JSC::IntlObject::finishCreation): Added Collator, NumberFormat, and DateTimeFormat properties (8.1).
(JSC::IntlObject::visitChildren):
- runtime/IntlObject.h:
(JSC::IntlObject::collatorConstructor):
(JSC::IntlObject::collatorPrototype):
(JSC::IntlObject::collatorStructure):
(JSC::IntlObject::numberFormatConstructor):
(JSC::IntlObject::numberFormatPrototype):
(JSC::IntlObject::numberFormatStructure):
(JSC::IntlObject::dateTimeFormatConstructor):
(JSC::IntlObject::dateTimeFormatPrototype):
(JSC::IntlObject::dateTimeFormatStructure):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
Source/WebCore:
- Configurations/FeatureDefines.xcconfig: Enabled INTL.
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig: Enabled INTL.
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig: Enabled INTL.
Tools:
Enable flag now that the basic objects are in place.
- Scripts/webkitperl/FeatureList.pm: Enabled INTL
LayoutTests:
Add tests for Intl.Collator, Intl.NumberFormat, and Intl.DateTimeFormat
- TestExpectations: Enabled intl tests.
- js/intl-collator-expected.txt: Added.
- js/intl-collator.html: Added.
- js/intl-datetimeformat-expected.txt: Added.
- js/intl-datetimeformat.html: Added.
- js/intl-expected.txt: Updated.
- js/intl-numberformat-expected.txt: Added.
- js/intl-numberformat.html: Added.
- js/script-tests/intl-collator.js: Added.
- js/script-tests/intl-datetimeformat.js: Added.
- js/script-tests/intl-numberformat.js: Added.
- js/script-tests/intl.js: Added tests for Collator, NumberFormat, and DateTimeFormat.
- 8:04 PM Changeset in webkit [187574] by
-
- 2 edits in trunk/Source/WebCore
Make TextLayout fast allocated
https://bugs.webkit.org/show_bug.cgi?id=147428
Reviewed by Simon Fraser.
Make TextLayout fast allocated as it is allocated frequently and on the
heap.
- platform/graphics/mac/ComplexTextController.cpp:
- 7:54 PM Changeset in webkit [187573] by
-
- 3 edits in trunk/Source/WebCore
Fix iOS build
Unreviewed.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::FontCascade): Deleted.
- platform/graphics/FontCascade.h:
- 7:34 PM Changeset in webkit [187572] by
-
- 2 edits in trunk/Source/WebKit2
[WK2] Use FastMalloc in IPC::MessageDecoder
https://bugs.webkit.org/show_bug.cgi?id=147425
Reviewed by Sam Weinig.
Use FastMalloc in IPC::MessageDecoder instead of system malloc, for
performance reasons and consistency.
- Platform/IPC/ArgumentDecoder.cpp:
(IPC::ArgumentDecoder::~ArgumentDecoder):
(IPC::ArgumentDecoder::initialize):
- 7:00 PM Changeset in webkit [187571] by
-
- 2 edits in trunk/Source/WebCore
[EFL][CoordinatedGraphics] fixed position banner is moved when enabling delegateScrolling
https://bugs.webkit.org/show_bug.cgi?id=146959
Reviewed by Simon Fraser.
Don't update fixed visible content area in ScrollingCoordinatorCoordinatedGraphics::requestScrollPositionUpdate
because PageViewportController and WebView on CoordinatedGraphics also update the visible content area according
to the scrolling. So this problem has been caused by duplicated fixed visible rect update.
EFL WTR doesn't work with fixed layout and delegatesScrolling yet. So no test for this issue.
- page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
(WebCore::ScrollingCoordinatorCoordinatedGraphics::requestScrollPositionUpdate): Deleted.
- 6:18 PM Changeset in webkit [187570] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Allow record filtering by frame duration in Rendering Frames timeline
https://bugs.webkit.org/show_bug.cgi?id=147419
Reviewed by Timothy Hatcher.
- Localizations/en.lproj/localizedStrings.js:
New scope bar item labels.
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView):
New scope bar for frame duration filtering.
(WebInspector.RenderingFrameTimelineView.displayNameForDurationFilter):
(WebInspector.RenderingFrameTimelineView.prototype.matchTreeElementAgainstCustomFilters):
Overridden for view specific filtering. Filtering applies to RenderingFrameTimelineRecords only.
(WebInspector.RenderingFrameTimelineView.prototype._scopeBarSelectionDidChange):
Force sidebar filtering when duration filter changes.
- 5:47 PM Changeset in webkit [187569] by
-
- 6 edits in trunk/Source/WebCore
Use rvalue references in FontCascade
https://bugs.webkit.org/show_bug.cgi?id=147427
Reviewed by Simon Fraser.
No new tests because there is no behavior change.
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::resolvesFamilyFor):
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::FontCascade):
(WebCore::retrieveOrAddCachedFonts):
(WebCore::FontCascade::update):
- platform/graphics/FontCascade.h:
- platform/graphics/FontCascadeFonts.cpp:
(WebCore::FontCascadeFonts::FontCascadeFonts):
- platform/graphics/FontCascadeFonts.h:
(WebCore::FontCascadeFonts::create):
- 4:38 PM Changeset in webkit [187568] by
-
- 5 edits in trunk/Source/WebCore
Rename FontDescriptionFontDataCacheKey to FontDescriptionKey
https://bugs.webkit.org/show_bug.cgi?id=147424
Reviewed by Simon Fraser.
This struct holds information about a FontDescription.
No new tests because there is no behavior change.
- css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::fontRanges):
- platform/graphics/FontCache.cpp:
(WebCore::FontPlatformDataCacheKeyHash::hash):
(WebCore::computeHash): Deleted.
- platform/graphics/FontCache.h:
(WebCore::FontDescriptionKey::FontDescriptionKey):
(WebCore::FontDescriptionKey::operator==):
(WebCore::FontDescriptionKey::operator!=):
(WebCore::FontDescriptionKey::computeHash):
(WebCore::FontDescriptionFontDataCacheKey::FontDescriptionFontDataCacheKey): Deleted.
(WebCore::FontDescriptionFontDataCacheKey::operator==): Deleted.
(WebCore::FontDescriptionFontDataCacheKey::operator!=): Deleted.
(WebCore::FontDescriptionFontDataCacheKey::computeHash): Deleted.
- platform/graphics/FontCascade.cpp:
(WebCore::operator==):
(WebCore::makeFontCascadeCacheKey):
(WebCore::computeFontCascadeCacheHash):
- 4:29 PM Changeset in webkit [187567] by
-
- 5 edits in branches/safari-600.8-branch/Source
Versioning.
- 4:28 PM Changeset in webkit [187566] by
-
- 5 edits in branches/safari-600.1.4.17-branch/Source
Versioning.
- 4:03 PM Changeset in webkit [187565] by
-
- 2 edits in trunk/Source/WebKit2
Preview should not start if touch handler prevents default.
https://bugs.webkit.org/show_bug.cgi?id=147423
rdar://problem/22061043
Reviewed by Tim Horton.
We need to check if _highlightLongPressCanClick has not been reset before
we allow the preview. It can be reset by a touch handler preventing default.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
- 3:17 PM Changeset in webkit [187564] by
-
- 3 edits2 adds in trunk
Remove the spanner placeholder from m_spannerMap when the placeholder object
gets transferred to a descendant flow.
https://bugs.webkit.org/show_bug.cgi?id=147380
rdar://problem/21981078
Reviewed by David Hyatt.
Before r180328, the spanner placeholder was removed from m_spannerMap through
RenderMultiColumnFlowThread::removeFlowChildInfo() by calling flowThreadRelativeWillBeRemoved()
when the placeholder renderer got transferred to the descendant flow.
Now we just remove it from the map when the renderer is being detached.
Source/WebCore:
Test: fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html
- rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
LayoutTests:
- fast/multicol/newmulticol/spanner-crash-with-embedded-columns-expected.txt: Added.
- fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html: Added.
- 3:00 PM Changeset in webkit [187563] by
-
- 2 edits in trunk/Source/WebKit2
AX: iOS: VoiceOver hangs indefinitely when an JS alert appears
https://bugs.webkit.org/show_bug.cgi?id=147386
Reviewed by Dan Bernstein.
Make sure this also builds on iOS8.
- Platform/IPC/mac/ConnectionMac.mm:
- 2:52 PM Changeset in webkit [187562] by
-
- 1 copy in tags/Safari-600.8.8
New tag.
- 2:52 PM Changeset in webkit [187561] by
-
- 1 copy in tags/Safari-600.1.4.17.7
New tag.
- 2:34 PM Changeset in webkit [187560] by
-
- 9 edits5 deletes in trunk/Source/JavaScriptCore
Unreviewed, rolling out r187550.
https://bugs.webkit.org/show_bug.cgi?id=147420
Broke Windows build (again) (Requested by smfr on #webkit).
Reverted changeset:
"Implement WebAssembly module parser"
https://bugs.webkit.org/show_bug.cgi?id=147293
http://trac.webkit.org/changeset/187550
- 2:34 PM Changeset in webkit [187559] by
-
- 2 edits in trunk/Source/WebCore
Review feedback followup to: Crash in WebCore::DocumentLoader::stopLoadingForPolicyChange.
https://bugs.webkit.org/show_bug.cgi?id=147418
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded):
- 2:32 PM Changeset in webkit [187558] by
-
- 2 edits in trunk/Source/WebCore
RELEASE_ASSERT followup to: Crash in WebCore::DocumentLoader::stopLoadingForPolicyChange.
https://bugs.webkit.org/show_bug.cgi?id=147418
Reviewed by Chris Dumez.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded): RELEASE_ASSERT we have a FrameLoader here.
We want to know if we ever get here without one.
- 2:26 PM Changeset in webkit [187557] by
-
- 3 edits in trunk/Source/WebCore
Crash in WebCore::DocumentLoader::stopLoadingForPolicyChange.
<rdar://problem/21412186> and https://bugs.webkit.org/show_bug.cgi?id=147418
Reviewed by Chris Dumez.
No new tests (No known reproducibility)
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived): When setting to m_waitingForContentPolicy true, make sure we have a FrameLoader.
(WebCore::DocumentLoader::detachFromFrame): Always explicitly call cancelPolicyCheckIfNeeded().
(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded): Cancel the policy check if there is one.
(WebCore::DocumentLoader::cancelMainResourceLoad): Use cancelPolicyCheckIfNeeded().
- loader/DocumentLoader.h:
- 2:08 PM Changeset in webkit [187556] by
-
- 8 edits in trunk
Crash calling webSocket.close() from onError handler for blocked web socket.
<rdar://problem/21771620> and https://bugs.webkit.org/show_bug.cgi?id=147411
Reviewed by Tim Horton.
Source/WebCore:
Tests: http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe.html
http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame.html
This was introduced with http://trac.webkit.org/changeset/185848
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect): When blocked because of mixedContent, call dispatchOrQueueErrorEvent().
(WebCore::WebSocket::didReceiveMessageError): Use dispatchOrQueueErrorEvent() instead.
(WebCore::WebSocket::dispatchOrQueueErrorEvent): Dispatch the error event, but don't dispatch one twice!
- Modules/websockets/WebSocket.h:
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::fail): Null-check m_handshake before creating a console message from it.
LayoutTests:
- http/tests/security/mixedContent/resources/frame-with-insecure-websocket.html: Add a call to webSocket.close() inside the onError handler.
- http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe-expected.txt:
- http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame-expected.txt:
- 1:30 PM Changeset in webkit [187555] by
-
- 24 edits1 delete in trunk
Remove native call inlining
https://bugs.webkit.org/show_bug.cgi?id=147417
.:
Rubber-stamped by Filip Pizlo.
- Source/cmake/OptionsEfl.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
Rubber Stamped by Filip Pizlo.
- CMakeLists.txt:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): Deleted.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleCall): Deleted.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize): Deleted.
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC): Deleted.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode): Deleted.
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction): Deleted.
(JSC::DFG::Node::hasCellOperand): Deleted.
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate): Deleted.
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute): Deleted.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Deleted.
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Deleted.
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile): Deleted.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::lower): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::compileNativeCallOrConstruct): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::getFunctionBySymbol): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::getModuleByPathForSymbol): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::didOverflowStack): Deleted.
- ftl/FTLState.cpp:
(JSC::FTL::State::State): Deleted.
- ftl/FTLState.h:
- runtime/BundlePath.cpp: Removed.
(JSC::bundlePath): Deleted.
- runtime/JSDataViewPrototype.cpp:
(JSC::getData):
(JSC::setData):
- runtime/Options.h:
Source/WTF:
Rubber-stamped by Filip Pizlo.
- wtf/Platform.h:
- 1:10 PM Changeset in webkit [187554] by
-
- 4 edits2 deletes in branches/safari-600.1.4.17-branch
Roll out r185848. rdar://problem/21708274
- 1:10 PM Changeset in webkit [187553] by
-
- 4 edits2 deletes in branches/safari-600.8-branch
Roll out r185848. rdar://problem/21707923
- 12:54 PM Changeset in webkit [187552] by
-
- 2 edits2 adds in trunk/LayoutTests
Media Session: test 'Transient Solo' interruptions https://bugs.webkit.org/show_bug.cgi?id=147091
Reviewed by Eric Carlson.
- media/session/transient-solo-interruptions-expected.txt: Added.
- media/session/transient-solo-interruptions.html: Added.
- platform/mac/TestExpectations: Media Session support is disabled by default.
- 12:20 PM Changeset in webkit [187551] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, skipping a test that is too complex for its own good
https://bugs.webkit.org/show_bug.cgi?id=147167
- tests/stress/math-pow-coherency.js:
- 12:03 PM Changeset in webkit [187550] by
-
- 9 edits5 adds in trunk/Source/JavaScriptCore
Implement WebAssembly module parser
https://bugs.webkit.org/show_bug.cgi?id=147293
Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-29
Reviewed by Mark Lam.
Reupload the patch, since r187539 should fix the "Cannot open include file:
'JSWASMModule.h'" issue in the Windows build.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- jsc.cpp:
(GlobalObject::finishCreation):
(functionLoadWebAssembly):
- parser/SourceProvider.h:
(JSC::WebAssemblySourceProvider::create):
(JSC::WebAssemblySourceProvider::data):
(JSC::WebAssemblySourceProvider::WebAssemblySourceProvider):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::wasmModuleStructure):
- wasm/WASMMagicNumber.h: Added.
- wasm/WASMModuleParser.cpp: Added.
(JSC::WASMModuleParser::WASMModuleParser):
(JSC::WASMModuleParser::parse):
(JSC::WASMModuleParser::parseModule):
(JSC::parseWebAssembly):
- wasm/WASMModuleParser.h: Added.
- wasm/WASMReader.cpp: Added.
(JSC::WASMReader::readUnsignedInt32):
(JSC::WASMReader::readFloat):
(JSC::WASMReader::readDouble):
- wasm/WASMReader.h: Added.
(JSC::WASMReader::WASMReader):
- 10:52 AM Changeset in webkit [187549] by
-
- 1 edit1 delete in trunk/LayoutTests
Unreviewed, remove a .orig file.
https://bugs.webkit.org/show_bug.cgi?id=113610
- fast/css-intrinsic-dimensions/height-property-value.html.orig: Removed.
- 10:44 AM Changeset in webkit [187548] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, lower the number of test iterations to prevent timing out on Debug builds
https://bugs.webkit.org/show_bug.cgi?id=147167
- tests/stress/math-pow-coherency.js:
- 8:52 AM Changeset in webkit [187547] by
-
- 2 edits in trunk/Source/WebKit2
[Seccomp] Further improvements to default web process policy
https://bugs.webkit.org/show_bug.cgi?id=142987
Provide various helper functions to allow more flexible construction of
filesystem access policies.
Reviewed by Žan Doberšek.
Improve the policy. Also, remove ifdefs to reduce potential for breakage in non-default
configurations.
- Shared/linux/SeccompFilters/SyscallPolicy.cpp:
(WebKit::SyscallPolicy::addDefaultWebProcessPolicy):
- 7:30 AM Changeset in webkit [187546] by
-
- 2 edits in trunk/Source/WebCore
Clean up RefPtrCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=147384
Reviewed by Martin Robinson.
Tests for null/non-null should all be done without equality comparisons.
- platform/graphics/cairo/RefPtrCairo.cpp:
(WTF::refIfNotNull):
(WTF::derefIfNotNull):
- 5:35 AM Changeset in webkit [187545] by
-
- 2 edits in trunk/Source/WebCore
Remove dispatch_apply_f and instead use vImage more directly
https://bugs.webkit.org/show_bug.cgi?id=147391
<rdar://problem/21893047>
Fix the iOS builds.
- platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::unpremultiplyBufferData):
(WebCore::premultiplyBufferData):
- 12:16 AM Changeset in webkit [187544] by
-
- 7 edits in trunk/Source
Avoid unnecessarily constructing PlatformMediaSessionManager on Document destruction
https://bugs.webkit.org/show_bug.cgi?id=147398
Reviewed by Jer Noble.
Only call PlatformMediaSessionManager::stopAllMediaPlaybackForProcess() in
Source/WebCore:
destructors if an PlatformMediaSessionManager instance already exists, to
avoid constructing one unecessarily at that point.
- dom/Document.cpp:
(WebCore::Document::~Document):
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::sharedManager):
(WebCore::PlatformMediaSessionManager::sharedManagerIfExists):
- platform/audio/PlatformMediaSessionManager.h:
- platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::PlatformMediaSessionManager::sharedManager):
(WebCore::PlatformMediaSessionManager::sharedManagerIfExists):
Source/WebKit2:
destructors if an PlatformMediaSessionManager instance already exists, to
avoid constructing one unecessarily at that point.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didClose):
Jul 28, 2015:
- 11:50 PM Changeset in webkit [187543] by
-
- 6 edits in trunk
[GTK] Add API to set the maximum number of web processes per WebKitWebContext
https://bugs.webkit.org/show_bug.cgi?id=147108
Reviewed by Gustavo Noronha Silva.
Source/WebKit2:
- UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_set_web_process_count_limit):
(webkit_web_context_get_web_process_count_limit):
- UIProcess/API/gtk/WebKitWebContext.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
Tools:
Add test case to check the web process limit.
- TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:
(testWebProcessLimit):
(beforeAll):
- 11:48 PM Changeset in webkit [187542] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Fix empty space in popup menus when first item is selected
https://bugs.webkit.org/show_bug.cgi?id=147358
Reviewed by Martin Robinson.
It happens when one of the first elements are selected, because we
try to center the current selection on the combo element. When the
menu is large enough to make the element centered we need to leave
empty space at the beginning. This can be fixed by not scrolling
to center the selected item when it's above the combo
element. This ensure the selected item will always be visible,
even if it's not centered. If the selected item is already
centered or below the combo element, the behaviour doesn't change
and we scroll to center it.
- UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::showPopupMenu):
- 11:47 PM Changeset in webkit [187541] by
-
- 2 edits in trunk/Tools
[GTK] Missing casts in BrowserWindow.c
https://bugs.webkit.org/show_bug.cgi?id=147395
Reviewed by Carlos Garcia Campos.
- MiniBrowser/gtk/BrowserWindow.c:
(browserWindowSetupEditorToolbar):
- 11:41 PM Changeset in webkit [187540] by
-
- 2 edits in trunk/Source/WebKit2
[EFL] Fix typos in ewk_extension.cpp
https://bugs.webkit.org/show_bug.cgi?id=147396
Patch by Jincheol Jo <jincheol.jo@navercorp.com> on 2015-07-28
Reviewed by Gyuyoung Kim.
Fix from toEwkExtendion to toEwkExtension.
- WebProcess/InjectedBundle/API/efl/ewk_extension.cpp:
(toEwkExtension):
(EwkExtension::didCreatePage):
(EwkExtension::willDestroyPage):
(EwkExtension::didReceiveMessage):
(toEwkExtendion): Deleted.
- 10:48 PM Changeset in webkit [187539] by
-
- 3 edits in trunk/Source/JavaScriptCore
Add the "wasm" directory to Visual Studio project files
https://bugs.webkit.org/show_bug.cgi?id=147400
Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-28
Reviewed by Simon Fraser.
This patch should fix the "Cannot open include file: 'JSWASMModule.h'" issue
in the Windows build.
- JavaScriptCore.vcxproj/JavaScriptCoreCommon.props:
- JavaScriptCore.vcxproj/copy-files.cmd:
- 8:27 PM Changeset in webkit [187538] by
-
- 9 edits5 deletes in trunk/Source/JavaScriptCore
Unreviewed, rolling out r187531.
https://bugs.webkit.org/show_bug.cgi?id=147397
Broke Windows bild (Requested by smfr on #webkit).
Reverted changeset:
"Implement WebAssembly module parser"
https://bugs.webkit.org/show_bug.cgi?id=147293
http://trac.webkit.org/changeset/187531
- 7:15 PM Changeset in webkit [187537] by
-
- 3 edits3 adds in trunk
Speed up the Stringifier::toJSON() fast case
https://bugs.webkit.org/show_bug.cgi?id=147383
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-07-28
Reviewed by Andreas Kling.
Source/JavaScriptCore:
- runtime/JSONObject.cpp:
(JSC::Stringifier::toJSON):
(JSC::Stringifier::toJSONImpl):
LayoutTests:
Make the fast case of Stringifier::toJSON() inline and the uncommon
case out-of-line.
- js/dom/JSON-stringify-string-object-with-tojson-expected.txt: Added.
- js/dom/JSON-stringify-string-object-with-tojson.html: Added.
- js/resources/JSON-stringify-string-object-with-tojson.js: Added.
(stringObject.toJSON):
(String.prototype.toJSON):
- 7:08 PM Changeset in webkit [187536] by
-
- 2 edits in trunk/Source/WebCore
Fix debug builds.
- platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::premultiplyBufferData):
(WebCore::unpremultiplyBufferData):
- 6:57 PM Changeset in webkit [187535] by
-
- 5 edits2 adds in trunk
Animations sometimes fail to start
https://bugs.webkit.org/show_bug.cgi?id=147394
rdar://problem/21852603
Reviewed by Dean Jackson.
Source/WebCore:
When an accelerated animation or transition was started at the same time as
a non-accelerated one, and then the node for the former was removed, we could
never kick off the non-accelerated animation.
AnimationControllerPrivate has logic to synchronize the two types of animation
when they start in the same animation update, which involves setting the
m_waitingForAsyncStartNotification flag, and waiting for a notifyAnimationStarted()
to come in from the graphics system.
However, it failed to handle the case where the accelerated animation was removed
before the callback was received, which left the m_waitingForAsyncStartNotification flag
set to true, preventing the non-accelerated animation from running.
Test: animations/remove-syncing-animation.html
- page/animation/AnimationBase.h:
(WebCore::AnimationBase::isAccelerated): Make this public.
- page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::clear): Add logging.
(WebCore::AnimationControllerPrivate::receivedStartTimeResponse): Add logging.
(WebCore::AnimationControllerPrivate::animationWillBeRemoved): Add logging.
After removing animations from the maps, check to see if we expect any of the
remaining animations are waiting for a notifyAnimationStarted(). If not, clear
the m_waitingForAsyncStartNotification flag.
(WebCore::AnimationController::notifyAnimationStarted): Log the renderer.
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Remove unneeded
initializations of HashMaps.
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateTransitions): Log renderers.
(WebCore::CompositeAnimation::updateKeyframeAnimations): Ditto.
LayoutTests:
Test that starts an accelerated and non-accelerated animation, then removes
the node for the accelerated one.
- animations/remove-syncing-animation-expected.txt: Added.
- animations/remove-syncing-animation.html: Added.
- 6:43 PM Changeset in webkit [187534] by
-
- 2 edits in trunk/Source/WebCore
Remove dispatch_apply_f and instead use vImage more directly
https://bugs.webkit.org/show_bug.cgi?id=147391
<rdar://problem/21893047>
Reviewed by Simon Fraser.
Use vImage unmultiplication and premultiplication functions on the
entire ImageBufferData object, rather than getting and setting data on an
line by line using dispatch_apply.
We were seeing some crashes in vImage with the smaller buffer sizes, and
hopefully this will either fix the problem, or give us a better
stack trace to diagnose.
I also did a drive-by change of "dst" to "dest". It was inconsistent throughout
the file.
Convered by the tests in fast/canvas and imported/w3c/canvas
- platform/graphics/cg/ImageBufferDataCG.cpp: Remove the ScanlineData structure. It is
no longer needed.
(WebCore::premultiplyBufferData): New function that calls vImagePremultiplyData_RGBA8888.
(WebCore::unpremultiplyBufferData): New function that calls vImageUnpremultiplyData_RGBA8888.
(WebCore::affineWarpBufferData): Extracting some common code into a function.
(WebCore::ImageBufferData::getData): Use the two new functions as appropriate. Move
some of the code around now that more is shared between the different #if branches.
(WebCore::ImageBufferData::putData):
(WebCore::convertScanline): Deleted.
(WebCore::unpremultitplyScanline): Deleted.
(WebCore::premultitplyScanline): Deleted.
- 6:26 PM Changeset in webkit [187533] by
-
- 12 edits in trunk/Source
Clean up usesAsyncCallbacks handling in ResourceHandle
https://bugs.webkit.org/show_bug.cgi?id=147342
Reviewed by Darin Adler.
Source/WebCore:
Store "usesAsyncCallbacks" bit in ResourceHandle, because it's not accessible
via client once the client is zeroed out.
Changed ResourceHandle::setClient into ResourceHandle::clearClient, because it's
only ever used to zero out the client pointer, and it doesn't support changing it.
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::releaseResources):
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::stopLoading):
- platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
(WebCore::BlobResourceHandle::notifyResponseOnError):
- platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::client):
(WebCore::ResourceHandle::clearClient):
(WebCore::ResourceHandle::setDefersLoading):
(WebCore::ResourceHandle::usesAsyncCallbacks):
(WebCore::ResourceHandle::setClient): Deleted.
- platform/network/ResourceHandle.h:
- platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
(WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::makeDelegate):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::continueWillSendRequest):
(WebCore::ResourceHandle::continueDidReceiveResponse):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
(WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueWillCacheResponse):
Source/WebKit2:
Update for a renaming in WebCore.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::cleanup):
- Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::platformInvalidate):
- 5:57 PM Changeset in webkit [187532] by
-
- 3 edits in trunk/Source/WebCore
Minor cleanups in FontCacheFreeType.cpp
https://bugs.webkit.org/show_bug.cgi?id=147392
Reviewed by Martin Robinson.
Mark several functions as static (file-scope), use more nullptr, and use more smart
pointers. No behavior changes.
- platform/graphics/freetype/FcUniquePtr.h:
(WebCore::FcPtrDeleter<FcCharSet>::operator()):
- platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::createFontConfigPatternForCharacters):
(WebCore::findBestFontGivenFallbacks):
(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::fontWeightToFontconfigWeight):
(WebCore::FontCache::createFontPlatformData):
- 5:55 PM Changeset in webkit [187531] by
-
- 9 edits5 adds in trunk/Source/JavaScriptCore
Implement WebAssembly module parser
https://bugs.webkit.org/show_bug.cgi?id=147293
Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-28
Reviewed by Geoffrey Garen.
Implement WebAssembly module parser for WebAssembly files produced by pack-asmjs
<https://github.com/WebAssembly/polyfill-prototype-1>. This patch only checks
the magic number at the beginning of the files. Parsing of the rest will be
implemented in a subsequent patch.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- jsc.cpp:
(GlobalObject::finishCreation):
(functionLoadWebAssembly):
- parser/SourceProvider.h:
(JSC::WebAssemblySourceProvider::create):
(JSC::WebAssemblySourceProvider::data):
(JSC::WebAssemblySourceProvider::WebAssemblySourceProvider):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::wasmModuleStructure):
- wasm/WASMMagicNumber.h: Added.
- wasm/WASMModuleParser.cpp: Added.
(JSC::WASMModuleParser::WASMModuleParser):
(JSC::WASMModuleParser::parse):
(JSC::WASMModuleParser::parseModule):
(JSC::parseWebAssembly):
- wasm/WASMModuleParser.h: Added.
- wasm/WASMReader.cpp: Added.
(JSC::WASMReader::readUnsignedInt32):
(JSC::WASMReader::readFloat):
(JSC::WASMReader::readDouble):
- wasm/WASMReader.h: Added.
(JSC::WASMReader::WASMReader):
- 5:44 PM Changeset in webkit [187530] by
-
- 2 edits in trunk/Source/WebKit2
AX: iOS: VoiceOver hangs indefinitely when an JS alert appears
https://bugs.webkit.org/show_bug.cgi?id=147386
Reviewed by Anders Carlsson.
Support the iOS platform API to notify accessibility clients when the WebProcess is about to suspend (because of some modal dialog).
Luckily, we did all the hardwork for OSX a few years ago to support this paradigm.
- Platform/IPC/mac/ConnectionMac.mm:
(IPC::AccessibilityProcessSuspendedNotification):
(IPC::Connection::willSendSyncMessage):
(IPC::Connection::didReceiveSyncReply):
- 5:38 PM Changeset in webkit [187529] by
-
- 17 edits in trunk
[ES6] Add ENABLE_ES6_MODULES compile time flag with the default value "false"
https://bugs.webkit.org/show_bug.cgi?id=147350
Reviewed by Sam Weinig.
.:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
- Scripts/webkitperl/FeatureList.pm:
WebKitLibraries:
- win/tools/vsprops/FeatureDefines.props:
- win/tools/vsprops/FeatureDefinesCairo.props:
- 4:50 PM Changeset in webkit [187528] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: console.groupEnd causes negative indent when no group is active
https://bugs.webkit.org/show_bug.cgi?id=147375
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-28
Reviewed by Timothy Hatcher.
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
- 4:37 PM Changeset in webkit [187527] by
-
- 7 edits5 adds in trunk
[Freetype] Always allow font matching for strong aliases
https://bugs.webkit.org/show_bug.cgi?id=147057
Reviewed by Martin Robinson.
Source/WebCore:
Tests: platform/gtk/fonts/font-family-fallback-ignores-weak-aliases.html
platform/gtk/fonts/font-family-fallback-respects-strong-aliases.html
Treat fonts that are strongly-aliased to each other as if they were identical for the
purposes of CSS font fallback. This improves the layout of many web pages by allowing
fontconfig to replace fonts with metric-compatible equivalents (e.g. Arial -> Liberation
Sans) instead of rejecting the metric-compatible font as unsuitable.
- platform/graphics/cairo/RefPtrCairo.cpp:
(WTF::refIfNotNull):
(WTF::derefIfNotNull):
- platform/graphics/cairo/RefPtrCairo.h:
- platform/graphics/freetype/FcUniquePtr.h: Added.
(WebCore::FcPtrDeleter<FcFontSet>::operator()):
(WebCore::FcPtrDeleter<FcLangSet>::operator()):
(WebCore::FcPtrDeleter<FcObjectSet>::operator()):
- platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::strengthOfFirstAlias):
(WebCore::strongAliasesForFamily):
(WebCore::areStronglyAliased):
(WebCore::FontCache::createFontPlatformData):
Tools:
Create family aliases needed for the new layout tests.
- WebKitTestRunner/gtk/fonts/fonts.conf:
LayoutTests:
- platform/gtk/fonts/font-family-fallback-ignores-weak-aliases-expected.html: Added.
- platform/gtk/fonts/font-family-fallback-ignores-weak-aliases.html: Added.
- platform/gtk/fonts/font-family-fallback-respects-strong-aliases-expected.html: Added.
- platform/gtk/fonts/font-family-fallback-respects-strong-aliases.html: Added.
- 4:21 PM Changeset in webkit [187526] by
-
- 3 edits in trunk/Websites/webkit.org
SunSpider is no longer maintained
https://bugs.webkit.org/show_bug.cgi?id=147370
Reviewed by Michael Saboff.
Add an indicator to show that SunSpider is no longer maintained.
- perf/sunspider/sunspider.css:
(#logo):
(.topbox):
(.bottombox):
- perf/sunspider/sunspider.html:
- 4:12 PM Changeset in webkit [187525] by
-
- 3 edits2 adds in trunk
[iOS] Crash when encountering characters whose natural font is one we can't look up
https://bugs.webkit.org/show_bug.cgi?id=147377
<rdar://problem/22022011>
Reviewed by Simon Fraser.
Source/WebCore:
These characters hit the complex text code path, where CoreText picks fonts
to use for each character. We then try to map these CoreText fonts back to
our own Font objects, and we assume (on iOS) that our own font search will
always return something.
On OS X, we do not have such an assumption, and we handle the case where it
does not hold. This method works on iOS as well, so the solution is to just
perform it on both OSes.
Test: fast/text/crash-complex-unknown-font.html
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
LayoutTests:
- fast/text/crash-complex-unknown-font-expected.html: Added.
- fast/text/crash-complex-unknown-font.html: Added.
- 3:39 PM Changeset in webkit [187524] by
-
- 13 edits2 adds in trunk/Source/JavaScriptCore
Make the type profiler work with lexical scoping and add tests
https://bugs.webkit.org/show_bug.cgi?id=145438
Reviewed by Geoffrey Garen.
op_profile_type now knows how to resolve variables allocated within
the local scope stack. This means it knows how to resolve "let"
and "const" variables. Also, some refactoring was done inside
the BytecodeGenerator to make writing code to support the type
profiler much simpler and clearer.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::symbolTable): Deleted.
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::addExceptionHandler):
(JSC::UnlinkedCodeBlock::exceptionHandler):
(JSC::UnlinkedCodeBlock::vm):
(JSC::UnlinkedCodeBlock::addArrayProfile):
(JSC::UnlinkedCodeBlock::setSymbolTableConstantIndex): Deleted.
(JSC::UnlinkedCodeBlock::symbolTableConstantIndex): Deleted.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitMove):
(JSC::BytecodeGenerator::emitTypeProfilerExpressionInfo):
(JSC::BytecodeGenerator::emitProfileType):
(JSC::BytecodeGenerator::emitProfileControlFlow):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitNodeForLeftHandSide):
- bytecompiler/NodesCodegen.cpp:
(JSC::ThisNode::emitBytecode):
(JSC::ResolveNode::emitBytecode):
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::FunctionCallDotNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PostfixNode::emitBracket):
(JSC::PostfixNode::emitDot):
(JSC::PrefixNode::emitResolve):
(JSC::PrefixNode::emitBracket):
(JSC::PrefixNode::emitDot):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::ReadModifyDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::ReadModifyBracketNode::emitBytecode):
(JSC::EmptyVarExpression::emitBytecode):
(JSC::EmptyLetExpression::emitBytecode):
(JSC::ForInNode::emitLoopHeader):
(JSC::ForOfNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::FunctionNode::emitBytecode):
(JSC::BindingNode::bindValue):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_profile_type):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_profile_type):
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- tests/typeProfiler/es6-block-scoping.js: Added.
(noop):
(arr):
(wrapper.changeFoo):
(wrapper.scoping):
(wrapper.scoping2):
(wrapper):
- tests/typeProfiler/es6-classes.js: Added.
(noop):
(wrapper.Animal):
(wrapper.Animal.prototype.methodA):
(wrapper.Dog):
(wrapper.Dog.prototype.methodB):
(wrapper):
- 3:38 PM Changeset in webkit [187523] by
-
- 26 edits in trunk/LayoutTests
Tests introduced in r187489 are flaky
https://bugs.webkit.org/show_bug.cgi?id=147327
Rubber-stamped by Benjamin Poulain.
Tests introduced in r187489 are flaky, they sometimes print the console
message, sometimes not. The reason is that we sometimes use a cached
parsed stylesheet and we do not print the warning in this case. To fix
the flakiness, we now clear the memory cache at the beginning of each
test to make sure we download and parse the stylesheets.
- http/tests/security/cross-origin-css-1.html:
- http/tests/security/cross-origin-css-2.html:
- http/tests/security/cross-origin-css-3.html:
- http/tests/security/cross-origin-css-4.html:
- http/tests/security/cross-origin-css-5.html:
- http/tests/security/cross-origin-css-6.html:
- http/tests/security/cross-origin-css-7.html:
- http/tests/security/cross-origin-css-8.html:
- http/tests/security/cross-origin-css-in-quirks-1.html:
- http/tests/security/cross-origin-css-in-quirks-2.html:
- http/tests/security/cross-origin-css-in-quirks-3.html:
- http/tests/security/cross-origin-css-in-quirks-4.html:
- http/tests/security/cross-origin-css-in-quirks-5.html:
- http/tests/security/cross-origin-css-in-quirks-6.html:
- http/tests/security/cross-origin-css-in-quirks-7.html:
- http/tests/security/cross-origin-css-in-quirks-8.html:
- http/tests/security/same-origin-css-1.html:
- http/tests/security/same-origin-css-2.html:
- http/tests/security/same-origin-css-3.html:
- http/tests/security/same-origin-css-4.html:
- http/tests/security/same-origin-css-5.html:
- http/tests/security/same-origin-css-6.html:
- http/tests/security/same-origin-css-7.html:
- http/tests/security/same-origin-css-8.html:
- http/tests/security/same-origin-css-in-quirks.html:
- 3:29 PM Changeset in webkit [187522] by
-
- 13 edits in trunk/Source
[iOS] REGRESSION(r168075): Fullscreen web video doesn't pause on screen lock
https://bugs.webkit.org/show_bug.cgi?id=147269
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-07-28
Reviewed by Andreas Kling.
Media elements should pause when the application is going to EnterBackground
under lock regardless whether it is in full screen or not.
Source/WebCore:
- platform/audio/PlatformMediaSession.h:
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::doInterruption): This code was moved from
beginInterruption().
(WebCore::PlatformMediaSession::shouldDoInterruption): Move the condition
which allows the media session interruption to a separate function.
(WebCore::PlatformMediaSession::beginInterruption): Call the functions
shouldDoInterruption() and doInterruption().
(WebCore::PlatformMediaSession::forceInterruption): This function will
be called from PlatformMediaSessionManager::applicationDidEnterBackground()
to override the decision which is made by PlatformMediaSession::beginInterruption()
if the application isSuspendedUnderLock.
- platform/audio/PlatformMediaSessionManager.h:
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::applicationDidEnterBackground):
[UIApp isSuspendedUnderLock] is only valid when it is called when the
UIApplicationDidEnterBackgroundNotification is received. We need to force
interrupting the media sessions if the application isSuspendedUnderLock
and UIApplicationWillResignActiveNotification was ignored because of PiP.
- platform/audio/ios/MediaSessionManagerIOS.h:
- platform/audio/ios/MediaSessionManagerIOS.mm:
(-[WebMediaSessionHelper initWithCallback:]):
(-[WebMediaSessionHelper applicationDidEnterBackground:]): Listen to
UIApplicationDidEnterBackgroundNotification and make a call on the web
thread to PlatformMediaSessionManager::applicationDidEnterBackground()
and pass the isSuspendedUnderLock flag which is queried on the UIProcess.
Source/WebKit2:
- Platform/spi/ios/UIKitSPI.h: Forward declare [UIApplication isSuspendedUnderLock].
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::applicationDidEnterBackground):
[UIApp isSuspendedUnderLock] can only be called in the UIProcess. We need
to call it here and pass it to the WebPage in the WebProcess as part of the
ApplicationDidEnterBackground message.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: Add the new parameter:
'isSuspendedUnderLock' to the ApplicationDidEnterBackground message.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::applicationDidEnterBackground): On iOS, the WebPage needs
to notify the MediaSessionManagerIOS that it received the message
ApplicationDidEnterBackground.
- 3:22 PM Changeset in webkit [187521] by
-
- 4 edits in trunk/Source/WebCore
[iOS] Creating a TextIndicator causes the view to scroll to the current selection
https://bugs.webkit.org/show_bug.cgi?id=147379
<rdar://problem/22038421>
Reviewed by Beth Dakin.
- editing/Editor.cpp:
(WebCore::Editor::setIgnoreCompositionSelectionChange):
- editing/Editor.h:
Add a flag so that setIgnoreCompositionSelectionChange(false) can still
not force-reveal the current selection.
This is useful for e.g. TextIndicator, who saves the selection, changes it,
and then restores it, but doesn't want to scroll to the saved/restored selection.
- page/TextIndicator.cpp:
(WebCore::TextIndicator::createWithRange):
Make use of the above flag.
- 3:14 PM Changeset in webkit [187520] by
-
- 5 edits in branches/safari-600.1.4.17-branch/Source
Versioning.
- 2:53 PM Changeset in webkit [187519] by
-
- 13 edits in trunk/Source/WebInspectorUI
Web Inspector: Convert NavigationItem subclasses to ES6
https://bugs.webkit.org/show_bug.cgi?id=147364
Reviewed by Timothy Hatcher.
Convert remaining NavigationItem subclasses to use ES6 class.
Also promote the _additionalClassNames to be a protected getter,
and inline the style class names that are only used in one place.
Mechanical changes are elided from the changelog.
- UserInterface/Views/ActivateButtonNavigationItem.js:
(WebInspector.ActivateButtonNavigationItem):
(WebInspector.ActivateButtonNavigationItem.prototype.get additionalClassNames):
- UserInterface/Views/ActivateButtonToolbarItem.js:
(WebInspector.ActivateButtonToolbarItem):
- UserInterface/Views/ButtonNavigationItem.js:
(WebInspector.ButtonNavigationItem):
(WebInspector.ButtonNavigationItem.prototype.get additionalClassNames):
- UserInterface/Views/ButtonToolbarItem.js:
(WebInspector.ButtonToolbarItem):
- UserInterface/Views/ControlToolbarItem.js:
(WebInspector.ControlToolbarItem):
(WebInspector.ControlToolbarItem.prototype.get additionalClassNames):
- UserInterface/Views/DividerNavigationItem.js:
(WebInspector.DividerNavigationItem):
(WebInspector.DividerNavigationItem.prototype.get additionalClassNames):
- UserInterface/Views/FlexibleSpaceNavigationItem.js:
(WebInspector.FlexibleSpaceNavigationItem):
(WebInspector.FlexibleSpaceNavigationItem.prototype.get additionalClassNames):
- UserInterface/Views/HierarchicalPathNavigationItem.js:
(WebInspector.HierarchicalPathNavigationItem.prototype.get additionalClassNames):
(WebInspector.HierarchicalPathNavigationItem.prototype.get _additionalClassNames): Deleted.
- UserInterface/Views/NavigationItem.js:
(WebInspector.NavigationItem):
(WebInspector.NavigationItem.prototype.get _classNames):
- UserInterface/Views/RadioButtonNavigationItem.js:
(WebInspector.RadioButtonNavigationItem):
(WebInspector.RadioButtonNavigationItem.prototype.get additionalClassNames):
- UserInterface/Views/ToggleButtonNavigationItem.js:
(WebInspector.ToggleButtonNavigationItem):
(WebInspector.ToggleButtonNavigationItem.prototype.get additionalClassNames):
- UserInterface/Views/ToggleControlToolbarItem.js:
(WebInspector.ToggleControlToolbarItem):
(WebInspector.ToggleControlToolbarItem.prototype.get additionalClassNames):
- 2:50 PM Changeset in webkit [187518] by
-
- 1 copy in tags/Safari-600.1.4.17.6
New tag.
- 2:43 PM Changeset in webkit [187517] by
-
- 2 edits in trunk/Source/WebKit2
Bounds in InteractionInformationAtPosition should be always in main frame coordinate space.
https://bugs.webkit.org/show_bug.cgi?id=147372
When we prepare the bounds for InteractionInformationAtPosition, we should convert the rect to
main frame space since WKContent in UIProcess expects it to be in the web view space.
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-07-28
Reviewed by Tim Horton.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation): Convert the bounding rect to main frame space if the element is inside a sub-frame.
- 2:42 PM Changeset in webkit [187516] by
-
- 4 edits in trunk/Source/WebCore
[iOS] Set AirPlay discovery mode to disabled when page is hidden
https://bugs.webkit.org/show_bug.cgi?id=147369
Reviewed by Jer Noble.
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::requiresPlaybackTargetRouteMonitoring): Return false when
the client is not visible.
- html/MediaElementSession.h:
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::clientDataBufferingTimerFired): Call configureWireLessTargetMonitoring.
- 2:39 PM Changeset in webkit [187515] by
-
- 35 edits2 deletes in trunk/Source/JavaScriptCore
Implement catch scope using lexical scoping constructs introduced with "let" scoping patch
https://bugs.webkit.org/show_bug.cgi?id=146979
Reviewed by Geoffrey Garen.
Now that BytecodeGenerator has a notion of local scope depth,
we can easily implement a catch scope that doesn't claim that
all variables are dynamically scoped. This means that functions
that use try/catch can have local variable resolution. This also
means that all functions that use try/catch don't have all
their variables marked as being captured.
Catch scopes now behave like a "let" scope (sans the TDZ logic) with a
single variable. Catch scopes are now just JSLexicalEnvironments and the
symbol table backing the catch scope knows that it corresponds to a catch scope.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecode/EvalCodeCache.h:
(JSC::EvalCodeCache::isCacheable):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::emitLoadGlobalObject):
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):
(JSC::BytecodeGenerator::popLexicalScope):
(JSC::BytecodeGenerator::popLexicalScopeInternal):
(JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration):
(JSC::BytecodeGenerator::variable):
(JSC::BytecodeGenerator::resolveType):
(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitPopScope):
(JSC::BytecodeGenerator::emitPopWithScope):
(JSC::BytecodeGenerator::emitDebugHook):
(JSC::BytecodeGenerator::popScopedControlFlowContext):
(JSC::BytecodeGenerator::emitPushCatchScope):
(JSC::BytecodeGenerator::emitPopCatchScope):
(JSC::BytecodeGenerator::beginSwitch):
(JSC::BytecodeGenerator::emitPopWithOrCatchScope): Deleted.
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::lastOpcodeID):
- bytecompiler/NodesCodegen.cpp:
(JSC::AssignResolveNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::TryNode::emitBytecode):
- debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::isCatchScope):
(JSC::DebuggerScope::isFunctionNameScope):
(JSC::DebuggerScope::isFunctionOrEvalScope):
(JSC::DebuggerScope::caughtValue):
- debugger/DebuggerScope.h:
- inspector/ScriptDebugServer.cpp:
(Inspector::ScriptDebugServer::exceptionOrCaughtValue):
- interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_push_name_scope):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_push_name_scope):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createContinueStatement):
(JSC::ASTBuilder::createTryStatement):
- parser/NodeConstructors.h:
(JSC::ThrowNode::ThrowNode):
(JSC::TryNode::TryNode):
(JSC::FunctionParameters::FunctionParameters):
- parser/Nodes.h:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseTryStatement):
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createBreakStatement):
(JSC::SyntaxChecker::createContinueStatement):
(JSC::SyntaxChecker::createTryStatement):
(JSC::SyntaxChecker::createSwitchStatement):
(JSC::SyntaxChecker::createWhileStatement):
(JSC::SyntaxChecker::createWithStatement):
- runtime/JSCatchScope.cpp:
- runtime/JSCatchScope.h:
(JSC::JSCatchScope::JSCatchScope): Deleted.
(JSC::JSCatchScope::create): Deleted.
(JSC::JSCatchScope::createStructure): Deleted.
- runtime/JSFunctionNameScope.h:
(JSC::JSFunctionNameScope::JSFunctionNameScope):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::withScopeStructure):
(JSC::JSGlobalObject::strictEvalActivationStructure):
(JSC::JSGlobalObject::activationStructure):
(JSC::JSGlobalObject::functionNameScopeStructure):
(JSC::JSGlobalObject::directArgumentsStructure):
(JSC::JSGlobalObject::scopedArgumentsStructure):
(JSC::JSGlobalObject::catchScopeStructure): Deleted.
- runtime/JSNameScope.cpp:
(JSC::JSNameScope::create):
(JSC::JSNameScope::toThis):
- runtime/JSNameScope.h:
- runtime/JSObject.cpp:
(JSC::JSObject::toThis):
(JSC::JSObject::isFunctionNameScopeObject):
(JSC::JSObject::isCatchScopeObject): Deleted.
- runtime/JSObject.h:
- runtime/JSScope.cpp:
(JSC::JSScope::collectVariablesUnderTDZ):
(JSC::JSScope::isLexicalScope):
(JSC::JSScope::isCatchScope):
(JSC::resolveModeName):
- runtime/JSScope.h:
- runtime/SymbolTable.cpp:
(JSC::SymbolTable::SymbolTable):
(JSC::SymbolTable::cloneScopePart):
- runtime/SymbolTable.h:
- tests/stress/const-semantics.js:
(.):
- 2:39 PM Changeset in webkit [187514] by
-
- 2 edits in branches/safari-600.8-branch/LayoutTests
Skip two mixed content tests that don't make sense since we don't disable mixed content access by default.
- platform/mac/TestExpectations:
- 2:23 PM Changeset in webkit [187513] by
-
- 2 edits in trunk/Source/JavaScriptCore
DFG::ArgumentsEliminationPhase has a redundant check for inserting CheckInBounds when converting GetByVal to GetStack in the inline non-varargs case
https://bugs.webkit.org/show_bug.cgi?id=147373
Reviewed by Mark Lam.
The code was doing a check for "index >= inlineCallFrame->arguments.size() - 1" in code where
safeToGetStack is true and we aren't in varargs context, but in a non-varargs context,
safeToGetStack can only be true if "index < inlineCallFrame->arguments.size() - 1".
When converting a GetByVal to GetStack, there are three possibilities:
1) Impossible to convert. This can happen if the GetByVal is out-of-bounds of the things we
know to have stored to the stack. For example, if we inline a function that does
"arguments[42]" at a call that passes no arguments.
2) Possible to convert, but we cannot prove statically that the GetByVal was in bounds. This
can happen for "arguments[42]" with no inline call frame (since we don't know statically
how many arguments we will be passed) or in a varargs call frame.
3) Possible to convert, and we know statically that the GetByVal is in bounds. This can
happen for "arguments[42]" if we have an inline call frame, and it's not a varargs call
frame, and we know that the caller passed 42 or more arguments.
The way the phase handles this is it first determines that we're not in case (1). This is
called safeToGetStack. safeToGetStack is true if we have case (2) or (3). For inline call
frames that have no varargs, this means that safeToGetStack is true exactly when the GetByVal
is in-bounds (i.e. case (3)).
But the phase was again doing a check for whether the index is in-bounds for non-varargs
inline call frames even when safeToGetStack was true. That check is redundant and should be
eliminated, since it makes the code confusing.
- dfg/DFGArgumentsEliminationPhase.cpp:
- 2:19 PM Changeset in webkit [187512] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, fix wrong test baseline landed in r187489.
- http/tests/security/same-origin-css-4-expected.txt:
- 1:59 PM Changeset in webkit [187511] by
-
- 2 edits in tags/Safari-601.1.44.1/Source/WebKit2
Roll out r187376. rdar://problem/22000647
- 1:50 PM Changeset in webkit [187510] by
-
- 2 edits in trunk/Source/JavaScriptCore
DFG::PutStackSinkingPhase should be more aggressive about its "no GetStack until put" rule
https://bugs.webkit.org/show_bug.cgi?id=147371
Reviewed by Mark Lam.
Two fixes:
- Make ConflictingFlush really mean that you can't load from the stack slot. This means not using ConflictingFlush for arguments.
- Assert that a GetStack never sees ConflictingFlush.
- dfg/DFGPutStackSinkingPhase.cpp:
- 1:46 PM Changeset in webkit [187509] by
-
- 5 edits in tags/Safari-601.1.44.1/Source
Versioning.
- 1:45 PM Changeset in webkit [187508] by
-
- 1 copy in tags/Safari-601.1.44.1
New tag.
- 1:37 PM Changeset in webkit [187507] by
-
- 5 edits2 adds in trunk
Web Inspector: Include <template> node content in DOM Tree
https://bugs.webkit.org/show_bug.cgi?id=147335
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-28
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
- UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype._unbind):
Cleanup templateContent when DOMNodes get removed.
- UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode.prototype.templateContent):
Create a DOMNode from the payload's templateContent.
- UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._singleTextChild):
(WebInspector.DOMTreeElement.prototype._hasVisibleChildren):
(WebInspector.DOMTreeElement.prototype._visibleChildren):
A DOMTreeElement has children if the DOMNode has template content.
LayoutTests:
- inspector/dom/template-content-expected.txt: Added.
- inspector/dom/template-content.html: Added.
- 1:20 PM Changeset in webkit [187506] by
-
- 4 edits in trunk
Misleading error message: "At least one digit must occur after a decimal point"
https://bugs.webkit.org/show_bug.cgi?id=146238
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Interestingly, we had a comment explaining what this error message was
about that is much clearer than the error message itself. This patch
simply replaces the error message with the explanation from the
comment.
- parser/Lexer.cpp:
(JSC::Lexer<T>::lex):
LayoutTests:
The expected error message in this test has changed.
- js/basic-strict-mode-expected.txt:
- 1:12 PM Changeset in webkit [187505] by
-
- 14 edits in trunk/Source/JavaScriptCore
Simplify call linking
https://bugs.webkit.org/show_bug.cgi?id=147363
Reviewed by Filip Pizlo.
Previously, we were passing both the CallLinkInfo and a
(CodeSpecializationKind, RegisterPreservationMode) pair to the
different call linking slow paths. However, the CallLinkInfo already
has all of that information, and we don't gain anything by having them
in additional static parameters - except possibly a very small
performance gain in presence of inlining. However since those are
already slow paths, this performance loss (if it exists) will not be
visible in practice.
This patch removes the various specialized thunks and JIT operations
for regular and polymorphic call linking with a single thunk and
operation for each case. Moreover, it removes the four specialized
virtual call thunks and operations with one virtual call thunk for each
call link info, allowing for better branch prediction by the CPU and
fixing a pre-existing FIXME.
- bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::unlink):
(JSC::CallLinkInfo::dummy): Deleted.
- bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::CallLinkInfo):
(JSC::CallLinkInfo::registerPreservationMode):
(JSC::CallLinkInfo::setUpCallFromFTL):
(JSC::CallLinkInfo::setSlowStub):
(JSC::CallLinkInfo::clearSlowStub):
(JSC::CallLinkInfo::slowStub):
- dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
- ftl/FTLJSCallBase.cpp:
(JSC::FTL::JSCallBase::link):
- jit/JITCall.cpp:
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
- jit/JITCall32_64.cpp:
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
(JSC::operationLinkFor): Deleted.
(JSC::operationVirtualFor): Deleted.
(JSC::operationLinkPolymorphicCallFor): Deleted.
- jit/Repatch.cpp:
(JSC::generateByIdStub):
(JSC::linkSlowFor):
(JSC::linkFor):
(JSC::revertCall):
(JSC::unlinkFor):
(JSC::linkVirtualFor):
(JSC::linkPolymorphicCall):
- jit/Repatch.h:
- jit/ThunkGenerators.cpp:
(JSC::linkCallThunkGenerator):
(JSC::linkPolymorphicCallThunkGenerator):
(JSC::virtualThunkFor):
(JSC::linkForThunkGenerator): Deleted.
(JSC::linkConstructThunkGenerator): Deleted.
(JSC::linkCallThatPreservesRegsThunkGenerator): Deleted.
(JSC::linkConstructThatPreservesRegsThunkGenerator): Deleted.
(JSC::linkPolymorphicCallForThunkGenerator): Deleted.
(JSC::linkPolymorphicCallThatPreservesRegsThunkGenerator): Deleted.
(JSC::virtualForThunkGenerator): Deleted.
(JSC::virtualCallThunkGenerator): Deleted.
(JSC::virtualConstructThunkGenerator): Deleted.
(JSC::virtualCallThatPreservesRegsThunkGenerator): Deleted.
(JSC::virtualConstructThatPreservesRegsThunkGenerator): Deleted.
- jit/ThunkGenerators.h:
(JSC::linkThunkGeneratorFor): Deleted.
(JSC::linkPolymorphicCallThunkGeneratorFor): Deleted.
(JSC::virtualThunkGeneratorFor): Deleted.
- 1:10 PM Changeset in webkit [187504] by
-
- 4 edits2 adds in trunk
Crash happens when calling removeEventListener for an SVG element which has an instance inside a <defs> element of shadow tree
https://bugs.webkit.org/show_bug.cgi?id=147290
Reviewed by Daniel Bates.
Source/WebCore:
When the shadow tree is built for a <use> element, all the SVG elements
are allowed to be cloned in the shadow tree but later some of the elements
are disallowed and removed. Make sure, when disallowing an element in the
shadow tree, to reset the correspondingElement relationship between all
the disallowed descendant SVG elements and all their original elements.
Test: svg/custom/remove-event-listener-shadow-disallowed-element.svg
*svg/SVGElement.cpp:
(WebCore::SVGElement::setCorrespondingElement)
- svg/SVGUseElement.cpp:
(WebCore::removeDisallowedElementsFromSubtree):
LayoutTests:
Make sure we do not crash when when calling removeEventListener() for an
element which is cloned under a disallowed parent inside the shadow tree
of another <use> element.
- svg/custom/remove-event-listener-shadow-disallowed-element-expected.txt: Added.
- svg/custom/remove-event-listener-shadow-disallowed-element.svg: Added.
- 12:48 PM Changeset in webkit [187503] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, follow-up nit fix after r187489.
Fix forward declarations ordering.
- css/StyleSheetContents.h:
- 12:42 PM Changeset in webkit [187502] by
-
- 4 edits2 adds in trunk
ASSERTION FAILED: !currBox->needsLayout() loading bing maps (and apple.com/music and nytimes)
https://bugs.webkit.org/show_bug.cgi?id=93891
Reviewed by Simon Fraser.
Source/WebCore:
Added new tests in fast/dynamic.
Change tracking of positioned objects to always insert objects that need a layout in the
end of the ListHashMap for RenderViews. This ensures that dependencies between nested
positioned objects that both need a layout by the RenderView are resolved in the correct order.
Don't cache the end object when walking the ListHashMap to do layouts of positioned objects,
since that list is getting updated dynamically as earlier objects can mark and insert new
objects into the list during their layouts.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutPositionedObject):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::insertIntoTrackedRendererMaps):
(WebCore::RenderBlock::insertPositionedObject):
(WebCore::RenderBlock::removePositionedObject):
- rendering/RenderBlock.h:
LayoutTests:
- fast/dynamic/position-fixed-to-absolute-with-positioned-child-crash-expected.txt: Added.
- fast/dynamic/position-fixed-to-absolute-with-positioned-child-crash.html: Added.
- 12:38 PM Changeset in webkit [187501] by
-
- 3 edits in trunk/Tools
webkitbot and WKR unnecessarily rely on webkit-queues.appspot.com
https://bugs.webkit.org/show_bug.cgi?id=147359
Reviewed by Ryosuke Niwa.
- Scripts/webkitpy/tool/commands/newcommitbot.py:
(NewCommitBot.begin_work_queue):
- Scripts/webkitpy/tool/commands/sheriffbot.py:
(SheriffBot.begin_work_queue):
- 12:23 PM Changeset in webkit [187500] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Invalid selectors can be applied to the stylesheet
https://bugs.webkit.org/show_bug.cgi?id=147230
Reviewed by Timothy Hatcher.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Models/CSSRule.js:
(WebInspector.CSSRule.prototype.set selectorText):
Fires an event with data stating if the newly applied selector was valid or not.
(WebInspector.CSSRule.prototype._selectorRejected):
(WebInspector.CSSRule.prototype._selectorResolved):
(WebInspector.CSSRule):
- UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype.changeRuleSelector.ruleSelectorChanged):
(WebInspector.DOMNodeStyles.prototype.changeRuleSelector):
Now returns a promise that will reject if CSSAgent.setRuleSelector has an
error, such as if the selector is invalid, and resolve otherwise.
- UserInterface/Views/CSSStyleDeclarationSection.css:
(.style-declaration-section:not(.invalid-selector) > .header > .icon.toggle-able:hover):
(.style-declaration-section:not(.invalid-selector).rule-disabled > .header > .icon):
(.style-declaration-section.invalid-selector > .header > .icon):
(.style-declaration-section.invalid-selector > .header > .selector > *):
(.style-declaration-section > .header > .icon.toggle-able:hover): Deleted.
(.style-declaration-section.rule-disabled > .header > .icon): Deleted.
- UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection):
(WebInspector.CSSStyleDeclarationSection.prototype._toggleRuleOnOff):
Only allow rule toggling if the selector is valid.
(WebInspector.CSSStyleDeclarationSection.prototype._markSelector):
If the new selector is valid, refresh the section. Otherwise, apply a class
to the section element that marks the selector as being invalid.
(WebInspector.CSSStyleDeclarationSection.prototype.get _hasInvalidSelector):
- 12:16 PM Changeset in webkit [187499] by
-
- 2 edits in branches/safari-600.1.4.17-branch/Source/WebCore
Merged r187490. rdar://problem/22035036
- 12:14 PM Changeset in webkit [187498] by
-
- 2 edits in trunk/Source/WebCore
Fix builds using PathCairo.
- platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::apply):
- 11:51 AM Changeset in webkit [187497] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
stress/math-pow-with-constants.js fails in cloop
https://bugs.webkit.org/show_bug.cgi?id=147167
Reviewed by Geoffrey Garen.
Baseline JIT, DFG and FTL are using a fast exponentiation fast path
when computing Math.pow() with an integer exponent that is not taken in
the LLInt (or the DFG abstract interpreter). This leads to the result
of pow changing depending on the compilation tier or the fact that
constant propagation kicks in, which is undesirable.
This patch adds the fast path to the slow operationMathPow in order to
maintain an illusion of consistency.
- runtime/MathCommon.cpp:
(JSC::operationMathPow):
- tests/stress/math-pow-coherency.js: Added.
(pow42):
(build42AsDouble.opaqueAdd):
(build42AsDouble):
(powDouble42):
(clobber):
(pow42NoConstantFolding):
(powDouble42NoConstantFolding):
- 11:47 AM Changeset in webkit [187496] by
-
- 25 edits6 adds in trunk
Web Inspector: Show Pseudo Elements in DOM Tree
https://bugs.webkit.org/show_bug.cgi?id=139612
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-28
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/protocol/DOM.json:
Add new properties to DOMNode if it is a pseudo element or if it has
pseudo element children. Add new events for if a pseudo element is
added or removed dynamically to an existing DOMNode.
Source/WebCore:
Tests: inspector/css/pseudo-element-matches-for-pseudo-element-node.html
inspector/dom/pseudo-element-dynamic.html
inspector/dom/pseudo-element-static.html
Much of this patch was modelled after the Blink implementation of
pseudo element inspection.
- dom/PseudoElement.h:
- dom/PseudoElement.cpp:
(WebCore::PseudoElement::~PseudoElement):
(WebCore::PseudoElement::clearHostElement):
Since InspectorDOMAgent may hold a reference to this PseudoElement we
can't report it as destroyed in the destructor, as that wouldn't be
reached if the inspector holds a reference. Move this to when the
psuedo element is disconnected, which is immediately before destruction.
- inspector/InspectorCSSAgent.h:
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
When computing styles for a pseudo element, compute styles from the
host element for just the pseudo element's pseudo type. Likewise
only include matched results, not inherited or others.
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
Add the pseudo type to the checker context to try and detect exactly
which selector in a list of selectors matched the pseudo element.
- inspector/InspectorDOMAgent.h:
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::unbind):
When unbinding an element, also unbind any pseudo element children
it may have had and bound.
(WebCore::InspectorDOMAgent::assertEditableNode):
(WebCore::InspectorDOMAgent::assertEditableElement):
(WebCore::InspectorDOMAgent::removeNode):
Improve grammar in error message. Don't allow editing pseudo elements.
(WebCore::pseudoElementType):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
If a node is a pseudo element include its pseudoType.
If a node has pseudo element children include them.
(WebCore::InspectorDOMAgent::pseudoElementCreated):
(WebCore::InspectorDOMAgent::pseudoElementDestroyed):
When pseudo elements are dynamically created or destroyed
push pseudo element nodes to the frontend if needed.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::pseudoElementCreatedImpl):
(WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::pseudoElementCreated):
(WebCore::InspectorInstrumentation::pseudoElementDestroyed):
(WebCore::InspectorInstrumentation::layerTreeDidChange):
(WebCore::InspectorInstrumentation::renderLayerDestroyed):
Plumbing for pseudo element created/destroyed events.
- style/StyleResolveTree.cpp:
(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
This is the only place a pseudo element is created, inform the inspector.
- inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForElementData):
Update the element data for the node highlight label to include the
host element's selector and the pseudo element selector.
Source/WebInspectorUI:
- UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype._pseudoElementAdded):
Hook up the new pseudo element DOMNode to the parent.
(WebInspector.DOMTreeManager.prototype._pseudoElementRemoved):
Unhook the pseudo element from its parent.
(WebInspector.DOMTreeManager.prototype._unbind):
When unbinding, unbind any pseudo element children we may have had.
- UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode.prototype.isPseudoElement):
(WebInspector.DOMNode.prototype.pseudoType):
(WebInspector.DOMNode.prototype.hasPseudoElements):
(WebInspector.DOMNode.prototype.pseudoElements):
New state of a DOMNode may include pseudo elements.
(WebInspector.DOMNode.prototype.appropriateSelectorFor):
A selector for this node includes the selector for the node above it.
- UserInterface/Protocol/DOMObserver.js:
(WebInspector.DOMObserver.prototype.pseudoElementAdded):
(WebInspector.DOMObserver.prototype.pseudoElementRemoved):
Pass the message on to DOMTreeManager.
- UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype.get editable):
Pseudo element nodes are not editable.
(WebInspector.DOMTreeElement.prototype.showChildNode):
(WebInspector.DOMTreeElement.prototype.onpopulate):
(WebInspector.DOMTreeElement.prototype.updateChildren):
(WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
(WebInspector.DOMTreeElement.prototype._singleTextChild):
(WebInspector.DOMTreeElement.prototype._hasVisibleChildren):
(WebInspector.DOMTreeElement.prototype._visibleChildren):
(WebInspector.DOMTreeElement.prototype._updateChildren):
(WebInspector.DOMTreeElement.prototype.adjustCollapsedRange):
(WebInspector.DOMTreeElement.prototype.handleLoadAllChildren):
A DOMTreeElement's children are no longer 1-to-1 to DOMNode's children.
Instead a DOMNode may have a before/after pseudo element child that
are not included in the children list. Update parts of DOMTreeElement
to respect this list of visible children.
- UserInterface/Views/DOMTreeElementPathComponent.js:
(WebInspector.DOMTreeElementPathComponent):
- UserInterface/Views/PathComponentIcons.css:
(.dom-pseudo-element-icon .icon):
Styling for the path component when a pseudo element is selected.
- UserInterface/Views/DOMTreeOutline.css:
(.dom-tree-outline .html-pseudo-element):
(.dom-tree-outline .html-fragment.shadow):
(.webkit-html-fragment.shadow): Deleted.
Styles for pseudo elements in the DOM tree.
- UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype._hideElement):
Make the hide element selector hide the host element.
- UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.addEventListeners):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.removeEventListeners):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._updatePseudoClassCheckboxes):
Pseudo class changes won't happen on pseudo elements, but will
happen on their host element, so listen to and make pseudo class
changes to the host element.
- UserInterface/Views/RulesStyleDetailsPanel.css:
(.sidebar > .panel.details.css-style .rules > *:first-child:matches(.new-rule)):
Since a pseudo element does not have a style attribute,
give some margin in the style sidebar above the "New Rule"
button so it looks better.
LayoutTests:
- inspector/css/pseudo-element-matches-for-pseudo-element-node-expected.txt: Added.
- inspector/css/pseudo-element-matches-for-pseudo-element-node.html: Added.
- inspector/dom/pseudo-element-dynamic-expected.txt: Added.
- inspector/dom/pseudo-element-dynamic.html: Added.
- inspector/dom/pseudo-element-static-expected.txt: Added.
- inspector/dom/pseudo-element-static.html: Added.
- 11:42 AM Changeset in webkit [187495] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, fix Windows build.
- wtf/MetaAllocatorHandle.h:
(WTF::MetaAllocatorHandle::key):
- 11:26 AM Changeset in webkit [187494] by
-
- 3 edits in trunk/Source/WebCore
Remove some more bits of WebTiledLayer
https://bugs.webkit.org/show_bug.cgi?id=147356
Reviewed by Simon Fraser.
- platform/graphics/ca/PlatformCALayer.h:
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(PlatformCALayerCocoa::setContentsScale): Deleted.
(PlatformCALayer::setTileSize): Deleted.
- 11:22 AM Changeset in webkit [187493] by
-
- 4 edits in trunk/Source/WebCore
Change markContainingBlocksForLayout() to take an enum, rather than a bool
https://bugs.webkit.org/show_bug.cgi?id=147345
Reviewed by Daniel Bates.
Change markContainingBlocksForLayout to take an enum class for the scheduleRelayout
argument, for better code readability.
- page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::scheduleRelayout):
(WebCore::FrameView::scheduleRelayoutOfSubtree):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::markContainingBlocksForLayout):
- rendering/RenderObject.h:
- 11:22 AM Changeset in webkit [187492] by
-
- 13 edits in trunk/Source
PathApplierFunction should take a reference to a PathElement
https://bugs.webkit.org/show_bug.cgi?id=147337
Reviewed by Dan Bates.
Convert PathApplierFunction to take a const PathElement&, since it can never be null.
Source/WebCore:
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(ConvertPathToScreenSpaceFunction):
- inspector/InspectorOverlay.cpp:
(WebCore::appendPathSegment):
- platform/graphics/Path.cpp:
(WebCore::pathLengthApplierFunction):
- platform/graphics/Path.h:
- platform/graphics/PathTraversalState.h:
(WebCore::PathTraversalState::processPathElement):
- platform/graphics/cg/PathCG.cpp:
(WebCore::CGPathApplierToPathApplier):
- rendering/svg/SVGMarkerData.h:
(WebCore::SVGMarkerData::updateFromPathElement):
(WebCore::SVGMarkerData::updateMarkerDataForPathElement):
- rendering/svg/SVGSubpathData.h:
(WebCore::SVGSubpathData::updateFromPathElement):
- svg/SVGPathUtilities.cpp:
(WebCore::pathIteratorForBuildingString):
Source/WebKit2:
- Shared/WebCoreArgumentCoders.cpp:
(IPC::pathPointCountApplierFunction):
(IPC::pathEncodeApplierFunction):
- 11:20 AM Changeset in webkit [187491] by
-
- 12 edits in trunk/Source
[iOS] Notify fullscreen controller in UIProcess whether external playback is allowed
https://bugs.webkit.org/show_bug.cgi?id=147343
Reviewed by Brady Eidson.
Source/WebCore:
Pass the value of the MediaElementSession's wirelessVideoPlaybackDisabled() property up through WebKit2 to
WebVideoFullscreenControllerAVKit.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::setWirelessVideoPlaybackDisabled): Pass to the interface on the main thread.
- platform/ios/WebVideoFullscreenInterface.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setWirelessVideoPlaybackDisabled): Sets .allowsExternalPlayback to !disabled.
(WebVideoFullscreenInterfaceAVKit::wirelessVideoPlaybackDisabled): Returns the last value set.
- platform/ios/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::setWebVideoFullscreenInterface): Update the value of wirelessVideoPlaybackDisabled
if the element is present.
(WebVideoFullscreenModelVideoElement::setVideoElement): Ditto if the interface is present.
(WebVideoFullscreenModelVideoElement::updateForEventName): Update the value either way.
Source/WebKit2:
Pass the boolean property wirelessVideoPlaybackDisabled across the UIProcess/WebProcess boundary.
- UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::setWirelessVideoPlaybackDisabled):
- WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenInterfaceContext::setWirelessVideoPlaybackDisabled):
(WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
(WebKit::WebVideoFullscreenManager::setWirelessVideoPlaybackDisabled):
- 11:11 AM Changeset in webkit [187490] by
-
- 2 edits in trunk/Source/WebCore
Handle null CFArrayRef returning from _CFHTTPParsedCookiesWithResponseHeaderFields.
<rdar://problem/21995928> and https://bugs.webkit.org/show_bug.cgi?id=147365
Reviewed by Alexey Proskuryakov.
- platform/network/cf/CookieJarCFNet.cpp:
(WebCore::filterCookies): ASSERT the input is not null.
(WebCore::createCookies): Always return a CFArrayRef, even if it's empty.
- 10:24 AM Changeset in webkit [187489] by
-
- 18 edits3 copies31 adds2 deletes in trunk
Allow lax MIME type parsing for same-origin CSS in quirks mode.
https://bugs.webkit.org/show_bug.cgi?id=147327
<rdar://problem/22010303>
Reviewed by Zalan Bujtas.
Source/WebCore:
The change made in r180020 is too strict for the web, and doesn't match Firefox
Chrome, or IE's behavior. In particular, it does not respect the same-origin
carveout that the HTML spec specifies:
https://html.spec.whatwg.org/multipage/semantics.html#link-type-stylesheet
This patch corrects that oversight and aligns our behavior with other popular
browsers.
This change was adapted from Blink r196678:
https://src.chromium.org/viewvc/blink?revision=196678&view=revision
Tests: http/tests/security/cross-origin-css-in-quirks-1.html
http/tests/security/cross-origin-css-in-quirks-2.html
http/tests/security/cross-origin-css-in-quirks-3.html
http/tests/security/cross-origin-css-in-quirks-4.html
http/tests/security/cross-origin-css-in-quirks-5.html
http/tests/security/cross-origin-css-in-quirks-6.html
http/tests/security/cross-origin-css-in-quirks-7.html
http/tests/security/cross-origin-css-in-quirks-8.html
http/tests/security/same-origin-css-1.html
http/tests/security/same-origin-css-2.html
http/tests/security/same-origin-css-3.html
http/tests/security/same-origin-css-4.html
http/tests/security/same-origin-css-5.html
http/tests/security/same-origin-css-6.html
http/tests/security/same-origin-css-7.html
http/tests/security/same-origin-css-8.html
http/tests/security/same-origin-css-in-quirks.html
- css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::setCSSStyleSheet):
- css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::parseAuthorStyleSheet):
- css/StyleSheetContents.h:
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):
- loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::sheetText):
(WebCore::CachedCSSStyleSheet::canUseSheet):
(WebCore::CachedCSSStyleSheet::checkNotify): Deleted.
- loader/cache/CachedCSSStyleSheet.h:
LayoutTests:
Add layout test coverage for MIME type parsing for same-origin CSS in
quirks mode and not.
- http/tests/inspector/css/bad-mime-type-expected.txt:
- http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain-and-css-extension-expected.txt:
- http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain-expected.txt:
- http/tests/misc/css-accept-any-type-expected.txt: Removed.
- http/tests/misc/css-accept-any-type.html: Removed.
- http/tests/misc/css-reject-any-type-in-strict-mode-expected.txt:
- http/tests/security/cross-origin-css-1-expected.txt:
- http/tests/security/cross-origin-css-2-expected.txt:
- http/tests/security/cross-origin-css-4-expected.txt:
- http/tests/security/cross-origin-css-5-expected.txt:
- http/tests/security/cross-origin-css-7-expected.txt:
- http/tests/security/cross-origin-css-in-quirks-1-expected.txt: Copied from LayoutTests/http/tests/security/cross-origin-css-1-expected.txt.
- http/tests/security/cross-origin-css-in-quirks-1.html: Added.
- http/tests/security/cross-origin-css-in-quirks-2-expected.txt: Copied from LayoutTests/http/tests/security/cross-origin-css-2-expected.txt.
- http/tests/security/cross-origin-css-in-quirks-2.html: Added.
- http/tests/security/cross-origin-css-in-quirks-3-expected.txt: Added.
- http/tests/security/cross-origin-css-in-quirks-3.html: Added.
- http/tests/security/cross-origin-css-in-quirks-4-expected.txt: Added.
- http/tests/security/cross-origin-css-in-quirks-4.html: Added.
- http/tests/security/cross-origin-css-in-quirks-5-expected.txt: Copied from LayoutTests/http/tests/security/cross-origin-css-5-expected.txt.
- http/tests/security/cross-origin-css-in-quirks-5.html: Added.
- http/tests/security/cross-origin-css-in-quirks-6-expected.txt: Added.
- http/tests/security/cross-origin-css-in-quirks-6.html: Added.
- http/tests/security/cross-origin-css-in-quirks-7-expected.txt: Added.
- http/tests/security/cross-origin-css-in-quirks-7.html: Added.
- http/tests/security/cross-origin-css-in-quirks-8-expected.txt: Added.
- http/tests/security/cross-origin-css-in-quirks-8.html: Added.
- http/tests/security/same-origin-css-1-expected.txt: Added.
- http/tests/security/same-origin-css-1.html: Added.
- http/tests/security/same-origin-css-2-expected.txt: Added.
- http/tests/security/same-origin-css-2.html: Added.
- http/tests/security/same-origin-css-3-expected.txt: Added.
- http/tests/security/same-origin-css-3.html: Added.
- http/tests/security/same-origin-css-4-expected.txt: Added.
- http/tests/security/same-origin-css-4.html: Added.
- http/tests/security/same-origin-css-5-expected.txt: Added.
- http/tests/security/same-origin-css-5.html: Added.
- http/tests/security/same-origin-css-6-expected.txt: Added.
- http/tests/security/same-origin-css-6.html: Added.
- http/tests/security/same-origin-css-7-expected.txt: Copied from LayoutTests/http/tests/security/cross-origin-css-7-expected.txt.
- http/tests/security/same-origin-css-7.html: Added.
- http/tests/security/same-origin-css-8-expected.txt: Added.
- http/tests/security/same-origin-css-8.html: Added.
- http/tests/security/same-origin-css-in-quirks-expected.txt: Added.
- http/tests/security/same-origin-css-in-quirks.html: Added.
- platform/mac/http/tests/misc/acid3-expected.txt:
- 9:58 AM Changeset in webkit [187488] by
-
- 6 edits in trunk/Source
Add logging when executable code gets deallocated
https://bugs.webkit.org/show_bug.cgi?id=147355
Reviewed by Mark Lam.
Source/JavaScriptCore:
- ftl/FTLJITCode.cpp:
(JSC::FTL::JITCode::~JITCode): Print something when this is freed.
- jit/JITCode.cpp:
(JSC::JITCodeWithCodeRef::~JITCodeWithCodeRef): Print something when this is freed.
Source/WTF:
- wtf/MetaAllocator.cpp:
(WTF::MetaAllocatorHandle::dump): It's useful to be able to dump these.
- wtf/MetaAllocatorHandle.h:
- 9:55 AM Changeset in webkit [187487] by
-
- 4 edits in trunk/Source/JavaScriptCore
DFG::safeToExecute() cases for GetByOffset/PutByOffset don't handle clobbered structure abstract values correctly
https://bugs.webkit.org/show_bug.cgi?id=147354
Reviewed by Michael Saboff.
If m_structure.isClobbered(), it means that we had a side effect that clobbered
the abstract value but it may recover back to its original value at the next
invalidation point. Since the invalidation point hasn't been reached yet, we need
to conservatively treat the clobbered state as if it was top. At the invalidation
point, the clobbered set will return back to being unclobbered.
In addition to fixing the bug, this introduces isInfinite(), which should be used
in places where it's tempting to just use isTop().
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute): Fix the bug.
- dfg/DFGStructureAbstractValue.cpp:
(JSC::DFG::StructureAbstractValue::contains): Switch to using isInfinite().
(JSC::DFG::StructureAbstractValue::isSubsetOf): Switch to using isInfinite().
(JSC::DFG::StructureAbstractValue::isSupersetOf): Switch to using isInfinite().
(JSC::DFG::StructureAbstractValue::overlaps): Switch to using isInfinite().
- dfg/DFGStructureAbstractValue.h:
(JSC::DFG::StructureAbstractValue::isFinite): New convenience method.
(JSC::DFG::StructureAbstractValue::isInfinite): New convenience method.
(JSC::DFG::StructureAbstractValue::onlyStructure): Switch to using isInfinite().
- 9:29 AM Changeset in webkit [187486] by
-
- 3 edits2 deletes in trunk
Rolling out r187463, because it caused memory corruption on multiple tests.
Original bug:
Crash happens when calling removeEventListener for an SVG element which has an instance inside a <defs> element of shadow tree
https://bugs.webkit.org/show_bug.cgi?id=147290
- svg/custom/remove-event-listener-shadow-disallowed-element-expected.txt: Removed.
- svg/custom/remove-event-listener-shadow-disallowed-element.svg: Removed.
Source/WebCore:
- svg/SVGUseElement.cpp:
(WebCore::removeDisallowedElementsFromSubtree):
(WebCore::associateClonesWithOriginals):
- 3:03 AM Changeset in webkit [187485] by
-
- 10 edits in trunk/Source
[GTK] Use fastMalloc instead of g_slice
https://bugs.webkit.org/show_bug.cgi?id=147357
Reviewed by Sergio Villar Senin.
The use of g_slice is no longer encouraged by glib developers.
Source/WebCore:
- platform/graphics/gstreamer/GStreamerUtilities.cpp:
(WebCore::mapGstBuffer):
(WebCore::unmapGstBuffer):
Source/WebKit2:
- UIProcess/API/gtk/WebKitCredential.cpp:
(webkitCredentialCreate):
(webkit_credential_free):
- UIProcess/API/gtk/WebKitJavascriptResult.cpp:
(webkitJavascriptResultCreate):
(webkit_javascript_result_unref):
- UIProcess/API/gtk/WebKitMimeInfo.cpp:
(webkitMimeInfoCreate):
(webkit_mime_info_unref):
- UIProcess/API/gtk/WebKitNavigationAction.cpp:
(webkitNavigationActionCreate):
(webkit_navigation_action_copy):
(webkit_navigation_action_free):
- UIProcess/API/gtk/WebKitPrivate.h:
- UIProcess/API/gtk/WebKitScriptDialog.cpp:
(webkitScriptDialogCopy):
(webkitScriptDialogFree):
- UIProcess/API/gtk/WebKitUserContent.cpp:
(webkit_user_style_sheet_unref):
(webkit_user_style_sheet_new):
(webkit_user_script_unref):
(webkit_user_script_new):
- 1:32 AM Changeset in webkit [187484] by
-
- 2 edits in trunk/Source/WTF
Speed up StringBuilder::appendQuotedJSONString()
https://bugs.webkit.org/show_bug.cgi?id=147352
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-07-28
Reviewed by Andreas Kling.
- wtf/text/StringBuilder.cpp:
(WTF::appendQuotedJSONStringInternal):
The cases '"' and '
' are not that uncommon, and they can easily
be handled in the original branch testing for them.
This is about 2.5% better on the JSON.stringify test.