Timeline
Apr 23, 2016:
- 7:49 PM Changeset in webkit [199960] by
-
- 20 edits in trunk/Source
Fix issues found by the clang static analyzer
https://bugs.webkit.org/show_bug.cgi?id=156956
Reviewed by Alexey Proskuryakov.
Source/WebCore:
- editing/cocoa/DataDetection.mm:
(WebCore::DataDetection::detectContentInRange): Stored tz in a RetainPtr.
- platform/cf/KeyedDecoderCF.cpp:
(WebCore::KeyedDecoderCF::KeyedDecoderCF): If dynamic_cf_cast returned nullptr, the result of
CFPropertyListCreateWithData would leak. Stored the CFPropertyListRef in a RetainPtr, then leaked/adopted it
into m_rootDictionary (to avoid retain count churn) if it is a CFDictionary.
- platform/ios/WebAVPlayerController.mm:
(-[WebAVPlayerController dealloc]): Released _externalPlaybackAirPlayDeviceLocalizedName.
(-[WebAVMediaSelectionOption dealloc]): Added to release _localizedDisplayName.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerLayer dealloc]): Released _pixelBufferAttributes.
- platform/network/cocoa/WebCoreNSURLSession.h: Removed the readwrite attributes from properties, since
properties are readwrite by default.
- platform/network/cocoa/WebCoreNSURLSession.mm: Removed @dynamic, which isn't necessary just for defining a custom getter.
(-[WebCoreNSURLSessionDataTask dealloc]): Added to release copied ivars.
Source/WebKit/mac:
- WebView/WebDeviceOrientationProviderMock.mm:
(-[WebDeviceOrientationProviderMock dealloc]): [super dealloc] should be called last.
Source/WebKit2:
- UIProcess/API/Cocoa/WKPreviewActionItem.mm:
(-[WKPreviewAction dealloc]): Added to release _identifier.
- UIProcess/_WKWebViewPrintFormatter.mm:
(-[_WKWebViewPrintFormatter dealloc]): Released _frameToPrint.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView inputView]): -createPeripheralWithView: returned a retained object, but the method name did not
match Cocoa conventions. Called -initWithView: instead.
(-[WKContentView _showAttachmentSheet]): Stored the _WKActivatedElementInfo in a RetainPtr.
(-[WKContentView _dataForPreviewItemController:atPosition:type:]): Ditto.
(+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]):
The properties contextBeforeSelection, selectedText, markedText, and contextAfterSelection have the 'copy'
annotation in UIWKAutocorrectionContext, so the additional copy made here would be leaked. Removed the extra copy.
(-[WKAutocorrectionContext dealloc]): Deleted.
- UIProcess/ios/forms/WKFormInputControl.h: Removed -createPeripheralWithView: and declared -initWithView:.
- UIProcess/ios/forms/WKFormInputControl.mm:
(-[WKFormInputControl initWithView:]): Changed to return instancetype.
(+[WKFormInputControl createPeripheralWithView:]): Deleted.
- UIProcess/ios/forms/WKFormSelectControl.h: Removed -createPeripheralWithView: and declared -initWithView:.
- UIProcess/ios/forms/WKFormSelectControl.mm:
(+[WKFormSelectControl createPeripheralWithView:]): Deleted.
- UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::decodeLegacySessionState): If dynamic_cf_cast returned nullptr, the result of
CFPropertyListCreateWithData would leak. Stored the CFPropertyListRef in a RetainPtr before calling dynamic_cf_cast.
- UIProcess/mac/ServicesController.mm:
(WebKit::ServicesController::refreshExistingServices): Used a RetainPtr for attachment and cell.
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu): Used a RetainPtr for groupEntry.
- 7:27 PM Changeset in webkit [199959] by
-
- 2 edits in trunk/Tools
Really enable INDEXED_DATABASE on Apple Mac cmake build
https://bugs.webkit.org/show_bug.cgi?id=156902
Reviewed by Michael Catanzaro.
- Scripts/webkitperl/FeatureList.pm:
- 7:25 PM Changeset in webkit [199958] by
-
- 3 edits in trunk/Tools
check-webkit-style: fix false-positive warnings about @synchronized
https://bugs.webkit.org/show_bug.cgi?id=156957
Reviewed by Dan Bernstein.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing_for_function_call): Ignore @synchronized lines.
(check_braces): Ditto.
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_brace_at_begin_of_line): Added a test case.
- 5:13 PM Changeset in webkit [199957] by
-
- 2 edits in tags/Safari-602.1.29.0.1/Source/WebCore
Merged r199956. rdar://problem/25894586
- 4:51 PM Changeset in webkit [199956] by
-
- 2 edits in trunk/Source/WebCore
<rdar://problem/25894586> A project has failed to build because WTF_MAKE_FAST_ALLOCATED was not defined
Rubber-stamped by Chris Dumez.
Reverted the IntSize part of r199735, to let IntSize.h keep being used in another project.
- platform/graphics/IntSize.h:
(WebCore::IntSize::IntSize):
- 2:33 PM Changeset in webkit [199955] by
-
- 22 edits in trunk/Source
Tie the DiagnosticLoggingClient's lifetime to the Page
https://bugs.webkit.org/show_bug.cgi?id=156938
<rdar://problem/25851499>
Reviewed by Antti Koivisto.
Source/WebCore:
Tie the DiagnosticLoggingClient's lifetime to the Page rather than to the
MainFrame. The diagnostic logging client in WebKit2 requires the WebPage
to be alive in order to send IPC to the UIProcess. The WebPage owns the
Page and Page is not refCounted so the lifetime of the
DiagnosticLoggingClient should now be tied to the one of the WebPage as
well.
Previously, the DiagnosticLoggingClient would stay alive as long as the
MainFrame and could apparently in rare cases outlive the WebPage, thus
crashing when trying to send the IPC.
- history/PageCache.cpp:
(WebCore::logPageCacheFailureDiagnosticMessage):
(WebCore::canCachePage):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadResource):
(WebCore::logMediaLoadRequest):
(WebCore::HTMLMediaElement::updatePlayState):
(WebCore::HTMLMediaElement::mediaPlayerEngineFailedToLoad):
- loader/EmptyClients.h:
- loader/FrameLoader.cpp:
(WebCore::logNavigation):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
- loader/ResourceLoader.cpp:
(WebCore::logResourceResponseSource):
- loader/SubframeLoader.cpp:
(WebCore::logPluginRequest):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::logResourceLoaded):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::logMemoryCacheResourceRequest):
(WebCore::logResourceRevalidationDecision):
- page/DiagnosticLoggingClient.h:
- page/MainFrame.cpp:
(WebCore::MainFrame::MainFrame): Deleted.
(WebCore::MainFrame::~MainFrame): Deleted.
(WebCore::MainFrame::diagnosticLoggingClient): Deleted.
- page/MainFrame.h:
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::diagnosticLoggingClient):
- page/Page.h:
Source/WebKit2:
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:
(WebKit::WebDiagnosticLoggingClient::pageDestroyed):
(WebKit::WebDiagnosticLoggingClient::mainFrameDestroyed): Deleted.
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::willStartUserTriggeredZooming):
- 10:45 AM Changeset in webkit [199954] by
-
- 11 edits in tags/Safari-602.1.29.0.1/Source/WebKit2
Merged r199951. rdar://problem/25893246
- 10:44 AM Changeset in webkit [199953] by
-
- 5 edits in tags/Safari-602.1.29.0.1/Source
Versioning.
- 10:41 AM Changeset in webkit [199952] by
-
- 1 copy in tags/Safari-602.1.29.0.1
New tag.
- 10:37 AM Changeset in webkit [199951] by
-
- 11 edits in trunk/Source/WebKit2
<rdar://problem/25893246> WebKit2 has failed to build: error: use of undeclared identifier 'm_playbackSessionManager'
Fixed the non-AVKit build.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _isShowingVideoPictureInPicture]):
(-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::fullScreenManager):
(WebKit::WebPageProxy::playbackSessionManager):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::applicationDidBecomeActive):
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createScrollingCoordinator):
(WebKit::WebChromeClient::supportsVideoFullscreen):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::inspectorUI):
(WebKit::WebPage::playbackSessionManager):
- WebProcess/WebPage/WebPage.h:
- WebProcess/cocoa/WebVideoFullscreenManager.h:
- WebProcess/cocoa/WebVideoFullscreenManager.mm:
- 10:05 AM Changeset in webkit [199950] by
-
- 4 edits in trunk/Source/bmalloc
bmalloc: vm allocations should plant guard pages
https://bugs.webkit.org/show_bug.cgi?id=156937
Rolling out - looks like this is memory regression.
- bmalloc/Object.h:
(bmalloc::Object::operator+):
(bmalloc::Object::operator<=):
(bmalloc::Object::operator-): Deleted.
- bmalloc/VMAllocate.h:
(bmalloc::vmDeallocate):
(bmalloc::vmRevokePermissions): Deleted.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::allocateSmallChunk):
- 9:38 AM Changeset in webkit [199949] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, unbreak cloop.
- runtime/VM.cpp:
(JSC::VM::getHostFunction):
- 8:18 AM Changeset in webkit [199948] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
Updated Hungarian translation
https://bugs.webkit.org/show_bug.cgi?id=156952
Patch by Gabor Kelemen <kelemeng@ubuntu.com> on 2016-04-23
Rubber-stamped by Michael Catanzaro.
- hu.po:
- 2:12 AM MathML/Early_2016_Refactoring edited by
- (diff)
Apr 22, 2016:
- 7:49 PM Changeset in webkit [199947] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: HeapAllocationsTimeline grid should use built-in grid column icons
https://bugs.webkit.org/show_bug.cgi?id=156934
Reviewed by Timothy Hatcher.
- UserInterface/Views/HeapAllocationsTimelineDataGridNode.js:
(WebInspector.HeapAllocationsTimelineDataGridNode):
Use existing base class helper function to create main title text.
(WebInspector.HeapAllocationsTimelineDataGridNode.prototype.createCellContent):
Add icon class names to cell, remove icon element.
- UserInterface/Views/HeapAllocationsTimelineView.js:
(WebInspector.HeapAllocationsTimelineView):
Turn on icons for the column.
- 7:00 PM Changeset in webkit [199946] by
-
- 19 edits3 adds in trunk
Speed up bound functions a bit
https://bugs.webkit.org/show_bug.cgi?id=156889
Reviewed by Saam Barati.
Source/JavaScriptCore:
Bound functions are hard to optimize because JSC doesn't have a good notion of non-JS code
that does JS-ey things like make JS calls. What I mean by "non-JS code" is code that did not
originate from JS source. A bound function does a highly polymorphic call to the target
stored in the JSBoundFunction. Prior to this change, we represented it as native code that
used the generic native->JS call API. That's not cheap.
We could model bound functions using a builtin, but it's not clear that this would be easy
to grok, since so much of the code would have to access special parts of the JSBoundFunction
type. Doing it that way might solve the performance problems but it would mean extra work to
arrange for the builtin to have speedy access to the call target, the bound this, and the
bound arguments. Also, optimizing bound functions that way would mean that bound function
performance would be gated on the performance of a bunch of other things in our system. For
example, we'd want this polymorphic call to be handled like the funnel that it is: if we're
compiling the bound function's outgoing call with no context then we should compile it as
fully polymorphic but we can let it assume basic sanity like that the callee is a real
function; but if we're compiling the call with any amount of calling context then we want to
use normal call IC's.
Since the builtin path wouldn't lead to a simpler patch and since I think that the VM will
benefit in the long run from using custom handling for bound functions, I kept the native
code and just added Intrinsic/thunk support.
This just adds an Intrinsic for bound function calls where the JSBoundFunction targets a
JSFunction instance and has no bound arguments (only bound this). This intrinsic is
currently only implemented as a thunk and not yet recognized by the DFG bytecode parser.
I needed to loosen some restrictions to do this. For one, I was really tired of our bad use
of ENABLE(JIT) conditionals, which made it so that any serious client of Intrinsics would
have to have #ifdefs. Really what should happen is that if the JIT is not enabled then we
just ignore intrinsics. Also, the code was previously assuming that having a native
constructor and knowing the Intrinsic for your native call were mutually exclusive. This
change makes it possible to have a native executable that has a custom function, custom
constructor, and an Intrinsic.
This is a >4x speed-up on bound function calls with no bound arguments.
In the future, we should teach the DFG Intrinsic handling to deal with bound functions and
we should teach the inliner (and ByteCodeParser::handleCall() in general) how to deal with
the function call inside the bound function. That would be super awesome.
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::timesPtr):
(JSC::AbstractMacroAssembler::Address::withOffset):
(JSC::AbstractMacroAssembler::BaseIndex::BaseIndex):
(JSC::MacroAssemblerType>::Address::indexedBy):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::storeCell):
(JSC::AssemblyHelpers::loadCell):
(JSC::AssemblyHelpers::storeValue):
(JSC::AssemblyHelpers::emitSaveCalleeSaves):
(JSC::AssemblyHelpers::emitSaveThenMaterializeTagRegisters):
(JSC::AssemblyHelpers::emitRestoreCalleeSaves):
(JSC::AssemblyHelpers::emitRestoreSavedTagRegisters):
(JSC::AssemblyHelpers::copyCalleeSavesToVMCalleeSavesBuffer):
- jit/JITThunks.cpp:
(JSC::JITThunks::ctiNativeTailCall):
(JSC::JITThunks::ctiNativeTailCallWithoutSavedTags):
(JSC::JITThunks::ctiStub):
(JSC::JITThunks::hostFunctionStub):
(JSC::JITThunks::clearHostFunctionStubs):
- jit/JITThunks.h:
- jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::callDoubleToDoublePreservingReturn):
(JSC::SpecializedThunkJIT::tagReturnAsInt32):
(JSC::SpecializedThunkJIT::emitSaveThenMaterializeTagRegisters): Deleted.
(JSC::SpecializedThunkJIT::emitRestoreSavedTagRegisters): Deleted.
- jit/ThunkGenerators.cpp:
(JSC::virtualThunkFor):
(JSC::nativeForGenerator):
(JSC::nativeCallGenerator):
(JSC::nativeTailCallGenerator):
(JSC::nativeTailCallWithoutSavedTagsGenerator):
(JSC::nativeConstructGenerator):
(JSC::randomThunkGenerator):
(JSC::boundThisNoArgsFunctionCallGenerator):
- jit/ThunkGenerators.h:
- runtime/Executable.cpp:
(JSC::NativeExecutable::create):
(JSC::NativeExecutable::destroy):
(JSC::NativeExecutable::createStructure):
(JSC::NativeExecutable::finishCreation):
(JSC::NativeExecutable::NativeExecutable):
(JSC::ScriptExecutable::ScriptExecutable):
- runtime/Executable.h:
- runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncBind):
- runtime/IntlCollatorPrototype.cpp:
(JSC::IntlCollatorPrototypeGetterCompare):
- runtime/Intrinsic.h:
- runtime/JSBoundFunction.cpp:
(JSC::boundThisNoArgsFunctionCall):
(JSC::boundFunctionCall):
(JSC::boundThisNoArgsFunctionConstruct):
(JSC::boundFunctionConstruct):
(JSC::getBoundFunctionStructure):
(JSC::JSBoundFunction::create):
(JSC::JSBoundFunction::customHasInstance):
(JSC::JSBoundFunction::JSBoundFunction):
- runtime/JSBoundFunction.h:
(JSC::JSBoundFunction::targetFunction):
(JSC::JSBoundFunction::boundThis):
(JSC::JSBoundFunction::boundArgs):
(JSC::JSBoundFunction::createStructure):
(JSC::JSBoundFunction::offsetOfTargetFunction):
(JSC::JSBoundFunction::offsetOfBoundThis):
- runtime/JSFunction.cpp:
(JSC::JSFunction::lookUpOrCreateNativeExecutable):
(JSC::JSFunction::create):
- runtime/VM.cpp:
(JSC::thunkGeneratorForIntrinsic):
(JSC::VM::getHostFunction):
- runtime/VM.h:
(JSC::VM::getCTIStub):
(JSC::VM::exceptionOffset):
LayoutTests:
This microbenchmark speeds up by >4x with this change.
- js/regress/bound-function-call-expected.txt: Added.
- js/regress/bound-function-call.html: Added.
- js/regress/script-tests/bound-function-call.js: Added.
(foo):
- 6:14 PM Changeset in webkit [199945] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Versioning.
- 6:13 PM Changeset in webkit [199944] by
-
- 5 edits in branches/safari-601-branch/Source
Versioning.
- 6:11 PM Changeset in webkit [199943] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Fix build break since r199866
https://bugs.webkit.org/show_bug.cgi?id=156892
Reviewed by Darin Adler.
- runtime/MathCommon.cpp: Follow up to r199913. Remove 'include cmath' in cpp file.
- 5:58 PM Changeset in webkit [199942] by
-
- 11 edits2 adds in trunk
Cannot access the SQLTransaction.constructor.prototype
https://bugs.webkit.org/show_bug.cgi?id=156613
Reviewed by Darin Adler.
Source/WebCore:
Drop [NoInterfaceObject] from the following SQL interfaces:
Database, SQLError, SQLResultSet, SQLResultSetRowList and SQLTransaction.
This matches the specification:
https://dev.w3.org/html5/webdatabase/
This was causing the 'constructor' property to be wrong for these
interfaces as it would be a generic Object.
Test: storage/websql/transaction-prototype.html
- Modules/webdatabase/Database.idl:
- Modules/webdatabase/SQLError.idl:
- Modules/webdatabase/SQLResultSet.idl:
- Modules/webdatabase/SQLResultSetRowList.idl:
- Modules/webdatabase/SQLTransaction.idl:
LayoutTests:
Rebaseline existing test now that more SQL constructors are exposed on the
global Window object. Also add a test to confirm that it is possible to
access SQLTransaction.constructor.prototype and that it seems correct.
- js/dom/global-constructors-attributes-expected.txt:
- platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- storage/websql/transaction-prototype-expected.txt: Added.
- storage/websql/transaction-prototype.html: Added.
- 5:45 PM Changeset in webkit [199941] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Optimize number parsing and string parsing in LiteralParser
https://bugs.webkit.org/show_bug.cgi?id=156896
Reviewed by Mark Lam.
This patch aim to improve JSON.parse performance. Major 2 optimizations are included.
- Change
double resulttoint32_t resultin integer parsing case.
We already have the optimized path for integer parsing, when it's digits are less than 10.
At that case, the maximum number is 999999999, and the minimum number is -99999999.
The both are in range of Int32. So We can use int32_t for accumulation instead of double.
- Add the string parsing fast / slow cases.
We add the fast case for string parsing, which does not include any escape sequences.
Both optimizations improve Kraken json-parse-financial, roughly 3.5 - 4.5%.
json-parse-financial 49.128+-1.589 46.979+-0.912 might be 1.0457x faster
- runtime/LiteralParser.cpp:
(JSC::isJSONWhiteSpace):
(JSC::isSafeStringCharacter):
(JSC::LiteralParser<CharType>::Lexer::lexString):
(JSC::LiteralParser<CharType>::Lexer::lexStringSlow):
(JSC::LiteralParser<CharType>::Lexer::lexNumber):
- runtime/LiteralParser.h:
- 5:44 PM Changeset in webkit [199940] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: Include columnNumber in event listener locations
https://bugs.webkit.org/show_bug.cgi?id=156927
<rdar://problem/25884584>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-22
Reviewed by Brian Burg.
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
Include the column number in the location as well.
- 5:40 PM Changeset in webkit [199939] by
-
- 8 edits2 adds in trunk
Web Inspector: Source directives lost when using Function constructor repeatedly
https://bugs.webkit.org/show_bug.cgi?id=156863
<rdar://problem/25861064>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-22
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Source directives (sourceURL and sourceMappingURL) are normally accessed through
the SourceProvider and normally set when the script is parsed. However, when a
CodeCache lookup skips parsing, the new SourceProvider never gets the directives
(sourceURL/sourceMappingURL). This patch stores the directives on the UnlinkedCodeBlock
and UnlinkedFunctionExecutable when entering the cache, and copies to the new providers
when the cache is used.
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::sourceURLDirective):
(JSC::UnlinkedCodeBlock::sourceMappingURLDirective):
(JSC::UnlinkedCodeBlock::setSourceURLDirective):
(JSC::UnlinkedCodeBlock::setSourceMappingURLDirective):
- bytecode/UnlinkedFunctionExecutable.h:
- parser/SourceProvider.h:
- runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
- runtime/CodeCache.h:
Store directives on the unlinked code block / executable when adding
to the cache, so they can be used to update new providers when the
cache gets used.
- runtime/JSGlobalObject.cpp:
Add needed header after CodeCache header cleanup.
LayoutTests:
- inspector/debugger/sourceURL-repeated-identical-executions-expected.txt: Added.
- inspector/debugger/sourceURL-repeated-identical-executions.html: Added.
- 5:07 PM Changeset in webkit [199938] by
-
- 1 copy in tags/Safari-601.1.46.128
New tag.
- 5:07 PM Changeset in webkit [199937] by
-
- 1 copy in tags/Safari-601.6.17
New tag.
- 4:56 PM Changeset in webkit [199936] by
-
- 4 edits in trunk/Source/bmalloc
bmalloc: vm allocations should plant guard pages
https://bugs.webkit.org/show_bug.cgi?id=156937
Reviewed by Michael Saboff.
- bmalloc/Object.h:
(bmalloc::Object::operator-): Added a - helper.
- bmalloc/VMAllocate.h:
(bmalloc::vmRevokePermissions): Added a helper to revoke permissions on
a VM region. We use this for guard pages.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::allocateSmallChunk): Add guard pages to the start and
end of the chunk.
Note that we don't guard large chunks becuase we need to be able to merge
them. Otherwise, we will run out of virtual addresses.
- 4:48 PM Changeset in webkit [199935] by
-
- 4 edits3 adds in trunk
javascript jit bug affecting Google Maps.
https://bugs.webkit.org/show_bug.cgi?id=153431
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
The issue was due to the abstract interpreter wrongly marking the type of the
value read from the Uint3Array as SpecInt52, which precludes it from being an
Int32. This proves to be false, and the generated code failed to handle the case
where the read value is actually an Int32.
The fix is to have the abstract interpreter use SpecMachineInt instead of
SpecInt52.
- bytecode/SpeculatedType.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
LayoutTests:
- js/regress/bug-153431-expected.txt: Added.
- js/regress/bug-153431.html: Added.
- js/regress/script-tests/bug-153431.js: Added.
- 4:25 PM Changeset in webkit [199934] by
-
- 2 edits in trunk/Source/bmalloc
bmalloc: Constify introspect function pointer table
https://bugs.webkit.org/show_bug.cgi?id=156936
Reviewed by Michael Saboff.
- bmalloc/Zone.cpp:
(bmalloc::Zone::Zone): Declaring this function pointer table const puts
it in the read-only section of the binary, providing a little hardening
against overwriting the function pointers at runtime. (We have to
const_cast when assigning because the API declares a pointer to non-const,
but we happen to know it will never try to write through that pointer.
This is not my favorite API.)
- 4:10 PM Changeset in webkit [199933] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] PredictionPropagation should not be in the top 5 heaviest phases
https://bugs.webkit.org/show_bug.cgi?id=156891
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-22
Reviewed by Mark Lam.
In DFG, PredictionPropagation is often way too high in profiles.
It is a simple phase, it should not be that hot.
Most of the time is spent accessing memory. This patch attempts
to reduce that.
First, propagate() is split in processInvariants() and propagates().
The step processInvariants() sets all the types for nodes for which
the type does not depends on other nodes.
Adding processInvariants() lowers two hotspot inside PredictionPropagation:
speculationFromValue() and setPrediction().
Next, to avoid touching all the nodes at every operation, we keep
track of the nodes that actually need propagate().
The vector m_dependentNodes keeps the list of those nodes and propagate()
only need to process them at each phase.
This is a smaller gain because growing m_dependentNodes negates
some of the gains.
On 3d-cube, this moves PredictionPropagation from fifth position
to ninth. A lot of the remaining overhead is caused by double-voting
and cannot be fixed by moving stuff around.
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagateToFixpoint): Deleted.
(JSC::DFG::PredictionPropagationPhase::propagate): Deleted.
(JSC::DFG::PredictionPropagationPhase::propagateForward): Deleted.
(JSC::DFG::PredictionPropagationPhase::propagateBackward): Deleted.
(JSC::DFG::PredictionPropagationPhase::doDoubleVoting): Deleted.
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): Deleted.
(JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): Deleted.
- 4:10 PM Changeset in webkit [199932] by
-
- 3 edits in tags/Safari-602.1.29/Source/WebKit2
Merged r199919.
- 4:09 PM Changeset in webkit [199931] by
-
- 3 edits in tags/Safari-602.1.29/Source/WebKit2
Merged r199917.
- 4:08 PM Changeset in webkit [199930] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebCore
Merged r199915.
- 4:07 PM Changeset in webkit [199929] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebCore
Merged r199885.
- 4:05 PM Changeset in webkit [199928] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebKit2
Merged r199914.
- 4:04 PM Changeset in webkit [199927] by
-
- 20 edits in trunk
super should be available in object literals
https://bugs.webkit.org/show_bug.cgi?id=156933
Reviewed by Saam Barati.
Source/JavaScriptCore:
When we originally implemented classes, super seemed to be a class-only
feature. But the final spec says it's available in object literals too.
- bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode): Having 'super' and being a class
property are no longer synonymous, so we track two separate variables.
(JSC::PropertyListNode::emitPutConstantProperty): Being inside the super
branch no longer guarantees that you're a class property, so we decide
our attributes and our function name dynamically.
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createArrowFunctionExpr):
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createArguments):
(JSC::ASTBuilder::createArgumentsList):
(JSC::ASTBuilder::createProperty):
(JSC::ASTBuilder::createPropertyList): Pass through state to indicate
whether we're a class property, since we can't infer it from 'super'
anymore.
- parser/NodeConstructors.h:
(JSC::PropertyNode::PropertyNode): See ASTBuilder.h.
- parser/Nodes.h:
(JSC::PropertyNode::expressionName):
(JSC::PropertyNode::name):
(JSC::PropertyNode::type):
(JSC::PropertyNode::needsSuperBinding):
(JSC::PropertyNode::isClassProperty):
(JSC::PropertyNode::putType): See ASTBuilder.h.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parsePropertyMethod):
(JSC::Parser<LexerType>::parseGetterSetter):
(JSC::Parser<LexerType>::parseMemberExpression): I made these error
messages generic because it is no longer practical to say concise things
about the list of places you can use super.
- parser/Parser.h:
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createArgumentsList):
(JSC::SyntaxChecker::createProperty):
(JSC::SyntaxChecker::appendExportSpecifier):
(JSC::SyntaxChecker::appendConstDecl):
(JSC::SyntaxChecker::createGetterOrSetterProperty): Updated for
interface change.
- tests/stress/generator-with-super.js:
(test):
- tests/stress/modules-syntax-error.js:
- tests/stress/super-in-lexical-scope.js:
(testSyntaxError):
(testSyntaxError.test):
- tests/stress/tagged-templates-syntax.js: Updated for error message
changes. See Parser.cpp.
LayoutTests:
Updated expected results and added a few new tests.
- js/arrowfunction-syntax-errors-expected.txt:
- js/class-syntax-super-expected.txt:
- js/object-literal-methods-expected.txt:
- js/script-tests/arrowfunction-syntax-errors.js:
- js/script-tests/class-syntax-super.js:
- js/script-tests/object-literal-methods.js:
- 4:04 PM Changeset in webkit [199926] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebCore
Merged r199912. rdar://problem/25865315
- 4:03 PM Changeset in webkit [199925] by
-
- 4 edits in tags/Safari-602.1.29/Source/WebKit
Merged r199908.
- 4:02 PM Changeset in webkit [199924] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebCore
Merged r199904.
- 4:02 PM Changeset in webkit [199923] by
-
- 3 adds in branches/safari-601-branch/LayoutTests/http/tests/svg
Merge LayoutTests for r199881. rdar://problem/25879498
- 4:01 PM Changeset in webkit [199922] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebCore
Merged r199886.
- 3:58 PM Changeset in webkit [199921] by
-
- 3 edits in tags/Safari-602.1.29/Source/WebKit2
Merged r199903.
- 3:57 PM Changeset in webkit [199920] by
-
- 2 edits in tags/Safari-602.1.29/Source/WebCore
Merged r199902.
- 3:46 PM Changeset in webkit [199919] by
-
- 3 edits in trunk/Source/WebKit2
Fixing a typo in my last commit.
Unreviewed build fix.
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in:
- WebProcess/cocoa/WebVideoFullscreenManager.messages.in:
- 3:46 PM Changeset in webkit [199918] by
-
- 2 edits in trunk/Source/JavaScriptCore
ASSERT(m_stack.last().isTailDeleted) at ShadowChicken.cpp:127 inspecting the inspector
https://bugs.webkit.org/show_bug.cgi?id=156930
Reviewed by Joseph Pecoraro.
The loop that prunes the stack from the top should preserve the invariant that the top frame
cannot be tail-deleted.
- interpreter/ShadowChicken.cpp:
(JSC::ShadowChicken::update):
- 3:41 PM Changeset in webkit [199917] by
-
- 3 edits in trunk/Source/WebKit2
Missed some macros to fix builds that do not support AVKit.
Unreviewed build fix.
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in:
- WebProcess/cocoa/WebVideoFullscreenManager.messages.in:
- 3:38 PM Changeset in webkit [199916] by
-
- 3 edits in trunk/Tools
Add JSC test results in json format to a buildbot log
https://bugs.webkit.org/show_bug.cgi?id=156920
Patch by Srinivasan Vijayaraghavan <svijayaraghavan@apple.com> on 2016-04-22
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunJavaScriptCoreTests):
Add runtime flag to output json into buildbot
- Scripts/run-javascriptcore-tests:
(runJSCStressTests):
Change key names and remove redundant count key
- 3:30 PM Changeset in webkit [199915] by
-
- 2 edits in trunk/Source/WebCore
[Win] Unreviewed build fix.
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::isHidden):
- 3:05 PM Changeset in webkit [199914] by
-
- 2 edits in trunk/Source/WebKit2
Fix builds that do not support AVKit
Unreviewed build fix.
- UIProcess/WebPageProxy.h:
- 3:02 PM Changeset in webkit [199913] by
-
- 2 edits in trunk/Source/JavaScriptCore
Attempt to fix the CLoop after r199866
- runtime/MathCommon.h:
- 2:48 PM Changeset in webkit [199912] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Crash at -[WebAVPlayerLayer resolveBounds]
https://bugs.webkit.org/show_bug.cgi?id=156931
<rdar://problem/25865315>
Reviewed by Eric Carlson.
When cloning the WebAVPlayerLayer, we must copy over the fullscreenInterface to the cloned layer.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebAVPlayerLayerView_startRoutingVideoToPictureInPicturePlayerLayerView):
- 2:40 PM Changeset in webkit [199911] by
-
- 10 edits in branches/safari-601-branch
Merge r199881. rdar://problem/25879498
- 2:32 PM Changeset in webkit [199910] by
-
- 2 edits in trunk/Source/WebCore
Crash under WebCore::DataDetection::detectContentInRange()
https://bugs.webkit.org/show_bug.cgi?id=156880
<rdar://problem/25622631>
Reviewed by Darin Adler.
We would sometimes crash under WebCore::DataDetection::detectContentInRange()
when dereferencing a null parentNode pointer. This patch adds a null check
for parentNode in the for() loop. It also does some clean up and optimization
since I was passing by.
- editing/cocoa/DataDetection.mm:
(WebCore::DataDetection::detectContentInRange):
- 2:32 PM Changeset in webkit [199909] by
-
- 10 edits3 adds in branches/safari-601.1.46-branch
Merge r199881. rdar://problem/25879593
- 2:27 PM Changeset in webkit [199908] by
-
- 4 edits in trunk/Source/WebKit
Source/WebKit:
Unreviewed build fix after r199841.
- PlatformWin.cmake: Add missing WebApplicationCache.cpp buid directive.
Source/WebKit/win:
Unreviewed build fix after 4199841.
- WebApplicationCache.cpp:
(WebApplicationCache::WebApplicationCache): Provide missing preference key definition.
- 2:26 PM Changeset in webkit [199907] by
-
- 2 edits in trunk/LayoutTests
Rebaselining inspector/model/stack-trace.html after r199897
Unreviewed test gardening.
- inspector/model/stack-trace-expected.txt:
- 2:25 PM Changeset in webkit [199906] by
-
- 2 edits in trunk/PerformanceTests
Skip two content animation tests which are only meant for iOS testing.
- Animation/css-animation.html: Added.
- Animation/raf-animation.html: Added.
- Skipped:
- 2:24 PM Changeset in webkit [199905] by
-
- 2 edits in trunk/Source/WebCore
buildObjectForEventListener should not call into JSC with a null ExecState
https://bugs.webkit.org/show_bug.cgi?id=156923
Reviewed by Joseph Pecoraro.
If a user had disabled JavaScript on their page then the inspector tried to
add an event listener we would fail to create an ExecState. Since we didn't
check this ExecState was valid we would then attempt to stringify the value,
which would cause JSC to crash.
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
- 2:22 PM Changeset in webkit [199904] by
-
- 2 edits in trunk/Source/WebCore
Yet another attempt at fixing Windows.
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::isHidden):
- platform/graphics/ca/win/PlatformCALayerWin.h:
- 2:07 PM Changeset in webkit [199903] by
-
- 3 edits in trunk/Source/WebKit2
Take 2 for fixing builds that do not support AVKit
Unreviewed build fix.
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState):
- 2:07 PM Changeset in webkit [199902] by
-
- 2 edits in trunk/Source/WebCore
Attempt to fix Windows build after r199862
Unreviewed build fix.
- platform/graphics/ca/win/PlatformCALayerWin.h:
- 2:06 PM Changeset in webkit [199901] by
-
- 2 edits in trunk/Source/WebKit2
WKWebView WebSQL is not enabled
https://bugs.webkit.org/show_bug.cgi?id=156928
rdar://problem/19029603
Reviewed by Beth Dakin.
Give databases a default quota of 50 MB, matching what we have in UIWebView.
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
- 1:57 PM Changeset in webkit [199900] by
-
- 2 edits in trunk/Source/WebCore
Anchor element 'ping' property should only apply to http/https destinations
https://bugs.webkit.org/show_bug.cgi?id=156801
<rdar://problem/25834419>
Reviewed by Chris Dumez.
Take advantage of the hyperlink auditing language "UAs may either ignore the
ping attribute altogether, or selectively ignore URLs in the list (e.g. ignoring
any third-party URLs)" to restrict pings to http/https targets. For details, see
<https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing>.
Tested by http/tests/navigation/ping-attribute tests.
- loader/PingLoader.cpp:
(WebCore::PingLoader::sendPing): Ignore requests to ping anything outside the
family of HTTP protocols (http/https).
- 1:28 PM Changeset in webkit [199899] by
-
- 2 edits in trunk/Source/WebInspectorUI
Change an assert to a warn based on post review feedback.
https://bugs.webkit.org/show_bug.cgi?id=156919
rdar://problem/25857118
Rubber-stamped by Joseph Pecoraro.
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
- 1:12 PM Changeset in webkit [199898] by
-
- 8 edits in tags/Safari-602.1.29/Source
Merged r199896.
- 12:53 PM Changeset in webkit [199897] by
-
- 7 edits in trunk/Source/WebInspectorUI
Web Inspector: Debugger statement in console does not provide any call frames and debugger UI is confused
https://bugs.webkit.org/show_bug.cgi?id=156919
rdar://problem/25857118
This makes console expressions show up in the Debugger tab sidebar if a ScriptContentView is shown for them.
We now also show call frames that originate from a console expression, so the call frames in the sidebar is not empty.
Also fix a bug where when there are no call frames we auto resume the debugger and don't leave it in a broken state.
Reviewed by Joseph Pecoraro.
- Localizations/en.lproj/localizedStrings.js: Updated.
- UserInterface/Base/Utilities.js:
(appendWebInspectorSourceURL): Don't append if another sourceURL is already added.
(appendWebInspectorConsoleEvaluationSourceURL): Added.
(isWebInspectorConsoleEvaluationScript): Added.
(isWebKitInternalScript): Return false for isWebInspectorConsoleEvaluationScript().
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.debuggerDidPause): Resume if call frames is empty. This is not as common now
since console expression call frames are not skipped.
(WebInspector.DebuggerManager.prototype.scriptDidParse): Change an early return for isWebInspectorInternalScript() that
was skipping adding internal scripts to the known script lists, but it should only do that when the debug UI is disabled.
- UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
Call appendWebInspectorConsoleEvaluationSourceURL so the console expressions are tagged before evaluateInInspectedWindow
added the internal sourceURL name.
- UserInterface/Models/Script.js:
(WebInspector.Script): Assign unique identifiers to console scripts so they are named correctly.
(WebInspector.Script.resetUniqueDisplayNameNumbers): Reset _nextUniqueConsoleDisplayNameNumber.
(WebInspector.Script.prototype.get displayName): Special case console expressions with a better name.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.treeElementForRepresentedObject): Add a script tree element on demand
like the ResourceSidebarPanel does for anonymous scripts.
(WebInspector.DebuggerSidebarPanel.prototype._addScript): Return treeElement so treeElementForRepresentedObject can use it.
- 12:44 PM Changeset in webkit [199896] by
-
- 8 edits in trunk/Source
Fix builds that do not support AVKit
Unreviewed build fix.
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
(WebKit::WebPageProxy::viewDidLeaveWindow):
- UIProcess/ios/WebPageProxyIOS.mm:
- platform/ios/WebAVPlayerController.h:
- platform/ios/WebAVPlayerController.mm:
- 12:42 PM Changeset in webkit [199895] by
-
- 3 edits2 adds in trunk
REGRESSION (r189567): The top of Facebook's messenger.com looks visually broken
https://bugs.webkit.org/show_bug.cgi?id=156869
<rdar://problem/23204668>
Reviewed by Zalan Bujtas.
Source/WebCore:
Added fast/block/min-content-with-box-sizing.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeIntrinsicLogicalContentHeightUsing):
LayoutTests:
- fast/block/min-content-box-sizing-expected.html: Added.
- fast/block/min-content-box-sizing.html: Added.
- 12:27 PM Changeset in webkit [199894] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] Integer Multiply of a number by itself does not need negative zero support
https://bugs.webkit.org/show_bug.cgi?id=156895
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-22
Reviewed by Saam Barati.
You cannot produce negative zero by squaring an integer.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithMul):
Minor codegen fixes:
-Use the right form of multiply for ARM.
-Use a sign-extended 32bit immediates, that's the one with fast forms
in the MacroAssembler.
- 12:25 PM Changeset in webkit [199893] by
-
- 4 edits in trunk/Source/WebCore
TextAutoSizingKey should use normal refcounting
https://bugs.webkit.org/show_bug.cgi?id=156893
Reviewed by Andreas Kling.
Get rid of special refcounting of style in favor of RefPtr. It also becomes a move-only type
to support future switch to non-refcounted RenderStyle.
Also general cleanups and modernization.
- dom/Document.cpp:
(WebCore::TextAutoSizingTraits::constructDeletedValue):
(WebCore::TextAutoSizingTraits::isDeletedValue):
(WebCore::Document::addAutoSizingNode):
(WebCore::Document::validateAutoSizingNodes):
(WebCore::Document::resetAutoSizingNodes):
Adopt to being move-only.
- rendering/TextAutoSizing.cpp:
(WebCore::cloneRenderStyleWithState):
(WebCore::TextAutoSizingKey::TextAutoSizingKey):
Clone the style for safety against mutations. Cloning is cheap.
(WebCore::TextAutoSizingValue::numNodes):
(WebCore::TextAutoSizingValue::adjustNodeSizes):
(WebCore::TextAutoSizingValue::reset):
(WebCore::TextAutoSizingKey::~TextAutoSizingKey): Deleted.
(WebCore::TextAutoSizingKey::operator=): Deleted.
(WebCore::TextAutoSizingKey::ref): Deleted.
(WebCore::TextAutoSizingKey::deref): Deleted.
- rendering/TextAutoSizing.h:
(WebCore::TextAutoSizingKey::TextAutoSizingKey):
(WebCore::TextAutoSizingKey::style):
(WebCore::TextAutoSizingKey::isDeleted):
(WebCore::operator==):
(WebCore::TextAutoSizingKey::doc): Deleted.
(WebCore::TextAutoSizingKey::isValidDoc): Deleted.
(WebCore::TextAutoSizingKey::isValidStyle): Deleted.
(WebCore::TextAutoSizingKey::deletedKeyDoc): Deleted.
(WebCore::TextAutoSizingKey::deletedKeyStyle): Deleted.
m_doc member is not used for anything except deleted value comparisons. Replace it with a bit.
- 12:25 PM Changeset in webkit [199892] by
-
- 1 copy in tags/Safari-602.1.29
New tag.
- 12:25 PM Changeset in webkit [199891] by
-
- 1 delete in tags/Safari-602.1.29
Delete tag.
- 12:24 PM Changeset in webkit [199890] by
-
- 13 edits in trunk/Source/WebCore
Crash under FontCache::purgeInactiveFontData()
https://bugs.webkit.org/show_bug.cgi?id=156822
<rdar://problem/25373970>
Reviewed by Darin Adler.
In some rare cases, the Font constructor would mutate the FontPlatformData
that is being passed in. This is an issue because because our FontCache
uses the FontPlatformData as key for the cached fonts. This could lead to
crashes because the WTFMove() in FontCache::purgeInactiveFontData() would
nullify values in our HashMap but we would then fail to remove them from
the HashMap (because the key did not match). We would then reference the
null font when looping again when doing font->hasOneRef().
This patch marks Font::m_platformData member as const to avoid such issues
in the future and moves the code altering the FontPlatformData from the
Font constructor into the FontPlatformData constructor. The purpose of
that code was to initialize FontPlatformData::m_cgFont in case the CGFont
passed in the constructor was null.
- platform/graphics/Font.h:
- platform/graphics/FontCache.cpp:
(WebCore::FontCache::fontForPlatformData):
(WebCore::FontCache::purgeInactiveFontData):
- platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData):
- platform/graphics/FontPlatformData.h:
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::webFallbackFontFamily): Deleted.
(WebCore::Font::platformInit): Deleted.
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::webFallbackFontFamily):
(WebCore::FontPlatformData::setFallbackCGFont):
- platform/graphics/win/FontPlatformDataCGWin.cpp:
(WebCore::FontPlatformData::setFallbackCGFont):
- 12:22 PM Changeset in webkit [199889] by
-
- 18 edits in trunk
Support disabling at runtime IndexedDB constructors exposed to workers
https://bugs.webkit.org/show_bug.cgi?id=156883
Reviewed by Darin Adler.
Source/WebCore:
Support disabling at runtime IndexedDB constructors exposed to workers.
Previously, constructors visibility to workers and window was constrolled
by the same runtime flag.
- Modules/indexeddb/IDBCursor.idl:
- Modules/indexeddb/IDBCursorWithValue.idl:
- Modules/indexeddb/IDBDatabase.idl:
- Modules/indexeddb/IDBFactory.idl:
- Modules/indexeddb/IDBIndex.idl:
- Modules/indexeddb/IDBKeyRange.idl:
- Modules/indexeddb/IDBObjectStore.idl:
- Modules/indexeddb/IDBOpenDBRequest.idl:
- Modules/indexeddb/IDBRequest.idl:
- Modules/indexeddb/IDBTransaction.idl:
- Modules/indexeddb/IDBVersionChangeEvent.idl:
- workers/WorkerGlobalScope.idl:
LayoutTests:
Add layout test coverage.
- storage/indexeddb/modern/resources/workers-disabled.js:
- storage/indexeddb/modern/resources/workers-enable.js:
- storage/indexeddb/modern/workers-disabled-expected.txt:
- storage/indexeddb/modern/workers-enable-expected.txt:
- 12:14 PM Changeset in webkit [199888] by
-
- 5 edits in trunk/Source
Versioning.
- 12:13 PM Changeset in webkit [199887] by
-
- 1 copy in tags/Safari-602.1.29
New tag.
- 12:01 PM Changeset in webkit [199886] by
-
- 2 edits in trunk/Source/WebCore
Attempting to fix Windows build. Add isHidden implementation.
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::isHidden):
- 11:59 AM Changeset in webkit [199885] by
-
- 2 edits in trunk/Source/WebCore
Attempt at a Windows build fix.
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
- 11:27 AM Changeset in webkit [199884] by
-
- 3 edits4 adds in trunk
Source/WebCore:
-webkit-image-set doesn't work inside CSS variables
https://bugs.webkit.org/show_bug.cgi?id=156915
<rdar://problem/25473972>
Reviewed by Zalan Bujtas.
Added new tests in fast/hidpi.
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::equals):
(WebCore::CSSPrimitiveValue::buildParserValue):
LayoutTests:
-webkit-image-set doesn't work inside CSS variables
https://bugs.webkit.org/show_bug.cgi?id=156915
<rdar://problem/25473972>
Reviewed by Zalan Bujtas.
- fast/hidpi/image-srcset-simple-in-variable-1x-expected.txt: Added.
- fast/hidpi/image-srcset-simple-in-variable-1x.html: Added.
- fast/hidpi/image-srcset-simple-in-variable-2x-expected.txt: Added.
- fast/hidpi/image-srcset-simple-in-variable-2x.html: Added.
- 11:17 AM Changeset in webkit [199883] by
-
- 3 edits2 deletes in trunk
Unreviewed, rolling out r199877.
https://bugs.webkit.org/show_bug.cgi?id=156918
The LayoutTest added with this change is failing on all
platforms. (Requested by ryanhaddad on #webkit).
Reverted changeset:
"REGRESSION (r189567): The top of Facebook's messenger.com
looks visually broken"
https://bugs.webkit.org/show_bug.cgi?id=156869
http://trac.webkit.org/changeset/199877
Patch by Commit Queue <commit-queue@webkit.org> on 2016-04-22
- 11:06 AM Changeset in webkit [199882] by
-
- 10 edits in trunk/Source
Modern IDB: Rework the ownership/RefCounting model of IDBConnectionToServer and IDBConnectionProxy.
https://bugs.webkit.org/show_bug.cgi?id=156916
Reviewed by Tim Horton.
Source/WebCore:
No new tests (No behavior change).
- Modules/indexeddb/IDBFactory.cpp: Remove unneeded include.
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::ref): Ref the ConnectionToServer.
(WebCore::IDBClient::IDBConnectionProxy::deref): Deref it.
(WebCore::IDBClient::IDBConnectionProxy::connectionToServer):
(WebCore::IDBClient::IDBConnectionProxy::openDatabase):
(WebCore::IDBClient::IDBConnectionProxy::deleteDatabase):
(WebCore::IDBClient::IDBConnectionProxy::create): Deleted.
- Modules/indexeddb/client/IDBConnectionProxy.h:
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::IDBConnectionToServer): Create a proxy owned by this.
(WebCore::IDBClient::IDBConnectionToServer::proxy): Expose it.
- Modules/indexeddb/client/IDBConnectionToServer.h:
- dom/Document.cpp:
(WebCore::Document::idbConnectionProxy):
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit2:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer):
- 10:37 AM Changeset in webkit [199881] by
-
- 10 edits3 adds in trunk
REGRESSION (r194898): Multi download of external SVG defs file by <use> xlinks:href (caching)
https://bugs.webkit.org/show_bug.cgi?id=156368
<rdar://problem/25611746>
Reviewed by Simon Fraser.
Source/WebCore:
We would load svg resources with fragment identifier again because the encoding never matched.
Test: http/tests/svg/svg-use-external.html
- loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::setEncoding):
(WebCore::TextResourceDecoder::hasEqualEncodingForCharset):
Encoding can depend on mime type. Add a comparison function that takes this into account.
(WebCore::findXMLEncoding):
- loader/TextResourceDecoder.h:
(WebCore::TextResourceDecoder::encoding):
- loader/cache/CachedCSSStyleSheet.h:
- loader/cache/CachedResource.h:
(WebCore::CachedResource::textResourceDecoder):
Add a way to get the TextResourceDecoder from a cached resource.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
Use the new comparison function.
- loader/cache/CachedSVGDocument.h:
- loader/cache/CachedScript.h:
- loader/cache/CachedXSLStyleSheet.h:
LayoutTests:
- http/tests/svg/resources/symbol-defs.svg: Added.
- http/tests/svg/svg-use-external-expected.txt: Added.
- http/tests/svg/svg-use-external.html: Added.
- 10:18 AM Changeset in webkit [199880] by
-
- 2 edits in trunk/Tools
Update expected result for WKPreferencesGetOfflineWebApplicationCacheEnabled after r199854
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
(TestWebKitAPI::TEST):
- 9:13 AM Changeset in webkit [199879] by
-
- 2 edits in trunk/Source/WebCore
Drop [UsePointersEvenForNonNullableObjectArguments] from InspectorFrontendHost
https://bugs.webkit.org/show_bug.cgi?id=156908
Reviewed by Timothy Hatcher.
No change of behavior.
- inspector/InspectorFrontendHost.idl: Marking event parameter as nullable to keep compatibility.
- 8:59 AM Changeset in webkit [199878] by
-
- 16 edits in trunk
Drop [UsePointersEvenForNonNullableObjectArguments] from MutationObserver
https://bugs.webkit.org/show_bug.cgi?id=156890
Reviewed by Darin Adler.
Source/WebCore:
Drop [UsePointersEvenForNonNullableObjectArguments] from MutationObserver
and clean up / modernize the code a bit. There is not significant Web-
exposed behavior change except that MutationObserver.observe() now throws
a different kind of exception (a TypeError as per Web IDL) when passed in
a null Node.
No new tests, rebaselined existing test.
- bindings/js/JSMutationCallback.cpp:
(WebCore::JSMutationCallback::call):
- bindings/js/JSMutationCallback.h:
- bindings/js/JSMutationObserverCustom.cpp:
(WebCore::constructJSMutationObserver):
- css/PropertySetCSSStyleDeclaration.cpp:
- dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationAccumulator::enqueueMutationRecord):
- dom/MutationCallback.h:
- dom/MutationObserver.cpp:
(WebCore::MutationObserver::create):
(WebCore::MutationObserver::MutationObserver):
(WebCore::MutationObserver::observe):
(WebCore::MutationObserver::takeRecords):
(WebCore::MutationObserver::enqueueMutationRecord):
(WebCore::MutationObserver::deliver):
(WebCore::MutationObserver::disconnect): Deleted.
- dom/MutationObserver.h:
- dom/MutationObserver.idl:
- dom/MutationObserverInterestGroup.cpp:
(WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
- dom/MutationObserverInterestGroup.h:
- dom/MutationRecord.cpp:
(WebCore::MutationRecord::createChildList):
- dom/MutationRecord.h:
LayoutTests:
Rebaseline now that MutationObserver.observe() throws a TypeError instead
of a NOT_FOUND_ERR when passed a null Node.
- fast/dom/MutationObserver/observe-exceptions-expected.txt:
- 8:58 AM Changeset in webkit [199877] by
-
- 3 edits2 adds in trunk
REGRESSION (r189567): The top of Facebook's messenger.com looks visually broken
https://bugs.webkit.org/show_bug.cgi?id=156869
<rdar://problem/23204668>
Reviewed by Zalan Bujtas.
Source/WebCore:
Added fast/block/min-content-with-box-sizing.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeContentLogicalHeight):
LayoutTests:
- fast/block/min-content-with-box-sizing-expected.html: Added.
- fast/block/min-content-with-box-sizing.html: Added.
- 5:49 AM Changeset in webkit [199876] by
-
- 6 edits in trunk
[GTK] Enable the download attribute support
https://bugs.webkit.org/show_bug.cgi?id=99025
Reviewed by Žan Doberšek.
.:
- Source/cmake/OptionsGTK.cmake:
Tools:
- Scripts/webkitperl/FeatureList.pm:
LayoutTests:
Unskip tests that should pass now.
- platform/gtk/TestExpectations:
- 5:21 AM Changeset in webkit [199875] by
-
- 2 edits in trunk/Source/WebKit2
NetworkCacheIOChannelSoup: detach the newly-created IOChannel::readSync thread
https://bugs.webkit.org/show_bug.cgi?id=156907
Reviewed by Carlos Garcia Campos.
- NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
(WebKit::NetworkCache::IOChannel::readSyncInThread): Detach the new thread,
ensuring the resources are released after the thread exits. Next step is
to set up a thread pool and use that, avoiding thread re-creation.
- 5:08 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 12:54 AM Changeset in webkit [199874] by
-
- 3 edits2 adds in trunk
[css-grid] Fix bug with positioned items in vertical writing mode
https://bugs.webkit.org/show_bug.cgi?id=156870
Reviewed by Darin Adler.
Source/WebCore:
In RenderGrid::offsetAndBreadthForPositionedChild() we were using
directly borderLeft(), which is wrong in vertical writing modes.
To fix it we just need to use borderLogicalLeft() which is aware of
the current writing mode.
Test: fast/css-grid-layout/grid-positioned-children-writing-modes.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
LayoutTests:
Add new test to check positioned items in different writing modes
and direction combinations.
- fast/css-grid-layout/grid-positioned-children-writing-modes-expected.html: Added.
- fast/css-grid-layout/grid-positioned-children-writing-modes.html: Added.
- 12:09 AM Changeset in webkit [199873] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
[ANGLE] Remove deprecated auto_ptr warning. Unreviewed.
https://bugs.webkit.org/show_bug.cgi?id=156894
- src/compiler/preprocessor/MacroExpander.h: Use std::unique_ptr instead of std::auto_ptr.